汇编语言指令集合吐血整理.docx
- 文档编号:7640764
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:7
- 大小:17.24KB
汇编语言指令集合吐血整理.docx
《汇编语言指令集合吐血整理.docx》由会员分享,可在线阅读,更多相关《汇编语言指令集合吐血整理.docx(7页珍藏版)》请在冰豆网上搜索。
汇编语言指令集合吐血整理
8086/8088指令系统记忆表
数据寄放器分为:
AH&AL=AX(accumulator):
累加寄放器,常常利用于运算;在乘除等指令中指定用来寄存操作数,另外,所有的I/O指令都利用这一寄放器与外界设备传送数据.
BH&BL=BX(base):
基址寄放器,常常利用于地址索引;
CH&CL=CX(count):
计数寄放器,常常利用于计数;常常利用于保留计算值,如在移位指令,循环(loop)和串处置指令顶用作隐含的计数器.
DH&DL=DX(data):
数据寄放器,常常利用于数据传递。
他们的特点是,这4个16位的寄放器可以分为高8位:
AH,BH,CH,DH.和低八位:
AL,BL,CL,DL。
这2组8位寄放器可以别离寻址,并单独利用。
另一组是指针寄放器和变址寄放器,包括:
SP(StackPointer):
堆栈指针,与SS配合利用,可指向目前的堆栈位置;
BP(BasePointer):
基址指针寄放器,可用作SS的一个相对基址位置;
SI(SourceIndex):
源变址寄放器可用来寄存相对于DS段之源变址指针;
DI(DestinationIndex):
目的变址寄放器,可用来寄存相对于ES段之目的变址指针。
指令指针IP(InstructionPointer)
标志寄放器FR(FlagRegister)
OF(overflowflag)
DF(directionflag)
CF(carrierflag)
PF(parityflag)
AF(auxiliaryflag)
ZF(zeroflag)
SF(signflag)
IF(interruptflag)
TF(trapflag)
段寄放器(SegmentRegister)
为了运用所有的内存空间,8086设定了四个段寄放器,专门用来保留段地址:
CS(CodeSegment):
代码段寄放器;
DS(DataSegment):
数据段寄放器;
SS(StackSegment):
堆栈段寄放器;
ES(ExtraSegment):
附加段寄放器。
第一部份:
指令助记符:
一、数据传送指令
1.通用数据传送指令
MOV(Move)传送
PUSH(Pushontothestack)进栈
POP(Popfromthestack)出栈
XCHG(Exchange)互换
2.累加器专用传送指令
IN(Input)输入
OUT(Output)输出
XLAT(Translate)换码
3.有效地址送寄放器指令
LEA(Loadeffectiveaddress)有效地址送寄放器
LDS(LoadDSwithPointer)指针送寄放器和DS
LES(LoadESwithPointer)指针送寄放器和ES
4.标志寄放器传送指令
LAHF(LoadAHwithflags)标志送AH
SAHF(storeAHintoflags)AH送标志寄放器
PUSHF(pushtheflags)标志进栈
POPF(poptheflags)标志出栈
二、算术指令
1.加法指令
ADD(add)加法
ADC(addwithcarry)带进位加法
INC(increment)加1
2.减法指令
SUB(subtract)减法
SBB(subtractwithborrow)带借位减法
DEC(Decrement)减1
NEG(Negate)求补
CMP(Compare)比较
3.乘法指令
MUL(UnsignedMultiple)无符号数乘法
IMUL(SignedMultiple)带符号数乘法
4.除法指令
DIV(Unsigneddivide)无符号数除法
IDIV(Signeddivide)带符号数除法
CBW(Convertbytetoword)字节转换为字
CWD(Contertwordtodoubleword)字转换为双字
三、逻辑指令
1.逻辑运算指令
AND(and)逻辑与
OR(or)逻辑或
NOT(not)逻辑非
XOR(exclusiveor)异或
TEST(test)测试
2.移位指令
SHL(shiftlogicalleft)逻辑左移
SAL(shiftarithmeticleft)算术左移
SHR(shiftlogicalright)逻辑右移
SAR(shiftarithmeticright)算术右移
ROL(Rotateleft)循环左移
ROR(Rotateright)循环右移
RCL(Rotateleftthroughcarry)带进位循环左移
RCR(Rotaterightthroughcarry)带进位循环右移
四、串处置指令
1.重复前端指令
REP(Repeat)重复串操作直到(CX)=0为上
REPE(Repeatwhenempty)若(CX)=0,则退出,不然CX=CX+1;
REPZ(Repeatwhenflag)若ZF=0,则退出,不然CX=CX+1;
REPC(Repeatwhencarryflag)
REPNE(Repeatwhennotempty)
REPNZ(Repeatwhennotzeroflag)
REPNC(Repeatwhennotcarryflag)
2.串操作指令
MOVSB(Movestringofbyte)串传送指令
MOVSW(Movestringofword)串传送指令
CMPSB(Comparestringofbyte)串比较指令
CMPSW(Comparestringofword)串比较指令
SCASB(Scanstringofbyte)串搜索指令
SCASW(Scanstringofword)串搜索指令
STOSB(Storestringofbyte)存串指令
STOSW(Storestringofword)存串指令
LODSB(Loadstringofbyte)取串指令
LODSW(Loadstringofword)取串指令
CLD(Cleardirectionflag)该指令使DF=0,在执行串操作指令时可使地址自动增量;
STD(Setdirectionflag)该指令使DF=1,在执行串操作指令时可使地址自动减量.
DAA(Decimaladjustafteraddition)组合BCD码的加法调整指令
DAS(Decimaladjustaftersubstract)组合BCD码的减法调整指令
AAA(ASCIIadjustafteraddition)非紧缩BCD码加法调成指令
AAS(ASCIIadjustaftersubstract)非紧缩BCD码减法调成指令
AAM(ASCIIadjustaftermultiple)非紧缩BCD码乘法调成指令
AAD(ASCIIadjustafterdivid)非紧缩BCD码除法调成指令
五、控制转移指令
1.无条件转移指令
JMP(jmp)跳转指令
2.条件转移指令
(1)按照单个条件标志的设置情况转移
JZ(或JE)(Jumpifzero,orequal)结果为零(或相等)则转移
JS(Jumpifsign)结果为负则转移
JNS(Jumpifnotsign)结果为正则转移
JO(Jumpifoverflow)溢出则转移
JNO(Jumpifnotoverflow)不溢出则转移
JNP(或JPO)(Jumpifnotparity,orparityodd)奇偶位为0则转移
JP(或JPE)(Jumpifparity,orparityeven)奇偶位为1则转移
JB(或JNAE,JC)(Jumpifbelow,ornotaboveorequal,orcarry)低于,或不高于或等于,或进位位为1则转移
JNB(或JAE,JNC)(Jumpifnotbelow,oraboveorequal,ornotcarry)不低于,或高于或等于,或进位位为0则转移
(2)比较两个无符号数,并按照比较的结果转移
JB(或JNAE,JC)
JNB(或JAE,JNC)
JBE(或JNA)(Jumpifbeloworequal,ornotabove)低于或等于,或不高于则转移
JNBE(或JA)(Jumpifnotbeloworequal,orabove)不低于或等于,或高于则转移
(3)比较两个带符号数,并按照比较的结果转移
JL(或LNGE)(Jumpifless,ornotgreaterorequal)小于,或不大于或等于则转移
JNL(或JGE)(Jumpifnotless,orgreaterorequal)不小于,或大于或等于则转移
JLE(或JNG)(Jumpiflessorequal,ornotgreater)小于或等于,或不大于则转移
JNLE(或JG)(Jumpifnotlessorequal,orgreater)不小于或等于,或大于则转移
(4)测试CX的值为0则转移指令
JCXZ(JumpifCXregisteriszero)CX寄放器
3.循环指令
LOOP(loop)循环指令
4.子程序
CALL(call)挪用指令
RET(return)返回指令
5.中断
INT(interrupt)指令
IRET(interruptreturn)从中断返回指令
INTO(interruptifoverflow)若溢出则中断
六、处置机控制指令
1.标志处置指令
CLC(Clearcarry)进位位置0指令CF<-0
CMC(Complementcarry)进位位求反指令CF<-CF
STC(Setcarry)进位位置1指令CF<-1
CLD(Cleardirection)方向标志置0指令DF<-0
STD(Setdirection)方向标志置1指令DF<-1
CLI(Clearinterrupt)中断标志置0指令IF<-0
STI(Setinterrupt)中断标志置1指令IF<-0
2.其他处置机控制指令
NOP(NoOpreation)无操作
HLT(Halt)停机
WAIT(Wait)等待
ESC(Escape)换码
LOCK(Lock)封锁
第二部份:
伪指令
1.符号概念伪指令:
EQU
.2.数据概念伪指令:
DB(DefineByte):
概念字节
DW(DefineWord):
概念字
DD(DefineDouble):
概念双字
DUP(duplication):
重复;复制,复写
3.进程概念伪指令:
PROC(Process):
4.定位伪指令:
ORG(Origin):
.5.常数、变量及标号
OFFSET(Offset):
偏移量
6.表达式和运算符:
①算术运算符:
SHL(shiftlogicalleft):
逻辑左移
SHR(shiftlogicalright):
逻辑右移
②关系运算符:
EQ(Equal):
相等
NE(NotEqual):
不等于
LT(LessThan):
小于
LE(LessThanorEqual):
小于等于
GT(GreaterThan):
大于
GE(GreaterThanorEqual)
③取值运算符:
SEG(Segment)
OFFSET(Offset)
④属性运算符:
PTR(Pointer):
指针
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 指令 集合 吐血 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)