home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug001.arc / CPM.HLP < prev    next >
Text File  |  1979-12-31  |  32KB  |  765 lines

  1. General Information on CP/M
  2. CP/M File References
  3. CP/M Line Editing and Output Control
  4. CP/M Built-In Commands
  5. CP/M Transient Commands
  6. Physical Device Assignments for ARIES-1
  7. CP/M STAT Command
  8. CP/M PIP Command
  9. CP/M ED Command
  10. CP/M ASM Command
  11. CP/M LOAD Command
  12. The UNLOAD Command
  13. CP/M DDT Command
  14. The ZDT Command
  15. CP/M SYSGEN Command
  16. CP/M SUBMIT Command
  17. CP/M BDOS -- Basic I/O Operations
  18. CP/M BDOS -- Basic Disk Operations
  19. CP/M File Types
  20. CP/M BIOS Jump Vector
  21. :General Information on CP/M
  22.      CP/M is a monitor control program for microcomputer system 
  23. development  which  uses IBM-compatible flexible disks  (floppy 
  24. disks) for mass storage.  Using a microcomputer mainframe based 
  25. on Intel's 8080 or Zilog's Z80 microprocessor,  CP/M provides a 
  26. general  environment for  program  construction,  storage,  and 
  27. editing,  along with assembly and program debug facilities.  An 
  28. important  feature of CP/M is that it can be easily altered  to 
  29. execute  with  any computer configuration which uses  an  Intel 
  30. 8080  or Zilog Z80 Microprocessor and has at least 16K bytes of 
  31. main memory with up to four IBM-compatable diskette drives.
  32.      The  CP/M  monitor provides access to programs  through  a 
  33. comprehensive  file  management  system.   The  file  subsystem 
  34. supports a named file structure, allowing dynamic allocation of 
  35. file space as well as sequential and random file access.  Using 
  36. this file system, a up to 64 distinct programs can be stored in 
  37. both source and machine-executable form.
  38.      Digital Research, the designer of CP/M, has provided a set 
  39. of six manuals which describe the use and operation of CP/M  in 
  40. detail.
  41.  
  42.      These manuals are:
  43.           1.  An Introduction to CP/M Features and Facilities
  44.           2.  ED:  A Context Editor for the CP/M Disk System
  45.           3.  ASM:  CP/M Assembler User's Manual
  46.           4.  DDT:  CP/M Dynamic Debugging Tool User's Manual
  47.           5.  CP/M Interface Guide
  48.           6.  CP/M System Alteration Guide
  49.  
  50.      As the reader can see,  CP/M supports a context editor, an 
  51. assembler (Intel-compatable), and a debugger system.  These are 
  52. available in the basic CP/M package.   There is a large variety 
  53. of  other  software  available which can run  under  CP/M  with 
  54. little  or  no modification.   Such software  includes  several 
  55. assemblers  (both 8080 and Z80),  a symbolic debugger,  several 
  56. high-level languages (including FORTRAN IV {compiler},  BASIC-E 
  57. {translator},  CBASIC {translator},  many interpretive  BASICs, 
  58. ALGOL,  FOCAL, and C), and several special-purpose applications 
  59. programs  (such  as  text  formatting  systems  and  accounting 
  60. systems).
  61. :CP/M File References
  62.  
  63.      A  file reference identifies a particular file or group of 
  64. files  on  a  particular disk attached  to  CP/M.   These  file 
  65. references can be either unambiguous (ufn) or ambiguous  (afn).  
  66. An  unambiguous  file  reference uniquely identifies  a  single 
  67. file,  while an ambiguous file reference may be satisfied by  a 
  68. number of different files.
  69.  
  70.      An  unambiguous  file  reference is an exact name  of  the 
  71. specified file.   It consists of up to eight characters in  the 
  72. file   name  and  three  characters  in  the  file  type.    An 
  73. unambiguous file reference is of the form --
  74.  
  75.                pppppppp.sss
  76.  
  77.      The  characters  used in specifying  an  unambiguous  file 
  78. reference may not contain any of --
  79.  
  80.                < > . , ; : = ? * [ ]
  81.  
  82.      An  ambiguous file reference is used for directory  search 
  83. and pattern matching.   The form of an ambiguous file reference 
  84. is  similar to an unambiguous reference,  except the symbol '?' 
  85. may be interspersed throughout the file reference.   In various 
  86. commands throughout CP/M,  the '?' symbol matches any character 
  87. of a file name in the '?' position.   For example, X?Y.C?M will 
  88. match XZY.COM and X3Y.CEM.  The '*' symbol is used to match all 
  89. characters  of a file name or file type.   For  example,  *.COM 
  90. will  match  XZY.COM  and HELP.COM,  while  HELP.*  will  match 
  91. HELP.COM and HELP.HLP.
  92. :CP/M Line Editing and Output Control
  93.  
  94.      The following are the line editing functions supported  by 
  95. CP/M --
  96.  
  97.           rubout    Delete and echo the last character typed at 
  98.                     the console.
  99.           Ctrl-U    Delete   the  entire  line  typed  at   the 
  100.                     console.
  101.           Ctrl-X    Same as Ctrl-U.
  102.           Ctrl-R    Retype  current  command  line:    types  a 
  103.                     "clean  line" following character  deletion 
  104.                     with rubouts.
  105.           Ctrl-E    Physical   end   of  line:    carriage   is 
  106.                     returned,  but  line is not sent until  the 
  107.                     carriage return key is depressed.
  108.           Ctrl-C    CP/M system reboot (warm start).
  109.           Ctrl-Z    End input from the console (used in PIP and 
  110.                     ED).
  111.      Other control functions affect console output --
  112.  
  113.           Ctrl-P    Copy  all subsequent console output to  the 
  114.                     currently-assigned   list  device   (LST:).  
  115.                     Output is sent to both the list device  and 
  116.                     the console device until the next Ctrl-P is 
  117.                     typed.
  118.           Ctrl-S    Stop   the   console  output   temporarily.  
  119.                     Program execution and output continue  when 
  120.                     the next character is typed at the console.  
  121.                     Typing Ctrl-C returns control to CP/M.
  122.  
  123.      Input  lines  can  generally be up to  255  characters  in 
  124. length.   They are not acted upon until the carriage return key 
  125. is typed.
  126. :CP/M Built-In Commands
  127.  
  128.      CP/M supports five built-in commands --
  129.  
  130.           ERA  afn  -- The  ERA (erase) command  removes  files 
  131.                from the currently logged-in disk.
  132.           DIR  afn  -- The  DIR (directory) command causes  the 
  133.                names  of all files which satisfy the  ambiguous 
  134.                file  name  afn  to be  listed  on  the  console 
  135.                device.   All  files  are  listed if no  afn  is                
  136.                given.
  137.           REN  ufn1=ufn2 -- The REN (rename) command allows the 
  138.                user to change the names of files on disk.   The 
  139.                file satisfying ufn2 is changed to ufn1.
  140.           SAVE  n  ufn -- The SAVE command places n pages (256-
  141.                byte  blocks) onto disk from the TPA  and  names 
  142.                this file ufn.
  143.           TYPE  ufn  -- The TYPE command displays the  contents 
  144.                of  the ASCII source file ufn on  the  currently 
  145.                logged-in disk at the console device.
  146. :CP/M Transient Commands
  147.  
  148.      The CP/M standard transient commands are --
  149.  
  150.           STAT      List   the  number  of  bytes  of   storage  
  151.                     remaining  on the currently logged-in disk, 
  152.                     provide   statistical   information   about 
  153.                     particular  files,  and  display  or  alter 
  154.                     device assignment.
  155.           PIP       Load the Peripheral Interchange Program for 
  156.                     subsequent   disk   file   and   peripheral 
  157.                     transfer operations.
  158.           ED        Load  and  execute  the  CP/M  text  editor 
  159.                     program.
  160.           SUBMIT    Submit   a  file  of  commands  for   batch 
  161.                     processing.
  162.           ASM       Load  the CP/M assembler and  assemble  the 
  163.                     specified program from disk.
  164.           LOAD      Load  the file in Intel "hex" machine  code 
  165.                     format  and  produce  a  file  in   machine 
  166.                     executable  form  which can be loaded  into 
  167.                     the TPA (this loaded program becomes a  new                     
  168.                     command under the CCP).
  169.           DDT       Load  the  CP/M debugger into the  TPA  and 
  170.                     execute it.
  171.           DUMP      Dump the contents of a file in hex.
  172.           SYSGEN    Create a new CP/M system diskette.
  173.           MOVCPM    Regenerate   the   CP/M   system    for   a 
  174.                     particular memory size.
  175. :Physical Device Assignments for ARIES-1
  176.  
  177.      Logical Device           Physical Device
  178.  
  179.           CON:                TTY: Model 43 Teletype
  180.                               CRT: Hazeltine 1500 CRT
  181.                               BAT: CRT and Modem
  182.                               UC1: In=CRT, Out=CRT and Modem
  183.           RDR:                TTY: Model 43 Teletype
  184.                               PTR: Modem
  185.                               UR1: CRT and Modem w/CRT Output
  186.                               UR2: CRT and Modem
  187.           PUN:                TTY: Model 43 Teletype
  188.                               PTP: Modem
  189.                               UP1: CRT and Modem
  190.                               UP2: CRT and Modem
  191.           LST:                TTY: Model 43 Teletype
  192.                               CRT: Hazeltine 1500 CRT
  193.                               LPT: Modem
  194.                               UL1: CRT and Modem
  195.  
  196. :CP/M STAT Command
  197.  
  198.      The STAT Command takes any of the following forms --
  199.  
  200. STAT      Calculate  the storage remaining on all active drives 
  201.           and print a message like
  202.                x: R/W, SPACE: nnnK  -- if disk is Read/Write
  203.                x: R/O, SPACE: nnnK  -- if disk is Read Only
  204. STAT x:   Calculate  the  storage remaining  on  the  specified 
  205.           drive and print
  206.                BYTES REMAINING ON x: nnnK
  207. STAT x:afn
  208.           Scan  the specified files on the specified drive  (x: 
  209.           is  optional),  and list all files which satisfy  the 
  210.           unambiguous  reference  in  alphabetical  order  with 
  211.           storage requirements.   A table like the following is 
  212.           generated --
  213.  
  214.                RECS BYTS EX D:FILENAME.TYP
  215.                rrrr nnnK ee d:pppppppp.sss
  216.  
  217.           where
  218.                rrrr  -- number of 128-byte records allocated to 
  219.                         the file
  220.                nnnK --  number   of  bytes   (in   K,   K=1024) 
  221.                         allocated  to the file nnn = rrrr * 128 
  222.                         / 1024
  223.                ee --    number of 16K extensions ee = nnn / 16
  224.                d:pppppppp.sss -- 
  225.                         drive name (d may be A,  B,  C,  D) and 
  226.                         file name
  227. STAT x:=R/O
  228.           Set  the  specified  drive to  Read  Only.   This  is 
  229.           cleared  by a warm boot.   When a disk is Read  Only, 
  230.           the message
  231.                BDOS ERR ON x: READ ONLY
  232.           will appear if there is an attempt to write to it.
  233. STAT VAL:
  234.           Display  the  possible  logical  to  physical  device 
  235.           assignments.
  236.  
  237.           STAT will print the list --
  238.  
  239.                CON: = TTY:  CRT:  BAT:  UC1:
  240.                RDR: = TTY:  PTR:  UR1:  UR2:
  241.                PUN: = TTY:  PTP:  UP1:  UP2:
  242.                LST: = TTY:  CRT:  LPT:  UL1:
  243.  
  244. STAT DEV:
  245.           Display   the  current  logical  to  physical  device 
  246.           mapping.  For example, the list may appear as --
  247.  
  248.                CON: = CRT:         PUN: = PTP:
  249.                RDR: = UR1:         LST: = TTY:
  250.  
  251. STAT ld1=pd1, ld2=pd2, ...
  252.           Change  the logical to physical  device  assignments.  
  253.           Logical  device  ld1 is assigned to  physical  device 
  254.           pd1, etc.  The valid logical device names are --
  255.  
  256.                CON:      The system console device
  257.                RDR:      The paper tape reader device
  258.                PUN:      The paper tape punch device
  259.                LST:      The output list device
  260.  
  261.           The valid physical device names are --
  262.  
  263.                TTY:      Slow speed output device (teletype)
  264.                CRT:      High  speed output device (cathode ray 
  265.                          tube)
  266.                BAT:      Batch processing (CON:  input is RDR:, 
  267.                          CON: output is LST:)
  268.                UC1:      User-defined console
  269.                PTR:      Paper tape reader
  270.                PTP:      Paper tape punch
  271.                UR1:      User-defined reader #1
  272.                UR2:      User-defined reader #2
  273.                UP1:      User-defined punch #1
  274.                UP2:      User-defined punch #2
  275.                LPT:      Line printer
  276.                UL1:      User-defined list device #1
  277.  
  278. :CP/M PIP Command
  279.  
  280.      PIP (Peripheral Interchange Program) is the CP/M transient 
  281. which   implements  the  basic  media   conversion   operations 
  282. necessary to load,  print, punch, copy, and combine disk files.  
  283. PIP is initiated by one of the following forms --
  284.  
  285.           PIP            Engage  PIP, prompt the user with '*', 
  286.                          and  read command lines directly  from 
  287.                          the console.  PIP used in this way  is 
  288.                          exited   by  either  typing  an  empty 
  289.                          command line (just a carriage  return) 
  290.                          or a Ctrl-C as the first character  of 
  291.                          the line.
  292.           PIP  cmnd      Engage  PIP,  execute   the  specified 
  293.                          command, and return to CP/M.
  294.  
  295.      The form of each command line in PIP is --
  296.  
  297.         destination=source#1, source#2, source#3, ..., source#n
  298.  
  299.      The general forms of PIP command lines are --
  300.  
  301.           x:=y:afn       Copy  all  files  satisfying afn  from 
  302.                          drive  y  to  drive  x.   'y'  may  be 
  303.                          omitted,  and,  if so,  the  currently 
  304.                          logged-in drive is selected.
  305.           x:ufn=y:       Copy   the file given by ufn from y to 
  306.                          x.   'x' may be omitted,  and,  if so, 
  307.                          the   currently  logged-in  drive   is 
  308.                          selected.
  309.           x:afn=y:afn    Like the above,  but x and/or y may be 
  310.                          omitted; the default drive is selected 
  311.                          for the omitted drive(s).
  312.           ld=pd          Copy  from   the  specified   physical 
  313.                          device   to   the  specified   logical 
  314.                          device.
  315.             Valid logical devices are --
  316.           
  317.                     CON:, RDR:, PUN:, LST:
  318.  
  319.             Valid physical devices are --
  320.  
  321.                      TTY:, CRT:, UC1:, PTR:, PTP:, UR1:,
  322.                      UR2:, UP1:, UP2:, LPT:, UL1:
  323.  
  324.      Additional device names which may be used in PIP  commands 
  325. are --
  326.  
  327.           NUL:      Send 40 Nulls (ASCII 0) to the device.
  328.           EOF:      Send  a  CP/M End of File character  (ASCII 
  329.                     Ctrl-Z).
  330.           INP:      Special PIP input source to be patched (see 
  331.                     manual).
  332.           OUT:      Special  PIP  output   destination  to   be 
  333.                     patched (see manual).
  334.           PRN:      Same  as  LST:,  but  tabs are expanded  at 
  335.                     every eighth character position,  lines are 
  336.                     numbered,  and  page  ejects  are  inserted 
  337.                     every 60 lines with an initial eject.
  338.  
  339.      The  user  can  also specify one or  more  PIP  parameters 
  340. enclosed  in square brackets separated by zero or more  blanks.  
  341. These parameters are --
  342.  
  343.      B    Block mode  transfer.   Data is buffered by PIP until 
  344.           an  ASCII X-Off character (Ctrl-S) is  received  from 
  345.           the source device.
  346.      Dn   Delete  characters  which extend past column n in the 
  347.           transfer   of  data  to  the  destination  from   the 
  348.           character source.
  349.      E    Echo all transfer operations to the console.
  350.      F    Filter (remove) form feeds from the file.
  351.      H    Hex  data transfer.   All data is checked for  proper 
  352.           Intel hex file format.
  353.      I    Ignore  ':00'  records in the transfer of  Intel  hex 
  354.           format file.
  355.      L    Translate upper case to lower case alphabetics.
  356.      N    Add  line  numbers to each line  transferred  to  the 
  357.           destination.
  358.      O    Object  file  (non-ASCII) transfer.   Ignore  End  of 
  359.           File.
  360.      Pn   Include page ejects at every n lines.
  361.      Qs^Z Quit copying  from the source device or file when the 
  362.           string s (terminated by Ctrl-Z) is encountered.
  363.      Ss^Z Start  copying from the source file when the string s 
  364.           is seen.
  365.      Tn   Expand tabs to every nth column.
  366.      U    Translate lower case to upper case alphabetics.
  367.      V    Verify that data has been copied correctly.
  368.      Z    Zero   the  parity  bit  on  input  for  each   ASCII 
  369.           character.
  370. :CP/M ED Command
  371.  
  372.      The  ED Program is the CP/M system context  editor,  which 
  373. allows  creation  and  alteration  of  ASCII  files.   Complete 
  374. details are given in the user's manual.
  375.  
  376.      The following are the error indicators given by ED --
  377.  
  378.           ?    Unrecognized Command
  379.           >    Memory buffer full
  380.           #    Cannot   apply  command  the  number  of   times 
  381.                specified
  382.           O    Cannot open LIB file in R command
  383.  
  384.      The following are the control characters recognized by  ED 
  385. --
  386.  
  387.           ^C        System reboot
  388.           ^E        Physical <CR> <LF> (not entered in command)
  389.           ^I        Logical tab
  390.           ^L        Logical  <CR> <LF> in search and substitute 
  391.                     strings
  392.           ^U        Line delete
  393.           ^Z        String terminator
  394.           Rubout    Character delete
  395.           Break     Discontinue command
  396.  
  397.      The following are the commands recognized by ED --
  398.  
  399.           nA        Append lines
  400.           +/- B     Beginning/Bottom of buffer
  401.           +/- nC    Move character positions
  402.           +/- nD    Delete characters
  403.           E         Exit
  404.           nFs^Z     Find string
  405.           H         End edit, close and reopen files
  406.           Is^Z      Insert characters
  407.           nJ        Place strings in juxtaposition
  408.           +/- nK    Kill (delete) lines
  409.           +/- nL    Move down/up lines
  410.           nM        Macro definition
  411.           O         Return to original file
  412.           +/- nP    Move and print pages
  413.           Q         Quit with no file changes
  414.           R         Read library file
  415.           nSs1^Zs2^Z
  416.                     Substitute s2 for s1
  417.           +/- nT    Type lines
  418.           +/- U     Translate lower to upper case if U; none if 
  419.                     -U
  420.           +/- V     Engage/disengage line numbers (verify)
  421.           0V        Print memory buffer info (free/total usage)
  422.           nW        Write lines
  423.           nX        Transfer n lines to X$$$$$$$.LIB
  424.           0X        Empty X$$$$$$$.LIB
  425.           nZ        Sleep
  426.           +/- n     Move and type (+/- nLT)
  427.           n:        Move to absolute line (V engaged)
  428.           :n        Process from current line to specified line 
  429.                     (V engaged)
  430. :CP/M ASM Command
  431.  
  432.      The   ASM  Command  loads  and  executes  the  CP/M   8080 
  433. assembler.  It is of the form --
  434.  
  435.           ASM filename.xyz
  436.  
  437. where
  438.  
  439.           filename  ... is the name of the file  'filename.ASM' 
  440.                         to assemble
  441.           x         ... designates the disk name which contains 
  442.                         the source
  443.           y         ... designates the disk name to contain the 
  444.                         hex  file (y=Z suppresses generation of 
  445.                         the hex file)
  446.           z         ... designates the disk name to contain the 
  447.                         print  file  (y=X lists  on  CON:,  y=Z 
  448.                         suppresses listing)
  449.  
  450.      Refer to the ASM Manual for further details.
  451. :CP/M LOAD Command
  452.  
  453.      The  LOAD  Command  reads the  file  specified,  which  is 
  454. assumed to contain Intel hex format machine code and produces a 
  455. memory image file which can be subsequently executed  (converts 
  456. .HEX to .COM files).  It is of the form --
  457.  
  458.           LOAD filename
  459.  
  460. where filename is the name of the file 'filename.HEX'.
  461. :The UNLOAD Command
  462.  
  463.      The UNLOAD Command does the reverse of the LOAD Command -- 
  464. it converts COM files to HEX files.  It is of the form --
  465.  
  466.           UNLOAD filename
  467.  
  468. where filename is the name of the file 'filename.COM'.
  469. :CP/M DDT Command
  470.  
  471.      The  DDT  Program allows dynamic interactive  testing  and 
  472. debugging of programs generated in the CP/M environment.  It is 
  473. invoked by --
  474.  
  475.           DDT
  476.           DDT filename.HEX
  477.           DDT filename.COM
  478.  
  479. where  'filename'  is the name of the program to be  loaded  or 
  480. tested.
  481.  
  482.      DDT  responds  to  the  normal  CP/M  input  line  editing 
  483. characters.
  484.  
  485.    DDT responds to the following commands --
  486.  
  487.      As   Perform  inline  assembly starting at  the  specified 
  488.           address s.
  489.      D    Display  memory  from  the  current  address  for  16 
  490.           display lines.
  491.      Ds   Display memory from address s for 16 display lines.
  492.      Ds,f Display memory from address s to address f.
  493.      Fs,f,c
  494.           Fill  memory from start address s to final address  f 
  495.           with byte c.
  496.      G    Start execution at the current value of the PC.
  497.      Gs   Start execution at the specified address s.
  498.      Gs,b Start execution  at the specified address s and set a 
  499.           breakpoint at the address b.
  500.      Gs,b,c
  501.           Same as above with breakpoints at b and c.
  502.      G,b  Start  execution at the current value of the PC  with 
  503.           breakpoint b.
  504.      G,b,c
  505.           Same as above with breakpoints at b and c.
  506.      If   Insert a file name f into the default FCB.
  507.  
  508.      L    List  12 lines of disassembled code from the  current 
  509.           address.
  510.      Ls   List 12 lines from the specified address s.
  511.      Ls,f List lines of disassembled code from s to f.
  512.      Ms,f,d
  513.           Move  the block from address s to f to destination at 
  514.           address d.
  515.      R    Read file in FCB into memory at 100H.
  516.      Rb   Read file in FCB into memory with offset b from 100H.
  517.      Ss   Set (examine and alter) memory starting at address s.
  518.      T    Trace the next instruction.
  519.      Tn   Trace the next n instructions.
  520.      U    Untrace -- like Trace, but intermediate steps are not 
  521.           displayed.
  522.      X    Examine all registers and flags.
  523.      Xr   Examine specified registers or flag,  where r may  be 
  524.           --
  525.                C    Carry flag
  526.                Z    Zero flag
  527.                M    Minus (sign) flag
  528.                I    Interdigit Carry flag
  529.                A    Accumulator
  530.                B    BC Reg pair
  531.                D    DE Reg pair
  532.                H    HL Reg pair
  533.                S    Stack pointer
  534.                P    PC
  535. :The ZDT Command
  536.  
  537.      ZDT is a Z80 version of DDT.  It is invoked by typing --
  538.  
  539.           ZDT
  540.  
  541.      The  commands  recognized  by  ZDT are  input  in  single-
  542. character input mode.   No input line editing is done, and each 
  543. command  expects an exact input.   All byte values are  exactly 
  544. two characters, and all addresses are exactly four characters.
  545.  
  546.      The commands recognized by ZDT are --
  547.  
  548.           A bbbb
  549.                Enter ASCII characters into memory from keyboard 
  550.                starting at address bbbb.
  551.           B
  552.                Warm Boot -- Return to CP/M.
  553.           C bbbb eeee nnnn
  554.                Compare memory from address bbbb to address eeee 
  555.                to block starting at nnnn.
  556.           D bbbb eeee
  557.                Dump memory from bbbb to eeee.
  558.           E bbbb eeee <ASCII string>
  559.                Search  for  ASCII  string from  bbbb  to  eeee.  
  560.                String  is  at most 16  characters.   String  is 
  561.                terminated by <CR>.
  562.           F bbbb eeee <hex string>
  563.                Search for hex string from bbbb to eeee.  String 
  564.                is terminated by <CR>.
  565.           G
  566.                Go to next breakpoint.
  567.           H aaaa nnnn
  568.                Hex  add and subtract.   Computes aaaa+nnnn  and 
  569.                aaaa-nnnn.
  570.           I nn
  571.                Input.  Prints value at port nn.
  572.           J nnnn
  573.                Jump to and execute at location nnnn.
  574.           K
  575.                Keyboard echo.
  576.           L filename.typ nnnn
  577.                Loads specified disk file into location nnnn.
  578.           M bbbb eeee nnnn
  579.                Move block from bbbb to eeee-1 to nnnn.
  580.           N aaaa
  581.                Enter offset aaaa for loading.
  582.           O nn dd
  583.                Output byte dd to port nn.
  584.           P bbbb
  585.                Input hex into memory from keyboard starting  at 
  586.                bbbb.   <sp>  advances pointer,  <rub> or  <del> 
  587.                backs pointer.
  588.           Q bbbb eeee
  589.                Dumps from bbbb to eeee in ASCII.
  590.           R n ll tt ss bbbb
  591.                Read  block  of  data from disk n of  length  ll 
  592.                (256-byte pages) starting at track tt and sector 
  593.                ss placing the data at bbbb.
  594.           S bbbb eeee
  595.                Disassembly (symbolic dump) from bbbb to eeee.
  596.           T bbbb eeee
  597.                Destructive memory test from bbbb to eeee-1.
  598.           U bbbb
  599.                Set breakpoint at bbbb.
  600.           V
  601.                Display all currently-set breakpoints.
  602.           W n ll tt ss bbbb
  603.                Write on disk n the data at bbbb for a length of 
  604.                ll starting at track tt,  sector ss.   ll is  in 
  605.                256-byte pages.
  606.           X
  607.                Display registers.
  608.           Z bbbb eeee dd
  609.                Zero or set memory from bbbb to eeee-1 with byte 
  610.                dd.
  611. :CP/M SYSGEN Command
  612.  
  613.      The  SYSGEN  transient  command allows  generation  of  an 
  614. initialized disk containing the CP/M Operating System.
  615.  
  616.      It is invoked by typing
  617.  
  618.           SYSGEN
  619.  
  620.      Once  invoked,  the user is prompted through the  session.  
  621. Refer to the CP/M Manual for further details.
  622. :CP/M SUBMIT Command
  623.  
  624.      The  SUBMIT  command  allows CP/M commands to  be  batched 
  625. together for automatic processing.  The form of this command is
  626.  
  627.           SUBMIT ufn parm1 parm2 ... parmn
  628.  
  629.      The  ufn given in the SUBMIT command must be the  filename 
  630. (not  type) of a file which exists on the  currently  logged-in 
  631. disk  with an assumed file type of '.SUB'.   Refer to the  CP/M 
  632. Manual for further details.
  633. :CP/M BDOS -- Basic I/O Operations
  634.  
  635.   Function and Number      Input Parameters    Output Parameters
  636.  
  637.   Read Console      1      None                ASCII Char in A
  638.   Write Console     2      ASCII Char in E     None
  639.   Read Reader       3      None                ASCII Char in A
  640.   Write Punch       4      ASCII Char in E     None
  641.   Write List        5      ASCII Char in E     None
  642.   Get I/O Status    7      None                I/O Status in A
  643.   Put I/O Status    8      I/O Status in E     None
  644.   Print Buffer      9      Address of string   None
  645.                             terminated by $
  646.                             in DE
  647.   Read Buffer      10      Address of Read     Read Buffer is filled
  648.                             Buffer in DE
  649.   Console Ready    11      None                LSB of A is 1 if char
  650.                                                 ready
  651. *All function numbers are passed in Reg C.
  652.  
  653. I/O Status Byte --
  654.  
  655.      Value     Bits 6&7  Bits 4&5  Bits 2&3  Bits 0&1
  656.  
  657.        00      CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY:
  658.        01           CRT:      PTR:      PTP:      CRT:
  659.        10           BAT:      UR1:      UP1:      LPT:
  660.        11           UC1:      UR2:      UP2:      UL1:
  661.  
  662. Read Buffer --
  663.  
  664.      Byte      Function
  665.  
  666.        1       Maximum Buffer Length
  667.        2       Current Buffer Length (returned value)
  668.      3-n       Data (returned values)
  669.  
  670.  
  671. :CP/M BIOS -- Basic Disk Operations
  672.  
  673.   Function and Number      Input Parameters    Output Parameters
  674.  
  675.   Lift Head        12      None                None
  676.   Init BDOS        13      None                None
  677.   Log-In Disk      14      Value in Reg E      None
  678.                             A=0, B=1, C=2,
  679.                             D=3
  680.   Open File        15      Address of FCB      Byte address of FCB
  681.                             in DE               if found or 0FFH if not
  682.   Close File       16      Address of FCB      Byte address of FCB
  683.                             in DE               if found or 0FFH if not
  684.   Search for File  17      Address of FCB      Byte address of first FCB
  685.                             in DE               if found or 0FFH if not
  686.   Search for Next  18      Address of FCB      Byte address of next FCB
  687.                             in DE               if found or 0FFH if not
  688.   Delete File      19      Address of FCB      None
  689.                             in DE
  690.   Function and Number      Input Parameters    Output Parameters
  691.  
  692.   Read Next Record 20      Address of FCB      0=successful read
  693.                             in DE              1=read past EOF
  694.                                                2=reading random data
  695.   Write Next Rec   21      Address of FCB      0=successful write
  696.                             in DE              1=error in extending
  697.                                                2=end of disk data
  698.                                                255=no more dir space
  699.   Make File        22      Address of FCB      Byte address of FCB or
  700.                             in DE               255 if no more dir space
  701.   Rename FCB       23      Address of FCB      Byte Address of Dir entry
  702.                             in DE               or 255 if no match
  703.   Read Drive No    25      None                Number of logged-in drive
  704.                                                 (A=0, B=1, C=2, D=3)
  705.   Set DMA Address  26      Address of 128      None
  706.                            byte buffer in DE
  707.  
  708. *All function numbers are passed in Reg C
  709.  
  710. :CP/M File Types
  711.  
  712.      ALG       ALGOL 60 Source File
  713.      ASM       Assembler Source File
  714.      BAK       Backup File
  715.      BAS       BASIC Source File (CBASIC)
  716.      C         C Source File
  717.      COM       "Command" File (Binary ORGed to 100H)
  718.      FOR       FORTRAN IV Source File
  719.      HEX       Intel "hex" code file
  720.      HLP       HELP File
  721.      INT       BASIC Intermediate File
  722.      LST       Listing File
  723.      MAC       MACRO-80 Source File
  724.      PRN       Assembler Listing File
  725.      SRC       PASCAL/MT Source File
  726.      SUB       SUBMIT File
  727.      TC        Tiny-C Source File
  728.      TFS       TFS Source File
  729.      TXT       Text File
  730.      $$$       Temporary File
  731. :CP/M BIOS Jump Vector
  732.  
  733.      The  following  is a table representing the  entry  points 
  734. into the CP/M BIOS of the major routines accessable to the user 
  735. --
  736.  
  737.  
  738.      Routine   Relative Offset     Comment
  739.  
  740.      BOOT           00H            Cold Start
  741.      WBOOT          03H            Warm Start
  742.      CONST          06H            Console Status
  743.                                     Reg A = 00 if no char ready
  744.                                     Reg A = FF if char ready
  745.      CONIN          09H            Console char in (Reg A)
  746.      CONOUT         0CH            Console char out (Reg C)
  747.      LIST           0FH            List out (Reg C)
  748.      PUNCH          12H            Punch out (Reg C)
  749.      READER         15H            Reader in (Reg A)
  750.  
  751.      Routine   Relative Offset     Comment
  752.  
  753.      HOME           18H            Move to track 00
  754.      SELDSK         1BH            Select  disk given by Reg  C 
  755.                                    (A=0,B=1,...)
  756.      SETTRK         1EH            Set  track address given  by 
  757.                                    Reg C (0...76)
  758.      SETSEC         21H            Set  sector address given by 
  759.                                    Reg C (1...26)
  760.      SETDMA         24H            Set  subsequent DMA  address 
  761.                                    (RP B&C)
  762.      READ           27H            Read track/sector (block)
  763.      WRITE          2AH            Write track/sector (block)
  764.                             Reg A = FF if char ready
  765.      CONIN          09H