汇编指令大全Word下载.docx

上传人:b****3 文档编号:7728702 上传时间:2023-05-09 格式:DOCX 页数:42 大小:29.77KB
下载 相关 举报
汇编指令大全Word下载.docx_第1页
第1页 / 共42页
汇编指令大全Word下载.docx_第2页
第2页 / 共42页
汇编指令大全Word下载.docx_第3页
第3页 / 共42页
汇编指令大全Word下载.docx_第4页
第4页 / 共42页
汇编指令大全Word下载.docx_第5页
第5页 / 共42页
汇编指令大全Word下载.docx_第6页
第6页 / 共42页
汇编指令大全Word下载.docx_第7页
第7页 / 共42页
汇编指令大全Word下载.docx_第8页
第8页 / 共42页
汇编指令大全Word下载.docx_第9页
第9页 / 共42页
汇编指令大全Word下载.docx_第10页
第10页 / 共42页
汇编指令大全Word下载.docx_第11页
第11页 / 共42页
汇编指令大全Word下载.docx_第12页
第12页 / 共42页
汇编指令大全Word下载.docx_第13页
第13页 / 共42页
汇编指令大全Word下载.docx_第14页
第14页 / 共42页
汇编指令大全Word下载.docx_第15页
第15页 / 共42页
汇编指令大全Word下载.docx_第16页
第16页 / 共42页
汇编指令大全Word下载.docx_第17页
第17页 / 共42页
汇编指令大全Word下载.docx_第18页
第18页 / 共42页
汇编指令大全Word下载.docx_第19页
第19页 / 共42页
汇编指令大全Word下载.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

汇编指令大全Word下载.docx

《汇编指令大全Word下载.docx》由会员分享,可在线阅读,更多相关《汇编指令大全Word下载.docx(42页珍藏版)》请在冰点文库上搜索。

汇编指令大全Word下载.docx

乘积:

(AH)<

--(AL)/10

--(AL)MOD10

2.本指令应跟在MUL指令后使用,乘积的两位十进制结果,高位放在AH中,低位放在AL中.AH内容是MUL指令的结果被10除的商,即(AL)/10,而最后的AL内容是乘积被10整除的余数(即个位数).

AAS

未组合十进制减法调整指令AAS(ASCIIAdjustforSubtraction)

AAS

对两个未组合十进制数相减后存于AL中的结果进行调整,调整后产生一个未组合的十进制数数且仍存于AL中.

1.本指令影响标志位CF及AF.

2.调整操作

若(AL)and0FH>

9或AF=1

则(AL)<

--(AL)-6,(AH)<

--(AH)-1,CF<

--(AL)and0FH,

否则(AL)<

ADC

带进位加法指令ADC(AdditionCarry)

ADCOPRD1,OPRD2

OPRD1<

--OPRD1+OPRD2+CF

1.OPRD1为任一通用寄存器或存储器操作数,可以是任意一个通用寄存器,而且还可以是任意一个存储器操作数.

OPRD2为立即数,也可以是任意一个通用寄存器操作数.立即数只能用于源操作数.

2.OPRD1和OPRD2均为寄存器是允许的,一个为寄存器而另一个为存储器也是允许的,但不允许两个都是存储器操作数.

3.加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.

4.该指令对标志位的影响同ADD指令.

ADD

加法指令ADD(Addition)

ADDOPRD1,OPRD2

两数相加

2.OPRD1和OPRD2均为寄存器是允许的,一个为寄存器而另一个为存储器也是允许的,但不允许两个都是存储器操作数.

3.加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.加法指令适用于无符号数或有符号数的加法运算.

AND

逻辑与运算指令AND

ANDOPRD1,OPRD2

对两个操作数实现按位逻辑与运算,结果送至目的操作数.本指令可以进行字节或字的‘与’运算,

OPRD1<

--OPRD1andOPRD2.

1.目的操作数OPRD1为任一通用寄存器或存储器操作数.源操作数OPRD2为立即数,任一通用寄存器或存储器操作数.

ANDAL,0FH;

