home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: LBR Archive
(archive/lbr).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LBR Archive (archive/lbr)
| magic
| Supported |
1%
| dexvert
| Micro Focus Cobol library (other/microFocusCobolLibrary)
| ext
| Unsupported |
1%
| dexvert
| Micro Focus COBOL Library (other/microFocusCOBOLLibrary)
| ext
| Unsupported |
100%
| file
| LBR archive data
| default
| |
99%
| file
| data
| default
| |
87%
| TrID
| LU library
| default
| |
12%
| TrID
| C64 Hires bitmap
| default (weak)
| |
100%
| lsar
| LBR
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 20 20 20 20 20 20 20 | 20 20 20 20 00 00 12 00 |. | ....|
|00000010| 51 44 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |QD......|........|
|00000020| 00 53 30 46 49 4c 45 49 | 4f 5a 38 30 12 00 0d 00 |.S0FILEI|OZ80....|
|00000030| d0 31 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.1......|........|
|00000040| 00 53 31 46 49 4c 45 49 | 4f 5a 38 30 1f 00 0d 00 |.S1FILEI|OZ80....|
|00000050| 72 cd 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |r.......|........|
|00000060| 00 53 32 46 49 4c 45 49 | 4f 5a 38 30 2c 00 0d 00 |.S2FILEI|OZ80,...|
|00000070| b5 d8 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000080| 00 53 33 46 49 4c 45 49 | 4f 5a 38 30 39 00 0d 00 |.S3FILEI|OZ809...|
|00000090| 17 24 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.$......|........|
|000000a0| 00 53 41 43 41 53 31 20 | 20 5a 38 30 46 00 0d 00 |.SACAS1 | Z80F...|
|000000b0| a9 94 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 53 41 43 41 53 32 20 | 20 5a 38 30 53 00 0e 00 |.SACAS2 | Z80S...|
|000000d0| 10 46 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.F......|........|
|000000e0| 00 53 41 43 41 53 33 20 | 20 5a 38 30 61 00 10 00 |.SACAS3 | Z80a...|
|000000f0| ed f2 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 53 41 47 4f 31 20 20 | 20 5a 38 30 71 00 08 00 |.SAGO1 | Z80q...|
|00000110| ca a3 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 53 41 47 4f 32 20 20 | 20 5a 38 30 79 00 08 00 |.SAGO2 | Z80y...|
|00000130| 82 d0 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 53 41 49 46 31 20 20 | 20 5a 38 30 81 00 07 00 |.SAIF1 | Z80....|
|00000150| de 56 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.V......|........|
|00000160| 00 53 41 49 46 32 20 20 | 20 5a 38 30 88 00 07 00 |.SAIF2 | Z80....|
|00000170| 0e 17 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 53 41 4c 4c 4f 43 20 | 20 5a 38 30 8f 00 16 00 |.SALLOC | Z80....|
|00000190| 4e fb 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |N.......|........|
|000001a0| 00 53 41 52 47 56 20 20 | 20 5a 38 30 a5 00 16 00 |.SARGV | Z80....|
|000001b0| 54 a1 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |T.......|........|
|000001c0| 00 53 42 42 4c 49 4e 45 | 20 5a 38 30 bb 00 11 00 |.SBBLINE| Z80....|
|000001d0| a1 fd 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 53 42 44 4f 53 20 20 | 20 5a 38 30 cc 00 04 00 |.SBDOS | Z80....|
|000001f0| 45 a8 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |E.......|........|
|00000200| 00 53 42 47 4f 31 20 20 | 20 5a 38 30 d0 00 0a 00 |.SBGO1 | Z80....|
|00000210| 25 34 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |%4......|........|
|00000220| 00 53 42 47 4f 32 20 20 | 20 5a 38 30 da 00 0a 00 |.SBGO2 | Z80....|
|00000230| eb a7 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 53 42 49 4e 20 20 20 | 20 5a 38 30 e4 00 03 00 |.SBIN | Z80....|
|00000250| fe 43 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.C......|........|
|00000260| 00 53 42 49 4f 53 20 20 | 20 5a 38 30 e7 00 11 00 |.SBIOS | Z80....|
|00000270| a6 4c 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.L......|........|
|00000280| 00 53 42 49 53 54 20 20 | 20 5a 38 30 f8 00 03 00 |.SBIST | Z80....|
|00000290| dd bd 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002a0| 00 53 42 4c 49 4e 45 20 | 20 5a 38 30 fb 00 15 00 |.SBLINE | Z80....|
|000002b0| d1 91 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 53 42 4f 55 54 20 20 | 20 5a 38 30 10 01 04 00 |.SBOUT | Z80....|
|000002d0| e8 f8 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 53 43 41 50 49 4e 20 | 20 5a 38 30 14 01 04 00 |.SCAPIN | Z80....|
|000002f0| 63 82 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |c.......|........|
|00000300| 00 53 43 41 50 53 20 20 | 20 5a 38 30 18 01 03 00 |.SCAPS | Z80....|
|00000310| 75 b3 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |u.......|........|
|00000320| 00 53 43 41 50 53 54 52 | 20 5a 38 30 1b 01 05 00 |.SCAPSTR| Z80....|
|00000330| a3 04 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 53 43 41 54 48 20 20 | 20 5a 38 30 20 01 05 00 |.SCATH | Z80 ...|
|00000350| 06 a4 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000360| 00 53 43 43 4f 55 54 20 | 20 5a 38 30 25 01 09 00 |.SCCOUT | Z80%...|
|00000370| 72 79 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |ry......|........|
|00000380| 00 53 43 49 4e 20 20 20 | 20 5a 38 30 2e 01 06 00 |.SCIN | Z80....|
|00000390| 90 c7 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003a0| 00 53 43 4c 49 4e 45 20 | 20 5a 38 30 34 01 0b 00 |.SCLINE | Z804...|
|000003b0| 7e 78 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |~x......|........|
|000003c0| 00 53 43 4c 4f 55 54 20 | 20 5a 38 30 3f 01 09 00 |.SCLOUT | Z80?...|
|000003d0| f9 ca 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 53 43 4f 44 45 4e 44 | 20 5a 38 30 48 01 07 00 |.SCODEND| Z80H...|
|000003f0| 32 77 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |2w......|........|
|00000400| 00 53 43 4f 4d 50 20 20 | 20 5a 38 30 4f 01 09 00 |.SCOMP | Z80O...|
|00000410| dd 78 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.x......|........|
|00000420| 00 53 43 4f 4d 50 48 44 | 20 5a 38 30 58 01 04 00 |.SCOMPHD| Z80X...|
|00000430| 77 40 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |w@......|........|
|00000440| 00 53 43 4f 4e 44 49 4e | 20 5a 38 30 5c 01 06 00 |.SCONDIN| Z80\...|
|00000450| c8 d3 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000460| 00 53 43 4f 55 54 20 20 | 20 5a 38 30 62 01 07 00 |.SCOUT | Z80b...|
|00000470| e4 41 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.A......|........|
|00000480| 00 53 43 50 4f 55 54 20 | 20 5a 38 30 69 01 09 00 |.SCPOUT | Z80i...|
|00000490| 60 39 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |`9......|........|
|000004a0| 00 53 43 52 43 20 20 20 | 20 5a 38 30 72 01 18 00 |.SCRC | Z80r...|
|000004b0| be 17 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 53 43 52 43 31 20 20 | 20 5a 38 30 8a 01 18 00 |.SCRC1 | Z80....|
|000004d0| 3a 53 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |:S......|........|
|000004e0| 00 53 43 52 43 32 20 20 | 20 5a 38 30 a2 01 16 00 |.SCRC2 | Z80....|
|000004f0| e0 50 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.P......|........|
|00000500| 00 53 43 52 4c 46 20 20 | 20 5a 38 30 b8 01 06 00 |.SCRLF | Z80....|
|00000510| e8 ef 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000520| 00 53 43 53 54 20 20 20 | 20 5a 38 30 be 01 07 00 |.SCST | Z80....|
|00000530| 36 cd 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |6.......|........|
|00000540| 00 53 44 47 4f 31 20 20 | 20 5a 38 30 c5 01 0c 00 |.SDGO1 | Z80....|
|00000550| 6d 82 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |m.......|........|
|00000560| 00 53 44 47 4f 32 20 20 | 20 5a 38 30 d1 01 0c 00 |.SDGO2 | Z80....|
|00000570| ad 53 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.S......|........|
|00000580| 00 53 44 49 52 20 20 20 | 20 5a 38 30 dd 01 0e 00 |.SDIR | Z80....|
|00000590| 46 c3 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |F.......|........|
|000005a0| 00 53 44 49 52 30 30 20 | 20 5a 38 30 eb 01 0e 00 |.SDIR00 | Z80....|
|000005b0| 48 03 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |H.......|........|
|000005c0| 00 53 44 49 52 30 31 20 | 20 5a 38 30 f9 01 0c 00 |.SDIR01 | Z80....|
|000005d0| 68 a1 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |h.......|........|
|000005e0| 00 53 44 49 52 30 32 20 | 20 5a 38 30 05 02 12 00 |.SDIR02 | Z80....|
|000005f0| 20 f6 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | .......|........|
|00000600| 00 53 44 49 52 30 33 20 | 20 5a 38 30 17 02 10 00 |.SDIR03 | Z80....|
|00000610| b3 72 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.r......|........|
|00000620| 00 53 44 49 52 30 34 20 | 20 5a 38 30 27 02 0e 00 |.SDIR04 | Z80'...|
|00000630| 37 93 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |7.......|........|
|00000640| 00 53 44 49 52 30 35 20 | 20 5a 38 30 35 02 38 00 |.SDIR05 | Z805.8.|
|00000650| 71 9e 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |q.......|........|
|00000660| 00 53 44 49 52 30 36 20 | 20 5a 38 30 6d 02 51 00 |.SDIR06 | Z80m.Q.|
|00000670| 94 f3 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000680| 00 53 44 49 52 30 37 20 | 20 5a 38 30 be 02 11 00 |.SDIR07 | Z80....|
|00000690| 7a 41 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |zA......|........|
|000006a0| 00 53 44 49 52 30 38 20 | 20 5a 38 30 cf 02 0b 00 |.SDIR08 | Z80....|
|000006b0| e6 9a 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006c0| 00 53 44 49 52 30 39 20 | 20 5a 38 30 da 02 0f 00 |.SDIR09 | Z80....|
|000006d0| 7c 52 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 ||R......|........|
|000006e0| 00 53 44 49 52 31 30 20 | 20 5a 38 30 e9 02 0d 00 |.SDIR10 | Z80....|
|000006f0| 24 fc 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |$.......|........|
|00000700| 00 53 44 49 52 42 46 20 | 20 5a 38 30 f6 02 05 00 |.SDIRBF | Z80....|
|00000710| 7d 2f 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |}/......|........|
|00000720| 00 53 44 49 52 51 20 20 | 20 5a 38 30 fb 02 8a 00 |.SDIRQ | Z80....|
|00000730| 25 5d 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |%]......|........|
|00000740| 00 53 44 49 52 51 53 20 | 20 5a 38 30 85 03 9d 00 |.SDIRQS | Z80....|
|00000750| 3b 18 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |;.......|........|
|00000760| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000780| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007a0| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|000007b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007c0| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|000007d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007e0| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|000007f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000800| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000820| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000840| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000860| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000880| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|00000890| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008a0| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|000008b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008c0| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|000008d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008e0| ff 20 20 20 20 20 20 20 | 20 20 20 20 00 00 00 00 |. | ....|
|000008f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000900| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00000910| 6c 65 20 4e 61 6d 65 3a | 20 20 53 30 46 49 4c 45 |le Name:| S0FILE|
|00000920| 0d 0a 3b 20 41 75 74 68 | 6f 72 3a 20 20 52 69 63 |..; Auth|or: Ric|
|00000930| 68 61 72 64 20 43 6f 6e | 6e 0d 0a 3b 20 53 59 53 |hard Con|n..; SYS|
|00000940| 4c 49 42 20 56 65 72 73 | 69 6f 6e 20 4e 75 6d 62 |LIB Vers|ion Numb|
|00000950| 65 72 3a 20 20 33 2e 36 | 0d 0a 3b 20 4d 6f 64 75 |er: 3.6|..; Modu|
|00000960| 6c 65 20 56 65 72 73 69 | 6f 6e 20 4e 75 6d 62 65 |le Versi|on Numbe|
|00000970| 72 3a 20 20 31 2e 32 0d | 0a 0d 0a 09 70 75 62 6c |r: 1.2.|....publ|
|00000980| 69 63 09 66 69 30 24 6f | 70 65 6e 2c 66 30 24 67 |ic.fi0$o|pen,f0$g|
|00000990| 65 74 2c 66 69 30 24 63 | 6c 6f 73 65 0d 0a 09 70 |et,fi0$c|lose...p|
|000009a0| 75 62 6c 69 63 09 66 6f | 30 24 6f 70 65 6e 2c 66 |ublic.fo|0$open,f|
|000009b0| 30 24 70 75 74 2c 66 6f | 30 24 63 6c 6f 73 65 0d |0$put,fo|0$close.|
|000009c0| 0a 0d 0a 3b 20 20 44 61 | 74 65 3a 20 20 20 20 20 |...; Da|te: |
|000009d0| 32 20 4d 61 79 20 38 35 | 0d 0a 3b 20 20 52 65 76 |2 May 85|..; Rev|
|000009e0| 69 73 65 64 3a 20 41 6c | 20 44 75 6e 73 6d 75 69 |ised: Al| Dunsmui|
|000009f0| 72 0d 0a 3b 20 20 43 68 | 61 6e 67 65 73 3a 09 2d |r..; Ch|anges:.-|
|00000a00| 20 54 61 62 6c 65 20 6f | 72 67 61 6e 69 7a 61 74 | Table o|rganizat|
|00000a10| 69 6f 6e 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 63 |ion comp|letely c|
|00000a20| 68 61 6e 67 65 64 2e 0d | 0a 3b 09 09 2d 20 45 78 |hanged..|.;..- Ex|
|00000a30| 74 65 6e 73 69 76 65 20 | 63 6f 64 65 20 6f 70 74 |tensive |code opt|
|00000a40| 69 6d 69 7a 61 74 69 6f | 6e 20 70 65 72 66 6f 72 |imizatio|n perfor|
|00000a50| 6d 65 64 2e 0d 0a 3b 09 | 09 09 0d 0a 3b 20 20 20 |med...;.|....; |
|00000a60| 50 72 65 76 69 6f 75 73 | 20 56 65 72 73 69 6f 6e |Previous| Version|
|00000a70| 3a 09 31 2e 30 20 28 31 | 36 20 4a 61 6e 20 38 34 |:.1.0 (1|6 Jan 84|
|00000a80| 29 0d 0a 0d 0a 0d 0a 3b | 20 20 45 58 54 45 52 4e |)......;| EXTERN|
|00000a90| 41 4c 20 44 45 43 4c 41 | 52 41 54 49 4f 4e 53 0d |AL DECLA|RATIONS.|
|00000aa0| 0a 3b 0d 0a 09 45 58 54 | 09 46 49 24 4f 50 45 4e |.;...EXT|.FI$OPEN|
|00000ab0| 0d 0a 09 45 58 54 09 46 | 4f 24 4f 50 45 4e 0d 0a |...EXT.F|O$OPEN..|
|00000ac0| 09 45 58 54 09 46 49 24 | 43 4c 4f 53 45 0d 0a 09 |.EXT.FI$|CLOSE...|
|00000ad0| 45 58 54 09 46 4f 24 43 | 4c 4f 53 45 0d 0a 09 45 |EXT.FO$C|LOSE...E|
|00000ae0| 58 54 09 46 24 47 45 54 | 0d 0a 09 45 58 54 09 46 |XT.F$GET|...EXT.F|
|00000af0| 24 50 55 54 0d 0a 0d 0a | 3b 0d 0a 3b 20 20 4d 41 |$PUT....|;..; MA|
|00000b00| 49 4e 20 52 4f 55 54 49 | 4e 45 53 20 46 4f 52 20 |IN ROUTI|NES FOR |
|00000b10| 46 30 0d 0a 3b 0d 0a 46 | 49 30 24 4f 50 45 4e 3a |F0..;..F|I0$OPEN:|
|00000b20| 0d 0a 09 50 55 53 48 09 | 48 4c 09 09 3b 53 61 76 |...PUSH.|HL..;Sav|
|00000b30| 65 20 75 73 65 72 20 52 | 45 47 0d 0a 09 4c 44 09 |e user R|EG...LD.|
|00000b40| 48 4c 2c 46 49 30 24 54 | 42 4c 09 3b 47 65 74 20 |HL,FI0$T|BL.;Get |
|00000b50| 46 49 30 20 74 61 62 6c | 65 20 61 64 64 72 65 73 |FI0 tabl|e addres|
|00000b60| 73 2e 0d 0a 09 4a 50 09 | 46 49 24 4f 50 45 4e 09 |s....JP.|FI$OPEN.|
|00000b70| 09 3b 50 65 72 66 6f 72 | 6d 20 66 75 6e 63 74 69 |.;Perfor|m functi|
|00000b80| 6f 6e 0d 0a 0d 0a 46 4f | 30 24 4f 50 45 4e 3a 0d |on....FO|0$OPEN:.|
|00000b90| 0a 09 50 55 53 48 09 48 | 4c 09 09 3b 53 61 76 65 |..PUSH.H|L..;Save|
|00000ba0| 20 75 73 65 72 20 52 45 | 47 0d 0a 09 4c 44 09 48 | user RE|G...LD.H|
|00000bb0| 4c 2c 46 4f 30 24 54 42 | 4c 09 3b 47 65 74 20 46 |L,FO0$TB|L.;Get F|
|00000bc0| 4f 30 20 74 61 62 6c 65 | 20 61 64 64 72 65 73 73 |O0 table| address|
|00000bd0| 2e 0d 0a 09 4a 50 09 46 | 4f 24 4f 50 45 4e 09 09 |....JP.F|O$OPEN..|
|00000be0| 3b 50 65 72 66 6f 72 6d | 20 66 75 6e 63 74 69 6f |;Perform| functio|
|00000bf0| 6e 0d 0a 0d 0a 46 30 24 | 47 45 54 3a 0d 0a 09 50 |n....F0$|GET:...P|
|00000c00| 55 53 48 09 48 4c 09 09 | 3b 53 61 76 65 20 75 73 |USH.HL..|;Save us|
|00000c10| 65 72 20 52 45 47 0d 0a | 09 4c 44 09 48 4c 2c 46 |er REG..|.LD.HL,F|
|00000c20| 49 30 24 54 42 4c 09 3b | 47 65 74 20 46 49 30 20 |I0$TBL.;|Get FI0 |
|00000c30| 74 61 62 6c 65 20 61 64 | 64 72 65 73 73 2e 0d 0a |table ad|dress...|
|00000c40| 09 4a 50 09 46 24 47 45 | 54 09 09 3b 50 65 72 66 |.JP.F$GE|T..;Perf|
|00000c50| 6f 72 6d 20 66 75 6e 63 | 74 69 6f 6e 0d 0a 0d 0a |orm func|tion....|
|00000c60| 46 30 24 50 55 54 3a 0d | 0a 09 50 55 53 48 09 48 |F0$PUT:.|..PUSH.H|
|00000c70| 4c 09 09 3b 53 61 76 65 | 20 75 73 65 72 20 52 45 |L..;Save| user RE|
|00000c80| 47 0d 0a 09 4c 44 09 48 | 4c 2c 46 4f 30 24 54 42 |G...LD.H|L,FO0$TB|
|00000c90| 4c 09 3b 47 65 74 20 46 | 4f 30 20 74 61 62 6c 65 |L.;Get F|O0 table|
|00000ca0| 20 61 64 64 72 65 73 73 | 2e 0d 0a 09 4a 50 09 46 | address|....JP.F|
|00000cb0| 24 50 55 54 09 09 3b 50 | 65 72 66 6f 72 6d 20 66 |$PUT..;P|erform f|
|00000cc0| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 49 30 24 43 |unction.|...FI0$C|
|00000cd0| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|00000ce0| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|00000cf0| 0a 09 4c 44 09 48 4c 2c | 46 49 30 24 54 42 4c 09 |..LD.HL,|FI0$TBL.|
|00000d00| 3b 47 65 74 20 46 49 30 | 20 74 61 62 6c 65 20 61 |;Get FI0| table a|
|00000d10| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 49 24 |ddress..|..JP.FI$|
|00000d20| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|00000d30| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 4f 30 24 43 |unction.|...FO0$C|
|00000d40| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|00000d50| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|00000d60| 0a 09 4c 44 09 48 4c 2c | 46 4f 30 24 54 42 4c 09 |..LD.HL,|FO0$TBL.|
|00000d70| 3b 47 65 74 20 46 4f 30 | 20 74 61 62 6c 65 20 61 |;Get FO0| table a|
|00000d80| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 4f 24 |ddress..|..JP.FO$|
|00000d90| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|00000da0| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 3b 20 20 49 6e |unction.|...; In|
|00000db0| 69 74 20 54 61 62 6c 65 | 20 61 6e 64 20 42 75 66 |it Table| and Buf|
|00000dc0| 66 65 72 73 20 66 6f 72 | 20 46 30 20 52 6f 75 74 |fers for| F0 Rout|
|00000dd0| 69 6e 65 73 0d 0a 3b 0d | 0a 46 49 30 24 54 42 4c |ines..;.|.FI0$TBL|
|00000de0| 3a 0d 0a 49 30 24 46 4c | 47 3a 09 44 42 09 30 09 |:..I0$FL|G:.DB.0.|
|00000df0| 09 3b 49 6e 70 75 74 20 | 66 69 6c 65 20 6f 70 65 |.;Input |file ope|
|00000e00| 6e 65 64 20 66 6c 61 67 | 20 28 30 3d 4e 4f 29 0d |ned flag| (0=NO).|
|00000e10| 0a 49 30 24 43 4e 54 3a | 09 44 53 09 31 09 09 3b |.I0$CNT:|.DS.1..;|
|00000e20| 49 6e 70 75 74 20 63 68 | 61 72 20 63 6f 75 6e 74 |Input ch|ar count|
|00000e30| 0d 0a 49 30 24 50 54 52 | 3a 09 44 53 09 32 09 09 |..I0$PTR|:.DS.2..|
|00000e40| 3b 49 6e 70 75 74 20 63 | 68 61 72 20 70 74 72 0d |;Input c|har ptr.|
|00000e50| 0a 49 30 24 46 43 42 3a | 09 44 53 09 33 36 09 09 |.I0$FCB:|.DS.36..|
|00000e60| 3b 49 6e 70 75 74 20 66 | 69 6c 65 20 46 43 42 0d |;Input f|ile FCB.|
|00000e70| 0a 49 30 24 42 55 46 3a | 09 44 53 09 31 32 38 09 |.I0$BUF:|.DS.128.|
|00000e80| 09 3b 49 6e 70 75 74 20 | 42 75 66 66 65 72 0d 0a |.;Input |Buffer..|
|00000e90| 0d 0a 46 4f 30 24 54 42 | 4c 3a 0d 0a 4f 30 24 46 |..FO0$TB|L:..O0$F|
|00000ea0| 4c 47 3a 09 44 42 09 30 | 09 09 3b 4f 75 74 70 75 |LG:.DB.0|..;Outpu|
|00000eb0| 74 20 66 69 6c 65 20 6f | 70 65 6e 65 64 20 66 6c |t file o|pened fl|
|00000ec0| 61 67 20 28 30 3d 4e 4f | 29 0d 0a 4f 30 24 43 4e |ag (0=NO|)..O0$CN|
|00000ed0| 54 3a 09 44 53 09 31 09 | 09 3b 4f 75 74 70 75 74 |T:.DS.1.|.;Output|
|00000ee0| 20 63 68 61 72 20 63 6f | 75 6e 74 0d 0a 4f 30 24 | char co|unt..O0$|
|00000ef0| 50 54 52 3a 09 44 53 09 | 32 09 09 3b 4f 75 74 70 |PTR:.DS.|2..;Outp|
|00000f00| 75 74 20 63 68 61 72 20 | 70 74 72 0d 0a 4f 30 24 |ut char |ptr..O0$|
|00000f10| 46 43 42 3a 09 44 53 09 | 33 36 09 09 3b 4f 75 74 |FCB:.DS.|36..;Out|
|00000f20| 70 75 74 20 66 69 6c 65 | 20 46 43 42 0d 0a 4f 30 |put file| FCB..O0|
|00000f30| 24 42 55 46 3a 09 44 53 | 09 31 32 38 09 09 3b 4f |$BUF:.DS|.128..;O|
|00000f40| 75 74 70 75 74 20 42 75 | 66 66 65 72 0d 0a 0d 0a |utput Bu|ffer....|
|00000f50| 09 45 4e 44 0d 0a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |.END....|........|
|00000f60| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00000f70| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00000f80| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00000f90| 6c 65 20 4e 61 6d 65 3a | 20 20 53 31 46 49 4c 45 |le Name:| S1FILE|
|00000fa0| 0d 0a 3b 20 41 75 74 68 | 6f 72 3a 20 20 52 69 63 |..; Auth|or: Ric|
|00000fb0| 68 61 72 64 20 43 6f 6e | 6e 0d 0a 3b 20 53 59 53 |hard Con|n..; SYS|
|00000fc0| 4c 49 42 20 56 65 72 73 | 69 6f 6e 20 4e 75 6d 62 |LIB Vers|ion Numb|
|00000fd0| 65 72 3a 20 20 33 2e 36 | 0d 0a 3b 20 4d 6f 64 75 |er: 3.6|..; Modu|
|00000fe0| 6c 65 20 56 65 72 73 69 | 6f 6e 20 4e 75 6d 62 65 |le Versi|on Numbe|
|00000ff0| 72 3a 20 20 31 2e 32 0d | 0a 0d 0a 09 70 75 62 6c |r: 1.2.|....publ|
|00001000| 69 63 09 66 69 31 24 6f | 70 65 6e 2c 66 31 24 67 |ic.fi1$o|pen,f1$g|
|00001010| 65 74 2c 66 69 31 24 63 | 6c 6f 73 65 0d 0a 09 70 |et,fi1$c|lose...p|
|00001020| 75 62 6c 69 63 09 66 6f | 31 24 6f 70 65 6e 2c 66 |ublic.fo|1$open,f|
|00001030| 31 24 70 75 74 2c 66 6f | 31 24 63 6c 6f 73 65 0d |1$put,fo|1$close.|
|00001040| 0a 0d 0a 3b 20 20 44 61 | 74 65 3a 20 20 20 20 20 |...; Da|te: |
|00001050| 32 20 4d 61 79 20 38 35 | 0d 0a 3b 20 20 52 65 76 |2 May 85|..; Rev|
|00001060| 69 73 65 64 3a 20 41 6c | 20 44 75 6e 73 6d 75 69 |ised: Al| Dunsmui|
|00001070| 72 0d 0a 3b 20 20 43 68 | 61 6e 67 65 73 3a 09 2d |r..; Ch|anges:.-|
|00001080| 20 54 61 62 6c 65 20 6f | 72 67 61 6e 69 7a 61 74 | Table o|rganizat|
|00001090| 69 6f 6e 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 63 |ion comp|letely c|
|000010a0| 68 61 6e 67 65 64 2e 0d | 0a 3b 09 09 2d 20 45 78 |hanged..|.;..- Ex|
|000010b0| 74 65 6e 73 69 76 65 20 | 63 6f 64 65 20 6f 70 74 |tensive |code opt|
|000010c0| 69 6d 69 7a 61 74 69 6f | 6e 20 70 65 72 66 6f 72 |imizatio|n perfor|
|000010d0| 6d 65 64 2e 0d 0a 3b 09 | 09 09 0d 0a 3b 20 20 20 |med...;.|....; |
|000010e0| 50 72 65 76 69 6f 75 73 | 20 56 65 72 73 69 6f 6e |Previous| Version|
|000010f0| 3a 09 31 2e 30 20 28 31 | 36 20 4a 61 6e 20 38 34 |:.1.0 (1|6 Jan 84|
|00001100| 29 0d 0a 0d 0a 0d 0a 3b | 20 20 45 58 54 45 52 4e |)......;| EXTERN|
|00001110| 41 4c 20 44 45 43 4c 41 | 52 41 54 49 4f 4e 53 0d |AL DECLA|RATIONS.|
|00001120| 0a 3b 0d 0a 09 45 58 54 | 09 46 49 24 4f 50 45 4e |.;...EXT|.FI$OPEN|
|00001130| 0d 0a 09 45 58 54 09 46 | 4f 24 4f 50 45 4e 0d 0a |...EXT.F|O$OPEN..|
|00001140| 09 45 58 54 09 46 49 24 | 43 4c 4f 53 45 0d 0a 09 |.EXT.FI$|CLOSE...|
|00001150| 45 58 54 09 46 4f 24 43 | 4c 4f 53 45 0d 0a 09 45 |EXT.FO$C|LOSE...E|
|00001160| 58 54 09 46 24 47 45 54 | 0d 0a 09 45 58 54 09 46 |XT.F$GET|...EXT.F|
|00001170| 24 50 55 54 0d 0a 0d 0a | 3b 0d 0a 3b 20 20 4d 41 |$PUT....|;..; MA|
|00001180| 49 4e 20 52 4f 55 54 49 | 4e 45 53 20 46 4f 52 20 |IN ROUTI|NES FOR |
|00001190| 46 31 0d 0a 3b 0d 0a 46 | 49 31 24 4f 50 45 4e 3a |F1..;..F|I1$OPEN:|
|000011a0| 0d 0a 09 50 55 53 48 09 | 48 4c 09 09 3b 53 61 76 |...PUSH.|HL..;Sav|
|000011b0| 65 20 75 73 65 72 20 52 | 45 47 0d 0a 09 4c 44 09 |e user R|EG...LD.|
|000011c0| 48 4c 2c 46 49 31 24 54 | 42 4c 09 3b 47 65 74 20 |HL,FI1$T|BL.;Get |
|000011d0| 46 49 31 20 74 61 62 6c | 65 20 61 64 64 72 65 73 |FI1 tabl|e addres|
|000011e0| 73 2e 0d 0a 09 4a 50 09 | 46 49 24 4f 50 45 4e 09 |s....JP.|FI$OPEN.|
|000011f0| 09 3b 50 65 72 66 6f 72 | 6d 20 66 75 6e 63 74 69 |.;Perfor|m functi|
|00001200| 6f 6e 0d 0a 0d 0a 46 4f | 31 24 4f 50 45 4e 3a 0d |on....FO|1$OPEN:.|
|00001210| 0a 09 50 55 53 48 09 48 | 4c 09 09 3b 53 61 76 65 |..PUSH.H|L..;Save|
|00001220| 20 75 73 65 72 20 52 45 | 47 0d 0a 09 4c 44 09 48 | user RE|G...LD.H|
|00001230| 4c 2c 46 4f 31 24 54 42 | 4c 09 3b 47 65 74 20 46 |L,FO1$TB|L.;Get F|
|00001240| 4f 31 20 74 61 62 6c 65 | 20 61 64 64 72 65 73 73 |O1 table| address|
|00001250| 2e 0d 0a 09 4a 50 09 46 | 4f 24 4f 50 45 4e 09 09 |....JP.F|O$OPEN..|
|00001260| 3b 50 65 72 66 6f 72 6d | 20 66 75 6e 63 74 69 6f |;Perform| functio|
|00001270| 6e 0d 0a 0d 0a 46 31 24 | 47 45 54 3a 0d 0a 09 50 |n....F1$|GET:...P|
|00001280| 55 53 48 09 48 4c 09 09 | 3b 53 61 76 65 20 75 73 |USH.HL..|;Save us|
|00001290| 65 72 20 52 45 47 0d 0a | 09 4c 44 09 48 4c 2c 46 |er REG..|.LD.HL,F|
|000012a0| 49 31 24 54 42 4c 09 3b | 47 65 74 20 46 49 31 20 |I1$TBL.;|Get FI1 |
|000012b0| 74 61 62 6c 65 20 61 64 | 64 72 65 73 73 2e 0d 0a |table ad|dress...|
|000012c0| 09 4a 50 09 46 24 47 45 | 54 09 09 3b 50 65 72 66 |.JP.F$GE|T..;Perf|
|000012d0| 6f 72 6d 20 66 75 6e 63 | 74 69 6f 6e 0d 0a 0d 0a |orm func|tion....|
|000012e0| 46 31 24 50 55 54 3a 0d | 0a 09 50 55 53 48 09 48 |F1$PUT:.|..PUSH.H|
|000012f0| 4c 09 09 3b 53 61 76 65 | 20 75 73 65 72 20 52 45 |L..;Save| user RE|
|00001300| 47 0d 0a 09 4c 44 09 48 | 4c 2c 46 4f 31 24 54 42 |G...LD.H|L,FO1$TB|
|00001310| 4c 09 3b 47 65 74 20 46 | 4f 31 20 74 61 62 6c 65 |L.;Get F|O1 table|
|00001320| 20 61 64 64 72 65 73 73 | 2e 0d 0a 09 4a 50 09 46 | address|....JP.F|
|00001330| 24 50 55 54 09 09 3b 50 | 65 72 66 6f 72 6d 20 66 |$PUT..;P|erform f|
|00001340| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 49 31 24 43 |unction.|...FI1$C|
|00001350| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|00001360| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|00001370| 0a 09 4c 44 09 48 4c 2c | 46 49 31 24 54 42 4c 09 |..LD.HL,|FI1$TBL.|
|00001380| 3b 47 65 74 20 46 49 31 | 20 74 61 62 6c 65 20 61 |;Get FI1| table a|
|00001390| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 49 24 |ddress..|..JP.FI$|
|000013a0| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|000013b0| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 4f 31 24 43 |unction.|...FO1$C|
|000013c0| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|000013d0| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|000013e0| 0a 09 4c 44 09 48 4c 2c | 46 4f 31 24 54 42 4c 09 |..LD.HL,|FO1$TBL.|
|000013f0| 3b 47 65 74 20 46 4f 31 | 20 74 61 62 6c 65 20 61 |;Get FO1| table a|
|00001400| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 4f 24 |ddress..|..JP.FO$|
|00001410| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|00001420| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 3b 20 20 49 6e |unction.|...; In|
|00001430| 69 74 20 54 61 62 6c 65 | 20 61 6e 64 20 42 75 66 |it Table| and Buf|
|00001440| 66 65 72 73 20 66 6f 72 | 20 46 31 20 52 6f 75 74 |fers for| F1 Rout|
|00001450| 69 6e 65 73 0d 0a 3b 0d | 0a 46 49 31 24 54 42 4c |ines..;.|.FI1$TBL|
|00001460| 3a 0d 0a 49 31 24 46 4c | 47 3a 09 44 42 09 30 09 |:..I1$FL|G:.DB.0.|
|00001470| 09 3b 49 6e 70 75 74 20 | 66 69 6c 65 20 6f 70 65 |.;Input |file ope|
|00001480| 6e 65 64 20 66 6c 61 67 | 20 28 30 3d 4e 4f 29 0d |ned flag| (0=NO).|
|00001490| 0a 49 31 24 43 4e 54 3a | 09 44 53 09 31 09 09 3b |.I1$CNT:|.DS.1..;|
|000014a0| 49 6e 70 75 74 20 63 68 | 61 72 20 63 6f 75 6e 74 |Input ch|ar count|
|000014b0| 0d 0a 49 31 24 50 54 52 | 3a 09 44 53 09 32 09 09 |..I1$PTR|:.DS.2..|
|000014c0| 3b 49 6e 70 75 74 20 63 | 68 61 72 20 70 74 72 0d |;Input c|har ptr.|
|000014d0| 0a 49 31 24 46 43 42 3a | 09 44 53 09 33 36 09 09 |.I1$FCB:|.DS.36..|
|000014e0| 3b 49 6e 70 75 74 20 66 | 69 6c 65 20 46 43 42 0d |;Input f|ile FCB.|
|000014f0| 0a 49 31 24 42 55 46 3a | 09 44 53 09 31 32 38 09 |.I1$BUF:|.DS.128.|
|00001500| 09 3b 49 6e 70 75 74 20 | 42 75 66 66 65 72 0d 0a |.;Input |Buffer..|
|00001510| 0d 0a 46 4f 31 24 54 42 | 4c 3a 0d 0a 4f 31 24 46 |..FO1$TB|L:..O1$F|
|00001520| 4c 47 3a 09 44 42 09 30 | 09 09 3b 4f 75 74 70 75 |LG:.DB.0|..;Outpu|
|00001530| 74 20 66 69 6c 65 20 6f | 70 65 6e 65 64 20 66 6c |t file o|pened fl|
|00001540| 61 67 20 28 30 3d 4e 4f | 29 0d 0a 4f 31 24 43 4e |ag (0=NO|)..O1$CN|
|00001550| 54 3a 09 44 53 09 31 09 | 09 3b 4f 75 74 70 75 74 |T:.DS.1.|.;Output|
|00001560| 20 63 68 61 72 20 63 6f | 75 6e 74 0d 0a 4f 31 24 | char co|unt..O1$|
|00001570| 50 54 52 3a 09 44 53 09 | 32 09 09 3b 4f 75 74 70 |PTR:.DS.|2..;Outp|
|00001580| 75 74 20 63 68 61 72 20 | 70 74 72 0d 0a 4f 31 24 |ut char |ptr..O1$|
|00001590| 46 43 42 3a 09 44 53 09 | 33 36 09 09 3b 4f 75 74 |FCB:.DS.|36..;Out|
|000015a0| 70 75 74 20 66 69 6c 65 | 20 46 43 42 0d 0a 4f 31 |put file| FCB..O1|
|000015b0| 24 42 55 46 3a 09 44 53 | 09 31 32 38 09 09 3b 4f |$BUF:.DS|.128..;O|
|000015c0| 75 74 70 75 74 20 42 75 | 66 66 65 72 0d 0a 0d 0a |utput Bu|ffer....|
|000015d0| 09 45 4e 44 0d 0a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |.END....|........|
|000015e0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|000015f0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001600| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00001610| 6c 65 20 4e 61 6d 65 3a | 20 20 53 32 46 49 4c 45 |le Name:| S2FILE|
|00001620| 0d 0a 3b 20 41 75 74 68 | 6f 72 3a 20 20 52 69 63 |..; Auth|or: Ric|
|00001630| 68 61 72 64 20 43 6f 6e | 6e 0d 0a 3b 20 53 59 53 |hard Con|n..; SYS|
|00001640| 4c 49 42 20 56 65 72 73 | 69 6f 6e 20 4e 75 6d 62 |LIB Vers|ion Numb|
|00001650| 65 72 3a 20 20 33 2e 36 | 0d 0a 3b 20 4d 6f 64 75 |er: 3.6|..; Modu|
|00001660| 6c 65 20 56 65 72 73 69 | 6f 6e 20 4e 75 6d 62 65 |le Versi|on Numbe|
|00001670| 72 3a 20 20 31 2e 32 0d | 0a 0d 0a 09 70 75 62 6c |r: 1.2.|....publ|
|00001680| 69 63 09 66 69 32 24 6f | 70 65 6e 2c 66 32 24 67 |ic.fi2$o|pen,f2$g|
|00001690| 65 74 2c 66 69 32 24 63 | 6c 6f 73 65 0d 0a 09 70 |et,fi2$c|lose...p|
|000016a0| 75 62 6c 69 63 09 66 6f | 32 24 6f 70 65 6e 2c 66 |ublic.fo|2$open,f|
|000016b0| 32 24 70 75 74 2c 66 6f | 32 24 63 6c 6f 73 65 0d |2$put,fo|2$close.|
|000016c0| 0a 0d 0a 3b 20 20 44 61 | 74 65 3a 20 20 20 20 20 |...; Da|te: |
|000016d0| 32 20 4d 61 79 20 38 35 | 0d 0a 3b 20 20 52 65 76 |2 May 85|..; Rev|
|000016e0| 69 73 65 64 3a 20 41 6c | 20 44 75 6e 73 6d 75 69 |ised: Al| Dunsmui|
|000016f0| 72 0d 0a 3b 20 20 43 68 | 61 6e 67 65 73 3a 09 2d |r..; Ch|anges:.-|
|00001700| 20 54 61 62 6c 65 20 6f | 72 67 61 6e 69 7a 61 74 | Table o|rganizat|
|00001710| 69 6f 6e 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 63 |ion comp|letely c|
|00001720| 68 61 6e 67 65 64 2e 0d | 0a 3b 09 09 2d 20 45 78 |hanged..|.;..- Ex|
|00001730| 74 65 6e 73 69 76 65 20 | 63 6f 64 65 20 6f 70 74 |tensive |code opt|
|00001740| 69 6d 69 7a 61 74 69 6f | 6e 20 70 65 72 66 6f 72 |imizatio|n perfor|
|00001750| 6d 65 64 2e 0d 0a 3b 09 | 09 09 0d 0a 3b 20 20 20 |med...;.|....; |
|00001760| 50 72 65 76 69 6f 75 73 | 20 56 65 72 73 69 6f 6e |Previous| Version|
|00001770| 3a 09 31 2e 30 20 28 31 | 36 20 4a 61 6e 20 38 34 |:.1.0 (1|6 Jan 84|
|00001780| 29 0d 0a 0d 0a 0d 0a 3b | 20 20 45 58 54 45 52 4e |)......;| EXTERN|
|00001790| 41 4c 20 44 45 43 4c 41 | 52 41 54 49 4f 4e 53 0d |AL DECLA|RATIONS.|
|000017a0| 0a 3b 0d 0a 09 45 58 54 | 09 46 49 24 4f 50 45 4e |.;...EXT|.FI$OPEN|
|000017b0| 0d 0a 09 45 58 54 09 46 | 4f 24 4f 50 45 4e 0d 0a |...EXT.F|O$OPEN..|
|000017c0| 09 45 58 54 09 46 49 24 | 43 4c 4f 53 45 0d 0a 09 |.EXT.FI$|CLOSE...|
|000017d0| 45 58 54 09 46 4f 24 43 | 4c 4f 53 45 0d 0a 09 45 |EXT.FO$C|LOSE...E|
|000017e0| 58 54 09 46 24 47 45 54 | 0d 0a 09 45 58 54 09 46 |XT.F$GET|...EXT.F|
|000017f0| 24 50 55 54 0d 0a 0d 0a | 3b 0d 0a 3b 20 20 4d 41 |$PUT....|;..; MA|
|00001800| 49 4e 20 52 4f 55 54 49 | 4e 45 53 20 46 4f 52 20 |IN ROUTI|NES FOR |
|00001810| 46 32 0d 0a 3b 0d 0a 46 | 49 32 24 4f 50 45 4e 3a |F2..;..F|I2$OPEN:|
|00001820| 0d 0a 09 50 55 53 48 09 | 48 4c 09 09 3b 53 61 76 |...PUSH.|HL..;Sav|
|00001830| 65 20 75 73 65 72 20 52 | 45 47 0d 0a 09 4c 44 09 |e user R|EG...LD.|
|00001840| 48 4c 2c 46 49 32 24 54 | 42 4c 09 3b 47 65 74 20 |HL,FI2$T|BL.;Get |
|00001850| 46 49 32 20 74 61 62 6c | 65 20 61 64 64 72 65 73 |FI2 tabl|e addres|
|00001860| 73 2e 0d 0a 09 4a 50 09 | 46 49 24 4f 50 45 4e 09 |s....JP.|FI$OPEN.|
|00001870| 09 3b 50 65 72 66 6f 72 | 6d 20 66 75 6e 63 74 69 |.;Perfor|m functi|
|00001880| 6f 6e 0d 0a 0d 0a 46 4f | 32 24 4f 50 45 4e 3a 0d |on....FO|2$OPEN:.|
|00001890| 0a 09 50 55 53 48 09 48 | 4c 09 09 3b 53 61 76 65 |..PUSH.H|L..;Save|
|000018a0| 20 75 73 65 72 20 52 45 | 47 0d 0a 09 4c 44 09 48 | user RE|G...LD.H|
|000018b0| 4c 2c 46 4f 32 24 54 42 | 4c 09 3b 47 65 74 20 46 |L,FO2$TB|L.;Get F|
|000018c0| 4f 32 20 74 61 62 6c 65 | 20 61 64 64 72 65 73 73 |O2 table| address|
|000018d0| 2e 0d 0a 09 4a 50 09 46 | 4f 24 4f 50 45 4e 09 09 |....JP.F|O$OPEN..|
|000018e0| 3b 50 65 72 66 6f 72 6d | 20 66 75 6e 63 74 69 6f |;Perform| functio|
|000018f0| 6e 0d 0a 0d 0a 46 32 24 | 47 45 54 3a 0d 0a 09 50 |n....F2$|GET:...P|
|00001900| 55 53 48 09 48 4c 09 09 | 3b 53 61 76 65 20 75 73 |USH.HL..|;Save us|
|00001910| 65 72 20 52 45 47 0d 0a | 09 4c 44 09 48 4c 2c 46 |er REG..|.LD.HL,F|
|00001920| 49 32 24 54 42 4c 09 3b | 47 65 74 20 46 49 32 20 |I2$TBL.;|Get FI2 |
|00001930| 74 61 62 6c 65 20 61 64 | 64 72 65 73 73 2e 0d 0a |table ad|dress...|
|00001940| 09 4a 50 09 46 24 47 45 | 54 09 09 3b 50 65 72 66 |.JP.F$GE|T..;Perf|
|00001950| 6f 72 6d 20 66 75 6e 63 | 74 69 6f 6e 0d 0a 0d 0a |orm func|tion....|
|00001960| 46 32 24 50 55 54 3a 0d | 0a 09 50 55 53 48 09 48 |F2$PUT:.|..PUSH.H|
|00001970| 4c 09 09 3b 53 61 76 65 | 20 75 73 65 72 20 52 45 |L..;Save| user RE|
|00001980| 47 0d 0a 09 4c 44 09 48 | 4c 2c 46 4f 32 24 54 42 |G...LD.H|L,FO2$TB|
|00001990| 4c 09 3b 47 65 74 20 46 | 4f 32 20 74 61 62 6c 65 |L.;Get F|O2 table|
|000019a0| 20 61 64 64 72 65 73 73 | 2e 0d 0a 09 4a 50 09 46 | address|....JP.F|
|000019b0| 24 50 55 54 09 09 3b 50 | 65 72 66 6f 72 6d 20 66 |$PUT..;P|erform f|
|000019c0| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 49 32 24 43 |unction.|...FI2$C|
|000019d0| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|000019e0| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|000019f0| 0a 09 4c 44 09 48 4c 2c | 46 49 32 24 54 42 4c 09 |..LD.HL,|FI2$TBL.|
|00001a00| 3b 47 65 74 20 46 49 32 | 20 74 61 62 6c 65 20 61 |;Get FI2| table a|
|00001a10| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 49 24 |ddress..|..JP.FI$|
|00001a20| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|00001a30| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 4f 32 24 43 |unction.|...FO2$C|
|00001a40| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|00001a50| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|00001a60| 0a 09 4c 44 09 48 4c 2c | 46 4f 32 24 54 42 4c 09 |..LD.HL,|FO2$TBL.|
|00001a70| 3b 47 65 74 20 46 4f 32 | 20 74 61 62 6c 65 20 61 |;Get FO2| table a|
|00001a80| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 4f 24 |ddress..|..JP.FO$|
|00001a90| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|00001aa0| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 3b 20 20 49 6e |unction.|...; In|
|00001ab0| 69 74 20 54 61 62 6c 65 | 20 61 6e 64 20 42 75 66 |it Table| and Buf|
|00001ac0| 66 65 72 73 20 66 6f 72 | 20 46 32 20 52 6f 75 74 |fers for| F2 Rout|
|00001ad0| 69 6e 65 73 0d 0a 3b 0d | 0a 46 49 32 24 54 42 4c |ines..;.|.FI2$TBL|
|00001ae0| 3a 0d 0a 49 32 24 46 4c | 47 3a 09 44 42 09 30 09 |:..I2$FL|G:.DB.0.|
|00001af0| 09 3b 49 6e 70 75 74 20 | 66 69 6c 65 20 6f 70 65 |.;Input |file ope|
|00001b00| 6e 65 64 20 66 6c 61 67 | 20 28 30 3d 4e 4f 29 0d |ned flag| (0=NO).|
|00001b10| 0a 49 32 24 43 4e 54 3a | 09 44 53 09 31 09 09 3b |.I2$CNT:|.DS.1..;|
|00001b20| 49 6e 70 75 74 20 63 68 | 61 72 20 63 6f 75 6e 74 |Input ch|ar count|
|00001b30| 0d 0a 49 32 24 50 54 52 | 3a 09 44 53 09 32 09 09 |..I2$PTR|:.DS.2..|
|00001b40| 3b 49 6e 70 75 74 20 63 | 68 61 72 20 70 74 72 0d |;Input c|har ptr.|
|00001b50| 0a 49 32 24 46 43 42 3a | 09 44 53 09 33 36 09 09 |.I2$FCB:|.DS.36..|
|00001b60| 3b 49 6e 70 75 74 20 66 | 69 6c 65 20 46 43 42 0d |;Input f|ile FCB.|
|00001b70| 0a 49 32 24 42 55 46 3a | 09 44 53 09 31 32 38 09 |.I2$BUF:|.DS.128.|
|00001b80| 09 3b 49 6e 70 75 74 20 | 42 75 66 66 65 72 0d 0a |.;Input |Buffer..|
|00001b90| 0d 0a 46 4f 32 24 54 42 | 4c 3a 0d 0a 4f 32 24 46 |..FO2$TB|L:..O2$F|
|00001ba0| 4c 47 3a 09 44 42 09 30 | 09 09 3b 4f 75 74 70 75 |LG:.DB.0|..;Outpu|
|00001bb0| 74 20 66 69 6c 65 20 6f | 70 65 6e 65 64 20 66 6c |t file o|pened fl|
|00001bc0| 61 67 20 28 30 3d 4e 4f | 29 0d 0a 4f 32 24 43 4e |ag (0=NO|)..O2$CN|
|00001bd0| 54 3a 09 44 53 09 31 09 | 09 3b 4f 75 74 70 75 74 |T:.DS.1.|.;Output|
|00001be0| 20 63 68 61 72 20 63 6f | 75 6e 74 0d 0a 4f 32 24 | char co|unt..O2$|
|00001bf0| 50 54 52 3a 09 44 53 09 | 32 09 09 3b 4f 75 74 70 |PTR:.DS.|2..;Outp|
|00001c00| 75 74 20 63 68 61 72 20 | 70 74 72 0d 0a 4f 32 24 |ut char |ptr..O2$|
|00001c10| 46 43 42 3a 09 44 53 09 | 33 36 09 09 3b 4f 75 74 |FCB:.DS.|36..;Out|
|00001c20| 70 75 74 20 66 69 6c 65 | 20 46 43 42 0d 0a 4f 32 |put file| FCB..O2|
|00001c30| 24 42 55 46 3a 09 44 53 | 09 31 32 38 09 09 3b 4f |$BUF:.DS|.128..;O|
|00001c40| 75 74 70 75 74 20 42 75 | 66 66 65 72 0d 0a 0d 0a |utput Bu|ffer....|
|00001c50| 09 45 4e 44 0d 0a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |.END....|........|
|00001c60| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001c70| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001c80| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00001c90| 6c 65 20 4e 61 6d 65 3a | 20 20 53 33 46 49 4c 45 |le Name:| S3FILE|
|00001ca0| 0d 0a 3b 20 41 75 74 68 | 6f 72 3a 20 20 52 69 63 |..; Auth|or: Ric|
|00001cb0| 68 61 72 64 20 43 6f 6e | 6e 0d 0a 3b 20 53 59 53 |hard Con|n..; SYS|
|00001cc0| 4c 49 42 20 56 65 72 73 | 69 6f 6e 20 4e 75 6d 62 |LIB Vers|ion Numb|
|00001cd0| 65 72 3a 20 20 33 2e 36 | 0d 0a 3b 20 4d 6f 64 75 |er: 3.6|..; Modu|
|00001ce0| 6c 65 20 56 65 72 73 69 | 6f 6e 20 4e 75 6d 62 65 |le Versi|on Numbe|
|00001cf0| 72 3a 20 20 31 2e 32 0d | 0a 0d 0a 09 70 75 62 6c |r: 1.2.|....publ|
|00001d00| 69 63 09 66 69 33 24 6f | 70 65 6e 2c 66 33 24 67 |ic.fi3$o|pen,f3$g|
|00001d10| 65 74 2c 66 69 33 24 63 | 6c 6f 73 65 0d 0a 09 70 |et,fi3$c|lose...p|
|00001d20| 75 62 6c 69 63 09 66 6f | 33 24 6f 70 65 6e 2c 66 |ublic.fo|3$open,f|
|00001d30| 33 24 70 75 74 2c 66 6f | 33 24 63 6c 6f 73 65 0d |3$put,fo|3$close.|
|00001d40| 0a 0d 0a 3b 20 20 44 61 | 74 65 3a 20 20 20 20 20 |...; Da|te: |
|00001d50| 32 20 4d 61 79 20 38 35 | 0d 0a 3b 20 20 52 65 76 |2 May 85|..; Rev|
|00001d60| 69 73 65 64 3a 20 41 6c | 20 44 75 6e 73 6d 75 69 |ised: Al| Dunsmui|
|00001d70| 72 0d 0a 3b 20 20 43 68 | 61 6e 67 65 73 3a 09 2d |r..; Ch|anges:.-|
|00001d80| 20 54 61 62 6c 65 20 6f | 72 67 61 6e 69 7a 61 74 | Table o|rganizat|
|00001d90| 69 6f 6e 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 63 |ion comp|letely c|
|00001da0| 68 61 6e 67 65 64 2e 0d | 0a 3b 09 09 2d 20 45 78 |hanged..|.;..- Ex|
|00001db0| 74 65 6e 73 69 76 65 20 | 63 6f 64 65 20 6f 70 74 |tensive |code opt|
|00001dc0| 69 6d 69 7a 61 74 69 6f | 6e 20 70 65 72 66 6f 72 |imizatio|n perfor|
|00001dd0| 6d 65 64 2e 0d 0a 3b 09 | 09 09 0d 0a 3b 20 20 20 |med...;.|....; |
|00001de0| 50 72 65 76 69 6f 75 73 | 20 56 65 72 73 69 6f 6e |Previous| Version|
|00001df0| 3a 09 31 2e 30 20 28 31 | 36 20 4a 61 6e 20 38 34 |:.1.0 (1|6 Jan 84|
|00001e00| 29 0d 0a 0d 0a 0d 0a 3b | 20 20 45 58 54 45 52 4e |)......;| EXTERN|
|00001e10| 41 4c 20 44 45 43 4c 41 | 52 41 54 49 4f 4e 53 0d |AL DECLA|RATIONS.|
|00001e20| 0a 3b 0d 0a 09 45 58 54 | 09 46 49 24 4f 50 45 4e |.;...EXT|.FI$OPEN|
|00001e30| 0d 0a 09 45 58 54 09 46 | 4f 24 4f 50 45 4e 0d 0a |...EXT.F|O$OPEN..|
|00001e40| 09 45 58 54 09 46 49 24 | 43 4c 4f 53 45 0d 0a 09 |.EXT.FI$|CLOSE...|
|00001e50| 45 58 54 09 46 4f 24 43 | 4c 4f 53 45 0d 0a 09 45 |EXT.FO$C|LOSE...E|
|00001e60| 58 54 09 46 24 47 45 54 | 0d 0a 09 45 58 54 09 46 |XT.F$GET|...EXT.F|
|00001e70| 24 50 55 54 0d 0a 0d 0a | 3b 0d 0a 3b 20 20 4d 41 |$PUT....|;..; MA|
|00001e80| 49 4e 20 52 4f 55 54 49 | 4e 45 53 20 46 4f 52 20 |IN ROUTI|NES FOR |
|00001e90| 46 33 0d 0a 3b 0d 0a 46 | 49 33 24 4f 50 45 4e 3a |F3..;..F|I3$OPEN:|
|00001ea0| 0d 0a 09 50 55 53 48 09 | 48 4c 09 09 3b 53 61 76 |...PUSH.|HL..;Sav|
|00001eb0| 65 20 75 73 65 72 20 52 | 45 47 0d 0a 09 4c 44 09 |e user R|EG...LD.|
|00001ec0| 48 4c 2c 46 49 33 24 54 | 42 4c 09 3b 47 65 74 20 |HL,FI3$T|BL.;Get |
|00001ed0| 46 49 33 20 74 61 62 6c | 65 20 61 64 64 72 65 73 |FI3 tabl|e addres|
|00001ee0| 73 2e 0d 0a 09 4a 50 09 | 46 49 24 4f 50 45 4e 09 |s....JP.|FI$OPEN.|
|00001ef0| 09 3b 50 65 72 66 6f 72 | 6d 20 66 75 6e 63 74 69 |.;Perfor|m functi|
|00001f00| 6f 6e 0d 0a 0d 0a 46 4f | 33 24 4f 50 45 4e 3a 0d |on....FO|3$OPEN:.|
|00001f10| 0a 09 50 55 53 48 09 48 | 4c 09 09 3b 53 61 76 65 |..PUSH.H|L..;Save|
|00001f20| 20 75 73 65 72 20 52 45 | 47 0d 0a 09 4c 44 09 48 | user RE|G...LD.H|
|00001f30| 4c 2c 46 4f 33 24 54 42 | 4c 09 3b 47 65 74 20 46 |L,FO3$TB|L.;Get F|
|00001f40| 4f 33 20 74 61 62 6c 65 | 20 61 64 64 72 65 73 73 |O3 table| address|
|00001f50| 2e 0d 0a 09 4a 50 09 46 | 4f 24 4f 50 45 4e 09 09 |....JP.F|O$OPEN..|
|00001f60| 3b 50 65 72 66 6f 72 6d | 20 66 75 6e 63 74 69 6f |;Perform| functio|
|00001f70| 6e 0d 0a 0d 0a 46 33 24 | 47 45 54 3a 0d 0a 09 50 |n....F3$|GET:...P|
|00001f80| 55 53 48 09 48 4c 09 09 | 3b 53 61 76 65 20 75 73 |USH.HL..|;Save us|
|00001f90| 65 72 20 52 45 47 0d 0a | 09 4c 44 09 48 4c 2c 46 |er REG..|.LD.HL,F|
|00001fa0| 49 33 24 54 42 4c 09 3b | 47 65 74 20 46 49 33 20 |I3$TBL.;|Get FI3 |
|00001fb0| 74 61 62 6c 65 20 61 64 | 64 72 65 73 73 2e 0d 0a |table ad|dress...|
|00001fc0| 09 4a 50 09 46 24 47 45 | 54 09 09 3b 50 65 72 66 |.JP.F$GE|T..;Perf|
|00001fd0| 6f 72 6d 20 66 75 6e 63 | 74 69 6f 6e 0d 0a 0d 0a |orm func|tion....|
|00001fe0| 46 33 24 50 55 54 3a 0d | 0a 09 50 55 53 48 09 48 |F3$PUT:.|..PUSH.H|
|00001ff0| 4c 09 09 3b 53 61 76 65 | 20 75 73 65 72 20 52 45 |L..;Save| user RE|
|00002000| 47 0d 0a 09 4c 44 09 48 | 4c 2c 46 4f 33 24 54 42 |G...LD.H|L,FO3$TB|
|00002010| 4c 09 3b 47 65 74 20 46 | 4f 33 20 74 61 62 6c 65 |L.;Get F|O3 table|
|00002020| 20 61 64 64 72 65 73 73 | 2e 0d 0a 09 4a 50 09 46 | address|....JP.F|
|00002030| 24 50 55 54 09 09 3b 50 | 65 72 66 6f 72 6d 20 66 |$PUT..;P|erform f|
|00002040| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 49 33 24 43 |unction.|...FI3$C|
|00002050| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|00002060| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|00002070| 0a 09 4c 44 09 48 4c 2c | 46 49 33 24 54 42 4c 09 |..LD.HL,|FI3$TBL.|
|00002080| 3b 47 65 74 20 46 49 33 | 20 74 61 62 6c 65 20 61 |;Get FI3| table a|
|00002090| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 49 24 |ddress..|..JP.FI$|
|000020a0| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|000020b0| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 46 4f 33 24 43 |unction.|...FO3$C|
|000020c0| 4c 4f 53 45 3a 0d 0a 09 | 50 55 53 48 09 48 4c 09 |LOSE:...|PUSH.HL.|
|000020d0| 09 3b 53 61 76 65 20 75 | 73 65 72 20 52 45 47 0d |.;Save u|ser REG.|
|000020e0| 0a 09 4c 44 09 48 4c 2c | 46 4f 33 24 54 42 4c 09 |..LD.HL,|FO3$TBL.|
|000020f0| 3b 47 65 74 20 46 4f 33 | 20 74 61 62 6c 65 20 61 |;Get FO3| table a|
|00002100| 64 64 72 65 73 73 2e 0d | 0a 09 4a 50 09 46 4f 24 |ddress..|..JP.FO$|
|00002110| 43 4c 4f 53 45 09 3b 50 | 65 72 66 6f 72 6d 20 66 |CLOSE.;P|erform f|
|00002120| 75 6e 63 74 69 6f 6e 0d | 0a 0d 0a 3b 20 20 49 6e |unction.|...; In|
|00002130| 69 74 20 54 61 62 6c 65 | 20 61 6e 64 20 42 75 66 |it Table| and Buf|
|00002140| 66 65 72 73 20 66 6f 72 | 20 46 33 20 52 6f 75 74 |fers for| F3 Rout|
|00002150| 69 6e 65 73 0d 0a 3b 0d | 0a 46 49 33 24 54 42 4c |ines..;.|.FI3$TBL|
|00002160| 3a 0d 0a 49 33 24 46 4c | 47 3a 09 44 42 09 30 09 |:..I3$FL|G:.DB.0.|
|00002170| 09 3b 49 6e 70 75 74 20 | 66 69 6c 65 20 6f 70 65 |.;Input |file ope|
|00002180| 6e 65 64 20 66 6c 61 67 | 20 28 30 3d 4e 4f 29 0d |ned flag| (0=NO).|
|00002190| 0a 49 33 24 43 4e 54 3a | 09 44 53 09 31 09 09 3b |.I3$CNT:|.DS.1..;|
|000021a0| 49 6e 70 75 74 20 63 68 | 61 72 20 63 6f 75 6e 74 |Input ch|ar count|
|000021b0| 0d 0a 49 33 24 50 54 52 | 3a 09 44 53 09 32 09 09 |..I3$PTR|:.DS.2..|
|000021c0| 3b 49 6e 70 75 74 20 63 | 68 61 72 20 70 74 72 0d |;Input c|har ptr.|
|000021d0| 0a 49 33 24 46 43 42 3a | 09 44 53 09 33 36 09 09 |.I3$FCB:|.DS.36..|
|000021e0| 3b 49 6e 70 75 74 20 66 | 69 6c 65 20 46 43 42 0d |;Input f|ile FCB.|
|000021f0| 0a 49 33 24 42 55 46 3a | 09 44 53 09 31 32 38 09 |.I3$BUF:|.DS.128.|
|00002200| 09 3b 49 6e 70 75 74 20 | 42 75 66 66 65 72 0d 0a |.;Input |Buffer..|
|00002210| 0d 0a 46 4f 33 24 54 42 | 4c 3a 0d 0a 4f 33 24 46 |..FO3$TB|L:..O3$F|
|00002220| 4c 47 3a 09 44 42 09 30 | 09 09 3b 4f 75 74 70 75 |LG:.DB.0|..;Outpu|
|00002230| 74 20 66 69 6c 65 20 6f | 70 65 6e 65 64 20 66 6c |t file o|pened fl|
|00002240| 61 67 20 28 30 3d 4e 4f | 29 0d 0a 4f 33 24 43 4e |ag (0=NO|)..O3$CN|
|00002250| 54 3a 09 44 53 09 31 09 | 09 3b 4f 75 74 70 75 74 |T:.DS.1.|.;Output|
|00002260| 20 63 68 61 72 20 63 6f | 75 6e 74 0d 0a 4f 33 24 | char co|unt..O3$|
|00002270| 50 54 52 3a 09 44 53 09 | 32 09 09 3b 4f 75 74 70 |PTR:.DS.|2..;Outp|
|00002280| 75 74 20 63 68 61 72 20 | 70 74 72 0d 0a 4f 33 24 |ut char |ptr..O3$|
|00002290| 46 43 42 3a 09 44 53 09 | 33 36 09 09 3b 4f 75 74 |FCB:.DS.|36..;Out|
|000022a0| 70 75 74 20 66 69 6c 65 | 20 46 43 42 0d 0a 4f 33 |put file| FCB..O3|
|000022b0| 24 42 55 46 3a 09 44 53 | 09 31 32 38 09 09 3b 4f |$BUF:.DS|.128..;O|
|000022c0| 75 74 70 75 74 20 42 75 | 66 66 65 72 0d 0a 0d 0a |utput Bu|ffer....|
|000022d0| 09 45 4e 44 0d 0a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |.END....|........|
|000022e0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|000022f0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002300| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00002310| 6c 65 20 4e 61 6d 65 3a | 20 41 43 41 53 45 31 0d |le Name:| ACASE1.|
|00002320| 0a 3b 20 41 75 74 68 6f | 72 3a 20 52 69 63 68 61 |.; Autho|r: Richa|
|00002330| 72 64 20 43 6f 6e 6e 0d | 0a 3b 20 53 59 53 4c 49 |rd Conn.|.; SYSLI|
|00002340| 42 20 56 65 72 73 69 6f | 6e 20 4e 75 6d 62 65 72 |B Versio|n Number|
|00002350| 3a 20 33 2e 36 0d 0a 3b | 20 4d 6f 64 75 6c 65 20 |: 3.6..;| Module |
|00002360| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|00002370| 31 2e 31 0d 0a 0d 0a 09 | 70 75 62 6c 69 63 09 61 |1.1.....|public.a|
|00002380| 63 61 73 65 31 0d 0a 0d | 0a 3b 0d 0a 3b 20 41 43 |case1...|.;..; AC|
|00002390| 41 53 45 31 20 69 73 20 | 61 20 61 63 61 73 65 31 |ASE1 is |a acase1|
|000023a0| 20 73 74 61 74 65 6d 65 | 6e 74 20 70 72 6f 63 65 | stateme|nt proce|
|000023b0| 73 73 6f 72 2e 20 20 4f | 6e 20 69 6e 70 75 74 2c |ssor. O|n input,|
|000023c0| 20 72 65 67 69 73 74 65 | 72 20 41 20 63 6f 6e 74 | registe|r A cont|
|000023d0| 61 69 6e 73 20 61 0d 0a | 3b 20 76 61 6c 75 65 20 |ains a..|; value |
|000023e0| 74 6f 20 74 65 73 74 20 | 61 67 61 69 6e 73 74 3a |to test |against:|
|000023f0| 0d 0a 3b 0d 0a 3b 09 4d | 56 49 09 41 2c 54 45 53 |..;..;.M|VI.A,TES|
|00002400| 54 09 3b 20 74 65 73 74 | 20 76 61 6c 75 65 0d 0a |T.; test| value..|
|00002410| 3b 09 43 41 4c 4c 09 41 | 43 41 53 45 31 0d 0a 3b |;.CALL.A|CASE1..;|
|00002420| 09 44 42 09 4e 55 4d 24 | 45 4e 54 09 3b 20 6e 75 |.DB.NUM$|ENT.; nu|
|00002430| 6d 62 65 72 20 6f 66 20 | 65 6e 74 72 69 65 73 20 |mber of |entries |
|00002440| 69 6e 20 43 41 53 45 20 | 74 61 62 6c 65 0d 0a 3b |in CASE |table..;|
|00002450| 09 44 57 09 44 45 46 41 | 55 4c 54 09 3b 20 61 64 |.DW.DEFA|ULT.; ad|
|00002460| 64 72 65 73 73 20 74 6f | 20 67 6f 74 6f 20 69 66 |dress to| goto if|
|00002470| 20 6e 6f 20 6d 61 74 63 | 68 20 69 6e 20 61 63 61 | no matc|h in aca|
|00002480| 73 65 31 0d 0a 3b 09 44 | 42 09 56 41 4c 31 09 3b |se1..;.D|B.VAL1.;|
|00002490| 20 65 6e 74 72 79 20 76 | 61 6c 75 65 20 31 20 74 | entry v|alue 1 t|
|000024a0| 6f 20 74 65 73 74 20 66 | 6f 72 0d 0a 3b 09 44 57 |o test f|or..;.DW|
|000024b0| 09 41 44 44 52 31 09 3b | 20 61 64 64 72 65 73 73 |.ADDR1.;| address|
|000024c0| 20 74 6f 20 67 6f 74 6f | 20 69 66 20 65 6e 74 72 | to goto| if entr|
|000024d0| 79 20 31 20 6d 61 74 63 | 68 65 73 0d 0a 3b 09 44 |y 1 matc|hes..;.D|
|000024e0| 42 09 56 41 4c 32 09 3b | 20 65 6e 74 72 79 20 76 |B.VAL2.;| entry v|
|000024f0| 61 6c 75 65 20 32 20 74 | 6f 20 74 65 73 74 20 66 |alue 2 t|o test f|
|00002500| 6f 72 0d 0a 3b 09 44 57 | 09 41 44 44 52 32 09 3b |or..;.DW|.ADDR2.;|
|00002510| 20 61 64 64 72 65 73 73 | 20 74 6f 20 67 6f 74 6f | address| to goto|
|00002520| 20 69 66 20 65 6e 74 72 | 79 20 32 20 6d 61 74 63 | if entr|y 2 matc|
|00002530| 68 65 73 0d 0a 3b 09 2e | 2e 2e 0d 0a 3b 09 44 42 |hes..;..|....;.DB|
|00002540| 09 56 41 4c 4e 09 3b 20 | 65 6e 74 72 79 20 76 61 |.VALN.; |entry va|
|00002550| 6c 75 65 20 4e 20 74 6f | 20 74 65 73 74 20 66 6f |lue N to| test fo|
|00002560| 72 20 28 4e 20 3d 20 4e | 55 4d 24 45 4e 54 29 0d |r (N = N|UM$ENT).|
|00002570| 0a 3b 09 44 57 09 41 44 | 44 52 4e 09 3b 20 61 64 |.;.DW.AD|DRN.; ad|
|00002580| 64 72 65 73 73 20 74 6f | 20 67 6f 74 6f 20 69 66 |dress to| goto if|
|00002590| 20 65 6e 74 72 79 20 4e | 20 6d 61 74 63 68 65 73 | entry N| matches|
|000025a0| 0d 0a 3b 0d 0a 3b 20 4e | 55 4d 24 45 4e 54 20 69 |..;..; N|UM$ENT i|
|000025b0| 73 20 74 68 65 20 6e 75 | 6d 62 65 72 20 6f 66 20 |s the nu|mber of |
|000025c0| 76 61 6c 75 65 73 20 28 | 56 41 4c 31 20 2e 2e 20 |values (|VAL1 .. |
|000025d0| 56 41 4c 4e 29 20 69 6e | 20 74 68 65 20 63 61 73 |VALN) in| the cas|
|000025e0| 65 20 74 61 62 6c 65 0d | 0a 3b 0d 0a 61 63 61 73 |e table.|.;..acas|
|000025f0| 65 31 3a 0d 0a 09 65 78 | 09 28 73 70 29 2c 68 6c |e1:...ex|.(sp),hl|
|00002600| 09 09 3b 20 72 65 74 75 | 72 6e 20 61 64 64 72 65 |..; retu|rn addre|
|00002610| 73 73 20 69 6e 20 48 4c | 0d 0a 09 70 75 73 68 09 |ss in HL|...push.|
|00002620| 61 66 09 3b 20 73 61 76 | 65 20 72 65 67 73 0d 0a |af.; sav|e regs..|
|00002630| 09 70 75 73 68 09 62 63 | 0d 0a 09 6c 64 09 62 2c |.push.bc|...ld.b,|
|00002640| 28 68 6c 29 09 3b 20 6e | 75 6d 62 65 72 20 6f 66 |(hl).; n|umber of|
|00002650| 20 65 6e 74 72 69 65 73 | 0d 0a 09 69 6e 63 09 68 | entries|...inc.h|
|00002660| 6c 09 3b 20 70 74 20 74 | 6f 20 64 65 66 61 75 6c |l.; pt t|o defaul|
|00002670| 74 0d 0a 09 6c 64 09 28 | 64 65 66 61 75 6c 74 29 |t...ld.(|default)|
|00002680| 2c 68 6c 09 3b 20 73 61 | 76 65 20 69 74 0d 0a 09 |,hl.; sa|ve it...|
|00002690| 69 6e 63 09 68 6c 09 3b | 20 70 74 20 74 6f 20 66 |inc.hl.;| pt to f|
|000026a0| 69 72 73 74 20 65 6e 74 | 72 79 0d 0a 09 69 6e 63 |irst ent|ry...inc|
|000026b0| 09 68 6c 0d 0a 3b 0d 0a | 3b 20 4c 6f 6f 70 20 74 |.hl..;..|; Loop t|
|000026c0| 68 72 6f 75 67 68 20 63 | 61 73 65 20 74 61 62 6c |hrough c|ase tabl|
|000026d0| 65 20 65 6e 74 72 69 65 | 73 2c 20 6c 6f 6f 6b 69 |e entrie|s, looki|
|000026e0| 6e 67 20 66 6f 72 20 61 | 20 6d 61 74 63 68 0d 0a |ng for a| match..|
|000026f0| 3b 0d 0a 6c 6f 6f 70 3a | 0d 0a 09 63 70 09 28 68 |;..loop:|...cp.(h|
|00002700| 6c 29 09 3b 20 63 6f 6d | 70 61 72 65 0d 0a 09 6a |l).; com|pare...j|
|00002710| 70 09 7a 2c 6d 61 74 63 | 68 0d 0a 09 69 6e 63 09 |p.z,matc|h...inc.|
|00002720| 68 6c 09 3b 20 70 74 20 | 74 6f 20 6e 65 78 74 0d |hl.; pt |to next.|
|00002730| 0a 09 69 6e 63 09 68 6c | 0d 0a 09 69 6e 63 09 68 |..inc.hl|...inc.h|
|00002740| 6c 0d 0a 09 64 65 63 09 | 62 09 3b 20 63 6f 75 6e |l...dec.|b.; coun|
|00002750| 74 20 64 6f 77 6e 0d 0a | 09 6a 70 09 6e 7a 2c 6c |t down..|.jp.nz,l|
|00002760| 6f 6f 70 0d 0a 3b 0d 0a | 3b 20 4e 6f 20 6d 61 74 |oop..;..|; No mat|
|00002770| 63 68 20 66 6f 75 6e 64 | 20 2d 20 75 73 65 20 64 |ch found| - use d|
|00002780| 65 66 61 75 6c 74 0d 0a | 3b 0d 0a 09 6c 64 09 68 |efault..|;...ld.h|
|00002790| 6c 2c 28 64 65 66 61 75 | 6c 74 29 09 3b 20 67 65 |l,(defau|lt).; ge|
|000027a0| 74 20 64 65 66 61 75 6c | 74 0d 0a 09 6a 70 09 67 |t defaul|t...jp.g|
|000027b0| 6f 74 6f 0d 0a 3b 0d 0a | 3b 20 4d 61 74 63 68 20 |oto..;..|; Match |
|000027c0| 2d 20 75 73 65 20 48 4c | 2b 31 0d 0a 3b 0d 0a 6d |- use HL|+1..;..m|
|000027d0| 61 74 63 68 3a 0d 0a 09 | 69 6e 63 09 68 6c 09 3b |atch:...|inc.hl.;|
|000027e0| 20 70 6f 69 6e 74 20 74 | 6f 20 61 64 64 72 65 73 | point t|o addres|
|000027f0| 73 0d 0a 3b 0d 0a 3b 20 | 47 65 74 20 61 64 64 72 |s..;..; |Get addr|
|00002800| 65 73 73 20 69 6e 20 48 | 4c 20 61 6e 64 20 72 65 |ess in H|L and re|
|00002810| 74 75 72 6e 0d 0a 3b 0d | 0a 67 6f 74 6f 3a 0d 0a |turn..;.|.goto:..|
|00002820| 09 6c 64 09 61 2c 28 68 | 6c 29 09 3b 20 67 65 74 |.ld.a,(h|l).; get|
|00002830| 20 6c 6f 77 0d 0a 09 69 | 6e 63 09 68 6c 0d 0a 09 | low...i|nc.hl...|
|00002840| 6c 64 09 68 2c 28 68 6c | 29 09 3b 20 67 65 74 20 |ld.h,(hl|).; get |
|00002850| 68 69 67 68 0d 0a 09 6c | 64 09 6c 2c 61 09 3b 20 |high...l|d.l,a.; |
|00002860| 48 4c 20 3d 20 61 64 64 | 72 65 73 73 0d 0a 09 70 |HL = add|ress...p|
|00002870| 6f 70 09 62 63 09 3b 20 | 72 65 73 74 6f 72 65 20 |op.bc.; |restore |
|00002880| 72 65 67 73 0d 0a 09 70 | 6f 70 09 61 66 0d 0a 09 |regs...p|op.af...|
|00002890| 65 78 09 28 73 70 29 2c | 68 6c 09 09 3b 20 72 65 |ex.(sp),|hl..; re|
|000028a0| 74 75 72 6e 20 61 64 64 | 72 65 73 73 20 6f 6e 20 |turn add|ress on |
|000028b0| 73 74 61 63 6b 2c 20 48 | 4c 20 72 65 73 74 6f 72 |stack, H|L restor|
|000028c0| 65 64 0d 0a 09 72 65 74 | 0d 0a 3b 0d 0a 3b 20 53 |ed...ret|..;..; S|
|000028d0| 74 6f 72 61 67 65 20 66 | 6f 72 20 64 65 66 61 75 |torage f|or defau|
|000028e0| 6c 74 20 61 64 64 72 65 | 73 73 0d 0a 3b 0d 0a 64 |lt addre|ss..;..d|
|000028f0| 65 66 61 75 6c 74 3a 0d | 0a 09 64 73 09 32 0d 0a |efault:.|..ds.2..|
|00002900| 0d 0a 09 65 6e 64 0d 0a | 1a 1a 1a 1a 1a 1a 1a 1a |...end..|........|
|00002910| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002920| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002930| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002940| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002950| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002960| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002970| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002980| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00002990| 6c 65 20 4e 61 6d 65 3a | 20 41 43 41 53 45 32 0d |le Name:| ACASE2.|
|000029a0| 0a 3b 20 41 75 74 68 6f | 72 3a 20 52 69 63 68 61 |.; Autho|r: Richa|
|000029b0| 72 64 20 43 6f 6e 6e 0d | 0a 3b 20 53 59 53 4c 49 |rd Conn.|.; SYSLI|
|000029c0| 42 20 56 65 72 73 69 6f | 6e 20 4e 75 6d 62 65 72 |B Versio|n Number|
|000029d0| 3a 20 33 2e 36 0d 0a 3b | 20 4d 6f 64 75 6c 65 20 |: 3.6..;| Module |
|000029e0| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|000029f0| 31 2e 31 0d 0a 0d 0a 09 | 70 75 62 6c 69 63 09 61 |1.1.....|public.a|
|00002a00| 63 61 73 65 32 0d 0a 0d | 0a 3b 0d 0a 3b 20 41 43 |case2...|.;..; AC|
|00002a10| 41 53 45 32 20 69 73 20 | 61 20 61 63 61 73 65 32 |ASE2 is |a acase2|
|00002a20| 20 73 74 61 74 65 6d 65 | 6e 74 20 70 72 6f 63 65 | stateme|nt proce|
|00002a30| 73 73 6f 72 2e 20 20 4f | 6e 20 69 6e 70 75 74 2c |ssor. O|n input,|
|00002a40| 20 72 65 67 69 73 74 65 | 72 20 41 20 63 6f 6e 74 | registe|r A cont|
|00002a50| 61 69 6e 73 20 61 0d 0a | 3b 20 76 61 6c 75 65 20 |ains a..|; value |
|00002a60| 74 6f 20 74 65 73 74 20 | 61 67 61 69 6e 73 74 20 |to test |against |
|00002a70| 61 6e 64 20 44 45 20 63 | 6f 6e 74 61 69 6e 73 20 |and DE c|ontains |
|00002a80| 74 68 65 20 61 64 64 72 | 65 73 73 20 6f 66 20 74 |the addr|ess of t|
|00002a90| 68 65 20 63 61 73 65 20 | 74 61 62 6c 65 3a 0d 0a |he case |table:..|
|00002aa0| 3b 0d 0a 3b 09 4d 56 49 | 09 41 2c 54 45 53 54 09 |;..;.MVI|.A,TEST.|
|00002ab0| 3b 20 74 65 73 74 20 76 | 61 6c 75 65 0d 0a 3b 09 |; test v|alue..;.|
|00002ac0| 4c 58 49 09 44 2c 54 41 | 42 4c 45 09 3b 20 63 61 |LXI.D,TA|BLE.; ca|
|00002ad0| 73 65 20 74 61 62 6c 65 | 0d 0a 3b 09 43 41 4c 4c |se table|..;.CALL|
|00002ae0| 09 41 43 41 53 45 32 0d | 0a 3b 09 2e 2e 2e 0d 0a |.ACASE2.|.;......|
|00002af0| 3b 20 54 41 42 4c 45 3a | 0d 0a 3b 09 44 42 09 4e |; TABLE:|..;.DB.N|
|00002b00| 55 4d 24 45 4e 54 09 3b | 20 6e 75 6d 62 65 72 20 |UM$ENT.;| number |
|00002b10| 6f 66 20 65 6e 74 72 69 | 65 73 20 69 6e 20 43 41 |of entri|es in CA|
|00002b20| 53 45 20 74 61 62 6c 65 | 0d 0a 3b 09 44 57 09 44 |SE table|..;.DW.D|
|00002b30| 45 46 41 55 4c 54 09 3b | 20 61 64 64 72 65 73 73 |EFAULT.;| address|
|00002b40| 20 74 6f 20 67 6f 74 6f | 20 69 66 20 6e 6f 20 6d | to goto| if no m|
|00002b50| 61 74 63 68 20 69 6e 20 | 61 63 61 73 65 32 0d 0a |atch in |acase2..|
|00002b60| 3b 09 44 42 09 56 41 4c | 31 09 3b 20 65 6e 74 72 |;.DB.VAL|1.; entr|
|00002b70| 79 20 76 61 6c 75 65 20 | 31 20 74 6f 20 74 65 73 |y value |1 to tes|
|00002b80| 74 20 66 6f 72 0d 0a 3b | 09 44 57 09 41 44 44 52 |t for..;|.DW.ADDR|
|00002b90| 31 09 3b 20 61 64 64 72 | 65 73 73 20 74 6f 20 67 |1.; addr|ess to g|
|00002ba0| 6f 74 6f 20 69 66 20 65 | 6e 74 72 79 20 31 20 6d |oto if e|ntry 1 m|
|00002bb0| 61 74 63 68 65 73 0d 0a | 3b 09 44 42 09 56 41 4c |atches..|;.DB.VAL|
|00002bc0| 32 09 3b 20 65 6e 74 72 | 79 20 76 61 6c 75 65 20 |2.; entr|y value |
|00002bd0| 32 20 74 6f 20 74 65 73 | 74 20 66 6f 72 0d 0a 3b |2 to tes|t for..;|
|00002be0| 09 44 57 09 41 44 44 52 | 32 09 3b 20 61 64 64 72 |.DW.ADDR|2.; addr|
|00002bf0| 65 73 73 20 74 6f 20 67 | 6f 74 6f 20 69 66 20 65 |ess to g|oto if e|
|00002c00| 6e 74 72 79 20 32 20 6d | 61 74 63 68 65 73 0d 0a |ntry 2 m|atches..|
|00002c10| 3b 09 2e 2e 2e 0d 0a 3b | 09 44 42 09 56 41 4c 4e |;......;|.DB.VALN|
|00002c20| 09 3b 20 65 6e 74 72 79 | 20 76 61 6c 75 65 20 4e |.; entry| value N|
|00002c30| 20 74 6f 20 74 65 73 74 | 20 66 6f 72 20 28 4e 20 | to test| for (N |
|00002c40| 3d 20 4e 55 4d 24 45 4e | 54 29 0d 0a 3b 09 44 57 |= NUM$EN|T)..;.DW|
|00002c50| 09 41 44 44 52 4e 09 3b | 20 61 64 64 72 65 73 73 |.ADDRN.;| address|
|00002c60| 20 74 6f 20 67 6f 74 6f | 20 69 66 20 65 6e 74 72 | to goto| if entr|
|00002c70| 79 20 4e 20 6d 61 74 63 | 68 65 73 0d 0a 3b 0d 0a |y N matc|hes..;..|
|00002c80| 3b 20 4e 55 4d 24 45 4e | 54 20 69 73 20 74 68 65 |; NUM$EN|T is the|
|00002c90| 20 6e 75 6d 62 65 72 20 | 6f 66 20 76 61 6c 75 65 | number |of value|
|00002ca0| 73 20 28 56 41 4c 31 20 | 2e 2e 20 56 41 4c 4e 29 |s (VAL1 |.. VALN)|
|00002cb0| 20 69 6e 20 74 68 65 20 | 63 61 73 65 20 74 61 62 | in the |case tab|
|00002cc0| 6c 65 0d 0a 3b 0d 0a 61 | 63 61 73 65 32 3a 0d 0a |le..;..a|case2:..|
|00002cd0| 09 65 78 09 28 73 70 29 | 2c 68 6c 09 09 3b 20 72 |.ex.(sp)|,hl..; r|
|00002ce0| 65 74 75 72 6e 20 61 64 | 64 72 65 73 73 20 69 6e |eturn ad|dress in|
|00002cf0| 20 48 4c 0d 0a 09 6c 64 | 09 68 2c 64 09 3b 20 48 | HL...ld|.h,d.; H|
|00002d00| 4c 3d 44 45 3d 63 61 73 | 65 20 74 61 62 6c 65 20 |L=DE=cas|e table |
|00002d10| 61 64 64 72 65 73 73 0d | 0a 09 6c 64 09 6c 2c 65 |address.|..ld.l,e|
|00002d20| 0d 0a 09 70 75 73 68 09 | 61 66 09 3b 20 73 61 76 |...push.|af.; sav|
|00002d30| 65 20 72 65 67 73 0d 0a | 09 70 75 73 68 09 62 63 |e regs..|.push.bc|
|00002d40| 0d 0a 09 6c 64 09 62 2c | 28 68 6c 29 09 3b 20 6e |...ld.b,|(hl).; n|
|00002d50| 75 6d 62 65 72 20 6f 66 | 20 65 6e 74 72 69 65 73 |umber of| entries|
|00002d60| 0d 0a 09 69 6e 63 09 68 | 6c 09 3b 20 70 74 20 74 |...inc.h|l.; pt t|
|00002d70| 6f 20 64 65 66 61 75 6c | 74 0d 0a 09 6c 64 09 28 |o defaul|t...ld.(|
|00002d80| 64 65 66 61 75 6c 74 29 | 2c 68 6c 09 3b 20 73 61 |default)|,hl.; sa|
|00002d90| 76 65 20 69 74 0d 0a 09 | 69 6e 63 09 68 6c 09 3b |ve it...|inc.hl.;|
|00002da0| 20 70 74 20 74 6f 20 66 | 69 72 73 74 20 65 6e 74 | pt to f|irst ent|
|00002db0| 72 79 0d 0a 09 69 6e 63 | 09 68 6c 0d 0a 3b 0d 0a |ry...inc|.hl..;..|
|00002dc0| 3b 20 4c 6f 6f 70 20 74 | 68 72 6f 75 67 68 20 63 |; Loop t|hrough c|
|00002dd0| 61 73 65 20 74 61 62 6c | 65 20 65 6e 74 72 69 65 |ase tabl|e entrie|
|00002de0| 73 2c 20 6c 6f 6f 6b 69 | 6e 67 20 66 6f 72 20 61 |s, looki|ng for a|
|00002df0| 20 6d 61 74 63 68 0d 0a | 3b 0d 0a 6c 6f 6f 70 3a | match..|;..loop:|
|00002e00| 0d 0a 09 63 70 09 28 68 | 6c 29 09 3b 20 63 6f 6d |...cp.(h|l).; com|
|00002e10| 70 61 72 65 0d 0a 09 6a | 70 09 7a 2c 6d 61 74 63 |pare...j|p.z,matc|
|00002e20| 68 0d 0a 09 69 6e 63 09 | 68 6c 09 3b 20 70 74 20 |h...inc.|hl.; pt |
|00002e30| 74 6f 20 6e 65 78 74 0d | 0a 09 69 6e 63 09 68 6c |to next.|..inc.hl|
|00002e40| 0d 0a 09 69 6e 63 09 68 | 6c 0d 0a 09 64 65 63 09 |...inc.h|l...dec.|
|00002e50| 62 09 3b 20 63 6f 75 6e | 74 20 64 6f 77 6e 0d 0a |b.; coun|t down..|
|00002e60| 09 6a 70 09 6e 7a 2c 6c | 6f 6f 70 0d 0a 3b 0d 0a |.jp.nz,l|oop..;..|
|00002e70| 3b 20 4e 6f 20 6d 61 74 | 63 68 20 66 6f 75 6e 64 |; No mat|ch found|
|00002e80| 20 2d 20 75 73 65 20 64 | 65 66 61 75 6c 74 0d 0a | - use d|efault..|
|00002e90| 3b 0d 0a 09 6c 64 09 68 | 6c 2c 28 64 65 66 61 75 |;...ld.h|l,(defau|
|00002ea0| 6c 74 29 09 3b 20 67 65 | 74 20 64 65 66 61 75 6c |lt).; ge|t defaul|
|00002eb0| 74 0d 0a 09 6a 70 09 67 | 6f 74 6f 0d 0a 3b 0d 0a |t...jp.g|oto..;..|
|00002ec0| 3b 20 4d 61 74 63 68 20 | 2d 20 75 73 65 20 48 4c |; Match |- use HL|
|00002ed0| 2b 31 0d 0a 3b 0d 0a 6d | 61 74 63 68 3a 0d 0a 09 |+1..;..m|atch:...|
|00002ee0| 69 6e 63 09 68 6c 09 3b | 20 70 6f 69 6e 74 20 74 |inc.hl.;| point t|
|00002ef0| 6f 20 61 64 64 72 65 73 | 73 0d 0a 3b 0d 0a 3b 20 |o addres|s..;..; |
|00002f00| 47 65 74 20 61 64 64 72 | 65 73 73 20 69 6e 20 48 |Get addr|ess in H|
|00002f10| 4c 20 61 6e 64 20 72 65 | 74 75 72 6e 0d 0a 3b 0d |L and re|turn..;.|
|00002f20| 0a 67 6f 74 6f 3a 0d 0a | 09 6c 64 09 61 2c 28 68 |.goto:..|.ld.a,(h|
|00002f30| 6c 29 09 3b 20 67 65 74 | 20 6c 6f 77 0d 0a 09 69 |l).; get| low...i|
|00002f40| 6e 63 09 68 6c 0d 0a 09 | 6c 64 09 68 2c 28 68 6c |nc.hl...|ld.h,(hl|
|00002f50| 29 09 3b 20 67 65 74 20 | 68 69 67 68 0d 0a 09 6c |).; get |high...l|
|00002f60| 64 09 6c 2c 61 09 3b 20 | 48 4c 20 3d 20 61 64 64 |d.l,a.; |HL = add|
|00002f70| 72 65 73 73 0d 0a 09 70 | 6f 70 09 62 63 09 3b 20 |ress...p|op.bc.; |
|00002f80| 72 65 73 74 6f 72 65 20 | 72 65 67 73 0d 0a 09 70 |restore |regs...p|
|00002f90| 6f 70 09 61 66 0d 0a 09 | 65 78 09 28 73 70 29 2c |op.af...|ex.(sp),|
|00002fa0| 68 6c 09 09 3b 20 72 65 | 74 75 72 6e 20 61 64 64 |hl..; re|turn add|
|00002fb0| 72 65 73 73 20 6f 6e 20 | 73 74 61 63 6b 2c 20 48 |ress on |stack, H|
|00002fc0| 4c 20 72 65 73 74 6f 72 | 65 64 0d 0a 09 72 65 74 |L restor|ed...ret|
|00002fd0| 0d 0a 3b 0d 0a 3b 20 53 | 74 6f 72 61 67 65 20 66 |..;..; S|torage f|
|00002fe0| 6f 72 20 64 65 66 61 75 | 6c 74 20 61 64 64 72 65 |or defau|lt addre|
|00002ff0| 73 73 0d 0a 3b 0d 0a 64 | 65 66 61 75 6c 74 3a 0d |ss..;..d|efault:.|
|00003000| 0a 09 64 73 09 32 0d 0a | 0d 0a 09 65 6e 64 0d 0a |..ds.2..|...end..|
|00003010| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003020| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003030| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003040| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003050| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003060| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003070| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003080| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00003090| 6c 65 20 4e 61 6d 65 3a | 20 41 43 41 53 45 33 0d |le Name:| ACASE3.|
|000030a0| 0a 3b 20 41 75 74 68 6f | 72 3a 20 52 69 63 68 61 |.; Autho|r: Richa|
|000030b0| 72 64 20 43 6f 6e 6e 0d | 0a 3b 20 53 59 53 4c 49 |rd Conn.|.; SYSLI|
|000030c0| 42 20 56 65 72 73 69 6f | 6e 20 4e 75 6d 62 65 72 |B Versio|n Number|
|000030d0| 3a 20 33 2e 36 0d 0a 3b | 20 4d 6f 64 75 6c 65 20 |: 3.6..;| Module |
|000030e0| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|000030f0| 31 2e 31 0d 0a 0d 0a 09 | 70 75 62 6c 69 63 09 61 |1.1.....|public.a|
|00003100| 63 61 73 65 33 0d 0a 0d | 0a 3b 0d 0a 3b 20 41 43 |case3...|.;..; AC|
|00003110| 41 53 45 33 20 69 73 20 | 61 20 63 61 73 65 20 73 |ASE3 is |a case s|
|00003120| 74 61 74 65 6d 65 6e 74 | 20 70 72 6f 63 65 73 73 |tatement| process|
|00003130| 6f 72 2e 20 20 4f 6e 20 | 69 6e 70 75 74 2c 20 72 |or. On |input, r|
|00003140| 65 67 69 73 74 65 72 20 | 41 20 63 6f 6e 74 61 69 |egister |A contai|
|00003150| 6e 73 20 61 0d 0a 3b 20 | 76 61 6c 75 65 20 74 6f |ns a..; |value to|
|00003160| 20 74 65 73 74 20 61 67 | 61 69 6e 73 74 20 61 6e | test ag|ainst an|
|00003170| 64 20 44 45 20 63 6f 6e | 74 61 69 6e 73 20 74 68 |d DE con|tains th|
|00003180| 65 20 61 64 64 72 65 73 | 73 20 6f 66 20 74 68 65 |e addres|s of the|
|00003190| 20 63 61 73 65 20 74 61 | 62 6c 65 2e 0d 0a 3b 20 | case ta|ble...; |
|000031a0| 55 6e 6c 69 6b 65 20 41 | 43 41 53 45 31 20 61 6e |Unlike A|CASE1 an|
|000031b0| 64 20 41 43 41 53 45 32 | 2c 20 74 68 65 20 72 65 |d ACASE2|, the re|
|000031c0| 74 75 72 6e 20 61 64 64 | 72 65 73 73 20 74 6f 20 |turn add|ress to |
|000031d0| 41 43 41 53 45 33 20 69 | 73 20 70 72 65 73 65 72 |ACASE3 i|s preser|
|000031e0| 76 65 64 2c 0d 0a 3b 20 | 73 6f 20 72 6f 75 74 69 |ved,..; |so routi|
|000031f0| 6e 65 73 20 63 61 6e 20 | 63 6f 6e 74 69 6e 75 65 |nes can |continue|
|00003200| 20 65 78 65 63 75 74 69 | 6f 6e 20 62 79 20 69 73 | executi|on by is|
|00003210| 73 75 69 6e 67 20 61 20 | 73 69 6d 70 6c 65 20 52 |suing a |simple R|
|00003220| 45 54 2c 20 61 6e 64 20 | 63 6f 6e 74 72 6f 6c 0d |ET, and |control.|
|00003230| 0a 3b 20 77 69 6c 6c 20 | 72 65 73 75 6d 65 20 61 |.; will |resume a|
|00003240| 66 74 65 72 20 74 68 65 | 20 63 61 6c 6c 20 74 6f |fter the| call to|
|00003250| 20 41 43 41 53 45 33 2e | 0d 0a 3b 0d 0a 3b 09 4d | ACASE3.|..;..;.M|
|00003260| 56 49 09 41 2c 54 45 53 | 54 09 3b 20 74 65 73 74 |VI.A,TES|T.; test|
|00003270| 20 76 61 6c 75 65 0d 0a | 3b 09 4c 58 49 09 44 2c | value..|;.LXI.D,|
|00003280| 54 41 42 4c 45 09 3b 20 | 63 61 73 65 20 74 61 62 |TABLE.; |case tab|
|00003290| 6c 65 0d 0a 3b 09 43 41 | 4c 4c 09 41 43 41 53 45 |le..;.CA|LL.ACASE|
|000032a0| 33 0d 0a 3b 09 3c 20 69 | 6e 73 74 72 20 74 6f 20 |3..;.< i|nstr to |
|000032b0| 72 65 74 75 72 6e 20 74 | 6f 20 3e 09 3b 20 63 6f |return t|o >.; co|
|000032c0| 6e 74 72 6f 6c 20 72 65 | 73 75 6d 65 73 20 68 65 |ntrol re|sumes he|
|000032d0| 72 65 20 69 66 20 72 6f | 75 74 69 6e 65 73 20 52 |re if ro|utines R|
|000032e0| 45 54 0d 0a 3b 09 2e 2e | 2e 0d 0a 3b 20 54 41 42 |ET..;...|...; TAB|
|000032f0| 4c 45 3a 0d 0a 3b 09 44 | 42 09 4e 55 4d 24 45 4e |LE:..;.D|B.NUM$EN|
|00003300| 54 09 3b 20 6e 75 6d 62 | 65 72 20 6f 66 20 65 6e |T.; numb|er of en|
|00003310| 74 72 69 65 73 20 69 6e | 20 43 41 53 45 20 74 61 |tries in| CASE ta|
|00003320| 62 6c 65 0d 0a 3b 09 44 | 57 09 44 45 46 41 55 4c |ble..;.D|W.DEFAUL|
|00003330| 54 09 3b 20 61 64 64 72 | 65 73 73 20 74 6f 20 67 |T.; addr|ess to g|
|00003340| 6f 74 6f 20 69 66 20 6e | 6f 20 6d 61 74 63 68 20 |oto if n|o match |
|00003350| 69 6e 20 61 63 61 73 65 | 33 0d 0a 3b 09 44 42 09 |in acase|3..;.DB.|
|00003360| 56 41 4c 31 09 3b 20 65 | 6e 74 72 79 20 76 61 6c |VAL1.; e|ntry val|
|00003370| 75 65 20 31 20 74 6f 20 | 74 65 73 74 20 66 6f 72 |ue 1 to |test for|
|00003380| 0d 0a 3b 09 44 57 09 41 | 44 44 52 31 09 3b 20 61 |..;.DW.A|DDR1.; a|
|00003390| 64 64 72 65 73 73 20 74 | 6f 20 67 6f 74 6f 20 69 |ddress t|o goto i|
|000033a0| 66 20 65 6e 74 72 79 20 | 31 20 6d 61 74 63 68 65 |f entry |1 matche|
|000033b0| 73 0d 0a 3b 09 44 42 09 | 56 41 4c 32 09 3b 20 65 |s..;.DB.|VAL2.; e|
|000033c0| 6e 74 72 79 20 76 61 6c | 75 65 20 32 20 74 6f 20 |ntry val|ue 2 to |
|000033d0| 74 65 73 74 20 66 6f 72 | 0d 0a 3b 09 44 57 09 41 |test for|..;.DW.A|
|000033e0| 44 44 52 32 09 3b 20 61 | 64 64 72 65 73 73 20 74 |DDR2.; a|ddress t|
|000033f0| 6f 20 67 6f 74 6f 20 69 | 66 20 65 6e 74 72 79 20 |o goto i|f entry |
|00003400| 32 20 6d 61 74 63 68 65 | 73 0d 0a 3b 09 2e 2e 2e |2 matche|s..;....|
|00003410| 0d 0a 3b 09 44 42 09 56 | 41 4c 4e 09 3b 20 65 6e |..;.DB.V|ALN.; en|
|00003420| 74 72 79 20 76 61 6c 75 | 65 20 4e 20 74 6f 20 74 |try valu|e N to t|
|00003430| 65 73 74 20 66 6f 72 20 | 28 4e 20 3d 20 4e 55 4d |est for |(N = NUM|
|00003440| 24 45 4e 54 29 0d 0a 3b | 09 44 57 09 41 44 44 52 |$ENT)..;|.DW.ADDR|
|00003450| 4e 09 3b 20 61 64 64 72 | 65 73 73 20 74 6f 20 67 |N.; addr|ess to g|
|00003460| 6f 74 6f 20 69 66 20 65 | 6e 74 72 79 20 4e 20 6d |oto if e|ntry N m|
|00003470| 61 74 63 68 65 73 0d 0a | 3b 0d 0a 3b 20 4e 55 4d |atches..|;..; NUM|
|00003480| 24 45 4e 54 20 69 73 20 | 74 68 65 20 6e 75 6d 62 |$ENT is |the numb|
|00003490| 65 72 20 6f 66 20 76 61 | 6c 75 65 73 20 28 56 41 |er of va|lues (VA|
|000034a0| 4c 31 20 2e 2e 20 56 41 | 4c 4e 29 20 69 6e 20 74 |L1 .. VA|LN) in t|
|000034b0| 68 65 20 63 61 73 65 20 | 74 61 62 6c 65 0d 0a 3b |he case |table..;|
|000034c0| 0d 0a 61 63 61 73 65 33 | 3a 0d 0a 09 70 75 73 68 |..acase3|:...push|
|000034d0| 09 68 6c 09 3b 20 73 61 | 76 65 20 48 4c 0d 0a 09 |.hl.; sa|ve HL...|
|000034e0| 6c 64 09 68 2c 64 09 3b | 20 48 4c 3d 44 45 3d 63 |ld.h,d.;| HL=DE=c|
|000034f0| 61 73 65 20 74 61 62 6c | 65 20 61 64 64 72 65 73 |ase tabl|e addres|
|00003500| 73 0d 0a 09 6c 64 09 6c | 2c 65 0d 0a 09 70 75 73 |s...ld.l|,e...pus|
|00003510| 68 09 61 66 09 3b 20 73 | 61 76 65 20 72 65 67 73 |h.af.; s|ave regs|
|00003520| 0d 0a 09 70 75 73 68 09 | 62 63 0d 0a 09 6c 64 09 |...push.|bc...ld.|
|00003530| 62 2c 28 68 6c 29 09 3b | 20 6e 75 6d 62 65 72 20 |b,(hl).;| number |
|00003540| 6f 66 20 65 6e 74 72 69 | 65 73 0d 0a 09 69 6e 63 |of entri|es...inc|
|00003550| 09 68 6c 09 3b 20 70 74 | 20 74 6f 20 64 65 66 61 |.hl.; pt| to defa|
|00003560| 75 6c 74 0d 0a 09 6c 64 | 09 28 64 65 66 61 75 6c |ult...ld|.(defaul|
|00003570| 74 29 2c 68 6c 09 3b 20 | 73 61 76 65 20 69 74 0d |t),hl.; |save it.|
|00003580| 0a 09 69 6e 63 09 68 6c | 09 3b 20 70 74 20 74 6f |..inc.hl|.; pt to|
|00003590| 20 66 69 72 73 74 20 65 | 6e 74 72 79 0d 0a 09 69 | first e|ntry...i|
|000035a0| 6e 63 09 68 6c 0d 0a 3b | 0d 0a 3b 20 4c 6f 6f 70 |nc.hl..;|..; Loop|
|000035b0| 20 74 68 72 6f 75 67 68 | 20 63 61 73 65 20 74 61 | through| case ta|
|000035c0| 62 6c 65 20 65 6e 74 72 | 69 65 73 2c 20 6c 6f 6f |ble entr|ies, loo|
|000035d0| 6b 69 6e 67 20 66 6f 72 | 20 61 20 6d 61 74 63 68 |king for| a match|
|000035e0| 0d 0a 3b 0d 0a 6c 6f 6f | 70 3a 0d 0a 09 63 70 09 |..;..loo|p:...cp.|
|000035f0| 28 68 6c 29 09 3b 20 63 | 6f 6d 70 61 72 65 0d 0a |(hl).; c|ompare..|
|00003600| 09 6a 70 09 7a 2c 6d 61 | 74 63 68 0d 0a 09 69 6e |.jp.z,ma|tch...in|
|00003610| 63 09 68 6c 09 3b 20 70 | 74 20 74 6f 20 6e 65 78 |c.hl.; p|t to nex|
|00003620| 74 0d 0a 09 69 6e 63 09 | 68 6c 0d 0a 09 69 6e 63 |t...inc.|hl...inc|
|00003630| 09 68 6c 0d 0a 09 64 65 | 63 09 62 09 3b 20 63 6f |.hl...de|c.b.; co|
|00003640| 75 6e 74 20 64 6f 77 6e | 0d 0a 09 6a 70 09 6e 7a |unt down|...jp.nz|
|00003650| 2c 6c 6f 6f 70 0d 0a 3b | 0d 0a 3b 20 4e 6f 20 6d |,loop..;|..; No m|
|00003660| 61 74 63 68 20 66 6f 75 | 6e 64 20 2d 20 75 73 65 |atch fou|nd - use|
|00003670| 20 64 65 66 61 75 6c 74 | 0d 0a 3b 0d 0a 09 6c 64 | default|..;...ld|
|00003680| 09 68 6c 2c 28 64 65 66 | 61 75 6c 74 29 09 3b 20 |.hl,(def|ault).; |
|00003690| 67 65 74 20 64 65 66 61 | 75 6c 74 0d 0a 09 6a 70 |get defa|ult...jp|
|000036a0| 09 67 6f 74 6f 0d 0a 3b | 0d 0a 3b 20 4d 61 74 63 |.goto..;|..; Matc|
|000036b0| 68 20 2d 20 75 73 65 20 | 48 4c 2b 31 0d 0a 3b 0d |h - use |HL+1..;.|
|000036c0| 0a 6d 61 74 63 68 3a 0d | 0a 09 69 6e 63 09 68 6c |.match:.|..inc.hl|
|000036d0| 09 3b 20 70 6f 69 6e 74 | 20 74 6f 20 61 64 64 72 |.; point| to addr|
|000036e0| 65 73 73 0d 0a 3b 0d 0a | 3b 20 47 65 74 20 61 64 |ess..;..|; Get ad|
|000036f0| 64 72 65 73 73 20 69 6e | 20 48 4c 20 61 6e 64 20 |dress in| HL and |
|00003700| 72 75 6e 20 72 6f 75 74 | 69 6e 65 20 28 6f 72 69 |run rout|ine (ori|
|00003710| 67 69 6e 61 6c 20 72 65 | 74 75 72 6e 20 61 64 64 |ginal re|turn add|
|00003720| 72 65 73 73 20 73 74 69 | 6c 6c 20 6f 6e 20 73 74 |ress sti|ll on st|
|00003730| 61 63 6b 29 0d 0a 3b 0d | 0a 67 6f 74 6f 3a 0d 0a |ack)..;.|.goto:..|
|00003740| 09 6c 64 09 61 2c 28 68 | 6c 29 09 3b 20 67 65 74 |.ld.a,(h|l).; get|
|00003750| 20 6c 6f 77 0d 0a 09 69 | 6e 63 09 68 6c 0d 0a 09 | low...i|nc.hl...|
|00003760| 6c 64 09 68 2c 28 68 6c | 29 09 3b 20 67 65 74 20 |ld.h,(hl|).; get |
|00003770| 68 69 67 68 0d 0a 09 6c | 64 09 6c 2c 61 09 3b 20 |high...l|d.l,a.; |
|00003780| 48 4c 20 3d 20 61 64 64 | 72 65 73 73 0d 0a 09 70 |HL = add|ress...p|
|00003790| 6f 70 09 62 63 09 3b 20 | 72 65 73 74 6f 72 65 20 |op.bc.; |restore |
|000037a0| 72 65 67 73 0d 0a 09 70 | 6f 70 09 61 66 0d 0a 09 |regs...p|op.af...|
|000037b0| 65 78 09 28 73 70 29 2c | 68 6c 09 09 3b 20 72 65 |ex.(sp),|hl..; re|
|000037c0| 74 75 72 6e 20 61 64 64 | 72 65 73 73 20 6f 6e 20 |turn add|ress on |
|000037d0| 73 74 61 63 6b 2c 20 48 | 4c 20 72 65 73 74 6f 72 |stack, H|L restor|
|000037e0| 65 64 0d 0a 09 72 65 74 | 0d 0a 3b 0d 0a 3b 20 53 |ed...ret|..;..; S|
|000037f0| 74 6f 72 61 67 65 20 66 | 6f 72 20 64 65 66 61 75 |torage f|or defau|
|00003800| 6c 74 20 61 64 64 72 65 | 73 73 0d 0a 3b 0d 0a 64 |lt addre|ss..;..d|
|00003810| 65 66 61 75 6c 74 3a 0d | 0a 09 64 73 09 32 0d 0a |efault:.|..ds.2..|
|00003820| 0d 0a 09 65 6e 64 0d 0a | 1a 1a 1a 1a 1a 1a 1a 1a |...end..|........|
|00003830| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003840| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003850| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003860| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003870| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003880| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00003890| 6c 65 20 4e 61 6d 65 3a | 20 41 47 4f 54 4f 31 0d |le Name:| AGOTO1.|
|000038a0| 0a 3b 20 41 75 74 68 6f | 72 3a 20 52 69 63 68 61 |.; Autho|r: Richa|
|000038b0| 72 64 20 43 6f 6e 6e 0d | 0a 3b 20 53 59 53 4c 49 |rd Conn.|.; SYSLI|
|000038c0| 42 20 56 65 72 73 69 6f | 6e 20 4e 75 6d 62 65 72 |B Versio|n Number|
|000038d0| 3a 20 33 2e 36 0d 0a 3b | 20 4d 6f 64 75 6c 65 20 |: 3.6..;| Module |
|000038e0| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|000038f0| 31 2e 31 0d 0a 0d 0a 09 | 70 75 62 6c 69 63 09 61 |1.1.....|public.a|
|00003900| 67 6f 74 6f 31 0d 0a 0d | 0a 3b 0d 0a 3b 20 41 47 |goto1...|.;..; AG|
|00003910| 4f 54 4f 31 20 69 73 20 | 61 20 63 6f 6d 70 75 74 |OTO1 is |a comput|
|00003920| 65 64 20 47 4f 54 4f 2e | 20 20 57 68 65 6e 20 63 |ed GOTO.| When c|
|00003930| 61 6c 6c 65 64 2c 20 72 | 65 67 69 73 74 65 72 20 |alled, r|egister |
|00003940| 41 20 3d 20 69 6e 64 65 | 78 20 6f 66 20 66 6f 6c |A = inde|x of fol|
|00003950| 6c 6f 77 69 6e 67 0d 0a | 3b 20 61 64 64 72 65 73 |lowing..|; addres|
|00003960| 73 20 74 6f 20 62 72 61 | 6e 63 68 20 74 6f 2c 20 |s to bra|nch to, |
|00003970| 61 73 20 69 6e 64 69 63 | 61 74 65 64 3a 0d 0a 3b |as indic|ated:..;|
|00003980| 0d 0a 3b 09 4d 56 49 09 | 41 2c 49 4e 44 45 58 09 |..;.MVI.|A,INDEX.|
|00003990| 3b 20 7a 65 72 6f 2d 72 | 65 6c 61 74 69 76 65 0d |; zero-r|elative.|
|000039a0| 0a 3b 09 43 41 4c 4c 09 | 41 47 4f 54 4f 31 0d 0a |.;.CALL.|AGOTO1..|
|000039b0| 3b 09 44 57 09 41 44 44 | 52 30 09 3b 20 49 46 20 |;.DW.ADD|R0.; IF |
|000039c0| 41 3d 30 0d 0a 3b 09 44 | 57 09 41 44 44 52 31 09 |A=0..;.D|W.ADDR1.|
|000039d0| 3b 20 49 46 20 41 3d 31 | 0d 0a 3b 09 44 57 09 41 |; IF A=1|..;.DW.A|
|000039e0| 44 44 52 32 09 3b 20 49 | 46 20 41 3d 32 0d 0a 3b |DDR2.; I|F A=2..;|
|000039f0| 09 2e 2e 2e 0d 0a 3b 20 | 41 44 44 52 30 3a 09 09 |......; |ADDR0:..|
|00003a00| 3b 20 43 4f 4d 45 20 48 | 45 52 45 20 49 46 20 41 |; COME H|ERE IF A|
|00003a10| 3d 30 0d 0a 3b 09 2e 2e | 2e 0d 0a 3b 20 41 44 44 |=0..;...|...; ADD|
|00003a20| 52 31 3a 09 09 3b 20 43 | 4f 4d 45 20 48 45 52 45 |R1:..; C|OME HERE|
|00003a30| 20 49 46 20 41 3d 31 0d | 0a 3b 09 2e 2e 2e 0d 0a | IF A=1.|.;......|
|00003a40| 3b 20 41 44 44 52 32 3a | 09 09 3b 20 43 4f 4d 45 |; ADDR2:|..; COME|
|00003a50| 20 48 45 52 45 20 49 46 | 20 41 3d 32 0d 0a 3b 09 | HERE IF| A=2..;.|
|00003a60| 2e 2e 2e 0d 0a 3b 0d 0a | 3b 20 4e 6f 20 65 72 72 |.....;..|; No err|
|00003a70| 6f 72 20 6f 72 20 72 61 | 6e 67 65 20 63 68 65 63 |or or ra|nge chec|
|00003a80| 6b 69 6e 67 20 69 73 20 | 64 6f 6e 65 0d 0a 3b 0d |king is |done..;.|
|00003a90| 0a 61 67 6f 74 6f 31 3a | 0d 0a 09 65 78 09 28 73 |.agoto1:|...ex.(s|
|00003aa0| 70 29 2c 68 6c 09 09 3b | 20 67 65 74 20 61 64 64 |p),hl..;| get add|
|00003ab0| 72 65 73 73 20 6f 66 20 | 72 6f 75 74 69 6e 65 73 |ress of |routines|
|00003ac0| 2c 20 73 61 76 65 20 48 | 4c 0d 0a 09 70 75 73 68 |, save H|L...push|
|00003ad0| 09 64 65 09 3b 20 73 61 | 76 65 20 72 65 67 73 0d |.de.; sa|ve regs.|
|00003ae0| 0a 09 70 75 73 68 09 61 | 66 0d 0a 09 6c 64 09 64 |..push.a|f...ld.d|
|00003af0| 2c 30 0d 0a 09 6c 64 09 | 65 2c 61 09 3b 20 69 6e |,0...ld.|e,a.; in|
|00003b00| 64 65 78 20 69 6e 20 44 | 45 0d 0a 09 65 78 09 64 |dex in D|E...ex.d|
|00003b10| 65 2c 68 6c 09 09 3b 20 | 69 6e 64 65 78 20 69 6e |e,hl..; |index in|
|00003b20| 20 48 4c 2c 20 72 65 74 | 75 72 6e 20 61 64 64 72 | HL, ret|urn addr|
|00003b30| 65 73 73 20 69 6e 20 44 | 45 0d 0a 09 61 64 64 09 |ess in D|E...add.|
|00003b40| 68 6c 2c 68 6c 09 3b 20 | 64 6f 75 62 6c 65 20 69 |hl,hl.; |double i|
|00003b50| 6e 64 65 78 20 74 6f 20 | 63 6f 6d 70 75 74 65 20 |ndex to |compute |
|00003b60| 6f 66 66 73 65 74 0d 0a | 09 61 64 64 09 68 6c 2c |offset..|.add.hl,|
|00003b70| 64 65 09 3b 20 70 6f 69 | 6e 74 20 74 6f 20 6a 75 |de.; poi|nt to ju|
|00003b80| 6d 70 20 69 6e 20 48 4c | 0d 0a 09 6c 64 09 61 2c |mp in HL|...ld.a,|
|00003b90| 28 68 6c 29 09 3b 20 67 | 65 74 20 6c 6f 77 0d 0a |(hl).; g|et low..|
|00003ba0| 09 69 6e 63 09 68 6c 0d | 0a 09 6c 64 09 68 2c 28 |.inc.hl.|..ld.h,(|
|00003bb0| 68 6c 29 09 3b 20 67 65 | 74 20 68 69 67 68 0d 0a |hl).; ge|t high..|
|00003bc0| 09 6c 64 09 6c 2c 61 09 | 3b 20 48 4c 20 3d 20 61 |.ld.l,a.|; HL = a|
|00003bd0| 64 64 72 65 73 73 20 74 | 6f 20 72 65 74 75 72 6e |ddress t|o return|
|00003be0| 20 74 6f 0d 0a 09 70 6f | 70 09 61 66 09 3b 20 67 | to...po|p.af.; g|
|00003bf0| 65 74 20 72 65 67 73 0d | 0a 09 70 6f 70 09 64 65 |et regs.|..pop.de|
|00003c00| 0d 0a 09 65 78 09 28 73 | 70 29 2c 68 6c 09 09 3b |...ex.(s|p),hl..;|
|00003c10| 20 72 65 73 74 6f 72 65 | 20 48 4c 2c 20 73 65 74 | restore| HL, set|
|00003c20| 20 61 64 64 72 65 73 73 | 20 6f 66 20 72 6f 75 74 | address| of rout|
|00003c30| 69 6e 65 0d 0a 09 72 65 | 74 0d 0a 0d 0a 09 65 6e |ine...re|t.....en|
|00003c40| 64 0d 0a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |d.......|........|
|00003c50| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003c60| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003c70| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003c80| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00003c90| 6c 65 20 4e 61 6d 65 3a | 20 41 47 4f 54 4f 32 0d |le Name:| AGOTO2.|
|00003ca0| 0a 3b 20 41 75 74 68 6f | 72 3a 20 52 69 63 68 61 |.; Autho|r: Richa|
|00003cb0| 72 64 20 43 6f 6e 6e 0d | 0a 3b 20 53 59 53 4c 49 |rd Conn.|.; SYSLI|
|00003cc0| 42 20 56 65 72 73 69 6f | 6e 20 4e 75 6d 62 65 72 |B Versio|n Number|
|00003cd0| 3a 20 33 2e 36 0d 0a 3b | 20 4d 6f 64 75 6c 65 20 |: 3.6..;| Module |
|00003ce0| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|00003cf0| 31 2e 31 0d 0a 0d 0a 09 | 70 75 62 6c 69 63 09 61 |1.1.....|public.a|
|00003d00| 67 6f 74 6f 32 0d 0a 0d | 0a 3b 0d 0a 3b 20 41 47 |goto2...|.;..; AG|
|00003d10| 4f 54 4f 32 20 69 73 20 | 61 20 63 6f 6d 70 75 74 |OTO2 is |a comput|
|00003d20| 65 64 20 47 4f 54 4f 2e | 20 20 57 68 65 6e 20 63 |ed GOTO.| When c|
|00003d30| 61 6c 6c 65 64 2c 20 72 | 65 67 69 73 74 65 72 20 |alled, r|egister |
|00003d40| 41 20 3d 20 69 6e 64 65 | 78 20 6f 66 20 66 6f 6c |A = inde|x of fol|
|00003d50| 6c 6f 77 69 6e 67 0d 0a | 3b 20 6a 75 6d 70 20 74 |lowing..|; jump t|
|00003d60| 6f 20 62 72 61 6e 63 68 | 20 74 6f 2c 20 61 73 20 |o branch| to, as |
|00003d70| 69 6e 64 69 63 61 74 65 | 64 3a 0d 0a 3b 0d 0a 3b |indicate|d:..;..;|
|00003d80| 09 4d 56 49 09 41 2c 49 | 4e 44 45 58 09 3b 20 7a |.MVI.A,I|NDEX.; z|
|00003d90| 65 72 6f 2d 72 65 6c 61 | 74 69 76 65 0d 0a 3b 09 |ero-rela|tive..;.|
|00003da0| 43 41 4c 4c 09 41 47 4f | 54 4f 32 0d 0a 3b 09 4a |CALL.AGO|TO2..;.J|
|00003db0| 4d 50 09 41 44 44 52 30 | 09 3b 20 49 46 20 41 3d |MP.ADDR0|.; IF A=|
|00003dc0| 30 0d 0a 3b 09 4a 4d 50 | 09 41 44 44 52 31 09 3b |0..;.JMP|.ADDR1.;|
|00003dd0| 20 49 46 20 41 3d 31 0d | 0a 3b 09 4a 4d 50 09 41 | IF A=1.|.;.JMP.A|
|00003de0| 44 44 52 32 09 3b 20 49 | 46 20 41 3d 32 0d 0a 3b |DDR2.; I|F A=2..;|
|00003df0| 09 3c 6e 65 78 74 20 69 | 6e 73 74 72 75 63 74 69 |.<next i|nstructi|
|00003e00| 6f 6e 3e 09 3b 20 49 46 | 20 41 3d 33 0d 0a 3b 09 |on>.; IF| A=3..;.|
|00003e10| 2e 2e 2e 0d 0a 3b 20 41 | 44 44 52 30 3a 09 09 3b |.....; A|DDR0:..;|
|00003e20| 20 43 4f 4d 45 20 48 45 | 52 45 20 49 46 20 41 3d | COME HE|RE IF A=|
|00003e30| 30 0d 0a 3b 09 2e 2e 2e | 0d 0a 3b 20 41 44 44 52 |0..;....|..; ADDR|
|00003e40| 31 3a 09 09 3b 20 43 4f | 4d 45 20 48 45 52 45 20 |1:..; CO|ME HERE |
|00003e50| 49 46 20 41 3d 31 0d 0a | 3b 09 2e 2e 2e 0d 0a 3b |IF A=1..|;......;|
|00003e60| 20 41 44 44 52 32 3a 09 | 09 3b 20 43 4f 4d 45 20 | ADDR2:.|.; COME |
|00003e70| 48 45 52 45 20 49 46 20 | 41 3d 32 0d 0a 3b 09 2e |HERE IF |A=2..;..|
|00003e80| 2e 2e 0d 0a 3b 0d 0a 3b | 20 4e 6f 20 65 72 72 6f |....;..;| No erro|
|00003e90| 72 20 6f 72 20 72 61 6e | 67 65 20 63 68 65 63 6b |r or ran|ge check|
|00003ea0| 69 6e 67 20 69 73 20 64 | 6f 6e 65 0d 0a 3b 0d 0a |ing is d|one..;..|
|00003eb0| 61 67 6f 74 6f 32 3a 0d | 0a 09 65 78 09 28 73 70 |agoto2:.|..ex.(sp|
|00003ec0| 29 2c 68 6c 09 09 3b 20 | 67 65 74 20 61 64 64 72 |),hl..; |get addr|
|00003ed0| 65 73 73 20 6f 66 20 72 | 6f 75 74 69 6e 65 73 2c |ess of r|outines,|
|00003ee0| 20 73 61 76 65 20 48 4c | 0d 0a 09 70 75 73 68 09 | save HL|...push.|
|00003ef0| 64 65 09 3b 20 73 61 76 | 65 20 72 65 67 73 0d 0a |de.; sav|e regs..|
|00003f00| 09 70 75 73 68 09 61 66 | 0d 0a 09 70 75 73 68 09 |.push.af|...push.|
|00003f10| 68 6c 09 3b 20 73 61 76 | 65 20 72 65 74 75 72 6e |hl.; sav|e return|
|00003f20| 20 61 64 64 72 65 73 73 | 0d 0a 09 6c 64 09 68 2c | address|...ld.h,|
|00003f30| 30 0d 0a 09 6c 64 09 6c | 2c 61 0d 0a 09 65 78 09 |0...ld.l|,a...ex.|
|00003f40| 64 65 2c 68 6c 09 09 3b | 20 69 6e 64 65 78 20 69 |de,hl..;| index i|
|00003f50| 6e 20 44 45 0d 0a 09 6c | 64 09 68 6c 2c 30 0d 0a |n DE...l|d.hl,0..|
|00003f60| 09 61 64 64 09 68 6c 2c | 64 65 09 3b 20 48 4c 20 |.add.hl,|de.; HL |
|00003f70| 3d 20 69 6e 64 65 78 0d | 0a 09 61 64 64 09 68 6c |= index.|..add.hl|
|00003f80| 2c 68 6c 09 3b 20 48 4c | 20 3d 20 69 6e 64 65 78 |,hl.; HL| = index|
|00003f90| 20 2a 20 32 0d 0a 09 61 | 64 64 09 68 6c 2c 64 65 | * 2...a|dd.hl,de|
|00003fa0| 09 3b 20 48 4c 20 3d 20 | 69 6e 64 65 78 20 2a 20 |.; HL = |index * |
|00003fb0| 33 0d 0a 09 70 6f 70 09 | 64 65 09 3b 20 67 65 74 |3...pop.|de.; get|
|00003fc0| 20 72 65 74 75 72 6e 20 | 61 64 64 72 65 73 73 0d | return |address.|
|00003fd0| 0a 09 61 64 64 09 68 6c | 2c 64 65 09 3b 20 70 6f |..add.hl|,de.; po|
|00003fe0| 69 6e 74 20 74 6f 20 6a | 75 6d 70 20 69 6e 20 48 |int to j|ump in H|
|00003ff0| 4c 0d 0a 09 70 6f 70 09 | 61 66 09 3b 20 67 65 74 |L...pop.|af.; get|
|00004000| 20 72 65 67 73 0d 0a 09 | 70 6f 70 09 64 65 0d 0a | regs...|pop.de..|
|00004010| 09 65 78 09 28 73 70 29 | 2c 68 6c 09 09 3b 20 72 |.ex.(sp)|,hl..; r|
|00004020| 65 73 74 6f 72 65 20 48 | 4c 2c 20 73 65 74 20 61 |estore H|L, set a|
|00004030| 64 64 72 65 73 73 20 6f | 66 20 72 6f 75 74 69 6e |ddress o|f routin|
|00004040| 65 0d 0a 09 72 65 74 0d | 0a 0d 0a 09 65 6e 64 0d |e...ret.|....end.|
|00004050| 0a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004060| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004070| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004080| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00004090| 6c 65 20 4e 61 6d 65 3a | 20 41 49 46 31 0d 0a 3b |le Name:| AIF1..;|
|000040a0| 20 41 75 74 68 6f 72 3a | 20 52 69 63 68 61 72 64 | Author:| Richard|
|000040b0| 20 43 6f 6e 6e 0d 0a 3b | 20 53 59 53 4c 49 42 20 | Conn..;| SYSLIB |
|000040c0| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|000040d0| 33 2e 36 0d 0a 3b 20 4d | 6f 64 75 6c 65 20 56 65 |3.6..; M|odule Ve|
|000040e0| 72 73 69 6f 6e 20 4e 75 | 6d 62 65 72 3a 20 31 2e |rsion Nu|mber: 1.|
|000040f0| 31 0d 0a 0d 0a 09 70 75 | 62 6c 69 63 09 61 69 66 |1.....pu|blic.aif|
|00004100| 31 0d 0a 0d 0a 3b 0d 0a | 3b 20 41 49 46 31 20 69 |1....;..|; AIF1 i|
|00004110| 73 20 61 6e 20 61 72 69 | 74 68 6d 65 74 69 63 20 |s an ari|thmetic |
|00004120| 49 46 20 66 61 63 69 6c | 69 74 79 2e 20 20 41 20 |IF facil|ity. A |
|00004130| 6b 65 79 20 76 61 6c 75 | 65 20 69 73 20 70 61 73 |key valu|e is pas|
|00004140| 73 65 64 20 69 6e 20 74 | 68 65 20 42 20 72 65 67 |sed in t|he B reg|
|00004150| 69 73 74 65 72 0d 0a 3b | 20 61 6e 64 20 61 20 74 |ister..;| and a t|
|00004160| 65 73 74 20 76 61 6c 75 | 65 20 69 73 20 70 61 73 |est valu|e is pas|
|00004170| 73 65 64 20 69 6e 20 74 | 68 65 20 41 20 72 65 67 |sed in t|he A reg|
|00004180| 69 73 74 65 72 3a 0d 0a | 3b 0d 0a 3b 09 4d 56 49 |ister:..|;..;.MVI|
|00004190| 09 42 2c 35 09 3b 20 6b | 65 79 20 76 61 6c 75 65 |.B,5.; k|ey value|
|000041a0| 0d 0a 3b 09 4d 56 49 09 | 41 2c 54 45 53 54 09 3b |..;.MVI.|A,TEST.;|
|000041b0| 20 74 65 73 74 20 76 61 | 6c 75 65 0d 0a 3b 09 43 | test va|lue..;.C|
|000041c0| 41 4c 4c 09 41 49 46 31 | 0d 0a 3b 09 44 57 09 41 |ALL.AIF1|..;.DW.A|
|000041d0| 4c 54 42 09 3b 20 67 6f | 20 68 65 72 65 20 69 66 |LTB.; go| here if|
|000041e0| 20 41 20 3c 20 42 0d 0a | 3b 09 44 57 09 41 45 51 | A < B..|;.DW.AEQ|
|000041f0| 42 09 3b 20 67 6f 20 68 | 65 72 65 20 69 66 20 41 |B.; go h|ere if A|
|00004200| 20 3d 20 42 0d 0a 3b 09 | 44 57 09 41 47 54 42 09 | = B..;.|DW.AGTB.|
|00004210| 3b 20 67 6f 20 68 65 72 | 65 20 69 66 20 41 20 3e |; go her|e if A >|
|00004220| 20 42 0d 0a 3b 0d 0a 61 | 69 66 31 3a 0d 0a 09 65 | B..;..a|if1:...e|
|00004230| 78 09 28 73 70 29 2c 68 | 6c 09 3b 20 67 65 74 20 |x.(sp),h|l.; get |
|00004240| 72 65 74 75 72 6e 20 61 | 64 64 72 65 73 73 0d 0a |return a|ddress..|
|00004250| 09 70 75 73 68 09 61 66 | 09 3b 20 73 61 76 65 20 |.push.af|.; save |
|00004260| 72 65 67 73 0d 0a 09 70 | 75 73 68 09 64 65 0d 0a |regs...p|ush.de..|
|00004270| 09 63 70 09 62 09 3b 20 | 63 6f 6d 70 61 72 65 0d |.cp.b.; |compare.|
|00004280| 0a 09 6a 70 09 63 2c 6c | 65 73 73 0d 0a 09 6a 70 |..jp.c,l|ess...jp|
|00004290| 09 7a 2c 65 71 75 61 6c | 0d 0a 09 6c 64 09 64 65 |.z,equal|...ld.de|
|000042a0| 2c 34 09 3b 20 41 20 3e | 20 42 2c 20 73 6f 20 61 |,4.; A >| B, so a|
|000042b0| 64 64 20 34 0d 0a 09 61 | 64 64 09 68 6c 2c 64 65 |dd 4...a|dd.hl,de|
|000042c0| 0d 0a 09 6a 70 09 6c 65 | 73 73 0d 0a 65 71 75 61 |...jp.le|ss..equa|
|000042d0| 6c 3a 0d 0a 09 6c 64 09 | 64 65 2c 32 09 3b 20 41 |l:...ld.|de,2.; A|
|000042e0| 20 3d 20 42 2c 20 73 6f | 20 61 64 64 20 32 0d 0a | = B, so| add 2..|
|000042f0| 09 61 64 64 09 68 6c 2c | 64 65 0d 0a 3b 0d 0a 3b |.add.hl,|de..;..;|
|00004300| 20 20 41 20 3c 20 42 2c | 20 73 6f 20 48 4c 20 63 | A < B,| so HL c|
|00004310| 6f 6e 74 61 69 6e 73 20 | 74 68 65 20 61 64 64 72 |ontains |the addr|
|00004320| 65 73 73 20 70 6f 69 6e | 74 65 72 20 28 6e 6f 20 |ess poin|ter (no |
|00004330| 63 68 61 6e 67 65 29 0d | 0a 3b 0d 0a 6c 65 73 73 |change).|.;..less|
|00004340| 3a 0d 0a 09 6c 64 09 61 | 2c 28 68 6c 29 09 3b 20 |:...ld.a|,(hl).; |
|00004350| 67 65 74 20 6c 6f 77 0d | 0a 09 69 6e 63 09 68 6c |get low.|..inc.hl|
|00004360| 0d 0a 09 6c 64 09 68 2c | 28 68 6c 29 09 3b 20 67 |...ld.h,|(hl).; g|
|00004370| 65 74 20 68 69 67 68 0d | 0a 09 6c 64 09 6c 2c 61 |et high.|..ld.l,a|
|00004380| 09 3b 20 48 4c 20 3d 20 | 61 64 64 72 65 73 73 20 |.; HL = |address |
|00004390| 74 6f 20 72 65 74 75 72 | 6e 20 74 6f 0d 0a 09 70 |to retur|n to...p|
|000043a0| 6f 70 09 64 65 09 3b 20 | 72 65 73 74 6f 72 65 20 |op.de.; |restore |
|000043b0| 72 65 67 73 0d 0a 09 70 | 6f 70 09 61 66 0d 0a 09 |regs...p|op.af...|
|000043c0| 65 78 09 28 73 70 29 2c | 68 6c 0d 0a 09 72 65 74 |ex.(sp),|hl...ret|
|000043d0| 0d 0a 0d 0a 09 65 6e 64 | 0d 0a 1a 1a 1a 1a 1a 1a |.....end|........|
|000043e0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|000043f0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004400| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00004410| 6c 65 20 4e 61 6d 65 3a | 20 41 49 46 32 0d 0a 3b |le Name:| AIF2..;|
|00004420| 20 41 75 74 68 6f 72 3a | 20 52 69 63 68 61 72 64 | Author:| Richard|
|00004430| 20 43 6f 6e 6e 0d 0a 3b | 20 53 59 53 4c 49 42 20 | Conn..;| SYSLIB |
|00004440| 56 65 72 73 69 6f 6e 20 | 4e 75 6d 62 65 72 3a 20 |Version |Number: |
|00004450| 33 2e 36 0d 0a 3b 20 4d | 6f 64 75 6c 65 20 56 65 |3.6..; M|odule Ve|
|00004460| 72 73 69 6f 6e 20 4e 75 | 6d 62 65 72 3a 20 31 2e |rsion Nu|mber: 1.|
|00004470| 31 0d 0a 0d 0a 09 70 75 | 62 6c 69 63 09 61 69 66 |1.....pu|blic.aif|
|00004480| 32 0d 0a 0d 0a 3b 0d 0a | 3b 20 41 49 46 32 20 69 |2....;..|; AIF2 i|
|00004490| 73 20 61 6e 20 61 72 69 | 74 68 6d 65 74 69 63 20 |s an ari|thmetic |
|000044a0| 49 46 20 66 61 63 69 6c | 69 74 79 2e 20 20 41 20 |IF facil|ity. A |
|000044b0| 6b 65 79 20 76 61 6c 75 | 65 20 69 73 20 70 61 73 |key valu|e is pas|
|000044c0| 73 65 64 20 69 6e 20 74 | 68 65 20 42 20 72 65 67 |sed in t|he B reg|
|000044d0| 69 73 74 65 72 0d 0a 3b | 20 61 6e 64 20 61 20 74 |ister..;| and a t|
|000044e0| 65 73 74 20 76 61 6c 75 | 65 20 69 73 20 70 61 73 |est valu|e is pas|
|000044f0| 73 65 64 20 69 6e 20 74 | 68 65 20 41 20 72 65 67 |sed in t|he A reg|
|00004500| 69 73 74 65 72 3a 0d 0a | 3b 0d 0a 3b 09 4d 56 49 |ister:..|;..;.MVI|
|00004510| 09 42 2c 35 09 3b 20 6b | 65 79 20 76 61 6c 75 65 |.B,5.; k|ey value|
|00004520| 0d 0a 3b 09 4d 56 49 09 | 41 2c 54 45 53 54 09 3b |..;.MVI.|A,TEST.;|
|00004530| 20 74 65 73 74 20 76 61 | 6c 75 65 0d 0a 3b 09 43 | test va|lue..;.C|
|00004540| 41 4c 4c 09 41 49 46 32 | 0d 0a 3b 09 4a 4d 50 09 |ALL.AIF2|..;.JMP.|
|00004550| 41 4c 54 42 09 3b 20 67 | 6f 20 68 65 72 65 20 69 |ALTB.; g|o here i|
|00004560| 66 20 41 20 3c 20 42 0d | 0a 3b 09 4a 4d 50 09 41 |f A < B.|.;.JMP.A|
|00004570| 45 51 42 09 3b 20 67 6f | 20 68 65 72 65 20 69 66 |EQB.; go| here if|
|00004580| 20 41 20 3d 20 42 0d 0a | 3b 09 4a 4d 50 09 41 47 | A = B..|;.JMP.AG|
|00004590| 54 42 09 3b 20 67 6f 20 | 68 65 72 65 20 69 66 20 |TB.; go |here if |
|000045a0| 41 20 3e 20 42 0d 0a 3b | 0d 0a 61 69 66 32 3a 0d |A > B..;|..aif2:.|
|000045b0| 0a 09 65 78 09 28 73 70 | 29 2c 68 6c 09 3b 20 67 |..ex.(sp|),hl.; g|
|000045c0| 65 74 20 72 65 74 75 72 | 6e 20 61 64 64 72 65 73 |et retur|n addres|
|000045d0| 73 0d 0a 09 70 75 73 68 | 09 61 66 09 3b 20 73 61 |s...push|.af.; sa|
|000045e0| 76 65 20 72 65 67 73 0d | 0a 09 70 75 73 68 09 64 |ve regs.|..push.d|
|000045f0| 65 0d 0a 09 63 70 09 62 | 09 3b 20 63 6f 6d 70 61 |e...cp.b|.; compa|
|00004600| 72 65 0d 0a 09 6a 70 09 | 63 2c 6c 65 73 73 0d 0a |re...jp.|c,less..|
|00004610| 09 6a 70 09 7a 2c 65 71 | 75 61 6c 0d 0a 09 6c 64 |.jp.z,eq|ual...ld|
|00004620| 09 64 65 2c 36 09 3b 20 | 41 20 3e 20 42 2c 20 73 |.de,6.; |A > B, s|
|00004630| 6f 20 61 64 64 20 36 0d | 0a 09 61 64 64 09 68 6c |o add 6.|..add.hl|
|00004640| 2c 64 65 0d 0a 09 6a 70 | 09 6c 65 73 73 0d 0a 65 |,de...jp|.less..e|
|00004650| 71 75 61 6c 3a 0d 0a 09 | 6c 64 09 64 65 2c 33 09 |qual:...|ld.de,3.|
|00004660| 3b 20 41 20 3d 20 42 2c | 20 73 6f 20 61 64 64 20 |; A = B,| so add |
|00004670| 33 0d 0a 09 61 64 64 09 | 68 6c 2c 64 65 0d 0a 3b |3...add.|hl,de..;|
|00004680| 0d 0a 3b 20 20 41 20 3c | 20 42 2c 20 73 6f 20 48 |..; A <| B, so H|
|00004690| 4c 20 63 6f 6e 74 61 69 | 6e 73 20 74 68 65 20 72 |L contai|ns the r|
|000046a0| 65 74 75 72 6e 20 61 64 | 64 72 65 73 73 20 28 6e |eturn ad|dress (n|
|000046b0| 6f 20 63 68 61 6e 67 65 | 29 0d 0a 3b 0d 0a 6c 65 |o change|)..;..le|
|000046c0| 73 73 3a 0d 0a 09 70 6f | 70 09 64 65 09 3b 20 72 |ss:...po|p.de.; r|
|000046d0| 65 73 74 6f 72 65 20 72 | 65 67 73 0d 0a 09 70 6f |estore r|egs...po|
|000046e0| 70 09 61 66 0d 0a 09 65 | 78 09 28 73 70 29 2c 68 |p.af...e|x.(sp),h|
|000046f0| 6c 0d 0a 09 72 65 74 0d | 0a 0d 0a 09 65 6e 64 0d |l...ret.|....end.|
|00004700| 0a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004710| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004720| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004730| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004740| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004750| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004760| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004770| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00004780| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00004790| 6c 65 20 4e 61 6d 65 3a | 20 20 53 41 4c 4c 4f 43 |le Name:| SALLOC|
|000047a0| 0d 0a 3b 20 41 75 74 68 | 6f 72 3a 20 20 52 69 63 |..; Auth|or: Ric|
|000047b0| 68 61 72 64 20 43 6f 6e | 6e 0d 0a 3b 20 53 59 53 |hard Con|n..; SYS|
|000047c0| 4c 49 42 20 56 65 72 73 | 69 6f 6e 20 4e 75 6d 62 |LIB Vers|ion Numb|
|000047d0| 65 72 3a 20 20 33 2e 36 | 0d 0a 3b 20 4d 6f 64 75 |er: 3.6|..; Modu|
|000047e0| 6c 65 20 56 65 72 73 69 | 6f 6e 20 4e 75 6d 62 65 |le Versi|on Numbe|
|000047f0| 72 3a 20 20 31 2e 31 0d | 0a 0d 0a 09 70 75 62 6c |r: 1.1.|....publ|
|00004800| 69 63 09 69 61 6c 6c 6f | 63 2c 61 6c 6c 6f 63 0d |ic.iallo|c,alloc.|
|00004810| 0a 0d 0a 3b 0d 0a 3b 20 | 20 42 44 4f 53 20 45 4e |...;..; | BDOS EN|
|00004820| 54 52 59 20 50 4f 49 4e | 54 0d 0a 3b 0d 0a 42 44 |TRY POIN|T..;..BD|
|00004830| 4f 53 45 09 45 51 55 09 | 35 0d 0a 0d 0a 3b 0d 0a |OSE.EQU.|5....;..|
|00004840| 3b 20 20 53 59 53 4c 49 | 42 20 46 55 4e 43 54 49 |; SYSLI|B FUNCTI|
|00004850| 4f 4e 53 0d 0a 3b 0d 0a | 09 45 58 54 09 43 4f 44 |ONS..;..|.EXT.COD|
|00004860| 45 4e 44 0d 0a 09 45 58 | 54 09 43 4f 4d 50 48 44 |END...EX|T.COMPHD|
|00004870| 0d 0a 0d 0a 3b 0d 0a 3b | 09 41 4c 4c 4f 43 20 61 |....;..;|.ALLOC a|
|00004880| 6e 64 20 49 41 4c 4c 4f | 43 20 73 75 70 70 6f 72 |nd IALLO|C suppor|
|00004890| 74 20 64 79 6e 61 6d 69 | 63 20 6d 65 6d 6f 72 79 |t dynami|c memory|
|000048a0| 20 61 6c 6c 6f 63 61 74 | 69 6f 6e 2e 20 20 49 41 | allocat|ion. IA|
|000048b0| 4c 4c 4f 43 20 69 73 0d | 0a 3b 20 75 73 65 64 20 |LLOC is.|.; used |
|000048c0| 74 6f 20 69 6e 69 74 69 | 61 6c 69 7a 65 20 74 68 |to initi|alize th|
|000048d0| 65 20 73 79 73 74 65 6d | 2c 20 73 70 65 63 69 66 |e system|, specif|
|000048e0| 79 69 6e 67 20 77 68 65 | 72 65 20 74 68 65 20 66 |ying whe|re the f|
|000048f0| 69 72 73 74 20 62 79 74 | 65 20 6f 66 0d 0a 3b 20 |irst byt|e of..; |
|00004900| 74 68 65 20 64 79 6e 61 | 6d 69 63 20 62 75 66 66 |the dyna|mic buff|
|00004910| 65 72 20 69 73 20 61 6e | 64 20 77 68 65 72 65 20 |er is an|d where |
|00004920| 74 68 65 20 6c 61 73 74 | 20 62 79 74 65 20 6f 66 |the last| byte of|
|00004930| 20 74 68 69 73 20 62 75 | 66 66 65 72 20 69 73 2e | this bu|ffer is.|
|00004940| 0d 0a 3b 20 54 68 65 20 | 75 73 65 72 20 6d 61 79 |..; The |user may|
|00004950| 20 65 78 70 6c 69 63 69 | 74 6c 79 20 67 69 76 65 | explici|tly give|
|00004960| 20 7a 65 72 6f 2c 20 6f | 6e 65 2c 20 6f 72 20 62 | zero, o|ne, or b|
|00004970| 6f 74 68 20 6f 66 20 74 | 68 65 73 65 20 76 61 6c |oth of t|hese val|
|00004980| 75 65 73 2c 20 61 6e 64 | 2c 0d 0a 3b 20 66 6f 72 |ues, and|,..; for|
|00004990| 20 74 68 6f 73 65 20 76 | 61 6c 75 65 73 20 6f 6d | those v|alues om|
|000049a0| 69 74 74 65 64 2c 20 49 | 41 4c 4c 4f 43 20 73 65 |itted, I|ALLOC se|
|000049b0| 6c 65 63 74 73 20 74 68 | 65 20 61 72 65 61 20 6a |lects th|e area j|
|000049c0| 75 73 74 20 61 66 74 65 | 72 20 74 68 65 0d 0a 3b |ust afte|r the..;|
|000049d0| 20 75 73 65 72 20 70 72 | 6f 67 72 61 6d 20 66 6f | user pr|ogram fo|
|000049e0| 72 20 74 68 65 20 62 65 | 67 69 6e 6e 69 6e 67 20 |r the be|ginning |
|000049f0| 6f 66 20 74 68 65 20 62 | 75 66 66 65 72 20 61 6e |of the b|uffer an|
|00004a00| 64 20 74 68 65 20 62 6f | 74 74 6f 6d 20 6f 66 20 |d the bo|ttom of |
|00004a10| 74 68 65 20 43 43 50 0d | 0a 3b 20 66 6f 72 20 74 |the CCP.|.; for t|
|00004a20| 68 65 20 65 6e 64 20 6f | 66 20 74 68 65 20 62 75 |he end o|f the bu|
|00004a30| 66 66 65 72 2e 20 20 41 | 4c 4c 4f 43 2c 20 74 68 |ffer. A|LLOC, th|
|00004a40| 65 6e 2c 20 69 73 20 75 | 73 65 64 20 74 6f 20 6f |en, is u|sed to o|
|00004a50| 62 74 61 69 6e 20 62 75 | 66 66 65 72 73 0d 0a 3b |btain bu|ffers..;|
|00004a60| 20 66 72 6f 6d 20 74 68 | 69 73 20 61 72 65 61 2e | from th|is area.|
|00004a70| 20 20 41 4c 4c 4f 43 20 | 69 73 20 63 61 6c 6c 65 | ALLOC |is calle|
|00004a80| 64 20 77 69 74 68 20 74 | 68 65 20 64 65 73 69 72 |d with t|he desir|
|00004a90| 65 64 20 73 70 61 63 65 | 20 69 6e 20 44 45 2c 20 |ed space| in DE, |
|00004aa0| 61 6e 64 20 69 74 0d 0a | 3b 20 72 65 74 75 72 6e |and it..|; return|
|00004ab0| 73 20 61 20 70 6f 69 6e | 74 65 72 20 74 6f 20 74 |s a poin|ter to t|
|00004ac0| 68 65 20 66 69 72 73 74 | 20 62 79 74 65 20 6f 66 |he first| byte of|
|00004ad0| 20 74 68 65 20 61 6c 6c | 6f 63 61 74 65 64 20 62 | the all|ocated b|
|00004ae0| 75 66 66 65 72 20 69 6e | 20 48 4c 0d 0a 3b 20 77 |uffer in| HL..; w|
|00004af0| 69 74 68 20 61 20 66 6c | 61 67 20 28 5a 20 6d 65 |ith a fl|ag (Z me|
|00004b00| 61 6e 73 20 62 75 66 66 | 65 72 20 6e 6f 74 20 61 |ans buff|er not a|
|00004b10| 6c 6c 6f 63 61 74 65 64 | 20 64 75 65 20 74 6f 20 |llocated| due to |
|00004b20| 6d 65 6d 6f 72 79 20 6f | 76 65 72 66 6c 6f 77 29 |memory o|verflow)|
|00004b30| 2e 0d 0a 3b 0d 0a 0d 0a | 3b 0d 0a 3b 09 49 41 4c |...;....|;..;.IAL|
|00004b40| 4c 4f 43 20 2d 2d 20 49 | 6e 69 74 69 61 6c 69 7a |LOC -- I|nitializ|
|00004b50| 65 20 74 68 65 20 41 6c | 6c 6f 63 61 74 69 6f 6e |e the Al|location|
|00004b60| 20 50 72 6f 63 65 73 73 | 0d 0a 3b 0d 0a 3b 09 4f | Process|..;..;.O|
|00004b70| 6e 20 49 6e 70 75 74 2c | 20 48 4c 20 3d 20 53 74 |n Input,| HL = St|
|00004b80| 61 72 74 69 6e 67 20 41 | 64 64 72 65 73 73 20 6f |arting A|ddress o|
|00004b90| 66 20 42 75 66 66 65 72 | 20 41 72 65 61 0d 0a 3b |f Buffer| Area..;|
|00004ba0| 09 09 20 20 44 45 20 3d | 20 45 6e 64 20 41 64 64 |.. DE =| End Add|
|00004bb0| 72 65 73 73 20 6f 66 20 | 42 75 66 66 65 72 20 41 |ress of |Buffer A|
|00004bc0| 72 65 61 0d 0a 3b 09 09 | 20 20 41 20 20 3d 20 46 |rea..;..| A = F|
|00004bd0| 6c 61 67 3a 0d 0a 3b 09 | 09 09 42 69 74 20 30 20 |lag:..;.|..Bit 0 |
|00004be0| 2d 20 69 66 20 73 65 74 | 2c 20 73 65 74 20 73 74 |- if set|, set st|
|00004bf0| 61 72 74 69 6e 67 20 61 | 64 64 72 65 73 73 20 66 |arting a|ddress f|
|00004c00| 72 6f 6d 20 48 4c 0d 0a | 3b 09 09 09 09 69 66 20 |rom HL..|;....if |
|00004c10| 63 6c 65 61 72 2c 20 73 | 65 74 20 73 74 61 72 74 |clear, s|et start|
|00004c20| 69 6e 67 20 61 64 64 72 | 65 73 73 20 66 72 6f 6d |ing addr|ess from|
|00004c30| 20 43 4f 44 45 4e 44 0d | 0a 3b 09 09 09 42 69 74 | CODEND.|.;...Bit|
|00004c40| 20 31 20 2d 20 69 66 20 | 73 65 74 2c 20 73 65 74 | 1 - if |set, set|
|00004c50| 20 65 6e 64 69 6e 67 20 | 61 64 64 72 65 73 73 20 | ending |address |
|00004c60| 66 72 6f 6d 20 44 45 0d | 0a 3b 09 09 09 09 69 66 |from DE.|.;....if|
|00004c70| 20 63 6c 65 61 72 2c 20 | 73 65 74 20 65 6e 64 69 | clear, |set endi|
|00004c80| 6e 67 20 61 64 64 72 65 | 73 73 20 66 72 6f 6d 20 |ng addre|ss from |
|00004c90| 43 43 50 0d 0a 3b 0d 0a | 49 41 4c 4c 4f 43 3a 0d |CCP..;..|IALLOC:.|
|00004ca0| 0a 09 50 55 53 48 09 41 | 46 09 3b 20 53 41 56 45 |..PUSH.A|F.; SAVE|
|00004cb0| 20 52 45 47 53 0d 0a 09 | 50 55 53 48 09 48 4c 0d | REGS...|PUSH.HL.|
|00004cc0| 0a 09 50 55 53 48 09 44 | 45 0d 0a 09 50 55 53 48 |..PUSH.D|E...PUSH|
|00004cd0| 09 42 43 0d 0a 09 4c 44 | 09 42 2c 41 09 3b 20 53 |.BC...LD|.B,A.; S|
|00004ce0| 41 56 45 20 43 4f 44 45 | 0d 0a 09 41 4e 44 09 31 |AVE CODE|...AND.1|
|00004cf0| 09 3b 20 53 45 54 20 46 | 52 4f 4d 20 48 4c 3f 0d |.; SET F|ROM HL?.|
|00004d00| 0a 09 4a 50 09 4e 5a 2c | 49 41 4c 31 0d 0a 09 43 |..JP.NZ,|IAL1...C|
|00004d10| 41 4c 4c 09 43 4f 44 45 | 4e 44 09 3b 20 47 45 54 |ALL.CODE|ND.; GET|
|00004d20| 20 53 54 41 52 54 49 4e | 47 20 41 44 44 52 45 53 | STARTIN|G ADDRES|
|00004d30| 53 20 46 52 4f 4d 20 43 | 4f 44 45 4e 44 0d 0a 49 |S FROM C|ODEND..I|
|00004d40| 41 4c 31 3a 0d 0a 09 4c | 44 09 28 4e 45 58 54 42 |AL1:...L|D.(NEXTB|
|00004d50| 59 54 45 29 2c 48 4c 09 | 3b 20 53 45 54 20 50 54 |YTE),HL.|; SET PT|
|00004d60| 52 20 54 4f 20 4e 45 58 | 54 20 42 59 54 45 0d 0a |R TO NEX|T BYTE..|
|00004d70| 09 45 58 09 44 45 2c 48 | 4c 09 09 3b 20 55 53 45 |.EX.DE,H|L..; USE|
|00004d80| 20 44 45 20 4e 4f 57 0d | 0a 09 4c 44 09 41 2c 42 | DE NOW.|..LD.A,B|
|00004d90| 09 3b 20 47 45 54 20 43 | 4f 44 45 0d 0a 09 41 4e |.; GET C|ODE...AN|
|00004da0| 44 09 32 09 3b 20 53 45 | 54 20 46 52 4f 4d 20 48 |D.2.; SE|T FROM H|
|00004db0| 4c 3f 0d 0a 09 4a 50 09 | 4e 5a 2c 49 41 4c 32 0d |L?...JP.|NZ,IAL2.|
|00004dc0| 0a 09 4c 44 09 48 4c 2c | 28 42 44 4f 53 45 2b 31 |..LD.HL,|(BDOSE+1|
|00004dd0| 29 09 3b 20 47 45 54 20 | 42 44 4f 53 20 42 41 53 |).; GET |BDOS BAS|
|00004de0| 45 20 41 44 44 52 45 53 | 53 20 46 52 4f 4d 20 45 |E ADDRES|S FROM E|
|00004df0| 4e 54 52 59 20 50 4f 49 | 4e 54 0d 0a 09 4c 44 09 |NTRY POI|NT...LD.|
|00004e00| 41 2c 48 0d 0a 09 53 55 | 42 09 38 09 3b 20 50 54 |A,H...SU|B.8.; PT|
|00004e10| 20 54 4f 20 43 43 50 0d | 0a 09 4c 44 09 48 2c 41 | TO CCP.|..LD.H,A|
|00004e20| 0d 0a 09 4c 44 09 4c 2c | 30 09 3b 20 48 4c 20 50 |...LD.L,|0.; HL P|
|00004e30| 54 53 20 54 4f 20 42 41 | 53 45 20 4f 46 20 43 43 |TS TO BA|SE OF CC|
|00004e40| 50 0d 0a 09 44 45 43 09 | 48 4c 09 3b 20 4f 4e 45 |P...DEC.|HL.; ONE|
|00004e50| 20 42 59 54 45 20 4c 4f | 57 45 52 0d 0a 49 41 4c | BYTE LO|WER..IAL|
|00004e60| 32 3a 0d 0a 09 4c 44 09 | 28 4c 41 53 54 42 59 54 |2:...LD.|(LASTBYT|
|00004e70| 45 29 2c 48 4c 09 3b 20 | 53 45 54 20 50 54 52 20 |E),HL.; |SET PTR |
|00004e80| 54 4f 20 4c 41 53 54 20 | 42 59 54 45 0d 0a 09 50 |TO LAST |BYTE...P|
|00004e90| 4f 50 09 42 43 09 3b 20 | 52 45 53 54 4f 52 45 20 |OP.BC.; |RESTORE |
|00004ea0| 52 45 47 53 0d 0a 09 50 | 4f 50 09 44 45 0d 0a 09 |REGS...P|OP.DE...|
|00004eb0| 50 4f 50 09 48 4c 0d 0a | 09 50 4f 50 09 41 46 0d |POP.HL..|.POP.AF.|
|00004ec0| 0a 09 52 45 54 0d 0a 0d | 0a 3b 0d 0a 3b 20 20 41 |..RET...|.;..; A|
|00004ed0| 4c 4c 4f 43 20 2d 2d 20 | 41 6c 6c 6f 63 61 74 65 |LLOC -- |Allocate|
|00004ee0| 20 42 75 66 66 65 72 20 | 66 6f 72 20 75 73 65 72 | Buffer |for user|
|00004ef0| 0d 0a 3b 09 4f 6e 20 49 | 6e 70 75 74 2c 20 44 45 |..;.On I|nput, DE|
|00004f00| 20 3d 20 6e 75 6d 62 65 | 72 20 6f 66 20 62 79 74 | = numbe|r of byt|
|00004f10| 65 73 20 72 65 71 75 65 | 73 74 65 64 0d 0a 3b 09 |es reque|sted..;.|
|00004f20| 4f 6e 20 4f 75 74 70 75 | 74 2c 20 48 4c 20 3d 20 |On Outpu|t, HL = |
|00004f30| 61 64 64 72 65 73 73 20 | 6f 66 20 66 69 72 73 74 |address |of first|
|00004f40| 20 62 79 74 65 20 6f 66 | 20 62 75 66 66 65 72 0d | byte of| buffer.|
|00004f50| 0a 3b 09 09 20 20 20 41 | 20 3d 20 46 6c 61 67 3a |.;.. A| = Flag:|
|00004f60| 0d 0a 3b 09 09 09 41 20 | 3d 20 30 20 61 6e 64 20 |..;...A |= 0 and |
|00004f70| 5a 20 46 6c 61 67 20 69 | 66 20 43 43 50 20 4f 76 |Z Flag i|f CCP Ov|
|00004f80| 65 72 66 6c 6f 77 20 28 | 48 4c 20 6e 6f 77 20 69 |erflow (|HL now i|
|00004f90| 6e 76 61 6c 69 64 29 0d | 0a 3b 09 09 09 41 20 3d |nvalid).|.;...A =|
|00004fa0| 20 30 46 46 48 20 61 6e | 64 20 4e 5a 20 46 6c 61 | 0FFH an|d NZ Fla|
|00004fb0| 67 20 69 66 20 4f 4b 0d | 0a 3b 0d 0a 41 4c 4c 4f |g if OK.|.;..ALLO|
|00004fc0| 43 3a 0d 0a 09 50 55 53 | 48 09 44 45 0d 0a 09 4c |C:...PUS|H.DE...L|
|00004fd0| 44 09 48 4c 2c 28 4e 45 | 58 54 42 59 54 45 29 09 |D.HL,(NE|XTBYTE).|
|00004fe0| 3b 20 53 45 54 20 4e 45 | 58 54 20 42 59 54 45 0d |; SET NE|XT BYTE.|
|00004ff0| 0a 09 41 44 44 09 48 4c | 2c 44 45 09 3b 20 50 54 |..ADD.HL|,DE.; PT|
|00005000| 20 54 4f 20 41 46 54 45 | 52 20 4c 41 53 54 20 42 | TO AFTE|R LAST B|
|00005010| 59 54 45 0d 0a 09 45 58 | 09 44 45 2c 48 4c 0d 0a |YTE...EX|.DE,HL..|
|00005020| 09 4c 44 09 48 4c 2c 28 | 4c 41 53 54 42 59 54 45 |.LD.HL,(|LASTBYTE|
|00005030| 29 09 3b 20 4f 56 45 52 | 46 4c 4f 57 3f 0d 0a 09 |).; OVER|FLOW?...|
|00005040| 43 41 4c 4c 09 43 4f 4d | 50 48 44 09 3b 20 4f 56 |CALL.COM|PHD.; OV|
|00005050| 45 52 46 4c 4f 57 3f 0d | 0a 09 4a 50 09 43 2c 41 |ERFLOW?.|..JP.C,A|
|00005060| 4c 45 52 52 09 3b 20 41 | 4c 4c 4f 43 41 54 49 4f |LERR.; A|LLOCATIO|
|00005070| 4e 20 45 52 52 4f 52 0d | 0a 09 4c 44 09 48 4c 2c |N ERROR.|..LD.HL,|
|00005080| 28 4e 45 58 54 42 59 54 | 45 29 09 3b 20 47 45 54 |(NEXTBYT|E).; GET|
|00005090| 20 50 54 52 20 54 4f 20 | 4e 45 58 54 20 42 59 54 | PTR TO |NEXT BYT|
|000050a0| 45 0d 0a 09 45 58 09 44 | 45 2c 48 4c 09 09 3b 20 |E...EX.D|E,HL..; |
|000050b0| 48 4c 20 50 54 53 20 54 | 4f 20 41 46 54 45 52 20 |HL PTS T|O AFTER |
|000050c0| 4c 41 53 54 20 42 59 54 | 45 0d 0a 09 4c 44 09 28 |LAST BYT|E...LD.(|
|000050d0| 4e 45 58 54 42 59 54 45 | 29 2c 48 4c 09 3b 20 4e |NEXTBYTE|),HL.; N|
|000050e0| 45 57 20 4e 45 58 54 20 | 42 59 54 45 0d 0a 09 45 |EW NEXT |BYTE...E|
|000050f0| 58 09 44 45 2c 48 4c 09 | 09 3b 20 48 4c 20 43 4f |X.DE,HL.|.; HL CO|
|00005100| 4e 54 41 49 4e 53 20 44 | 45 53 49 52 45 44 20 56 |NTAINS D|ESIRED V|
|00005110| 41 4c 55 45 0d 0a 09 4c | 44 09 41 2c 30 46 46 48 |ALUE...L|D.A,0FFH|
|00005120| 09 3b 20 53 45 54 20 46 | 4c 41 47 20 46 4f 52 20 |.; SET F|LAG FOR |
|00005130| 4f 4b 0d 0a 09 4f 52 09 | 41 0d 0a 09 50 4f 50 09 |OK...OR.|A...POP.|
|00005140| 44 45 09 3b 20 52 45 53 | 54 4f 52 45 20 44 45 0d |DE.; RES|TORE DE.|
|00005150| 0a 09 52 45 54 0d 0a 41 | 4c 45 52 52 3a 0d 0a 09 |..RET..A|LERR:...|
|00005160| 58 4f 52 09 41 09 3b 20 | 45 52 52 4f 52 20 43 4f |XOR.A.; |ERROR CO|
|00005170| 44 45 0d 0a 09 50 4f 50 | 09 44 45 0d 0a 09 52 45 |DE...POP|.DE...RE|
|00005180| 54 0d 0a 0d 0a 3b 0d 0a | 3b 20 20 42 55 46 46 45 |T....;..|; BUFFE|
|00005190| 52 53 0d 0a 3b 0d 0a 4e | 45 58 54 42 59 54 45 3a |RS..;..N|EXTBYTE:|
|000051a0| 0d 0a 09 44 53 09 32 09 | 3b 20 41 44 44 52 45 53 |...DS.2.|; ADDRES|
|000051b0| 53 20 4f 46 20 4e 45 58 | 54 20 42 59 54 45 20 49 |S OF NEX|T BYTE I|
|000051c0| 4e 20 44 59 4e 41 4d 49 | 43 20 42 55 46 46 45 52 |N DYNAMI|C BUFFER|
|000051d0| 0d 0a 4c 41 53 54 42 59 | 54 45 3a 0d 0a 09 44 53 |..LASTBY|TE:...DS|
|000051e0| 09 32 09 3b 20 41 44 44 | 52 45 53 53 20 4f 46 20 |.2.; ADD|RESS OF |
|000051f0| 4c 41 53 54 20 42 59 54 | 45 20 49 4e 20 44 59 4e |LAST BYT|E IN DYN|
|00005200| 41 4d 49 43 20 42 55 46 | 46 45 52 0d 0a 0d 0a 09 |AMIC BUF|FER.....|
|00005210| 45 4e 44 0d 0a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |END.....|........|
|00005220| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005230| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005240| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005250| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005260| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005270| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005280| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00005290| 6c 65 20 4e 61 6d 65 3a | 20 53 41 52 47 56 0d 0a |le Name:| SARGV..|
|000052a0| 3b 20 41 75 74 68 6f 72 | 3a 20 52 69 63 68 61 72 |; Author|: Richar|
|000052b0| 64 20 43 6f 6e 6e 0d 0a | 3b 20 53 59 53 4c 49 42 |d Conn..|; SYSLIB|
|000052c0| 20 56 65 72 73 69 6f 6e | 20 4e 75 6d 62 65 72 3a | Version| Number:|
|000052d0| 20 33 2e 36 0d 0a 3b 20 | 4d 6f 64 75 6c 65 20 56 | 3.6..; |Module V|
|000052e0| 65 72 73 69 6f 6e 20 4e | 75 6d 62 65 72 3a 20 31 |ersion N|umber: 1|
|000052f0| 2e 31 0d 0a 0d 0a 09 70 | 75 62 6c 69 63 09 61 72 |.1.....p|ublic.ar|
|00005300| 67 76 0d 0a 0d 0a 3b 0d | 0a 3b 09 41 52 47 56 20 |gv....;.|.;.ARGV |
|00005310| 69 73 20 61 20 55 4e 49 | 58 2d 73 74 79 6c 65 20 |is a UNI|X-style |
|00005320| 41 52 47 43 2f 41 52 47 | 56 20 73 74 72 69 6e 67 |ARGC/ARG|V string|
|00005330| 20 70 61 72 73 65 72 2e | 20 20 49 74 20 69 73 20 | parser.| It is |
|00005340| 70 61 73 73 65 64 0d 0a | 3b 20 61 20 6e 75 6c 6c |passed..|; a null|
|00005350| 2d 74 65 72 6d 69 6e 61 | 74 65 64 20 73 74 72 69 |-termina|ted stri|
|00005360| 6e 67 20 69 6e 20 48 4c | 20 61 6e 64 20 74 68 65 |ng in HL| and the|
|00005370| 20 61 64 64 72 65 73 73 | 20 6f 66 20 61 20 74 6f | address| of a to|
|00005380| 6b 65 6e 20 70 6f 69 6e | 74 65 72 0d 0a 3b 20 74 |ken poin|ter..; t|
|00005390| 61 62 6c 65 20 69 6e 20 | 44 45 20 61 73 20 66 6f |able in |DE as fo|
|000053a0| 6c 6c 6f 77 73 3a 0d 0a | 3b 0d 0a 3b 09 09 4c 58 |llows:..|;..;..LX|
|000053b0| 49 09 48 2c 53 54 52 49 | 4e 47 0d 0a 3b 09 09 4c |I.H,STRI|NG..;..L|
|000053c0| 58 49 09 44 2c 41 52 47 | 56 24 54 41 42 4c 45 0d |XI.D,ARG|V$TABLE.|
|000053d0| 0a 3b 09 09 4d 56 49 09 | 41 2c 30 09 09 3b 20 64 |.;..MVI.|A,0..; d|
|000053e0| 6f 20 6e 6f 74 20 6d 61 | 72 6b 20 74 6f 6b 65 6e |o not ma|rk token|
|000053f0| 20 65 6e 64 0d 0a 3b 09 | 09 43 41 4c 4c 09 41 52 | end..;.|.CALL.AR|
|00005400| 47 56 0d 0a 3b 09 09 4a | 4e 5a 09 54 4f 4b 45 4e |GV..;..J|NZ.TOKEN|
|00005410| 24 4f 56 46 4c 09 3b 20 | 69 6e 64 69 63 61 74 65 |$OVFL.; |indicate|
|00005420| 73 20 6d 6f 72 65 20 74 | 6f 6b 65 6e 73 20 74 68 |s more t|okens th|
|00005430| 61 6e 20 61 6c 6c 6f 77 | 65 64 0d 0a 3b 09 09 2e |an allow|ed..;...|
|00005440| 2e 2e 0d 0a 3b 09 41 52 | 47 56 24 54 41 42 4c 45 |....;.AR|GV$TABLE|
|00005450| 3a 0d 0a 3b 09 09 44 42 | 09 4d 41 58 24 45 4e 54 |:..;..DB|.MAX$ENT|
|00005460| 09 3b 20 6d 61 78 20 6e | 75 6d 62 65 72 20 6f 66 |.; max n|umber of|
|00005470| 20 65 6e 74 72 69 65 73 | 20 70 65 72 6d 69 74 74 | entries| permitt|
|00005480| 65 64 0d 0a 3b 09 09 44 | 53 09 31 09 3b 20 6e 75 |ed..;..D|S.1.; nu|
|00005490| 6d 62 65 72 20 6f 66 20 | 65 6e 74 72 69 65 73 20 |mber of |entries |
|000054a0| 73 74 6f 72 65 64 20 62 | 79 20 41 52 47 56 0d 0a |stored b|y ARGV..|
|000054b0| 3b 09 09 44 53 09 32 09 | 3b 20 70 6f 69 6e 74 65 |;..DS.2.|; pointe|
|000054c0| 72 20 74 6f 20 74 6f 6b | 65 6e 20 31 0d 0a 3b 09 |r to tok|en 1..;.|
|000054d0| 09 44 53 09 32 09 3b 20 | 70 6f 69 6e 74 65 72 20 |.DS.2.; |pointer |
|000054e0| 74 6f 20 74 6f 6b 65 6e | 20 32 0d 0a 3b 09 09 2e |to token| 2..;...|
|000054f0| 2e 2e 0d 0a 3b 09 09 44 | 53 09 32 09 3b 20 70 6f |....;..D|S.2.; po|
|00005500| 69 6e 74 65 72 20 74 6f | 20 74 6f 6b 65 6e 20 4d |inter to| token M|
|00005510| 41 58 24 45 4e 54 0d 0a | 3b 0d 0a 3b 09 54 6f 6b |AX$ENT..|;..;.Tok|
|00005520| 65 6e 73 20 61 72 65 20 | 64 65 6c 69 6d 69 74 65 |ens are |delimite|
|00005530| 64 20 62 79 20 73 70 61 | 63 65 73 20 61 6e 64 20 |d by spa|ces and |
|00005540| 74 61 62 73 2e 0d 0a 3b | 09 4f 6e 20 69 6e 70 75 |tabs...;|.On inpu|
|00005550| 74 2c 20 69 66 20 41 3d | 30 2c 20 74 68 65 20 65 |t, if A=|0, the e|
|00005560| 6e 64 20 6f 66 20 65 61 | 63 68 20 74 6f 6b 65 6e |nd of ea|ch token|
|00005570| 20 69 73 20 6e 6f 74 20 | 6d 61 72 6b 65 64 20 77 | is not |marked w|
|00005580| 69 74 68 20 61 20 6e 75 | 6c 6c 2e 0d 0a 3b 20 49 |ith a nu|ll...; I|
|00005590| 66 20 41 3c 3e 30 2c 20 | 61 20 6e 75 6c 6c 20 69 |f A<>0, |a null i|
|000055a0| 73 20 70 6c 61 63 65 64 | 20 61 66 74 65 72 20 74 |s placed| after t|
|000055b0| 68 65 20 6c 61 73 74 20 | 62 79 74 65 20 6f 66 20 |he last |byte of |
|000055c0| 65 61 63 68 20 74 6f 6b | 65 6e 2e 0d 0a 3b 09 49 |each tok|en...;.I|
|000055d0| 66 20 61 6c 6c 20 77 65 | 6e 74 20 77 65 6c 6c 2c |f all we|nt well,|
|000055e0| 20 72 65 74 75 72 6e 20 | 77 69 74 68 20 41 3d 30 | return |with A=0|
|000055f0| 20 61 6e 64 20 5a 65 72 | 6f 20 46 6c 61 67 20 73 | and Zer|o Flag s|
|00005600| 65 74 2e 20 20 49 66 20 | 74 68 65 72 65 0d 0a 3b |et. If |there..;|
|00005610| 20 61 72 65 20 70 6f 73 | 73 69 62 6c 79 20 6d 6f | are pos|sibly mo|
|00005620| 72 65 20 74 6f 6b 65 6e | 73 20 74 68 61 6e 20 70 |re token|s than p|
|00005630| 6f 69 6e 74 65 72 73 2c | 20 72 65 74 75 72 6e 20 |ointers,| return |
|00005640| 77 69 74 68 20 41 3d 30 | 46 46 48 20 61 6e 64 20 |with A=0|FFH and |
|00005650| 4e 5a 2e 0d 0a 3b 0d 0a | 61 72 67 76 3a 0d 0a 09 |NZ...;..|argv:...|
|00005660| 70 75 73 68 09 62 63 09 | 3b 20 73 61 76 65 20 72 |push.bc.|; save r|
|00005670| 65 67 73 0d 0a 09 70 75 | 73 68 09 64 65 0d 0a 09 |egs...pu|sh.de...|
|00005680| 70 75 73 68 09 68 6c 0d | 0a 09 6c 64 09 63 2c 61 |push.hl.|..ld.c,a|
|00005690| 09 3b 20 73 61 76 65 20 | 6d 61 72 6b 20 66 6c 61 |.; save |mark fla|
|000056a0| 67 0d 0a 09 65 78 09 64 | 65 2c 68 6c 0d 0a 09 6c |g...ex.d|e,hl...l|
|000056b0| 64 09 62 2c 28 68 6c 29 | 09 3b 20 67 65 74 20 6d |d.b,(hl)|.; get m|
|000056c0| 61 78 20 65 6e 74 72 79 | 20 63 6f 75 6e 74 0d 0a |ax entry| count..|
|000056d0| 09 70 75 73 68 09 68 6c | 09 3b 20 73 61 76 65 20 |.push.hl|.; save |
|000056e0| 61 64 64 72 65 73 73 20 | 6f 66 20 6d 61 78 20 65 |address |of max e|
|000056f0| 6e 74 72 79 20 63 6f 75 | 6e 74 0d 0a 09 69 6e 63 |ntry cou|nt...inc|
|00005700| 09 68 6c 09 3b 20 70 74 | 20 74 6f 20 74 6f 6b 65 |.hl.; pt| to toke|
|00005710| 6e 20 63 6f 75 6e 74 0d | 0a 09 69 6e 63 09 68 6c |n count.|..inc.hl|
|00005720| 09 3b 20 70 74 20 74 6f | 20 66 69 72 73 74 20 70 |.; pt to| first p|
|00005730| 6f 69 6e 74 65 72 0d 0a | 3b 0d 0a 3b 20 4f 6e 20 |ointer..|;..; On |
|00005740| 65 61 63 68 20 6c 6f 6f | 70 2c 20 44 45 20 3d 20 |each loo|p, DE = |
|00005750| 61 64 64 72 65 73 73 20 | 6f 66 20 6e 65 78 74 20 |address |of next |
|00005760| 63 68 61 72 20 69 6e 20 | 73 74 72 69 6e 67 20 61 |char in |string a|
|00005770| 6e 64 20 48 4c 20 3d 20 | 61 64 64 72 65 73 73 20 |nd HL = |address |
|00005780| 6f 66 0d 0a 3b 20 6e 65 | 78 74 20 70 6f 69 6e 74 |of..; ne|xt point|
|00005790| 65 72 20 62 75 66 66 65 | 72 3b 20 42 20 3d 20 6e |er buffe|r; B = n|
|000057a0| 75 6d 62 65 72 20 6f 66 | 20 70 6f 69 6e 74 65 72 |umber of| pointer|
|000057b0| 20 62 75 66 66 65 72 73 | 20 72 65 6d 61 69 6e 69 | buffers| remaini|
|000057c0| 6e 67 20 61 6e 64 20 43 | 20 3d 0d 0a 3b 20 6d 61 |ng and C| =..; ma|
|000057d0| 72 6b 20 66 6c 61 67 20 | 28 30 20 3d 20 6e 6f 20 |rk flag |(0 = no |
|000057e0| 6d 61 72 6b 29 0d 0a 3b | 0d 0a 6c 6f 6f 70 3a 0d |mark)..;|..loop:.|
|000057f0| 0a 09 63 61 6c 6c 09 73 | 6b 73 70 09 3b 20 73 6b |..call.s|ksp.; sk|
|00005800| 69 70 20 73 70 61 63 65 | 73 20 61 6e 64 20 74 61 |ip space|s and ta|
|00005810| 62 73 20 69 6e 20 73 74 | 72 69 6e 67 20 70 74 65 |bs in st|ring pte|
|00005820| 64 20 74 6f 20 62 79 20 | 44 45 0d 0a 09 6f 72 09 |d to by |DE...or.|
|00005830| 61 09 3b 20 65 6e 64 20 | 6f 66 20 73 74 72 69 6e |a.; end |of strin|
|00005840| 67 3f 0d 0a 09 6a 70 09 | 7a 2c 64 6f 6e 65 0d 0a |g?...jp.|z,done..|
|00005850| 09 6c 64 09 28 68 6c 29 | 2c 65 09 3b 20 73 74 6f |.ld.(hl)|,e.; sto|
|00005860| 72 65 20 6c 6f 77 0d 0a | 09 69 6e 63 09 68 6c 0d |re low..|.inc.hl.|
|00005870| 0a 09 6c 64 09 28 68 6c | 29 2c 64 09 3b 20 73 74 |..ld.(hl|),d.; st|
|00005880| 6f 72 65 20 68 69 67 68 | 0d 0a 09 69 6e 63 09 68 |ore high|...inc.h|
|00005890| 6c 0d 0a 09 64 65 63 09 | 62 09 3b 20 63 6f 75 6e |l...dec.|b.; coun|
|000058a0| 74 20 64 6f 77 6e 0d 0a | 09 6a 70 09 7a 2c 6c 6f |t down..|.jp.z,lo|
|000058b0| 6f 70 32 0d 0a 09 63 61 | 6c 6c 09 73 6b 6e 73 70 |op2...ca|ll.sknsp|
|000058c0| 09 3b 20 73 6b 69 70 20 | 75 6e 74 69 6c 20 65 6e |.; skip |until en|
|000058d0| 64 20 6f 66 20 74 6f 6b | 65 6e 0d 0a 09 6f 72 09 |d of tok|en...or.|
|000058e0| 61 09 3b 20 64 6f 6e 65 | 3f 0d 0a 09 6a 70 09 7a |a.; done|?...jp.z|
|000058f0| 2c 64 6f 6e 65 0d 0a 09 | 6c 64 09 61 2c 63 09 3b |,done...|ld.a,c.;|
|00005900| 20 67 65 74 20 6d 61 72 | 6b 20 66 6c 61 67 0d 0a | get mar|k flag..|
|00005910| 09 6f 72 09 61 09 3b 20 | 30 3d 6e 6f 20 6d 61 72 |.or.a.; |0=no mar|
|00005920| 6b 0d 0a 09 6a 70 09 7a | 2c 6c 6f 6f 70 31 0d 0a |k...jp.z|,loop1..|
|00005930| 09 78 6f 72 09 61 09 3b | 20 6d 61 72 6b 20 77 69 |.xor.a.;| mark wi|
|00005940| 74 68 20 6e 75 6c 6c 0d | 0a 09 6c 64 09 28 64 65 |th null.|..ld.(de|
|00005950| 29 2c 61 09 3b 20 73 74 | 6f 72 65 20 6e 75 6c 6c |),a.; st|ore null|
|00005960| 0d 0a 09 69 6e 63 09 64 | 65 09 3b 20 70 74 20 74 |...inc.d|e.; pt t|
|00005970| 6f 20 6e 65 78 74 20 63 | 68 61 72 0d 0a 6c 6f 6f |o next c|har..loo|
|00005980| 70 31 3a 0d 0a 09 6c 64 | 09 61 2c 62 09 3b 20 63 |p1:...ld|.a,b.; c|
|00005990| 68 65 63 6b 20 63 6f 75 | 6e 74 0d 0a 09 6f 72 09 |heck cou|nt...or.|
|000059a0| 61 0d 0a 09 6a 70 09 6e | 7a 2c 6c 6f 6f 70 09 3b |a...jp.n|z,loop.;|
|000059b0| 20 63 6f 6e 74 69 6e 75 | 65 20 6f 6e 0d 0a 6c 6f | continu|e on..lo|
|000059c0| 6f 70 32 3a 0d 0a 09 63 | 61 6c 6c 09 73 6b 6e 73 |op2:...c|all.skns|
|000059d0| 70 09 3b 20 73 6b 69 70 | 20 6f 76 65 72 20 74 6f |p.; skip| over to|
|000059e0| 6b 65 6e 0d 0a 09 63 61 | 6c 6c 09 73 6b 73 70 09 |ken...ca|ll.sksp.|
|000059f0| 3b 20 61 6e 79 20 74 6f | 6b 65 6e 73 20 6c 65 66 |; any to|kens lef|
|00005a00| 74 3f 0d 0a 09 6f 72 09 | 61 0d 0a 09 6a 70 09 7a |t?...or.|a...jp.z|
|00005a10| 2c 64 6f 6e 65 09 3b 20 | 6e 6f 6e 65 20 69 66 20 |,done.; |none if |
|00005a20| 45 4f 4c 0d 0a 09 6f 72 | 09 30 66 66 68 09 3b 20 |EOL...or|.0ffh.; |
|00005a30| 6d 61 6b 65 20 41 20 3d | 20 30 46 46 48 20 74 6f |make A =| 0FFH to|
|00005a40| 20 69 6e 64 69 63 61 74 | 65 20 6d 6f 72 65 20 74 | indicat|e more t|
|00005a50| 6f 20 63 6f 6d 65 0d 0a | 64 6f 6e 65 3a 0d 0a 09 |o come..|done:...|
|00005a60| 70 6f 70 09 68 6c 09 3b | 20 67 65 74 20 61 64 64 |pop.hl.;| get add|
|00005a70| 72 65 73 73 20 6f 66 20 | 6d 61 78 20 74 6f 6b 65 |ress of |max toke|
|00005a80| 6e 20 63 6f 75 6e 74 0d | 0a 09 70 75 73 68 09 61 |n count.|..push.a|
|00005a90| 66 09 3b 20 73 61 76 65 | 20 72 65 74 75 72 6e 20 |f.; save| return |
|00005aa0| 66 6c 61 67 73 0d 0a 09 | 6c 64 09 61 2c 28 68 6c |flags...|ld.a,(hl|
|00005ab0| 29 09 3b 20 67 65 74 20 | 6d 61 78 20 74 6f 6b 65 |).; get |max toke|
|00005ac0| 6e 20 63 6f 75 6e 74 0d | 0a 09 73 75 62 09 62 09 |n count.|..sub.b.|
|00005ad0| 3b 20 73 75 62 74 72 61 | 63 74 20 63 6f 75 6e 74 |; subtra|ct count|
|00005ae0| 65 72 0d 0a 09 69 6e 63 | 09 68 6c 09 3b 20 70 74 |er...inc|.hl.; pt|
|00005af0| 20 74 6f 20 72 65 74 75 | 72 6e 20 63 6f 75 6e 74 | to retu|rn count|
|00005b00| 0d 0a 09 6c 64 09 28 68 | 6c 29 2c 61 09 3b 20 73 |...ld.(h|l),a.; s|
|00005b10| 65 74 20 72 65 74 75 72 | 6e 20 63 6f 75 6e 74 0d |et retur|n count.|
|00005b20| 0a 09 70 6f 70 09 61 66 | 09 3b 20 67 65 74 20 72 |..pop.af|.; get r|
|00005b30| 65 74 75 72 6e 20 66 6c | 61 67 0d 0a 09 70 6f 70 |eturn fl|ag...pop|
|00005b40| 09 68 6c 09 3b 20 72 65 | 73 74 6f 72 65 20 72 65 |.hl.; re|store re|
|00005b50| 67 73 0d 0a 09 70 6f 70 | 09 64 65 0d 0a 09 70 6f |gs...pop|.de...po|
|00005b60| 70 09 62 63 0d 0a 09 72 | 65 74 0d 0a 3b 0d 0a 3b |p.bc...r|et..;..;|
|00005b70| 20 20 53 6b 69 70 20 6f | 76 65 72 20 73 70 61 63 | Skip o|ver spac|
|00005b80| 65 20 6f 72 20 74 61 62 | 20 63 68 61 72 61 63 74 |e or tab| charact|
|00005b90| 65 72 73 0d 0a 3b 0d 0a | 73 6b 73 70 3a 0d 0a 09 |ers..;..|sksp:...|
|00005ba0| 6c 64 09 61 2c 28 64 65 | 29 09 3b 20 67 65 74 20 |ld.a,(de|).; get |
|00005bb0| 63 68 61 72 0d 0a 09 61 | 6e 64 09 37 66 68 09 3b |char...a|nd.7fh.;|
|00005bc0| 20 6d 61 73 6b 0d 0a 09 | 69 6e 63 09 64 65 09 3b | mask...|inc.de.;|
|00005bd0| 20 70 74 20 74 6f 20 6e | 65 78 74 0d 0a 09 63 70 | pt to n|ext...cp|
|00005be0| 09 27 20 27 09 3b 20 63 | 6f 6e 74 69 6e 75 65 20 |.' '.; c|ontinue |
|00005bf0| 69 66 20 73 70 61 63 65 | 0d 0a 09 6a 70 09 7a 2c |if space|...jp.z,|
|00005c00| 73 6b 73 70 0d 0a 09 63 | 70 09 39 09 3b 20 63 6f |sksp...c|p.9.; co|
|00005c10| 6e 74 69 6e 75 65 20 69 | 66 20 74 61 62 0d 0a 09 |ntinue i|f tab...|
|00005c20| 6a 70 09 7a 2c 73 6b 73 | 70 0d 0a 09 64 65 63 09 |jp.z,sks|p...dec.|
|00005c30| 64 65 09 3b 20 70 74 20 | 74 6f 20 63 68 61 72 61 |de.; pt |to chara|
|00005c40| 63 74 65 72 0d 0a 09 72 | 65 74 0d 0a 3b 0d 0a 3b |cter...r|et..;..;|
|00005c50| 20 20 53 6b 69 70 20 6f | 76 65 72 20 6e 6f 6e 2d | Skip o|ver non-|
|00005c60| 73 70 61 63 65 20 61 6e | 64 20 6e 6f 6e 2d 74 61 |space an|d non-ta|
|00005c70| 62 20 63 68 61 72 61 63 | 74 65 72 73 0d 0a 3b 0d |b charac|ters..;.|
|00005c80| 0a 73 6b 6e 73 70 3a 0d | 0a 09 6c 64 09 61 2c 28 |.sknsp:.|..ld.a,(|
|00005c90| 64 65 29 09 3b 20 67 65 | 74 20 63 68 61 72 0d 0a |de).; ge|t char..|
|00005ca0| 09 61 6e 64 09 37 66 68 | 09 3b 20 6d 61 73 6b 0d |.and.7fh|.; mask.|
|00005cb0| 0a 09 72 65 74 09 7a 09 | 09 3b 20 64 6f 6e 65 20 |..ret.z.|.; done |
|00005cc0| 69 66 20 6e 75 6c 6c 0d | 0a 09 63 70 09 27 20 27 |if null.|..cp.' '|
|00005cd0| 0d 0a 09 72 65 74 09 7a | 09 09 3b 20 64 6f 6e 65 |...ret.z|..; done|
|00005ce0| 20 69 66 20 73 70 61 63 | 65 0d 0a 09 63 70 09 39 | if spac|e...cp.9|
|00005cf0| 0d 0a 09 72 65 74 09 7a | 09 09 3b 20 64 6f 6e 65 |...ret.z|..; done|
|00005d00| 20 69 66 20 74 61 62 0d | 0a 09 69 6e 63 09 64 65 | if tab.|..inc.de|
|00005d10| 09 3b 20 70 74 20 74 6f | 20 6e 65 78 74 0d 0a 09 |.; pt to| next...|
|00005d20| 6a 70 09 73 6b 6e 73 70 | 0d 0a 0d 0a 09 65 6e 64 |jp.sknsp|.....end|
|00005d30| 0d 0a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005d40| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005d50| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005d60| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005d70| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00005d80| 3b 0d 0a 3b 20 53 59 53 | 4c 49 42 20 4d 6f 64 75 |;..; SYS|LIB Modu|
|00005d90| 6c 65 20 4e 61 6d 65 3a | 20 20 53 42 42 4c 49 4e |le Name:| SBBLIN|
|00005da0| 0d 0a 3b 20 41 75 74 68 | 6f 72 3a 20 20 52 69 63 |..; Auth|or: Ric|
|00005db0| 68 61 72 64 20 43 6f 6e | 6e 0d 0a 3b 20 53 59 53 |hard Con|n..; SYS|
|00005dc0| 4c 49 42 20 56 65 72 73 | 69 6f 6e 20 4e 75 6d 62 |LIB Vers|ion Numb|
|00005dd0| 65 72 3a 20 20 33 2e 36 | 0d 0a 3b 20 4d 6f 64 75 |er: 3.6|..; Modu|
|00005de0| 6c 65 20 56 65 72 73 69 | 6f 6e 20 4e 75 6d 62 65 |le Versi|on Numbe|
|00005df0| 72 3a 20 20 31 2e 31 0d | 0a 0d 0a 09 70 75 62 6c |r: 1.1.|....publ|
|00005e00| 69 63 09 62 62 6c 69 6e | 65 0d 0a 0d 0a 3b 0d 0a |ic.bblin|e....;..|
|00005e10| 3b 20 20 42 42 4c 49 4e | 45 20 2d 2d 20 42 75 66 |; BBLIN|E -- Buf|
|00005e20| 66 65 72 65 64 20 42 44 | 4f 53 20 49 6e 70 75 74 |fered BD|OS Input|
|00005e30| 20 4c 69 6e 65 20 45 64 | 69 74 6f 72 0d 0a 3b 09 | Line Ed|itor..;.|
|00005e40| 42 42 4c 49 4e 45 20 70 | 72 6f 76 69 64 65 73 20 |BBLINE p|rovides |
|00005e50| 61 20 76 65 72 79 20 63 | 6f 6e 76 65 6e 69 65 6e |a very c|onvenien|
|00005e60| 74 20 69 6e 74 65 72 66 | 61 63 65 20 74 6f 20 74 |t interf|ace to t|
|00005e70| 68 65 20 42 44 4f 53 20 | 66 6f 72 20 69 6e 70 75 |he BDOS |for inpu|
|00005e80| 74 0d 0a 3b 20 6c 69 6e | 65 20 65 64 69 74 6f 72 |t..; lin|e editor|
|00005e90| 20 66 75 6e 63 74 69 6f | 6e 73 2e 20 20 49 74 20 | functio|ns. It |
|00005ea0| 63 6f 6e 74 61 69 6e 73 | 20 69 74 73 20 6f 77 6e |contains| its own|
|00005eb0| 20 69 6e 74 65 72 6e 61 | 6c 20 62 75 66 66 65 72 | interna|l buffer|
|00005ec0| 20 66 6f 72 20 73 74 6f | 72 61 67 65 0d 0a 3b 20 | for sto|rage..; |
|00005ed0| 6f 66 20 74 68 65 20 69 | 6e 70 75 74 20 6c 69 6e |of the i|nput lin|
|00005ee0| 65 20 28 32 30 30 20 62 | 79 74 65 73 20 61 6c 6c |e (200 b|ytes all|
|00005ef0| 6f 63 61 74 65 64 29 2c | 20 61 6e 64 20 69 74 20 |ocated),| and it |
|00005f00| 72 65 74 75 72 6e 73 20 | 61 20 70 6f 69 6e 74 65 |returns |a pointe|
|00005f10| 72 20 74 6f 0d 0a 3b 20 | 74 68 65 20 66 69 72 73 |r to..; |the firs|
|00005f20| 74 20 62 79 74 65 20 6f | 66 20 74 68 65 20 6c 69 |t byte o|f the li|
|00005f30| 6e 65 20 75 70 6f 6e 20 | 72 65 74 75 72 6e 2e 20 |ne upon |return. |
|00005f40| 20 54 68 65 20 6c 69 6e | 65 20 73 74 6f 72 65 64 | The lin|e stored|
|00005f50| 20 69 6e 20 74 68 69 73 | 20 62 75 66 66 65 72 0d | in this| buffer.|
|00005f60| 0a 3b 20 69 73 20 74 65 | 72 6d 69 6e 61 74 65 64 |.; is te|rminated|
|00005f70| 20 62 79 20 61 20 62 69 | 6e 61 72 79 20 7a 65 72 | by a bi|nary zer|
|00005f80| 6f 20 28 30 29 2e 0d 0a | 3b 09 54 6f 20 75 73 65 |o (0)...|;.To use|
|00005f90| 20 42 42 4c 49 4e 45 2c | 20 74 68 65 20 75 73 65 | BBLINE,| the use|
|00005fa0| 72 20 6e 65 65 64 20 6f | 6e 6c 79 20 63 61 6c 6c |r need o|nly call|
|00005fb0| 20 69 74 2c 20 77 69 74 | 68 20 61 20 63 61 70 69 | it, wit|h a capi|
|00005fc0| 74 61 6c 69 7a 61 74 69 | 6f 6e 20 66 6c 61 67 0d |talizati|on flag.|
|00005fd0| 0a 3b 20 73 74 6f 72 65 | 64 20 69 6e 20 74 68 65 |.; store|d in the|
|00005fe0| 20 41 20 52 65 67 69 73 | 74 65 72 2e 20 20 49 66 | A Regis|ter. If|
|00005ff0| 20 41 20 3d 20 30 2c 20 | 42 42 4c 49 4e 45 20 64 | A = 0, |BBLINE d|
|00006000| 6f 65 73 20 6e 6f 74 20 | 63 61 70 69 74 61 6c 69 |oes not |capitali|
|00006010| 7a 65 20 74 68 65 20 69 | 6e 70 75 74 0d 0a 3b 20 |ze the i|nput..; |
|00006020| 6c 69 6e 65 20 63 68 61 | 72 61 63 74 65 72 73 3b |line cha|racters;|
|00006030| 20 69 66 20 41 20 3c 3e | 20 30 2c 20 42 42 4c 49 | if A <>| 0, BBLI|
|00006040| 4e 45 20 63 61 70 69 74 | 61 6c 69 7a 65 73 20 74 |NE capit|alizes t|
|00006050| 68 65 20 69 6e 70 75 74 | 20 6c 69 6e 65 20 63 68 |he input| line ch|
|00006060| 61 72 61 63 74 65 72 73 | 0d 0a 3b 20 62 65 66 6f |aracters|..; befo|
|00006070| 72 65 20 72 65 74 75 72 | 6e 69 6e 67 20 74 6f 20 |re retur|ning to |
|00006080| 74 68 65 20 63 61 6c 6c | 65 72 2e 0d 0a 3b 09 4e |the call|er...;.N|
|00006090| 6f 20 65 72 72 6f 72 20 | 63 6f 64 65 73 20 61 72 |o error |codes ar|
|000060a0| 65 20 72 65 74 75 72 6e | 65 64 20 62 79 20 42 42 |e return|ed by BB|
|000060b0| 4c 49 4e 45 2e 20 20 4f | 6e 20 72 65 74 75 72 6e |LINE. O|n return|
|000060c0| 2c 20 48 4c 20 70 6f 69 | 6e 74 73 20 74 6f 20 74 |, HL poi|nts to t|
|000060d0| 68 65 0d 0a 3b 20 66 69 | 72 73 74 20 62 79 74 65 |he..; fi|rst byte|
|000060e0| 20 6f 66 20 74 68 65 20 | 69 6e 70 75 74 20 6c 69 | of the |input li|
|000060f0| 6e 65 20 61 6e 64 20 41 | 20 63 6f 6e 74 61 69 6e |ne and A| contain|
|00006100| 73 20 61 20 63 6f 75 6e | 74 20 6f 66 20 74 68 65 |s a coun|t of the|
|00006110| 20 6e 75 6d 62 65 72 20 | 6f 66 0d 0a 3b 20 63 68 | number |of..; ch|
|00006120| 61 72 61 63 74 65 72 73 | 20 69 6e 20 74 68 61 74 |aracters| in that|
|00006130| 20 6c 69 6e 65 2e 0d 0a | 3b 0d 0a 0d 0a 3b 0d 0a | line...|;....;..|
|00006140| 3b 20 20 45 51 55 41 54 | 45 53 0d 0a 3b 0d 0a 42 |; EQUAT|ES..;..B|
|00006150| 44 4f 53 09 09 45 51 55 | 09 35 0d 0a 42 24 52 44 |DOS..EQU|.5..B$RD|
|00006160| 4c 49 4e 45 09 45 51 55 | 09 31 30 09 3b 20 52 45 |LINE.EQU|.10.; RE|
|00006170| 41 44 20 4c 49 4e 45 20 | 46 55 4e 43 54 49 4f 4e |AD LINE |FUNCTION|
|00006180| 0d 0a 0d 0a 3b 0d 0a 3b | 20 20 45 58 54 45 52 4e |....;..;| EXTERN|
|00006190| 41 4c 20 44 45 43 4c 41 | 52 41 54 49 4f 4e 53 0d |AL DECLA|RATIONS.|
|000061a0| 0a 3b 0d 0a 09 45 58 54 | 09 43 41 50 53 0d 0a 0d |.;...EXT|.CAPS...|
|000061b0| 0a 3b 0d 0a 3b 20 20 4d | 41 49 4e 20 52 4f 55 54 |.;..; M|AIN ROUT|
|000061c0| 49 4e 45 20 46 4f 52 20 | 42 42 4c 49 4e 45 0d 0a |INE FOR |BBLINE..|
|000061d0| 3b 0d 0a 42 42 4c 49 4e | 45 3a 0d 0a 09 4a 50 09 |;..BBLIN|E:...JP.|
|000061e0| 53 54 41 52 54 09 3b 20 | 53 4b 49 50 20 4f 56 45 |START.; |SKIP OVE|
|000061f0| 52 20 42 55 46 46 45 52 | 0d 0a 49 4e 4c 49 4e 45 |R BUFFER|..INLINE|
|00006200| 3a 0d 0a 09 44 42 09 32 | 30 30 09 3b 20 41 4c 4c |:...DB.2|00.; ALL|
|00006210| 4f 57 20 32 30 30 20 42 | 59 54 45 53 20 49 4e 20 |OW 200 B|YTES IN |
|00006220| 42 55 46 46 45 52 0d 0a | 43 43 4e 54 3a 0d 0a 09 |BUFFER..|CCNT:...|
|00006230| 44 42 09 30 09 3b 20 43 | 48 41 52 41 43 54 45 52 |DB.0.; C|HARACTER|
|00006240| 20 43 4f 55 4e 54 0d 0a | 4c 49 4e 45 3a 0d 0a 09 | COUNT..|LINE:...|
|00006250| 44 53 09 32 30 30 09 3b | 20 42 55 46 46 45 52 20 |DS.200.;| BUFFER |
|00006260| 53 50 41 43 45 0d 0a 09 | 44 42 09 30 09 3b 20 54 |SPACE...|DB.0.; T|
|00006270| 45 52 4d 49 4e 41 54 49 | 4e 47 20 5a 45 52 4f 0d |ERMINATI|NG ZERO.|
|00006280| 0a 43 41 50 46 4c 47 3a | 0d 0a 09 44 53 09 31 09 |.CAPFLG:|...DS.1.|
|00006290| 3b 20 43 41 50 49 54 41 | 4c 49 5a 41 54 49 4f 4e |; CAPITA|LIZATION|
|000062a0| 20 46 4c 41 47 20 28 30 | 3d 4e 4f 20 43 41 50 29 | FLAG (0|=NO CAP)|
|000062b0| 0d 0a 53 54 41 52 54 3a | 0d 0a 09 50 55 53 48 09 |..START:|...PUSH.|
|000062c0| 44 45 09 3b 20 53 41 56 | 45 20 44 45 2c 20 42 43 |DE.; SAV|E DE, BC|
|000062d0| 0d 0a 09 50 55 53 48 09 | 42 43 0d 0a 09 4c 44 09 |...PUSH.|BC...LD.|
|000062e0| 28 43 41 50 46 4c 47 29 | 2c 41 09 3b 20 53 41 56 |(CAPFLG)|,A.; SAV|
|000062f0| 45 20 43 41 50 49 54 41 | 4c 49 5a 41 54 49 4f 4e |E CAPITA|LIZATION|
|00006300| 20 46 4c 41 47 0d 0a 09 | 4c 44 09 44 45 2c 49 4e | FLAG...|LD.DE,IN|
|00006310| 4c 49 4e 45 09 3b 20 50 | 54 20 54 4f 20 42 55 46 |LINE.; P|T TO BUF|
|00006320| 46 45 52 0d 0a 09 4c 44 | 09 43 2c 42 24 52 44 4c |FER...LD|.C,B$RDL|
|00006330| 49 4e 45 09 3b 20 52 45 | 41 44 20 4c 49 4e 45 20 |INE.; RE|AD LINE |
|00006340| 46 55 4e 43 54 49 4f 4e | 20 49 4e 20 42 44 4f 53 |FUNCTION| IN BDOS|
|00006350| 0d 0a 09 43 41 4c 4c 09 | 42 44 4f 53 09 3b 20 44 |...CALL.|BDOS.; D|
|00006360| 4f 20 52 45 41 44 20 4c | 49 4e 45 20 46 55 4e 43 |O READ L|INE FUNC|
|00006370| 54 49 4f 4e 0d 0a 09 4c | 44 09 48 4c 2c 43 43 4e |TION...L|D.HL,CCN|
|00006380| 54 09 3b 20 50 54 20 54 | 4f 20 43 48 41 52 20 43 |T.; PT T|O CHAR C|
|00006390| 4f 55 4e 54 0d 0a 09 4c | 44 09 41 2c 28 48 4c 29 |OUNT...L|D.A,(HL)|
|000063a0| 09 3b 20 47 45 54 20 49 | 54 0d 0a 09 49 4e 43 09 |.; GET I|T...INC.|
|000063b0| 48 4c 09 3b 20 50 54 20 | 54 4f 20 46 49 52 53 54 |HL.; PT |TO FIRST|
|000063c0| 20 43 48 41 52 0d 0a 09 | 41 44 44 09 41 2c 4c 09 | CHAR...|ADD.A,L.|
|000063d0| 3b 20 41 44 44 20 43 48 | 41 52 20 43 4f 55 4e 54 |; ADD CH|AR COUNT|
|000063e0| 0d 0a 09 4c 44 09 4c 2c | 41 0d 0a 09 4c 44 09 41 |...LD.L,|A...LD.A|
|000063f0| 2c 48 0d 0a 09 41 44 43 | 09 30 0d 0a 09 4c 44 09 |,H...ADC|.0...LD.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.