home *** CD-ROM | disk | FTP | other *** search
- PAGE ,132 ; (CTRL-OH) IBM PC PRINTER CONDENSED MODE
- TITLE CMOSGET - READ CMOS MEMORY AND SAVE TO A FILE VIA REDIRECTION
- ; SYNTAX = CMOSGET > CMOS.DAT
- CSEG SEGMENT PARA PUBLIC 'CODE'
- ASSUME CS:CSEG,DS:CSEG,SS:CSEG,ES:CSEG ;ALREADY SET BY DOS LOADER
-
- ORG 100H ;COM FILE FORMAT, SKIP TO END OF THE PSP
-
- CMOS_ADR EQU 70H ;ADDRESS PORT OF CMOS
- CMOS_DATA EQU 71H ;DATA PORT OF CMOS
- NUM_BYTES EQU 64 ;NUMBER OF BYTES IN CMOS
-
- MAIN PROC NEAR
-
- MOV CX,NUM_BYTES ;NUMBER OF CMOS BYTES
-
- GET_NEXT_BYTE:
-
- MOV AL,NUM_BYTES ;CALCULATE
- SUB AL,CL ; BYTE TO FETCH
- CLI ;NO INTERRUPTS
- OUT CMOS_ADR,AL ;ASK FOR THIS BYTE
- JMP SHORT $+2 ;DELAY FOR SLOW OUTPUT PORTS
- IN AL,CMOS_DATA ;READ BYTE
- STI ;ALLOW INTERRUPTS
- MOV AH,2 ;WRITE TO STDOUT
- MOV DL,AL ; BYTE IN DL
- INT 21H ; THRU DOS
- LOOP GET_NEXT_BYTE ;REPEAT UNTIL DONE
-
- RET ;NEAR RETURN TO DOS
- MAIN ENDP
- CSEG ENDS
- END MAIN