代码如下
assume cs:code
data segment
db 1,0,0
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
mov ax,4c00h
int 21h
code ends
end start
说明:由于只要保证IP的值为0,并且取到的值为字的长度就行了
所以无论db 1,0,0,还是db 2,0,0都应该正常的
验证情况如下
-r
AX=0000 BX=0000 CX=0020 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1502 ES=1502 SS=1512 CS=1513 IP=0000 NV UP EI PL NZ NA PO NC
1513:0000 B81215 MOV AX,1512
-t
AX=1512 BX=0000 CX=0020 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1502 ES=1502 SS=1512 CS=1513 IP=0003 NV UP EI PL NZ NA PO NC
1513:0003 8ED8 MOV DS,AX
-t
AX=1512 BX=0000 CX=0020 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1512 ES=1502 SS=1512 CS=1513 IP=0005 NV UP EI PL NZ NA PO NC
1513:0005 BB0000 MOV BX,0000
-t
AX=1512 BX=0000 CX=0020 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1512 ES=1502 SS=1512 CS=1513 IP=0008 NV UP EI PL NZ NA PO NC
1513:0008 FF6701 JMP [BX+01] DS:0001=0000
-t
AX=1512 BX=0000 CX=0020 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1512 ES=1502 SS=1512 CS=1513 IP=0000 NV UP EI PL NZ NA PO NC
1513:0000 B81215 MOV AX,1512
- |