digital clock via parallel port usng assembly

October 13, 2011 at 23:30:00
Specs: Windows XP
hi, we have this project and we already have a code and the circuit but it is not working..
it's supposed to display the hours and minutes
the problems are:
1. the hour display is not displaying anything
2. the minute displays but it is advanced by one minute
please help us.

so here's the code:
TITLE CLOCK.ASM
DOSSEG
.MODEL SMALL
.STACK 0100H
.DATA
PRINTERPORTBASEADDRESS equ 378h

.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX

CALL RTIME ; READ TIME
CALL DisplayTime ;DISPLAY TIME

MOV AX, 4C00H
INT 21H
MAIN ENDP

RTIME PROC
MOV AH, 02H
INT 1AH
RET

; CH - HOUR
; CL - MINUTES
; DH - SECONDS
RTIME ENDP

DisplayTime PROC
push DX ; was DH
push CX ; was CL
;
mov AL,CH
mov DX,PRINTERPORTBASEADDRESS
out DX,AL
mov AL,01h
mov DX,PRINTERPORTBASEADDRESS+2
out DX,AL ; enable display
call Delay
;
mov AL,00h
mov DX,PRINTERPORTBASEADDRESS+2
out DX,AL
pop AX ; pop CL (minutes)
mov DX,PRINTERPORTBASEADDRESS
out DX,AL
mov AL,02h
mov DX,PRINTERPORTBASEADDRESS+2
out DX,AL ; enable display
call Delay
;
mov AL,00h
mov DX,PRINTERPORTBASEADDRESS+2
out DX,AL
pop AX ; pop DH (seconds)
mov AL,AH
mov DX,PRINTERPORTBASEADDRESS
out DX,AL
mov AL,08h
mov DX,PRINTERPORTBASEADDRESS+2
out DX,AL ; enable display
call Delay
;
mov DX,PRINTERPORTBASEADDRESS+2
mov AL,00h
out DX,AL
ret

DisplayTime ENDP

Delay Proc
MOV CX, 00100h
X: PUSH CX
MOV CX, 0FFFFh
Y: LOOP Y
POP CX
LOOP X
RET

Delay ENDP
END

and the circuit:
http://postimage.org/image/2egfc6wsk/


See More: digital clock via parallel port usng assembly

Report •

#1
October 14, 2011 at 05:47:14
plese, i need help.

Report •

#2
October 15, 2011 at 05:39:20
If only minutes is displayed then hours and seconds either not addressed or not read.

Report •
Related Solutions


Ask Question