24
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOG ESTRUCTURA Y TECNOLOGÍ A DE A DE COMPUTADORES COMPUTADORES Repertorio de instrucciones y modos de direccionamiento en el MC68000 Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Repertorio de instrucciones y modos de direccionamiento en el MC68000 2 1. Introducción. 2. Modos de direccionamiento en el MC68000. 3. Direccionamiento directo a registro de datos. 4. Direccionamiento directo a registro de direcciones. 5. Direccionamiento indirecto a registro de direcciones. 6. Direccionamiento indirecto a registro de direcciones con posincremento. 7. Direccionamiento indirecto a registro de direcciones con predecremento. 8. Direccionamiento indirecto a registro de direcciones con desplazamiento. 9. Direccionamiento indirecto a registro de direcciones con desplazamiento e índice. 10. Direccionamiento absoluto corto. 11. Direccionamiento absoluto largo. 12. Direccionamiento relativo a PC con desplazamiento. 13. Direccionamiento relativo a PC con desplazamiento e índice. 14. Direccionamiento inmediato. 15. Direccionamiento implícito. 16. Clasificación de los modos de direccionamiento. Programa

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Universidad

Rey Juan Carlos

ESTRUCTURA Y TECNOLOGESTRUCTURA Y TECNOLOGÍÍA DE A DE COMPUTADORESCOMPUTADORES

Repertorio de instrucciones y modos de

direccionamiento en el MC68000

Luis Rincón CórcolesLicesio J. Rodríguez-Aragón

Repertorio de instrucciones y modos de direccionamiento en el MC68000

2

1. Introducción.

2. Modos de direccionamiento en el MC68000.

3. Direccionamiento directo a registro de datos.

4. Direccionamiento directo a registro de direcciones.

5. Direccionamiento indirecto a registro de direcciones.

6. Direccionamiento indirecto a registro de direcciones con posincremento.

7. Direccionamiento indirecto a registro de direcciones con predecremento.

8. Direccionamiento indirecto a registro de direcciones con desplazamiento.

9. Direccionamiento indirecto a registro de direcciones con desplazamiento e índice.

10. Direccionamiento absoluto corto.

11. Direccionamiento absoluto largo.

12. Direccionamiento relativo a PC con desplazamiento.

13. Direccionamiento relativo a PC con desplazamiento e índice.

14. Direccionamiento inmediato.

15. Direccionamiento implícito.

16. Clasificación de los modos de direccionamiento.

Programa

Page 2: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

3

17. Tipos de instrucciones en el MC68000

18. Instrucciones de transferencia de datos.

19. Instrucciones aritméticas para enteros.

20. Instrucciones lógicas.

21. Instrucciones de rotación y desplazamiento.

22. Instrucciones de manipulación de bits.

23. Instrucciones para datos en BCD.

24. Instrucciones de control de programa.

25. Instrucciones de control de sistema.

26. Las instrucciones y el CCR.

27. Formatos de instrucción.

28. Tiempos de ejecución de las instrucciones.

Programa

Repertorio de instrucciones y modos de direccionamiento en el MC68000

4

M68000 8/16/32 Bit Microprocessors User’s Manual. 9th edition. Motorola, 1993.

Motorola M68000 Family Programmer’s Reference Manual. Motorola, 1992.

A. CLEMENTS. Microprocessor Systems Design. 3rd edition, ITP - PWS Publishing Company, 1997.

J. SEPTIÉN, H. MECHA, R. MORENO, K. OLCOZ. La familia del MC68000.Síntesis, 1995.

C. CERRADA, V. FELIU. Estructura y Tecnología de Computadores I. UNED, 1993

Bibliografía

Page 3: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

5

1. IntroducciónEl MC68000 es un microprocesador CISC.

El repertorio de instrucciones del MC68000 se diseñó para ser implementado mediante una unidad de control microprogramada.

El MC68000 presenta una amplia variedad de modos de direccionamiento y de códigos de operación.

Cuando se diseñó el MC68000, la mayoría de los programadores trabajaban con lenguajes de alto nivel, pero se programaban manualmente en ensamblador muchas tareas de bajo nivel.

Las instrucciones de máquina del MC68000 tienen longitudes variadas, que van desde los 2 hasta los 10 octetos, dependiendo del código de operación y de los modos de direccionamiento de los operandos utilizados.

