. - , , . : - , - ( ). - . ( ) .
:
movs <. >, <. > movsb, movsw, mowsd | ||
cmps <. >, <. > cmpsb, cmpsw, cmpsd | ||
scas <. > scasb, scasw, scasd | ( ) | |
lods <. > lodsb, lodsw, lodsd | ||
stos <. > stosb, stosw, stosd | ||
/ | ins <. >, < > insb, insw, insd | / |
/ | outs < >, <. > outbs, outws, outds | / |
- ds:si
- es:di
1.
df = 0; si di
cld (clear direction flag) df
2.
df = 1; si di
std (set direction flag) df
, . . , - .
rep , cx<>0 (cx );
repe , cx<>0 zf=1 (cx );
repne , cx<>0 zf=0 (cx );
: .
data segment | ||||
s1 db ' $' | ; | |||
s2 db 20 dup (' ') | ; | |||
data ends | ||||
code segment | ||||
start: | ||||
assume cs:code, ds: data | ||||
mov ax, data | ||||
mov ds, ax | ; | |||
mov es, ax | ; | |||
cld | ; | |||
lea si, s1 | ; | |||
lea di, s2 | ; | |||
mov cx, 20 | ; | |||
rep | movsb | ; | ||
mov ah, 09 | ||||
lea dx, s2 | ||||
int 21h | ; - | |||
mov ax, 4c00h | ||||
int 21h | ||||
code ends | ||||
end start |
|
|
. .
, , , .
, , :
8 ;
16 ;
32 .
. , . , .
- .
, , , .
, , , .
- , , :
:
movs _,_
Movsb movsw movsd
: