8086CPU 它的位数是16位 但是地址总线是20位的
于是它用两个16位地址合成来表达一个20位的地址 (用地址加法器加工的)
第一个16位叫段地址 第二个16位地址叫偏移地址
所以 物理地址= 段地址*16+偏移地址
============================================================
CPU的工作原理 重点
以8086CPU为例, 它有两个最关键的寄存器 CS和IP. (段和偏移)
以下是工作循环
1 CS和IP共同组成 地址 M*16+N , CPU将从这个地址开始读取内存中的指令
2 指令从内存读进来后, IP的数值增加, 增加多少呢, 取决于指令的字节数
比如 B82301 这个机器指令的汇编意思就是mov ax,0123H
这个指令3个字节 所以IP由 0000 变成0003
读进来的指令存放在指令缓冲器里
3 执行指令. 此时 内存中ax的数值将变成 0123H
4 再从头循环
============================================================
mov指令被称为传送指令
但是mov不能设置CS IP的值
只有转移指令可以设置CS IP的值
jmp 就是一个转移指令 jmp 段地址:偏移地址
jmp 2AE3:3 执行后 CS=2AE3H, IP=0003H CPU将从 2AE33H处读取指令
jmp 3:0B16 执行后 CS=0003H, IP=0B16H CPU将从 00B46H处读取指令
jmp还有一种格式 jmp 一个内存地址
jmp ax 意思是 mov IP, ax