[055][匯編語言]DF 標(biāo)志符與 rep movsb 、rep movsw

DF 標(biāo)志位決定di、si 增減方向

mov es:[di],ds:[si]

df = 0  + +
inc di
inc si

df = 1  - -
dec di
dec si

movsb 與 movsw

movsb 傳送一個(gè)字節(jié)
rep movsb
等價(jià)于
s: movsb
  loop s
------------------

movsw 傳送一個(gè)字
rep movsw
等價(jià)于
s: movsw
  loop s

指令 cld 與 指令 std

8086CPU
cld df = 0 ++
std df = 1 --

編程

(1)將data段中的第一個(gè)字符串復(fù)制到它后面的空間中

  • 數(shù)據(jù)
data segment
  db 'Welcom to masm!'
  db 16 dup (0)
data ends
  • 代碼:正向傳送 ++
mov ax,data
mov ds,ax
mov si,0
mov es,ax
mov di,16
mov cx,16
cld 
rep movsb

(2)將F000H段中的最后16個(gè)字符復(fù)制到data段中

  • 數(shù)據(jù)
data segment
  db 16 dup (0)
data ends
  • 代碼:逆向傳送 - -
F000H段最后一個(gè)內(nèi)存單元地址是F0000:FFFFH
DATA段最后一個(gè)內(nèi)存單元地址是DATA:000FH

mov ax,0f000H
mov ds,ax
mov si,0ffffH
mov ax,data
mov es,ax
mov di,15
mov cx,16
std
rep movsb
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容