Principios de microcomputadoras Lenguaje ensamblador Mi cuñado me hizo algunas preguntas de programación en el examen. Realmente no sé cómo hacerlo. Espero que héroes de todos los ámbitos de la vida puedan ayudarme a resolver mis problemas. ¡Gracias!
1. Si hay 21 buses de direcciones de CPU en el sistema informático, ¿cuál es el espacio máximo de memoria que se puede direccionar?
Respuesta: La computadora usa 0 y 1 para representar un cierto estado. La línea de dirección raíz puede representar dos estados, dos líneas de dirección pueden representar cuatro estados, y así sucesivamente, 21 líneas de dirección pueden representar la potencia 21 de 2, que es 2097152 bytes. Por lo tanto, el espacio máximo de memoria que pueden direccionar 21 líneas de dirección es 2 MB.
¿Cuántos bytes procesa la operación de pila 2.8086 a la vez?
Respuesta: 2 bytes.
3. ¿Cuál es el modo de direccionamiento de la operación de destino en la instrucción ADD AX,12H?
Respuesta: Registrar el modo de direccionamiento.
4. ¿Cuál es el acumulador de 8 bits predeterminado en el sistema 8086?
Respuesta: AL
5. La directiva PD define cuántos bytes tiene una variable. tiene
Respuesta: El pseudocomando PD probablemente fue ingresado por error por el autor original. La intención original es DD. Directivas para definir variables:
DB: Byte
DW: Palabra (doble byte)
DD: Doble palabra (cuatro bytes)
p>
DF: seis bytes
DQ: ocho bytes
DT: sección transversal
¿Cuántos bits tiene el registro AH de 6.8086
Respuesta: registro de 8 bits.
7. ¿Cuál es el operando de destino en la instrucción MOV AX[BX]?
Respuesta: AX
8.
Respuesta: introduzca la palabra señalada por el puntero superior en el segmento de la pila y asígnela a un registro de 16 bits o una unidad de memoria de 16 bits. Al mismo tiempo, el puntero superior de la pila es. incrementado en 2.
9. ¿Cuál es la función de la instrucción XCHG?
Respuesta: Intercambiar los valores del operando de origen y del operando de destino.
10. ¿Cuál es la función del comando A cuando se usa DEBUG para depurar un programa?
Respuesta: Ingresar instrucciones en lenguaje ensamblador.
11.MOV[BP12/12H],AX suponiendo (AX)=1212H, (DS)=2000H, (CS)=5000H, (SS)=6000H, (BP)=2000H libro de operaciones de cálculo La dirección física del operando de destino
Respuesta: hay un error de sintaxis en esta instrucción. Intente cambiarla a: MOV [BP+1212H],AX
Luego, la dirección física. del operando de destino es: 23232H
12. Solo se pueden usar operaciones de pila y no se pueden usar otras instrucciones. Intercambie el contenido de los registros AX y BX y escriba un fragmento de programa de juicio.
Respuesta: No es necesario juzgar, solo use las instrucciones de empujar y hacer estallar. El código de comando es el siguiente:
push ax
push bx
pop ax
pop bx
13. Conociendo ya [DS]=1111H, [SS]=2222H, [ES]=3333H, [BX]=11H, [BP]=22H, calcule el direccionamiento del operando de origen de la instrucción ensambladora en "MOV AX,[BX ]". La unidad física de Complete los siguientes cuadrados con los valores correctos de AL y CF después de ejecutar cada paso (de a 9 cuadrados, se requieren números binarios, y los primeros 8 cuadrados deben llenarse con AL y el último CF.
)
SHL AL,1; |0|0|0|1|0|1|0|0|1
ROL AL,CL;|1|0|1 |0|0|0|0|0|0|
RCR AL,CL;|0|0|0|1|0|1|0|0|0| >15. Anota el significado de las siguientes instrucciones: JAE, JGE, JB, JCXZ
Respuesta:
1. o Ramificado cuando es igual al operando de origen, utilizado para comparar o juzgar números sin signo.
2. JGE: Instrucción de transferencia condicional, que se transfiere cuando el operando de destino es mayor o igual que el operando de origen y se utiliza para comparar o juzgar números con signo.
3. JB: Instrucción de transferencia condicional, se transfiere cuando el operando de destino es menor que el operando de origen, se utiliza para comparar o juzgar números sin signo.
4. JCXZ: Instrucción de transferencia condicional, transferida cuando el registro de conteo CX=0, utilizada para comparar o escanear cadenas.
16.1+2+3+...N se acumula hasta 1000, el número natural acumulado se cuenta y se envía a CN, y la suma acumulada se envía a SUM
Respuesta: El siguiente programa está compilado y se ejecuta correctamente. Cuando el número natural llega a 45, la suma acumulada es 1035.
Segmento de código
Asumir CS:Code,DS:Code
CN DW
SUM Dw
Iniciar: push cs
pop ds ;Hacer el segmento de datos y el segmento de código en el mismo segmento
xor ax,ax ;Inicializar la suma acumulada
mov cx, 1 ;Valor inicial de los números naturales
Suma: add ax,cx ;Sumar
cmp ax,1000 ;Compara la suma acumulada con 1000
jae Save_Value ;Si es mayor o igual a 1000, finaliza la acumulación y guarda los datos relevantes
inc cx; count
jmp Añadiendo
Save_Value: mov cn,cx; guardar los números naturales acumulados Número
mov SUM,ax ;Guardar la suma acumulada
Exit_Proc: mov ah,4ch ;Finalizar el programa
int 21h p>
Código FINALIZA
END Inicio;La compilación termina aquí
17. Muestra una cadena en orden inverso, completa el siguiente programa por completo y escribe el resultado
Respuesta: En esta pregunta, el autor cometió algunos errores al copiarlos. Los corregiré según el significado de la pregunta y el segmento del programa original. Siempre que complete los espacios en blanco, excepto el identificador definido, todos los demás contenidos deben estar en minúsculas y seguidos de un "; número de serie".
SEGMENTO DE DATOS
MSG DB '¡ESTO ES UNA CADENA!$'
CT=$-MSG-2
CRLF DB OAH ,ODH,'$'
DATOS termina ;1
SEGMENTO DE CÓDIGO
ASUMAR DS:DATA,CS:CODE,ES:DATA
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV ES,AX
lead dx,MSG ; 2
MOV AH,9
INT 21H
LEA DX,CRLF
mov ah,9 ;3
INT 21H
LEA BX,MSG
AÑADIR BX,CT
MOV CX,CT+1
SIGUIENTE: p>
p>
mov dl,[bx] ;4
MOV AH,2
INT 21H
DEC BX
BUCLE SIGUIENTE
mov ah,4ch ;5
INT 21H
EL CÓDIGO FINALIZA
FIN PRINCIPAL
Respuesta complementaria:
6. Pregunta de verdadero o falso
(Correcto) En el mismo programa ensamblador 8086, la misma constante se puede definir varias veces usando la directiva =.
(Sí) Sin embargo, la longitud de la definición de macro no tiene ningún efecto sobre la longitud del programa ensamblado. . . La cantidad de veces que se utilizan las macros afecta la duración del ensamblaje.
(Correcto) En las instrucciones ensambladoras 8086, el operando de origen y el operando de destino no pueden almacenar operandos al mismo tiempo.
(Error) La función de la directiva DW es definir el número de bytes.
(Derecha) La función de la instrucción PUSH es realizar una operación de inserción en la pila.
1. Hay 21 buses de direcciones para la CPU en el sistema informático, por lo que el espacio de memoria máximo que puede direccionar es 2 MB.
2. La operación de pila en el sistema 8086 procesa 2 bytes a la vez.
3. En la instrucción ADD AX, en RH, el operando destino es el modo de direccionamiento de registro.
4. En el sistema 8086, el acumulador de 8 bits predeterminado es AL.
5. La variable definida por la directiva DD tiene 4 bytes.
6. MOV AX, el operando de destino en la instrucción [BX] es el modo de direccionamiento B.
A. Inmediatamente B. Registrar C. Registrar indirecto D. Directo,
7. La función de la instrucción POP es (C)
A. Los datos de conteo se envían a la pila. B. Insertar un determinado byte de datos en la pila. C. Extraer una determinada palabra de datos de la pila D. Empujar el registro de estado en la pila.
8. La función de la instrucción XCHG es (C)
A. Ampliar el operando de 8 bits a 16 bits. B. Comprimir el operando de 16 bits a 8 bits. C. Intercambie los dos operandos. D. Reemplace el operando de destino con el operando de origen.
9. Cuando DEBUG depura el programa, la función del comando A es (C)
A. Datos reales B. Eliminar datos C. Ensamblador D. Operación de un solo paso <. /p>