检测点9.1
程序如下:
assume cs:code
data segment
dd 3 dup (0)
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
因为jmp word ptr 是段内转移只修改IP不修改CS,而jmp dword ptr才是既修改CS又修改IP高地址字是CS,低地址处的字是IP。
(2)程序如下
assume cs:code
data segment
dd 12345678H
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov [bx],bx
mov [bx+2],cs
jmp dword ptr ds:[0]
code ends
end start
补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令
(3)用Debug查看内存,结果如下:
2000:1000 BE 00 06 00 00 00…
则此时,CPU执行指令:
mov ax,2000H
mov es,ax
jmp dword ptr es:[1000H]