En este tema vamos a revisar:• El repertorio de instrucciones del MC68000.• Los modos de direccionamiento del MC68000.• Los formatos de instrucción del MC68000.• Las duraciones de las instrucciones del MC68000.

Repertorio de instrucciones y modos de direccionamiento en el MC68000

6

2. Modos de direccionamiento en el MC68000

Direccionamiento directo a registro• A registro de datos.• A registro de direcciones.

Direccionamiento indirecto• A registro de direcciones.• A registro de direcciones con predecremento.• A registro de direcciones con posincremento.• A registro de direcciones con desplazamiento.• A registro de direcciones con desplazamiento e índice.

Direccionamiento directo absoluto:• Absoluto corto.• Absoluto largo.

Direccionamiento relativo a PC.• Con desplazamiento.• Con desplazamiento e índice.

Direccionamiento inmediato.

Page 4: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

7

3. Direccionamiento directo a registro de datosSubcampos:

• Modo: 000

• Registro: número del registro de datos (3 bits)

Tamaños: .B, .W, .L

Permitido para operando fuente o destino.

000 nOW

Modo Reg

Dn

Notación: Dn

Ejemplo: NEG.W D4

Repertorio de instrucciones y modos de direccionamiento en el MC68000

8

4. Direccionamiento directo a registro dedirecciones

Subcampos:

• Modo: 001

• Registro: número del registro de direcciones (3 bits)

Tamaños: .W, .L

Permitido para operando fuente o destino.

Restricción: si se usa como operando destino en modo .W, se hace extensión de signo a 32 bits.

001 nOW

Modo Reg

An

Notación: An

Ejemplo: MOVEA.W D4,A5

Page 5: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

9

5. Direccionamiento indirecto a registro dedirecciones

Subcampos:

• Modo: 010

• Registro: número del registro de direcciones (3 bits)

Tamaños: .B, .W, .L

Permitido para operando fuente o destino.

010 nOW

Modo Reg

An

Memoria

Notación: (An)

Ejemplo: MOVE.W D4,(A5)

Repertorio de instrucciones y modos de direccionamiento en el MC68000

10

6. Direccionamiento indirecto a registro dedirecciones con posincremento

Subcampos:

• Modo: 011

• Registro: número del registro de direcciones (3 bits)

Tamaños: .B, .W, .L

Permitido para operando fuente o destino.

El contenido del registro de direcciones se incrementa en 1, 2 ó 4 según el tamaño del dato accedido después del acceso.

011 nOW

Modo Reg

An

Memoria

+1 si .B+2 si .W+4 si .L

Notación: (An)+

Ejemplo: MOVE.W D4,(A5)+

Page 6: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

11

7. Direccionamiento indirecto a registro dedirecciones con predecremento

Subcampos:

• Modo: 100

• Registro: número del registro de direcciones (3 bits)

Tamaños: .B, .W, .L

Permitido para operando fuente o destino.

El contenido del registro de direcciones se decrementaen 1, 2 ó 4 según el tamaño del dato accedido antes del acceso.

100 nOW

Modo Reg

An

Memoria

-1 si .B-2 si .W-4 si .L

Notación: -(An)

Ejemplo: MOVE.W D4,-(A5)

Repertorio de instrucciones y modos de direccionamiento en el MC68000

12

8. Direccionamiento indirecto a registro dedirecciones con desplazamiento

Subcampos:• Modo: 101• Registro: número del registro de direcciones (3 bits)• CD: desplazamiento de 16 bits (que se extiende en signo a 32 bits)

Tamaños: .B, .W, .LPermitido para operando fuente o destino.

101 nOW

Modo Reg

An

MemoriaEW CD (desplazamiento 16 bits)

+Extensión de signo (de 16 a 32 bits)

Notación: desp(An)

Ejemplo: MOVE.W D4,8(A5)

Page 7: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

13

9. Direccionamiento indirecto a registro dedirecciones con desplazamiento e índice

Subcampos:• Modo: 110• Registro: número del registro de direcciones (3 bits)• T=D/A ⇒ si T=D(0), Xm=Dm; si T=A(1), Xm=Am• Registro2 (m): número del registro índice Xm (3 bits)• S=W/L ⇒ si S=W(0), Xm.W; si S=L(1), Xm.L• CD: desplazamiento de 8 bits (que se extiende en signo a 32 bits)

