检测点9.1

(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(经过上机验证)

你可能感兴趣的:(汇编语言)