检测点9.1

若要使程序中的jmp指令执行后,CS:IP 指向程序的第一条指令,在data段中应该定义哪些数据?

assume cs : code
data segment
1
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

补全程序,使jmp指令执行后,CS:IP 指向程序的第一条指令

assume cs : code
data segment
    dd 12345678H
data ends

code segment
    start :mov ax, data
    mov ds, ax
    mov bx, 0

    mov ds:[bx],bx
    mov ds:[bx+2],cs

    jmp dword ptr ds: [0]
code ends
end start

用Debug查看内存,结果如下:

2000:1000 BE 00 06 00 00 00 

则此时,CPU执行指令:

mov ax, 2000H
mov es, ax
jmp dword ptr es: [1000H]

后,(CS)=00BE,(IP)=0006