--(AL)AND0FH

ANDAX,BX;

(AX)<

--(AX)AND(BX)

ANDDX,BUFFER[SI+BX]

ANDBETA[BX],00FFH

注意:

两数相与,有一个数假则值为假

CALL

过程调用指令CALL

CALLOPRD

过程调用指令

1.其中OPRD为过程的目的地址.

2.过程调用可分为段内调用和段间调用两种.寻址方式也可以分为直接寻址和间接寻址两种.

3.本指令不影响标志位.

CBW

字节扩展指令CBW(ConvertBytetoWord)

CBW

将字节扩展为字,即把AL寄存器的符号位扩展到AH中.

1.两个字节相除时,先使用本指令形成一个双字节长的被除数.

2.本指令不影响标志位.

3.示例:

MOVAL,25

IDIVBYTEPTRDATA1

CLC

处理器控制指令-标志位操作指令

CLC;

置CF=0

STC;

置CF=1

CMC;

置CF=(NotCF)进位标志求反

CLD;

置DF=0

STD;

置DF=1

CLI;

置IF=0,CPU禁止响应外部中断

STI;

置IF=1,使CPU允许向应外部中断

完成对标志位的置位、复位等操作.

例如串操作中的程序,经常用CLD指令清方向标志使DF=0,在串操作指令执行时,按增量的方式修改吕指针.

CLD

CLI

CMC

CMP

比效指令CMP(CoMPare)

CMPOPRD1,OPRD2

对两数进行相减,进行比较.

1.OPRD1为任意通用寄存器或存储器操作数.

OPRD2为任意通用寄存器或存储器操作数,立即数也可用作源操作数OPRD2.

2.对标志位的影响同SUB指令,完成的操作与SUB指令类似,唯一的区别是不将OPRD1-OPRD2的结果送回OPRD1,而只是比较.

3.在8088/8086指令系统中,专门提供了一组根据带符号数比较大小后,实现条件转移的指令.

CMPS

字符串比较指令

CMPSOPRD1,OPRD2

CMPSB

CMPSW

由SI寻址的源串中数据与由DI寻址的目的串中数据进行比较,比较结果送标志位,而不改变操作数本身.

同时SI,DI将自动调整.

1.其中OPRD2为源串符号地址,OPRD1为目的串符号地址.

2.本指令影响标志位AF、CF、OF、SF、PF、ZF.本指令可用来检查二个字符串是否相同,可以使用循环控制方法对整串进行比较.

3.与MOVS相似,CMPS指令也可以不使用操作数,此时可用指令CMPSB或CMPSW分别表示字节串比较或字串比较.

CWD

字扩展指令CWD(ConvertWordtoDoubleWord)

CWD

将字扩展为双字长,即把AX寄存器的符号位扩展到DX中.

1.两个字或字节相除时,先用本指令形成一个双字长的的被除数.

在B1、B2、B3字节类型变量中,分别存有8们带符号数a、b、c,实现(a*b+c)/a运算。

DAA

组合的十进制加法调整指令DAA(DecimalAdjustforAddition)

DAA

对AL中的两个组合进制数相加的结果进行调整,调整结果仍放在AL中,进位标志放在CF中.

1.调整操作如下

(1)若(AL)and0FH>

9或AF=1,则(AL)<

--(AL)+6,AF<

--1,对低四位的调整.

(2)若(AL)and0F0H>

90H或CF=1,则(AL)<

--(AL)+60H,CF<

--1.

(AL)=18H,(BL)=06H

ADDAL,BL;

(AL)<

--(AL)+(BL);

(AL)=1EH

DAA;

(AL)

DAS

组合十进制减法调整指令DAS(DecimalAdjustforSubtraction)

DAS

对两个组合十进制数相减后存于AL中的结果进行调整,调整后产生一个组合的十进制数且仍存于AL中.

调整操作

9或AF=1,则(AL)<

--(AL)-6,AF=1

若(AL)and0F0H>

90H或CF=1,则(AL)<

--(AL)-60,CF=1

DEC