Tamaños: .B, .W, .LPermitido para operando fuente o destino.

110 nOW

Modo Reg

An

MemoriaEW CD (8 bits)

+Extensión de signo(de 8 a 32 bits)

T m S 000

XmSi S=W, extensión designo de 16 a 32 bits

Notación: desp(An,Xm.S) Ejemplo: MOVE.W D4,8(A5,D3.L)

Repertorio de instrucciones y modos de direccionamiento en el MC68000

14

10. Direccionamiento absoluto cortoSubcampos:

• Modo: 111• Registro: 000• CD: 16 bits (que se extienden en signo para formar una dirección de

32 bits)Tamaños: .B, .W, .LPermitido para operando fuente o destino.

111 000OW

Modo Reg

EW CD (desplazamiento 16 bits)

Extensión de signo (de 16 a 32 bits)

Memoria

Notación: direccion

Ejemplo: MOVE.W D4,$1234

Page 8: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

15

11. Direccionamiento absoluto largoSubcampos:

• Modo: 111• Registro: 001• CD: 32 bits

Tamaños: .B, .W, .LPermitido para operando fuente o destino.

111 001OW

Modo Reg

EW1 00000000

Memoria

b15 ... b0EW2

b23 ... b16

Concatenaciónde las dos

palabras deextensión

Notación: direccion

Ejemplo: MOVE.W D4,500000

Repertorio de instrucciones y modos de direccionamiento en el MC68000

16

12. Direccionamiento relativo a PC condesplazamiento

Subcampos:• Modo: 111• Registro: 010• CD: desplazamiento de 16 bits (que se extiende en signo a 32 bits)

Tamaños: .B, .W, .LPermitido únicamente para operando fuente.

111 010OW

Modo Reg PC

MemoriaEW CD (desplazamiento 16 bits)

+Extensión de signo (de 16 a 32 bits)

Notación: desp(PC)

Ejemplo: MOVE.W 8(PC),D4

Page 9: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

17

13. Direccionamiento relativo a PC condesplazamiento e índice

Subcampos:• Modo: 111• Registro: 011• T=D/A ⇒ si T=D(0), Xm=Dm; si T=A(1), Xm=Am• Registro2 (m): número del registro índice Xm (3 bits)• S=W/L ⇒ si S=W(0), Xm.W; si S=L(1), Xm.L• CD: desplazamiento de 8 bits (que se extiende en signo a 32 bits)

Tamaños: .B, .W, .LPermitido únicamente para operando fuente.

111 011OW

Modo Reg

MemoriaEW CD (8 bits)

+Extensión de signo(de 8 a 32 bits)

T m S 000

XmSi S=W, extensión designo de 16 a 32 bits

PC

Notación: desp(PC,Xm.S) Ejemplo: MOVE.W 8(PC,D3.L),D4

Repertorio de instrucciones y modos de direccionamiento en el MC68000

18

14. Direccionamiento inmediatoSubcampos:

• Modo: 111• Registro: 100• CD: 16 ó 32 bits en palabras de extensión.

Tamaños: .B, .W, .LPermitido únicamente para operando fuente.

Inmediato de 8 bits

111 100OW

Modo Reg

EW 00000000 b7 ... b0

111 100OW

Modo Reg

EW b15 ... b0

Inmediato de 16 bits

111 100OW

Modo Reg

EW1

b15 ... b0EW2

b31 ... b16

Inmediato de 32 bitsNotación: #dato

Ejemplo: MOVE.B #8,D4

Page 10: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

19

15. Direccionamiento implícitoUn operando tiene direccionamiento implícito cuando está determinado por el

código de operación.

Los operandos con direccionamiento implícito no llevan campo de Modo, y a veces ni tan siquiera llevan campo de Registro.

Algunos ejemplos:• Las instrucciones ADD, SUB, AND, OR y otras llevan al menos un

operando en un registro de datos (no llevan campo Modo en el mismo).• Las instrucciones ADDQ y SUBQ llevan un operando inmediato que

