digital group z80 os - amaus.net group/software/digital group z80 os.pdfa keyboard programming...

35
THE DIGITAL GROUP Z-80 IXCUHENTATION DZ8-0-Rl ( ) po box 6528 denver, colorado 80206 (303)861-1686

Upload: others

Post on 01-Apr-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

THE DIGITAL GROUPZ-80 IXCUHENTATION

DZ8-0-Rl

(iliJlr~ ((n[®~~ ~J[i(Q )po box 6528 denver, colorado 80206 (303)861-1686

Page 2: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

2-80 OPERATING SYSTEM for the Digital Group 2-80 CPU Card

General Design

This programming system provides five key programs and manysupporting subroutines. The user is able to enter his pro­gramming, check out his programming, and finally run his pro­gramming under the control of these five included programs.

The first program is a cassette reading program, almost com­pletely contained on the Eraseable Read Only Memory (EROM).A frequency shifting data cassette is converted from serialdata to parallel data and loaded into memory. The default da­ta rate is 1100 BPS, and the default start and stop addressesare 001 000 and 007 377 respectively.

The next program is a cassette writing program which allowsstoring the contents of memory on a low-cost audio cassetterecorder. The default data rate and addresses are the sameas for cassette reading.

A storage dump program uses the CRT readout board and a TVset to display several items necessary to ease programming.The 14 internal registers of the 2-80 CPU are interpreted anddisplayed exactly as they were immediately prior to callingthe TV storage dump program. The two internal 2-80 status flagsare also dumped and interpreted as are the stack pointer ad­dress and return address. The return address is only validshould the TV storage dump occur during a subroutine. The fullcontents of memory are then displayed, 96 bytes at a time, ex­cept for every 3rd display which culminates a page boundary.The initial address for each line is displayed at the left ofeach line, and six sequential bytes are displayed to the right.The two 16 bit indeces are also dumped, as well as the I (In­terrupt) and R (Refresh) registers. The current interrupt mode(0,1, or 2) is displayed also. The TV dump will be in Octal ifoption 3 is selected, or in Hex if option 5 is selected.

A keyboard programming capability allows entering octal codedirectly from the system keyboard. The default address is 006000. Programming may be entered at any available address, butprogramming below 006 000 runs the risk of destroying key por­tions of the operating system. The keyboard programming usesOctal if option 4 is selected. Option 6 allows Hex coding tobe entered.

The final programming section is an operations monitor. TheTV displays a list of up to ten options available to the user.The user then enters the number of the desired operation, and atable lookup selection performs a branch to the desired program.

DZSSI-I-ROthe digital group inc.

PO box 6528, denver, colorado 80206 (303) 861-1686

Page 3: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

Using the Digital Group Z-80 Operating System

Initial Cassette Read:

After turning on the microprocessor, the message "READ Z-80INITIALIZE Cassette" will appear on the screen. Start thecassette recorder reading the cassette, and when the low tonebegins, push the reset button and release. When data beginsafter the short tone leader, the TV will display the leastsignificant digit of the octal page being currently loaded,byte by byte. Memory is checked byte by byte, and missing ordefective memory addresses are indicated by a "." being printedinstead of the page. When the tone stops, the operations mon­itor assumes control, and the program loops awaiting a keyboardentry of the desired selection.

Storage Dump:

The typical first entry will be a request to view storage tofind some free area where some additional user supplied program­ming may be placed. Pressing a "3" will result in a display ofthe registers, indeces, flags, and stack data in Octal. A "5"will produce a Hex display.

Successively pressing the "Space" key will page through memory,96 bytes at a time. To set storage immediately to a desired pagerather than having to successively page up to it, enter an "s"(either upper or lower case is fine on entries) and the threedigits (~10st Significant, Middle, then Least Significant) whichmake up the desired page. "s" and two digits are required whenin Hex.

Entering a "P" will cause a branch to the keyboard programmingroutine.

Entering an "R" will Return the control to the operations monitor.

Keyboard Program:

Once available locations in storage have been found, the user canmanually enter programming from the keyboard by typing a "4" or"6" if in the operations monitor, or a "P" if in a TV dump. Atitle will be displayed along with the default address of thetape shipped.

Programming may be entered by merely typing in the desired octalcode, MSB through LSB. The results will be displayed on the TValong with some past bytes to insure proper sequencing as well asaid short term entry error detection.

The page (high) and/or (low) address may be preset by entering an"H" and MSB through LSB of the octal address and/or an "L" and theMSB through LSB. The current address is displayed on the TV afterentry. Memory is changed only following the third entry of thedata byte.

DZ8S1-2-ROthe digital group inC

po box 6528, denver, colorado 80206 (303) 861- 1686

Page 4: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

Use care when entering code below 006 000. Since this is systemarea, any code or operations can result in an inoperative systemwith no means of recovery other than re-reading the cassette.

Enter an "R" to return to the Operations Monitor.

Type an "s" to go to the Storage Dump directly from programming.Actual programming typically sees considerable "s" and "P" asentries are made, then viewed.

Cassette Write:

Once the desired programming has been entered, the user may wishto save it for later usage. The user is also advised to save allprogramming on cassette prior to initial execution to avoid po­tential programming self-destruction. If self-destruction uponexecution occurs, the program may be reloaded and suitable cor­rections made.

Insert a cassette and start the recorder in record mode. Aftermaking sure that the leader on the cassette has passed by therecord head, enter a "2" while in the Operations Monitor. The TVwill display the message "Writing" until the cassette recordingoperation is finished about 1/2 minute later, then return to theOperations Monitor. Turn off the recorder, and you have the systemand the added programming on the cassette.

Cassette Read:

Cassettes may be read by pressing "1" while in the Operations Mon­itor, or they can be read when power is applied.

Panic Button:

Pressing the reset button will always return the user to the In­itial cassette load, or Operations Monitor.

Fine Points of the Z-80 Operating Syste~:

Memory Extent:

The Z-80 Operating System is designed to occupy the lower 1.5K ofthe 2-80 CPU system. The default read and write high address ispreset to 2K. However, the cassettes may be any length up to 64K,but at the read/write speed of 100 bytes per second, the cassetteshould be no longer than required.

If you have greater than 2K of memory on your system, modify thedata at 001 052 (byte) and 001 055 (page) to reflect the memoryextent desired on the cassette. Example: You have 10K of Z-80system, and you wish to write 4K worth of programming. Since theoctal equivalent of 4K is 017377, enter 377 at 001 052 and 017 at001055. The default address is now set to 017 377. The cassetteread programming will be automatically modified by the cassette.Cassettes of varying lengths may be interchangeably read with nooperator intervention ego 2K, 32K, 13K, 20K, etc.

J)7.85 1-,-ROthe digital group inc.

PO box 6528, denver, colorado 80206 (303) 861- 1686

Page 5: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

Data Rate:

RAM address 001 027 contains the timing loop constant which con­trols the resultant cassette baud rate. The normal constant is037, which results in 1100 baud.

Storage Dump:

The initial page of the TV dump which displays and interprets theregisters, flags, and stack pointers can be the most useful partof the whole system when faced with a confusing software problem.Insert an unconditional branch to 003 000 in place of the bytefollowing the point in question. This will display and interpretthe registers and flags, generally giving a much better pictureof what is happening in that "insolvable problem". Another tech­nique is to use the "Restart 6" as a branch. This then involvesinserting a single "367" byte. The "Restart 6" must then be vec­tored forward to 003 000. The software Operating System cassetteincluded has this feature included, so you may get a storage dumpby merely inserting a "367" in your programming.

Interrupts/Restarts 1-7:

The 2-80 has eight restart or interrupt addresses at the low endof storage normally occupied by a ROM to give a power on and gocapability. The EROM provided in the Digital Group kits vectorsRestarts 1-7 through the EROM to the beginning of page 001 asshown in the software listings. The user may now vector forwardthese interrupt/restarts as desired, but interrupt level program­ming is best left to the experts. Restart 7 has the lowest levelpriority on the 2-80 CPU board system. NMI also enters in theEROM area, and is vectored forward to address 1035.

Interrupt/Restart 0:

The Reset function on the 2-80 will force programming to begin ataddress 000 000, as does restart 0 ("307"). The Reset is used tocontrol the Operations Monitor and the initial cassette read op­eration. It also has the highest priority of the eight interrupts.The EROM has control of Reset/Restart 0 and finally branches itforward to address 005 000 where the Operations Monitor resides.

Pa~e 005 of the 2-80 Operating System is dedicated to aiding theuser to make his program selections. The title area uses bytes005 165 through 005 377. Up to 10 (0-9) different program startlocations may be specified by putting the high and low addressesat the proper place between 005 100 and 005 123.

The user can title his program by inserting the ASCII charactersdesired in the format required. Here is the secret: A specialsubroutine called TV Editor controls the messages displayed on theTV screen. This subroutine is entered from the Operations Monitorto put the message on the TV. Address 005 360 - 005 377 (and intopage 6 if needed) can be used to enter a set of titles in a spec-

DZ8S1-L)-RCJthe digital group 'nc

po box 6528, denver, colorado 80206 (303) 861- 1686

Page 6: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

ial machine code. "377" = Erase the screen, "376" - "200" areASCII characters, "177" - "001" are the octal number of spaces,and "000" means the end of the message.

Example: You wish to add "7 Go" to the Operations Monitor message.

Address Data Explanation

005 360 016 Insert 14 blanks from last character005 361 267 117"005 362 240 Space005 363 307 "Gil

005 364 357 H O "

005 365 000 End of message.

The program routine portion of the Operations Monitor is located be­tween 005 100 and 005 123 as shown by the listings. The byte por­tion of the branch address is placed on the even address boundary,and the page portion on the odd address.

Example: You have designed the above program "Go" to execute fromaddress 006 000. Since you also wish to branch to "Go" from a "7"entry when in the Operations Monitor, place an "000" at address 005116 and an "006" at address 005 117.

Typing a "7" when in the Operations Monitor will now result in ex­ecution of "Go".

Subroutines you may. wish to call for your own programming:

Subroutine

TV

Space

Home Erase

TV Editor

Keyboard

Address

000 372

000 370

000 346

002 000

001 250

Operation and Comments

Prints a character on the TV through theDigital Group CRT readout attached toPort 0. Load accumulator with characterprior to calling. Accumulator returnedcleared to "000".

Prints a space (blank position) on the TV.Accumulator need not be preset. Accumula­tor will return cleared.

Prints 512 spaces on the TV, with the cursorset so that the next character entry willappear at the upper left of the screen.Accumulator, B, and C are cleared at end.

Previously described during OperationsMonitor Operation. Preset H & L regs toaddress of initial byte of the message priorto calling. Accumulator, B, C, E, H & L arecleared or changed when subroutine ends.

This subroutine loops until an MSB keypressedstrobe bit goes high. The program entersanother (continued on next page) ...

DZSSl-.S-ROthe digital group inc.

PO box 6528, denver, colorado 80206 (303) 861- 1686

Page 7: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

Subroutine

Octal Char­acter

Hex Char­acter

ASCII - Oc­tal Conv

ASCII - HexConv

1/10 Seconds

Address

001 267

002 041

0()4 07']

004 075

001 173

Operation and Comments

loop until the MSB returns to low level.The Accumulator will have the input char­acter.

TV storage Dump and Keyboard Program usethis subroutine to produce three numberson the TV representing the octal notationof an 8 bit byte. The desired byte isloaded into the E register. The octalcharacters will be printed and only theaccumulator returned cleared.

Same as above, only Hex results.

This subroutine allows the operator toenter three numbers (left to right) in­dicating the octal representation on an8 bit byte. The numbers are displayedon the TV when entered. The Accumulatorwill contain the data byte. The B&C re­gisters are returned cleared. 001247 must not

have a 3] (\ (C8) •

As above, only Hex is used. Providing 001247has been preset to 3108 (C8)H

Preset Accumulator to the number of 1/10seconds to elapse before returning. Ac­cumulator, C, and D registers are cleared.

Some suggesed practice programs for those new to a 2-80 microprocessor:

1. Clear the screen and write an "A":

Address Data Explanation -----_ ..

006 000 315 Call the subroutine "Home Erase"006 001 021006 002 002006 003 076 Load the Accumulator with the ASCII code for "All

006 004 301006 005 315 Print the "All on the screen006 006 372006 007 000006 010 166 Halt and rejoice!

005 116 000 Modify the Operations Monitor to execute the aboveprogram at 006 000.

005 117 006

Push "Reset" and then typing a "7" should run the program. Push"Reset to return to the Operations Monitor after execution.

DZ8S1-6-ROthe digital group inc

PO box 6528, denver, colorado 80206 (303) 861-1686

Page 8: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

2. Modify the above program to print an "a".

3. Print your name.

4. Print your name in the middle of the screen using "TV Editor".

5. Print your name in the middle of the screen, Flashing on and off.(Hint - Use two "Seconds" subroutines and an unconditional branchto program beginning loop).

6. Print only the 128 possible characters on the screen and stop,using less than 20 bytes (Hint - Load Accum, Save, Print, Re­store and Modify, loop not end).

Score: Over 100 bytes = HA!Over 30 bytes = Fair20-25 bytes Good15-19 bytes = Giant

(Can be done in 11 bytes or less)

DZ8S1-7-ROthe digital group inc.

PO box 6528, denver, colorado 80206 (303) 861-1686

Page 9: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

NOTE TO OWNERS OF THE PREVIOUS 512 CHARACTER TVC-F.

The 1024 character TV readout board produces 64 characters on each horizontal linenow, instead of the previous 32 per line. This will generally result in a need forreprogramming the screen formatting somewhat. Most D.G.S.S. Z-SO tapes using 512character TV output have been modified to reflect this additional character countrequirement. However, user designed programs may have to be modified to supportthp additional characters. A "quick and dirty" implementation can be performedby outputting an additional space "after each character or space."

'j'he screen erase subroutine must output 1024 spaces. This subroutine is part ofthe EROM op system of the various Digital Croup CPU boards. The Z-SO has hadseveral versions of EROM supplied, marked ZA, ZB, ZC, ZD, and ZE. ZE is the latestand most common. All but the ZA version already perform a correct "Erase" for boththe 1024 and the 512 character TVC's.

The 8080, 68000r 6502, (or 6501) must have 80B, 6SB or 6502, respectively, EROM'sto satisfactorily perform a 1024 character Erase.

Should you have an older 512 character erasing EROM (a very small number ofcustomers are in this category) please return your EROM and the Digital Group willreprogram/exchange it with the latest version for $5.00 postpaid.

l ~ G_~_o(Q}----:o~""""-o~_o-=®WD_o--::::W::....-- )po box 8528 denver, colorado 80206 (303) 777-7133

Page 10: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

\_0_

I

APPENDIX A

New DG OP SYS Format

A new format of TV Storage Dump and keyboard program is included on thefront end of this software system. You will notice the new wording ofoptions 3 and 4, and that 5 and 6 are missing.

Pressing option 3 (octal program) will initially result in the familiarregister display. However, subsequent operations are somewhat different.

Press the Space Bar. You will notice the page of octal bytes is one lineshorter. The major difference is an arrow at the top left pointing to byte000000 presently. This pointer indicates the byte where programming mighttake place if desired (since 000000 is in read only memory, no change ispossible.) This pointer may be preset by entering the page (H) and byte (L)similar the H&L presetting operation of the older DG OP System's keyboardprogramming system. Try entering H070 and then L123. Notice where thepointer has now moved to. Since this is RAM area in a 16K or greatersystem, the observed byte may be changed by entering the desired data.e.g. 321 could be entered from the keyboard. Notice the bottom line

"scratchpad effect." The actual data is not entered at the indicated addressuntil after the final entry. Emergency abort may be done by pressing the"reset key" on the system prior to the final entry, with no affect onmemory.

The cursor may be incrementally moved around the screen. The DigitalGroup keyboard with cursor control keys allows the user to move the pointerin the direction indicated by the cursor keys. Keyboards different from thisone can move the pointer about if a control H, control J, control K, orcontrol L is entered.

The system will return to the Op Sys by pressing an R or r on the keyboard.Option 4 (Hex Program) is similar to Option 3 except that the display is inHex.

Command Summary

Space - New memory display pageH 000 (HH) - Preset page (octal or hex)L 000 (HH) - Preset byte (octal of hex)R - Return to Op SysH CTRL - Move pointer backwardJ CTRL - Move pointer downK CTRL - Move pointer upL CTRL - Move pointer forward000 (HH) - Insert {octal or hex)code at indicated byte

Appendix A

- Al -

digital group software systems, inc. p.o. box 1086 arvada, colorado 80001

Page 11: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

,------~- ._-------,

1702 Prom Pattern (ZE)

0~~~~~ W3 ~63 ~~~ JP ~0~063 (Reset/Jump to Restart ~)

(.J0~~~3 322 R(3'(3'(3'~~4 345 e(3'00(.J'(.J' 5 341 a00~~06 344 d0li!0007 240 (Space)00~01~ 303 ~02 001 ,JP ~~1~~2 (Jump to Restart 1)01313013 332 z0~0~14 255~iiJ0~15 270 8

0~0016 260 ~~~~017 24~ (Space)l3iiJ0020 303 005 1301 JP 001005 (Jump to Restart 2)(.J'(.J'0(J23 311 I000024 316 N

000025 311 I(J(J0026 324 T

(J(J~027 311 I(J00(JW 3(J3 010 0~1 JP 001010 (Jump to Restart 3)013(J033 301 A

013(.J'(.J'34 314 L(J(J0035 311 I

0(J0036 332 Z0130037 305 E

00(.J'(.J'40 303 013 001 JP 001013 (Jump to Restart 4)13013043 240 (Space)000044 303 C000045 341 a13013046 363 s0(J0047 363 s~001350 3(J3 016 001 JP 0fH016 (Jump to Restart 5)0(J13053 345 e0001354 364 t0001355 364 t0(J0(J56 345 e0f,J0(J57 240 (Space)~~0~60 303 021 001 JP (3'01021 (Jump to Restart 6)000063 (3'41 0~0 001 1,D HL,(3'~10~~ Set RAM pointer(.J(J0(J66 (J30 (J(J3 JR (3'(3'3 *~00073*

~0(J13713 3133 ~24 0~1 JP ~~1024 (Jump to Restart 7)~~0073 176 1,D A, (HL) Get Data000074 376 123 CP 123 Is is a 123?;;J00(J76 040 007 JR NZ,007 *0(3'0107*

,;.-.--: ....

(lllil@(QJ~~ )------------::2---------- po box 6528 denver, colorado 80206 (303)881-1886

Page 12: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

po box 1528 denver, colorado 80206 (303) 717·7133

'--- (illn:@cQ]l@~~3

)

Page 13: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

'---------:------(~~~ )4 po box" cIenftr, colorIIdo 10208 (303) 777·7133

Page 14: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: z-80 OPERATING SYSTEM -lOCTAL OCTAL ILABfL ADDRESS CODE MNEMONICS COMMENTS I001 000 123001 001 123001 002 303 010 RestartOOJ 003001 004001 005 303 020 Restart001 006001 007001 010 303 030 Restart001 011001 012001 013 303 040 Restart001 014001 015001 016 303 050 Restart001 017001 020001 021 303 060 Restart001 022001 023001 024 303 070 Restart001 025001 026001 027 037 Cassette Speed Constant001 030 000 L Starting Addr001 031 001 H }

001 032 377 L}

Ending Address001 033 007 H001 034 Reserved - Undefined001 035 303 NMI Restart001 036001 037

2K WRITE 001 040 041 Load L&H001 041 030001 042 001001 043 066 Store 000 @ 1030001 044 000001 045 054 Inc L001 046 066 Store 001 @ 1031001 047 001001 050 054 Inc L001 051 066 Store 377 @ 1032001 052 377001 053 054 Inc L001 054 066 Store 007 @ 1033001 055 007001 056 041 Load L&H001 057 214 (Write message area)001 060 001

5~ (QJl®lQ@D®~ )po box 6528 denver, colorado 80206 (303) 777-7133

Page 15: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

6

Page 16: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRl\M: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

001 141 367 (2)001 142 076 Load A wOO]001 143 00100] 144 323 Out 1001 145 001001 146 315 Call (Time Delay)00: 147 155001 150 001001 151 315 Call (Time Delay)001 152 155001 153 001001 154 311 Return

'I'ime Delay 001 155 365 Push A001 156 072 Load A w M, Direct001 157 027 (Get Speed Const.)001 160 001001 161 207 ADD A to A001 162 207 ADD A to A001 163 107 Load B w A001 164 345 Push H&L (Dummy Op)

(4) 001 165 000 NOP (Dummy Op)001 166 020 Dec B, Jump rel not zero001 167 375 (4)001 170 341 Pop H&L (Dummy Op)001 171 361 Pop A001 172 311 Return

(8) 001 173 026 Load D w 031001 ]74 031

( 7) 001 175 001 Load C&B001 176 003001 177 000

(5) 001 200 020 Dec B, Jump Rel not zero001 201 376 (5)001 202 015 Dec C001 203 040 Jump Rel n Zero001 204 373 (5)001 205 025 Dec D001 206 040 Jump Rel not Zero001 207 365 (7)001 210 075 Dec A001 2Jl 040 Jump Rel not Zero001 212 360 (8)

001 213 311 Return001 214 377 (Home Erase)001 215 134 (Spaces)001 216 327 W

i IL =--- (@1@---o-@-l@W&UJ-o-®V@lliJ-O-'W--)7 po box 6528 denver, colorado 80206 (303) 777-7133

Page 17: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

r-----

IPROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

001 217 362 r001 220 351 i001 221 364 t001 222 351 i001 223 356 nOOI 224 347 g001 225 000 (Return)001 226 076 Load A w U?"001 227 277001 230 303 Jump Uncondx001 231 124001 232 005001 233 315 Call (Erase)001 234 346 A001 235 000001 236 172 LdA w D001 237 315 Call (TV)001 240 372001 241 000001 242 315 Call (ASCII)001 243 246001 244 004001 245 311 Return001 246 *** (Interrupt Level Indicator)001 247 *** (Octal/Hex Constant)

Keyboard 001 250 333 In f4001 251 000001 252 313 Test Bit 7,A001 253 177001 254 050 Jump Rel if zero001 255 372 (keyboard)001 256 365 Push A

( 10) 001 257 333 In ~

001 260 000001 261 313 Test Bit 7,A001 262 177001 263 040 Jump Rel not Zero001 264 372 (10)001 265 361 Pop A001 266 311 Return

Octal Char 001 267 173 Load A w E001 270 267 Or A w A001 271 036 Load E w 003001 272 003

(11) 001 273 027 Rotate Left thru Carry001 274 027001 275 027001 276 365 Push A

I001 277 346 And A w 007

II

C@i@~~ )8 po box 1121 .""." coIoredo I02OI (303) Tn·7133

Page 18: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

COMMENTS

Call (ASCII TV)

Pop ADec EJump Rel not Zero

(11)Return

User - StackSystem - Stack

"

Reserved for Stack

(filll@ cQJl@lf[@] ®J©1DW )po box 6528 denver, colorado 80206 (303) 777-7133

Page 19: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

I'ROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

001 362001 363001 364001 365001 366001 367001 370 Reserved for Stack001 371001 372001 373001 374001 375001 376001 377

TV Editor 002 000 176 Load A with Mern002 001 376 Compare A w "Home Erase"002 002 377002 003 040 .Tump Re1 not Equal002 004 005 (1)002 005 315 Call (Erase)002 006 346002 007 000002 010 030 Jump Re1002 011 024 (2)

(1) 002 012 313 Test Bit 7 fA002 013 177002 014 050 Jump ReI if zero002 015 005 (3)002 016 315 Call (TV)002 017 372002 020 000002 021 030 Jump ReI002 022 013 (2)

(3) 002 023 376 Compare A with 000002 024 000002 025 310 Return if equal

(4) 002 026 365 Push A002 027 315 Call (Space)002 030 370002 031 000002 032 361 Pop A002 033 075 Dec A002 034 040 Jump Re1 not Zero002 035 370 (4)

(2) 002 036 043 Inc L&H002 037 030 Jump ReI002 040 337 (TV Editor)

HEX Char 002 041 315 Call (Space)

L--- ~_=__-----~~~ )10 po box 8528 denver, colorado 80208 (303) 777-7133

Page 20: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: 2-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

002 042 370002 043 000002 044 173 Load AwE002 045 017 Rotate Right002 046 017 "002 047 017002 050 017002 051 315 Call (Hex Out)002 052 061002 053 002002 054 173 Load AwE002 055 315 Call (Hex out)002 056 061002 057 002002 060 311 Return

HEX Out 002 061 346 AndAw 017002 062 017002 063 376 Compare A w 012002 064 . 012002 065 070 Jump ReI if less002 066 010 (6)002 067 326 Subtract 011002 070 011002 071 366 Or A w 300002 072 300002 073 315 Call (TV)002 074 372002 075 000002 076 311 Return

(6) 002 077 366 Or A w 260002 100 260002 101 315 Call (TV)002 102 372002 103 000002 104 311 Return002 105 136 Load E w Mem

Character 002 106 072 Load A w Mem, Direct002 107 247002 110 001002 III 376 Compare A w "H"002 112 310002 113 312 Jump if equal002 114 041 (Hex Char)002 115 002002 116 303 Jump Uncondx002 117 267 (OCtal Char)

Page 21: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

002 120 001002 121 377 (Home Erase)002 122 030 (Spaces)002 123 324 T002 124 326 V

002 125 240002 126 323 S002 127 324 T002 130 317 0

002 131 322 R002 132 301 A002 133 307 G002 134 305 E002 135 240002 136 304 D002 137 325 U

002 140 315 M002 141 320 P

002 142 051 (Spaces)002 143 322 R002 144 345 e002 145 347 9002 146 351 i002 147 363 s002 150 364 t002 151 345 e002 152 362 r002 153 363 s002 154 272002 155 071 (Spaces)002 156 301 A002 157 003002 160 302 B

002 161 003002 162 303 C002 163 003002 164 304 D

002 165 003002 166 305 E002 167 003002 170 310 H002 171 003002 172 314 L

002 173 046 (Spaces)002 174 000 (Return)002 175 046 (Spaces)002 176 301 A002 177 247

I Il --:-::----- (@l@-o-cQ]-l@~-"-®J®JD@-O-O---)12 po box &528 denver, 00101'800 80206 (303) 777·7133

Page 22: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default
Page 23: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

002 264 045 (Spaces)002 265 000 (Return)002 266002 267002 270002 271002 272002 273 140 (Spaces)002 274 330 X002 275 240002 276 311 I002 277 356 n002 300 344 d002 301 345 e002 302 370 x002 303 002 (Spaces)002 304 331 Y002 305 240002 306 311 I002 307 356 n002 310 344 d002 311 345 e002 312 370 x002 313 003 (Spaces)002 314 311 I002 315 240002 316 322 R002 317 345 e002 320 347 g002 321 003 (Spaces)002 322 322 R002 323 240002 324 322 R002 325 345 e002 326 347 g002 327 041 (Spaces)002 330 000 (Return)002 331 141 (Spaces)002 332 323 S002 333 364 t002 334 341 a002 335 343 c002 336 353 k002 337 004 (Spaces)002 340 322 R

002 341 345 e002 342 364 t002 343 365 u002 344 362 r002 345 356 n002 346 277 ?

(@l@cQ]~ ®J®ill]) ).14 po box 6528 denver, colol'lldo 80206 (303) 777·7133

Page 24: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

--_._--_...-

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

002 347 004 (Spaces)002 350 311 I002 351 356 n002 352 364 t002 353 345 e002 354 362 r002 355 362 r002 356 365 u002 357 360 P002 360 364 t002 361 043 (Spaces)002 362 000 (Return)002 363 377 (Home Erase)002 364 305 E002 365 356 n002 366 364 t002 367 345 e002 370 362 r002 371 240002 372 320 P002 373 341 a002 374 347 g002 375 345 e002 376 240002 377 000 (Return)

TV Dump 003 000 365 Push A & Flags003 001 305 Push B&C003 002 325 Push D&E003 003 345 Push H&L003 004 010 Ex A & Flags w A' & Flags'003 005 331 Ex B-L w B'-L'003 006 365 Push A' & Flags'003 007 305 Push B' &C'003 010 325 Push D' & E'003 011 345 Push H' & L'003 012 010 Ex A' & Flags' wA & Flags003 013 331 Ex B'-L' w B&L003 014 335 Push X003 015 345003 016 375 Push Y003 017 345003 020 355 Load Aw I003 021 127003 022 107 LoadBwA003 023 355 Load A w R003 024 137003 025 117 Load C w A

>t.. 003 026 345 Push L & H003 027 041 Clear L&H003 030 000

)C@@~~15 po box ... deIMtr. ooIOrIIdo IOIDI (303) m·1133

Page 25: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

003 031 000003 032 071 ADD Stack Pointer to H&L003 033 006 Load B with 030003 034 030003 035 043 Inc L&H003 036 020 Dec B, Jump ReI n Zero003 037 375003 040 345 Push L&H (Push SP)003 041 116 Load C w Mem003 042 043 Inc L&H003 043 106 Load B w Mem003 044 305 Push B&CC03 045 053 Dec L&H003 046 053003 047 053003 050 053003 051 345 Push L&H003 05~ Cl41 Load L&H003 053 121 (Title & Regs)003 054 002003 055 315 Call (TV Ed)003 056 000003 057 002003 060 341 Pop L&H003 061 315 Call (Reg Print)003 062 240003 063 003003 064 345 Push L&H003 065 041 Load L&H003 066 175 (Regs' )003 067 002003 070 315 Call (TV Ed)003 071 000003 072 002003 073 341 Pop L&H003 074 315 Call (Reg Print)003 075 240003 076 003003 077 353 Ex D&E w H&L003 100 041 Load L&H003 101 224 (Flags)003 102 002003 103 315 Call ('IV Ed)003 104 000003 105 002003 106 006 Load B w 017003 107 017003 110 023 Inc D&E003 111 020 Dec B, Jump ReI n Zero003 112 375003 113 315

,<, Call (Flag Print)

I ~J1r~~~~ ®[J@}D@ )i

16 I po box 6528 denver, colorado 80206 (303) 777-7133I

Page 26: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

r--I PROGRAM: Z-80 OPERATING SYSTEMII

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

003 114 262003 115 003003 116 006 Load B w 010003 117 010003 120 033 Dec D&E003 121 020 Dec B, Jump Rel n Zero003 122 375003 123 315 Call (Flag Print)003 124 262003 125 003003 126 041 Load L&H003 127 273 (Indeces, I&R)003 130 002003 131 315 Call (TV Editor)003 132 000003 133 002003 134 006 Load B w 006003 135 007003 136 033 Dec D&E003 137 020 Dec B, Jump Rel n Zero003 140 375003 141 353 Exchange D&E w H&L003 142 315 Call (Dump Char Short)003 143 341003 144 003003 145 315 Call (Dump Char Short)003 146 341003 147 003003 150 006 Load B with003 151 003003 152 315 Call (Dump Char)003 153 334003 154 003003 155 315 Call (Dump Char Short)003 156 341003 157 003003 160 006 Load B with003 161 004003 162 315 Call (Dump Char)003 163 334003 164 003003 165 006 Load B with003 166 005003 167 315 Call (Dmnp Char)003 170 334003 171 003003 172 345 Push L&H003 173 041 Load L&H003 174 331 (Stack)

I 003 175 002I 003 176 315 Call (TV Ed)I

l003 177 000

17 po box 6528 denver, colol'8do 80206 (303) 777-7133

Page 27: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL eCTALLABEL ADDRESS CODE r-1NEMONICS COMMENTS

003 200 002003 201 341 Pop L&H003 202 315 Call (Dump Char Short)003 203 341003 204 003003 205 315 Call (Dump Char Short)00::' 206 341003 207 003003 210 006 Load B w 003003 211 003003 212 315 Call (Dump Char)003 213 334003 214 003003 215 315 Call (Dump Char Short)003 216 341003 217 003003 220 006 Load B w 011003 221 011003 222 315 Call (Space)003 223 370003 224 000003 225 020 Dec B, Jump Rel n Zero003 226 373003 227 072 Load A w Mern, Direct003 230 246003 231 001003 232 315 Call (TV)

003 233 372003 234 000003 235 303 cTump Uncondx003 236 346 (Storage)003 237 003003 240 136 Load E w Mern003 241 315 Call (Char)003 242 106003 243 002003 244 053 Dec L&H003 245 006 Load B w 006003 246 006003 247 315 Call (Space)003 250 370003 251 000003 252 053 Dec L&H003 253 315 Call (Char)003 254 105003 255 002

l---- --=-- (@@cQ]~~ )18 po box 1521 denver, coIor8do 1020I (303) 777·7133

Page 28: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

003 256 020 Dec B, Jump Rel n Zero003 257 367003 260 053 Dec L&H003 261 311 Return

Flag Print 003 262 032 Load A w Mem, using D&E003 263 315 Call (Flag Short)003 264 316003 265 003003 266 315 Call (Flag Short)003 267 316003 270 003003 271 315 Call (Flag Long)003 272 315003 273 003003 274 315 Call (Flag Long)003 275 315003 276 003003 277 315 Call (Flag Short)003 300 316003 301 003003 302 315 Call (Flag Short)003 303 316003 304 003003 305 006 Load B w 003003 306 003003 307 315 Call (Space)003 310 370003 311 000003 312 020 Dec B, Jump Rel n Zero003 313 373003 314 311 Return

Flag Long 003 315 007 Rotate LeftFlag Short 003 316 007 Rotate Left

003 317 117 Load C w A003 320 346 And A wOOl003 321 001003 322 366 Or A w 260003 323 260003 324 315 Call (TV)

003 325 372003 326 000003 327 315 Call (Space)003 330 370003 331 000003 332 171 Load A w C003 333 311 Return

l--- ~---~@~~ )19 po box 6528 denver, colol'lldo 80206 (303) 777-7133

Page 29: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: 2-80 OPERATING SYS~EM

LABELoC'rAL

ADDRESSOCTALCODE MNEMONICS COMMENTS

Dump Char 003 334003 335003 336003 337003 340003 341003 342003 3-":;003 344003 345

*The FollowingCode wasgenerated (,1(,13 346by the (,1(,13 351Digital (,1(,13 354Group (,Ir;13 355Assembler 1)(,13 36r;1

r;1(,I3 362(,1(,13 363r;1r;13 365(,1(,13 367r;1(,I3 37(,1()(,I3 372:;t(,l3 373:;t(n 375(,1(,14 r;1r;1(,1(,1(,14 r;1(,I2r;1(,14 (,1(,14(,1(,14 (,1(,17r;1(,14 (,11(,1(,1(,14 (,112(,Ir;14 (,114(,1(,14 (,116(,1(,14 (,121(,1(,14 f)221)C;14 (,124r;1(,14 (,126(,1(,14 (,13'1rJf)4 \131(,1\14 (13 3\1(,14 (,1351/1/4 (,137(,1(,14 (,I4()r;!(,14 1/421/(,14 (,1431/(,14 (,146(,1(,14 (,lSi)(1(,14 1/52(,Ir;14 (,154(,1(,14 (,156\1(,14 \16\1

315370000020373115105002OS3311

(,161 (,I(,Ir,I </(,12(,141 (,11/(,1 (,1(,11/345315 25(,1 1/(,11346 337127376 21)(,1(,14(,1 (,1(,13321(,I3()' 114341376 322312 1)(,1(,1 (,11/5376 31(,1(,I4r;J (,1(,16315 233 (,1(,11147(,13(,1 (,174376 314(,14(,1 1)(,16315 233 \1(,11157(,I3r,I (,162376 214(,14(,1 (,1(,13(,1431)3(,1 (,153376 21(,1

(,14(,1 (,1(,13(,153(,13(,1 (,144247

(,121 (,116 WlrJ376 213(,I4rJ (,1(,14355 122(,13(,1 (,13(,1376 212(,14(,1 r;1r;14

(,117(,1 BEGIN(,118(,11/19(,1(,12(,1(,1 KEY(,121(,1(,122(,1(,123r,1 PTEST(,124\1(,125(,1(,126(,1(,127(,1 RTEST(/28(,1(,129(,1(,13(,1(,1 HTESTf)31(,1(,132(,1(,133(,1(,134rJ(,135(,1 LTEST(,136(,1(,137(,1(,138\1(,139(,1(,14(,1(,1 STESTrJ41(,1(,142(,1(,143(,1(,144(,1 BTEST(,145(,11/46rJ(,147(,11/48(,1 UTEST(,149\1(,15(,1(,11/51\1rJ52\1(,153(,1(,154\1 DTEST(,155(,1

Call (Space)

Dec B, Jump Re1 n Zero

Call (Char)

Dec L&HReturn

LD SP,(,1(,12(,1(,1(,1LD HL, (,1(,1(,1\1(,1(,1PUSH HLCALL (,1(,1125(,1AND 337LD D,ACP 2(,1(,1 *SPACE FOR NEW PAGEJR NZ,RTESTPOP DE *GET RID OF OLD HLJR DCON\'POP HLCP 322 *R RETURN TO OP SYSJP Z,(,I(,I5r;1(,1(,1CP 31(,1 *HJR NZ,LTESTCALL HLOUTLD H,AJR DCONVCP 314 *LJR NZ,STESTCALL HLOUTLD L,AJR DCONVCP 214 *RIGHT ARROW TO SPACE RIGHTJR NZ,BTESTINC HLJR DCONVCP 21(,1 *LEFT ARROW TO BACKSPACEJR NZ,UTESTDEC HLJR DCONVAND A *CLEAR CARRYLD DE, (,1(,1(,1(,116CP 213 *UP ARROW FOR LINE UPJR NZ,DTESTSBC HL,DEJR DCONVCP 212 *DOWN ARROW FOR LINE DOWNJR NZ,NTEST

20_____ (ilirL@cQ]~®J®1W )

po box 8528 denv.r, colol'8do 80206 (303) 777-7133

Page 30: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

I PROGRAM: 2-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

rjf)'4 f)'62 355 132 9'569' ADC EL,DE~~4 ~64 ~3l4' 9'29' 9'579' JR DCONVQ9'4 9'66 366 9'49' 9'589' NTEST OR 9'49 *RESTORE NUMBER9'9'4 9'79' 365 9'59l4' PUSH AF

9'9'4 9'71 9'116 9'11 9'6l4'l4' LD B,9119'9'4 9'73 315 3711 111111 l4'619' SKIP CALL ~~~37~

~~4 ,O76 ~2~ 373 ,062,0 DJNZ SKIP,0,04 1,0,0 361 ~63,0 POP AF

~~4 1~1 315 251 ~,04 ~64~ CALL ASCIIS~~4 1~4 167 ~65~ LD (HL) ,A~~4 1.05 ~43 .0 66.0 INC HL.0~4 1.06 345 ~67.0 DCONV PUSH HL~.04 1.07 315 346 .0.0.0 ~68~ CALL ~.0.0346 *ERASE TV.0.04 112 321 .0 69.0 POP DE *GET HL INTO DE.0.04 113 325 .0 7.0.0 PUSH DE *BACK TO NORMAL.0.04 114 142 .0 71.0 ID H,D *POINTER ON DISPLAYED PAGE.0.04 115 173 ~72~ LD A,E.0.04 116 376 2~.0' .0 73.0 PAGEl CP 2~.0

.0.04 12.0 .06.0 ,014 ,074.0 JR NC,PAGE3

.0.04 122 .056 ,0,0,0 .0 75.0 LD L,,0,0,0, .0,04 124 .03,0 ,012 ,076,0 JR PSTART

.0.04 126 376 264 .0 77,0 CP 264

.0,04 13.0 ,06,0 ,0,04 ,078.0 JR NC,PAGE3!, ,0.04 132 ,056 132 .0 79,0 LD L,132

,0,04 134 .03,0 ,0,02 ,08,0,0 JR PSTART.0,04 136 ,056 2,0,0 .081,0 PAGE3 LD L,2,0,0,0,04 14,0 134 ,082,0 PSTART LD E,H,0,04 141 315 1,06 ,0,02 ,083,0 CALL ,0,021,06 *CHARACTER.0,04 144 135 ,084,0 LD E,L,0,04 145 315 l,.06 ,0,02 ,085,0 CALL ,0,021,06,0,04 15,0 315 37,0 fJfJfJ fJ86fJ CALL fJfJfB7fJ *SPACE,0fJ4 153 315 37fJ fJfJfJ fJ87fJ CALL .0fJfJ37fJ *SPACEfJfJ4 156 fJfJ6 fJ16 fJ88fJ LD B,,,iH6fJfJ4 16fJ 321 fJ89fJ BYTE POP DE *PUT STACK HL IN DEfJfJ4 161 345 fJ9fJfJ PUSH HL,0fJ4 162 325 fJ9l,.0 PUSH DEfJfJ4 163 355 122 fJ92fJ SBC HL,DE *SEE IF POINTER HERE?fJfJ4 165 fJ5fJ fJfJ5 fJ93fJ JR Z,POINTRfJfJ4 167 315 37fJ fJfJfJ fJ94fJ CALL fJfJfJ 37fJ/J!J4 172 fJ3fJ fJfJ5 fJ95fJ JR CONTINfJfJ4 174 fJ76 232 fJ96fJ POINTR LD A,232 *ARROWfJfJ4 176 315 372 fJfJfJ fJ97fJ CALL pfJfJ372fJfJ4 2fJl 321 fJ9BfJ CONTIN POP DEfJfJ4 2fJ'i. 341 fJ99fJ POP HLfJfJ4 2fJ3 325 lfJfJfJ PUSH DEfJfJ4 2fJ4 136 lfJlfJ LD E, (HL)fJfJ4 2fJ5 315 lfJ6 fJfJ2 l,.02fJ CALL pp2lfJ6 *PRINT BYTEfJfJ4 2lfJ fJ43 lfJ3p INC HLfJfJ4 211 175 lfJ'V> LD A,LfJfJ4 212 376 2fJfJ lfJ5fJ CP 2PPfJfJ4 214 312 23fJ fJfJ4 JP6fJ JP Z,ADDfJ,,04 217 fJ"o"o lfJ7"o NOP

(~c9J~~ )21 po box 6528 denver, colontdo 80208 (303) 777-7133

Page 31: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

~-l

PROGRAM: Z-80 OPERATING SYSTEM IOCTAL OCTAL

LABEL ADDRESS CODE MNEMONICS COMMENTS

(/(/4 22(/ (/(/(/ 1rj8(/ NOPrjrj4 221 (/(/(/ 1~(/ NOP(/(/4 222 (/rjrj 11W NOPrjrj4 223 (/W l1lrj NOPW4 224 376 (/(/(/ 112(/ CP W(/(/(/4 226 rJ4()' rjl2 113(/ JR NZ,NBYTErjrj4 23(/ W6 2lrj 114(/ ADD LD B,21(/(/(/4 232 315 37(/ (/(/(/ 115(/ SKIP7 CALL (/(/(/37(/(/C)'4 235 C)'2C)' 373 116C)' DJNZ SKIP7(/C)'4 237 3C)'3 355 (/(/3 117(/ JP KEYC)'C)'4 242 C)'2()' 314 118C)' NBYTE DJNZ BYTE(/C)'4 244 C)'3C)' 272 119(/ JR PSTARTW4 246 315 25(/ W1 12(/C)' ASCII CALL C)'(/125(/ *KEYBOARD # ENTRYC)'C)'4 251 1(/7 121(/ ASCIIS LD B,AC)'C)'4 252 (/72 247 C)'C)'1 122(/ LD A, «(/rjl247)(/(/4 255 376 3lrj 123(/ HEXCK CP 'H'(/C)'4 257 17(/ 124(/ LD A,B(/C)'4 26C)' (/5(/ (/44 125(/ JR Z,HEX(/(/4 262 315 372 C)'Cl(/ 126(/ OCTAL CALL C)'C)'Cl372W4 265 17C)' 127Cl LD A,BC)'C)'4 266 Cl17 128Cl RRCAClCl4 267 C)'17 129C)' RRCAC)'Cl4 27C)' 346 3C)'Cl 13ClCl AND 3C)'(/W4 272 117 13lr; LD C,AW4 273 315 25(/ ClCl1 132(/ CALL ClCl125(/W4 276 lrj7 133C)' LD B,AW4 277 315 372 ClW 134Cl CALL (/(/Cl372W4 3C)'2 17:/ 135(/ LD A,BW4 3C)'3 (/Cl7 13611 RLCAr;1Cl4 3C)'4 Cll17 13711 RLCA;lCl4 3rj5 W7 13811 RLCArJ114 3rj6 346 (/7'1 139Cl AND 11711W4 3lr;t 2(/1 14'1(/ ADD CClCl4 311 117 141(/ LD C,Al1'14 312 315 25rJ ClCll 142Cl CALL ClCl12511'1(/4 315 lr;t7 143'1 LD B,AClC)4 316 315 372 l1ClCl 144'1 CALL '1l1Cl372Cl(/4 321 17Cl 145Cl LD A,B'1Cl4 322 346 (/(/7 146Cl AND rJl17rJCl4 324 2C)1 147'1 ADD C'1rJ4 325 311 148'1 RETClrJ4 326 315 37Cl '1Clc) 149Cl HEX CALL ClClCl37rJrJrJ4 331 17C) 1s'1Cl LD A,B'1Cl4 332 315 352 Cl\il'4 151'1 CALL HEXERSrJCl4 335 c;JC)7 IS2C) RLCAClC)4 336 ClCl7 lS3Cl RLCArJrJ4 337 c)Cl7 154Cl RLCAClCl4 34Cl ClC)7 155rJ RLCArJrJ4 341 !rJ7 156Cl LD B,AClC)4 342 315 347 ClC)4 157'1 CALL HEXER IrJC)4 345 2ClrJ 1S8rJ ADD B I

IC~cQJ~@]®ill]) )

22 po box 8528 denver, colol'lldo 80206 (303) 777·7133

Page 32: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

,--I

PROGRAM: Z-80 OPERATING SYSTEM

LABEL

OP Monitor

(1)

OCTAL OCTALADDRESS CODE MNEMONICS COMMENTS

004 346 311 159¢ RET004 347 315 25¢ ¢¢1 16¢0 HEXER CALL 0¢1250004 352 376 340 1610 HEXERS CP 340¢04 354 ¢7¢ ¢¢2 162¢ JR C,UCASE¢¢4 356 326 ¢4¢ 163¢ SUB ¢4¢004 360 365 1640 UCASE PUSH AF¢¢4 361 315 372 ¢¢¢ 165¢ CALL ¢¢0372¢¢4 364 361 166¢ POP AF¢¢4 365 376 272 167¢ CP 272004 367 ¢70 ¢¢2 168¢ JR C,NUMBER¢¢4 371 326 ¢¢7 1690 SUB ¢¢7¢¢4 373 326 260 17¢¢ NUMBER SUB 26¢004 375 311 1710 RET004 376 ¢00 172¢ NOP0¢4 377 ¢¢¢ 1730 NOP005 000 061 Load Stack Pointer005 001 000005 002 002005 003 355 Set Interrupt Mode ¢005 004 106 (8080 identical)005 005 076 Load A w "¢"005 006 2(,0005 007 062 Load Mem w A, Direct005 010 246005 all 001005 012 373 Enable Interrupt005 013 041 Load L&H005 014 124005 015 005005 016 315 Call (TV Editor)005 017 000005 020 002005 021 315 Call (Keyboard)005 022 250005 023 001005 024 376 Compare A w >9005 025 272005 026 060 Jump Rel if not Less005 027 371 ( 1)005 030 376 Compare A w <0005 031 260005 032 070 Jump Rel if Less005 033 365 (1)005 034 007 Shift Left005 035 346 And A w 136005 036 136005 037 062 Load Mem w A, Direct005 040 067005 041 005005 042 376 Compare A w 106

(\W1@ cQ]~Uli§]~23 po box 8528 denver, colorado 80206 (303) 777·713;

Page 33: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-80 OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

005 043 106005 044 070 Jump Rel if less005 045 020 (2)005 046 376 Compare A w 112005 047 112005 050 060 Jump Rel if not less005 051 014 (2)005 052 376 Compare A w 110005 053 110005 054 060 Jump ReI if not less005 055 003 (3)005 056 257 Clear A005 057 030 Jump Rel005 060 002 (4)

(3) 005 061 076 Load A w "H"005 062 310

(4) 005 063 062 Load M w A, Direct005 064 247005 065 001

(2) 005 066 052 Load H&L, Direct005 067 *005 070 005005 071 315 Call (Horne Erase)005 072 346005 073 000005 074 351 Load Prog Ctr w H&L005 075005 076005 077005 100 IJ (User set)005 101005 102 167 1 Read005 103 000005 104 040 2 Write005 105 001005 106 000 3 Octal Program

005 107 003005 110 000 4 Hex Program005 111 003005 112 5 (user Set)005 113005 114 6 (User Set)005 115005 116 7 (User Set)005 117005 120 8 (User Set)005 121005 122 9 (User Set)

I005 123005 124 377 (Horne Erase)

I

I005 125 032 (Spaces)

(UlfL@ cQ]l®~ @[[@ill[W )24 po box 6528 denver, colorado 80206 (303)861-1686

Page 34: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default

PROGRAM: Z-BO OPERATING SYSTEM

OCTAL OCTALLABEL ADDRESS CODE MNEMONICS COMMENTS

005 126 332 Z

005 127 255005 130 270 8005 131 260 0005 132 240005 133 317 0005 134 320 P005 135 240005 136 323 S005 137 331 Y005 140 323 S005 141 033 (Spaces)005 142 317 0005 143 360 P005 144 364 t005 145 351 i005 146 357 0

005 147 356 n005 150 363 s005 151 272005 152 170 (Spaces)005 153 261 1005 154 240005 155 322 R005 156 305 E005 157 301 A005 160 304 D005 161 072 (Spaces)005 162 262 2005 163 240005 164 327 w005 165 322 R005 166 311 1005 167 324 T005 170 305 E005 171 071 (Spaces)005 172 263 3005 173 240005 174 317 0005 175 343 c005 176 364 t005 177 341 a005 200 354 1005 201 240005 202 320 P005 203 362 r005 204 357 0

005 205 347 9005 206 362 r005 207 341 a005 210 355 m

(@1@cQ]~@Mlill]) )25 po box 6528 denver, colorado 80206 (303) 777·7133

Page 35: Digital Group Z80 OS - amaus.net group/software/Digital Group Z80 OS.pdfA keyboard programming capability allows entering octal code directly from the system keyboard. The default