Compile las preguntas del examen final
Preguntas de repaso y respuestas de referencia del examen final del segundo semestre del año académico 2005-2006
1. Completa los espacios en blanco
1. convertido a un número binario como ()2, convertido a un número hexadecimal es ()16.
2. Las instrucciones en la computadora se componen de dos partes: () y (código de dirección).
3. El 8086 tiene 20 buses de direcciones y el rango de direccionamiento es ( ) bytes.
4. La dirección de la siguiente instrucción a ejecutar se almacena en el registro ( ).
5. Escribir las instrucciones devueltas por las tres subrutinas del PC IBM (RET), (IRET) y (IRETD).
6. El programa fuente en lenguaje ensamblador debe ser ensamblado por el programa ( ) y conectado por el programa ( ) para generar un archivo ejecutable.
7. La dirección de una determinada unidad de memoria se expresa como 2314H: 4132H, luego su dirección de desplazamiento = (4132), dirección física = ()
8. es lo mismo que () las instrucciones se usan juntas.
9. Para ver y modificar el contenido de la unidad de memoria en la pantalla, puede utilizar los comandos DEBUG ( ) y ( ).
10. (AL)=BFH, si desea proteger los bits 0 y 1, debe ejecutar la instrucción ( ); la instrucción ( )
11. El conjunto de macros es adecuado para su uso en segmentos de subfunciones de () y ();
2 Preguntas de opción múltiple.
1. Suponga que la longitud de la palabra es N=16, número con signo. El código de complemento de 7AE9H se expresa como ( )
A. 9EA7H B. 76C4H C. 8417H D. 7AE9H
2 Comparando los números con signo 3260H y 0B425H, la relación de tamaño es ( )
A. que D. No se puede comparar
3. La dirección de destino transferida en la instrucción JMP WORD PTR [BX][DI] es ( )
A. 16 d x (DS) + (BX) + (DI) B. 16d x (ES) + (BX) + (DI)
C. 16d x (SS) + (BX) + (DI)D. 16d x (CS) + (BX) + (DI)
4. En la instrucción MOV AX, [1000H], el modo de direccionamiento del operando fuente es ( )
A. . Dirígete inmediatamente a B. Direccionamiento directo C. Direccionamiento indirecto intrasegmento D. Direccionamiento de registro
5. Lo que se almacena en la tabla de vectores de interrupción es ( )
A. Número de tipo de interrupción B. Dirección del punto de interrupción C. Rutina de servicio de interrupción D. Dirección de entrada de la rutina de servicio de interrupción
6. La instrucción de transferencia condicional en el sistema de instrucción en lenguaje ensamblador 8086 puede transferir el programa a ( )
A en cualquier lugar dentro del segmento B. La dirección de desplazamiento de la instrucción es: 32768~+32767
C. La dirección de desplazamiento de la instrucción es -128~+127. D. Fuera del segmento
7. son ( )
A DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB;
8. = 87H, ejecute ADD AL, después de 0F5H, el estado de S, Z, C, O, P es ( )
A. SF=0, ZF=0, CF=1, OF=1, PF=0 B. SF=1, ZF=0, CF=1, OF=0, PF=1
C. SF=0, ZF=0, CF=0, OF=1, PF=0 D. SF=1, ZF=0, CF=1, OF=1, PF=1
9 Instrucción de comparación CMP( )
A. Dedicado a la comparación de números con signo B. Dedicado. a comparación de números sin signo
C. Dedicado a la comparación de cadenas D. No distingue si el objeto de comparación es un número con signo o un número sin signo
10 La instrucción de transferencia de datos tiene una clara. efecto en el bit de bandera El impacto es ( )
A. Nada de esto afecta; B. Todos los afectados;
C. Excepto SAHF y POPF, nada más se verá afectado D. Excepto los bits de bandera de control, nada más afectará
3 Preguntas de verdadero o falso
( )31 La subrutina llamada entre segmentos debe ser descrita como un procedimiento remoto por el pseudo. operación LEJOS.
( )32. La PC utiliza bits como unidad mínima de direccionamiento.
( )33. Cuando SRC es un valor inmediato, DST puede utilizar el direccionamiento de memoria.
( )34. Puede utilizar la directiva ORG para especificar la dirección de desplazamiento de cada segmento lógico.
( )35. LOOPE/LOOPZ se transfiere a la etiqueta cuando es igual/cero y su condición de salida es (CX)=0 o ZF=0.
( )36. POP IP
( )37. Supongamos que 327FH y 0BFFFH son la representación en complemento a dos de números con signo, entonces 327FH < 0BFFFH
( ) 38. Las referencias cruzadas de símbolos entre múltiples módulos deben explicarse utilizando las pseudoinstrucciones PUBLIC y EXTRN
( )39. AGREGAR [ SI], 50
4. Preguntas de análisis del programa
1 A DW 1234H
B DW 5678H
PUSH A<. /p >
PUSH B
POP A
POP B
Respuesta: Después de ejecutar el segmento del programa anterior, (A) = , (B ) =
2. Analice el siguiente segmento del programa,
MOV AL, 200
SAR AL, 1
MOV BL, AL.
MOV CL, 2
SAR AL, CL
ADD AL, BL
Después de ejecutar el segmento del programa (BL) = (AL) =
p>3. STRING DB 'ABCDEFGHIJ'
MOV AH,01; Ingrese caracteres del 1 al 9 desde el teclado
INT 21H
AND AL, 0FH
DEC AL
XOR AH, AH
MOV BX, CADENA DE DESPLAZAMIENTO
AÑADIR BX, AX
MOV BL, [BX]
MOV AH, 02H; salida de pantalla
INT 21H
Intenta responder:
(1) ¿Cuál es la función del segmento de programa anterior?
(2) Si se ingresa el carácter '4' desde el teclado, ¿cuál será el resultado del segmento del programa?
4. Existen los siguientes procedimientos:
AND AL, AL
JZ BRCH1
RCR AL, 1
JZ BRCH2
RCL AL, 1
INC AL
JZ BRCH3
Después de ejecutar el programa anterior, intente responder :
(1) Cuando (AL)=, el programa cambia a BRCH1
(2) Cuando (AL)=, el programa cambia a BRCH2
(3) Cuando (AL) )=, el programa cambia a BRCH3
5. ¿Qué logra el siguiente segmento del programa
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(? )
┇
MOV CX, 10
MOV BX, 20
MOV SI, 0
MOV DI, 0
SIGUIENTE: MOV AL, DAT1 [BX] [SI]
MOV DAT2 [DI], AL
INC SI
INC DI
LOOP NEXT
6. Después de ejecutar el siguiente segmento del programa, ¿cuál es el contenido de AL?
MOV BX, 00FFH
Y BX
, 0FFFH
OR BX, 0F0FH
XOR BX, 00FFH
7. Después de ejecutar las siguientes instrucciones, ¿cuál es el contenido del registro AX? p>
INICIO DW 10H, 20H, 30H, 40H, 50H
EE1 DW 3
┇
MOV BX, INICIO COMPENSADO
ADD BX, EE1
MOV AX, [BX]
8. ¿Intenta analizar la función del siguiente segmento del programa
CMP AL,? 'A'
JC OTRO
CMP AL, 'Z'+1
JNC OTRO
JMP LETRA
┇
OTROS: ┇
CARTA: ┇
5. Programa de preguntas para completar los espacios en blanco
1. Supongamos que AX y BX tienen uno como número positivo y uno como número negativo. Se completa el siguiente segmento del programa y el número positivo se envía a la unidad PLW para su almacenamiento. Complete las instrucciones que faltan en el programa.
PRUEBA AX, 8000H
MOV PLW, BX
JMP HECHO
K1:
HECHO:
2. Están disponibles los siguientes segmentos de datos:
SEGMENTO DE DATOS
STR1 DB'ABCDEFGHIJKL'
COUNT EQU-STR1
BUF DB COUNT DUP (0)
FIN DE DATOS
El siguiente segmento del programa es transferir inversamente todos los caracteres en STR1 al búfer BUF (es decir, el primer carácter en STR1 Enviado a la última unidad de BUF, el último carácter en STR1 se envía a la primera unidad de BUF). Intente completar las instrucciones en blanco en el programa.
MOV SI, OFFSET BUF-1
MOV DI, OFFSET BUF
MOV CX, COUNT
__ __
LOOP:MOVSB
__ __
LOOP LOP
o ()
6. Preguntas de programación
1. La sección de programación calcula SUM=∑ai=a1+a2+...+a20. Se sabe que a1...a20 se almacena en el área de datos con BUF como la primera dirección i=1. Ocupa dos bytes y la suma SUM también es de dos bytes. (Es necesario escribirlo en una estructura de bucle y el control de bucle utiliza control de conteo). (No es necesario escribir el formato del programa fuente para esta pregunta. Solo necesita escribir la secuencia de instrucciones relevante requerida por la pregunta de la prueba).
2. los datos se almacenan en la unidad DAT y los datos SQRTAB El área almacena valores cuadrados del 0 al 9. Utilice el método de búsqueda directa de tabla para escribir una subrutina para encontrar el valor cuadrado correspondiente a los datos en la unidad DAT. en SQRTAB y enviarlo a la unidad SQR. Y escriba el método de llamada del programa principal.
Los segmentos de datos son los siguientes:
SEGMENTO DE DATOS
DAT DB XXH
SQRTAB DB 0, 1, 4, 9, ... 81
DB SQR?
LOS DATOS TERMINAN
3. Intente escribir un segmento de programa que desplace hacia la derecha las palabras dobles en DX y AX en cuatro bits.
4. Defina un área de datos, que contenga datos de cuatro caracteres de 23H, 24H, 25H y 26H. Copie esta área de datos 20 veces y muestre los resultados de la copia.
Preguntas de repaso y respuestas de referencia del examen final del segundo semestre del año académico 2005-2006
1. Completa los espacios en blanco
1. convertido a un número binario como (101110001) 2, convertido a un número hexadecimal es (171) 16.
2. Las instrucciones en la computadora se componen de dos partes (código de operación) y (código de dirección).
3. El 8086 tiene 20 buses de direcciones y el rango de direccionamiento es (1 M) bytes.
4. La dirección de la siguiente instrucción a ejecutar se almacena en el registro (registro puntero de instrucción).
5. Escribir las instrucciones devueltas por las tres subrutinas del PC IBM (RET), (IRET) y (IRETD).
6. El programa fuente en lenguaje ensamblador debe ensamblarse mediante un programa (ensamblador) y conectarse mediante un programa (de conexión) para generar un archivo ejecutable.
7. La dirección de una determinada unidad de memoria se expresa como 2314H: 4132H, luego su dirección de desplazamiento = (4132), dirección física = (27272H)
8. El prefijo es el mismo que () las instrucciones se usan juntas.
9. Para ver y modificar el contenido de la unidad de memoria en la pantalla, utilice los comandos DEBUG (D) y (E).
10. (AL)=BFH, si desea enmascarar los bits 0 y 1, debe ejecutar la instrucción (AND AL,3F si desea invertir los bits 0 y 1); , puede utilizar la instrucción (XOR AL,3F)
11. El conjunto de macros es adecuado para su uso en secciones de subfunciones (programas cortos) y (muchos parámetros);
2 Preguntas de opción múltiple
1. Suponga que la longitud de la palabra N=16, la representación en complemento del número con signo 7AE9H es (D)
A. 9EA7H B. 76C4H C. 8417H D. 7AE9H
2 Comparando los números con signo 3260H y 0B425H, la relación de tamaño es (C)
A. Mayor que D No se puede comparar
3. La dirección de destino transferida en la instrucción JMP WORD PTR [BX][DI] es (A)
A. 16 d x (DS) + (BX) + (DI) B. 16d x (ES) + (BX) + (DI)
C. 16d x (SS) + (BX) + (DI)D. 16d x (CS) + (BX) + (DI)
4. En la instrucción MOV AX, [1000H], el modo de direccionamiento del operando fuente es (B)
A. Dirígete inmediatamente a B. Direccionamiento directo C. Direccionamiento indirecto intrasegmento D. Direccionamiento de registro
5. Lo que se almacena en la tabla de vectores de interrupción es (D)
A. Número de tipo de interrupción B. Dirección del punto de interrupción C. Rutina de servicio de interrupción D. Entrada de rutina de servicio de interrupción Dirección
6. La instrucción de transferencia condicional en el sistema de instrucción en lenguaje ensamblador 8086 puede transferir el programa a (A)
A en cualquier lugar dentro del segmento B. Desplazamiento de la instrucción La dirección es -32768~+32767
C. La dirección de desplazamiento de la instrucción es -128~+127. Fuera del segmento
7. las declaraciones de cadenas son (D)
A DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB;
8. Si (AL) = 87H, ejecute ADD AL, después de 0F5H, el estado de S, Z, C, O, P es ( C )
A. SF=0, ZF=0, CF=1, OF=1, PF=0 B. SF=1, ZF=0, CF=1, OF=0, PF=1
C. SF=0, ZF=0, CF=0, OF=1, PF=0 D. SF=1, ZF=0, CF=1, OF=1, PF=1
9 Instrucción de comparación CMP( D )
A. Dedicado a la comparación de números con signo B. Dedicado a la comparación de números sin signo
C. Dedicado a la comparación de cadenas D. No distingue si el objeto de comparación es un número con signo o un número sin signo
10 Instrucciones de transferencia de datos para bits de bandera. La influencia es (D)
A. Ninguno de ellos afecta; B. Todos los afectados;
C. Excepto SAHF y POPF, los demás no se ven afectados D. Excepto los bits de bandera de control, nada más afectará
3 Preguntas de verdadero o falso
( )31 La subrutina llamada entre segmentos debe ser descrita como un procedimiento remoto por el pseudo. operación LEJOS. T
( )32. La PC utiliza bits como unidad mínima de direccionamiento. F
( )33. Cuando SRC es un valor inmediato, DST puede utilizar el direccionamiento de memoria. F
( )34. Puede utilizar la directiva ORG para especificar la dirección de desplazamiento de cada segmento lógico.
T
( )35. LOOPE/LOOPZ se transfiere a la etiqueta cuando es igual/cero y su condición de salida es (CX)=0 o ZF=0. T
( )36. POP IP F
( )37 Supongamos que 327FH y 0BFFFH son la representación en complemento a dos de números con signo, entonces 327FH < 0BFFFH F
( )39. >( )40. ADD [SI], 50 F
IV. Preguntas de análisis del programa
1.
PUSH A
PUSH B
POP A
POP B
Respuesta: Después de ejecutar el segmento del programa anterior (A ) = 5678H , (B) = 1234H
2 Analice el siguiente segmento del programa,
MOV AL, 200
SAR AL, 1
.MOV BL, AL
MOV CL, 2
SAR AL, CL
AÑADIR AL, BL
Después del programa se ejecuta el segmento (BL ) = 0E4H (AL) = 0DDH
3. STRING DB 'ABCDEFGHIJ'
MOV AH,01 ; Ingrese los caracteres 1~9 desde el teclado
INT 21H
AND AL, 0FH
DEC AL
XOR AH, AH
MOV BX, CADENA COMPENSADA
AÑADIR BX, AX
MOV BL, [BX]
MOV AH, 02H salida de visualización
INT 21H
Intente responder:
(1) ¿Cuál es la función del segmento de programa anterior? Determine qué carácter de STRING se muestra en la pantalla en función de los caracteres del '1' al '9' ingresados desde el teclado.
(2) Si se ingresa el carácter '4' desde el teclado, ¿cuál será el resultado del segmento del programa? El monitor muestra el carácter 'D'
4. Existe el siguiente programa:
AND AL, AL
JZ BRCH1
. RCR AL, 1
JZ BRCH2
RCL AL, 1
INC AL
JZ BRCH3
Después ejecutando el programa anterior, intente responder:
(1) Cuando (AL)=(AL)=0, el programa cambia a BRCH1
(2) Cuando (AL)=( AL)=1, el programa cambia a BRCH2
(3) Cuando (AL)=(AL)=-1, el programa cambia a BRCH3
5. segmento de programa realizado? Almacenar DAT1+20 Los 10 bytes que comienzan desde la unidad se mueven a las 10 unidades de almacenamiento consecutivas que comienzan desde DAT2
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(?)
┇
MOV CX, 10
MOV BX, 20
MOV SI, 0
MOV DI, 0
p>SIGUIENTE: MOV AL, DAT1 [BX] [SI]
MOV DAT2 [DI], AL
INC SI
INC DI
LOOP NEXT
6. Después de ejecutar el siguiente segmento del programa, ¿cuál es el contenido de AL? MOV BX, 00FFH
AND BX, 0FFFH
OR BX, 0F0FH
XOR BX, 00FFH
7. instrucciones, ¿cuál es el contenido del registro AX 3000H
START DW 10H, 20H, 30H, 40H, 50H
EE1 DW 3
┇ ? p>
MOV BX, OFFSET START
ADD BX, EE1
MOV AX, [BX]
8. siguiente segmento del programa Determine el contenido de AL, si es 'A' ~ Cuando 'Z' es una letra mayúscula, el programa cambia al procesamiento de LETRAS; de lo contrario, cambia al procesamiento de OTRA
CMP AL, ' A'
JC OTRO
CMP AL, ' Z'+1
JNC OTRO
JMP LETRA
┇
OTROS: ┇
CARTA: ┇
5. Programe preguntas para completar en blanco
1. que uno de los números en AX y BX es un número positivo y el otro es un número negativo. Después de completar el siguiente segmento del programa, el número positivo se envía a la unidad PLW. Para almacenarlo, complete las instrucciones que faltan en. el programa.
PRUEBA AX, 8000H
JE K1 o JZ K1
MOV PLW, BX
JMP HECHO
K1: MOV PLW, AX
HECHO:
2 Los siguientes segmentos de datos están disponibles:
SEGMENTO DE DATOS
STR1 DB'. ABCDEFGHIJKL '
COUNT EQU - STR1
BUF DB COUNT DUP (0)
DATA FINDS
El siguiente segmento del programa es para implementar Todos los caracteres se transfieren al búfer BUF en dirección inversa (es decir, el primer carácter de STR1 se envía a la última unidad de BUF y el último carácter de STR1 se envía a la primera unidad de BUF). Intente completar las instrucciones en blanco en el programa.
MOV SI, OFFSET BUF-1
MOV DI, OFFSET BUF
MOV CX, COUNT
__ CLD__
BUCLE:MOVSB
__ SUB SI, 2__
BUCLE LOP
O (STD/ADD DI, 2)
6. Preguntas de programación
1. La sección de programación calcula SUM=∑ai=a1+a2+...+a20. Se sabe que a1...a20 se almacena en la secuencia i con BUF como el primero. dirección = 1 área de datos, cada dato ocupa dos bytes y la suma SUMA también es de dos bytes. (Es necesario escribirlo en una estructura de bucle y el control de bucle utiliza control de conteo). (No es necesario escribir el formato del programa fuente para esta pregunta. Solo necesita escribir la secuencia de instrucciones relevante requerida por la pregunta de la prueba).
Segmento de programa: MOV AX, 0
MOV BX, OFFSET BUF
MOV CX, 20
LOP: AÑADIR AX, [BX]
INC BX
INC BX
LOOP LOP
MOV SUM, AX
2 Suponga que se almacena un byte de datos de -9~+9 en la unidad DAT y el valor cuadrado de 0 ~ 9 se almacena en el área de datos SQRTAB. Utilice el método de búsqueda directa de tabla para escribir una subrutina para encontrar el valor cuadrado correspondiente a los datos en la unidad DAT en SQRTAB y enviarlo a la unidad SQR. Y escriba el método de llamada del programa principal.
Los segmentos de datos son los siguientes:
SEGMENTO DE DATOS
DAT DB XXH
SQRTAB DB 0, 1, 4, 9, ... 81
DB SQR?
LOS DATOS TERMINAN
STACL1 SEGMENTO PARA STACK
DW 20H DUP (?)
STACK1 TERMINA
CÓDIGO SEGMENTO
ASUMAR CS: CÓDIGO, DS: DATOS, SS: STACK1
INICIO: MOV AX, DATOS
MOV DS, AX
┇
LLAMADA SUBROT
┇
MOV AH, 4CH
INT 21H
PROC SUBROT p>
PUSH AX
PUSH BX
LEA BX, SQRTAB
MOV AL, DAT
PRUEBA AL, 80H
JNS SIGUIENTE
NEG AL
SIGUIENTE: XLAT SQRTAB
MOV SQR, AL
POP BX p> p>
POP AX
RET
SUBROT ENDP
CÓDIGO FINALIZA
END SRART
3 Intente escribir un segmento de programa que desplace hacia la derecha las palabras dobles en DX y AX en cuatro bits.
MOV CL, 04
SHR AX, CL
MOV BL, DL
SHR DX, CL
SHL BL, CL
O BL, AH
4. Defina un área de datos que contenga datos de cuatro caracteres de 23H, 24H, 25H y 26H. Copie esta área de datos 20 veces. y se muestran los resultados de la copia.
SEGMENTO DE DATOS
PATRÓN DB 23H, 24H, 25H, 26H
PANTALLA DB 80 DUP(' '), '$'
FECHA FINALIZACIÓN
SEGMENTO DE CÓDIGO
┇
CLD
LEA SI, PATRÓN
LEA DI, PANTALLA
MOV CX, 80
REP MOVSB
MOV AH, 09H
LEA DX, PANTALLA
INT 21H
RET
EL CÓDIGO TERMINA