ocupa 3 bits y que puede valer entre 1 y 8 (sin campo Modo).• La instrucción MOVEQ lleva un operando inmediato de 8 bits que puede

valer entre –128 y +127 (sin campo Modo).• Las instrucciones BSR y JSR tienen como operandos implícitos –(SP) y

PC (sin campos Modo ni Registro).• La instrucción RTS tiene como operandos implícitos (SP)+ y PC (sin

campos Modo ni Registro).

Repertorio de instrucciones y modos de direccionamiento en el MC68000

20

16. Clasificación de los direccionamientos

*****acea

*******amea

********adea

*********aea

********cea

**********mea

***********dea

**rea

************ea

Inmediato

d(PC

,Xm

)

d(PC

)

Abs.L

Abs.W

d(An,X

m)

d(An)

-(An)

(An)+

(An)

An

Dn

ea = Cualquier dirección efectiva

rea = Dirección efectiva de un REGISTRO

dea = Dirección efectiva de DATOS

mea = Dirección efectiva de MEMORIA

cea = Dirección efectiva de CONTROL

aea = Dirección efectiva ALTERABLE

adea = Dirección efectiva ALTERABLE de DATOS

amea = Dirección efectiva ALTERABLE de MEMORIA

acea = Dirección efectiva ALTERABLE de CONTROL

Page 11: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

21

17. Tipos de instrucciones en el MC68000

Instrucciones de transferencia de datos.

Instrucciones aritméticas para enteros.

Instrucciones lógicas.

Instrucciones de rotación y desplazamiento.

Instrucciones de manipulación de bits.

Instrucciones para datos en BCD.

Instrucciones de control de programa.

Instrucciones de control de sistema.

Repertorio de instrucciones y modos de direccionamiento en el MC68000

22

18. Instrucciones de transferencia de datos

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------EXG Rm,Rn L Rm <--> Rn - - - - -LEA <cea>,An L An=<ea> - - - - -LINK An,#<d16> Sin longitud -(SP)=An;An=SP;SP=SP+d16 - - - - -MOVE <ea>,<adea> L,W,{B} Dest=Fnte - * * 0 0MOVEA <ea>,An L,W Dest=Fnte - - - - -MOVEM <lista-reg>,<acea>+ L,W Dest=lista-reg - - - - -

<lista-reg>,-(An)<lista-reg>,(An)+<cea>+,<lista-reg> L,W lista-reg=Fnte(An)+,<lista-reg>

MOVEP Dn,d(An) o d(An),Dn L,W Dest=Fnte - - - - -MOVEQ #<d8>,Dn L(extensión de Dest=d8 - * * 0 0

signo a 32 bits)PEA <cea> L -(SP)=<ea> - - - - -SWAP Dn W Dn[31:16] <--> Dn[15:0] - * * 0 0UNLK An Sin longitud SP=An;An=(SP)+ - - - - -

Page 12: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

23

19. Instrucciones aritméticas para enteros

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------ADD <ea>,Dn o Dn,<amea> L,W,B Dest=Fnte+Dest * * * * *ADDA <ea>,An L,W Dest=Fnte+Dest - - - - -ADDI #<datos>,<adea> L,W,B Dest=dato+Dest * * * * *ADDQ #<d3>,<aea> L,W,{B} Dest=d3+Dest * * * * *ADDX Dm,Dn o -(Am),-(An) L,W,B Dest=Fnte+Dest+X * * * * *CLR <adea> L,W,B Dest=0 - 0 1 0 0CMP <ea>,Dn L,W,{B} Dest-Fnte;activa CCR - * * * *CMPA <ea>,An L,W Dest-Fnte;activa CCR - * * * *CMPI #<dato>,<adea> L,W,B Dest-dato;activa CCR - * * * *CMPM (Am)+,(An)+ L,W,B Dest-Fnte;activa CCR - * * * *DIVS/DIVU <dea>,Dn W Dest=Dest/Fnte; - * * * 0

(inferior=cociente; palabra superior=Rem)

