1、8086/8088指令系统记忆表数据寄存器分为:AH&ALAX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的 I/O 指令都使用这一寄存器与外界设备传送数据.BH&BLBX(base):基址寄存器,常用于地址索引;CH&CLCX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DLDX(data):数据寄存器,常用于数据传递。他们的特点是,这4个16位的寄存器可以分为高8位:AH,BH,CH,DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单
2、独使用。另一组是指针寄存器和变址寄存器,包括:SP(Stack Pointer):堆栈指针,与 SS 配合使用,可指向目前的堆栈位置;BP(Base Pointer):基址指针寄存器,可用作 SS 的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于 DS 段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。指令指针指令指针 IP(Instruction Pointer)标志寄存器标志寄存器 FR(Flag Register)OF(overflow flag)DF(direction flag)CF
3、(carrier flag)PF(parity flag)AF(auxiliary flag)ZF(zero flag)SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器段寄存器(Segment Register)为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。第一部分:指令助记符:一、数据传送指令1.通用数据传送指令MOV(Mov
4、e)传送PUSH(Push onto the stack)进栈POP(Pop from the stack)出栈XCHG(Exchange)交换2.累加器专用传送指令IN(Input)输入OUT(Output)输出XLAT(Translate)换码3.有效地址送寄存器指令LEA(Load effective address)有效地址送寄存器LDS(Load DS with Pointer)指针送寄存器和 DSLES(Load ES with Pointer)指针送寄存器和 ES4.标志寄存器传送指令LAHF(Load AH with flags)标志送 AHSAHF(store AH into
5、 flags)AH 送标志寄存器PUSHF(push the flags)标志进栈POPF(pop the flags)标志出栈二、算术指令1.加法指令ADD(add)加法ADC(add with carry)带进位加法INC(increment)加12.减法指令SUB(subtract)减法SBB(subtract with borrow)带借位减法DEC(Decrement)减1NEG(Negate)求补CMP(Compare)比较3.乘法指令MUL(Unsigned Multiple)无符号数乘法IMUL(Signed Multiple)带符号数乘法4.除法指令DIV(Unsigned
6、divide)无符号数除法IDIV(Signed divide)带符号数除法CBW(Convert byte to word)字节转换为字CWD(Contert word to double word)字转换为双字三、逻辑指令1.逻辑运算指令AND(and)逻辑与OR(or)逻辑或NOT(not)逻辑非XOR(exclusive or)异或TEST(test)测试2.移位指令SHL(shift logical left)逻辑左移SAL(shift arithmetic left)算术左移SHR(shift logical right)逻辑右移SAR(shift arithmetic right
7、)算术右移ROL(Rotate left)循环左移ROR(Rotate right)循环右移RCL(Rotate left through carry)带进位循环左移RCR(Rotate right through carry)带进位循环右移四、串处理指令1.重复前端指令REP(Repeat)重复串操作直到(CX)=0为上REPE(Repeat when empty)若(CX)=0,则退出,否则 CX=CX+1;REPZ(Repeat when flag)若 ZF=0,则退出,否则 CX=CX+1;REPC(Repeat when carry flag)REPNE(Repeat when no
8、t empty)REPNZ(Repeat when not zero flag)REPNC(Repeat when not carry flag)2.串操作指令MOVSB(Move string of byte)串传送指令MOVSW(Move string of word)串传送指令CMPSB(Compare string of byte)串比较指令CMPSW(Compare string of word)串比较指令SCASB(Scan string of byte)串搜索指令SCASW(Scan string of word)串搜索指令STOSB(Store string of byte)存
9、串指令STOSW(Store string of word)存串指令LODSB(Load string of byte)取串指令LODSW(Load string of word)取串指令CLD(Clear direction flag)该指令使 DF=0,在执行串操作指令时可使地址自动增量;STD(Set direction flag)该指令使 DF=1,在执行串操作指令时可使地址自动减量.DAA(Decimal adjust after addition)组合 BCD 码的加法调整指令DAS(Decimal adjust after substract)组合 BCD 码的减法调整指令AAA
10、(ASCII adjust after addition)非压缩 BCD 码加法调成指令AAS(ASCII adjust after substract)非压缩 BCD 码减法调成指令AAM(ASCII adjust after multiple)非压缩 BCD 码乘法调成指令AAD(ASCII adjust after divid)非压缩 BCD 码除法调成指令五、控制转移指令1.无条件转移指令JMP(jmp)跳转指令2.条件转移指令(1)根据单个条件标志的设置情况转移JZ(或 JE)(Jump if zero,or equal)结果为零(或相等)则转移JS(Jump if sign)结果为
11、负则转移JNS(Jump if not sign)结果为正则转移JO(Jump if overflow)溢出则转移JNO(Jump if not overflow)不溢出则转移JNP(或 JPO)(Jump if not parity,or parity odd)奇偶位为0则转移JP(或 JPE)(Jump if parity,or parity even)奇偶位为1则转移JB(或 JNAE,JC)(Jump if below,or not above or equal,or carry)低于,或者不高于或等于,或进位位为1则转移JNB(或 JAE,JNC)(Jump if not below
12、,or above or equal,or not carry)不低于,或者高于或者等于,或进位位为0则转移(2)比较两个无符号数,并根据比较的结果转移JB(或 JNAE,JC)JNB(或 JAE,JNC)JBE(或 JNA)(Jump if below or equal,or not above)低于或等于,或不高于则转移JNBE(或 JA)(Jump if not below or equal,or above)不低于或等于,或者高于则转移(3)比较两个带符号数,并根据比较的结果转移JL(或 LNGE)(Jump if less,or not greater or equal)小于,或者不
13、大于或者等于则转移JNL(或 JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于则转移JLE(或 JNG)(Jump if less or equal,or not greater)小于或等于,或者不大于则转移JNLE(或 JG)(Jump if not less or equal,or greater)不小于或等于,或者大于则转移(4)测试 CX 的值为0则转移指令JCXZ(Jump if CX register is zero)CX 寄存器3.循环指令LOOP(loop)循环指令4.子程序CALL(call)调用指令RET(retu
14、rn)返回指令5.中断INT(interrupt)指令IRET(interrupt return)从中断返回指令INTO(interrupt if overflow)若溢出则中断六、处理机控制指令1.标志处理指令CLC(Clear carry)进位位置0指令 CF-0CMC(Complement carry)进位位求反指令 CF-CFSTC(Set carry)进位位置1指令 CF-1CLD(Clear direction)方向标志置0指令 DF-0STD(Set direction)方向标志置1指令 DF-1CLI(Clear interrupt)中断标志置0指令 IF-0STI(Set i
15、nterrupt)中断标志置1指令 IF-02.其他处理机控制指令NOP(No Opreation)无操作HLT(Halt)停机WAIT(Wait)等待ESC(Escape)换码LOCK(Lock)封锁第二部分:伪指令1.符号定义伪指令:EQU.2.数据定义伪指令:DB(Define Byte):定义字节DW(Define Word):定义字DD(Define Double):定义双字DUP(duplication):重复;复制,复写3.过程定义伪指令:PROC(Process):4.定位伪指令:ORG(Origin):.5.常数、变量及标号OFFSET(Offset):偏移量6.表达式和运算符:算术运算符:SHL(shift logical left):逻辑左移SHR(shift logical right):逻辑右移关系运算符:EQ(Equal):相等NE(Not Equal):不等于LT(Less Than):小于LE(Less Than or Equal):小于等于GT(Greater Than):大于GE(Greater Than or Equal)取值运算符:SEG(Segment)OFFSET(Offset)属性运算符:PTR(Pointer):指针
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100