Está en la página 1de 43

1

Modos de
direccionamiento

• Formato de las instrucciones


• Modos de direccionamiento
• Proceso de ensamble
• Notación en ensamblador

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
2

Formato de la
instrucciones

Código de
operación n bits

oper

campos

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
3

Formato de la
instrucciones

Código de
operación
6 bits
101000

add

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
4

Formato de la
instrucciones

Código de
operación
001011

not

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
5

Formato de la
instrucciones

Operandos

op1 op2 op3 instrucción de


3 operandos

destino fuentes

operación

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
6

Formato de la
instrucciones

Operandos

op1 op2 op3 instrucción de


3 operandos

op1 op2 instrucción de


2 operandos

destino fuentes

operación

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
7

Formato de la
instrucciones

Operandos

op1 op2 op3 instrucción de


3 operandos

op1 op2 instrucción de


2 operandos
instrucción de
op1 1 operando
(unario)
destino fuente

operación

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
8

Formato de la
instrucciones

Operandos

op1 op2 op3 instrucción de


3 operandos

op1 op2 instrucción de


2 operandos
instrucción de
op1 1 operando
(unario)
instrucción de
0 operandos
operandos
implícitos

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
9

Modos de
direccionamiento

• Formato de instrucciones
• Modos de direccionamiento
• Proceso de ensamble
• Notación en ensamblador

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
10

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 0
Unidad
...
de ALU
control 2
R ...

100
IR add op1 op2 op3
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
11

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 0
Unidad
...
de ALU
control 2
R ...

operando constante 100


IR add op1 op2 op3
(inmediato)
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
12

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 2 0
Unidad
...
de ALU
control 2
R ...

operando constante 100


IR add op1 op2 2
(inmediato)
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
13

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 0
Unidad
...
de ALU
control 2
R ...

operando en memoria 100


IR add op1 op2 op3
(directo)
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
14

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 40 0
Unidad
...
de ALU
control 2 40
R ...

operando en memoria 100


IR add op1 op2 2
(directo)
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
15

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 0
Unidad
...
de ALU
control 2
R ...

operando en registro 100


IR add op1 op2 op3
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
16

Modos de
direccionamiento
R0

R1

R2 70

R3
Memoria
Op1 Op2 70 0
Unidad
...
de ALU
control 2
R ...

operando en registro 100


IR add op1 op2 2
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
17

Modos de
direccionamiento
R0

R1

R2

R3
Memoria
Op1 Op2 0
Unidad
...
de ALU
control 2
R ...

operando apuntador 100


IR add op1 op2 op3
(indirecto por registro)
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
18

Modos de
direccionamiento
R0

R1

R2 100

R3
Memoria
Op1 Op2 50 0
Unidad
...
de ALU
control 2
R ...

operando apuntador 100 50


IR add op1 op2 2
(indirecto por registro)
106
IP

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
19

Modos de
direccionamiento

Modo de
direccionamiento
oper
op op1 op2
op1 op2
15 15
00 es una constante
01 está en memoria
10 está en un registro
11 indirección por registro

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
20

Modos de
direccionamiento

• Formato de instrucciones
• Modos de direccionamiento
• Proceso de ensamble
• Notación en ensamblador

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
21

Proceso de ensamble

Programa fuente

mov R3, 18
add R3, R2
Ensamblador
...

mov R3, 18

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
22

Proceso de ensamble

Programa fuente

mov R3, 18
add R3, R2
Ensamblador
...

mov R3, 18
110010

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
23

Proceso de ensamble

Programa fuente

mov R3, 18
add R3, R2
Ensamblador
...

mov R3, 18
110010 0011

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
24

Proceso de ensamble

Programa fuente

Programa ejecutable
mov R3, 18
add R3, R2
Ensamblador 110010001100010010
...

mov R3, 18
110010 0011 00010010

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
25

Proceso de ensamble

Programa fuente

Programa ejecutable
mov R3, 18
add R3, R2
Ensamblador 110010001100010010
...

add R3, R2

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
26

Proceso de ensamble

Programa fuente

Programa ejecutable
mov R3, 18
add R3, R2
Ensamblador 110010001100010010
...
10100000110010

add R3, R2
101000 0011 0010

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
27

Modos de
direccionamiento

• Formato de instrucciones
• Modos de direccionamiento
• Proceso de ensamble
• Notación en ensamblador

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
28

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

Una instrucción mov R3, 10


por línea add R3, R2
sub R1, [40]
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
29

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente
No hay terminador
de instrucción
mov R3, 10 X (como el punto y
coma de C o Java)
add R3, R2
sub R1, [40]
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
30

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

Cada instrucción mov R3, 10


empieza por el add R3, R2
código de operación sub R1, [40]
Este es una palabra que mov R2, [R0]
describe
(simbólicamente) la
función de la instrucción

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
31

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10
add R3, R2
sub R1, [40]
mov R2, [R0]

Los operandos se
escriben separados
por comas

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
32

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente
El operando destino
no se designa
explícitamente mov R3, 10
El programador add R3, R2
debe saber cuál es sub R1, [40]
mov R2, [R0]
En nuestro caso
será el primero a
la izquierda

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
33

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10
add R3, R2
Las constantes
sub R1, [40]
las denotaremos
mov R2, [R0] con un número

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
34

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente Si acaban en B


serán números
binarios
mov R3, 10B
add R3, R2
sub R1, [40]
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
35

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10H Si en H,


add R3, R2 números
hexadecimales
sub R1, [40]
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
36

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 'a' Los códigos ASCII


add R3, R2 se pueden
representar con el
sub R1, [40]
carácter respectivo
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
37

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10
add R3, R2
Las variables en memoria
sub R1, [40]
las denotaremos con un
mov R2, [R0] número (la dirección)
entre corchetes

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
38

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente
Los registros tienen
nombres simbólicos
mov R3, 10
Con frecuencia este
add R3, R2
nombre es un número
precedido de una letra
sub R1, [40]
(R, en este caso) o un mov R2, [R0]
símbolo (como %)

En el caso de la
IA32, son nombres
más complejos

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
39

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10 La indirección por registro la


add R3, R2 denotaremos escribiendo el
registro entre corchetes
sub R1, [40]
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
40

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10 Los operandos fuentes


add R3, R2 pueden tener cualquier
modo de direccionamiento
sub R1, [40]
mov R2, [R0]

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
41

Notación en
ensamblador

• Características generales de los ensambladores

Los operandos destinos Programa fuente


pueden ser registros...

mov R3, 10
add [40], R2
sub [R0], R1

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
42

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente

mov R3, 10
add [40], R2
... o estar en memoria sub [R0], R1
En cuyo caso pueden
tener direccionamiento
directo o indirecto

... o indexado

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
43

Notación en
ensamblador

• Características generales de los ensambladores

Programa fuente El modo indexado tiene


una constante y un
registro

mov R3, [10+R1]


La dirección efectiva se
add [40+R3], R2 obtiene sumando los dos
Uno de ellos (cualquiera)
debe ser una dirección
absoluta y el otro un
desplazamiento

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación

También podría gustarte