home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / SIMTEL20 / ZCPR3 / SHFILE.MAC < prev    next >
Text File  |  2000-06-30  |  2KB  |  105 lines

  1. ;
  2. ; Program: SHFILE
  3. ; Author: Richard Conn
  4. ; Version: 1.0
  5. ; Date: 5 Mar 84
  6. ;
  7. version    equ    10
  8.  
  9. ;
  10. ;    SHFILE defines the name of the shell variable file or displays it.
  11. ;
  12.  
  13. ;
  14. ; Equates for Key Values
  15. ;
  16. z3env    SET    0f400h    ;address of ZCPR3 environment
  17. fcb    equ    5ch
  18. cr    equ    0dh
  19. lf    equ    0ah
  20.  
  21. ;
  22. ; External Z3LIB and SYSLIB Routines
  23. ;
  24.     ext    z3init,getfn1,print,pfn1,moveb,qprint
  25.  
  26. ;
  27. ; Environment Definition
  28. ;
  29.     if    z3env ne 0
  30. ;
  31. ; External ZCPR3 Environment Descriptor
  32. ;
  33.     jmp    start
  34.     db    'Z3ENV'    ;This is a ZCPR3 Utility
  35.     db    1    ;External Environment Descriptor
  36. z3eadr:
  37.     dw    z3env
  38. start:
  39.     lhld    z3eadr    ;pt to ZCPR3 environment
  40. ;
  41.     else
  42. ;
  43. ; Internal ZCPR3 Environment Descriptor
  44. ;
  45.     MACLIB    Z3BASE.LIB
  46.     MACLIB    SYSENV.LIB
  47. z3eadr:
  48.     jmp    start
  49.     SYSENV
  50. start:
  51.     lxi    h,z3eadr    ;pt to ZCPR3 environment
  52.     endif
  53.  
  54. ;
  55. ; Start of Program -- Initialize ZCPR3 Environment and Print Banner
  56. ;
  57.     call    z3init    ;initialize the ZCPR3 Environment
  58.     call    qprint
  59.     db    'SHFILE, Version '
  60.     db    (version/10)+'0','.',(version mod 10)+'0',cr,lf,0
  61. ;
  62. ; Set Name of Shell Variable File
  63. ;
  64.     call    getfn1        ;get ptr to file name 1
  65.     lxi    d,fcb+1        ;pt to name in FCB
  66.     xchg            ;copy from FCB
  67.     mvi    b,11        ;11 bytes
  68.     mov    a,m        ;get first char
  69.     cpi    ' '        ;don't define if no name
  70.     jz    prshfile
  71.     call    moveb        ;define name
  72.     call    setshdef    ;set default file type if none given
  73. ;
  74. ; Print Name of Shell Variable File
  75. ;
  76. prshfile:
  77.     call    print
  78.     db    ' Shell Variable File Name is ',0
  79.     call    getfn1        ;pt to name
  80.     xchg
  81.     call    pfn1
  82.     ret
  83. ;
  84. ; Set Type of Shell Variable File if None Given
  85. ;
  86. setshdef:
  87.     call    getfn1        ;check for file type
  88.     lxi    d,8        ;pt to file byte
  89.     dad    d
  90.     xchg
  91.     lxi    h,shvtype    ;default file type
  92.     mvi    b,3        ;3 chars
  93.     ldax    d        ;get char
  94.     cpi    ' '        ;set if space
  95.     cz    moveb        ;copy
  96.     ret
  97.  
  98. ;
  99. ; Buffers
  100. ;
  101. shvtype:
  102.     db    'VAR'
  103.  
  104.     end
  105.