-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path005.asm
68 lines (49 loc) · 1.12 KB
/
005.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
; add two digits
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
; input two digit [a b format]
MOV AH, 1
INT 21H
MOV BL, AL
MOV AH, 1 ; scan a space
INT 21H
MOV CL, AL
MOV AH, 1
INT 21H
MOV CH, AL
MOV CL, BL ;Keep the value of a for print result
;----------------------------
ADD BL, CH ; BL = BL + CH
SUB BL, 30H ; BL = BL - 48, make the result
;Print the result [a + b = c format]
MOV AH, 2 ; New Line
MOV DL, 0AH
INT 21H
MOV DL, 0DH
INT 21H
MOV DL, CL ; print a
INT 21H
MOV DL, 20H ; print a space
INT 21H
MOV DL, 2BH ; print a +
INT 21H
MOV DL, 20H ; print a space
INT 21H
MOV DL, CH ; print a
INT 21H
MOV DL, 20H ; print a space
INT 21H
MOV DL, 3DH ; print an =
INT 21H
MOV DL, 20H ; print a space
INT 21H
MOV DL, BL ; print the result c
INT 21H
;----------------------------
EXIT:
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN