逻辑门 缓存 内存 微架构 处理器 CPU
主页 正文

8086寄存器详解及与WIN32汇编对比

x86汇编之——8086寄存器讲解

8086 CPU 有 14 个寄存器,均为 16 位,包括通用寄存器、控制寄存器和段寄存器。
常用寄存器有:AX(累加器)、BX(基地址)、CX(计数器)、DX(数据)、SP(堆栈指针)、BP(基址指针)、SI(源索引)、DI(目标索引)、IP (指令指针)和标志(状态标志)。
控制寄存器:IP(指令指针)和flag(状态标志)。
段寄存器:CS(代码段)、DS(数据段)、SS(堆栈段)、ES(额外段)。
8086 CPU 中数据寄存器(AX、BX、CX、DX)可分为两个独立的 8 位寄存器。
AX为累加寄存器,可分为AH和AL,BX分为BH和BL,CX分为CH和CL,DX分为DH和DL。
AX 在 DIV 和 MUL 指令中有特殊用途。
BX寄存器主要用于寻址,可作为两个独立的8位寄存器(BH和BL)使用。
CX主要用于循环操作,具有计数器功能,通过LOOP指令控制循环次数。
DX寄存器存放DIV指令中32位被除数的高16位,执行后余数存放MUL指令中32位乘法结果的高16位; 指针寄存器(BP 和 SP)与段寄存器一起使用。
BP 寄存器通常与 SS 段寄存器一起使用来访问堆栈顶部。
SP寄存器与默认段寄存器(通常是SS)一起使用来指示堆栈的顶部。
索引寄存器(SI和DI)用于存储固定存储单元地址的偏移量,以辅助寻址操作。
CS、IP、SS、SP、DS 和 ES 寄存器与其他寄存器一起使用。
CS和IP代表指令的地址,SS和SP代表栈顶元素,段寄存器执行与段地址相同的功能。
FLAG寄存器中的每一位代表不同的状态信息,存储程序状态字(PSW),并包括状态标志和控制标志。

8086汇编和WIN32汇编的区别

8086汇编是指在一定环境下通过汇编、编译生成的程序。
机器执行的每条指令的长度为16位(可以小于16),如DOS操作系统; WIN32汇编是32位环境下的汇编,例如Windows(Windows也有64位版本,XP和VISTA都有相应的版本)。
一般来说,它们几乎是一样的。
当然,每一个都存在一些细微的差别。
WIN32下多了一些寄存器操作,简化了一些计算。
另外,Windows封装了一些关键的东西,所以Windows下的WIN32汇编程序玩家普遍感觉不能再像DOS下那样愉快地巡航了,因为WIN32汇编用户无法像以前那样直接操作硬件。
热门资讯
逻辑门计算公式推导
探索算术与逻辑运算之间的内在联系
电脑机箱电源线连接主板教程
即时成像相机:拍立得相机详解
加工中心攻丝编程:M29指令的必要性及不同系统差异
Win7系统安装分区格式选择:MBR还是GUID?
cpu指令集使用什么编码
单片机内部器件解析与封装知识汇总