EXT Dn L,W Dn=Dn/signo-extendido - * * 0 0MULS/MULU <dea>,Dn W Dest=Fnte*Dest - * * 0 0NEG <adea> L,W,B Dest=0-Dest * * * * *NEGX <adea> L,W,B Dest=0-Dest-X * * * * *SUB <ea>,Dn o Dn,<amea> L,W,B Dest=Dest-Fnte * * * * *SUBA <ea>,An L,W Dest=Dest-Fnte - - - - -SUBI #<datos>,<adea> L,W,B Dest=Dest-dato * * * * *SUBQ #<d3>,<aea> L,W,{B} Dest=Dest-d3 * * * * *SUBX Dm,Dn o -(Am),-(An) L,W,B Dest=Dest-Fnte-X * * * * *TAS <adea> B CCR=Test Dest;Dest[bit7]=1 - * * 0 0TST <adea> L,W,B CCR=Test Dest - * * 0 0

Repertorio de instrucciones y modos de direccionamiento en el MC68000

24

20. Instrucciones lógicas

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------AND <dea>,Dn o Dn,<amea> L,W,B Dest=Fnte AND Dest - * * 0 0ANDI #<datos>,<adea> L,W,B Dest=datos AND Dest - * * 0 0EOR Dn,<adea> L,W,B Dest=Fnte OR-EX Dest - * * 0 0EORI #<datos>,<adea> L,W,B Dest=dato OR-EX Dest - * * 0 0NOT <adea> L,W,B Dest=INV(Dest) - * * 0 0OR <dea>,Dn o Dn,<amea> L,W,B Dest=Fnte OR Dest - * * 0 0ORI #<datos>,<adea> L,W,B Dest=datos OR Dest - * * 0 0

Page 13: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

25

21. Instrucciones de rotación y desplazamiento

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------ASL/ASR Dm,Dn o #<d3>,Dn L,W,B (Dm mod 64) Desplaza (arit.) n veces * * * * *ASL/ASR <amea> W Desplaza (arit.) 1 bit * * * * *LSL/LSR Dm,Dn o #<d3>,Dn L,W,B (Dm mod 64) Desplaza (log.) n veces * * * 0 *LSL/LSR <amea> W Desplaza (log.) 1 bit * * * 0 *ROL/ROR Dm,Dn o #<d3>,Dn L,W,B (Dm mod 64) Rota n veces - * * 0 *ROL/ROR <amea> W Rota 1 bit - * * 0 *ROXL/ROXR Dm,Dn o #<d3>,Dn L,W,B (Dm mod 64) Rota con extensión n veces * * * 0 *ROXL/ROXR <amea> W Rota con extensión 1 bit * * * 0 *

Repertorio de instrucciones y modos de direccionamiento en el MC68000

26

22. Instrucciones de manipulación de bits

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------BCHG Dm,Dn o #<d3>,<amea> L (Dm mod 32) Z=INV(Dest[bit]); - - * - -

o Dm,<amea> o #<d5>,Dn Dest[bit]=INV(Dest[bit]) BCLR Dm,Dn o #<d3>,<amea> L (Dm mod 32) Z=INV(Dest[bit]); - - * - -

o Dm,<amea> o #<d5>,Dn Dest[bit]=0 BSET Dm,Dn o #<d3>,<amea> L (Dm mod 32) Z=INV(Dest[bit]); - - * - -

o Dm,<amea> o #<d5>,Dn Dest[bit]=1 BTST Dm,Dn o #<d5>,Dn L (Dm mod 32) Z=INV(Dest[bit]) - - * - -BTST Dm,<mea> o B (Dm mod 8) Z=INV(Dest[bit]) - - * - -

Page 14: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

27

23. Instrucciones para datos en BCD

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------ABCD Dm,Dn o -(Am),-(An) B Dest=Fnte+Dest+X * ? * ? *NBCD <adea> B Dest=0-Dest-X * ? * ? *SBCD Dm,Dn o -(Am),-(An) B Dest=Fnte-Dest-X * ? * ? *

Repertorio de instrucciones y modos de direccionamiento en el MC68000

28

24. Instrucciones de control de programa

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------Bcc <etiqueta> Desp. de 16 bits IF cc THEN PC=PC+Desp - - - - -Bcc.S <etiqueta> Desp. de 8 bits IF cc THEN PC=PC+Desp - - - - -DBcc Dm,<etiqueta> Desp. de 16 bits IF NOT cc THEN Dm=Dm-1 - - - - -

IF Dm<>-1 THEN PC=PC+DespELSE PC=PC+2

Scc <adea> B IF cc THEN Dest=$FF - - - - -ELSE Dest=$00

BRA <etiqueta> Desp. de 8/16 bits PC=PC+Desp - - - - -BSR <etiqueta> Desp. de 8/16 bits -(SP)=PC;PC=PC+Desp - - - - -JMP <cea> Sin longitud PC=Dest - - - - -JSR <cea> Sin longitud -(SP)=PC;PC=Dest - - - - -RTR Sin operando Sin longitud CCR=(SP)+;PC=(SP)+ * * * * *RTS Sin operando Sin longitud PC=(SP)+ - - - - -

NOP Sin operandos Sin longitud PC=PC+2 - - - - -

Page 15: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

29

Condiciones en el MC68000

Z + N·¬V + ¬N·V

N·V·¬Z + ¬N·¬V·¬Z

N·¬V + ¬N·V

N·V + ¬N·¬V

N

¬N

V

¬V

Z

¬Z

C

¬C

C + Z

¬C·¬Z

0

1

Expresión booleana

SLE, BLE, DBLE1111LE (less or equal than)Menor o igual que con signo

SGT, BGT, DBGT1110GT (greater than)Mayor que con signo

SLT, BLT, DBLT1101LT (less than)Menor que con signo

SGE, BGE, DBGE1100GE (greater or equal than)Mayor o igual que con signo

SMI, BMI, DBMI1011MI (minus)Negativo con signo

SPL, BPL, DBPL1010PL (plus)Positivo ó 0 con signo

SVS, BVS, DBVS1001VS (overflow set)Desbordamiento con signo

SVC, BVC, DBVC1000VC (overflow clear)No desbordamiento con signo

SEQ, BEQ, DBEQ0111EQ (equal)Igual a

SNE, BNE, DBNE0110NE (not equal)Distinto de

SCS, SLO, BCS, BLO, DBCS, DBLO

0101CS ó LO (carry set, lower)Menor (desbordamiento) sin signo

SCC, SHS, BCC, BHS, DBCC, DBHS

0100CC ó HS (carry clear,

higher or same)Mayor o igual (no desbordamiento) sin signo

SLS, BLS, DBLS0011LS (lower or same)Menor o igual que sin signo

SHI, BHI, DBHI0010HI (higher)Mayor que sin signo

SF, DBF, DBRA0001F (false)Falso

ST , BRA, DBT0000T (true)Cierto

InstruccionesCodificaciónNemotécnicoCondición

Repertorio de instrucciones y modos de direccionamiento en el MC68000

30

25. Instrucciones de control de sistema

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------ANDI #<d8>,CCR B CCR=d8 AND CCR * * * * *EORI #<d8>,CCR B CCR=d8 OR-EX CCR * * * * *MOVE <dea>,CCR W (pal. mas baja) CCR=Fnte * * * * *MOVE CCR,<adea> W (pal. más baja) Dest=CCR - - - - -MOVE SR,<adea> W Dest=SR - - - - -ORI #<d8>,CCR B CCR=d8 OR CCR * * * * *CHK <dea>,Dn W IF Dn<0 OR Dn>Dest - * ? ? ?

THEN TRAP ILLEGAL Sin operando -(SSP)=PC;-(SSP)=SR; - - - - -

PC=Vector #4 TRAPV Sin operando Sin longitud IF V=1 THEN TRAP - - - - -TRAP #<d4> Sin longitud -(SSP)=PC;-(SSP)=SR; - - - - -

PC=Vector #d4

La instrucción TRAP admite 16 vectores distintos, TRAP #0 hasta TRAP #15

Instrucciones no privilegiadas

Page 16: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

31

Instrucciones de control de sistema

Nemónico Direccionamiento Long. operando Descripción X N Z V C---------- ------------------ ---------------- ------------------------- ---------ANDI #<d16>,SR W IF S=0 THEN TRAP * * * * *

ELSE SR=Fnte AND SR EORI #<d16>,SR W IF S=0 THEN TRAP * * * * *

ELSE SR=Fnte OR-EX SR MOVE <dea>,SR W IF S=0 THEN TRAP * * * * *

ELSE SR=FnteMOVE USP,An o An,USP L IF S=0 THEN TRAP - - - - -

ELSE DEST=FnteORI #<d16>,SR W IF S=0 THEN TRAP * * * * *

ELSE SR=Fnte OR SR RESET Sin operandos Sin longitud IF S=0 THEN TRAP - - - - -

ELSE reinicia dispositivo RTE Sin operandos Sin longitud IF S=0 THEN TRAP * * * * *

ELSE SR=(SP)+;PC=(SP)+ STOP #<d16> Sin longitud IF S=0 THEN TRAP * * * * *

ELSE SR=d16;PC=PC+4; pausa hasta excepción

Instrucciones privilegiadas

Repertorio de instrucciones y modos de direccionamiento en el MC68000

32

26. Las instrucciones y el CCR

Page 17: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

33

Las instrucciones y el CCR

Repertorio de instrucciones y modos de direccionamiento en el MC68000

34

Resumen: las instrucciones y el CCR

Page 18: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

35

27. Formatos de instrucción

Instrucciones sin operandos

OW

Instrucciones con 1 operando (el primer formato puede requerir palabras de extensión)

Instrucciones de bifurcación condicional

Cod_op XXX XXXOW

Modo Reg

XX

Tam

Cod_op XXXOW

Reg

00: .BTam 01: .W

10: .L

CO XXXXXXXXOW

Desplazamiento

XXXX

Cond

Repertorio de instrucciones y modos de direccionamiento en el MC68000

36

Formatos de instrucciónInstrucciones con dos operandos con formato corto (tienen un operando

fuente con direccionamiento inmediato implícito, sin campo Modo; el segundo formato puede requerir palabra de extensión para el operando destino)

Instrucciones con 2 operandos (los dos primeros formatos pueden requerir palabras de extensión)

OW

CO XXX XXXOW

Modo Reg

XX

Tam 01: .BTam 10: .W

11: .L

EA fuente

XXXXXX

ModoReg

EA destino

CO XXX XXXOWModo Reg Byte Palabra Larga Operación

Modo_op 000 001 010 registro OP EA → registro100 101 110 EA OP registro → EA

EA f/d

XXXXXX

Reg Modo_op

CO XXX

Modo_op Reg

XXXXXXXXX

Reg

CO XXX XXXOWModo RegEA destino

COXXX

Dato

CO XXXOWReg

0XXX

Dato

Page 19: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

37

Codificación de los modos de direccionamiento

100111XXXtInmediato

011111d(PC,Xm)Relativo a PC con desplazamiento e índice

010111d(PC)Relativo a PC con desplazamiento

001111XXX32Absoluto largo

000111XXX16Absoluto corto

Número de registro (An)110d(An,Xm)Indirecto a registro con desplazamiento e índice

Número de registro (An)101d(An)Indirecto a registro con desplazamiento

Número de registro (An)100-(An)Indirecto a registro con predecremento

Número de registro (An)011(An)+Indirecto a registro con posincremento

Número de registro (An)010(An)Indirecto a registro

Número de registro (An)001AnDirecto a registro de direcciones

Número de registro (Dn)000DnDirecto a registro de datos

RegistroModoNotaciónModo de direccionamiento

Repertorio de instrucciones y modos de direccionamiento en el MC68000

38

Palabras de extensiónSerá preciso añadir palabras de extensión cuando en la palabra de operación

no quepa la información necesaria para identificar completamente a los operandos de la instrucción.

Palabra de operación

Palabra(s) de extensióndel segundo operando

Palabra de operación

Palabra(s) de extensióndel primer operando

Palabra de operación

Palabra(s) de extensióndel primer operando

Palabra(s) de extensióndel segundo operando

Instrucción en la que el primer operando requiere palabras de extensión

Instrucción en la que el segundo operando requiere palabras de extensión

Instrucción en la que ambos operandos requieren palabras de extensión

Máximo tamaño de una instrucción: 10 octetos.

Page 20: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

39

Palabras de extensiónSerá preciso añadir palabras de extensión “normales” en los siguientes casos:

• Desplazamiento de 16 bits cuando el operando está referenciado mediante:Direccionamiento indirecto a registro de direcciones con desplazamiento.Direccionamiento relativo a PC con desplazamiento.

