68k_coding
Páginas: 9 (2044 palabras)
Publicado: 11 de noviembre de 2015
Alberto Ortiz
Estructura de Computadores 1
Grado en Ingeniería Informática
Escola Politècnica Superior (UIB)
Estructura de Computadors 1
Escola Politècnica Superior (UIB)
Consideraciones generales
- Referencias:
Conjunto instrucciones + codificación procesador 68K
Hamacher/Vranesic/Zaki “Computer Organization – Appendix C”
- Codificación deltamaño del operando no es sistemática, a veces es mejor considerar SS = B, W, L como parte del
opcode. Cuando no es así: SS = 00 (B), 01 (W) y 10 (L).
- En adelante:
AAA/BBB = campo modo direccionamiento origen/destino (ver siguiente apartado)
aaa/bbb = campo registro origen/destino
@X = dirección de la variable/etiqueta X
Codificación modos de direccionamiento:
Modo
Registro
Words extra encodificación
Directo registro datos
Dn
000
nnn
0
Directo registro direcciones
An
001
nnn
0
Indirecto registro
(An)
010
nnn
0
Postincremento
(An)+
011
nnn
0
Predecremento
-(An)
100
nnn
0
Indexado básico
W(An)
101
nnn
B(An, Rk.S)
110
nnn
1
1
Absoluto corto
W
111
000
1
Absoluto largo
L
111
001
2
Relativo básico
W(PC)
111
010
1
B(PC, Rk.S)
111
011
1
#k / SR/ CCR
111
100
1ó2
Indexado completo
Relativo completo
Inmediato / SR / CCR
Codificación de MOVE y MOVEA
Patrón general:
15
MOVE[A].S a, b
Alberto Ortiz
12 11
Opcode
9 8
bbb
6 5
BBB
3 2
AAA
0
aaa
2
Estructura de Computadors 1
Escola Politècnica Superior (UIB)
MOVE.B a, b
MOVE.W a, b
MOVE.L a, b
MOVEA.W a, An
0001bbbBBBAAAaaa
0011bbbBBBAAAaaa
0010bbbBBBAAAaaa
0011nnn001AAAaaaMOVEA.L a, An
0010nnn001AAAaaa
p.e.
B = 01
W = 11
L = 10
Corresponde al caso de MOVE utilizando modo
direccionamiento directo registro de dirección
idem
MOVE.B (A4)+, -(A1)
MOVE.L (A3), D1
MOVEA.W (A2)+, A6
0001 001 100 011 100
0010 001 000 010 011
0011 110 001 011 010
131Ch
2213h
3C5Ah
Codificación de instrucciones tipu ALU (aritméticas, lógicas, desplazamientos/rotaciones, manipulación debits)
- Instrucciones de 2 operandos
Patrones generales:
(1)
(2)
(3)
(4)
(5)
(1)
Instr
ADD.S
SUB.S
Opc1
1101
1001
Opc2
1SS
1SS
AND.S
OR.S
EOR.S
1100
1000
1011
1SS
1SS
1SS
(5)
BTST.L
BSET.L
BCLR.L
BCHG.L
0000
0000
0000
0000
(2)
Instr
ADD.S
SUB.S
CMP.S
Opc1
1101
1001
1011
Opc2
0SS
0SS
0SS
AND.S
OR.S
11001000
0SS
0SS
MULS
DIVS
MULU
DIVU
1100
1000
1100
1000
111
111
011
011
(3)
Instr
ADDA.W
SUBA.W
CMPA.W
Opc1
1101
1001
1011
Opc2
011
011
011
ADDA.L
SUBA.L
CMPA.L
1101
1001
1011
111
111
111
100000
100011
100010
100001
p.e.
Alberto Ortiz
15
12 11
9 8
6 5
3 2
0
Opcode1
mmm
Opc2
BBB
bbb
Opcode1
nnn
Opc2
AAA
aaa
Opcode1
nnn
Opc2
AAA
aaa
Opcode1
mmm
Opcode2
nnn
Opcode1
Opcode2
BBB
bbb
ADD.W D0,-(A1)
AND.L (A3), D1
CMPA.W (A2)+, A6
BTST.L D5, D3
BTST.L #25, D3
1101 000 101 100 001
1100 001 010 010 011
1011 110 011 011 010
0000 101 100 000 011
0000 100 000 000 011
00000000 00011001
(4)
Instr
ASL.S
LSL.S
ROL.S
ROXL.S
Opc1
1110
1110
1110
1110
Opc2
1SS100
1SS101
1SS111
1SS110
ASR.S
LSR.S
ROR.S
ROXR.S
1110
1110
1110
1110
0SS100
0SS101
0SS111
0SS110
BTST.L
BSET.L
BCLR.L
BCHG.L
00000000
0000
0000
100000
111000
110000
101000
D161h
C293h
BCDAh
0B03h
0803h
0019h
3
Estructura de Computadors 1
Escola Politècnica Superior (UIB)
- Instrucciones de 1 operando
Patrón general:
15
12 11
Opcode1
6 5
Opcode2
Instr
CLR.S
NEG.S
TST.S
Opcode1
0100
0100
0100
Opcode2
0010SS
0100SS
1010SS
NOT.S
0100
0110SS
p.e.
CLR.B (A6)
NOT.L (A3)+
3 2
BBB
0
bbb
Instr
ASL.WLSL.W
ROL.W
ROXL.W
Opcode1
1110
1110
1110
1110
Opcode2
000111
001111
011111
010111
ASR.W
ASL.W
ROR.W
ROXL.W
1110
1110
1110
1110
000011
001011
011011
010011
0100 001000 010 110
0100 011010 011 011
4216h
469Bh
Codificación de constantes:
- A través de direccionamiento inmediato
15
0
k
k
p.e.
MOVE.B #4, (A6)
MOVE.W #4, (A2)+
MOVE.L #4, (A3)
S = B, W
S=L
0001 110 010...
Leer documento completo
Regístrate para leer el documento completo.