Sunteți pe pagina 1din 13

Capitulo 2 Cuestionario y problemas 1. Qu logran las siguientes instrucciones MOV? MOV AX, BX. MOV BX, AX.

, AX. MOV BL, CH. MOV ESP, EBP. MOV AX, CS.

2. Enumere los registros de 8 bits que se utilizan para direccionamiento de registro. 3. Enumere los registros de 16 bits que se utilizan para direccionamiento de registro. 4. Enumere los registros de 32 bits que se utilizan para direccionamiento de los registros en los microprocesadores 80386 y 80486. 5. Enumera los registros de segmentos de 16 bits utilizados direccionamiento de registro con MOV, PUSH Y POP. 6. Qu hay de incorrecto en la instruccin MOV BL, CX? 7. Qu hay de incorrecto en la instruccin MV DS, SS? 8. Selecciones las instrucciones para cada una de las siguientes tareas. Cargar EBX en EDX. Cargar BL en CL. Cargar SI en BX. Cargar DS en AX. Cargar AL en AH. con el

9. Selecciones las instrucciones para cada una de las siguientes tareas. Mover de 12H hacia AL. Mover de 123AH hacia AX. Mover de 0CDH hacia CL. Mover de 1000H hacia SI. Mover de 1200A2H hacia EBX.

10. Qu smbolo especial se utiliza, a veces para denotar datos inmediatos?

11. Qu es un desplazamiento? cmo determina la direccin de memoria en una instruccin MOV 2000H, AL? 12. Qu indican los smbolos (corchetes)? 13. Qu indica la direccin 2000:3000? 14. Supngase que DX = 0200H, BX = 0300H y DI = 400H. determine la direccin de la memoria a la cual se acerca con cada una de las siguientes instrucciones, en el supuesto de funcionamiento en modo real. MOV AL, 1234H. MOV EAX, BX. MOV DI, AL.

15. Qu hay de incorrecto en una instruccin MOV BX, DI? 16. Seleccione una instruccin que requiera BYTES PTR. 17. Seleccione una instruccin que requiera WORD PTR. 18. Seleccione una instruccin que requiera DWORD PTR. 19. Explique la diferencia entre la instruccin MOV BX, DATO y la instruccin MOV BX, OFFSET DATO. 20. Dado que DS = 1000H, SS = 2000H, BP = 1000H y DI = 0100H, determine la direccin de la memoria que accesa cada una de las siguientes instrucciones en el supuesto de funcionamiento en modo real. MOV AL, (BP + DI). MOV CX, DI. MOV EDCX, BP.

21. Dado que DS = 1200H, BX = 0100H y SI = 0250H, determine la direccin de la memoria que accesa cada una de las siguientes instrucciones en el supuesto de funcionamiento en modo real. MOV 100H, DL. MOV (SI + 100H), EAX. MOV DL, (BX + 100H).

22. Dado que DS = 1100H, BX = 0200H, LISTA = 0250H y SI = 0500H, determine la direccin de la memoria que accesa cada una de las siguientes instrucciones en el supuesto de funcionamiento en modo real. MOV LISTA SI, EDX. MOV CL, LISTA (BX + SI). MOV CH, (BX + SI).

23. Dado que DS = 1300H, SS = 1400H, BP = 1500H y SI = 0100H, determine la direccin de la memoria que accesa cada una de las siguientes instrucciones en el supuesto de funcionamiento en modo real. MOV EAX, (BP + 200H). MOV AL, (BP + SI 200H). MOV AL, (SI 0100H).

24. Cul registro de base direcciona los datos en el segmento de pila? 25. Dado EAX = 00001000H, EBX = 00002000H y DS = 0010H, determine las direcciones que accesan cada una de las siguientes instrucciones en el supuesto de funcionamiento en modo real. MOV ECX, (EAX, EBX). MOV (EAX + 2*EBX), CL. MOV DH, (EBX + 4*EAX + 1000H).

26. Enumere los tres modos de direccionamiento de la memoria de programa. 27. Cuntos bytes de memoria almacenan una instruccin para salto directo lejano? Qu se almacena en cada uno de estos bytes? 28. Cul es la diferencia entre un salto entresegmento y uno intrasegmento? 29. Si en un salto cercano se utiliza un desplazamiento de 16 bits con signo, Cmo puede brincar a cualquier localidad de memoria dentro del segmento de cdigo actual? 30. Qu es un brinco largo o lejano? 31. Si se almacena una instruccin JMP en la localidad 100H en la memoria dentro del segmento de cdigo actual, no puede ser un salto __________ si va a saltar a una localidad 200H en la memoria, dentro del segmento actual de cdigo. 32. Muestre cual instruccin JMP ensambla (corta, cercana o lejos) si la instruccin JMP ALLA esta almacenada en una direccin 10000H en la memoria y si la direccin de ALLA es: 10020H. 11000H. 0FFFEH. 30000H.

33. Forme una instruccin JMP que brinde a la direccin a que apunta el registro BX. 34. Relacione una instruccin JMP que brinde a una localidad accin almacenada en la memoria en una tabla de localidad. Supngase que es un JMP cercano.

35. Cuntos bytes se salvan en la pila con las instrucciones PUSH? 36. Explique cmo funciona la instruccin PUSH DI. 37. Qu registr y en qu orden los coloca en la pila la instruccin PUSHA? 38. Qu logra la instruccin PUSHAD?

Capitulo 4 Cuestionario y problemas

1. Seleccione una instruccin AND que permita: Sumar BX con AX. Sumar 12H con AL. Sumar EDI con EBP. Sumar 22H con CX. Sumar los datos seleccionados por SI con AL. Sumar CX a los datos almacenados en la localidad RANA en la memoria. 2. Qu hay de incorrecto en la instruccin ADD ECX, AX? 3. es posible sumar CX con DS con la instruccin ADD? 4. Si AX = 1001H y DX = 20FFH enumere la suma y el contenido de cada registro de bandera, despus de que se ejecute la instruccin ADD AX, DX. 5. Desarrolle una secuencia corta de instrucciones para sumar AL, BL, CL, DL y AH. Salve la suma en el registro DH. 6. Desarrolle una secuencia corta de instrucciones para sumar AX, BX, CX, DX y SP. Salve la suma en el registro DI. 7. Desarrolle una secuencia corta de instrucciones para sumar ECX, EDX y SI. Salve la suma en el registro EDI. 8. Seleccione una instruccin para sumar BX con DX y que tambin sume el contenido de la bandera (c) de acarreo al resultado. 9. Seleccione una instruccin que sume un 1 al contenido del registro SP. 10. 11. Qu hay de incorrecto en la instruccin INC BX? Seleccione una instruccin SUB que permita: Restar BX de CX. Restar OEEH de DH.

Restar DI de SI. Restar 3322H de EBP. Restar los datos direccionado por SI de CH. Restar los datos almacenados 10 palabras despus de la localidad direccionada por SI, de DX. Restar AL de la localidad RANA en la memoria.

12. Si DL = OFEH y BH = 72H, enumere la diferencia una vez que se reste BH de DL y muestre el contenido de los bits del registro de bandera. 13. Escriba una secuencia corta de instrucciones para restar los nmeros que hay en DI, SI y BP, del registro AX. Almacene la diferencia en el registro BX. 14. 15. 16. Seleccione la instruccin para restar 1 del registro EBX. Explique lo que se logra con la instruccin SBB (DI - 4), DX. Explique la diferencia entre una instruccin SUB y una CMP.

17. Cuando se multiplica dos nmeros de 8 bits, en qu registro se encontrara el producto? 18. Cuando se multiplica dos nmeros de 16 bits, en qu registro se encontrara el producto? Indique cual registro contiene las partes ms o menos significativas del producto. 19. Cuando se multiplican dos nmeros Qu ocurre con los bits de banderas O y C? 20. 21. Dnde se almacena el producto de una instruccin MUL EDI? Cul es la diferencia entre la instruccin IMUL y MUL?

22. Escriba una secuencia de instrucciones que eleve al cubo el nmero de 8 bits que se encuentra en DL, en el supuesto de que el contenido inicial de DL sea 5. Compruebe que su resultado sea un nmero de 16 bits. 23. Describa el funcionamiento de la instruccin IMUL BX, DX, 100H.

24. Cuando se dividen dos nmeros de 8 bits, en cul registro se encuentra en dividendo? 25. Cuando se dividen dos nmeros de 16 bits, en cul registro se encuentra el cociente? 26. 27. 28. Qu tipo de errores se detectan durante la divisin? Explique la diferencia entre las instrucciones IDIV y DIV. en donde se encuentra el residuo despus de una divisin de 8 bits?

29. Escriba una secuencia corta de instrucciones para dividir el numero que hay en BL, entre el numero que hay en CL y luego, multiplique el resultado por

2, la respuesta final debe ser un numero de 16 bits almacenado en el registro DX. 30. Qu instrucciones se utilizan con las operaciones aritmticas con BCD? 31. Qu instrucciones se utilizan con las operaciones aritmticas con ASCII? 32. Explique la forma en que la instruccin AAM convierte de binario a BCD.

33. Desarrolle una secuencia de instrucciones para sumar el numero BCD de 8 dgitos en AX y BX con el numero BCD de 8 dgitos en CX y DX. (AX y CX son registros ms significativos. El resultado despus de la suma se debe encontrar en CX y en DX). 34. Seleccione una instruccin AND que permita: BX y DX y salvar el resultado en BX. 0EAH con DH. DI con BP y salvar el resultado en DI. 1122H con EAX. Los datos direccionados por BP con CX y salva el resultado de la memoria. Los datos almacenados en las cuatro palabras antes de la localidad direccionada por SI, con DX y salvar el resultado en DX. AL con la localidad de memoria QUE y salvar el resultado en la localidad QUE.

35. Desarrolle una secuencia corta de instrucciones que borren los tres bits ms a la izquierda en DH, sin cambiar DH y almacenar el resultado en BH. 36. Seleccione una instruccin OR que permita: Ejecutar el OR lgico de BL con AH y salvar el resultado en AH. Ejecutar el OR lgico de 88H con ECX. Ejecutar el OR lgico de DX con SI y salvar el resultado en SI. Ejecutar el OR lgico de 1122H con BP. Ejecutar el OR lgico de los datos direccionado por BX, con CX y salvar el resultado en la memoria. Ejecutar el OR lgico de los datos almacenados 40 bytes despus de la localidad direccionada por BP, con AL y salvar el resultado en AL. AH con la localidad CUANDO de la memoria 6, salva el resultado en CUANDO.

37. Desarrolle una secuencia corta de instrucciones que haya uno a los 5 bits mas a la derecha de DI, sin cambiar DI, salve el resultado en SI. 38. Seleccione la instruccin XOR (os exclusiva) que permita: Ejecutar el XOR lgico de BH con AL y salvar el resultado en AH. Ejecutar el XOR lgico de 99H con CL. Ejecutar el XOR lgico de DX con DI y salvar el resultado en DX. Ejecutar el XOR lgico de 1A23H con ESP. Ejecutar el XOR lgico de los datos direccionados por EBX, con DX y salvar el resultado en la memoria. Ejecutar el XOR lgico de los datos almacenados 30 palabras despus de la localidad direccionada por BP, con DI y salvar el resultado en DI. Ejecutar el XOR lgico de DI con la localidad de memoria BIEN y salvar el resultado en DI.

39. Desarrolle una secuencia de instrucciones que establezca los 4 bits ms a la derecha de AX, borre los 3 bits ms a la izquierda de AX e invierta los bits 7, 8 Y 9 de AX. 40. 41. CH. 42. 43. 44. Describa la diferencia entre AND y TEST. Seleccione una instruccin que pruebe la posicin 2 de bits del registro Cul es la diferencia entre un NOT y un NEG? Seleccione la instruccin correcta para a cavo las siguientes tareas: Recorrer a DI 3 lugares a la derecha y mover los ceros dentro de los bits ms a la izquierda. Recorrer a todos los bits de AL un lugar a la izquierda y comprobar que se transfiere un 0 dentro de la posicin de bits ms a la derecha. Hacer la rotacin de todos los bits de AL 3 lugares a la izquierda. Hacer la rotacin de la bandera acarreo a la derecha un lugar atreves por EDX. Rotar el registro DH un lugar a la derecha y comprobar que el signo del resultado es el mismo que el del nmero original. Qu logra la instruccin SCASB?

45. Para las instrucciones en cadena, DI siempre direcciona los datos que estn en el segmento _______________. 46. 47. Cul es la finalidad del bit de bandera D? Explique lo que efecta el prefijo REPE.

48. Qu condicin o condiciones terminaran la instruccin repetida para cadena REPNE SCASB? 49. Describa lo que se logra con la instruccin CMPSB.

50. Desarrolle una secuencia de instrucciones que rastreen una seccin de 300H bytes de la memoria llamada LISTA en busca de un 66H.

Captulo 2

1. Lo que se logra con las instrucciones MOV es copiar o cargar los datos de origen y llevarlos a su nuevo destino.

2. Registros de 8 bits(AL,AH,BL,BH,CL,CH,DL,DH) 3. Registro de 16 bits (AX, BX, CX, DX, SP, BP, SI O DI). 4. Registros de 32 bits(EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI) 5. (AX, BX, CX, DX, SP, BP, SI O DI). 6. No se puede utilizar registros mixtos; o sea de diferentes tamaos 7. Que no se puede direccionar de un segmento a otro y la instruccin MV no existe.

8. MOV EDX,EBX MOV CL, BL MOV BX, SI MOV AX, DS MOV AH, AL 9. La instruccin MOV. 10. El smbolo del # 11. Un desplazamiento es un nmero que le suma al registro del arreglo. 12. Es un modo de direccionamiento de memoria 13. 2000H representa una direccin de segmento y 3000H representa un desplazamiento. 14. 03234H, 02300H, 02400H 15. Ya que tiene en el origen un ndice de destino y eso no se puede. 16. MOV BYTE PTR[DI], 3 17. MOV WORD PTR[DI], 5 18. MOV DWORD PTR [BX], 23456H 19. MOV BX, DATOS, carga el contenido de la localidad DATO en BX. Y MOV BX, OFFSET DATOS, copia la direccin de DATO y la pone en BX. 20. 21100H, 10100H, 21000H 21. .. 22. 11750H, 11950H, 11700H 23. ..... 24. Bp 25. .. 26. Directo, relativo y indirecto

27. 4 bytes y almacena el cdigo de operacin. 28. El cambio de intersegmentado permite que el programa se mueva a cualquier lugar de la memoria, mientras el cambio intrasegmento le permite mover a cualquier localidad dentro del segmento de cdigo actual 29. Empleando un salto directo. 30. Un cambio lejano permite moverse a cualquier localidad de memoria 31. Salto largo. 32. Corto, cercano, corto y lejano 33. JMP BX. 34. JMP NEAR PTR[BX] asumiendo que BX contiene una tabla de direcciones desplazadas 35. Se puede salvar palabras, ms no bytes. 36. La instruccin PUSH [DI] obtiene una palabra de la localidad de memoria en el segmento de la informacin direccionada por DI 37. Los registros son (AX, BX, CX, DX, SP, BP, SI, DI).en la pila. 38. La instruccin PUSHAD empuja a EAX, EBX, ECX, EDX a la pila

Capitulo 4 1. ADD BX,AX ADD AL,12H ADD EDI,EBP ADD CX,22H ADD AL, [SI] ADD CX, RANA

2.

No se pueden utilizar tamaos mixtos de registros e informacin.

3. NO ES POSIBLE POR Q LOS REGISTROS DE SEGMENTO SOLO PUEDEN TRANSFERIR 4. SUM = 2100H, Z = 0, C = 0, AC = 1, P = 1, S = 0 Y O = 0.

5. ADD DH,AL ADD DH,BL ADD DH,CL ADD DH,DL

MOV DH,AH 6. ADD AX,BX ADD AX,CX ADD AX,DX ADD AX,SP MOV DI,AX 7. 8. ADC DX,BX 9. ... 10. No tiene manera de identificar la informacin de la memoria con un byte, palabra o palabra doble. 11. ..

12. Diferencia = 81H, Z=0, C=0, AC=O, P=1, S=1 Y 0=0. 13. SUB AX,DI SUB AX, SI SUB AX, SP MOV BX, AX

14. DEC EBX. 15. SBB[DI-4] SE RESTA DEL CONTENEDOR DIRECCIONADO DE OI-4 E CONTENEDORA DX Y EL ACARREO 16. SUB y CMP realizan restas y las banderas cambian para cada instruccin, pero CMP descarga el resultado. 17. AX 18. DX y AX 19. O Y C CAMBIAN Y PRODUCEN RESULTADOS PREDECIBLES 20. EDX, EAX. 21. IMUL=MULTIPLICA ENTEROS CON SIGNO Y EL MUL=ENTEROS SIN SIGNO 22. MOV AL, DL MUL DL MUL DL

MOV DX, AX 23. IMUL BX, DX, 100H= MULTIPLICA 100H CON DX Y DEJA UN PRODUCTO DE 16 BITS 24. AX 25. EL COCIENTE EN AX 26. Divisin por cero y desbordamiento 27. IDIV= ENTERO SON SIGNO DIV= ENTERO SIN SIGNO 28. AH 29. MOV BL,NUM DIV CL MOV RES AL MOV DX, 2 MUL DX. 30. DAA, DAS. 31. . 32. AAM divide el contenido de AX por 10 y deja el resultado en AH y el restante de AL. 33. . 34. a. AND BX, DX. B. AND DH, OEAH. c. AND DI, BP. D. AND EAX, 1122H. e. AND BP, CH y AND DX, SI-8. 35 36. a. OR AH, BL. b. OR ECX, 88H. d. OR SI, DX. e. OR BP, 1122H. f. OR AL, BP+40. g. OR WHEN, AH 37.. 38. a. XOR AH, BH.

b. XOR CL, 99H. c. XOR DX, DI. d. XOR ESP, 1A23H. e. XOR EBX, DX. f. XOR DI, BP+60. g. XOR DI, WELL. 39.. 40. tanto AND y TEST realizan la operacin AND y cambian las banderas, pero el resultado ser descartado por la instruccin TEST. 41.. 42. la instruccin NOT realiza el complemento de los 1s, mientras la instruccin NEG realiza el complemento de los 2s. 43. 44. la instruccin SCASB comparara a AL con la localidad de memoria del segmento adicional direccionado por el registro DI. 45. 46. la Bandera D = 0 Para seleccionar autoincremento y la bandera D = 1 para seleccionar autorreduccin para los apuntadores SI o DI de la instruccin de la cadena. 47. 48. la instruccin REPNE SCASB termina si CX = 0 o si AL = al contenido de la localidad de memoria de segmento adicional direccionado por DI. 49 50. MOV DI, OFFSET LIST MOV CX, 300H MOV AL, 66H REPNE SCASB

S-ar putea să vă placă și