• Dirección absoluta de 16 bits cuando el operando está referenciado mediante:Direccionamiento absoluto corto.

• Dirección absoluta de 32 bits cuando el operando está referenciado mediante:Direccionamiento absoluto largo.

• Dato inmediato de 16 bits cuando el operando fuente está referenciado mediante:Direccionamiento inmediato tamaño byte o palabra.

• Dato inmediato de 32 bits cuando el operando fuente está referenciado mediante:Direccionamiento inmediato tamaño palabra larga.

Repertorio de instrucciones y modos de direccionamiento en el MC68000

40

Palabras de extensiónSerá preciso añadir palabras de extensión con índice cuando alguno de los

operandos esté referenciado mediante uno de los siguientes direccionamientos:• Indirecto a registro de direcciones con desplazamiento e índice.• Relativo a PC con desplazamiento e índice.

T=D/A indica si el índice es un registro de datos o direcciones.• Si T=0, es un registro de datos• Si T=1 es un registro de direcciones.

Registro2 (m): número del registro índice Xm (3 bits)

S=W/L indica si el índice se usa en modo palabra o palabra larga.• Si S=0, el índice es un registro en modo palabra.• Si S=1, el índice es un registro en modo palabra larga.

CD: desplazamiento de 8 bits

EW CD (8 bits)T m S 000

Page 21: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

41

Palabras de extensiónLa lista de registros en la instrucción MOVEM requiere la siguiente palabra de

extensión:

Cuando estamos en el caso de MOVEM.t <lista-reg>,-(An) la palabra de extensión es:

En ambos casos, en primer lugar va el bit correspondiente al registro que se transfiere en primer lugar.

En memoria los registros quedan almacenados en el siguiente orden:• Los registros de datos de menor a mayor quedan en posiciones más bajas.• Los registros de direcciones de menor a mayor quedan en posiciones más altas.

A7 A0A1A2A3A4A5A6 D7 D0D1D2D3D4D5D6

Si el registro An o Dn se encuentra en la lista, el correspondiente bit está a 1.

A7A0 A1 A2 A3 A4 A5 A6D7D0 D1 D2 D3 D4 D5 D6

Repertorio de instrucciones y modos de direccionamiento en el MC68000

42

28. Tiempos de ejecución de las instrucciones

Como el MC68000 es un procesador CISC, tiene instrucciones muy diversas con diferentes duraciones.

En las transparencias siguientes se presentan las duraciones de las instrucciones del MC68000, incluyendo los ciclos de bus.

Los datos se expresan con la notación n(r/w) donde:• n: número total de ciclos de reloj.• r: número de operaciones de lectura.• w: número de operaciones de escritura.

donde n incluye los tiempos de lectura de la instrucción y las lecturas y escrituras de los operandos.

Se asume que cada operación de lectura o escritura en memoria consume cuatro ciclos de reloj.

Page 22: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

43

Tiempo de cálculo de la dirección efectiva

En ocasiones hay que sumar este tiempo al indicado en las tablas.

Repertorio de instrucciones y modos de direccionamiento en el MC68000

44

Tiempo de instrucciones de transferenciade byte o palabra

Page 23: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

45

Tiempo de instrucciones de transferenciade palabra larga

Repertorio de instrucciones y modos de direccionamiento en el MC68000

46

Tiempo de instrucciones con operando único

Page 24: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES...Repertorio de instrucciones y modos de direccionamiento en el MC68000 5 1. Introducción ÂEl MC68000 es un microprocesador CISC. ÂEl repertorio

Repertorio de instrucciones y modos de direccionamiento en el MC68000

47

Ejemplos:

Tiempo de instrucción de transferencia de palabra:

MOVE.W D1,A3 → 4 Ciclos de reloj (1 lectura / 0 escritura)

MOVE.W D1,$1000 → 12 Ciclos de reloj (2 lectura / 1 escritura)

Tiempo de instrucción de operando único:

NEG.L D3 → 6 Ciclos de reloj (1 lectura / 0 escritura)

NEG.L 500000 → 12 Ciclos (1 / 2) + 16 Ciclos (4 / 0) de cálculo de dirección efectiva

Las tablas completas de Tiempo de Instrucciones se pueden consultar en el Manual del Microprocesador.