home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / zsys / simtel20 / z3lib / zlib1.lbr / Z3LOG.Z80 < prev    next >
Encoding:
Text File  |  1986-02-07  |  1.1 KB  |  79 lines

  1. ;
  2. ; Z3LIB Module Name:  Z3LOG
  3. ; Author:  Richard Conn
  4. ; Z3LIB  Version Number:  1.3
  5. ; Module Version Number:  1.1
  6. ;
  7.     public    z3log
  8.  
  9. ;
  10. ; Equates
  11. ;
  12. bdos    equ    5
  13.  
  14. ;
  15. ; Macros
  16. ;
  17. putrg    macro
  18.     push    hl
  19.     push    de
  20.     push    bc
  21.     push    af
  22.     endm
  23.  
  24. getrg    macro
  25.     pop    af
  26.     pop    bc
  27.     pop    de
  28.     pop    hl
  29.     endm
  30.  
  31. ;
  32. ;    Z3LOG logs into the DU contained in a ZCPR3 FCB.  On input,
  33. ; DE pts to FCB.  No codes are returned.
  34. ;
  35. z3log:
  36.     putrg            ;save regs
  37. ;
  38. ; Get Current Disk in B (disk A = 1)
  39. ;
  40.     push    de        ;save ptr to FCB
  41.     ld    c,25        ;get disk
  42.     call    bdos
  43.     inc    a
  44.     ld    b,a        ;current disk in B
  45.     pop    de        ;pt to FCB
  46. ;
  47. ; Determine Disk in B (disk A = 0)
  48. ;
  49.     ld    a,(de)        ;get disk
  50.     or    a        ;0=default
  51.     jp    z,log1
  52.     ld    b,a        ;selected disk in B
  53. log1:
  54.     dec    b        ;B=disk (disk A=0)
  55. ;
  56. ; Get Selected User in C
  57. ;
  58.     ld    hl,13        ;pt to S1 for user
  59.     add    hl,de
  60.     ld    c,(hl)        ;user in C
  61. ;
  62. ; Log Into Disk in B
  63. ;
  64.     push    bc        ;save DU
  65.     ld    e,b        ;disk in E
  66.     ld    c,14        ;select disk
  67.     call    bdos
  68.     pop    bc
  69. ;
  70. ; Log Into User in C
  71. ;
  72.     ld    e,c        ;user in E
  73.     ld    c,32        ;select user
  74.     call    bdos
  75.     getrg            ;restore registers
  76.     ret
  77.  
  78.     end
  79.