减一指令DEC(Decrementby1)

DECOPRD

OPRD<

--OPRD-1

1.OPRD为寄存器或存储器操作数.

2.这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF标志位.

3.示例DECAX

DECCL

DECWORDPTR[DI]

DECALFA[DI+BX]

DIV

无符号数除法指令DIV(DIVision)

DIVOPRD

实现两个无符号二进制数除法运算.

1.其中OPRD为任一个通用寄存器或存储器操作数.

2.字节相除,被除数在AX中;

字相除,被除数在DX,AX中,除数在OPRD中.

字节除法:

--(AX)/OPRD,(AH)<

--(AX)MODOPRD

字除法:

(AX)<

--(DX)(AX)/OPRD,(DX)<

--(DX)(AX)MODOPRD

ESC

处理器交权指令ESC

ESCEXTOPRD,OPRD

使用本指令可以实现协处理器出放在ESC指令代码中的6位常数,该常数指明协处理器要完成的功能.

当源操作数为存储器变量时,则取出该存储器操作数传送给协处理器.

1.其中EXTOPRD为外部操作码,OPRD为源操作数.

2.本指不影响标志位.

HLT

处理器暂停指令HLT

HLT

使处理器处于暂时停机状态.

1.本指令不影响标志位.

2.由执行HLT引起的暂停,只有RESET(复位)、NMI(非屏蔽中断请求)、INTR(可屏蔽的外部中断请求)信号可以使

其退出暂停状态.它可用于等待中断的到来或多机系统的同步操作.

IDIV

带符号数除法指定IDIV(IntergerDIVision)

IDIVOPRD

这实现两个带符号数的二进制除法运算.

1.其中OPRD为任一通用寄存器或存储器操作数.

2.理由与IMUL相同,只有IDIV指令,才能得到符号数相除的正确结果.

3.当被除数为8位,在进行字节除法前,应把AL的符号位扩充至AH中.在16位除法时,若被除数为16位,则应将AX中的符号位扩到DX中.

IMUL

带符号数乘法指令IMUL(IntegerMULtiply)

IMULOPRD

完成两个带符号数的相乘

2.MUL指令对带符号相乘时,不能得到正确的结果.

例如:

(AL)=255

(CL)=255

MULCL

(AX)=65025

这对无符号数讲,结果是正确的,但对带符号数讲,相当于(-1)*(-1)结果应为+1,而65025对应的带符号数为-511,显然是不正确的.

IN

输入指令IN

INAL,n;

--(n)

INAX,n;

--(n+1),(n)

INAL,DX;

--[(DX)]

INAX,DX;

--[(DX)+1],[(DX)]

输入指令

1.其中n为8位的端口地址,当字节输入时,将端口地址n+1的内容送至AH中,端口地址n的内容送AL中.

2.端口地址也可以是16位的,但必须将16位的端口地址送入DX中.当字节寻址时,由DX内容作端口地址的内容送至AL中;

当输入数据字时,[(DX)+1]送AH,[(DX)]送AL中,用符号:

--[(DX)+1],[(DX)]表示.

INC

加1指令INC(INCrementby1)

INCOPRD

--OPRD+1

2.这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF标志位.

INCSI;

(SI)<

--(SI)+1

INCWORDPTR[BX]

INCBYTEPTR[BX+DI]

INCCL;

(CL)<

--(CL)+1

上述第二,三两条指令,是对存储字及存储字节的内容加1以替代原来的内容.

INT

软中断指令INT

INTn其中n为软中断的类型号.

本指令将产生一个软中断,把控制转向一个类型号为n的软中断,该中断处理程序入口地址在中断向量表的n*4地址

处的二个存储器字(4个单元)中.

操作过程与INTO指令雷同,只需将10H改为n*4即可.所以,本指令也将影响标志位IF及TF.

INTO

溢出中断指令INTO(INTerruptifOverflow)

INTO

本指令检测OF标志位,当OF=1时,说明已发生溢出,立即产生一个中断类型4的中断,当OF=0时,本指令不起作用.

