📄 num2.lst
字号:
Turbo Assembler Version 5.0 07-18-08 12:30:15 Page 1
C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm
1 0000 .model small
2 0000 .stack 64
3 0000 .data
4 0000 02*(????) point1 word 2 dup(?)
5 0004 02*(????) point2 word 2 dup(?)
6 0008 00FA shoot word 250
7 000A 00FA gun word 250
8 000C .code
9 0000 main proc
10 0000 B8 0000s mov ax,@data
11 0003 8E D8 mov ds,ax
12 0005 B4 00 mov ah,00
13 0007 B0 12 mov al,12h
14 0009 CD 10 int 10h
15 000B L1:
16 000B B9 0003 mov cx,3
17 000E L2:
18 000E B4 01 mov ah,01
19 0010 CD 16 int 16h
20 0012 74 03 jz r1
21 0014 EB 04 90 jmp r2
22 0017 r1:
23 0017 EB 74 90 jmp L7
24 001A r2:
25 001A B4 00 mov ah,00
26 001C CD 16 int 16h
27 001E 3C 64 cmp al,64h
28 0020 75 1E jne L3
29 0022 E8 01A0 call cleargun
30 0025 83 06 000Ar 0C add gun,12
31 002A 81 3E 000Ar 0213 cmp gun,531
32 0030 76 05 jbe L4
33
34 0032 83 2E 000Ar 0C sub gun,12
35 0037 L4:
36
37 0037 E8 0143 call gunshow
38 003A E8 01FA call delay
39 003D EB 4E 90 jmp L7
40 0040 L3:
41 0040 3C 61 cmp al,61h
42 0042 75 1D jne L5
43 0044 E8 017E call cleargun
44 0047 83 2E 000Ar 0C sub gun,12
45 004C 83 3E 000Ar 69 cmp gun,105
46 0051 73 05 jae L6
47
48 0053 83 06 000Ar 0C add gun,12
49 0058 L6:
50
51 0058 E8 0122 call gunshow
52 005B E8 01D9 call delay
53 005E EB 2D 90 jmp L7
54 0061 L5:
55 0061 3C 73 cmp al,73h
56 0063 75 28 jne L7
57 0065 E8 01E1 call bullet
Turbo Assembler Version 5.0 07-18-08 12:30:15 Page 2
C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm
58 0068 E8 01CC call delay
59 006B E8 0205 call bulletclear
60 006E A1 000Ar mov ax,gun
61 0071 2B 06 0008r sub ax,shoot
62 0075 3D 0000 cmp ax,0
63 0078 72 13 jb L7
64 007A 3D 000C cmp ax,12
65 007D 77 0E ja L7
66 007F E8 018B call cleartarget
67 0082 C7 06 0008r 0059 mov shoot,89
68 0088 EB 03 90 jmp L7
69 008B r3:
70 008B EB 81 jmp L2
71
72 008D E2 FC L7: loop r3
73 008F E8 017B call cleartarget
74 0092 E8 00AB call targetmov
75 0095 E8 00E5 call gunshow
76 0098 E8 003C call side
77 009B E8 0199 call delay
78 009E E8 0196 call delay
79 00A1 B0 00 mov al,0
80 00A3 B4 01 mov ah,01
81 00A5 CD 16 int 16h
82 00A7 3C 71 cmp al,71h
83 00A9 74 03 je L8
84 00AB E9 FF5D jmp L1
85 00AE L8:
86 00AE B4 4C mov ah,4ch
87 00B0 CD 21 int 21h
88 00B2 main endp
89
90 00B2 draw proc
91 00B2 56 push si
92 00B3 57 push di
93 00B4 52 push dx
94 00B5 51 push cx
95 00B6 50 push ax
96 00B7 BE 0000r mov si,offset point1
97 00BA BF 0004r mov di,offset point2
98 00BD 8B 14 mov dx,[si]
99 00BF B4 0C mov ah,0ch
100 00C1 draw1:
101 00C1 8B 4C 02 mov cx,[si+2]
102 00C4 draw2:
103 00C4 CD 10 int 10h
104 00C6 41 inc cx
105 00C7 3B 4D 02 cmp cx,[di+2]
106 00CA 76 F8 jbe draw2
107 00CC 42 inc dx
108 00CD 3B 15 cmp dx,[di]
109 00CF 76 F0 jbe draw1
110 00D1 58 pop ax
111 00D2 59 pop cx
112 00D3 5A pop dx
113 00D4 5F pop di
114 00D5 5E pop si
Turbo Assembler Version 5.0 07-18-08 12:30:15 Page 3
C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm
115 00D6 C3 ret
116 00D7 draw endp
117
118 00D7 side proc
119 00D7 56 push si
120 00D8 57 push di
121 00D9 50 push ax
122 00DA 53 push bx
123 00DB BE 0000r mov si,offset point1
124 00DE BF 0004r mov di,offset point2
125 00E1 B0 01 mov al,01
126 00E3 B7 00 mov bh,0
127 00E5 C7 04 0009 mov [si],9
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(127) Argument needs type override
128 00E9 C7 44 02 0064 mov [si+2],100
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(128) Argument needs type override
129 00EE C7 05 000A mov [di],10
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(129) Argument needs type override
130 00F2 C7 45 02 021C mov [di+2],540
131 00F7 E8 FFB8 call draw
132 00FA C7 04 0009 mov [si],9
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(132) Argument needs type override
133 00FE C7 44 02 021C mov [si+2],540
134 0103 C7 05 01D5 mov [di],469
135 0107 C7 45 02 021B mov [di+2],539
136 010C E8 FFA3 call draw
137 010F C7 04 0009 mov [si],9
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(137) Argument needs type override
138 0113 C7 44 02 0064 mov [si+2],100
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(138) Argument needs type override
139 0118 C7 05 01D5 mov [di],469
140 011C C7 45 02 0065 mov [di+2],101
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(140) Argument needs type override
141 0121 E8 FF8E call draw
142 0124 B0 02 mov al,02
143 0126 C7 04 01D5 mov [si],469
144 012A C7 44 02 0064 mov [si+2],100
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(144) Argument needs type override
145 012F C7 05 01D6 mov [di],470
146 0133 C7 45 02 021C mov [di+2],540
147 0138 E8 FF77 call draw
148 013B 5B pop bx
149 013C 58 pop ax
150 013D 5F pop di
151 013E 5E pop si
152 013F C3 ret
153 0140 side endp
154
155 0140 targetmov proc
156 0140 56 push si
157 0141 57 push di
158 0142 50 push ax
159 0143 53 push bx
160 0144 83 06 0008r 0C add shoot,12
161 0149 81 3E 0008r 020F cmp shoot,527
162 014F 76 06 jbe mov1
163 0151 C7 06 0008r 0065 mov shoot,101
Turbo Assembler Version 5.0 07-18-08 12:30:15 Page 4
C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm
164 0157 mov1:
165 0157 BE 0000r mov si,offset point1
166 015A BF 0004r mov di,offset point2
167 015D A1 0008r mov ax,shoot
168 0160 C7 04 0014 mov [si],20
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(168) Argument needs type override
169 0164 89 44 02 mov [si+2],ax
170 0167 C7 05 001A mov [di],26
*Warning* C:\DOCUME~1\ZHANGY~1\桌面\huibian\num2.asm(170) Argument needs type override
171 016B 05 000C add ax,12
172 016E 89 45 02 mov [di+2],ax
173 0171 B7 00 mov bh,00
174 0173 B0 02 mov al,02
175 0175 E8 FF3A call draw
176 0178 5B pop bx
177 0179 58 pop ax
178 017A 5F pop di
179 017B 5E pop si
180 017C C3 ret
181 017D targetmov endp
182
183 017D gunshow proc
184 017D 56 push si
185 017E 57 push di
186 017F 50 push ax
187 0180 53 push bx
188 0181 BE 0000r mov si,offset point1
189 0184 BF 0004r mov di,offset point2
190 0187 C7 04 01C3 mov [si],451
191 018B A1 000Ar mov ax,gun
192 018E 89 44 02 mov [si+2],ax
193 0191 C7 05 01CF mov [di],463
194 0195 05 0004 add ax,4
195 0198 89 45 02 mov [di+2],ax
196 019B B0 04 mov al,04
197 019D B7 00 mov bh,0
198 019F E8 FF10 call draw
199 01A2 A1 000Ar mov ax,gun
200 01A5 C7 04 01CF mov [si],463
201 01A9 2D 0004 sub ax,4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -