IMD 1.16: 1/09/2008 10:58:36 84-93150-02 a0 f15002 oak simulator diskette #2 2of4    @0|)v1uo)  " }jA c MIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOS4 MD5791001111157D1791002094438 791002094438(F15002 VOLOAK SIMULATOR DISKETTE # 2   IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII M@jjggg@ o G`k򞽢_C# b# }B u[ ]e JRiCp@=<; G9P@ G=& _I@t I& _I@tIG tI@tG t^I@ZG t JQVBI@tG t^I@BG t JQVBIG tGt JQVBI@GtJQVEGtJQVJSAV > JRVB>&m>J&m&mg&]I@t ^^I@^JS VB ^JRAVB ^X^^JSVB ^JRAVB^J^)I& G'tI&m)>^ @.G&t>G'tH&m&mg &]I& _I^I@ QVB8GtJQVBGtQV Gt JQVBI&mGtJQVBGt QAVB)_G't^&m3Gt JQVB _)g$t &_H^Gt JQVB _)g$t &_H^)G&t_H^)_G'tGtJQV Gt JQVBH&mn&mg &] I& _I^I@t ^^I@^JSA V^JRVB ^JSAV^JR V;^JQVB I@QVB I^# _)g$t &_H^^^ I@^_O0_ H^^JQVBI^I& _GtG t^G t)_G't^&m&mg &]I^^ @.I& G't ^K^JRVIG tIG tIG t I@QVB!GtJQVBGtJQVB Gt JQVBH&mI&mGtJSAVBGtK @.>)G&t>G'tGtKG t GtJQVBGt JQAVB )I& G'tI&mIG tH&mGtJQVGt JRV)I& G'tH&m&mg &] I0^I^I^^JR VI & _I@t I & _I@t I & _I@t I^^JRVYIG& _I@t ^^I9K`@^ @cQVB IA^^& _I@t I & _I@t^ @.G&t _I@I & _I@t I & _I@t ^K^^K^^K^^K^r&mg&]GtJSVBGtJRAVBGtX^GtJ^Gt JQVB ^ @.>)G&t>G't &mI & _I@t I & _I@t IG& _I@tGt& _I@t I & _I@t^ @.G&t _I@-I & _I@t I@BQVBGtJQAV Gt JRVBI@=&m^ @.>)G&t>G't&mg &]GtJQVBGt JQVB)G&tGtGt JQVB)G&tOHGtGt JQVB)G&tOHGtGt JQVB)G&tOHGtGt JQVB!)G&t Xi~n~&@QVBgtIk) C gtIk) C Gt JQ VB!)G&t Xi~n~&@QVBgtIk)C gtIk)C [Gt JQVB!)G&t Xi~n~&@QVBgtIk) C gtIk) C 1Gt JQVB!)G&t Xi~n~&@QVBgtIk)C gt Ik)C I@5 &mI & _I@t I & _I@tGt JQVBIP& _I@t I & _I@tGt O _I@I & _I@t I(& _I@tGt _I@I)& _I@t IB& _I@t I & _I@t I@rQVBGt JQAVBI@)G&tGt&mVGt JQVBOIG& _I@t I & _I@tGt O@_I@/I & _I@t I@QVBGt JQAVBI@H)G&tOHGt&mGt JQVBOIF& _I@t I & _I@tGt O@_I@I & _I@t I@QVBGt JQAVBI@)G&tOHGt&mGt JQVBOIS& _I@t I & _I@tGt O@_I@I & _I@t I@kQVBGt JQAVBI@)G&tOHGt&mNGt JQVB{IZ& _I@t I & _I@tgt k) CJQVB I1& _I@t  I0& _I@t I & _I@t I@QVBGt JQAVBI@))G&t OOO@QAVBgtIk) C gtIk) C &mGt JQVB{IV& _I@t I & _I@tgt k)CJQVB I1& _I@t  I0& _I@t I & _I@t I@xQVBGt JQAVBI@)G&t OOO@QAVBgtIk)C gtIk)C &mFGt JQVB{IC& _I@t I & _I@tgt k)CJQVB I1& _I@t  I0& _I@t I & _I@t I@QVBGt JQAVBI@!)G&t OOO@QAVBgtIk)C gtIk)C &mGt JQVB{IN& _I@t I & _I@tgt k) CJQVB I1& _I@t  I0& _I@t I & _I@t I@pQVBGt JQAVBI@)G&t OOO@QAVBgtIk) C gtIk) C &m>GtJQVB/Gt JQAVBI@tI& GtI& Gt I& Gt I& GtI& GtI& Gt I& Gt  I@?&mg  &]I^>G&O2G'X )C{JRVB  )C~JK)C{)C~ K0)C{& _I@t ^J^QV&mg  &]I& _I@t I& _I@t&mg  &]I@QVB  I@&mGt JQVB)G&tO_)G&tOH_I^Gt JQVB0I@hQVGt JQAV)G&t i ~n~&@QAVB I@&mH^Gt JQAVBI@ q&mI& __AV _g~n~& @QAVBI@ M&mI & _I@t I & _I@t I & _ I@t _O@_I@I & _I@t_ @.G&t _ &_I@ I & _I@t ^ G QVBO)_ G'tI )C{)G&tOrG't)G&t G  )C{JSAV  )C~JRVB I. )C{ )C~& _I@t  )C~K )C{JQ VI@QVB$GtJQVB Gt QVB&mGt JQAVBI@t&mGt JRVBI@d&mGt QAVBq_ @.>)G&t> G'tH& GtGt JRVB_i~n~& @.>)G&t> G'tGt JRVB_i~n~& @.>)G&t> G'tGt JRVB_i~n~& @.>)G&t> G't I & _I@t I*& _I@tI& _GtJQV Gt JQVB _i~n~&_jGt JQVB _i~n~&_UGt JQVB_ OH_EGt JQVB_ _6Gt JQVB_ @A Q i~n~ _GtQVGt JQVB&mI@_&m&mg  &] I@:QVB I@G&mGtJSAV Gt JRVBI@.&m)G&t)g$t &AVB)>)G&tOH>G't)>)G&t)g$t &i~n~& >G't)>)G&tOH>G't)>)G&tOH>G't)G&t g~n~& @QAV )G&t AVBI@ &mI & _I@t I & _I@t I & _I@t)G&t O@_I@eI & _I@t I^I & _I@t)>)G&t @.G&t>G't)G&t _I@8^K^)G&ti~n~& G't)G&t)g$t &@QAV^J QVGt JQVB4)G&t i ~n~& @QVB $^JSAVBI_ G ^I & _I@t ^J^QVGt JQVB)G&t i ~n~& @QVB }I & _I@t I & _I@t)>)G&t~~n~& >G't)>)G&t @.G&t>G'tI^)>)G&tOr>G't)G&t G)C{JSAV )C~JRVB I.)C{)C~& _I@t ^K^JQV ^J^QV)G&t)g$t &@QAVz&mg&]IG tGt JQAVBI@;QVBGt JQAVBI@?&mGtJQVB GtRVB)G&tGtGt JSAVB)H& G'tI@tgt)C{Gti~n~&GtI@tGt GQVVGt)g$t &@QVBGtJQV?Gt)g$t &@QV1GtJQV(Gt)g$t &@QVGt)g$t &@QV Gt)g$t &@QVI@K&mg&]IG tI@t JQVB1I@tgt)C{Gti~n~&GtI@tGt GHQVI@ ITG t I@L&mg&]I& _ LAST INSTRUCTION EXECUTED = :%2X =G& _gt )C~& _I@tGt i~n~& @.G&t _OO^_G^Gt _IJ& _AxqDjn0c O^GtO G^GtOO^GtG^I& _ P = %04X%04X (%04X%04X )B T3 = %04X%04X  G & _^& _^& _ ^& _ ^& _ ^& _ ^& _I@tGt i~n~& @.G&t _OO^_G^Gt _IJ& _AxqDjn0c O^GtO@G^I& _' S = %04X%04X  T2 = %04X%04X  G?& _^& _^& _ ^& _ ^& _ I@tGt i~n~& @.G&t _OO^_GO^Gt _IJ& _AxqDjn0c O^GtO@G4^I& _< F = %04X%04X  T1 = %04X%04X 6 G& _^& _^& _ ^& _ ^& _ I@tGt @.G&t _OO^_G^Gt _IJ& _AxqDjn0c O^GtO@G^I& _Q G = %04X%04X  T0 = %04X%04X  G& _^& _^& _ ^& _ ^& _ I@tGt^Gt  ^I@>^&}I& _f PSW %04X%04X G& _Gt OO_Gt  G_ I@tI& _n --- CONDITION CODES --- G& _I@tgtk) C^gtk)C^gtk) C^gtk)C^I& _| N = %X C = %X Z  = %X V = %X  G& _^& _^& _ ^& _ ^& _ I@t&mg &] I^I^>^ @% '^^I@^^N0 ^^K^JRV^& &m&mg &]>JSVB> JRAVB>XĂ >JSVB> JRAVB>XK  ĂH>Ă>&m&m&]  I@fQVBGt JQVBI& _ SYMBOL OPERATION   G& _I@tI& _ + addition  G& _I@tI& _ - subtraction  G& _I@tI& _ * multiplication  G& _I@tI& _ / division  G& _I@tI& _ ^ exponential  G& _I@tI& _ &  logical 'AND'  G& _I@tI& _ | logical 'OR'  G& _I@tI& _ ! logical 'XOR'  G& _I@t I@o<)>)G&t>G'tGt JQVB#I & _I@t I & _I@t)G&t _I@  I@QVB  I@')>)G&t>G'tGt JQVB)>)G&t)g$t&>G'tGt JQVB)>)G&t)g$t&>G'tGt JQVB)>)G&t)g$t>G'tGt JQVB)>)G&t)g$t>G'tGt JQVB9)>)G&t>G't)G&ti~n~& G't)G&t @QV)>)G&t)g$tq>G't)G&ti~n~& G'tFGt JQVB)>)G&t)g$t@A>G't.Gt JQVB)>)G&t)g$t@A>G'tGt JQVB )>)G&t)g$t@A>G't&mg &]I@QV Gt JQAVBI@&m)>)G&tOH>G't)>)G&tOH>G't)>)G&tOH>G't)G&t)g$t&)g$t &g~n~&@ QAVB I@&m)G&t)g$t &@QAVB:)G&t)g$t &@QAV()G&t @.>)G&t @.G&t>G't)G&ti~n~&G't)G&t i~n~&G'tH)>)G&t)g$t&)g$t&>G't)G&t)g$t &AV()G&t @.>)G&t @.G&t>G't)G&ti~n~&G't)G&ti~n~&G't I & _I@t I*& _I@t&mg &] I@ QVGtJSAV Gt JRVBI@&m)>)G&tOH>G't)>)G&tOH>G'tGt JQVB)H& G'tGt JRVB)G&t)g$t &@QAV)G&t @.G&t_)g$t &@QVBGtJQVBGt JQV<_)g$t &@QAVBGtJQVBGt JQV_)g$t@A)g$t &@QVBGt JRVB>I & _I@t I & _I@t I & _I@t)G&t O@_I@I & _I@t __I@)G&ti~n~& G'tB&mg &]I@QVGtJSAV Gt JRVBI@&m)>)G&tOH>G't)>)G&tOH>G'tGt JQVB!)G&t @.>)G&t>G't I & _I@t I*& _I@t&mGt JQVB)I& G't)G&tAV3)G&tAV*)G&t i~n~&g~n~& @QAV)G&t g~n~&@QA VBI@i&m)G&t)g$t &@QAV&)G&t @.>)G&t>G't)>)G&t)g$t&>G't)G&ti~n~&G't I & _I@t I*& _I@t &m &] _O6  GO6 _G&m @ .?H_ @AQ _ @_G?h D @AQ O __6&+ O __tO B ?1?1?1D @A Q &m&] )&] )?  _@1B )1ߠA1RQ O3A !D @AQ .*+ _G? 1A@&  _Q? 1GV @? 1@@N_H_  @AQ _GH @A Q _)?? ) J `h_O6Bk| __O_&* __O_t? 1 __?1D @AQ &m &] _O6  GO6 _G&m @ .?H_ @AQ _ @_G?h D @AQ O __6&+ O __tO B ?1?1?1D @A Q &m&] )&] )?  _@1B )1ߠA1RQ O3A !D @AQ .*+OVIC & EDom!u!y !+".38<C=ENNQQQQRV7Z/]"+$/pPGnpBI@I& _ Oak Simulator (A0) "T Gݪ& _I@|98IGG @.I& G GKGG RVIGG @.H& G8GKGJQVI@b I@I& _  --END-- O A K S I M U L A T O R " Gi& _I@|9I@$ &]GOg~n~&@QAV GOAVBI& _! MEMORY EXCEPTION (fetch) " GG& _I@|9HGHGMi~n~&GEGO_G&@QAVB_G__G4^I@G^G"i~n~&GI^G`X^@_& &i~n~ )C{JQVBG1Ox_ *)C~JQVBGOO_ )C~JQVBG OO_  G_ _ OOOO)C{Gi~n~&G)C~X&m&m&] I& _0 TOTAL MEMORY READS = %4D #Gܜ& _G_I@|9I& _@ READS W/O CACHE HITS = %4D #Gܙ& _G_I@|9I& _P CACHE HITS ON READS = %4D #Gܖ& _Gp_I@|9I& _` PROGRAM FETCHES (BYTES)= %4D #Gܓ& _Gc_I@|9I& _p INSTRUCTIONS FETCHED = %4D #Gܐ& _GR_I@|9I& _ INSTRUCTION PIPE LOADED %4D TIMES #G܍& _GA_I@|9I& _ TOTAL MEMORY WRITES  = %4D $G܍& _G0_I@|9O&m&]&m&]>G QVB >G&OOG'$>GQVB >G&OOG'>GQVB>G&OOG'>G&@QAVBHGI& _ SPECIFICATION EXCEPTION $b G@& _I@|9&m&]>G&&m&m&]I^&m&m&]gIk) C gIk) C >G&@QVBgIk) C >G&AVBgIk) C &m&]>JQAVBgIk)C gIk)C >JQVB>G&g$&_G&@QAVB>G&AVB_VBgIk)C >G&AVB>G&@QAVB_VBghIk)C n>G&AVB>G&AVB_AVBgFIk)C L>G&@QAVB>G&@QAVB_AVBg Ik)C &>G&AVB>G&AVB_VB gIk)C gIk)C >G&g$&_G&@QAVB>G&@QAVB_VBgIk)C >G&@QAVB>G&@QVBgIk)C >G&@QVB>G&@QVBgIk)C >G&AVB>G&@QAVB_@QAVBgkIk)C >QVBg]Ik)C l>G&AVB>G&VB_AVBg;Ik)C J>G&AVB>G&AVB_VBgIk)C (>G&VB>G&AVB _AVB>QVBgIk)C >JQVB_@QVBgIk) C gIk) C  __I@&m&]>GxQVB>G&OOOOi~n~&^G&OG'>>GZQVB>G&OOOOOOi~n~&^G&OG'>G:QVB>G&OOOO^@I^G&OHG'I^>G&AV>G&g~n~&@QAVBI& _ MEMORY EXCEPTION (read) '= Gs& _I@|9HG>G&_I@_Gi~n~&G___ & _G^I@^GQVB_ _ Gi~n~&G%_ @.G_ Gi~n~&G___ & _G^I@^^JQVB_ OO_ o^JQVB _ OpOO_ ^^JQVB _ OOOO_ L^JQVB _ OOOO_ :^JQVB_ OO_ *^JQVB _ OOOO_ ^SAVB^@I^_ ~xqDjn0c OOOO_ _ &m&m&]>GQVB>G&OOOOi~n~&^G&O_G&OOG'P>GQVB>G&OOOOOOi~n~&^G&O_G&OOG')>GQVB>G&OOOO^@I^G&OH_G&OOOG'I^>G&__AV_g~n~&@QAVBI& _ MEMORY EXCEPTION (write) ( G& _I@|9OHGW__I@_ __& _GU^I@^ ^ QAVB_ _G?^I@_ ^ JQVB_ OpOx_ ^ JQVB>G&OxG'_ OOOO__ OOOO_ @A_ ^ JQVB>G&OOG'_ OOOO__ OOOO_ @A_ s^ JQVB>G&OOG'_ OxOp_ \^ JQVB _ OOOO_ J^ JQVB>G&OOG'_ OOOO_ 1^ SAVB&^ @I^_ ~ xqDjn0c OOO_ >G& @A~ xqDjn0c O G'I& _ I& _ >G& @AG'^GQVB_ _>G$& _GK^I@v^_ @.>>G&>GhG.i~n~&G&&m&]I& GgGU^I& _ PROGRAM TO LOAD? *# G֩& _I@|9 I@/G]& _INPUT*9 G֟& _I@QVB )gF%'QAVI& _ *** SYNTAX ERROR *** *Z Gց& _I@|9I^INPUT*iG~& __ & _I@# ^ JQAVB,I& _ Illegal File Accessed * Ge& _I@|9I& _ Program not loaded * Gc& _I@|9INPUT* Ge& _I@y&m INPUT*GZ& _G& _I& __ & _ I@ INPUT*GD& __ & _I@#^ JQV^ JQV^ JQVB+INPUT*G& __& _I@#INPUT*G& _G& _^& __ & _ I@"^ JQAVB^ JQAVB ^ JQAVB^ JQAVBINPUT+9G& __& _I& __ & _ I@^ JQVB^QVB^ QVByINPUT+hGծ& _G$& _I & __ & _ I@G)g %'Np)g%'@gN& G)g%'Np)g%'@gN& G)g%'Np)g%'@gN& G) g%'Np) g%'@gN& G) g%'Np) g%'@gN& GH^%^ JQV^ JQVB^ GQVB^& G^ JQV^ JQVB?INPUT,G & __ & _I@#INPUT, G& __ & _I@#'~GP @^ %'GIi~n~&GA^J^QV^ JQVB@!INPUT,WG& __ & _I@#$INPUT,gGԻ& __ & _I@#(~G @^ %'^J^Gi~n~&G^QVo^ JQVB4'INPUT,GԆ& __ & _I@#*INPUT,Gy& __ & _I@#0~G @^ %'Gi~n~&G3^ JQV^ JQVB^& G_I& _- Bad Type Code Found , G<& _I@|99INPUT, G=& _I@y&mG{Og~n~&@QAVB.I& _< MEMORY LIMIT EXCEEDED - G& _I@|9I& _I PROGRAM NOT LOADED -+ G& _I@|9I& GIUINPUT-: G& _I@y&m~XINPUT-H G& _I@yI& _[ Binary Target Program loaded -W G& _I@|9,&m&]I)C{H^^GSAVBH^^K^JRV^)C~)C{I@1)C{JQVB^J^>)C~JQVB)C~JQVBH^I& _I@^ @>)C~& _I@e]v>g%'^JRVB&m ^ @I g%'^K^&m&] _O6 GO6 _G&m@ .?H_ @AQ _ @_G?hD @AQ O __6&+O __tO B?1?1?1D @AQ &m.l&]g!)C~N8 @G("^I@>G"B GQVBI@$&m&] g! )C~QVBG!G!ng! )C~JQVB4G!_G"@& _I@&G"#@I G"#G!_G"@& _G"#_I@(5G"#_I@${/g! )C~JQVBQG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'G"#g"'@AG"#G!_G"@& _G"#_I@(5G"#_I@${g! )C~JQVBQG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'G"#g"'@AG"#G!_G"@& _G"#_I@(5G"#_I@${wg! )C~JQVBQG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'G"#g"'@AG"#G!_G"@& _G"#_I@(5G"#_I@${g! )C~JQVB@G!_G"@& _I@&G"#_I& _I& _I@$G"#i~n~& G"#G!_G"@& _G"#_I@(5g! )C~JQVB@G!_G"@& _I@&G"#_I& _I& _I@$G"#i~n~& G"#G!_G"@& _G"#_I@(5g! )C~JQVB@G!_G"@& _I@&G"#I& _G"# _I& _I@$G"#@A Q G"#G!_G"@& _G"#_I@(5:g! )C~JQVBYG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'G"#_G"' _I& _I@$G"#g"'&G"#G!_G"@& _G"#_I@(5g! )C~JQVBWG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'_G"# _I& _I@$G"'g"#&G"#G!_G"@& _G"#_I@(5tg! )C~JQVBFG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'_G"# _I& _I@$G!i~n~& G!#g! )C~JQVBWG!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"%G"#g"%-G"'G!i~n~& G!_G"@& _G"'_I@(5G"'_I@${g! )C~JQVB G  !i~n~& G!g! )C~JQVB.G!_G"@& _I@&G"#G!i~n~& G!_G"@& _G"#_I@(5qg! )C~JQVB`G!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"'G!i~n~& G!_G"@& _G"'_I@(5G!i~n~& G!_G"@& _G"#_I@(5 I@X&m&] g! )C~JQVBVG!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"'G! i~n~& _G"@& _G"#_I@(5G!_G"@& _G"'_I@(5sg! )C~JQVBG!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"'G! i~n~& _G"@& _G"#_I@(5G!_G"@& _G"'_I@(5G! i~n~& _G"@& _I@&G"#G! i~n~& _G"@& _I@&G"'G! i~n~& _G"@& _G"#_I@(5G! i~n~& _G"@& _G"'_I@(5g! )C~JQVB-G!i~n~& G!I& G"#G!_G"@& _G"#_I@(5G"#_I@${zg! )C~JQVB-G!i~n~& G!I& G"#G!_G"@& _G"#_I@(5G"#_I@${Bg! )C~JQVB-G!i~n~& G!H& G"#G!_G"@& _G"#_I@(5G"#_I@${ g! )C~JQVB,G!_G"@& _I@&G"#OOOOG"#G!_G"@& _G"#_I@(5g! )C~JQVB,G!_G"@& _I@&G"#OOOO G"#G!_G"@& _G"#_I@(5g! )C~JQVBNG!_G"@& _I@&G"#G!i~n~& G!_G"@& _G"#_I@(5G"#OOO G"#G! i~n~& _G"@& _G"#_I@(5Cg! )C~JQVBMG!_G"@& _I@&G"# OOO@QAVBg!}Ik)C g!}Ik)C G"#O G"#G!_G"@& _G"#_I@(5G"#_I@${g! )C~JQVBMG!_G"@& _I@&G"# OOO@QAVBg!}Ik)C g!}Ik)C G"#OG"#G!_G"@& _G"#_I@(5G"#_I@${g! )C~JQVBMG!_G"@& _I@&G"# OOO@QAVBg!}Ik)C g!}Ik)C G"#OG"#G!_G"@& _G"#_I@(5G  "#_I@${;g! )C~JQVBiG!_G"@& _I@&G"#OOG"%g!} k)CJQVB G"%i~n~& G"%G"# OOO@QAVBg!}Ik)C g!}Ik)C G"%O G"%G!_G"@& _G"%_I@(5G"%_I@${g! )C~JQVBgG!_G"@& _I@&G"#OG"'OOG"#g!} k)CJQVB G"#i~n~& G"#G"' OOO@QAVBg!}Ik)C g!}Ik)C G!_G"@& _G"#_I@(5G"#_I@${Ug! )C~JQVB3G!_G"@& _I@&G"#O G"#G!_G"@& _G"#_I@(5G"#_I@${g! )C~JQVBuG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'g!} k)CJQVB G"'i~n~& G"%G"'G"%G"#_G"% _I& _I@$G"#g"%&G"#G!_G"@& _G"#_I@(5g! )C~JQVBG!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"'G! i~n~& _G"@& _I@&G"%G! i~n~& _G"@& _G"#_I@(5G! i~n~& _G"@& _G"%_I@(5G!_G"@& _G"'_I@(5 I@&m&] g! )C~JQVBG!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"'G! i~n~& _G"@& _G"#_I@(5G! i~n~& _G"@& _I@&G"#G! i~n~& _G"@& _G"'_I@(5G!_G"@& _G"#_I@(5g! )C~JQVg! )C~JQVBqG!_G"@& _I@&G!G! i~n~& _G"@& _I@&G!G! i~n~& _G"@& _I@&G!G! i~n~& _G"@& _I@&G!g!)C~JQVBI@I@g!)C~JQVBI@g!)C~JQVBI@jg! )C~JQVBG!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"%G"#OH_G"@& _G"%_I@(5G"% OHi~n~& _G"@& _I@&G"'G"# OHi~n~& _G"@& _G"'_I@(5G"'OH_G"@& _G"#_I@(5G"% OHi~n~& _G"@& _G"#_I@(5G!i~n~& G!Bg! )C~JQVBG!_G"@& _I@&G"#  OH_G"@& _I@&G"%G"#g"% &@QAVBLG"# OHi~n~& _G"@& _I@&G"'OH_G"@& _G"%_I@(5G"% OHi~n~& _G"@& _G"'_I@(5g!}Ik) C g!}Ik) C g! )C~JQVBG!_G"@& _I@&G"#OH_G"@& _I@&G"%G"#g"% &@QVBG!_G"@ & _I& _I@(5g!}Ik) C YG"%OH_G"@& _I@&G"'G"#OH_G"@& _G"'_I@(5G"' OHi~n~& _G"@& _G"#_I@(5G!_G"@& _G"%_I@(5g!}Ik) C I@ K&m&] g! )C~JQVBOG!_G"@& _I@&G"#_G"=& _I@$G"#O(_G"=& _I@&G"%G!_G"@& _G"%_I@(5G"%_I@${g! )C~JQVBOG!_G"@& _I@&G"#_G">& _I@$G"#O8_G">& _I@&G"%G!_G"@& _G"%_I@(5G"%_I@${ig! )C~JQVBOG!_G"@& _I@&G"#_G"@& _I@$G"#OH_G"@& _I@&G"%G!_G"@& _G"%_I@(5G"%_I@${g! )C~JQVBG!_G"@& _I@&G"#_G"@& _I@$G"#OH_G"@& _I@&G"%G!_G"@& _G"%_I@(5G!i~n~& G!G"#OHi~n~& G"#_G"@& _I@&G"'G!_G"@& _G"'_I@(5g!}Ik) C g!}Ik) C G"%AVBg!}Ik) C G"%g"' @A@QVBg!}Ik) C [g! )C~JSVBg!)C~JRAVBI@G!I@,G!g!&G!_G"@& _I@&G"#G!_G"@& _I@&G"'G"#_G"' _I& _I@$g! )C~JRVB G"#i~n~& G"#g"' &AVB G!i~n~& G! G"#i~n~& G"#g"' &@QAVB G!i~n~& G!G!_G"@& _G"#_I@(5g! )C~JQVg!)C~JQVB2I@G!G!i~n~& G!_G"@& _G!O@_I@(5G!G!G!g!&G!Ug! )C~JQVg!)C~JQVBFI@G!G!i~n~& g!&G!G! i~n~& _G"@& _I@&G!O(G!G!_G"@& _I@  &G!OHG!g! )C~JQVBLG!_G"@& _I@&G"#OH_G"@& _I@&G"%i~n~& G"' @QAVBG"#OH_G"@& _G"'_I@(5HG "Bg! )C~JQVBJG!_G"@& _I@&G"#OH_G"@& _I@&G"%i~n~& G"'VBG"#OH_G"@& _G"'_I@(5HG "BMg!)C~JQVBI@"& G!@QAVB9G!_G"@& _I@&G"#G! i~n~& _G"@& _I@&G"%G"#O(G"#G!i~n~& G!HG ".G!i~n~& @QVB=G"% @QV2I@G ")G"#_G"=& _G")& _I@(5G"#i~n~& G"#G"%i~n~& G"%G!i~n~& @QVB;G"%@QV0G"#_G"=& _I@&G ")& _I@G"#i~n~& G"#G"%i~n~& G"%G!i~n~& @QVBG"#_G"=& _I@&G ")JQVB I & _I@ I & _I@ I & _I@HG")JQVB I & _I@3G")JQVBI & _I@ I& _I@ I & _I@ I & _I@G"#i~n~& G"#G"%i~n~& G"% @QVG"#_G"=& _I@&G ")& _I@g! )C~JQVBG!_G"@& _I@&G"#@QVBG!i~n~& G!G! i~n~& _G"@& _I@&G"%G!}& _G"@& _G"%_I@(5G! i~n~& _G"@& _I@&G"%G!_G"@& _G"%O(_I@(5G!_G"@& _I@&G"%G!_G"@& _G"%OH_I@(5G!w_G"@& _G"#OH_I@(5G!w_G"@& _I@&G"%G!}& _G"@& _G"%_I@(5G!w i~n~& _G"@& _I@&G"%G!_G"@& _G"%OH_I@(5G!w i~n~& _G"@& _I@&G"%G!u_G"@& _G"%OH_I@(5G!w i~n~& _G"@& _I@&G"%G!_G"@& _G"%OH_I@(5G!w i~n~& _G"@& _I@&G"%G!_G"@& _G"%O(_I@(5 I@+&m&] g! )C~JSVB(g! )C~JRAVBG!_G"@& _I@&G"#G!i~n~& G!_G"@& _I@&G"'g! )C~JQVB%G"#O(_G"=& _G  "'_I@(5G"#_G"=& _I@$g! )C~JQVB%G"#O8_G">& _G"'_I@(5G"#_G">& _I@$g! )C~JQVB%G"#OH_G"@& _G"'_I@(5G"#_G"@& _I@$WG!i~n~& G!_G"@& _I@&G"%G"#_G"@& _I@$G"#OHG"#_G"@& _G"%_I@(5G"# i~n~& _G"@& _G"'_I@(5G!i~n~& G!Xg! )C~JSVBg!)C~JRAVBI@ =G!G!_G"@& _I@&G"#g! )C~JQV g! )C~JQVBG"#_G! _I& _I@$G"#g!&G"#G"#_G! _I& _I@$G"#g!&G"#g! )C~JSAVBG!_G"@& _G"#_I@(5g! )C~JQVg!)C~JQVBI@G!G!g!&G!g! )C~JSVBg!)C~JRAVByI@"& G!g! )C~JRVBG!Op_ I@" `@_ ~n~& G!g! )C~JQVB(G!Op_ I@" `@_ ~n~& G!Op_ I@" `@_ ~n~& G!G!i~n~& G!_G"@& _G!_I@(5 I@&m&] g! )C~JQV g!)C~JQVBI@G!G!g!&G!qg! )C~JQVg!)C~JQVBjI@G!G!_G"@& _I@&G"#I& G"'G!AV0G"#_G"?& _I@&G"%G"#i~n~& G"#G!i~n~& G!G"'Og"%@AG"'G!_G"@& _G"'_I@(5g! )C~JQVg!)C~JQVBsI@wG!G!_G"@& _I@&G"#g!AxqDjn0c O G"#G! i~n~& _G"@& _I@&G"%G!AV.G"%_G"?& _G"#_I@(5G!i~n~& G!G"%i~n~& G"%G"#OG"#hg! )C~JQVBG!i~n~& G"#I@"& G!G!_G"@& _I@&G"%AVG"%g! &@QAVB G!i~n~& G"%G"#OOOOOOi~n~& @QVB G!i~n~& OG"'G!OG"'G"'g"%&G"'_G">& _I@&G"%OOOO G"%G"#g"%&G!g! )C~JQVB/G!_G"@& _I@&G!_G"=& _I@$G!O(G!G!i~n~& G!g! )C~JSVBg! )C~JRAVB G!i~n~& G"%I@G!g!)C~JSAVBI@%;G!Op_ I@_   @AG!Op_ I@_   @AG!Op_ I@_   @AG!G!g"%&G!G!i~n~& G!_G"@& _G!O _I@(5g! )C~JQVBSG!_G"@& _I@&G"#_G"@& _I@&G"% @QAVBG"%i~n~& G"%G"#_G"@& _G"%_I@(5 G!i~n~& G!g! )C~JQVg!)C~JQVB}I@G!G!_G"@& _I@&G"#_G"?& _I@&G"%OOOOOO G"'G!i~n~& G!G"#i~n~& G"#G!AVG"#_G"?& _I@&G"%G"'Og"%@AG"'G!_G"@& _G"'_I@(5 I@&m&]HG ".I& _.M ILLEGAL OPCODE FOUND Ip G& _I@|9G!_IJ& _AxqDjn0c OG ")G!O GG "*I& _.[ P = %04X%04X OPCODE = %02X IG& _G")& _G"*& _ g! )C~& _ I@|9&m&]G!_ G!_ I^G! @QVG! @QV G!g! &AVG!O(_G"=& _I@&_G!O(_G"=& _I@&_&@QVB8G!i~n~&G!G!i~n~&G!^ QVBG! i~n~&_G"@& _G!_I@(5H^^ GQVB _ G!_ G!I^G!i~n~&G!G!i~n~&G!G!_G"@& _G!_I@(5 ;^ GQVBG!@QVBg!}Ik) C g!}Ik) C &m&]I& _ _ i~n~&@QAVG! @QVG! @QVG!O(_G"=& _I@&_ G!O(_G"=& _I@&_ _  &@QVBG!i~n~&G!G!i~n~&G!G!i~n~&G!G!i~n~&G!G! i~n~&_G"@& _G!_I@(5G!_G"@& _G!_I@(5G! i~n~&_G"@& _G!_I@(5G! i~n~&_G"@& _G!_I@(5-_  &@QAVBH& _ I& _  _ __ _I& _I@$&m&] G!_G"@& _I@&G!G! i~n~& _G"@& _I@&G!G! i~n~& _G"@& _I@&G!G!@QVG!O(_G"=& _I@&^G!O(_G"= & _^ & _I@(5G!i~n~& G!G!i~n~& G!G!i~n~& G!G!_G"@& _G!_ I@(5G! i~n~& _G"@& _G!_I@(5G! i~n~& _G"@& _G!_I@(5m&m&]G!_G"@& _I@&_ G! i~n~&_G"@& _I@&G!G! i~n~&_G"@& _I@&G!G! i~n~&_G"@& _I@&G!H& _ G!@QVG!O(_G"=& _I@&_ __ O(_&_ _G"=& _I@& _ @QVG!O(_G"= & __ _I@(5G!i~n~&G!G!i~n~&G!G!i~n~&G!G! i~n~&_G"@& _G!_I@(5G! i~n~&_G"@& _G!_I@(5G! i~n~&_G"@& _G!_I@(5AG!@QVB_ @QAVBg!}Ik) C g!}Ik) C &m&]I& __I@" `@_~n~&_g!)C~XJQVB_Op_I@"`@_~n~&__&m&m&]I& _g!)C~XQAVB__I@"`@_~n~&__&m&m&]g! )C~XQVB G!OOOOG!G!OOOO G!U&m&] _O6 GO6 _G&m@ .?H_ @AQ _ @_G?hD @AQ O __6&+O __tO B?1?1?1D @AQ &mN&]G! i~n~&_ g! )C~X )C{I@"& G! )C~XJQVBI@" )C{G! Op )c~~n~&G!I@N1_ g!&_  )C~QV )C~JQVBg!} g) CQVB_ G! )C~JQV )C~JQVB g!}g) CJQVB_ G!v )C~JQV )C~JQVB g!} g) CQVB_ G!N )C~JQV )C~JQVB g!}g) CJQVB_ G!% )C~JQV )C~JQVB g!} g)CQVB_ G! )C~JQV )C~JQVB g!}g)CJQVB_ G! )C~JQV )C~JQVB g!} g)CQVB_ G! )C~JQV )C~JQVB g!}g)CJQVB_ G! )C~JQV )C~JQVB#g!}g) C^g!}g) Cg!}g)c@e`@^@gQVB_ G!J )C~JQV )C~JQVB$g!}g) C^g!}g) Cg!}g)c@e`@^@gJQVB_ G! )C~JQV )C~JQVBg!}g) Cg!}g)c@eQVB_ G! )C~JQV )C~JQVBg!}g) Cg!}g)c@eJQVB_ G! )C~JQV )C~JQVBg!}g) Cg!}g)c@gQVB_ G! )C~JQV )C~JQVBg!}g) Cg!}g)c@gJQVB_ G!R )C~JQV )C~JQVB_ G!6  )C~JQV )C~JQVB G!i~n~&G!_G"@& _G!O _I@(5_ G!&m&]g!)C~XJQVBI@M& G!I@N1g!)C~X& G!OOOOG!G!g!&G!g! )C~GJQVB:G!i~n~&G!G!_G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${g! )C~GIJpQVB0G!_G"@& _I@&_ G!i~n~&G!G!_G"@ & __ _I@(5dg!)C~G J`QVBI& _ G!_G"@ & __ _I@(5>G!_G"@& _I@&_ _I& _I& _I@$ _ i~n~&_ G!_G"@ & __ _I@(5&m&]g! )C~X )C{I@M& G!I@N1  )C~JSAVB@G!i~n~&G!G!g!u&G!_G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${ )C~JQV )C~JQVB8G!g!u&G!G!_G"@& _I@&_ G!i~n~&G!G!_G"@ & __ _I@(5 )C~JQV )C~JQVBG!g!u&G!_G"@& _I@&_ G!i~n~&G!_G"@ & __ _I@(5 _ _I@${G!i~n~&G!_G"@& _I@&_ G!i~n~&G!_G"@ & __ _I@(5 _ @QAVBg!}Ig) C  )C~JQV )C~JQVBvG!g!u&G!i~n~&G!G!_G"@& _I@&_ G!i~n~&G!G!_G"@ & __ _I@(5G!_G"@& _I@&_ G!i~n~&G!G!i~n~&G!_G"@ & __ _I@(5 )C~JQV )C~JQVB&G!g!&G!G!i~n~&G!_G"@& _G!O@_I@(5H )C~JQV )C~JQVB&G!g!u&G!G!i~n~&G!_G"@& _G!O@_I@(5  )C~JQV )C~JQVBG!g!&G!_G"@& _I@&_ G!i~n~&G!_G"@ & __ _I@(5 _ _I@${G!i~n~&G!_G"@& _I@&_ G!i~n~&G!_G"@ & __ _I@(5 _ @QAVBg!}Ig) C tG!g!&G!i~n~&G!G!_G"@& _I@&_ G!i~n~&G!G!_G"@ & __ _I@(5G!_G"@& _I@&_ G!i~n~&G!G !i~n~&G!_G"@ & __ _I@(5&m&]I@M& G!I@N1g!)C~X )C{G!g!u&G!_G"@& _I@&_ G!_G"@& _I@&-_  )C~QV  )C~JQVBP_ __ O(_&_ _ _G"=& _I@$_ _G"=& _I@&_ G!_G"@ & __ _I@(5 _ _I@${.P )C~JQV )C~JQVBP_ __ O8_&_ _ _G">& _I@$_ _G">& _I@&_ G!_G"@ & __ _I@(5 _ _I@${. )C~JQV )C~JQVBP_ __ OH_&_ _ _G"@& _I@$_ _G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${. )C~JQV )C~JQVB_ __ OH_&_ _ _G"@& _I@$_ _G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${G!i~n~&G! _ i~n~&_ _G"@& _I@&_ G!_G"@ & __ _I@(5 _ @QAVBg!}3Ig) C  )C~JQV )C~JQVBX_ __ O(_&_ _ _G"=& _I@$G!i~n~&G!_G"@& _I@&_ _ _G"= & __ _I@(5G!i~n~&G!.j )C~JQV )C~JQVBX_ __ O8_&_ _ _G">& _I@$G!i~n~&G!_G"@& _I@&_ _ _G"> & __ _I@(5G!i~n~&G!. )C~JQV )C~JQVBX_ __ OH_&_ _ _G"@& _I@$G!i~n~&G!_G"@& _I@&_ _ _G"@ & __ _I@(5G!i~n~&G!_ __ OH_&_ _ _G"@& _I@$G!i~n~&G!_G"@& _I@&_ _ _G"@ & __ _I@(5G!i~n~&G! _ i~n~&_ G!_G"@& _I@&_ _ _G"@ & __ _I@(5G!i~n~&G!&m&]I@M& G!I@N1g!)C~X )C{G!g!&G!_G"@& _I@&_  )C~QV  )C~JQVBJG!i~n~&G!_ _G"=& _I@$_ O(_G"=& _I@&_ G!_G"@ & __ _I@(5 _ _I@${ )C~JQV )C~JQVBJG!i~n~&G!_ _G">& _I@$_ O8_G">& _I@&_ G!_G"@ & __ _I@(5  _ _I@${z )C~JQV )C~JQVBJG!i~n~&G!_ _G"@& _I@$_ OH_G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${ )C~JQV )C~JQVBG!i~n~&G!_ _G"@& _I@$_ OH_G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${G!i~n~&G! _ OHi~n~&_G"@& _I@&_ G!_G"@ & __ _I@(5 _ @QAVBg!}Ig) C u )C~JQV )C~JQVB@G!_G"@& _I@&_ _ _G"=& _I@$_ O(_G"= & __ _I@(5G!i~n~&G! )C~JQV )C~JQVB@G!_G"@& _I@&_ _ _G">& _I@$_ O8_G"> & __ _I@(5G!i~n~&G! )C~JQV )C~JQVB@G!_G"@& _I@&_ _ _G"@& _I@$_ OH_G"@ & __ _I@(5G!i~n~&G!sG!_G"@& _I@&_ _ _G"@& _I@$G!i~n~&G! _ OHi~n~&_G"@ & __ _I@(5G!_G"@& _I@&_ G!i~n~&G!_ OH_G"@ & __ _I@(5&m&]I@M& G!I@N1g!)C~X )C{G!g!&G!_G"@& _I@&_ G!_G"@& _I@&-_  )C~QV  )C~JQVBP_ __ O(_&_ _ _G"=& _I@$_ _G"=& _I@&_ G!_G"@ & __ _I@(5 _ _I@${.F )C~JQV )C~JQVBP_ __ O8_&_ _ _G">& _I@$_ _G">& _I@&_ G!_G"@ & __ _I@(5 _ _I@${. )C~JQV )C~JQVBP_ __ OH_&_ _ _G"@& _I@$_ _G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${.z )C~JQV )C~JQVB_ __ OH_&_ _ _G"@& _I@$_ _G"@& _I@&_ G!_G"@ & __ _I@(5 _ _I@${G!i~n~&G! _ i~n~&_ _G"@& _I@&_ G!_G"@ & __ _I@(5 _ @QAVBg!}3Ig) C  )C~JQV )C~JQVBX_ __ O(_&_ _ _G"=& _I@$G!i~n~&G!_G"@& _I@&_ _ _G "= & __ _I@(5G!i~n~&G!.` )C~JQV )C~JQVBX_ __ O8_&_ _ _G">& _I@$G!i~n~&G!_G"@& _I@&_ _ _G"> & __ _I@(5G!i~n~&G!. )C~JQV )C~JQVBX_ __ OH_&_ _ _G"@& _I@$G!i~n~&G!_G"@& _I@&_ _ _G"@ & __ _I@(5G!i~n~&G!_ __ OH_&_ _ _G"@& _I@$G! i~n~&_G"@& _I@&_ _ _G"@ & __ _I@(5G! i~n~&_G"@& _I@& _ _ i~n~&_G"@ & __ _I@(5G!i~n~&G!&mb &]I & _I@ I & _I@ I & _I@ I<& _I@ IO& _I@ IA& _I@ IK& _I@ I>& _I@ I& _I@IG "I@G "^I@ZG " JQVBI@G "^I@BG " JQVBIG "G"JQVBI@G"JQVEG"JQVJSAV >JRVB>&m>J&m&m&]I@6^^I@^JSVB ^JRAVB^X^^JSVB^JRAVB^J^)I& G'"I&m)>^ @.G&!>G'"H&m&m&]I& _I^I@QVB8G"JQVBG"QV G" JQVBI&mG"JQVBG" QAVB)_G'"^&m3G" JQVB _)g$" &_H^G" JQVB _)g$" &_H^)G& "_H^)_G'"G"JQV G"JQVBH&mn&m&] I& _I^I@F^^I@^JSAV^JRVB^JSAV^JRV;^JQVBI@QVBI^# _)g$"+&_H^^^I@^_O0_H^^JQVBI^I& _G"G "^G ")_G'" ^&m&m&]I^^ @.I& G'"^K^JRVIG "IG "IG " I@QVB!G"JQVBG"JQVB G"JQVBH&mI&mG"JSAVBG"K @.>)G&">G'"G"KG " G"JQVBG" JQAVB )I& G'"I&mIG "H&mG"JQVG" JRV)I& G'"H&m&m&] I0^I^I^^JRVI & _I@ I & _I@ I & _I@I^^JRVYIG& _I@^^I9K`@^ @cQVBIA^^& _I@ I & _I@^ @.G&!_I@I & _I@ I & _I@^K^^K^^K^^K^r&m&]G"JSVBG"JRAVBG"X^G"J^G" JQVB ^ @.>)G&">G'! &mI & _I@ I & _I@ IG& _I@G"& _I@ I & _I@^ @.G&!_I@-I & _I@ I@BQVBG"JQAV G"JRVBI@=&m^ @.>)G&">G'!&m&]G"JQVBG" JQVB)G&"G!G" JQVB)G&"OHG!uG" JQVB)G&"OHG!G" JQVB)G&"OHG!G" JQVB!)G&"Xi~n~&@QVBg!}Ik) C g!}Ik) C G" JQVB!)G&"Xi~n~&@QVBg!}Ik)C g!}Ik)C [G" JQVB!)G&"Xi~n~&@QVBg!}Ik) C g!}Ik) C 1G" JQVB!)G&"Xi~n~&@QVBg!}Ik)C g!}Ik)C I@5&mI & _I@ I & _I@G"JQVBIP& _I@ I & _I@G!O _I@I & _I@ I(& _I@G!_I@I)& _I@ IB& _I@ I & _I@ I@rQVBG"JQAVBI@)G&"G!&mVG"JQVBOIG& _I@ I & _I@G!uO@_I@/I & _I@ I@QVBG"JQAVBI@H)G&"OHG!u&mG"JQVBOIF& _I@ I & _I@G!O@_I@I & _I@ I@QVBG"JQAVBI@)G&"OHG!&mG"JQVBOIS& _I@ I & _I@G!O@_I@I & _I@  I@kQVBG"JQAVBI@)G&"OHG!&mNG"JQVB{IZ& _I@ I & _I@g!}k) CJQVB I1& _I@  I0& _I@ I & _I@ I@QVBG"JQAVBI@))G&" OOO@QAVBg!}Ik) C g!}Ik) C &mG"JQVB{IV& _I@ I & _I@g!}k)CJQVB I1& _I@  I0& _I@ I & _I@ I@xQVBG"JQAVBI@)G&" OOO@QAVBg!}Ik)C g!}Ik)C &mFG"JQVB{IC& _I@ I & _I@g!}k)CJQVB I1& _I@  I0& _I@ I & _I@ I@QVBG"JQAVBI@!)G&" OOO@QAVBg!}Ik)C g!}Ik)C &mG"JQVB{IN& _I@ I & _I@g!}k) CJQVB I1& _I@  I0& _I@ I & _I@ I@pQVBG"JQAVBI@)G&" OOO@QAVBg!}Ik) C g!}Ik) C &m>G"JQVB/G" JQAVBI@#I& G"/I& G"1I& G"3I& G"5I& G"7I& G"9I& G";:I@?&m&]I^>G&O2G'X)C{JRVB )C~JK)C{)C~K0)C{& _I@^J^QV&m&]I& _I@ I& _I@&m&]I@QVB I@&mG" JQVB)G&"O_)G&"OH_I^G"JQVB0I@hQVG" JQAV)G&"i ~n~&@QAVBI@&mH^G";JQAVBI@q&mI& __AV_g~n~&@QAVBI@M&mI & _I@ I & _I@ I & _I@_O@_I@I & _I@_ @.G&s_ &_I@I & _I@ ^ G QVBO)_ G'"I )C{)G&"OrG'")G&")G  )C{JSAV )C~JRVBI. )C{ )C~& _I@ )C~K )C{JQVI@QVB$G"JQVB G" QVB&mG"JQAVBI@t&mG"JRVBI@d&mG" QAVBq_ @.>)G&"> G'sH& G!G"JRVB_i~n~& @.>)G&"> G'sG"JRVB_i~n~& @.>)G&"> G'sG"JRVB_i~n~& @.>)G&"> G's I & _I@ I*& _I@I& _G"JQV G"JQVB _i~n~&_jG"JQVB _i~n~&_UG"JQVB_ OH_EG"JQVB_ _6G"JQVB_ @A Q i~n~ _G"QVG "*JQVB&mI@_&m&m&] I@:QVBI@G&mG"JSAV G"JRVBI@.&m)G&")g$" &AVB)>)G&"OH>G'")>)G&")g$" &i~n~& >G'")>)G&"OH>G'")>)G&"OH>G'")G&"g~n~& @QAV )G&"AVBI@&mI & _I@ I & _I@ I & _I@)G&"O@_I@eI & _I@ I^I & _I@)>)G&" @.G&s>G'")G&" _I@8^K^)G&"i~n~& G'")G&")g$"&@QAV^JQVG" JQVB4)G&"%i ~n~& @QVB$^JSAVBI_ G ^I & _I@ ^J^QVG" JQVB)G&"i ~n~& @QVB}I & _I@ I & _I@)>)G&"~~n~& >G'")>)G&" @.G&s>G'"I^)>)G&"Or>G'")G&")G)C{JSAV)C~JRVBI.)C{)C~& _I@^K^JQV^J^QV)G&")g$"&@QAVz&m&]IG ".G"JQAVBI@;QVBG"JQAVBI@?&mG"JQVB G"RVB)G&"G!G" JSAVB)H& G'"I@"g!)C{G"7i~n~&G"7I@.mG". GQVVG!)g$" &@QVBG"JQV?G!)g$" &@QV1G"JQV(G!)g$" &@QVG!)g$" &@QV G!)g$"&@QVI@K&m&]IG ".I@ JQVB1I@"g!)C{G"7i~n~&G"7I@.mG".GHQVI@ ITG "I@L&m&]I& _a LAST INSTRUCTION EXECUTED = :%2X sG& _g! )C~& _I@|9G! i~n~& @.G&s _OO^_G^G!_IJ& _AxqDjn0c O^G!O G^G!OO^G!G^I& _a P = %04X%04X (%04X%04X)B T3 = %04X%04X t"G& _^& _^& _ ^& _ ^& _ ^& _^& _I@|9G! i~n~& @.G&s _OO^_G^G!_IJ& _AxqDjn0c O^G!O@G^I& _a S = %04X%04X T2 = %04X%04X toG?& _^& _^& _ ^& _ ^& _ I@|9G! i~n~& @.G&s _OO^_GO^G!_IJ& _AxqDjn0c O^G!O@G4^I& _a F = %04X%04X T1 = %04X%04X tG& _^& _^& _ ^& _ ^& _ I@|9G! @.G&s _OO^_G^G!u_IJ& _AxqDjn0c O^G!uO@G^I& _a G = %04X%04X T0 = %04X%04X u G& _^& _^& _ ^& _ ^& _ I@|9G!}^G"# ^I@>^&}I& _a PSW %04X%04X u3G& _G"#OO_ G"# G_ I@|9I& _a --- CONDITION CODES ---uN G& _I@|9g!}k) C^g!}k)C^g!}k) C^g!}k)C^I& _b N = %X C = %X Z = %X V = %X uuG& _^& _^& _ ^& _ ^& _ I@|9u&m&] I^I^>^ @%'^^I@^^N0^^K^JRV^& &m&m&]>JSVB>JRAVB>XĂ>JSVB>JRAVB>XK ĂH>Ă>&m&m&] I@fQVBG" JQVBI& _b SYMBOL OPERATION v G& _I@|9I& _b' + addition v  G& _I@|9I& _b3 - subtraction v/ G& _I@|9I& _b@ * multiplication v> G& _I@|9I& _bO / division vM G& _I@|9I& _b[ ^ exponential v\ G& _I@|9I& _bh  & logical 'AND' vk G& _I@|9I& _bv | logical 'OR' vz G& _I@|9I& _b ! logical 'XOR' v G& _I@|9I@o<)>)G&">G'"G"JQVB#I & _I@ I & _I@)G&"&_I@ I@QVB I@')>)G&">G'"G" JQVB)>)G&")g$"&>G'"G" JQVB)>)G&")g$"&>G'"G" JQVB)>)G&")g$">G'"G" JQVB)>)G&")g$">G'"G" JQVB9)>)G&">G'")G&"i~n~& G'")G&" @QV)>)G&")g$"q>G'")G&"i~n~& G'"FG" JQVB)>)G&")g$"@A>G'".G" JQVB)>)G&")g$"@A>G'"G" JQVB )>)G&")g$"@A>G'"&m&]I@QV G"JQAVBI@&m)>)G&"OH>G'")>)G&"OH>G'")>)G&"OH>G'")G&")g$"&)g$"&g~n~&@QAVB I@&m)G&")g$" &@QAVB:)G&")g$" &@QAV()G&" @.>)G&" @.G&s>G's)G&"i~n~&G'")G&"i~n~&G'"H)>)G&")g$"&)g$"&>G'")G&")g$" &AV()G&" @.>)G&" @.G&s>G's)G&"i~n~&G'")G&"i~n~&G'" I & _I@ I*& _I@&m&] I@ QVG"JSAV G"JRVBI@&m)>)G&"OH>G'")>)G&"OH>G'"G" JQVB)H& G'"G" JRVB)G&")g$" &@QAV)G&" @.G&s_)g$" &@QVBG"JQVBG" JQV<_)g$" &@QAVBG "JQVBG" JQV_)g$"@A)g$" &@QVBG"JRVB>I & _I@ I & _I@ I & _I@)G&"O@_I@I & _I@ __I@)G&"i~n~& G'"B&m&]I@QVG"JSAV G"JRVBI@&m)>)G&"OH>G'")>)G&"OH>G'"G" JQVB!)G&" @.>)G&">G's I & _I@ I*& _I@&mG" JQVB)I& G'")G&"AV3)G&"AV*)G&"i~n~&g~n~&@QAV)G&"g~n~&@QAVBI@i&m)G&")g$" &@QAV&)G&" @.>)G&">G's)>)G&")g$"&>G'")G&"i~n~&G'" I & _I@ I*& _I@&m &] _O6 GO6 _G&m@ .?H_ @AQ _ @_G?hD @AQ O __6&+O __tO B?1?1?1D @AQ &m&] )&] )? _@1B )1ߠA1RQ O3A !D @AQ .*+_G? 1A@& _Q? 1GV@? 1@@N_H_ @AQ _GH @AQ _)??) J `h_O6Bk|__O_&*__O_t? 1__?1D @AQ &m|B~~}~Є|8>&] >GGG$^G^I@> ^ &}IGg @%'GGQV)GKGg @%'GGJRVB{MSGOUT|vGZ& _{ WRITEF - FORMAT TOO LONG OR MISSING EOS |{ GY& _I@tD&mIGg_ @%'GIGIGIrg)C{IGyI gw)C{HGoGjQVGbJQAVBG/& _GT& _I@^GJKGGg @%'G>G;KG8g @%'G/QV|G'JQVBIlg#)C{GKGg @%'GQV[I@V^H`@^ @cQVJG& _I@GJQVBIGGKGg @%'GQV I@^H`@^ @cQVGKGg @%'G.&m&] GJQVBI0g)C{GKGgl @%'GQVBH&mGJSVBG|JRAVB'GJ& _Go& _Gn& _I@VG_g3 @%'GVQVBH&mGLJQVBNGDKGAg @%'G8QVG0JSAVG'JRVBH&mG& _G& _G& _I@!Gg @%'GQVBH&mI&m&m&]G& _I@!GJ^SAV^JRVBG& _G& _I@GI^@^ @G^G& _G @.G_g)C~& _G& _ g)C~& _ G& _ G& _G& _I@>^GKG^&m&m~I&]9>JQV >JQVBIE>Đ>G&__^^^I@#>& __& _& _& _ & _ & _ I@I&m&m&]>& _I@O>ĈI^RAVBI^>K& _I& _I@^I^>G&i_@`&  _\AVB>^ @I-%'^ K^>G&G'>G&i~i~\@QAVB%>G&g@~i~\V>G&gB ~i~\G'^J^>G& gB ~i~\AV>G&gB ~i~\G'^K^>JQVB^ _^@I_ I^_ _I &  _\_ ^K^_ SV>G&__ _I&  _\_\G'gB ~i~\VB @I>G'^K^>JQVB@^SAVB9>^ @I0%'>^ K @I.%'^ K^^ SAVB^_ ^H^>^ @I0%'^ K^^J^_RAVI^>G& ^^ @^ K0%'^ K^>JQVB^_QVB >^ @I.%'^ K^>JQAVB^QVB >^ @I.%'^ K^^ &  _ >G& \G'gB ~i~\G'^K^_ SV>JQVB\^QAVBU>^ @IE%'^ K^^SAVB^@A^>^ @I-%'^ K^Id^^ _RAV^ & GG^^ RAV>^ @^& _ K0%'^ K^^& _ @^^ & G$^>^ @I%'&m&]>G&g$&AVB>G&&m>G&&m&m A&]>GQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@x&m&m&]>GQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@=&m&m&]>GmQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@&m&m&]>^>G&_G& _I@`@^@c^>g$)C~JQVB+>& _^ & _g$ )C~& _I@=>^G&_G& _^I@.)>^G&_G& _^I@>& _^ & _g$ )C~& _I@~I&m&m&]>G&AV>G&_ G&i~n~&_  &@QAVB>^G&xqDjn0c O_G&_^I@>G&_ G&i~n~&_  @AG'i ~n~& @QVB>& _G&i0~n~& _I@>& _G&i ~n~& iA~n~& _I@g&m&]>G&AVB >G&@A Q _ I^>G&_ I^^ ^_ _I & _I@`@^@b^>_ ^>^G&_I@>g$)C~JQVB%>& _^ & _g$ )C~& _I@1>^_ _I@(#>^_ _I@>& _^ & _g$ )C~& _I@PI&m&m&] >G&AV>G&i ~n~& @QAVB>^G&i ~n~ __I@>& _G&i ~n~ Li0~n~& _I@&m&]>G&AVB>& _I-& _I@&m&]I^>G&g$>G'@QV^K^^&m&m&] )&] )? _@1B )1ߠA1RQ O3A !D @AQ .*+_G? 1A@& _Q? 1GV@? 1@@N_H_ @AQ _GH @AQ _)??) J `h_O6Bk|__O_&*__O_t? 1__?1D @AQ &m&]>& _& _I@I&m&m &]>& _I@P^>RVB >_ SAVB>^ @%' )C{>^ @I%'H^>_ ^g$)C~JQVB>& _^ & _g$ )C~& _I@,>^^I@;>g$)C~JQVB>& _^ & _g$ )C~& _I@=^ SVB>^ @~> )C~> ~%'I&m&m&] I^>^ @%'QV>& _^ @%'& _I@^K^&m&]>& _& _I@&m&]>RAV> ^g$)C~^I@>JĄ&m&m&]IGG @Ig%'GJGQV&m&m&]GJRAVBG @>>g$)C~>g%'I^GKGH^^&m&m&]GRVBG{JGx> @~gp%'~@I^H^^&m&m&] >^I@^H`@^ @cQVB>& _& _I@?^I^^&m&m&]>g$)C~^I@z^&m&m&] I^>^_^I@^QAV0^JQAVB^JQAVB^JQAVB ^JQAVB^JQAVB>^@^&m&m&]>~ @%'J~@>KĄ @%')C{JSAV)C~JRV>~@ G^)C~J`@^@b~@>&m&m &] >NpĄ>& _G$& _I& _I@&m&m&] STDOUT1'G^>^I@&m&m&]>& _& _I& __ & _ I@^QVB>@Nx@^ &m&m&]STDINjG^>^I@&m&mx&]I & _>& _I@&m&m&] I& _>& _& _I@&m&m&]I& _>& _I@&m&m&] IU& _>& _& _& _ I@&m&m&]Id& _>& _& _& _ & _ I@"&m&m&]>G&Ix& _>& _& _^ & _ G&_ I@&m&m&] I& _>& _& _& _ I@&m&m^  P=fAj&]I^^ @> @.?G&>G*^K^JRVH& G=>JQVBI@jd>JQVBI@S>JQVBI@B>JQVBI@1>JQVBI@^ >JQVBI@N>JGQVBI@}G&m&m&])G^I@jGWTGRQVB-G & _GF& _I@ G_I@@/& GG.J @ 'g)I%'I& G{&m&m&] )IGP)GM& _G\& _I@G4& _)G7& _GF& _I@ GJ_I@@& G?&m&m&])G& _G$& _I@G & _G& _I@ G_I@@%& G &m&m&] )G^I@G)G& _G& _I@GW& _G& _G& _I@ G_I@@%& G@QVB3)G& _GZJ @ 'g).G4& _I@|GDJ @ '~g).G4& _I@&m&m&] I^)gbI@)G]^I@+G)GORAV)G1J> G-)g*@K@)g$^ @^%'^ K^I& G:^& G4&m&m&]>JSAV>JRVBH&m>J @G JRVBLG & _>G$& _G& _G& _ J @G& _ I@ _ _I@@c^QAVB^&m>J @IG>J @g^ @I %'>J @~g>J @G @%'~@>@JQVB >J @IQKG >J @GKGI&m&m&])Gc^I@1GG& _G& _Gs& _)GF& _ )G@& _ I@ GX_I@@& GM&m&m&] I^)G!^I@G)GRAV,G^)g^ @%'^I@ ^^H`@^ @cQV^K^)>)GJ>  G^& G&m&m&]>JSAV>JRVBH&m>JQAVB>J @g >J @G @>>>%'>JQV >J @GJQVBHG$& _>G$& _G& _J @G& _ >J @G& _ I@2_ ^^>J @^GQAVBH^I^>J @IG I^>J @GKG^&m&m&] G& _I@I@)G^GN)GGI)GGD)GG?)GG:)GG5)G6G0)GhGX)GGS)GGN)GGI)GGD)GG?)G@G:I^^J @IQKG ^J @IG2^K^JRV)gI)I%') gA)I%')g9)I%')g1)I%'.STDING& _)$g$).G4& _I@|1STDOUTG& _)-~g).G4& _I@|5MSGOUTGw& _)6~g).G4& _I@| &m&m&] I^I^I^G & __& _I@G & __& _I@G & __ & _I@&m&m&]I^>& _I@JRVBH^I&m>& __& _I@| _& _I@I^_& _^J @ ',gj).G4& _I@QV^J^RAVBH^I^^^^&m&m ~&]I^>^ @I ^K^JQV>)II^>^ @%'JQV>^ @%'QV ^^IJ`@^@cSV>^ @>>~ @%'>~^K^>^ @%'JQVB7^K^IJ^>^ @%'QV^JSV>^ @>>~^ @%'>~^K^^K^I^ >^ @%'QVBI^^^IJ`@^@cSVBH^^&m&m&]>G&^GQVBH^^GQVBIE^I^^&m&m'';&]'DFHJLNPRTV'] &m~@ `+j@@kbUE@+kzg )gHǙP@Np+H@@+kGr @‡@kGza;  Ay GJGGt'} C2‚' C3Aj'' kg@SQEkGcy @Vn⃢@{ ) 'S*x '''⾢@ۂⷢ@Ԃ'l'z:c_⦢@ 0FLR:;:C:K ~}|>3@ cSOSILO CIB£ :ch:cmUeg \~{ÿvH:X:_zhh{'g 9~r{qÿpnvnnVm㘀@B:S 0:ZXUZ{W S ~DEEI 1C:$>n:o| {,,\v Fr@qAnk: Ӏ^Ѐ ‚yYv {OzNyMxKoCI ' y~:_#B t}  j}.|*%'r \|.{*z%'qg'X1@PX2@PX3@PX4@PSI@PSO@PLO@P2   No more available units File not found--job aborted^&]I^H^>^ @%'QV>^ @%'>g$)c~@cQVBI^^K^^&m&m&] I^H^>^ @%'QV^ QV>^ @%'^>^I@^^K^^&m&m&]> @%'^> @%'^^_SAVBH&m ^_RVBI&m^QV >KĄKĈI&m&m&] >^I^^I^I@&m&m&] >^^^^I@QAVBH&mI&m&m&] >^I^^I^I@&m&m&]>^I@>ĂJSVB>^IA^IF^I ^I@^>^I0^I9^I^I@m^^ >̂QVBH^I^^ ^^ &m&m&] >^IA^IZ^Ia^I@F>Ă&m&m&] > @%'QV#> @~>> @%'^IA^IZ^Ia^I@> ~ %'>KĄ&m&]>^I^I@&m&m&]>̂RAVB>̆RAVB>̄ȈĂ>&m&m&]> @%'^> @^%'^QV >KĄKĈ&m&] >^I^^I^I@&m&m&]I^> @%'QV >KĄ^K^^&m&m&]>^I^I@&m&m&] >^Ia^Iz^IA^I@p>Ă&m&m&] > @%'QV#> @~>> @%'^Ia^Iz^IA^I@E> ~ %'>KĄ&m&]>^I^I@&m&m "&] &] &]>& _I@GG& _G& _G& _G& _ >& _ I@!G>~@Nx~@G_I@&m&m&]>& _I@G>NpĄG& _G& _G& _G& _ >G$& _ I@G}_I@&m&m&]>& _I@GbG& _G[& _GR& _>G$& _ & _ I@1GC_I@G8QVB G1->G)@>I@G!&m&m&]>& _I@GG& _G& _G& _>G$& _ & _ I@G_I@P&m&m&]>& _I@G>G&G& _G& _G& __ & _ >G$K& _ I@?G_I@GJQVBIGG&m&m&]>G&^GQVBH&m^GQVBIE&mI&m&m''p p* V +p 䁢?6A"`p@p`# p p* V +p 䁀B"A@O6=A@O6"`p@p`# mD6D6D6D6--D6D6"D@GG& _G& _G& _>G$& _ & _ I@G_I@P&m&m&]>& _I@G>G&G& _G& _G& __ & _ >G$K& _ I@?G_I@GJQVBIGG&m&m&]>G&^GQVBH&m^GQVBIE&mI&m&m''p p* V +p 䁢?6A"`p@p`# p p* V SS SS SET #(1)&:FF @WORD SS WORD #(2),#(3),#(4),#(5),#(6),#(7),#(8),#(9),#(10) ENDC ENDM SAVE END WORD VAL ENDC ENDC IFT SSS @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC ENDC ENDM TITL OAK ASSEMBLER DIRECTIVE = TEXT STRING * THE TEXT DIRECTIVE ASSEMBLES THE SAME AS THE OS4 BYTE * MACRO WITH THE ONLY DIFFERENCE BEING THAT EACH WORD * OF STORAGE GENERATED HAS ONLY THE LOWER BYTE FILLED. * TEXT MACRO BYTE MACENT IFT #(1,?) IFT #(1,'''')=1 STRING #(1) ENDC IFF #(1,'''' TITL LDSI B LDSI H LDSI W LDSI D STSI B STSI H STSI W STSI D LDSI STSI X LDSI HI LDSI D,B STACK :40,:20,:20 TITL LBLX EQU $ EXT EXT 8-3 INS TWO-THREE EXT THREE-TWO INS TWO-THREE-6 EXT TWO-THREE-5 EXT 33 EXT 1 INS TWO-FOUR EXT :F  INS INS LBLY-LBLX INS 1 INS :A INS START LBLY EQU $ TITL LDL 0 STL 1 ZRL 7 LDL 3-2 STL LBLX-LBLY ZRL LBLY-LBLX INL LBLX-FOUR LDL 2,3 INL -1 LDL -6 LDL LBLY STL -7 LDL THREE ZRL 8 INL :7F LDL :80 STL :7FFF ZRL :FFFFFF80 INL :FFFFFF7F STL LABEL1-LBLX LDL LABEL1-LBLX,S ZRL LABEL5-LBLX ZRL LABEL5-LBLX,S LDL :FFFF7FFF STL :00008000 TITL LABEL1 EQU $ RES :100 BCY THREE BLE LABEL1 BEQ TWO BGE THREE FAROFF EQU :10000 BHI FAROFF BGE THREE,TWO BLE THREE,S BLS TWO BEQ LABEL2 BGE LABEL1 BLT $ THREE EQU $ BMI THREE BHI LABEL2,S BNC THREE TWO EQU $ BNE THREE BNE TWO BHI FOUR JMP LABEL5 JAL LABEL5,S TITL LDLX W,TWO LDLI B,:0 LDLX H,-1 LDLI B,TWO-THREE STLX H,NEXT-TWO LDLI B,NEXT-LABEL2 STLI D,NEXT-LABEL2,S LDLX W,NEXT-FOUR STLI 60-10 STLI W,7 STLX D,-6 LDLI H,8 LDLX W,:7F LDLX D,NEXT STLI D,:80 STLX B,:7FFF LDLI W,:8000 LDLX D,:FFFFFF7F STLI B,:FFFFFF80 STLX H,:FFFF8000 LDLI D,:FFFF7FFF LDLX B,-7 LDLX B,LABEL5-START LDLX B,LABEL5-START,S TITL TRAP :0 WCS -1 TRAP :100 TRAP FOUR TRAP FOUR-TWO TRAP TWO-THREE WCS NEXT-TWO WCS 90-60 WCS :FF TRAP LABEL2 WCS LABEL4-NEXT EXIT EXIT 5 TITL LDG :00008000 STG :00007FFF LDGD :00000080 STG TWO STGD :0000007F FORD TWO-THREE LDG NEXT-TWO FORI LABEL4-NEXT LDGD LABEL4-NEXT,S STG 10-3 LDGA :8 LDLA :7 LDLD :1 LDG FOUR LDLD LABEL5-START LDLD LABEL5-START,S STG FOUR-TWO LDLD FORI 3,4 STLD 0 FORD -1 FORI -6 LDG -7 STG :FFFFFF80 LDGD :FFFFFF7F STGD :FFFF7FFF LDGA :FFFF8000 TITL ADDI :00010000 CMPI :0000FFFF ENTR :00000001 ADDI TWO-THREE SUBI TWO CMPI FOUR RELS THREE-TWO RESS LABEL4-NEXT RESS LABEL4-NEXT,S ADDI SUBI 3,LABEL4 ENTR NEXT-TWO SUBI 6-5 RELS :00000000 ADDI LABEL2 RESS :FFFFFFFF SUBI $ ENTR LABEL5-START CMPI LABEL5-START,S TITL LDI :80000000 LDI :7FFFFFFF LDI LDI 1,2 LDI FOUR-TWO LDI :1 LDI LABEL2 LDI TWO-THREE LDI LABEL4-NEXT LDI LABEL4-NEXT,M LDI LABEL4-NEXT,S LDI 8-3 LDI 0 LDI -1 LDI LABEL5-START LDI LABEL5-START,M LDI LABEL5-START,S LDI LABEL4,X TITL RES :100 LABEL2 WORD 0 LDPA LABEL2,M LDPA LABEL2,S LDPA LABEL2 LDPA LABEL4,X LDPA NEXT,M LDPA NEXT,S LDPA NEXT LDPA :300 LDPA LABEL1 LDPA LABEL1,S LDPA LABEL1,M LDPA LABEL5 LDPA LABEL5,M LDPA LABEL5,S TITL NEXT EQU $ CASE 2,LABEL2,LABEL2,LABEL4 CASE 1,NEXT,LABEL4 CASE 0,LABEL4 CASE 3,LABEL1,,LABEL4,NEXT LABEL4 EQU $ CASE 8,NEXT,NEXT,LABEL4,LABEL2,LABEL1,,,,NEXT CASE 2,,,,,,NEXT RES :2000 LABEL5 EQU $ * * * NOTE -- THIS LISTING MUST HAVE 70 ERRORS (285) *  17 WARNINGS (274) * * FINI LABEL4 ABEL2,S LDPA LABEL2 LDPA LABEL4,X LDPA NEXT,M LDPA NEXT,S LDPA NEXT LDPA :300 LDPA LABEL1 LDPA LABEL1,S LDPA LABEL1,M LDPA LABEL5 LDPA LABEL5,M LDPA LABEL5,S TITL NEXT EQU $ CASpge )gHǙP@Np+H@@+kGr @‡@kGza  Ay GJGG' C2‚' C3Aj'' g@SQEkG|y @Vne™@gy U eg'''e̢@gɇɾeâ@g؂''e: gge⮢@g 0]cie:ge:ge:g 0e,@ge  SOSILOb RKQ£ e: gje: gi"$ ~{ÿvLe:g e:gvde|O6'  w~s{rÿqovooZn㛀@Be:g 0e:؞gVSW|  F~DEENr 1Ce:؞g7* i5j| ,{((_v Fr@qAnke:؞gՀ\gр ‚xVu {LzKyJxHo@F' {~e:gB r}  j}.|*%'r \|.{*z%'q '#X1GPX2IPX3KPX4MPSI.OPSOQPLOSP2  )䭭        sr~twzv y|   ~  t  q  n( (  gef bc  `( (Z( (UTlOP  M   I( (Dr ?  =<    7( (3( (  +*k     ( ( %'%  ~   q  v      m( (   B:HC]] (ZZ   IK  U( (PqHJTL   )     B@?   df :    "  22nBq0net.*    # )( ( ^f !A( (܀            &,0NUgw1Vhx 3=4 5i|    (   @QK ]'c[P7\k{8WVy($%-)Z }    zy     t( (os kj    )    ( ( Q[( ( U( (Pc L  i  }     o     }  t sr)( (  .0   d( (     4AXV( (      @QIT/TG:JU#+7EV;L>WOWWX0Y<MZH[3\\I]]aZaa  ~   rx( (    run  st xl( ( _   e   W }K [  Q   e   I M( (AB (>?     :( (5qw6  4( (܀'  +     dQqQ bhnzVi)        s<  ~z Z~Xx g@u g'%'s g'%'p z } z w z q z GC tr       v    E    ba      ]    Ws         # $      G  -'  . . / 0 * 1 2       3  4  5E  6E ! 7 $ 8 & 9  : :T  ( < <ĠӠ ) B B j     i   u p u   CF     {    MF         PF          WF          ZF         _F          cF                ~ ' k  m  q  u        |             s  ' y                              $   ĠŠԠ Ҡ     vu    r   lu H E j  g     a`   Zx E  X  WW                 y    "   ! %p  &  '   ( " ), $ + +ԠǠΠԠ  B B     A     H M        L Vk C W E X  I Y M P S Z- K \ \ԠǠΠԠĠ O s sL R t t U u u1  z z    wt     p      i D   w       ]\     X    R( (Mn   FG I  B     B    {  ~          E          E      &   ůԠǠĠ   '&   ůԠǠĠ-   ԠǠΠԠĠ             !      %  k     + - e * , / dc    3 5  ]     ( (R( (Mg 4 J J IHF   N P  B    =( ( ( (3( (.c O i       !               r       +( (     % : U l     !  $   '  ) 2   x v  v  s+ ( (      u ' ; = V \ o  r   8 S  ? ^ n    D c   Y  E i  p   w    a   #  ӠĠϠ٠ 9  T   y   ΠҠŠ z               ) {  n m   h e  aj        ZY_      RS     Lp               C  E 8< 87=   . 0   0( (-)o / =  ҋ" & C!    E J         T U   S I  W   Z   R \   ]  ^ ^  _   P `  " 0 J a   b Y c  d 5 e  = f(  h hǭŠŠŠ  | |     u t     q     g    F       ] [( ( F }   #     K & +   A   -E 3     ; 6 ;   1    =F D      ( &( ( F   C Y      \ a)( (  g        g r)   t  # 3 Y u  ' 7 ] j v  + ; wE s x ( (        0 @    E   F    G   L '  O c y E             F C       R     Z         P       }n q      }  F          )  9  _    '   J     m              !                        ̠ҠΠ    !   !  U  W   2   ǠΠ B  ̠ҠǠΠ I  R l    ;    ǠҠΠ  ``  {  y   vv   ``    ```   ``#   ( (      X       NN `"`AF``BN ``C``D``E`,`2`F`F`6`<`G`G`G` `H``&`3`=`@`I ``#ߦ`'`J ``K`)`L `-`7`M`!`O`O Ϡ٠Ӡ`0`Z`:`Z`Z` RESUME  2``  y      o aa       +( (    YX   a!a# S( (Nsa"a, ` `[   A@   a9a;<   aa? a>a@  5     ( ( aM( (&ca:aT    aaX aWaY    `    acae     sadaXaan a?ao  )( ( `aw`axaaoayEaaz'aa aaaaEa{ava|    aqa~a  aana  a a aaIaa a=aLaga a a<aaaa a aa8aaFaGaaajaaaa&aNafa`Za,aa4a<aUaVaba`aCaaa aYa\ahaataEaa jaaa`aaaa`a/aa1aaa2aaaDaaa[aaLaxbb   v b    b b$       f   F b5a   [( ( aa   aNNM     F DubJbT =bCbV b&bW  )( (  )( (  b`Gbh 'bgbYbVb#bl&  bo(b!bp'b8bq'b)bLb-brbOrbrb0b7bsbsbbtbbub"b$bWbvEb(bwb*bxbnby!b1bzb;b{ab>b|bDb}bKb~b~abMbb\bcbEbhbb,bb!b4bb6bbb|bb.  }  {   on l( (h gf( (`( ( [( (  SRibbEbO( (I( ( B    ;;bb6 4Dbb 44bb'bbbbbbbbbbbbbbb bb bbbbbbbb b b ubbubb     rq   bb l( " (gsbb    ` b]\  Y  V  S  c CcIcFc bMoccK   FJcc  b   b :>cc&9   b5 b b   b $(c4c(c< b   b      cFFcICcM b b b b b   bcbbccEbcdQbceceEcacf  c`Hci    ckco cnchcq cLcr bcsbctbcubcc)cMcQcvc@cw crcx b cqc} cwc~ )(c( mob kb  cc'cc0c<ccc-c5cUcXc[cxcc"c8coccc}bzbwb       c  cccc          cccc      cAccc     cccc        ccc        ccc     cfclc{ccicccccbcc   ccc        ccc     c}c c~cccccccccbccccccccccbcc   ccc y  w     ddd o  m     d d de  b  dCd  dd  dddcccccccccdd  ccccccccdddd dd!dd"bdd#cd$cd$cd$d$cd%cd%cd%cd%cd%dd%dd%d%dd&d&d!d,d,  v u   d*p d*nm   d*gxd?dE C c` ]  ]       dRdUU   P ( (    d* ( (dadl  d*;:   d*4xdrdx dSdTdWady 1  .  +   dIyd dLd dOud dd d*!ndId{Od~Ld   d+dd   dxd.dddd     dd ddddQdQdVddd'd-dd4dPdXd[dbdgdd5d9d@dddldsdddFdEd]didEdddddddd-dddĠǠӠǠҠdӠΠƠddd,  N )( (       )( (              dJdCd   dDd )( (    de       dde )( ( de de de ee  e e )( (    ee    #         eee/     )( (  e.de; eeee<     eAeB  deDdeEEddddddee ee%e6eFEdee#e*eG dee'eHeCeI    eKe@eM   eJeLeQ)(r(       ) de&ea ddebdec de>eBeWeddeMeee`ef(^( eYePe;ek deel9e?emeIeene0ene[enendoeoeGeoeodpe)peaepepdqeceqeqeee-e:eVejeree/eZese!e2e]ete<euekevdexexغ羼羧e ee1eeeOee غۼݧe\eedeeuee  xw( (  p eCe ml   eegg   eebb      Z( ( ee S( (eeN_ee"J   e e  @A  ;  89  F F   / + ee '  $  F Fe   eef    ffffefeeeee ef f eeee ef ef f eef f eef f ef eeefEeeeeeefffefeefeefeefNULEOSSOHSTXETXEOTEOFENQACKBELDLEDC1DC2DC3DC4NAKSYNETBCANSUBESCDELBS HT LF NL VT FF CR SO SI EM FS GS RS US " "' '^ ^fff:  |  r q pn m  h ' +( ()( ( Y ' + ( ()( (  ( (  fGfB ' + ( ()( (  ( fg fg fg (  fJg (gffg  ' $"    gg ggg g-ggg    ' +( (gg" ' + ( (    fg1ffffg2 g0g3 *( (    g9g=  ' +( (    ffffggg)g5gCgJfffg'g/gK gIgL  gGgN  ggP'ffgSg2gQgQgKgRgRg:g<gHgMgTg=gUfgNgVfgOgWfgXfgXfgXggXg%gXg@gXgX h hcvhdhh   hgh  rrhh   ( (i   hh hh     gY   W hi )( (P    ih$ iIIii'hhihihihhi ighhߥi ighiigXhihihii ihii, 3i! Zi!ai!i!   i$   r   i0i1 i/i3mi.i4i4i"i5i%i6i)ߍi+i7ii,i8ii1i9 8i<i9i<i<    w    i:q     iKDiP    i:idb    iXDi]  \i=i`i?i^iaii@i]ibiiCicViLiYidiPieiEifiRififiFigiSigigiGihihiNijij ҠǠˠiOiwi\iwiwi[iyiy ҠǠd ii  ~ O ts   ii  il( (gqiifiiiiiiiEiihiiEbii   iw)( (  o  l   ifuiHiEi d      ii iiZ   iTxiEiiTiiiii'iiiiiihiiEiiiiiiiiĠӠcii#  A  i)( (   ik i   i  `  ]  jCiKjFj Z  W ( (      jj jjj iFj Rj Zjj j!    i >=   j+j-9    3( (.nj,j;,jj<Qj/j2=j=ij>ij?Eiijj@hijj.j5jAEijj߭jj!j#j*jBijjCj$jDj0jEcjHjH  N  jG   q jFm   j[j\i   j^j`  jZj_jcb    jeji\    jkjoV    jqju jtjnjhjbjwPjYjx0j]jy9jPjSjzjzjIj{jLj|EjMj}hjQj~jUjj`jrjjfjjljjujjjj!   j)( ( j)( (   jfe   j_xjj ]  Z     jRjJjGjP  M  jCj#J ( (    <      j0/   j)xjjVjj  j     jj   jBjjjjjjjjjjjjjjjjjhjjjjEjjj߱jjjjjjjjjjjjjjjjjjj ٠̮jkkjkjkkjk k !   k)( ( k)( (   kfe   k_xk%k+]   k.k/Y    k2k-k4   k Ok1k3k;M   k>% k?I   kAkCE ( (    7      k\ k+*   k$xk`kfTk=kBkg  k      kokq     ktBkpkrkwk,k<kx0k0k@ky7knkzkSkYk{k{k k|k kkk&kZkak}hkkkFk~EkkDkIߵkjklkk4kk7kgkkKkkTkkqkvkkskk6kkk ̠̠kOkkkPkkXkkjkk    ku k  o ( (  kd  k:klkk`     k F  kNkO ( (  kD  k:k k  < ( (  k1  k:klkk-  *   k    kLkIk k ( (  k  l:l     k   klkkkkkkkkkߴkkkklkkkkklhkkl lkkkklEll    ku s lPlXl Ul  p(q(kjk  l-:l.ek   ] kkll6kl7kl8 l5l9 (Z(TSk  lD:lEhl2lFK Ilk lkl8lNlN klLlOklPllQl l+l3lBlRklNlSklTlTllVlV ̠̠lOlolo   sr   lvlx m( (hslwl R b a +`]( (  VXTR     l6l     D     Flj l\l:( (  313     (&     l6l           Flj lll ( (        lpllull{llllll`ll ( (  lLl      llElllllllllmElm    m3m f c    llllmm llllmmllm m llm m lm llmm llmmm~  Flj mm)(M(  )(D(          um2m<    )(+(        mImP    mOmU )(( )((`mFma m5mKmRmbB ldldldldmdmmdmdlelemmememelflfmmfmfmflmglmgmmgmmgmglllllm mhmhlglmGmililmjljm$m-mkm&m=mllkm/m4m6m>mmlmm1m8m:mnlhm3m<mJmPm& om?mLmMmQmSmpmamqol7mummumu  |  zpox  mm&qkpj xy   msmt   xymsmtU( (   xy  HVmmHmmmmmmmmvmmmmmmmmmmmmmmmmmmmmjmm!   m)( ( m)( (   mfe   m_xmm  m    mTmm R ( (   mm   C      mm m6   /      mn  m    mxnn m n!n"  m     n*n,   n-Bn+n0mn1n19n)mn2nn2n2mn mn3nn3n3mn4mmmmnnn5hmmmn6Emmnߦn%n'n7mnn8mn9mn"n:mnn;mn n<mn=n,n>n/n?mnAnA ̠ؠ̮mnLmnLnnLnnLnLebnNn8nNnN    y|  nW nWnXx   nZn\ onVn[n^r   nanbn   ndnf en`nenhh   nknld   nnnp [njnonrZZe;791001111157791001111157791007175313e@791001111157791001111157791001111157e:' 791001111157791001111157791001111157e791001111157791001111157791001111157791001111157791001111157791001111157e!@7910011350292579100113504000791005135312de%*G7910071752167579100717525100791007175251de>&Jf7910011352580079100113530925791001135309d edg7910011353200079100113532475791001135324d(  eh:7910011353392579100113534350791001135343d ekt7910011353555079100113535950791001135359d elx7910011354107579100113541475791001135414d em$F7910011355335079100113554475791001135544de4hh7910031856295079100318564525791003185645de 7910020943182579100209432325791002094323de8 ) 7910011358525079100113591575791001135915d* + , - . / 0 . OAKSIM4 OBJOAKSIM SYSALAMOLIB LIB STRING LIB BINIO OBJ GETCRT OBJ PUTCRT OBJ ALAMOTABLESSYSOAK MACOAKMACTEST ASMALS SYSJREAD:FORREADF O0SEGMENTBLANK oaKRREAL GETN UPPER:CHKGET:NON:WSTR RUSR KRSTR RHEX ROCT KRBIN PTCH RDCH KREADD i0g12Z[\]^_`tt t t ttttttttttttttttttttt1 ttg &] >G GG$^ G^I@> ^ &}IG#g @%'GGQ V-GKGg @% 'GGJRVBmsgout]G& _ READF - FORMAT TOO LON G OR MISSING EOS b G& _I@t I^H &mIGI^ IGg @%'G~I GIPJGHGGrJ QAVBGiJQA VBG`JQAV GKGg @%'G LGHQVG @JQAVB)Ge& _ G3& _I@t ^G'G$QAV^  QAVGrKGo GfKGcg8 @%' GQVGJ QVBGPGLGFK GCg @%'GQ VG2JR VG) @.GG&G !KGGJSVB GJRAVB%G & _G& _G& _I@t Gg @%'GQ VOG& _I@t JQVBIGG KGg @%'Gl QV'I@(^ QAVGKGG KGg| @%'GG QVG^^   &m&m&]G4& _I@t G)J^SAV^ J RVBI^GJ QAVB*G:& __& _I@t ^QVBG#& _ ^& _I@t  ^&m^ @G^G &  _G4& _G-& _ G)& _ G& _  I@>^^H`@^@cQVBmsgoutNG& _ READF-INPUT DOES NOT MATCH FORMAT S G& _I@t^&m&mJREAD:REARREAL RAISE O0SEGMENTBLANK oKMAG PTCH RDCH KREADD igg &]I& _ I& _ I^ H^>& __ & _ IP& _I& _ I@t ^^H`@^@cQAVB  ^QVBH&m^ &m>& __& _I@t ^QAVB^&m^J QAVBH&m>& _ _& _I@t ^QAVB^&m^J SVBJ^JRAVB B>& _^& _I@t >& __ & _IP&  _I& _ I@t ^QAVB^^H`@^ @cQVBI^^ &m1^JQAVB)^ JQAVB!^JQA VB^JQAVBI ^>& _^& _I@t ^QVBL>& _ _& _I@t ^QAVB^&m^J QAVB ^JQAVB H&m>& __& _ IP& _H& _ I@t ^QAVB^&m_ _ I & _I@t ^B I_^@A^I @7__ __   \_\ _>~_B I_ ^^I@_ \~GI&m&mg &]>SAVB> @A^>^I&  _ ^RAV_>g$ \_^J^> SAVB I&  \__&m&mJREAD:NUMRBIN ROCT JREADD RHEX RNUM O0SEGMENTBLANK oKHEX:CH PTCH RDCH igg &]>^_ ^^I^ I@^>Q VB>_ G>_ @^ &m&mg &]>^_ ^^I^ I@^>Q VB>_ G>_ @^ &m&mg &]H^>& __ & _I@t ^QAVB^&m^ J QVBI^>JĆ ^ JQVB>J Ć>& _^ & _I@t >^_ ^^I ^ I@S^^ QVB _ @A Q _ >Q VB>_ G>_ @^&m&mg &]>^_ ^2 ^I^ I@^>Q VB>_ G>_ @^ &m&mg &] >I& GI^> & __& _I@t ^QAV^JQA VB^JQV^ JQV ^JQ V^JQVB> & _^& _I@t c^& _I@t ^I_RAVB9^ ^>J`@^ @cRAVB +^ QVB$^K^> ~G~n~ , ~~n~& ~ G^>̆ SVH^> & _^& _I@t M^ &m&m&] _O 6 GO6 _G &m@ .?H_ @AQ _ @_G ?hD @AQ O __ 6&+O __tO  B?1?1?1D @AQ &mJREAD:STRRSTR O0SEGMENTBLANK oKPTCH RDCH igg &] I^>& __& _I@t ^QAVc^JQA VBY^JQV^ JQV ^JQ V^JQVB> & _^& _I@t >^ @I%'"  >^ @^%'^K^^ >̆QVB >^ @ I%'^ &m&mJREAD:USERUSR O0SEGMENTBLANK oKRDCH igg &] >& _& _I@t^&m&mJWRITE:FOWRITEF O0SEGMENTBLANK oKWREAL UPPER:CHGETN KWUSR WRCH WSTR KWRTS WRTH WRTD KWRTO WRTB igDEFGHIJtt ttttttttttttt tttttttttttfg &] >GGG$^ G^I@> ^ &}IGg @%'GGQ V)GKGg @% 'GGJRVBMSGOUTGZ& _ WRITEF - FORMAT TOO LO NG OR MISSING EOS  GY& _I@t &mIGg_ @%' GIGIGIrg) C{IGyI gw)C{HGo GjQVGbJ QAVBG/& _GT& _I@t GJKGGg @%'G >G;KG8g @% 'G/QV|G' JQVBIlg#)C{ GKGg @%'G QV[I@ V^H`@^ @cQVJ G& _I@t GJQVBIG GKGg @%'G QV I@ ^H`@^ @cQV GKGg @%'G .&m&] GJQ VBI0g)C{GKG gl @%'GQ VBH&mGJSVB G|JRAVB'G J& _Go& _Gn& _I@t G_g3 @%'GVQ VBH&mGLJQ VBNGDKGAg @% 'G8QVG0 JSAVG'JR VBH&mG& _G & _G& _I@t Gg @%'GQ VBH&mI&m&m&]G & _I@t GJ^SAV^J RVBG& _G & _I@t I^@^ @G^G&  _G @.G_g )C~& _G& _ g )C~& _ G& _ G & _G& _I@ >^GKG^&m&mJWRITE:REWREAL REAL:TO:JMINIMUM O0SEGMENTBLANK oKUPPER:CHWRTS igg &]9>JQV > JQVBIE>Đ> G&__^^^ I@#>& __ & _& _& _  & _ & _ I@tI&m&mg &]>& _I@t >ĈI^RAVBI ^>K& _I& _ I@^I^>G& i_@`&  _ \A3 VB>^  @I-%'^ K^>G& G'>G&i~i~\ @QAVB%>G& g@~i~\ V>G&gB ~i~ \G'^J^>G& gB ~i~\A V>G&gB ~i~ \G'^K^> JQVB^ _^ @I_ I^_ _I  &  _\_  ^K^_ SV >G&__ _I&   _\_ \G'gB ~i~ \VB @ I>G'^K^>JQ VB@^SAVB9> ^ @I0%'>^ K @ I.%'^ K^^ SAVB ^_ ^H^>^ @ I0%'^ K^^J^_ RAVI^>G&  ^^ @^ K0%'^  K^>JQVB^ _QVB >^ @ I.%'^ K^>JQA VB^QVB > ^ @I.%'^ K^^ &   _ >G& \G' gB ~i~\G'^ K^_ SV >JQVB\^QA VBU>^ @IE%' ^ K^^SAVB^@A ^>^ @I-%'^ K^ Id^^ _RAV^  & GG^^ RAV >^ @^& _ K0% '^ K^^& _ @^^ &  G$^>^ @I%'&mg &]>G&g$&A VB>G&&m>G&&m&m JWRITE:NUWRTB WRTO JWRTH WRTN WNUM JWRTD  WDEC WSGN JMAG O0SEGMENTBLANK oyKWRCH PPAD igg &]>GQVB  >G&i~h~@AG' >^G&_g$)C~ ^>^g$ )C~^I& _ I^I@x&m&mg &]>GQVB  >G&i~h~@AG' >^G&_g$)C~ ^>^g$ )C~^I& _ I^I@=&m&mg &]>GmQVB  >G&i~h~@AG' >^G&_g$)C~ ^>^g$ )C~^I& _ I^I@&m&mg &]>^>G&_G&  _I@`@^@c^ >g$)C~JQVB+ >& _^ & _g$ ) C~& _I@t >^G&_G& _ ^I@.)>^ G&_G& _^ I@>& _^ & _ g$ )C~& _I@tI&m&mg &]>G&AV> G&_ G&i~n~& _  &@QA VB>^G&xqD jn0c O_G&_^ I@>G&_ G& i~n~&_  @AG'i ~n~&  @QVB>& _ G&i0~n~& _I@t >& _G&i ~n ~& iA~n~& _I@t&mg &]>G&AVB > G&@A Q _ I^ >G&_ I^^ ^_ _ I & _I@`@ ^@b^>_ ^>^G& _I@>g$ )C~JQVB%>&  _^ & _g$ )C~& _I@t >^_ _I@ (#>^_ _ I@>& _^ & _ g$ )C~& _I@tI&m&mg &] >G&AV> G&i ~n~& @QA VB>^G&i ~n ~ __I@ >& _G&i ~n~  Li0~n~& _I@t&mg &]>G&AVB> & _I-& _I@t&mg  &]I^>G&g$> G'@QV^K^ ^&m&m&] )&]  )? _@1B )1ߠA1RQ O3A !D @AQ . *+_G? 1A @& _Q? 1G V@? 1@@N_ H_ @AQ _G H @AQ _)? ?) J `h_O 6Bk|4 __O_&* __O_t ? 1__?1D @AQ &mJWRITE:USWUSR O0SEGMENTBLANK oKWRCH igg &]>& _& _I@tI&m&mJWRITE:STWRTS WSTR O0SEGMENTBLANK oKLEN:ST WRCH PPAD igg &]>& _I@t ^>RVB >_ SAVB>^ @ %' )C{>^ @I %'H^>_ ^ g$)C~JQVB> & _^ & _g$ )C~& _I@t >^^I@;> g$)C~JQVB> & _^ & _g$ )C~& _I@t ^ SVB>^ @~ > )C~> ~%'I&m&mg &] I^>^ @%' QV>& _^ @%'& _I@t^K^&mJTESTSUPPWRCH PPAD JINITSTACENSTACK DESTACK JRDCH PTCH GET:NON:JGETN O0SEGMENTBLANK olKPUTCH GETCH igg &]>& _& _I@t&mg &]>RAV> ^g$)C~^I@>JĄ&m&mg &]IGG @Ig% 'GJGQV&m&mg &]GJRAVBG @>>g$)C~>g% 'I^GKGH^^&m&mg &]GRVBG{ JGx> @~gp%' ~@I^H^^&m&mg &] >^I@^ H`@^ @cQVB> & _& _I@t^I^^&m&mg &]>g$)C~^I@z^&m&mg &] I^>^_^ I@^QAV0^ JQAVB^JQA VB^JQAVB ^ JQAVB^JQA VB>^@^&m&mg  &]>~ @%'J ~@>K @%' )C{JSAV )C~JRV>~ @ G^)C~J`@^ @b~@>&m&m JSTREAM:IPUTCH PUTC JGETCH GETC O0SEGMENTBLANK omKWRITE READ igg &] >NpĄ>& _G$ & _I& _I@t&m&mg&]STDOUT& G^>^I@&m&mg &]>& _& _I & __ & _ I@t ^QVB>@Nx@^ &m&mg&]STDIN_ G^>^I@&m&mJALAMO:IOCLOSE CRTND JDLTND OPEN READ JSEEK WRITE O0SEGMENTBLANK oKSVC igg &]I & _>& _I@t&m&mg &] I& _>& _& _I@t&m&mg &]I& _>& _I@t&m&mg &] IU& _>& _ & _& _ I@t&m&mg &]Id& _>& _ & _& _ & _ I@t&m&mg &]>G&Ix& _> & _& _^ & _ G&_ I@t&m&mg &] I& _>& _ & _& _ I@t&m&mJALAMO:SVSVC BEGINIO JENDIO MATCH:FIO0SEGMENTBLANK oPKFORT INITSTACDELETF KCREATF CLOSEF OPENF KIOF INITB MV:ST KUPPER:STLEN:ST EQ:ST KERROR:COOS4FILENi g.0  P<Ck8aip<eg &]I^^ @> @.?G& >G*^K^JRV H& G=>J QVBI@j d>JQVB I@S>JQ VBI@B> JQVB5 I@ 1>JQVB I@^ >J QVBI@N >JGQVB I@}G&m&m&]) G^I@jGW TGRQVB-Gt & _GF& _I@t G_I@t  & GG.J @ 'g )I%'I& G{&m &m&] )IGP)GM& _ G\& _I@t Gt & _)G7& _GF& _I@t GJ_I@t  & G?&m&m&])G& _ G$& _I@t Gt & _G& _I@t G_I@t  & G &m&m&] )G^ I@G)G & _G& _I@t Gt & _G& _G& _I@t G_I@t  & G@QVB3)G & _GZJ @ 'g ).G4& _I@t GDJ @ '~g). G4& _I@t  &m&m&] I^)gbI@) G]^I@+G )GORAV)G1J>  G-)g*@K@)g$^  @^%'^ K^I& G: ^& G4&m&m &]>JSAV> JRVBH&m> J @G JRVBLGt & _>G$& _G&  _G& _ J @G& _ I@t _ _I@t  ^QAVB^&m> J @IG>J @g ^ @I %'>J @~ g>J @G @%' ~@>@JQVB  >J @IQKG > J @GKGI&m&m&] )Gc^I@1GGt & _G& _Gs& _ )GF& _ )G@& _ I@t GX_I@t  & GM&m&m&] I^)G! ^I@G) GRAV,G^) g^ @%'^I@  ^^H`@^ @cQV ^K^)>)GJ>  G^& G&m&m&] >JSAV>J RVBH&m>J QAVB>J @g > J @G @>>>% '>JQV > J @GJQVBHGt & _>G$& _G&  _J @G& _ > J @G& _ I@t _ ^^>J @^G QAVBH^I^ >J @IG I^> J @GKG^&m&mg&] Gt& _I@tI@t )G^GN)GGI)G GD)GG?)GG :)GG5)G6G0) GhGX)GGS)G GN)GGI)GGD )GG?)G@G:I^ ^J @IQKG ^J @IG 2^K^JRV )gI)I%') gA )I%')g9)I% ')g1)I%'STDINc G& _)$g$).G4& _I@tSTDOUTx G& _)-~g).G4 & _I@tMSGOUT Gw& _)6~g).G4 & _I@t&m&mg &] I^I^I^Gt & __& _I@tGt & __& _I@tGt & __ & _I@t&m&mg &]I^>& _I@t  JRVBH^I&m >& __& _I@t _& _I@t  I^_& _^J @ ' ,gj).G4& _I@t  QV^J^RA VBH^I^^^^&m&m JSVC:SUPPOS4FILENERROR:COO0SEGMENTBLANK oigg &]I^>^ @I ^K ^JQV> )II^>^ @%' JQV>^ @% 'QV ^^IJ `@^@cSV>^ @>>~ @%6 '>~ ^K^>^ @%' JQVB7^K^IJ ^>^ @%'QV ^JSV> ^ @>>~^ @%'> ~^K^^K^I^  >^ @%'Q VBI^^^IJ`@ ^@cSVBH^^&m&mg &]>G&^GQ VBH^^GQ VBIE^I^^&m&m''JF:RDMY FORT O0SEGMENT  DATA o ;ig &]'DFH JLNPR TV'] &mg ~@ `+j@@k bUE@+kzJDELETF CREATF IIOF JOMAP IMAP CLOSEF JIOF OPENF INITB  O0SEGMENTBLANK oMKF:RDMY i  )gHǙP@Np+ H@@+kGr @‡@kGza  Ay  GJGGt'} C 2‚' C3Aj''  kg@SQEkGc y @Vn⃢@{ 1 'S*xg  ''' @ۂⷢ@Ԃ 'l'z: _⦢@ 0FLR::: ~}|>3@t SOSILO>  CIB£ :h:mg  \~{ÿvH::zhh{D+'\g  9~r{qÿpn vnnVm㘀@B: 0:ZXUZ{ g  ~DEEI 1C:>n:o|g  {,,\ v Fr@qAnk: Ӏ^Ѐ ‚yYvg  {OzNyMxKoCIt'g y~:B t} g  j}.|*%'rg  \|.{*z%'q'X1#@PX2%@PX3'@PX4)@PSI+@PSO-@PLO/@P2    No more available uni ts File not found--job abortedKoCIt'g y~:B t} g  j}.|*%'rg  \|.{*z%'q'X1#@PX2%@PX3'@PX4)@PSI+@PSO-@PLO/@P2  JSTRINGS ANY ANY:ST JCMP:SST CMP:ST EQ:SST JEQ:ST HEX:CH LOWER:CHJLOWER:SSLOWER:STMAP:CH JMV:SST MV:ST LEN:SST JLEN:ST UPPER:CHUPPER:SSJUPPER:STO0SEGMENTBLANK o^igg &]I^H^>^ @% 'QV>^ @% '>g$)c~@cQVB I^^K^^&m&mg &] I^H^>^ @% 'QV^QV >^ @%'^> ^I@^^K^^&m&mg &]> @%'^> @%'^^_SA VBH&m ^_R VBI&m^QV >KĄKĈI&m&mg &] >^I^^I^I@&m&mg &] >^^^^ I@QAVBH&mI&m&mg &] >^I^^I^I@&m&mg &]>^I7 @> ĂJSVB>^IA ^IF^I ^I@^ >^I0^I9^I^ I@m^^ >̂Q VBH^I^^ ^^ &m&mg &] >^IA^IZ^Ia^ I@F>Ă&m&mg  &] > @%'Q V#> @~>> @% '^IA^IZ^Ia^I @> ~ %'>KĄ&mg  &]>^I^I@&m&mg  &]>̂RAVB> ̆RAVB>̄ȈĂ>&m&mg  &]> @%'^> @^%'^QV >KĄKĈ&mg  &] >^I^^I^I@&m&mg &]I^> @%' QV >KĄ^K^^&m&mg &]>^I^I@&m&mg &] >^Ia^Iz^IA^ I@p>Ă&m&mg &] > @%'Q V#> @~>> @% '^Ia^Iz^IA^I @E> ~ %'>KĄ&mg &]>^I^I@&m&m  &]>̂RAVB> ̆RAVB>̄ȈĂ>&m&mg  &]> @%'^> @^%'^QV >KĄKĈ&mg  &] >^I^^I^I@&m&mg &]I^> @%' QV >KĄ^K^^&m&mg &]>^I^I@&m&mg &] >^Ia^Iz^IA^ I@p>Ă&m&mg &] > @%'Q V#> @~>> @%JBINIO EXIT ABORT JGETBY PUTBY READB JWRITEB SEEKW O0SEGMENTBLANK oKIOF FORT MATCH:FIig "g&] g&] g &]>& _I@tGGt & _G& _G& _ G& _ >& _ I@t G>~@Nx~@G_ I@&m&mg &]>& _I@tG>NpĄGt & _G& _G& _ G& _ >G$& _ I@t G}_I@&m&mg &]>& _I@tGbGt & _G[& _GR& _ >G$& _ & _ I@t GC_I@G8 QVB G1-> G)@>I@G!&m&mg &]>& _I@tGGt & _G& _G& _ >G$& _ & _ I@t G_I@P&m&mg &]>& _I@tG>G&Gt & _G& _G& _ _ & _ >G$K& _ I@t G_I@G JQVBIGG &m&m&]>G&^G QVBH&m^G QVBIE&mI&m&m''& _ I@t GC_I@G8 QVB G1-> G)@>I@G!&m&mg &]>& _I@tGGt & _G& _G& _ >G$& _ & _ I@t G_I@P&m&mg &]>& _I@tG>G&Gt & _G& _G& _ _ & _ >G$K& _ I@t G_I@G JQVBIGG &m&m&]>G&^G QVJGETCRT O0SEGMENTBLANK oig p p* V +p 䁢 ?6A"`p@p`# 7910011111577910011111577910011111578 JPUTCRT O0SEGMENTBLANK oig p p* V +p 䁀B "A@O6=A@O6"`p@p`# 791001111157791001111157791001111157=___CRk<g<P<{gk<I}[kOph4L:96\f"5UR}R:-RLRL:RRk{kgkkRikikIRH1"RRGZGZ<GW<G<G<GZGZGGZG)ZGGQAq<g<gn<gJJJZZn<A<AA<??GZ<ZZR[%Z<Q`K77gggQg`g7g`7gQgg`Qg` o<<<<^<<<33W<<<ZZ}< R^RRR^RR<Aq<<A<Ag<gZZ <oQQAq<g<gQ`K77gggQg`g7g`7gQgg`Qg`<<A<AA<?^*^*?**?**GvZ<)Z))Z)Z)Z)RsZ<W<Qiyyi[aa1aaaaa.<R<<pZppQgQg`gaaV<9 K7 gJ<p.#J7g7<<#<Z#m6<Z<ZR4&4&R4<Z<Zf<ZR]R5&5<Z5&R<<<ZRUR<ZQ`<\<<<bZbbR  |R,ZuRRaR7K0=$a64f5SZZ<S<R<RR1RRR[RV2ee:2:2RL:2R<292R1[OOR[lB[PPCIIIC1kIkIkIRkHGGG<%[Qg`ggg?gg??*^^W<<<ZZ*Wo******Qg`ggg?gg??***vvvvvv<)))s**ya<py: b#64&4f5&5,<SZybR |ummmmmmmmmmmmmSR1[ee22e1[Og'))''+ {|}tuvwyx    lvvggg"66666qr~|{sstuvwyxvv    ggg &# $%534..!01/2,,(--*p   ЀZZI<^EEQQMQOMSbȀ^\][iiii€ƀ||||wy|z|~||ZYjjj|%mÀĀ|Yʁ,,,р[܀݀|%  Ɓ Ɓ%%%% % %%"%#%++++++,88002Z6Y%%>W@BB<EE BASED BYTE INITSEM RETURN ~ TO <MVINT> |> <GDITEM>BREAK LOOP CALL <FSPEC> <CMD> ; <DITEM> <PROID> MOVE RETURNS REPEAT OFFSET XOR <DECLAR>ON <DITL> <TYPE> <MVSRC> INTERR LENGTH ROTR <LINIT> <COND> OF ENQUEUE STACK INITQE - ELIF IF ( & <DIMAT> PTR *** <COPTN> <IDLST> <ORGST> <ORGSP> <CHRSTR>* HALT END <STKSP> [ ; <EXPLST>WAIT NOT BSTRUC , <SEGHDR>INITQH BEFORE <EXAT> SEGMENT ] = {{ <CONTRM>INSERTB <NUMBER>ENABLE . ORIGIN *EOF* <COMOP> INIT LENTRY { ENTRY <LDECL> <MVSPC> <ATTR> <SUBRF> NEXTPAGE<MVCMD> PROC <ISEDL> DELETE <IDENT> <QREF> } DISABLE MOD <TERM> <|<| LDECL # <GATTR> > REAL <IITEM> <UNOP> <= <IFEND> SAR WORD <ISTYPE>OR BIT -> SLR <RELATN><INSP> <SEDL> <SRINT> NARGS | SIGNAL <REFER> <ENDST> ELSE <IFALT> GENTRY DBL <: <FTYPE> <BTYPE> LIKE SLL <FCALL> <COPYS> COPY ) <SG> <BOOLOP>LOCAL <GDLST> : FI >= <EXPR> AFTER <EXTPR> + STRUC DECLARE LSTRUC <CLST> < EXT AND FOR INSERTA <PROHDR><:= <IFCLA> <SEGID> :>= <| ... <SEGM> DEQUEUE <UNAT> :> <REAL> / NEXTQ THEN < <ITYPE> @ ROTL THEN DEQUEUE  XOR INIT SIGNAL  BEFORE AFTER  IF FI ELSE HALT ENABLE  PROC INSERT WORD BIT  STRUCTURE BASED INTERRUPTS RTNS INSERT_BEFORE SLL REPEAT TO  COPY REAL ROTR FOR AND LOCAL  MOD RETURN NEXTPAGE INITIAL  DBL ROTL NARGS  ELIF ENQUEUE INITSEMA RETURNS  OF BYTE  CALL BREAK  UNIV DECLARE ORIGIN NEXTQ  INITQE END DCL INSERT_AFTER ON WAIT INITQH LOOP  NOT UNIVERSAL OR  SAR LIKE EXTERNAL PROCEDURE OFFSET DELETE SLR SEGMENT STR MOVE  DOUBLE PTR  DISABLE LENGTH ENTRY EXT STACK $n]= :Lh}- f" 0{n94 3k6O&U\V}#_A.q51Ol~ !5Ut!=Qep,I_u/@\wJzoooacsegment headerLOCAL optionORIGIN specificationinitial symbol in a statementBREAK statement constructionPTR specificationINTERRUPT specificationHALT statementConditional construction / Unexpected FILOOP initiatorLOOP construction/ Unexpected REPEAT statementprocedure invocationstatement structureUnrecognised variable attributeBIT field length specificationIllegal value in an INITIAL listan INITIAL constructiondeclarationSTRUCTURE declarationDimension attribute specificationLIKE specificationMissing "("PROCEDURE headerFunction type specificationIDENTIFIER expectedstatement structureexpression"@" must be followed by or Unrecognizable expression elementexpression listCONDITIONAL structureEND statement structureUnexpected END statementprogram structureSymbol table hash table fullSystem Stack overflowProcessor Flag SyntaxLENGTH argumentLiteral table fullUnexpected EOFEND StatementSymbol table fullParameter list fullBlock pointer table overflowIllegally unsubscripted variableparameter declarationLOCAL stack nameSymbol table name pool fullUnexpected BREAK statementUnexpected REPEAT statementNARGS valid only in PROCEDUREspointer reference to non-BASED STRUCTUREREAL reference in a semaphore statementIllegal STRUCTURE referenceFunction return-value's type not specifiedAddress used as INITIAL value for BIT/BYTE/REALOFFSET specificationSTRUCTURE nesting table overflowundeclared ORIGIN identifier"[*]" may only be used with LIKECOPY OF specificationnsubscripted variableparameter declarationLOCAL stack nameSymbol table name pool fullUnexpected BREAK statementUnexpected REPEAT statementNARGS valid only in PROCEDUREspointer reference to non-BASED STRUCTUREREAL reference in a semaphore statementIllegal STRUCTURE referenceFunction return-value's type not specifiedAddress  SPACE 10 * * * * OOO AAA KKK KKK MMM MMM AAA CCC * OOO OOO AAA AAA KKK KKK MMMM MMMM AAA AAA CCC CCC * OOO OOO AAA AAA KKK KKK MMM M M MMM AAA AAA CCC CCC * OOO OOO AAAAAAAAA KKKKKK  MMM M MMM AAAAAAAAA CCC * OOO OOO AAA AAA KKK KKK MMM MMM AAA AAA CCC * OOO OOO AAA AAA KKK KKK MMM MMM AAA AAA CCC CCC * OOO AAA AAA KKK KKK ## MMM MMM AAAA AAA CCC * * LISTING # = 8 4 - 9 3 1 5 0 - 1 4 A 0 * SOURCE # = 8 4 - 9 3 1 5 0 - 2 7 A 0 * TITL OAK INSTRUCTION SET MACROS 84-93150-14 A0 TITL * opcode mnenomic format(s) PAGE * 00 NOP 1 12 * 01 NOT 1 12 * 02  AND 1 12 * 03 OR 1 12 * 04 XOR 1 13 * 05 INC 1  12 * 06 DEC 1 12 * 07 NEG 1 12 * 08 ADD 1 12 * 09 SUB >  1 13 * 0A CMP 1 12 * 0B MULT 1 12 * 0C DIV 1 12 * 0D  DEL 1 12 * 0E DUP 1 12 * 0F DUPD 1 12 * 10 EXCW 1  12 * 11 EXCD 1 12 * 12 ZERO 1 13 * 13 ONE 1 12 * 14 ONES  1 12 * 15 SXTB 1 13 * 16 SXTH 1 13 * 17 SXTW 1 13 * 18  SAR 1 12 * 19 SHR 1 13 * 1A SHL 1 13 * 1B ROR 1  12 * 1C ROL 1 12 * 1D CIRC 1 12 * 1E ADDC 1 12 * 1F EXCWD  1 12 * 20 EXCDW 1 12 * 21 - - - * 22 - - - * 23  - - - * 24 - - - * 25 - - - * 26 - - - * 27 - - - * 28 - - - * 29 SCMP 1 12 * 2A MOVE 1  12 * 2B TXLT 1 13 * 2C SRCH 1 13 * 2D ENQ 1 12 * 2E RQE 1 12 * 2F DEQ 1 12 * 30 LDSI B 1 25 * 31 LDSI H 1 25 * 32 LDSI W 1 25 * 33 LDSI D 1 25 * 34-35 FORI 2,3 23 * 36-37 FORD 2,3 23 * 38-39 ENTR 2,3 28 * 3A-3B EXIT 2,3 19 * 3C SGNL 1 12 * 3D WAIT 1 13 * 3E TRAP 2 18 * 3F LCXT 1 12 * 40 STSI B 1 25 * 41 STSI H 1 25 * 42 STSI W 1 25 * 43 STSI D 1 25 * 44-46 LDI 2,3,5 30 * 47 WCS 2 18 * 48-49 ADDI 2,3 28 * 4A-4B SUBI 2,3 28 * 4C-4D  CMPI 2,3 28 * 4E-4F RESS 2,3 28 * 50-51 RELS 2,3 28 * 52-53 EXT 1,2 26 * 54-55 INS 1,2 26 * 56 JSI 1 12 * 57 CASE 2 38 * 58-5A LDPA 2,3,5 34 * 5B SPIN 1 13 * 5C-5D EXTS 1,2 26 * 5E - - - * 5F  2X INSTS. 2X 5,14-15 * 60-61 BPL 2,3 8 * 62-63 BMI 2,3 8 * 64-65 BNE 2,3  8 * 66-67 BEQ 2,3 8 * 68-69 BNO 2,3 8 * 6A-6B BOV 2,3 8 * 6C-6D BNC 2,3 8 * 6E-6F BCY 2,3 8 * 70-71 BGT 2,3 8 * 72-73 BLE 2,3 8 * 74-75 BGE 2,3 8 * 76-77 BLT 2,3 8 * 78-79 BHI 2,3 8 * 7A-7B BLS 2,3 8 * 7C-7D JMP 2,3 8 * 7E-7F JAL 2,3 8 * 80-8F LDL 1A,2,3 21 * 90-9F STL 1A,2,3  21 * A0-AF ZRL 1A,2,3 21 * B0-BF INL 1A,2,3 21 * C0-C1 LDG 2,3 23 * C2-C3 STG  2,3 23 * C4-C5 LDGD 2,3 23 * C6-C7 STGD 2,3 23 * C8-C9 LDLA 2,3 23 * CA-C? B LDGA 2,3 23 * CC-CD LDLD 2,3 23 * CE-CF STLD 2,3 23 * D0-D1 LDGX B 2,3  16 * D2-D3 LDGX H 2,3 16 * D4-D5 LDGX W 2,3 16 * D6-D7 LDGX D 2,3 16 * D8-D9 STGX B  2,3 16 * DA-DB STGX H 2,3 16 * DC-DD STGX W 2,3 16 * DE-DF STGX D 2,3 16 * E0-E1 LDLI B 2,3 16 * E2-E3 LDLI H 2,3 16 * E4-E5 LDLI W 2,3 16 * E6-E7 LDLI D 2,3  16 * E8-E9 STLI B 2,3 16 * EA-EB STLI H 2,3 16 * EC-ED STLI W 2,3 16 * EE-EF STLI D 2,3 16 * F0-F1 LDLX B 2,3 16 * F2-F3 LDLX H 2,3 16 * F4-F5 LDLX W 2,3 16 * F6-F7 LDLX D 2,3 16 * F8-F9 STLX B 2,3 16 * FA-FB STLX H 2,3 16 * FC-FD STLX W 2,3  16 * FE-FF STLX D 2,3 16 * * 2X INSTRUCTIONS * 5F00 CDI 2X 14 * 5F01 CFI 2X  14 * 5F02 CID 2X 14 * 5F03 CIF 2X 14 * 5F04 DADD 2X 14 * 5F05 DCMP  2X 14 * 5F06 DSUB 2X 14 * 5F07 FADD 2X 14 * 5F08 FCMP 2X 14 * 5F09 FDIV 2X 14 * 5F0A FMULT 2X 14 * 5F0B FSUB 2X 15 * TITL SPECIAL MACROS -- TABLE OF CONTENTS -- * * NOTE: P1 => PARAMETER #1, P2 => PARAMETER #2, ETC. * * NAME OF MACRO PAGE * * LIMIT  42 * MEMR 47 * BHWD 48 * VALU 49 * NOPR 50 * UND:::M  51 * UND:::V 53 * * * OAK ASSEMBLER DIRECTIVES * * OAK 43 * STACK 44 *  FINI 46 * BYTE 54 * TEXT 54 * STRING 54 * HALF 55 * WORD 55 * TITL OPCODE MACROS * BRANCH INSTRUCTIONS * BCY MACRO :6E BRANCH IF CARRY BEQ MACENT :66 BRANCH IF ZERO BGE MACENT :74 GREATER OR EQUAL BGT MACENT :70 GREATER THAN BHI MACENT :78 HIGHER BLE MACENT :72 LESS OR EQUAL BLS MACENT :7A LOWER OR SAME BLT MACENT :76 LESS THAN BMI MACENT :62 NEGATIVE BNC MACENT :6C NO CARRY BNE MACENT :64 NOT ZERO BNO MACENT :68 NO OVERFLOW BOV MACENT :6A OVERFLOW BPL MACENT :60 POSITIVE JMP MACENT :7C UNCONDITIONAL JAL MACENT :7E BRANCH & LINK NOPR 1,2,#(?) S2 SET $ SL SET 0 IFT #(?)=2 SL SET #(2,'S') IFT #(2,?)<>1 SL SET 0 ENDC IFF SL NOTE E,#(2)-ILLEGAL-OPERAND ENDC  ENDC SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFT SSS S5 SET #(1,1,8) S2 SET S5-S2 LIMIT S3,M16MB,S2,M16PT IFF S3 @WORD #(0);1 @WORD 0 @WORD 0 NOTE E,MEMORY-REFERENCE-RANGE-ERROR ENDC IFT S3 LIMIT S4,M8MB,S2,M8PT IFT S4 @WORD #(0) @WORD S2&:FF ENDC IFF S4 @WORD #(0);1 @WORD S2%-8&:FF @WORD S2&:FF ENDC ENDC ENDC IFF SSS @WORD #(0);1 @WORD 0,0 NOTE E,ABSOLUTE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS IFT PASS1 IFT SL @WORD #(0) @WORD 0 ENDC IFF SL @WORD #(0);1 @WORD 0,0 ENDC ENDC IFT PASS2 IFT SSU IFF SL @WORD #(0);1 @WORD 0 @WORD 0 ENDC IFT SL @WORD #(0) @WORD 0 ENDC NOTE E,UNDEFINED-OPERAND ENDC IFF SSU IFT SSS S5 SET #(1,1,8) S2 SET S5-S2 @ LIMIT S3,M16MB,S2,M16PT LIMIT S4,M8MB,S2,M8PT IFT S3 IFT SL @WORD #(0) @WORD S2&:FF IFF S4 NOTE E,REMOVE-LENGTH-SUPPRESSION ENDC ENDC IFF SL @WORD #(0);1 @WORD S2%-8&:FF @WORD S2&:FF IFT S4 NOTE W,WILL-FIT-IN-SHORT-FORMAT ENDC ENDC ENDC IFF S3 @WORD #(0);1 @WORD 0,0 NOTE E,MEMORY-REFERENCE-RANGE-ERROR ENDC ENDC IFF SSS IFT SL @WORD #(0) @WORD 0 ENDC IFF SL @WORD #(0);1 @WORD 0,0 ENDC NOTE E,ABSOLUTE-EXPRESSION-ILLEGAL ENDC ENDC ENDC ENDC ENDM TITL FORMAT 1 INSTRUCTIONS * * FORMAT 1 INSTRUCTIONS * ADD MACRO :08 ADDC MACENT :1E AND MACENT :02 JSI MACENT :56 BRANCH STACK INDIRECT CIRC MACENT :1D CMP MACENT :0A DEC MACENT :06 DEL MACENT :0D DEQ MACENT :2F DIV MACENT :0C DUP MACENT :0E DUPD MACENT :0F ENQ MACENT :2D EXCW MACENT :10 EXCD MACENT :11 EXCDW MACENT :20 EXCWD MACENT :1F INC MACENT :05 LCXT MACENT :3F ONES MACENT :14 MOVE MACENT :2A MULT MACENT :0B NEG MACENT :07 NOP MACENT :00 NOT MACENT :01 ONE MACENT :13 OR MACENT :03 ROL MACENT :1C ROR MACENT :1B RQE MACENT :2E SAR MACENT :18 SCMP MACENT :29 SGNL MACENT :3C SHL MACENT :1A SHR MACENT :19 SPIN MACENT :5B SRCH MACENT :2C SUB MACENT :09 SXTB MACENT :15 SXTH MACENT :16 SXTW MACENT :17 TXLT MACENT :2B WAIT MACENT :3D XOR MACENT :04 ZERO MACENT :12 @WORD #(0) ENDM TITL * * * FORMAT 2X INSTRUCTIONS * CDI MACRO @WORD :5F,0 ENDM CFI MACRO @WORD :5F,1 ENDM CID MACRO @WORD :5F,2 ENDM CIF MACRO @WORD :5F,3 ENDM DADD MACRO @WORD :5F,4 ENDM DCMP MACRO @WORD :5F,5 ENDM DSUB MACRO @WORD :5F,6 ENDM FADD MACRO @WORD :5F,7 ENDM FCMP MACRO @WORD :5F,8 ENDM FDIV MACRO @WORD :5F,9 ENDM FMULT MACRO @WORD :5F,:A ENDM FSUB MACRO @WORD :5F,:B ENDM TITL * LDLI MACRO :E0 LDLX MACENT :F0 STLI MACENT :E8 STLX MACENT :F8 LDGX MACENT :D0 STGX MACENT :D8 NOPR 2,3,#(?) SL SET 0 IFT #(?)=3 SL SET #(3,'S') IFT #(3,?)<>1 SL SET 0 ENDC IFF SL NOTE E,#(3)-ILLEGAL-PARAMETER ENDC ENDC SSS SYMATT #(2) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFF SSS BHWD #(1) MR SYMVAL #(2) LIMIT MR0,M16MB,MR,M16PT IFF MR0 @WORD #(0) @WORD 0 @WORD 0 NOTE E,OPERAND-RANGE-ERROR ENDC IFT MR0 MR1 SET MR1;#(0) MEMR MR1,MR LIMIT MR2,M4MB,MR,M4PT IFT MR2 @WORD MR1 @WORD MR&:FF ENDC ENDC ENDC IFT SSS @WORD #(0) @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS BHWD #(1) @WORD #(0);MR1 UND:::M #(2),M16MB,M16PT,M8MB,M8PT ENDC ENDM TITL TRAP MACRO :3E WCS MACENT :47 NOPR 1,1,#(?) SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1  ENDC ENDC SSS SET SSS&:4000 IFF !SS @WORD #(0) IFF SSS VAL SYMVAL #(1) LIMIT VAL0,0,VAL,:FF IFF VAL0 @WORD 0 NOTE E,EXPRESSION-RANGE-ERROR ENDC IFT VAL0 @WORD VAL ENDC ENDC IFT SSS @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS @WORD #(0) UND:::V #(1),0,:FF ENDC ENDM TITL EXIT MACRO :3A NOPR 0,1,#(?) IFT #(?)=1 SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS @WORD #(0)+1 IFF SSS VAL SYMVAL #(1) LIMIT VAL0,0,VAL,:FF IFF VAL0 @WORD 0 NOTE E,EXPRESSION-RANGE-ERROR ENDC IFT VAL0 @WORD VAL ENDC ENDC IFT SSS @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS @WORD #(0)+1 UND:::V #(1),0,:FF ENDC ENDC IFT #(?)=0 @WORD #(0) ENDC EA NDM TITL LDL MACRO :80 ZRL MACENT :A0 STL MACENT :90 INL MACENT :B0 NOPR 1,2,#(?) SL SET 0 IFT #(?)=2 SL SET #(2,'S') IFT #(2,?)<>1 SL SET 0 ENDC IFF SL NOTE E,#(2)-ILLEGAL-OPERAND ENDC ENDC SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFF SSS MR SYMVAL #(1) LIMIT MR0,M16MB,MR,M16PT IFF MR0 @WORD #(0);9  @WORD 0 @WORD 0 NOTE E,OPERAND-RANGE-ERROR ENDC IFT MR0 LIMIT MR1P,M4PB,MR,M4PT LIMIT MR1M,M4MB,MR,M4MT MR1 SET MR1P;MR1M IFT MR1 @WORD MR&:F;#(0) ENDC IFF MR1 LIMIT MR2,M8MB,MR,M8PT IFT MR2 @WORD #(0);8 @WORD MR&:FF ENDC IFF MR2 @WORD #(0);9 @WORD MR%-8&:FF @WORD MR&:FF ENDC ENDC ENDC ENDC IFT SSS @WORD #(0);9 @WORD 0,0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS IFT SL @WORD #(0);8 ENDC IFF SL @WORD #(0);9 ENDC UND:::M #(1),M16MB,M16PT,M8MB,M8PT ENDC ENDM TITL LDG MACRO :C0 STG MACENT :C2 LDGD MACENT :C4 STGD MACENT :C6 LDGA MACENT :CA LDLA MACENT :C8 LDLD MACENT :CC STLD MACENT :CE FORD MACENT :36 FORI MACENT :34 NOPR 1,2,#(?) SL SET 0 IFT #(?)=2 SL SET #(2,'S') IFT #(2,?)<>1 SL SET 0 ENDC IFF SL NOTE E,#(2)-ILLEGAL-OPERAND ENDC ENDC SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFF SSS MR SYMVAL #(1) LIMIT MR0,M16MB,MR,M16PT IFF MR0 @WORD #(0) @WORD 0 @WORD 0 NOTE E,OPERAND-RANGE-ERROR ENDC IFT MR0 MEMR #(0),MR LIMIT MR2,M4MB,MR,M4PT IFT MR2 @WORD #(0) @WORD MR&:FF ENDC ENDC ENDC IFT SSS @WORD #(0) @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS IFT SL @WORD #(0) ENDC IFF SL @WORD #(0);1 ENDC  UND:::M #(1),M16MB,M16PT,M8MB,M8PT ENDC ENDM SPACE 10 LDSI MACRO :30 STSI MACENT :40 NOPR 1,1,#(?) BHWD #(1) MR1 SET MR1%-1;#(0) @WORD MR1 ENDM TITL EXT MACRO :52 EXTS MACENT :5C INS MACENT :54 NOPR 0,1,#(?) IFT #(?)=0 @WORD #(0) ENDC IFT #(?)=1 SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFF SSS S1 SYMVAL #(1) IFT S1=1 @WORD #(0) ENDC IFF S1=1 @WORD #(0);1 LIMIT S2,2,S1,32 IFT S2 S1 SET S1-1 @WORD S1 ENDC IFF S2 @WORD 0 NOTE E,EXPRESSION-RANGE-ERROR ENDC ENDC ENDC IFT SSS @WORD #(0);1 @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS @WORD #(0);1 VAL SYMVAL #(1) VAL SET VAL-1 IFF VAL @WORD 0 NOTE W,WILL-FIT-IN-SHORTER-FORMAT ENDC IFT VAL  UND:::V VAL,1,31 ENDC ENDC ENDC ENDM TITL ADDI MACRO :48 CMPI MACENT :4C ENTR MACENT :38 RELS MACENT :50 RESS MACENT :4E SUBI MACENT :4A NOPR 1,2,#(?) SL SET 0 IFT #(?)=2 SL SET #(2,'S') IFT #(2,?)<>1 SL SET 0 ENDC IFF SL NOTE E,#(2)-ILLEGAL-OPERAND ENDC ENDC SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFF SSS VAL SYMVAL #(1) LIMIT VAL0,0,VAL,:FFFF IFF VAL0 @WORD #(0);1 @WORD 0 @WORD 0 NOTE E,EXPRESSION-RANGE-ERROR ENDC IFT VAL0 VALU #(0),VAL ENDC ENDC IFT SSS @WORD #(0);1 @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS IFT SL @WORD #(0) ENDC IFF SL @WORD #(0);1 ENDC UND:::M #(1),0,:FFFF,0,:FF ENDC ENDM TITL LDI MACRO :44 NOPR 1,2,#(?) SL SET 0 IFT #(?)=2 SM SET #(2,'S') IFT SM SL SET 1 ENDC SM SET #(2,'M') IFT SM SL SET 2 ENDC IFT #(2,?)<>1 SL SET 0 ENDCB  IFF SL NOTE E,#(2)-ILLEGAL-OPERAND ENDC ENDC SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC  ENDC SSS SET SSS&:4000 IFF !SS IFF SSS VAL SYMVAL #(1) IFT VAL<:0 VAL2 SET 0 VAL3 SET 0 ENDC IFF VAL<:0 LIMIT VAL2,0,VAL,:FF LIMIT VAL3,:FF,VAL,:FFFF ENDC IFT VAL2 @WORD #(0) @WORD VAL&:FF ENDC IFT VAL3 @WORD #(0);1 @WORD VAL%-8&:FF @WORD VAL&:FF ENDC IFF VAL2 IFF VAL3 @WORD #(0);2 @WORD VAL%-24&:FF @WORD VAL%-16&:FF @WORD VAL%-8&:FF @WORD VAL&:FF ENDC ENDC ENDC IFT SSS @WORD 0 @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC IFT !SS IFT SL=1 @WORD #(0) ENDC IFT SL=2 @WORD #(0);1 ENDC IFF SL @WORD #(0);2 ENDC IFT PASS1 IFF SL @WORD 0 @WORD 0 ENDC IFF SL=1 @WORD 0 ENDC @WORD 0 ENDC IFT PASS2 IFT SSU IFF SL @WORD 0 @WORD 0 ENDC IFF SL=1 @WORD 0 ENDC @WORD 0 NOTE E,UNDEFINED-OPERAND ENDC IFF SSU IFF SSS VAL SYMVAL #(1) LIMIT VAL0,0,VAL,:FFFF IFF SL @WORD VAL%-24&:FF @WORD VAL%-16&:FF @WORD VAL%-8&:FF @WORD VAL&:FF IFT VAL0 NOTE W,WILL-FIT-IN-SHORTER-FORMAT ENDC ENDC LIMIT VAL1,0,VAL,:FF IFT SL=2 @WORD VAL%-8&:FF @WORD VAL&:FF IFT VAL1 NOTE W,WILL-FIT-IN-SHORT-FORMAT ENDC IFF VAL0;VAL1 NOTE E,REMOVE-LENGTH-SUPPRESSION ENDC ENDC IFT SL=1 @WORD VAL&:FF IFF VAL1 NOTE E,USE-LONGER-FORMAT ENDC ENDC ENDC IFT SSS IFF SL @WORD 0 @WORD 0 ENDC IFF SL=1 @WORD 0 ENDC  @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC ENDC ENDC ENDM TITL LDPA MACRO :58 NOPR 1,2,#(?) SL SET 0 IFT #(?)=2 SM SET #(2,'S') IFT SM SL SET 1 ENDC SM SET #(2,'M') IFT SM SL SET 2 ENDC IFT #(2,?)<>1 SL SET 0 ENDC IFF SL NOTE E,#(2)-ILLEGAL-OPERAND ENDC ENDC SSS SYMATT #(1) SSU SET SSS&:A0 IFT PASS1 !SS SET 0 IFT SSU !SS SET 1 ENDC ENDC SSS SET SSS&:4000 IFF !SS IFT SSS S1 SET $ S2 SET #(1,1,8) S2 SET S2-S1 LIMIT S3,M16MB,S2,M16PT LIMIT S4,M8MB,S2,M8PT IFF S3 @WORD #(0);2 @WORD S2%-24&:FF @WORD S2%-16&:FF @WORD S2%-8&:FF @WORD S2&:FF ENDC IFT S3 IFF S4 @WORD #(0);1 @WORD S2%-8&:FF ENDC IFT S4 @WORD #(0) ENDC @WORD S2&:FF ENDC ENDC IFF SSS @WORD #(0);2 @WORD 0,0,0,0 NOTE E,ASOLUTE-EXPRESSION-ILLEGAL  ENDC ENDC IFT !SS IFT SL=1 @WORD #(0) ENDC IFT SL=2 @WORD #(0);1 ENDC IFF SL @WORD #(0);2 ENDC IFT PASS1 IFF SL @WORD 0 @WORD 0 ENDC IFF SL=1 @WORD 0 ENDC @WORD 0 ENDC IFT PASS2 IFT SSU IFF SL @WORD 0 @WORD 0 ENDC IFF SL=1 @WORD 0 ENDC @WORD 0 NOTE E,UNDEFINED-OPERAND ENDC IFF SSU IFT SSS S2 SET $ S5 SET #(1,1,8) S2 SET S5-S2 LIMIT S3,M16MB,S2,M16PT LIMIT S4,M8MB,S2,M8PT IFF SL @WORD S2%-24&:FF @WORD S2%-16&:FF @WORD S2%-8&:FF @WORD S2&:FF IFT S3 NOTE W,WILL-FIT-IN-SHORTER-FORMAT ENDC ENDC IFT SL=2 @WORD S2%-8&:FF @WORD S2&:FF IFT S4 NOTE W,WILL-FIT-IN-SHORT-FORMAT ENDC IFF S3;S4 NOTE E,REMOVE-LENGTH-SUPPRESSION ENDC ENDC IFT SL=1 @WORD S2&:FF IFF S4 NOTE E,USE-LONGER-FORMAT ENDC ENDC ENDC IFF SSS IFF SL @WORD 0 @WORD 0 ENDC IFF SL=1 @WORD 0 ENDC @WORD 0 NOTE E,ABSOLUTE-EXPRESSION-ILLEGAL ENDC ENDC ENDC ENDC ENDM TITL CASE MACRO :57 S4 SET $ @WORD #(0) S1 SYMVAL #(1) LIMIT S2,1,S1,:100 IFF S2 NOTE E,FIRST-OPERAND-ILLEGAL ENDC IFT S2 @WORD S1-1&:FF S1 SET S1+2 IFF S1=#(?) NOTE E,ILLEGAL-NUMBER-OF-OPERANDS ENDC IFT S1=#(?) SA SET $ SA SET SA&1 IFC T SA @WORD 0 ENDC S3 SET 2 CASE2 #(S3),#(S1) S6 SET #(S1,1,8) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 IFT S3<=S1 CASE2 #(S3),#(S1) CASE1 ENDC ENDC ENDC ENDC ENDC ENDC ENDC ENDC ENDC ENDC  ENDC ENDC ENDM SPACE 10 CASE1 MACRO S5 SET S5-S4 SE SET S6-S4 IFT S3=0 L2 SET LU-LX L2 SET L2>=0 #(1) SET L1&L2 ENDM TITL OAK ASSEMBLER DIRECTIVE = OAK * * THIS DIRECTIVE HAS NO PARAMETERS. THE OAK DIRECTIVE * MUST PRECEDE ANY EXECUTABLE MNEMONICS IN THE USER PROGRAM. * OAK MACRO NAM STK:PTR NAM LO:STACK NAM GLOBAL NAM FRAME NAM HI:STACK PASS1 SET -1 IFT PASS2 PASS1 SET 0 ENDC @WORD GLOBAL @WORD FRAME @WORD STK:PTR @WORD LO:STACK @WORD HI:STACK ORG $-5 ENDM TITL OAK ASSEMBLER DIRECTIVE = STACK * STACK (P1),(P2),(P3),(P4) * * THE STACK DIRECTIVE ALLOCATES STACK SPACE FOR THE USER * PROGRAM. THE CURRENT LOCATION OF THE PROGRAM POINTER * IS THE LOW LIMIT OF THE STACK (LO:STACK). * P1 SPECIFIES THE SIZE OF THE STACK (IN 32 BIT WORDS). * P2 (IF PRESENT) SPECIFIES THE RELATIVE OFFSET FROM * LO:STACK THAT THE GLOBAL POINTER WILL POINT TO. * (IF NOT PRESENT) THE GLOBAL POINTER WILL POINT * TO LO:STACK. * P3 (IF PRESENT) SPECIFIES THE RELATIVE OFFSET FROM * LO:STACK THAT THE FRAME POINTER WILL POINT TO. * (IF NOT PRESENT) THE FRAME POINTER WILL POINT * TO LO:STACK. * P4 (IF PRESENT) SPECIFIES THE RELATIVE OFFSET FROM * LO:STACK THAT THE STACK POINTER WILL POINT TO. * (IF NOT PRESENT) THE STACK POINTER WILL POINT *  TO LO:STACK. * STACK MACRO S1 SYMVAL #(1) IFT #(?)<4 S:::PTR SET $ ENDC IFT #(?)<2 G:::PTR SET $ F:::PTR SET $ ENDC IFT #(?)=2 G:::PTR SYMVAL #(2) G:::PTR SET G:::PTR*4+$ F:::PTR SET $ ENDC IFT #(?)>2 G:::PTR SYMVAL #(2) F:::PTR SYMVAL #(3) G:::PTR SET G:::PTR*4+$ F:::PTR SET F:::PTR*4+$ ENDC IFT #(?)=4 S:::PTR SYMVAL #(4) S:::PTR SET S:::PTR*4+$ ENDC IFT #(?)>0 IFT S1<>0 S1 SET S1*4 ENDC IFT S1=0 S1 SET :100 ENDC ENDC IFT #(?)=0 S1 SET :100 ENDC STACK::A G:::PTR,F:::PTR,S:::PTR RED S S1,0 STACK::B ENDM SPACE 5 STACK::A XMACRO GLOBAL EQU #(1) FRAME EQU #(2) STK:PTR EQU #(3) LO:STACK EQU $ ENDM SPACE 5 STACK::B XMACRO HI:STACK EQU $ ENDM TITL OAK ASSEMBLER DIRECTIVE = FINI * FINI (P1) * * THE FINI ASSEMBLER DIRECTIVE SPECIFIES THE PHYSICAL END * OF THE USER PROGRAM. THIS DIRECTIVE IS SIMILAR TO THE * NM4 END DIRECTIVE AND IS REQUIRED FOR ALL OAK PROGRAMS. * * P1 IS AN OPTIONAL EXECUTION ADDRESS. * FINI MACRO FINI SET #(1) NOTE PASS2 SET 1 END #(1) ENDM  SPACE 5 * CONSTANTS FOR SPECIAL MACROS SPACE 2 M4PT SET :7 M4PB SET :0 M4MT SET -1 M4MB SET -6 M8PT SET :7F M8PB SET M4PT+1 M8MT SET M4MB-1 M8MB SET :FFFFFF80 M16PT SET :7FFF M16PB SET M8PT+1 M16MT SET M8MB-1 M16MB SET :FFFF8000 TITL SPECIAL MACRO = MEMR * MEMR P1,P2 * * THE MEMR MACRO PRODUCES OBJECT CODE FOR FORMAT TYPE 2 & 3 * MEMORY REFERENCE INSTRUCTIONS. * * P1 IS THE OPCODE VALUE * P2 IS THE OPERAND VALUE * MEMR MACRO LIMIT MR2P,M8PB,#(2),M8PT LIMIT MR2N,M8MB,#(2),M8MT MR2 SET MR2P;MR2N LIMIT MR3P,M16PB,#(2),M16PT LIMIT MR3N,M16MB,#(2),M16MT MR3 SET MR3P;MR3N IFT MR2 @WORD #(1) @WORD #(2)&:FF ENDC IFT MR3 @WORD #(1);1 @WORD #(2)%-8&:FF @WORD #(2)&:FF ENDC ENDM TITL SPECIAL MACRO = BHWD * BHWD P1 * *  THE BHWD MACRO TESTS P1 FOR ONE OF 4 LETTERS * I.E. B H W D * IF TRUE, THEN MR1 IS SET TO THE OPCODE OFFSET *  FOR THE PARTICULAR INSTRUCTION. * IF FALSE, THEN MR1 IS SET TO :F. * P1 MUST BE A 'B' OR 'H' OR 'W' OR 'D'. * BHWD MACRO MRN::: SET #(1,?) MRB::: SET #(1,'B') MRH::: SET #(1,'H') MRW::: SET #(1,'W') MRD::: SET #(1,'D') MR1 SET :F IFT MRB::: MR1 SET 0 ENDC IFT MRH::: MR1 SET 2 ENDC IFT MRW::: MR1 SET 4 ENDC IFT MRD::: MR1 SET 6 ENDC IFT MRN:::<>1 MR1 SET :F ENDC IFT MR1=:F NOTE E,#(1)-ILLEGAL-OPERAND MR1 SET 0 ENDC ENDM TITL SPECIAL MACRO = VALU * VALU P1,P2 * * THE VALU MACRO PRODUCES OBJECT CODE FOR FORMAT TYPE 2 & 3 * ABSOLUTE OPERAND INSTRUCTIONS. * * P1 IS THE OPCODE VALUE. * P2 IS THE OPERAND. * VALU MACRO LIMIT VAL2,0,VAL,:FF LIMIT VAL3,:FF,VAL,:FFFF IFT VAL2 @WORD #(1) @WORD #(2)&:FF ENDC IFT VAL3 @WORD #(1);1 @WORD #(2)%-8&:FF @WORD #(2)&:FF ENDC ENDM TITL SPECIAL MACRO = NOPR * NOPR P1,P2,P3 * * THE NOPR MACRO IS USED TO SEE IF THE MACRO CALL HAS * THE PROPER NUMBER OF OPERANDS. * AN ERROR MESSAGE IS PRINTED WHEN P1 >= P3 >= P2. * * P1 IS THE LOW LIMIT. * P2 IS THE HIGH LIMIT. * P3 IS THE ACTUAL NUMBER OF OPERANDS (TEST VALUE). * NOPR MACRO IFT #(3)>#(2) NOTE E,TOO-MANY-PARAMETERS ENDC IFT #(3)<#(1) NOTE E,MORE-PARAMETERS-NEEDED ENDC ENDM TITL SPECIAL MACRO = UND:::M * UND:::M P1,P2,P3,P4,P5 * * THE UND:::M MACRO TESTS TO MAKE SURE THAT P1 IS * WITHIN THE RANGE OF P2 AND P3. * IF SO, THEN THE NECESSARY BYTES ARE GENERATED FOR * THE OPERAND. * A WARNING IS GENERATED IF P1 IS WITHIN THE RANGE * OF P4 AND P5 AND WITHIN RANGE OF P2 & P3 AT THE * SAME TIME. * AN ERROR IS GENERATED IF P1 IS NOT WITHIN RANGE * OF P2 & P3. * UND:::M MACRO IFT PASS1 IFF SL @WORD 0 ENDC @WORD 0 ENDC IFT PASS2 IFT SSU IFF SL @WORD 0 ENDC @WORD 0 NOTE E,UNDEFINED-OPERAND ENDC IFF SSU IFF SSS MR SYMVAL #(1) LIMIT MR0,#(2),MR,#(3) IFF MR0 IFF E SL @WORD 0 ENDC @WORD 0 NOTE E,OPERAND-RANGE-ERROR ENDC IFT MR0 LIMIT MR2,#(4),MR,#(5) IFF SL @WORD MR%-8&:FF @WORD MR&:FF IFT MR2 NOTE W,WILL-FIT-IN-SHORT-FORMAT ENDC ENDC IFT SL @WORD MR&:FF IFF MR2 NOTE E,REMOVE-LENGTH-SUPPRESSION ENDC ENDC ENDC ENDC IFT SSS IFF SL @WORD 0 ENDC @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC ENDC ENDM TITL SPECIAL MACRO = UND:::V * UND:::V P1,P2,P3 * * THE UND:::V MACRO TEST TO MAKE SURE THAT P1 IS * WITHIN THE RANGE OF P2 & P3. * IF SO, THEN ONE BYTE OF CODE IS GENERATED FOR THE * OPERAND. * IF NOT, THEN AN ERROR MESSAGE IS GENERATED. * UND:::V MACRO IFT PASS1 @WORD 0 ENDC IFT PASS2 IFT SSU @WORD 0 NOTE E,UNDEFINED-OPERAND ENDC IFF SSU IFF SSS VAL SYMVAL #(1) LIMIT VAL0,#(2),VAL,#(3) IFF VAL0 @WORD 0 NOTE E,OPERAND-RANGE-ERROR ENDC IFT VAL0 @WORD VAL ENDC ENDC IFT SSS @WORD 0 NOTE E,RELATIVE-EXPRESSION-ILLEGAL ENDC ENDC ENDC ENDM TITL OAK ASSEMBLER DIRECTIVE = TEXT STRING * THE TEXT DIRECTIVE ASSEMBLES THE SAME AS THE OS4 BYTE * MACRO WITH THE ONLY DIFFERENCE BEING THAT EACH WORD * OF STORAGE GENERATED HAS ONLY THE LOWER BYTE FILLED. * TEXT MACRO BYTE MACENT IFT #(1,?) IFT #(1,'''')=1 STRING #(1) ENDC IFF #(1,'''')=1 SS SET #(1)&:FF @WORD SS IFT #(1)%-8>0 NOTE E,PARAMETER-TOO-LARGE ENDC ENDC TEXT #(2),#(3),#(4),#(5),#(6),#(7),#(8),#(9),#(10) ENDC ENDM SPACE 3 * THE STRING DIRECTIVE PRODUCES CODE FOR A SINGLE STRING * OF ASCII CHARACTERS, ONLY THE LOWER BYTE OF THE * WORD IS FILLED. * STRING MACRO NOPR 1,1,#(?) X: SET 2 N: SET #(1,?)-1 STRING2 MACENT IFF #(1,'''')=1  NOTE E,ILLEGAL-PARAMETER ENDC IFT X:<=N: @WORD '##(1,X:,X:)' X: SET X:+1 STRING2 #(1) ENDC ENDM TITL OAK ASSEMBLER DIRECTIVES = HALF & WORD * THE HALF DIRECTIVE GENERATES TWO (2) BYTES OF * STORAGE FOR EACH PARAMETER GIVEN. * HALF MACRO IFT #(1,?) IFT #(1)%-16>0 NOTE E,PARAMETER-TOO-LARGE ENDC SS SET #(1)%-8&:FF @WORD SS SS SET #(1)&:FF @WORD SS HALF #(2),#(3),#(4),#(5),#(6),#(7),#(8),#(9),#(10) ENDC ENDM * * THE WORD DIRECTIVE GENERATES FOUR (4) BYTES OF * STORAGE FOR EACH PARAMETER GIVEN. * WORD MACRO IFT #(1,?) SS SET #(1)%-24&:FF @WORD SS SS SET #(1)%-16&:FF @WORD SS SS SET #(1)%-8&:FF @WORD nUnt0nYnu9n_nvAncnwFninxanmnyfnOnzinn  }  rrq   nn l( (gsnn )Q( ( ^ [Z    nnV   n~   )( ( DE nnnBB >( (;  6nnnYnnnn 4   n~  *nntnn&)nnnPnnn'nnnnnnnnnnnnn% n n vnbncndninjDnjnjnknl6nn:nn   gh     nnonnnnnnnnnnn,&nnn̠Ҡˠˠ׮noo  ) z x ott   oo h ooojk( (oo%``oo"F o'oo(o0 ERROR AT  o< )o< Yo< o< o< o<`Ko<do<eeo<io<jo<ko<lQo<n9o<no<o<   ~  ut   oGoI o( (jsoHoR o0 `[   ]\   o_oaX   S     ( ( ( (Deo`ox        o) 5 211  oo-  *( ( ( ( loo      ? )( (     `    oo o=ooBoo oFooLorooo`Zoo  }    noo o^oocopoooooooooojokooooooRooZoboyo{ooooooo`ogooio|oomo~oooooo(ooooooi!ooߐoo:oo<oUooWoooXoo ohooooooooLioo     sr    oo l( (grooo d + ( (܀p$     o T RO  o `[ o F C gY `[o P op* p)p+865( (  .( (  p3Gp;' %np:p?#&   o   pKpM     spLpV p*pW + ( (܀pVp^ op_p pOp `pR`p`ppppapaopbopcop/p6pNpd`ZpppWpepp pZpfp pgpp!phpApDpPpii!ppjpjppkp$pkpkp'plplPpCpmpmL pqapqbzpqfpqopqphpqpq  z  y  umul kjq  ppd( (`( (ZYXkppVp{ppp~ppprp 0pp   v         gpp      `_   pp Z( (pUspp  PO   pp J( (Espp  ?>   pp 9( (4spp   -,   pp '( ("spp       qq  +( (+ ( (      qq pq pq!pq"pq#ppq$ippq%qq&  ' ( ( gqq1 Qqq4 pq5ipq6Ppq7gXq4q8  )( ( ) ( (    pqJgpqK,pqLgpqMhqIqN  S ( (     T pq^pq_`Zpq``pqaEq]qb ( (     D  pqpQpqqEqqrqqsqqtqoqu( (     I ( qqq qq+q=qCqSqdqvqG qq~(     N (r(       qq '  q&q1qqqqpq.qpqq+(\(xjqq    C q9qqGqXqiq{qqqq  M  P  W  Z  _ qOqQq q[qbq qq  c            qq        qq qlqnq q~qq qq p  pqqqq  qpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qq qqqqqqqrqqrpqqqߒrpqrqrprr Ҡ٠Ġprprqrrprr ϠҠֱq(rqHrqYrqjrq|rqrqrr qrrqr%r% qr(r(Šqr-r-Ԡqr0r0Ԡqr4r4qr7r7qr;r; Ҡ٠ĠqrGrGirIrI  ) z x    rWrZ llrXrYr] p( (ij h ``rVrirTr_rjrJrk rmcrmeHrmfrmjErmj~rmlPrmn=rmrm  ~   rtruz   rwryv Ao rsrxr~qlr}rkkrrrarvrzrnr r frr  |  z  ppn  lq  rrh( (c( ( ] rr XrrhrrrVWrrrrrrrrorqrr  }  {  q po)( (r  rr r  a( ( \( ( rrUS( (   K( (rrFTrrDrrrrrrrrrrrrrrrrrrrrrrrrjrkrmrn;rr#G'2 !u)g jOn}Oj}Gjsksmsn<ss}GGGGs3GaG Gq#sGqsGsG 㫀A=;` K@pl- ZABBA@@@g#K`Bg@@t@ b b   @'7gb@g@Ag0 U# N~ K` ߀@o bg׀@;^gӀ@6YjgȀ@\@g@W@''( 䂣䁞g@g@Z'  g@2 /B'*''f'g@@ @(( "t rt$3A䂠B䁞'fABgV@֝B'W W'R" O'J G FgB@q"tWtW Q ` k䂃 G C@AB`k@k@k@e atrtr  gw bt{i6t{rt{t{( gtH 0123456789'otpgtt  ) { w tAt$k )( ( dc t ^]+( (V( (P  M LU  ttDtftP FO   tttA ->( (tMttt 9 9 873   tt/( (.,( ($( (#!( ( _ttutu'ttttttuuututututtututuu b}uu  ~  vu+( (  muu*Cu.jju)u0'u u&u1uu2`Mu5bu5u5  {u=  z  xotnm( (  f( (`( ([ZjuLOu\ U( (RuKu\uc'u>uHuOuduAuTu_ueu6ufcuhjCuhluhmuhuh  ~   uoupz   urut q unusuws   uzu{o   u}u f uyu~uh   uud   uu [ uuu]XuuuvuWWumuAuquZuxuau|uzuu0uu9uiuuu     wuuuuauuu ubxuu   }}   uuxs uuuvpuuoo Yuruuuu  u uV1 .6ÿ o/'u 'u  1A c_]uesuu  u&v@)B+҃6+. ͢1ܞW,) 6âDu1Av / v  'v=/. w ~ {** +p C+xv@ɠɠ ~ {*   A    juv[v[, ~ {*   A      g   C )B  pmovv  v1  ){  | |  C ¿y  eD  +  1.. 0v;/w~wKww    A   E./ .  m?  B e   H 1  !    Z,  E)  *1w O   v~ x  ʿ      s     . ./' )/ '  )/' + / !1 .    L )     M   A/  .   j | )  *1y |        '  '  '(  B+ A+(^wy{@v?     xs y  /ahf .  h  C _ y . 6  .   u  C  zF H  @‚@8< C. | A !  ^  - {  E  C    ./a  /a ./  w ^ |   zmkxx x̧({vxxYʦמNJ (( 6:у߼˖’Ɇal) ,I  D XbQ/ WH 6>xy'Txwxgrkz )fv %bp1Do k Xgb Sb]  K  H  DB R B >  5 0>  t$roi 'C.$.! <ܞ~xJxkxLxoxzxgxx xwRxwxRxvxwI xvwGwGwGwGxxxxxxxxxxxxxxxxxxxxxxxxw1xxxxvxxvxxwxxwxxxxny+y+ } y4y7y7y7 y7ay7ety7oy7qy7y7 |  'yK ! 'yK ! mlyM[yNryNuyNyN )BޕwBޏ/'yg 6hgyj ylyl~ylylylylylXylylylylylyl ylyl"ylCyl /yl yl yl &yl Wyl yl yl _yl tyl`HylawylbtylbylcbyldyleDylf ylg1yliyli5yli`yliyliylj>ylj{yljylk|yllyllylmyln4ylnzylnylnylo(yloylpbylpylq ylrkylrylrylrylsylsvyltyluylu2ylufyluyluyluyl ~*ỳF+qpދ{myj h  yyqΠԠԠ y⾉s yKھ{ L   ͟ݟq զ֣*҄Є*ʞzǂɆǃƄ*z*d *޴*ްz솭*ީަz*dy6yyMyyjyy ((zyyy +E((vz&qzz%z*z7 ĠƠ ɯҠ̠Π ̠Ԡuz>wyz>z>   {  {w|zHzH  {vzMzM   {v7zUwzUzU\  {   zA  qqzmzwzzzzzԠϠŠȠӠΠ٠ϠŠҠƠנĠ٠x vLvQvbvgvuvvvxSxUuuuvvxyzuvWvmvvvvvwww3w:wNw[w]wwwwwwwwxvvvww w w4w<wBwWwZwwwwuvYvovqvvvvvvvwwww5wDwcwhwwwwwwxvvwwww6wEw^wbwrwwwxxxvV vl v v v w wMw\ w w w w  v v w  w. wX w w  vX vn vr v v v v v v v w w w w! w, wa wk w w  v v w w+ wf wg wn w w  x  vw7w=wwwwwwxQvwxRv'vNvdvyzbv"vHv^vyz\yzz@zEzJzNzRzWz^zJ zU z 怃6A  6 ڄل+ ϐ| { z T z y6AQ { p { e 6+ {" { p {! P 6E ʄ"{{z{{q{{{| z{={=Y ~z{=q;6F6  6  Ն {}B ^S 6J)6 LB H F}7}F~F| ~ qqyfny4{{$ {ʞzx1 +6q{q{|qq ~{{أu wy5{{H {ÿp{ؿŠР 2٢1F+(r $ 'd z |lyx )MɃŃ++++  |ͣi t@ P  ) 6A+  6A)( qڃ6O܄|qq|{3|{z{{zyЄr6{|{ņ¢+q1R+ 8 52 kRN TQG ú%| ľ Ax ||{ q  )+= %'އބކpe{{qq{q{{{{{ |  + mkyku| /h|feuuvxP|z|| ~||*ywvuv| ~}ίϠǠ ~}|wAw~n/ 0yvᆧ.6Cޞw . ᎕6¶0Q~xWzZxXzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZy zZyzZyzZyzZyzZyzZyzZyzZyzZyzZy!zZy%zZy&zZ?~n|||yl~ ~||*ywvuv| ~}ίϠǠ ~}|wAw~n/ 0yvᆧ.6Cޞw . ᎕6¶0Q~xWzZxXzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZxzZSS SS SET #(1)&:FF @WORD SS WORD #(2),#(3),#(4),#(5),#(6),#(7),#(8),#(9),#(10) ENDC ENDM SAVE END ),#(5),#(6),#(7),#(8),#(9),#(10) ENDC ENDM SPACE 3 * THE STRING DIRECTIVE PRODUCES CODE FOR A SINGLE STRING * OF ASCII CHARACTERS, ONLY THE LOWER BYTE OF THE * WORD IS FILLED. * STRING MACRO NOPR 1,1,#(?) X: SET 2 N: SET #(1,?)-1 STRING2 MACENT IFF #(1,'''')=1  NOTE E,ILLEGAL-PARAMETER ENDC IFT X:<=N: @WORD '##(1,X:,X:)' X: SET X:+1 STRING2 #(1) ENDC ENDM TITL OAK ASSEMBLER DIREC TITL OAKMACTEST.ASM 84-93150-28 * * * * SOURCE # = 8 4 - 9 3 1 5 0 - 2 8 A 0 * * LISTING # = 8 4 - 9 3 1 5 0 - 1 5 A 0 * * OAK START EQU $ NOP NOP COMMENT NOT AND OR XOR INC DEC NEG ADD SUB ADDC CMP MULT DIV JSI TEXT 1,:A,'EASY' STRING 'OAK-ASSEMBLER' STRING 'WW',1 STRING 33 BYTE 2,3,:222 BYTE 'AS',:D HALF '22',34,:55556 WORD 11,9988,:ACE4 WORD 'DOVE' DEL DUP DUPD EXCW EXCD EXCDW EXCWD ZERO ONE ONES SXTB SXTH SXTW SAR SHR SHL ROR ROL SCMP SPIN  CIRC CIF CFI FADD FSUB FCMP FMULT FDIV CID CDI DADD DSUB DCMP MOVE TXLT SRCH ENQ RQE DEQ SGNL WAIT LCXT TITL LDSI B LDSI H LDSI W LDSI D STSI B STSI H STSI W STSI D LDSI STSI X LDSI HI LDSI D,B STACK :40,:20,:20 TITL LBK LX EQU $ EXT EXT 8-3 INS TWO-THREE EXT THREE-TWO INS TWO-THREE-6 EXT TWO-THREE-5 EXT 33 EXT 1 INS TWO-FOUR EXT :F INS INS LBLY-LBLX INS 1 INS :A INS START LBLY EQU $ TITL LDL 0 STL 1 ZRL 7 LDL 3-2 STL LBLX-LBLY ZRL LBLY-LBLX INL LBLX-FOUR LDL 2,3 INL -1 LDL -6 LDL LBLY STL -7 LDL THREE ZRL 8 INL :7F LDL :80 STL :7FFF ZRL :FFFFFF80 INL :FFFFFF7F STL LABEL1-LBLX LDL LABEL1-LBLX,S ZRL LABEL5-LBLX ZRL LABEL5-LBLX,S LDL :FFFF7FFF STL :00008000 TITL LABEL1 EQU $ RES :100 BCY THREE BLE LABEL1 BEQ TWO BGE THREE FAROFF EQU :10000 BHI FAROFF BGE THREE,TWO BLE THREE,S BLS TWO BEQ LABEL2 BGE LABEL1 BLT $ THREE EQU $ BMI THREE BHI LABEL2,S BNC THREE TWO EQU $ BNE THREE BNE TWO BHI FOUR JMP LABEL5 JAL LABEL5,S  TITL LDLX W,TWO LDLI B,:0 LDLX H,-1 LDLI B,TWO-THREE STLX H,NEXT-TWO LDLI B,NEXT-LABEL2 STLI D,NEXT-LABEL2,S LDLX W,NEXT-FOUR STLI 60-10 STLI W,7 STLX D,-6 LDLI H,8 LDLX W,:7F LDLX D,NEXT STLI D,:80 STLX B,:7FFF LDLI W,:8000 LDLX D,:FFFFFF7F STLI B,:FFFFFF80 STLX H,:FFFF8000 LDLI D,:FFFF7FFF LDLX B,-7 LDLX B,LABEL5-START LDLX B,LABEL5-START,S TITL TRAP :0 WCS -1 TRAP :100 TRAP FOUR TRAP FOUR-TWO TRAP TWO-THREE WCS NEXT-TWO WCS 90-60 WCS :FF TRAP LABEL2 WCS LABEL4-NEXT EXIT EXIT 5 TITL LDG :00008000 STG :00007FFF LDGD :00000080 STG TWO STGD :0000007F FORD TWO-THREE LDG NEXT-TWO FORI LABEL4-NEXT LDGD LABEL4-NEXT,S STG 10-3 LDGA :8 LDLA :7 LDLD :1 LDG FOUR LDLD LABEL5-START LDLD LABEL5-START,S STG FOUR-TWO LDLD FORI 3,4 STLD 0 FORD -1 FORI -6 LDG -7 STG :FFFFFF80 LDGD :FFFFFF7F STGD :FFFF7FFF LDGA :FFFF8000 TITL ADDI :00010000 CMPI :0000FFFF ENTR :00000001 ADDI TWO-THREE SUBI TWO CMPI FOUR RELS THREE-TWO RESS LABEL4-NEXT RESS LABEL4-NEXT,S ADDI SUBI 3,LABEL4 ENTR NEXT-TWO SUBI 6-5 RELS :00000000 ADDI LABEL2 RESS :FFFFFFFF SUBI $ ENTR LABEL5-START CMPI LABEL5-START,S TITL LDI :80000000 LDI :7FFFFFFF LDI LDI 1,2 LDI FOUR-TWO LDI :1 LDI LABEL2 LDI TWO-THREE LDI LABEL4-NEXT LDI LABEL4-NEXT,M LDI LABEL4-NEXT,S LDI 8-3 LDI 0 LDI -1 LDI LABEL5-START LDI LABEL5-START,M LDI LABEL5-START,S LDI LABEL4,X TITL RES :100 LABEL2 WORD 0 LDPA LABEL2,M LDPA LABEL2,S LDPA LABEL2 LDPA LABEL4,X LDPA NEXT,M LDPA NEXT,S LDPA NEXT LDPA :300 LDPA LABEL1 LDPA LABEL1,S LDPA LABEL1,M LDPA LABEL5 LDPA LABEL5,M LDPA LABEL5,S TITL NEXT EQU $ CASE 2,LABEL2,LABEL2,LABEL4 CASE 1,NEXT,LABEL4 CASE 0,LABEL4 CASE 3,LABEL1,,LABEL4,NEXT LABEL4 EQU $ CASE 8,NEXT,NEXT,LABEL4,LABEL2,LABEL1,,,,NEXT CASE 2,,,,,,NEXT RES :2000 LABEL5 EQU $ * * * NOTE -- THIS LISTING MUST HAVE 70 ERRORS (285) *  17 WARNINGS (274) * * FINI LABEL4 WCS NEXT-TWO WCS 90-60 WCS :FF TRAP LABEL2 WCS LABEL4-NEXT EIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIL IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII