Instrucciones ensamblador - Motorola 68K PDF

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 PDF
Total Downloads 20
Total Views 234

Summary

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...


Description

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...


Similar Free PDFs