DATASEGMENT
dw00
s
kdb1
blkdb32
fooddb3
tal1db4
tal2db2
adrsdb5
le
db
pstdb
addrsdw
frowdb
fcoldb
hwrtdb
gmovdbgameoverpressrtorestartpressqtoquit
score1dbscore
score2db
score0db1
zerodb48
writerdbDeveloperGe
iusdot
emaildbemail
msg1dbThewaytoplaythegame
waydbpresswtouppressstodow
pressatoleftpressdtorightmsgdbPressa
ykeyexceptasdwtostart
DATAENDS
STACKSEGMENTstack
db200dup0
STACKENDS
CODESEGMENT
ASSUMECSCODEDSDATASSSTACK
start
movaxdata
movdsax
movax0
movesax
movfrow10
movfcol6
movdh10
movdl26
movah2
fi
t10h
movah9leadxmsg1i
t21h
movdh11movdl7movah2movbh0
i
t10h
movah9leadxwayi
t21h
movdh12movdl20movah2movbh0
i
t10h
movah9leadxmsgi
t21h
movah0
i
t16h
movah6moval0movch0movcl0movdh24movdl79movbh10i
t10h
movdh0movdl0movah2movbh0
i
t10h
movah9leadxscore1i
t21h
movdl15movah2movbh0
i
t10h
fleadxwriter
i
t21h
movah9
leadxemail
i
t21h
movscore248
pushes94将原i
t9入口地址保存
popds0
pushes942
popds2
movwordptres94offseti
t9更改中断向量表
moves942cs
jmpaa
writemacrorowcolc
t宏定义用于向当前光标处输出字符
pushbx
pushcx
pushdx
movdhrow
movdlcol
movah2
movbh0
i
t10h
movah9
movbl11
movcx1
leadic
t50
movaldi
i
t10h
popdx
popcx
popbx
e
dm
readhmacrorowcol宏定义用于读出当前光标处字符
pushdx
fpushbx
movdhrow
movdlcol
movah2
movbh0
i
t10h
movah08h
i
t10h
movpstal
popbx
popax
popdx
e
dm
w
earmacro宏定义只用在readcg宏中当readcg的所有判断都不成立调用此宏
localw
ext1
localw
ext2
localw
ext3
localw
ext4
pushdx
decdh
readhdhdl
cmppst1
j
ew
ext1
writedhdltal2
jmpw
ext4
w
ext1
i
cdh
decdl
readhdhdl
cmppst1
j
ew
ext2
writedhdltal2
jmpw
ext4
w
ext2
i
cdh
i
cdl
readhdhdl
cmppst1
j
ew
ext3
writedhdltal2
jmpw
ext4
fdecdh
i
cdl
readhdhdl
cmppst1
j
ew
ext4
writedhdltal2
w
ext4
popdx
e
dm
readcgmacrorowcol宏定义用于改变判断出来的字符
localt
upt
up1t
up2t
lft
lf1t
lf2t
d
t
d
1t
d
2t
rtt
rt1t
rt2goout
pushbx
pushax
pushdx
writedhdltal1
decrow
readhdhdl
cmppst4
j
et
up1
jmpt
up2
t
up1
jmp
earptrt
up
t
up2
writedhdlblk
i
cdh
i
cdh
readhdhdl
cmppst1
j
et
up
writedhdltal2
jmp
earptrgoout
t
up
popdx
pushdx
deccol
readhdhdl
cmppst4
j
et
lf1
jmpt
lf2
t
lf1
fjmp
earptrt
lft
lf2
writedhdlblki
cdl
i
cdl
readhdhdl
cmppst1
j
et
lf
writedhdltal2jmp
earptrgooutt
lf
popdx
pushdx
i
crow
readhdhdl
cmppst4
j
et
d
1
jmpt
d
2
t
d
1
jmp
earptrt
d
t
d
2
writedhdlblkdecdh
decdh
readhdhdl
cmppst1
j
et
d
writedhdltal2jmp
earptrgooutt
d
popdx
pushdx
i
ccol
readhdhdl
r