汇编语言常用指令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言常用指令

(1)数据传送指令:

Mov mem,ac

将ac中的数值传送到mem中,如: Mov Ax, 6BH,意思将十六进制数6B放到Ax中

(2)XCHG AX,BX

数据交换指令,将Ax与Bx数据交换,指令执行前:AX=420AH BX=7955H,指令执行后:AX=7955H, BX=420AH

(3)LEA REG,SRC

将SRC的有效地址送到REG中

(4)ADD加法指令

ADD AH,BH

指令执行前:AH=56H, BH=24H,指令执行后:7AH

01010110 AH

00100100 BH

________________

01111010 AH

(5)ADC加法指令

ADC加法指令与ADD很相似,不同的是会再加上进位标志符CF的值

如:指令执行前:DX=0002H AX=F365H BX=0005H CX=E024H

执行:ADD AX,CX

1111 0011 0110 0101

1110 0000 00100100

CF - 1 1101 0011 10001001

执行:ADC DX,BX

0000000000000010 DX

0000000000000101 BX

1CF

000000000001000 DX

(6)INC: 加1指令

INC AL

AL执行前为67H,指令执行后变为:68H

(7)SUB:不带借位的减法指令

SUB BX,7CX

指令执行前:BX=9543H,CX=28AH

1001 0101 01000011 BX

0010 1000 10100111 CX

0110 1100 10011100 BX

(8)DEC:减1指令(与INC的含义相同)

(9)MUL:乘法指令

字节操作数:AX←AL*(SRC)

字操作数:DX,AX←AX*(SRC)

具体见2007年春试题81

(10)DAA:加法的十进制调整指令

见2006秋81题,如果AL的低四位或高四位的十六进制在A—F之间,则加6H

(11)AAA:加法的Ascii调整指令

如AL寄存器的低四位在十六进制A—F间或进位标志AF=1,则AL寄存器的内容加6,AH寄存器的内容加1,清除AL寄存器的高四位,见2005春81

(12)AND:逻辑与指令,两个操作数都为1则为1

AND AL,0FH

指令执行前: AL=39H

0011 1001 39H

0000 1111 0FH

0000 1001 AL

(13)OR:逻辑或指令,两个操作数有一个为1则为1

(14)XOR:逻辑异或指令,两个操作数必须一个为1,一个为0则为1

(15)SHL:逻辑左移指令

SHL DX,7

指令执行前:DX=00101001 100100

指令执行后: DX=110010000000000

(16)SHR:逻辑右移指令

SHR DX,7

指令执行前:DX=00101001 1001000

指令执行后: DX=0000000001010011

(17)SAL:算术左移指令,与SHL相同

(18)SAR:算数右移指令,与SHR唯一不同的是,移动后符号位保持不变

见2008春81

(19)ROL:循环左移

ROL AL,3

指令执行前:AL=0010 1000

指令执行后:AL=0000 0101

(20)ROR:循环右移

(21)LOOPNZ:

循环指令,循环一次则CX-1,i循环结束条件为CX=0

(22)EQU:

赋值指令,A EQU 5表示将5赋值给A

(23)DB:定义字节,其后的操作数占有一个字节单元

DW:定义字,其后的操作数占有一个字单元

DD:定义双字,其后的操作数占有两个字单元

(24)$:这个符号表示取当前地址

(25) AAM:该指令是用于调整寄存器AL之值, 该值是由二个单BCD码字节用无符号乘指令MUL所得的积。其调整规则如下:

AH ← AL/10(商), AL ← AL(余数)

例如:

MOV AL, 9

MOV BL, 8

MUL BL ;AL = 72D

AAM ;AH = 7, AL = 2

相关文档
最新文档