jmp 0ff0:0100 cs=0ff0H IP=0100H
???
这样对吗?看了一些帖子说cs=1000h,ip=0003
这到底哪个对呢???
帖子上的是怎么得出的呢???
哪位能告诉小弟我的,谢谢咯
-------------------------------------
------------------------------------
答:
1 mov ax,6622H
# 此时CS=2000H,IP=3,DS=1000H,AX=6622H,BX=0
2 jmp 0ff0:0100
# 此时cs=0FF0H,IP=0100H,DS=1000H,AX=6622H,BX=0
# 注:实际指向物理内存为10000H,即指向1000:0
3 mov ax,2000H
# 此时cs=0FF0H,IP=0103H,DS=1000H,AX=2000H,BX=0
4 mov ds,ax
# 此时cs=0FF0H,IP=0105H,DS=2000H,AX=2000H,BX=0
5 mov ax,[0008]
# 此时cs=0FF0H,IP=0108H,DS=2000H,AX=C389H,BX=0
6 mov ax,[0002]
# 此时cs=0FF0H,IP=010BH,DS=2000H,AX=EA66H,BX=0
体会:
数据和程序在计算机中都是以2进制形式存放于每个内存单元中,
任何时候CS:IP(代码段寄存器和指令指针寄存器)所指向的物理地址段存放着当前要执行的指令(程序),而没有被cs:IP直接指向的时候他们又可以被当作独立的数据来调用。 |