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