📄 main.lst
字号:
Microsoft (R) Macro Assembler Version 5.00 11/14/6 Page 1-1
1 EXTRN SUB1:FAR,SUB2:FAR,SUB3:FAR
2 PUBLIC START
3
4 HUANHANG MACRO
5 MOV DL,0DH
6 MOV AH,2
7 INT 21H
8 MOV DL,0AH
9 MOV AH,2
10 INT 21H
11 ENDM
12
13 0000 DATA SEGMENT
14 0000 20 20 20 20 20 20 20 MENU DB '
MENU $'
15 20 20 20 20 20 20 20
16 20 20 20 20 20 20 20
17 20 20 20 20 20 20 4D
18 45 4E 55 20 20 20 20
19 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
21 20 20 20 20 24
22 0036 31 20 20 20 3C 43 48 MESG1 DB '1 <CHANG> 2 <MAX> 3
<SORT> 4 <TIME> 5 <EXIT> $'
23 41 4E 47 3E 20 20 20
24 32 20 3C 4D 41 58 3E
25 20 20 20 33 20 3C 53
26 4F 52 54 3E 20 20 20
27 20 34 20 3C 54 49 4D
28 45 3E 20 20 20 20 35
29 20 3C 45 58 49 54 3E
30 20 20 20 20 24
31 0073 50 4C 45 41 53 45 20 MESG2 DB 'PLEASE INPUT THE RIGHT NU
MBER:$'
32 49 4E 50 55 54 20 54
33 48 45 20 52 49 47 48
34 54 20 4E 55 4D 42 45
35 52 3A 24
36 0092 45 52 52 4F 52 21 50 MESG3 DB 'ERROR!PLEASE INPUT THE RI
GHT NUMBER AGAIN:$' ;此处输入数
据段代码
37 4C 45 41 53 45 20 49
38 4E 50 55 54 20 54 48
39 45 20 52 49 47 48 54
40 20 4E 55 4D 42 45 52
41 20 41 47 41 49 4E 3A
42 24
43 00BD DATA ENDS
44
45 0000 STACK SEGMENT PARA STACK 'STACK'
46 0000 0064[ DB 100 DUP(0)
47 00
48 ]
49
Microsoft (R) Macro Assembler Version 5.00 11/14/6 Page 1-2
50 0064 STACK ENDS
51
52 0000 CODE SEGMENT
53 ASSUME CS:CODE,DS:DATA
54 0000 B8 ---- R START:MOV AX,DATA
55 0003 8E D8 MOV DS,AX
56
57 0005 8D 16 0000 R LEA DX,MENU ;DISPLAY
58 0009 E8 00A1 R CALL DISP
59 000C 8D 16 0036 R LEA DX,MESG1
60 0010 E8 00A1 R CALL DISP
61 0013 8D 16 0073 R LEA DX,MESG2
62 0017 E8 00A1 R CALL DISP
63
64 001A B4 00 NEXT: MOV AH,0
65 001C CD 16 INT 16H
66
67 001E EB 14 90 JMP PANDUAN
68
69 0021 B2 0A ERROR:MOV DL,0AH
70 0023 B4 02 MOV AH,2
71 0025 CD 21 INT 21H
72 0027 8D 16 0092 R LEA DX,MESG3
73 002B E8 00A1 R CALL DISP
74 002E EB EA JMP NEXT
75 0030 B4 4C EXIT: MOV AH,4CH
76 0032 CD 21 INT 21H
77
78 0034 3C 31 PANDUAN:CMP AL,31H
79 0036 74 12 JE JUMP1
80 0038 3C 32 CMP AL,32H
81 003A 74 2B JE JUMP2
82 003C 3C 33 CMP AL,33H
83 003E 74 44 JE JUMP3
84 0040 3C 34 CMP AL,34H
85 0042 74 EC JE EXIT
86 0044 3C 35 CMP AL,35H
87 0046 74 E8 JE EXIT
88 0048 EB D7 JMP ERROR
89
90 004A JUMP1:HUANHANG
91 004A B2 0D 1 MOV DL,0DH
92 004C B4 02 1 MOV AH,2
93 004E CD 21 1 INT 21H
94 0050 B2 0A 1 MOV DL,0AH
95 0052 B4 02 1 MOV AH,2
96 0054 CD 21 1 INT 21H
97 HUANHANG
98 0056 B2 0D 1 MOV DL,0DH
99 0058 B4 02 1 MOV AH,2
100 005A CD 21 1 INT 21H
101 005C B2 0A 1 MOV DL,0AH
102 005E B4 02 1 MOV AH,2
103 0060 CD 21 1 INT 21H
Microsoft (R) Macro Assembler Version 5.00 11/14/6 Page 1-3
104 0062 EA 0000 ---- E JMP SUB1
105 0067 JUMP2:HUANHANG
106 0067 B2 0D 1 MOV DL,0DH
107 0069 B4 02 1 MOV AH,2
108 006B CD 21 1 INT 21H
109 006D B2 0A 1 MOV DL,0AH
110 006F B4 02 1 MOV AH,2
111 0071 CD 21 1 INT 21H
112 HUANHANG
113 0073 B2 0D 1 MOV DL,0DH
114 0075 B4 02 1 MOV AH,2
115 0077 CD 21 1 INT 21H
116 0079 B2 0A 1 MOV DL,0AH
117 007B B4 02 1 MOV AH,2
118 007D CD 21 1 INT 21H
119 007F EA 0000 ---- E JMP SUB2
120 0084 JUMP3:HUANHANG
121 0084 B2 0D 1 MOV DL,0DH
122 0086 B4 02 1 MOV AH,2
123 0088 CD 21 1 INT 21H
124 008A B2 0A 1 MOV DL,0AH
125 008C B4 02 1 MOV AH,2
126 008E CD 21 1 INT 21H
127 HUANHANG
128 0090 B2 0D 1 MOV DL,0DH
129 0092 B4 02 1 MOV AH,2
130 0094 CD 21 1 INT 21H
131 0096 B2 0A 1 MOV DL,0AH
132 0098 B4 02 1 MOV AH,2
133 009A CD 21 1 INT 21H
134 009C EA 0000 ---- E JMP SUB3
135
136 00A1 DISP PROC NEAR
137 00A1 B4 09 MOV AH,09H
138 00A3 CD 21 INT 21H
139 HUANHANG
140 00A5 B2 0D 1 MOV DL,0DH
141 00A7 B4 02 1 MOV AH,2
142 00A9 CD 21 1 INT 21H
143 00AB B2 0A 1 MOV DL,0AH
144 00AD B4 02 1 MOV AH,2
145 00AF CD 21 1 INT 21H
146 00B1 C3 RET
147 00B2 DISP ENDP
148
149 00B2 CODE ENDS
150 END START
Microsoft (R) Macro Assembler Version 5.00 11/14/6 Symbols-1
Macros:
N a m e Lines
HUANHANG . . . . . . . . . . . . 6
Segments and Groups:
N a m e Length Align Combine Class
CODE . . . . . . . . . . . . . . 00B2 PARA NONE
DATA . . . . . . . . . . . . . . 00BD PARA NONE
STACK . . . . . . . . . . . . . 0064 PARA STACK 'STACK'
Symbols:
N a m e Type Value Attr
DISP . . . . . . . . . . . . . . N PROC 00A1 CODE Length = 0011
ERROR . . . . . . . . . . . . . L NEAR 0021 CODE
EXIT . . . . . . . . . . . . . . L NEAR 0030 CODE
JUMP1 . . . . . . . . . . . . . L NEAR 004A CODE
JUMP2 . . . . . . . . . . . . . L NEAR 0067 CODE
JUMP3 . . . . . . . . . . . . . L NEAR 0084 CODE
MENU . . . . . . . . . . . . . . L BYTE 0000 DATA
MESG1 . . . . . . . . . . . . . L BYTE 0036 DATA
MESG2 . . . . . . . . . . . . . L BYTE 0073 DATA
MESG3 . . . . . . . . . . . . . L BYTE 0092 DATA
NEXT . . . . . . . . . . . . . . L NEAR 001A CODE
PANDUAN . . . . . . . . . . . . L NEAR 0034 CODE
START . . . . . . . . . . . . . L NEAR 0000 CODE Global
SUB1 . . . . . . . . . . . . . . L FAR 0000 External
SUB2 . . . . . . . . . . . . . . L FAR 0000 External
SUB3 . . . . . . . . . . . . . . L FAR 0000 External
@FILENAME . . . . . . . . . . . TEXT main4
Microsoft (R) Macro Assembler Version 5.00 11/14/6 Symbols-2
80 Source Lines
122 Total Lines
22 Symbols
49740 + 416564 Bytes symbol space free
0 Warning Errors
0 Severe Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -