7.6讲的是[bx+idata]定位字符串。 书里的程序我编译调试通过, 可是结果却让人疑惑
如图:
Program terminated normally
-d ds:0 9
14D9:0000 21 40 32 48 22 6D 69 6E-69 78 !@2H"minix
-q
d:\asm>debug 76a.exe
-r
AX=0000 BX=0000 CX=0030 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=14C9 ES=14C9 SS=14D9 CS=14DA IP=0000 NV UP EI PL NZ NA PO NC
14DA:0000 B8D914 MOV AX,14D9
-t
AX=14D9 BX=0000 CX=0030 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=14C9 ES=14C9 SS=14D9 CS=14DA IP=0003 NV UP EI PL NZ NA PO NC
14DA:0003 8ED8 MOV DS,AX
-t
AX=14D9 BX=0000 CX=0030 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=14D9 ES=14C9 SS=14D9 CS=14DA IP=0005 NV UP EI PL NZ NA PO NC
14DA:0005 BB0000 MOV BX,0000
-d ds:0 9
14D9:0000 42 61 53 69 43 4D 69 6E-49 58 BaSiCMinIX ;执行前
-g 1c
AX=1478 BX=0005 CX=0000 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=14D9 ES=14C9 SS=14D9 CS=14DA IP=001C NV UP EI PL NZ NA PE NC
14DA:001C B44C MOV AH,4C
-t
AX=4C78 BX=0005 CX=0000 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=14D9 ES=14C9 SS=14D9 CS=14DA IP=001E NV UP EI PL NZ NA PE NC
14DA:001E CD21 INT 21
-p
Program terminated normally
-d ds:0 9
14D9:0000 21 40 32 48 22 6D 69 6E-69 78 !@2H"minix ;执行后,BASIC 变成了乱码
请问: 这是为什么呢? |