assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffH
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start: mov ax,a
mov dx,ax
mov ax,b
mov ss,ax
mov sp,10H
mov bx,0
mov cx,8
s: push [bx]
add bx,2
loop s
mov ax,4c00H
int 21H
code ends
end start
单步跟踪到
AX=0B4A BX=0000 CX=0008 DX=0B48 SP=0010 BP=0000 SI=0000 DI=0000
DS=0B38 ES=0B38 SS=0B4A CS=0B4B IP=0013 NV UP EI PL NZ NA PO NC
0B4B:0013 FF37 PUSH [BX] DS:0000=20CD
发现ds:0=20cd根本不是定义的1
单步跟踪到
AX=0B4A BX=000A CX=0003 DX=0B48 SP=0004 BP=0000 SI=0000 DI=0000
DS=0B38 ES=0B38 SS=0B4A CS=0B4B IP=0015 NV UP EI PL NZ NA PE NC
0B4B:0015 83C302 ADD BX,+02
出现错误
c:\windows\system32\cmd.exe - debug d:\asmedu\sy567.exe
ntvdm cpu 遇到无效的指令
cs:0000 ip:0077 op:f0 37 05 0e 02 选择“关闭”终止程序
请问这是怎么回事啊~~~写的指令有问题么?? |