(1)
若要使jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
完整程序如下:
assume cs:code,ds:data
data segment
dw 0,0
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1] ;
段内间接转移
code ends
end start
(2)
补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。
完整程序如下:
assume cs:code,ds:data
data segment
dd 12345678h
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov [bx],
bx
;
源操作数bx为所填内容
mov [bx+2],
cs
;
源操作数cs为所填内容
jmp dword ptr ds:[0]
code ends
end start
(3)
用Debug查看内存,结果如下:
2000:1000 BE 00 06 00 00 00 ......
则此时,CPU执行指令:
mov ax,2000H
mov es,ax
jmp dword ptr es:[1000H]
后,(CS)=? , (IP)=?
CS=0006H,IP=00BEH(经过上机验证)