Professional Documents
Culture Documents
La siguiente tabla muestra el juego de instrucciones que maneja la CPU del simulador.
Nomenclatura utilizada:
Rd: Tres bits que codifican el registro destino de una operacin.
Rs: Tres bits que codifican el registro fuente de una operacin.
Rs1: Tres bits que codifican el registro fuente1 de una operacin.
Rs2: Tres bits que codifican el registro fuente2 de una operacin.
Ri: Tres bits que codifican el registro ndice para direccionamiento indirecto.
Rd/s: Tres bits que codifican un registro que es a la vez fuente y destino de una operacin.
Rx: Tres bits que codifican el registro que contiene la direccin de destino para saltos indirectos.
Inm_8: Valor numrico de 8 bits.
Instrucciones de movimiento
Cdigo instruccin Descripcin Mnemnico Operacin
00 000 00000000000 Intruccin nula. NOP
00 001 Rd Rs 00000 Transferencia entre registros. MOV Rd, Rs Rd Rs
00 010 Rd Ri 00000 Copiar el contenido de la posicin de MOV Rd, [Ri] Rd [Ri]
memoria cuya direccin est en Ri en Rd.
00 011 Ri Rs 00000 Copiar el contenido del registro Rs en la MOV [Ri], Rs [Ri] Rs
posicin de memoria cuya direccin est
en Ri.
00 100 Rd Inm_8 Copia en los 8 bits menos significativo de MOVL Rd, Inm_8 Rdbajo Inm_8
Rd el dato codificado en los 8 bits del
campo Inm_8.
00 101 Rd Inm_8 Copia en los 8 bits ms significativo de MOVH Rd, Inm_8 Rdalto Inm_8
Rd el dato codificado en los 8 bits del
campo Inm_8.
00 110 Rs 00000000 Apila el contenido del registro Rs. PUSH Rs Pila Rs
00 111 Rd 00000000 Desapila un valor en el registro Rd. POP Rd Rd Pila
Instrucciones Aritmtico-Lgicas
De tres operandos
Cdigo instruccin Descripcin Mnemnico Operacin
01 000 Rd Rs1 Rs2 00 Suma el contenido de los registros Rs1 y ADD Rd, Rs1, Rs2 Rd Rs1 + Rs2
Rs2 y almacena el resultado en Rd.
01 001 Rd Rs1 Rs2 00 Resta el contenido del registro Rs2 al SUB Rd, Rs1, Rs2 Rd Rs1 - Rs2
registro Rs1 y almacena el resultado en
Rd.
01 010 Rd Rs1 Rs2 00 Realiza la operacin OR con el contenido OR Rd, Rs1, Rs2 Rd Rs1 OR Rs2
de los registros Rs1 y Rs2 y almacena el
resultado en Rd.
01 011 Rd Rs1 Rs2 00 Realiza la operacin AND con el AND Rd, Rs1, Rs2 Rd Rs1 AND Rs2
contenido de los registros Rs1 y Rs2 y
almacena el resultado en Rd.
01 100 Rd Rs1 Rs2 00 Realiza la operacin XOR con el XOR Rd, Rs1, Rs2 Rd Rs1 XOR Rs2
contenido de los registros Rs1 y Rs2 y
almacena el resultado en Rd.
De un operando (100)
Cdigo instruccin Descripcin Mnemnico Operacin
100 00 Rd/s 00000000 Realiza la operacin lgica NOT con los NOT Rd/s Rd/s ~Rd/s
bits del registro Rd/s.
100 01 Rd/s 00000000 Incrementa el contenido del registro Rd/s INC Rd/s Rd/s Rd/s + 1
en una unidad.
100 10 Rd/s 00000000 Decrementa el contenido del registro DEC Rd/s Rd/s Rd/s 1
Rd/s en una unidad.
100 11 Rd/s 00000000 Cambia de signo (complemento a 2) el NEG Rd/s Rd/s ~Rd/s + 1
contenido del registro Rd/s.
Interrupciones
Saltos incondicionales
Cdigo instruccin Descripcin Mnemnico Operacin
11 00 0 000 Inm_8 Realiza un salto relativo. JMP Inm_8 PC PC + Ex_16(Inm_8)
11 00 1 Rx 00000000 Realiza un salto indirecto absoluto a la JMP Rx PC Rx
posicin de memoria contenida en el
registro Rx.
Llamadas a procedimientos
Cdigo instruccin Descripcin Mnemnico Operacin
11 01 0 000 Inm_8 Realiza un salto relativo a un CALL Inm_8 Pila PC
procedimiento. PC PC+ Ex_16(Inm_8)
11 011 Rx 00000000 Realiza un salto indirecto absoluto a un CALL Rx Pila PC
procedimiento. PC Rx
Saltos condicionales
Cdigo instruccin Descripcin Mnemnico Operacin
11 11 0 Cond Inm_8 El desplazamiento con el signo extendido BR_Cond Inm_8 Si condicin cierta: PC
se le suma a PC siempre y cuando la PC + Ex_16(Inm_8)
condicin codificada en el campo Cond
sea cierta.
Cond Tres bits que codifican la condicin de salto de la siguiente forma:
000 CF = 1
001 CF = 0
010 OF = 1
011 OF = 0
100 ZF = 1
101 ZF = 0
110 SF = 1
111 SF = 0