Inside - SOURCES

From NitrOS-9
Revision as of 20:23, 26 May 2017 by NealC (Talk | contribs) (Show usage for MMAP, link to source, show sample output (from latest nitros version))

Jump to: navigation, search

The original book presented type-in listings for an "alarm" utility and some utilities for system inspection. The sources for all but the alarm utility are part of the NitrOS-9 source tree and so are not reproduced here, but the usage notes are presented.


Alarm

Microware OS-9 Alar - INSIDE 00001 00002 00003 00004 00005 OOOC6 00007 00008 0 006 00009 0 0 15 0000 0 01E 0 001. 0 0012 0054 OOO3 0057 0 004 0 0015 0000 87 0 OO6 OOO17 D 0000 0 008 D 000A 00019 D 0 OD2 OOO20 OOO2 OOOD 4 00022 0 0 12 O. 0 0023 003 0 0 024 003 30 00025 005 10 0 0026 008 6C OOO27 0 0 1A CC O0028 OOD O OOO29 OO 20 O OOO3 O 0 003 OO 23 A9 OOO32 0 026 OOO33 00000 error (S) 00000 warning (s $0.026 00038 pro S00D2 00210 dat $00CA 00202 byt 0057 E D. MITIN 005 E F STIME INSIDE OS9 LEVEL, III SOURCES AllarIn AS Sebol er RS Version 0 0 0 0 0 O3/30/87 00:15:04 Page 00l OS 9 LEVEI, III ՈՅՈղ Alarm ttl INSIDE OS9 LEVEL, I alarm - test that sets alarm for next minute. causes beep from coco sound output for lis Secs. just for fun. Copyright l987 by Kevin Darling FSExit equ 6 FSTime equ S5 F $Alarm equ ŞE D. Tine equ S54 D. Min equ S57 CDO O26 I'mod len, name, Sill, $8l, entry, msize time rimbo 10 rmb 200 Insize equ g 6C672 ae fCS 'A1ar In' fcb l entry C4 leax time, u 3F15 OS 9 FŞTime D inc D. Time-D. Minx next minute (bad on 59) 000 1dd #$000] 3FE OS 9 F ŞAlarm Set alarm time 3F06 OS 9 F ŞEXit. F133 emod llen equ 女 end ) gram bytes generated a bytes allocated es used for symbols 0054 E. D.TIME 003 I, ENTRY OOE E FSALARM 0006 E F SEXIT 0.026 E LEN 00D 2 E MSI ZE 000D L, NAME OOOO D TIME


DMem

DMEM - dmem  <block> <offset> [<length>] ! dump
       dmem -<proc#> <offset> [<length>] ! dump

Dmem writes up to $1000 bytes to standard out, that it has copied over for you from other maps. If no length is given, it defaults to 256 ($100) bytes. Examples using data above:

dmem 4 0 ! dump          : dumps first 256 bytes of GrfDrv
dmem 2 1CA 1AE ! dump    : dumps CC3Go
dmem 0 0 1000 >/d1/file  : file contains lower system variables

dmem -3 0 20 ! dump      : dump first 32 shell data bytes
dmem -3 E000 5FA ! dump  : another way of dumping Shell
dmem -1 0 1000 >/d1/file : file contains lower system variables

Good use of PROC, PMAP, MDIR and DMEM depends on the data you get from each. Open a graphics window and recheck the MMAP. Kill a shell and notice the Status and Signal Codes. Look up the Status bits in your old DEFS file, signal from Error codes. Watch how modules get mapped in using PMAP and MDIR.

Figure out system data use by knocking out the blocks you know are in other use, with PMAP and MMAP.

The source for this Level 2 utility is dmem.asm

MMap

MMap displays a memory block map, displaying free memory. There is at least one more block free than is shown, since MMap is using one block for data.

Key: U = used, M = loaded module, . = no RAM, else FREE.

Example output (1Mbyte MC09 system):

{Term|02}/DD:mmap

     0 1 2 3 4 5 6 7 8 9 A B C D E F
  #  = = = = = = = = = = = = = = = =
 00  U U U U M U U U _ _ _ M _ _ _ _ 
 01  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 02  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 03  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
  Block Size: 8192
 Free Blocks: 55
 KBytes Free: 440

The source for this Level 2 utility is mmap.asm

PMap

PMap - Process DAT Image Maps. The best. Shows blocks in use by processes. Lower is data top is modules. Example: block 09 is mapped into $6000-$7FFF in the system dat map. Note that Shell in block 06 (see DIRM above!) is simply mapped into both procs 2 and 3 at $E000-FEFF along with any other modules in that block.


 ID     01 23 45 67 89 AB CD EF   Program
----    -- -- -- -- -- -- -- --   ------------
  1     00 .. .. 09 01 02 03 3F   SYSTEM
  2     05 .. .. .. .. .. .. 06   Shell
  3     07 .. .. .. .. .. .. ..   Shell
  4     0A .. .. .. .. .. .. ..   PMap

Microware OS-9 Assembler RS Version Ol. 00.00 O3/30/87 OO67 Page 00l. PMap - INSIDE OS9 LEVEL II 0000 al PMap 00002 ttl INSIDE OS9 LEVEI, III 00003 * PMap - CC3 proc datimg display 00004 * 08 feb 87 : der ived from my Proc cmd. OOOO5 * Copyright l987 by Kevin Darling 00006 OOOO7 O088 D. Pt hDBT equ SO 088 00008 00 G3 PD. DEV equ SO3 OOOO 9 0004 VŞDESC equ SO4 OOOO 000 OOO6 FSEXit equ 6 OOO2 OO 8 FșGPrDsc equ S8 0 003 O OB F $CpyMem equ SB 0 004 008A $Write equ S8A OOOE OO 8C I $Writilin equ S8C O () OG 6 OOO7 0 004 MŞINaem;e equ OOO 8 OOOC OOOO P $ LO equ O OOO20 OOO. PSPID equu OOO2 0 004 PSSP equ 4. 00022 O006 PSTask equ 6 OOO23 0.007 P$PagCnt equ 7 00024 O008 P$User: equ 8 OOO25 000 A P$Prior equ SOA OOO26 OOOB PSAge equ $O) ES OOO27 OOOC P$ State equ SOC OOO28 OOO PSIOQN equ SO OOO29 OO. P$PModul equ S. OOC30 009 P$Signal equ S9 OOO3. 0.030 PSPath equ S30 OOO32 0040 P$DA T'Img equ S40 00033 OOO34 OOOO 87CDOF8 mod llen , mname, $ll o $8l , entry e mSize OOO35 OOOD 504D6FO ae fCS "PMap" OO) O 3 6 0 01 Ι ΟΙ fCb 00037 OOO38 0200 buffsiz Set 52 OOO39 OOO40 D 0000 Աièl;} rimbo 2 O004. D 0002 Sysimg rmb 2 pointer to syspric dat image OOOA2 D 0004 dating irribo 2 dating for copymem OOOA3 D OOO6 linept r rnb 2 O004 4 D 0008 number rIT:b 3 OOOA5 D 000B lead flag rmb OOO46 D. OOOC path rribo 2 OOO47 D 000E pid rub OOO48 D OOOF hidr rmb 2 header 00049 D OOB Out rimbo 80 00050 D 006B buffer rrb buffs i z each proc desc 0.005 D 026B Stack rmb 200 Page 6-4-2 ________________ OOO52 D 00053 00054 OOO55 Program 0.0056 OOO 57 OOO58 00059 O0060 O006 0.0062 OOO63 00064 O0065 OOO66 OOO67 OOO68 O0069 OOO 70 0007 W OOO 72 OOO73 OOO74. OOC 75 W OOO 76 00077 OOO78 OO (79 OOO80 O008 OOO82 O0083 OOO84 O0085 OOO86 O0087 OOO88 O0089 OOO 90 O009. OOO92 O0093 OO 094 OOO95 O0096 OOO97 00098 OOO 99 OOOO OOO. OOO2 OOO3 O004 0.333 002 0 0 12 003E OO2D OO3F OO3F 006B 006B 002D OO6C 006C O06E OO 70 OO72 OO 76 007 A 007D 008. OO85 OO89 O08C OO 90 O094. 0 098 009B O09B 009D OOAO OOA2 OOA4 OOA6. OOA8 OOAB OOAE OOBO OOB2 00B4 00B4 OOB5 OOBS OOB8 OOO6 OOBE O OBE OOCO OOC3 INSIDE OS9 LEVE II msize header 20 494 42O OD hd rol en header2 2D2D2D2D hdrCr OD hd rl en 2 entry IDF 00 8601 OFOE 3O8DFFF5 108E000 O3F8C O250 034 3O8DFF8D 08E0O2D O3F8C O25.0025 3O8DFFAB O8E0O2D O3F8C mair: DE00 30C8.E. 9FO6 OCOE 27 OE 96 OE 30C86E 1 O3F 8 25EB 8DOC 20 E7 bye 5F e C O3FO6 53595,354 Sysnam Syslen Output A684 700E6 7 OOC Page 6-4-3 SOURCES PMap equ fcc ID 01 2 3 4 5 6 7 8 9 AB CD EF fECb SOD equ *-header fcc " - - - - - SLSST LSLS S LSSkS LS LS LrSTkSkSS qSL S LSkSkkkL S S LSL LSSL LS S S LLLBSLLLSST TSkS GSLSS LSSSkSS SS SS LSSL LS fCb SOD equ *-header2 Stu Ule lda #卫 Clr pid leax hdrcr pc lidy #卫 OS9 I ŞWritin lb CS error leax header pC lidy hd rl en OS9 I SWritln lbocs error leax header 2, pc lidy b d r ) en 2 OS 9 I SWritln ldu te lea X Out i u StX linept r inc pid next process boeq bye . . X255 = exit 1da pid proc id Il eax buffer , u destination buff OS 9 FSGPrDSC get proc des C bCS main ... loop if not one bSr output report proC data bra main . . loop. C! bC OS 9 F SExit fcs SYSTEM equ *-sysnam lda PSID x process id lbsr outdecl lbs r space ha» sa) * x i so owo ________________ OOO 5 0 006 OO 107 O008 OOC9 000 OOl. 002 003 OOll 4 OO .. 5 OO6 OO7 OO 8 OO 9 OO2O 002) 0022 OO 23 OO 24 OO25 OO 26 OO 27 OO 28 OOl29 OO 3 O 003 O)32 OO33 OO 34 OO35 OO 36 OO 37 OO 138 OO 39 OO 40 O014 OO 42 00:43 0044 OO .45 OC 46 OO 47 00. 48 OOl 49 OOl 50 005 OOl. 52 OO153 OO154 OO 55 OO156 OO 57 OOl. 58 OOC6 OOC9 OOCC OOCF OOD OODA OOD6 OOD8 OOD8 0 ODA 0 0D B OODD OOEO OOE3 OOE5 OOE8 OOEB 00ED OOED O)OEF Ο Ο.Ε. 2 OOF2 OOE 4. OOF6 OOF8 OOFE O OFF OOO O) 02 0.05 OLO7 (O OR COE O. () O. O. 012 O 4 Ol 0.17 Ol.9 O. B. Ol B OD OD OlE Ol2 O) 23 O25 INSIDE OS9 LEVEL II SOURCES PMap 7 O OBE lbsr space 17 () () BB lbs r space 7 OOB 8 lbs r space

  • Print Process DATImage: * X=proc desc

340 pshS X 3O8840 leax P $DATImg x C608 ldb #8 34 04 pshs b print img EC8 1dd x++ 4D tSta 270 beq printimg2 09E06 ldy lineptr CC2E2E 1dd 排"。。 EDA Std ,y++ (9FO6 sty lineptr 7 OO 9C lbsr space 2005 bo r a printimg3 printimg2 1F98 tfr bo , a 700 93 lbsr out hexl print img 3 6AE4. dec S 26E2 bne printimg 354 pulS b , X

  • Print Primary Module Name:

7 OO 8C lbs r space 3. 884 O leay PSDATImg,x F2O tfr y d D= dat image in por oc desc DDO4. Std dat ing AE8811 dX PSPModul x X=offset in Inap 264 bne doname 3O8DFFAD leax > Sy Snam , pc O9EO6 lidy lineptir C606 db # sy Sil en COpy A68 O dia X A 7 AO Sta , y + 5A decb 26F9 bne COy 8D 43 bS r name2 2O O2 bra print) in doname 8D 9 bs r printnam printlin 9EO6 ld x linept r now print whole line : 86 OD lda SOD A784. Sta X DE00 ldu Ullel 30C8.E. leaX Out ou Page 6-4-4 ________________ INSIDE OS9 LEVEL III SOURCES PMap OO.59 0.28 O8E0050 lidy #80 OO60 O2C 860 lda #卫 O06 O2E O3F8C OS 9 I SW r. i tln OO62 W 03 025FF80 lbCS error O063 0.35 39 r tS O064 O065 * Find and Print a Module Name: O066 * X=mod offset, U=data area, dat img=ptr 0.0167 O36 printnam 006.8 0.136 3440 pShS u 0069 0.138 334F leau hdr , u destination OO 70 0.3A DC04 ]dd dating proc dat img ptr 007 O3C 108E0OOA lidy O Y=length 00.72 O40 O3FB OS 9 FșCpyMem get header 0.073 O43 102.5FF6F 1bCS er ror 0.074 001.75 01.47 EC44 1dd MSName, u get name offset from header 001 76 O 49 DE06 ldu linept r move name to output line 00.177 04B 308B 1еах d , х X=offset in map to name 0.078 O4D DC04 1dd dating OO 79 O4F 08E0O28 ldy #40 max Chari 1 en O080 OI 53 | 03FIB OS 9 F $CpyMem get name 008 0.56 3540 puls u O082 OS 8 O25FF59 IbCS er r Or O083 00184 O5C name 2 0 0 85 O5C 34. O pshS X O086 0.5F 9EO6 lidx İlin ept r 00.87 060 5F Cl rbo B is length OO 88 O6 name3 001 89 0.6 5C incb O090 062 A680 lda X009. 0.64. 2AFB bpl name3 0092 0.66 C28 cmpbo # 40 O093 O68 24. bOCC name 5 O094 0.095 06A 84.7F and a S7F fix it up, then OO.96 O6C A7F Sta —l х O097 0.6E CO 9 cmpb #9 001.98 O70 24.09 bOCC name 5 OO 99 O72 8620 lda #$20 00200 O).74 name 4 OO20 ΟΙ 74 A780 Sta X-- 00202 0.76 5C incb O02O3 077 CO 9 cmpb #9 00204 O79 25F9 bCS name 4 00205 0.7B nare 5 OO2O6 0.7B 9FO6 StX lineptir 002O7 O7D 3590 puls X r p C 0 0208 00209 * سے --- سے سے سب سے سب سے ۔سے- meso «ask» muller «segr esse sna » es S S0SLS SLAS SLSSSLS LSSL LMSS LLS SLL LLLLSLLLL LSS LLLLLLTSLLLS LSL SLSSLSL LSLSLSLS LSSSLESLLLLSLLSSLS SLLLLL LSLSLSL LSL LSSSMSSSML SLSLS LSLS LSSSLLLSLLCLLSS 00210 0021 07 F Outhex 2 002.2 0.7F 34.04 pshs b ________________ Ο Ο213 002 4 002.5 002.6 OO2.7 0 028 002.9 OO220 OO22. 00222 OO223 00224 OO225 0 0226 Ο Ο227 O0228 00229 O (230 OO231 OO232 OO233 OO234 00235 OO236 OO237 OO238 OO239 OO 24 O 0 024 00242 OO 24.3 002 44 OO 245 OO246 OO247 002 48 OO249 OO250 OO25. 00252 OO 253 OO254 OO255 OO 256 OO257 OO258 OO 259 OO 26 O O 026. OO262 0.0263 OO 264 0.0265 00266 O 8. 0.83 O 85 0.85 0.87 0.87 Ol. 89 0.8B O8E. OJ 8D 0且8E O 8F O90 O9. 0.93 0.95 O 95 0.97 O99 O 9R OG 19D OSD O. 9F O 9F (All OA3 OA5 O. A7 OA9 OA9 OlAER OAC CAC 0 AE CBO 01 E2 OB4 0 E6 (E8 01 EA O EA OEC C}. BF O)Cl. O C4 OC4 OC6 CC9 OCB 01CE O CF 8DO 8 3502 8D04 8620 2014 F89 44 44 44 44 8DO2 F98 84 OF 8. A 2502 8B 07 8B30 34 0. 9EO6 A780 CE. O 6 3590 سی۔ سنہ سہ ہے. - - - - - - س ---------- س - c - 1 -- سے سے ہ سے ---- * F89 4F OFOR 34 O 9E00 3 O C8 6F84 6FO 6FO2 6C 84. 83 C064 24F 9 C3 OO64. 6C0. 83 OOOA 24F'9 C3 0 0 OA 5C E702 INSIDE OS9 LEVEL II Outhexil Space hex out hex Out dig print out dec outdec hundr Eed ten SOURCES PMap bsr hexil pulS a bSr heX. lda # S20 bra print t fr a b Sra lS ra lsra ls ra. bsr out hex tfr ko , а and a SOF cmpa # $0A 0 9-سے bcs outdig adda ; SO 7 A-F adda i S30 make ASC I pShS X dX, Jinept r -{--十十 Sta X StX li neptr pulS X, pC equu 女 As: number tf ξ , ο C r a equ Da=nu Isber Clt lead flag pShS X Il dx U1 e leax number X Clr X Clr 1 - X C.r 2, X inC X Subd is 00 bocc hundred addd # 0 0 inc 1 - x subd #10 bCC ter addd # 30 incb Stb 2, X Page 6-4-6 ________________ INSIDE OS9 LEVEL III SOURCES PMap 00267 00268 01D1 8DOF bs r printled 00269 0D3 8DOD bs r printled 00270 OD5 8D05 bsr printinum 0027 W 0D7 .7FFAD lbs r space 00272 OlDA 3590 puls X, pc 00273 OO 274 01DC print num 00275 ODC A680 lda Xh 00276 ODE 8B2F adda i S30-) make ascii 00277 01E0 20BD bra print 00278 00279 OE2 printled 00280 OE2 ODOB tSt leadflag print leading zero? 0028. OE4, 26F6 bne print num eyes 00282 OE6 E684 db 7 X is it zero? 00283 OE8 OCOB inc lead flag 00284 OEA 5A decb 00285 OEB 26 EF bne print num . . no print Zero's 00286 OED OFOB Clr lead flag else Surpress 00287 O1EF 8620 lda #$20 00288 OF 300 leax l ex OO289 OF3 20 AA bora print 00290 0029. OF5 47459 emod 00292 OF8 len equ 膏 00293 end 00 000 error ( s ) 00004 warning (s) SOlF8 00504 program bytes generated $0333 008l.9 data bytes allocated SO499 Oll77 bytes used for symbols 006B D BUFFER 020 O S BUFFSZ 00B4 L BYE OO COPY 0.088 E. D. PTHDBT OOO4 D DATIMG OB L, DONAME 006C L ENTRY 00B5 IL ERROR OOB E FSCPYMEM O006 E FSEXIT 008 E F $GPRDSC 0 0 0 F D HIDR 006B L HDRCR 002D E HIDRILEN 002D E HDRLEN2 002 L, HEADER 003F L, HEADER2 08B I, HEXl OBA. L. HUNDRED 008A E I SWRITE 008C E ISWRITLN OOOB D LEADFLAG OF8 E LEN 0006 D LINEP"R 0004 E MŞNAME 009B. L. MAIN 0 0 0D IL MINAME 0333 E MSI28 05C L. NAME2 06. L NAME3 0.74 L NAME4 0.17 E. L. NAME5 O008 D NUMBER OOB D OUT OAC E OUTDEC 0A9 E OUTDEC 09D L OUTDIG 0.95 L OUTHEX 0.85 L OUTHEX 0.7F L OUTHEX2 O OBE L OUTPUT OOOB E PSAGE 0 0, 40 E. P. ŞİDA TIMG 0 000 E PŞD) 000 E P $IOON OOO7 E PSPAGCNT 0030 E PSPATH 000 E PŞP ID 00 E PSPMODUL 000A E PŞPRIOR 009 E PŞSIGNAL 0004 E PŞSP OOOC E PSSTATE OOO6 E. PSTASK 0.008 E PSUSER OOOC D PATH 0003 E PD, DEV 000 E D PID 09F. L. PRINT OE2 L PRINTLED 0D L PRINTIIN 036 L PRINTNAM 0 DC L PRINTNUM 00D8 L PRNTIMG OOED L PRNTIMG2 OOF2 L PRINTIMG3 087 L SPACE 026B D STACK 0002 D SYSIMG 0006 E SYSLEN 00B8 L SYSNAM 0 C4 L TI'EN 0 000 D UMEM 0.004 E. WSDESC

