Red de conocimiento informático - Conocimiento del nombre de dominio - 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!

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

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>

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>