1、CPU组成
- 一个CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。
- 内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。
- 不同CPU,寄存器的个数、结构是不相同的。
- 8086CPU有14个寄存器,AX BX CX DX SI DI SP BP IP CS SS DS ES PSW,这些寄存器都是16位二进制。
- 其中4个段寄存器:CS、DS、SS、ES
2、通用寄存器
16位寄存器的存储
16位寄存器兼容8位
- 8086CPU的上一代CPU中的寄存器都是8位的,为了了保证兼容,使原来基于上代CPU编写的程序稍加修改就可以运行在8086之上,8086CPU的AX、BX、CX、DX这4个寄存器都可分为两个可独立使用的8位寄存器来用
word 和 byte
- 字节:byte,一个字节由8个bit组成,可以存放在8位寄存器中
- 字:word,一个字由两个字节组成,分别称为这个字的高位字节和低位字节
- CPU中,用16位寄存器来存储一个字(一个字占据两个内存单元,2字节)。高8位存放高位字节,低8位存放低位字节。
- 上图中,我们从0地址开始存放4E20H,低8位存放20,高8位存放4E。地址0、1可以看成一个字单元。
- 有两个概念可以普及下:
- 上述概念总结如下:任何两个地址连续的内存单单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可看成一个地址为N的字单元中的高位字节单元和低位字节单元。
进位问题
MOV AX,8226H
MOV BX,8226H
ADD AX,BX
AX BX都是16位寄存器,此时AX的值是多少?
答案:8226H + 8226H = 1044CH,但是寄存器只能放16位,AX的值是044CH
MOV AX,00C5H
ADD AL,93H
此时AX的值是多少?
答案:AL原始是C5H,加上93H,等于158H,但是AL只是低8位寄存器(作为一个独立的8位寄存器),最高位1会丢失,丢失1也不会给AH,类似最终结果AX=0158(CPU并没有真的丢弃这个值),所以最终的AX=0058
- 例子3:
MOV AX,00C5H
ADD AX,93H
此时AX的值是多少
AX=00C5H + 0093H = 0158H,AX是16位寄存器,能正常进位
mov ax,bl 在8位寄存器和16位寄存器之间传送数据
mov bh,ax 在16位寄存器和8位寄存器之间传送数据
mov al, 20000 8位寄存器最大可存放值为255的数据
add al,100H 将一个高于8位的数据加到一个8位寄存器中
3、地址加法器
1000H * 16 + 0000H ~ 1000H * 16 + FFFFH
10000H ~ 1FFFFH
总共2^16=65536=64KB个内存单元
不同的段地址和偏移地址表示同一个物理地址
偏移地址的范围
一个段的起始地址一定是16的倍数
4、CS:IP
CS IP工作过程
- CS和IP是8086CPU中最为关键的寄存器,它指出了当前要读取指令的地址。
- CS寄存器存储段地址,IP寄存器存储偏移地址,CS:IP组成真真的程序入口的物理地址。
- 每读取一次指令,IP=IP+所读取指令的长度,从而指向下一条指令
- 8086CPU工作过程,初始化状态:CS=2000 IP=0000
- 地址加法器
- 20位地址总线
- IP增加
- AX=0123H
- 读取2000:0003处的指令
- 读取2000:0006处的指令
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器:
(2)IP=IP+所读取指令的长度,从而指向下一条指令;
(3)执行指令。转到步骤(1),重复这个过程。
jmp修改CS:IP
5、DS和[address]
DS和[address]
- 例子2
- 例子3
mov add sub
mov 寄存器,数据 比如:mov ax,8
mov 寄存器,寄存器 比如:mov ax,bx
mov 寄存器,内存单元 比如:mov ax,[0]
mov 内存单元,寄存器 比如:mov [0],ax
mov 寄存器,内存单元 比如:mov ds,[0]
mov 段寄存器,寄存器 比如:mov ds,ax
mov 寄存器,段寄存器 比如:mov ax,ds
原文地址:https://blog.csdn.net/sinat_35615296/article/details/134819305
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_47166.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。