BIG CLOCK


- Código: Selecionar todos
data segment
LINHA DB ?
COLUNA DB ?
DIGITO DB ?
DIGITO_UNI DB ?
DIGITO_DEZ DB ?
ZERO DB " 000000000 ",10
DB " 00:::::::::00 ",10
DB " 00:::::::::::::00 ",10
DB "0:::::::000:::::::0 ",10
DB "0::::::0 0::::::0 ",10
DB "0:::::0 0:::::0 ",10
DB "0:::::0 0:::::0 ",10
DB "0:::::0 000 0:::::0 ",10
DB "0:::::0 000 0:::::0 ",10
DB "0:::::0 0:::::0 ",10
DB "0:::::0 0:::::0 ",10
DB "0::::::0 0::::::0 ",10
DB "0:::::::000:::::::0 ",10
DB " 00:::::::::::::00 ",10
DB " 00:::::::::00 ",10
DB " 000000000 ",0
UM DB " 1111111 ",10
DB " 1::::::1 ",10
DB " 1:::::::1 ",10
DB " 111:::::1 ",10
DB " 1::::1 ",10
DB " 1::::1 ",10
DB " 1::::1 ",10
DB " 1::::l ",10
DB " 1::::l ",10
DB " 1::::l ",10
DB " 1::::l ",10
DB " 1::::l ",10
DB " 111::::::111 ",10
DB " 1::::::::::1 ",10
DB " 1::::::::::1 ",10
DB " 111111111111 ",0
DOIS DB " 222222222222222 ",10
DB "2:::::::::::::::22 ",10
DB "2::::::222222:::::2 ",10
DB "2222222 2:::::2 ",10
DB " 2:::::2 ",10
DB " 2:::::2 ",10
DB " 2222::::2 ",10
DB " 22222::::::22 ",10
DB " 22::::::::222 ",10
DB " 2:::::22222 ",10
DB "2:::::2 ",10
DB "2:::::2 ",10
DB "2:::::2 222222",10
DB "2::::::2222222:::::2",10
DB "2::::::::::::::::::2",10
DB "22222222222222222222",0
TRES DB " 333333333333333 ",10
DB "3:::::::::::::::33 ",10
DB "3::::::33333::::::3 ",10
DB "3333333 3:::::3 ",10
DB " 3:::::3 ",10
DB " 3:::::3 ",10
DB " 33333333:::::3 ",10
DB " 3:::::::::::3 ",10
DB " 33333333:::::3 ",10
DB " 3:::::3 ",10
DB " 3:::::3 ",10
DB " 3:::::3 ",10
DB "3333333 3:::::3 ",10
DB "3::::::33333::::::3 ",10
DB "3:::::::::::::::33 ",10
DB " 333333333333333 ",0
QUATRO DB " 444444444 ",10
DB " 4::::::::4 ",10
DB " 4:::::::::4 ",10
DB " 4::::44::::4 ",10
DB " 4::::4 4::::4 ",10
DB " 4::::4 4::::4 ",10
DB " 4::::4 4::::4 ",10
DB "4::::444444::::444 ",10
DB "4::::::::::::::::4 ",10
DB "4444444444:::::444 ",10
DB " 4::::4 ",10
DB " 4::::4 ",10
DB " 4::::4 ",10
DB " 44::::::44 ",10
DB " 4::::::::4 ",10
DB " 4444444444 ",0
CINCO DB "555555555555555555 ",10
DB "5::::::::::::::::5 ",10
DB "5::::::::::::::::5 ",10
DB "5:::::555555555555 ",10
DB "5:::::5 ",10
DB "5:::::5 ",10
DB "5:::::5555555555 ",10
DB "5:::::::::::::::5 ",10
DB "555555555555:::::5 ",10
DB " 5:::::5 ",10
DB " 5:::::5 ",10
DB "5555555 5:::::5 ",10
DB "5::::::55555::::::5 ",10
DB " 55:::::::::::::55 ",10
DB " 55:::::::::55 ",10
DB " 555555555 ",0
SEIS DB " 66666666 ",10
DB " 6::::::6 ",10
DB " 6::::::6 ",10
DB " 6::::::6 ",10
DB " 6::::::6 ",10
DB " 6::::::6 ",10
DB " 6::::::6 ",10
DB " 6::::::::66666 ",10
DB "6::::::::::::::66 ",10
DB "6::::::66666:::::6 ",10
DB "6:::::6 6:::::6 ",10
DB "6:::::6 6:::::6 ",10
DB "6::::::66666::::::6 ",10
DB " 66:::::::::::::66 ",10
DB " 66:::::::::66 ",10
DB " 666666666 ",0
SETE DB "77777777777777777777",10
DB "7::::::::::::::::::7",10
DB "7::::::::::::::::::7",10
DB "777777777777:::::::7",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB " 7::::::7 ",10
DB "77777777 ",0
OITO DB " 888888888 ",10
DB " 88:::::::::88 ",10
DB " 88:::::::::::::88 ",10
DB "8::::::88888::::::8 ",10
DB "8:::::8 8:::::8 ",10
DB "8:::::8 8:::::8 ",10
DB " 8:::::88888:::::8 ",10
DB " 8:::::::::::::8 ",10
DB " 8:::::88888:::::8 ",10
DB "8:::::8 8:::::8 ",10
DB "8:::::8 8:::::8 ",10
DB "8:::::8 8:::::8 ",10
DB "8::::::88888::::::8 ",10
DB "88:::::::::::::88 ",10
DB " 88:::::::::88 ",10
DB " 888888888 ",0
NOVE DB " 999999999 ",10
DB " 99:::::::::99 ",10
DB " 99:::::::::::::99 ",10
DB "9::::::99999::::::9 ",10
DB "9:::::9 9:::::9 ",10
DB "9:::::9 9:::::9 ",10
DB " 9:::::99999::::::9 ",10
DB " 99::::::::::::::9 ",10
DB " 99999::::::::9 ",10
DB " 9::::::9 ",10
DB " 9::::::9 ",10
DB " 9::::::9 ",10
DB " 9::::::9 ",10
DB " 9::::::9 ",10
DB " 9::::::9 ",10
DB " 99999999 ",0
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax, data
mov ds, ax
mov es, ax
MOV AH,1
MOV CH,20H
INT 10H
;DESLIGA CURSOR
MOSTRANDO:
;LE HORA RETORNA DH SEGUNDOS
MOV AH,2CH
INT 21H
MOV AH,0
MOV AL,DH
MOV BL,10
DIV BL
MOV DIGITO_DEZ, AL
MOV DIGITO_UNI, AH
; IMPRIME DEZ SS
MOV AL,DIGITO_DEZ
MOV DIGITO,AL
MOV LINHA, 5
MOV COLUNA, 40
CALL IMPRIME_DIGITO
; IMPRIME UNID SS
MOV AL,DIGITO_UNI
MOV DIGITO,AL
MOV LINHA, 5
MOV COLUNA, 60
CALL IMPRIME_DIGITO
; CL TEM SEGUNDOS
MOV AH,0
MOV AL,CL
MOV BL,10
DIV BL
MOV DIGITO_DEZ, AL
MOV DIGITO_UNI, AH
; IMPRIME DEZ MM
MOV AL,DIGITO_DEZ
MOV DIGITO,AL
MOV LINHA, 5
MOV COLUNA, 0
CALL IMPRIME_DIGITO
; IMPRIME UNID MM
MOV AL,DIGITO_UNI
MOV DIGITO,AL
MOV LINHA, 5
MOV COLUNA, 20
CALL IMPRIME_DIGITO
JMP MOSTRANDO
mov ax, 4c00h
int 21h
IMPRIME_DIGITO:
CMP DIGITO,0
JE IMP_ZERO
CMP DIGITO,1
JE IMP_UM
CMP DIGITO,2
JE IMP_DOIS
CMP DIGITO,3
JE IMP_TRES
CMP DIGITO,4
JE IMP_QUATRO
CMP DIGITO,5
JE IMP_CINCO
CMP DIGITO,6
JE IMP_SEIS
CMP DIGITO,7
JE IMP_SETE
CMP DIGITO,8
JE IMP_OITO
CMP DIGITO,9
JE IMP_NOVE
IMP_ZERO:
LEA SI, ZERO
JMP IMPRIMINDO
IMP_UM:
LEA SI, UM
JMP IMPRIMINDO
IMP_DOIS:
LEA SI, DOIS
JMP IMPRIMINDO
IMP_TRES:
LEA SI, TRES
JMP IMPRIMINDO
IMP_QUATRO:
LEA SI, QUATRO
JMP IMPRIMINDO
IMP_CINCO:
LEA SI, CINCO
JMP IMPRIMINDO
IMP_SEIS:
LEA SI, SEIS
JMP IMPRIMINDO
IMP_SETE:
LEA SI, SETE
JMP IMPRIMINDO
IMP_OITO:
LEA SI, OITO
JMP IMPRIMINDO
IMP_NOVE:
LEA SI, NOVE
JMP IMPRIMINDO
IMPRIMINDO:
; POSICIONA CURSOR
MOV AH,2
MOV BH,0
MOV DH, LINHA
MOV DL, COLUNA
INT 10H
PROCURA_FIM:
mov dl,ds:[si]
cmp dl,0
je FIM_IMPRESSAO
cmp dl,10
je pula_linha
mov ah,2
int 21h
INC SI
JMP PROCURA_FIM
pula_linha:
inc byte ptr linha
inc si
jmp IMPRIMINDO
FIM_IMPRESSAO:
RET
ends
end start