[055][アセンブリ言語]DFフラグとrep movsb、rep movsw
947 ワード
DFフラグビットはdi,si増減方向を決定する
movsbとmovsw
命令cldと命令std
プログラミング
(1)dataセグメントの最初の文字列をその後ろの空間にコピーするデータ コード:フォワード転送++
(2)F 000 Hセグメントの最後の16文字をdataセグメントにコピーするデータ コード:逆転送-
mov es:[di],ds:[si]
df = 0 + +
inc di
inc si
df = 1 - -
dec di
dec si
movsbとmovsw
movsb
rep movsb
s: movsb
loop s
------------------
movsw
rep movsw
s: movsw
loop s
命令cldと命令std
8086CPU
cld df = 0 ++
std df = 1 --
プログラミング
(1)dataセグメントの最初の文字列をその後ろの空間にコピーする
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)F 000 Hセグメントの最後の16文字をdataセグメントにコピーする
data segment
db 16 dup (0)
data ends
F000H F0000:FFFFH
DATA 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