Vannak olyan utasítások, amik megfelelnek több utasításnak. Ez így egy kicsit nyakatekert, lássunk egy-pár példát :

     stosb : mov [es:di],al              inc di      stosw : mov [es:di],ax              add di,2      movsb : mov [es:di],[ds:si]              inc di              inc si      movsw : mov [es:di],[ds:si]              add di,2              add si,2      lodsb : mov al,[ds:si]              inc si      lodsw : mov ax,[ds:si]              add si,2      scasb : cmp al,[es:di]              inc di      scasw : cmp ax,[es:di]              add di,2      cmpsb : cmp [ds:si],[es:di]              inc si              inc di      cmpsw : cmp [ds:si],[es:di]              add si,2              add di,2
Ezeket hívjuk különben stringműveleteknek, és a flageket NEM bántják. Tudom, hogy
  'cmp [ds:si],[es:di]' és 'mov [ds:si],[es:di]'
nem létezik,ez csak azért van, hogy értsétek a logikát. A stringműveleteknek különben van 32bites változata is , ekkor a b/w helyére d-t kell írni. [movsd,stosd,..] A stringműveleteknél szegmens-módosító prefixeket is lehet alkalmazni, ezek:
         2eh=cs:         [segcs]          3eh=ds:         [segds]          26h=es:         [seges]          64h=fs:         [segfs]          65h=gs:         [seggs]
Ezek mindig a ds:-t rontják el, az es:-t sohasem Ha pl. fs:[si]-ről szeretnénk egy byteot átmásolni es:[di]-re, akkor:
    db 64h     movsb
esetleg
    fs movsb
Tehát ezek a prefixek felülbírálják stringműveletek esetén ds:-t.
Egy kis kiegészítés:

Ha DF=1, akkor minden "inc"-ből "dec" lesz, minden "add"-ból "sub" lesz ! Ezt az STD utasítással tudjuk bekapcsolni, ekkor DF=1, CLD-vel pedig kit tudjuk nullázni. Alapesetben DF=0.

Van egy hasznos kis utasítás, ez a REP és ennek a kiterjesztett részei. A rep utasítás után kell írni azt az utasítást, amit "CX"-szer szeretnénk lefuttatni !

    cld     mov     cx,100     rep     stosb
Ez 100-szor megy végbe, és az es:[di]-re kiirja al-t, majd minden lépésben növeli a di értékét, azaz mindig eggyel arrébb írja ki al tartalmát !
Akkor lássuk a REP kiterjesztett részeit :
   REPE  : addíg megy, amíg egyenlő    REPNE : addíg megy, amíg nem egyenlő    REPZ  : lásd REPE    REPNZ : lásd REPNE
példa:
   CLD    mov     al,'A'    mov     di,string    mov     cx,hossz    repne   scasb    dec     di
Ez a kis programrészlet megkeresi a "string"-ben az első 'A' betűt .

6. példa letöltése