Professional Documents
Culture Documents
instrucciones
Miquel Albert Orenga
Gerard Enrique Manonellas
PID_00177071
ndice
Introduccin............................................................................................... 5
Objetivos....................................................................................................... 6
1. Juego de instrucciones...................................................................... 7
1.1. Ciclo de ejecucin ....................................................................... 7
1.2. Arquitectura del juego de instrucciones ..................................... 8
1.3. Representacin del juego de instrucciones ................................. 9
1.4. Formato de las instrucciones ...................................................... 10
1.4.1. Elementos que componen una instruccin ................... 10
1.4.2. Tamao de las instrucciones ......................................... 11
1.5. Operandos ................................................................................... 14
1.5.1. Nmero de operandos ................................................... 14
1.5.2. Localizacin de los operandos ....................................... 14
1.5.3. Tipo y tamao de los operandos ................................... 15
1.6. Tipos de instrucciones ................................................................ 17
1.6.1. Bits de resultado ............................................................ 17
1.6.2. Instrucciones de transferencia de datos ........................ 19
1.6.3. Instrucciones aritmticas ............................................... 20
1.6.4. Instrucciones lgicas ...................................................... 25
1.6.5. Instrucciones de ruptura de secuencia .......................... 28
1.6.6. Instrucciones de entrada/salida ..................................... 34
1.6.7. Otros tipos de instrucciones .......................................... 34
1.7. Diseo del juego de instrucciones .............................................. 35
2. Modos de direccionamiento............................................................ 36
2.1. Direccionamiento inmediato ...................................................... 38
2.2. Direccionamiento directo ........................................................... 39
2.3. Direccionamiento indirecto ........................................................ 41
2.4. Direccionamiento relativo .......................................................... 43
2.4.1. Direccionamiento relativo a registro base ..................... 44
2.4.2. Direccionamiento relativo a registro ndice .................. 45
2.4.3. Direccionamiento relativo a PC .................................... 47
2.5. Direccionamiento implcito ........................................................ 49
2.5.1. Direccionamiento a pila ................................................ 49
Resumen....................................................................................................... 51
CC-BY-SA PID_00177071 5 Juego de instrucciones
Introduccin
Objetivos
Con los materiales didcticos de este mdulo se pretende que los estudiantes
alcancen los objetivos siguientes:
1. Saber cmo se define el juego de instrucciones de un procesador.
2. Conocer los tipos de instrucciones ms habituales en el juego de instrucciones
de un computador de propsito general.
3. Saber cmo funciona cada una de las instrucciones del juego de instrucciones.
4. Aprender las nociones bsicas necesarias para utilizar un juego de instrucciones
de bajo nivel.
5. Familiarizarse con las maneras de referenciar un dato en una instruccin.
CC-BY-SA PID_00177071 7 Juego de instrucciones
1. Juego de instrucciones
vemos cmo resuelven una misma operacin: sumar dos valores (A y B) almacenados
en memoria y guardar el resultado en una tercera posicin de memoria
(C).
Pila Acumulador Registro-registro Registro-memoria
Memoriamemoria
PUSH [A] LOAD [A] LOAD R1 [A] MOV R1 [A] MOV [C] [A]
PUSH [B] ADD [B] LOAD R2, [B] ADD R1, [B] ADD [C], [B]
ADD STORE [C] ADD R2, R1 MOV [C], R2
POP [C] STORE [C], R2
Hemos supuesto que en las instrucciones de dos operandos, el primer operando acta como operando fuente y operando destino
en el ADD y solo como operando destino en el resto, el segundo operando acta siempre como operando fuente.
A, B y C son las etiquetas que representan las direcciones de memoria donde estn almacenados los valores que
queremos sumar y su resultado, respectivamente.
Los corchetes indican que tomamos el contenido de estas direcciones de memoria.
1.5. Operandos
1.5.1. Nmero de operandos
Las instrucciones pueden utilizar un nmero diferente de operandos segn el
tipo de instruccin del que se trate.
Ejemplo
Hay que tener presente que una misma instruccin en mquinas diferentes puede utilizar
un nmero diferente de operandos segn el tipo de arquitectura del juego de instrucciones
que utilice la mquina.
La instruccin aritmtica de suma (C = A + B) utiliza dos operandos fuente (A y B) y
produce un resultado que se almacena en un operando destino (C):
En una arquitectura basada en pila, los dos operandos fuente se encontrarn en la
cima de la pila y el resultado se almacenar tambin en la pila.
En una arquitectura basada en acumulador, uno de los operandos fuente se encontrar
en el registro acumulador, el otro estar explcito en la instruccin y el resultado
se almacenar en el acumulador.
En una arquitectura basada en registros de propsito general, los dos operandos fuente
estarn explcitos. El operando destino podr ser uno de los operandos fuente (instrucciones
de dos operandos) o un operando diferente (instrucciones de tres operandos).
Segn la arquitectura y el nmero de operandos de la instruccin podemos tener diferentes
versiones de la instruccin de suma, tal como se ve en la tabla siguiente.
Pila ADD Suma los dos valores de encima de la pila
Acumulador ADD R1 Acumulador = Acumulador + R1
Registro-registro ADD R1, R2 R1 = R1 + R2
ADD R3, R1, R2 R3 = R1 + R2
Registro-memoria ADD R1, [A01Bh] R1 = R1+ M(A01Bh)
ADD R2, R1,
[A01Bh]
R2 = R1+ M(A01Bh)
Memoria-memoria ADD [A01Dh],
[A01Bh]
M(A01Dh) = M(A01Dh) + M(A01Bh)
Hemos supuesto que, en las instrucciones de dos operandos, el primer operando acta
como operando fuente y tambin como operando destino. Los valores entre corchetes
expresan una direccin de memoria.
1)Direccin. Tipo de dato que expresa una direccin de memoria. Para operar
con este tipo de dato, puede ser necesario efectuar clculos y accesos a memoria
para obtener la direccin efectiva.
La manera de expresar y codificar las direcciones depender de la manera de
acceder a la memoria del computador y de los modos de direccionamiento
que soporte el juego de instrucciones.
2)Nmero. Tipo de dato que expresa un valor numrico. Habitualmente distinguimos
tres tipos de datos numricos (y cada uno de estos tipos se puede
considerar con signo o sin signo):
a) Nmeros enteros.
Ved tambin
Trataremos la manera de operar
con las direcciones en el
Aritmticas
Lgicas
Transferencia del control
Entrada/salida
Otros tipos
1.6.1. Bits de resultado
Los bits de resultado nos dan informacin de cmo es el resultado obtenido
en una operacin realizada en la unidad aritmeticolgica (ALU) del procesador.
Al ejecutar una instruccin aritmtica o lgica, la unidad aritmeticolgica
hace la operacin y obtiene un resultado; segn el resultado, activa los bits de
resultado que corresponda y se almacenan en el registro de estado para poder
ser utilizados por otras instrucciones. Los bits de resultado ms habituales son
los siguientes:
Bitdecero(Z): se activa si el resultado obtenido es 0.
Bit de transporte (C): tambin denominado carry en la suma y borrow
en la resta. Se activa si en el ltimo bit que operamos en una operacin
aritmtica se produce transporte, tambin se puede deber a una operacin
de desplazamiento. Se activa si al final de la operacin nos llevamos una
segn el algoritmo de suma y resta tradicional operando en binario o si el
ltimo bit que desplazamos se copia sobre el bit de transporte y este es 1.
Bit de transporte
Cuando operamos con nmeros enteros sin signo, el bit de transporte es equivalente al
bit de desbordamiento; pero con nmero con signo (como es el caso del Ca2), el bit de
Nota
Consideramos que los bits de
resultado son activos cuando
valen 1, e inactivos cuando valen
0.
CC-BY-SA PID_00177071 18 Juego de instrucciones
0 0000
CC-BY-SA PID_00177071 19 Juego de instrucciones
1 1111
2 1110
3 1101
4 1100
5 1011
6 1010
7 1001
8 1000
Tened en cuenta que para obtener el nmero negado de un nmero en complemento a
2 hemos de negar el nmero bit a bit y sumarle 1. Por ejemplo:
(+6) 0110, lo negamos, 1001 y sumamos 1, 1010 (6).
(3) 1101, lo negamos, 0010 y sumamos 1, 0011 (+3).
(+0) 0000, lo negamos, 1111 y sumamos 1, 0000 (0). Queda igual.
(-8) 1000, lo negamos, 0111 y sumamos 1, 1000 (8). Queda igual, +8 no se puede
representar en Ca2 utilizando 4 bits.
Una manera rpida de obtener el nmero negado manualmente es negar a partir del
primer 1.
Bit de transporte en la resta
El bit de transporte, tambin denominado borrow, se genera segn el algoritmo convencional
de la resta. Pero si para hacer la resta A B, lo hacemos sumando el complementario
del sustraendo, A + (B), el bit de transporte de la resta (borrow) ser el bit de transporte
(carry) negado obtenido de hacer la suma con el complementario (borrow = carry negado),
salvo los casos en los que B = 0, donde tanto el carry como el borrow son iguales y valen 0.
fuente
destino fuente
Intercambia el contenido de los dos operandos.
XCHG [num_var], RBX
POP destino destino M(SP), actualiza SP.
Saca el valor que hay en la cima de la pila.
POP RAX
Ejemplo de instrucciones de transferencia de datos en la arquitectura CISCA
Instruccin Operacin Ejemplo
MOV destino,
fuente
destino fuente MOV R1, [nom_var]
PUSH fuente Actualiza SP, M(SP) fuente.
Pone el valor en la cima de la pila.
PUSH R5
Multiplicacin
Esta operacin efecta la multiplicacin entera de dos nmeros y hay que
tener presente que el resultado que se genera tiene un tamao superior al de
los operandos fuente.
Habr que disponer de dos operaciones diferentes si se quiere tratar operandos
con signo o sin signo.
Multiplicacin y
operandos
En la mayora de las arquitecturas,
la operacin multiplicacin
utiliza operandos destino
implcitos; de esta manera es
ms fcil representar un resultado
de tamao superior al de
los operandos fuente.
x86-64
Un operando fuente puede ser implcito y corresponder al registro AL (8 bits), al registro
AX (16 bits), al registro EAX (32 bits) o al registro RAX (64 bits); el otro operando fuente
es explcito y puede ser un operando de 8, 16, 32 o 64 bits.
Si el operando fuente es de 8 bits, la operacin que se hace es AX = AL * fuente, que
ampla el resultado a un valor de 16 bits.
Si el operando fuente es de 16 bits, la operacin que se hace es DX,AX = AX * fuente,
que ampla el resultado a un valor de 32 bits.
Si el operando fuente es de 32 bits, la operacin que se hace es EDX,EAX = EAX *
fuente, que ampla el resultado a un valor de 64 bits.
Si el operando fuente es de 64 bits, la operacin que se hace es RDX,RAX = RAX *
fuente, que ampla el resultado a un valor de 128 bits.
Instruccin Ejemplo Operacin
MUL fuente (operacin sin considerar el signo, un
operando implcito)
MUL RBX RDX,RAX = RAX *
RBX
IMUL fuente (operacin considerando el signo, un
operando implcito)
IMUL BL AX = AL * BL
IMUL destino, fuente (operacin considerando el
signo, dos operandos explcitos)
IMUL EAX,
EBX
EAX = EAX * EBX
Ejemplo de una instruccin de multiplicacin en la arquitectura CISCA
Los dos operandos fuente y destino son explcitos, y el resultado se almacena en el primer
operando, que hace tambin de operando destino; todos los operandos son nmeros en
complemento a 2 de 32 bits; no se utiliza ningn operando implcito porque no se ampla
el tamao del resultado.
Instruccin Operacin Ejemplo
MUL destino, fuente destino = destino * fuente MUL R1, R2
Divisin
Esta operacin hace la divisin entera de dos nmeros y se obtienen dos resultados:
el cociente y el residuo de la divisin.
Habr que disponer de dos operaciones diferentes si se quiere tratar operandos
con signo o sin signo.
Divisin y operandos
En la mayora de las arquitecturas,
la operacin divisin utiliza
operandos destino implcitos
para representar los dos resultados
que se obtienen y no
perder los valores de los operandos
fuente.
CC-BY-SA PID_00177071 23 Juego de instrucciones
Incremento y decremento
Estas operaciones son un caso especial de la suma y la resta. Se suelen incluir
en la mayora de los juegos de instrucciones, ya que son operaciones muy frecuentes:
saber el valor (generalmente, 1) que se debe incrementar o decrementar
facilita mucho su implementacin en el procesador.
Ejemplo de instrucciones de incremento y decremento en la arquitectura Intel x86-64
Instruccin Operacin Ejemplo
INC destino destino = destino + 1 INC RAX
DEC destino destino = destino 1 DEC BL
Ejemplo de instrucciones de incremento y decremento en la arquitectura CISCA
Instruccin Operacin Ejemplo
INC destino destino = destino + 1 INC R3
DEC destino destino = destino 1 DEC R5
CC-BY-SA PID_00177071 24 Juego de instrucciones
Comparacin
Esta operacin lleva a cabo la comparacin entre dos operandos restando el
segundo del primero y actualizando los bits de resultado. Es un caso especial
de la resta en el que el valor de los operandos no se modifica porque no se
guarda el resultado.
Ejemplo de instrucciones de comparacin en la arquitectura Intel x86-64
Instruccin Operacin Ejemplo
CMP destino, fuente destino fuente CMP RAX, RBX
Ejemplo de comparacin en la arquitectura CISCA
Instruccin Operacin Ejemplo
CMP destino, fuente destino fuente CMP R1,R2
Negacin
Esta operacin cambia el signo del operando. Si los datos estn en complemento
a 2, es equivalente a hacer una de estas operaciones: 0 operando,
NOT(operando) + 1, operando * (1).
Ejemplo de una instruccin de negacin en la arquitectura Intel x86-64
Instruccin Operacin Ejemplo
NEG destino destino =
NOT(destino) + 1
NEG EAX
Ejemplo de una instruccin de negacin en la arquitectura CISCA
Instruccin Operacin Ejemplo
NEG destino destino =
NOT(destino) + 1
NEG R7
Instruccin Z S C V
Comparacin x x x x
Negacin x x x x
Estos son los bits de resultado que se modifican habitualmente, pero eso puede variar ligeramente en algunos procesadores.
Nota: x indica que la instruccin puede modificar este bit. indica que la instruccin no modifica este bit.
Las instrucciones lgicas tambin pueden modificar los bits de resultado del
procesador.
Instruccin Z S C V
AND x x 0 0
OR x x 0 0
XOR x x 0 0
NOT
Desplazamientos
lgicos
xxx0
Desplazamientos
aritmticos
xxxx
Rotaciones x x
Nota: x indica que la instruccin puede modificar el bit de resultado. indica que la instruccin no modifica el bit de resultado. 0 indica
que la instruccin pone el bit de resultado a 0.
Condicin Bitsquecompruebacon
operandossinsigno
Bitsquecompruebacon
operandosconsigno
A=BZ=1Z=1
ABZ=0Z=0
A>BC=0yZ=0Z=0yS=V
ABC=0S=V
A<BC=1SV
A B C = 1 o Z = 1 Z = 1 o S V
Ejemplo de instrucciones de salto condicional comunes a la arquitectura
Intel x86-64 y CISCA
Instruccin Operacin Ejemplo
JE etiqueta
(Jump Equal Salta si igual)
Salta si Z = 1 JE eti3
JNE etiqueta
(Jump Not Equal Salta si diferente)
Salta si Z = 0 JNE eti3
JG etiqueta
(Jump Greater Salta si mayor)
Salta si Z = 0 y S = V
(operandos con signo)
JG eti3
JGE etiqueta
(Jump Greater or Equal Salta si mayor o igual)
Salta si S = V
(operandos con signo)
JGE eti3
JL etiqueta
(Jump Less Salta si ms pequeo)
Salta si S V
(operandos con signo)
JL eti3
JLE etiqueta
(Jump Less or Equal Salta si ms pequeo o igual)
Salta si Z = 1 o S V
(operandos con signo)
JLE eti3
MOV R2, 0
eti3: INC R2 ; Esto es un bucle de 3 iteraciones
CMP R2, 3
JL eti3
MOV R2, 7
Si consideramos que la instruccin INC R2 est en la posicin de memoria 0000 1000h,
la etiqueta eti3 har referencia a esta direccin de memoria, pero cuando codificamos la
instruccin JL eti3, no codificaremos esta direccin, sino que codificaremos el desplazamiento
respecto al PC. El desplazamiento que hemos de codificar es eti3 PC.
Ejemplo de instrucciones de salto condicional especficas de la arquitectura Intel x86-64
Instruccin Operacin Ejemplo
JA etiqueta
(Jump Above Salta si superior)
Salta si C = 0 y Z = 0
(operandos sin signo)
JA bucle
JAE etiqueta
(Jump Above or Equal Salta si superior o igual)
Salta si C = 0
(operandos sin signo)
JAE bucle
JB etiqueta
(Jump Below Salta si inferior)
Salta si C = 1
(operandos sin signo)
JB bucle
JBE etiqueta
(Jump Below or Equal Salta si inferior o igual)
Salta si C = 1 o Z = 1
(operandos sin signo)
JBE bucle
Nota
Hay que tener presente que se
activar un conjunto de bits diferente
segn si los operandos
comparados se consideran con
signo o sin l.
CC-BY-SA PID_00177071 31 Juego de instrucciones
2. Modos de direccionamiento
Direccionamiento relativo a PC
Direccionamiento implcito
Direccionamiento a pila (indirecto a registro SP)
Hay que tener presente que cada operando de la instruccin puede tener su
propio modo de direccionamiento, y no todos los modos de direccionamiento
de los que dispone un juego de instrucciones se pueden utilizar en todos los
operandos ni en todas las instrucciones.
Existe una cuestin, a pesar de ser transparente al programador, que hay que
conocer y tener presente porque indirectamente s que le puede afectar a la
hora de acceder a la memoria. Se trata de la ordenacin de los bytes de un dato
cuando este tiene un tamao superior al tamao de la palabra de memoria.
En la mayora de los computadores la memoria se dirige en bytes, es decir, el
tamao de la palabra de memoria es de un byte. Cuando trabajamos con un
dato formado por varios bytes habr que decidir cmo se almacena el dato
dentro de la memoria, es decir, qu byte del dato se almacena en cada posicin
de la memoria.
Se pueden utilizar dos sistemas diferentes:
little-endian: almacenar el byte de menos peso del dato en la direccin
de memoria ms baja.
big-endian: almacenar el byte de ms peso del dato en la direccin de
memoria ms baja.
Una vez elegido uno de estos sistemas, habr que tenerlo presente y utilizarlo
en todos los accesos a memoria (lecturas y escrituras) para asegurar la coherencia
de los datos.
CC-BY-SA PID_00177071 38 Juego de instrucciones
Ejemplo
Supongamos que queremos almacenar el valor hexadecimal siguiente: 12345678h. Se
trata de un valor de 32 bits, formado por los 4 bytes 12h 34h 56h y 78h. Supongamos
tambin que se quiere almacenar en la memoria a partir de la direccin 200h. Como cada
posicin de la memoria permite almacenar un solo byte, necesitaremos 4 posiciones de
memoria, correspondientes a las direcciones 200h, 201h, 202h y 203h.
Little-endian Big-endian
Direccin Contenido Direccin Contenido
200h 78h 200h 12h
201h 56h 201h 34h
202h 34h 202h 56h
203h 12h 203h 78h
Las desventajas principales son que el valor del dato es constante y el rango de
valores que se pueden representar est limitado por el tamao de este operando,
que no suele ser demasiado grande [2n, 2n 1] si se representa en complemento
a 2, donde n es el nmero de bits del operando.
Instrucciones de salto incondicional
En las instrucciones de salto incondicional, como veremos ms adelante, el operando
puede expresar la direccin donde se quiere saltar; en este caso, esta direccin es el dato,
ya que la funcin de esta instruccin es cargar este valor en el PC y no hay que hacer
ningn acceso a la memoria para obtenerlo. Por este motivo, se considera un modo de
direccionamiento inmediato, aunque el operando exprese una direccin, como en el
direccionamiento directo a memoria.
Estos modos de direccionamiento tienen una forma muy simple y no hay que
hacer clculos para obtener la direccin efectiva donde est el dato.
El tamao del operando, en el caso del direccionamiento directo a registro,
depender del nmero de registros que tenga la mquina, que suele ser relativamente
reducido y, por lo tanto, se necesitan pocos bits; en el caso del direccionamiento
directo a memoria, depender del tamao de la memoria. En
las mquinas actuales, el operando deber ser muy grande para poder dirigir
toda la memoria, lo que representa uno de los inconvenientes principales de
este modo de direccionamiento.
Ejemplo
En una mquina con 32 registros y 4 Mbytes de memoria (4 2 20 bytes) necesitaremos
5 bits para codificar los 32 registros (32 = 25) y 22 bits para codificar 4 220 direcciones
de memoria de 1 byte (4 M = 222) y se expresarn en binario puro, sin consideraciones
de signo.
CC-BY-SA PID_00177071 41 Juego de instrucciones
Ejemplo
Supongamos que cada elemento de la pila es una palabra de 2 bytes, la memoria se dirige
a nivel de byte y SP apunta al elemento que est en la cima de la pila.
Para poner un elemento en la pila (PUSH X) habr que hacer lo siguiente:
Crece hacia direcciones ms pequeas
(preautodecremento)
Crece hacia direcciones mayores
(preautoincremento)
SP = SP 2
M[ SP] = X
SP = SP + 2
M[ SP] = X
Para sacar un elemento de la pila (POP X) habr que hacer lo siguiente:
Crece hacia direcciones ms pequeas
(postautoincremento)
Crece hacia direcciones mayores
(postautodecremento)
X = M[ SP]
SP = SP + 2
X = M[ SP]
SP = SP 2
Ejemplo de direccionamiento a pila en la arquitectura CISCA
Operandos de 32 bits en complemento a 2 y utilizando formato little-endian. La pila crece hacia
direcciones pequeas
Con la ejecucin de esta instruccin se quiere transferir el contenido del registro R2 a
la cima de la pila. El operando fuente hace referencia al registro R2, donde se ha de leer
el dato 01234567h, que queremos poner en la pila. Para guardar este dato en la pila,
primero se decrementa en 4 el registro SP (en CISCA, el registro R15), porque los datos
son de 32 bits. El registro SP inicialmente vale 00000000h, 00000000h 4 = FFFFFFFCh (
4 en Ca2). Despus, de la misma manera que en un direccionamiento indirecto a registro,
utilizaremos esta direccin que tenemos en el registro SP para almacenar el valor que
tenemos en R2 en la memoria, y SP quedar apuntando a la cima de la pila. Si SP vale
0, querr decir que la pila est vaca.
CC-BY-SA PID_00177071 51 Juego de instrucciones
Resumen
Tiposdeinstrucciones Ejemplos
Instrucciones de transferencia de datos MOV AL, 0
MOV R1, R2
Suma ADD R1, R2
Resta SUB R1, 2
Multiplicacin MUL R1, R2
Divisin DIV R2, R3
Incremento INC RAX
Decremento DEC RAX
Comparacin CMP RAX, RBX
Instrucciones aritmticas
Negacin NEG RAX
AND AND R1, 1
OR OR R1, R2
XOR XOR R1, R2
NOT NOT R1
Desplazamiento lgico a la izquierda SHL RAX, 1
Desplazamiento lgico a la derecha SHR RAX, 1
Desplazamiento aritmtico a la izquierda SAL RAX, 1
Desplazamiento aritmtico a la derecha SAR RAX, 1
Rotacin a la izquierda ROL RAX, 1
Instrucciones lgicas
Rotacin a la derecha ROR RAX, 1
Salto incondicional JMP etiqueta
Salto condicional JE etiqueta
Instrucciones de llamada y retorno de subrutina
CALL etiqueta
Instrucciones de interrupcin de software INT 80h
Instrucciones de ruptura de secuencia
Instrucciones de retorno de interrupcin IRET
Instrucciones de entrada/salida Entrada IN AL, 20h
Salida OUT 20h, AL
Otros tipos de instrucciones NOP
Direccionamiento
Sintaxis Queexpresa
OP
Cmoobtenemos
ladireccin
Cmoobtenemos
eldato
Observaciones
Inmediato Valor OP = Dato Dato = OP
Directo a registro
R OP = R Dato = R
Directo a memoria
[A] OP = A AE = A Dato = M[A]
Indirecto a registro
[R] OP = R AE = R Dato = M[R]
Indirecto a memoria
[[A]] OP = A AE = M[A] Dato = M[ M[A]]
Relativo a RB [RB +
Desp.]
OP = RB +
Desp.
AE = RB + Desp. Dato = M[ RB +
Desp.]
Relativo a RI [A + RI] OP = EN + RI AE = EN + RI Dato = M[ EN +
RI]
Con preautoincremento o postautoincremento
RI = RI 1
Relativo a PC A OP = Desp. Dato = PC + Desp. PC es implcito y Dato es la direccin de la instruccin
siguiente por ejecutar.
A pila Valor o R
oA
OP = Dato o
RoA
AE = SP Dato = M[SP] Direccionamiento implcito
Abreviaturas de la tabla. Dato: con el que queremos operar; OP: informacin expresada en el operando de la instruccin; A: direccin de memoria;
AE: direccin efectiva de memoria
(direccin donde est el dato); R: referencia de un registro;
Desp.: desplazamiento; [R]: contenido de un registro; M[A]: contenido de una direccin de memoria; [ ]: para indicar acceso a memoria.
__