home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / bp_1_94 / power / datum.bas next >
BASIC Source File  |  1994-03-02  |  2KB  |  59 lines

  1. '-----------------------------------------------------------------------
  2. '
  3. ' DATUM.BAS
  4. '
  5. ' Programm zur Demonstration des integrierten INLINE-Assemblers
  6. ' von PowerBASIC 3.0
  7. '
  8. ' 16.10.93
  9. '
  10. '-----------------------------------------------------------------------
  11.  
  12. shared ergebnis%, tag%, monat%, jahr%
  13.  
  14. function setdate%(tag%,monat%,jahr%)
  15.  
  16.   local returnwert%
  17.   returnwert% = 0
  18.  
  19.   !  push di                       ; Register di sichern
  20.   !  les  di,tag%                  ; es: segment tag, di: offset tag
  21.   !  mov  dl,es:[di]               ; Tag: Variable -> Register dl
  22.  
  23.   !  les  di,monat%                ; es: segment monat, di: offset monat
  24.   !  mov  dh,es:[di]               ; Monat: Variable -> Register dh
  25.  
  26.   !  les  di,jahr%                 ; es: segment jahr, di: offset jahr
  27.   !  mov  cx,es:[di]               ; Jahr: Variable -> Register cx
  28.  
  29.   !  mov  ah,&H2b                  ; Dos-Funktion Datum setzen
  30.   !  int  &H21                     ; Dos-Funktion ausführen
  31.   !                   ; Returncode wird in AL-Register abgelegt
  32.   !                   ; 00 : uebergebenes Datum OK
  33.   !                   ; FF : uebergebenes Datum nicht OK
  34.   !  xor  ah,ah                    ; alten AH-Inhalt loeschen
  35.  
  36.   !  mov  returnwert%,ax           ; Return-Code in Variable returnwert%
  37.   !  pop  di                       ; Register di restaurieren
  38.  
  39.   setdate% = returnwert%
  40.  
  41. end function
  42.  
  43.  
  44. cls
  45.  
  46. ' Versuch ein ungültiges Systemdatum zu setzen
  47. ' und Anzeige des Return-Wertes
  48.  
  49. ergebnis% = setdate%(30,2,1994)
  50. print "setdate (0 bei OK, 255 bei Error): ", ergebnis%
  51.  
  52. ' Gültiges Systemdatum setzen und Anzeige des Return-Wertes
  53.  
  54. ergebnis%= setdate%(28,2,1994)
  55. print "setdate (0 bei OK, 255 bei Error): ", ergebnis%
  56.  
  57. end
  58.  
  59.