home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / batch / 1st_boot.zip / 1ST-BOOT.ASM next >
Assembly Source File  |  1993-11-01  |  2KB  |  60 lines

  1. ;Public Domain 1993 by Eric Johnson
  2.  
  3. P8086
  4. MODEL TINY
  5.  
  6. DATASEG
  7.         filename        db      '         1ST-BOOT.COM',0
  8.  
  9. UDATASEG
  10.         lastdate        db      ?       ;remembers last date run
  11.         handle          dw      ?       ;file handle
  12.  
  13.                 DW 100H DUP (?)
  14. MyStack  LABEL WORD
  15.  
  16. CODESEG
  17.    STARTUPCODE
  18.    MOV SP,OFFSET MyStack
  19.  
  20.                 mov     ah, 2Ah         ;get day into al
  21.                 int     21h
  22.  
  23.                 mov     bl, [lastdate]    ;see if first time today
  24.                 cmp     al, bl
  25.                 jnz     firsttime
  26.                 mov     ax, 4C00h       ;end program, return(0)
  27.                 int     21h
  28.  
  29.  
  30. firsttime:      ; al still has date
  31.  
  32.                 mov     [lastdate],al     ;save todays date
  33.                 
  34.                 mov     dx, OFFSET filename
  35.                 mov     ax, 3D02h       ;open file r/w
  36.                 int     21h
  37.  
  38.                 mov     [handle], ax      ;save the file handle
  39.  
  40.                 mov     bx, ax          ;handle in bx
  41.                 mov     cx, 0
  42.                 mov     dx, (OFFSET lastdate)-100h  
  43.                 mov     ax, 4200h       ;seek to flag position
  44.                 int     21h
  45.  
  46.                 mov     cx, 1           ;write new date
  47.                 mov     bx, [handle]    
  48.                 mov     ah, 40h
  49.                 int     21h
  50.  
  51.                 mov     ah, 3Eh         ;close file
  52.                 mov     bx, [handle]
  53.                 int     21h
  54.  
  55.                 mov     ax, 4C01h       ;end program, return(1)
  56.                 int     21h
  57.  
  58.    
  59.                 END
  60.