2. Arquitectura del 68000 Motorola Tiene 8 registros de datos de 32 bits: D0-D7: Registros de datos A0-A6: Registros de direcciones SSP, USP: son los punteros de pila del modo supervisor y del modo usuario respectivamente. PC: Contador de programa, es un puntero a la posición de la memoria con la siguiente instrucción a ejecutar. SR: Registro de estado, su composición por bits es la siguiente: T S I2 I1 I0 X N Z V C Bits aritméticos (XNZVC): Bits que se activan según el resultado de la última operación aritmética. Mascara de interrupciones(I2 I1 I0):Sólo pueden entrar las interrupciónes de nivel menor que la máscara. Bit de modo supervisor(S): 1 si estamos en modo supervisor. Bit de modo traza(T): Para cuando se depuran programas y se va ejecutando paso a paso.
3. Arquitectura del 68000 Motorola Bus de datos: Cada registro de datos tiene 32 bits Podremos representar DWORD es decir dos palabras de 16 bits Bus de direcciones: Tiene 24 bits. 24/8=3 bytes 220 =1MB*25= 225-1-1= 223 23 bits de capacidad máxima.
4. Arquitectura del 68000 Motorola Número y tipo de instrucciones: En total tiene 56 instrucciones. Operaciones de movimiento de datos: MOVE, MOVEA, MOVEM, MOVEQ, EXG, LEA, PEA , SWAP, LINK, Y UNLINK. Operaciones de aritmética entera: ADD, ADDA, ADDI, ADDQ, ADDX, CLR, CMP, CMPA, CMPI, CMPM, DIVU, DIVS, EXT, MULU, MULS,NEG, NEGX, SUB, SUBA, SUBI, SUBW , SUBX y CMP. Operaciones lógicas: AND, ANDI, EOR, EORI, OR, ORI, NOT y TST. Operaciones en BCD:ABCD, NBCD y SBCD. Operaciones de desplazamiento y rotación: ASL, ASR, LSL, LSR, ROL, ROR, ROXL, ROXR y SWAP. Operaciones de maipulación de bits: BTST, BSET, BCLR, BCHG. Operaciones de control de programa: BRA, BSR, JMP, JSR, RTR, RTS y NOP. Operaciones de control del sistema: RESET, RTE, STOP, TRAP, TRAPV, CHK.
5. Arquitectura del 8086 intel Registros(nombre y numero): Registros de Propósito General Registro AX: El registro AX es el registro acumulador. Registro BX: El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado. Registro CX: El registro CX es conocido como el registro contador. Contiene un valor para controlar el número de veces que un ciclo se repite o los cambios que acurren. Registro DX: El registro DX es el registro de datos.
6. Arquitectura del 8086 intel Registros Índice Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres. El SI está asociado con el registro DS. Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. El DI está asociado con el registro ES. Registros Apuntadores Proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. El sistema maneja de manera automática este registro. Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía la pila.
7. Arquitectura del 8086 intel Registros de Banderas Es un registro de 16 Bits de los cuales nueve sirven para indicar el estado actual de la máquina y el resultado del procesamiento. Los bits de las banderas son las siguientes: OF (overflow, desbordamiento) DF (dirección) IF (interrupción) TF (trampa) SF (signo) ZF (cero) AF (acarreo auxiliar) PF (paridad) CF (acarreo)
8. Arquitectura del 8086 intel Registro segmentos Registro CS: El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS. Registro DS: La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. Registro SS: El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos. Registro ES: Algunas operaciones con cadenas de caracteres utilizan el registro extra de segmento para manejar el direccionamiento de memoria.
9. Arquitectura del 8086 intel Registro Apuntador de Instrucciones -El registro IP de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. -El numero de Bits con los que trabaja es de16 Bits. -En el 8088 se comparten los pines 9 al 16 entre el bus de direcciones y de datos, y los pines 35 al 38 entre el bus de direcciones y el de control. -Bus de direcciones (20 bits, es decir, 220 direcciones = 1 MB de direccionamiento) -El 8088 tiene un rango de entrada/salida de 64 Kbytes. -El 8088 presenta cuatro registros de segmento (CS, DS, ES y SS), que se pueden establecer a partir de los registros índice.
11. Tipos de instrucciones Instrucciones de transferencia de datos: MOV. Instrucciones aritmético-lógicas: Instrucciones aritméticas: ADD, ADC, SUB, SBB. Instrucciones lógicas: AND, OR, XOR, NEG, NOT. Instrucciones de comparación: CMP. Instrucciones de incremento/decremento: INC, DEC. Instrucciones de manejo de la Pila: PUSH, POP, PUSHF, POPF. Instrucciones de cambio de flujo de programa: Instrucciones de salto incondicional: JMP. Instrucciones de salto condicional: JZ, JNZ, JS, JNS, JC, JNC, JO, JNO. Instrucciones asociadas a subrutinas: CALL, RET. Instrucciones de gestión de las Interrupciones: INT, IRET, STI, CLI. Instrucciones de control: NOP, HLT. Instrucciones de entrada/salida: IN, OUT.
12. Cuestiones La 5 y la 6 no son diferentes ya que esta moviendo a AX valores de diferentes direcciones. La 7 no es igual que la 8 y 9 ya que escriben en direcciones diferentes. En la instrucción 10 usa el modo de direccionameinto directo y en la 14 esto [BX] es que esta usando modo de direccionamiento indirecto. ADD BX,AX Sumaría BX a AX y lo guardaría en BX. ADD [BX],AX Suma el contenido de la dirección BX a AX.