home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol117 / toolintf.doc < prev    next >
Encoding:
Text File  |  1985-02-10  |  18.1 KB  |  665 lines

  1. TOOLINTF.DOC    821007:1301
  2.  
  3.  
  4.  
  5.  
  6. LIST OF TOOLS IN LINKAGE ORDER:
  7. >>> ACOMPR.MAC    >>> ADDAD.MAC    >>> EXIT.MAC    >>> CLOSE.MAC
  8. >>> CONPUT.MAC    >>> TABBER.MAC    >>> TABBRF.MAC    >>> CRLF.MAC
  9. >>> CRLFF.MAC    >>> CTOF.MAC    >>> CTODI.MAC    >>> CTOI.MAC
  10. >>> DCMP.MAC    >>> FTOC.MAC    >>> INIT.MAC    >>> GETWD.MAC
  11. >>> GETLIN.MAC    >>> GETLNF.MAC    >>> GETC.MAC    >>> GETCF.MAC
  12. >>> OPEN.MAC    >>> LSTPUT.MAC    >>> MAKFCB.MAC    >>> PCSTR.MAC
  13. >>> PCMSG.MAC    >>> PLMSG.MAC    >>> PLSTR.MAC    >>> PUSHBK.MAC
  14. >>> PUSHBF.MAC    >>> PUTDCF.MAC    >>> PUTDEC.MAC    >>> PUTMSF.MAC
  15. >>> PUTMSG.MAC    >>> PUTSTR.MAC    >>> PUTSTF.MAC    >>> PUTC.MAC
  16. >>> PUTCF.MAC    >>> MTBUF.MAC    >>> ERROR.MAC    >>> ESC.MAC
  17. >>> FILLBF.MAC    >>> FNDBUF.MAC    >>> GETARG.MAC    >>> HCTODI.MAC
  18. >>> HCTOI.MAC    >>> HLDDE.MAC    >>> HLXDE.MAC    >>> ITOC.MAC
  19. >>> OP32.MAC    >>> PROMPT.MAC    >>> REMARK.MAC    >>> SETBF.MAC
  20. >>> ADDA.MAC    >>> ARGBUF.MAC    >>> BUFBLK.MAC    >>> CONMSG.MAC
  21. >>> CRLFMS.MAC    >>> DPL.MAC    >>> FILL.MAC    >>> FNB.MAC
  22. >>> HDCMP.MAC    >>> HLMDE.MAC    >>> INDEX.MAC    >>> INPORT.MAC
  23. >>> IPTBUF.MAC    >>> ISDIGD.MAC    >>> ISDIGH.MAC    >>> MOVEL.MAC
  24. >>> MOVES.MAC    >>> MOVEU.MAC    >>> MPLD.MAC    >>> MPLS.MAC
  25. >>> MPRD.MAC    >>> MPRS.MAC    >>> MPWAIT.MAC    >>> MPS0.MAC
  26. >>> NEGH.MAC    >>> OUTPT.MAC    >>> RDCLK.MAC    >>> SELCMD.MAC
  27. >>> SOUNDX.MAC    >>> SPXCH.MAC    >>> STDIO.MAC    >>> TYPAHD.MAC
  28. >>> UPCASE.MAC    >>> LENGTH.MAC    >>> MEMRY.MAC
  29.  
  30.                                              ACOMPR-CRLF
  31.  
  32. >>> ACOMPR.MAC    820830:2037    Page 8
  33.     Lexical comparison between 2 strings
  34.     At entry:
  35.       HL points to one string
  36.       DE points to another string
  37.       C  contains the length to test
  38.     At exit:
  39.       All registers are preserved
  40.       Z is set if the strings match
  41.       C is set if the DE string is
  42.         lexically less than the HL.
  43.  
  44. >>> ADDA.MAC    820820:1709    Page 9
  45.     HL + A -> HL
  46.     (Overwrites A)
  47.  
  48. >>> ADDAD.MAC    820820:1715    Page 10
  49.     EXT    MPLS,MPS0
  50.     Add A to a 32-bit number on 9511 stack
  51.     At entry: A contains number to add
  52.     At exit:  A contains 9511 status
  53.  
  54. >>> ARGBUF.MAC    820820:1715    Page 11
  55.     Buffer for command line arguments;
  56.     Also contains NARGS
  57.  
  58. >>> BUFBLK.MAC    820820:1716    Page 12
  59.     Buffer definition blocks for disk i/o;
  60.     Also contains channel tables.  Entries
  61.     are BUFBLS and CHANLS.
  62.  
  63. >>> CLOSE.MAC    820825:1543    Page 13
  64.     EXT    FNDBUF,NEGH,SETBF,MTBUF
  65.     EXT    ADDA,CHANLS,ERROR
  66.     Close an i/o channel, flushing buffer
  67.     if necessary.  HL,DE,BC preserved.
  68.     At entry: C contains channel number
  69.     At exit:  A contains channel number
  70.  
  71. >>> CONMSG.MAC    820825:1316    Page 15
  72.     Put string directly on CON:
  73.     At entry: HL points to string
  74.     At exit:  HL points past ENDSTR
  75.     DE, BC and A are preserved
  76.  
  77. >>> CONPUT.MAC    820825:1655    Page 16
  78.     EXT    PUTCF
  79.     Put single char on CON: via PUTCF
  80.       to take advantage of char/line
  81.       counting
  82.     At entry: A contains char to type
  83.     All regs preserved
  84.  
  85. >>> CRLF.MAC    820820:1716    Page 17
  86.     EXT    STDOUT,CRLFF
  87.     Write CR then LF to standard output
  88.     All regs preserved
  89.  
  90.                                              CRLFF-ERROR
  91.  
  92. >>> CRLFF.MAC    820820:1717    Page 18
  93.     EXT    PUTCF
  94.     Write CR then LF to specified channel
  95.     At entry: C contains channel no.
  96.     All regs preserved
  97.  
  98. >>> CRLFMS.MAC    820820:1717    Page 19
  99.     CR,LF,ENDSTR
  100.  
  101. >>> CTODI.MAC    820830:1219    Page 20
  102.     EXT    ADDA,NEGH,ISDIGD,FNB
  103.     EXT    MPLS,MPS0,MPRD,DPL
  104.     Convert ASCII to 32-bit integer
  105.     At entry: HL points to ASCII string
  106.           DE points to 4-byte buffer
  107.     At exit:  HL points to first non-digit
  108.           A contains this non-digit
  109.     DE and BC are preserved
  110.  
  111. >>> CTOF.MAC    820820:1717    Page 22
  112.     EXT    CTODI,CTOI,ERROR
  113.     EXT    MPLS,MPS0,MPLD,DPL
  114.     Convert ASCII to 9511 floating-point
  115.     At entry: HL points to ASCII string
  116.     At exit:  HL points to 1st non-digit
  117.           A contains this non-digit
  118.     DE and BC are preserved
  119.  
  120. >>> CTOI.MAC    820820:1717    Page 24
  121.     EXT    ADDA,NEGH,ISDIGD,FNB
  122.     Convert ASCII to 16-bit integer
  123.     At entry: HL points to ASCII string
  124.     At exit:  HL points to first non-digit
  125.           DE contains the integer
  126.           A contains the non-digit
  127.     BC is preserved
  128.  
  129. >>> DCMP.MAC    820820:1718    Page 25
  130.     EXT    MPLD
  131.     Compare two 32-bit numbers in memory
  132.     At entry: HL points to the first no.
  133.           DE points to the 2nd no.
  134.     At exit:  A contains 9511 status from
  135.           <HL> - <DE>
  136.     HL, DE and BC are preserved
  137.  
  138. >>> DPL.MAC    820820:1718    Page 26
  139.     Stores no. of decimal places in
  140.     CTODI and DITOC conversions
  141.  
  142. >>> ERROR.MAC    820820:1718    Page 27
  143.     EXT    CONMSG,CRLFMS
  144.     Issue inline message, then quit.
  145.     No registers are relevant.
  146.  
  147.                                              ESC-FTOC
  148.  
  149. >>> ESC.MAC    820820:1718    Page 28
  150.     EXT    ISDIGD,HCTOI
  151.     Interpret @T as tab, @N as newline,
  152.       @R as CR, @L as LF, @F as FF,
  153.       @hh as hex number
  154.     At entry: HL points to character
  155.     At exit:  HL points to next char
  156.           A contains result char
  157.     DE and BC are preserved
  158.  
  159. >>> EXIT.MAC    820820:1718    Page 29
  160.     EXT    CLOSE
  161.     Close all fifteen i/o channels and
  162.       return to CP/M - all registers
  163.       are irrelevant.
  164.  
  165. >>> FILL.MAC    820820:1718    Page 30
  166.     Fill memory with a given byte
  167.     At entry: HL points to area to fill
  168.           BC contains number of bytes
  169.           A contains byte to write
  170.     At exit:  HL points past area filled
  171.           BC contains 0
  172.     DE and A are preserved
  173.  
  174. >>> FILLBF.MAC    820820:1718    Page 31
  175.     EXT    ADDA,FILL
  176.     Read from disk into buffer
  177.     At entry: HL points to buffer
  178.           DE points to FCB
  179.           C contains no. secs to read
  180.     At exit:  A contains zero or EOF
  181.           C contains zero
  182.     HL, DE and B are preserved.
  183.  
  184. >>> FNB.MAC    820820:1718    Page 32
  185.     Find next blank or tab in string
  186.     At entry: BC points to string
  187.     At exit:  BC points to nonblank
  188.           A contains nonblank
  189.  
  190. >>> FNDBUF.MAC    820825:1521    Page 33
  191.     EXT    CHANLS,ADDA
  192.     Find buffer block for channel
  193.     At entry: C contains channel no.
  194.     At exit:  HL points to buffer block
  195.           A contains read/write flag
  196.  
  197. >>> FTOC.MAC    820830:1542    Page 34
  198.     EXT    MPLS,MPRS,MPRD,DPL
  199.     EXT    ITOC,DITOC,ADDA,MOVES
  200.     EXT    ERROR,MSTAT,HLMDE
  201.     Convert 9511 floating-point to ASCII
  202.     At entry: 9511 has fp number
  203.     At exit:  HL points to ASCII string
  204.           A contains length of ASCII
  205.     DE and BC are preserved
  206.  
  207.                                              GETARG-GETWD
  208.  
  209. >>> GETARG.MAC    820820:1719    Page 38
  210.     EXT    NARGS, ARGBUF
  211.     Get nth argument from command line
  212.     At entry: A contains no. of arg to get
  213.     At exit:  HL points to arg
  214.           A contains ENDSTR unless arg
  215.             is null
  216.  
  217. >>> GETC.MAC    820820:1720    Page 39
  218.     EXT    STDIN,GETCF
  219.     Read one char from STDIN
  220.     At exit, A contains char input
  221.     HL, DE and BC are preserved.
  222.  
  223. >>> GETCF.MAC    820820:1720    Page 40
  224.     EXT    FNDBUF,ERROR,SETBF,FILLBF
  225.     EXT    ADDA
  226.     Read one char from specified channel
  227.     At entry, C contains channel no.
  228.     At exit,  A contains char input
  229.     HL, DE and BC are preserved
  230.  
  231. >>> GETLIN.MAC    820820:1720    Page 42
  232.     EXT    STDIN,GETLNF
  233.     Read one line (LF is delim) from STDIN
  234.     At exit, HL points to input buffer
  235.          A contains length of input
  236.     DE and BC are preserved.
  237.  
  238. >>> GETLNF.MAC    820820:1720    Page 43
  239.     EXT    GETCF,IPTBUF
  240.     Read one line from specified channel
  241.     At entry, C contains the channel no.
  242.     At exit, HL points to input buffer
  243.          A contains length of input
  244.     DE and BC are preserved.
  245.  
  246. >>> GETWD.MAC    820820:1720    Page 44
  247.     EXT    ERROR
  248.     Get one word from an ASCII string.
  249.     At entry: HL points to the source
  250.           DE points to the destination
  251.              buffer
  252.           BC points to a table of
  253.              accepted delimiters that
  254.              begins with ENDSTR and
  255.              ends with @
  256.     Delimiters other than ENDSTR may be
  257.     included in a word by use of @ as an
  258.     escape character.  Doublequotes may
  259.     also be used as explicit delimiters.
  260.     ENDSTR overrides both.
  261.     At exit:  A contains the delimiter
  262.           HL points past the delim.
  263.     DE and BC are preserved.
  264.  
  265.                                              HCTODI-INIT
  266.  
  267. >>> HCTODI.MAC    820820:1723    Page 46
  268.     EXT    ADDA,NEGH,ISDIGH
  269.     EXT    MPLS,MPS0,MPRD
  270.     EXT    DPL,FNB
  271.     Convert hex ASCII to 32-bit integer
  272.     At entry: HL points to string
  273.           DE points to 4-byte buffer
  274.     At exit:  HL points to 1st non-digit
  275.           A contains this non-digit
  276.  
  277. >>> HCTOI.MAC    820820:1723    Page 48
  278.     EXT    ADDA,NEGH,ISDIGH,FNB
  279.     Convert hex ASCII to 16-bit integer
  280.     At entry: HL points to string
  281.     At exit:  HL points to 1st non-digit
  282.           DE contains number
  283.           A contains non-digit
  284.  
  285. >>> HDCMP.MAC    820820:1723    Page 49
  286.     Set flags as for CMP but HL-DE
  287.     A is overwritten
  288.  
  289. >>> HLDDE.MAC    820820:1724    Page 50
  290.     EXT    MPLS,MPRS
  291.     HL / DE -> HL
  292.     (Status in A)
  293.  
  294. >>> HLMDE.MAC    820820:2333    Page 51
  295.     HL - DE -> HL
  296.     A is preserved
  297.  
  298. >>> HLXDE.MAC    820820:2333    Page 52
  299.     EXT    MPLS,MPRS
  300.     HL * DE -> HL
  301.     (Status in A)
  302.  
  303. >>> INDEX.MAC    820821:0955    Page 53
  304.     Find position of substring
  305.     At entry: HL points to string searched
  306.           DE points to string sought
  307.           B contains length of <HL>str
  308.           C contains length of <DE>str
  309.     At exit:  HL contains offset to substr
  310.             (0 if substr not in str)
  311.     All registers overwritten
  312.  
  313. >>> INIT.MAC    820820:2333    Page 56
  314.     EXT    NARGS,ARGBUF,ESC
  315.     EXT    GETWD,OPEN,STDIN,STDOUT
  316.     Pick up and buffer the CP/M command
  317.       line; reassign STDIN and STDOUT if
  318.       specified in < or > parameters; set
  319.       NARGS to the number of parameters
  320.       not counting redirection params.
  321.     All registers used
  322.     No registers defined at exit.
  323.  
  324.                                              INPORT-MEMRY
  325.  
  326. >>> INPORT.MAC    820820:2333    Page 58
  327.     Read byte from port
  328.     At entry: A contains port to read
  329.     At exit:  A contains datum
  330.     HL, DE and BC are preserved
  331.  
  332. >>> IPTBUF.MAC    820820:2335    Page 59
  333.     Input buffer for GETLIN & PROMPT
  334.  
  335. >>> ISDIGD.MAC    820820:2335    Page 60
  336.     Check char in A for '0'-'9'
  337.     Return char and C set if not
  338.     Else return value 0-9
  339.  
  340. >>> ISDIGH.MAC    820820:2335    Page 61
  341.     Check char in A for '0'-'9' or 'A'-'F'
  342.     Return char and C set if not
  343.     Else return value 0-0FH
  344.  
  345. >>> ITOC.MAC    820820:2335    Page 62
  346.     EXT    MPLS,MPS0,MPLD,DPL
  347.     Convert integer to ASCII string
  348.     4 entry points:
  349.       ITOC:   Decimal 16-bit in DE
  350.       ITOHC:  Hex 16-bit in DE
  351.       DITOC:  Decimal 32-bit at <DE>
  352.       DITOHC: Hex 32-bit at <DE>
  353.     At exit:  HL points to ASCII string
  354.           A contains string length
  355.  
  356. >>> LENGTH.MAC  820927:1321    Page 64
  357.     At entry, HL points to a string
  358.     At exit, DE contains the string length
  359.     HL, BC and A remain unchanged.
  360.  
  361. >>> LSTPUT.MAC    820825:1656    Page 65
  362.     EXT    PUTCF
  363.     Put char on LST: device via PUTCF
  364.     At entry: A contains char to print
  365.     All regs preserved
  366.  
  367. >>> MAKFCB.MAC    820823:1358    Page 66
  368.     EXT    FNB,ERROR,UPCASE,FILL
  369.     Create FCB from filename string
  370.     At entry: HL points to filename string
  371.           DE points to FCB space
  372.     At exit:  HL points past FCB space
  373.           A contains zero
  374.     DE and BC are preserved
  375.  
  376. >>> MEMRY.MAC    820820:2336    Page 68
  377.     EXT    $MEMRY
  378.     Establish location of dynamic-alloc
  379.       pointer
  380.  
  381.                                              MOVEL-MPS0
  382.  
  383. >>> MOVEL.MAC    820820:2336    Page 69
  384.     Move from <HL> to <DE>, BC bytes
  385.       Move is performed bottom up
  386.     At entry: HL points to low of source
  387.           DE points to low of dest.
  388.           BC contains length
  389.     At exit:  HL and DE are incr. by BC
  390.           BC contains 0
  391.           A is preserved
  392.  
  393. >>> MOVES.MAC    820820:2337    Page 70
  394.     Move from <HL> to <DE>, till delim
  395.       Move is performed bottom up
  396.     At entry: HL points to low of source
  397.           DE points to low of dest.
  398.           C contains delimiter
  399.     At exit:  HL points past block copied
  400.           DE points past block written
  401.           BC and A are preserved
  402.  
  403. >>> MOVEU.MAC    820820:2343    Page 71
  404.     Move from <HL> to <DE>, BC bytes
  405.       Move is performed top down
  406.     At entry: HL points to low of source
  407.           DE points to low of dest.
  408.           BC contains length to copy
  409.     At exit:  BC contains 0
  410.           HL, DE and A are preserved
  411.  
  412. >>> MPLD.MAC    820820:2346    Page 72
  413.     Load 32 bits to math chip
  414.     At entry: HL points to 4-byte buffer
  415.     All registers are preserved
  416.  
  417. >>> MPLS.MAC    820820:2347    Page 73
  418.     Load 16 bits to math chip
  419.     At entry: HL contains number to load
  420.     All registers are preserved
  421.  
  422. >>> MPRD.MAC    820820:2352    Page 74
  423.     Read 32 bits from math chip
  424.     At entry: HL points to 4-byte buffer
  425.     All registers are preserved
  426.  
  427. >>> MPRS.MAC    820820:2354    Page 75
  428.     Read 16 bits from math chip
  429.     At exit: HL contains number read
  430.     DE, BC and A are preserved
  431.  
  432. >>> MPS0.MAC    820820:2354    Page 76
  433.     Write a 16-bit zero to the math chip
  434.     All registers are preserved
  435.  
  436.                                              MPWAIT-PCSTR
  437.  
  438. >>> MPWAIT.MAC    820820:2354    Page 77
  439.     Write an opcode to the math chip,
  440.       await completion and return status
  441.     At entry: A contains opcode to write
  442.     At exit:  A contains math-chip status
  443.     HL, DE and BC are preserved
  444.  
  445. >>> MTBUF.MAC    820820:2354    Page 78
  446.     EXT    ADDA,ERROR
  447.     Flush buffer to disk
  448.     At entry: HL points to buffer
  449.           DE points to FCB
  450.           C contains no. secs to write
  451.     At exit:  A contains zero
  452.           C contains zero
  453.     HL, DE and B are preserved
  454.  
  455. >>> NEGH.MAC    820820:2354    Page 79
  456.     Change the sign of HL contents
  457.     DE, BC and A are preserved
  458.  
  459. >>> OP32.MAC    820820:2354    Page 80
  460.     EXT    MPLD,MPRD,MPWAIT
  461.     HL op DE -> HL
  462.     (Status in A)
  463.  
  464. >>> OPEN.MAC    820820:2355    Page 81
  465.     EXT    MAKFCB,FILLBF
  466.     EXT    BUFBLS,CHANLS,ADDA,NEGH
  467.     EXT    $MEMRY
  468.     Open a file for reading or writing
  469.       (erases existing file on write)
  470.     At entry: HL points to filename string
  471.           B contains FF to write, any
  472.             other value to read
  473.           C contains the number of
  474.             sectors to buffer
  475.     At exit:  A contains the channel no.
  476.             (0 for a failed open)
  477.     HL, DE and BC are preserved.
  478.  
  479. >>> OUTPT.MAC    820820:2355    Page 84
  480.     Write byte to port
  481.     At entry: C contains port number
  482.           A contains byte to write
  483.     All registers are preserved
  484.  
  485. >>> PCSTR.MAC    820825:1740    Page 85
  486.     EXT    PUTSTF
  487.     Put string on CON:
  488.     At entry: HL points to string
  489.     At exit:  HL points past ENDSTR
  490.     DE, BC and A are preserved
  491.  
  492.                                              PCMSG-PUTCF
  493.  
  494. >>> PCMSG.MAC    820825:1741    Page 86
  495.     EXT    PUTSTF
  496.     Put inline string on CON:
  497.     All regs preserved
  498.  
  499. >>> PLMSG.MAC    820825:1742    Page 87
  500.     EXT    PUTSTF
  501.     Put inline string on LST:
  502.     All regs preserved
  503.  
  504. >>> PLSTR.MAC    820825:1743    Page 88
  505.     EXT    PUTSTF
  506.     Put string on LST:
  507.     At entry: HL points to string
  508.     At exit:  HL points past ENDSTR
  509.     DE, BC and A are preserved
  510.  
  511. >>> PROMPT.MAC    820820:2355    Page 89
  512.     EXT    CONMSG,IPTBUF
  513.     Issue inline message to CON: and
  514.       read reply, allowing ESCAPE to
  515.       cancel the input or, if no input,
  516.       to abort the read.  The reply may
  517.       not start with a blank.
  518.     At entry: C contains max. reply length
  519.           A contains flag:
  520.             if 0, null entry (CR) ok
  521.             otherwise forbidden
  522.     At exit:  HL points to input
  523.           A contains input length
  524.  
  525. >>> PUSHBF.MAC    820820:2355    Page 92
  526.     EXT    CONBUF,FNDBUF,ERROR,MOVEU
  527.     Push char back on specified channel
  528.     At entry: A contains char to push back
  529.           C contains channel number
  530.     All registers are preserved
  531.  
  532. >>> PUSHBK.MAC    820820:2356    Page 93
  533.     EXT    STDIN,PUSHBF
  534.     Push char back to standard input
  535.     At entry: A contains char to push back
  536.     All registers are preserved
  537.  
  538. >>> PUTC.MAC    820820:2356    Page 94
  539.     EXT    STDOUT,PUTCF
  540.     Put character on STDOUT
  541.     At entry: A contains char to write
  542.     All registers are preserved
  543.  
  544. >>> PUTCF.MAC    820820:2356    Page 95
  545.     EXT    FNDBUF,ERROR,SETBF,MTBUF
  546.     EXT    ADDA, *** ENTRY FNDCNT ***
  547.     Put char on specified channel
  548.     At entry: A contains char to write
  549.           C contains channel no
  550.     All registers are preserved
  551.  
  552.                                              PUTDCF-REMARK
  553.  
  554. >>> PUTDCF.MAC    820825:1941    Page 98
  555.     EXT    ITOC,PUTCF,PUTSTF
  556.     Put out decimal number on channel,
  557.       right-adjusted.
  558.     At entry: DE contains number to write
  559.           C contains channel number
  560.           A contains minimum length.
  561.     All registers are preserved.
  562.  
  563. >>> PUTDEC.MAC    820825:1942    Page 99
  564.     EXT    ITOC,PUTC,PUTSTR
  565.     Put out decimal number on STDOUT,
  566.       right-adjusted.
  567.     At entry: DE contains number to write
  568.           C contains channel number
  569.           A contains minimum length.
  570.     All registers are preserved.
  571.  
  572. >>> PUTMSF.MAC    820825:1746    Page 100
  573.     EXT    PUTSTF
  574.     Put out inline message on channel
  575.     At entry: C contains channel no.
  576.     All registers are preserved.
  577.  
  578. >>> PUTMSG.MAC    820825:1748    Page 101
  579.     EXT    PUTSTF,STDOUT
  580.     Put out inline message on STDOUT
  581.     All registers are preserved.
  582.  
  583. >>> PUTSTF.MAC    820825:1749    Page 102
  584.     EXT    PUTCF
  585.     Put out message on channel
  586.     At entry: HL points to message
  587.           C contains channel no.
  588.     All registers are preserved
  589.  
  590. >>> PUTSTR.MAC    820825:1751    Page 103
  591.     EXT    PUTSTF,STDOUT
  592.     Put out message on STDOUT
  593.     At entry: HL points to message
  594.     All registers are preserved
  595.  
  596. >>> RDCLK.MAC    820820:2356    Page 104
  597.     Read clock contents yymmdd:hhmm
  598.     At exit: HL points to ASCII string
  599.          A contains string length
  600.     DE and BC are preserved
  601.  
  602. >>> REMARK.MAC    820820:2356    Page 105
  603.     EXT    CONMSG,CRLFMS
  604.     Put inline message direct on CON:
  605.     (can be used to avoid linking disk i/o
  606.      routines if not needed).
  607.  
  608.                                              SELCMD-UPCASE
  609.  
  610. >>> SELCMD.MAC    820820:2356    Page 106
  611.     Select command from inline list;
  612.       fall through if no match
  613.       Table format is (byte,addr)n,0
  614.       All registers are overwritten
  615.  
  616. >>> SETBF.MAC    820820:2356    Page 107
  617.     EXT    ADDA
  618.     Set up registers for FILLBF or
  619.     MTBUF call - normally not used outside
  620.     tool package
  621.  
  622. >>> SOUNDX.MAC    820820:2357    Page 108
  623.     Return Soundex code for ASCII string
  624.     At entry: HL points to string
  625.           DE points to 4-byte buffer
  626.     At exit:  HL points to first non-alpha
  627.           DE, BC and A are preserved
  628.  
  629. >>> SPXCH.MAC    820820:2357    Page 110
  630.     Exchange stacks
  631.     At entry: HL points to new stack
  632.     All registers are overwritten
  633.  
  634. >>> STDIO.MAC    820820:2357    Page 111
  635.     Storage for STDIN and STDOUT channel
  636.       numbers (init to 0)
  637.  
  638. >>> TABBER.MAC    820820:2357    Page 112
  639.     EXT    STDOUT,TABBRF
  640.     Put blanks on standard output till
  641.       specified column is reached.
  642.     At entry: A contains column no.
  643.     All regs preserved
  644.  
  645. >>> TABBRF.MAC    820820:2357    Page 113
  646.     EXT    PUTCF,FNDCNT,CRLFF
  647.     Put blanks on specified channel
  648.       till specified column is reached.
  649.     At entry: C contains channel no.
  650.               A contains column no.
  651.     All regs preserved
  652.  
  653. >>> TYPAHD.MAC    820901:1325    Page 114
  654.     Set up type-ahead buffer, disabling
  655.       CONIN etc. and replacing with KEY
  656.       which returns 0 if not ready, char
  657.       if one is available.  CONST will
  658.       always return false, and CONIN will
  659.       hang forever.
  660.     TYPAHD overwrites all registers
  661.     KEY preserves HL, DE and BC
  662.  
  663. >>> UPCASE.MAC    820820:2357    Page 116
  664.     Force A to upper case
  665.