Proc

PROC - Like procs, but shows standard in/out devices: St = status byte, Sig = pending signal in hex and dec.

Example:

OS9: dirim >/w7 & (setp r 2 255 proc > /dl/test)
ID Print User Pty Age St Sig . . Module Std in/out
LSLGSL LSLSMTLLLLSS S SLS SLA SLLML LLLLLLSS S SSLS S LSLSeSeS LSLLLLGSAAL L0SSM S S LSeL LSLL LLLSSSJ SSS SLLSLLSL LSLSL LLSS LLSL LCSHL LLLLLMSS S LLLSLLLLLSLLLL LSSSLSLSL LSLS SSL LLSLSLL LSSSkLLSLSMSSL LSkkSL LSLMM TSLL LSL SLLTMSS SS SSLSLSLLLSLSL LSL LTkLLSSTLLLLSSSLSLSL LSL LSL LLTLLSAL LSLSLL LSSTL
2 l O 255 255 80 0 00 Shell KTem Xer 3 2 0 28 28 80 0 00 She {W. XWI 4. 2 O 1.28 28 OO 0 00 Di M Ker > W7 5 2 O 28 130 80 0 00 Shell Ko'erris X Termi 6 5 0 28 29 80 0 0 0 POC Ker > D

SOURCES Pri OC Microware OS-9 Assembler RS Version 01 - 00 - 00 PrOC -- INSIDE OS9 LEVEL II 0000 al Proc 00002 ttl INSIDE OS 00003 * Proc - L-II Procs for coco 3 00004 OOOO 5 * 0.6 feb 87 add std out also OOOO6 * 03 feb 87 : add path name display OOOO7 * 0l feb 87 : working version 00008 * Copyright l987 by Kevin Darling OOOO9 OOOC O088 D. PthDBT equ SO 088 OOOl 0003 PD. DEV equ SO3 OOO2 OOO4. VŞDESC equ SO4 0003 OOO4. 0 006 FSExit equ 6 O005 008 F $GPrDsc equ S8 OOO6 OOB F $CpyMem equ Şl B O007 008A I$Write equ S8A O008 008C I$Writlin equ S8C 00019 OOO20 OOO4 MSName equ 4 0 002 OOO22 OOOO İP ŞD) equ O OOO23 OOO P ŞPID equ 00024 OOO4 PSSP equ 4 OOO25 OOO6 PS Ta Sk equ 6 OOO26 OOO7 P$PagCnt equ 7 00027 OOO 8 PŞUser equ 8 OOO28 OOOA P$Prior equ SOA OOO29 OOOB PŞAge equ SOB 00030 OOOC P$ State equ SOC OOO3. OOO PŞIOQN equ SO 00032 OO P$PModul equ Sl OOO33 O09 P$ Signal equ S9 OOO34 OO30 PS Paith equ S30 OOO35 0040 P$DATImg equ S 40 OOO36 OOO37 OOOO 87CD028E mod len Innate OOO38 OOOD 50726FE3 ae fCS "Proc." OOO39 00. O9 fco 9 OOO40 0 004 0200 buffs iz set 52 00042 OOO43 D OOOO e rmb 2 OOOA 4 D 0002 Sysimg rmb 2 O004.5 D 0004 dating rmb 2 OOO46 D 0006 lineptr rimb 2 OOO47 D 0008 number rmb 3 OOO48 D 000B lead flag rmb OOO49 D OOOC path rmb 2 00050 D 0.00E pid rmb l Page 6-5-2 O3/30/87 007 04 Page 001 9 LEVEL II $ll i $8l , entry Insize pointer to syspro datimage dat img for copymem ________________ 0005 OOO52 00053 00054 00055 OOO56 00057 OOO58 00059 OOO60 0 006 0.0062 00063 00064 OOO65 OOO66 OOO67 OOO68 OOO69 000 70 OOO7 00072 OOO73 OOO 74 00075 OOO 76 OOO 77 000 78 OOO79 0 0080 O008 000 82 0 0083 O0084 OOO85 O0086 OOO87 OOO 88 OOO89 OOO 90 OOO 9 OOO92 00093 OOO94 OOO 95 OOO96 OOO 97 OOO 98 OOO 99 0000 OOO. OOO2 0003 O004 W OOOF 000 0050 00A0 02AO O4AO 0.568 OO2 002 OO48 OO37 OO 49 OO 49 O07 F 007 OO37 0080 O080 O082 O084 O086 O08A OO8E O09. OO 95 OO 99 009D 00A0 OOA 4 OOA8 OOAC OOAF OOB). O OB5 OOB8 00BA O OBD OOBF OOBF OOC O OC 4 OOC6 OOC8 OOCA OOCC OODO OOD3 OOD5 OOD7 20.494. 420 OD 2D2D2D2O OD ΟΕ 00 860. 970E 3O8DFFF5 O8E000 O3F8C 1025 004.5 3O8DFF'79 108Ε0037 O3F 8C O250.036 308DFFA O8E0O37 O3F 8C 860. 30C902AO O3F 8 2520 3O8840 9FO2 DEOO 30C850 9;FO 6 OCOE 27 OF 96.OE 30C90 CAO O3F8 25 EA 8D06 20E6 name hidr Out buffe syspr Stack msize heade hdre heade hdr Cr hd rle entry mair INSIDE OS9) LEVEL II SOURCES Pri OC rimbo l rmb 64 rmb 80 rmb buffs iz C rimbo buffS jiz rimbo 200 equ fcc f Cbo SOD equ *-header r2 f CC " --س- حاح س- مس - - - - - - - - - - س- - - - - مس - س- س fECb SOD n 2 equ *-header 2 Stu e lda #卫 Sta pid leax hidrcr pc lidy #卫 OS 9 IL $ Writin lb CS error leax header pc lidy hd rl en OS 9 ISWritlin bo CS error leax header 2, pC lidy #hd rl en 2 OS 9 I $W r i tlin lda #] leax > SySpr C u OS 9 FSGPrISC bcs Se O leax PSDATImgx StX Sysing ldu e lea X Out i u StX l inept r inc pid beq bye lda pid eax buffer , u OS 9 F SGP rIDS C bCS main bSr Output bra main Page 6-5-3 " ID Print User Pty Age header each proc desc Sys proc desc St Sig . . get system proc desc just for it's dat img next process , . Σ 255 - proc id destination buff get proc de SC . . loop if not one report proC data . . loop. exit Module ________________ 0 005 OOO6 OOO7 O008 OC109 OOO OO. OO2 OO3 OO .4 OO 5 O06 OO7 O Oi 8 OO 9 OO20 OO2 OO 22 OO23 0 024 OO25 OO26 OO 27 OO 28 OO29 OO 3 O OO3. O (). 32 OO33 OO 34 OO135 0036 OOl37 OO38 OO 39 OO 4 O 004 OO 42 OO 43 00]44 OO .45 OC, 46 OO 47 OO 48 OO 49 OO150 005). OO)52 0.053 OO154 O055 0.0156 OO)57 OO 58 OOD9 OOD9 00DA OODA OODD OOOD 00 DF OOE2 OOE4 OOE7 00EA OOEC OOEF OOE2 O OF 4 OOF 7 OOF9 OOFC O OFF OO O 04 O. O7 Ol OA O COD OO O3 O6 08 OE, OD OF Ol22 0.24 0.26 O29 O2B (2D 0.2D O.2F O3 0.33 0.35 0.35 O37 INSIDE OS9 LEVEI, II SOURCES Por OC bye 5F Crbo e O O3F06 OS 9 F ŞEXit. output A684 1da PŞID x 1705D bSr Outdecli A60 lda P ŞPID x 70.58 lbs r outdecl 70.33 lbs r space EC08 1dd PSUser x 170153 l bos r outdec 1701.2B lbs r space A60A lda PSPr i. C» r , x 7048 lbo S r outdecl A60 B lda PS Age, x 701 43 lbs r outdecl * da PST'ask , x task number * lbs r out hexl 70E lbs r space A 6 OC lda P ŞState x 7 C7 lbs r Outhex A 6889 lda P$ Signa] x 17 (3.5 lbs r Outdec A6 88.9 lda PS Signal x 17 O OB lbo Sir Couth exil Il 7 01 OA lbs r Space EC 883 0 I.dd PSPath, x DDOC std path

  • Print Prinary Module Name:
  • X=proc desc

3. 8840 leay 1Ε'20 t for DDO 4 Std AE881) dx C609 id:b D7 OF Stbo 7 OOA2 boS I

  • Print Std Input Device:

863C li da 8D21 bos ir Stdout 96 OD lda 9 7 OO Sta 863E 1da 8D.9 bSr prirtlin 9EO6 dX 860D lda PSDATImgX y d dating P $PModul , x #9 namid en printnam

  1. "く device

path +l path #"> die vice linept r SOD Page 6-5-4 process id parent's id user id priority State Signal signa) in hex save proc Std in path and pathl stdout D=dat image in proc desc X=offset in map now print whole line: ________________ O0.59 OO160 0016l O062 O063 O064 0065 O066 OO67 006.8 0069 007 O 007 OO.72 O073 OO.74 OOI75 OO176 0.077 0078 00179 O080 008 OO 82 O083 0084 O0185 O086 0087 OO 88 OO 89 O090 O09. 0092 0.093 O094 O095 O096 OOl.97 001.98 OO 99 00200 OO20 00202 OO2O3 00204 OO2O5 00206 002O7 OO2O8 OO 209 002.0 002. 00212 0.39 0.3B 0.13D 0.40 0.44 0.46 0.49 04D 0.4E 04E 0.50 0.53 0.55 0.57 0.59 05B. 05E 05E 060 06 0.63 0.66 0.67 0.67 0.6A 06C O16F 0.73 O76 O7A O7C 0.80 0.82 0.85 0.89 08B 08C 08D 0.8F 09 0.93 0.95 0.97 O98 O9A O9C 09E OAO OA4 INSIDE OS9 LEVEL III A784 DE00 30C850 O8E0050 8601 O3F8C 025FF8D 39 device DE00 7 OOE2 96.OC 26 O 8620 C605 O9EO6 device0 A7A0 5A 26FB 09F06 39 device2 33C80 DCO2 8E0O88 O8E0002 O3FB 1025FF 6.0 9EO 108E0040 DCO2 03Fl B 025FF5 CBO3 FO DCO2 O8E0002 O3FB SOURCES POC Sta 7 X ldu Ue Il eax out i u Ildy #80 lda #1 OS 9 I $Writin lbocs error rtS ldu e lbs r print lda path bne device2 lda #$20 ldb #5 lidy lineptır Sta Y+ de Cb bne device0 sty lineptir rts leau hdr , u 1dd SySimg dX :D. PithDBT lidy #2 OS 9 F$CpyMem lbocs error Il dx hd r ldy #64 1dd Sysing OS 9 F $CpyMem lbocs error ldb path Srbo lS rbo Ida b , u pshs a dbo path andb i 3 lda #$40 mul puls a addbo PD IDEV tfr d х 1dd sy Simg lidy #2 OS 9 F ŞCpyMem Page 6-5-5 ("く >") get path table offset: in system map from direct page ptr get path descriptor table: (X was D. PthDBT ptr) point to path block : four paths / sub-block As Insb block address then point to path within D=path descriptor address and get device table ptr

OO23 OO 214 OO 215 addr S 0.026 OO2.7 0 028 OO29 0 0 220 O022 OO 222 OO223 00224 OO225 O0226 00227 00228 00229 OO23 O OO23. 00232 OO233 OO234 00235 0 0236 OO237 OO238 00239 OO 24 O 0 024 0.0242 00243 0.0244 OO245 00246 OO247 0024.8 O0249 OO250 OO251 0.0252 00253 OO254 OO255 OO 256 OO257 OO258 OO 259 00260 0026. OO262 00263 00264 00265 01A7 01 AB OAD 01 AF OBO 0B2 OB6 OB9 01. BD OL BF' OC O1C3 OC5 OC7 OC9 OCB OCB OCD ODO OD2 OD 6 OD9 ODD ODF OE OE3 OE5 OE9 OLEC OEE OF2 OF 4 OF6 OF7 OF7 OF8 0 FA OFC OFIE 0200 0202 0204 0206 O2.08 020A INSIDE OS9 LEVEL II SOURCES Pro C 025FF2F lb CS error 9EO lldx hd r X=device table entry Sys C604 ldb VSDESC but we want it's desc ptr 3A abx DCO2 1dd Sysing O8E0002 lidy #2 O3 FIB OS9 F $CpyMem 1025FFD 1bCS er r Or 9EO 1dx hdir then get desc address: ΓΟΕ 00 1 du le DCO2 did sy Simg DD 04 std dati mg C605 do #5 D7 OF Stb namen 2000 bra printnam and get device name

  • Find and Print a Module Name : * X=mod offset U=data area, dat img =ptr

34 40 33C80 DC04 O8E0OOA O3FIB 1025FEFD EC44 DEO 6 308B DCO4 08E0O28 03Fl B 3540 1025FEE8 340 9EO6 5F 5C A680 2AFB C28 24ll 847F A7F D OF 24.09 8620 printnar name 3 name 4 poshS leau dd lidy OS 9 libcs I.dd ldu lea X lidd Ildy OS 9 pulS lb CS pshs 1 dx Cl rbo incb lda bpl Cmpb bCC anda Sta cmpb bo CC lda Ա hdir, u dati mq #10 F $CpyMem er Or MŞİName u linept r d x dati mg #40 F ŞCpyMem Εe Y O Ο Ο. X linept r Xname3 #40 names S7 F -l X naml en name 5 #$20 Page 6-5-6 destination proc dating ptr Y=length get header get name offset from header move nare to output line X=offset in map to name max Char len get name B is length fix it up, then ________________ INSDE OS9 SVEL III SOURCES PrOC 00266 020A A780 Sta 亚X十 OO267 O2 OC 5C incb 00268 02OD D. OF cmpb namlen 00269 O2 OF 25F9 bcs name 4 OO 270 O2 name 5 0027). O2 9FO6 StX lineptır 00272 023 3590 puls Xpc OO273 00274 AJA SSS S AASiq AqAq A AASASAi SiS MS qqSSAS AS AAASASS SAA SSSASA A AAAS A qSSqSqA SASAS ASS AAAA qqq qqq qq SSS A AS qSq qqS AAASASAAAS S SAS OO275 00276 02.5 ou thex 2 0.0277 02.5 3404 pshs b OO278 02.7 8D08 bSr hexil OO279 O29 35O2 pul. S a OO28O O2B Outhex OO28. O2. B BDO 4 bsr hexil 00282 O2D Space 0.0283 O2D 8620 lda #$20 OO284 O2F 2014 bora print 00285 0.0286 0221 hex 00287 O22 F89 tfr a, b 00288 O223 44 ls ra 00289 0.224. 44 1 S rab OO290 0225. 44 lSra OO29. 0226 44 lSrä OO292 O227 8D02 bSr. OutheX OO293 O229 F 98 tfr b a CO294 022B out hex OO 295 O 22B 84 OF and a SOF OO296 022D 80A cmpa $0A 0 9حس۔ OO297 O22F 25 O2 bCS ou tidig 00298 O23. 8B 07 adda is S07 A-F OO299 O233 outdig OO300 O233 8B30 adda di S30 make ASCII 0.030 0235 print OO3O2 0235 340 pshS x OO303 0237 9EO6 Il dx lineptır -------- OO304 O239 A780 Sta XOO305 O23B, 9FO6 StX lineptır OO306 O23D 3590 puls X r pc OO307 O0308 * - ܘܚܗ ܝܗ- -- -- ܝܚܝ -- -- -- -- ܚ- ܚܘ ܗ - -- S LLLSLSS LS LS LS S LSS SLSL LLLLS0SLSSLSSSSSLSSSSSSLSS TSLS S SLSLSL LSLSLSL LSL S LSL LSL LLMkSkL LLGSLLL LSLSL -- I W II - apy aar as A- rO0309 O23F outdecl equ * A=number OO3 O O23F F89 tfr a / b 003 024卫。4F cra OO32 0242 outdec edu D=number 0.033 O242 OFOR Cr lead flag 003 4. 0244, 340 pshS X 003.5 O246 9EOO 1 dx le OO 316 O248 3008 leax number x OO317 024A 6F84. clr y X OO38 024C 6FO Clr l х OO 39 024E 6FO2 Cr 2 x Page 6-5-7 ________________ NS DE OS9) LEVE II SOURCES PrOC OO 320 O250 hundred 0.032 O250 6C84 inc X OO322 O252 830.064 subd 8, 100 OO323 0255 24F9 bcc hundred 0 0324 O257 C3 OO64 addd lill 00 OO325 O25A ten OO326 025A 6C0. inc l, X OO327 O25C 830 OOA Subd 30 OO328 025F 24 F9 boCC ten OO329 026 C3000A addd #10 OO330 O264 5C incb O0331 O265 E702 Stb 2, X O0332 OO333 O267 8DOF bs r printled OO334 O269 8DOD bS r printled OO335 O26B BDO 5 bos ir printinur: 0 0 336 W 026D 17 FFAD lbs r Space OO337 O27 C 3590 puls x r pc 0.0338 O0339 0272 print num OO340 O272 A680 lda XOO34 0.274 8B2F adda S30-l Inake ascii 00342 0.276 20BD bo r a print OO343 00344 O278 prirtled OO345 O278 ODOB tSt. lead flag print leading zero? 003 46 027A 26F6 bne print num . . yeS OO 347 O27C E684 ldb X is it 2 ero? OO 348 027E OCOB in C lead flag OO349 0280 5A decb OC350 O281 26 EF bne print num . . no print zero's 0035. O283 OFOB Jaclr lead flag else surpress OO352 O 285 862O lda : S2O OO353 0287 300 leax li , x OO 3.54 O 2 8 9 2 O) AA bra print O0355 0 0356 O 28 B 05 EAF enod 0O357 028E len ecau 紫 0.0358 end Page 6-5-8 ________________ 00000 00004 SO28E SO 568 SO47B OOAO 0.4E OOB OO37 O250 O006 OF7 OO 50 O2B OOOO 00 OOO6 0235 02D 025A INSIDE OS9 LEVE, II SOURCES Pri OC error (S) Warning (S) 00654 program bytes generated Ol384 data bytes allocated Oll47 bytes used for symbols BUFFER 0200 S BUFFSIZ OOD9 L BYE DEVICE 0.5E L DEVICEO 0.167 L DEVICE2 F SCPYMEM 0006 E F SEXIT OO 8 E F SGPRD SC |HDIRLLEN 0037 E HIDRILEN 2 002 L HEADER HUNDRED 008A E ISWRITE 008C E IS WRITIN IINEPIR 0004 E MŞNAME OOBF L. MAIN NAME3 O2 OA L NAME4 O2 L NAME5 OUT 0.242 E OUTDEC O23F E OUTDEC OUTHEX 0215 L OUTHEX2 OODD L OUTPUT İP ŞD) 000 E P $IOQN OOO7 E PSPAGCNT PSPMODUL OOOA E PSPRIOR 009 E PSSIGNAL PSTASK O008 E PSUSER OOOC D PATH PRINT 0278 L. PRINTLED 0135 L. PRINTLIN SPACE 04AO D STACK 02D L, STDOUT TEN 0 000 D UMEM O004 E. VSDESC Page 6-5-9 O088 0080 OOO OO 49 000B OOOD OOOF 0233 000B OO3O 0 004 OOO3 01CB 0 002 D : PTHDBT ENTRY HDR HEADER2 ILEADFIL'AG MNAME NAMLEN OUTDIG PŞAGE P ŞPATH PŞSP PD DEV PRINTNAM SY SMG OOO4 O ODA 007 F 022. 028E O568 OOO8 022B OO 40 OOO OOOC OOOE 0272 02AO DAIMG ERROR HDRCR HEX LEN MSIZE NUMBER OUTHEX P ŞDATIMIG PSPID PŞSTATE PD PRINTNUM SY SPRC

SMap

SMAP - Show system page memory map. As above, except in pages. Important info adding drivers, starting many procs, etc.

# C .است se e r. : حسجمة ܚܒܝ ܚܒ O U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U 2
- - - - - - - - - - - - - - r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - 8 U U U U U U U U U U U U U U 9 U U U U U U U U U U U U U U U U A U U U U U U U U U U U U U U U U B U U U U U U U U U U U U U U U U C U U U U U U U U U U U U U U U U D U U U U U U U U U U U U U U U U E U U U U U U U U U U U U U U U U F U U U U U U U U U U U U U U U
Number of Free Pages : 98
  Ram Free in KBytes: 24

Micro ware OS-9 Assembler RS Ver Sion 01 - 00.00 O3/30/87 OO 17 48 Page 001 SMap - INSIDE OS9 LEVEL II OOOO) al SMap 00002 tt] INSIDE OS9 LEVEL III 00003 * SMap - systen memory blockmap for cc3 OOOO4 * 08 feb 87 OOOO 5 * Copyright 1987 by Kevin Darling OOOO6 OOOO7 004E D. SysMiero equ SOO4E system men map 00008 OOOOC OOO6 FSExit equ 6 OOCO OOT B F $CpyMen, equ SE OOO. 008A I ŞWrite equ S8A OOO2 O08C I $Writln equ S8C O003 0 004 OOOO 87CDOD5 mod len, name, $ll, $8l, entry, msize OOO 5 OOOD 534D6FO BES fCS "SMap" OOO6 OO O1 fCb OOO.7 OOO 8, OOO bouff s ii z Set 256 OOO 9 OOO 20 D OOOO lead flag rnib l OOO 2 D OOO number r Imb 3. 00022 D 0004 free rībi OOO23 D OOOS OW rmb l 00024 D 0 OO6 Spc Ι. Πιο OOO25 D 0007 Out. r Imbo 3. OOO26 D OOOA maps. i2. rTbCy 2 OOO27 D OOOC blkS i 2. rimbo 2 OOO28 D OOOE bolkrum rimbo l OOO29 D OOOF bu ffe r rimbo bou ffs5 iz 0 0 0 3 0 D 0. CF Stack rimbo 20 O OOO 31 ID O'D7 Insize equ 琴 OOO32 00033 002 header 0.0034 002, 20202020 fcc O 1 2 3 4 5 6 7 8 9 A B C D E. F." OOC35 OG35 OD fcb SOD OOO36 0024 hdir en equ * - header OOO37 OO36 hdr 2 OOO38 0036 20232020 f CC * # = డా - - - - - R. - - - - జ: = = = " OOO 39 0 059 OD f Cb SOD OOO4 O 0 024 hdr en 2 equ *-hidr 2 OOO 4 OOO42 005A OOOOOOOO dat imig fd3bo 0 () OOO 43 OOO44 005E entry OOO 45 005E 17 O OF IlboS r C r tn OOO46 0 0 6 3 08D FFAD leax header pic OOO47 OO65 860 1da #] OOO 48 OO67 08E0O24. ldy hidr en OOO 49 O06E. O3F8C OS 9 I SWr itln OOO50 OO6E 308DFFC4 leax hidr 2, C O005. OO 72 08E0O24 lidy hidr en 2 Page 6-6-2 ________________ INSIDE OS9 LEVEL III SOURCES SMap 00052 007 6 1 03F8A OS 9 I ŞWrite 00053 0.0054 * Get SysMap Ptr : 00055 0079 308DFFDD leax dat img pC OOO 56 007D 1F10 tfr x , d 00057 007F 8E004 E dx #D. SysMem OOO58 O 082 1 08E0002 lidy #2 00059 O086 3440 pShs u 0 OO60 O088 334F leau buffer , u 0 006 O 08A 1 03F'1B OS 9 F ŞCpyMem 00062 008D 3540 pull S u OOO 63 0 08F 10:2500AC lbCS er r Or 00064 OOO65 * Get SysMap: 000 66 0.093 AE4F lidx buffer u get map address OOO67 0.095 08E000 ldy #bou ffS iz OOO68 OO 99 3440 pShS u 0.0069 009B 334F leau buffer , u OOO 70 009D 103Fl B OS 9 F $CpyMem OOO7 00A0 3540 pull S u 00072 00A2 1025.0099 lbCS er ror 000 73 000 74. 00A6 0F0E Cl r bolknum OOO75 OOA8 0F04 Clr free OOO76 * Std blk siz 00077 * sty mapsi z O0078 00AA 30 4F leax buffer ul 0 0079 0 0AC 8630 1da #$30 0 0080 OOAE 9705 Sta OW O008 OOBO 6FE2 Clr S Sa Ve COunt OOO 82 O OB2 loop 0 0083 00 B2 A6E4 lda S 000 84 00B4 85 OF bita # $ 0F OO 085 OOB6 2627 bne loop2 OO 086 0 0087 O OB8 340 pShS X O0088 OOBA 1700 B3 lbs r crtin OO 089 O OBD 3046 leax Spc u 000 90 O OBF 108E0 004 ldy #4 0 009. OOC3 96 05 lda Ι. Ο W. OOO 92 OOC5 83A cmpa f $3A 00093 OOC7 2604 bne oknum 000 94 OOC9 864 lda #$4] OO 095 OOCB 9705 Sta OW 0 0096 OOCD oknum 000 97 OOCD 97 07 Sta Out 00098 OOCF OCO 5 inc OW OOO 99 OOD1 CC 2020 lidd i S2020 0000 OOD 4 9.706 Sta SpC OOOl 00D6 DD08 std Out-l 0 002 OOD8 8601 Il da #1 0 003 OODA (O3F8A OS 9 I ŞW r. ite 0 004 OODD 350 pul. S X OOO 5 Page 6-6-3 ________________ OOO6 O007 OOO 8 OOO 9 OOO OOl 002 OO3 004 OO15 006 OO7 OO 8 OO 9 OO20 OO2 00I 22 0 023 () (24 OO 25 00l.26 Ο ΟΥ 27 OO28 OO29 0.030 OO3 O032 OO33 OOIL34 OO .35 OO3 6 OO37 OO38 OO 39 OO 40 004 OO 42 OOA 3 0044 OO 45 OO 46 O014.7 OOl. 48 OO 49 OOSO OOL 5. OO 52 OO153 OO 54 OOS5 OO 56 OO 57 OO158 OO 59 W OODF OODF OOE. 00E3 OOE5 OOE7 OOE9 OOE9 00EB OOED OOED OOEF O OF O OFI. OOF3 00F 5 OOF 7 OOF9 OOFE; O OFF O. O. OO 4 OO6 01.08 COC 01 0E O) () Ol2. O 6 OA OC OF O 2. 0.22 O 25, O27 012E. 0.2F O 3 O34 C36 0.37 O38 O39 O3C O3F O3E O3F O3F 042 OO.7 E68O 27 OA 2B 04 C655 2008 C62E 2004 C65F OC04 D7 (7 C62O D708 34 O 3047 O8EOOO2 860 O3F8A 35). O 6AE4 O 22FFA6 3502 8D60 8D5E 3O8DOO2C O8E0O.7 860 (3F 8A D604 4 Fo 17 (O6F 8D 49 3O8D0 02E O8EOO17 86 Ol O3F8A D604 AF 54 54 7 OO58 8D32 5F O3 FO6 20 4 E7 56D INSIDE OS9 LEVEI, II loop 2 not ram freer am Out bye e C. freemisg free en SOURCES SMap db x+ get next block beq fr e er am bmi rn Otra II ldb # U ram-in-uSe bra put Čb #甲。 nOt RAM bra put ldb #" not used inc free Stibo OԱ t 1db #$20 Stbo out-- psh S X leax Out u lldy #2 lda #卫 OS 9 I $W r i te puls x dec S lbh j. loop pul. S a bSr C rt r) bS r C r tr) leax freer(Sg, pc lidy # fr eel en lda #卫 OS 9 I ŞWir i te ldb free Cl r a l bo S r out de c: bS r C r tn leax ran TSg pc lidy #ran:len lda OS 9 ŞWir i te ldb free C r a lS rbo Il S r bo lbs r Outde C bS r C r tr C. robo OS 9 F SExit fcc " Number of Free Pages : " equi *-freemsg Page 6-6-4 ________________ 0060 006 0.062 O063 O064 0065 0.066 0.0167 OO68 OO69 OO 70 007. 00.72 OOL73 0.074 0.075 0.076 001 77 00178 0.0179 0080 008. 00182 0.083 O084 00185 0.0186 0087 0.088 O089 00:190 009 0092 0.093 O094 O095 0.096 O097 0.098 OO 99 00200 O020 002O2 00203 00204 00205 002O6 00207 00208 00209 002.0 002 00212 00213 20202052 3 412 860D 9707 3047 O8E000 860. O3F8C 3592 97.07 340 3047 O8E000 860. 103F8A 3590 304 0F00 6F84 6F01 6FO2 6C 84 83 (0.064 24F9 C30 064 6CO. 83 OOOA 24F9 C3000A 5C E702 8D08 8D06 A680 8B2F 20C4 ODOO 26F6 E684 OCOO 5A INSIDE OS9 LEVEL, II ramsg ramlen Crtin print Outde C hundred ten print num printled SOURCES SMap focc equ *-rammsg pShS ax lda ; SOD Sta Out leax out u ldy #卫 lda #1 OS 9 ŞWritin puls ax, pc Sta Out pshS x Il eax out , u ldy #] lda #1 OS 9 ISWrite puls x, pc equ 决赛 leax number , u cl r lead flag Clr X Cl r 1 : x C1r 2 х inc v X Subd #00 boCC hundred addd # 1 0 0 inc 1 : x Subd 10 bCC ten addd | 0 incb Stb 2, X bsr printled bsr printled lda Xh adda * S30-l bora print tSt leadflag bne print num ldb X inc lead flag decb Page 6-6-5 Ram Free in KBytes: " D=number make ascii print leading zero? . . yes is it zero? ________________ INSDE OS9 LEVEL, II SOURCES SMap 002 4 01 C8 26 EF bne print num . . no, print zero's 0 0215 OCA OFOO clr leadflag else SurpreSS 0026 OCC 8620 lda S2O 002.7 01CE 3001 leax l , x 0 028 ODO 20 B. bra print OO29 0 0 220 OLD2 F9F9F emod 0 0 22. OD5 len equ * 00222 end 0 0 0 0 0 error (s) 00003 warning (s) $OlD5 00469 program bytes generated $01D7 004.7l data bytes allocated $02D7 00727 bytes used for symbols 000E D BLKNUM 0 0 0C D BLYKSI 2 0 00F D RUFFER 0.00 S BUFFSZ 03E L BYE 0170. L., CRTN 004 E E D. SYSMIEM 005A L DATIMG 005E L ENTRY 03F L, ERROR O OB E ESCPYMEM O 006. E F SEXIT 0 004. D FREE 00:17 E FREFLEN 01:42 L FREEMSG 0 0 ED L FREERAM 0 036 L HDR2 0024 E HIDRILEN 0 024 E. HDRLEN2 002 L, HEADER 09E L. HUNDRED 008A E I SWRITE 008C E SWRITIN 0000 D LEADFLAG OD5 E LEN 00B2 L, LOOP 00DF L LOOP2 000A D MAPSIZ. 01.D7 E MSIZE OOOD L NAME OOE9 L, NOTRAM 000 D NUMBER 00CD L OKNUM O007 D OUT 0.94 E OUTDEC 0.83 L PRNT 01BF I, PRINTIED 01 B9 I, PRINTNUM 00F1 L PUT 00:17 E RAMLEN 059 L RAMMSG 0.005 D ROW OOO6 D SPC O OF D SACK 0A8 III, TEN