home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / cmossave / cmosget.asm < prev    next >
Assembly Source File  |  1987-05-17  |  1KB  |  35 lines

  1.            PAGE    ,132  ; (CTRL-OH)   IBM PC PRINTER CONDENSED MODE
  2.            TITLE   CMOSGET - READ CMOS MEMORY AND SAVE TO A FILE VIA REDIRECTION
  3. ;                            SYNTAX = CMOSGET > CMOS.DAT
  4. CSEG       SEGMENT PARA PUBLIC 'CODE'
  5.            ASSUME CS:CSEG,DS:CSEG,SS:CSEG,ES:CSEG ;ALREADY SET BY DOS LOADER
  6.  
  7.            ORG  100H                    ;COM FILE FORMAT, SKIP TO END OF THE PSP
  8.  
  9. CMOS_ADR   EQU  70H                     ;ADDRESS PORT OF CMOS
  10. CMOS_DATA  EQU  71H                     ;DATA PORT OF CMOS
  11. NUM_BYTES  EQU  64                      ;NUMBER OF BYTES IN CMOS
  12.  
  13. MAIN       PROC NEAR
  14.  
  15.            MOV  CX,NUM_BYTES            ;NUMBER OF CMOS BYTES
  16.  
  17. GET_NEXT_BYTE:
  18.  
  19.            MOV  AL,NUM_BYTES            ;CALCULATE
  20.            SUB  AL,CL                   ;          BYTE TO FETCH
  21.            CLI                          ;NO INTERRUPTS
  22.            OUT  CMOS_ADR,AL             ;ASK FOR THIS BYTE
  23.            JMP  SHORT $+2               ;DELAY FOR SLOW OUTPUT PORTS
  24.            IN   AL,CMOS_DATA            ;READ BYTE
  25.            STI                          ;ALLOW INTERRUPTS
  26.            MOV  AH,2                    ;WRITE TO STDOUT
  27.            MOV  DL,AL                   ;  BYTE IN DL
  28.            INT  21H                     ;  THRU DOS
  29.            LOOP GET_NEXT_BYTE           ;REPEAT UNTIL DONE
  30.  
  31.            RET                             ;NEAR RETURN TO DOS
  32. MAIN       ENDP
  33. CSEG       ENDS
  34.            END  MAIN
  35.