; REP,REPE,REPNE komut kullanimi.
name "Buyugu kaydet"
org 100h
; Yonu (Direction Register D=0) ileri olarak ayarla
cld
; Kaynak adresini yukle ds:si,
; Hedef adresini yukle es:di
mov ax, cs
mov ds, ax
mov es, ax
lea si, veri1
lea di, veri3
; Once veri1 degerlerini veri3 e kopyala
mov cx, size
rep movsw ; Kopyalama yapılıyor, si ve di arttırılıyor
; Simdi veri2 ile veri3' u karsilastirmak icin Boyut ve adresleri ayarla
mov cx, size
lea si, veri2
lea di, veri3
; Karsilastirmayi butun sayilar icin yap
; veri2'de buyuk olanlari veri3'e kopyala
next: cmpsw
jle skip
std ;adresi azalt yonu
cmpsw ;si ve di degerlerini 2 azalt
cld ;adresi arttir yonu
movsw ;buyuk olani kopyala
skip: loop next
; Veri alanlari
x1:
veri1 dw 1230h, 5078h, 9012h, 3456h
veri2 dw 1234h, 5678h, 9002h, 3450h
size = ($ - x1) / 4
veri3 dw size dub(0)