DF标志和串传送指令
生活随笔
收集整理的這篇文章主要介紹了
DF标志和串传送指令
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DF標(biāo)志和串傳送指令
flag的第10位是DF,方向標(biāo)志位。在串處理指令中,控制si、di的遞減。
df = 0 每次操作后si、di遞增
df = 1 每次操作后si、di遞減
串傳送指令
格式1: movsb
功能描述
1. ((es)*16+di) = ((ds)*16+si) 2. 如果 df=0 則: (si)=(si)+1(di)=(di)+1如果 df=1 則: (si)=(si)-1(di)=(di)-1C語言描述
// si,di 相當(dāng)于C語言循環(huán)中 i,j 變量的功能。 e[i] = d[j]; i++; j++;格式2:movsw
功能描述
movsw 的功能是將 ds:si 指向的內(nèi)存字單元中的字送入 es:di 中, 然后根據(jù)標(biāo)志寄存器df位的值,將 si、di遞增 2 或遞減 2。C語言描述
// si,di 相當(dāng)于C語言循環(huán)中 i,j 變量的功能。 e[i] = d[j]; i += 2; j += 2;rep指令
movsb 和 movsw 都和rep配合使用
次數(shù)由 cx 決定,作用是循環(huán)傳送字節(jié)。
2. rep movsw等同于:
次數(shù)由 cx 決定,作用是循環(huán)傳送字。
我們怎樣設(shè)置循環(huán)的方向?
由于 movsb 和 movsw 都由 df 標(biāo)志決定,匯編語言中有這樣兩條指令改變 df 的值。 cld指令:將標(biāo)志寄存器的 df 位置為0。 std指令:將標(biāo)志寄存器的 df 位置為1。總結(jié)
以上是生活随笔為你收集整理的DF标志和串传送指令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《汇编语言(第三版)》标志寄存器
- 下一篇: 《汇编语言(第三版)》pushf 和 p