RESUMEN DEL JUEGO DE INSTRUCCIONES DEL MC68000 INSTRUCCIONES DE TRANSFERENCIA DE DATOS Instrucción Función EXG f,d LEA f,d LINK d MOVE f,d MOVEA f,d MOVEQ f,d PEA f SWAP d UNLK d MOVEM f,d MOVEM f,d MOVEP f,d Intercambia Datos entre Registros EA a registro de Dirección Reserva #n posiciones en la Pila Mover Datos Mover Dirección Mover Datos Rápido Dirección Efectiva a Pila Intercambia Palabras Alta y Baja Desenlaza Memoria de la Pila Mover Múltiple Mover Múltiple Mover a Periférico MANEJO DE PILA MOVE f,-(A7) (*) MOVE (A7)+,d (*) (*) Nota: Se decrementa o incrementa en 2 si el tamaño es Byte Llevar datos a la pila Sacar datos de la pila INSTRUCCIONES ARITMÉTICAS ABCD f,d ADD f,d ADDA f,d ADDI f,d ADDQ f,d ADDX f,d CLR d CMP f,d CMPA f,d CMPI f,d CMPM f,d DIVS f,d DIVU f,d EXT d MULS f,d MULU f,d NBCD d NEG d NEGX d SBCD f,d SUB f,d (**) SUBA f,d SUBI f,d SUBQ f,d SUBX f,d TAST d TST d (**) Nota: Uno de los operandos debe ser, forzosamente, un Dn INSTRUCCIONES LÓGICAS AND f,d (***) ANDI f,d EOR f.d EORI f.d NOT d OR d,f (***) ORI d,f (***)Nota: Con AND y OR uno de los operandos debe ser un Dn. INSTRUCCIONES DE MANIPULACIÓN DE BITS BCHG bit,d BCLR bit,d BSET bit,d BTST Scc d Suma Decimal ( f+ d + X) Suma Binaria de Datos Suma Binaria de Dirección Suma Binaria Inmediata Suma Binaria Rápida Suma Binaria Extendida( +X ) Poner a cero Comparar Datos Comparar Dirección Comparar Inmediato Comparar Memoria División con signo f:d División sin signo Extensión de signo Multiplicación con signo Multiplicación sin signo Negación Decimal ( 0 - d - X) Negación Binaria (Complemento 2) (0 - d) Negación Binaria ( 0 - d - X) Resta Decimal ( d - f - X) Resta Binaria de Datos Resta Binaria de Dirección Resta Binaria Inmediata Resta Binaria Rápida Resta Binaria Extendida ( -X ) d - 0, pone a 1 el bit 7 de d (Actualiza CCR) d-0 (Actualiza CCR) And lógico And lógico Inmediato OR exclusivo Lógico OR exclusivo Lógico Inmediato Complementación Lógica OR Lógico OR Lógico Inmediato Complementa el bit y lo lleva a Z Lleva el bit a Z y lo pone a 0 Lleva el bit a Z y lo pone a 1 Lleva el bit a Z Pone a FF un Byte condicionalmente (16 cond.) Escuela de Ingenierías Industriales (Badajoz) José Ignacio Suárez Marcelo Tamaño de Operando 32 32 8, 16, 32 16, 32 f=8, d=32 32 32 16 (con extensión signo hasta 32) 16 (con extensión signo hasta 32) .L(R/W 4reg.) , .W(R/W 2reg.) 8, 16, 32 8, 16, 32 8 8, 16, 32 16, 32 8, 16, 32 f=3; 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32 16, 32 8, 16, 32 32/16 32/16 De 8 a 16, o de 16 a 32 16x16=32 16x16=32 8 8, 16, 32 8, 16, 32 8 8, 16, 32 16, 32 f=3; 8, 16, 32 8, 16, 32 8, 16, 32 8 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32 8, 32 8, 32 8, 32 8, 32 1 de 2 Modos f Modos d D.Registro Dn o An Todos - { Dn An, -(), ()+, # } Dn o An Todos Todos Inmediato Rápido Todos - { Dn An, -(), ()+, # } A7, #n Todos - {An, Relativos a PC} An Dn Dn An (Mem. a Reg.) Todos - { Dn, An, ()+, # } Lista de Registros (Reg a Mem.) Lista de Registros Todos - { Dn, An, -(), ()+, # } Dn, dsp() dsp(), Dn Todos Indirecto con postincremento Indirecto con predecremento Todos - {An, Relativos a PC } Dn, -() Todos Todos Inmediato(#n) Inmediato(#n) Dn, -() El mismo que para fuente Todos - { Relativos a PC } An Todos - { Relativos a PC } Todos Todos Inmediato(#n) Indirecto (post) Todos - {An} Todos - {An} Todos - {An} Todos - {An} Dn, -() Todos Todos Inmediato(#n) Inmediato(#n) Dn, -() El mismo que se utilice para fuente Todos - { An, Relativos a PC } Dn An Todos - { An, -(), ()+,Relativos a PC } ()+ Dn (16 msb=resto, 16lsm=cociente) Dn (16 msb=resto, 16lsm=cociente) Dn Dn Dn Dn, -() Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } El mismo que se utilice para fuente Todos - { An, Relativos a PC } An Dn Dn El mismo que se utilice para fuente Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } Flags XNZVC .- - - - .- - - - .- - - - .- * * 0 0 .----.- * * 0 0 .- - - - .- * * 0 0 .- - - - - .* U * U * .* * * * * .----.* * * * * .* * * * * .* * * * * .- 0 1 0 0 .- * * * * .- * * * * .- * * * * .- * * * * .- * * * 0 .- * * * 0 .- * * 0 0 .- * * 0 0 .- * * 0 0 .* U * U * .* * * * * .* * * * * .* U * U * .* * * * * .----.* * * * * .* * * * * .* * * * * .- * * 0 0 .- * * 0 0 Todos - {An} Inmediato(#n) Dn Inmediato(#n) Todos - { Relativos a PC } Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } Todos - {An} Inmediato(#n) Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } .- * * 0 0 .- * * 0 0 .- * * 0 0 .- * * 0 0 .- * * 0 0 .- * * 0 0 .- * * 0 0 Dn, # Dn, # Dn, # Dn, # Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } Todos - { An, Relativos a PC } Todos - { An } .- - * - .- - * - .- - * - .- - * - - Estructura de los Microprocesadores 2º I.T.I (Electrónico) RESUMEN DEL JUEGO DE INSTRUCCIONES DEL MC68000 INSTR. DE DESPLAZAMIENTO Y ROTACIÓN ASL f;d | d ASR f;d | d LSL f,d | d LSR f,d | d ROL f,d | d ROR f,d | d ROXL f,d | d ROXR f,d | d INSTRUCCIONES DE CONTROL DE PROGRAMA Condicionales Bcc d DBcc d Incondicionales BRA d BSR d JMP d JSR d RTR RTS CONDICIONES Código ( cc) HI LS CC CS NE EQ VC VS PL MI GE LT GT LE F T INSTRUCCIONES DE CONTROL DEL SISTEMA Instrucción Privilegiadas ANDI f,SR EORI f,SR MOVE f,SR MOVE USP ORI f,SR RESET RTE STOP NOP Generadoras de Excepciones CHK f;d TRAP f TRAPV Operadores con Códigos de Condición ANDI f,CCR EORI f,CCR MOVE f,CCR MOVE SR,d ORI f,CCR X/C José Ignacio Suárez Marcelo 0 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) 8,16,32 (sólo d, 16) X/C X/C 0 0 X/C C C C X X C Función Salta condicionalmente (14 condiciones) Comprueba condición, decrementa y salta (16 cond.) Tamaño del Operando 8, 16 16 Salta siempre Salta a subrutina Salta siempre Salta a subrutina Retorno de subrutina y repone Códigos de Condición Retorno de subrutina Condición Superior (High) Inferior o Igual (Low or Same) Acarreo = 0 (Carry Clear) Acarreo = 1 (Carry Set) Distintos (Not Equal) Iguales (Equal) Desbordamiento = 0 (Overflow Clear) Desbordamiento = 1 (Overflow Set) Positivo (Plus) Negativo (Minus) Mayor o Igual (Greater or Equal) Menor (Less Than) Mayor (Greater Than) Menor o Igual (Less or Equal) Falso Siempre (False) Cierto siempre (True) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn, # (indica nº bits desplazados) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Dn (1 operando todos Indir. y Absolutos) Si condic. no cumple, sigue secuencia normal Dn Modo de Direccionamiento Relativo a PC (no pueden utilizarse T y F) Relativo a PC 8, 16 8, 16 AYUDA A LA UTILIZACIÓN Después de la Instrucción Relativo a PC Relativo a PC Absoluto Absoluto Condición que debe producir el salto CMP f,d d=f d#f d>f d >= f d<f d <= f d=0 d#0 d>0 d >= 0 d<0 d <= 0 TST d Función Modos de Direccionamiento AND inmediato a registro de status OR exclusivo inmediato a registro de status Lleva dato de 16 bits a registro de status Mueve Puntero de Pila de usuario (f,USP o USP,f) OR inmediato a registro de status Repone (Reset) los dispositivos externos Retorno de excepción Detiene la ejecución del programa No operación Inmediato #n Inmediato #n .* * * * * .* * * * * .* * * 0 * .* * * 0 * .- * * 0 * .- * * 0 * .* * * 0 * .* * * 0 * Instrucción Bcc adecuada Con signo BEQ BNE BHI BCC BCS BLS BEQ BNE BNE ...- Instrucción Bcc adecuada Sin signo BEQ BNE BGT BGE BLT BLE BEQ BNE BGT BGE, BPL BLT, BMI BLE D.Registro An Inmediato #n Inmediato #n Compara f con (Dn), si <0 ó >f, genera excepción. Genera excepción f Genera excepción 7 si flag V=1 d-->D.Registro Dn Inmediato #n .- AND inmediato con CCR OR exclusivo inmediato con CCR Lleva operando f a CCR Lleva SR a destino OR inmediato con CCR Inmediato #n Inmediato #n Inmediato #n Bibliografía Antonio García Guerra Sistemas Digitales. Ingenieria de los Microprocesadores 68000 Ed. Centro de Estudios Ramón Areces (1993) Escuela de Ingenierías Industriales (Badajoz) 2 de 2 Estructura de los Microprocesadores 2º I.T.I (Electrónico)