汇编语言学习笔记第二章 寄存器
2017-02-09 08:44
267 查看
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.
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.
相关文章推荐
- InetAddress 基础方法实现
- 空指针
- DIV模拟TAB选项卡
- 矩形着色
- Url基础方法实现
- win10 uwp 如何拖动一个TextBlock的文字到另一个TextBlock
- Eclipse中server启动超时的解决方法
- IE下document.getElementsByName无法获取DIV标签
- Java集合和数组的区别
- 详解Spring中的JavaConfig注解
- win10 uwp 如何拖动一个TextBlock的文字到另一个TextBlock
- Jetty + Jersey 构建JAVA Restful
- Leetcode 206. Reverse Linked List
- JAVASCRIPT&CSS之RUN SUN
- SqlServer函数大全
- HDU-2141
- MySQL笔记六之 条件判断函数
- 微软中间语言
- NAT详解 z
- PHP调试及性能分析工具Xdebug详解