1.本指令影响标志位IF及TF.

2.本指令可用于溢出处理,当OF=1时,产生一个类型4的软中断.在中断处理程序中完成溢出的处理操作.

IRET

中断返回指令IRET

IRET

用于中断处理程序中,从中断程序的断点处返回,继续执行原程序.

1.本指令将影响所有标志位.

2.无论是软中断,还是硬中断,本指令均可使其返回到中断程序的断点处继续执行原程序.

JA

条件转移指令JA/JNBE

JA/JNBE标号

为高于/不低于等于的转移指令

1.例如两个符号数a,b比较时,a>

b(即CF=0,ZF=0)时转移.因为单一标志位CF=0,只表示a>

=b.

2.JA/JNBE是同一条指令的两种不同的助记符.

3.该指令用于无符号数进行条件转移

JAE

条件转移指令JAE/JNB

JAE/JNB标号

为高于等于/不低于的转移指令

1.JAE/JNB是同一条指令的两种不同的助记符.

2.该指令用于无符号数进行条件转移.

JB

条件转移指令JB/JNAE

JB/JNAE标号

低于/不高于等于时转移

该指令用于无符号数的条件转移

JBE

条件转移指令JBE/JNA

JBE/JNA标号

低于等于/不高于时转移

JC

条件转移指令JC

JC标号

CF=1,转至标号处执行

JC为根据标志位CF进行转移的指令

JE

条件转移指令JE/JZ

JE/JZ标号

ZF=1,转至标号处执

1.指令JE与JZ等价,它们是根据标志位ZF进行转移的指令

2.JE,JZ均为一条指令的两种助记符表示方法

JG

条件转移指令JG/JNLE

JG/JNLE标号

大于/不小于等于时转移

用于带符号数的条件转移指令

JGE

条件转移指令JGE/JNL

JGE/JNL标号

大于等于/不小于时转移

JL

条件转移指令JL/JNGE

JL/JNGE标号

小于/不大于等于时转移

JLE

条件转移指令JLE/JNG

JLE/JNG标号

小于等于/不大于时转移

JMP

无条件转移指令JMP

JMPOPRD

JMP指令将无条件地控制程序转移到目的地址去执行.当目的地址仍在同一个代码段内,称为段内转移;

当目标地址不在同一个代码段内,则称为段间转移.这两种情况都将产生不同的指令代码,以便能正确地生成目的地址,在段内转移时,指令只要能提供目的地址的段内偏移量即够了;

而在段间转移时,指令应能提供目的地址的段地址及段内偏移地址值.

1.其中OPRD为转移的目的地址.程序转移到目的地址所指向的指令继续往下执行.

2.本组指令对标志位无影响.

3.<

1>

段内直接转移指令:

JMPNEAR标号

<

2>

段内间接转移指令:

3>

段间直接转移指令:

JMPFAR标号

4>

段间间接转移指令:

JMPOPRD其中的OPRD为存储器双字操作数.段间间接转移只能通过存储器操作数来实现.

JNA

JNAE

JNB

JNBE

JNC

条件转移指令JNC

JNC标号

CF=0,转至标号处执行

JNC为根据标志位CF进行转移的指令

JNE

条件转移指令JNE/JNZ

JNE/JNZ标号

ZF=0,转至标号处执行

1.指令JNE与JNZ等价,它们是根据标志位ZF进行转移的指令

2.JNE,JNZ均为一条指令的两种助记符表示方法

JNG

JNGE

JNL

JNLE

JNO

条件转移指令JNO

JNO标号

OF=0,转至标号处执行

JNO是根椐溢出标志位OF进行转移的指令

JNP

条件转移指令JNP/JPO

JNP/JPO标号

PF=0,转至标号处执行

1.指令JNP与JPO,它们是根据奇偶标志位PF进行转移的指令

2.JNP,JPO均为一条指令的两种助记符表示方法

JNS

条件转移指令JNS

JNS标号

SF=0,转至标号处执行

JNS是根据符号标志位SF进行转移的指令

JNZ

条件转移指令JN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2