Sei sulla pagina 1di 3

3.2.18.

Define el modo de direccionamiento inmediato

Es Cuando el operando de origen es una constante en vez de una variable, entonces la constante
puede incorporarse a la instrucción como un byte de dato “inmediato”.

3.2.19. En el modo de direccionamiento inmediato cual operando podría contener la instrucción?

El operando puede ser una constante numérica, una variable simbólica, o una expresión aritmética
que utilice constantes, símbolos y operadores.

3.2.20. Cuando se utiliza una instrucción con una constante de 16bits?

Se requiere de una constante de 16 bits cuando se inicializa el apuntador de datos.

Por ejemplo, MOV DPTR, #8000H (es una instrucción de 3 bytes que carga la constante de 16 bits
8000H al apuntador de datos).

3.2.21. Que instrucciones utilizan el direccionamiento relativo?

sólo se utiliza con ciertas instrucciones de salto.

3.2.22. Que es un desplazamiento en el direccionamiento relativo?

Una dirección relativa (o desplazamiento) es un valor con signo de 8 bits que se agrega al contador
de programa para construir la dirección de la siguiente instrucción a ejecutar.

3.2.23. Cuál es el rango de posibilidades de salto?

El rango de salto es de -128 a 127 ubicaciones, ya que se utiliza un desplazamiento con signo de 8
bits.

3.2.24. Cuál es la desventaja del direccionamiento relativo?

la desventaja e que el destino de los saltos tiene un rango limitado.

3.2.25. Cuales instrucciones utilizan el direccionamiento absoluto?


Las instrucciones ACALL y AJMP son las únicas que utilizan el direccionamiento absoluto.

3.2.26. Que es un desplazamiento en el direccionamiento absoluto?

3.2.27. Cuál es el rango de posibilidades de salto?


El direccionamiento absoluto sólo puede utilizarse cuando los cinco bits de orden superior son
iguales en las direcciones de origen y destino. Esta propiedad causa que las direcciones de origen y
destino deban ubicarse en la misma página de 2K.

3.2.28. Cuál es la desventaja del direccionamiento absoluto?


la desventaja de limitar el rango posible para la dirección destino, además de la
Necesidad de utilizar código que depende de su posición.

3.2.29. Cuales instrucciones utilizan el direccionamiento largo?


Las instrucciones LCALL y LJMP son las únicas que utilizan el direccionamiento largo

3.2.30. Cuál es el tamaño del operando en este tipo de direccionamiento?


Estas instrucciones de 3 bytes incluyen una dirección de destino de 16 bits

3.2.31. Cuál es el rango de posibilidades de salto?


puede utilizarse todo el espacio de código de 64K.

3.2.32. Cuál es la desventaja del direccionamiento largo?


pero la desventaja es que las instrucciones son de 3 bytes y dependen de su posición.

3.2.33. Cuáles son los elementos de un direccionamiento indexado?


utiliza un registro base (ya sea el contador de programa o el apuntador de datos) y un
desplazamiento (el acumulador)

3.2.34. Cuales instrucciones utilizan el direccionamiento indexado?


JMP o MOVC

3.2.35. Para que se utiliza el modo de direccionamiento indexado?


Las tablas de salto o de búsqueda se crean fácilmente utilizando el direccionamiento indexado.

3.3. Instrucciones del 8051

3.3.1.Cuáles son los grupos en los que se dividen las instrucciones del 8051?
 Aritméticas
 Lógicas
 De transferencia de datos
 Booleanas
 De bifurcación de programa

3.3.2.De algunos ejemplos de instrucciones aritméticas.


La instrucción ADD, MUL y DIV

3.3.3.De algunos ejemplos de instrucciones lógicas.


(AND, OR, OR exclusivo y NOT)

3.3.4.De algunos ejemplos de instrucciones de transferencia de datos.


MOV, PUSH y POP,MOVX

3.3.5.De algunos ejemplos de instrucciones booleanas.


SETB, CLR, JC, JB, JBC

3.3.6.De algunos ejemplos de instrucciones de bifurcación de programa.


JMP: SJMP, LJMP y AJMP
3.3.7. Muestre como el contenido de la dirección interna 50H puede transferirse al
Acumulador mediante el direccionamiento indirecto.
MOV R1,#50H

MOV A,@R1

3.3.8. Muestre dos maneras de transferir el contenido del acumulador a la dirección de


Memoria RAM interna 3FH.
1)

MOV R0, # 3FH

MOV @R0,A

2)

MOV @3FH, A

3.3.9. Calcula el desplazamiento relativo para la instrucción SJMP ADELANTE Si está ubicada en las
direcciones 0400H y 0401H, y la etiqueta ADELANTE representa la instrucción en la dirección
41FH?
Desplazamiento = dirección_destino – dirección_origen. la dirección que va después de
la instrucción de salto, ósea el
final de la direcciones en la
Desplazamiento = 41FH - 0402H = 1DH
memoria del salto más uno.

3.3.10. Calcula el desplazamiento relativo para la instrucción


SJMP ATRÁS Si está ubicada en las direcciones A050H y A051H, y la etiqueta ATRAS representa la
instrucción en la dirección 9FE0H?
El desplazamiento para esta
dirección_origen + desplazamiento = dirección_destino instrucción de salto es F6H, que es
A052H + FFF6H = A048H un número negativo, del
desplazamiento ya que es 16 bits,
3.3.11. Cuál es la diferencia entre las siguientes dos instrucciones? así que lo expresaremos como un
número de 16 bits: FFF6H y se
INC A
suma
Incrementa la variable indicada (Acumulador) por 1(incrementa código en ASCII)

INC ACC

3.3.12. Asuma que el acumulador contiene el valor 5AH. ¿Cuál es el resultado en el acumulador A
después de ejecutar la siguiente instrucción? XRL A , # 0FFH

acumulador = 5AH = 01011010 (XOR lógico)

# 0FFH = 11111111 = A5

Potrebbero piacerti anche