Save
Códigos Assembler
Save
Share
Learn
Content
Leaderboard
Learn
Created by
Melina Abril
Visit profile
Cards (22)
Formatos numéricos válidos para constantes
Decimal:
200
Decimal:
200d
Hexadecimal:
0xA4
Octal:
0o48
Binario:
101b
Registro de propósito general
(GP)
A
B
C
D
Registro de puntero de pila
SP
Tipos de direcciones
Dirección que utiliza un registro
GP
: [A]
Dirección que utiliza un registro
GP
y desplazamiento: [D-3]
Dirección que utiliza un registro
SP
y desplazamiento: [SP+2]
Dirección que utiliza una
constante
: [100]
Dirección que utiliza una
etiqueta
: etiqueta
Constante
Cualquier número entre 0..255 (
8
bits sin signo)
Desplazamiento para direccionamiento indirecto
Entero entre
-16..
+15 (el signo es
obligatorio
)
MOV -
Copiar
un valor
1. Copia
un valor de src a dest
2. La
instrucción MOV
es la única que puede modificar directamente la
memoria
3.
SP
se puede utilizar como operando con
MOV
BD
- Variable
Define una variable. Una variable puede ser un solo
número
, un carácter o
una cadena
Adición y sustracción
1.
Suma dos números
o
resta
un número de otro
2. Estas operaciones modifican el
indicador
de
acarreo
y cero
3. SP se puede utilizar como operando con
ADD
y
SUB
Incremento y decremento
1.
Incrementa
o decrementa un
registro
en uno
2. Esta operación modificará el
indicador
de
acarreo
y cero
3. SP se puede utilizar como operando con
INC
y
DEC
Multiplicación
y división
1. Multiplica o
divide
el
registro
A por el valor dado
2. Esta operación
modificará
el indicador de
acarreo
y cero
Instrucciones lógicas
1. AND, OR,
XOR
,
NOT
2.
Estas operaciones modificarán
el indicador de acarreo y
cero
Instrucciones de cambio de turno
1.
SHL
/
SAL
y SHR/SAR
2. Estas operaciones modificarán el indicador de
acarreo
y
cero
CMP - Comparar
1.
Compara dos valores
y establece el
indicador cero
como verdadero si son iguales
2. SP se puede utilizar como
operando
con CMP
3. Utilice esta instrucción antes de un
salto condicional
JMP - Salto incondicional
Deje que el puntero de
instrucción realice
un
salto incondicional
a la dirección definida
Saltos condicionales
JC
(Jump if
Carry
)
JNC
(Jump if Not
Carry
)
JZ
(Jump if
Zero
)
JNZ
(Jump if Not
Zero
)
JA
(Jump if
Above
)
JNBE
(Jump if Not Below or
Equal
)
JAE
(Jump if Above or
Equal
)
JNB
(Jump if Not
Below
)
JB
(Jump if
Below
)
JNAE
(Jump if Not Above or
Equal
)
JBE (Jump if
Below
or
Equal
)
JNA
(Jump if Not
Above
)
JE (
Jump
if
Equal
)
JNE (
Jump
if Not
Equal
)
CALL - Llamada de función
Inserta la dirección de
instrucción
de la siguiente
instrucción
en la pila y salta a la dirección especificada
RET -
Salir
de una
subrutina
Sale de una subrutina haciendo saltar la dirección de
retorno ingresada previamente
por la
instrucción
CALL
PUSH
- Empujar para apilar
1. Introduce un
valor
en la
pila
2. La
pila
se va reduciendo y la posición actual está disponible en el registro de puntero de pila (
SP
)
3. Esta
instrucción reducirá
el
SP
POP - Pop de la
pila
1. Extrae un
valor de
la pila y lo traslada a
un registro
2.
Esta instrucción aumentará el SP
HLT -
Detiene el procesador
Detiene el funcionamiento del procesador
LOOP
Estructura de control que repite una secuencia de
instrucciones
un
número específico de veces
o hasta que se cumpla una condición determinada