博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编语言第二章知识梳理
阅读量:6971 次
发布时间:2019-06-27

本文共 858 字,大约阅读时间需要 2 分钟。

  • 一个典型的cpu由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。
  • 内部总线实现cpu内部各个器件之间的联系。外部总线实现cpu和主板上其他器件的联系。
  •  

  • 8086CPU中的14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
  • 概括的讲,16位结构描述了一个cpu具有以下几个方面的特征:(1)运算器一次最多可以处理16位的数据。(2)通用寄存器的最大宽度为16位。(3)寄存器和运算器之间的通路是16位的。
  • 8086cpu有20位地址总线,可传送20位地址,寻址能力位1MB。内部为16位结构,它只能传送16位的地址,表现出的寻址能力只有64KB。它采用的是一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。在读写内存时,步骤如下:                                                                                                            (1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址。                                                                                                                    (2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件。                                                                                                                                            (3)地址加法器将两个16位地址合并成一个20位的地址。(地址加法器合成物理地址的方法:物理地址=段地址*16+偏移地址。“段地址*16”有一个更为常用的说法就是数据左移4位(二进制位)。基础地址+偏移地址=物理地址。)
  • 8086pc工作过程:

       (1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器。

       (2)IP=IP+所读取指令的长度,从而指向下一条指令。

       (3)执行指令。转到步骤(1)。

       (4)重复这个过程。

        也就是说内存中的一段信息曾被cpu执行过的话,那么它所在的内存单元必然被CS:IP指向过。

  • mov指令可以改变8086cpu大部分寄存器的值,被称为传送指令。但是mov指令不能用于设置CS,IP的值。
  • 修改CS,IP的值:

       (1)同时修改CS,IP的内容:jmp  段地址:偏移地址

 

       (2)仅修改IP的值:jmp 某一合法寄存器  

 

转载于:https://www.cnblogs.com/zakon/p/9744596.html

你可能感兴趣的文章
poj3261
查看>>
bbs项目实现点赞和评论的功能
查看>>
贪心算法的实现框架
查看>>
循环例题
查看>>
关于form/input 的autocomplete="off"属性
查看>>
Java 8 Nashorn JavaScript
查看>>
hibernate映射数据库时@ManyToOne和@OneToMany
查看>>
初探单点登录 SSO
查看>>
Ubuntu apt-get出现unable to locate package解决方案
查看>>
mvn jetty:run PermGen溢出问题
查看>>
回答自己的提问!
查看>>
latex01-LaTeX环境的安装与配置
查看>>
成本维护不允许超过设定比例
查看>>
Android调用相机并将照片存储到sd卡上
查看>>
GridView 常用技巧
查看>>
[2017BUAA软工]个人阅读作业+总结
查看>>
Python--day65--模板语言之变量相关语法
查看>>
the simplest usage of the menu(Android Development)
查看>>
为什么处理排序的数组要比非排序的快
查看>>
游标的简单理解
查看>>