Arquitectura ORGA1 Descripción General Formato de instrucción

Anuncio
Arquitectura ORGA1
Descripción General
Palabras de 16 bits.
Direccionamiento a palabra.
Espacio direccionable de 65536 palabras.
Memoria destinada para entrada/salida en las direcciones F F F 0(16) − F F F F(16) .
8 registros de uso general de 16 bits: R0..R7.
Program Counter (PC) de 16 bits.
Stack Pointer (SP) de 16 bits. Comienza en la dirección F F EF(16) .
Flags: Z, N, C, V (Zero, Negative, Carry, oVerflow).
Todas las instrucciones alteran los Flags excepto MOV, CALL, RET, JMP y Jxx.
De las que alteran los Flags, todas dejan C y V en 0 a excepción de ADD, SUB, CMP y
NEG.
Todas las operaciones en la ALU se realizan en notación complemento a 2.
Formato de instrucción
Tipo 1: Instrucciones de 2 operandos
Cod Op
4 bits
Operación
MOV
ADD
SUB
AND
OR
CMP
Dest
6 bits
Fuente
6 bits
Cod Op
0001
0010
0011
0100
0101
0110
Const Dest
16 bits (opcional)
Const Fuente
16 bits (opcional)
Efecto
Dest = Fuente
Dest = Dest + Fuente
Dest = Dest - Fuente
Dest = Dest AND Fuente
Dest = Dest OR Fuente
Modifica los Flags según el resultado de Dest - Fuente
Tipo 2: Instrucciones de 1 operando.
Tipo 2a: Instrucciones de 1 operando destino.
Cod Op Dest
Fuente Const Dest
4 bits
6 bits 000000 16 bits (opcional)
Operación
NEG
NOT
Cod Op
1000
1001
Efecto
Dest = 0 - Dest
Dest = NOT Dest (bit a bit)
Tipo 2b: Instrucciones de 1 operando fuente.
Cod Op
Dest
Fuente Const Fuente
4 bits
000000 6 bits 16 bits (opcional)
1
Operación
JMP
CALL
Cod Op
1010
1011
Efecto
PC = Fuente
[SP] = PC, SP = SP - 1, PC = Fuente
Formato de operandos Dest y Fuente
Modo
Inmediato
Directo
Indirecto
Registro
Indirecto Registro
Indexado
Codificación
000000
001000
011000
100rrr
110rrr
111rrr
Resultado
c16
[c16]
[[c16]]
Regr
[Regr]
[Regr + c16]
Las instrucciones que tienen en Dest operandos del tipo Inmediato son consideradas como
inválidas por el procesador.
Tipo 3
Cod Op
1111
Cond
4 bits
Desplazamiento
8 bits
Las instrucciones en este formato son de la forma Jxx(salto relativo condicional). Si al evaluar la
condición de salto en los Flags el resultado es 1, el efecto es incrementar al PC con el valor de los
8bits de desplazamiento, representado en complemento a 2 de 8 bits. En caso contrario la
instrucción no hace nada.
Operación
JE
JNE
JLE
JG
JL
JGE
JLEU
JGU
JCS
JNEG
JVS
Cond
0001
1001
0010
1010
0011
1011
0100
1100
0101
0110
0111
Descripción
Igual / Cero
No igual
Menor o igual
Mayor
Menor
Mayor o igual
Menor o igual sin signo
Mayor sin signo
Carry / Menor sin signo
Negativo
Overflow
Condición de Salto
Z
not Z
Z or ( N xor V )
not ( Z or ( N xor V ) )
N xor V
not ( N xor V )
C or Z
not ( C or Z )
C
N
V
Tipo 4
Cod Op
4 bits
Operación
RET
Bits no utilizados
12 bits
CodOp
1100
Bits no utilizados
0000 0000 0000
Efecto
PC = [SP+1], SP = SP + 1
2
Descargar