汇编语言学习笔记第二章 寄存器
来源:互联网 发布:奇异值分解 svd逆矩阵 编辑:程序博客网 时间:2024/05/17 00:51
http://www.dbgpro.com/archives/394.html
8086/8088CPU的寄存器有4类:
数据寄存器:AX、BX、CX、DX (存放一般性的数据,又称通用寄存器)
指针及变址寄存器:SP、BP、SI、DI
段寄存器:CS、DS、SS和ES
控制寄存器:IP和Flags
AX (Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作;
BX称为基地址寄存器(Base Register),可作通用寄存器用,在计算存储器地址时,常用作基址存储器;
CX称为计数寄存器(Count Register),常用作循环计数器;在位操作中,要用CL来指明移位的位数;
DX称为数据寄存器(Data Register)。在进行双字的乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。
CS:代码段寄存器
DS:数据段寄存器
SS:堆栈段寄存器
ES:附加段寄存器
IP:指令指针寄存器
CS和IP就指示了CPU当前要读取指令的地址
几条汇编指令
在写一条汇编指令或一个寄存器的名称时不区分大小写.
物理地址
CPU通过地址总线送入存储器的,必须是一个内存单元的物理地址.
16位结构的CPU
运算器一次最多可以处理16位的数据;
寄存器的最大宽度为16位;
寄存器和运算器之间的通路为16位.
8086CPU给出物理地址的方法
地址加法器采用“物理地址 = 段地址 * 16 + 偏移地址”的方法合成物理地址
段的概念
一个段的最大长度位64KB
CS和IP
8086CPU的工作过程可以简要描述如下:
1) 从CS:IP指向的内存单元处读取指令,读取的指令进入指令缓冲器;
2) IP=IP+所读取指令的长度,从而指向下一条指令;
3) 执行指令,转到步骤1,重复这个过程.
修改CS、IP的指令
“jmp 段地址 : 偏移地址”指令的功能为: 用指令中给出的段地址修改CS,偏移地址修改IP.
“jmp 某一合法寄存器”: 用寄存器的值修改IP.
- 《汇编语言》学习笔记 第二章之寄存器
- 《汇编语言》学习笔记 第二章 寄存器
- [汇编语言学习笔记][第二章寄存器]
- 汇编语言学习笔记第二章 寄存器
- 汇编语言学习笔记第二章 寄存器
- 汇编语言笔记--第二章--寄存器
- 汇编语言笔记第二章 寄存器
- 汇编语言学习第二章-寄存器
- 汇编语言 第二章-寄存器
- 王爽《汇编语言》(第二版) 学习笔记 (第二章 寄存器)
- 王爽《汇编语言》(第二版) 学习笔记 (第二章 寄存器)
- 王爽《汇编语言》(第二版) 学习笔记 (第二章 寄存器)
- 王爽《汇编语言》(第二版) 学习笔记 ( 第三章 寄存器(内存访问))
- 王爽《汇编语言》(第二版) 学习笔记 (第十一章 标志寄存器)
- 王爽《汇编语言》(第二版) 学习笔记 ( 第三章 寄存器(内存访问))
- 王爽《汇编语言》(第二版) 学习笔记 (第十一章 标志寄存器)
- 王爽老师《汇编语言》第二章——寄存器 笔记
- 汇编语言学习笔记:寄存器(1)
- win10 uwp 如何拖动一个TextBlock的文字到另一个TextBlock
- 矩形着色
- DIV模拟TAB选项卡
- 基于计算机视觉的无人驾驶感知系统
- 空指针
- 汇编语言学习笔记第二章 寄存器
- Span模拟单选按钮Radio
- ThinkCMF框架部署到服务器出现“目录 [ /var/www/srm/data/runtime/ ] 不可写!”错误的解决方法
- MySQL调用定时器时event_scheduler是Off问题解决
- Notes of Py for informatics 3
- 学习记录 填充TABLE,可以从数据库填充,用来显示不需要编辑的结果
- 表格td出现多余的右内边留白
- JQ倒计时发送验证码
- Elasticsearch5.20 快速入门 并安装elasticsearch-head插件