80X86汇编语言程序设计 第二章 8086 8088指令系统(一)数据传送指令

2026/1/15 11:21:03

用堆栈指令 PUSH AX PUSH SI POP AX POP SI 5.标志操作指令 (1)标志传送指令

①指令LAHF(Load AH with Flags) 格式:LAHF

该条指令把标志寄存器的低8位(包括SF、ZF、AF、PF和CF)传送到寄存器AH的指定位。

②指令SAHF(Store AH into Flags) 格式:SAHF

该条指令与LAHF刚好相反,把寄存器AH的指定位送至标志寄存器低8位的SF、ZF、AF、PE和CF标志位。

FLAG:0位是CF;2位是PF;4位是AF;6位是ZF;7位是SF;8位是TF;9位是IF;10位是DF;11位是OF。 例如:MOV AH,0C1H

SAHF 指令执行前:AH=1100 0001

指令执行后:CF=1,PF=0,AF=0ZF=1,SF=1. ③指令PUSHF 格式:PUSHF

该条指令把标志寄存器的内容压入堆栈,即先把堆栈指针寄存器SP的值减2,然后把标志寄存器的内容送入由SP所指的栈顶。 ④指令POPF 格式:POPF

该条指令把当前堆栈顶的一个字传送到标志寄存器,同时相应地修改堆栈指针,即把堆栈指针寄存器SP的值加2.

这条指令和PUSHF指令一起可以保存和恢复标志寄存器的内容,即保存和恢复各标志的值。另

外,这两条指令也可以用来改变追踪标志TF。 (2)标志位操作指令

①清进位标志指令CLC(Clear Carry flag) 格式:CLC

该指令使进位标志为0。也就是说CF=0。 ②置进位标志指令STC(Set Carry flag) 格式:STC

该指令使进位标志为1。也就是说CF=1。

③进位标志取反指令CMC(CoMplement Carry flag) 格式:CMC

该指令使进位标志取反。如CF为1,则使CF为0;如CF为0,则CF为1。 ④清方向标志CLD(Clear Direction flag) 格式:CLD

该条指令使方向标志DF为0。从而在执行串操作指令时,使地址按递增方式变化。 ⑤置方向标志STD(SeT Direction flag) 格式:STD

该条指令使方向标志DF为1。从而在执行串操作指令时,使地址按递减方式变化。 ⑥清中断允许标志CLI(Clear Interrupt enable flag) 格式:CLI

该条指令使中断允许标志IF为0。于是CPU就不响应来自外部装置的可屏蔽中断。但对不可屏蔽中断和内容中断都没有影响。

⑦置中断允许标志STI(SeT Interrupt enable flag) 格式:STI

该条指令使中断允许标志IF为1,则CPU可以响应可屏蔽中断。


80X86汇编语言程序设计 第二章 8086 8088指令系统(一)数据传送指令.doc 将本文的Word文档下载到电脑
搜索更多关于: 80X86汇编语言程序设计 第二章 8086 8088指令系 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219