; 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)