-
Notifications
You must be signed in to change notification settings - Fork 1
/
6_1_add_sub_mul_div.asm
81 lines (69 loc) · 1.03 KB
/
6_1_add_sub_mul_div.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
; addition subtraction multiplication division
.MODEL SMALL
.STACK 100H
.DATA
A DB ?
B DB ?
NEWLINE DB 0AH,0DH,'$'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,1
INT 21H
SUB AL,'0'
MOV A,AL
INT 21H
SUB AL,'0'
MOV B,AL
;MOV AH,2
;MOV DL,A
;ADD DL,B
;ADD DL,'0'
ADD AL,A
CALL PRINTAX
MOV AL,A
SUB AL,B
CALL PRINTAX
MOV AL,A
MUL B
CALL PRINTAX
MOV AH,0
MOV AL,A
DIV B
CALL PRINTAX
MOV AH,4CH
INT 21H
MAIN ENDP
PRINTLINE PROC
PUSH DX
PUSH AX
LEA DX,NEWLINE
MOV AH,9
INT 21H
POP AX
POP DX
RET
PRINTLINE ENDP
PRINTAX PROC
PUSH DX
PUSH AX
PUSH BX
CALL PRINTLINE
MOV AH,0
MOV BL,10
DIV BL
MOV BL,AH
MOV DL,AL
ADD DL,'0'
MOV AH,2
INT 21H
MOV DL,BL
ADD DL,'0'
INT 21H
POP BX
POP AX
POP DX
RET
PRINTAX ENDP
END MAIN