欢迎来到天天文库
浏览记录
ID:12004931
大小:62.50 KB
页数:7页
时间:2018-07-15
《汇编语言指令集合-吐血整理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、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,
2、DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。另一组是指针寄存器和变址寄存器,包括:SP(StackPointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(BasePointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(SourceIndex):源变址寄存器可用来存放相对于DS段之源变址指针;DI(DestinationIndex):目的变址寄存器,可用来存放相对于ES段之目的变址指针。指令指针IP(InstructionPointer)标志寄存器FR(Fla
3、gRegister)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):堆栈段寄
4、存器;ES(ExtraSegment):附加段寄存器。第一部分:指令助记符:一、数据传送指令1.通用数据传送指令MOV(Move)传送PUSH(Pushontothestack)进栈POP(Popfromthestack)出栈XCHG(Exchange)交换2.累加器专用传送指令IN(Input)输入OUT(Output)输出XLAT(Translate)换码3.有效地址送寄存器指令LEA(Loadeffectiveaddress)有效地址送寄存器LDS(LoadDSwithPointer)指针送寄存器和DSLES(LoadE
5、SwithPointer)指针送寄存器和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(Nega
6、te)求补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(tes
7、t)测试2.移位指令SHL(shiftlogicalleft)逻辑左移SAL(shiftarithmeticleft)算术左移SHR(shiftlogicalright)逻辑右移SAR(shiftarithmeticright)算术右移ROL(Rotateleft)循环左移ROR(Rotateright)循环右移RCL(Rotateleftthroughcarry)带进位循环左移RCR(Rotaterightthroughcarry)带进位循环右移四、串处理指令1.重复前端指令REP(Repeat)重复串操作直到(CX)=0为
8、上REPE(Repeatwhenempty)若(CX)=0,则退出,否则CX=CX+1;REPZ(Repeatwhenflag)若ZF=0,则退出,否则CX=CX+1;REPC(Repeatwhencarryflag)REPNE(Repeatwhennotempty)REPN
此文档下载收益归作者所有