Arquitectura de Computadoras 2

Foro para conocer el avance del curso y compartir comentarios, dudas y aportaciones para todos los participantes del mismo.

Mi foto
Nombre: Dr. Sergio Castillo
Ubicación: Xalapa, Veracruz, Mexico

Profesor universitario en el área de las ciencias de la computación. Doctor en Ciencias de la Computación, Maestro en Ciencias Computacionales e Ingeniero en Electrónica y Comunicaciones.

jueves, septiembre 01, 2005

Sesión del Jueves 1 de Septiembre

En la sesión de hoy les presenté las soluciones para los ejercicios de aplicación del conjunto de instrucciones de los procesadores Intel x86. Estas propuestas de solución son las siguentes:
 Solución Problema 1
mov ax,1000
mov bx,40h
mov es,bx
rep1: ; Repite
dec ax
mov cx,[es:17h]
bt cx,3 ; Hasta (Bit 3 de CX = 1)
jc Fin
cmp ax,0 ; OR (AX = 0)
jne rep1
Fin:

Solución Problema 2
mov ax,1000
mov bx,40h
mov es,bx
rep1: ; Repite
dec ax
mov cx,[es:17h]
bt cx,3 ; Hasta (Bit 3 de CX = 1)
jnc rep1
cmp ax,0 ; AND (AX = 0)
je rep1
Fin:

Solución Problema 3
mov bx,40h
mov es,bx
mov bx,[es:08]
cmp bx,0 ; Si (BX = 0)
je Fin ; jmp Fin
inc bx ; Sino inc bx
m1: ; Mientras (Bit 1 de [es:bx]=1
bt [es:bx],1
jnc Fin
jmp m1 ; Fin Mientras
mov ax,1 ; AX = 1

Solución Problema 4
mov bx,0b800h
mov es,bx
mov di,0
mov al,"a"
rep1: ; repite
mov [es:di],al
add di,2
inc al
cmp al,"z" ; Hasta (AL > "z")
jle rep1
Posteriormente comentamos algunos ejemplos del manejo en bajo nivel de operaciones aritméticas como las siguientes:
i)     ax = 10
bx = 15
cx = ax * bx

ii) bx = 100
cx = 452
dx = 109
ax = bx + cx + dx
Las dificultades que nos presentan estas operaciones se deben al hecho de que las operaciones que nos proponen (cx = ax * bx y ax = bx + cx + dx) son instrucciones muy adecuadas para máquinas con instrucciones de 3 direcciones, pero los procesadores Intel tienen mayormente instrucciones con 2 direcciones, por lo que uno de los operandos es a la vez operando y destino, y en los pseudocódigos anteriores tanto en la multiplicación como en la suma, el destino es distinto a los operandos. Además, se debe cumplir que los operandos a la derecha del signo "=" no deben alterarse.

1 Comments:

Blogger Dr. Sergio Castillo said...

Thank you vary much for your comment!

7:51 p.m.  

Publicar un comentario

<< Home