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.
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
0 Comments:
Publicar un comentario
<< Home