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 22, 2005

Sesión del Jueves 22 de Septiembre

En la breve sesión de esta tarde les expliqué la instrucción
RCL: Rotación a la izquierda con la Bandera de Acarreo (Carry Flag, CF)

Comenté que el manejo de las Entradas y Salidas de la aquitectura de la PC está basado en el código ASCII.

Mostré una parte de la tabla del código ASCII para los dígitos numéricos (0 = 30h, 1 = 31h,..., 9= 39H).

Describí brevemente el funcionamiento de las interrupciones de DOS Int 21h/2 e Int 21h/4ch.

Finalmente expliqué el funcionamiento del siguiente programa que despliga un número en binario, esto es despliega una secuencia de 1's y 0's.
; Archivo: binario.asm
; Despliega un byte en binario
; Utiliza Int 21h/2
pila segment stack 'stack'
DB 512 dup (?)
pila ends

prog segment 'code'
assume cs:prog,ss:pila
Inicio:
mov bl,125 ; numero a desplegar
mov cx,0 ; Limpia el contador
m1: cmp cx,8 ; Mientras (CX < 8)
jge finm1
mov ah,2 ; Prepara despliege de caracter
mov dl,30h ; Caracter = '0'
rcl bl,1 ; CF = bit mas significativo de BL
adc dl,0 ; Caracter = Caracter + CF
int 21h ; Despliega caracter
inc cx ; Actualiza Contador
jmp m1 ; Fin_mientras
finm1:
mov ax,4c00h ; Llama a DOS para terminar el programa
int 21h
prog ends
end Inicio