汇编中的DF标志和CLD/STD指令
DF标志 🎃
标志寄存器的第 10 位是 DF(Direction Flag),方向标志位,在串行处理指令中,控制每次操作后 si,di 的增减。
- DF = 0 时,每次操作后 si,di 递增。
- DF = 1 时,每次操作后 si,di 递减
CLD指令 👻
指令功能
将标志寄存器Flag的方向标志位DF清零,正向传送。
举例说明
- 以下三条指令执行后,SI自动加1,更新为0001H,LODSB(从字符串中加载一个字节到累加器(AL寄存器)中,通常用于在字符串操作中逐个读取数据)
CLD
MOV SI,0000H
LODSB ;将字串中的SI指针所指的一个字节装入AL
- 以下三条指令执行后,SI自动加2,更新为0102H
CLD
MOV SI,0100H
LODSW ;将字串中的SI指针所指的一个字(双字节)装入AX
STD指令 🔮
指令功能
将标志寄存器Flag的方向标志位DF置1,逆向传送。
举例说明
- 以下三条指令执行后,SI自动减1,更新为0100H
STD
MOV SI,0101H
LODSB ;将字串中的SI指针所指的一个字节装入AL
浙公网安备 33010602011771号