匯編中的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號