
maonin
Member • Oct 13, 2011
pc digital clock via parallel port using assembly language in tasm
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:
#-Link-Snipped-#
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 ENDand the circuit:
#-Link-Snipped-#