L%hh LHH` X% " ӠӠΠǠ ˮԠˠǠӬĠӠ٠٠ϠŮ+JJJJ ,,,L Lک ٥ҥ>ӥ? ( ㆭ  ؆` | A""""""QQQYV <"<Q '(h((QQQ`@GHOHO $"!$q}T@` `@@``p0 8p@@`00 |0@` `pppPox`D3 < p?|@@@|@`f ppn|>0p  qcs6<, 3['Nxxxpp0` ```@vl  ?`@:3q  AcqcCyO@  0p`@@q @p?|`3cC ? ?>|xp`p`@Acwsssssss__????????~^^ ?~~~~~~~?>~||xpp`@~| xyy{~|@`pp xpp`@yyyyyyyx~ ~x`|xpxqa` cqx|||||||cCC?>>>??<<|||~?`ppxx||<||xxpp`|||||||| |?|p`@@@@`p|? OOGgccqpxsssssssppxxx|<<~?>~||xxxxppp```@@@`?~|x|~|||||||p@@p|~><|xp`@>|x|xpx}yyyyyyyAA?~|xpp`ppx|~? ?? 33@``@@glloLL LlOgloloG @`@glolo@@gLLL GaamGGlg`GGlg`G  xL| x@@xMLLxMyyM MyxAxMx|Yq @lllLglllgG LlL`@GLOLo033366m~0>3>33~G<`G}rccb``acccq{{{{8008????~ |lL COoooog CgoooocCFFLLXXPpqa88`}}}}>????~ | ~FCCFL ____|GG|GGccp{{{{ ;1q``qp`aas{{{{8008 0y| |}}}}AAQg((h' $C@0j ed`y < I1@@q q s8EE9EE8> ` `$DC0ANPQN@'h(' WPG((H@stq q8AyEx:NPQ@GhHHG#$p# @ (*Y9AyEy: QQQO~C%%C~_DDD qAAAaq9`ppxxx|xxx|AsGN8088 CcˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^L iõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx- ( t Ϡ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈m浍浭m䵍䵐`"L ŵ8ŵH ~(` d ֠z# u`::" TO CATALOG THE DISK, AND ANY OTHER KEY TO QUIT *";(8);:A$:b A$" "ė:(4);"CATALOG"r 34,0:23:L'     E INCLUDED, SUCH AS A PROGRAM TO SHOW THE STARTING AND LENGTHSOF BINARY FILES ON A DISK, A MEMORY DUMPAND A DISASSEMBLER WHICH CREATES SOURCE TEXT FILES ON DISK.": x"REMEMBER TO READ THE ";::"INSTRUCTION";::" FILES."D :"HIT ";::"SPACE BAR";4:34,0:W24:"HIT THE ";::"SPACE BAR";::" TO CONTINUE *";(8);:A$::]}X768822:Y:X,Y::768:165,103,133,6,165,104,133,7,160,1,177,6,208,3,96,234,234,160,04,177,06,240,16,201,127,176,9,201,97,144,5,56,233,32 E145code will be displayed whilethe line is re-written."=500::"To exit the MINI-ASSEMBLER and return toBASIC, it is necessary to enter :":"!$3D0G":"After returning to APPLESOFT, it is recommended that you reset the pointers by ty         "(222)) C$"PR#0":C$"CLOSE":34,0:[']ĠƠ͠[d ed ed ed ed ed ed eK'd ed! ed" ed# ed$ ed% ed& ed' eK'd( ed) ed* ed+ ed, ed- ed. ed/ e('d0 ed1 ed2 ed3 e'ple :"::"!300:LDA #00":"After the first line has been entered, enter a blank followed by the next assembly language statement, as in :":"! STA $19":"! LDA #20":"! STA $20"4:"As each line is entered, a correspondinghexadecimal use, thereis an exclamation mark '!' prompt displayed on the screen."U500:"The first step in entering a program is to set the pointer to the starting address in memory, along with the first instruction."::"This is seen in the exam::"Alternately it can be loaded into memoryby:"::"]BLOAD MINI-ASSEMBLER (XXXX)"::"and then later accessed from BASIC by:"::"]CALL 2048 for the lower version, or" :"]CALL 21504 for the higher version."L::"When the MINI-ASSEMBLER is in﭂`ծBOOTED..."/ (13)(4)"BLOAD BEU.48K":8192HhH#J h`u   ȑ $  i֭Ѕ0768,160:769,0:770,76:771,44:772,254:66,0:67,15:62,(175):63,(176):60,(175):61,(176)1:768:3841:(3840)133920:(13)(4)"BRUN BINLOAD":(3840)05 "...LANGUAGE CARD CANNOT BE RELOADED":" UNTIL THE SYSTEM IS RE4:23:958:22: 00,202,208,249,165,161,162,9,24,42,16,1,200,202,208,249,169,0,32,242,226,96,96zfI1012:Z:I,Z:pI81928227:Z:I,Z:zCNT0I561954:S(BASEI)256(BASEI1):V(S2)S2(S2)CNTCNT1CNTCNT(V)012:Z:I,Z::I81928227:Z:I,Z::CNT0:I561954:S(BASEI)256(BASEI1):V(S2)wS2(S2)CNTCNT1CNTCNT(V):: 76,0,032,32,12,225,165,160,166,161,32,65,249,96:I1012:Z:I,Z:I:I81928202:Z:I,Z:I:34,0:35,2980:J:I,J::RWADV8448:TA8964:SA8965:RD8972:SL6:DR1:DA37148sDA,SL16:DA14,SL16:DA1,DR:DA15,DR:\ 76,0,032,32,12,225,165,160,160,0,162,9,24,42,16,1,200,202,208,249,165,161,162,9,24,42,16,1,200,202,208,249,169,0,32,242,226,96,96:I1):"("A")";:28:Z(LL):"("L")":LCLC1:TNCT:SNCS:19:[TA,TN:SA,SN:RD,1:RWDRV:C8191: 169,035,160,00,32,217,3,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,96,1,0,17,0,17,35,0,36,0,1,1,0,254,96,1,0,1,239,216:I84488474:J:I,J::I89608:"READ ANOTHER DISK ?";:29:A$:A$:A$"Y"Į:19 26 I315:((B3I));:I:TN(B3):SN(B31):19:TN(BASE12):SN(BASE13):19:A(BASE)(1BASE)256:AAA:AATCAAAA216 L(BASE2)256(BASE3):LLL:LLTCLLLL216:15:Z(AA 1:24:" ";:35,23:21:958::21::14 1:24:" ";:LC1:21: B2:CTNTC:CSNSC:5 21:958:10)"NO MORE BINARY FILES"1 11)"FREE SECTORS = ";CNT:24:112):LC1:35,21:22:25 TNCT:SNCS:19:NTC(BASE1):NSC(BASE2):B21122435:B3BASEB2:(B3)0(B31)0Ĺ35,23:21:958::13 (B3)255ī8 PR(B32):PR4PR1284İ16 LC1612 24:16:"CONTINUE ?";:25:A$:A$:A$"Y"11S"OR":8:"HIT ANY OTHER KEY TO QUIT ?";:34:A$:A$:A$(13)ī26 VT17:VS0:BASE9216:NULL$"":TC2151:::" FILE NAME START LENGTH ":" (13 CHAR) HEX(DEC) HEX(DEC) ":34,3:6:::TNVT:SNVS:19:CT(BASE1):CS(BASE FILE NAME FOLLOWED":3:"BY THE FILE START ADDRESS AND FILE":3:"LENGTH IN BOTH HEX AND DECIMAL."::3:"THE NUMBER OF DISK FREE SECTORS IS":3:"ALSO CALCULATED.":16:8:"INSERT DISK TO BE SEARCHED":18:"THEN"C 8:"HIT < RETURN > TO CONTINUE":19: 20:::R140:1:R:"*";:23:R:"*";::R222:1:R:"*";:40:R:"*";::3:8:"BINARY FILE PARAMETER LIST":5:2:R239:"*";:::7:3:"THIS PROGRAM WILL SEARCH A DISK FOR":3:"ALL BINARY FILES, GIVING THE FIRST" 3:"13 LETTERS OF THE     b@P :"HIT ";::"SPACE BAR";::" TO CONTINUE *";(8);:A$:::C$"MON I":C$"PR#"C:C$"OPEN"D$:C$"READ"D$:9y 768 216,0:(222)5ĺ"ERROR # "(222) C$"PR#0":C$"CLOSE":34,0:$:C$"READ"D$:9 768 216,0:(222)5ĺ"ERROR #R CTRL-C TO EXIT LISTING. ENTER ANYOTHER CHARACTER TO TEMPORARILY SUSPEND LISTING." :"WHILE THIS TEXT FILE MAY BE MANIPULATED BY A TEXT PROCESSOR, THIS TEXT FILE CAN ALSO BE SENT TO A PRINTER WHICH USES A PAGE SKIP AND AT LEAST 68 COLUMN WIDTH."p,141,16,192,76,0,3 "TO WHAT SLOT SHOULD THE INSTRUCTIONS GO?":"ENTER '0' FOR SCREEN OR":"'3' FOR AN 80-COLUMN CARD IN SLOT 3"::"SLOT ";C:C0C73 :"DO YOU WANT TO SEE LOWER CASE AS LOWER CASE? ";A$:782,32:(A$,1)"Y"Ĺ782,0U :"ENTEe:::B$"MACHINE LANGUAGE TUTORIAL":21(B$)2::B$:::C$(4):D$"M/L TUTORIAL.TEXT":34,2 A768811:B:A,B:: 32,12,253,9,128,201,224,144,6,201,251,176,2,73,0,32,237,253,173,0,192,16,233,141,16,192,201,131,208,3,76,208,3,173,0,192,16,251 ŠӪK'd ed ed e d ed ed ed e0d eK'd ed ed e d ed ed ed e0d eK'd eLd ed e d ed ed ed ed eK'd e*#rq]ŠӠĠ&Yq&`;@r%[ &\U\@&c$&a(ҠҠӠŮ)#&a(ĠǠŠ))&a(ì)E@E(ĠŠҬ)"'a@E(נ٠Ԡή)'w["']Ӡ)?%&a()E@E()G`;@r%a(Ԡ)E@*rE()`.?$r%c&&a(נ٠Ԡή)'&\ \U[*&_%H&]РҠ&]ǠҠ&`;@r$&&qUVW;@rM&`@*#r9()@*#r9()$&@Brp@@c&a(ŠŠԠΠ)%&a(ҠΠΠŠ)1&a(ՠԠŠŠĠΠ)o.?%r&a(נ٠Ԡή)[*&`;@r;@r$&`@*r9@$*&.&\@cca(ԠԠҠŠҺ) &a(ҬŠ)@*#r:(ñ)@*#r:()$%@p@*r_&%`<@r<()r%_(#'&`;@r%\&`@*#r:@$K#t&`@*#r:()$&UVW;@r`@*#r:@*r%Y]ƠĠΠӠԬĠΠϠŠР &Pa()\U &\Һ)2%a(ҬԧӠŠ)G`;@r%a()C%`;@r%a(Š)E@*r`.?$r%ca(נ٠Ԡή)%\ \U[2%q\@cca(ԡ)[%]үРҠ]%\&`;@r$%`@*#r:(ðŠŠԠΠŠ)'%a(ҠΠΠӬՠ)'%a(ŠŠĠΠҠ)%%a(ŠҠΧԠǠ)"%a(Үנ٠Ԡή)["%`;@r$%`@*r9()$%.%\@cca(ԠԠҠŠ@[%]ؠӠ%]ؠҠ %@p()L%\&`;@r$%`@*#r:(ð)@*#r:()$%@p@*r_%%`<@r<()r%_(#'%`;@r%\&`@*#r:@$K#%`@*#r9()$%%\U %\@c'%a(d2ea@G$$d6?e]ҠĠ*$q.?6@r`$#]ƠàϠ$`$$d6?e$o P)$a()G$\@$[!%]ҠҠԠ&%\ oP 0%RP[T$]ҤΪ^$q8rah$ñq.?ròq.?r8ñrdOñ8òr8ò8òrre@p()[$]Π٠Ԡ$\l $PL$o a(ȠנĠӠ)E@Gd2e?a()G@r`$#]ƠâΠ#`<()r$# #d6?e#o P)#a()G#\@#q[#Kwd6?e_D#]ԬΠԠ͠נĠΠҠҠ#\#\ oŠҠӠ(#q]̠ҠϠˠ"#]٠ԠҠϠŢ#d6?eUVWY#\l #o P<#`7$#a(ȠנĠӠŠҩ)_#(#a(ӠŠҠϠ̠ԩ)G,#q.?6)&A#a(ŠҠӺŠ)&F#a(Įנ٠Ԡή)c[K#]ǠĠP#Pa()\U U#\@cc'Z#a(ՠŠĠŠǠ)E_#a(ҬԠӠ)E@E@E@E()E@a(נ٠Ԡή)[#]e ]0 d#e]: oc]ԢD [l ]̠נv \ ]Ԡ̠ d"e] [(#]àӠ"-#]ԠǠŠ2#Pa()\U 7#\@c%<#a(ŠҠՠԠҠԠǠӠϠננϠ̠РŠŠL]͠ԠӠϠҠϠŠŠ̠ǮҬ%]Ǡ̠ŠŠ[ ]͠נ d e]̠ d!e(]̠& d"E@E()E@E(ϠΠϠժ)[@]ǠӠJ]РנTd!e"]^d e]hd"e]rd#e ]+|o P]ŠҠΠcH]Π̠ŠՠΠŠҮ)[$X]Ԡ̠נؠAbM6oa()G'l@p()UVW a@GP(a@GY>qo UVW'Pa@G`%q%Yco =va(Ӡ)p]ǠzM6oP'a(ҭȠ٠ɭ)%Pa(ɭҠ)#cP a(٠Š)c'a(ӠĠŠӮ)4a(ϠԠͬӠ)E@E()E@E()*a(ӠӠ̩)ca(Ġ̩)ca(ӠҠ)8oa(ӠŠ)E@E()E@E(٠)GM6R@`@:()@:()@:()$ `@9()%_]Ԡ`@:()$Kd6?eQ!_]ԠŠϠԠ͠ϠŠĠРҠĠΠ٠ǠŠŮ5]ӠӠԠҬ٠ĠϠԠҮ,q]٠ΠĠca(ŠԺ).ca(ŠɭŠŠ̩)0ca(ҠҠƠα P/ a() oa()G M6]РϠQ]ΠҠ\p]Ԡ#q"\T$]ŠҤ(q]Π͠ǠW]ӠǠƠҡ)#< a(ϠΠŠͬŠ)'F a(ǠӬð)'P a()E@E()E@E(ҠϺð)'Z \d ed!e'o.?%rP-_ a(ΠՠԠŠɭҬ)-d a(ԠŠ)E@E(ƶ)E@E()G} \l oҠĠҮ)4 a(ŬϠ)E@E()E@E(Ҡͬ)3 a(ԠŠð̠)E@E()E@E(Ҡԩ)# a(Ġ׬ϠŠҮ)G@( \#d"ed ed#e d!e#M6]̠#2 a(ՠŠˠΠŠנŠϠΠ)# a(ͮĠҠՠ)! a(ΠԬ٠ǠԠ)% a(ǠŠŠŠ)& a(ҠǠŠҠŮ)G \#$ a(ŠŠ̠)$ a(ҠӠՠ٠Š)& a(Š\@c%` a(ĠҠŠԠЬŠ)#j a(ʨթРϠðĠӠ)#t a(ǮנŠԠٺ)~ @p()@p(ð) \%\%]ԬΠH `7$ q\ o\^\U\@a(ԡ) a(ԠӠq\ o\6\U\@&a(ϠŠŠҬŠ)#a(ԨŠũҩ)a(ŠӠð) @p()@p(ð)  \%\%]ԬΠ! `7$ q$ \ o\J\U󮮮ñƠҠƵ堤ñ려îñŠՠ卍ñŠñƍƵﬠ堠ө堤Š려 堍렠ƠñŠøĠàñ ōˠҍ뮠ñŠ栍뮮ҠƵ堨ҩƵҠ􍍠ƠñŠøĠàñˠҍ卍ˠҍ庠宍庍ñĠñúƠҠƵñƺ؍堍堮栠嬠嬠堺ƠñŠøĠﬠ堢뢠ﮍ䠍宠栍宠堢뢠堍ﮍ䮍Š۠Ų؍؍ؠŠŲɠ堍笠ΠŠˍŠŲؠح򠤰ŠŲح젤Ų堤宮ؠ箠젍򮩍ؠŲ؍؍؍ؠŠŲ򮍍󮮮ؠ؍؍؍؍؍؍؍؍䠠آ䠠آ󠮮򮍍尳؍؍؍宠ؠ؍؍؍؍؍؍ح򮮮ؠؠ؍ؠؠؽؠؠؠؠ򠤳򍠠ؽؠ夰ؠؠ󍠠򍠠ح򮍠ؠؠ宍ﬠحﮮ򍠠Ġح蠤ؠؠ󍠠󠤳蠤øõà䠤Ơ䠢Ϣ堤îؠ䠍䮠䮮䮍򍠠 àî򠍠󠤳䠤 䠤î󺍍󠤴ؽ󠤴򠍤خ堩󠍤󿍍庍䠵箍堢堢؍Ġؠ箍砍堢堍堍宍ư蠍򮠠ΠĠǍ堍堷ŠɠŠ̮嬠䮠Ҡư䠍ư򺍍ƶǍð̠ҠưҠưðҠ򍠠ðР򮠍ƶǠ򍍡ð̠Ҡư렢ҠưðРǍᠠŮРǠ퍍堠堶ŮҠưð宠󍠠ð荠򍍪ƶǍðĠፍ̠Ϡ宍ð堢占䠍Ǎ䠍򮍍荠䩍Ҡưư占ͩРР堍͠̭򩍍ƶǠ򩍍ðĠ䍠ðŠɠ䮍ư͠ŠɠŠ̮堲栍Šɠɠ󮍍宠čɠ堍ɠ򠢱±쩿±占蠍Π堍򮍍堍堶󺍍占嬠堍򮩍Р䠍렠堍嬠堍򮠨嬠堍󮍍嬠ؠ䠍٠󮍠嬠ð䮠堍ج٬䠍ЮŠɠ嬠捠嬠ΠŠҍ堶򮠠Ġ򠍰Рﮠ婮Р堲報򠰰堲󮠠󮍍堶򬠍Т堶ՠЮ嬠堲報忠宮򠠱򠵮򠳠󠱱報堲報堲򠹠堍򠱰堰䠱󺍍󠲠堍٠ō󠱰Šč砍󮠠堍ﬠ쬠宍ŠĠ٠ō󠤱䠤󡍍宍ΠҠӍà蠍̠Ǡ¢堍̍堍ᅪà婍̭ƶǍ򮍍䬠蠍ƶǠ庠à庠РР򠤰庠庠à堍찰庍ĠŠàŠà­àР庠Ġ蠍ƶǠ򍍡ààР렍Ʈ䠤Ʈ嬠򮠠̭ᠢӢ宠à堍à堍宍±ϠàՠӍ΍俠堢忍Š̠蠤宠àà砍̠č̭ƶǠ̠򩍍±ӍǠΠ󍍠­РР䠍Πōà堍Ӱ±ð宠堍宍󠍍ðĠð䮠󠍤ð堨蠍ՠ堍̮堢Ģ謠堢Ѣ讠ð嬠᠍ӷ­䮍䠤ð庍ؠˠƠؠϠ͠宮䮠堢Ģĭ堢Ѣ砍ðð̠䮠à䮠䠍 򬠤«Ġٍì宮 荍é嬠ðĠ堍ð䬠䮍󺍍 ̠̠亍ƶǠƶ宍ĠͬԠ򠨪堍͠堍Ԡ䠍򮠠젍󮮮忠Π忍̭à堍۠嬠卍Ġðð ̠ĠĠðð­àРǍ堍򺍍ƶǍð̠ðР俠䠢¢򿍍笠堍宍䍍Ǎ砍宩核Ġ報䠱Ġñ堍򮠠ñ堍宠ò嬠庍ññĠòòĠ堠ŠŠɠŠ̠젍堍󮍍򺠍ԍ̠ƶǍ򺍍ñ젍䮠㰱ð۽ݩŠɠŠ̠堍Ůð砍󠨤ð堍ð堍䮠ð堍宠蠍䮩썠􍍠Ԡ庠ð̠䬠ð᠍箠øȢ䠤õ󠍢Ţ쮠󠴰쮍󠲵썤󠠲썤󠠱ﮠ堍î렍栨砤堍栨堠Ȣ堍纍õĠǍŢ堢Ȣ䮍󮍠򺍍̭򮍍堍宍纍øĠǍ͠䬠ퟍà堍뮍ɠ嬠堍Ҡî䠨ˠ͠䩠ᠶˠ堨堯婬魍۠ᠱˠ堍ɧɧɧ堍殍ǠȠŠɭҍ$C030 `NOTE DEYj BNE NOTEt STA SPKR ~ TAY  INX BNE NOTE BEQ LOOPTONE DFH 3355778899BBDDEE$55778899BBDDEET* MAKE NOISES FROM KEYS  ORG $800LOOP JSR $FD0C GET A KEY AND #$7F CMP #3 CTRL-C? BNE NOIS NOPE$ JMP $E003 YES- EXIT.NOIS AND #$07 8 TAXB LDA TONE,X L TAYVSPKR EQU `uu  ee`` ` 0` ` ` 5I` 5Iй` f f`Lǔ`w Jhh LH) JQ JJJH`HJ`hh ?l8e` %GQ/[҅n3peʵ``` f f` &L L fLC`8i   :1100 TAY :1110 SPKR EQU $C030 :1120 NOTE DEY :1130 BNE NOTE :1140 STA SPKR :1150 TAY :1160 INX :1170 BNE NOTE :1180 BEQ LOOP (ALWAYS) :1190 TONE DFH 3355778899BBDDEE THIS IS PAGE #. WHICH PAGE NEXT? BEQ LOOP00 * MAKE NOISES FROM KEYS :1010 ORG $800 :1020 LOOP JSR $FD0C GET A KEY :1030 AND #$7F :1040 CMP #3 CTRL-C? :1050 BNE NOIS NOPE :1060 JMP $E003 YES- EXIT :1070 NOIS AND #$07 :1080 TAX :1090 LDA TONE,X 1000 THIS DOCUMENTATION WAS SAVED VIA: >BSAVE MASM DOC,A$4000,L$1000 DURING LISTING OR ASSEMBLY, PRESS A KEY TO PAUSE &/OR "RETURN" TO STOP LISTING. ERROR MESSAGES ARE BURIED INSIDE THE LISTING, SO WATCH CAREFULLY FOR THEM.SAMPLE PROGRAM: :10EITH FALKNER.HELPFUL HINTS: -------------- ANY LINE STARTING WITH DOLLAR-SIGN ($) IS A COMMAND TO THE MONITOR. THE ESCAPE KEY FUNCTIONS FOR KEYS @, AND A THROUGH F ARE AVAILABLE. MASM WAS SAVED ON DISK VIA: >BSAVE MASM,A$1000,L$ $HH 2-BYTE ADDR (LOW,HIGH). DFH #NAME = LOW BYTE OF ADDRESS DFH /NAME = HIGH BYTE OF ADDRESS ***************************************** * BY SCOTT T. JONES, CLEARWATER, FLA ** **************************************** DOCUMENTATION BY K LOCATION OF PROGRAM IN MEMORY. EQU AA OR $HH ASSIGN A LABEL TO A LOCATION IN MEMORY. DFA "???????" DEFINE ASCII DATA. DFB EQU TO CURRENT ADDRESS. DFH HH DEFINE A BYTE IN HEX. DFW AA ORUMBER THE PROGRAM. SAV SAVE SOURCE TO TAPE. SLO SLOW DOWN ALL PRINTING. A = DECIMAL ADDRESS; H = HEX ADDRESS I,J,K = LINE NUMBERS IN THE PROGRAM.PSEUDO-OPCODES: CONTROL DATA & MEMORY --------------- ORG AA OR $HH DEFINESOME LINES. DIS A1,A2 DISASSEMBLE TO SOURCE. FAS MAKE PRINTING GO FAST. LIS [I[,J]] LIST LINES OF PROGRAM. LOA LOAD SOURCE FROM TAPE. NEW REINITIALIZE MASM. OBJ AA OR $HH RUN PROG @ THAT ADDRESS. REN RENRAND AND OPTIONAL COMMENT. A LINE WITH "*" IN COL 7 IS A COMMENT. CTRL-I IS A HORIZONTAL-TAB KEY.DIRECT COMMANDS: CONTROL MASM ITSELF ---------------- ASM ASSEMBLE THE PROGRAM. COP I,J,K COPY LINES I-J AFTER K. DEL I[,J] DELETE OLUMNS CONTENT 01 THE PROMPT IS A COLON (:). 02-05 4-DIGIT LINE NUMBER. 06 (LEAVE A SPACE) 07-10 OPTIONAL 4-CHARACTER LABEL. 11 (LEAVE A SPACE) 12-14 3-LETTER OPCODE OR PSEUDO-OP. 15 (LEAVE A SPACE) 16-?? OPE :CATALOG, ETC. EXIT -- TO EXIT MASM, PRESS RESET, OR TYPE "OBJ 976". 4096 ($1000) IS THE "COLD" ENTRY; 4099 ($1003) IS THE "WARM" ENTRY. AFTER ANY DOS ERROR MESSAGE, TYPE "CALL 4099" TO RECOVER.FORMAT OF PROGRAMS. CNO WARRANTY IS EXPRESSED OR IMPLIED.STORING PROGRAMS: LOADING & SAVING ----------------- TAPE -- :LOAD AND :SAVE WORK JUST AS >LOAD AND >SAVE DO IN BASIC DISK -- MASM WILL ACCEPT DOS COMMANDS, EG: :LOAD [NAME] OR :SAVE [NAME] & SAVED AS "I" FILES. BUT DON'T TELL BASIC TO LIST A PROGRAM! MASM IS LINE-ORIENTED, AND THE SOURCE ISFIXED FORMAT; LABELS ARE 1-4 BYTES. THE CHARACTER PERIOD (.) IS SPECIAL. PERIODS ARE ALWAYS "INVISIBLE" IN YOUR PROGRAM; DEFINE THEM WITH "DFH 2E". AM.OVERVIEW OF MASM: FUNDAMENTALS ----------------- MASM IS A CO-RESIDENT ASSEMBLER WITH SUPPORT FOR SWEET-16 AND CASSETTE TAPE. MASM CAN ACCEPT ALL DOS COMMANDS. THE TEXT EDITOR IS STYLED AFTER INTEGER BASIC, AND SOURCE PROGRAMS ARE LOADEDRVIEW AND INSIGHTS. 2: HOW TO LOAD AND SAVE PROGRAMS. 3: FORMAT OF SOURCE STATEMENTS. 4: COMMANDS TO THE ASSEMBLER. 5: PSEUDO-OPCODES (DEFINE DATA). 7: CREDITS. 8: HELPFUL HINTS & MISCELLANY. 9: SAMPLE SOURCE PROGR@ /B@CO XB BC S@ O1:ōOi @B轏@CL@L@ Y˅DOED DE X`LLB!DE_GI]K^K LMM A S M : EDITOR & ASSEMBLER --------- PAGE TOPIC ==== ===== 1: OVE      * NMACRO ASSEMBLER SYMBOL TABLE NO LABEBAD OPCODRANGE EREXTRA DEBAD ADDRESUNDEBAD SYMBO AT LINEMACRO MISMATC000NU010009004 LH6h7LH|Hꩇ89IF QELSEIFDO LV |EDO B X X EQU STASTXSTYLWILDR STR0LDB@STBPLDW`STWpLBDSBDADRSBRLWDCPRINRDCRAPP+ASMDEL+FAS)LISPLOANEWRENOBJSAV@SLODISCOPz L\=<?>< `<:=; z#`X԰!Ͳˠй ҠΠҠӠҮȠ̮ϮǮɮîؠΠ§ŬϠŠŠ̠٠͠ϧΠ̠̠̠̮ͯͯԠhɭҠӠ!ɭҠɭҠ ɭҠ̠3  ҠӠ̠Š®  ̠Š®° ŠԠ  ͯРϠԠŠ٠Ҡ   ͠à"Ҡà Ա͠Š"       Š͠Ҡ͠Ӡ"͠   Ϯՠ ծӠծԮԠծˠ Ġ ծ2   Ϯà"  ٠٠٠ ٠ȠӮĠ  ̮͠ϮǮɮî Š̠Ϡ ĠΠ  Ϡ Š̠Š ŠӠŠŠ 5=9ASL BIT,$CMPCPXCPYDECEORIMEAQU]YINCJMPLlJSR LDALDXLDYLSRNFJV^ORA ROL.&*6>RORnfjv~SBCORGDFADFH.DFBEQUHDFWpBRKCLCCLDCLIXCLVDEXDEYINXINYNOPPHAHPHPPLAhPLP(RTI@RTS`SEC8SEDSEIxTAXTAYTSXTXATXSTYARTNBK RS NULBCCBCSBEQBMI0BNEBPLBVCPBVSpBR BNCBC BNNBN BZ BNZBF BNF BS ADCimeaqu}yAND)-%!1 l` H)h` x@A L( S:; L:7 8 iȽ ~:>;?` hhL_>?  <>=?&Ly ۆ܆  +-   ` $#*J:J 0  `R LTL #uۥuL=8ۥL=0 Pɢ 0 :A[ Pܢ``J K %yL܅۠ L N  C נ 8 ),д XЭ )Ц П ,Д YЍ   L 0``&H     hف  ``` $ ``: 6 58 ʉ00yYʅե˅ֆߩՅLօM\   ԥ`  . L*9     # L LL el  `  /0߅Șc5Ly A :# /( 3#./&(U /, X/Y6GL- L)Ȅ ` 8`ԅӅ #`3  g ȭɤ) ` 4 4 :L)14 L) ɉ   ` A2A4!5#6$7E8F`!1`L  ڠ  3)eL+Ly`  &JڥK۰څʥۅ ,L :LL  8ϕڥ۰ߥѥڅ<ۅ=ʅ>˅? 7 څʥۅ` vL1 Ljɍ ɍɍLLɍHn ăh a     )Т` ȹ0HJJJJ h) 0:iLPΥ? r`0 0 >Υ? v `ʅ˅LMޥ<Υ= m"   * * *   *`L67` a1Lc3!A5$4q!1`! 8Mϕ                8:N0:50 "ENTER HEX STARTING ADDRESS $";A$g X0:START0:L(A$):L4ĺ:A$;" IS TOO LONG!":13 IL11:H$(A$,LI1,1):(H$)64(H$)71X(H$)55:16 X(H$) STARTSTARTX(16(I1))::40LONG!":21 IL11:H$(A$,LI1EC:";:11,11:I07:DEC(I)(STARTI):6I4);DEC(I);:::"HEX: ";:I07:X(DEC(I)):" ";:::"ASC:";:I07:6I4);(DEC(I));:::NN1:N4STARTSTART8:5 :"NEW ADDRESS (A) OR CONTINUE? ";A$:A$"N"A$"NO"Ā A$"A"2 STARTSTART ADDRESS ";START :50,63:" [ EVERETT'S MEMORY INTERPRETER ] REF +0 +1 +2 +3 +4 +5 +6 +7 ADDR":50,255:34,2 :"REF ADDR = ";START;" = $";:11,0:SASTART:START32767SA(65536START) SA32768ĺ"8000":8 X(SA): "D10,76:12,3:HEX$"300:20 C E1 A6 A1 A5 A0 20 41 F9 60 20 C E1 A5 A1 20 DA FD 60 ND823G":I1(HEX$):511I,((HEX$,I,1))128::72,0:144::10:"DECIMAL OR HEX STARTING ADDRESS (D/H)?";:A$:N0::12:A$"H"12 "ENTER DECIMAL STARTING LѸ;', nH hL# ߅ ݩ Ѕ 9ݐɃɏLRLL!Ҡ LRѭ Ѕ ЅЩ X ! ک [$ X)8 LѠ ݥ)$$$ 9ݐɃ*ɏ6LѠ ݢ J 0L## X [ $υޅ  [ޅ ޅ ݩ߅ ݩ߅ ݩ(߅ ݩ=߅ ݩT߅ ݩj߅ ݩ߅ ߅ nH hɱ!ɹ)ʎ Њm ЪххlT%1511R DH%16DH%(DL%16):DL%16(DL%(DL%16)16)T%:I:EDDH%256DL%:;` 320o " " D$;"CLOSE" D$;"NOMONO"  B$:(B$)0(B$)5480 "ERROR - REENTER":460 T%0:DH%0:DL%0I1(B$): CHECK EACB%1,1);" ";:59 " ":D$;"CLOSE":D$;"NOMONO":U B$:(B$)0(B$)512q "ERROR - REENTER":10 T%0:DH%0:DL%0:I1(B$):T%((B$,I,1)):T%127T%T%12810040T%(MID(B$,I,1)) T%T%48:T%011 T%1016 T%T%7:T%10"0123456789ABCDEF":7* STST1:STED9? ST(ST8)88 :A%ST4096:B%STA%4096:(A$,A%1,1);:A%B%256:B%B%A%256:(A$,A%1,1);:A%B%16:B%B%A%16:(A$,A%1,1);:(A$,B%1,1);"- "; A%(ST)16:B%(ST)A%16:(A$,A%1,1);:(A$, AREA TO BE DUMPED."::"INPUT YOUR STARTING ADDRESS, HEX ";:10:SL%DL%:SH%DH%:A$B$:STED:"INPUT YOUR ENDING ADDRESS, HEX ";:10:D$;"CATALOG":"INPUT THE FILE NAME ";FI$:D$;"OPEN";FI$:D$;"DELETE";FI$:D$;"OPEN";FI$ D$;"WRITE";FI$:A$;".";B$:A$SING THIS PROGRAM AND THEN THE":"TEXT TO APPLEWRITTER CONVERTER, YOU":"CAN PUT MACHINE LANGUAGE DUMPS IN YOUR":"ARTICLES WRITTEN WITH THE APPLEWRITTER."::" NOTE: SET HIMEM OR START OF PROGRAM":"POINTER (HEX 67,68-DEC 103,104) TO" "PROTECT THES::D$(4)::D$;"NOMONC,I":D$;"MONO":8:"MEMORY DUMP TO TEXT FILE"::::" THIS PROGRAM WILL STORE ON DISK AS A":"TEXT FILE A SECTION OF MEMORY THAT YOU":"SPECIFY. THE OUTPUT WILL BE THE SAME":"AS THE MONITOR'S AS IN 300.400" " BY U   堍򮠠ɧﮠ䮠,6,200,208,236,160,0,177,6,170,200,177,6,134,6,133,7,56,176,210,103 ping :"::"]FP"T:"Note that 'STEP' and 'TRACE' functions are not available."]500=::"The MINI-ASSEMBER can be relocated in memory by using the RELOCATOR facility in the program BEU, included on this disk. It will be necessary to a N ݺ ɤ4&D ?5=ɥD 5 5 D4ɻɍЀLvɠ` }Ɏ$ `` ⮠ɠ뮠ݍ΍堍宠堢墠䮠ɠŠōٍ͠ϧ΍庠ϧ栍                                                       lter theCONTROL-Y vector ($3F8) to point to thenew address.":"These routines were developed using information from Doug Henning's article in NIBBLE Vol 3 No 1, 1982.":"]BRUN MINI-ASSEMBLER ($800)"::"]BRUN MINI-ASSEMBLER ($5400)" "1 NUݺ ɤ4&D ?5=ɥD 5 5 D4ɻɍЀLvTɠ` }Ɏ$ `` T{ LTLeJ?>ʊ:>Ș;k/=:   S;:LT 4 40K14 LT= BC D..=D5֤4 J :3 g ɠɤ ɓՊ x= NU   &B&C= NU4ݴ\p ::T$"BINARY ENTRY UTILITY":21(T$)2::T$::34,2:4:T$"WRITTEN BY KENNETH S. LIND":21(T$)2:T$w6X(1101):X0630:APPLE //E::"DO YOU HAVE A LOWER-CASE CHIP \ \\U\@Ha(̬ԧӠҡ)c&Ra(נŠ̠Ϡ٠Š)$\a(ҠŠҠŮ)-fa(ӠŬէ̠ϠŠǡ)\#kc4pa(ԠŠԠŠӠƠũ)$a(ҩҠ)$a(ҠԠӠð)"a(ȠӠΠ̮) \#@p(ð)\2\$"\ P a()Pa()\U \@ca(Ӯ)c' a(٠ԮɠԠϠ  LѠL# Lѩ# Xυޅ [ $ ޅ ʅ߅ ݩم߅ ݩ߅ ݩ߅ ߅ nɱɵ ) L'L#ЊH h `LL~L%,0Lҭʠ  nL ݢ c   ! !!!!!!" " ""t* ::10:"IAC MACHINE LANGUAGE DISK"L(4)"BLOAD HELLO.PIC,A$4000"x16297,0:16299,0:16302,0:16304,0(X16000:2::11::"LOGIC PRESENTS :":34,2<* F:"THIS DISK CONTAINS A NUMBER OF UTILITIESWHICH AID IN WRITING AND h  HLQԠ$ߩ"ȱ` X ӠБȭ Б ӐLL nLuԠ H h   LҠ ӐLLԩL,0(7ʠ7 ʠ  nL ݢ cӐ LL өȑЅ Б ȑȢ8 Б ȑӐLL өȑ ӐLLԠ Р РqРq өLgԊH Ӡȑȑȑȭ БȩޑȥhH$h Lȩ ` ӐLL`HȱUE *";(8);:A$: p:::"MINI-ASSEMBLER";::" HAS BEEN ADDED TO THIS DISK, ALLOWING ACCESS TO IT EVEN THOUGH A USER DOESN'T HAVE INTEGER BASIC. HOWEVER, INTEGER BASIC IS REQUIRED TO RUN BRUCE TOGNAZINI'S TUTORIAL." q:"OTHER UTILITIES ARGER BASIC, BUT NOWMODIFIED TO OPERATE IN A MACHINE WITH APPLESOFT." n::"M/L TUTORIAL";::" IS A TUTORIAL ON MACHINE LANGUAGE PROGRAMMING WHICH CAN BE DUMPEDTO A PRINTER AND USED AS REFERENCE GUIDE" o24:"HIT ";::"SPACE BAR";::" TO CONTINDEBUGGING OF MACHINE LANGUAGE PROGRAMS." P::"BEU";::" IS A BINARY ENTRY UTILITY PROGRAM WHICH ALLOWS THE USER TO DIRECTLY ENTER AND EDIT MACHINE LANGUAGE LISTINGS."E Z::"MASM";::" IS AN ASSEMBLER ORIGINALLY WRITTEN FOR AN APPLE WITH INTEThe program 'HELLO.BEU' checks for the presence of a RAMcard, loading it with the file 'INTBEU.1'. If a RAMcard isn'tpresent, then the BEU.48K version is loaded into memory." d:"The eight functions of BEU are :"::" 1) Clear Workfile":" 2) E <:"The 64K version is superior, as it will remain resident on the card and can be accessed by the '&' Ampersand command. In addition, it contains a 'DEBUGGER' which wasn't included in the 48K versionbecause of memory limitations." U500 Z"NTRY UTILITY is a program which will assist you in in the entry and debugging of machine-language code for the Apple's 6502 processor." (:"It comes in two forms, depending on whether you have a 16K RAM card (or its equivalent) in your Apple.">,  ǁ  C̃-l ̓/܁̂l,d 0  Ʈl(5作d m ,FDFFG%m ,B ǽ ,C /쀮 U.܁./@-D ,D-Dذ""صؽXؾؽԶض}uy}uyu~vzu}uy@v~vzMEMEQhETNFREEQ8FFRIIadJb حaخb p @@ p @@ p @ p @@ D  D D  @@Y EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEI STA STX STY TAX TAY TSX TXA TXS TYA ??? SEC SED 0؉)ؐ(؊*؉)4؊*r%-%ؘ%.& %%&&ؤ]]،]n^]]<^^ب!!ؔ!n"!!D THEN ASK FOR ANOTHER FILE NAME. INPUT NO.? INPUT STARTING ADDRESS (HEX) INPUT ENDING ADDRESS (HEX) ENDING LESS THAN OR EQUAL TO STARTING ADDRESS - REENTERBCC BCS BEQ BMI BNE BPL BVC BVS ADC AND ASL BIT BRK CLC CLD CLI CLV CMP CPX CPY DEC DEX DE NOTE HIT ANY KEY TO STOP AND TO RESTART. CTRL-C WILL RETURN YOU TO BASIC. NO. 3 WILL DISASSEMBLE ABOUT 23 BYTES INTO EACH DISK SECTOR THAT IT WRITES TO.IT USES AN ADDITIONAL SECTOR FOR THE FILE TRACK/SECTOR LIST. NO. 4 WILL DISASSEMBLE ABOUT 1/2K AN CLOSE MONI,O,C CATALOG INPUT FILE NAMEINPUT PORT NO. FOR PRINTERң ALL PURPOSE DISASSEMBLER BY LARRY FREEMAN 1 DISASSEMBLE TO SCREEN 2 DISASSEMBLE TO PRINTER 3 DISASSEMBLE TO DISK AS TEXT 4 DISASSEMBLE TO DISK FOR ASM/65 8!hIPHm14I1YI0=H0ٹ$0$05H0UH0=HEENTER  .END !+<% VSHUD NQDO EDMDUD!$0#ɍ L  ` ` j> ɠ`& 8鰐 i  ` JJJJJ)` Lɳ  L Z  L H  H H  A Ls (  A L0 # $ )) , Y Ls ) , X ) $; L Ll H) h)`HJJJJ h) ɺi,ɃLɃL vݠ  ,  ,  ,  ,      L A    8ei 1$(A HheHe h Ls   / X 3O O ɱɵ + ;  J ;   f ɲ1.   I   ɳLE @]  j  ɳ)O٩     eL) 8 Ѕ`$Hi$ɀiɠ h$` nɠL{ }ݐ L9 ) nɠL{ }ݐ L\ `8` 0i)ɺɰ0)8 ``ȱ ` A H` n`ɠ1 ʠ  lʠl L,$$$ L,ܢ%Ș [ۅ$ `8L,,0 %> KEY. YOU CAN EXIT MASM BY ENTERING: OBJ 976" <23:" EXEC MASM":22:L ? A֍ٍ̍i_[ WL L  㐫𩭯 Э ТТhhhLб   8  m m L```;ŠҠŠӠƠōӡ L X Ѝ Ѝ8ȹ⎭؅ 9ݐɃL3⍮ 9ݐɃLB⍯ X [ ݭ⮫ A: ݭ⮭ A@ ݭ⮯ AR nLHHH u)-)&")Ҡ½ ŽŠɽɠĽĠýũ [$ $ ` [$Dž `%H$H  [(ɠ!ɀ@ i@L`L8@L᩠) (ϩ %%н h$h [` # XL XU L#Ll,07 ԍ Ӡ٠!    ?   /       ΠԠčӠӠŠˠٯŠҠ  $ϠŠԠàԠ%РΠԠԠý(ՠĠ̠ōҠĠԠōˠӍϠϠҍŠō ҠҠŠ%ҠӠϠҠԠ߈ǍŠōĠō  n7 ʠ   nɍ!Ɉ LH hɠ`LGޠЙ`Ј` ɐ` GLn źԠԠȠ    ٠٠ӺҠϓeʵ``` f f` &L L fLC`8i`uu  ee`` ` 0` ` ` 5I` 5Iй` f f`L ?5=ɥD 5 5 D4ɻɍЀL\ɠ` }Ɏ$ ``LXWVhY `XWYHV(` Jhh LH) JQ JJJH`HJ`hh ?l8e` %GQ/[҅n3pJ?>ʊ:>Ș;k/=:   S;:L 4 40K14 L= BC D..=D5֤4 J :3 g ɠɤ ɓՊ x= 4   &B&C= 44ݴ 4ݺ ɤ4&D`L# ȱ0` 4 `u` 7$ 8`0 &&` { %Ppĥ uv` 2e   %F8 2 8Hh&&&&& 0hhI`LLLHxܥyݥPQLuƵPxLhQεyϱΠ L 4) ؘ 甠` uHɃLh` ☪ T`  甠`ѥ΅ ΅ҥυө 甠0ХҠ ӕ "L 4i` F`ٚ .L 4 `$$L$Ն$L,L 8!$ L赟0L0ܤ } L赟L0ܤ } L ` ` [ S oP YVPL6 O 5OPL Ι_LfP0Q@PPxA@QPa`qp`HP8εxh`Ʌ۰եڅʥۅ , ` :L΄<Ȅ>=?`ʕ>?>`8M˕   , ` L:L``F`$ ܪȱ 婠Lܤ`Ś25 a0 穠LJKH۰hЅѠȱ0@ȱHШhh0JL JLKMMLILLILLLLy 2L,PQ܅x݅yL آ8ЕNЕKʵ˕ە LkLMNܕ`LΥΥLMLʥMː ʥ˰JυKL  8MϕڥL 4΅` ȑ` l΅υLD L4 xPiڄeΕPeϕxPȵxڰL# N ONi)OO i@ &N&O ϕLz JKLυML LMJυKL qL ȩ` 6 6P`JLKMLxL L6 L[` Oڵw۴Nv L`xw8OPL# (` 40!(L 4LdF`  %L"wL{ TL~&&&ڥې څΈ` l 4Ȑ,` 40L 4Ȑ-` 4(L(n ㊨ rLa ?&0ΰ` Δ䮥G 0 #gMghghPcQ)Wqqqqhhq`uuuQ줰䮲륥Q9O/Q) WjB`O~5'Q 䯭䮡ޜݜݞGg` ` `嶡䡯z~" `P O䯭䮡𥴳\@`` ~3`Gg壡yi壡yi` @Gh X{gggggg'(dgxkg~9g'7(*7ϠGX͠LϠ٠SGϠDĠHSĠNSĠTĠ 5EMҠL Šō?FِLϚΠ κ f ٢  ٦Τ ȹɀI ȄȹH h3 oLB oTMɅ"3J[NSJIfmzq# [$NYP;#o6#"#!0 9@0Ӷ:Pyإ<[(N>W']5Kgvq ʤ  Y YoܹݾЇ`TP@xL` Ιϙ_oܙݙᙯ` ??<<<<<<<0UUUUUUUUWΤ PڵxۥΑȥL`hh$ F`` %ֈ`ʤZA^ܙ ݙ0  m7;܄iȢٚ . y$IqܤݐLM͠1FLJܹ/ݾLuc ܪȱ L[ĨP?xO_ڹo  l  . $ ; &?1?=A>?I i`HH11`IJ듧ƙɾ5Ė+]̵h5`4ɺл1>@@A`41`>BD`8>6>) `LL u ?l:L``L@ 'A=?<) < `JJJ>Ie=?<=`K i! Ȉ2 ,`H h*:` `YE <Šӭpd`HVTQ PS 6" (!#%L" X`I`ɍ,,L8L,H ΰɐHJ) )h)i( ((`ɇ@ 0`$($$!fi#bZH&bTDThDt(ntJrtttrDh2"&&rr&HDDȅEhH 0l( Lh:h;l Le / XZ]_, :ILl `Ȇ׍숈l E@A  J 0,*i H/.  `0 .: VȘ L `8/;e:` T0 "T3  T3  T; "D3 D"D3 D"D3 "D3 &1!YMJؤ#]#)i#$S#$S[[i$$)|mi)S4J G(i.&E0%.Q&&` , iH h-`/'-'0 (`HJ) 'h)i& &&`0i)0 00`J G&(JJJJ)`:; H:J jɢ )Jb y.)/) JJJ Ȉ` H:  J/Ȑh,--&`,,L z ] a CTRL-C."500:"APPEND DATA"::"You can add onto the end of data which has already been entered into the work- file, either by direct entry from the keyboard or by reading in a Binary file from disk.":"This mode is then similar to th ̠͠)0a(ĬԠӠŠϠ)E@E()E@&a(ŠҮŠϠӬӠ)(a(ϠΠì٠Ǡ) a(ԠŠҧӠӮ)\#6ca(ԠĠƠ)E@E(Š)E@E()%a(ŠԨŠ\$D\ \\U\@!Na(ƠՠˠРŠ))Xa(ӠΠŠŠ۠) ]o.?%r(ba(̠ĠĠŠӠ)&la(±ŠϠ²Ŭՠ̠Ԡ)'va(נŠŠ٠Ӯ)\#%a(נԠҠ)%a(Š٠ԠΠ)%&a(ŠǮҠĠ)#0a(ʨРϩӨ©Ҩũ):\#\\@%;ca(ՠ̠ŠŠĠԠ)&<a(ŠĠάӠҠ)=a(ӠΠӬԠ)>a(Š)ԠŠŠ)#a(ҠԠĬŠ)(a(נԠӠԠŠԠӬ)$a(ϠŠ̠ϠԠĠ)a(ǠΠð)\#a()G\Z\@'a(נŠ̠РϠ)#a(ΠŧӠҠԠ " ĠŠ)"@a(ҬΠӠŬ)J\#P\T\@%^ca(נϠ٠Š)&ha(ά̠ՠŠϠ)7ra(ӠϠӠŠ)E@E()E@E(ٮ)c|\$\ \\U\@(a(ƠŠӠ)%a(ΠĠӠŠŠͮ)$a(ŠŠŠŠҠӠ)a(ŠؠҮ)\#'a(ϠĠŠحǠȠҬ)#"a(ŠŠŠà)0,a(ũ)E@E(̨)E@E(Ġ)&6a(Ġ@E(Ҡ)E@E()E@E()'Pa(ҠîŠàӠ)%da(Ƞ̠Š)$na(٠٠Ԡð)%xa(ӠӠҠ)\#&a(ŠŠҬ)%a(ŠŠŠԧӠˠǠ)(a(Ơð̠ҩ) \#\\@c#a(ƠŠΠ̺)&(a(ŠӠΠŠԠ) 2a(Š٠Ӡ)7a(ŬϮ)9\#=<a(ŠŠ)E@E()EE@E(ԠӠӠ)#a(ŠɭҠӠנ)'a(ĠԠŠ٠ĠϠ)a(Ҡͮ) \#c&a(ŠԠϠŠ͠)%a(̠ŠӠԠ)(a(٠ҠǠŠŠӮ)$a(`\@]ԠРec(ja(ŠŠנŠϠŠ)#ta(ĠŠ٠ϠΠΠ)%~a(ŠɭҠ٠)1a(ӠӠĠ)E@E()E@E(Ҡ)\#\\$\ P\\@c1a(Š)E@E()Š)(a(Š͠ǠŠԭ)'a(ΠɭҮϠϠϬ)($a(ԠԠϠϠŠҠ)#.a(ǠŠԢٮ)8\#]BK]РL\n]+Vq]ԠǠҠǠנРƠנϠӠ\]\UVW^X \a()G&\Z0Y:UVWYD_]ĠΠ!\X]Ԡ̠נ\@]ԠР̠o&a(ŠŠǠϠɠcoa()G\ZUVWY*@p(ð)q\2qa()>M ]РϠŠ͠ϠΠĠƠͩ]ԠΠ\d]ӠԢ\]ΠΠ4d"e]Բؠ)[,@p(Ҡ±)\2[-6Pa(ðŠ Ҡ±)[@@p(ð)\2[-JPa(ðĭĠðð)[T@p(Рð)\2[-^Pa(ñààРð)[]ΠΠq[@p(ؠ)\2[,Pa(ðؠ)[@p(Ҡ±)\2[-Pa(ðŠ Ҡ±)[@p(ð)\2[-Pa(ðĠðð)[@p(ؠ)\2[-"Pa(ðŠŠϭiUVWYnoca()G\ZxUVWY[+@p(ƶ)q\2q[ a()c#a()G\ZUVWY[]ҠӠ,@p(ð)q\2*#r9()rYZ ɠ`& 8鰐 i  ` JJJJJ)` Lɳ L Z э L H H H A эLs ( э A эL0# э$ э )) э, эY эLs) , эX э) э э$; э эLLlH) эh)`HJJJJ ƍh) ɺi,ɃLɃL vݠ э , э , э , э , э ݏ э  э LA э  э 8ei 1$(A эHheHe h Ls  / X 3O эO э ɱɵ э+ э ; J э ;  f эɲ1. э  эI э э э эɳLE@]  э jÏɳ)O٩                          Π߈%ɠ̠ŠŠōĠԠϠϠŠӠӠԠԠٯΩ_[ WL3 3L3 3 322 3𩭯2 2   2hhhL  322 322 382 32 3m2 3m2 3L3```;ŠҠŠӠƠōӡ- -L X 2 28 ȹ 22؅3 - 9-ɃL322 9-ɃLB22 X [4 -22 A:4 -22 A@4 -22 AR4 - n.L1HHH22222 3 u)-)&")Ҡ½ ŽŠɽɠĽĠýũ [$ $0 -` [$Dž0 -`%H$H  [(ɠ!ɀ@ i@L1`L18@L1) (ϩ %%н h$h [` # XL XU0 - -L# L1, 070 ԍ Ӡ٠!    ?   /       ΠԠčӠӠŠˠٯŠҠ  $ϠŠԠàԠ%РΠԠԠý(ՠĠ̠ōҠĠԠōˠӍϠϠҍŠō ҠҠŠ%ҠӠϠҠԠ߈ǍŠōĠō  n.7 0ʠ0   n.ɍ!Ɉ L.H h..ɠ`.LG. ` ` ɐ` G1Ln. źԠԠȠ    ٠٠ӺҠϩeL-) 8 `$Hi$ɀiɠ h$` n.ɠ L{- }- L9- ) n.ɠ L{- }- L\- `8` 0i)ɺɰ0)8 ``ȱ ` A H`0 - n.`.ɠ1 .ʠ.  l0ʠl0 L,,$$$ ,L,,% Ș [+$ ,`8L,,, 0 % > = Move right one byte.":"CTRL-B = Go to beginning of workfile CTRL-E = Go to end of workfile":"CTRL-I = Insert bytes at cursorposition CTRL-D = Delete byte under the cursor"::"CTRL-C = Return to the Menu."500{e 'Enter Data' mode."500:"EDIT WORKFILE"::"This is the heart of the program, for this allows you to alter the contents ofmemory. The available commands are :"2:" ; = Move up one line":" / = Move down one line":" <- = Mo ::18::"MASM":3:"'MASM' IS AN ASSEMBLER WHICH WILL ALLOW THE USER TO ENTER ASSEMBLY LANGUAGE SOURCE CODE, SAVE IT AND ASSEMBLE IT."Q :"'MASM' WAS ORIGINALLY WRITTEN FOR THE INTEGER BASIC ENVIRONMENT, BUT BY USING THE 'INTEGER Bժ@`Ԫժ@@@"Հ!|; ``ժԪՊЪՄ8ՂժժЪ<8"M8 GHժժЪժԪЊ`ժЪժ ԪԪժժ@sp@ЪժЪՎժ@@Ԫժ@@@! @|Ղ`ժՊЪՂ`ՂժժЪ"ժժЪժ@ԪЊ0ЪժЪժ2$D#d r|Dqqqy> D#ԪժժЊP@ЪժЪժ@Ԫժ@1 @Ԫ8ժЪՂՂժժЪ|@ժժЪժpԪժЪՊ82"$$$DD D "$ԪժբP@ ЪժՊժ@ԪՂ@@ ժ|'cpy`xx  0ax ժЪՊժЊժժЪЪժ0ЪժժժЪժ`pHd' D|DI yI D !$ԪժբЊ@Ъժժ0ժԪՀ@Dx"A8K ժ`"DD ""yH pժՠЪՊժЊժժ9ЪpЪժՠЪժժժЪժH$$`GHrD$  xD`c#$ԪժբPЪժժ|x ժժp@D""ADAHLѪ` ժՊp?"Dpxq|D " |@ժՠЪՊ8ժЊժЪժ ЪՀ@ЪժЪժժժЪժ (%$ D(D  D $$ժՠE\0 Ԫժժ@ ժժ|D|""ADAHHѪ@8ԪժbbD2 DD" D @ ժՠЪժ`ԪժЪՊЪՂժЪՊժժЪժ "F"$D( Q D $dՊՠAX 8Ԫժժ ժժDD"&CDCHHժ@ Ԫժ>@"ccQqpy8xinxy84<ժհЪժ@ԪժЪՊЪՆ ЪժЪՊ ժժЪժxԪЊ @A#d rq!px>`gC#Ղa~ p?Ԫժժ8`            "ADDR S = Single step at ADDRess":" S = Continue single stepping":"ADDR T = Start Trace at ADDRess":" T = Start Trace at last address"::" Z = Invoke Mini-Assembler"500"::"THE MINI-ASSEMBLER"::"The MINI-ASSEMBLER is enMove memory from start to destination""Dest Y";(8);:A$:A$"N"ĺ"NO":10007 d::5:"The MINI-ASSEMBLER was included with theearlier APPLE ][ Computer bu