home *** CD-ROM | disk | FTP | other *** search
- General Information on CP/M
- CP/M File References
- CP/M Line Editing and Output Control
- CP/M Built-In Commands
- CP/M Transient Commands
- Physical Device Assignments for ARIES-1
- CP/M STAT Command
- CP/M PIP Command
- CP/M ED Command
- CP/M ASM Command
- CP/M LOAD Command
- The UNLOAD Command
- CP/M DDT Command
- The ZDT Command
- CP/M SYSGEN Command
- CP/M SUBMIT Command
- CP/M BDOS -- Basic I/O Operations
- CP/M BDOS -- Basic Disk Operations
- CP/M File Types
- CP/M BIOS Jump Vector
- :General Information on CP/M
- CP/═ i≤ ß monito≥ contro∞ prograφ fo≥ microcompute≥ systeφ developmen⌠ ì
- whicΦá use≤ IBM-compatiblσ flexiblσ disk≤ (flopp∙ disks⌐ fo≥ mas≤á storage« ì
- Usinτá ßá microcompute≥á mainframσá baseΣ oε Intel'≤ 808░á o≥á Zilog'≤á Z8░ ì
- microprocessor¼áá CP/═áá provide≤áá ßá genera∞á environmen⌠áá fo≥áá prograφ ì
- construction¼á storage¼á anΣ editing¼ alonτ witΦ assembl∙ anΣ prograφ debuτ ì
- facilities«á Aε importan⌠ featurσ oµ CP/═ i≤ tha⌠ i⌠ caε bσ easil∙ altereΣ ì
- t∩á executσá witΦ an∙ compute≥ configuratioε whicΦ use≤ aεá Inte∞á 808░á o≥ ì
- Ziloτá Z8░ Microprocesso≥ anΣ ha≤ a⌠ leas⌠ 16╦ byte≤ oµ maiε memor∙ witΦ u≡ ì
- t∩ fou≥ IBM-compatablσ diskettσ drives.
- Thσá CP/═ monito≥ provide≤ acces≤ t∩ program≤ througΦ ßá comprehensivσ ì
- filσá managemen⌠á system«áá Thσá filσá subsysteφá support≤á ßá nameΣá filσ ì
- structure¼á allowinτ dynamiπ allocatioε oµ filσ spacσ a≤ wel∞ a≤ sequentia∞ ì
- anΣá randoφá filσ access«á Usinτ thi≤ filσ system¼á ß u≡á t∩á 6┤á distinc⌠ ì
- program≤ caε bσ storeΣ iε botΦ sourcσ anΣ machine-executablσ form.
- Digita∞á Research¼á thσá designe≥ oµ CP/M¼á ha≤ provideΣ ß se⌠ oµá si° ì
- manual≤ whicΦ describσ thσ usσ anΣ operatioε oµ CP/═ iε detail.
-
- These manuals are:
- 1« Aε Introductioε t∩ CP/═ Feature≤ anΣ Facilitiesì
- 2. ED: A Context Editor for the CP/M Disk System
- 3. ASM: CP/M Assembler User's Manual
- 4« DDT║ CP/═ Dynamiπ Debugginτ Too∞ User'≤ Manual
- 5. CP/M Interface Guide
- 6. CP/M System Alteration Guide
-
- A≤ thσ reade≥ caε see¼á CP/═ support≤ ß contex⌠ editor¼á aεá assemble≥ ì
- (Intel-compatable)¼á anΣá ßá debugge≥ system«á Thesσ arσ availablσ iεá thσ ì
- basiπ CP/═ package«á Therσ i≤ ß largσ variet∙ oµ othe≥ softwarσá availablσ ì
- whicΦá caεá ruε unde≥ CP/═ witΦ littlσ o≥ n∩ modification«á SucΦá softwarσ ì
- include≤á severa∞á assembler≤ (botΦ 808░ anΣá Z80)¼á ßá symboliπá debugger¼ ì
- severa∞á high-leve∞á language≤ (includinτ FORTRA╬á I╓á {compiler}¼á BASIC-┼ ì
- {translator}¼á CBASI├ {translator}¼ man∙ interpretivσ BASICs¼ ALGOL¼ FOCAL¼ ì
- anΣá C)¼á anΣá severa∞ special-purposσ application≤ program≤ (sucΦ a≤á tex⌠ ì
- formattinτ system≤ anΣ accountinτ systems).
- :CP/M File References
-
- ┴á filσ referencσ identifie≤ ß particula≥ filσ o≥ grou≡ oµ file≤ oεá ß ì
- particula≥á disδá attacheΣ t∩ CP/M«á Thesσ filσ reference≤ caεá bσá eithe≥ ì
- unambiguou≤á (ufn⌐á o≥á ambiguou≤ (afn)«á Aεá unambiguou≤á filσá referencσ ì
- uniquel∙ identifie≤ ß singlσ file¼ whilσ aε ambiguou≤ filσ referencσ ma∙ bσ ì
- satisfied by a number of different files.
-
- Aεá unambiguou≤ filσ referencσ i≤ aε exac⌠ namσ oµ thσ specifieΣ file« ì
- I⌠ consist≤ oµ u≡ t∩ eigh⌠ character≤ iε thσ filσ namσ anΣ threσ character≤ ì
- in the file type. An unambiguous file reference is of the form --
-
- pppppppp.sss
-
- Thσá character≤ useΣ iε specifyinτ aε unambiguou≤ filσá referencσá ma∙ ì
- not contain any of --
-
- < > . , ; : = ? * [ ]
-
- Aεá ambiguou≤ filσ referencσ i≤ useΣ fo≥ director∙ searcΦ anΣá patterε ì
- matching«á Thσá forφá oµá aεá ambiguou≤ filσ referencσ i≤á simila≥á t∩á aε ì
- unambiguou≤ reference¼ excep⌠ thσ symbo∞ '?º ma∙ bσ intersperseΣ throughou⌠ ì
- thσ filσ reference«á Iε variou≤ command≤ throughou⌠ CP/M¼á thσ '?ºá symbo∞ ì
- matche≤á an∙á characte≥ oµ ß filσ namσ iε thσ '?º position«á Fo≥á example¼ ì
- X?Y.C?═á wil∞ matcΦ XZY.CO═ anΣ X3Y.CEM«á Thσ '*º symbo∞ i≤ useΣ t∩á matcΦ ì
- al∞ character≤ oµ ß filσ namσ o≥ filσ type«á Fo≥ example¼ *.CO═ wil∞ matcΦ ì
- XZY.COM and HELP.COM, while HELP.* will match HELP.COM and HELP.HLP.
- :CP/M Line Editing and Output Control
-
- The following are the line editing functions supported by CP/M --
-
- rubout Delete and echo the last character typed at the
- console.
- Ctrl-U Delete the entire line typed at the console.
- Ctrl-X Same as Ctrl-U.
- Ctrl-R Retype current command line: types a "clean line"
- following character deletion with rubouts.
- Ctrl-E Physical end of line: carriage is returned, but
- line is not sent until the carriage return key is
- depressed.
- Ctrl-C CP/M system reboot (warm start).
- Ctrl-Z End input from the console (used in PIP and ED).
-
- Other control functions affect console output --
-
- Ctrl-P Copy all subsequent console output to the currently-
- assigned list device (LST:). Output is sent to both
- the list device and the console device until the next
- Ctrl-P is typed.
- Ctrl-S Stop the console output temporarily. Program execution
- and output continue when the next character is typed
- at the console. Typing Ctrl-C returns control to CP/M.
-
- Inpu⌠ line≤ caε generall∙ bσ u≡ t∩ 25╡ character≤ iε length« The∙ arσ ì
- not acted upon until the carriage return key is typed.
- :CP/M Built-In Commands
-
- CP/M supports five built-in commands --
-
- ER┴á afεá -- Thσá ER┴á (erase⌐ commanΣá remove≤á file≤á froφá thσ ì
- currently logged-in disk.
- DI╥á afε -- Thσ DI╥ (directory⌐ commanΣ cause≤ thσ name≤á oµá al∞ ì
- file≤ whicΦ satisf∙ thσ ambiguou≤ filσ namσ afε t∩ bσ listeΣ ì
- oεá thσ consolσ device«á Al∞ file≤ arσ listeΣ iµ n∩ afεá i≤ ì
- given.
- RE╬á ufn1=ufn▓á -- Thσá RE╬ (rename⌐ commanΣ allow≤ thσá use≥á t∩ ì
- changσ thσ name≤ oµ file≤ oε disk« Thσ filσ satisfyinτ ufn▓ ì
- is changed to ufn1.
- SAV┼á ε ufε -- Thσ SAV┼ commanΣ place≤ ε page≤ (256-bytσá blocks⌐ ì
- onto disk from the TPA and names this file ufn.
- TYP┼á ufε -- Thσ TYP┼ commanΣ display≤ thσ content≤ oµ thσá ASCI╔ ì
- sourcσá filσá ufεá oε thσ currentl∙ logged-iεá disδá a⌠á thσ ì
- console device.
- :CP/M Transient Commands
-
- The CP/M standard transient commands are --
-
- STA╘á Lis⌠ thσ numbe≥ oµ byte≤ oµ storagσ remaininτá oεá thσ ì
- currentl∙ááá logged-iεáá disk¼ááá providσáá statistica∞ ì
- informatioεá abou⌠á particula≥ files¼á anΣá displa∙á o≥ ì
- alter device assignment.
- PI╨ LoaΣ thσ Periphera∞ Interchangσ Prograφ fo≥á subsequen⌠ ì
- disk file and peripheral transfer operations.
- ED Load and execute the CP/M text editor program.
- SUBMIT Submit a file of commands for batch processing.
-
- AS═á LoaΣá thσá CP/═ assemble≥ anΣ assemblσá thσá specifieΣ ì
- program from disk.
- LOA─á LoaΣ thσ filσ iε Inte∞ "hexó machinσ codσá forma⌠á anΣ ì
- producσá ß filσ iε machinσ executablσ forφ whicΦ caε bσ ì
- loadeΣ int∩ thσ TP┴ (thi≤ loadeΣ prograφ become≤ ßá ne≈ ì
- command under the CCP).
-
- DDT Load the CP/M debugger into the TPA and execute it.
- DUMP Dump the contents of a file in hex.
-
- SYSGEN Create a new CP/M system diskette.
- MOVCP═á Regeneratσá thσá CP/═ systeφ fo≥ ßá particula≥á memor∙ ì
- size.
- :Physical Device Assignments for ARIES-1
-
- Logical Device Physical Device
-
- CON: TTY: Model 43 Teletype
- CRT: Hazeltine 1500 CRT
- BAT: CRT and Modem
- UC1: In=CRT, Out=CRT and Modem
- RDR: TTY: Model 43 Teletype
- PTR: Modem
- UR1: CRT and Modem w/CRT Output
- UR2: CRT and Modem
- PUN: TTY: Model 43 Teletype
- PTP: Modem
- UP1: CRT and Modem
- UP2: CRT and Modem
- LST: TTY: Model 43 Teletype
- CRT: Hazeltine 1500 CRT
- LPT: Modem
- UL1: CRT and Modem
-
- :CP/M STAT Command
-
- The STAT Command takes any of the following forms --
-
- STA╘ Calculatσ thσ storagσ remaininτ oε al∞ activσ drive≤ anΣ prin⌠á ß ì
- message like
- x: R/W, SPACE: nnnK -- if disk is Read/Write
- x: R/O, SPACE: nnnK -- if disk is Read Only
- STAT x: Calculate the storage remaining on the specified drive and print
- BYTES REMAINING ON x: nnnK
-
- STAT x:afn
- Scaε thσ specifieΣ file≤ oε thσ specifieΣ drivσ (x║ i≤ optional)¼ ì
- anΣá lis⌠á al∞ file≤ whicΦ satisf∙ thσ unambiguou≤á referencσá iε ì
- alphabetica∞á orde≥ witΦ storagσ requirements«á ┴ tablσ likσ thσ ì
- following is generated --
-
- RECS BYTS EX D:FILENAME.TYP
- rrrr nnnK ee d:pppppppp.sss
-
- where
- rrrr -- number of 128-byte records allocated to the file
- nnnK -- number of bytes (in K, K=1024) allocated to the file
- nnn = rrrr * 128 / 1024
- ee -- number of 16K extensions
- ee = nnn / 16
- d:pppppppp.sss -- drive name (d may be A, B, C, D) and file
- name
-
- STAT x:=R/O
- Se⌠ thσ specifieΣ drivσ t∩ ReaΣ Only«á Thi≤ i≤ cleareΣ b∙ ß warφ ì
- boot. When a disk is Read Only, the message
- BDOS ERR ON x: READ ONLY
- will appear if there is an attempt to write to it.
- STAT VAL:
- Displa∙á thσá possiblσ logica∞ t∩á physica∞á devicσá assignments« ì
- STAT will print the list --
-
- CON: = TTY: CRT: BAT: UC1:
- RDR: = TTY: PTR: UR1: UR2:
- PUN: = TTY: PTP: UP1: UP2:
- LST: = TTY: CRT: LPT: UL1:
-
- STAT DEV:
- Displa∙á thσá curren⌠ logica∞ t∩ physica∞á devicσá mapping«á Fo≥ ì
- example, the list may appear as --
-
- CON: = CRT: PUN: = PTP:
- RDR: = UR1: LST: = TTY:
-
- STAT ld1=pd1, ld2=pd2, ...
- Changσá thσá logica∞á t∩ physica∞á devicσá assignments«á Logica∞ ì
- devicσ ld▒ i≤ assigneΣ t∩ physica∞ devicσ pd1¼á etc«á Thσá valiΣ ì
- logical device names are --
-
- CON: The system console device
- RDR: The paper tape reader device
- PUN: The paper tape punch device
- LST: The output list device
-
-
- The valid physical device names are --
-
- TTY: Slow speed output device (teletype)
- CRT: High speed output device (cathode ray tube)
- BAT║ BatcΦ processinτ (CON║ inpu⌠ i≤ RDR:¼á CON║ outpu⌠ ì
- is LST:)
- UC1: User-defined console
- PTR: Paper tape reader
- PTP: Paper tape punch
- UR1: User-defined reader #1
- UR2: User-defined reader #2
- UP1: User-defined punch #1
- UP2: User-defined punch #2
- LPT: Line printer
- UL1: User-defined list device #1
-
- :CP/M PIP Command
-
- PI╨á (Periphera∞á Interchangσá Program⌐ i≤ thσá CP/═á transien⌠á whicΦ ì
- implement≤ thσ basiπ mediß conversioε operation≤ necessar∙ t∩ load¼á print¼ ì
- punch¼á copy¼á anΣá combinσá disδ files«á PI╨ i≤ initiateΣ b∙ onσá oµá thσ ì
- following forms --
-
- PI╨á Engagσ PIP¼á promp⌠ thσ use≥ witΦ '*'¼á anΣá reaΣ ì
- commanΣ line≤ directl∙ froφ thσ console« PI╨ useΣ ì
- iεá thi≤á wa∙ i≤ exiteΣ b∙ eithe≥ typinτ aεá empt∙ ì
- commanΣ linσ (jus⌠ ß carriagσ return⌐ o≥ ßá Ctrl-├ ì
- as the first character of the line.
- PI╨á cmnΣ Engagσ PIP¼á executσ thσ specifieΣá command¼á anΣ ì
- return to CP/M.
-
- The form of each command line in PIP is --
-
- destination = source#1, source#2, source#3, ..., source#n
-
-
- The general forms of PIP command lines are --
-
- x:=y:afεá Cop∙á al∞á file≤ satisfyinτ afε froφ drivσá ∙á t∩ ì
- drivσ x«á 'yº ma∙ bσ omitted¼á and¼á iµá so¼á thσ ì
- currently logged-in drive is selected.
- x:ufn=y║á Cop∙ thσ filσ giveε b∙ ufε froφ ∙ t∩ x«á 'xº ma∙ ì
- bσ omitted¼á and¼á iµ so¼á thσ currentl∙ logged-iε ì
- drive is selected.
- x:afn=y:afε Likσ thσ above¼ bu⌠ ° and/o≥ ∙ ma∙ bσ omitted╗ thσ ì
- defaul⌠áá drivσá i≤á selecteΣá fo≥áá thσáá omitteΣ ì
- drive(s).
- ld=pΣá Cop∙á froφ thσ specifieΣ physica∞ devicσá t∩á thσ ì
- specifieΣá logica∞ device«á ValiΣ logica∞ device≤ ì
- are --
- CON:, RDR:, PUN:, LST:
- Valid physical devices are --
- TTY:, CRT:, UC1:, PTR:, PTP:, UR1:, UR2:,
- UP1:, UP2:, LPT:, UL1:
-
-
- Additional device names which may be used in PIP commands are --
-
- NUL: Send 40 Nulls (ASCII 0) to the device.
- EOF: Send a CP/M End of File character (ASCII Ctrl-Z).
- INP: Special PIP input source to be patched (see manual).
- OUT║á Specia∞á PI╨á outpu⌠ destinatioε t∩á bσá patcheΣá (seσ ì
- manual).
- PRN║á Samσ a≤ LST:¼á bu⌠ tab≤ arσ expandeΣ a⌠á ever∙á eightΦ ì
- characte≥ position¼ line≤ arσ numbered¼ anΣ pagσ eject≤ ì
- are inserted every 60 lines with an initial eject.
-
-
- Thσá use≥á caεá als∩ specif∙ onσ o≥ morσ PI╨á parameter≤á encloseΣá iε ì
- square brackets separated by zero or more blanks. These parameters are --
-
- ┬á Blocδ modσ transfer«á Datß i≤ buffereΣ b∙ PI╨ unti∞ aε ASCI╔ X-ì
- Off character (Ctrl-S) is received from the source device.
- Dεá Deletσ character≤ whicΦ extenΣ pas⌠ columε ε iε thσ transfe≥á oµ ì
- data to the destination from the character source.
- E Echo all transfer operations to the console.
- F Filter (remove) form feeds from the file.
- ╚ He° datß transfer« Al∞ datß i≤ checkeΣ fo≥ prope≥ Inte∞ he° filσ ì
- format.
- I Ignore ':00' records in the transfer of Intel hex format file.
- L Translate upper case to lower case alphabetics.
- N Add line numbers to each line transferred to the destination.
- O Object file (non-ASCII) transfer. Ignore End of File.
-
- Pn Include page ejects at every n lines.
- Qs^┌áQui⌠á copyinτ froφ thσ sourcσ devicσ o≥ filσ wheε thσá strinτá ≤ ì
- (terminated by Ctrl-Z) is encountered.
- Ss^Z Start copying from the source file when the string s is seen.
- Tn Expand tabs to every nth column.
- U Translate lower case to upper case alphabetics.
- V Verify that data has been copied correctly.
- Z Zero the parity bit on input for each ASCII character.
- :CP/M ED Command
-
- Thσá E─á Prograφá i≤ thσ CP/═á systeφá contex⌠á editor¼á whicΦá allow≤ ì
- creatioε anΣ alteratioε oµ ASCI╔ files«á Completσ detail≤ arσ giveε iε thσ ì
- user's manual.
-
- The following are the error indicators given by ED --
-
- ? Unrecognized Command
- > Memory buffer full
- # Cannot apply command the number of times specified
- O Cannot open LIB file in R command
-
-
- The following are the control characters recognized by ED --
-
- ^C System reboot
- ^E Physical <CR> <LF> (not entered in command)
- ^I Logical tab
- ^L Logical <CR> <LF> in search and substitute strings
- ^U Line delete
- ^Z String terminator
- Rubout Character delete
- Break Discontinue command
-
-
- The following are the commands recognized by ED --
-
- nA Append lines
- +/- B Beginning/Bottom of buffer
- +/- nC Move character positions
- +/- nD Delete characters
- E Exit
- nFs^Z Find string
- H End edit, close and reopen files
- Is^Z Insert characters
- nJ Place strings in juxtaposition
- +/- nK Kill (delete) lines
- +/- nL Move down/up lines
- nM Macro definition
- O Return to original file
- +/- nP Move and print pages
- Q Quit with no file changes
- R Read library file
-
- nSs1^Zs2^Z
- Substitute s2 for s1
- +/- nT Type lines
- +/- U Translate lower to upper case if U; none if -U
- +/- V Engage/disengage line numbers (verify)
- 0V Print memory buffer info (free/total usage)
- nW Write lines
- nX Transfer n lines to X$$$$$$$.LIB
- 0X Empty X$$$$$$$.LIB
- nZ Sleep
- +/- n Move and type (+/- nLT)
- n: Move to absolute line (V engaged)
- :n Process from current line to specified line (V engaged)
- :CP/M ASM Command
-
- Thσ AS═ CommanΣ load≤ anΣ execute≤ thσ CP/═ 808░ assembler«á I⌠ i≤ oµ ì
- the form --
-
- ASM filename.xyz
-
- where
-
- filename ... is the name of the file 'filename.ASM' to assemble
- x ... designates the disk name which contains the source
- y ... designates the disk name to contain the hex file
- (y=Z suppresses generation of the hex file)
- z ... designates the disk name to contain the print file
- (y=X lists on CON:, y=Z suppresses listing)
-
- Refer to the ASM Manual for further details.
- :CP/M LOAD Command
-
- Thσ LOA─ CommanΣ read≤ thσ filσ specified¼ whicΦ i≤ assumeΣ t∩ contaiε ì
- Inte∞ he° forma⌠ machinσ codσ anΣ produce≤ ß memor∙ imagσ filσ whicΦ caε bσ ì
- subsequently executed (converts .HEX to .COM files). It is of the form --
-
- LOAD filename
-
- where filename is the name of the file 'filename.HEX'.
- :The UNLOAD Command
-
- Thσ UNLOA─ CommanΣ doe≤ thσ reversσ oµ thσ LOA─ CommanΣ -- i⌠ convert≤ ì
- COM files to HEX files. It is of the form --
-
- UNLOAD filename
-
- where filename is the name of the file 'filename.COM'.
- :CP/M DDT Command
-
- Thσá DD╘á Prograφ allow≤ dynamiπ interactivσ testinτ anΣ debugginτá oµ ì
- programs generated in the CP/M environment. It is invoked by --
-
- DDT
- DDT filename.HEXè DDT filename.COM
-
- where 'filename' is the name of the program to be loaded or tested.
-
- DDT responds to the normal CP/M input line editing characters.
-
-
- DDT responds to the following commands --
-
- As Perform inline assembly starting at the specified address s.
- D Display memory from the current address for 16 display lines.
- Ds Display memory from address s for 16 display lines.
- Ds,f Display memory from address s to address f.
- Fs,f,c
- Fill memory from start address s to final address f with byte c.
-
- G Start execution at the current value of the PC.
- Gs Start execution at the specified address s.
- Gs,ΓáStar⌠ executioε a⌠ thσ specifieΣ addres≤ ≤ anΣ se⌠ ßá breakpoin⌠ ì
- at the address b.
- Gs,b,c
- Same as above with breakpoints at b and c.
- G,b Start execution at the current value of the PC with breakpoint b.
- G,b,c
- Same as above with breakpoints at b and c.
-
-
- If Insert a file name f into the default FCB.
-
- L List 12 lines of disassembled code from the current address.
- Ls List 12 lines from the specified address s.
- Ls,f List lines of disassembled code from s to f.
-
- Ms,f,d
- Move the block from address s to f to destination at address d.
-
- R Read file in FCB into memory at 100H.
- Rb Read file in FCB into memory with offset b from 100H.
-
- Ss Set (examine and alter) memory starting at address s.
-
-
- T Trace the next instruction.
- Tn Trace the next n instructions.
-
- U Untrace -- like Trace, but intermediate steps are not displayed.
-
- X Examine all registers and flags.
- Xr Examine specified registers or flag, where r may be --
- C Carry flag
- Z Zero flag
- M Minus (sign) flag
- I Interdigit Carry flag
- A Accumulator
- B BC Reg pair
- D DE Reg pair
- H HL Reg pair
- S Stack pointer
- P PC
- :The ZDT Command
-
- ZDT is a Z80 version of DDT. It is invoked by typing --
-
- ZDT
-
- Thσá command≤á recognizeΣ b∙ ZD╘ arσ inpu⌠ iεá single-characte≥á inpu⌠ ì
- mode«á N∩á inpu⌠ linσ editinτ i≤ done¼á anΣ eacΦ commanΣ expect≤ aεá exac⌠ ì
- input«á Al∞ bytσ value≤ arσ exactl∙ tw∩ characters¼á anΣ al∞ addresse≤ arσ ì
- exactly four characters.
-
-
- The commands recognized by ZDT are --
-
- A bbbb
- Ente≥ ASCI╔ character≤ int∩ memor∙ froφ keyboarΣ startinτ a⌠ ì
- address bbbb.
- B
- Warm Boot -- Return to CP/M.
- C bbbb eeee nnnn
- Comparσá memor∙ froφ addres≤ bbbΓ t∩ addres≤ eeeσá t∩á blocδ ì
- starting at nnnn.
- D bbbb eeee
- Dump memory from bbbb to eeee.
- E bbbb eeee <ASCII string>
- SearcΦá fo≥á ASCI╔ strinτ froφ bbbΓ t∩ eeee«á Strinτ i≤á a⌠ ì
- most 16 characters. String is terminated by <CR>.
- F bbbb eeee <hex string>
- SearcΦá fo≥á he°á strinτá froφá bbbΓá t∩á eeee«á Strinτá i≤ ì
- terminated by <CR>.
-
- G
- Go to next breakpoint.
- H aaaa nnnn
- Hex add and subtract. Computes aaaa+nnnn and aaaa-nnnn.
- I nn
- Input. Prints value at port nn.
- J nnnn
- Jump to and execute at location nnnn.
- K
- Keyboard echo.
- L filename.typ nnnn
- Loads specified disk file into location nnnn.
- M bbbb eeee nnnn
- Move block from bbbb to eeee-1 to nnnn.
- N aaaa
- Enter offset aaaa for loading.
- O nn dd
- Output byte dd to port nn.
-
- P bbbb
- Inpu⌠ he° int∩ memor∙ froφ keyboarΣ startinτ a⌠ bbbb«á <sp╛ ì
- advances pointer, <rub> or <del> backs pointer.
- Q bbbb eeee
- Dumps from bbbb to eeee in ASCII.
- R n ll tt ss bbbb
- ReaΣ blocδ oµ datß froφ disδ ε oµ lengtΦ l∞ (256-bytσ pages⌐ ì
- starting at track tt and sector ss placing the data at bbbb.
- S bbbb eeee
- Disassembly (symbolic dump) from bbbb to eeee.
- T bbbb eeee
- Destructive memory test from bbbb to eeee-1.
- U bbbb
- Set breakpoint at bbbb.
- V
- Display all currently-set breakpoints.
-
- W n ll tt ss bbbb
- Writσ oε disδ ε thσ datß a⌠ bbbΓ fo≥ ß lengtΦ oµ l∞ startinτ ì
- at track tt, sector ss. ll is in 256-byte pages.
- X
- Display registers.
- Z bbbb eeee dd
- Zero or set memory from bbbb to eeee-1 with byte dd.
- :CP/M SYSGEN Command
-
- Thσá SYSGE╬ transien⌠ commanΣ allow≤ generatioε oµ aε initializeΣ disδ ì
- containing the CP/M Operating System.
-
- It is invoked by typing
-
- SYSGEN
-
- Oncσ invoked¼á thσ use≥ i≤ prompteΣ througΦ thσ session« Refe≥ t∩ thσ ì
- CP/M Manual for further details.
- :CP/M SUBMIT Command
-
- Thσá SUBMI╘á commanΣ allow≤ CP/═ command≤ t∩ bσ batcheΣá togethe≥á fo≥ ì
- automatic processing. The form of this command is
-
- SUBMIT ufn parm1 parm2 ... parmn
-
- Thσ ufε giveε iε thσ SUBMI╘ commanΣ mus⌠ bσ thσ filenamσ (no⌠ type⌐ oµ ì
- ßá filσ whicΦ exist≤ oε thσ currentl∙ logged-iε disδ witΦ aεá assumeΣá filσ ì
- type of '.SUB'. Refer to the CP/M Manual for further details.
- :CP/M BDOS -- Basic I/O Operations
-
- Function and Number Input Parameters Output Parameters
-
- Read Console 1 None ASCII Char in A
- Write Console 2 ASCII Char in E None
- Read Reader 3 None ASCII Char in A
- Write Punch 4 ASCII Char in E None
- Write List 5 ASCII Char in E None
- Get I/O Status 7 None I/O Status in A
- Put I/O Status 8 I/O Status in E None
- Print Buffer 9 Address of string None
- terminated by $
- in DE
- Read Buffer 10 Address of Read Read Buffer is filled
- Buffer in DE
- Console Ready 11 None LSB of A is 1 if char
- ready
- *All function numbers are passed in Reg C.
-
-
- I/O Status Byte --
-
- Value Bits 6&7 Bits 4&5 Bits 2&3 Bits 0&1
-
- 00 CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY:
- 01 CRT: PTR: PTP: CRT:
- 10 BAT: UR1: UP1: LPT:
- 11 UC1: UR2: UP2: UL1:
-
- Read Buffer --
-
- Byte Function
-
- 1 Maximum Buffer Length
- 2 Current Buffer Length (returned value)
- 3-n Data (returned values)
-
-
- :CP/M BIOS -- Basic Disk Operations
-
- Function and Number Input Parameters Output Parameters
-
- Lift Head 12 None None
- Init BDOS 13 None None
- Log-In Disk 14 Value in Reg E None
- A=0, B=1, C=2,
- D=3
- Open File 15 Address of FCB Byte address of FCB
- in DE if found or 0FFH if not
- Close File 16 Address of FCB Byte address of FCB
- in DE if found or 0FFH if not
- Search for File 17 Address of FCB Byte address of first FCB
- in DE if found or 0FFH if not
- Search for Next 18 Address of FCB Byte address of next FCB
- in DE if found or 0FFH if not
- Delete File 19 Address of FCB None
- in DE
-
- Function and Number Input Parameters Output Parameters
-
- Read Next Record 20 Address of FCB 0=successful read
- in DE 1=read past EOF
- 2=reading random data
- Write Next Rec 21 Address of FCB 0=successful write
- in DE 1=error in extending
- 2=end of disk data
- 255=no more dir space
- Make File 22 Address of FCB Byte address of FCB or
- in DE 255 if no more dir space
- Rename FCB 23 Address of FCB Byte Address of Dir entry
- in DE or 255 if no match
- Read Drive No 25 None Number of logged-in drive
- (A=0, B=1, C=2, D=3)
- Set DMA Address 26 Address of 128 None
- byte buffer in DE
-
- *All function numbers are passed in Reg C
-
- :CP/M File Types
-
- ALG ALGOL 60 Source File
- ASM Assembler Source File
- BAK Backup File
- BAS BASIC Source File (CBASIC)
- C C Source File
- COM "Command" File (Binary ORGed to 100H)
- FOR FORTRAN IV Source File
- HEX Intel "hex" code file
- HLP HELP File
- INT BASIC Intermediate File
- LST Listing File
- MAC MACRO-80 Source File
- PRN Assembler Listing File
- SRC PASCAL/MT Source File
- SUB SUBMIT File
- TC Tiny-C Source File
- TFS TFS Source File
- TXT Text File
- $$$ Temporary File
- :CP/M BIOS Jump Vector
-
- Thσá followinτ i≤ ß tablσ representinτ thσ entr∙ point≤ int∩ thσá CP/═ ì
- BIOS of the major routines accessable to the user --
-
-
- Routine Relative Offset Comment
-
- BOOT 00H Cold Start
- WBOOT 03H Warm Start
- CONST 06H Console Status
- Reg A = 00 if no char ready
- Reg A = FF if char readyè CONIN 09H Console char in (Reg A)
- CONOUT 0CH Console char out (Reg C)
- LIST 0FH List out (Reg C)
- PUNCH 12H Punch out (Reg C)
- READER 15H Reader in (Reg A)
-
- Routine Relative Offset Comment
-
- HOME 18H Move to track 00
- SELDSK 1BH Select disk given by Reg C (A=0,B=1,...)
- SETTR╦á 1E╚á Se⌠á tracδá addres≤á giveεá b∙á Reτá ├
- (0...76)
- SETSE├á 21╚á Se⌠á secto≥á addres≤ giveεá b∙á Reτá ├
- (1...26)
- SETDMA 24H Set subsequent DMA address (RP B&C)
- READ 27H Read track/sector (block)
- WRITE 2AH Write track/sector (block)