Reloj En Assmebler
;programa que muestra la hora del sistema en la
;esquina superior de la pantalla
stack segment para stack 'stack'
db 256 dup(?)
stack ends
data segmentpara 'data'
contu db 0
contd db 0
data ends
code segment para 'code'
principal proc far
assume cs:code, ds:data, ss:stack
inicio:push ds
xor ax,ax
push axmov ax, data
mov ds,ax
call clear
mov dh,00
mov dl,44h
call col_pulsor
mov ah,2ch
int 21h
mov al,ch
call decimal
call imprimir
mov ah,2ch
int 21h
moval,cl
call decimal
call imprimir
mov ah,2ch
int 21h
mov al,dh
call decimal
call imprimir
mov ah,2ch
int 21h
mov al,dl
call decimal
call imprimir
calllee
ret
principal endp
decimal proc near
con:cmp al,0ah
jb uni
sub al,0ah
inc contd
mov contu,0
jmp con
uni:mov contu, al
add contd,30h
add contu,30hret
decimal endp
imprimir proc near
mov ah,02h
mov dl,CONTD
int 21h
mov dl,CONTU
int 21h
mov DL,0FFh
int 21h
mov CONTD,0
mov CONTU,0
ret
imprimir endpclear proc near
push ax
push bx
push cx
push dx
mov al, 19h
mov bh, 20h
mov ch, 00
mov cl, 00
mov dh, 19h
mov dl, 6fh
mov ah, 06h
int 10h
pop dx
pop cxpop bx
pop ax
ret
clear endp
col_pulsor proc near
push ax
push bx
push cx
push dx
mov bh, 00
mov ah, 02
int 10h
pop dx
pop cx
pop bx
pop ax
retcol_pulsor endp
lee proc near
push ax
push bx
push cx
push dx
mov ah, 01
int 21
pop dx
pop cx
pop bx
pop ax
ret
lee endp
code ends
end inicio
end
Regístrate para leer el documento completo.