% 53280,0:53281,0:646,5:(14)P"Π"z"UTPUT TO SCREEN OR PRINTER: ";6,0:6,A$:6A$"S"A$"P"A$"P"1,4,7:DV4:Q16:1::301,3:DV3"" 1," Π "G 1:1:1," IS ONE OF THE MOST COMMON ";z (1,"OF THE PUBLIC DOMAIN MACHINE LANGUAGE "; 21,"MONITORS AROUND. T IS ONE OF THE BEST "; <1,"AS WELL. ERE IS A BRIEF DESCRIPTION "; F1,"OF ITS FEATURES.":1' GDV3" RESS A KEY TO CONTINUE. "? HDV3A$:A$""72O IDV3""i P1,"IMPLE SSEMBLER"p Z1 d1,". 2000 9 12 #$12" n1,". 2002 9D 00 80 $8000,X" x1,". 2005" 1:1," N THE ABOVE EXAMPLE, THE USER BEGAN ";3 1,"ASSEMBLY AT $2000. HE FIRST INSTRUC- ";f 1,"TION WAS LOAD ACCUMULATOR IMMEDIATE "; 1,"WITH $12. N THE SECOND LINE THE USER "; 1,"DID NOT NEED TO TYPE THE AND ADDRESS. "; 1,"HE SIMPLE ASSEMBLER RETYPED THE LAST ";2 1,"ENTERED LINE AND PROMPTS WITH THE NEXT ";e 1,"ADDRESS. O EXIT THE ASSEMBLER, PRESS "; 1,"[] AFTER THE ADDRESS PROMPT. "; 1,"YNTAX IS THE SAME AS THE DISSASEMBLER "; 1,"OUTPUT. ':' CAN BE USED TO TERMINATE "; 1,"A LINE.":1< DV3" RESS A KEY TO CONTINUE. "U DV3A$:A$""242e DV3"" 1,"OMPARE EMORY":1 1,". 1000 2000 000":1 1," OMPARES MEMORY FROM $1000 TO $2000 ";1,"TO MEMORY BEGINNING AT $000. OMPARE ";7"1,"WILL PRINT THE LOCATIONS OF UNEQUAL ";J,1,"BYTES.":1t-DV3" RESS A KEY TO CONTINUE. ".DV3A$:A$""302/DV3""61,"ISSEMBLER":1@1,". 2000":1J1," ISASSEMBLES TO THE END OF MEMORY ";.T1,"STARTING AT $1000. HE THREE BYTES ";a^1,"FOLLOWING THE ADDRESS MAY BE MODIFIED. ";h1,"SE THE [CRSR] KEYS TO MOVE TO AND ";r1,"MODIFY THE BYTES. IT [] AND THE ";|1,"BYTES IN MEMORY WILL BE CHANGED. ";-1," WILL THEN DISSASEMBLE THAT ";E1,"LINE AGAIN.":1^1,". 2000 3000":11," ISASSEMBLES FROM $2000 TO $3000.":1DV3" RESS A KEY TO CONTINUE. "DV3A$:A$""422DV3""1,"ILL EMORY":11,". 1000 1100 ":1I1," ILLS THE MEMORY FROM $1000 TO $1100 ";h1,"WITH THE BYTE $.":1DV3" RESS A KEY TO CONTINUE. "DV3A$:A$""462DV3""1,"O UN":11,".":11," O TO THE ADDRESS IN THE REGISTER ";C1,"DISPLAY AND EXECUTE CODE. LL THE ";v1,"REGISTERS WILL BE REPLACED WITH THE ";1,"DISPLAYED VALUES.":11,". 1000":11," O TO ADDRESS $1000 AND BEGIN ";&1,"RUNNING CODE.":1'DV3" RESS A KEY TO CONTINUE. "8(DV3A$:A$""552H)DV3""^*DV4Q16:1:v01,"UNT EMORY":1:1,". 000 000 '":1D1," UNT THROUGH MEMORY FROM $000 TO ";N1,"$000 FOR THE STRING '' AND ";.X1,"PRINT THE ADDRESSES WHERE IT IS FOUND. ";bb1," MAXIMUM OF 32 CHARACTERS MAY BE USED.":1l1,". 000 000 20 2 ":1v1," UNT MUMORY FROM $000 TO $000 FOR ";1,"THE SEQUENCE OF BYTES $20, $2, $ AND ";1,"PRINT ANY ADDRESS WHERE IT IS FOUND. ";P1,"MAXIMUM OF 32 BYTES MAY BE USED. UNT ";1,"CAN BE STOPPED WITH THE [/] KEY.":1DV3" RESS A KEY TO CONTINUE. "DV3A$:A$""672DV3""1,"NTEREGATE EMORY":1 1,". 000":1<1,".' 000 54 4 4 20 4 41 4 59 ْ"r1,".' 008 20 46 49 4 45 3 46 49 ɒ":11," ISPLAYS HEX AND UNTIL THE END ";1,"OF MEMORY.":11,". 000 080":11," ISPLAYS HEX AND FROM $000 TO ";1,"$080.":1EDV3" RESS A KEY TO CONTINUE. "^DV3A$:A$""762nDV3""1,"OAD":1 1,"."(34)"FILENAME"(34):11," OADS A FILE FROM THE CASSETTE UNIT.":1 1,"."(34)"FILENAME"(34)",08":16*1," OADS A FILE FROM THE DISK DRIVE.":1i41," : OAD WITH A FILE NAME ";>1,"BREAKS THE SAVED BY THE MONITOR. ";H1,"O NOT USE . TO THE REGISTER AFTER ";R1,"A LOAD WITH A FILENAME.":1SDV3" RESS A KEY TO CONTINUE. "6TDV3A$:A$""852FUDV3""a\1,"EMORY ISPLAY":1zf1,". 0000 0008":1p1,".: 0000 00 01 0 3 4 5 6 7"z1,".: 0008 28 49 8 4 5 7 0 3":11," ISPLAY MEMORY FROM $0000 TO $0008. ";51,"HE BYTES FOLLOWING THE ADDRESS MAY BE ";h1,"MODIFIED BY EDITING AND THEN PRESSING ";~1,"[].":1DV3" RESS A KEY TO CONTINUE. "DV3A$:A$""932DV3""1,"EW OCATOR":11,". 7000 77 6000 0400 9000":1;1,". 77 77 6000 0400 9000 ":1n1," HE FIRST LINE FIXES ALL THREE BYTE ";1,"INSTRUCTIONS IN THE RANGE $7000 TO ";1,"$77 BY ADDING $6000 OFFSET TO THE ";1,"BYTES FOLLOWING THE INSTRUCTION. EW ";:1,"LOCATOR WILL NOT ADJUST ANY INSTRUCTION ";m1,"OUTSIDE OF THE $0400 TO $000 RANGE. ";1,"HE SECOND LINE ADJUSTS .WORD VALUES IN ";1,"THE SAME RANGE AS THE FIRST LINE. EW ";1,"LOCATOR STOPS AND DISASSEMBLES ON ANY ";$1,"BAD OP CODE.":1I%DV3" RESS A KEY TO CONTINUE. "c&DV3A$:A$""1062s'DV3"")DV4Q18:1:.1,"EGISTER ISPLAY":181,".":1B1," "L1,".; 0000 62 51 03 04 05":15V1," ISPLAYS THE REGISTER VALUES. HE ";h`1,"VALUES MAY BE CHANGED BY EDITING THEM ";j1,"AND PRESSING [].":1kDV3" RESS A KEY TO CONTINUE. "lDV3A$:A$""1132mDV3""t1,"AVE":1&~1,"."(34)"FILENAME"(34)",01,0800,080":1Y1," AVE TO CASSETTE THE CONTENTS OF ";1,"LOCATIONS $0800 UP TO (NOT INCLUDING) ";1,"$080.":11,"."(34)"FILENAME"(34)",08,0800,080":1 1," AVE TO DISKETTE THE CONTENTS OF ";; 1,"LOCATIONS $0800 UP TO (NOT INCLUDING) ";N 1,"$080.":1 1," : AVE TO TAPE WITH FILENAME "; 1,"BREAKS THE SAVED BY THE MONITOR.":1 DV3" RESS A KEY TO CONTINUE. " DV3A$:A$""1242!DV3"""!1,"RANSFER EMORY":1@!1,". 1000 1100 5000":1s!1," RANSFER MEMORY IN THE RANGE $1000 ";!1,"TO $1100 AND START STORING IT AT $5000.":1!DV3" RESS A KEY TO CONTINUE. "!DV3A$:A$""1282!DV3""" 1,"ALK ODE":1 "1,".":1S"1," INGLE STEP STARTING AT THE ADDRESS ";j"(1,"IN THE .":1~"21,". 1000":1"<1," INGLE STEP STARTING AT $1000. ALK ";"F1,"WILL CAUSE A SINGLE STEP TO EXECUTE AND ";#P1,"WILL DISASSEMBLE THE NEXT INSTRUCTION. ";J#Z1,"TEP SPEED MAY BE CONTROLLED WITH [<] ";}#d1,"FOR Š, [] FOR , AND ";#n1,"[] FOR .":1#oDV3" RESS A KEY TO CONTINUE. "#pDV3A$:A$""1392#qDV3"" $x1,"XIT TO ":1$1,".":1K$1," ETURN TO READY MODE. HE ";~$1,"STACK VALUE SAVED WHEN ENTERED WILL BE ";$1,"RESTORED. ARE SHOULD BE TAKEN THAT ";$1,"THIS VALUE IS THE SAME AS WHEN THE ";%1,"MONITOR WAS ENTERED. OR ANYTHING ";J%1,"THAT WOULD CAUSE A IN ";y%1," WILL FIX ANY STACK PROBLEMS.":1%DV3" RESS A KEY TO CONTINUE. "%DV3A$:A$""1482%DV3""%1,"RINTED UTPUT":1&1," RINTED OUTPUT CAN BE OBTAINED FROM ";M&1,"ANY COMMAND BY TYPING A '*'. "T&1^&1:1&" HAT CONCLUDES THE INSTRUCTIONS."&"LOAD"(34)"XMON64(SYS50135)"(34)",8,1"&"SYS50135"&'