首页 > 编程知识 正文

汇编语言指令表,汇编语言寄存器清零

时间:2023-05-03 20:45:18 阅读:120467 作者:2693

前言1 .通用寄存器2 .将字保存到寄存器2.1两个单位2.2基础的汇编指令2.2.1 MOV指令2.2.2 ADD指令2.2.3传输运算规范3 .相关习题

前言

与本文相关的CPU为8086CPU

在CPU内部有很多设备,这些设备相互协作来实现CPU的功能

CPU的主要设备包括:

运算器(信息处理计算)寄存器(信息存储)控制器(控制和运行各种设备)通过总线在CPU和存储器之间进行交互称为外部总线

CPU内部的设备也通过总线连接,称为内部总线

相反,在CPU内部,寄存器是主要设备,并且其结构根据CPU寄存器的数目而不同。

1 .通用寄存器8086的CPU可以存储所有寄存器为16位且2字节(字节)的数据

另一方面,AX、BX、CX、DX这4个寄存器能够用于存储一般的数据,所以将这4个寄存器称为通用寄存器。

以AX寄存器为例,其他BX寄存器、CX寄存器、DX寄存器也一样。

AX本身是16位寄存器,但该寄存器还可以分为AH和AL两个寄存器AH和AL寄存器都是8位寄存器,同样

BX可以分为BH和BLCX,CH和CLDX可以分为DH和DL,但是当将16位寄存器分为两个8位寄存器时,这两个8位寄存器是相互独立的。

h为High,表示原始寄存器的字节数

l为Low,表示原始寄存器的低位字节

将该寄存器考虑为AX时,寄存器中保存的数字如下。

ax:011100http://www.Sina.com/11111111

寄存器的值加1后,寄存器的值如下。

ax:011100http://www.Sina.com/00000000

01

如果将寄存器考虑为AH和AL两个寄存器,则寄存器中保存的数字如下。

AH:0111 0001

AL:1111 1111

此时的AL 1、寄存器的变化如下。

AH:0111 0001

AL:0000 0000

10

当然,这个满满的1是放不下的。 标志记录溢出的信息

2 .字存储在寄存器中2.1单位8086CPU一次可以处理两种大小类型,如下:

字节:可以存在于字节、8位、8位寄存器中。

字:由Word、16位和2字节组成,这两个字节分别称为因为AX是一个整体,所以AX + 1,会影响所有的数字。AL 因为运算发生的进位并不会进到 AH寄存器中,因为两个寄存器独立的,互不影响。

2.2基本汇编指令汇编指令不区分大小写

mov和mov是等价的

2.2.1 MOV指令以mov指令最基础的使用方法,将数字送入寄存器

型号为mov寄存器、数值

MOV AX,18H; 将数值18H发送到寄存器AX; 与c语言相似。 AX=10HMOV AH,01H; 将值01H发送到寄存器AH; 与c语言相似。 AH=01HMOV AL,02H; 将值02H发送到寄存器AL; 如c语言所示,以AL=02H mov指令的基本使用方法,将寄存器的内容发送到其他寄存器

格式为mov寄存器、寄存器

MOV AX、ABCDH; 向寄存器AXMOV BX,AX发送数值ABCD; 将寄存器AX内容取入寄存器BX; 与c语言的BX=AX 2.2.2 ADD指令ADD指令的最基本使用方法相同,对寄存器进行加法运算

型号为ADD寄存器、数值

ADD AX,1111H; 在AX寄存器的内容中加上1111H; 与c语言相似。 AX=AX 1111H ADD指令的基本使用方法是将一个寄存器和另一个寄存器的值相加

型号为ADD寄存器、寄存器

ADD AX,BX; 在AX寄存器的内容中添加BX寄存器的内容; 与c语言相似。 AX=AX BX 2.2.3传输运算规格进行数字传输或运算时,请参阅高位字节

正确的示例:

mov ax、bx; ax (16位)、bx (16位) mov al、bh; al(8bit ),BH ) 8bit ) add ax,abcdH; ax (16位)、abcdh (16位) add bl、88H; bl(8bit )、88h (8bit )错误示例:

mov ax、bl; 将8位寄存器的数据传输到16位寄存器的mov al、ABCDH; 将16位数字传输到8位寄存器中,add al、800H; 将大于8位的数字添加到一个8位寄存器3 .相关练习执行每个汇编指令后,导出相关寄存器的值

答案:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。