Juego de Instrucciones del 68000

Anuncio
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)
Descargar