微机原理指令汇总

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

8086/8088指令系统记忆表——11月19日第三次更新来源:张克终西秦人的日志我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o...在这之前,先说一下寄存器:数据寄存器分为: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)指针送寄存器和DSLES(LoadESwithPointer)指针送寄存器和ES4.标志寄存器传送指令LAHF(LoadAHwithflags)标志送AHSAHF(storeAHintoflags)AH送标志寄存器PUSHF(pushtheflags)标志进栈POPF(poptheflags)标志出栈二、算术指令1.加法指令ADD(add)加法ADC(addwithcarry)带进位加法INC(increment)加12.减法指令SUB(subtract)减法SBB(subtractwithborrow)带借位减法DEC(Decrement)减1NEG(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-0CMC(Complementcarry)进位位求反指令CF-CFSTC(Setcarry)进位位置1指令CF-1CLD(Cleardirection)方向标志置0指令DF-0STD(Setdirection)方向标志置1指令DF-1CLI(Clearinterrupt)中断标志置0指令IF-0STI(Setinterrupt)中断标志置1指令IF-02.其他处理机控制指令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):指针

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功