汇编学习笔记[1]:寄存器
来源:互联网 发布:2016网络媒体广告报价 编辑:程序博客网 时间:2024/06/05 11:44
这是别人写的,我只不过收集过来当作学习资料,方便自己查阅,真实作者是:http://pwwang.com/?p=432
1。字节(BYTE)
8个二进制数,最低位:第0位;最高位:第7位
765432102。字(WORD)
2个字节(16个二进制数)最低位:第0位,最高位:第15位
1514131211109876543210字的低8位:低字节;字的高8位:高字节
3。双字(DWORD)
由2个字组成,包含32个二进制数,低16位称低字;高16位称高字
4。四字
由四个字组成,包含64个二进制位。
5。十字节
由10个字节组成,含80个二进制位。
6。字符串
由字符构成的一个线性数组,通常一个字符用一个字节表示,有时也可由一个字或双字表示。
一、8086/8088寄存器组(14个16位寄存器,8个8位寄存器)
1. 通用寄存器
包括数据寄存器,指针寄存器和谈起寄存器。均可用于传送和暂存数据,可以保存自述逻辑去处中的操作数和运算结果。
1)数据寄存器(可拆成高8位的H和低8位的L)
AX:可拆成高8位的AH和低8位的AL,又把AX和AL叫累加器。通过累加器进行计算可节省时间。
BX:又称基址寄存器。唯一可作为储存器指针使用的数据寄存器。
CX:一般字符串操作,或循环操作中用来控制循环次数。CL可用来控制移位。
DX:一般做32位乘除法时,存放被除数,或保留余数。
2)变址和指针寄存器
主要用于存放某个存储单元的地址的偏移,或某组单元起始地址的偏移。
SP:保存堆栈指针的栈顶。
2. 段寄存器
实现寻址1M字节物理地址空间。
3. 控制寄存器
1)指令指针
IP,16位,永远指向下一条指令
给出接着要执行的指令在代码段中的偏移
2)标志寄存器(8个标志)
1514131211109876543210 OFDFIFTFSFZF AF PF CFCF:进位标志,运算结果是否产生进位或者借位
ZF:零标志,运算结果是否为0,如果结果为0则ZF=1,否则ZF=0
SF:符号标志,反映运算结果的符号位,与运算结果的最高位相同,如果运算结果的最高位为1,则SF=1,否则SF=0
OF:溢出标志,反映有符号数加减运算是否引出溢出。如果运算结果>127或<-128(8位),或>32767或<-32768则溢出,若溢出OF=1,否则OF=0
PF:奇偶标志,反映运算结果中“1”的个数,如果“1”的个数为偶数,则PF=1,否则PF=0
AF:辅助进位标志,在字符操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字节进位或借位,则AF=1,否则AF=0
DF:方向标志,决定着串操作指令执行时有关指针寄存器调整方向。DF=1按减方式;DF=0按加方式
IF:中断允许标志,决定CPU是否响应外部可屏蔽中断请求,IF=1可响应;IF=0不可响应
TF:追踪标志,TF=1CPU进入单步方式,主要用于程序的调试。
二、存储器分段和地址的形成
1.存储单元的地址和内容
在存储器里以节节为单位存储信息。
每一个字节单元给以一个存储器的地址。
地址为0开始,顺序地每次加1
字单元的地址采用它的低地址来表示!
如(0004H)=34H,(0005H)=12H,那么(0004H)的字单元的内容为1234H。
2. 存储器地址的分段及物理地址的形成
在16位字长的机器里采用存储器地址分段的方法来提供20位地址。
段与段之间可相连,可以相离,还可以重叠。
在16进制表示的地址中,最低为0(即20位地址的低4位为0)
1M地址空间有20位物理地址=低4位为零的段首地址+偏移
如16表示的逻辑地址1234:3456的物理地址:12340+3456=15796H
3. 段地址的引用
在取指令的时候,自动引用代码段寄存器CS,再加上由IP给出的偏移,得到物理地址
当涉及到一个堆栈操作时,则自动引用堆栈寄存器SS,再加上SP所给出的偏移,得到堆栈操作所需要的物理地址。
当偏移涉及BP寄存器时,缺少引用段寄存器SS
在存取一个普通存储器操作数时,则自动选择数据寄存器DS或附加段寄存器ES,再加上偏移,得到物理地址。
在不改变段寄存器值的情况下,寻址最大范围为64K
允许段跨越前缀。
- 汇编学习笔记[1]:寄存器
- 汇编学习笔记[1]:寄存器
- 汇编学习笔记--寄存器
- 汇编学习笔记--标志寄存器
- 汇编学习笔记--寄存器(内存访问 1)
- 8086汇编学习笔记2-寄存器
- 8086汇编学习笔记7-标志寄存器
- 汇编学习笔记:寄存器(内存访问)
- 嵌入式汇编学习笔记(二)----寄存器
- 汇编学习笔记---2.1通用寄存器
- 汇编学习笔记之寄存器综述
- [汇编学习笔记][第十一章标志寄存器]
- 汇编寄存器笔记
- 汇编学习--7.9--寄存器
- 汇编之寄存器学习
- 汇编学习笔记----8086CPU的段寄存器
- 汇编学习笔记:CPU内部组成,寄存器讲解
- 什么是寄存器——汇编学习笔记(一)
- 04/07/09
- relate js
- Word退出时报错 "此文件正由另一个应用程序或用户使用"
- CodeGear Rad Studio 2009
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page321
- 汇编学习笔记[1]:寄存器
- 深圳IT白领家中猝死:前员工称连续加班5通宵
- umount: device is busy时怎么办?
- 团队内部要沟通,对自己写的文档负责!
- 实地调查:IT毕业生就业究竟有多难?
- 我们宿舍里那群“禽兽”的极品笑话
- VirtualBox 安装了 Fedora Linux 9 后安装增强功能时出现的问题
- 如何在SAP标准IDOC中增加自定义字段传输
- 找回c盘空间