forked from JakLiao/IBM-PC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path19.ASM
62 lines (53 loc) · 779 Bytes
/
19.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
;写一段子程序SKIPLINES,完成输出空行的功能。空行的行数由用户在主程序中通 过键盘输入,并将行数放在AX 寄存器中
S1 SEGMENT
CRLF DB 0DH,0AH,24H
S1 ENDS
S2 SEGMENT STACK
DW 60H DUP(?)
TOS LABEL WORD
S2 ENDS
S3 SEGMENT
ASSUME DS:S1,SS:S2,CS:S3
MAIN PROC FAR
MOV AX,S1
MOV DS,AX
MOV AX,S2
MOV SS,AX
LEA SP,TOS
CALL BINDECI
MOV AX,BX
CALL SKIPLINES
MOV AH,4CH
INT 21H
MAIN ENDP
SKIPLINES PROC NEAR;输出空行
MOV CX,AX
HANG:LEA DX,CRLF
MOV AH,09H
INT 21H
LOOP HANG
RET
SKIPLINES ENDP
BINDECI PROC NEAR;二进制转十进制
XOR BX,BX
NEWCHAR:
MOV AH,01H
INT 21H
CMP AL,0DH
JE EXIT
CMP AL,30H
JB EXIT
CMP AL,39H
JA EXIT
SUB AL,30H
XOR AH,AH
XCHG AX,BX
MOV CX,10
MUL CX
XCHG AX,BX
ADD BX,AX
JMP NEWCHAR
EXIT: RET
BINDECI ENDP
S3 ENDS
END MAIN