标签:
段地址存放在8086CPU的段寄存器中,输入一条汇编指令后比如(mov ax,1234H),8086CPU会要求访问此汇编指令所对应的机器码所对应的内存,然后CS寄存器给出段地址,IP寄存器给出偏移地址 最后用地址加法器合成物理地址,搜寻到机器码所对应内存首地址,一个内存单元占一个字节,然后顺序读取完该指令,内存地址是顺序加的,当读取完后,机器码被数据总线传输到指令缓冲器中,此时IP会增加读取的总字节数,以便读取下一个指令,最终被执行器执行(相当于mov ax,1234H)。
CPU将CS:IP指向的内容当做指令执行。
8086cpu执行过程:
(1):从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
(2):IP指向下一个指令(转到步骤1,重复这个过程)
8086CPU提供转移指令修改CS,IP的内容。
jmp 1000,1234 :CS寄存器为1000,IP寄存器为1234
jmp ax 类似 mov IP,ax、jmp 合法寄存器所以 jmp bx也是可以的。
一条指令在内存中包含所有机器码可以叫做一个代码段
标签:
原文地址:http://my.oschina.net/u/2423028/blog/489760