汇编语言 急急急 我的问题总是没人帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:43:33
我想问一下 在汇编语言中寄存器有着明确的类型 具体都是些什么
一楼的 我的意思是 比方说我只知道AL是字节类型 AX是字类型 其他的就不知道了

还是不明白你问的什么。

AL和AH只是AX的一部分。

ax = al + ah

先看看下面的吧:

8个通用寄存器:
数据寄存器:AX,BX,CX,DX
指针寄存器:SP(堆栈指针),BP(基址指针)
变址寄存器:SI(原地址),DI(目的地址)
1、通用寄存器
数据寄存器,指针寄存器和变址寄存器统称为通用寄存器。这些寄存器除了各自专门用途外,它们均可用于传送和暂存数据,可以保存算术逻辑运算中的操作数和运算结果。
(1)数据寄存器
数据寄存器主要用来保存操作数或运算结果等信息,它们的存在节省了为存取操作数所需占用总线和访问存储器的时间。
(2)变址和指针寄存器
变址和指针寄存器主要用于存放某个存储单元地址的偏移,或某组存储单元地址的偏移,即作为存储器(短)指针使用。作为通用寄存器,它们可以保存16位算术逻辑运算中的操作数和运算结果,有时运算结果就是需要的存储单元地址的偏移。
2、控制寄存器(2个)
(1)指令指针寄存器
8086/8088CPU中的指令指针IP也是16位的。
指令指针IP给出接着要执行的指令在代码段中的偏移。
(2)标志寄存器
8086/8088CPU中有一个16位的标志寄存器,包含了9个标志,主要用于反映处理器的状态和运算结果的某些特征。6个条件标志+3个方向标志
3、段寄存器(4个)
8086/8088CPU依赖其内部的四个段寄存器实现寻址1M字节物理地址空间。
8086/8088把1M字节地址空间分成若干逻辑段,当前使用的段值存放在段寄存器中。
由于8086/8088有这四个段寄存器,所以有四个当前使用段可以直接存取,这四个当前段分别称为代码段,数据段,堆栈段和附加段。
(1)代码段
(2)数据段
(3)堆栈段
(4)附加段