; CMPSW komutunun 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, veri2

        lea     bx, veri3

; Veri boyutu icin sayiciyi ayarla

        mov     cx, size

; Karsilastirmayi butun sayilar icin yap 

  next: mov     ax, [si]

        cmpsw    ; Karsilastir ve si ve di'yi 2 arttır

        jge     skip

        mov     ax, [di-2] ; Onceki veri için -2

  skip: mov     [bx],ax

        add     bx, 2

        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)