汇编语言(王爽第三版)检测点9.1
(2017-04-17 17:22:04)
标签:
汇编王爽it教育 |
分类: 汇编语言(王爽第三版)检测点 |
检测点:9.1
(1)
assume cs:code
data segment
??????? 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
程序分析:
db 3 dup (0)
dw 2 dup (0)
dd 0
assume cs:code
data segment
dd 12345678H data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov [bx], offset start
mov [bx+2], code
jmp dword ptr ds:[0]
mov ax,4c00H
int 21H code ends
end start
2000:1000 BE 00 06 00 00 00 ......
则此时,CPU执行指令:
mov ax,2000h
mov es,ax
程序分析:
1)通过上面二条指令,es指向了段地址是2000H的内存段。
2)jmp dword ptr es:[1000h]指令的含义:是一个段间转移指令,指令的转移地址在内存中,该内存单元是一个双字单元(32位的单元),也就是说在1000H地址开始,低16位存储的是ip的值,高16位存储的是cs的值。
3)我们在debug内存存储显示中,不难发现,低16位是BE 00,也就是它的值是00BE。高16位是0600,也就是它的值是0006H,
得出结论:(cs)= 0006H ,(ip)= 00BEH