<<< LOOPZ/LOOPE Loop While CX/ECX > 0 and ZF = 1     Index     NEG Negate (Two's Complement; i.e., Multiply by −1) >>>


MOV Move (Copy) Right Operand into Left Operand

Flags affected:

        O D I T S Z A P C  OF: Overflow flag  TF: Trap flag AF: Aux carry
        F F F F F F F F F  DF: Direction flag SF: Sign flag PF: Parity flag
            <none>         IF: Interrupt flag ZF: Zero flag CF: Carry flag

Legal forms:

        MOV r8,r8
        MOV m8,r8
        MOV r8,m8
        MOV r8,i8
        MOV m8,i8
        MOV r16,r16
        MOV m16,r16
        MOV r16,m16
        MOV m16,i16
        MOV r16,i16
        MOV r32,r32   386+
        MOV m32,r32   386+
        MOV r32,m32   386+
        MOV r32,i32   386+
        MOV m32,i32   386+
        MOV sr,r16
        MOV sr,m16
        MOV r16,sr
        MOV m16,sr

Examples:

        MOV AL,BH
        MOV EBX,EDI
        MOV BP,ES
        MOV ES,AX
        MOV AX,0B800H
        MOV ES:[BX],0FFFFH
        MOV CX,[SI+Inset]

Notes:

This is perhaps the most used of all instructions. The flags are not affected.

        r8 = AL AH BL BH CL CH DL DH        r16 = AX BX CX DX BP SP SI DI
        sr = CS DS SS ES FS GS              r32 = EAX EBX ECX EDX EBP ESP ESI EDI
        m8 = 8-bit memory data              m16 = 16-bit memory data
        m32 = 32-bit memory data            i8 = 8-bit immediate data
        i16 = 16-bit immediate data         i32 = 32-bit immediate data
        d8 = 8-bit signed displacement      d16 = 16-bit signed displacement
        d32 = 32-bit unsigned displacement


<<< LOOPZ/LOOPE Loop While CX/ECX > 0 and ZF = 1     Index     NEG Negate (Two's Complement; i.e., Multiply by −1) >>>