Skip to content

InmB es para una entrada instantánea de tamaño Byte, una palabra de tamaño bit podría ser 1234h o AFH

InmW es una entrada instantánea de tamaño Word(palabra).

menB -> variable de tamaño Byte memW -> variable de tamaño Word

mem siempre hará referencia a variables en memoria.

Instrucciones de Transferencia

mov viene del nemónico move to, pero lo debemos entender como un copy.

ESTRUCTURA: COPY VALUE SOURCE DESTINY

mov     regB, inmB | regB | memB
mov     memB, inmB | regB
mov     regW, inmW | regW | memW | inmB
mov     memW, inmW | regW | inmB           

EJEMPLOS PRÁCTICOS


datoB  db 12h
datow  dw 3456h
resul  db ?
resul2 dw ?

mov  al, [datoB]
mov  [resul], ah
mov  ax, 0FE05h
mov  [resul2], dx

XCHG

cxhg es el nemónico de eXCHanGe o to exchange. Nos permite intercambiar los valores entre dos variables.

ESTRUCTURA

xchg        regB, regB | memB
xchg        memB, regB
xchg        regW, regW | memW
xchg        memW, memW | regW 

Operaciones aritméticas

Suma

Suma normal

add destiny, source

Sumar con acarreo

adc desntiny, source

Esta instrucción se utilizará cuando se hagan sumas en las que el resultado sea mayor a dw si nuestras variables son mayores. Ya que tendremos que dividir el numero para hacer sumas de HSB y LSB

SBB

sbb destiny, source que se traduce en destino = destino - fuente - carry

CMP

cmp -> to compare, compare funciona restando, pero tiene una diferencia con respecto de sub

sub -> destino = destino - fuente
cmp -> destino - fuente
    banderas s, z (de 0), y c (carry)
        Si estamos trabajando numeros no signados
            resultado postiivo -> la bandera carry no se activa
                s = 1 z = 0 c = 0
            resultado negativo
                s = 0 z = 0 c = 1
            resultado cero
                s = 0 z = 1 c = 1

MUL e IMUL

Mul para valores no signados, imul para valores signados