吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2044|回复: 7

[汇编] Asm入门之一 CPU 寄存器

[复制链接]
叮当 发表于 2016-2-9 14:53 | 显示全部楼层 |阅读模式

本帖最后由 叮当 于 2016-2-9 21:14 编辑

8086CPU 14个寄存器 :

寄存器名称:AX BX CX DX SI DI SP BP IP CS SS DS ES PSW

---------------

数据寄存器:

AX:可以分为 AH 和 AL

BX:可以分为 BH 和 BL  用于在[]中指明偏移地址 默认段地址存放在DS中

CX:可以分为 CH 和 CL  用于loop指令循环检测

DX:可以分为 DH 和 DL

---------------

特殊寄存器:

BP:用于在[]中指明偏移地址 与BX寄存器类似 但默认段地址存放在SS中

SI:变址和指针寄存器 用于在[]中指明偏移地址 但不能分成两个8位寄存器来使用

DI:变址和指针寄存器 用于在[]中指明偏移地址 但不能分成两个8位寄存器来使用

IP:指令指针寄存器 在任意时刻 CS:IP指向的内容都当作指令执行 读取一条指令后 IP中的值自动增加 以使CPU可读取下一条指令

SP:栈顶指针寄存器 在任意时刻 SS:SP指向栈顶元素

---------------

段寄存器:

CS:代码指令段寄存器 在任意时刻 CS:IP指向的内容都当作指令执行

DS:内存数据段寄存器 向内存读写数据时 DS寄存器内存储的是默认段地址

SS:栈段寄存器 在任意时刻 SS:SP指向栈顶元素

ES:临时段寄存器 可以当作临时备用

---------------

标志寄存器:

PSW:具体查看标志寄存器文档介绍

---------------


1:8086CPU一共有14个寄存器 每个寄存器都是16位 可以存放两个字节

2:AX BX CX DX 存放一般性数据 被称为 通用寄存器

3:为保证向前兼容(8位寄存器的CPU) 有部分寄存器可以分为两个独立使用的8位寄存器来用 分为低8位L 和 高8位H

4:8086CPU可以一次处理两种尺寸数据 Byte 和 word

5:CS IP中的内容当作指令 如果某条指令被执行过 那么它所在的内存单元必然被CS:IP指向过

6:每次CPU开始工作 CS=FFFFH IP=0000H  因此FFFF0H是8086PC开机后执行的第一条指令

7:CS IP读取指令流程:

[1]:从CS:IP指向的内存单元读取指令进入指令缓存器

[2]:(IP)=(IP)+所读指令长度 指向下一条指令

[3]:执行指令 转到[1] 重复该过程

---------------

16位结构 或者说 16位机 描述了一个CPU具有以下几方面的结构特性:

1:寄存器最大宽度16位  2:运算器一次最多处理16位数据  3:寄存器和运算器之间通路为16位

8086是16位结构的CPU 因此在8086内部一次性处理 传输 存储的信息最大长度是16位的

---------------

8086CPU 寻址方式:

8086CPU内部有20根地址总线 寄存器是16位 无法正常使用寄存器内部的数值做20位的寻址

根据1位16进制值=4位2进制值的特性 8086的寻址方法为:

物理地址 = 段地址 * 16 + 偏移地址

例如 段地址=1230H 偏移地址=00C8H 因此运算结果为

1230H * 16 + 00C8H = 12300H + 00C8H = 123C8H

编程中可以根据需要 将地址连续 起始位置为16的倍数(因为段地址要*16)的任何一组内存单元定义为一个段


说明:

1:段地址确定了一个段的起始位置 而偏移地址为16位 16位的寻址能力为64KB个内存单元 所以一个段的最大长度为64KB

2:CPU可用不同的段地址和偏移地址组成同一物理地址

例如:段地址2000H 偏移地址1F60H  与  段地址2100H 偏移地址0F60H  代表的地址是相同的


---------------

8086CPU 寻址工作流程:

1:提供两个16位地址 即段地址和偏移地址

2:通过内部总线送入一个称为地址加法器的部件

3:地址加法器通过运算将两个16位地址合成为一个20位的物理地址

4:地址加法器通过内部总线将20位物理地址送入输入输出控制电路

5:输入输出控制电路将20位物理地址送入地址总线:

6:20位物理地址被地址总线传送到存储器

评分

参与人数 10HB +26 THX +6 收起 理由
消逝的过去 + 1
boot + 2
后学真 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
yexing + 1
agan8888 + 1
2323816 + 1
多弗朗明豪 + 5 + 1 原本我只懂EAX,AH,AL的,但是看了你的虽然没看懂当也有收获!
Shark恒 + 10 + 1 不错,如果配有图片就更完美了。
LYQingYe + 6 + 1 祝学破解论坛全体成员2016年开心每一天!
846793234 + 1 祝学破解论坛全体成员2016年开心每一天!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 叮当 发表于 2016-2-9 14:53 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Tyrone 发表于 2016-2-9 15:02 | 显示全部楼层

这是干嘛的
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LYQingYe 发表于 2016-2-9 16:59 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
秦国大良造 发表于 2016-2-9 17:12 | 显示全部楼层

和arm有啥区别?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pooh 发表于 2019-4-29 18:10 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
2323816 发表于 2022-1-15 15:12 | 显示全部楼层

持续更新ASM系列
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
后学真 发表于 2022-10-8 16:01 | 显示全部楼层

好啊,学习学习,感谢老师分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表