Title | Instrucciones ensamblador - Motorola 68K |
---|---|
Course | Estructura de Computadores II |
Institution | Universitat de les Illes Balears |
Pages | 4 |
File Size | 77.6 KB |
File Type | |
Total Downloads | 20 |
Total Views | 234 |
CONJUNTO DE INSTRUCCIONES DEL 68000------------------------------------INSTRUCCIONES DE MOVIMIENTO DE DATOS------------------------------------Nemonico Funcion realizada Direccionamiento Long. operando Descripcion X N Z V C EXG Intercambia registros Rm,Rn L Rm <--> Rn - - - - - LEA Car...
CONJUNTO DE INSTRUCCIONES DEL 68000
-----------------------------------INSTRUCCIONES DE MOVIMIENTO DE DATOS -----------------------------------Nemonico ---------EXG LEA LINK MOVE MOVEA MOVEM
Funcion realizada --------------------------Intercambia registros Cargar direccion efectiva Asignar espacio Mover datos Mover direccion Mover varios registros
MOVEP MOVEQ
Mover datos de/a perifericos Mover rapidamente
PEA
Obtener una direccion efectiva de control Intercambio palabras en un registro Desasignar
SWAP UNLK
Direccionamiento -----------------Rm,Rn ,An An,# , ,An ,+ +, Dn,d(An) o d(An),Dn #,Dn
Descripcion ------------------------Rm Rn An= -(SP)=An;An=SP;SP=SP+d16 Dest=Fnte Dest=Fnte Dest=lista-reg
X N Z V C --------- - - - - - - - - - - - - * * 0 0 - - - - - - - - -
Dest=Fnte Dest=d8
- - - - - * * 0 0
Long. operando ---------------L L Sin longitud L,W,{B} L,W L,W,[+-(An)], L,W,[++(An)] L,W L(extension de signo a 32 bits) L
-(SP)=
- - - - -
Dn
W
Dn[31:16] Dn[15:0]
- * * 0 0
An
Sin longitud
SP=An;An=(SP)+
- - - - -
X N Z V C --------* * * * * - - - - * * * * * * * * * * * * * * * - 0 1 0 0 - * * * * - * * * * - * * * * - * * * * - * * * 0
----------------------------------INSTRUCCIONES DE ARITMETICA BINARIA ----------------------------------Nemonico ---------ADD ADDA ADDI ADDQ ADDX CLR CMP CMPA CMPI CMPM DIVS/DIVU
Funcion realizada --------------------------Sumar en binario Sumar direcciones Suma inmediata Suma rapida Suma extendida Poner a cero Comparar Comparar direcciones Comparacion inmediata Comparar con memoria Division con o sin signo
Direccionamiento -----------------,Dn o Dn, ,An #, #, Dm,Dn o -(Am),-(An)
,Dn ,An #, (Am)+,(An)+ ,Dn
Long. operando ---------------L,W,B L,W L,W,B L,W,{B} L,W,B L,W,B L,W,{B} L,W L,W,B L,W,B W
EXT MULS/MULU NEG NEGX SUB SUBA SUBI SUBQ SUBX TAS TST
Extension de signo Multiplicar con o sin signo Negar Negar en modo extendido Resta binaria Resta direcciones Resta inmediata Resta rapida Resta extendida Comprobar y poner a 1 Comprobar
Dn ,Dn
,Dn oDn, ,An #, #, Dm,Dn o -(Am),-(An)
L,W W L,W,B L,W,B L,W,B L,W L,W,B L,W,{B} L,W,B B L,W,B
Descripcion ------------------------Dest=Fnte+Dest Dest=Fnte+Dest Dest=dato+Dest Dest=d3+Dest Dest=Fnte+Dest+X Dest=0 Dest-Fnte;activa CCR Dest-Fnte;activa CCR Dest-dato;activa CCR Dest-Fnte;activa CCR Dest=Dest/Fnte; (inferior=cociente; palabra superior=Rem) Dn=Dn/signo-extendido Dest=Fnte*Dest Dest=0-Dest Dest=0-Dest-X Dest=Dest-Fnte Dest=Dest-Fnte Dest=Dest-dato Dest=Dest-d3 Dest=Dest-Fnte-X CCR=Test Dest;Dest[bit7]=1 CCR=Test Dest
Long. operando ---------------L,W,B L,W,B L,W,B L,W,B L,W,B L,W,B L,W,B
Descripcion ------------------------Dest=Fnte AND Dest Dest=datos AND Dest Dest=Fnte OR-EX Dest Dest=dato OR-EX Dest Dest=INV(Dest) Dest=Fnte OR Dest Dest=datos OR Dest
X N Z V C --------- * * 0 0 - * * 0 0 - * * 0 0 - * * 0 0 - * * 0 0 - * * 0 0 - * * 0 0
Descripcion ------------------------Desplaza (arit.) n veces Desplaza (arit.) 1 bit Desplaza (log.) n veces Desplaza (log.) 1 bit Rota n veces Rota 1 bit Rota con extension n veces Rota con extension 1 bit
X N Z V C --------* * * * * * * * * * * * * 0 * * * * 0 * - * * 0 * - * * 0 * * * * 0 * * * * 0 *
* * * * * * -
* * * * * * * * * *
* * * * * * * * * *
0 0 * * * * * * 0 0
0 0 * * * * * * 0 0Š
--------------------INSTRUCCIONES LOGICAS --------------------Nemonico ---------AND ANDI EOR EORI NOT OR ORI
Funcion realizada --------------------------Y logico Y inmediato O exclusivo O exclusivo inmediato Complemento logico O logico O inmediato
Direccionamiento -----------------,Dn o Dn, #, Dn, #,
,Dn o Dn, #,
-----------------------------------------INSTRUCCIONES DE ROTACION Y DESPLAZAMIENTO -----------------------------------------Nemonico ---------ASL/ASR ASL/ASR LSL/LSR LSL/LSR ROL/ROR ROL/ROR ROXL/ROXR ROXL/ROXR
Funcion realizada --------------------------Desplazamiento aritmetico Desplazamiento aritmetico Desplazamiento logico Desplazamiento logico Rotacion Rotacion Rotacion con extension Rotacion con extension
Direccionamiento -----------------Dm,Dn o #,Dn
Dm,Dn o #,Dn
Dm,Dn o #,Dn
Dm,Dn o #,Dn
Long. operando ---------------L,W,B (Dm mod 64) W L,W,B (Dm mod 64) W L,W,B (Dm mod 64) W L,W,B (Dm mod 64) W
------------------------------INSTRUCCIONES DE MANEJO DE BITS ------------------------------Nemonico ---------BCHG
Funcion realizada --------------------------Comprobar/cambiar un bit
BCLR
Comprobar/poner a 0 un bit
BSET
Comprobar/poner a 1 un bit
BTST BTST
Comprobar un bit Comprobar un bit
Direccionamiento -----------------Dm,Dn o #, o Dm, o #,Dn Dm,Dn o #, o Dm, o #,Dn Dm,Dn o #, o Dm, o #,Dn Dm,Dn o #,Dn Dm, o #,
Long. operando ---------------L (Dm mod 32)
X N Z V C --------- - * - -
L (Dm mod 32) B (Dm mod 8)
Descripcion ------------------------Z=INV(Dest[bit]); Dest[bit]=INV(Dest[bit]) Z=INV(Dest[bit]); Dest[bit]=0 Z=INV(Dest[bit]); Dest[bit]=1 Z=INV(Dest[bit]) Z=INV(Dest[bit])
Long. operando ---------------B B
Descripcion ------------------------Dest=Fnte+Dest+X Dest=0-Dest-X
X N Z V C --------* ? * ? * * ? * ? *
Descripcion ------------------------IF cc THEN PC=PC+Desp IF cc THEN PC=PC+Desp IF NOT cc THEN Dm=Dm-1 IF Dm-1 THEN PC=PC+Desp ELSE PC=PC+2 B IF cc THEN Dest=$FF ELSE Dest=$00 Desp. de 8/16 bits PC=PC+Desp Desp. de 8/16 bits -(SP)=PC;PC=PC+Desp Sin longitud PC=Dest Sin longitud -(SP)=PC;PC=Dest Sin longitud CCR=(SP)+;PC=(SP)+ Sin longitud PC=(SP)+
X N Z V C --------- - - - - - - - - - - - -
Long. operando ---------------B B W (pal. mas baja) B
Descripcion ------------------------CCR=d8 AND CCR CCR=d8 OR-EX CCR CCR=Fnte CCR=d8 OR CCR
X N Z V C --------* * * * * * * * * * * * * * * * * * * *
Descripcion ------------------------IF DnDest THEN TRAP -(SSP)=PC;-(SSP)=SR; PC=Vector #d4 IF V=1 THEN TRAP
X N Z V C --------- * ? ? ?
L (Dm mod 32) L (Dm mod 32)
- - * - - - * - - - * - - - * - -
------------------------------INSTRUCCIONES DE ARITMETICA BCD ------------------------------Nemonico ---------ABCD NBCD
Funcion realizada --------------------------Suma decimal Negacion en decimal
Direccionamiento -----------------Dm,Dn o -(Am),-(An)
------------------------------------INSTRUCCIONES DE CONTROL DEL PROGRAMA ------------------------------------Nemonico ---------Bcc Bcc.S DBcc
Funcion realizada --------------------------Bifurcacion condicional Bifurcacion corta condicional Salto condicional decimal
Direccionamiento -----------------
Dm,
Scc
Poner a 1 condicional
BRA BSR JMP JSR RTR RTS
Salto corto incondicional Salto corto a subprograma Salto largo incondicional Salto largo a subprograma Retornar y restaurar el CCR Retornar de subprograma
Sin operando Sin operando
Long. operando ---------------Desp. de 16 bits Desp. de 8 bits Desp. de 16 bits
- - - - * -
* -
* -
* -
* -
------------------------------INSTRUCCIONES DE MANEJO DEL CCR ------------------------------Nemonico ---------ANDI EORI MOVE ORI
Funcion realizada --------------------------Y logico inmediato con CCR O exclusivo inmed. con CCR Mover al CCR O logico inmediato con CCR
Direccionamiento -----------------#,CCR #,CCR ,CCR #,CCR
-----------------------------------------INSTRUCCIONES DE GENERACION DE EXCEPCIONES -----------------------------------------Nemonico ---------CHK
Funcion realizada --------------------------Comprobar limites de reg.
Direccionamiento -----------------,Dn
Long. operando ---------------W
TRAP
Generacion de Trap
#
Sin longitud
TRAPV
Generacion de Trap si V=1
Sin operando
Sin longitud
- - - - - - - - -
--------------------------INSTRUCCIONES PRIVILEGIADAS --------------------------Nemonico ---------ANDI
Funcion realizada --------------------------Y logico inmediato con SR
Direccionamiento -----------------#,SR
Long. operando ---------------W
EORI
O logico inmediato con SR
#,SR
W
MOVE
Mover al SR
,SR
W
MOVE
Mover desde/al USP
USP,An o An,USP
L
ORI
O logico inmediato con SR
#,SR
W
RESET
Reinicia dispositivo externo
Sin operandos
Sin longitud
RTE
Retorno de excepcion
Sin operandos
Sin longitud
STOP
Carga un SR/STOP
#
Sin longitud
Descripcion ------------------------IF S=0 THEN TRAP ELSE SR=Fnte AND SR IF S=0 THEN TRAP ELSE SR=Fnte OR-EX SR IF S=0 THEN TRAP ELSE SR=Fnte IF S=0 THEN TRAP ELSE DEST=Fnte IF S=0 THEN TRAP ELSE SR=Fnte OR SR IF S=0 THEN TRAP ELSE reinicia dispositivo IF S=0 THEN TRAP ELSE SR=(SP)+;PC=(SP)+ IF S=0 THEN TRAP ELSE SR=d16;PC=PC+4; pausa hasta excepcion
X N Z V C --------* * * * *
Descripcion ------------------------PC=PC+2
X N Z V C --------- - - - -
* * * * * * * * * * - - - - * * * * * - - - - * * * * * * * * * *
-------------------INSTRUCCIONES VARIAS -------------------Nemonico ---------NOP
Funcion realizada --------------------------No operacion
-------------------------------------Significado de los simbolos utilizados: -------------------------------------Para los flags: no afectado * afectado 0,1 toma dicho valor ? indeterminado
Direccionamiento -----------------Sin operandos
En general: {B} # # [m:n] SP SSP Fnte Dest
Long. operando ---------------Sin longitud
longitud no permitida con un registro de direccion hasta 32 bits de dato inmediato n bits de dato inmediato rango de bits puntero de pila puntero de pila de supervisor operando fuente operando destino
--------------------------DIRECCIONAMIENTOS ADMITIDOS --------------------------MODO ---------Dn An (An) (An)+ -(An) d(An) d(An,Xi) Abs.W Abs.L d(PC) d(PC,Xi) Inmed.
ea -----* * * * * * * * * * * *
ea rea dea mea cea aea adea amea acea
= = = = = = = = =
rea -----* *
dea -----* * * * * * * * * * *
Cualquier Direccion Direccion Direccion Direccion Direccion Direccion Direccion Direccion
mea ------
* * * * * * * * * *
cea ------
*
* * * * * *
aea -----* * * * * * * * *
direccion efectiva efectiva de un REGISTRO efectiva de DATOS efectiva de MEMORIA efectiva de CONTROL efectiva ALTERABLE efectiva ALTERABLE de DATOS efectiva ALTERABLE de MEMORIA efectiva ALTERABLE de CONTROL
adea -----* * * * * * * *
amea ------
* * * * * * *
acea ------
*
* * * *
Posibles condiciones para instrucciones de salto (cc) CC Carry clear C CS Carry set C EQ Equal Z GE Greather or equal N·V + N·V GT Greather than N·V·Z + N·V·Z HI High C·Z LE Less or equal Z + N·V + N·V LS LT MI NE PL VC VS
Low or same Less than Minus Not equal Plus Overflow clear Overflow set
C + Z N·V + N·V N Z N V V
La instrucción TRAP admite 16 vectores distintos, TRAP #0 hasta TRAP #15, que utilizan respectivamente los vectores 32 a 47...