Buscando varios conjuntos de preguntas y respuestas del examen final sobre principios de microcomputadoras y tecnología de interfaz

1. Preguntas de opción múltiple

1 El siguiente comando es correcto [ B]

A.CMP [SI],100 B.CMP WORD PTR [. SI],100

C.CMP [SI],100h D.CMP 100h,[SI]

2 El siguiente comando es correcto [D ]

A.MOV CX,AL B.MOV DS,200h

C.MOV DS,CS D.MOV DS,AX

3. /p>

A.POP WORD PTR [BX] B.POP BL

C.POP IP D.POP CS

4.

A.IN DX,AL B.IN DX,AX

C.IN AX,DX D.IN BX,DX

5.DF=1 , luego de ejecutar la instrucción MOVSB ​​[A ]

A.SI disminuye en 1, DI disminuye en 1 B.SI aumenta en 1, DI aumenta en 1, CX disminuye en 1

C.SI disminuye en 1, DI menos 1, CX menos 1 D.SI más 1, DI más 1, CX más 1

6. El espacio de direcciones de E/S Intel 8086 es [C]<. /p>

A.1MB B.1KB

C.64KB D.32KB

2. Complete los espacios en blanco

1. número 10101001 al número decimal 169 D conversión El número hexadecimal es A9 H

1 En la instrucción de desplazamiento, el único registro utilizado para que el operando especifique el número de desplazamiento es ___CL_____.

2. Los 4 bytes en la memoria 0005CH son D2, EF, 00, F0, que es la ubicación de almacenamiento de la dirección de entrada de la interrupción __17H______. Indica que la dirección inicial del controlador de interrupciones es _F000H___:__EFD2H___.

Análisis: Debido a que el número de tipo de interrupción y la dirección física correspondiente en la tabla de vectores de interrupción están relacionados por un múltiplo de 4, 0005CH/4=17h, es decir, se obtiene el número de tipo.

3. Una instrucción es MOV BX, X1, donde la dirección de desplazamiento de X1 es 16 (decimal). En DEBUG, esta instrucción se convertirá en MOV BX, __[0010]______.

4. En la instrucción MOV AL, BYTE PTR [BX+SI], el modo de direccionamiento del operando de origen es el modo de direccionamiento indexado de dirección base.

5. 0 , AX=8000H, luego de ejecutar ROR AX,1, AX=_4000H___, CF=_____0_________.

6. La interrupción enmascarable significa que IF controlará si se responde a la solicitud de interrupción.

Si IF = _1_, significa permitir interrupciones

o habilitar interrupciones

7 Utilice una instrucción para implementar las siguientes operaciones:

(1) Mover AX. a ' Los bits de │ ┻ ┛

(2) Instrucción para invertir los cuatro bits inferiores del registro: ___XOR AX,000FH____

8. DS)=2140H, (SS) =2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,

Luego (1) instrucción MOV AX, la dirección efectiva de la fuente El operando de [BP+SI+2] es __02E2H_, la dirección física es _253E2H_

(2) Instrucción MOV AX, la dirección efectiva del operando de origen de [DI+100H] es _0306H__, la dirección física es _21706H__.

2. Preguntas de verdadero o falso

[Juzga si las siguientes instrucciones son verdaderas o falsas. Marque “√” si es correcto, “×” si es incorrecto y explique el motivo]

1.MOV MYDAT [BX] [SI], AX (√)

2.MOV SAVE_DS , DS (√)

3.DIV 12 (× )

4.MOV DS, 0 (×)

5.MOV AX, [SI] [DI] (×)

6. MOV BYTE PTR[BX], 10H (√)

3. Preguntas de respuesta corta

1. siguientes elementos El valor del registro correspondiente después de que la instrucción se ejecuta sola.

SEGMENTO DATOS PARA

X1 DD 12345678h

X2 EQU $-X1

X3 DW 45,0FEAH

X4 EQU $-X1

DATAX ENDS

MOV AX, X2

MOV BX, X4

Respuesta: Después de la ejecución (AX )=0004H

(BX)=0008H (Corregido)

2. ¿Cuáles son los tipos de interrupciones?

(Consulte el libro de texto para obtener más detalles)

3. Los datos firmados se definen de la siguiente manera:

X1 DW ?

X2 DB ?

¿X3 DW?

Escribe un bloque de programa para implementar X3=(X2*10-X1/2)/X2.

Solución: El segmento de programa requerido es el siguiente

MOV AX,X1

SAR AX,1 Calcular X1/2

CWD ; extender AX a DX

MOV BX,DX

MOV CX,AX

;…………………………..

MOV AX,X1

MOV BX,10

IMUL BX ; Calcular X1*10

SUB AX,CX

SBB DX,BX; Calcular (X2*10-X1/2)

IDIV X2

MOV X3,AX

5. el segmento de datos Inicializa el área de almacenamiento de 20 bytes a 20H

Inicializa el área de almacenamiento de 20 bytes a 20H

segmento de datos para público

ARRAY db 20 dup(?)

los datos terminan

segmento de código

se supone cs:code,ds:data,es:data

push ds

mov ax,0

empujar hacha

mov ax,datos

mov ds,ax

mov es,ax

;........................

mov di,offset ARRAY

mov al,20h

mov cx,20

rep stos st1

el código termina

end

;========================================= ====== ====================

1 Durante la ejecución del programa, se sabe que (CS)=6C3AH, (SS)=6C62H , (IP)=42H, (SP)=36H; entonces la dirección de la siguiente instrucción a ejecutar es: (6C3E2)H, y la dirección física de la unidad superior de la pila es: (6C656)H

Cierta instrucción en este programa es MOV 0100H[BP], en AX Se sabe que en este momento (BP) = 2000H, entonces AX se almacena en el (

6E720)H. unidad.

2 Ejecute el comando DEBUG para completar las siguientes funciones:

(A) Mostrar el contenido del segmento de datos de una unidad de área de almacenamiento a partir de la dirección de desplazamiento 1A5H D DS: 01A5

(B) Muestra el contenido de todos los registros R

3 Se sabe que (CH) = 89H, los datos almacenados en la unidad VALOR son E3H; escriba los resultados de ejecución de lo siguiente; instrucciones.

(A)OR CH,VALOR (CH)= EB H

(B)Y CH,VALOR (CH)= 81 H

(C) XOR CH,VALOR (CH)= 6A H

(D)XOR CH,00000000B (CH)= 89 H

(E)PRUEBA CH,VALOR (CH)= 89 H

4 Suponga que las direcciones de los siguientes datos en el área de almacenamiento son todas N unidades y dibuje sus diagramas de almacenamiento respectivamente:

(A) 1234H (B) 01C3B5H

5 Determina si las siguientes instrucciones son correctas, corrígelas si están incorrectas

(A) MOV AL,BX (F)

(B)MOV AL,CL (T)

(B) INC [BX] (F) Nota: Debido a que la longitud del operando no está especificada en la instrucción, puede usar el operador PTR para corregirlo: INC BYTE PTR [BX ] o INC WORD PTR [BX]

(C) MOV 5,AL( F )

(D) MOV [BX],[SI]( F )

(E) MOV BL,F5H ( ​​​​T )

(F) CMP BL,SI ( F )

(G) MOV [100H],3 ( F )

(H) POP AL ( F )

(I) MOV AX,[BX][BP] ( F )

(J) MOV [ SI],AL ( T )

(K) OUT [DX],AX ( F )

6 Respuesta corta

(A) Explique las funciones de las siguientes instrucciones.

MOV AX,OFFSET ARRAY

Envía el valor de la dirección de desplazamiento de la variable ARRAY al registro AX

DSEG SEGMENT

DB 01H

DSEG ENDS

Define un segmento llamado DESG y una variable de bytes definida en la primera unidad de este segmento, con un valor de 01H

( B) Por favor Defina una subrutina llamada COUNT.

COUNT PROC

RET

COUNT ENDP

(C) Escribir en el entorno DEBUG La ejecución resultados de cada instrucción en el siguiente segmento del programa:

MOV CX,3B ((CX)= 3BH)

ADD CX,1C ((CX)= 57H)

SHL CX,1 ((CX)= AEH )

SUB CX,36 ((CX)= 78H )

SHR CX,1 ((CX)= 3CH )

ROR CX,1 ((CX)= 1EH )

(D) ¿Describir la clasificación de las fuentes de interrupción?

7 Los siguientes números son todos números decimales. Utilice el complemento a dos de 8 bits para calcular las siguientes preguntas, exprese los resultados de la operación en números hexadecimales y explique los valores de los indicadores CF y OF<. /p >

(A)(-85) + (76)= F7 H CF= 0 DE= 0

(B) 85 – 76= 09H H CF= 1 DE= 0

(C)85-(-76)= A1 H CF= 1 OF=1

Nota: El método de cálculo aquí es calcular primero la forma complementaria de los dos números involucrados en la Operación ordinaria de suma y resta; ejemplo:

(C) [85] complemento = 55h, [-76] complemento = b4h, entonces 55h-b4h = a1h, y cf=1,of= 1.

8 Lea el programa y complete los espacios en blanco (la respuesta no es única)

Si X>50, vaya a TOO_HIGH; calcule X-Y, si el desbordamiento va a OVERFLOW, en caso contrario | X-Y| → RESULTADO

MOV AX, X

CMP AX, 50

JG TOO_HIGH

SUB AX, Y

JO OVERFLOW

JNS NONNEG

NEG AX

NONNEG:

RESULTADO MOV, AX

DEMASIADO ALTO:

…DESBORDAMIENTO: