(四)标志传送指令( Flag register transfer) 釆用了隐含寄存器(AH、 Flags)操作数方式。 8088有四条标志传送操作指令 LAHF( Load AH from flags) SAHF( Store AH into flags 234 PUSH F(Push flags onto stack) POP F(Pop flags off stack
(四)标志传送指令(Flag register transfer) 采用了隐含寄存器(AH、Flags)操作数方式。 8088有四条标志传送操作指令: 1. LAHF(Load AH from flags) 2. SAHF(Store AH into flags) 3. PUSH F(Push flags onto stack) 4. POP F(Pop flags off stack)
1. LAHF( Load AH from flags 格式:LAHF;(AH)←(PSW的低字节) 功能:青器八F。 76543210 AH FLAGS 1514131211109 OF DF IF TF SF ZFAF CF LAHF指令操作图示意
1.LAHF(Load AH from flags) 格式:LAHF ;(AH)←(PSW的低字节) 功能:标志寄存器低八位 →(AH)。 SF ZF AF PF CF 7 6 5 4 3 2 1 0 OF DF IF TF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 FLAGS AH LAHF指令操作图示意
2. SAHF Store AH into flags 格式:SAHF;(FR的低字节)←(AH) 功能:(AH)送标志寄存器低八位。 3. PUSH F(Push flags onto stack 格式: PUSHF;(SP)←(SP)-2 ((SP)+1,(SP))←(FR) 功能:标志进栈。 4. POP F( Pop flags off stack) 格式:POPF;(PSW)←((SP)+1,(SP)) (SP)←(SP)+2 功能:标志出栈
2. SAHF(Store AH into flags) 格式:SAHF ;(FR的低字节)←(AH) 功能:(AH)送标志寄存器低八位。 3. PUSH F(Push flags onto stack) 格式:PUSH F ;(SP)←(SP)-2 ((SP)+1,(SP))←(FR) 功能 : 标志进栈。 4. POP F(Pop flags off stack) 格式:POP F;(PSW)←((SP)+1,(SP)) (SP)←(SP)+2 功能 :标志出栈
(1)标志位的影响 LAHF、 PUSHF不影响标志位, SAHF、POPF由装入的值确定标志位的值,直接对标志位的操 作,影响标志位。 (2) PUSHF、POPF用于保护调用过程前(PSW)过程返回后 恢复。 例 返回顺序 PUSH AX POPF PUSH CX POP CX PUSHF POP AX CALL TRANS
注意: (1) 标志位的影响 LAHF、PUSHF不影响标志位, SAHF、POPF由装入的值确定标志位的值,直接对标志位的操 作,影响标志位。 (2)PUSH F、POPF用于保护调用过程前(PSW),过程返回后 恢复。 例: … PUSH AX PUSH CX PUSH F CALL TRANS 返回顺序 POPF POP CX POP AX …
算术运算指令 指令分类: 二进制运算 十进制调整 加ADD,ADC,INC AAA. DAA CE SUB, SBB, DEC, NEG, CMP AAS. DAS 乘MUL,MUL AAM 除DV,mIV AAD 符号扩展指令:CBW、CWD
三. 算术运算指令 二进制运算 十进制调整 加 ADD, ADC, INC AAA, DAA 减 SUB, SBB, DEC, NEG, CMP AAS, DAS 乘 MUL, IMUL AAM 除 DIV, IDIV AAD 符号扩展指令: CBW、CWD 指令分类: