You are on page 1of 9

1.

INSTITUTO TECNOLÓGICO DE MATEHUALA

CUESTIONARIO
Unidad 2 Elementos del Lenguaje
Elaboró:

Alma Rosa Medrano Licea

Gerardo González Barajas

Maribel Molina Herrera

Paulina del Carmen Álvarez García

Materia: Lenguaje Ensamblador

Docente: Ing. Martín Luis Ledezma Hernández

Carrera: Ingeniería en Sistemas Computacionales

Grupo: Sexto Semestre

Matehuala,
Unidad S.L.P.
2: Elementos del Lenguaje Marzo 2011
1. Explique estos términos:

a) Dirección corta: Una operación de salto alcanza una dirección corta


por medio de un desplazamiento de byte, limitado a una distancia de
-128 a 127.

b) Dirección cercana: Una operación de salto alcanza una dirección


cercana por medio de un desplazamiento de una palabra, limitado a una
distancia de -32,768 a 32,767

c) Dirección lejana: Una dirección lejana puede estar en otro segmento y


es alcanzada por medio de una dirección de segmento y un
desplazamiento

2.

a) ¿Cuál es el número máximo de bytes que una instrucción JMP


cercana, un LOOP y un salto condicional pueden saltar?

Si JMP tiene 32767 a −32768 bytes se convierte en un salto cercano, LOOP


debe de ser de -128 a +127 bytes sino marcara que esta fuera de rango, y los
saltos condicionales también están limitados a saltos cortos es decir de -128 a
+127 bytes.

b) ¿Qué características del operando de código de máquina provocan


este límite?

Según el operando que se indique junto con la instrucción este servirá como
etiqueta dándole un atributo a ésta que se encargara de indicar que si será
cercana o corta.

3. Una instrucción JMP empieza en la localidad con desplazamiento 0624H.


Determine la dirección de transferencia con base en el siguiente código
objeto para el operando JMP:

a) 27H

64BH

b) 6BH

68FH
c) C6H

6EAH

4. Codifique una rutina usando LOOP que calcule la sucesión de Fibonacci:


1, 1, 2, 3, 5, 8, 13,… (salvo por los dos primeros números en la sucesión,
cada número es la suma de los dos primeros que le preceden). Establezca el
límite de 12 vueltas. Ensámblela, enlácela y utilice DEBUG para rastrear la
rutina.
5. Suponga que AX y BX contienen datos con signo y que DX y CX
contienen datos sin signos. Determine las instrucciones CMP (en donde
sea necesaria) y de salto condicional para lo siguiente:

a) El valor de DX excede el de CX

CMP DX, CX

JA …

b) ¿El valor de BX excede el de AX?

CMP BX, AX

JG …

c) El CX contiene cero

CMP BX, 00

JZ …

d) ¿Existe un desbordamiento?

ADD AX, BX

JO …

ADD DX, CX

JO …

e) ¿El BX es igual o menor que AX?

CMP BX, AX

JLE ….

f) ¿El DX es igual o menor que CX?

CMP DX, CX

JBE ….
6. ¿Qué banderas son afectadas y qué contendrían en los siguientes
sucesos?:

a) Ocurrió un desbordamiento: OF

b) Un resultado es negativo: SF

c) Un resultado es cero: ZF

d) El procesamiento esta en modo de avance paso a paso: TF

e) En una transferencia de cadena se hace de derecha a izquierda: DF

7. Refiérase a la figura 8-3. Si el procedimiento B10 no contiene un RET,


¿cuál sería el efecto sobre la ejecución del programa?

Si B 10 no termina con una instrucción RET, las instrucciones se


ejecutaran pasando B10 e irán directamente a C10.De hecho, si C10 no
contiene un RET el programa ejecutaría pasando el final de C10, todas las
instrucciones (si hay) que estuvieran ahi, con resultados impredecibles.

8. ¿Cuál es la diferencia entre la codificación de un operando PROC con


FAR y con NEAR?
Si es un procedimiento etiquetado con FAR (lejano) se refiere tal vez a un
segmento de código separado; si es un procedimiento con NEAR(cercano) se
refiere a un procedimiento dentro del mismo segmento.

9. ¿Cuáles son las formas en que un programa puede iniciar la ejecución de


un procedimiento?

A través de las operaciones CALL y RET

La instrucción CALL transfiere el control a un procedimiento llamado, y la


instrucción RET regresa del procedimiento llamado al procedimiento
original que hizo la llamada. RET debe ser la última instrucción en un
procedimiento llamado.

10. En un programa .EXE, A10 llama a B10, B10 llama a C10 y C10 llama a
D10. Cómo resultado de estas llamadas, ¿Cuántas direcciones contiene la
pila?

3 direcciones

11. Suponga que BL contiene 1110 0011 y que la localidad llamada BOONO
contiene 0111 1001. Determine el efecto sobre BL para lo siguiente:

a) XOR BL, BOONO

b) AND BL, BOONO

c) OR BL, BOONO

d) XOR BL, 11111111B

e) AND BL, 00000000B


a) 1110 b) 1110
0011 0111 0011 0111
1001 1001 1001 0110
1010 0001

c) 1110 d) 1110
0011 0111 0011 1111
1001 1111 1111 0001
1011 1100
e) 1110
0011
0000
0000 0000
0000

12. Corrija el programa de la figura 8-4 como sigue: Defina el


contenido de TITTLEX como letras mayúsculas y codifique las
instrucciones que conviertan mayúsculas a minúsculas.

13. Suponga que el DX contiene 10111001 10111001 binario y


que el CL contiene 03. Determine el contenido hexadecimal de DX después
de la ejecución de las siguientes instrucciones no relacionadas
(independientes):

a) SHR DX, 1

b) SHR DX, CL

c) SHL DX, CL

d) SHL DL, 1
e) ROR DX, CL

f) ROR DL, CL

g) SAL DH, 1

a) 01011100 11011100

b) 00010111 00110111

c) 11001101 11001000

d) 0111 0010

e) 10010111 00110111

f) 1001 0111

g) 0111 0011

14. Utilice instrucciones para recorrer, mover y sumar para


multiplicar el contenido de AX por 10.

MOV AX,01

MOV BX,AX

SHL AX,3

SHL BX,1

ADD AX,BX

15. Una rutina al final de la sección titulada “Rotación de bits”


multiplica el DX:AX por 2. Corrija la rutina para:

a) Multiplicar por 4

b) Dividir entre 4

c) Multiplicar los 48 bits en el DX:AX:BX por dos

a) SHL AX,1

RCL DX,1
SHL AX,1

RCL DX,1

b) SAR DX,1

RCR AX,1

SAR DX,1

RCR AX,1

c) SHL BX

SHL AX

RCL DX

You might also like