Set de instrucciones
Descargar en formato PDF (tamaño A5)
Aquí se listan todas las instrucciones que soporta el simulador. Cada instrucción tiene una breve descripción, una tabla con los flags que modifica. Si hay un "0" o un "1", significa que el flag se modifica a 0 o 1 respectivamente. Si hay una "X", significa que lo modifica según corresponda. Si no hay nada, significa que el flag no se modifica.
Instrucciones de transferencia de datos
| Instrucción | Comentario | Z | C | S | O | I |
|---|---|---|---|---|---|---|
MOV dest, fuente | Copia fuente en dest | - | - | - | - | - |
PUSH fuente | Carga fuente en el tope de la pila | - | - | - | - | - |
POP dest | Desapila el tope de la pila y lo carga en dest | - | - | - | - | - |
IN dest, fuente | Carga el valor en el puerto fuente en dest | - | - | - | - | - |
OUT dest, fuente | Carga en el puerto dest el valor en fuente | - | - | - | - | - |
Instrucciones aritméticas
| Instrucción | Comentario | Z | C | S | O | I |
|---|---|---|---|---|---|---|
ADD dest, fuente | Suma fuente a dest | X | X | X | X | - |
SUB dest, fuente | Resta fuente a dest | X | X | X | X | - |
CMP dest, fuente | Compara fuente con dest | X | X | X | X | - |
NEG dest | Negativo de dest | X | X | X | X | - |
INC dest | Incrementa dest | X | X | X | X | - |
DEC dest | Decrementa dest | X | X | X | X | - |
Instrucciones lógicas
| Instrucción | Comentario | Z | C | S | O | I |
|---|---|---|---|---|---|---|
AND dest, fuente | Operación dest AND fuente bit a bit | X | 0 | X | 0 | - |
OR dest, fuente | Operación dest OR fuente bit a bit | X | 0 | X | 0 | - |
XOR dest, fuente | Operación dest XOR fuente bit a bit | X | 0 | X | 0 | - |
NOT dest | Operación NOT dest bit a bit | X | 0 | X | 0 | - |
Instrucciones de transferencia de control
| Instrucción | Acción | Z | C | S | O | I |
|---|---|---|---|---|---|---|
JMP etiqueta | Salta incondicionalmente a etiqueta | - | - | - | - | - |
JZ etiqueta | Salta a etiqueta si Z=1 | - | - | - | - | - |
JC etiqueta | Salta a etiqueta si C=1 | - | - | - | - | - |
JNC etiqueta | Salta a etiqueta si C=0 | - | - | - | - | - |
JNZ etiqueta | Salta a etiqueta si Z=0 | - | - | - | - | - |
JS etiqueta | Salta a etiqueta si S=1 | - | - | - | - | - |
JNS etiqueta | Salta a etiqueta si S=0 | - | - | - | - | - |
JO etiqueta | Salta a etiqueta si O=1 | - | - | - | - | - |
JNO etiqueta | Salta a etiqueta si O=0 | - | - | - | - | - |
CALL etiqueta | Llama a subrutina cuyo inicio es etiqueta | - | - | - | - | - |
INT N | Ejecuta la interrupción por software N | - | - | - | - | 0 |
Instrucciones de control
| Instrucción | Comentario | Z | C | S | O | I |
|---|---|---|---|---|---|---|
HLT | Detiene la ejecución | - | - | - | - | - |
RET | Retorna de la subrutina | - | - | - | - | - |
IRET | Retorna de la rutina de interrupción | X | X | X | X | X |
CLI | Inhabilita interrupciones enmascarables | - | - | - | - | 0 |
STI | Habilita interrupciones enmascarables | - | - | - | - | 1 |