examen2.pdf

ELECTRÓNICA DIGITAL II                                                                                                  

Views 101 Downloads 3 File size 70KB

Report DMCA / Copyright

DOWNLOAD FILE

  • Author / Uploaded
  • a_u_x
Citation preview

ELECTRÓNICA DIGITAL II                                                                                                                                             1 

PROBLEMAS RELACIONADOS CON EL CONJUNTO DE INSTRUCCIONES DEL 8051  1. ¿Cuál es el código hexadecimal en bytes para las instrucciones siguientes?  a.  INC   DPTR  b. MOV  A,#‐2  c. CJNE  A,#0DH,$+3  d. PUSH   ACC  e. SETB  P2.2  f. MOV  DPH,#84H  g. JNB  ACC.0,$  h. POP  DPH  i. MOV  A,#’=’  j. XLR  A,#’S’  k. CLR  C  2. ¿Qué instrucciones representan los siguientes bytes de código de máquina? (CADA INCISO  ES UNA SOLA INSTRUCCIÓN)  a. 7EH, 02H  b. C2H, 97H  c. 13H  d. F6H  e. 22H  f. 90H, 80H, 30H  g. EFH  h. 12H, 80H, 50H  i. F5H, 8DH  j. 04H  k. 83H  l. 75H, 8AH, E7H  3. La instrucción siguiente es del 8051:  MOV  50H,#0FFH  a. ¿Cuál es el código de operación para esta instrucción?  b. ¿Cuántos bytes tiene la instrucción?  c. Explique el propósito de cada byte de la instrucción.  d. ¿Cuántos ciclos de máquina se necesitan para ejecutar la instrucción?  4. ¿Cuál es el offset relativo para la instrucción  SJMP   ADELANTE    si la instrucción está en las direcciones 2FF0H y 2FF1H, y la etiqueta ADELANTE representa  la localidad 041FH?  5. ¿Cuál es el offset relativo para la instrucción  SJMP   ATRAS  DR. JAVIER VEGA PINEDA                                                                                               INSTITUTO TECNOLÓGICO DE CHIHUAHUA 

ELECTRÓNICA DIGITAL II                                                                                                                                             2 

  si la instrucción está en las direcciones A050H y A051H, y la etiqueta ATRAS representa la  localidad 9FE0H?  6. Asuma que la instrucción   AJMP   ADELANTE        está en la memoria de código en las  direcciones 2FF0H y 2FF1H, y la etiqueta ADELANTE corresponde a una instrucción en la  dirección  2F96H. ¿Cuál es el código de máquina para esta instrucción?    7. Asuma que la instrucción   ACALL   FACTORIAL        está en la memoria de código en  las direcciones 06F4H y 06F5H, y la etiqueta FACTORIAL corresponde a una subrutina  empezando en la dirección 07ABH. ¿Cuál es el código de máquina para esta instrucción?    8. En un cierto punto de un programa, se desea saltar a la etiqueta EXIT si el acumulador es  igual al código ASCII de la letra ‘Q’ o ‘q’, de lo contrario que el programa continúe sin  saltar. ¿Qué instrucción(es) debería(n) de usarse?    9. La instrucción     SJMP   BACK    está en la memoria de código en la  dirección 0100H y 0101H y la etiqueta BACK corresponde a una instrucción que está en la  dirección 00AEH. ¿Cuál es el código hexadecimal de la instrucción?    10. La instrucción     CJNE R7, #’Z’, NOCERO    está su código de máquina en las  direcciones 022AH a 022CH. ¿Cuáles son los bytes en lenguaje de máquina para esta  instrucción?    11. ¿Qué hace la siguiente instrucción?    SETB  0D7H    12. ¿Cuál es la diferencia entre las siguientes dos instrucciones?  INC   A   e   INC   ACC     13. ¿Cuáles son los bytes de lenguaje de máquina para la siguiente instrucción?  LJMP   MAIN   si la etiqueta MAIN representa la dirección A0F6H?    14. Asuma que el acumulador contiene 5AH. ¿Cuál es el contenido del acumulador después de  la instrucción siguiente?:    a. XRL  A,#0FFH  b. ORL  A,#47H  c. RLC  A  (con PSW = 0C0H antes de ejecutar la instrucción)  d. RRC  A  (con PSW = 78H antes de ejecutar la instrucción)  e. Después de la secuencia de operaciones:  MOV  A,#7FH  MOV  50H,#29H  MOV  R0,#50H  XCHD  A,@R0   

DR. JAVIER VEGA PINEDA                                                                                               INSTITUTO TECNOLÓGICO DE CHIHUAHUA 

ELECTRÓNICA DIGITAL II                                                                                                                                             3 

15. La memoria interna del 8051 está inicializada como sigue, inmediatamente antes de la  ejecución de una instrucción RET:  Dirección interna Contenido . SFRs Contenido 0B  9A    SP  0B  0A  78    PC  0200  09  56    A  55  08  34        07  12          ¿Cuál es el contenido del PC después de que la instrucción RET se ejecuta?    16. Una subrutina del 8051 se muestra a continuación:  SUB:  MOV  R0,#20h  LOOP:  MOV  @R0,#0    INC  R0    CJNE  R0,#80H,LOOP    RET  a. ¿Qué hace la subrutina?  b. ¿Cuántos bytes en memoria ocupa la subrutina?    Seleccionados del libro: “The 8051 Microcontroller, 3rd Ed”, I. Scott MacKenzie, PH, 1999.   

DR. JAVIER VEGA PINEDA                                                                                               INSTITUTO TECNOLÓGICO DE CHIHUAHUA