IMD 1.17: 25/11/2014 12:42:11 82VKXBVERDOS D* BT17:0 68K VERSADOS/RMS68K OBJECT 4.5 (DS,DD 96 tpi 5.1/4" DISK) REVISED: 04/22/86 DISK 17 OF 24  BT17 82VKXBVERDOS 0420±d-PSEMLIST $zPSEMTIOT $’PTDEFTYP $qPTIMESLIC $HPLAM &|PUDEFTYP $tPSPURCNT  $^PTIMINTR $ZPSUPERMMU &žPTIMEOUT $FPTIME_LEF $Nń2PTIMINTV $VPTIMINTV4 $XPCURR_ASN &PTIOT $ØPSPURTIME $`PLAST_MMU &”PCCBHD $PDACTBL &lPASNTBL &tPACOTBL &dPDCOTBL &`PFQBCNT &PDPRVAO  &TPCURR451 &ˆPNWDQHD &PSEMLIST zPSEMTIOT ’PTDEFTYP qPTIMESLIC HPLAM |PUDEFTYP tPSPURCNT  ^PTIMINTR ZPSUPERMMU žPTIMEOUT FPTIME_LEF Nń2PTIMINTV VPTIMINTV4 XPCURR_ASN PTIOT ØPSPURTIME `PLAST_MMU ”PCCBHD PDACTBL lPASNTBL tPACOTBL dPDCOTBL `PFQBCNT PDPRVAO TPCURR451 ˆPNWDQHD 'RESERVEDFIELDS SASS  FIELDS LG\\   FIELDS AFee  FIELDS ROnn   **ˆRESERVED.FIELDS.AG*%*ˆThesefieldsaredefinedasfollows**ˆFIELD1„-FutureuseB*ˆFIELD2„-StartaddressofthetasktabletobeprocessedbyTDTI*5*ˆTheSYSGENwhichwillbringtogetherthefollowing:*0*’Userspecifiederrorhandlinglogic(optional) *’UserspecifiedcodeŸ(optional))*’Non-standardstartuproutine–(optional)*’TasktableØ(required)*E*ŠanduponcompletionoftheSYSGENFIELD2willautomaticallybeset.** ‰SECTION1 ‰DS.L†1‰FIELD1‰DS.L†1‰FIELD2‰END NNNNNK=/*=/*†RESERVED.FIELDS.LG=/*0=/*†LinkchainfiletocreateRESERVED.FIELDS.LO=/*=/*2=LINK ,RESERVED.FIELDS.LO,RESERVED.FIELDS.LL;HAMIXSEGMENTRSF0:1…\PCINPUT RESERVED.FIELDS.ROEND=/*=END NNN NNNNT =/*=/*†RESERVED.FIELDS.AF=/*4=/*†DefaultassemblinglistingisRESERVED.FIELDS.LS=/*=/IFC \1ƒ=ARGRESERVED.FIELDS.LS=/ENDIF=/*/=ASM RESERVED.FIELDS.SA,RESERVED.FIELDS.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNN],1FIELDS ASREL'RESERVEDFIELDS SAQ&†2! 3Ą4N NNNNNNf§' APLICATNCI{{  PTASKFP CI„„   PTASK SA  PTASK RO’’  TTS RO››  TTS SA  Ņ  BTASK LO½±  CTASK LOo  TASKA CFzz  TASKA LFƒƒ  TASKB CFŒŒ  TASKB LF••  TASKA PFžž  TASKA RO££  TASKA SA°°¦  ATASK LOĮ±  TASKB PF{{  TASKB RO€€  TASKB SA¦  TASKC AF¦¦  MSG@MSG************************************************************'MSG**ˆApplicationtaskincludefile“**@MSG************************************************************ ƒINCLUDE‚&.PTASKFP.CINNNN NNNsBMSG…*************************************************************MSG…*»*?MSG…*‚LINKTHEGLOBALLYSHARABLEPASCALRUNTIMEROUTINESFORƒ*MSG…*‚ROMUSAGE°*MSG…*»*BMSG…************************************************************* GSPLSTR = *SUBS„RROM.RLIBFP.LGLINK„RROM.RLIBFP.LG PROCESS RROM.RLIBFP.LO BMSG…*************************************************************MSG…*»*>MSG…*‚LINKTHEGLOBALLYSHARABLEPASCALRUNTIMEROUTINESTO„*=MSG…*‚THEUSERTASK.THISISNECESSARYTOSATISFYEXTERNAL…*5MSG…*‚REFERENCESBUTSEG0WILLBEEXCLUDEDASSEG0*:MSG…*‚ISDEFINEDABOVEINTHEROMLIBRARYANDSEG2WILLˆ*3MSG…*‚BEOBTAINEDDYNAMICALLYBYTHEINITIALIZER*MSG…*»*BMSG…************************************************************* TASK‡&.PTASK.LOATTRIBƒ='USER' TSKSTART = *STATE„='READ'SESSION‚=$100 PRIORITY = $90 EXCLUDE„SEG0 EXCLUDE„SEG2SUBS‡RROM.TASKFP.LGLINK‡RROM.TASKFP.LG END†PTASKNNNN|!PROGRAM ptask(output);VARi†:integer;VARa,b,c‚:real; devpr†:text; BEGINrewrite (devpr,'#PR');i := 1; WHILE i <> 10 DO‚BEGIN1‚writeln(devpr,'MOTOROLAMOTOROLAMOTOROLA'); ‚i:=i+1;‚END; i := 1; a := 3.14159; b := 2.71828; WHILE1=1‚DO‚BEGIN6‚writeln(i,'‚MOTOROLAMOTOROLAMOTOROLA‚',c:‚10:5); ‚i:=i+1; ‚b:=b+0.035; ‚c:=b*a;‚END; END.N NNNNN…]1PTASK PSYS ' PTASK PC1…M68000 Pascal object from 2.30 resident compilerĀ2h.PLJSR I.PMAIN h.PIFD h.PRWT h.PAFI h.PLDCS h.PWRS h.PWLN h.PWRJ h.PFPOINT h.PWRR h.PCLO O.PZSTART O.PZMAIN  h.PFINIT )R/ ¬ŸK3@ˆ žü tr pAķ’ąN«@trpAķ’ųN«@Aķ’ųN«@Hm’ą?;FH+G0Bm4¼ `J(HŁü’$HGź|+Kp&ü’’’’B›+K+Ll2<€0<ģBµX@YAbö&Jr|B›YfśAś ź%H,Aś Ŗ%H0Aś ų%H8Aś %H =fa2g ,fņ  g. Zg( Ae" [dCķK( ˜‰ -fDDHć‰Gķj7„až  fØJgŒįƒåƒa¤() ˜©„“ ƒ”clքƒ’BAķBØBBØBhBh BØ!|SEG2 pNAfžAķ!CBBØ1| BØ!|SEG2 1| pNAfżš–„ƒ”`Bƒa,iŻü’ŻĆKķ¼0<¼=%U@fś.N*O$iGź|+Kp&ü’’’’B›+K+i l&Jr|B›YfśAś 0%H,Aśš%H0Aś >%H8Aś T%Hp7`8p8`2p9`,p:`&p;` p<`p=`p>`p?`p@` KüNŠpA`ōpB`špC`ģpD`čpE`äpF`ąpG`ÜpH`ŲpI`ŌpJ`ŠpK`ĢpL`ČpM`ÄpN`ĄpO`¼pP`øpQ`“pR`°pS`¬pT`ØpU`¤pV` pW`œpX`˜pY`”pZ`p[`Œp\`ˆp]`„p^`€p_`’|p``’vpa`’ppb`’jpc`’dHķ’’|"o2 Ao <™`THĮҁNū`J``L`V`nHĄ@ "€/ € ga‚<`g < ĄalR oź +Gt+@x`BHĄ@+Gt+@xaH`0HĄ+It0/g.HĄ@a2+@x`+It0/HĄg€+@x @p"`Śp |`ΟüH×|| ?| /| /| OpND ßüNuHķ’’|+ot <+@xa¬`”Hķ’’|+ot <+@xa’`’zHķ’’|+ot <+@xa’v`’\Hķ’’|+o t <+@xa’X`’>Hķ’’|+o t <+@xa’:`’ H@0-4H@,NANuLŒĢś.nØÜĢŲ$6p–ØŗÄČī ŒJ€Œž²īŠŗĘĘ ¬üØč * X d ’ Ą  & 8 n œ Š 8 f ” Ō š šĢX¤š ÄžĘ Ź Ü  ` Ü\”ŅV”ŅZŽĀü0hŠb²‚ŅpŹ&˜ö HVrpapah!l’ö!l’ņpNA$l’ī$ˆ ¬’źfßü/@(Lßh _ßüNŠrpa,a$pNA ¬’öfßü/@Lßh _ßü NŠrpaśaŲ!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠrp$aĀaŠ!l’ģpNA$l’č$ˆ$l’ä$ˆ ¬’ąfßü/@4Lßh _ßü$NŠrp a~aF!l’ģpNA$l’č$ˆ ¬’äfßü/@0Lßh _ßü NŠrpa@apNA$l’ģ$ˆ ¬’čfßü/@,Lßh _ßüNŠrpaaę!l’ö !l’ņ!l’īp NA ¬’źfßü/@*Lßh _ßüNŠrp aÄa²!l’ų!l’ō !l’š!l’ģ!l’čpNA ¬’äfßü/@0Lßh _ßü NŠrpatBBØ!T!l’ü !l’ų!l’ō!l’špHNA ¬’ģfßü/@(Lßh _ßüNŠpKNAB€Lßh _.€NŠp NAB€Lßh _.€NŠrpaaņl’śl’ų !l’ō !l’š!l’ģpNA ¬’čfßü/@,Lßh _ßüNŠ op&NA/@Lßh _XNŠrpaža|!l’ö !l’ņp#NA ¬’īfßü/@&Lßh _ßüNŠ op"NA €f Pf€€/@Lßh _XNŠ op%LßhN^NAp0|NA op!NA/@Lßh _XNŠp$NALßh _.€NŠ opNArp"aōaŅ!l’ö !l’ņl’šl’ī1l’ģ!l’č1l’ęp NA ¬’āfßü/@2Lßh _ßü"NŠrpa˜a†p NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠrpa^aLp NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠpNAB€Lßh _.€NŠrp aapNA ¬’ųfP/@Lßh _ßü NŠr paęaŌl’śpNA$l’ö" ¬’ņfßü /@"Lßh _ßüNŠ(OŁü Łü o±üf$_, ’śgŸü`ŸüN O/ aV!l’ö !l’ņ, ’śf$l’īB€!²X@ €8fšp NA$l’ź$ˆ ¬’ęf, ’śgßü`ßüN/@.Lßh _ßüNŠrpaaōpNA$l’ų$ˆ ¬’ōfP/@ Lßh _ßüNŠpNAB€Lßh _.€NŠpNAr pa¾a¬1l’śpNA$l’ö$ˆ ¬’ņfßü /@"Lßh _ßüNŠpNAB€Lßh _.€NŠrp apa^pNA ¬’ųfP/@Lßh _ßü NŠrpaBa0pNA$l’ų4ˆĮˆH@$l’ś4€Įˆ ¬’ōfP/@ Lßh _ßüNŠrpaaą!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠ opNABÆLßh _XNŠ opNA/@Lßh _XNŠrpaža|!l’ö !l’ņ!l’ī!l’źpNA ¬’ęfßü/@.Lßh _ßüNŠ(OŁü o±üfQ OpJNA$T$Ø$l$ ¬’üfP/@Lßh _ßü NŠ(OŁü o±ü fQ O!T ¬pINA ¬’üfP/@Lßh _ßü NŠr paĢ ”l’ž BØB(p)NA$l’ś$ˆ ¬’öfßü /@Lßh _ßüNŠr paˆ ”l’žl’ü BØp-NA$l’ų$ˆ ¬’ōfßü /@*Lßh _ßüNŠr p aBa\p,NA ¬’ųfßü /@Lßh _ßü NŠp.NAB€Lßh _.€NŠr p aap+NA ¬’ųfßü /@Lßh _ßü NŠr p a Īačp*NA ¬’ųfßü /@Lßh _ßü NŠrpa œazl’ų l’ö !l’ņ !l’īp6NA ¬’źfßü/@*Lßh _ßüNŠB€0<€`B€(OŁü€T @p5NA/@Lßh _\NŠ op4NA/@Lßh _XNŠrpa  ”B€,’ž ,’ü@p3NA ¬’öf\/@Lßh _ßüNŠrp a Śa ČpANA ¬’ųfßü/@Lßh _ßü NŠr pa Øa –!l’ųpNA ¬’ōfßü /@ Lßh _ßüNŠrpa pa ^!l’ų!l’ō p@NA ¬’šfßü/@$Lßh _ßüNŠr pa 2a NA ¬’śfX/@Lßh _ßü NŠB/ m Aop’`* g Agp`B€AåI(mp™ü)Æ/@Lßh _\NŠB/ m Aop’`  mp`B€åI(mp™ü|)Æ/@Lßh _\NŠBB`4< rpa †0”„l’ž1B!l’śp:NA ¬’öfP/@Lßh _ßüNŠ opNA/@Lßh _XNŠ op&ķ@&­DB€Lßh _ßüNŠ(OŁüŁĄ o°üf$_ŸĮ O/ Nua,!l’ų $l’ō•üÕč !J g 1l’ī!l’źNu€B(BhAT$l’ü!RNu€B(BhAT1l’ž!l’śNul` l1l€B(ABB$T1² B BfšBhl’ž l’ü!Nua1l’ų !l’ō !l’šNu ”!l’ü1l’śNu ”!l’ü Nu1T1l’ž !l’ś Nu ”!l’ü!l’ųNu ”!l’üB(B( NuHēS€åHAśęÄAš Nš(WX—ŁŌNŌHē€Ąp mpüCś& ÉS@fś0<a9¬š@ 0<a9 š@ LßNuB+/ *m4Hķ’’|+_°a9~šm0ta9tš@0ąXä ąX0@NNB€BIśT am zn ,gč4k6 -fĄ`Ög0ƒgĮ` =fRŠa`  f@` NuBƒ:< &J $g am zn 4gˆ`6 am zn 4k6gćƒ(åƒÖ„ցSEfĪ‚ am zn 4jč  f" am zn +’žNu:< am zn  am zn 4k“fgŒ_郆SEfĢ`’z€€€@@ P€@  €@HÄR„„’’’žŸÄŸü æķb O÷H pNNOļ .·HNu.LŠ2*(-0a šaŹ+D0Nu"_. HĀ&g&<…(„QR„D’ž$O•ĵķldEļµķle•ķl؊a’z!OEļP/JEņ8’/JA??B$O eTgv`gvC)C BjBBjBŖL@O(-0fgA@a Jf<gJ-(gaat`aśgJ-$gaša\`aāgaÄ`8°m"b"?S@å@@,J5LŸg gaøa$` ga¤`aŠgNq5A+D0NŃHēŲžMź$gp’S@å@@,Aõ|B€(@AõJaH$€’€üLßyg/p(NNg g%m6*HBB|g€BNĮ NupaŒ|&8%m:*NuH瀀Aź$0¼€NCgNN *&o|&BjFB*K*E f|'` f|'`|'BjDLßNu.LŠ2*a4adB f† fpĄj& g far g4/ &Jav5 c ¼5‚aHa*H‚?av2&_g*8 gAź0¼NBgNN` ap÷Įj&a¶AģB’5ANup`n.LŠ Ŗ2*a~ fFa¼pj&aV*8 &g, g&Aź$0¼€NCg f0¼NCf0¼€NCgNNaFB’A€ a\CņO%I5ANup`ī.0/2RA’ž/7¼ Aļ Hē,o,nMī$a2Lßx$W$ja~&€’€ügp(NNfg0<÷’Įj äH@ćÅHBEBF ;g  g`š ;fäHēaśLß g/pANN Bfafčt…h Ę`¤ Cfa4<ų’Åh&!CHĘ`† DfašCKĘ`p FfaÜCJĘ`\ Rf$aø…gÅÅ4(Ā 1B`2 Wf$aŽ…gÅÅ4(Ā 1B`g’:g’ 2(JEg;PBpųĮh&‰('$HfŠFgg(-0aŽ+D05A gžō _"_0R€@’žO÷NŃg/pANNNugšfźfäNu f?*8 &g pųĄj&€W5@&0Nu/(-0fBg<`"g<`BR ft bfģ cp@NNB B)(NuB€BIśł†&H6<%B„aük$ #fĄ` ff&@€€€Nu€ü`öaŹkBfōgŚ .f R nŠ`Ž :f€@`Š (f€`Ä )fŖ@`øg Jfžf˜ggŒfF*H Kf  am zn (g24f.f. gD gō .fRˆ`*Rˆ`DĄ` 6<Gīa&4<aškĢ`Ą`Ā&<€€€ am zn 4k^f0fR *g2Ą  am zn 4kR .fā`JĘü ց`¤ ƒ€f4 .fÄĄ6<’ž` ƒ€g ƒ'cĄ` =C ` Ą`Ą4<aŚk 6< Gī aN4<aĀkō n& f| 6< Gīa(4<aœkĪ (g 6<Gīa 4<a~k° (fØBBBC am zn 4kD )gg8 Pn2AéK†AB`ČB’g BnĄ BcĄ=C `JĄĄĄB’ BcĄ`.Rˆ6<Gīap4<aęk$< Gī &Ā&Ā&Ā&Ā6ĀBn $B|gĄ4B|gĄJ€NuJCfBA`$ am zn SC /f Ą<€`4Nu4HB€€»ČgF am zn 4k.f(f @Ą`< *fĄĮSCn¾€€`$HB“CfĄ`< (*’žf<*`ĀSCnśNuJ€jĄ`QBgQBĄ`ĄBgĄNug g ³źga& ‰Nu%| 8%| .f %m@0%mD4` g%m6*NuHēżĄ./$TÆ$ G0å@A÷X@ @fB@C÷ "*jD€³…JjD$&H@HAĄĮĘĀ(ĀĀHBHDÄÄԁ"HABA҃BBHBтVĀJ…jDF…ʁ[Ć †DĆLßæNuHēłĄ./ TÆ a( ‚DĮLߟNuHēłĄ./ TÆ aćƒjD€ €DĮLߟNu G0å@A÷X@ @fB@C÷ "fpNN&āƒjD€³ƒJjDt’B²€dć‰R`ödЁć’ā‰SdņF‚"jD‚FĀ‚[ĮNu.LŠR’aP ‰Nu.LŠ8SDaØ€a“ ‰NuH€HĄ.LŠ8v / BJ€jt-D€SDGśL°›dSCnų˜CSDanJg‚avJCg(+’ür0°„e„R`öa\(SCnč0€aL ‰&_Nu;šŹõį˜–€B@† 'čd 0/8/`8/0/./ Gļ 2RAA’ž sLŠ˜@aąJ@g ›ačS@nö ‰&_$_O÷NŅ./ LŠtGś"JgÖĀSB8˜BaØ›a“SBnö&_ ‰NuFALSETRUE .JAlra`ašNu.JAlra|`a†Nu.JAlrah`arNu8D aFp °fp-€aHMśpža4<` ¼0aRB“Goņ’G4<`až¼RB“AoöNuaUāa_n(OLŠJAlažĢ`a’N ‰ßü`VF.LŠ8*R’Ņź³źcg !a0ĄR’`a& ‰Nu.LгźgR’aü T’a ‰NuHēĄ€2*fpDNN³źggS‰` g¼ `S‰`¼ %IAź0¼NBg ĘgNNa tCņO%I"jLßNuJDo ¼ aSDnōNu³źfa’zŸRIR’Nu./ LŠ 8+ gp`" faü8+gp"NN ŠVĄD&_Nu./ LŠ 8+ gp` gB`a¼ Š8+VĄD&_Nu./ LŠ 8+ fa–8+gp"NN„7D +ŠR€Ń“&_BNu./ LŠ 8+a<€aT Š&_Nu.a€Nu.a2€Nu.a"€NuHēx"aģrLŠ 8+,OačB +g -f -f|’ažaÜ am zn ax,Oa†JjD€ ŠŽü"LßH`Nu.a,a#ŽšQNu.aa#~šQNu.a a#nšQNuHēLŠ 8+a: Ifaz`$ NfaÖ` 0m 9naD`p2NNLßH` ŠNua"BF +g -f& -f<<a6a am zn ` am zn NuIś\°faaŽ am zn `āJ$gp2NN`. Am Znp2NN`JFf <€` <’€a"~š@NuINFINITYIśz°fa˜av am zn `āJ$gp2NN`L Am Znp2NN`8 (f$ )gaRa0 am zn `ąa8 <€a!ųš@NuNANx"aźj8+M×Iļa¢JƒjM×a¬JFgD€a!Ęš@(`(tJEfBEDEl–EBEaaaŗa!œšT0Žü"Nu .fta¾aœ am zn 0m 9op2NN`H0JEoJgĄSER`Jg ĄSERt`SCanaL am zn 0m 9oøNu/ IģEDErBDtJEoˆ&SEč\SBfņ9SAfč(_8+Nu Ef¤aaš am zn :<CšC +g -f( -f Fš:<XŚCaŲa¶ am zn 0m 9op2NN`UĄDNŅa@UĄDNŅa.SĄDNŅa0SĄDNŅaRĄDNŅa RĄDNŅaTĄDNŅaTĄDNŅ$o0HĄ`$o . &RƒC’žCļA÷8փā€UĮā€UĀg±‰fS€nųJg±IfJg± _O÷8NŠ$_. 8TDaąę"OUDg"ŲYDnśm2ŲNŅ"_. 2RAA’žU@°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃ"_. 2RAA’žU@ w°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃa.WĄDNŅa&VĄDNŅa]ĄDNŅa_ĄDNŅa^ĄDNŅa\ĄDNŅ./Eļ46RCC’žCņ026RCC’žHq00°Bo0J@g³ fS@nųp ”Agma `aLß.HNѰfSBnųNu²fRBmöNu."Ga0(` ."Ga$B„8R„„’’’ž.‰vøƒl(X„"mQ‰$I&)g""Cø‘nņ „ €lX‰%Q`*"€ÓĄ"Ä`""mEńH æŹbpNNEź’ŲQ‰$Ń"Ä$Ń+J ‰NuT—T—.a¬$PB mQˆµČbVB€“É("µČb "H h`ņ%H#J"gҐµĮb •Č؊ „$H#J" Ņ„³ĮbJ€f $‘PŠ+J`" ’ŠŅ‘$ @!JNu.a@ ­YNu.a2Yˆ"mQ‰³Čc""i³Čbų g Š‘±Ąb I"ip’ Ą É+HNuOļ’ąæķOļ bpNNNu.R@@’ž24A÷ŌPUAo!`YAnųf1`0‚Š@`NuHĄ _.2HĮ6< R€@’žgƒR(˜g:nE÷C÷U@g#"Y@nśm3".I`"OaŽ$OUg m $ŁYnśm4Ł4ĆU„nśNŠ _.U@2RAA’žR@@’ž8˜Ag2nC÷E÷>€g%!Y@nśm5!.JNŠ"Oaݼ$OJAg$ŁYAnśm4ŁNŠ _.R@@’žC÷2RAA’žE÷µÉgJAg#"YAnśm3".INŠ _.02RAA’žŽĮNŠ _.4$O6RCC’žC÷028aŻLHq@ŅĮ0g!S@nś"_ŅB0R@@’žŌĄJ@g"S@nś3.INŠ _.46RCC’žC÷0a’fBA`PS@8˜@²Do2JAg@E÷0²Df8µDDg*g’ĮS‰ŚS@nś’Į`R@@’žŌĄµÉg"S@nś`”Ą"J.I?NŠ."O20R@@’žEń40R@@’žHrB@JAg6”Am2RB0SA I?¶fJAg ( µ f SAnųBR@` 2$D"HSBnŽB@2.W GNŠ _.4$O6RCC’žCņ02gEļ a Ž /€ AļCļ Eļa a rA×Cś’"E×a ø €AļC×Eļaźa PSo?oHBoIś üBÆ$BÆ(BÆ,|€(BÆ0BÆ4BÆ8<<`n/|€’’€ašWŽü NuŽüB>¼?’BÆ/Gp`ŽüBBÆBÆJ€k>¼?’p`>¼@pHz’¾` <’’±r÷ŃĻy«€.žü a¶šoL× @?’gņ @æ’gźJfJ‚gō @’bŲć@ā@€’’JkS@ćŠć‘jųH×`.€B @g2jDAĄHA0<S@ć‰jśB‚BoHēąA×Cś’hE×a²žü AļCś’bE×aä /€EļaÖ /€C×aŽü Iś ź<<aRoA×Cļ a¬aŽü @?žc @Ądā‰ā’R@ @ĄfōHļć˜āX>€a¾šWŽü NuŽü>¼?’BÆ/Gp`Žü>¼æ’BÆBÆpHz’Ź`źÉŚ¢!hĀ4€€€ĄĄ.žüa4šoL×HĄć@ā@€€’’.€ @?’f8 f ‚f?z’€/z’|/z’z`B—/GpaJ`˜`fE×a @’šoT/@ jBRJ@k Aś’HCŅa¼  @’šo Iś„BFaĘ`ahJokAś’CŅ €aLa²J/ j €`a@  @?’c @ĄdLļā‰ā’R@ @ĄfōHļć˜āX?@a HšoŽüNuHļAļCļEļa AļCśžŹEļa /€Aśž CļEļa¾a$AļCļEļafLļNuHēąžüJ?FH/R/j/j B—BÆBÆBÆ BÆBÆ|€ F@gˆ/|’’¼?’BÆ/G0<Hzž`ōrtvx2(4(6(8( @o864BA@`ģ @gą¹ąŗą»ą¬HCˆƒBƒ6BBˆ‚HA†NuHēĄ0)°hlĆH0)h @?oBƒB„` @gaˆ`LčLŃ*±…j¶fø‚cĆCÅD@”„“ƒ` Ō„Óƒdā‘ā’R@HŅLßNuJfJ‚gJk S@ćŠć‘jųHŅNu0<Ą5@NuJØfJØg J©fJ©fB’BŖBŖ|ĄŽüNuaŠ/ 04‘±R0(ŠiR@5@&OB§B§B§B§:<LØ81PĄÄĀÄÄÄĘÄÖ£7CBCćSHCԃ6‚BBHB҂ң7ABAćQHAЁ'@’žÖüUEj¾LßJ€kSjć‹ć’ć‘ćjņHź&_Nua’H/04‘±R0(i5@LčLé xzJ€k Sjć‰ćjöJ‚k Rjć‹ć’jöāˆā‘āŠā“<<`’ƒ‘‚ć•ć”EgŅƒŃ‚ć‰ćRF F@oāJ„k Sjćć”jöHź0,Nu’žŁ’’’’’’’’’“’’µó3łŽd…JØfJØf1|ĄNuHēųLčJk ShćŠć‘jöžü$ <’’H×Gļ IļAś’¤"O$Kaž€Aś’Œ"Każŗ?|’ž<<` O"K$LažęSk L$Każ–RF Foā(o(,f Aś’`až4LÓŽü$Lß@6(āCRCŠCHŠNuaššA0ĮašA aˆšA0fNuå@@ mp pŽüHē’’*OHz.Bg/QĄfĄdĄhĄjĄč@?@ NŠLß’’Žü NuÉŚ¢!hĀ4v±œ†ķ=¢>¶ėņYŗÅÕŗš¬/mĘś­Ū–~ōć’Unź]‰*’ź«wnSV’żU[»©r’’ŖŖŻŻ¹’õUVīī?’žŖŖ·w’’ÕUU»’’śŖŖ­’’’UUU’’’źŖŖ’’’żUU’’’’ŖŖ’’’õU?’’’žŖ’’’’Õ’’’’ś’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’?’’’’’’€@ ›tķØC^ZgŒŸSÕhT»Ab»źQFœ +9=]īÓXŠÓu¬ÜŖÄH×q%V"+G&Ŗ±#ZUUˆˆ­€ Ŗ¬DD@UUb" *Ŗ«UUXŖŖŖUUŖŖUU€ Ŗ@U *€@ €@ €@ €@ €@ Ōl‘yQ‡ž W.aš@0ąHrĀtäHÄvāHĘāH"OĄĆĀĮNŠ.praęšA0A’Nu.praŅšA0A’Nu _."O RÄb* RÄb 〠RÄb〠RÄbå€JgpTNN`a~šC0ą[ą[apšC NŠ.Jka`š@0aVš@ `pSNNNu.Jka>š@0a4š@ `pRNNNu _.J€fppNN/B§?<N”&mBX‹+KB8D:/8ę\D8DD8ģ\?D>é_H‡GC×&oŽG0{pNū€ `°JŅąīfĀö\²²²²²'o B+aÖf˜a *f)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü HŅ`j'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü aŚ`:'o B+/ o`ōH…ŚE>;PČG>;PøGa"fä&H&/H…ŚE>;P¬:;P°HÅ$oÕÅWĘfN”` Gf4“`$“` / o`dH…ŚE>;PŅG>;PĀGa’fH&H&/H…ŚE>;P¶:;PŗHÅ$oÕÅfWĘDGN”` Gf6’`&’`'o +@`ų'o B+`Ž'o B+`Š'o B+/ m`¶aųfŗaLf²)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü / o`x\H‡a8/ g a €HŅ`d'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü LŅv/ o` g H‡aŠa $HŅ`'o B+a4föaˆfī) o`ŅH‡aų`Ō'o B+,-B/f,&mBEļ <<><N”&mBT‹+KB8/ ,-BU†`H„HÄ/H…äME&oadg܄+FB`n'o B+|a”fV$$Ha6f*@ &JEļ f <`<’><’’N”`€`'mBB+&o0< a<&o+‰+Č+g"B€Bf RX€`ō"oÓĄ"QOļ$NŃOļ$Nuåė <?’B$+NuPÄ?`BgHēŠ’R@*@LŖ0 : 8 ĄĀČĀHBŹĀ.Ś„ßGHGH@ŠEHE>߃8 < : ĢĀHBŹĀČĮކ,ŻCŽ…ŻCŽ„ŻC8ČĀHFHB: ŹĀŲ…ŻC: ŹĮŲ…ŻC: HAŹĮŲ…ŻCHFHGŽDHGHDŻDHFŻCHF8ČĀ*܄ŪC8 ČĮ܄ŪCHA8 ČĮ܄ŪC86 ČĮHAĘĮ؃vHEŪCHEHFÜDHF  HDŪDHEŪCHE8ČĮŚ„"$&†@H@†@ Jm ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@Lß8J_gNuačNuLŅ8 €€€ ƒ€€€€’’ƒ€’’ü¶€føfŗ‚f `.e†€k ``†€k `Nuü+f `J€k `Nuü+f `Jk `Nuax`’>ü+f `B@2ć˜ćIćP;ƒNuüNuüNua0WĘaJfžōJgžī`ąagŚ`žŽa0gŠ`žŲa&`žŠ,Œ‚f <Ą<` S@ćŠć‘jųNuLŅ8,Œ…f&<Ą<` SCćć”jųNuB@)åHA€A;o aż8<Nu’’’’’’’’’’’’’’ HēpB@)f&H€Š@Š@0|ŠĄŠĄŠĄŃéŃü p<` €ćH0{Nū€€„А–œ¢Ø‚‚‚‚‚‚‚‚ČŠŲąčšų*Ln²Ōö$Dd„¤Ää0\ˆ“ą 8dč@˜šH ųPxœČ ‚‚‚AÕ`(Aķ`"Aķ`Aķ `Aķ`Aķ` Aķ`Aķ) fVˆ fTˆ`“ m `œ m$`” m(`Œ m,`„ m0`| m4`t m8`l m<`d m ")H€ćHEśž”02HĄŅ€+A `B m$")H€ćHEśžr02HĄŅ€+A$` m(")H€ćHEśžP02HĄŅ€+A(`ž m,")H€ćHEśž.02HĄŅ€+A,`Ü m0")H€ćHEśž 02HĄŅ€+A0`ŗ m4")H€ćHEśżź02HĄŅ€+A4`˜ m8")H€ćHEśżČ02HĄŅ€+A8`v m<")H€ćHEśż¦02HĄ €fR€Ņ€+A<`H)H€ćHEśż~02HĄ m ‘Ą+H `()H€ćHEśż^02HĄ m$‘Ą+H$`)H€ćHEśż>02HĄ m(‘Ą+H(`č)H€ćHEśż02HĄ m,‘Ą+H,`Č)H€ćHEśüž02HĄ m0‘Ą+H0`Ø)H€ćHEśüŽ02HĄ m4‘Ą+H4`ˆ)H€ćHEśü¾02HĄ m8‘Ą+H8`h)H€ćHEśüž02HĄ m< €fR€‘Ą+H<`<&mBEé <<><N”&mBT‹+KB0) HĄ m ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m$ŃĄ`ä&mBEé <<><N”&mBT‹+KB0) HĄ m(ŃĄ`ø&mBEé <<><N”&mBT‹+KB0) HĄ m,ŃĄ`Œ&mBEé <<><N”&mBT‹+KB0) HĄ m0ŃĄ``&mBEé <<><N”&mBT‹+KB0) HĄ m4ŃĄ`4&mBEé <<><N”&mBT‹+KB0) HĄ m8ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m<ŃĄ`Ü&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m ŃĄ`„&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m$ŃĄ`,&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m(ŃĄ`Ō&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m,ŃĄ`|&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m0ŃĄ`$&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m4ŃĄ`Ģ&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m8ŃĄ`t&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m<ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ @`ō&mBEé <<><N”&mBX‹+KB i `Š mB&mBEé <<><N”&mBT‹+KB0) HĄŃĄ`¬ mB&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pŠ†ŃĄ`T)H€ćHEś÷‚02HĄ&mBEé |> GfRGN”Aé @fRˆR@&mBץ+KB<`p<`p<`p<`&ip aō2<’LßNu/€€’’ @?’f (㌈‚f €`€`P @Ąf0(ˆ‚f €`f €`€`f €`€(NuNuLŅNu(±„„€g+D Df Ą`€Nu+gaJg 0<aóZ` 0<aóNNu <?’B$+Nu <ĄBB‚Nu <?’BB‚NuaņĄNu(±„„€NuaņaŠ€„NuaźaŌ€„NuėašNu0<aņšNu0<aņęNu0< aņÜNu0<aņŅNu+faź` J€jaŽNu2d–Čś,6@JTzŽG,HFĢE;`Ō Gl *ČEÜ;@Ü{pœ<;`(N»`$Nu (€€žŠžŠ€€ž’žŠžŠ€žŒžŒž¾žŠžŒžŒžŒžŒžŠžŒ€€žŠžŠ€^^vv^^fvv^žŒžŒnvžŒžŒžŒžŒvžŒ^^vv^ņR’ ’(žŠņR’ ’ ’DžŠ’ ’(’D’(žŠ’(žŒžŒžŒžŠžŒņR’ ’(žŠņRˆ’0’ žŠ’:’ ’:’ žŠ’ ’(’(’:žŠ’(žŒžŒžŒžŠžŒˆ’0’ žŠ’:ų’NžŒžŠ’NžŒ’NžŒžŠ’N’N’N’NžŠ’NžŒžŒžŒžŠžŒų’NžŒžŠ’NódódóĢōTō ódō^óĢōTō~óöóöō(ōTóöōTōTōTōTōTō’ōˆóĢōTōh ĢžŠžŠžŠ Ā     ŠžŠ’bžŠ’X          @`@`ż&@`żJ@`żB8PÄ?`BgLŅŠD@Ų€ D(*HŅ8+0č ;@ÖpJf¼f¾‚f ņ0`.e ņ0ž‚ć‡ć–UÅSjpRSfʎކgņ0LŅ Jk ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@J_gNua NuHēĄG’8DČü Lū@BAś¾źOg2$˜%X%XBƒāOdHē€+|aļŽ_L߀JG`ĢLßšNu€ Č ś œ@ĆPō$˜–€¾¼ īk(!•ł  $ŗC·@'čŌ„+‘„ē*.µę ō€1ć_©1 5ŽÉæ8±¢¼.Å;Ž k:v@?ŠĒ#‰čB­xėŬbEŲ×&·z€I‡†x2n¬L©h? W“OÓĀĪĢķ”S„YQa@„ V„o„¹„ČYĪĖ'ō :]?9xų” „`”×6¹ åcÉņÉĶgNßfüo|@E"–jÅ­Ø+pµžŌĀxI’ϦÕ©“ŗGɀ錱RŖ~ėūłŽŽ¤ć ®¦‘Ē IÉvu†u “ž‹;]Å=]å5&Ä`RŠ —›’’’’’’’’’’’’’’’’’’’’’’’’’’’fųĄ€fLŅv~)(HDD;@ĄjałZ`ź GlćO8;@ČN»@Ä` GlĘWGćO8;@ N»@` ~ĄØÄXUGknf6?aš6f]@j Žü`Āf|~žĒH $ON”Žü$@&H`0ß`2/ašf]@j Žü`Žf|~üĒH $ON”Žü$@&H` ß`6aļĪf]@j ŽüRO`Xf|~’ĒH $ON”ŽüRO$@&H`ß`8z)åä Gf Eo0< aģz``åM5P>a Nu’‚ü€’’’’’’’’’’ų GgĀ+0E:TE°{pĢmĀJja6°{p¾m€+flė+fė` `J<Ģü+gJ€kAś’|Lš```ą`J€jAś’`Lš`Ą``Ą` ė`p`*Aś’0°ppfS@`0< aė|+gJ`D`2+faą+fė`aZė`J‡fR@ą‰$‚€H@B@ļˆ€‚€/aīf]@j Žü`Ųf|~üĒH $ON”Žü$@&H` ß`f@’&ƒ€ćŠć‘H@HA0HB2éˆé™(éšzČE|šĀF€D‚B€ƒHēĄaķ¬f]@j Žü`rf|~ųĒH $ON”Žü$@&H` ß ß`R&ƒ€H@€€ƒHA0?HB2HēĄaķZf]@j Žü ` f|~öĒH $ON”Žü $@&H` ß ß0ßNuJGf‚?’’ <€€‚`& Gf(" <š`(BHB2 2pHĒgE× oŲS`ņ`&HE×f <`<’N”)HćI&o"0{Nū€ø,88 "tvH@HĄīH€@በ@€f@0ćŠćQćŠćQćŠćQćŠćQćŠćQ4HB2<gė+f&`L @üf<(ˆ‚g(R@+gJm ćŠć‘S@J`ņaūŲ`0<Ą` ĮaūÄaķ~`ā0"/$/vHĄćHā@ @?’f&gė+f–`: @Ąf.(ˆ‚g"+gJm ćŠć‘S@J`ņaūN`aūFaķ`dHHĮ~aśˆ`T2HĮ~aśz`F"~aśn`:"o)HƒĘü $iÕü ÕĆC×a®aģ®`H@@€@H@<`<OļLßNuLŅp~>žDj DGÉ@ĖAĶB GAcJkĒŒ…VĆ`† DSGkāā–ā“UĆQĻ’ō(ˆ…kĒ(±„j@Ēx²…dĮˆ0D‚@`(f“†dĮˆ0D‚@`Dƒ@†@…`Dƒ@†@…Ō†Ó…dfā‘ā’ā“UĆR@(ˆ‚ˆƒf(J‡k0<Ą€+ fĄ`JkJ‡kxAć‹ć’ć‘S@J[Ģ’ōaśĘNu|rtxžEJ1Pf REQĻ’ōNu1PčŽćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓD1PćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓDRQĻ’ŗNuz~ a–0<?Jm ćŠć‘S@J`ņNup   f <€č  f <?’B$) Nu  f`ėĄ  f`ėĄ)()ˆ©ˆi J„f0<ĄĄBB‚Nuz~a’ gDB5Ba’^/ Hēą) c p aތ:<>*žE++ü„gDGÄaīb_$Ÿ%_%_v«gJ„j 0<æ’`0<@`J„k aŽJ`aķx"_v @?žcL @ĄdDJ@j"ė+g `źØ`ał&`ė+g `źˆ``ł¢NuH‡ Go><ė¼(JGf><ė¼(Nū@F/</</<JGkSG`DGG’J€jG?`P//</<?<Ą`:`6`ø``ā`$/</</<J€k?< `?<°` JfJ‚f`„?+|Hēą€’’’ €Ąf 2<ģ»`”ćŠć‘J@j ĄD‚@@@|āHā‘ā’J@WĪ’ö0<FJfJ‚g``Z€€’’$¼’ž%|š š„%|ūĻ÷™Hē@aÜ“Jƒgaō&«gBA`|œ@ģ©J€jDAL߀8BgJGj |ÜDœGn|` Fo|`<JGj ¾Do8zŚDšF0G>[ÅjDGaģ>$Æ%o%o BRHē @vH@B@H@Jk aė>`aÜLߊJƒg7o++J/jĄH§ >aóJf€€’’Jk Ą`Ą(*,aė„„?BHŅp*f aܞ`aŻÄJof f6ŸLŸŠRWRD`žę f>/SGaė2HŅRo`4>/SGaėJof$J/jaÜ> f6ŸLŸŠRWSD`ž–6Ÿ*gp`0*aö OŸüHGHFHEHDp2/jDAf0` pćAYČ’ü5Aa¬0/S@Jo[ĄJ/[Įš‚+aŻbf]@j Žü`6f|~ņĒH $ON”Žü$@&H` ß ß ß0ßßü$Ÿ%_%_7_NuaŻf]@j Žü`"f|~ņĒH $ON”Žü$@&H` ß ß ß0ßNurtvxz|~`8<ĻĶĖÉĒ AmHGHFHEHDĻĶĖÉHGHFHEHDSjtR2g0<HAĻĶĖÉĒdHGHFHEHDĻĶĖÉHGHFHEHDHAQČ’NuJ€j paŁVNqNuz~v,<@ā@d R@ā‰ā’ā“ā‰ā’ā“/p²†f“‡f ¶€fÅe.–€•‡“†Jk Ę`<@Ų  l Ą` Ē`$Jk †`<@Ų  l €` ‡ Žf``SJk †`<@Ų  l €` ‡J…k6SJk Ę`<@Ų  l Ą` ĒRć‹ć’ć‘e’N`’0"$&ކVĆ Jk ć‹ć’ć‘S@aóVNqNu @LŅĮ<<8˜HRDo:Jf"¼f¾‚f vž‚`|dv`vž‚Ž‡ć–UÅS@SD`Äādā–ā—R@SH°Hl`Hf*¼d`:f¾‚d`,f f`$€%F%GRH0@Nŗöą`"$&†‚f 0<Ą`Jm ćŠć‘S@J`ņvNŗņzNu‡NuJ‡gGNuFa0Bg/QĄfĄdĄhĄjĄč@?@ FNwaa Ę`daaø`X ‡€f~ †€f|J†jJ‡j¼‡Nu¾†Nu ‡€f~J‡NuaŌJ‡fJ†gB‡`< <NNJ†fpNNa`ųa”a|`ģHēa¦`ąa|kfpNNav`ŹaxaĢ`¾alJkfpNNaRa°a.`žaLJfJf <NNpNNHēa˜hpNN@mn o~`h<<š` ‡g<S lš<š gJf ‡R  f~`| ĘŽ†d ā—RS ‡,a˜,/ĻFa JP`ų./Dü`šaŠJj,<€Ą`,<€@a 2a@hpNN`ģa`aü`aVaų`aLah¤*€S…g~`”pNNa*jpNNa<`zaaāhpNNLßxXNuOļ’š//HļųaNuOļ’š//HļųaĶGaĶGNuHGīŸ €ŽiZi €āŸJNud ~f <āŸJNu~NupNNiއg €ā‚HGļŸJ‡LßxXNupNN./LßxX ‡€f~Nu?<’ž`$?<’’`?<` øbTJNuBgJkī 8cīHē~€$Ž ŠcJ Øc <Lß~TNu,<¢łƒ>.aXDx’B묒΄,<ÉŪCaą,.a”$(< żŖ.BJkFD c~䯾„o$ž„ž„`öĘD c~äÆD‡D„¾„lž„ž„`öz,<ģ‘b@(<2CöØē‡kD†D„Ž„Aś*rt’RB&(ä£ä¤J‡k š„܃ž˜QÉ’ź` Ś„œƒŽ˜QÉ’Ž2/j"Rf0a:.,a4g aĀLß~TNu.<’’’`šg,a.JLß~TNu/a/F,`ę(k †’b ¦|Nuą„R„f š`ņJgja <Nu~’`öHē~€<A,<€A$aŒĻBat,a@gJCD c~īÆ|*< Aśźrt`䤚„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņ~a gR.$|Ag(jDąžzG܆[Ķ’ü€Œ.<±r@a8,aLß~Nu<Jj~`~’ā<Lß~Nu.<€AOļJNuHē~€?gź$,<øŖ;AaīiĄ`D o°  lꯇėÆ,<±r@aÄ,.ax$`B.BCD c~äÆz,<&£ŃAśģtra4YˆSBr a,YˆSBr a$J/jD…D܅a.Žk’>g’:TLß~NuRB&(ä£ä¤J‡k Ś„Üƒž˜QÉ’źNuš„œƒŽ˜QÉ’ŽNuHē~€,<€AB'¾eb¾†cFĶGa CD c|`4īÆ|*< Aś®rt`䤌„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņa|.Jg .<ÉŪAazJg€ŽLß~Nu“źz,W}bG«X€Ŗ@U €@ €@ !ūTÖ3‚ÖŻ~ś·S’U»’ź­żU?’Ŗ’õ’ž’’’’’’’’’?’’’’’’’?a<NugPkīā dRā HC6<ī(*,Aś4.<€˜‡… ` Ē(Ų„*š˜š‡[Ė’ņZĖ’ņcR‡į FHCNu€@ €@ k$gBAkj  DźÆNu~’ā<Nu~NuBĮkōjDźÆD‡NufD‡J‡kŅ~Ē<Nuz_J‡g0jząD‡i&S ‡’bHGއ[Ķ’üJj ‡dā—RNuŽüJ†f‡’’’J<NuHFHG½`źkś~NugŲ(gčv€ŚEŲD··˜iäBHGHF¾FkTiĪāŸHG»DāL&†Ę:ĘʞƒHGHF6BĘŞƒd&BރSE&HCBGŽĆHEk:Ś…S>:…€.gŒNugFg\ŚEŲDv€··ŚiR¹Eā]B&HC(BĘÄHDČĒ؃BDŁHDHGHFĪĘHFŽ„j ‡€gNuSiex@ބއdā—RgNu~Nujś½‡’’’J<Nugfg~ŚEŲDv€··ŚhFjnŗfrakj`L¹Eā]HE:BB8ČĒHD&HCĘÅ؃HF&ĘĒ؃BDŁHDHGĪĘHFHEŽ„NuaČj ‡€gNuSiex@ބއdā—RigNu~Nu`½‡’’’J<Nuz J‡g„kzއ[Ķ’ü Fn| F’ämn8DDÉü/Aś¾Śp@<&0@ W.ƒ:ŹĆBEHExHCĘĒŚƒŁHG6ĘļڃdR:HEĪ×OļŽ…kއSF‡€dā—RFv 8ēfi F€ę®gNu~NuJDkų~’HFāāJ<NugR €kjklf`>k^g>k^g2šk8 d,&Bź«<€ŽƒeNuā—Ridō~’S<Nu.NuJNu ’čošD&BźÆ<€ŽƒeĢNuk¦gÖv€·šgPk< dĢ&Bź«žƒk BS ‡’bHGއ[Ģ’ü¹kgNu~Nu ’čoŠD&.<€`¾ĖDž†gąjŗD‡`¶Oļ’ö// JBg/QĄfĄdĄhĄjĄč@?@ Hē>Ąf~A?|+."jT/"Ü<€æH†āFvAś¼Pmn ¾Ød \HSC`Ač’śRC¼Pnögč`ģAčSC¼PmögŚ/|E+00,4jDBT/- B eR/.B …//tCļ$J‡jJ(fB8˜X*č­x ž…UĢ’üeBŽ… D0ÄQŹ’Ü>HĒLß|Nw@ŠĒ#<Ž k:9±¢¼/6ŽÉæ2ć_©2/µę õ,‘„ē*(čŌ„%ŗC·@"•łīk(¾¼ ˜–€ō$ĆPœ@ śČ €’żĢĢĢĶ’ś£× =’÷ƒn˜’óŃ·Y’š§Å¬G’ķ†7½’éÖæ”Ö’ę«Ģw’ć‰p_A’ßŪęžĻ’ÜÆė’ ’ٌ¼Ģ ’Õį.B’Ņ“$Ü5’ϐ|÷’Ėꕔæ’ČøwŖ2’œ’ī’ĮģJ~’¾¼åe’»— P’·ńɁ’“Įmš’±š¾Ķ’­÷–‡®’ŖĘ%’§žtŃø’£ż‡µóxBJ†g.jD†<Ā †’bHF܆[Ģ’üJj †dā–RNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.aŠNuCTAS0010BPH’’’’’€SEG0P’’’’PQ’’’’’`F TCDSMESSAGE FROM TASKC’+Mś’¶pAīNAg`ž&HOėAÓ <<Aįˆ<"I3€@ CN00Bm’ÜAķ’ŽN«@> Aķ’ęN«@> Aķ’īN«@> B-’‹B-’ŠL3  Bm’ˆB-’„B-’…B-’†B-’‡|’Y-’B§N“J$ ž+_’¶|’Y-’B§N“J$ ž+_’¶I3 |’;|’ŒY-’?-’ŒHm’Ų-’‹-’ŠHm’ˆHm’„/-’€Hm’€Hm’€Hm’ŖB§N“J ż¾H3€ +_’¶J­’¶gjHm’šN«@6$Error in ASSIGN directive for LUN 6.BgN«@7N«L3ˆ… @8Hm’šN«@6 Status Code = BgN«@7r -’¶N«@9N«@8`Hm’šN«@6$ H3 Good ASSIGN LUN 6 for public writeBgN«@7N«@8|’Bm’ŒY-’?-’ŒJ3 Hm’Ų-’‹-’ŠHm’ˆHm’„/-’€Hm’€Hm’€Hm’ŖB§N“J üŅ+_’¶J­’¶ghHm’šN«@6$ErI3@ ror in ASSIGN directive for LUN 5.BgN«@7N«@8Hm’šN«@6 Status CJ3(@ ode = BgN«@7r -’¶N«@9N«@8`lHm’šN«@6# Good ASSIGN LUN 5 for puI3D blic readBgN«@7N«@8Hm’šN«@6This message is from TASKA.LOBgN«03Ŗ" @7N«@8`ĢžØXVAķ’šN«@?Aķ’ųN«@?BgNN4  { PASCAL sample program }program‚smpl(input,output);ƒtype…b_ptr=^buffer;…p_ptr=^ios_prm_blk;…fd_ptr=^file_dscrpt;{‚datadeclarationincludefile}{$F=9995.rrtl.dcltype.ai}{‚i/obufferdeclaration} ƒbuffer=…record‡io_bfr:bufr…end;{„defaultdatarecord} „path_name=†record"ˆd_vol_name:array[1..4]ofchar;ˆd_usr_no:word;ˆd_cat:array[1..8]ofchar†end;ƒvar…out_f_desc:‚file_dscrpt;…def_path:path_name;…dir_code:integer;…wb_ptr:b_ptr;…ib_ptr:b_ptr;,…pb_ptr:p_ptr;‰{Parameterblockpointer}…status:integer;…tmp_stat:integer;…t_addr:integer;…p_opts:word;Š{Options} …ftyp‚:word;&…p_lun:byte;‹{Logicalunitnumber},…p_r_rec:integer;†{Randomrecordnumber}'…p_addr:integer;‡{Startingaddress},…ib_addr:integer;†{InputBufferAddress}-…p_ldt:integer;ˆ{Lengthofdatatransfer}+…p_lgn:integer;ˆ{Lengthofdatabuffer}/…pb_addr:integer;†{ParameterBlockAddress}(…fhs_lun:byte;‰{logicalunitnumber}&…fhs_opts:opt_bits;„{optionsbits}(…fhs_wcod:byte;ˆ{ProtectWriteCode}'…fhs_rcod:byte;ˆ{ProtectReadCode}#…fhs_recl:word;ˆ{RecordLength}+…fhs_siz‚:siz_rec;…{Size/Pointerrecord}…nul:integer;…tmp:integer;3…f_r_rec:integer;†{Randomrecordnumber-file}{…Libraryroutines}{$F=9995.rrtl.dclios.ai}NNØ:±¹U{$F=9995.rrtl.dclfhs.ai}{8…Libraryroutinedeclarations-specialpurposeroutines…(9995.rrtl.dclspec.ai)<ˆ**mustbeusedinconjunctionwith9995.rrtl.dcltype.ai**}ƒfunctionlloc(z_ptr:b_ptr)•:integer;forward;$ƒfunctionlloc1(varz_int:integer)•:integer;forward;!ƒfunctionlloc2(varz_bfr:bufr)•:integer;forward;ƒfunctionlloc3(z_ptr:p_ptr)•:integer;forward; ƒfunctionlptr(sg_adr:integer)•:sg_ptr;forward;"ƒfunctionlptr1(bf_adr:phy_addr)•:b_ptr;forward;ƒfunctionldef(‘var‚path:path_name)•:integer;forward;{&ƒReadarecordandprintitsubroutine}NNNN Nƒprocedureread_n_print;…var%‡read_status,write_status:integer;…begin‡p_lgn:=256;:‡read_status:=lread(fhs_lun,f_r_rec,ib_addr,p_lgn,p_ldt,œfhs_opts,0,0);‡ifread_status<>0then‰begin‹writeln('ReadError');(‹writeln('ƒErrorstatus=',read_status)‰end‡else‰begin‹p_lgn:=p_ldt;:‹write_status:=lwrite(p_lun,p_r_rec,ib_addr,p_lgn,p_ldt, ¢p_opts,0,0);‹ifwrite_status<>0thenbeginwriteln('WriteError');)writeln('ƒErrorstatus=',write_status)endŠend…end;ƒbegin‚{ptest}„status:=ldef(def_path);%„{Allocatespaceforoutputbuffer} „new(wb_ptr);$„{Allocatespaceforinputbuffer} „new(ib_ptr);'„{Allocatespaceforparameterblock} „new(pb_ptr);!†{Setupoutputfiledescriptor}ˆout_f_desc.vol_id:='CN00';ˆout_f_desc.user_nmbr:=00;ˆout_f_desc.catalog:='ˆ';ˆout_f_desc.file_name:='ˆ';ˆout_f_desc.extension:='‚';†fhs_wcod:=0;‰{writecode}†fhs_rcod:=0;‰{readcode}!†fhs_recl:=0;‰{recordlength}†{setupsizerecord}ˆfhs_siz.rsrvd:=0;ˆfhs_siz.key_siz:=0;ˆfhs_siz.fab_siz:=0;ˆfhs_siz.data_blk_siz:=0;†fhs_lun:=5;†status:=lfclose(fhs_lun,0);†fhs_lun:=6;†status:=lfclose(fhs_lun,0);ˆbeginŠfhs_lun:=6;Šfhs_opts:=16#2;AŠstatus:=lassign(fhs_lun,fhs_opts,out_f_desc,fhs_wcod,fhs_rcod,&œfhs_recl,fhs_siz,nul,nul,nul,ftyp,0);Šifstatus<>0thenŒbegin1Žwriteln('ErrorinASSIGNdirectiveforLUN6.');"Žwriteln('‚StatusCode=',status)ŒendŠelse‹begin0Žwriteln('‚GoodASSIGNLUN6forpublicwrite');Žfhs_lun:=5;Žfhs_opts:=16#0;AŽstatus:=lassign(fhs_lun,fhs_opts,out_f_desc,fhs_wcod,fhs_rcod,&œfhs_recl,fhs_siz,nul,nul,nul,ftyp,0);Žifstatus<>0thenbegin1’writeln('ErrorinASSIGNdirectiveforLUN5.');"’writeln('‚StatusCode=',status)endŽelsebegin/writeln('‚GoodASSIGNLUN5forpublicread'); WHILE1=1DObegin*’writeln('ThismessageisfromTASKA.LO');endend‹endˆendend.  ATAS0010B0 Ÿ€SEG2ĄSEG10 ŠRRTL`’’’’’0<’`ļ’’’’’ $@&IpAśŚNAf¼.HßüB "K*O,OB•Hķ(+I6Hķ0@+B:;C>;FH+G0Bm4¼ `J(HŁü’$HGź|+Kp&ü’’’’B›+K+Ll2<€0<ģBµX@YAbö&Jr|B›YfśAś ź%H,Aś Ŗ%H0Aś ų%H8Aś %H =fa2g ,fņ  g. Zg( Ae" [dCķK( ˜‰ -fDDHć‰Gķj7„až  fØJgŒįƒåƒa¤() ˜©„“ ƒ”clքƒ’BAķBØBBØBhBh BØ!|SEG2 pNAfžAķ!CBBØ1| BØ!|SEG2 1| pNAfżš–„ƒ”`Bƒa,iŻü’ŻĆKķ¼0<¼=%U@fś.N*O$iGź|+Kp&ü’’’’B›+K+i l&Jr|B›YfśAś 0%H,Aśš%H0Aś >%H8Aś T%Hp7`8p8`2p9`,p:`&p;` p<`p=`p>`p?`p@` KüNŠpA`ōpB`špC`ģpD`čpE`äpF`ąpG`ÜpH`ŲpI`ŌpJ`ŠpK`ĢpL`ČpM`ÄpN`ĄpO`¼pP`øpQ`“pR`°pS`¬pT`ØpU`¤pV` pW`œpX`˜pY`”pZ`p[`Œp\`ˆp]`„p^`€p_`’|p``’vpa`’ppb`’jpc`’dHķ’’|"o2 Ao <™`THĮҁNū`J``L`V`nHĄ@ "€/ € ga‚<`g < ĄalR oź +Gt+@x`BHĄ@+Gt+@xaH`0HĄ+It0/g.HĄ@a2+@x`+It0/HĄg€+@x @p"`Śp |`ΟüH×|| ?| /| /| OpND ßüNuHķ’’|+ot <+@xa¬`”Hķ’’|+ot <+@xa’`’zHķ’’|+ot <+@xa’v`’\Hķ’’|+o t <+@xa’X`’>Hķ’’|+o t <+@xa’:`’ H@0-4H@,NANuLŒĢś.nØÜĢŲ$6p–ØŗÄČī ŒJ€Œž²īŠŗĘĘ ¬üØč * X d ’ Ą  & 8 n œ Š 8 f ” Ō š šĢX¤š ÄžĘ Ź Ü  ` Ü\”ŅV”ŅZŽĀü0hŠb²‚ŅpŹ&˜ö HVrpapah!l’ö!l’ņpNA$l’ī$ˆ ¬’źfßü/@(Lßh _ßüNŠrpa,a$pNA ¬’öfßü/@Lßh _ßü NŠrpaśaŲ!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠrp$aĀaŠ!l’ģpNA$l’č$ˆ$l’ä$ˆ ¬’ąfßü/@4Lßh _ßü$NŠrp a~aF!l’ģpNA$l’č$ˆ ¬’äfßü/@0Lßh _ßü NŠrpa@apNA$l’ģ$ˆ ¬’čfßü/@,Lßh _ßüNŠrpaaę!l’ö !l’ņ!l’īp NA ¬’źfßü/@*Lßh _ßüNŠrp aÄa²!l’ų!l’ō !l’š!l’ģ!l’čpNA ¬’äfßü/@0Lßh _ßü NŠrpatBBØ!T!l’ü !l’ų!l’ō!l’špHNA ¬’ģfßü/@(Lßh _ßüNŠpKNAB€Lßh _.€NŠp NAB€Lßh _.€NŠrpaaņl’śl’ų !l’ō !l’š!l’ģpNA ¬’čfßü/@,Lßh _ßüNŠ op&NA/@Lßh _XNŠrpaža|!l’ö !l’ņp#NA ¬’īfßü/@&Lßh _ßüNŠ op"NA €f Pf€€/@Lßh _XNŠ op%LßhN^NAp0|NA op!NA/@Lßh _XNŠp$NALßh _ .€NŠ opNArp"aōaŅ!l’ö !l’ņl’šl’ī1l’ģ!l’č1l’ęp NA ¬’āfßü/@2Lßh _ßü"NŠrpa˜a†p NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠrpa^aLp NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠpNAB€Lßh _.€NŠrp aapNA ¬’ųfP/@Lßh _ßü NŠr paęaŌl’śpNA$l’ö" ¬’ņfßü /@"Lßh _ßüNŠ(OŁü Łü o±üf$_, ’śgŸü`ŸüN O/ aV!l’ö !l’ņ, ’śf$l’īB€!²X@ €8fšp NA$l’ź$ˆ ¬’ęf, ’śgßü`ßüN/@.Lßh _ßüNŠrpaaōpNA$l’ų$ˆ ¬’ōfP/@ Lßh _ßüNŠpNAB€Lßh _.€NŠpNAr pa¾a¬1l’śpNA$l’ö$ˆ ¬’ņfßü /@"Lßh _ßüNŠpNAB€Lßh _.€NŠrp apa^pNA ¬’ųfP/@Lßh _ßü NŠrpaBa0pNA$l’ų4ˆĮˆH@$l’ś4€Įˆ ¬’ōfP/@ Lßh _ßüNŠrpaaą!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠ opNABÆLßh _XNŠ opNA/@Lßh _XNŠrpaža|!l’ö !l’ņ!l’ī!l’źpNA ¬’ęfßü/@.Lßh _ßüNŠ(OŁü o±üfQ OpJNA$T$Ø$l$ ¬’üfP/@Lßh _ßü NŠ(OŁü o±üfQ O!T ¬pINA ¬’üfP/@Lßh _ßü NŠr paĢ ”l’ž BØB(p)NA$l’ś$ˆ ¬’öfßü /@Lßh _ßüNŠr paˆ ”l’žl’ü BØp-NA$l’ų$ˆ ¬’ōfßü /@*Lßh _ßüNŠr p aBa\p,NA ¬’ųfßü /@Lßh _ßü NŠp.NAB€Lßh _.€NŠr p aap+NA ¬’ųfßü /@Lßh _ßü NŠr p a Īačp*NA ¬’ųfßü /@Lßh _ßü NŠrpa œazl’ų l’ö !l’ņ !l’īp6NA ¬’źfßü/@*Lßh _ßüNŠB€0<€`B€(OŁü€T @p5NA/@Lßh _\NŠ op4NA/@Lßh _XNŠrpa  ”B€,’ž ,’ü@p3NA ¬’öf\/@Lßh _ßüNŠrp a Śa ČpANA ¬’ųfßü/@Lßh _ßü NŠr pa Øa –!l’ųpNA ¬’ōfßü /@ Lßh _ßüNŠrpa pa ^!l’ų!l’ō p@NA ¬’šfßü/@$Lßh _ßüNŠr pa 2a NA ¬’śfX/@Lßh _ßü NŠB/ m Aop’`* g Agp`B€AåI(mp™ü)Æ/@Lßh _\NŠB/ m Aop’`  mp`B€åI(mp™ü|)Æ/@Lßh _\NŠBB`4< rpa †0”„l’ž1B!l’śp:NA ¬’öfP/@Lßh _ßüNŠ opNA/@Lßh _XNŠ op&ķ@&­DB€Lßh _ßüNŠ(OŁüŁĄ o°üf$_ŸĮ O/ Nua,!l’ų $l’ō•üÕč !J g 1l’ī!l’źNu€B(BhAT$l’ü!RNu€B(BhAT1l’ž!l’śNul` l1l€B(ABB$T1² B BfšBhl’ž l’ü!Nua1l’ų !l’ō !l’šNu ”!l’ü1l’śNu ”!l’üNu1T1l’ž !l’ś Nu ”!l’ü!l’ųNu ”!l’üB(B( NuHēS€åHAśęÄAš Nš(WX—ŁŌNŌHē€Ąp mpüCś& ÉS@fś0<a9¬š@ 0<a9 š@ LßNuB+/ *m4Hķ’’|+_°a9~šm0ta9tš@0ąXä ąX0@NNB€BIśT am zn ,gč4k6 -fĄ`Ög0ƒgĮ` =fRŠa`  f@` NuBƒ:< &J $g am zn 4gˆ`6 am zn 4k6gćƒ(åƒÖ„ցSEfĪ‚ am zn 4jč  f" am zn +’žNu:< am zn  am zn 4k“fgŒ_郆SEfĢ`’z€€€@@ P€@  €@HÄR„„’’’žŸÄŸü æķb O÷H pNNOļ .·HNu.LŠ2*(-0a šaŹ+D0Nu"_. HĀ&g&<…(„QR„D’ž$O•ĵķldEļµķle•ķl؊a’z!OEļP/JEņ8’/JA??B$O eTgv`gvC)C BjBBjBŖL@O(-0fgA@a Jf<gJ-(gaat`aśgJ-$gaša\`aāgaÄ`8°m"b"?S@å@@,J5LŸg gaøa$` ga¤`aŠgNq5A+D0NŃHēŲžMź$gp’S@å@@,Aõ|B€(@AõJaH$€’€üLßyg/p(NNg g%m6*HBB|g€BNĮ NupaŒ|&8%m:*NuH瀀Aź$0¼€NCgNN *&o|&BjFB*K*E f|'` f|'`|'BjDLßNu.LŠ2*a4adB f† fpĄj& g far g4/ &Jav5 c ¼5‚aHa*H‚?av2&_g*8 gAź0¼NBgNN` ap÷Įj&a¶AģB’5ANup`n.LŠ Ŗ2*a~ fFa¼pj&aV*8 &g, g&Aź$0¼€NCg f0¼NCf0¼€NCgNNaFB’A€ a\CņO%I5ANup`ī.0/2RA’ž/7¼ Aļ Hē,o,nMī$a2Lßx$W$ja~&€’€ügp(NNfg0<÷’Įj äH@ćÅHBEBF ;g  g`š ;fäHēaśLß g/pANN Bfafčt…h Ę`¤ Cfa4<ų’Åh&!CHĘ`† DfašCKĘ`p FfaÜCJĘ`\ Rf$aø…gÅÅ4(Ā 1B`2 Wf$aŽ…gÅÅ4(Ā 1B`g’:g’ 2(JEg;PBpųĮh&‰('$HfŠFgg(-0aŽ+D05A gžō _"_0R€@’žO÷NŃg/pANNNugšfźfäNu f?*8 &g pųĄj&€W5@&0Nu/(-0fBg<`"g<`BR ft bfģ cp@NNB B)(NuB€BIśł†&H6<%B„aük$ #fĄ` ff&@€€€Nu€ü`öaŹkBfōgŚ .f R nŠ`Ž :f€@`Š (f€`Ä )fŖ@`øg Jfžf˜ggŒfF*H Kf  am zn (g24f.f. gD gō .fRˆ`*Rˆ`DĄ` 6<Gīa&4<aškĢ`Ą`Ā&<€€€ am zn 4k^f0fR *g2Ą  am zn 4kR .fā`JĘü ց`¤ ƒ€f4 .fÄĄ6<’ž` ƒ€g ƒ'cĄ` =C ` Ą`Ą4<aŚk 6< Gī aN4<aĀkō n& f| 6< Gīa(4<aœkĪ (g 6<Gīa 4<a~k° (fØBBBC am zn 4kD )gg8 Pn2AéK†AB`ČB’g BnĄ BcĄ=C `JĄĄĄB’ BcĄ`.Rˆ6<Gīap4<aęk$< Gī &Ā&Ā&Ā&Ā6ĀBn $B|gĄ4B|gĄJ€NuJCfBA`$ am zn SC /f Ą<€`4Nu4HB€€»ČgF am zn 4k. f(f @Ą`< *fĄĮSCn¾€€`$HB“CfĄ`< (*’žf<*`ĀSCnśNuJ€jĄ`QBgQBĄ`ĄBgĄNug g ³źga& ‰Nu%| 8%| .f %m@0%mD4` g%m6*NuHēżĄ./$TÆ$ G0å@A÷X@ @fB@C÷ "*jD€³…JjD$&H@HAĄĮĘĀ(ĀĀHBHDÄÄԁ"HABA҃BBHBтVĀJ…jDF…ʁ[Ć †DĆLßæNuHēłĄ./ TÆ a( ‚DĮLߟNuHēłĄ./ TÆ aćƒjD€ €DĮLߟNu G0å@A÷X@ @fB@C÷ "fpNN&āƒjD€³ƒJjDt’B²€dć‰R`ödЁć’ā‰SdņF‚"jD‚FĀ‚[ĮNu.LŠR’aP ‰Nu.LŠ8SDaØ€a“ ‰NuH€HĄ.LŠ8v / BJ€jt-D€SDGśL°›dSCnų˜CSDanJg‚avJCg(+’ür0°„e„R`öa\(SCnč0€aL ‰&_Nu;šŹõį˜–€B@† 'čd 0/8/`8/0/./ Gļ 2RAA’ž sLŠ˜@aąJ@g ›ačS@nö ‰&_$_O÷NŅ./ LŠtGś"JgÖĀSB8˜BaØ›a“SBnö&_ ‰NuFALSETRUE .JAlra`ašNu.JAlra|`a†Nu.JAlrah`arNu8D aFp °fp-€aHMśpža4<` ¼0aRB“Goņ’G4<`až¼RB“AoöNuaUāa_n(OLŠJAlažĢ`a’N ‰ßü`VF.LŠ8*R’Ņź³źcg !a0ĄR’`a& ‰Nu.LгźgR’aü T’a ‰NuHēĄ€2*fpDNN³źggS‰` g¼ `S‰`¼ %IAź0¼NBg ĘgNNa tCņO%I"jLßNuJDo ¼ aSDnōNu³źfa’zŸRIR’Nu./ LŠ 8+ gp`" faü8+gp"NN ŠVĄD&_Nu./ LŠ 8+ gp` gB`a¼ Š8+VĄD&_Nu./ LŠ 8+ fa–8+gp"NN„7D +ŠR€Ń“&_BNu./ LŠ 8+a<€aT Š&_Nu.a€Nu.a2€Nu.a"€NuHēx"aģrLŠ 8+,OačB +g -f -f|’ažaÜ am zn ax,Oa†JjD€ ŠŽü"LßH`Nu.a,a#ŽšQNu.aa#~šQNu.a a#nšQNuHēLŠ 8+a: Ifaz`$ NfaÖ` 0m 9naD`p2NNLßH` ŠNua"BF +g -f& -f<<a6a am zn ` am zn NuIś\°faaŽ am zn `āJ$gp2NN`. Am Znp2NN`JFf <€` <’€a"~š@NuINFINITYIśz°fa˜av am zn `āJ$gp2NN`L Am Znp2NN`8 (f$ )gaRa0 am zn `ąa8 <€a!ųš@NuNANx"aźj8+M×Iļa¢JƒjM×a¬JFgD€a!Ęš@(`(tJEfBEDEl–EBEaaaŗa!œšT0Žü"Nu .fta¾aœ am zn 0m 9op2NN`H0JEoJgĄSER`Jg ĄSERt`SCanaL am zn 0m 9oøNu/ IģEDErBDtJEoˆ&SEč\SBfņ9SAfč(_8+Nu Ef¤aaš am zn :<CšC +g -f( -f Fš:<XŚCaŲa¶ am zn 0m 9op2NN`UĄDNŅa@UĄDNŅa.SĄDNŅa0SĄDNŅaRĄDNŅa RĄDNŅaTĄDNŅaTĄDNŅ$o0HĄ`$o . &RƒC’žCļA÷8փā€UĮā€UĀg±‰fS€nųJg±IfJg± _O÷8NŠ$_. 8TDaąę"OUDg"ŲYDnśm2ŲNŅ"_. 2RAA’žU@°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃ"_. 2RAA’žU@ w°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃa.WĄDNŅa&VĄDNŅa]ĄDNŅa_ĄDNŅa^ĄDNŅa\ĄDNŅ./Eļ46RCC’žCņ026RCC’žHq00°Bo0J@g³ fS@nųp ”Agma `aLß.HNѰfSBnųNu²fRBmöNu."Ga0(` ."Ga$B„8R„„’’’ž.‰vøƒl(X„"mQ‰$I&)g""Cø‘nņ „ €lX‰%Q`*"€ÓĄ"Ä`""mEńH æŹbpNNEź’ŲQ‰$Ń"Ä$Ń+J ‰NuT—T—.a¬$PB mQˆµČbVB€“É("µČb "H h`ņ%H#J"gҐµĮb •Č؊ „$H#J" Ņ„³ĮbJ€f $‘PŠ+J`" ’ŠŅ‘$ @!JNu.a@ ­YNu.a2Yˆ"mQ‰³Čc""i³Čbų g Š‘±Ąb I"ip’ Ą É+HNuOļ’ąæķOļ bpNNNu.R@@’ž24A÷ŌPUAo!`YAnųf1`0‚Š@`NuHĄ _.2HĮ6< R€@’žgƒR(˜g:nE÷C÷U@g#"Y@nśm3".I`"OaŽ$OUg m $ŁYnśm4Ł4ĆU„nśNŠ _.U@2RAA’žR@@’ž8˜Ag2nC÷E÷>€g%!Y@nśm5!.JNŠ"Oaݼ$OJAg$ŁYAnśm4ŁNŠ _.R@@’žC÷2RAA’žE÷µÉgJAg#"YAnśm3".INŠ _.02RAA’žŽĮNŠ _.4$O6RCC’žC÷028aŻLHq@ŅĮ0g!S@nś"_ŅB0R@@’žŌĄJ@g"S@nś3.INŠ _.46RCC’žC÷0a’fBA`PS@8˜@²Do2JAg@E÷0²Df8µDDg*g’ĮS‰ŚS@nś’Į`R@@’žŌĄµÉg"S@nś`”Ą"J.I?NŠ."O20R@@’žEń40R@@’žHrB@JAg6”Am2RB0SA I?¶fJAg ( µ f SAnųBR@` 2$D"HSBnŽB@2.W GNŠ _.4$O6RCC’žCņ02gEļ a Ž /€ AļCļ Eļa a rA×Cś’"E×a ø €AļC×Eļaźa PSo?oHBoIś üBÆ$BÆ(BÆ,|€(BÆ0BÆ4BÆ8<<`n/|€’’€ašWŽü NuŽüB>¼?’BÆ/Gp`ŽüBBÆBÆJ€k>¼?’p`>¼@pHz’¾` <’’±r÷ŃĻy«€.žü a¶šoL× @?’gņ @æ’gźJfJ‚gō @’bŲć@ā@€’’JkS@ćŠć‘jųH×`.€B @g2jDAĄHA0<S@ć‰jśB‚BoHēąA×Cś’hE×a²žü AļCś’bE×aä /€EļaÖ /€C×aŽü Iś ź<<aRoA×Cļ a¬aŽü @?žc @Ądā‰ā’R@ @ĄfōHļć˜āX>€a¾šWŽü NuŽü>¼?’BÆ/Gp`Žü>¼æ’BÆBÆpHz’Ź`źÉŚ¢!hĀ4€€€ĄĄ.žüa4šoL×HĄć@ā@€€ ’’.€ @?’f8 f ‚f?z’€/z’|/z’z`B—/GpaJ`˜`fE×a @’šoT/@ jBRJ@k Aś’HCŅa¼  @’šo Iś„BFaĘ`ahJokAś’CŅ €aLa²J/ j €`a@  @?’c @ĄdLļā‰ā’R@ @ĄfōHļć˜āX?@a HšoŽüNuHļAļCļEļa AļCśžŹEļa /€Aśž CļEļa¾a$AļCļEļafLļNuHēąžüJ?FH/R/j/j B—BÆBÆBÆ BÆBÆ|€ F@gˆ/|’’¼?’BÆ/G0<Hzž`ōrtvx2(4(6(8( @o864BA@`ģ @gą¹ąŗą»ą¬HCˆƒBƒ6BBˆ‚HA†NuHēĄ0)°hlĆH0)h @?oBƒB„` @gaˆ`LčLŃ*±…j¶fø‚cĆCÅD@”„“ƒ` Ō„Óƒdā‘ā’R@HŅLßNuJfJ‚gJk S@ćŠć‘jųHŅNu0<Ą5@NuJØfJØg J©fJ©fB’BŖBŖ|ĄŽüNuaŠ/ 04‘±R0(ŠiR@5@&OB§B§B§B§:<LØ81PĄÄĀÄÄÄĘÄÖ£7CBCćSHCԃ6‚BBHB҂ң7ABAćQHAЁ'@’žÖüUEj¾LßJ€kSjć‹ć’ć‘ćjņHź&_Nua’H/04‘±R0(i5@LčLé xzJ€k Sjć‰ćjöJ‚k Rjć‹ć’jöāˆā‘āŠā“<<`’ƒ‘‚ć•ć”EgŅƒŃ‚ć‰ćRF F@oāJ„k Sjćć”jöHź0,Nu’žŁ’’’’’’’’’“’’µó3łŽd…JØfJØf1|ĄNuHēųLčJk ShćŠć‘jöžü$ <’’H×Gļ IļAś’¤"O$Kaž€Aś’Œ"Każŗ?|’ž<<` O"K$LažęSk L$Każ–RF Foā(o(,f Aś’`až4LÓŽü$Lß@6(āCRCŠCHŠNuaššA0ĮašA aˆšA0fNuå@@ mp pŽüHē’’*OHz.Bg/QĄfĄdĄhĄjĄč@?@ NŠLß’’Žü NuÉŚ¢!hĀ4v±œ†ķ=¢>¶ėņYŗÅÕŗš¬/mĘś­Ū–~ōć’Unź]‰*’ź«wnSV’żU[»©r’’ŖŖŻŻ¹’õUVīī?’žŖŖ·w’’ÕUU»’’śŖŖ­’’’UUU’’’źŖŖ’’’żUU’’’’ŖŖ’’’õU?’’’žŖ’’’’Õ’’’’ś’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’?’’’’’’€@ ›tķØC^ZgŒŸSÕhT»Ab»źQFœ +9=]īÓXŠÓu¬ÜŖÄH×q%V"+G&Ŗ±#ZUUˆˆ­€ Ŗ¬DD@UUb" *Ŗ«UUXŖŖŖUUŖŖUU€ Ŗ@U *€@ €@ €@ €@ €@ Ōl‘yQ‡ž W.aš@0ąHrĀtäHÄvāHĘāH"OĄĆĀĮNŠ.praęšA0A’Nu.praŅšA0A’Nu _."O RÄb* RÄb 〠RÄb〠RÄbå€JgpTNN`a~šC0ą[ą[apšC NŠ.Jka`š@0aVš@ `pSNNNu.Jka>š@0a4š@ `pRNNNu _.J€fppNN/B§?<N”&mBX‹+KB8D:/8ę\D8DD8ģ\?D>é_H‡GC×&oŽG0{pNū€ `°JŅąīfĀö\²²²²²'o B+aÖf˜a *f)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü HŅ`j'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü aŚ`:'o B+/ o`ōH…ŚE>;PČG>;PøG a"fä&H&/H…ŚE>;P¬:;P°HÅ$oÕÅWĘfN”` Gf4“`$“` / o`dH…ŚE>;PŅG>;PĀGa’fH&H&/H…ŚE>;P¶:;PŗHÅ$oÕÅfWĘDGN”` Gf6’`&’`'o +@`ų'o B+`Ž'o B+`Š'o B+/ m`¶aųfŗaLf²)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü / o`x\H‡a8/ g a €HŅ`d'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü LŅv/ o` g H‡aŠa $HŅ`'o B+a4föaˆfī) o`ŅH‡aų`Ō'o B+,-B/f,&mBEļ <<><N”&mBT‹+KB8/ ,-BU†`H„HÄ/H…äME&oadg܄+FB`n'o B+|a”fV$$Ha6f*@ &JEļ f <`<’><’’N”`€`'mBB+&o0< a<&o+‰+Č+g"B€Bf RX€`ō"oÓĄ"QOļ$NŃOļ$Nuåė <?’B$+NuPÄ?`BgHēŠ’R@*@LŖ0 : 8 ĄĀČĀHBŹĀ.Ś„ßGHGH@ŠEHE>߃8 < : ĢĀHBŹĀČĮކ,ŻCŽ…ŻCŽ„ŻC8ČĀHFHB: ŹĀŲ…ŻC: ŹĮŲ…ŻC: HAŹĮŲ…ŻCHFHGŽDHGHDŻDHFŻCHF8ČĀ*܄ŪC8 ČĮ܄ŪCHA8 ČĮ܄ŪC86 ČĮHAĘĮ؃vHEŪCHEHFÜDHFHDŪDHEŪCHE8ČĮŚ„"$&†@H@†@ Jm ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@Lß8J_gNuačNuLŅ8 €€€ ƒ€€€€’’ƒ€’’ü¶€føfŗ‚f `.e†€k ``†€k `Nuü+f `J€k `Nuü+f `Jk `Nuax`’>ü+f `B@2ć˜ćIćP;ƒNuüNuüNua0WĘaJfžōJgžī`ąagŚ`žŽa0gŠ`žŲa&`žŠ,Œ‚f <Ą<` S@ćŠć‘jųNuLŅ8,Œ…f&<Ą<` SCćć”jųNuB@)åHA€A;o aż8<Nu’’’’’’’’’’’’’’ HēpB@)f&H€Š@Š@0|ŠĄŠĄŠĄŃéŃü p<` €ćH0{Nū€€„А–œ¢Ø‚‚‚‚‚‚‚‚ČŠŲąčšų*Ln²Ōö$Dd„¤Ää0\ˆ“ą 8dč@˜šH ųPxœČ ‚‚‚AÕ`(Aķ`"Aķ`Aķ `Aķ`Aķ` Aķ`Aķ) fVˆ fTˆ`“ m `œ m$`” m(`Œ m,`„ m0`| m4`t m8`l m<`d m ")H€ćHEśž”02HĄŅ€+A `B m$")H€ćHEśžr02HĄŅ€+A$` m(")H€ćHEśžP02HĄŅ€+A(`ž m,")H€ćHEśž.02HĄŅ€+A,`Ü m0")H€ćHEśž 02HĄŅ€+A0`ŗ m4")H€ćHEśżź02HĄŅ€+A4`˜ m8")H€ćHEśżČ02HĄŅ€+A8`v m<")H€ćHEśż¦02HĄ €fR€Ņ€+A<`H)H€ćHEśż~02HĄ m ‘Ą+H `()H€ćHEśż^02HĄ m$‘Ą+H$`)H€ćHEśż>02HĄ m(‘Ą+H(`č)H€ćHEśż02HĄ m,‘Ą+H,`Č)H€ćHEśüž02HĄ m0‘Ą+H0`Ø)H€ćHEśüŽ02HĄ m4‘Ą+H4`ˆ)H€ćHEśü¾02HĄ m8‘Ą+H8`h)H€ćHEśüž02HĄ m< €fR€‘Ą+H<`<&mBEé <<><N”&mBT‹+KB0) HĄ m ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m$ŃĄ`ä&mBEé <<><N”&mBT‹+KB0) HĄ m(ŃĄ`ø&mBEé <<><N”&mBT‹+KB0) HĄ m,ŃĄ`Œ&mBEé <<><N”&mBT‹+KB0) HĄ m0ŃĄ``&mBEé <<><N”&mBT‹+KB0) HĄ m4ŃĄ`4&mBEé <<><N”&mBT‹+KB0) HĄ m8ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m<ŃĄ`Ü&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m ŃĄ`„&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m$ŃĄ`,&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m(ŃĄ`Ō&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m,ŃĄ`|&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m0ŃĄ`$&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m4ŃĄ`Ģ&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m8ŃĄ`t&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m<ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ @`ō&mBEé <<><N”&mBX‹+KB i `Š mB&mBEé <<><N”&mBT‹+KB0) HĄŃĄ`¬ mB&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pŠ†ŃĄ`T)H€ćHEś÷‚02HĄ&mBEé |> GfRGN”Aé @fRˆR@&mBץ+KB<`p<`p<`p<`&ip aō2<’LßNu/€€’’ @?’f (㌈‚f €`€`P @Ąf0(ˆ‚f €`f €`€`f €`€(NuNuLŅNu(±„„€g+D Df Ą`€Nu+gaJg 0<aóZ` 0<aóNNu <?’B$+Nu <ĄBB‚Nu <?’BB‚ NuaņĄNu(±„„€NuaņaŠ€„NuaźaŌ€„NuėašNu0<aņšNu0<aņęNu0< aņÜNu0<aņŅNu+faź` J€jaŽNu2d–Čś,6@JTzŽG,HFĢE;`Ō Gl *ČEÜ;@Ü{pœ<;`(N»`$Nu (€€žŠžŠ€€ž’žŠžŠ€žŒžŒž¾žŠžŒžŒžŒžŒžŠžŒ€€žŠžŠ€^^vv^^fvv^žŒžŒnvžŒžŒžŒžŒvžŒ^^vv^ņR’ ’(žŠņR’ ’ ’DžŠ’ ’(’D’(žŠ’(žŒžŒžŒžŠžŒņR’ ’(žŠņRˆ’0’ žŠ’:’ ’:’ žŠ’ ’(’(’:žŠ’(žŒžŒžŒžŠžŒˆ’0’ žŠ’:ų’NžŒžŠ’NžŒ’NžŒžŠ’N’N’N’NžŠ’NžŒžŒžŒžŠžŒų’NžŒžŠ’NódódóĢōTō ódō^óĢōTō~óöóöō(ōTóöōTōTōTōTōTō’ōˆóĢōTōh ĢžŠžŠžŠ Ā     ŠžŠ’bžŠ’X          @`@`ż&@`żJ@`żB8PÄ?`BgLŅŠD@Ų€ D(*HŅ8+0č ;@ÖpJf¼f¾‚f ņ0`.e ņ0ž‚ć‡ć–UÅSjpRSfʎކgņ0LŅ Jk ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@J_gNua NuHēĄG’8DČü Lū@BAś¾źOg2$˜%X%XBƒāOdHē€+|aļŽ_L߀JG`ĢLßšNu€ Č ś œ@ĆPō$˜–€¾¼ īk(!•ł$ŗC·@'čŌ„+‘„ē*.µę ō€1ć_©1 5ŽÉæ8±¢¼.Å;Ž k:v@?ŠĒ#‰čB­xėŬbEŲ×&·z€I‡†x2n¬L©h? W“OÓĀĪĢķ”S„YQa@„ V„o„¹„ČYĪĖ'ō :]?9xų” „`”×6¹ åcÉņÉĶgNßfüo|@E"–jÅ­Ø+pµžŌĀxI’ϦÕ©“ŗGɀ錱RŖ~ėūłŽŽ¤ć ®¦‘Ē IÉvu†u “ž‹;]Å=]å5&Ä`RŠ —›’’’’’’’’’’’’’’’’’’’’’’’’’’’fųĄ€fLŅv~)(HDD;@ĄjałZ`ź GlćO8;@ČN»@Ä` GlĘWGćO8;@ N»@` ~ĄØÄXUGknf6?aš6f]@j Žü`Āf|~žĒH $ON”Žü$@&H`0ß`2/ašf]@j Žü`Žf|~üĒH $ON”Žü$@&H` ß`6aļĪf]@j ŽüRO`Xf|~’ĒH $ON”ŽüRO$@&H`ß`8z)åä Gf Eo0< aģz``åM5P>a Nu’‚ü€’’’’’’’’’’ų GgĀ+0E:TE°{pĢmĀJja6°{p¾m€+flė+fė` `J<Ģü+gJ€kAś’|Lš```ą`J€jAś’`Lš`Ą``Ą` ė`p`*Aś’0°ppfS@`0< aė|+gJ`D`2+faą+fė`aZė`J‡fR@ą‰$‚€H@B@ļˆ€‚€/aīf]@j Žü`Ųf|~üĒH $ON”Žü$@&H` ß`f@’&ƒ€ćŠć‘H@HA0HB2éˆé™(éšzČE|šĀF€D‚B€ƒHēĄaķ¬f]@j Žü`rf|~ųĒH $ON”Žü$@&H` ß ß`R&ƒ€H@€€ƒHA0?HB2HēĄaķZf]@j Žü ` f|~öĒH $ON”Žü $@&H` ß ß0ßNuJGf‚?’’ <€€‚`& Gf(" <š`(BHB2 2pHĒgE× oŲS`ņ`&HE×f <`<’N”)HćI&o"0{Nū€ø ,88 "tvH@HĄīH€@በ@€f@0ćŠćQćŠćQćŠćQćŠćQćŠćQ4HB2<gė+f&`L @üf<(ˆ‚g(R@+gJm ćŠć‘S@J`ņaūŲ`0<Ą` ĮaūÄaķ~`ā0"/$/vHĄćHā@ @?’f&gė+f–`: @Ąf.(ˆ‚g"+gJm ćŠć‘S@J`ņaūN`aūFaķ`dHHĮ~aśˆ`T2HĮ~aśz`F"~aśn`:"o)HƒĘü $iÕü ÕĆC×a®aģ®`H@@€@H@<`<OļLßNuLŅp~>žDj DGÉ@ĖAĶB GAcJkĒŒ…VĆ`† DSGkāā–ā“UĆQĻ’ō(ˆ…kĒ(±„j@Ēx²…dĮˆ0D‚@`(f“†dĮˆ0D‚@`Dƒ@†@…`Dƒ@†@…Ō†Ó…dfā‘ā’ā“UĆR@(ˆ‚ˆƒf(J‡k0<Ą€+ fĄ`JkJ‡kxAć‹ć’ć‘S@J[Ģ’ōaśĘNu|rtxžEJ1Pf REQĻ’ōNu1PčŽćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓD1PćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓDRQĻ’ŗNuz~ a–0<?Jm ćŠć‘S@J`ņNup f <€č  f <?’B$) Nu  f`ėĄ  f`ėĄ)()ˆ©ˆi J„f0<ĄĄBB‚Nuz~a’ gDB5Ba’^/ Hēą) c p aތ:<>*žE++ü„gDGÄaīb_$Ÿ%_%_v«gJ„j 0<æ’`0<@`J„k aŽJ`aķx"_v @?žcL @ĄdDJ@j"ė+g `źØ`ał&`ė+g `źˆ``ł¢NuH‡ Go><ė¼(JGf><ė¼(Nū@F/</</<JGkSG`DGG’J€jG?`P//</<?<Ą`:`6`ø``ā`$/</</<J€k?< `?<°` JfJ‚f`„?+|Hēą€’’’ €Ąf 2<ģ»`”ćŠć‘J@j ĄD‚@@@|āHā‘ā’J@WĪ’ö0<FJfJ‚g``Z€€’’$¼’ž%|š š„%|ūĻ÷™Hē@aÜ“Jƒgaō&«gBA`|œ@ģ©J€jDAL߀8BgJGj |ÜDœGn|` Fo|`<JGj ¾Do8zŚDšF0G>[ÅjDGaģ>$Æ%o%o BRHē @vH@B@H@Jk aė>`aÜLߊJƒg7o++J/jĄH§ >aóJf€€’’Jk Ą`Ą(*,aė„„?BHŅp*f aܞ`aŻÄJof f6ŸLŸŠRWRD`žę f>/SGaė2HŅRo`4>/SGaėJof$J/jaÜ> f6ŸLŸŠRWSD`ž–6Ÿ*gp`0*aö OŸüHGHFHEHDp2/jDAf0` pćAYČ’ü5Aa¬0/S@Jo[ĄJ/[Įš‚+aŻbf]@j Žü`6f|~ņĒH $ON”Žü$@&H` ß ß ß0ßßü$Ÿ%_%_7_NuaŻf]@j Žü`"f|~ņĒH $ON”Žü$@&H` ß ß ß0ßNurtvxz|~`8<ĻĶĖÉĒ AmHGHFHEHDĻĶĖÉHGHFHEHDSjtR2g0<HAĻĶĖÉĒdHGHFHEHDĻĶĖÉHGHFHEHDHAQČ’NuJ€j paŁVNqNuz~v,<@ā@d R@ā‰ā’ā“ā‰ā’ā“/p²†f“‡f ¶€fÅe.–€•‡“†Jk Ę`<@Ų  l Ą` Ē`$Jk †`<@Ų  l €` ‡ Žf``SJk †`<@Ų  l €` ‡J…k6SJk Ę`<@Ų  l Ą` ĒRć‹ć’ć‘e’N`’0"$&ކVĆ Jk ć‹ć’ć‘S@aóVNqNu @LŅĮ<<8˜HRDo:Jf"¼f¾‚f vž‚`|dv`vž‚Ž‡ć–UÅS@SD`Äādā–ā—R@SH°Hl`Hf*¼d`:f¾‚d`,f f`$€%F%GRH0@Nŗöą`"$&†‚f 0<Ą`Jm ćŠć‘S@J`ņvNŗņzNu‡NuJ‡gGNuFa0Bg/QĄfĄdĄhĄjĄč@?@ FNwaa Ę`daaø`X ‡€f~ †€f|J†jJ‡j¼‡Nu¾†Nu ‡€f~J‡NuaŌJ‡fJ†gB‡`< <NNJ†fpNNa`ųa”a|`ģHēa¦`ąa|kfpNNav`ŹaxaĢ`¾alJkfpNNaRa°a.`žaLJfJf <NNpNNHēa˜hpNN@mn o~`h<<š` ‡g<S lš<š gJf ‡R  f~`| ĘŽ†d ā—RS ‡,a˜,/ĻFa JP`ų./Dü`šaŠJj,<€Ą`,<€@a 2a@hpNN`ģa`aü`aVaų`aLah¤*€S…g~`”pNNa*jpNNa<`zaaāhpNNLßxXNuOļ’š//HļųaNuOļ’š//HļųaĶGaĶGNuHGīŸ €ŽiZi €āŸJNud ~f <āŸJNu~NupNNiއg €ā‚HGļŸJ‡LßxXNupNN./LßxX ‡€f~Nu?<’ž`$?<’’`?<` øbTJNuBgJkī 8cīHē~€$Ž ŠcJ Øc <Lß~TNu,<¢łƒ>.aXDx’B묒΄,<ÉŪCaą,.a”$(< żŖ.BJkFD c~䯾„o$ž„ž„`öĘD c~äÆD‡D„¾„lž„ž„`öz,<ģ‘b@(<2CöØē‡kD†D„Ž„Aś*rt’RB&(ä£ä¤J‡k š„܃ž˜QÉ’ź` Ś„œƒŽ˜QÉ’Ž2/j"Rf0a:.,a4g aĀLß~TNu.<’’’`šg,a.JLß~TNu/a /F,`ę(k †’b ¦|Nuą„R„f š`ņJgja <Nu~’`öHē~€<A,<€A$aŒĻBat,a@gJCD c~īÆ|*< Aśźrt`䤚„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņ~a gR.$|Ag(jDąžzG܆[Ķ’ü€Œ.<±r@a8,aLß~Nu<Jj~`~’ā<Lß~Nu.<€AOļJNuHē~€?gź$,<øŖ;AaīiĄ`D o°  lꯇėÆ,<±r@aÄ,.ax$`B.BCD c~äÆz,<&£ŃAśģtra4YˆSBr a,YˆSBr a$J/jD…D܅a.Žk’>g’:TLß~NuRB&(ä£ä¤J‡k Ś„Üƒž˜QÉ’źNuš„œƒŽ˜QÉ’ŽNuHē~€,<€AB'¾eb¾†cFĶGa CD c|`4īÆ|*< Aś®rt`䤌„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņa|.Jg .<ÉŪAazJg€ŽLß~Nu“źz,W}bG«X€Ŗ@U €@ €@ !ūTÖ3‚ÖŻ~ś·S’U»’ź­żU?’Ŗ’õ’ž’’’’’’’’’?’’’’’’’?a<NugPkīā dRā HC6<ī(*,Aś4.<€˜‡… ` Ē(Ų„*š˜š‡[Ė’ņZĖ’ņcR‡į FHCNu€@ €@ k$gBAkjDźÆNu~’ā<Nu~NuBĮkōjDźÆD‡NufD‡J‡kŅ~Ē<Nuz_J‡g0jząD‡i&S ‡’bHGއ[Ķ’üJj ‡dā—RNuŽüJ†f‡’’’J<NuHFHG½`źkś~NugŲ(gčv€ŚEŲD··˜iäBHGHF¾FkTiĪāŸHG»DāL&†Ę:ĘʞƒHGHF6BĘŞƒd&BރSE&HCBGŽĆHEk:Ś…S>:…€.gŒNugFg\ŚEŲDv€··ŚiR¹Eā]B&HC(BĘÄHDČĒ؃BDŁHDHGHFĪĘHFŽ„j ‡€gNuSiex@ބއdā—RgNu~Nujś½‡’’’J<Nugfg~ŚEŲDv€··ŚhFjnŗfrakj`L¹Eā]HE:BB8ČĒHD&HCĘÅ؃HF&ĘĒ؃BDŁHDHGĪĘHFHEŽ„NuaČj ‡€gNuSiex@ބއdā—RigNu~Nu`½‡’’’J<Nuz J‡g„kzއ[Ķ’ü Fn| F’ämn8DDÉü/Aś¾Śp@<&0@ W.ƒ:ŹĆBEHExHCĘĒŚƒŁHG6ĘļڃdR:HEĪ×OļŽ…kއSF‡€dā—RFv 8ēfi F€ę®gNu~NuJDkų~’HFāāJ<NugR €kjklf`>k^g>k^g2šk8 d,&Bź«<€ŽƒeNuā—Ridō~’S<Nu.NuJNu ’čošD&BźÆ<€ŽƒeĢNuk¦gÖv€·šgPk< dĢ&Bź«žƒk BS ‡’bHGއ[Ģ’ü¹kgNu~Nu ’čoŠD&.<€`¾ĖDž†gąjŗD‡`¶Oļ’ö// JBg/QĄfĄdĄhĄjĄč@?@ Hē>Ąf~A?|+."jT/"Ü<€æH†āFvAś¼Pmn ¾Ød \HSC`Ač’śRC¼Pnögč`ģAčSC¼PmögŚ/|E+00,4jDBT/- B eR/.B …//tCļ$J‡jJ(fB8˜X*č­x ž…UĢ’üeBŽ… D0ÄQŹ’Ü>HĒLß|Nw@ŠĒ#<Ž k:9±¢¼/6ŽÉæ2ć_©2/µę õ,‘„ē*(čŌ„%ŗC·@"•łīk(¾¼ ˜–€ō$ĆPœ@ śČ €’żĢĢĢĶ’ś£× =’÷ƒn˜’óŃ·Y’š§Å¬G’ķ†7½’éÖæ”Ö’ę«Ģw’ć‰p_A’ßŪęžĻ’ÜÆė’ ’ٌ¼Ģ ’Õį.B’Ņ“$Ü5’ϐ|÷’Ėꕔæ’ČøwŖ2’œ’ī’ĮģJ~’¾¼åe’»— P’·ńɁ’“Įmš’±š¾Ķ’­÷–‡®’ŖĘ%’§žtŃø’£ż‡µóxBJ†g.jD†<Ā †’bHF܆[Ģ’üJj †dā–RNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.aŠNu=/* =/*†TASKB.PF=/*"=/* Chain file to compile TASKB.SA=/*:=/* If no output argument is specified for the listing the'=/* chain file will default to TASKB.LS=/*=/IFC \1ƒ=ARGTASKB.LS=/ENDIF=/*=PASCAL TASKB.SA,TASKB.PC,\1=/*{ Included files are:=/*ƒ--none--=/*}=PASCAL2 TASKB.PC=/*=ENDNNN NNNs]1SMPL PSREL' TASKB PC #&†M68000 Pascal object from 2.30 resident compilerž2h.PLJSR iLDEF iLPTR1 iLPTR iLLOC3 iLLOC2 iLLOC1 iLLOC iLLOADER iLRTVATTR iLFCHDIR iLFCHDEV iLCHGLUN iLFCHVOL iLALLOC iLASSIGN iLCHGPERM iLRENAME iLPROTECT iLFCLOSE iLFDELETE iLCHKPT iLWAITO ū2iLHALTIO iLTESTIO iLREWIND iLPOSITIO iLTBRAK iLCONFIG iLCONFST iLBRKSRV iLFORMAT iLDELETE iLUPDATE iLOUTIN iLWRITE iLREAD IREAD_N_P h.PLDCS h.PWRS h.PWLN h.PWRJ I.PMAIN h.PIFD h.PRWT [2h.PRST h.PNEW h.PSTCV h.PCLO O.PZSTART O.PZMAIN ’)&/” ŸI3 NV’ų+|’”Y-’Hm’x/-’œ/-’”Hm’˜?-’ŒB§B§N“I5 Ō-_’ųJ®’ųgTHm’šN«@6J3Q Read ErrorBgN«@7N«@8Hm’šN«@6 Error status = BgN«@7r .’ųK3P@ N«@9N«@8`+m’˜’”Y-’©Hm’¤/-’œ/-’”Hm’˜?-’¬B§B§N“J4 ’L-_’üJ®’ügPHmK3  ’šN«@6 Write ErrorBgN|«@7N«@8Hm’šN«@6 Error status = BgN«@7L3 @@ r .’üN«@9N«@8’z†„N^NužüˆtrpAķ’šN«@:Aķ’šN«@;trpAķ’ųN«O3ˆAB @:Aķ’ųN«@<YHm’ŹN“J ž°+_’¶Aķ’ĀN«@=Aķ’¾N«@=Aķ’ŗN«@=Aķ’ŲN«@>I3€@ CN00Bm’ÜAķ’ŽN«@> Aķ’ęN«@> Aķ’īN«@> B-’‹B-’ŠL3  Bm’ˆB-’„B-’…B-’†B-’‡|’Y-’B§N“J$ ž+_’¶|’Y-’B§N“J$ ž+_’¶I3 |’;|’ŒY-’?-’ŒHm’Ų-’‹-’ŠHm’ˆHm’„/-’€Hm’€Hm’€Hm’ŖB§N“J ż¾H3€ +_’¶J­’¶gjHm’šN«@6$Error in ASSIGN directive for LUN 6.BgN«@7N«L3ˆ… @8Hm’šN«@6 Status Code = BgN«@7r -’¶N«@9N«@8`Hm’šN«@6$ H3 Good ASSIGN LUN 6 for public writeBgN«@7N«@8|’Bm’ŒY-’?-’ŒJ3 Hm’Ų-’‹-’ŠHm’ˆHm’„/-’€Hm’€Hm’€Hm’ŖB§N“J üŅ+_’¶J­’¶ghHm’šN«@6$ErI3@ ror in ASSIGN directive for LUN 5.BgN«@7N«@8Hm’šN«@6 Status CJ3(@ ode = BgN«@7r -’¶N«@9N«@8`lHm’šN«@6# Good ASSIGN LUN 5 for puI3D blic readBgN«@7N«@8Hm’šN«@6This message is from TASKB.LOBgN«03Ŗ" @7N«@8`ĢžØXVAķ’šN«@?Aķ’ųN«@?BgNN4{ PASCAL sample program }program‚smpl(input,output);ƒtype…b_ptr=^buffer;…p_ptr=^ios_prm_blk;…fd_ptr=^file_dscrpt;{‚datadeclarationincludefile}{$F=9995.rrtl.dcltype.ai}{‚i/obufferdeclaration} ƒbuffer=…record‡io_bfr:bufr…end;{„defaultdatarecord} „path_name=†record"ˆd_vol_name:array[1..4]ofchar;ˆd_usr_no:word;ˆd_cat:array[1..8]ofchar†end;ƒvar…out_f_desc:‚file_dscrpt;…def_path:path_name;…dir_code:integer;…wb_ptr:b_ptr;…ib_ptr:b_ptr;,…pb_ptr:p_ptr;‰{Parameterblockpointer}…status:integer;…tmp_stat:integer;…t_addr:integer;…p_opts:word;Š{Options} …ftyp‚:word;&…p_lun:byte;‹{Logicalunitnumber},…p_r_rec:integer;†{Ra ndomrecordnumber}'…p_addr:integer;‡{Startingaddress},…ib_addr:integer;†{InputBufferAddress}-…p_ldt:integer;ˆ{Lengthofdatatransfer}+…p_lgn:integer;ˆ{Lengthofdatabuffer}/…pb_addr:integer;†{ParameterBlockAddress}(…fhs_lun:byte;‰{logicalunitnumber}&…fhs_opts:opt_bits;„{optionsbits}(…fhs_wcod:byte;ˆ{ProtectWriteCode}'…fhs_rcod:byte;ˆ{ProtectReadCode}#…fhs_recl:word;ˆ{RecordLength}+…fhs_siz‚:siz_rec;…{Size/Pointerrecord}…nul:integer;…tmp:integer;3…f_r_rec:integer;†{Randomrecordnumber-file}{…Libraryroutines}{$F=9995.rrtl.dclios.ai}NN…:Ž–U{$F=9995.rrtl.dclfhs.ai}{8…Libraryroutinedeclarations-specialpurposeroutines…(9995.rrtl.dclspec.ai)<ˆ**mustbeusedinconjunctionwith9995.rrtl.dcltype.ai**}ƒfunctionlloc(z_ptr:b_ptr)•:integer;forward;$ƒfunctionlloc1(varz_int:integer)•:integer;forward;!ƒfunctionlloc2(varz_bfr:bufr)•:integer;forward;ƒfunctionlloc3(z_ptr:p_ptr)•:integer;forward; ƒfunctionlptr(sg_adr:integer)•:sg_ptr;forward;"ƒfunctionlptr1(bf_adr:phy_addr)•:b_ptr;forward;ƒfunctionldef(‘var‚path:path_name)•:integer;forward;{&ƒReadarecordandprintitsubroutine}NNNNNƒprocedureread_n_print;…var%‡read_status,write_status:integer;…begin‡p_lgn:=256;:‡read_status:=lread(fhs_lun,f_r_rec,ib_addr,p_lgn,p_ldt,œfhs_opts,0,0);‡ifread_status<>0then‰begin‹writeln('ReadError');(‹writeln('ƒErrorstatus=',read_status)‰end‡else‰begin‹p_lgn:=p_ldt;:‹write_status:=lwrite(p_lun,p_r_rec,ib_addr,p_lgn,p_ldt, ¢p_opts,0,0);‹ifwrite_status<>0thenbeginwriteln('WriteError');)writeln('ƒErrorstatus=',write_status)endŠe nd…end;ƒbegin‚{ptest}„status:=ldef(def_path);%„{Allocatespaceforoutputbuffer} „new(wb_ptr);$„{Allocatespaceforinputbuffer} „new(ib_ptr);'„{Allocatespaceforparameterblock} „new(pb_ptr);!†{Setupoutputfiledescriptor}ˆout_f_desc.vol_id:='CN00';ˆout_f_desc.user_nmbr:=00;ˆout_f_desc.catalog:='ˆ';ˆout_f_desc.file_name:='ˆ';ˆout_f_desc.extension:='‚';†fhs_wcod:=0;‰{writecode}†fhs_rcod:=0;‰{readcode}!†fhs_recl:=0;‰{recordlength}†{setupsizerecord}ˆfhs_siz.rsrvd:=0;ˆfhs_siz.key_siz:=0;ˆfhs_siz.fab_siz:=0;ˆfhs_siz.data_blk_siz:=0;†fhs_lun:=5;†status:=lfclose(fhs_lun,0);†fhs_lun:=6;†status:=lfclose(fhs_lun,0);ˆbeginŠfhs_lun:=6;Šfhs_opts:=16#2;AŠstatus:=lassign(fhs_lun,fhs_opts,out_f_desc,fhs_wcod,fhs_rcod,&œfhs_recl,fhs_siz,nul,nul,nul,ftyp,0);Šifstatus<>0thenŒbegin1Žwriteln('ErrorinASSIGNdirectiveforLUN6.');"Žwriteln('‚StatusCode=',status)ŒendŠelse‹begin0Žwriteln('‚GoodASSIGNLUN6forpublicwrite');Žfhs_lun:=5;Žfhs_opts:=16#0;AŽstatus:=lassign(fhs_lun,fhs_opts,out_f_desc,fhs_wcod,fhs_rcod,&œfhs_recl,fhs_siz,nul,nul,nul,ftyp,0);Žifstatus<>0thenbegin1’writeln('ErrorinASSIGNdirectiveforLUN5.');"’writeln('‚StatusCode=',status)endŽelsebegin/writeln('‚GoodASSIGNLUN5forpublicread'); WHILE1=1DObegin*’writeln('ThismessageisfromTASKB.LO');endend‹endˆendend.  =/* =/*†TASKC.AF=/**=/*†DefaultassemblinglistingisTASKC.LS=/*=/IFC \1ƒ=ARGTASKC.LS=/ENDIF=/* =ASM TASKC.SA,TASKC.RO,\1;RZ=100=/*{ Included files are:=/*ƒ9995.&.IOE.EQ=/*ƒ9995.&.TR1.EQ=/*ƒTEMPLATE.TASKC.AI=/*}=/*=ENDNNNNNNž' TASKC CF³³  TASKC LF¼¼  TASKC ROÅÅ  TASKC SAĪĪ „  TTSUCEHLCD÷÷Ń   TTS LG   TTS AF  TTSUCEHLCF   =/*=/*†&.TASKC.CF=/*?=/*†ChainfiletocreatethemoduletobedownloadedforTASKC=/*=DEL &.TASKC.MX=BUILDS &.CTASK.LO,&.TASKC.MX=/*=ENDNNNNNNN« =/*=/*†&.TASKC.LF=/*(=/* Link chain file to create &.TASKC.LO=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to &.TASKC.LL=/*=/IFC \1ƒ=ARG&.TASKC.LL=/ENDIF=/*=LINK ,&.CTASK.LO,\1;AHMIXTASK CTAS,'$0010PRIORITIES $42,$7FATTRIBUTES D PSEG SEG0:6,14 $F5000INPUT &.TASKC.ROEND=/*=ENDNN NNNN“,1TSKC ASREL' TASKC SA&†2&FF3`F TCDSMESSAGE FROM TASKC’+F3Mś’¶pAīNAg`ž&HOėAÓ <<Aįˆ<"THEN.S ŽBRA‚*2*œErroroccuredtryingtogetdynamicdatasegment *”fortask.2*œSincetheTDTItaskcannotfunctionwithoutthis-*”datasegmentthetaskwillhangonabranch *”toself.+*”A0=Addressofdirectiveparameterblock(*”D0=Errorcodereturnedfordirective *¦request‰ENDI  ‰MOVE.L„A0,A3(*œA3=Addresstaskdynamicdatasegment ‰LEA‡STACK(A3),A7*œA7=Taskstackaddress* *ˆAssignLUNtospecifieddevice ‰LEA‡T1FHSPB(A3),A0)*œA0=AddressofparameterblockforFHS‰MOVE.L„#FOPPW<<08,D0‰MOVE.B„#'A',D0 ‰LSL.L…#8,D0‰MOVE.B„#LDFLUN,D0!*œD0=Containsinputforrequest"*”ReferenceT1070000documentation‰MOVE.L„#'CN00',D1*œD1=Deviceassignmentisfor‰BSR.S…T1070000*œAssignLUN6 ‰IFTHEN.S ŽBSRˆT1070500 *œHangsystem*œBranchtoself ‰ENDI ‰MOVE.B„#CDFLUN,D0!*œD0=Containsinputforrequest"*”ReferenceT1070000documentation ‰BSR.S…T1070000*œAssignLUN5  ‰IFTHEN.S ŽBSRˆT1070500 *œHangsystem*œBranchtoself ‰ENDI  ‰PAGE ‰WHILEDO.S ŽMOVE.L…#DELAY,D0"*œD0=DirectivenumbertoexecuteŽMOVE.L…#1000,A0'*œA0=Numberofmilli-secondstodelay *TRAP‡#1(*œDelayrequestednumberofmillisecondsŽLEAˆT1010200-PBA(A6),A0*œA0=AddressmovefromŽLEAˆT1IOSPB(A3),A1*œA1=AddressmovetoŽMOVE.L…#T1010299,D0*œD0=Numberofbytestomove ŽREPEAT “MOVE.B…(A0)+,(A1)+ “SUB.L†#1,D0 /*œMovethepredefinedparameterblockthatwill2*œneedaddressadjustmentfortherelativeoffsets*œtothetaskdynamicdataarea ŽUNTIL  ŽLEAˆT1IOSPB(A3),A0%*œA0=AddressofI/Oparameterblock ŽTST.L†D0!*œD0=RoutineinputforT1070200ŽBSR.S…T1070200*œWritemessagetoterminal ‰ENDW ‰BRA‡* /*œWeshouldreachthisonlyifwehaveanerror0*œconditiononthewriteandnoneisanticipated‰PAGE  *ˆSubroutineto!*’Assign/CloseaLUNforaDEVICE**ˆINPUT:+*’A0=StartaddressofFHSparameterblock*4*’D0=LoworderbyteofloworderwordcontainsLUN,*—Highorderbyteofloworderwordcontains*œ'A'ifASSIGNor'C'ifCLOSE5*—HighorderwordcontainsOPTIONSforLUNassignment*/*—+----------+----------+----------+----------+%*—|FHSoptionsforthe‚|'A'Code|Š|**—|deviceLUNassignment|'C'Code|LUN†|/*—+----------+----------+----------+----------+**-*’D1=DeviceLUNassignmentistobemadeto2*—ThisvalueisirrelevantiftheCLOSErequestis *œdesired *ˆOUTPUT:**ˆREGISTERS/DATASTRUCTURES**’A0=Unchanged*’D0=Unchanged**ˆCONDITIONCODES*:*’NOT-EQUAL-->Errorencounteredwhileprocessingrequest***–EQUAL-->Requestprocessedsuccessfully* T1070000:‰MOVEM.LƒD0-D2/A0,-(A7)*œSaveregisters ‰MOVE.L„D0,D2 *œD1=Contentsofroutineinput‰MOVE.L„#T1FHSPBZ<<16,D0*œD0=Routineinput‰BSR.S…T1070400#*œZerofilltheFHSparameterblock ‰MOVE.L„D2,D0*œD0=Routineinput‰SWAP†D2"*œD1.W=FHSoptionsforthiscall‰MOVE.W„D2,FHSOPT(A0)*œFHSOPT(A0)=Requestoptions‰MOVE.B„#$FF,FHSSTA(A0)'*œFHSSTA(A0)=Pre-definedstatusvalue‰MOVE.B„D0,FHSLUN(A0)*œD0.W=Typerequest,LUN(*œFHSLUN(A0)=LUNspecifiedforrequest ‰LSR‡#8,D0!*œD0.B=Containstypeofrequest*£'A'=Assign *£'C'=Close ‰IF.BD0#'A'THEN.S ŽMOVE.W…#FHASGN,FHSCMD(A0)&*œFHSOPT(A0)=AssignLUNcode,commandŽMOVE.L…D1,FHSVOL(A0)(*œFHSVOL(A0)=DeviceLUNisassignedto ‰ELSE.S ŽMOVE.W…#FHCLOS,FHSCMD(A0)%*œFHSOPT(A0)=CloseLUNcode,command ‰ENDI ‰TRAP†#3*œPerformuserrequest ‰MOVEM.Lƒ(A7)+,D0-D2/A0*œRestoreregisters‰RTS*œReturnfromsubroutine ‰PAGE*ˆSubroutineto*’INITIATEanI/Orequest**ˆINPUT:5*’A0=StartaddressoftheI/Oparameterblocktobe *œprocessed**’A6=Programbaseaddress*.*’D0=Flagtoadjustaddressrelativeoffsets9*—NOTZERO-->Donotadjusttheaddressrelativeoffsets.*›ZERO-->ˆAdjusttheaddressrelativeoffsets*+*¤Theprogrambaseaddresswillbeaddedto&*¦BufferStartAddressrelativeoffset$*¦BufferEndƒAddressrelativeoffset *¤andtothe%*¦Completion/ServiceAddressrelative*¦offset *¦IFitexist%*©(exist-->avalueotherthanzero)** *ˆOUTPUT:**ˆREGISTERS/DATASTRUCTURES**’A0=Unchanged*’A6=Unchanged*’D0=ResultsofI/Orequest**ˆCONDITIONCODES*:*’NOT-EQUAL-->Errorencounteredwhileprocessingrequest***–EQUAL-->Requestprocessedsuccessfully* T1070200: ‰IF.LD0#0THEN.S ŽMOVE.L„IOSSAD(A0),D0 ŽADD.L…A6,D0ŽMOVE.L„D0,IOSSAD(A0)#*œIOSSAD(A0)=StartbufferaddressŽMOVE.L„IOSEAD(A0),D0 ŽADD.L…A6,D0ŽMOVE.L„D0,IOSEAD(A0)!*œIOSEAD(A0)=Endƒbufferaddress ŽIF.LIOSCAD(A0)#0THEN.S “MOVE.L…IOSCAD(A0),D0 “ADD.L†A6,D0“MOVE.L…D0,IOSCAD(A0))*œIOSCAD(A0)=Completion/Addressaddress ŽEND I ‰ENDI ‰TRAP†#2*œInitiateI/Orequest‰RTS*œReturnfromroutine ‰PAGE *ˆSubroutineto!*’Characterfillaspecifiedarea**ˆINPUT:.*’A0=Startaddressofareatocharacterfill*5*’D0=Loworderbyteofloworderwordcontainsfill *œcharacter1*—Highorderbyteofloworderwordisforfuture*œuse2*—Highorderwordcontainsnumberofbytestomove*/*—+----------+----------+----------+----------+'*—|Numberofbytestoƒ|Futureƒ|Fill…|$*—|characterfill‡|Use†|Character|/*—+----------+----------+----------+----------+** *ˆOUTPUT:**ˆREGISTERS/DATASTRUCTURES**’A0=Unchanged*’D0=Unchanged**ˆCONDITIONCODES*4*’NOT-EQUAL-->Numberofbytestocharacterfillis*„zeroornegative*4*–EQUAL-->Specifieddataareawascharacterfilled*   T1070400:‰MOVEM.LƒA0/D0-D1,-(A7)*œSaveregisters ‰MOVE.L„D0,D1‰SWAP†D1 ‰IF.WD1#0THEN.S ŽMOVE.B…#1,D1 )*œIfnumberofbytestocharacterfillis*”zeroornegative)*¦forcethereturnconditiontonotequal ‰ELSE.S ŽREPEAT ŽMOVE.B„D0,(A0)+ ŽSUB.W…#1,D1 ŽUNTIL*œCharacterfillspecifiedarea ‰ENDI ‰MOVEM.Lƒ(A7)+,A0/D0-D1*œRestoreregisters‰RTS*œReturnfromsubroutine ‰PAGE  *ˆSubroutineto*’Haltthesystem***ˆNOTES:*3*’ThereisNORETURNwhenthissubroutineiscalled**ˆINPUT:**’N/A* *ˆOUTPUT:**ˆREGISTERS/DATASTRUCTURES**’N/A**ˆCONDITIONCODES**’N/A*   T1070500:‰BRA‡**œBranchtoself‰PAGE‰NOP ‰END‡T1020000* *ˆTTSUCEHL.CD*?*ˆThiscommandfileisusedtoaccumulatethefollowingmodules**’TaskTable”Required!*’Non-standardusercodeˆOptional&*’Non-standardstartuproutneƒOptional*’ErrorHandlingLogicŠOptional*;*ˆTheaddressesshouldreflectthosetobeprocessedbythe**ˆTableDrivenTaskInitiatortask(TDTI).* *;*ˆThefollowingfilewascreatedwhentheRMS/VERSAdospart>*ˆoftheTDTIsystemwasSYSGEN'ed.Itcontainsthefollowing:**ˆStartaddressofTDTItask'*ˆStartaddresswherefollowingreside:*’TaskTable”Required!*’Non-standardusercodeˆOptional&*’Non-standardstartuproutneƒOptional*’ErrorHandlingLogicŠOptional**INCLUDE &.XTDTIVU.CI*TDTISTRT=‰\TDTISA   8MSG†****************************************************MSG†*²*5MSG†*EstablishtheReservedFieldsforthisSYSGEN„*8MSG†*WherethereservedfieldsareatstartofSYSGEN*MSG†*andSYSGEN+4.¤*MSG†*²*5MSG†*Adedicatedpagewasallocatedforonlythese„*1MSG†*fields.Thiswasbychoiceonlyandnotaˆ*7MSG†*requirement.Theycouldhavebeenincludedwith‚*4MSG†*thenon-standardstartuproutineifdesired.…*MSG†*²*8MSG†**************************************************** *@*ˆAREASA=StartaddressoftheROMpartitionwhichcontainsthe *‘following:**’TaskTable”Required!*’Non-standardusercodeˆOptional&*’Non-standardstartuproutneƒOptional*’ErrorHandlingLogicŠOptional** PC‡=‰\AREASA  PROCESS„RESERVED.FIELDS.LOSUBS‡RESERVED.FIELDS.LGLINK‡RESERVED.FIELDS.LG ENDˆFIELDS * * *  7MSG†***************************************************MSG†*±*#MSG†*ProcessUserSpecifiedCode•*MSG†*±*7MSG†*************************************************** *3*ˆUserPROVIDEDnon-standardcreate/startuproutine*E*ˆNSSURSA‚=StartaddressfortheNon-StandardStartUproutine.This8*—addressisintherangeofAREASAtoAREAEAdefinedin*—moduleTDTI.CI**  PC = * ļVų|  NSSURSA = * PROCESS„TDTI.NSSUPASC.LO EXCLUDE„TDTISUBS‡TDTI.NSSUPAS.LGLINK‡TDTI.NSSUPAS.LG ENDˆNSSUPASC * * *     ***ˆLinkofTASKAnon-standardwrittencode*C*ˆNSSUTASA=StartaddressoftheUserSpecifiedCode.Thisaddress7*—isintherangeofAREASAtoAREAEAdefinedinmodule *—TDTI.CI**  PC = * NSSUTASA = * PROCESS„NSSU.TASKA.LO EXCLUDE„TDTI EXCLUDE„NSPLSUBS‡NSSU.TASKA.LGLINK‡NSSU.TASKA.LG ENDˆNSSUTSKA * * *     ***ˆLinkofTASKBnon-standardwrittencode*C*ˆNSSUTBSA=StartaddressoftheUserSpecifiedCode.Thisaddress7*—isintherangeofAREASAtoAREAEAdefinedinmodule *—TDTI.CI**  PC = * NSSUTBSA = * PROCESS„NSSU.TASKB.LO EXCLUDE„TDTI EXCLUDE„NSPLSUBS‡NSSU.TASKB.LGLINK‡NSSU.TASKB.LG ENDˆNSSUTSKB * * *     ***ˆLinkofTASKDnon-standardwrittencode**C*ˆNSSUTDSA=StartaddressoftheUserSpecifiedCode.Thisaddress7*—isintherangeofAREASAtoAREAEAdefinedinmodule *—TDTI.CI** PC = * NSSUTDSA = * SUBS‡NSSU.TASKD.LGLINK‡NSSU.TASKD.LGPROCESS„NSSU.DTASK.LO ENDˆTASKD * * *   7MSG†***************************************************MSG†*±*(MSG†*ProcesstheTaskTableStructure*MSG†*±*7MSG†*************************************************** *3*ˆThisfilehasbeenbuilttocreatethetasktable:*ˆmoduleforusewiththeTableDriveTaskInitiatortask.*D*ˆSTARTTTS=StartaddressoftheTaskTableStructure.Thisaddress7*—isintherangeofAREASAtoAREAEAdefinedinmodule *—TDTI.CI* PC = * STARTTTS = * PROCESS„&.TTS.LOSUBS‡&.TTS.LGLINK‡&.TTS.LG END * * *  ‰END‡SYSGEN=/* =/*†TTS.LG=/*$=/* Link chain file to create TTS.LO=/*=LINK ,&.TTS.LO,TTS.LL;AHMIXDEFINEƒNSSUTE0A,\NSSUTASADEFINEƒNSSUTE0B,\NSSUTBSADEFINEƒNSSUTE0D,\NSSUTDSASEG TTS0:4 \PCINPUT…&.TTS.ROEND=/*=ENDNNNNNNN =/* =/*†TTS.AF=/*(=/*†DefaultassemblinglistingisTTS.LS=/*=/IFC \1 ƒ=ARGTTS.LS=/ENDIF=/*=ASM TTS.SA,TTS.RO,\1;RZ=100=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNNN =/*=/*=/*†&.TTSUCEHL.CF=/*B=/*†ChainfiletocreatethemoduletobedownloadedforTTSUCEHL=/*=DEL &.TTSUCEHL.MX#=BUILDS &.TTSUCEHL.SY,&.TTSUCEHL.MX=/*=ENDNNNNN NN 'ROM EXAMPLE CF''   =OPTION K=/*=/*†OPTIONKmeans:-=/*DonottranslateLOWERcasetoUPPERcase=/*=/*;=/*†Forcompletedocumentationtheusershouldrefertothe-=/*†SYSTEMGENERATIONFACILITYUSER'SMANUAL.=/*C=/*†ThisisaDEMONSTRATIONchainfilethatwillROMRMS,aportionE=/*†oftheI/OsubsystemofVERSADOS(IOS,FHS,andIOI),plusauserE=/*†writtenPASCALtaskthatdoesI/Otoaprinterandaterminal.ItF=/*†shouldbenotedthatthefilemanagementsystem(FMS),theloader,H=/*†andsessioncontroltaskarenotcurrentlycapableofbeingputinto=/*†ROM.=/*=/*†CHAININVOKATION=/*"=/*†Logontousernumberzero(0).2=/*†RespondtopromptwithSYS:9990.ROM.EXAMPLE.CF=/*=/&†PRESS'RETURN'tocontinue     =/RX = 0=/*=/*†ROM.EXAMPLE.CF=/*>=/*†Thischainfilewheninvokedwillperformallofthesteps==/*†necessarytocreateaROMsystem.Ithasbeenprovidedas>=/*†anexample.Theresultofthiscanfilecanbeburnedinto>=/*†ROMandexecuted.TheapplicationwasexecutedonaVME1107=/*†systemusingtheMVME210boardandMCM68764EPROMs.=/*=/*†CHAINFILEASSUMPTIONS:=/*;=/*†1.Chainfilewilluseusernumber8007fortheSYSGEN.(=/*†2.Thedefaultvolumenameis'SYS'.B=/*†3.Allfilesrequiredtoexecutethischainfileresideonthe=/*‰defaultvolume.D=/*†4.ThePASCALtaskwillbecompiledunlesstheusermodifiesthe+=/*‰psuedoregisterRXtoanon-zerovalue.=/R?=/*=/*?=/&†PRESS'RETURN'iftheassumptionsareok‡ELSEPRESS'BREAK'     =/IF RX = 0O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*)=/*†CompilethePASCALdemonstrationtask=/* =USE SYS:9990=0..PASCAL.LO‚PTASK=0..PASCAL2.LO PTASKO=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=/ENDIF     O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*)=/*†PerformtheRMSGENfortheROMsystem=/*=/*J(v0V8  =USE SYS:9999=/*$=/*†EditfileSYS:9999.VME110.RMS.CD=/*#=/*†EstablishtheROMstartaddress=/*=E VME110.RMS.CD F /$40000/C /$40000/$300000/QUIT=/@ RMSGEN.CF VME110=/*O=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*/=/*†PerformtheCOPYSGENforthetargetproduct-=/*†EditrequiredfilestoperformtheSYSGEN=/*=USE SYS:8007.VME110.=/@ SYS:9998.VME110.COPYSGEN.CF SYS,SYS,8007,Y    =/*$=/*†EditfileSYS:9999.VME110.RMS.CD=/*6=/*†RestoretheVME110RMSbacktoitsoriginalstate.E=/*†ThisstepisnotnecessarytocompletetheROMbuildingprocedureE=/*†butratherhasbeeninsertedtorestoretheVME110RMSfilesback=/*†totheiroriginalstate.=/*=USE SYS:9999.&.=E VME110.RMS.CD F /$300000/C /$300000/$40000/QUIT=/@ RMSGEN.CF VME110=USE SYS:8007.VME110     =/*=/*=/*†EditSYS:8007.&.SYSGEN.CF=/*2=/*†EstablishthatthisSYSGENisforaROMsystem=/*=E &.SYSGEN.CF F /CT=350/C /CT=350/CT=350,R/QUIT    =/*=/*†EditSYS:8007.&.CNFGTASK.CI=/*(=/*†Removethefollowingfromthesystem=/*‹FileManagement=/*‹SessionControl =/*‹Loader=/*=E &.CNFGTASK.CI F/FMS$†=1/C/FMS$†=1/FMS$†=0/ F/EET$†=1/C/EET$†=1/EET$†=0/ F/LDR$†=1/C/LDR$†=1/LDR$†=0/QUIT    =/*"=/*†EditSYS:8007.VME110.SYSTEM.CI=/*$=/*†EstablishtheROMendingaddress=/*=E VME110.SYSTEM.CIF/ROMEADDR‚=$0/$C/ROMEADDR‚=$0/ROMEADDR‚=$313200/QUIT    =/*=/*†EditSYS:8007.&.VERSADOS.CD=/*(=/*†Includetheapplicationcommandfile=/*=E &.VERSADOS.CD F /FHS$IOS$/UP 1MERGE SYS:9990.&.APLICATN.CIQUIT    =/*$=/*†EditSYS:8007.VME110.CNFGDRVR.CI=/*8=/*†RemovedriversnotrequiredfortheROMapplication.=/*=E VME110.CNFGDRVR.CIF/NORWIN„=1/C/NORWIN„=1/NORWIN„=0/F/NVME315ƒ=1/C/NVME315ƒ=1/NVME315ƒ=0/F/NVME320ƒ=1/C/NVME320ƒ=1/NVME320ƒ=0/F/NVME4205‚=1/C/NVME4205‚=1/NVME4205‚=0/F/NVME400ƒ=1/C/NVME400ƒ=1/NVME400ƒ=0/QUIT     =/* =/*†Copythe8=/*Usercreatedapplicationrelatedfilestothetarget=/*•SYSGENusernumber==/*ROMrelatedSYSGENfilesfortheusercreatedapplication=/*•task=/*4=COPYSYS:9990.&.PTASKFP.CIŒSYS:8007.&.PTASKFP.CI;BY8=COPYSYS:9998.RROM.RLIBFP.LGŠSYS:8007.RROM.RLIBFP.LG;BY8=COPYSYS:9998.RROM.RLIBFP.ROŠSYS:8007.RROM.RLIBFP.RO;BY8=COPYSYS:9998.RROM.TASKFP.LGŠSYS:8007.RROM.TASKFP.LG;BY0=COPYSYS:9990.&.PTASK.ROŽSYS:8007.&.PTASK.RO;BY4=COPYSYS:9998.RROM.INIT.ROŒSYS:8007.RROM.INIT.RO;BY<=COPYSYS:9998.RROM.ASSIGNLU.AFˆSYS:8007.RROM.ASSIGNLU.AF;BY<=COPYSYS:9998.RROM.ASSIGNLU.SAˆSYS:8007.RROM.ASSIGNLU.SA;BY     =/*"=/*†EditSYS:8007.RROM.ASSIGNLU.SA=/* =/*†EDITto>=/*‹Assigntheinput/outputfortheterminaldeviceasdesired=/*†THEN>=/*‹Assemblethemoduletocreatethe.ROtobeusedatSYSGEN=/*‹time=/*=E RROM.ASSIGNLU.SAF /,CR/C /;Z/O=#CN00;Z/QUIT=/*(=/*†AssembletheRROM.ASSIGNLU.SAmodule=/*=NOARG=/@ RROM.ASSIGNLU.AF=NOARG    =/* =/*†EditSYS:8007.RROM.TASKFP.LG=/*(=/*†Establishthetasknameforthelink=/*=E RROM.TASKFP.LG F /=LINK/C*-99‚;A/????/PTASK/AQUITO=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     O=/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=/*=/*†PerformtheROMSYSGEN.=/@ SYS:8007.STD.SYSGEN.CFO=/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     =/*C=/*†ThefileVME110.VERSADOS.SYisnowreadytobeburnedintoROM.F=/*†ExaminationoftheSYSGENoutputlisting,VME110.SYSLIST.LS,showsG=/*†thatthestartupaddressis$313900.Invokingthedirectoryrequest D=/*†"DIR8007.VME110.VERSADOS.SY;A"willshowthatthefilehas$146H=/*†sectorswhichtranslatesintoafilesizeofapproximately$14600or=/*†84Kbytes.=/*=END NNNNNNN'MX TASKA LFLL  TASKB LFUU  ATASK LOV  TASKA LLüü³‰  BTASK LO­  =/*=/*†MX.TASKA.LF=/*)=/* Link chain file to create MX.TASKA.LO=/*:=/* If no output argument is specified for the listing the*=/* chain file will default to MX.TASKA.LL=/*=/IFC \1ƒ=ARGMX.TASKA.LL=/ENDIF=/*=LINK ,MX.ATASK.LO,\1;HAMIXSTASK ATAS,'$0010PRIORITIES $42,$7F ATTRIBUTES PSEG SEG1(R):0,9 $F3000SEGSEG2(X):15‚$00000SEGRRTL(GR):8‚$F6000IN 9998.RRTL.RTLINIT.RO IN‰&.TASKA.ROIN 9998.RRTL.RRTLACCS.ROIN 9998.RRTL.PRTL.ROIN 9998.RRTL.PLJSR.ROIN 9998.RRTL.RFINIT.ROIN 9998.RRTL.RTRAPS.ROIN 9998.RRTL.RPSCALIB.ROLIB 0.&.PDOLRLIB.ROEND=/*=ENDN NNNND=/*=/*†MX.TASKB.LF=/*)=/* Link chain file to create MX.TASKB.LO=/*:=/* If no output argument is specified for the listing the*=/* chain file will default to MX.TASKB.LL=/*=/IFC \1ƒ=ARGMX.TASKB.LL=/ENDIF=/*=LINK ,MX.BTASK.LO,\1;HAMIXSTASK BTAS,'$0010PRIORITIES $42,$7F ATTRIBUTES PSEG SEG1(R):0,9 $F4000SEGSEG(X):15ƒ$00000SEGRRTL(GR):8‚$F6000IN 9998.RRTL.RTLINIT.RO IN‰&.TASKB.ROIN 9998.RRTL.RRTLACCS.ROIN 9998.RRTL.PRTL.ROIN 9998.RRTL.PLJSR.ROIN 9998.RRTL.RFINIT.ROIN 9998.RRTL.RTRAPS.ROIN 9998.RRTL.RPSCALIB.ROLIB 0.&.PDOLRLIB.ROEND=/*=ENDNNNNNMATAS0010B0š ŸĄSEG10š ŠRRTL1 ’’’’0š0ü’1 1Æ’’’’’$@&IpAśŚNAf¼.HßüB "K*O,OB•Hķ(+I6Hķ0@+B:;C>;FH+G0Bm4¼ `J(HŁü’$HGź|+Kp&ü’’’’B›+K+Ll2<€0<ģBµX@YAbö&Jr|B›YfśAś ź%H,Aś Ŗ%H0Aś ų%H8Aś %H =fa2g ,fņ  g. Zg( Ae" [dCķK( ˜‰ -fDDHć‰Gķj7„až  fØJgŒįƒåƒa¤() ˜©„“ ƒ”clքƒ’BAķBØBBØBhBh BØ!|SEG2 pNAfžAķ!CBBØ1| BØ!|SEG2 1| pNAfżš–„ƒ”`Bƒa,iŻü’ŻĆKķ¼0<¼=%U@fś.N*O$iGź|+Kp&ü’’’’B›+K+i l&Jr|B›YfśAś 0%H,Aśš%H0Aś >%H8Aś T%Hp7`8p8`2p9`,p:`&p;` p<`p=`p>`p?`p@` KüNŠpA`ōpB`špC`ģpD`čpE`äpF`ąpG`ÜpH`ŲpI`ŌpJ`ŠpK`ĢpL`ČpM`ÄpN`ĄpO`¼pP`øpQ`“pR`°pS`¬pT`ØpU`¤pV` pW`œpX`˜pY`”pZ`p[`Œp\`ˆp]`„p^`€p_`’|p``’vpa`’ppb`’jpc`’dHķ’’|"o2 Ao <™`THĮҁNū`J``L`V`nHĄ@ "€/ € ga‚<`g < ĄalR oź +Gt+@x`BHĄ@+Gt+@xaH`0HĄ+It0/g.HĄ@a2+@x`+It0/HĄg€+@x @p"`Śp |`ΟüH×|| ?| /| /| OpND ßüNuHķ’’|+ot <+@xa¬`”Hķ’’|+ot <+@xa’`’zHķ’’|+ot <+@xa’v`’\Hķ’’|+o t <+@xa’X`’>Hķ’’|+o t <+@xa’:`’ H@0-4H@,NANuLŒĢś.nØÜĢŲ$6p–ØŗÄČī ŒJ€Œž²īŠŗĘĘ ¬üØč * X d ’ Ą  & 8 n œ Š 8 f ” Ō š šĢX¤š ÄžĘ Ź Ü  ` Ü\”ŅV”ŅZŽĀü0hŠb²‚ŅpŹ&˜ö HVrpapah!l’ö!l’ņpNA$l’ī$ˆ ¬’źfßü/@(Lßh _ßüNŠrpa,a$pNA ¬’öfßü/@Lßh _ßü NŠrpaśaŲ!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠrp$aĀaŠ!l’ģpNA$l’č$ˆ$l’ä$ˆ ¬’ąfßü/@4Lßh _ßü$NŠrp a~aF!l’ģpNA$l’č$ˆ ¬’äfßü/@0Lßh _ßü NŠrpa@apNA$l’ģ$ˆ ¬’čfßü/@,Lßh _ßüNŠrpaaę!l’ö !l’ņ!l’īp NA ¬’źfßü/@*Lßh _ßüNŠrp aÄa²!l’ų!l’ō !l’š!l’ģ!l’čpNA ¬’äfßü/@0Lßh _ßü NŠrpatBBØ!T!l’ü !l’ų!l’ō!l’špHNA ¬’ģfßü/@(Lßh _ßüNŠpKNAB€Lßh _.€NŠp NAB€Lßh _.€NŠrp aaņl’śl’ų !l’ō !l’š!l’ģpNA ¬’čfßü/@,Lßh _ßüNŠ op&NA/@Lßh _XNŠrpaža|!l’ö !l’ņp#NA ¬’īfßü/@&Lßh _ßüNŠ op"NA €f Pf€€/@Lßh _XNŠ op%LßhN^NAp0|NA op!NA/@Lßh _XNŠp$NALßh _.€NŠ opNArp"aōaŅ!l’ö !l’ņl’šl’ī1l’ģ!l’č1l’ęp NA ¬’āfßü/@2Lßh _ßü"NŠrpa˜a†p NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠrpa^aLp NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠpNAB€Lßh _.€NŠrp aapNA ¬’ųfP/@Lßh _ßü NŠr paęaŌl’śpNA$l’ö" ¬’ņfßü /@"Lßh _ßüNŠ(OŁü Łü o±üf$_, ’śgŸü`ŸüN O/ aV!l’ö !l’ņ, ’śf$l’īB€!²X@ €8fšp NA$l’ź$ˆ ¬’ęf, ’śgßü`ßüN/@.Lßh _ßüNŠrpaaōpNA$l’ų$ˆ ¬’ōfP/@ Lßh _ßüNŠpNAB€Lßh _.€NŠpNAr pa¾a¬1l’śpNA$l’ö$ˆ ¬’ņfßü /@"Lßh _ßüNŠpNAB€Lßh _.€NŠrp apa^pNA ¬’ųfP/@Lßh _ßü NŠrpaBa0pNA$l’ų4ˆĮˆH@$l’ś4€Įˆ ¬’ōfP/@ Lßh _ßüNŠrpaaą!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠ opNABÆLßh _XNŠ opNA/@Lßh _XNŠrpaža|!l’ö !l’ņ!l’ī!l’źpNA ¬’ęfßü/@.Lßh _ßüNŠ(OŁü o±üfQ OpJNA$T$Ø$l$ ¬’üfP/@Lßh _ßü NŠ(OŁü o±üfQ O!T ¬pINA ¬’üfP/@Lßh _ßü NŠr paĢ ”l’ž BØB(p)NA$l’ś$ˆ ¬’öfßü /@Lßh _ßüNŠr paˆ ”l’žl’ü BØp-NA$l’ų$ˆ ¬’ōfßü /@*Lßh _ßüNŠr p aBa\p,NA ¬’ųfßü /@Lßh _ßü NŠp.NAB€Lßh _.€NŠr p aap+NA ¬’ųfßü /@Lßh _ßü NŠr p a Īačp*NA ¬’ųfßü /@Lßh _ßü NŠrpa œazl’ų l’ö !l’ņ !l’īp6NA ¬’źfßü/@*Lßh _ßüNŠB€0<€`B€(OŁü€T @p5NA/@Lßh _\NŠ op4NA/@Lßh _XNŠrpa  ”B€,’ž ,’ü@p3NA ¬’öf\/@Lßh _ßüNŠrp a Śa ČpANA ¬’ųfßü/@Lßh _ßü NŠr pa Øa –!l’ųpNA ¬’ōfßü /@ Lßh _ßüNŠrpa pa ^!l’ų!l’ō p@NA ¬’šfßü/@$Lßh _ßüNŠr pa 2a NA ¬’śfX/@Lßh _ßü NŠB/ m Aop’`* g Agp`B€AåI(mp™ü)Æ/@Lßh _\NŠB/ m Aop’`  mp`B€åI(mp™ü|)Æ/@Lßh _\NŠBB`4< rpa †0”„l’ž1B!l’śp:NA ¬’öfP/@Lßh _ßüNŠ opNA/@Lßh _XNŠ op&ķ@&­DB€Lßh _ßüNŠ(OŁüŁĄ o°üf$_ŸĮ O/ Nua,!l’ų $l’ō•üÕč !J g 1l’ī!l’źNu€B(BhAT$l’ü!RNu€B(BhAT1l’ž!l’śNul` l1l€B(ABB$T1² B BfšBhl’ž l’ü!Nua1l’ų !l’ō !l’šNu ”!l’ü1l’śNu ”!l’üNu1T1l’ž !l’ś Nu ”!l’ü!l’ųNu ”!l’üB(B( NuHēS€åHAśęÄAš Nš(WX—ŁŌNŌHē€Ąp mpüCś& ÉS@fś0<a9¬š@ 0<a9 š@ LßNuB+/ *m4Hķ’’|+_°a9~šm0ta9tš@0ąXä ąX0@NNB€BIśT am zn ,gč4k6 -fĄ`Ög0ƒgĮ` =fRŠa`  f@` NuBƒ:< &J $g am zn 4gˆ`6 am zn 4k6gćƒ(åƒÖ„ցSEfĪ‚ am zn 4jč  f" am zn +’žNu:< am zn  am zn 4k“fgŒ_郆SEfĢ`’z€€€@@ P€@  €@HÄR„„’’’žŸÄŸü æķb O÷H pNNOļ .·HNu.LŠ2*(-0a šaŹ+D0Nu"_. HĀ&g&<…(„QR„D’ž$O•ĵķldEļµķle•ķl؊a’z!OEļP/JEņ8’/JA??B$O eTgv`gvC)C BjBBjBŖL@O(-0fgA@a Jf<gJ-(gaat`aśgJ-$gaša\`aāgaÄ`8°m"b"?S@å@@,J5LŸg gaøa$` ga¤`aŠgNq5A+D0NŃHēŲžMź$gp’S@å@@,Aõ|B€(@AõJaH$€’€üLßyg/p(NNg g%m6*HBB|g€BNĮ NupaŒ|&8%m:*NuH瀀Aź$0¼€NCgNN *&o|&BjFB*K*E f|'` f|'`|'BjDLßNu.LŠ2*a4adB f† fpĄj& g far g4/ &Jav5 c ¼5‚aHa*H‚?av2&_g*8 gAź0¼NBgNN` ap÷Įj&a¶AģB’5ANup`n.LŠ Ŗ2*a~ fFa¼pj&aV*8 &g, g&Aź$0¼€NCg f0¼NCf0¼€NCgNNaFB’A€ a\CņO%I5ANup`ī.0/2RA’ž/7¼ Aļ Hē,o,nMī$a2Lßx$W$ja~&€’€ügp(NNfg0<÷’Įj äH@ćÅHBEBF ;g  g`š ;fäHēaśLß g/pANN Bfafčt…h Ę`¤ Cfa4<ų’Åh&!CHĘ`† DfašCKĘ`p FfaÜCJĘ`\ Rf$aø…gÅÅ4(Ā 1B`2 Wf$aŽ…gÅÅ4(Ā 1B`g’:g’ 2(JEg;PBpųĮh&‰('$HfŠFgg(-0aŽ+D05A gžō _"_0R€@’žO÷NŃg/pANNNugšfźfäNu f?*8 &g pųĄj&€W5@&0Nu/(-0fBg<`"g<`BR ft bfģ cp@NNB B)(NuB€BIśł†&H6<%B„aük$ #fĄ` ff&@€€€Nu€ü`öaŹkBfōgŚ .f R nŠ`Ž :f€@`Š (f€`Ä )fŖ@`øg Jfžf˜ggŒfF*H Kf  am zn (g24f.f. gD gō .fRˆ`*Rˆ`DĄ` 6<Gīa&4<aškĢ`Ą`Ā&<€€€ am zn 4k^f0fR *g2Ą  am zn 4kR .fā`JĘü ց`¤ ƒ€f4 .fÄĄ6<’ž` ƒ€g ƒ'cĄ` =C ` Ą`Ą4<aŚk 6< Gī aN4<aĀkō n& f| 6< Gīa(4<aœkĪ (g 6<Gīa 4<a~k° (fØBBBC am zn 4kD ) gg8 Pn2AéK†AB`ČB’g BnĄ BcĄ=C `JĄĄĄB’ BcĄ`.Rˆ6<Gīap4<aęk$< Gī &Ā&Ā&Ā&Ā6ĀBn $B|gĄ4B|gĄJ€NuJCfBA`$ am zn SC /f Ą<€`4Nu4HB€€»ČgF am zn 4k.f(f @Ą`< *fĄĮSCn¾€€`$HB“CfĄ`< (*’žf<*`ĀSCnśNuJ€jĄ`QBgQBĄ`ĄBgĄNug g ³źga& ‰Nu%| 8%| .f %m@0%mD4` g%m6*NuHēżĄ./$TÆ$ G0å@A÷X@ @fB@C÷ "*jD€³…JjD$&H@HAĄĮĘĀ(ĀĀHBHDÄÄԁ"HABA҃BBHBтVĀJ…jDF…ʁ[Ć †DĆLßæNuHēłĄ./ TÆ a( ‚DĮLߟNuHēłĄ./ TÆ aćƒjD€ €DĮLߟNu G0å@A÷X@ @fB@C÷ "fpNN&āƒjD€³ƒJjDt’B²€dć‰R`ödЁć’ā‰SdņF‚"jD‚FĀ‚[ĮNu.LŠR’aP ‰Nu.LŠ8SDaØ€a“ ‰NuH€HĄ.LŠ8v / BJ€jt-D€SDGśL°›dSCnų˜CSDanJg‚avJCg(+’ür0°„e„R`öa\(SCnč0€aL ‰&_Nu;šŹõį˜–€B@† 'čd 0/8/`8/0/./ Gļ 2RAA’ž sLŠ˜@aąJ@g ›ačS@nö ‰&_$_O÷NŅ./ LŠtGś"JgÖĀSB8˜BaØ›a“SBnö&_ ‰NuFALSETRUE .JAlra`ašNu.JAlra|`a†Nu.JAlrah`arNu8D aFp °fp-€aHMśpža4<` ¼0aRB“Goņ’G4<`až¼RB“AoöNuaUāa_n(OLŠJAlažĢ`a’N ‰ßü`VF.LŠ8*R’Ņź³źcg !a0ĄR’`a& ‰Nu.LгźgR’aü T’a ‰NuHēĄ€2*fpDNN³źggS‰` g¼ `S‰`¼ %IAź0¼NBg ĘgNNa tCņO%I"jLßNuJDo ¼ aSDnōNu³źfa’zŸRIR’Nu./ LŠ 8+ gp`" faü8+gp"NN ŠVĄD&_Nu./ LŠ 8+ gp` gB`a¼ Š8+VĄD&_Nu./ LŠ 8+ fa–8+gp"NN„7D +ŠR€Ń“&_BNu./ LŠ 8+a<€aT Š&_Nu.a€Nu.a2€Nu.a"€NuHēx"aģrLŠ 8+,OačB +g -f -f|’ažaÜ am zn ax,Oa†JjD€ ŠŽü"LßH`Nu.a,a#ŽšQNu.aa#~šQNu.a a#nšQNuHēLŠ 8+a: Ifaz`$ NfaÖ` 0m 9naD`p2NNLßH` ŠNua"BF +g -f& -f<<a6a am zn ` am zn NuIś\°faaŽ am zn `āJ$gp2NN`. Am Znp2NN`JFf <€` <’€a"~š@NuINFINITYIśz°fa˜av am zn `āJ$gp2NN`L Am Znp2NN`8 (f$ )gaRa0 am zn `ąa8 <€a!ųš@NuNANx"aźj8+M×Iļa¢JƒjM×a¬JFgD€a!Ęš@(`(tJEfBEDEl–EBEaaaŗa!œšT0Žü"Nu .fta¾aœ am zn 0m 9op2NN`H0JEoJgĄSER`Jg ĄSERt`SCanaL am zn 0m 9oøNu/ IģEDErBDtJEoˆ&SEč\SBfņ9SAfč(_8+Nu Ef¤aaš am zn :<CšC +g -f( -f Fš:<XŚCaŲa¶ am zn 0m 9op2NN`UĄDNŅa@UĄDNŅa.SĄDNŅa0SĄDNŅaRĄDNŅa RĄDNŅaTĄDNŅaTĄDNŅ$o0HĄ`$o . &RƒC’žCļA÷8փā€UĮā€UĀg±‰fS€nųJg±IfJg± _O÷8NŠ$_. 8TDaąę"OUDg"ŲYDnśm2ŲNŅ"_. 2RAA’žU@°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃ"_. 2RAA’žU@ w°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃa.WĄDNŅa&VĄDNŅa]ĄDNŅa_ĄDNŅa^ĄDNŅa\ĄDNŅ./Eļ46RCC’žCņ026RCC’žHq00°Bo0J@g³ fS@nųp ”Agma `aLß.HNѰfSBnųNu²fRBmöNu."Ga0(` ."Ga$B„8R„„’’’ž.‰vøƒl(X„"mQ‰$I&)g""Cø‘nņ „ €lX‰%Q`*"€ÓĄ"Ä`""mEńH æŹbpNNEź’ŲQ‰$Ń"Ä$Ń+J ‰NuT—T—.a¬$PB mQˆµČbVB€“É("µČb "H h`ņ%H#J"gҐµĮb •Č؊ „$H#J" Ņ„³ĮbJ€f $‘PŠ+J`" ’ŠŅ‘$ @!JNu.a@ ­YNu.a2Yˆ"mQ‰³Čc""i³Čbų g Š‘±Ąb I"ip’ Ą É+HNuOļ’ąæķOļ bpNNNu.R@@’ž24A÷ŌPUAo!`YAnųf1`0‚Š@`NuHĄ _.2HĮ6< R€@’žgƒR(˜g:nE÷C÷U@g#"Y@nśm3".I`"OaŽ$OUg m $ŁYnśm4Ł4ĆU„nśNŠ _.U@2RAA’žR@@’ž8˜Ag2nC÷E÷>€g%!Y@nśm5!.JNŠ"Oaݼ$OJAg$ŁYAnśm4ŁNŠ _.R@@’žC÷2RAA’žE÷µÉgJAg#"YAnśm3".INŠ _.02RAA’žŽĮNŠ _.4$O6RCC’žC÷028aŻLHq@ŅĮ0g!S@nś"_ŅB0R@@’žŌĄJ@g"S@nś3.INŠ _.46RCC’žC÷0a’fBA`PS@8˜@²Do2JAg@E÷0²Df8µDDg*g’ĮS‰ŚS@nś’Į`R@@’žŌĄµÉg"S@nś`”Ą"J.I?NŠ."O20R@@’žEń40R@@’žHrB@JAg6”Am2RB0SA I?¶fJAg ( µ f SAnųBR@` 2$D"HSBnŽB@2.W GNŠ _.4$O6RCC’žCņ02gEļ a Ž /€ AļCļ Eļa a rA×Cś’"E×a ø €AļC×Eļaźa PSo?oHBoIś üBÆ$BÆ(BÆ,|€(BÆ0BÆ4BÆ8<<`n/|€’’€ašWŽü NuŽüB>¼?’BÆ/Gp`ŽüBBÆBÆJ€k>¼?’p`>¼@pHz’¾` <’’±r÷ŃĻy«€.žü a¶šoL× @?’gņ @æ’gźJfJ‚gō @’bŲć@ā@€’’JkS@ćŠć‘jųH×`.€B @g2jDAĄHA0<S@ć‰jśB‚BoHēąA×Cś’hE×a²žü AļCś’bE×aä /€ EļaÖ /€C×aŽü Iś ź<<aRoA×Cļ a¬aŽü @?žc @Ądā‰ā’R@ @ĄfōHļć˜āX>€a¾šWŽü NuŽü>¼?’BÆ/Gp`Žü>¼æ’BÆBÆpHz’Ź`źÉŚ¢!hĀ4€€€ĄĄ.žüa4šoL×HĄć@ā@€€’’.€ @?’f8 f ‚f?z’€/z’|/z’z`B—/GpaJ`˜`fE×a @’šoT/@ jBRJ@k Aś’HCŅa¼  @’šo Iś„BFaĘ`ahJokAś’CŅ €aLa²J/ j €`a@  @?’c @ĄdLļā‰ā’R@ @ĄfōHļć˜āX?@a HšoŽüNuHļAļCļEļa AļCśžŹEļa /€Aśž CļEļa¾a$AļCļEļafLļNuHēąžüJ?FH/R/j/j B—BÆBÆBÆ BÆBÆ|€ F@gˆ/|’’¼?’BÆ/G0<Hzž`ōrtvx2(4(6(8( @o864BA@`ģ @gą¹ąŗą»ą¬HCˆƒBƒ6BBˆ‚HA†NuHēĄ0)°hlĆH0)h @?oBƒB„` @gaˆ`LčLŃ*±…j¶fø‚cĆCÅD@”„“ƒ` Ō„Óƒdā‘ā’R@HŅLßNuJfJ‚gJk S@ćŠć‘jųHŅNu0<Ą5@NuJØfJØg J©fJ©fB’BŖBŖ|ĄŽüNuaŠ/ 04‘±R0(ŠiR@5@&OB§B§B§B§:<LØ81PĄÄĀÄÄÄĘÄÖ£7CBCćSHCԃ6‚BBHB҂ң7ABAćQHAЁ'@’žÖüUEj¾LßJ€kSjć‹ć’ć‘ćjņHź&_Nua’H/04‘±R0(i5@LčLé xzJ€k Sjć‰ćjöJ‚k Rjć‹ć’jöāˆā‘āŠā“<<`’ƒ‘‚ć•ć”EgŅƒŃ‚ć‰ćRF F@oāJ„k Sjćć”jöHź0,Nu’žŁ’’’’’’’’’“’’µó3łŽd…JØfJØf1|ĄNuHēųLčJk ShćŠć‘jöžü$ <’’H×Gļ IļAś’¤"O$Kaž€Aś’Œ"Każŗ?|’ž<<` O"K$LažęSk L$Każ–RF Foā(o(,f Aś’`až4LÓŽü$Lß@6(āCRCŠCHŠNuaššA0ĮašA aˆšA0fNuå@@ mp pŽüHē’’*OHz.Bg/QĄfĄdĄhĄjĄč@?@ NŠLß’’Žü NuÉŚ¢!hĀ4v±œ†ķ=¢>¶ėņYŗÅÕŗš¬/mĘś­Ū–~ōć’Unź]‰*’ź«wnSV’żU[»©r’’ŖŖŻŻ¹’õUVīī?’žŖŖ·w’’ÕUU»’’śŖŖ­’’’UUU’’’źŖŖ’’’żUU’’’’ŖŖ’’’õU?’’’žŖ’’’’Õ’’’’ś’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’?’’’’’’€@ ›tķØC^ZgŒŸSÕhT»Ab»źQFœ +9=]īÓXŠÓu¬ÜŖÄH×q%V"+G&Ŗ±#ZUUˆˆ­€ Ŗ¬DD@UUb" *Ŗ«UUXŖŖŖUUŖŖUU€ Ŗ@U *€@ €@ €@ €@ €@ Ōl‘yQ‡ž W.aš@0ąHrĀtäHÄvāHĘāH"OĄĆĀĮNŠ.praęšA0A’Nu.praŅšA0A’Nu _."O RÄb* RÄb 〠RÄb〠RÄbå€JgpTNN`a~šC0ą[ą[apšC NŠ.Jka`š@0aVš@ `pSNNNu.Jka>š@0a4š@ `pRNNNu _.J€fppNN/B§?<N”&mBX‹+KB8D:/8ę\D8DD8ģ\ ?D>é_H‡GC×&oŽG0{pNū€ `°JŅąīfĀö\²²²²²'o B+aÖf˜a *f)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü HŅ`j'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü aŚ`:'o B+/ o`ōH…ŚE>;PČG>;PøGa"fä&H&/H…ŚE>;P¬:;P°HÅ$oÕÅWĘfN”` Gf4“`$“` / o`dH…ŚE>;PŅG>;PĀGa’fH&H&/H…ŚE>;P¶:;PŗHÅ$oÕÅfWĘDGN”` Gf6’`&’`'o +@`ų'o B+`Ž'o B+`Š'o B+/ m`¶aųfŗaLf²)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü / o`x\H‡a8/ g a €HŅ`d'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü LŅv/ o` g H‡aŠa $HŅ`'o B+a4föaˆfī) o`ŅH‡aų`Ō'o B+,-B/f,&mBEļ <<><N”&mBT‹+KB8/ ,-BU†`H„HÄ/H…äME&oadg܄+FB`n'o B+|a”fV$$Ha6f*@ &JEļ f <`<’><’’N”`€`'mBB+&o0< a<&o+‰+Č+g"B€Bf RX€`ō"oÓĄ"QOļ$NŃOļ$Nuåė <?’B$+NuPÄ?`BgHēŠ’R@*@LŖ0 : 8 ĄĀČĀHBŹĀ.Ś„ßGHGH@ŠEHE>߃8 < : ĢĀHBŹĀČĮކ,ŻCŽ…ŻCŽ„ŻC8ČĀHFHB: ŹĀŲ…ŻC: ŹĮŲ…ŻC: HAŹĮŲ…ŻCHFHGŽDHGHDŻDHFŻCHF8ČĀ*܄ŪC8 ČĮ܄ŪCHA8 ČĮ܄ŪC86 ČĮHAĘĮ؃vHEŪCHEHFÜDHFHDŪDHEŪCHE8ČĮŚ„"$&†@H@†@ Jm ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@Lß8J_gNuačNuLŅ8 €€€ ƒ€€€€’’ƒ€’’ü¶€føfŗ‚f `.e†€k ``†€k `Nuü+f `J€k `Nuü+f `Jk `Nuax`’>ü+f `B@2ć˜ćIćP;ƒNuüNuüNua0WĘaJfžōJgžī`ąagŚ`žŽa0gŠ`žŲa&`žŠ,Œ‚f <Ą<` S@ćŠć‘jųNuLŅ8,Œ…f&<Ą<` SCćć”jųNuB@)åHA€A;o aż8<Nu’’’’’’’’’’’’’’ HēpB@)f&H€Š@Š@0|ŠĄŠĄŠĄŃéŃü p<` €ćH0{Nū€€„А–œ¢Ø‚‚‚‚‚‚‚‚ČŠŲąčšų*Ln²Ōö$Dd„¤Ää0\ˆ“ą 8dč@˜šH ųPxœČ ‚‚‚AÕ`(Aķ`"Aķ`Aķ `Aķ`Aķ` Aķ`Aķ) fVˆ fTˆ`“ m `œ m$`” m(`Œ m,`„ m0`| m4`t m8`l m<`d m ")H€ćHEśž”02HĄŅ€+A `B m$")H€ćHEśžr02HĄŅ€+A$` m(")H€ćHEśžP02HĄŅ€+A(`ž m,")H€ćHEśž.02HĄŅ€+A,`Ü m0")H€ćHEśž 02HĄŅ€+A0`ŗ m4")H€ćHEśżź02HĄŅ€+A4`˜ m8")H€ćHEśżČ02HĄŅ€+A8`v m<")H€ćHEśż¦02HĄ €fR€Ņ€+A<`H)H€ćHEśż~02HĄ m ‘Ą+H `()H€ćHEśż^02HĄ m$‘Ą+H$`)H€ćHEśż>02HĄ m(‘Ą+H(`č)H€ćHEśż02HĄ m,‘Ą+H,`Č)H€ćHEśüž02HĄ m0‘Ą+H0`Ø)H€ćHEśüŽ02HĄ m4‘Ą+H4`ˆ)H€ćHEśü¾02HĄ m8‘Ą+H8`h)H€ćHEśüž02HĄ m< €fR€‘Ą+H<`<&mBEé <<><N”&mBT‹+KB0) HĄ m ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m$ŃĄ`ä&mBEé <<><N”&mBT‹+KB0) HĄ m(ŃĄ`ø&mBEé <<><N”&mBT‹+KB0) HĄ m,ŃĄ`Œ&mBEé <<><N”&mBT‹+KB0) HĄ m0ŃĄ``&mBEé <<><N”&mBT‹+KB0) HĄ m4ŃĄ`4&mBEé <<><N”&mBT‹+KB0) HĄ m8ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m<ŃĄ`Ü&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m ŃĄ`„&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m$ŃĄ`,&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m(ŃĄ`Ō&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m,ŃĄ`|&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m0ŃĄ`$&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m4ŃĄ`Ģ&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m8ŃĄ`t&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m<ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ @`ō&mBEé <<><N”&mBX‹+KB i `Š mB&mBEé <<><N”&mBT‹+KB0) HĄŃĄ`¬ mB&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pŠ†ŃĄ`T)H€ćHEś÷‚02HĄ&mBEé |> GfRGN”Aé @fRˆR@&mBץ+KB<`p<`p<`p<`&ip aō2<’LßNu /€€’’ @?’f (㌈‚f €`€`P @Ąf0(ˆ‚f €`f €`€`f €`€(NuNuLŅNu(±„„€g+D Df Ą`€Nu+gaJg 0<aóZ` 0<aóNNu <?’B$+Nu <ĄBB‚Nu <?’BB‚NuaņĄNu(±„„€NuaņaŠ€„NuaźaŌ€„NuėašNu0<aņšNu0<aņęNu0< aņÜNu0<aņŅNu+faź` J€jaŽNu2d–Čś,6@JTzŽG,HFĢE;`Ō Gl *ČEÜ;@Ü{pœ<;`(N»`$Nu (€€žŠžŠ€€ž’žŠžŠ€žŒžŒž¾žŠžŒžŒžŒžŒžŠžŒ€€žŠžŠ€^^vv^^fvv^žŒžŒnvžŒžŒžŒžŒvžŒ^^vv^ņR’ ’(žŠņR’ ’ ’DžŠ’ ’(’D’(žŠ’(žŒžŒžŒžŠžŒņR’ ’(žŠņRˆ’0’ žŠ’:’ ’:’ žŠ’ ’(’(’:žŠ’(žŒžŒžŒžŠžŒˆ’0’ žŠ’:ų’NžŒžŠ’NžŒ’NžŒžŠ’N’N’N’NžŠ’NžŒžŒžŒžŠžŒų’NžŒžŠ’NódódóĢōTō ódō^óĢōTō~óöóöō(ōTóöōTōTōTōTōTō’ōˆóĢōTōh ĢžŠžŠžŠ Ā     ŠžŠ’bžŠ’X          @`@`ż&@`żJ@`żB8PÄ?`BgLŅŠD@Ų€ D(*HŅ8+0č ;@ÖpJf¼f¾‚f ņ0`.e ņ0ž‚ć‡ć–UÅSjpRSfʎކgņ0LŅ Jk ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@J_gNua NuHēĄG’8DČü Lū@BAś¾źOg2$˜%X%XBƒāOdHē€+|aļŽ_L߀JG`ĢLßšNu€ Č ś œ@ĆPō$˜–€¾¼ īk(!•ł$ŗC·@'čŌ„+‘„ē*.µę ō€1ć_©1 5ŽÉæ8±¢¼.Å;Ž k:v@?ŠĒ#‰čB­xėŬbEŲ×&·z€I‡†x2n¬L©h? W“OÓĀĪĢķ”S„YQa@„ V„o„¹„ČYĪĖ'ō :]?9xų” „`”×6¹ åcÉņÉĶgNßfüo|@E"–jÅ­Ø+pµžŌĀxI’ϦÕ©“ŗGɀ錱RŖ~ėūłŽŽ¤ć ®¦‘Ē IÉvu†u “ž‹;]Å=]å5&Ä`RŠ —›’’’’’’’’’’’’’’’’’’’’’’’’’’’fųĄ€fLŅv~)(HDD;@ĄjałZ`ź GlćO8;@ČN»@Ä` GlĘWGćO8;@ N»@` ~ĄØÄXUGknf6?aš6f]@j Žü`Āf|~žĒH $ON”Žü$@&H`0ß`2/ašf]@j Žü`Žf|~üĒH $ON”Žü$@&H` ß`6aļĪf]@j ŽüRO`Xf|~’ĒH $ON”ŽüRO$@&H`ß`8z)åä Gf Eo0< aģz``åM5P>a Nu’‚ü€’’’’’’’’’’ų GgĀ+0E:TE°{pĢmĀJja6°{p¾m€+flė+fė` `J<Ģü+gJ€kAś’|Lš```ą`J€jAś’`Lš`Ą``Ą` ė`p`*Aś’0°ppfS@`0< aė|+gJ`D`2+faą+fė`aZė`J‡fR@ą‰$‚€H@B@ļˆ€‚€/aīf]@j Žü`Ųf|~üĒH $ON”Žü$@&H` ß`f@’&ƒ€ćŠć‘H@HA0HB2éˆé™(éšzČE|šĀF€D‚B€ƒHēĄaķ¬f]@j Žü`rf|~ųĒH $ON”Žü$@&H` ß ß`R&ƒ€H@€€ƒHA0?HB2HēĄaķZf]@j Žü ` f|~öĒH $ON”Žü $@&H` ß ß0ßNuJGf‚?’’ <€€‚`& Gf(" <š`(BHB2 2pHĒgE× oŲS`ņ`&HE×f <`<’N”)HćI&o"0{Nū€ø,88 "tvH@HĄīH€@በ@€f@0ćŠćQćŠćQćŠćQćŠćQćŠćQ4HB2<gė+f&`L @üf<(ˆ‚g(R@+gJm ćŠć‘S@J`ņaūŲ`0<Ą` ĮaūÄaķ~`ā0"/$/vHĄćHā@ @?’f&gė+f–`: @Ąf.(ˆ‚g"+gJm ćŠć‘S@J`ņaūN`aūFaķ`dHHĮ~aśˆ`T2HĮ~aśz`F"~aśn`:"o)HƒĘü $iÕü ÕĆC×a®aģ®`H@@€@H@<`<OļLßNuLŅp~>žDj DGÉ@ĖAĶB GAcJkĒŒ…VĆ`† DSGkāā–ā“UĆQĻ’ō(ˆ…kĒ(±„j@Ēx²…dĮˆ0D‚@`(f“†dĮˆ0D‚@`Dƒ@†@…`Dƒ@†@…Ō†Ó…dfā‘ā’ā“UĆR@(ˆ‚ˆƒf(J‡k0<Ą€+ fĄ`JkJ‡kxAć‹ć’ć‘S@J[Ģ’ōaśĘNu|rtxžEJ1Pf REQĻ’ōNu1PčŽćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓD1PćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓDRQĻ’ŗNuz~ a–0<?Jm ćŠć‘S@J`ņNup f <€č  f <?’B$) Nu  f`ėĄ  f`ėĄ)()ˆ©ˆi J„f0<ĄĄBB‚Nuz~a’ gDB5Ba’^/ Hēą) c p aތ:<>*žE++ü„gDGÄaīb_$Ÿ%_%_v«gJ„j 0<æ’`0<@`J„k aŽJ`aķx"_v @?žcL @ĄdDJ@j"ė+g `źØ`ał&`ė+g `źˆ``ł¢NuH‡ Go><ė¼(JGf><ė¼(Nū@F/</</<JGkSG`DGG’J€jG?`P//</<?<Ą`:`6`ø``ā`$/</</<J€k?< `?<°` JfJ‚f`„?+|Hēą€’’’ €Ąf 2<ģ»`”ćŠć‘J@j ĄD‚@@@|āHā‘ā’J@WĪ’ö0<FJfJ‚g``Z€€’’$¼’ž%|š š„%|ūĻ÷™Hē@aÜ“Jƒgaō&«gBA`|œ@ģ©J€jDAL߀8BgJGj |ÜDœGn|` Fo|`<JGj ¾Do8zŚDšF0G>[ÅjDGaģ>$Æ%o%o BRHē @vH@B@H@Jk aė>`aÜLߊJƒg7o++J/jĄH§ >aóJf€€’’Jk Ą`Ą(*,aė„„?BHŅp*f aܞ`aŻÄJof f6ŸLŸŠRWRD`žę f>/SGaė2HŅRo`4>/SGaėJof$J/jaÜ> f6ŸLŸŠRWSD`ž–6Ÿ*gp`0*aö OŸüHGHFHEHDp2/jDAf0` pćAYČ’ü5Aa¬0/S@Jo[ĄJ/[Įš‚+aŻbf]@j Žü`6f|~ņĒH $ON”Žü$@&H` ß ß ß0ßßü$Ÿ%_%_7_NuaŻf]@j Žü`"f|~ņĒH $ON”Žü$@&H` ß ß ß0ßNurtvxz|~`8<ĻĶĖÉĒ AmHGHFHEHDĻĶĖÉHGHFHEHDSjtR2g0<HAĻĶĖÉĒdHGHFHEHDĻĶĖÉHGHFHEHDHAQČ’NuJ€j paŁVNqNuz~v,<@ā@d R@ā‰ā’ā“ā‰ā’ā“/p²†f“‡f ¶€fÅe.–€•‡“†Jk Ę`<@Ų  l Ą` Ē`$Jk †`<@Ų  l €` ‡ Žf``SJk †`<@Ų  l €` ‡J…k6SJk Ę`<@Ų  l Ą` ĒRć‹ć’ć‘e’N`’0"$&ކVĆ Jk ć‹ć’ć‘S@aóVNqNu @LŅĮ<<8˜HRDo:Jf"¼f¾‚f vž‚`|dv`vž‚Ž‡ć–UÅS@SD`Äādā–ā—R@SH°Hl`Hf*¼d`:f¾‚d`,f f`$€%F%GRH0@Nŗöą`"$&†‚f 0<Ą`Jm ćŠć‘S@J`ņvNŗņzNu‡NuJ‡gGNuFa0Bg/QĄfĄdĄhĄjĄč@?@ FNwaa Ę`daaø`X ‡€f~ †€f|J†jJ‡j¼‡Nu¾†Nu ‡€f~J‡NuaŌJ‡fJ†gB‡`< <NNJ†fpNNa`ųa”a|`ģHēa¦`ąa|kfpNNav`ŹaxaĢ`¾alJkfpNNaRa°a.`žaLJfJf <NNpNNHēa˜hpNN@mn o~`h<<š` ‡g<S lš<š gJf ‡R  f~`| ĘŽ†d ā—RS ‡,a˜,/ĻFa JP`ų./Dü`šaŠJj,<€Ą`,<€@a 2a@hpNN`ģa`aü`aVaų`aLah¤*€S…g~`”pNNa*jpNNa<`zaaāhpNNLßxXNuOļ’š//HļųaNuOļ’š//HļųaĶGaĶGNuHGīŸ €ŽiZi €āŸJNud ~f <āŸJNu~NupNNiއg €ā‚HGļŸJ‡LßxXNupNN./LßxX ‡€f~Nu?<’ž`$?<’’`?<` øbTJNuBgJkī 8cīHē~€$Ž ŠcJ Øc <Lß~TNu ,<¢łƒ>.aXDx’B묒΄,<ÉŪCaą,.a”$(< żŖ.BJkFD c~䯾„o$ž„ž„`öĘD c~äÆD‡D„¾„lž„ž„`öz,<ģ‘b@(<2CöØē‡kD†D„Ž„Aś*rt’RB&(ä£ä¤J‡k š„܃ž˜QÉ’ź` Ś„œƒŽ˜QÉ’Ž2/j"Rf0a:.,a4g aĀLß~TNu.<’’’`šg,a.JLß~TNu/a/F,`ę(k †’b ¦|Nuą„R„f š`ņJgja <Nu~’`öHē~€<A,<€A$aŒĻBat,a@gJCD c~īÆ|*< Aśźrt`䤚„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņ~a gR.$|Ag(jDąžzG܆[Ķ’ü€Œ.<±r@a8,aLß~Nu<Jj~`~’ā<Lß~Nu.<€AOļJNuHē~€?gź$,<øŖ;AaīiĄ`D o°  lꯇėÆ,<±r@aÄ,.ax$`B.BCD c~äÆz,<&£ŃAśģtra4YˆSBr a,YˆSBr a$J/jD…D܅a.Žk’>g’:TLß~NuRB&(ä£ä¤J‡k Ś„Üƒž˜QÉ’źNuš„œƒŽ˜QÉ’ŽNuHē~€,<€AB'¾eb¾†cFĶGa CD c|`4īÆ|*< Aś®rt`䤌„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņa|.Jg .<ÉŪAazJg€ŽLß~Nu“źz,W}bG«X€Ŗ@U €@ €@ !ūTÖ3‚ÖŻ~ś·S’U»’ź­żU?’Ŗ’õ’ž’’’’’’’’’?’’’’’’’?a<NugPkīā dRā HC6<ī(*,Aś4.<€˜‡… ` Ē(Ų„*š˜š‡[Ė’ņZĖ’ņcR‡į FHCNu€@ €@ k$gBAkjDźÆNu~’ā<Nu~NuBĮkōjDźÆD‡NufD‡J‡kŅ~Ē<Nuz_J‡g0jząD‡i&S ‡’bHGއ[Ķ’üJj ‡dā—RNuŽüJ†f‡’’’J<NuHFHG½`źkś~NugŲ(gčv€ŚEŲD··˜iäBHGHF¾FkTiĪāŸHG»DāL&†Ę:ĘʞƒHGHF6BĘŞƒd&BރSE&HCBGŽĆHEk:Ś…S>:…€.gŒNugFg\ŚEŲDv€··ŚiR¹Eā]B&HC(BĘÄHDČĒ؃BDŁHDHGHFĪĘHFŽ„j ‡€gNuSiex@ބއdā—RgNu~Nujś½‡’’’J<Nugfg~ŚEŲDv€··ŚhFjnŗfrakj`L¹Eā]HE:BB8ČĒHD&HCĘÅ؃HF&ĘĒ؃BDŁHDHGĪĘHFHEŽ„NuaČj ‡€gNuSiex@ބއdā—RigNu~Nu`½‡’’’J<Nuz J‡g„kzއ[Ķ’ü Fn| F’ämn8DDÉü/Aś¾Śp@<&0@ W.ƒ:ŹĆBEHExHCĘĒŚƒŁHG6ĘļڃdR:HEĪ×OļŽ…kއSF‡€dā—RFv 8ēfi F€ę®gNu~NuJDkų~’HFāāJ<NugR €kjklf`>k^g>k^g2šk8 d,&Bź«<€ŽƒeNuā—Ridō~’S<Nu.NuJNu ’čošD&BźÆ<€ŽƒeĢNuk¦gÖv€·šgPk< dĢ&Bź«žƒk BS ‡’bHGއ[Ģ’ü¹kgNu~Nu ’čoŠD&.<€`¾ĖDž†gąjŗD‡`¶Oļ’ö// JBg/QĄfĄdĄhĄjĄč@?@ Hē>Ąf~A?|+."jT/"Ü<€æH†āFvAś¼Pmn ¾Ød \HSC`Ač’śRC¼Pnögč`ģAčSC¼PmögŚ/|E+00,4jDBT/- B eR/.B …//tCļ$J‡jJ(fB8˜X*č­x ž…UĢ’üeBŽ… D0ÄQŹ’Ü>HĒLß|Nw@ŠĒ#<Ž k:9±¢¼/6ŽÉæ2ć_©2/µę õ,‘„ē*(čŌ„%ŗC·@"•łīk(¾¼ ˜–€ō$ĆPœ@ śČ €’żĢĢĢĶ’ś£× =’÷ƒn˜’óŃ·Y’š§Å¬G’ķ†7½’éÖæ”Ö’ę«Ģw’ć‰p_A’ßŪęžĻ’ÜÆė’ ’ٌ¼Ģ ’Õį.B’Ņ“$Ü5’ϐ|÷’Ėꕔæ’ČøwŖ2’œ’ī’ĮģJ~’¾¼åe’»— P’·ńɁ’“Įmš’±š¾Ķ’­÷–‡®’ŖĘ%’§žtŃø’£ż‡µóxBJ†g.jD†<Ā †’bHF܆[Ģ’üJj †dā–RNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.aŠNu DMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page1    Command Line: $LINK ,MX.ATASK.LO,MX.TASKA.LL;HAMIXS  ?OptionsinEffect:‚A,-B,-C,-D,-G,H,I,-L,M,N,O,P,-Q,-R,S,-U,-W,X  User Commands: TASK ATAS,'$0010PRIORITIES $42,$7F ATTRIBUTES PSEG SEG1(R):0,9 $F3000SEGSEG2(X):15‚$00000SEGRRTL(GR):8‚$F6000IN 9998.RRTL.RTLINIT.RO IN‰&.TASKA.ROIN 9998.RRTL.RRTLACCS.ROIN 9998.RRTL.PRTL.ROIN 9998.RRTL.PLJSR.ROIN 9998.RRTL.RFINIT.ROIN 9998.RRTL.RTRAPS.ROIN 9998.RRTL.RPSCALIB.ROLIB 0.&.PDOLRLIB.ROEND  !Object Module Header Information: 4Module…VerRevLanguageDate…Time…CreationFileName >INIT‰2‚12Assembly01/08/8608:45:55MSTR:9998.RRTL.RTLINIT.SA,‹68KPASCALRUNTIMEINITFORVDOSONVM01/02 5SMPL‰1ƒ0Pascalƒ12/12/8506:34:57MSTR:9990..TASKA.PC1‹M68000Pascalobjectfrom‚2.30residentcompiler ARRTLACS†1ƒ1Assembly01/01/8610:19:26MSTR:9998.RRTL.RRTLACCS.SA  =RRTL‰1ƒ1Assembly01/28/  8606:58:41MSTR:9998.RRTL.RRTLSRC.SA  =PLJSRˆ2‚12Assembly01/01/8612:39:30MSTR:9998.RRTL.PLJSR.SA,‹68KPASCALRUNTIMEINITFORVDOSONVM01/02 =FINITˆ2ƒ0Assembly01/01/8612:50:24MSTR:9998.RRTL.RFINIT.SA4‹68KPASCALFLOATINGPOINTINITIALIZATIONSUBROUTINE >TRAPSˆ2‚11Assembly01/01/8612:52:33MSTR:9998.RRTL.RTRAPS.SA-‹68KPASCALTRAPHANDLINGRUNTIMESUBROUTINES  DMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page2   ?SYMFLAG†0ƒ0Assembly06/09/8318:29:42FIX:103.UTILRR.SYMBUG.SA ‹SYMBUGFLAG >OPTION‡2ƒ0Assembly06/09/8318:33:55FIX:103.UTILRR.OPTION.SA'‹68KPASCALOPTIONPROCESSORSUBROUTINE =CLSCOD‡2ƒ0Assembly06/09/8318:19:02FIX:103.IOSRR.CLSCOD.SA&‹68KPASCALCHARACTERCLASSCODETABLE STOREV‡2ƒ0Assembly06/09/8318:36:03FIX:103.UTILRR.STOREV.SA+‹68KPASCALSTOREVECTORSUPPO! RTSUBROUTINE ;EQUV‰2‚10Assembly06/09/8318:31:33FIX:103.UTILRR.EQUV.SA'‹68KPASCALCOMPAREVECTORSSUBROUTINES :LODS‰2ƒ0Assembly06/09/8318:32:47FIX:103.UTILRR.LODS.SA6‹68KPASCALDIRECTANDINDIRECTSTRINGLOADSUBROUTINE ;STRS‰2‚11Assembly06/09/8318:36:45FIX:103.UTILRR.STRS.SA*‹68KPASCALSTRINGDIRECTSTORESUBROUTINE ;STOS‰2‚10Assembly06/09/8318:36:16FIX:103.UTILRR.STOS.SA,‹68KPASCALSTRINGSTOREINDIRECTSUBROUTINE :EQUS‰2ƒ0Assembly06/09/8318:31:17FIX:103.UTILRR.EQUS.SA'‹68KPASCALCOMPARESTRINGSSUBROUTINES 8NEWŠ2ƒ0Assembly06/09/8318:33:40FIX:103.UTILRR.NEW.SA,‹68KPASCALNEW(HEAPALLOCATION)SUBROUTINE 8DISŠ2ƒ0Assembly06/09/8318:30:45FIX:103.UTILRR.DIS.SA2‹68KPASCALDISPOSE(HEAPDEALLOCATION)SUBROUTINE  DMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page6   8MRKŠ2ƒ0Assembly06/09/8318:33:28FIX:103.UTILRR.MRK.SA*‹68KPASCALMARK(HEAPMARKING)SUBROUTINE 8RLSŠ2ƒ0Assembly06/09/8318:34:13FIX:103.UTILRR.RLS.SA2‹68KPASCALRELEASE(HEAPDEALLOCATION)SUBROUTINE >CHKOVF‡2ƒ0Assembly06/09/8318:29:46FIX:103.UTILRR.CHKOVF.SA4‹68KPASCALCHECKFORSTACKHEAPOVERFLOWSUBROUTINE VSTRUNDERVECSUBROUTINE SINCOS‡2‚10Assembly06/09/8318:08:22FIX:103.FPSRR.SINCOS.SA1‹68KPASCALSINE,COSINE,ANDTANGENTSUBROUTINES ATANH2‡2‚10Assembly06/09/8318:05:45FIX:103.FPSRR.ATANH2.SA,‹68KPASCALATANHOFNEGPOWERSOFTWOTABLE 7GTMŠ2ƒ0Assembly06/09/8318:10:15FIX:103.FPSRR.GTM.SA9‹68KPASCALGETFLOATINGPOINTARITHMETICMODESUBROUTINE 7GTFŠ2ƒ0Assembly06/09/8318:09:54FIX:103.FPSRR.GTF.SA9‹68KPASCALGETFLOATINGPOINTEXCEPTIONFLAGSSUBROUTINE 7GTTŠ2ƒ0Assembly06/09! /8318:10:37FIX:103.FPSRR.GTT.SA,‹68KPASCALGETTRAPENABLEFLAGSSUBROUTINE 7STMŠ2ƒ0Assembly06/09/8318:12:34FIX:103.FPSRR.STM.SA9‹68KPASCALSETFLOATINGPOINTARITHMETICMODESUBROUTINE 7STFŠ2ƒ0Assembly06/09/8318:12:10FIX:103.FPSRR.STF.SA9‹68KPASCALSETFLOATINGPOINTEXCEPTIONFLAGSSUBROUTINE 7STTŠ2ƒ0Assembly06/09/8318:13:03FIX:103.FPSRR.STT.SA7‹68KPASCALSETTHEFLOATINGPOINTTRAPMASKSUBROUTINE 7NANŠ2ƒ0Assembly06/09/8318:10:57FIX:103.FPSRR.NAN.SA.‹68KPASCALGENERATEANOT-A-NUMBERSUBROUTINE =FPOINT‡2ƒ1Assembly06/09/8318:09:02FIX:103.FPSRR.FPOINT.SA;‹68KPASCALFLOATINGPOINTF-LINETRAPSIMULATORSUBROUTINE ;M68341‡2‚10Assembly06/09/8318:04:16FIX:103.FPRR.FRNT.RO:‹68KPASCALMC68341IEEEFLOATINGPOINTSUBROUTINEPACKAGE ;ABSQ‰1ƒ1Assembly06/09/8318:38:27FIX:103.FPQRR.IEFABS.SA'‹68KPASCALFFPABSANDNEGSUBROUTINES ;ADDQ‰1ƒ1Assembly06/09/8318:38:31FIX:103.FPQRR.IEFADD.SA'‹68KPASCALFFPADD/SUBTRACTSUBROUTINE  DMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page8   RRTLACS†9…000F3920‚000F3B3D‚LGTSKID„000F3998‚LFDELETEƒ000F3AF0  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page10  "§LHALTIO„000F3AD4‚LFCHVOL„000F3B0C"§LLOADER„000F3B20‚LRQSTPA„000F39B0"§LDCLSHR„000F3926‚LTESTIO„000F3ACC#§LTSKATTRƒ000F3A8E‚LCONFST„000F3ADC$§LPROTECTƒ000F3AF8‚LRTVATTRƒ000F3B1C#§LASSIGN„000F3B04‚LCHGPERMƒ000F3B00§LDEF‡000F3B38‚LDSERVE„000F3A22"§LSERVER„000F3A28‚LATTSEG„000F3920"§LRDEVNT„000F3962‚LAKRQST„000F3A10"§LEXMMSK„000F3A34‚LFORMAT„000F3ABC §LSNAPTRAƒ000F3A82‚LCMR‡000F3A9A §LSUSPENDƒ000F39C8‚LLOC‡000F3B32#§LGTDTIM„000F3A6A‚LGTTSKNAƒ000F399E§LSTDTIM„000F3A88‚LPTR‡000F3B32"§LBRKSRV„000F3AD8‚LGTEVNT„000F3956"§LRTEVNT„000F3968‚LWTEVNT„000F3974§LLOC1†000F3B32‚LLOC2†000F3B32§LLOC3†000F3B32‚LTBRAK…000F3AC0§LPTR1†000F3B32‚LDELAY…000F3986§LPTR2†000F3B32‚LREAD†000F3AA8 §LDESEG…000F392C‚LDESEM…000F39F8 §LDCDIR…000F3A64‚LNCDIR…000F3A5E §LSGSEM…000F3A04‚LDESMA…000F39FE§LTERM†000F39CE‚LTERMT…000F39D4 §LQEVNT…000F395C‚LABORT…000F397A§LCRTCB…000F3980‚LWAIT†000F39E0 §LWAITO…000F3AD0‚LRCVSA…000F3944 §LCRSEM…000F39F2‚LCTVCT…000F39DA §LTRSEG…000F393E‚LCHKPT…000F3AEC §LDEASQ…000F394A‚LATSEM…000F39EC §LGTSEG…000F3932‚LWTSEM…000F3A0A§LALLOC…000F3B08‚LCISR†000F3A52§LCXVCT…000F3992‚LSINT†000F3A58 §LOUTIN…000F3AB0‚LTRAP2…000F3B26§LTRAP3…000F3B2C‚LSTOP†000F39C2 §LDLAYW…000F398C‚LDRQST…000F3A1C §LNRQST…000F3A16‚LSTART…000F39BC §LWRITE…000F3AAC‚LEXMON…000F3A3A!§LGTASQ…000F3950‚LRENAME„000F3AFC"§LDELETE„000F3AB8‚LNEGBRK„000F3AE4"§LREWIND„000F3AC8‚LUPDATE„000F3AB4"§LWAKEUP„000F39E6‚LFCLOSE„000F3AF4"§LSETASQ„000F396E‚LCNFDEF„000F3AE8"§LFCHDIR„000F3B18‚LPSTATE„000F3A40"§LRSTATE„000F3A4C‚LCONFIG„000F3AE0"§LFCHDEV„000F3B14‚LSETPRI„000F39B6"§LRELINQ„000F39A4‚LRESUME„000F39AA"§LDEXMON„000F3A2E‚LMOVELL„000F3A70"§LMOVEPL„000F3A76‚LREXMON„000F3A46#§LPOSITIOƒ000F3AC4‚LCHGLUN„000F3B10"§LFLUSHC„000F3A7C‚LSHRSEG„000F3938§LTSKINFOƒ000F3A94FFPBACK†8…000FE378‚000FE3B1‚.PQRTD7„000FE3A0‚.PQTIEEEƒ000FE378§.PQRTOD7ƒ000FE39C:FFPSIN‡8…000FE3B2‚000FE51F‚.PFTAN…000FE3B8‚.PFSIN…000FE3D0"§.PFCOS…000FE3BE‚.PFSINCSƒ000FE3B2*FFPLOG‡8…000FE520‚000FE5DD‚.PFLOG…000FE520*FFPEXP‡8…000FE5DE‚000FE6D3‚.PFEXP…000FE604,FFPATAN†8…000FE6D4‚000FE75D‚.PFATAN„000FE6D4.FFPHTHET…8…000FE75E‚000FE7BD‚.PFHTHETƒ000FE75E.FFPTHETA…8…000FE7BE‚000FE829‚.PFTHETAƒ000FE7BE,FFPSQRT†8…000FE82A‚000FE8E7‚.PFSQRT„000FE836*FFPFPI‡8…000FE8E8‚000FE939‚.PFFPI…000FE8E8*FFPIFP‡8…000FE93A‚000FE971‚.PFIFP…000FE93A*FFPDIV‡8…000FE972‚000FEA07‚.PFDIV…000FE996*FFPMUL‡8…000FEA08‚000FEA81‚.PFMUL…000FEA08,FFPMUL2†8…000FEA82‚000FEB1F‚.PFMUL2„000FEA82*FFPDBF‡8…000FEB20‚000FEBC3‚.PFDBF…000FEB20:FFPADD‡8…000FEBC4‚000FECA7‚.PFADD…000FEBD6‚.PFSUB…000FEBC4*FFPFPA‡8…000FECA8‚000FED95‚.PFFPA…000FECA8.FFP10TBL…8…000FED96‚000FEEB5‚.PF10TBLƒ000FEE08.FFPTNORM…8…000FEEB6‚000FEEEB‚.PFTNORMƒ000FEEB6@FFPCPYRT…8…000FEEEC‚000FEF2F‚.PFCPYRTƒ000FEEEC‚.PFLOATPƒ000FEEECFINITˆ8‚C‚000FEF30‚000FEF35  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page14    $Table of Externally Defined Symbols: 0NameˆAddressƒModule†Displ„SectSegƒLibrary†Input 4.P68341P„000FB3A6‚M68341†00000000ƒ8‚RRTLRPSCALIB.RO4.PACCPER„000F811C‚ACCPER†00000000ƒ8‚RRTLRPSCALIB.RO2.PADDRER„000F3CB2‚TRAPS‡00000174ƒ9‚SEG1RTRAPS‚.RO0.PADX‡000FAAD8‚MATHX‡0000004Cƒ8‚RRTLRPSCALIB.RO..PAFI‡000F7F30‚AFI‰00000000ƒ8‚RRTLRPSCALIB.RO2.PALSTS…000F7B9C‚ALSTS‡00000000ƒ8‚RRTLRPSCALIB.RO3.PALSTSL„000F7B9E‚ALSTS‡00000002ƒ8‚RRTLRPSCALIB.RO2.PASGNF…000F9852‚ASGNF‡00000000ƒ8‚RRTLRPSCALIB.RO2.PATAN2…000FADF0‚ATAN2‡00000000ƒ8‚RRTLRPSCALIB.RO4.PATANH2„000FAFF8‚ATANH2†00000000ƒ8‚RRTLRPSCALIB.RO..PATN‡000FA4DE‚ATN‰00000048ƒ8‚RRTLRPSCALIB.RO2.PBUFSZ…000F9876‚BUFSZ‡00000000ƒ8‚RRTLRPSCALIB.RO4.PCALCLU„000F813E‚CALCLU†00000000ƒ8‚RRTLRPSCALIB.RO4.PCFLDAD„000F98B8‚CFLDAD†00000000ƒ8‚RRTLRPSCALIB.RO4.PCHKOVF„000F9D00‚CHKOVF†00000000ƒ8‚RRTLRPSCALIB.RO..PCLO‡000F7BC8‚CLO‰00000000ƒ8‚RRTLRPSCALIB.RO2.PCLOSE…000F9886‚CLOSE‡00000000ƒ8‚RRTLRPSCALIB.RO3.PCLOSPL„000F98A6‚CLOSE‡00000020ƒ8‚RRTLRPSCALIB.RO4.PCLSCOD„000F7B1C‚CLSCOD†00000000ƒ8‚RRTLRPSCALIB.RO2.PCORDA…000FA638‚CORDA‡00000000ƒ8‚RRTLRPSCALIB.RO1.PCOS‡000FA7C0‚SINCOS†000000AAƒ8‚RRTLRPSCALIB.RO2.PCVBSV…000F9D16‚CVBSV‡00000000ƒ8‚RRTLRPSCALIB.RO2.PCVTSU…000F9DA6‚CVTSU‡00000000ƒ8‚RRTLRPSCALIB.RO2.PCVTSV…000F9D44‚CVTSV‡00000000ƒ8‚RRTLRPSCALIB.RO3.PCVTSVL„000F9D46‚CVTSV‡00000002ƒ8‚R# RTLRPSCALIB.RO2.PCVTUS…000F9DF4‚CVTUS‡00000000ƒ8‚RRTLRPSCALIB.RO0.PDFLT†000F85EA‚DFLTˆ00000000ƒ8‚RRTLRPSCALIB.RO..PDIS‡000F9C4E‚DIS‰00000002ƒ8‚RRTLRPSCALIB.RO/.PDISL†000F9C4C‚DIS‰00000000ƒ8‚RRTLRPSCALIB.RO2.PDVJ‡000F86BC‚DVJMODJ…00000000ƒ8‚RRTLRPSCALIB.RO0.PDVX‡000FAC1C‚MATHX‡00000190ƒ8‚RRTLRPSCALIB.RO4.PEDTFIL„000F8190‚EDTFIL†00000000ƒ8‚RRTLRPSCALIB.RO..PEOF‡000F8E78‚EOF‰00000000ƒ8‚RRTLRPSCALIB.RO..PEOL‡000F8E3C‚EOL‰00000000ƒ8‚RRTLRPSCALIB.RO0.PEQUS†000F9B36‚EQUSˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PEQUV†000F9A00‚EQUVˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PEQUVL…000F9A08‚EQUVˆ00000008ƒ8‚RRTLRPSCALIB.RO..PEXP‡000FA104‚EXP‰00000038ƒ8‚RRTLRPSCALIB.RO6.PF10TBL„000FEE08‚FFP10TBL„00000072ƒ8‚RRTLRPSCALIB.RO2.PFADD†000FEBD6‚FFPADD†00000012ƒ8‚RRTLRPSCALIB.RO4.PFATAN…000FE6D4‚FFPATAN…00000000ƒ8‚RRTLRPSCALIB.RO2.PFCOS†000FE3BE‚FFPSIN†0000000Cƒ8‚RRTLRPSCALIB.RO6.PFCPYRT„000FEEEC‚FFPCPYRT„00000000ƒ8‚RRTLRPSCALIB.RO2.PFDBF†000FEB20‚FFPDBF†00000000ƒ8‚RRTLRPSCALIB.RO2.PFDIV†000FE996‚FFPDIV†00000024ƒ8‚RRTLRPSCALIB.RO2.PFEXP†000FE604‚FFPEXP†00000026ƒ8‚RRTLRPSCALIB.RO2.PFFPA†000FECA8‚FFPFPA†00000000ƒ8‚RRTLRPSCALIB.RO2.PFFPI†000FE8E8‚FFPFPI†00000000ƒ8‚RRTLRPSCALIB.RO6.PFHTHET„000FE75E‚FFPHTHET„00000000ƒ8‚RRTLRPSCALIB.RO2.PFIFP†000FE93A‚FFPIFP†00000000ƒ8‚RRTLRPSCALIB.RO  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page15  1.PFINIT…000F7950‚FINIT‡00000000ƒ8‚RRTLRFINIT‚.RO6.PFLOATP„000FEEEC‚FFPCPYRT„00000000ƒ8‚RRTLRPSCALIB.RO2.PFLOG†000FE520‚FFPLOG†00000000ƒ8‚RRTLRPSCALIB.RO2.PFLSCN…000F98E0‚FLSCN‡00000000ƒ8‚RRTLRPSCALIB.RO2.PFMUL†000FEA08‚FFPMUL†00000000ƒ8‚RRTLRPSCALIB.RO4.PFMUL2…000FEA82‚FFPMUL2…00000000ƒ8‚RRTLRPSCALIB.RO2.PFPERR…000FAD7E‚MATHX‡000002F2ƒ8‚RRTLRPSCALIB.RO4.PFPOINT„000FB31A‚FPOINT†00000000ƒ8‚RRTLRPSCALIB.RO2.PFSIN†000FE3D0‚FFPSIN†0000001Eƒ8‚RRTLRPSCALIB.RO4.PFSINCS„000FE3B2‚FFPSIN†00000000ƒ8‚RRTLRPSCALIB.RO4.PFSQRT…000FE836‚FFPSQRT…0000000Cƒ8‚RRTLRPSCALIB.RO2.PFSUB†000FEBC4‚FFPADD†00000000ƒ8‚RRTLRPSCALIB.RO2.PFTAN†000FE3B8‚FFPSIN†00000006ƒ8‚RRTLRPSCALIB.RO6.PFTHETA„000FE7BE‚FFPTHETA„00000000ƒ8‚RRTLRPSCALIB.RO6.PFTNORM„000FEEB6‚FFPTNORM„00000000ƒ8‚RRTLRPSCALIB.RO0.PGEQS†000F9B5E‚EQUSˆ00000028ƒ8‚RRTLRPSCALIB.RO0.PGEQV†000F9A50‚EQUVˆ00000050ƒ8‚RRTLRPSCALIB.RO1.PGEQVL…000F9A58‚EQUVˆ00000058ƒ8‚RRTLRPSCALIB.RO..PGET‡000F9598‚GET‰00000000ƒ8‚RRTLRPSCALIB.RO2.PGETCH…000F9532‚GETCH‡00000000ƒ8‚RRTLRPSCALIB.RO4.PGETINT„000F95E2‚GETINT†00000000ƒ8‚RRTLRPSCALIB.RO0.PGRTS†000F9B56‚EQUSˆ00000020ƒ8‚RRTLRPSCALIB.RO0.PGRTV†000F9A40‚EQUVˆ00000040ƒ8‚RRTLRPSCALIB.RO1.PGRTVL…000F9A48‚EQUVˆ00000048ƒ8‚RRTLRPSCALIB.RO..PGTF‡000FB22C‚GTF‰00000000ƒ8‚RRTLRPSCALIB.RO..PGTM‡000FB200‚GTM‰00000000ƒ8‚RRTLRPSCALIB.RO..PGTT‡000FB240‚GTT‰00000000ƒ8‚RRTLRPSCALIB.RO..PIFD‡000F7BE4‚IFD‰00000000ƒ8‚RRTLRPSCALIB.RO0.PINDS†000F9AAC‚LODSˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PINDV†000F9934‚LODVˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PINDVL…000F993E‚LODVˆ0000000Aƒ8‚RRTLRPSCALIB.RO0.PINIT†000F3000‚INITˆ00000000ƒ9‚SEG1RTLINIT.RO2.PIRPTR…000F9550‚IRPTR‡00000000ƒ8‚RRTLRPSCALIB.RO2.PIWPTR…000F8E28‚IWPTR‡00000000ƒ8‚RRTLRPSCALIB.RO2.PLBLKS…000F8E16‚LBLKS‡00000000ƒ8‚RRTLRPSCALIB.RO/.PLDCS†000F990A‚LDC‰00000000ƒ8‚RRTLRPSCALIB.RO/.PLDCV†000F990E‚LDC‰00000004ƒ8‚RRTLRPSCALIB.RO0.PLEQS†000F9B4E‚EQUSˆ00000018ƒ8‚RRTLRPSCALIB.RO0.PLEQV†000F9A30‚EQUVˆ00000030ƒ8‚RRTLRPSCALIB.RO1.PLEQVL…000F9A38‚EQUVˆ00000038ƒ8‚RRTLRPSCALIB.RO0.PLESS†000F9B46‚EQUSˆ00000010ƒ8‚RRTLRPSCALIB.RO0.PLESV†000F9A20‚EQUVˆ00000020ƒ8‚RRTLRPSCALIB.RO1.PLESVL…000F9A28‚EQUVˆ00000028ƒ8‚RRTLRPSCALIB.RO/.PLJSR†000F7948‚PLJSR‡00000000ƒ8‚RRTLPLJSRƒ.RO0.PLODS†000F9AAC‚LODSˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PLODV†000F9934‚LODVˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PLODVL…000F993E‚LODVˆ0000000Aƒ8‚RRTLRPSCALIB.RO..PLOG‡000FA35C‚LOG‰00000018ƒ8‚RRTLRPSCALIB.RO..PMAIN†000F3610‚SMPLˆ00000116ƒ9‚SEG1TASKAƒ.RO4.PMAKINT„000F96F6‚MAKINT†00000000ƒ8‚RRTLRPSCALIB.RO3.PMODJ†000F86D4‚DVJMODJ…00000018ƒ8‚RRTLRPSCALIB.RO..PMPJ‡000F8646‚MPJ‰00000000ƒ8‚RRTLRPSCALIB.RO0.PMPX‡00$ 0FAB94‚MATHX‡00000108ƒ8‚RRTLRPSCALIB.RO..PMRK‡000F9CBC‚MRK‰00000000ƒ8‚RRTLRPSCALIB.RO..PNAN‡000FB2F6‚NAN‰00000000ƒ8‚RRTLRPSCALIB.RO0.PNEQS†000F9B3E‚EQUSˆ00000008ƒ8‚RRTLRPSCALIB.RO  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page16  0.PNEQV†000F9A10‚EQUVˆ00000010ƒ8‚RRTLRPSCALIB.RO1.PNEQVL…000F9A18‚EQUVˆ00000018ƒ8‚RRTLRPSCALIB.RO..PNEW‡000F9BD6‚NEW‰0000000Cƒ8‚RRTLRPSCALIB.RO/.PNEWL†000F9BCA‚NEW‰00000000ƒ8‚RRTLRPSCALIB.RO1.PNORM†000FAB42‚MATHX‡000000B6ƒ8‚RRTLRPSCALIB.RO4.POPTION„000F79C2‚OPTION†00000000ƒ8‚RRTLRPSCALIB.RO..PPAG‡000F8D8C‚PAG‰00000000ƒ8‚RRTLRPSCALIB.RO..PPEE‡000F956E‚PEE‰00000000ƒ8‚RRTLRPSCALIB.RO4.PPRGBUF„000F8572‚PRGBUF†00000000ƒ8‚RRTLRPSCALIB.RO..PPUT‡000F8D5C‚PUT‰00000000ƒ8‚RRTLRPSCALIB.RO..PPWR‡000FA0B8‚PWR‰00000000ƒ8‚RRTLRPSCALIB.RO0.PQABS†000FE0C4‚ABSQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQADD†000FE10A‚ADDQˆ00000036ƒ8‚RRTLRPSCALIB.RO1.PQATAN…000FE116‚ATNQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQCMP†000FE122‚CMPQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQCOS†000FE2C0‚SINQˆ0000000Aƒ8‚RRTLRPSCALIB.RO0.PQDIV†000FE154‚DIVQˆ00000000ƒ8‚RRTLRPSCALIB.RO4.PQDOP†000FE32A‚FFPFRONT„00000012ƒ8‚RRTLRPSCALIB.RO0.PQEXP†000FE182‚EXPQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQFPI†000FE300‚TRCQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQIFP†000FE18E‚FLTQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQLOG†000FE19A‚LOGQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQMUL†000FE1B0‚MULQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQNEG†000FE0CA‚ABSQˆ00000006ƒ8‚RRTLRPSCALIB.RO0.PQPWR†000FE1BC‚PWRQˆ00000000ƒ8‚RRTLRPSCALIB.RO/.PQRDR†000F942E‚RDQ‰00000128ƒ8‚RRTLRPSCALIB.RO0.PQREM†000FE1DC‚REMQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQRND†000FE28C‚RNDQˆ00000000ƒ8‚RRTLRPSCALIB.RO4.PQRTD7…000FE3A0‚FFPBACK…00000028ƒ8‚RRTLRPSCALIB.RO5.PQRTOD7„000FE39C‚FFPBACK…00000024ƒ8‚RRTLRPSCALIB.RO0.PQSIN†000FE2CA‚SINQˆ00000014ƒ8‚RRTLRPSCALIB.RO4.PQSOP†000FE318‚FFPFRONT„00000000ƒ8‚RRTLRPSCALIB.RO1.PQSQRT…000FE2EC‚SQTQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQSUB†000FE0D4‚ADDQˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PQTAN†000FE2B6‚SINQˆ00000000ƒ8‚RRTLRPSCALIB.RO5.PQTIEEE„000FE378‚FFPBACK…00000000ƒ8‚RRTLRPSCALIB.RO0.PQTST†000FE146‚CMPQˆ00000024ƒ8‚RRTLRPSCALIB.RO/.PQWRR†000F8D34‚WRQ‰000001A6ƒ8‚RRTLRPSCALIB.RO..PRDB‡000F9482‚RDB‰00000000ƒ8‚RRTLRPSCALIB.RO2.PRDBUF…000F9754‚RDBUF‡00000000ƒ8‚RRTLRPSCALIB.RO..PRDC‡000F8EE8‚RDC‰00000000ƒ8‚RRTLRPSCALIB.RO..PRDH‡000F8F04‚RDH‰00000000ƒ8‚RRTLRPSCALIB.RO..PRDI‡000F8F0E‚RDI‰00000000ƒ8‚RRTLRPSCALIB.RO2.PRDINT…000F8F22‚RDINT‡00000000ƒ8‚RRTLRPSCALIB.RO..PRDJ‡000F8F18‚RDJ‰00000000ƒ8‚RRTLRPSCALIB.RO..PRDR‡000F8F84‚RDR‰00000000ƒ8‚RRTLRPSCALIB.RO4.PRDREAL„000F8FB4‚RDREAL†00000000ƒ8‚RRTLRPSCALIB.RO..PRDS‡000F9454‚RDS‰00000000ƒ8‚RRTLRPSCALIB.RO2.PRDSTR…000F94F6‚RDSTR‡00000000ƒ8‚RRTLRPSCALIB.RO..PRDV‡000F946A‚RDV‰00000000ƒ8‚RRTLRPSCALIB.RO..PRDW‡000F8F94‚RDW‰00000000ƒ8‚RRTLRPSCALIB.RO..PRDX‡000F8FA4‚RDX‰00000000ƒ8‚RRTLRPSCALIB.RO..PRLN‡000F8EAC‚RLN‰00000000ƒ8‚RRTLRPSCALIB.RO..PRLS‡000F9CCA‚RLS‰00000000ƒ8‚RRTLRPSCALIB.RO..PRND‡000FA062‚RND‰00000000ƒ8‚RRTLRPSCALIB.RO..PRST‡000F7DFE‚RST‰00000000ƒ8‚RRTLRPSCALIB.RO  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page17  ..PRWT‡000F7EB0‚RWT‰00000000ƒ8‚RRTLRPSCALIB.RO2.PSBLKS…000F9520‚SBLKS‡00000000ƒ8‚RRTLRPSCALIB.RO0.PSCON†000F9E36‚SCONˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PSCOP†000F9E80‚SCOPˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PSDEL†000F9FC0‚SDELˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PSIN‡000FA76A‚SINCOS†00000054ƒ8‚RRTLRPSCALIB.RO0.PSINS†000F9F54‚SINSˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PSLEN†000F9E24‚SLENˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PSPOS†000F9EF2‚SPOSˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PSQTX†000FACC8‚MATHX‡0000023Cƒ8‚RRTLRPSCALIB.RO0.PSTCV†000F996C‚STCVˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PSTCVL…000F9976‚STCVˆ0000000Aƒ8‚RRTLRPSCALIB.RO4.PSTDFLT„000F858C‚STDFLT†00000000ƒ8‚RRTLRPSCALIB.RO..PSTF‡000FB2B2‚STF‰00000000ƒ8‚RRTLRPSCALIB.RO..PSTM‡000FB254‚STM‰00000000ƒ8‚RRTLRPSCALIB.RO4.PSTOREV„000F99CA‚STOREV†00000000ƒ8‚RRTLRPSCALIB.RO0.PSTOS†000F9AFE‚STOSˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PSTOV$ †000F9986‚STOVˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PSTOVL…000F9990‚STOVˆ0000000Aƒ8‚RRTLRPSCALIB.RO0.PSTRS†000F9ACA‚STRSˆ00000000ƒ8‚RRTLRPSCALIB.RO0.PSTRV†000F99AE‚STRVˆ00000000ƒ8‚RRTLRPSCALIB.RO1.PSTRVL…000F99B8‚STRVˆ0000000Aƒ8‚RRTLRPSCALIB.RO..PSTT‡000FB2D4‚STT‰00000000ƒ8‚RRTLRPSCALIB.RO5.PSYMBUG„000F79C0‚SYMFLAG…00000000ƒ8‚RRTLRPSCALIB.RO1.PTAN‡000FA84C‚SINCOS†00000136ƒ8‚RRTLRPSCALIB.RO..PTRC‡000FA034‚TRC‰00000000ƒ8‚RRTLRPSCALIB.RO2.PVALSI…000FA026‚VALSI‡00000000ƒ8‚RRTLRPSCALIB.RO2.PVBUSER„000F3C94‚TRAPS‡00000156ƒ9‚SEG1RTRAPS‚.RO1.PVCHKI…000F3C76‚TRAPS‡00000138ƒ9‚SEG1RTRAPS‚.RO2.PVTRAPD„000F3C76‚TRAPS‡00000138ƒ9‚SEG1RTRAPS‚.RO2.PVTRAPE„000F3B3E‚TRAPS‡00000000ƒ9‚SEG1RTRAPS‚.RO2.PVTRAPV„000F3C5A‚TRAPS‡0000011Cƒ9‚SEG1RTRAPS‚.RO1.PVZDIV…000F3C40‚TRAPS‡00000102ƒ9‚SEG1RTRAPS‚.RO..PWLN‡000F8752‚WLN‰00000000ƒ8‚RRTLRPSCALIB.RO..PWRB‡000F8852‚WRB‰00000000ƒ8‚RRTLRPSCALIB.RO..PWRC‡000F8762‚WRC‰00000000ƒ8‚RRTLRPSCALIB.RO..PWRH‡000F877A‚WRI‰00000000ƒ8‚RRTLRPSCALIB.RO..PWRI‡000F877C‚WRI‰00000002ƒ8‚RRTLRPSCALIB.RO..PWRJ‡000F877E‚WRI‰00000004ƒ8‚RRTLRPSCALIB.RO..PWRR‡000F888C‚WRR‰00000000ƒ8‚RRTLRPSCALIB.RO1.PWRS‡000F8812‚WRSWRV†0000000Aƒ8‚RRTLRPSCALIB.RO4.PWRTBUF„000F8DAC‚WRTBUF†00000000ƒ8‚RRTLRPSCALIB.RO1.PWRV‡000F8808‚WRSWRV†00000000ƒ8‚RRTLRPSCALIB.RO..PWRW‡000F88A0‚WRR‰00000014ƒ8‚RRTLRPSCALIB.RO..PWRX‡000F88B4‚WRR‰00000028ƒ8‚RRTLRPSCALIB.RO0.PZMAIN…00001392‚SMPLˆ00001392‚15‚SEG2TASKAƒ.RO1.PZSTART„00000000‚SMPLˆ00000000‚15‚SEG2TASKAƒ.RO3LABORT†000F397A‚RRTLACS…0000005Aƒ9‚SEG1RRTLACCS.RO4LAKRQST…000F3A10‚RRTLACS…000000F0ƒ9‚SEG1RRTLACCS.RO3LALLOC†000F3B08‚RRTLACS…000001E8ƒ9‚SEG1RRTLACCS.RO4LASSIGN…000F3B04‚RRTLACS…000001E4ƒ9‚SEG1RRTLACCS.RO3LATSEM†000F39EC‚RRTLACS…000000CCƒ9‚SEG1RRTLACCS.RO4LATTSEG…000F3920‚RRTLACS…00000000ƒ9‚SEG1RRTLACCS.RO4LBRKSRV…000F3AD8‚RRTLACS…000001B8ƒ9‚SEG1RRTLACCS.RO4LCHGLUN…000F3B10‚RRTLACS…000001F0ƒ9‚SEG1RRTLACCS.RO5LCHGPERM„000F3B00‚RRTLACS…000001E0ƒ9‚SEG1RRTLACCS.RO  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page18  3LCHKPT†000F3AEC‚RRTLACS…000001CCƒ9‚SEG1RRTLACCS.RO2LCISR‡000F3A52‚RRTLACS…00000132ƒ9‚SEG1RRTLACCS.RO1LCMRˆ000F3A9A‚RRTLACS…0000017Aƒ9‚SEG1RRTLACCS.RO4LCNFDEF…000F3AE8‚RRTLACS…000001C8ƒ9‚SEG1RRTLACCS.RO4LCONFIG…000F3AE0‚RRTLACS…000001C0ƒ9‚SEG1RRTLACCS.RO4LCONFST…000F3ADC‚RRTLACS…000001BCƒ9‚SEG1RRTLACCS.RO3LCRSEM†000F39F2‚RRTLACS…000000D2ƒ9‚SEG1RRTLACCS.RO3LCRTCB†000F3980‚RRTLACS…00000060ƒ9‚SEG1RRTLACCS.RO3LCTVCT†000F39DA‚RRTLACS…000000BAƒ9‚SEG1RRTLACCS.RO3LCXVCT†000F3992‚RRTLACS…00000072ƒ9‚SEG1RRTLACCS.RO3LDCDIR†000F3A64‚RRTLACS…00000144ƒ9‚SEG1RRTLACCS.RO4LDCLSHR…000F3926‚RRTLACS…00000006ƒ9‚SEG1RRTLACCS.RO3LDEASQ†000F394A‚RRTLACS…0000002Aƒ9‚SEG1RRTLACCS.RO1LDEFˆ000F3B38‚RRTLACS…00000218ƒ9‚SEG1RRTLACCS.RO3LDELAY†000F3986‚RRTLACS…00000066ƒ9‚SEG1RRTLACCS.RO4LDELETE…000F3AB8‚RRTLACS…00000198ƒ9‚SEG1RRTLACCS.RO3LDESEG†000F392C‚RRTLACS…0000000Cƒ9‚SEG1RRTLACCS.RO3LDESEM†000F39F8‚RRTLACS…000000D8ƒ9‚SEG1RRTLACCS.RO3LDESMA†000F39FE‚RRTLACS…000000DEƒ9‚SEG1RRTLACCS.RO4LDEXMON…000F3A2E‚RRTLACS…0000010Eƒ9‚SEG1RRTLACCS.RO3LDLAYW†000F398C‚RRTLACS…0000006Cƒ9‚SEG1RRTLACCS.RO3LDRQST†000F3A1C‚RRTLACS…000000FCƒ9‚SEG1RRTLACCS.RO4LDSERVE…000F3A22‚RRTLACS…00000102ƒ9‚SEG1RRTLACCS.RO4LEXMMSK…000F3A34‚RRTLACS…00000114ƒ9‚SEG1RRTLACCS.RO3LEXMON†000F3A3A‚RRTLACS…0000011Aƒ9‚SEG1RRTLACCS.RO4LFCHDEV…000F3B14‚RRTLACS…000001F4ƒ9‚SEG1RRTLACCS.RO4LFCHDIR…000F3B18‚RRTLACS…000001F8ƒ9‚SEG1RRTLACCS.RO4LFCHVOL…000F3B0C‚RRTLACS…000001ECƒ9‚SEG1RRTLACCS.RO4LFCLOSE…000F3AF4‚RRTLACS…000001D4ƒ9‚SEG1RRTLACCS.RO5LFDELETE„000F3AF0‚RRTLACS…000001D0ƒ9‚SEG1RRTLACCS.RO4LFLUSHC…000F3A7C‚RRTLACS…0000015Cƒ9‚SEG1RRTLACCS.RO4LFORMAT…000F3ABC‚RRTLACS…0000019Cƒ9‚SEG1RRTLACCS.RO3LGTASQ†000F3950‚RRTLACS…00000030ƒ9‚SEG1RRTLACCS.RO4LGTDTIM…000F3A6A‚RRTLACS…0000014Aƒ9‚SEG1RRTLACCS.RO4LGTEVNT…000F3956‚RRTLACS…00000036ƒ9‚SEG1RRTLACCS.RO3LGTSEG†000F3932‚RRTLACS…00000012ƒ9‚SEG1RRTLACCS.RO4LGTSKID…% 000F3998‚RRTLACS…00000078ƒ9‚SEG1RRTLACCS.RO5LGTTSKNA„000F399E‚RRTLACS…0000007Eƒ9‚SEG1RRTLACCS.RO4LHALTIO…000F3AD4‚RRTLACS…000001B4ƒ9‚SEG1RRTLACCS.RO4LLOADER…000F3B20‚RRTLACS…00000200ƒ9‚SEG1RRTLACCS.RO1LLOCˆ000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO2LLOC1‡000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO2LLOC2‡000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO2LLOC3‡000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO4LMOVELL…000F3A70‚RRTLACS…00000150ƒ9‚SEG1RRTLACCS.RO4LMOVEPL…000F3A76‚RRTLACS…00000156ƒ9‚SEG1RRTLACCS.RO3LNCDIR†000F3A5E‚RRTLACS…0000013Eƒ9‚SEG1RRTLACCS.RO4LNEGBRK…000F3AE4‚RRTLACS…000001C4ƒ9‚SEG1RRTLACCS.RO3LNRQST†000F3A16‚RRTLACS…000000F6ƒ9‚SEG1RRTLACCS.RO3LOUTIN†000F3AB0‚RRTLACS…00000190ƒ9‚SEG1RRTLACCS.RO5LPOSITIO„000F3AC4‚RRTLACS…000001A4ƒ9‚SEG1RRTLACCS.RO5LPROTECT„000F3AF8‚RRTLACS…000001D8ƒ9‚SEG1RRTLACCS.RO4LPSTATE…000F3A40‚RRTLACS…00000120ƒ9‚SEG1RRTLACCS.RO1LPTRˆ000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO2LPTR1‡000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO2LPTR2‡000F3B32‚RRTLACS…00000212ƒ9‚SEG1RRTLACCS.RO  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page19  3LQEVNT†000F395C‚RRTLACS…0000003Cƒ9‚SEG1RRTLACCS.RO3LRCVSA†000F3944‚RRTLACS…00000024ƒ9‚SEG1RRTLACCS.RO4LRDEVNT…000F3962‚RRTLACS…00000042ƒ9‚SEG1RRTLACCS.RO2LREAD‡000F3AA8‚RRTLACS…00000188ƒ9‚SEG1RRTLACCS.RO4LRELINQ…000F39A4‚RRTLACS…00000084ƒ9‚SEG1RRTLACCS.RO4LRENAME…000F3AFC‚RRTLACS…000001DCƒ9‚SEG1RRTLACCS.RO4LRESUME…000F39AA‚RRTLACS…0000008Aƒ9‚SEG1RRTLACCS.RO4LREWIND…000F3AC8‚RRTLACS…000001A8ƒ9‚SEG1RRTLACCS.RO4LREXMON…000F3A46‚RRTLACS…00000126ƒ9‚SEG1RRTLACCS.RO4LRQSTPA…000F39B0‚RRTLACS…00000090ƒ9‚SEG1RRTLACCS.RO4LRSTATE…000F3A4C‚RRTLACS…0000012Cƒ9‚SEG1RRTLACCS.RO4LRTEVNT…000F3968‚RRTLACS…00000048ƒ9‚SEG1RRTLACCS.RO5LRTVATTR„000F3B1C‚RRTLACS…000001FCƒ9‚SEG1RRTLACCS.RO4LSERVER…000F3A28‚RRTLACS…00000108ƒ9‚SEG1RRTLACCS.RO4LSETASQ…000F396E‚RRTLACS…0000004Eƒ9‚SEG1RRTLACCS.RO4LSETPRI…000F39B6‚RRTLACS…00000096ƒ9‚SEG1RRTLACCS.RO3LSGSEM†000F3A04‚RRTLACS…000000E4ƒ9‚SEG1RRTLACCS.RO4LSHRSEG…000F3938‚RRTLACS…00000018ƒ9‚SEG1RRTLACCS.RO2LSINT‡000F3A58‚RRTLACS…00000138ƒ9‚SEG1RRTLACCS.RO5LSNAPTRA„000F3A82‚RRTLACS…00000162ƒ9‚SEG1RRTLACCS.RO3LSTART†000F39BC‚RRTLACS…0000009Cƒ9‚SEG1RRTLACCS.RO4LSTDTIM…000F3A88‚RRTLACS…00000168ƒ9‚SEG1RRTLACCS.RO2LSTOP‡000F39C2‚RRTLACS…000000A2ƒ9‚SEG1RRTLACCS.RO5LSUSPEND„000F39C8‚RRTLACS…000000A8ƒ9‚SEG1RRTLACCS.RO3LTBRAK†000F3AC0‚RRTLACS…000001A0ƒ9‚SEG1RRTLACCS.RO2LTERM‡000F39CE‚RRTLACS…000000AEƒ9‚SEG1RRTLACCS.RO3LTERMT†000F39D4‚RRTLACS…000000B4ƒ9‚SEG1RRTLACCS.RO4LTESTIO…000F3ACC‚RRTLACS…000001ACƒ9‚SEG1RRTLACCS.RO3LTRAP2†000F3B26‚RRTLACS…00000206ƒ9‚SEG1RRTLACCS.RO3LTRAP3†000F3B2C‚RRTLACS…0000020Cƒ9‚SEG1RRTLACCS.RO3LTRSEG†000F393E‚RRTLACS…0000001Eƒ9‚SEG1RRTLACCS.RO5LTSKATTR„000F3A8E‚RRTLACS…0000016Eƒ9‚SEG1RRTLACCS.RO5LTSKINFO„000F3A94‚RRTLACS…00000174ƒ9‚SEG1RRTLACCS.RO4LUPDATE…000F3AB4‚RRTLACS…00000194ƒ9‚SEG1RRTLACCS.RO2LWAIT‡000F39E0‚RRTLACS…000000C0ƒ9‚SEG1RRTLACCS.RO3LWAITO†000F3AD0‚RRTLACS…000001B0ƒ9‚SEG1RRTLACCS.RO4LWAKEUP…000F39E6‚RRTLACS…000000C6ƒ9‚SEG1RRTLACCS.RO3LWRITE†000F3AAC‚RRTLACS…0000018Cƒ9‚SEG1RRTLACCS.RO4LWTEVNT…000F3974‚RRTLACS…00000054ƒ9‚SEG1RRTLACCS.RO3LWTSEM†000F3A0A‚RRTLACS…000000EAƒ9‚SEG1RRTLACCS.RO0READ_N_P„000F34FA‚SMPLˆ00000000ƒ9‚SEG1TASKAƒ.RO+RRTLˆ000F7932‚RRTLˆ00001932ƒ8‚RRTLPRTL„.RO-RTLVEC†000F6000‚RRTLˆ00000000ƒ8‚RRTLPRTL„.RO  Unresolved References: None  Multiply Defined Symbols: None  Lengths (in bytes): …Segment…Hex‰Decimal †SEG1„00000D00‹3328  EMotorolaM68000LinkageEditorVersion‚1.90‚02/10/86‚13:30:41‡Page20  †RRTL„00009000Š36864TotalLength‚00009D00Š40192  ƒNoErrors „4Warnings O†**Warning706-Sectionnotassignedorexcluded,symbolnotloaded:.PZSTARTN†**Warning706-Sectionnotassignedorexcluded,symbolnotloaded:.PZMAINJ†**Warning703-Sectionnotassignedorexcluded,sectionnotload% ed:15J†**Warning703-Sectionnotassignedorexcluded,sectionnotloaded:15   *Load module: MX.ATASK.LO has been created. NNNNBTAS0010B1 ŸĄSEG11 ŠRRTL1 ’’’’11 ’1 1Æ’’’’’$@&IpAśŚNAf¼.HßüB "K*O,OB•Hķ(+I6Hķ0@+B:;C>;FH+G0Bm4¼ `J(HŁü’$HGź|+Kp&ü’’’’B›+K+Ll2<€0<ģBµX@YAbö&Jr|B›YfśAś ź%H,Aś Ŗ%H0Aś ų%H8Aś %H =fa2g ,fņ  g. Zg( Ae" [dCķK( ˜‰ -fDDHć‰Gķj7„až  fØJgŒįƒåƒa¤() ˜©„“ ƒ”clքƒ’BAķBØBBØBhBh BØ!|SEG2 pNAfžAķ!CBBØ1| BØ!|SEG2 1| pNAfżš–„ƒ”`Bƒa,iŻü’ŻĆKķ¼0<¼=%U@fś.N*O$iGź|+Kp&ü’’’’B›+K+i l&Jr|B›YfśAś 0%H,Aśš%H0Aś >%H8Aś T%Hp7`8p8`2p9`,p:`&p;` p<`p=`p>`p?`p@` KüNŠpA`ōpB`špC`ģpD`čpE`äpF`ąpG`ÜpH`ŲpI`ŌpJ`ŠpK`ĢpL`ČpM`ÄpN`ĄpO`¼pP`øpQ`“pR`°pS`¬pT`ØpU`¤pV` pW`œpX`˜pY`”pZ`p[`Œp\`ˆp]`„p^`€p_`’|p``’vpa`’ppb`’jpc`’dHķ’’|"o2 Ao <™`THĮҁNū`J``L`V`nHĄ@ "€/ € ga‚<`g < ĄalR oź +Gt+@x`BHĄ@+Gt+@xaH`0HĄ+It0/g.HĄ@a2+@x`+It0/HĄg€+@x @p"`Śp |`ΟüH×|| ?| /| /| OpND ßüNuHķ’’|+ot <+@xa¬`”Hķ’’|+ot <+@xa’`’zHķ’’|+ot <+@xa’v`’\Hķ’’|+o t <+@xa’X`’>Hķ’’|+o t <+@xa’:`’ H@0-4H@,NANuLŒĢś.nØÜĢŲ$6p–ØŗÄČī ŒJ€Œž²īŠŗĘĘ ¬üØč * X d ’ Ą  & 8 n œ Š 8 f ” Ō š šĢX¤š ÄžĘ Ź Ü  ` Ü\”ŅV”ŅZŽĀü0hŠb²‚ŅpŹ&˜ö HVrpapah!l’ö!l’ņpNA$l’ī$ˆ ¬’źfßü/@(Lßh _ßüNŠrpa,a$pNA ¬’öfßü/@Lßh _ßü NŠrpaśaŲ!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠrp$aĀaŠ!l’ģpNA$l’č$ˆ$l’ä$ˆ ¬’ąfßü/@4Lßh _ßü$NŠrp a~aF!l’ģpNA$l’č$ˆ ¬’äfßü/@0Lßh _ßü NŠrpa@apNA$l’ģ$ˆ ¬’čfßü/@,Lßh _ßüNŠrpaaę!l’ö !l’ņ!l’īp NA ¬’źfßü/@*Lßh _ßüNŠrp aÄa²!l’ų!l’ō !l’š!l’ģ!l’čpNA ¬’äfßü/@0Lßh _ßü NŠrpatBBØ!T!l’ü !l’ų!l’ō!l’špHNA ¬’ģfßü/@(Lßh _ßüNŠpKNAB€Lßh _.€NŠp NAB€Lßh _.€NŠrpaaņl’śl’ų !l’ō !l’š!l’ģpNA ¬’čfßü/@,Lßh _ßüNŠ op&NA/@Lßh _XNŠrpaža|!l’ö !l’ņp#NA ¬’īfßü/@&Lßh _ßüNŠ op"NA €f Pf€€/@Lßh _XNŠ op%LßhN^NAp0|NA op!NA/@Lßh _XNŠp$NALßh _.€NŠ opNArp"aōaŅ!l’ö !l’ņl’šl’ī1l’ģ!l’č1l’ęp NA ¬’āfßü/@2Lßh _ßü"NŠrpa˜a†p NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠrpa^aLp NA$l’ų$ˆ$l’ō$‰ ¬’šfP/@$Lßh _ßüNŠpNAB€Lßh _.€NŠrp aapNA ¬’ųfP/@Lßh _ßü NŠr paęaŌl’śpNA$l’ö" ¬’ņfßü /@"Lßh _ßüNŠ(OŁü Łü o±üf$_, ’śgŸü`ŸüN O/ aV!l’ö !l’ņ, ’śf$l’īB€!²X@ €8fšp NA$l’ź$ˆ ¬’ęf, ’śgßü`ßüN/@.Lßh _ßüNŠrpaaōpNA$l’ų$ˆ ¬’ōfP/@ Lßh _ßüNŠpNAB€Lßh _.€NŠpNAr pa¾a¬1l’śpNA$l’ö$ˆ ¬’ņfßü /@"Lßh _ßüNŠpNAB€Lßh _.€NŠrp apa^pNA ¬’ųfP/@Lßh _ßü NŠrpaBa0pNA$l’ų4ˆĮˆH@$l’ś4€Įˆ ¬’ōfP/@ Lßh _ßüNŠrpaaą!l’ö pNA ¬’ņfßü/@"Lßh _ßüNŠ opNABÆLßh _XNŠ opNA/@Lßh _XNŠrpaža|!l’ö !l’ņ!l’ī!l’źpNA ¬’ęfßü/@.Lßh _ßüNŠ(OŁü o±üfQ OpJNA$T$Ø$l$ ¬’üfP/@Lßh _ßü NŠ(OŁü o±üfQ O!T ¬pINA ¬’üfP/@Lßh _ßü NŠr paĢ ”l’ž BØB(p)NA$l’ś$ˆ ¬’öfßü /@Lßh _ßüNŠr paˆ ”l’žl’ü BØp-NA$l’ų$ˆ ¬’ōfßü /@*Lßh _ßüNŠr p aBa\p,NA ¬’ųfßü /@Lßh _ßü NŠp.NAB€Lßh _.€NŠr p aap+NA ¬’ųfßü /@Lßh _ßü NŠr p a Īačp*NA ¬’ųfßü /@Lßh _ßü NŠrpa œazl’ų l’ö !l’ņ !l’īp6NA ¬’źfßü/@*Lßh _ßüNŠB€0<€`B€(OŁü€T @p5NA/@Lßh _\NŠ op4NA/@Lßh _XNŠrpa  ”B€,’ž ,’ü@p3NA ¬’öf\/@Lßh _ßüNŠrp a Śa ČpANA ¬’ųfßü/@Lßh _ßü NŠr pa Øa –!l’ųpNA ¬’ōfßü /@ Lßh _ßüNŠrpa pa ^!l’ų!l’ō p@NA ¬’šfßü/@$Lßh _ßüNŠr pa 2a NA ¬’śfX/@Lßh _ßü NŠB/ m Aop’`* g A& gp`B€AåI(mp™ü)Æ/@Lßh _\NŠB/ m Aop’`  mp`B€åI(mp™ü|)Æ/@Lßh _\NŠBB`4< rpa †0”„l’ž1B!l’śp:NA ¬’öfP/@Lßh _ßüNŠ opNA/@Lßh _XNŠ op&ķ@&­DB€Lßh _ßüNŠ(OŁüŁĄ o°üf$_ŸĮ O/ Nua,!l’ų $l’ō•üÕč !J g 1l’ī!l’źNu€B(BhAT$l’ü!RNu€B(BhAT1l’ž!l’śNul` l1l€B(ABB$T1² B BfšBhl’ž l’ü!Nua1l’ų !l’ō !l’šNu ”!l’ü1l’śNu ”!l’üNu1T1l’ž !l’ś Nu ”!l’ü!l’ųNu ”!l’üB(B( NuHēS€åHAśęÄAš Nš(WX—ŁŌNŌHē€Ąp mpüCś& ÉS@fś0<a9¬š@ 0<a9 š@ LßNuB+/ *m4Hķ’’|+_°a9~šm0ta9tš@0ąXä ąX0@NNB€BIśT am zn ,gč4k6 -fĄ`Ög0ƒgĮ` =fRŠa`  f@` NuBƒ:< &J $g am zn 4gˆ`6 am zn 4k6gćƒ(åƒÖ„ցSEfĪ‚ am zn 4jč  f" am zn +’žNu:< am zn  am zn 4k“fgŒ_郆SEfĢ`’z€€€@@ P€@  €@HÄR„„’’’žŸÄŸü æķb O÷H pNNOļ .·HNu.LŠ2*(-0a šaŹ+D0Nu"_. HĀ&g&<…(„QR„D’ž$O•ĵķldEļµķle•ķl؊a’z!OEļP/JEņ8’/JA??B$O eTgv`gvC)C BjBBjBŖL@O(-0fgA@a Jf<gJ-(gaat`aśgJ-$gaša\`aāgaÄ`8°m"b"?S@å@@,J5LŸg gaøa$` ga' ¤`aŠgNq5A+D0NŃHēŲžMź$gp’S@å@@,Aõ|B€(@AõJaH$€’€üLßyg/p(NNg g%m6*HBB|g€BNĮ NupaŒ|&8%m:*NuH瀀Aź$0¼€NCgNN *&o|&BjFB*K*E f|'` f|'`|'BjDLßNu.LŠ2*a4adB f† fpĄj& g far g4/ &Jav5 c ¼5‚aHa*H‚?av2&_g*8 gAź0¼NBgNN` ap÷Įj&a¶AģB’5ANup`n.LŠ Ŗ2*a~ fFa¼pj&aV*8 &g, g&Aź$0¼€NCg f0¼NCf0¼€NCgNNaFB’A€ a\CņO%I5ANup`ī.0/2RA’ž/7¼ Aļ Hē,o,nMī$a2Lßx$W$ja~&€’€ügp(NNfg0<÷’Įj äH@ćÅHBEBF ;g  g`š ;fäHēaśLß g/pANN Bfafčt…h Ę`¤ Cfa4<ų’Åh&!CHĘ`† DfašCKĘ`p FfaÜCJĘ`\ Rf$aø…gÅÅ4(Ā 1B`2 Wf$aŽ…gÅÅ4(Ā 1B`g’:g’ 2(JEg;PBpųĮh&‰('$HfŠFgg(-0aŽ+D05A gžō _"_0R€@’žO÷NŃg/pANNNugšfźfäNu f?*8 &g pųĄj&€W5@&0Nu/(-0fBg<`"g<`BR ft bfģ cp@NNB B)(NuB€BIśł†&H6<%B„aük$ #fĄ` ff&@€€€Nu€ü`öaŹkBfōgŚ .f R nŠ`Ž :f€@`Š (f€`Ä )fŖ@`øg Jfžf˜ggŒfF*H Kf  am zn (g24f.f. gD gō .fRˆ`*Rˆ`DĄ` 6<Gīa&4<aškĢ`Ą`Ā&<€€€ am zn 4k^f0fR *g2Ą  am zn 4kR .fā`JĘü ց`¤ ƒ€f4 .fÄĄ6<’ž` ƒ€g ƒ'cĄ` =C ` Ą`Ą4<aŚk 6< Gī aN4<aĀkō n& f| 6< Gīa(4<aœkĪ (g 6<Gīa 4<a~k° (fØBBBC am zn 4kD )gg8 Pn2AéK†AB`ČB’g BnĄ BcĄ=C `JĄĄĄB’ BcĄ`.Rˆ6<Gīap4<aęk$< Gī &Ā&Ā&Ā&Ā6ĀBn $B|gĄ4B|gĄJ€NuJCfBA`$ am zn SC /f Ą<€`4Nu4HB€€»ČgF am zn 4k.f(f @Ą`< *fĄĮSCn¾€€`$HB“CfĄ`< (*’žf<*`ĀSCnśNuJ€jĄ`QBgQBĄ`ĄBgĄNug g ³źga& ‰Nu%| 8%| .f %m@0%mD4` g%m6*NuHēżĄ./$TÆ$ G0å@A÷X@ @fB@C÷ "*jD€³…JjD$&H@HAĄĮĘĀ(ĀĀHBHDÄÄԁ"HABA҃BBHBтVĀJ…jDF…ʁ[Ć †DĆLßæNuHēłĄ./ TÆ a( ‚DĮLߟNuHēłĄ./ TÆ aćƒjD€ €DĮLߟNu G0å@A÷X@ @fB@C÷ "fpNN&āƒjD€³ƒJjDt’B²€dć‰R`ödЁć’ā‰SdņF‚"jD‚FĀ‚[ĮNu.LŠR’aP ‰Nu.LŠ8SDaØ€a“ ‰NuH€HĄ.LŠ8v / BJ€jt-D€SDGśL°›dSCnų˜CSDanJg‚avJCg(+’ür0°„e„R`öa\(SCnč0€aL ‰&_Nu;šŹõį˜–€B@† 'čd 0/8/`8/0/./ Gļ 2RAA’ž sLŠ˜@aąJ@g ›ačS@nö ‰&_$_O÷NŅ./ LŠtGś"JgÖĀSB8˜BaØ›a“SBnö&_ ‰NuFALSETRUE .JAlra`ašNu.JAlra|`a†Nu.JAlrah`arNu8D aFp °fp-€aHMśpža4<` ¼0aRB“Goņ’G4<`až¼RB“AoöNuaUāa_n(OLŠJAlažĢ`a’N ‰ßü`VF.LŠ8*R’Ņź³źcg !a0ĄR’`a& ‰Nu.LгźgR’aü T’a ‰NuHēĄ€2*fpDNN³źggS‰` g¼ `S‰`¼ %IAź0¼NBg ĘgNNa tCņO%I"jLßNuJDo ¼ aSDnōNu³źfa’zŸRIR’Nu./ LŠ 8+ gp`" faü8+gp"NN ŠVĄD&_Nu./ LŠ 8+ gp` gB`a¼ Š8+VĄD&_Nu./ LŠ 8+ fa–8+gp"NN„7D +ŠR€Ń“&_BNu./ LŠ 8+a<€aT Š&_Nu.a€Nu.a2€Nu.a"€NuHēx"aģrLŠ 8+,OačB +g -f -f|’ažaÜ am zn ax,Oa†JjD€ ŠŽü"LßH`Nu.a,a#ŽšQNu.aa#~šQNu.a a#nšQNuHēLŠ 8+a: Ifaz`$ NfaÖ` 0m 9naD`p2NNLßH` ŠNua"BF +g -f& -f<<a6a am zn ` am zn NuIś\°faaŽ am zn `āJ$gp2NN`. Am Znp2NN`JFf <€` <’€a"~š@NuINFINITYIśz°fa˜av am zn `āJ$gp2NN`L Am Znp2NN`8 (f$ )gaRa0 am zn `ąa8 <€a!ųš@NuNANx"aźj8+M×Iļa¢JƒjM×a¬JFgD€a!Ęš@(`(tJEfBEDEl–EBEaaaŗa!œšT0Žü"Nu .fta¾aœ am zn 0m 9op2NN`H0JEoJgĄSER`Jg ĄSERt`SCanaL am zn 0m 9oøNu/ IģEDErBDtJEoˆ&SEč\SBfņ9SAfč(_8+Nu Ef¤aaš am zn :<CšC +g -f( -f Fš:<XŚCaŲa¶ am zn 0m 9op2NN`UĄDNŅa@UĄDNŅa.SĄDNŅa0SĄDNŅaRĄDNŅa RĄDNŅaTĄDNŅaTĄDNŅ$o0HĄ`$o . &RƒC’žCļA÷8փā€UĮā€UĀg±‰fS€nųJg±IfJg± _O÷8NŠ$_. 8TDaąę"OUDg"ŲYDnśm2ŲNŅ"_. 2RAA’žU@°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃ"_. 2RAA’žU@ w°Am0`>€R@@’ž$OJ@o ŚY@nśf0’O÷NŃa.WĄDNŅa&VĄDNŅa]ĄDNŅa_ĄDNŅa^ĄDNŅa\ĄDNŅ./Eļ46RCC’žCņ026RCC’žHq00°Bo0J@g³ fS@nųp ”Agma `aLß.HNѰfSBnųNu²fRBmöNu."Ga0(` ."Ga$B„8R„„’’’ž.‰vøƒl(X„"mQ‰$I&)g""Cø‘nņ „ €lX‰%Q`*"€ÓĄ"Ä`""mEńH æŹbpNNEź’ŲQ‰$Ń"Ä$Ń+J ‰NuT—T—.a¬$PB mQˆµČbVB€“É("µČb "H h`ņ%H#J"gҐµĮb •Č؊ „$H#J" Ņ„³ĮbJ€f $‘PŠ+J`" ’ŠŅ‘$ @!JNu.a@ ­YNu.a2Yˆ"mQ‰³Čc""i³Čbų g Š‘±Ąb I"ip’ Ą É+H( NuOļ’ąæķOļ bpNNNu.R@@’ž24A÷ŌPUAo!`YAnųf1`0‚Š@`NuHĄ _.2HĮ6< R€@’žgƒR(˜g:nE÷C÷U@g#"Y@nśm3".I`"OaŽ$OUg m $ŁYnśm4Ł4ĆU„nśNŠ _.U@2RAA’žR@@’ž8˜Ag2nC÷E÷>€g%!Y@nśm5!.JNŠ"Oaݼ$OJAg$ŁYAnśm4ŁNŠ _.R@@’žC÷2RAA’žE÷µÉgJAg#"YAnśm3".INŠ _.02RAA’žŽĮNŠ _.4$O6RCC’žC÷028aŻLHq@ŅĮ0g!S@nś"_ŅB0R@@’žŌĄJ@g"S@nś3.INŠ _.46RCC’žC÷0a’fBA`PS@8˜@²Do2JAg@E÷0²Df8µDDg*g’ĮS‰ŚS@nś’Į`R@@’žŌĄµÉg"S@nś`”Ą"J.I?NŠ."O20R@@’žEń40R@@’žHrB@JAg6”Am2RB0SA I?¶fJAg ( µ f SAnųBR@` 2$D"HSBnŽB@2.W GNŠ _.4$O6RCC’žCņ02gEļ a Ž /€ AļCļ Eļa a rA×Cś’"E×a ø €AļC×Eļaźa PSo?oHBoIś üBÆ$BÆ(BÆ,|€(BÆ0BÆ4BÆ8<<`n/|€’’€ašWŽü NuŽüB>¼?’BÆ/Gp`ŽüBBÆBÆJ€k>¼?’p`>¼@pHz’¾` <’’±r÷ŃĻy«€.žü a¶šoL× @?’gņ @æ’gźJfJ‚gō @’bŲć@ā@€’’JkS@ćŠć‘jųH×`.€B @g2jDAĄHA0<S@ć‰jśB‚BoHēąA×Cś’hE×a²žü AļCś’bE×aä /€EļaÖ /€C×aŽü Iś ź<<aRoA×Cļ a¬aŽü @?žc @Ądā‰ā’R@ @ĄfōHļć˜āX>€a¾šWŽü NuŽü>¼?’BÆ/Gp`Žü>¼æ’BÆBÆpHz’Ź`źÉŚ¢!hĀ4€€€ĄĄ.žüa4šoL×HĄć@ā@€€’’.€ @?’f8 f ‚f?z’€/z’|/z’z`B—/GpaJ`˜`fE×a @’šoT/@ jBRJ@k Aś’HCŅa¼  @’šo Iś„BFaĘ`ahJokAś’CŅ €aLa²J/ j €`a@  @?’c @ĄdLļā‰ā’R@ @ĄfōHļć˜āX?@a HšoŽüNuHļAļCļEļa AļCśžŹEļa /€Aśž CļEļa¾a$AļCļEļafLļNuHēąžüJ?FH/R/j/j B—BÆBÆBÆ BÆBÆ|€ F@gˆ/|’’¼?’BÆ/G0<Hzž`ōrtvx2(4(6(8( @o864BA@`ģ @gą¹ąŗą»ą¬HCˆƒBƒ6BBˆ‚HA†NuHēĄ0)°hlĆH0)h @?oBƒB„` @gaˆ`LčLŃ*±…j¶fø‚cĆCÅD@”„“ƒ` Ō„Óƒdā‘ā’R@HŅLßNuJfJ‚gJk S@ćŠć‘jųHŅNu0<Ą5@NuJØfJØg J©fJ©fB’BŖBŖ|ĄŽüNuaŠ/ 04‘±R0(ŠiR@5@&OB§B§B§B§:<LØ81PĄÄĀÄÄÄĘÄÖ£7CBCćSHCԃ6‚BBHB҂ң7ABAćQHAЁ'@’žÖüUEj¾LßJ€kSjć‹ć’ć‘ćjņHź&_Nua’H/04‘±R0(i5@LčLé xzJ€k Sjć‰ćjöJ‚k Rjć‹ć’jöāˆā‘āŠā“<<`’ƒ‘‚ć•ć”EgŅƒŃ‚ć‰ćRF F@oāJ„k Sjćć”jöHź0,Nu’žŁ’’’’’’’’’“’’µó3łŽd…JØfJØf1|ĄNuHēųLčJk ShćŠć‘jöžü$ <( ’’H×Gļ IļAś’¤"O$Kaž€Aś’Œ"Każŗ?|’ž<<` O"K$LažęSk L$Każ–RF Foā(o(,f Aś’`až4LÓŽü$Lß@6(āCRCŠCHŠNuaššA0ĮašA aˆšA0fNuå@@ mp pŽüHē’’*OHz.Bg/QĄfĄdĄhĄjĄč@?@ NŠLß’’Žü NuÉŚ¢!hĀ4v±œ†ķ=¢>¶ėņYŗÅÕŗš¬/mĘś­Ū–~ōć’Unź]‰*’ź«wnSV’żU[»©r’’ŖŖŻŻ¹’õUVīī?’žŖŖ·w’’ÕUU»’’śŖŖ­’’’UUU’’’źŖŖ’’’żUU’’’’ŖŖ’’’õU?’’’žŖ’’’’Õ’’’’ś’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’’’’’’’’’?’’’’’’’’’’’’’’’?’’’’’’€@ ›tķØC^ZgŒŸSÕhT»Ab»źQFœ +9=]īÓXŠÓu¬ÜŖÄH×q%V"+G&Ŗ±#ZUUˆˆ­€ Ŗ¬DD@UUb" *Ŗ«UUXŖŖŖUUŖŖUU€ Ŗ@U *€@ €@ €@ €@ €@ Ōl‘yQ‡ž W.aš@0ąHrĀtäHÄvāHĘāH"OĄĆĀĮNŠ.praęšA0A’Nu.praŅšA0A’Nu _."O RÄb* RÄb 〠RÄb〠RÄbå€JgpTNN`a~šC0ą[ą[apšC NŠ.Jka`š@0aVš@ `pSNNNu.Jka>š@0a4š@ `pRNNNu _.J€fppNN/B§?<N”&mBX‹+KB8D:/8ę\D8DD8ģ\?D>é_H‡GC×&oŽG0{pNū€ `°JŅąīfĀö\²²²²²'o B+aÖf˜a *f)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü HŅ`j'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü aŚ`:'o B+/ o`ōH…ŚE>;PČG>;PøGa"fä&H&/H…ŚE>;P¬:;P°HÅ$oÕÅWĘfN”` Gf4“`$“` / o`dH…ŚE>;PŅG>;PĀGa’fH&H&/H…ŚE>;P¶:;PŗHÅ$oÕÅfWĘDGN”` Gf6’`&’`'o +@`ų'o B+`Ž'o B+`Š'o B+/ m`¶aųfŗaLf²)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü / o`x\H‡a8/ g a €HŅ`d'o B+)H„ŲDŲD4|ŌÄŌÄŌÄÕļÕü LŅv/ o` g H‡aŠa $HŅ`'o B+a4föaˆfī) o`ŅH‡aų`Ō'o B+,-B/f,&mBEļ <<><N”&mBT‹+KB8/ ,-BU†`H„HÄ/H…äME&oadg܄+FB`n'o B+|a”fV$$Ha6f*@ &JEļ f <`<’><’’N”`€`'mBB+&o0< a<&o+‰+Č+g"B€Bf RX€`ō"oÓĄ"QOļ$NŃOļ$Nuåė <?’B$+NuPÄ?`BgHēŠ’R@*@LŖ0 : 8 ĄĀČĀHBŹĀ.Ś„ßGHGH@ŠEHE>߃8 < : ĢĀHBŹĀČĮކ,ŻCŽ…ŻCŽ„ŻC8ČĀHFHB: ŹĀŲ…ŻC: ŹĮŲ…ŻC: HAŹĮŲ…ŻCHFHGŽDHGHDŻDHFŻCHF8ČĀ*܄ŪC8 ČĮ܄ŪCHA8 ČĮ܄ŪC86 ČĮHAĘĮ؃vHEŪCHEHFÜDHFHDŪDHEŪCHE8ČĮŚ„"$&†@H@†@ Jm ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@Lß8J_gNuačNuLŅ8 €€€ ƒ€€€€’’ƒ€’’ü¶€føfŗ‚f `.e†€k ``†€k `Nuü+f `J€k `Nuü+f `Jk `Nuax`’>ü+f `B@2ć˜ćIćP;ƒNuüNuüNua0WĘaJfžōJgžī`ąagŚ`žŽa0gŠ`žŲa&`žŠ,Œ‚f <Ą<` S@ćŠć‘jųNuLŅ8,Œ…f&<Ą<` SCćć”jųNuB@)åHA€A;o aż8<Nu’’’’’’’’’’’’’’ HēpB@)f&H€Š@Š@0|ŠĄŠĄŠĄŃéŃü p<` €ćH0{Nū€€„А–œ¢Ø‚‚‚‚‚‚‚‚ČŠŲąčšų*Ln²Ōö$Dd„¤Ää0\ˆ“ą 8dč@˜šH ųPxœČ ‚‚‚AÕ`(Aķ`"Aķ`Aķ `Aķ`Aķ` Aķ`Aķ) fVˆ fTˆ`“ m `œ m$`” m(`Œ m,`„ m0`| m4`t m8`l m<`d m ")H€ćHEśž”02HĄŅ€+A `B m$")H€ćHEśžr02HĄŅ€+A$` m(")H€ćHEśžP02HĄŅ€+A(`ž m,")H€ćHEśž.02HĄŅ€+A,`Ü m0") )H€ćHEśž 02HĄŅ€+A0`ŗ m4")H€ćHEśżź02HĄŅ€+A4`˜ m8")H€ćHEśżČ02HĄŅ€+A8`v m<")H€ćHEśż¦02HĄ €fR€Ņ€+A<`H)H€ćHEśż~02HĄ m ‘Ą+H `()H€ćHEśż^02HĄ m$‘Ą+H$`)H€ćHEśż>02HĄ m(‘Ą+H(`č)H€ćHEśż02HĄ m,‘Ą+H,`Č)H€ćHEśüž02HĄ m0‘Ą+H0`Ø)H€ćHEśüŽ02HĄ m4‘Ą+H4`ˆ)H€ćHEśü¾02HĄ m8‘Ą+H8`h)H€ćHEśüž02HĄ m< €fR€‘Ą+H<`<&mBEé <<><N”&mBT‹+KB0) HĄ m ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m$ŃĄ`ä&mBEé <<><N”&mBT‹+KB0) HĄ m(ŃĄ`ø&mBEé <<><N”&mBT‹+KB0) HĄ m,ŃĄ`Œ&mBEé <<><N”&mBT‹+KB0) HĄ m0ŃĄ``&mBEé <<><N”&mBT‹+KB0) HĄ m4ŃĄ`4&mBEé <<><N”&mBT‹+KB0) HĄ m8ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ m<ŃĄ`Ü&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m ŃĄ`„&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m$ŃĄ`,&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m(ŃĄ`Ō&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m,ŃĄ`|&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m0ŃĄ`$&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m4ŃĄ`Ģ&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m8ŃĄ`t&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pІ m<ŃĄ`&mBEé <<><N”&mBT‹+KB0) HĄ @`ō&mBEé <<><N”&mBX‹+KB i `Š mB&mBEé <<><N”&mBT‹+KB0) HĄŃĄ`¬ mB&mBEé <<><N”&mBT‹+KB<) >F’H†HĘé_JGmGåO05pHĄ` GåO 5pŠ†ŃĄ`T)H€ćHEś÷‚02HĄ&mBEé |> GfRGN”Aé @fRˆR@&mBץ+KB<`p<`p<`p<`&ip aō2<’LßNu/€€’’ @?’f (㌈‚f €`€`P @Ąf0(ˆ‚f €`f €`€`f €`€(NuNuLŅNu(±„„€g+D Df Ą`€Nu+gaJg 0<aóZ` 0<aóNNu <?’B$+Nu <ĄBB‚Nu <?’BB‚NuaņĄNu(±„„€NuaņaŠ€„NuaźaŌ€„NuėašNu0<aņšNu0<aņęNu0< aņÜNu0<aņŅNu+faź` J€jaŽNu2d–Čś,6@JTzŽG,HFĢE;`Ō Gl *ČEÜ;@Ü{pœ<;`(N»`$Nu (€€žŠžŠ€€ž’žŠžŠ€žŒžŒž¾žŠžŒžŒžŒžŒžŠžŒ€€žŠžŠ€^^vv^^fvv^žŒžŒnvžŒžŒžŒžŒvžŒ^^vv^ņR’ ’(žŠņR’ ’ ’DžŠ’ ’(’D’(žŠ’(žŒžŒžŒžŠžŒņR’ ’(žŠņRˆ’0’ žŠ’:’ ’:’ žŠ’ ’(’(’:žŠ’(žŒžŒžŒžŠžŒˆ’0’ žŠ’:ų’NžŒžŠ’NžŒ’NžŒžŠ’N’N’N’NžŠ’NžŒžŒžŒžŠžŒų’NžŒžŠ’NódódóĢōTō ódō^óĢōTō~óöóöō(ōTóöōTōTōTōTōTō’ōˆóĢōTōh ĢžŠžŠžŠ Ā     ŠžŠ’bžŠ’X          @`@`ż&@`żJ@`żB8PÄ?`BgLŅŠD@Ų€ D(*HŅ8+0č ;@ÖpJf¼f¾‚f ņ0`.e ņ0ž‚ć‡ć–UÅSjpRSfʎކgņ0LŅ Jk ćƒć’ć‘S@ @ĄfJfJ‚f ćƒć’ć‘S@J_gNua NuHēĄG’8DČü Lū@BAś¾źOg2$˜%X%XBƒāOdHē€+|aļŽ_L߀JG`ĢLßšNu€ Č ś œ@ĆPō$˜–€¾¼ īk(!•ł$ŗC·@'čŌ„+‘„ē*.µę ō€1ć_©1 5ŽÉæ8±¢¼.Å;Ž k:v@?ŠĒ#‰čB­xėŬbEŲ×&·z€I‡†x2n¬L©h? W“OÓĀĪĢķ”S„YQa@„ V„o„¹„ČYĪĖ'ō :]?9xų” „`”×6¹ åcÉņÉĶgNßfüo|@E"–jÅ­Ø+pµžŌĀxI’ϦÕ©“ŗGɀ錱RŖ~ėūłŽŽ¤ć ®¦‘Ē IÉvu†u “ž‹;]Å=]å5&Ä`RŠ —›’’’’’’’’’’’’’’’’’’’’’’’’’’’fųĄ€fLŅv~)(HDD;@ĄjałZ`ź GlćO8;@ČN»@Ä` GlĘWGćO8;@ N»@` ~ĄØÄXUGknf6?aš6f]@j Žü`Āf|~žĒH $ON”Žü$@&H`0ß`2/ašf]@j Žü`Žf|~üĒH $ON”Žü$@&H` ß`6aļĪf]@j ŽüRO`Xf|~’ĒH $ON”ŽüRO$@&H`ß`8z)åä Gf Eo0< aģz``åM5P>a Nu’‚ü€’’’’’’’’’’ų GgĀ+0E:TE°{pĢmĀJja6°{p¾m€+flė+fė` `J<Ģü+gJ€kAś’|Lš```ą`J€jAś’`Lš`Ą``Ą` ė`p`*Aś’0°ppfS@`0< aė|+gJ`D`2+faą+fė`aZė`J‡fR@ą‰$) ‚€H@B@ļˆ€‚€/aīf]@j Žü`Ųf|~üĒH $ON”Žü$@&H` ß`f@’&ƒ€ćŠć‘H@HA0HB2éˆé™(éšzČE|šĀF€D‚B€ƒHēĄaķ¬f]@j Žü`rf|~ųĒH $ON”Žü$@&H` ß ß`R&ƒ€H@€€ƒHA0?HB2HēĄaķZf]@j Žü ` f|~öĒH $ON”Žü $@&H` ß ß0ßNuJGf‚?’’ <€€‚`& Gf(" <š`(BHB2 2pHĒgE× oŲS`ņ`&HE×f <`<’N”)HćI&o"0{Nū€ø,88 "tvH@HĄīH€@በ@€f@0ćŠćQćŠćQćŠćQćŠćQćŠćQ4HB2<gė+f&`L @üf<(ˆ‚g(R@+gJm ćŠć‘S@J`ņaūŲ`0<Ą` ĮaūÄaķ~`ā0"/$/vHĄćHā@ @?’f&gė+f–`: @Ąf.(ˆ‚g"+gJm ćŠć‘S@J`ņaūN`aūFaķ`dHHĮ~aśˆ`T2HĮ~aśz`F"~aśn`:"o)HƒĘü $iÕü ÕĆC×a®aģ®`H@@€@H@<`<OļLßNuLŅp~>žDj DGÉ@ĖAĶB GAcJkĒŒ…VĆ`† DSGkāā–ā“UĆQĻ’ō(ˆ…kĒ(±„j@Ēx²…dĮˆ0D‚@`(f“†dĮˆ0D‚@`Dƒ@†@…`Dƒ@†@…Ō†Ó…dfā‘ā’ā“UĆR@(ˆ‚ˆƒf(J‡k0<Ą€+ fĄ`JkJ‡kxAć‹ć’ć‘S@J[Ģ’ōaśĘNu|rtxžEJ1Pf REQĻ’ōNu1PčŽćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓD1PćŠć‘&(ćŠć‘ćŠć‘Ō„ÓƒxŌ†ÓDRQĻ’ŗNuz~ a–0<?Jm ćŠć‘S@J`ņNup f <€č  f <?’B$) Nu  f`ėĄ  f`ėĄ)()ˆ©ˆi J„f0<ĄĄBB‚Nuz~a’ gDB5Ba’^/ Hēą) c p aތ:<>*žE++ü„gDGÄaīb_$Ÿ%_%_v«gJ„j 0<æ’`0<@`J„k aŽJ`aķx"_v @?žcL @ĄdDJ@j"ė+g `źØ`ał&`ė+g `źˆ``ł¢NuH‡ Go><ė¼(JGf><ė¼(Nū@F/</</<JGkSG`DGG’J€jG?`P//</<?<Ą`:`6`ø``ā`$/</</<J€k?< `?<°` JfJ‚f`„?+|Hēą€’’’ €Ąf 2<ģ»`”ćŠć‘J@j ĄD‚@@@|āHā‘ā’J@WĪ’ö0<FJfJ‚g``Z€€’’$¼’ž%|š š„%|ūĻ÷™Hē@aÜ“Jƒgaō&«gBA`|œ@ģ©J€jDAL߀8BgJGj |ÜDœGn|` Fo|`<JGj ¾Do8zŚDšF0G>[ÅjDGaģ>$Æ%o%o BRHē @vH@B@H@Jk aė>`aÜLߊJƒg7o++J/jĄH§ >aóJf€€’’Jk Ą`Ą(*,aė„„?BHŅp*f aܞ`aŻÄJof f6ŸLŸŠRWRD`žę f>/SGaė2HŅRo`4* >/SGaėJof$J/jaÜ> f6ŸLŸŠRWSD`ž–6Ÿ*gp`0*aö OŸüHGHFHEHDp2/jDAf0` pćAYČ’ü5Aa¬0/S@Jo[ĄJ/[Įš‚+aŻbf]@j Žü`6f|~ņĒH $ON”Žü$@&H` ß ß ß0ßßü$Ÿ%_%_7_NuaŻf]@j Žü`"f|~ņĒH $ON”Žü$@&H` ß ß ß0ßNurtvxz|~`8<ĻĶĖÉĒ AmHGHFHEHDĻĶĖÉHGHFHEHDSjtR2g0<HAĻĶĖÉĒdHGHFHEHDĻĶĖÉHGHFHEHDHAQČ’NuJ€j paŁVNqNuz~v,<@ā@d R@ā‰ā’ā“ā‰ā’ā“/p²†f“‡f ¶€fÅe.–€•‡“†Jk Ę`<@Ų  l Ą` Ē`$Jk †`<@Ų  l €` ‡ Žf``SJk †`<@Ų  l €` ‡J…k6SJk Ę`<@Ų  l Ą` ĒRć‹ć’ć‘e’N`’0"$&ކVĆ Jk ć‹ć’ć‘S@aóVNqNu @LŅĮ<<8˜HRDo:Jf"¼f¾‚f vž‚`|dv`vž‚Ž‡ć–UÅS@SD`Äādā–ā—R@SH°Hl`Hf*¼d`:f¾‚d`,f f`$€%F%GRH0@Nŗöą`"$&†‚f 0<Ą`Jm ćŠć‘S@J`ņvNŗņzNu‡NuJ‡gGNuFa0Bg/QĄfĄdĄhĄjĄč@?@ FNwaa Ę`daaø`X ‡€f~ †€f|J†jJ‡j¼‡Nu¾†Nu ‡€f~J‡NuaŌJ‡fJ†gB‡`< <NNJ†fpNNa`ųa”a|`ģHēa¦`ąa|kfpNNav`ŹaxaĢ`¾alJkfpNNaRa°a.`žaLJfJf <NNpNNHēa˜hpNN@mn o~`h<<š` ‡g<S lš<š gJf ‡R  f~`| ĘŽ†d ā—RS ‡,a˜,/ĻFa JP`ų./Dü`šaŠJj,<€Ą`,<€@a 2a@hpNN`ģa`aü`aVaų`aLah¤*€S…g~`”pNNa*jpNNa<`zaaāhpNNLßxXNuOļ’š//HļųaNuOļ’š//HļųaĶGaĶGNuHGīŸ €ŽiZi €āŸJNud ~f <āŸJNu~NupNNiއg €ā‚HGļŸJ‡LßxXNupNN./LßxX ‡€f~Nu?<’ž`$?<’’`?<` øbTJNuBgJkī 8cīHē~€$Ž ŠcJ Øc <Lß~TNu,<¢łƒ>.aXDx’B묒΄,<ÉŪCaą,.a”$(< żŖ.BJkFD c~䯾„o$ž„ž„`öĘD c~äÆD‡D„¾„lž„ž„`öz,<ģ‘b@(<2CöØē‡kD†D„Ž„Aś*rt’RB&(ä£ä¤J‡k š„܃ž˜QÉ’ź` Ś„œƒŽ˜QÉ’Ž2/j"Rf0a:.,a4g aĀLß~TNu.<’’’`šg,a.JLß~TNu/a/F,`ę(k †’b ¦|Nuą„R„f š`ņJgja <Nu~’`öHē~€<A,<€A$aŒĻBat,a@gJCD c~īÆ|*< Aśźrt`䤚„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņ~a gR.$|Ag(jDąžzG܆[Ķ’ü€Œ.<±r@a8,aLß~Nu<Jj~`~’ā<Lß~Nu.<€AOļJNuHē~€?gź$,<øŖ;AaīiĄ`D o°  lꯇėÆ,<±r@aÄ,.ax$`B.BCD c~äÆz,<&£ŃAśģtra4YˆSBr a,YˆSBr a$J/jD…D܅a.Žk’>g’:TLß~NuRB&(ä£ä¤J‡k Ś„Üƒž˜QÉ’źNuš„œƒŽ˜QÉ’ŽNuHē~€,<€AB'¾eb¾†cFĶGa CD c|`4īÆ|*< Aś®rt`䤌„ܐ(&䣞ƒjš.XˆRā‹QÉ’ņa|.Jg .<ÉŪAazJg€ŽLß~Nu“źz,W}bG«X€Ŗ@U €@ €@ !ūTÖ3‚ÖŻ~ś·S’U»’ź­żU?’Ŗ’õ’ž’’’’’’’’’?’’’’’’’?a<NugPkīā dRā HC6<ī(*,Aś4.<€˜‡… ` Ē(Ų„*š˜š‡[Ė’ņZĖ’ņcR‡į FHCNu€@ €@ k$gBAkjDźÆNu~’ā<Nu~NuBĮkōjDźÆD‡NufD‡J‡kŅ~Ē<Nuz_J‡g0jząD‡i&S ‡’bHGއ[Ķ’üJj ‡dā—RNuŽüJ†f‡’’’J<NuHFHG½`źkś~NugŲ(gčv€ŚEŲD··˜iäBHGHF¾FkTiĪāŸHG»DāL&†Ę:ĘʞƒHGHF6BĘŞƒd&BރSE&HCBGŽĆHEk:Ś…S>:…€.gŒNugFg\ŚEŲDv€··ŚiR¹Eā]B&HC(BĘÄHDČĒ؃BDŁHDHGHFĪĘHFŽ„j ‡€gNuSiex@ބއdā—RgNu~Nujś½‡’’’J<Nugfg~ŚEŲDv€··ŚhFjnŗfrakj`L¹Eā]HE:BB8ČĒHD&HCĘÅ؃HF&ĘĒ؃BDŁHDHGĪĘHFHEŽ„NuaČj ‡€gNuSiex@ބއdā—RigNu~Nu`½‡’’’J<Nuz J‡g„kzއ[Ķ’ü Fn| F’ämn8DDÉü/Aś¾Śp@<&0@ W.ƒ:ŹĆBEHExHCĘĒŚƒŁHG6ĘļڃdR:HEĪ×OļŽ…kއSF‡€dā—RFv 8ēfi F€ę®gNu~NuJDkų~’HFāāJ<NugR €kjklf`>k^g>k^g2šk8 d,&Bź«<€ŽƒeNuā—Ridō~’S<Nu.NuJNu ’čošD&BźÆ<€ŽƒeĢNuk¦gÖv€·šgPk< dĢ&Bź«žƒk BS ‡’bHGއ[Ģ’ü¹kgNu~Nu ’čoŠD&.<€`¾ĖDž†gąjŗD‡`¶Oļ’ö// JBg/QĄfĄdĄhĄjĄč@?@ Hē>Ąf~A?|+."jT/"Ü<€æH†* āFvAś¼Pmn ¾Ød \HSC`Ač’śRC¼Pnögč`ģAčSC¼PmögŚ/|E+00,4jDBT/- B eR/.B …//tCļ$J‡jJ(fB8˜X*č­x ž…UĢ’üeBŽ… D0ÄQŹ’Ü>HĒLß|Nw@ŠĒ#<Ž k:9±¢¼/6ŽÉæ2ć_©2/µę õ,‘„ē*(čŌ„%ŗC·@"•łīk(¾¼ ˜–€ō$ĆPœ@ śČ €’żĢĢĢĶ’ś£× =’÷ƒn˜’óŃ·Y’š§Å¬G’ķ†7½’éÖæ”Ö’ę«Ģw’ć‰p_A’ßŪęžĻ’ÜÆė’ ’ٌ¼Ģ ’Õį.B’Ņ“$Ü5’ϐ|÷’Ėꕔæ’ČøwŖ2’œ’ī’ĮģJ~’¾¼åe’»— P’·ńɁ’“Įmš’±š¾Ķ’­÷–‡®’ŖĘ%’§žtŃø’£ż‡µóxBJ†g.jD†<Ā †’bHF܆[Ģ’üJj †dā–RNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.aŠNu'VME130 RMS CIWW  RMS LL`Q^  RMS LOjZ  **ˆVME130.RMS.CI*B******************************************************************0*RMSsysgenincludefileforVERSAdossysgen.“*B*******************************************************************7* This file is created at RMSgen time to be included in*ƒtheVERSAdossysgen.* PCˆ=$300000 STACK…=$4400STARTRMS‚=$300000+$100ROMSADDR‚=$300000 MEMALOCƒ=$0MMU‡=$0 PGSIZE„=$100 MAXSEGSƒ=$8 CLOCK050‚=$00TCCNTL„=$0ƒtranslationcontrolforMMBandPMMUNNNNNNO+  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page1    Command Line: ,LINK ,VME130.RMS.LO,VME130.RMS.LL;HMIX-UZ=40  @OptionsinEffect:‚A,-B,-C,-D,-G,H,I,-L,M,N,O,P,-Q,-R,-S,-U,-W,X  User Commands: DEF MAXSEGS,$8SEGRMS0:0$300000,$3000FFSEGRMS2:2,3,4,5,6,7,15‚$300100INPUTˆ&.SYSPAR.ROIN†M68XXX.RMS.ROIN†VME130.VECTTBL.ROIN†M68XXX.AKRQST.ROIN†M68XXX.ASQALOC.ROIN†M68XXX.ASQEVENT.ROIN†M68XXX.ASQFREE.ROIN†M68XXX.ASQGET.ROIN†M68XXX.ASQREAD.ROIN†M68XXX.ASQSTATS.ROIN†M68XXX.ASRINT.ROIN†M68XXX.ATSEM.ROIN†M68XXX.BKG.ROIN†VME130.CACHE.ROIN†M68XXX.CDIR.ROIN†M68XXX.CEXMSK.ROIN†M68XXX.CISR.ROIN†M68XXX.CKDELAY.ROIN†M68XXX.CKEXPAT.ROIN†M68XXX.CMR.ROIN†M68020.COMINT.ROIN†M68XXX.CPSTAT.ROIN†M68XXX.CRSTAT.ROIN†M68XXX.CRXTCB.ROIN†M68XXX.DCLSHAR.ROIN†M68XXX.DELAY.ROIN†M68XXX.DEMON.ROIN†M68XXX.DERQST.ROIN†M68XXX.DESEM.ROIN†M68020.DISPATCH.ROIN†M68XXX.DSEGX.ROIN†M68XXX.DSEMX.ROIN†M68XXX.DSERVE.ROIN†M68XXX.DSRVX.ROIN†M68XXX.EQDQ.ROIN†M68XXX.EXABRT.ROIN†M68020.EXCEPT.ROIN†M68020.EXIT.ROIN†M68XXX.EXMMSK.ROIN†M68XXX.EXMON.ROIN†M68XXX.EXMONVR.RO  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page2  IN†M68XXX.EXQEVENT.ROIN†M68XXX.EXRQPA.ROIN†M68XXX.FNDGSEG.ROIN†M68XXX.FNDTSEG.ROIN†M68XXX.FNDUSEM.ROIN†M68XXX.GETTCB.ROIN†M68XXX.GTDTIM.ROIN†M68XXX.GTTASKID.ROIN†M68XXX.GTTNAME.ROIN†VME130.KILLER.ROIN†NOMMUC.LOADMMU.ROIN†M68XXX.LOGPHY.ROIN†M68XXX.PAGEALOC.ROIN†M68XXX.PAGEFREE.ROIN†M68XXX.PAUSE.ROIN†M68XXX.POWRFAIL.ROIN†M68XXX.PSTATE.ROIN†M68010.PVSEM.ROIN†M68XXX.RCVSA.ROIN†M68XXX.RDTIMER.ROIN†M68XXX.READY.ROIN†M68XXX.RELINQ.ROIN†M68XXX.RESUME.ROIN†M68XXX.REXMON.ROIN†M68XXX.RQSTPA.ROIN†M68XXX.RSTATE.ROIN†M68XXX.RTEVENT.ROIN†M68XXX.SEGALOC.ROIN†M68XXX.SEGDEAL.ROIN†M68XXX.SEGSHAR.ROIN†M68XXX.SELFTEST.ROIN†M68XXX.SERVE.ROIN†M68XXX.SETPRI.ROIN†M68XXX.SGSEM.ROQXcaFi8q8y67‰8‘:™4”-©-±2¹-Į+É+Ń0Ł*į'é.ń0ł=7 >C)!6)U1X9:A<IN†M68010.SINT.ROIN†M68XXX.SNAPTRAC.ROIN†M68XXX.SPURINT.ROIN†M68XXX.STDTIM.ROIN†M68010.SUPER.ROIN†M68XXX.SUSPEND.ROIN†M68XXX.TERM.ROIN†M68XXX.TFRSEG.ROIN‡Z8036.TIMEINT.ROIN†M68XXX.TRACER.ROIN†M68010.TRAP0.ROIN†M68020.TRAP1.ROIN†M68XXX.TSKATTR.ROIN†M68XXX.TSKBORN.ROIN†M68XXX.TSKINFO.ROIN†M68XXX.TSKMOVE.ROIN†M68XXX.TSKSTART.ROIN†M68XXX.TSKWAIT.ROIN†M68XXX.USERVECT.ROIN†M68XXX.WAKEUP.ROIN†M68XXX.WTEVENT.ROINPUTƒM68XXX.RMSPATCH.RO  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page3  END  !Object Module Header Information: 4Module…VerRevLanguageDate…Time…CreationFileName :SYSPAR‡5ƒ1Assembly01/27/8618:18:04SYS:9999..XSYSPAR.AG1‹Systemparametersat$4400;Crashsaveat$4000. :RMS‰45ƒ0Assembly01/23/8611:22:48SYS:9999.M68XXX.RMS.SA‹68xxxRMSINITIALENTRYPOINT BVECTTBL†6ƒ1Assembly01/27/8618:18:24SYS:9999.VME130.XVECTTBL.AG$‹RMS68KvectortablefortheVME130. AAKRQST†45ƒ0Assembly01/18/8604:54:32SREL:9999.M68XXX.AKRQST.SA-‹68xxxDIRECTIVE--ACKNOWLEDGESERVICEREQUEST CASQALOC…45ƒ0Assembly01/18/8604:55:43SREL:9999.M68XXX.ASQALOC.SA'‹68xxxDIRECTIVE--ALLOCATEASQ“07/13/84 EASQEVENT„45ƒ0Assembly01/18/8604:57:03SREL:9999.M68XXX.ASQEVENT.SA&‹68xxxDIRECTIVE--QUEUEEVENT’07/13/84 CASQFREE…45ƒ0Assembly01/18/8604:59:18SREL:9999.M68XXX.ASQFREE.SA ‹68xxxDIRECTIVE--DEALLOCATEASQ BGTEVENT…45ƒ0Assembly01/18/8605:00:20SREL:9999.M68XXX.ASQGET.SA$‹68xxxDIRECTIVE--GETEVENT07/13/84 CASQREAD…45ƒ0Assembly01/18/8605:02:10SREL:9999.M68XXX.ASQREAD.SA%‹68xxxDIRECTIVE--READEVENT07/13/84 EASQSTATS„45ƒ0Assembly01/18/8605:03:43SREL:9999.M68XXX.ASQSTATS.SA ‹68xxxDIRECTIVE--SETASQSTAT+ US AASRINT†45ƒ0Assembly01/18/8605:05:00SREL:9999.M68XXX.ASRINT.SA/‹68xxxTRAP0--PROVIDEEVENTINTERRUPTŽ07/13/84 ?ATSEM‡45ƒ0Assembly01/18/8605:05:41SREL:9999.M68XXX.ATSEM.SA1‹68xxxDIRECTIVES--CREATEANDATTACHTOSEMAPHORE ;BKG‰45ƒ0Assembly01/18/8605:07:13SREL:9999.M68XXX.BKG.SA,‹M68xxx--Backgroundandguardedprocessing ?CACHE‡45ƒ0Assembly01/18/8606:40:54SREL:9999.VME130.CACHE.SA,‹VME130--CoderelatedtocachesonVME130. =CDIRˆ45ƒ0Assembly01/18/8605:07:46SREL:9999.M68XXX.CDIR.SA%‹68xxxDIRECTIVE--CONFIGUREDIRECTIVE ACEXMSK†45ƒ0Assembly01/18/8605:09:01SREL:9999.M68XXX.CEXMSK.SA,‹68xxxDIRECTIVE--SETCOPROCESSOREXMONMASK  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page4   =CISRˆ45ƒ0Assembly01/18/8605:09:40SREL:9999.M68XXX.CISR.SA5‹68xxxDIRECTIVE--CONFIGUREINTERRUPTSERVICEROUTINE CCKDELAY…45ƒ0Assembly01/18/8605:10:58SREL:9999.M68XXX.CKDELAY.SA‹68xxxCHECKDELAYLIST CCKEXPAT…45ƒ0Assembly01/18/8605:11:46SREL:9999.M68XXX.CKEXPAT.SA+‹68xxxCHECKPATFOREXECENTRYTOACTIVATE ;CMR‰45ƒ0Assembly01/18/8605:12:17SREL:9999.M68XXX.CMR.SA)‹68xxxRMS68KCHANNELMANAGEMENTROUTINES ACOMINT†45ƒ0Assembly01/18/8604:42:09SREL:9999.M68XXX.COMINT.SA ‹68020commoninterrupthandler. ACPSTAT†45ƒ0Assembly01/18/8605:15:51SREL:9999.M68XXX.CPSTAT.SA8‹68xxxDIRECTIVE--SETCOPROCESSORSTATEOFEXMON'EDTASK ACRSTAT†45ƒ0Assembly01/18/8605:16:47SREL:9999.M68XXX.CRSTAT.SA<‹68xxxDIRECTIVE--RECEIVECOPROCESSORSTATEOFEXMON'EDTASK @CRXTCB†45ƒ0Assembly01/23/8613:17:06SYS:9999.M68XXX.CRXTCB.SA%‹68XXXDIRECTIVE--CREATEEXTENDEDTCB CDCLSHAR…45ƒ0Assembly01/18/8605:19:00SREL:9999.M68XXX.DCLSHAR.SA*‹68xxxDIRECTIVE--DECLARESEGMENTSHARABLE ?DELAY‡45ƒ0Assembly01/18/8605:20:25SREL:9999.M68XXX.DELAY.SA‹68xxxDIRECTIVE--DELAY ?DEMON‡45ƒ0Assembly01/18/8605:21:33SREL:9999.M68XXX.DEMON.SA*‹68xxxDIRECTIVE--DETACHEXCEPTIONMONITOR ADERQST†45ƒ0Assembly01/18/8605:22:26SREL:9999.M68XXX.DERQST.SA0‹68xxxDIRECTIVE--SETUSER/SERVERREQUESTSTATUS ?DESEM‡45ƒ0Assembly01/18/8605:23:21SREL:9999.M68XXX.DESEM.SA'‹68xxxDIRECTIVE--DETACHFROMSEMAPHORE EDISPATCH„45ƒ0Assembly01/18/8604:43:29SREL:9999.M68XXX.DISPATCH.SA‹68020DISPATCHER ?DSEGX‡45ƒ0Assembly01/18/8605:24:28SREL:9999.M68XXX.DSEGX.SA&‹68xxxTRAP0--DEALLOCATEALLSEGMENTS ?DSEMX‡45ƒ0Assembly01/18/8605:25:19SREL:9999.M68XXX.DSEMX.SA)‹68xxxTRAP0--DETACHFROMALLSEMAPHORES ADSERVE†45ƒ0Assembly01/18/8605:25:50SREL:9999.M68XXX.DSERVE.SA,‹68xxxDIRECTIVE--DEALLOCATESERVERFUNCTION ?DSRVX‡45ƒ0Assembly01/18/8605:26:45SREL:9999.M68XXX.DSRVX.SA)‹68xxxTRAP0--DEALLOCATESERVERFUNCTION  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page5   =EQDQˆ45ƒ0Assembly01/18/8605:27:13SREL:9999.M68XXX.EQDQ.SA‹68xxxTRAP0--ENQUEUE/DEQUEUE AEXABRT†45ƒ0Assembly01/18/8605:28:15SREL:9999.M68XXX.EXABRT.SA%‹68xxx‚TRAP0DIRECTIVE‚--ABORTTASK AEXCEPT†45ƒ0Assembly01/18/8604:44:42SREL:9999.M68XXX.EXCEPT.SA&‹68020USERTRAPANDEXCEPTIONHANDLER =EXITˆ45ƒ0Assembly01/18/8604:48:26SREL:9999.M68XXX.EXIT.SA‹68020EXITMODULE AEXMMSK†45ƒ0Assembly01/18/8605:28:47SREL:9999.M68XXX.EXMMSK.SA,‹68xxxDIRECTIVE--SETEXCEPTIONMONITORMASK ?EXMON‡45ƒ0Assembly01/18/8605:29:26SREL:9999.M68XXX.EXMON.SA-‹68xxxDIRECTIVE--ATTACHTOEXCEPTIONMONITOR CEXMONVR…45ƒ0Assembly01/18/8605:30:39SREL:9999.M68XXX.EXMONVR.SA)‹68xxxSUBROUTINE--VALIDATEEXMONREQUEST EEXQEVENT„45ƒ0Assembly01/18/8605:31:27SREL:9999.M68XXX.EXQEVENT.SA‹68xxxTRAP0--QUEUEEVENT AEXRQPA†45ƒ0Assembly01/18/8605:32:32SREL:9999.M68XXX.EXRQPA.SA5‹68xxxTRAP0--REQUESTPERIODICACTIVATIONOFPROCESS CFNDGSEG…45ƒ0Assembly01/18/8605:33:11SREL:9999.M68XXX.FNDGSEG.SA3‹68xxxTRAP0--FINDSEGMENTINGLOBALSEGMENTTABLE CFNDTSEG…45ƒ0Assembly01/1, 8/8605:33:44SREL:9999.M68XXX.FNDTSEG.SA0‹68xxxTRAP0--FINDSEGMENTINTASKSEGMENTTABLE CFNDUSEM…45ƒ0Assembly01/18/8605:34:13SREL:9999.M68XXX.FNDUSEM.SA)‹68xxxTRAP0--FINDUSERSEMAPHOREINUST AGETTCB†45ƒ0Assembly01/18/8605:34:44SREL:9999.M68XXX.GETTCB.SA-‹68xxxTRAP0--GETTASKCONTROLBLOCKADDRESS AGTDTIM†45ƒ0Assembly01/18/8605:35:13SREL:9999.M68XXX.GTDTIM.SA#‹68xxxDIRECTIVE--GETDATEANDTIME EGTTASKID„45ƒ0Assembly01/18/8605:35:56SREL:9999.M68XXX.GTTASKID.SA‹68xxxTRAP1--GETTASKID CGTTNAME…45ƒ0Assembly01/18/8605:36:48SREL:9999.M68XXX.GTTNAME.SA‹68xxxTRAP1--GETTASKID @KILLER†45ƒ0Assembly01/23/8617:12:02SYS:9999.M68XXX.KILLER.SA8‹M68XXX-SAVETHECRASHINFO.ANDBRINGTHESYSTEMDOWN CLOADMMU…45ƒ0Assembly01/18/8606:22:29SREL:9999.NOMMUC.LOADMMU.SA6‹LOADMMUSUBROUTINESFORBOARDSWITHCACHEWITHOUTMMU  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page6   ALOGPHY†45ƒ0Assembly01/18/8605:37:27SREL:9999.M68XXX.LOGPHY.SA2‹68xxxTRAP0--CONVERTLOGICALADDRESSTOPHYSICAL FPAGEALOC„45ƒ0Assembly01/18/8604:05:32SREL:9999.BESTFIT.PAGEALOC.SA8‹68xxxTRAP0--ALLOCATEPHYSICALMEMORY(BESTFITMETHOD) FPAGEFREE„45ƒ0Assembly01/18/8604:06:38SREL:9999.BESTFIT.PAGEFREE.SA4‹68xxxTRAP0--FREEPHYSICALMEMORY(BESTFITMETHOD) ?PAUSE‡45ƒ0Assembly01/18/8605:37:58SREL:9999.M68XXX.PAUSE.SA%‹68xxxTRAP0--PAUSEDURINGEXECTOUR EPOWRFAIL„45ƒ0Assembly01/18/8605:38:24SREL:9999.M68XXX.POWRFAIL.SA#‹68xxxPOWERFAILINTERRUPTHANDLER APSTATE†45ƒ0Assembly01/18/8605:38:43SREL:9999.M68XXX.PSTATE.SA,‹68xxxDIRECTIVE--SETSTATEOFEXMON'EDTASK ?PVSEM‡45ƒ0Assembly01/18/8604:35:56SREL:9999.M68XXX.PVSEM.SA ‹68010TRAP0--SEMAPHOREROUTINE ?RCVSA‡45ƒ0Assembly01/18/8605:39:34SREL:9999.M68XXX.RCVSA.SA4‹68xxxTRAP#1DIRECTIVE--RECEIVESEGMENTATTRIBUTES CRDTIMER…45ƒ0Assembly01/18/8605:40:45SREL:9999.M68XXX.RDTIMER.SA‹M68xxx--Readssystemtime. ?READY‡45ƒ0Assembly01/18/8605:41:11SREL:9999.M68XXX.READY.SA*‹M68xxxRMSTRAP0Puttaskonreadylist. ARELINQ†45ƒ0Assembly01/18/8605:41:48SREL:9999.M68XXX.RELINQ.SA&‹68xxxDIRECTIVE--RELINQUISHEXECUTION ARESUME†45ƒ0Assembly01/18/8605:42:30SREL:9999.M68XXX.RESUME.SA)‹68xxxDIRECTIVE--RESUMEASUSPENDEDTASK AREXMON†45ƒ0Assembly01/18/8605:43:18SREL:9999.M68XXX.REXMON.SA2‹68xxxDIRECTIVE--EXECUTETASKUNDEREXMONCONTROL ARQSTPA†45ƒ0Assembly01/18/8605:45:29SREL:9999.M68XXX.RQSTPA.SA-‹68xxxDIRECTIVE--REQUESTPERIODICACTIVATION ARSTATE†45ƒ0Assembly01/18/8605:46:38SREL:9999.M68XXX.RSTATE.SA-‹68xxxDIRECTIVE--READSTATEOFEXMON'EDTASK CRTEVENT…45ƒ0Assembly01/18/8605:47:24SREL:9999.M68XXX.RTEVENT.SA-‹68xxxDIRECTIVE--RETURNFROMEVENTSERVICE CSEGALOC…45ƒ0Assembly01/18/8605:49:16SREL:9999.M68XXX.SEGALOC.SA+‹68xxxDIRECTIVE--ALLOCATEAMEMORYSEGMENT CSEGDEAL…45ƒ0Assembly01/18/8605:51:12SREL:9999.M68XXX.SEGDEAL.SA+‹68xxxDIRECTIVE--DEALLOCATEMEMORYSEGMENT  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page7   CSEGSHAR…45ƒ0Assembly01/18/8605:52:50SREL:9999.M68XXX.SEGSHAR.SA6‹68xxxDIRECTIVES--SHARESEGMENTANDATTACHTOSEGMENT ESELFTEST„45ƒ0Assembly01/18/8605:54:42SREL:9999.M68XXX.SELFTEST.SA(‹68xxxSYSTEMSELFTESTINTERRUPTHANDLER ?SERVE‡45ƒ0Assembly01/18/8605:55:02SREL:9999.M68XXX.SERVE.SA&‹68xxxDIRECTIVE--BECOMEASERVERTASK ASETPRI†45ƒ0Assembly01/18/8605:56:03SREL:9999.M68XXX.SETPRI.SA(‹68xxxDIRECTIVE--CHANGETASK'SPRIORITY ?SGSEM‡45ƒ0Assembly01/18/8605:56:52SREL:9999.M68XXX.SGSEM.SA,‹68xxxDIRECTIVES--SIGNALANDWAITSEMAPHORE =SINTˆ45ƒ0Assembly01/18/8604:36:43SREL:9999.M68XXX.SINT.SA+‹68010DIRECTIVE--SIMULATEINTERRUPTTOISR ESNAPTRAC„45ƒ0Assembly01/18/8605:57:56SREL:9999.M68XXX.SNAPTRAC.SA,‹68xxxDIRECTIVE--GIVETRACETABLETOCALLER,  CSPURINT…45ƒ0Assembly01/18/8605:58:46SREL:9999.M68XXX.SPURINT.SA!‹68xxxSPURIOUSINTERRUPTHANDLER ASTDTIM†45ƒ0Assembly01/18/8605:59:06SREL:9999.M68XXX.STDTIM.SA#‹68xxxDIRECTIVE--SETDATEANDTIME >SUPERˆ5ƒ0Assembly01/18/8604:37:35SREL:9999.M68XXX.SUPER.SA,‹M68010DIRECTIVE--SWITCHTOSUPERVISORMODE CSUSPEND…45ƒ0Assembly01/18/8606:00:09SREL:9999.M68XXX.SUSPEND.SA‹68xxxDIRECTIVE--SUSPEND =TERMˆ45ƒ0Assembly01/18/8606:00:48SREL:9999.M68XXX.TERM.SA8‹68xxxDIRECTIVES--TERMINATESELF,TERMINATETASK,ABORT ATFRSEG†45ƒ0Assembly01/18/8606:03:27SREL:9999.M68XXX.TFRSEG.SA2‹68xxxDIRECTIVE--TRANSFERSEGMENTTOANOTHERTASK BTIMEINT…45ƒ0Assembly01/18/8606:43:44SREL:9999.Z8036.TIMEINT.SA/‹TIMERINTERRUPTHANDLERFORM146818CLOCKCHIP ATRACER†45ƒ0Assembly01/18/8606:05:25SREL:9999.M68XXX.TRACER.SA‹TRACEEXECACTIVITY ?TRAP0‡45ƒ0Assembly01/18/8604:38:35SREL:9999.M68XXX.TRAP0.SA!‹68010TRAP#0handlerandtable. ?TRAP1‡45ƒ0Assembly01/18/8604:49:24SREL:9999.M68XXX.TRAP1.SA!‹68020TRAP#0handlerandtable. CTSKATTR…45ƒ0Assembly01/18/8606:05:51SREL:9999.M68XXX.TSKATTR.SA)‹68xxxDIRECTIVE--RECEIVETASKATTRIBUTES  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page8   CTSKBORN…45ƒ0Assembly01/18/8606:06:35SREL:9999.M68XXX.TSKBORN.SA)‹68xxxTRAP#1DIRECTIVE--CREATENEWTASK CTSKINFO…45ƒ0Assembly01/18/8606:07:41SREL:9999.M68XXX.TSKINFO.SA2‹68xxxDIRECTIVE--MOVETARGETTASK'STCBTOBUFFER CTSKMOVE…45ƒ0Assembly01/18/8606:08:39SREL:9999.M68XXX.TSKMOVE.SA8‹68xxxTRAP#1DIRECTIVE--MOVELOGICALANDMOVEPHYSICAL ETSKSTART„45ƒ0Assembly01/18/8606:09:57SREL:9999.M68XXX.TSKSTART.SA&‹68XXXDIRECTIVE--STARTDORMANTTASK CTSKWAIT…45ƒ0Assembly01/18/8606:12:03SREL:9999.M68XXX.TSKWAIT.SA‹68xxxDIRECTIVE--WAIT EUSERVECT„45ƒ0Assembly01/18/8606:12:57SREL:9999.M68XXX.USERVECT.SA<‹68XXXDIRECTIVES--USEREXCEPTION,COPROCESSOR,TRAPVECTORS AWAKEUP†45ƒ0Assembly01/18/8606:13:47SREL:9999.M68XXX.WAKEUP.SA(‹68xxxDIRECTIVE--WAKEUPAWAITINGTASK CWTEVENT…45ƒ0Assembly01/18/8606:14:42SREL:9999.M68XXX.WTEVENT.SA ‹68xxxDIRECTIVE--WAITFOREVENT ERMSPATCH„45ƒ0Assembly01/18/8605:45:10SREL:9999.M68XXX.RMSPATCH.SA‹PatchareaforRMS68K.  Load Map:  !Segment RMS0: 00300000 003000FF 0/Module†SƒT‚Start…End‡ExternallyDefinedSymbols   .Segment RMS2: 00300100 003059FF 2,3,4,5,6,7,15/Module†SƒT‚Start…End‡ExternallyDefinedSymbols 6RMSŠ2…00300100‚00300181‚RMSˆ00300100‚CALLKILLƒ0030010CVECTTBL†2…00300182‚003002A1;BKGŠ2…003002A2‚00300323‚CALL_GUAƒ00300312‚BKG_DISPƒ003002C6§BKG_SCHEƒ003002A2=CACHEˆ2…00300324‚0030035B‚FLUSH_ONƒ00300340‚FLUSH_ALƒ00300324*CEXMSK‡2…0030035C‚00300365‚CEXMSK…0030035C,CKDELAY†2…00300366‚0030047D‚CKDELAY„00300366+CKEXPAT†2…0030047E‚003004BD‚CKEXPA…0030047E=COMINT‡2…003004BE‚00300625‚COMINTZ„003004DE‚COMINT_Pƒ003004EA §COMINT…003004BE‚ISRERR…003005E8!§ISRRTE…00300580‚COMNISR„0030053E*CPSTAT‡2…00300626‚00300677‚CPSTAT…00300626*CRSTAT‡2…00300678‚003006DF‚CRSTAT…00300678*CRXTCB‡2…003006E0‚0030087B‚CRXTCB…00300760,DCLSHAR†2…0030087C‚00300959‚DCLSHAR„0030087C9DEMONˆ2…0030095A‚003009B9‚SBDMONX„0030096C‚DEMON†0030095A  DMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page9  §DMONX†0030096C?DISPATCH…2…003009BA‚00300B95‚PREEMPT„003009E4‚DISPATCHƒ003009EA§L1_D0_SAƒ003009BA9DSEGXˆ2…00300B96‚00300C2D‚SBDSEGX„00300B96‚DSEGX†00300B96:EQDQ‰2…00300C2E‚00300D57‚EXEQDQ…00300C2E‚SBEXEQDQƒ00300C2E§EQDQ‡00300C4AEXCEPT‡2…00300DCC‚00301301‚PROGINT2ƒ00300EFC‚PROGINT3ƒ00300EFE$§PROGINT4ƒ00300F00‚PROGINT5ƒ00300F02$§PROGINT6ƒ00300F04‚PROGINT7ƒ00300F06$§PROGINT8ƒ00300F08‚PROGINT9ƒ00300F12$§PROGINTAƒ00300F0A‚PROGINTBƒ00300F0C §TRAPVCT„00300DCC‚BERR1†00300EFC$§RESVCT12ƒ00300E60‚RESVCT16ƒ00300E68$§RESVCT17ƒ00300E6A‚RESVCT18ƒ00300E6C#§RESVCT19ƒ- 00300E6E‚TRPVCT2„00300DD0$§RESVCT20ƒ00300E70‚RESVCT21ƒ00300E72$§RESVCT22ƒ00300E74‚RESVCT23ƒ00300E76"§TRPVCT3„00300DD2‚TRPVCT4„00300DD4$§RESVCT48ƒ00300E80‚RESVCT49ƒ00300E82#§TRPVCT5„00300DD6‚RESVCT50ƒ00300E84$§RESVCT51ƒ00300E86‚RESVCT52ƒ00300E88$§RESVCT53ƒ00300E8A‚RESVCT54ƒ00300E8C$§RESVCT55ƒ00300E8E‚RESVCT56ƒ00300E90$§RESVCT57ƒ00300E92‚RESVCT58ƒ00300E94#§RESVCT59ƒ00300E96‚TRPVCT6„00300DD8$§RESVCT60ƒ00300E98‚RESVCT61ƒ00300E9A$§RESVCT62ƒ00300E9C‚RESVCT63ƒ00300E9E"§TRPVCT7„00300DDA‚TRPVCT8„00300DDC"§TRPVCT9„00300DDE‚CKEXMON„003012B6"§TRPVCTA„00300DE0‚TRPVCTB„00300DE2"§TRPVCTC„00300DE4‚TRPVCTD„00300DE6§TRPVCTE„00300DE8EXRQPA‡2…00301610‚003017D1‚PAT_DEL_ƒ0030176C‚PAT_MID_ƒ003017A0$§PAT_SCHEƒ0030171C‚PAT_RM_1ƒ003017B6 §EXRQPA…00301610‚SBRQPA…00301610§PAT_1ST_ƒ0030177C>FNDGSEG†2…003017D2‚0030184F‚SBFNDGSGƒ003017D2‚FNDGSEG„003017D2>FNDTSEG†2…00301850‚00301895‚SBFNDSEGƒ00301850‚FNDTSEG„00301850>KILLER‡2…00301896‚00301C41‚ABORT_KIƒ00301902‚KILLERT0ƒ00301A80  EMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page10  $§DRIVER_Kƒ00301A36‚EXEC_KILƒ003018C8$§ACCESS_Kƒ003019CE‚EXCEPT_Kƒ00301984$§EXECT0_Kƒ003018C8‚VECTOR_Kƒ0030194E"§KILLER…00301A80‚TRAP0_KIƒ00301A7A§SBDRIVERƒ00301A36>LOADMMU†2…00301C42‚00301C5F‚LOADMMU„00301C42‚LOADMMUIƒ00301C48!§MMUFAULTƒ00301C5A‚CRASN†00301C5A!§DEASN†00301C5A‚ADD_SEG2ƒ00301C5C$§ADD_SEG_ƒ00301C5C‚DEL_SEG_ƒ00301C4E;LOGPHY‡2…00301C60‚00301CCD‚LOGPHY…00301C60‚LOGPHYO„00301C64$§SBLOGPHOƒ00301C64‚SBLOGPHYƒ00301C60>PAGEALOC…2…00301CCE‚00301F67‚SBPAGAL„00301CCE‚SBMEMAL„00301CE0§PAGEALOCƒ00301CCE=PAGEFREE…2…00301F68‚0030208D‚SBPGFR…00301F68‚FREEBLK„00301F76§PAGEFREEƒ00301F689PAUSEˆ2…0030208E‚0030209B‚SBPAUSE„0030208E‚PAUSE†0030208E.POWRFAIL…2…0030209C‚003020BF‚POWRFAILƒ0030209C5PVSEMˆ2…003020C0‚003021A7‚PSEM‡003020C0‚VSEM‡0030216C§SBPˆ003020C0‚SVXSTAK„00302116§SBVˆ0030216C‚PSWAIT…003020F2(RCVSAˆ2…003021A8‚00302245‚RCVSA†003021A8=RDTIMER†2…00302246‚00302261‚RDTIMER„00302246‚SBRDTIM„00302246FNDUSEM†4…00303726‚003037A7‚SBFNDSEMƒ00303726‚FNDUSEM„00303726>- GETTCB‡4…003037A8‚0030381F‚SBGETTCBƒ003037BA‚SBGTXTCBƒ003037A8 §GETTCB…003037BA‚GTXTCB…003037A8.GTTASKID…4…00303820‚0030384D‚GTTASKIDƒ00303820,GTTNAME†4…0030384E‚0030385D‚GTTNAME„0030384E  EMotorolaM68000LinkageEditorVersion‚1.90‚01/27/86‚18:18:43‡Page11  &CDIR‰5…0030385E‚003038F7‚CDIR‡0030385E7CISR‰5…003038F8‚00303A15‚CISR‡003038F8‚SBDIOVX„003039D0&SINT‰5…00303A16‚00303A77‚SINT‡00303A16*AKRQST‡6…00303A78‚00303B67‚AKRQST…00303A78,ASQALOC†6…00303B68‚00303C3D‚ASQALOC„00303B68.ASQEVENT…6…00303C3E‚00303E3B‚ASQEVENTƒ00303C3E=ASQFREE†6…00303E3C‚00303E7F‚SBDASQX„00303E44‚ASQFREE„00303E3C?GTEVENT†6…00303E80‚00304055‚S_EXPORTƒ00303F7A‚APPEND_Pƒ00303FD0#§GTEVENT„00303E80‚A_EXPORTƒ00303F64,ASQREAD†6…00304056‚0030410F‚ASQREAD„00304056@ASQSTATS…6…00304110‚003041CD‚ASQSTATSƒ00304110‚SETASQ_Sƒ00304116>ASRINT‡6…003041CE‚00304241‚I_DISP_Aƒ003041CE‚SBUPDATQƒ003041FE#§DISP_ASRƒ003041CE‚UPDTASQ„003041FE$§READY_ASƒ003041CE‚GTASQBUFƒ003041FE7ATSEMˆ6…00304242‚003043E7‚ATSEM†00304248‚CRSEM†00304242)CACHEˆ6…003043E8‚00304401‚FLUSHC…003043E8:DELAYˆ6…00304402‚00304505‚PAT_CAN_ƒ003044DC‚DELAY†00304402§DELAYW…0030448C*DERQST‡6…00304506‚00304573‚DERQST…00304506:DESEMˆ6…00304574‚003046B1‚DSEM_SUBƒ00304594‚DESEM†00304574§DESEMA…0030458A*DSEMXˆ6…003046B2‚003046CB‚SBDSEMX„003046B2‚14™***‡take over vectors in the processor's vector table.*** ‚15™***É***S‚16™*******************************************************************************S‚17™*******************************************************************************S‚18™*^*****************************************************************************‚19‚20™*0‚21™*‚Revision history (add new changes to top).‚22™*…Date†Author‚ChangesD‚23™*…--------‚------‚----------------------------------------------‚24™*;‚25™*…10/29/85ƒCBS„Changed TRAP #15 vector to point to RMS.‚26™*C‚27™*…10/19/85ƒCBS„Changed all references of KILLER to VECTOR_KILL.‚28™*.‚29™*…07/30/85ƒCBS„Rewrote for 32 bit support.‚30™*I‚31™*…05/01/85ƒCBS„Converted from VM04 to VME130 (no actual code changes)‚32™*#‚33™*…10/10/84ƒACC„Initial writing.‚34™*‚35‚36‚37™*I‚38™*‚XREF's.‚Note that there are many more XREF's created by invocations6‚39™*‚of the macros; those XREF's are not listed here.‚40™*1‚41¢XREF…COMINTCommon interrupt handler routine.‚42‚43‚44‚45™*‚46™*‚Included files:‚47™*9‚48™*‰9995.&.STR.EQThe section number to use is in here.‚49™* WMotorola M68000 ASM Version‚1.90 SYS :9999.VME130‚.XVECTTBL.AG 01/27/86 18:18:24žPAGEƒ2   583™* 584™*L 585™*‚The VECTOR macro defines one entry in the vector tabl0 e.‚The format is* 586™*‰VECTOR‚, 587™*R 588™*‚The RANGE macro defines a range of entries in the vector table all pointing) 589™*‚to the same handler.‚The format isD 590™*‰RANGE ,, 591™*R 592™*‚The BYTWOS macro defines a range of entries in the vector table pointing to< 593™*‚handlers at addresses incremented by 2.‚The format isE 594™*‰BYTWOS ,, 595™*L 596™*‚The SKIP macro specifies a vector that is to be left alone by RMS68K.N 597™*‚This macro is not needed to build the table, since vectors that are notL 598™*‚specified will automatically be left alone.‚Its use can help make the8 599™*‚table easier to understand, though.‚The format is 600™*‰SKIP  601™*E 602™*‚The ENDTABLE macro defines the end of the table.‚The format is 603™*‰ENDTABLE 604™*F 605™*‚Entries in the VECTTBL do NOT need to be in ascending order.‚ItK 606™*‚is up to the user to ensure that the vectors are not unintentionally 607™*‚redefined in this table! 608™* 609™*‚Example:. 610™*‰VECTOR $23,COMINT‰Points $23 to COMINT.; 611™*‰RANGE‚$24,$28,ROUTINE1ƒPoints $24 to $28 to ROUTINE1 612™*£Leaves $29 and $2A aloneK 613™*…BYTWOS $2B,$2C,ROUTINE2ƒPoints $2B to ROUTINE2 and $2C to ROUTINE2+2! 614™*‰SKIP‚$2D‘Leaves $2D alone., 615™*‚The end of the list is signified by a 616™*‰ENDTABLEL 617™*‚and all of the vectors that have not been defined will be left alone. 618™*P 619™*‚The first two long words in the table are !VCT and the address of COMINT, 620™*‚respectively. 621 622™VECTORƒMACRO 623¢XREF…\2 624¢DC.W…'VE' 625¢DC.B…\1 626¢DC.B…00  627¢DC.L…\2 628¢ENDM 629 630™RANGE„MACRO 631¢XREF…\3 632¢DC.W…'RA' 633¢DC.B…\1 634¢DC.B…\2 635¢DC.L…\3 636¢ENDM 637 638™BYTWOSƒMACRO 639¢XREF…\3 640¢DC.W…'BT' WMotorola M68000 ASM Version‚1.90 SYS :9999.VME130‚.XVECTTBL.AG 01/27/86 18:18:24žPAGEƒ3  641¢DC.B…\1 642¢DC.B…\2 643¢DC.L…\3 644¢ENDM 645K 646™*ˆThe following macro is not really needed, since vectors that are notA 647™*ˆspecified are automatically left alone.‚It is included forF 648™*ˆdocumentation purposes, or for users that want to specify every 649™*ˆvector. 650 651™SKIP…MACRO 652¢DC.W…'SK' 653¢DC.B…\1 654¢DC.B…0 655¢DC.L…0 656¢ENDM 657 658™*9 659™*œENDTABLE macro also leaves some space for patches. 660™ENDTABLE MACRO 661¢DC.W…'ET' 662¢DC.W…0 663¢DC.L…0 664¢DC.W…'ET' 665¢DC.W…0 666¢DC.L…0 667¢DC.W…'ET' 668¢DC.W…0 669¢DC.L…0 670¢DC.W…'ET' 671¢DC.W…0 672¢DC.L…0 673¢ENDM 674 675™*% 676™*‚First set up the table header. 677™* 678Œ00000002ŽSECTION‚LEVEL00 679 680H 681 2 00000000 21564354ŽDC.L…'!VCT'Dump eyecatcher for 'VeCtor Table.'J 682 2 00000004 00000000ŽDC.L…COMINTPut the address of COMINT here so the' 683™*§exec initializer can find it; he( 684™*§isn't linked with the exec, so he 685™*§wouldn't know otherwise. WMotorola M68000 ASM Version‚1.90 SYS :9999.VME130‚.XVECTTBL.AG 01/27/86 18:18:24žPAGEƒ4   687™*. 688™*‚Here are the actual vector assignments.N 689™*‚Notice that whether or not the illegal instruction vector is taken overJ 690™*‚by RMS68K is controlled by an sysgen parameter.‚During RMSGEN, this) 691™*‚parameter is substituted such thatF 692™*„0 = the exec should leave the illegal instruction vector alone.D 693™*„1 = the exec should take over the illegal instruction vector.O 694™*‚You might want the exec to leave the illegal instruction vector alone ifN 695™*‚you want to use the ROM debugger, since it uses illegal instructions as 696™*‚breakpoints. 697™* 698. 699 2 00000008—VECTORƒ$02,PROGINT2ŠBus error.2 700 2 00000010—VECTORƒ$03,PROGINT3ŠAddress error.) 701™*§If we're not supposed to take over, 702¢IFEQ…$1”the illegal instruction vector, 704¢ENDC›*& 705™*§If we are supposed to take over, 706¢IFN1 E…$1”the illegal instruction vector,M 707 2 00000018—VECTORƒ$04,PROGINT4Štake over the illegal instruction vector. 708¢ENDC›* 709™* 710™*6 711 2 00000020—BYTWOSƒ$05,$08,PROGINT5†Division by 0.0 712™*‚in sequence„$06,PROGINT6ŠCHK instruction.2 713™*‚in sequence„$07,PROGINT7ŠTRAPV instruction.4 714™*‚in sequence„$08,PROGINT8ŠPrivilege Violation.6 715 2 00000028—VECTORƒ$09,PROGINT9ŠInstruction Trace.G 716 2 00000030—VECTORƒ$0A,PROGINTAŠReserved instruction opcodes $AXXX.G 717 2 00000038—VECTORƒ$0B,PROGINTBŠReserved instruction opcodes $FXXX.) 718 2 00000040—VECTORƒ$0C,COMINTŒCOMINT.H 719 2 00000048—RANGE„$0D,$0F,VECTOR_KILLƒCoprocessor Protocol Violation 720™*£Format Error. 721™*£Uninitialized Interrupt.> 722 2 00000050—RANGE„$10,$17,COMINTˆ($10 - $17 go to COMINT.)6 723 2 00000058—VECTORƒ$18,SPURINT‹Spurious Interrupt.> 724 2 00000060—RANGE„$19,$1F,COMINTˆ($19 - $1F go to COMINT.)) 725 2 00000068—VECTORƒ$20,TRAP0TRAP #0.) 726 2 00000070—VECTORƒ$21,TRAP1TRAP #1.6 727 2 00000078—BYTWOSƒ$22,$2F,TRPVCT2‡TRAP #2 to #15.7 728 2 00000080—VECTORƒ$30,RESVCT48ŠFloating point BSUN7 729 2 00000088—VECTORƒ$31,RESVCT49ŠFloating point INEX5 730 2 00000090—VECTORƒ$32,RESVCT50ŠFloating point DZ7 731 2 00000098—VECTORƒ$33,RESVCT51ŠFloating point UNFL8 732 2 000000A0—VECTORƒ$34,RESVCT52ŠFloating point OPERR7 733 2 000000A8—VECTORƒ$35,RESVCT53ŠFloating point OVFL7 734 2 000000B0—VECTORƒ$36,RESVCT54ŠFloating point SNAN 735= 736 2 000000B8—RANGE„$37,$3F,COMINTˆ($37 - $3F go to COMINT) 737™*= 738™*‚Vectors generated by VME130 onboard interrupt sources. 739™*1 740™*£Software abort ($40) is needed by the bug.7 741 2 000000C0—VECTORƒ$41,POWRFAILŠACFAIL from VMEbus.3 742 2 000000C8—VECTORƒ$42,TIMEINT‹Z8036 CIO timer.8 743 2 000000D0—VECTORƒ$43,CMRSFAILŠSYSFAIL from VMEbus.? 744 2 000000D8—RANGE„$44,$46,COMINTˆMK68564 dual serial ports. 745™*£VMEbus interrupt status. WMotorola M68000 ASM Version‚1.90 SYS :9999.VME130‚.XVECTTBL.AG 01/27/86 18:18:24žPAGEƒ5   746™*£COMINT.: 747 2 000000E0—VECTORƒ$47,VECTOR_KILL‡VMX32bus interrupt.> 748 2 000000E8—RANGE„$48,$49,COMINTˆ($48 - $49 go to COMINT.)C 749 2 000000F0—VECTORƒ$4A,VECTOR_KILL‡VMEbus monitor FIFO overrun.> 750 2 000000F8—RANGE„$4B,$FF,COMINTˆ($4B - $FF go to COMINT.) 7512 752 2 00000100—ENDTABLE—(End of table indicator.) 753 754 755 756¢END ****** TOTAL ERRORS†0--****** TOTAL WARNINGS„0-- WMotorola M68000 ASM Version‚1.90 SYS :9999.VME130‚.XVECTTBL.AG 01/27/86 18:18:24žPAGEƒ6  SYMBOL TABLE LISTING  -SYMBOL NAME…SECTƒVALUE‡SYMBOL NAME…SECTƒVALUE  &BYTWOS…MACRƒ*RESVCT50ƒXREFƒ*ƒ000000001CMRSFAILƒXREFƒ*ƒ00000000…RESVCT51ƒXREFƒ*ƒ00000000/COMINT…XREFƒ*ƒ00000000…RESVCT52ƒXREFƒ*ƒ00000000(ENDTABLEƒMACRƒ*RESVCT53ƒXREFƒ*ƒ00000000(GET_TARGƒMACRƒ*RESVCT54ƒXREFƒ*ƒ00000000LEVEL0000000002…SKIP‡MACRƒ* (LVLBASE00000002…SPURINT„XREFƒ*ƒ00000000'POWRFAILƒXREFƒ*ƒ00000000…TCBSTK…MACRƒ* 'PROGINT2ƒXREFƒ*ƒ00000000…TESTIM…MACRƒ* 0PROGINT3ƒXREFƒ*ƒ00000000…TIMEINT„XREFƒ*ƒ00000000$PROGINT4ƒXREFƒ*ƒ00000000…TR0ˆMACRƒ* %PROGINT5ƒXREFƒ*ƒ00000000…TR0$‡MACRƒ* &PROGINT9ƒXREFƒ*ƒ00000000…TR02X†MACRƒ* .PROGINTAƒXREFƒ*ƒ00000000…TRAP0†XREFƒ*ƒ00000000.PROGINTBƒXREFƒ*ƒ00000000…TRAP1†XREFƒ*ƒ00000000$RANGE†MACRƒ*TRPVCT2„XREFƒ*ƒ00000000'RESVCT48ƒXREFƒ*ƒ00000000…VECTOR…MACRƒ* 1RESVCT49ƒXREFƒ*ƒ00000000…VECTOR_KƒXREFƒ*ƒ00000000 QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ1  Cƒ1™SYSPARƒIDNT…5,1“System parameters at $4400; Crash save at $4000.Rƒ2™*v*****************************************************************************Rƒ3™*******************************************************************************Rƒ4™******************************************************************************* ƒ5™***É***Aƒ6™***…ROUTINE:‚SYSPAR -- SYSTEM PARAMETERS TABLE FOR RMS68K.*** ƒ7™***É***Mƒ8™***…ENVIRONMENT:‚Part of the RMS68K exec for the Motorola 68000 family.***+ƒ9™***‡Copyright 1983 by1  Motorola, Inc.¢*** ‚10™***É***L‚11™***…FUNCTION:‚This table gets SUBSed and ASMed during an RMSGEN, andƒ***J‚12™***‡is then linked in with RMS68K.‚The data defined in this moduleƒ***H‚13™***‡are primarily the variables and parameters needed by RMS68K.†*** ‚14™***É***S‚15™*******************************************************************************S‚16™*******************************************************************************S‚17™*^*****************************************************************************‚18‚19™*0‚20™*‚Revision history (add new changes to top).‚21™*…Date†Author‚ChangesD‚22™*…--------‚------‚----------------------------------------------.‚23™*…10/03/85‚CBS…Added TRP15TYP and BUGTRP15D‚24™*…08/12/85‚BAW…Added SUPERMMU and FC_TABLE for MMB681 and M68851,‚25™*…12/ 7/84‚SJF…Added LAST_MMU_INT_LEVEL.#‚26™*…10/ 4/83‚SJF…Format revision.‚27™*‚28‚29‚30™*‚31™*‚Included files:‚32™*‚33™*‰9995.&.TIOT.EQ‚34™* QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ2  ‚71¢XDEF…ACOTBL‚72¢XDEF…ADEFTYP‚73¢XDEF…ASNTBL‚74¢XDEF…BKG_ACTIVE‚75¢XDEF…BKG_FLAG‚76¢XDEF…BKG_HEAD‚77¢XDEF…BKG_TAIL‚78¢XDEF…BUGTRP15‚79¢XDEF…CCBHD‚80¢XDEF…CFLUSH‚81¢XDEF…CRASHSAV‚82¢XDEF…CTRLREG‚83¢XDEF…CURR_ASN‚84¢XDEF…CURR451‚85¢XDEF…CURRSD‚86¢XDEF…DACTBL ‚87¢XDEF…DATE‚88¢XDEF…DBUFSZ‚89¢XDEF…DCOTBL‚90¢XDEF…DPRVAO‚91¢XDEF…ENDSYSP‚92¢XDEF…EXCSTACK‚93¢XDEF…FC_TABLE‚94¢XDEF…FQBCNT‚95¢XDEF…FQLWM‚96¢XDEF…FREEQHD‚97¢XDEF…FREEQND‚98¢XDEF…FRST451‚99¢XDEF…GSTBEG 100¢XDEF…INPTBL 101¢XDEF…IOVCTBGN 102¢XDEF…LAM 103¢XDEF…LAST451 104¢XDEF…LAST_MMU_INT_LEVEL 105¢XDEF…LCTBEG 106¢XDEF…MACSTRC 107¢XDEF…MAPBEG 108¢XDEF…MEMOFF 109¢XDEF…MIDNIGHT 110¢XDEF…MMUHERE 111¢XDEF…MMULOAD 112¢XDEF…NATBEG 113¢XDEF…NNTBEG 114¢XDEF…NOTLAM 115¢XDEF…NSE 116¢XDEF…NWDQHD 117¢XDEF…NWPSEG 118¢XDEF…NWSTATUS 119¢XDEF…NWTSEG 120¢XDEF…PANEL 121¢XDEF…PATBEG 122¢XDEF…PERTURB_FLAG 123¢XDEF…PREEMPT_FLAG 124¢XDEF…PTMADDR 125¢XDEF…RAD1TBL 126¢XDEF…READYHD 127¢XDEF…RIOTBL 128¢XDEF…RUNNER QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ3   129¢XDEF…SDEFTYP 130¢XDEF…SDLCPCB 131¢XDEF…SEMCCB 132¢XDEF…SEMEND 133¢XDEF…SEMGST 134¢XDEF…SEMLIST 135¢XDEF…SEMTCB 136¢XDEF…SEMTIOT 137¢XDEF…SEMUST 138¢XDEF…SLFTSTA7 139¢XDEF…SPURCNT 140¢XDEF…SPURTIME 141¢XDEF…SUPERMMU 142¢XDEF…SYSPAR 143¢XDEF…SYSPOFF 144¢XDEF…TCBHD 145¢XDEF…TDEFTYP 146¢XDEF…TIAT 147¢XDEF…TIME_LEFT 148¢XDEF…TIMEOUT 149¢XDEF…TIMESLIC 150¢XDEF…TIMINTV 151¢XDEF…TIMINTV4 152¢XDEF…TIMINTR 153¢XDEF…TINTFLAG 154¢XDEF…TIOT 155¢XDEF…TRACEBEG 156¢XDEF…TRACFLAG 157¢XDEF…TRP15TYP 158¢XDEF…UDEFTYP 159¢XDEF…UDRBEG 160¢XDEF…USERQHD 161¢XDEF…USERQND 162¢XDEF…USTBEG 163¢XDEF…V2RQHD 164¢XDEF…VCTUBGN QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ4   166™* 167™*‚MACROS 168™*1 169™LONGWORD MACRO„Put offset on 4 byte boundary 170¢DS.W…0 171¢IFNE…*/4*4-* 172¢DS.W…1 173¢ENDC 174¢ENDM 1751 176™BOUND16‚MACRO„Put offset on 16 byte boundary 177¢LONGWORD 178¢IFNE…*/16*16-* 179¢DS.L…1 180¢IFNE…*/16*16-* 181¢DS.L…1 182¢IFNE…*/16*16-* 183¢DS.L…1 184¢ENDC 185¢ENDC 186¢ENDC 187¢ENDM 188 QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ5   190™*J 191™*‚First define the location of the 'crash save area,' the place whereI 192™*‚the KILLER module will save the processor's registers, etc. in the 193™*‚event of a system crash. 194™* 195Œ00004000…CRASHSAV EQU†$4000 196 197 198™*J 199™*‚Now define the structure of the 'system parameters area' to all theI 200™*‚various RMS68K modules.‚Note that we are not actually defining anyJ 201™*‚stora2 ge here--this is just a big offset block which will define theG 202™*‚locations of the parameters.‚Initialization of the parameters is6 203™*‚handled by the RMS68K initializer at boot time. 204™* 205¢OFFSETƒ$4400 206Œ00004400…SYSPARƒEQU†* 2079 208ƒ00004400 00000004…MAPBEGƒDS.L…1•POINTS TO MEMORY MAP 209* 210ƒ00004404 00000002…PERTURB_FLAG DS.W 1' 211Œ00004404…BKG_FLAG EQU†PERTURB_FLAG- 212Œ00004405…PREEMPT_FLAG EQU‚PERTURB_FLAG+1 213 214ƒ00004406 00000002ŽDS.W…1 215< 216ƒ00004408 00000004…EXCSTACK DS.L…1•ADDRESS OF EXEC STACK 217; 218ƒ0000440C 00000004…RUNNERƒDS.L…1•ADDRESS OF RUNNING TCB 219G 220ƒ00004410 00000004…TCBHD„DS.L…1•POINTS TO FIRST TCB IN ALL-TCB LIST 221G 222ƒ00004414 00000004…READYHD‚DS.L…1•POINTS TO FIRST TCB IN READY LIST 223I 224ƒ00004418 00000004…CCBHD„DS.L…1•POINTS TO FIRST CHANNEL CONTROL BLOCK 225Q 226ƒ0000441C 00000004…MMUHERE‚DS.L…1•HOLDS ADDRESS OF MMU HARDWARE IN MEMORY MAP 227B 228ƒ00004420 00000004…GSTBEGƒDS.L…1•START OF GLOBAL SEGMENT TABLE 229B 230ƒ00004424 00000004…USTBEGƒDS.L…1•START OF USER SEMAPHORE TABLE 231L 232ƒ00004428 00000004…UDRBEGƒDS.L…1•Pointer to User Defined Directive Table 233G 234ƒ0000442C 00000004…PATBEGƒDS.L…1•START OF PERIODIC ACTIVATION TABLE 235B 236ƒ00004430 00000004…TRACEBEG DS.L…1•START OF SYSTEM TRACE TABLE 2379 238ƒ00004434 00000002…TRACFLAG DS.W…1•SYSTEM TRACE FLAGS 239C 240ƒ00004436 00000004…MACSTRC‚DS.L…1•MACSBUG TRACE ROUTINE ADDRESS 2417 242ƒ0000443A 00000004…PANEL„DS.L…1•FRONT PANEL ADDRESS 243™* 244™*„TIMER PARAMETERS 245™* 246™* 247 QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ6  / 248ƒ0000443E 00000004…DATE…DS.L…1•ORDINAL DATE 249O 250ƒ00004442 00000004…PTMADDR‚DS.L…1•ADDRESS USED TO ACCESS PROGRAMMABLE TIMER 251= 252ƒ00004446 00000002…TIMEOUT‚DS.W…1•TIMER INTERRUPT COUNTER 253Y 254ƒ00004448 00000002…TIMESLIC DS.W…1•NUMBER OF TIMER INTERRUPTS BEFORE TASK INTERRUPTED 255D 256ƒ0000444A 00000004…NSE†DS.L…1•ms value of next significant event 257M 258ƒ0000444E 00000004…TIME_LEFT DS.L„1•ms value until next significant event 259D 260ƒ00004452 00000004…MIDNIGHT DS.L…1•ms value of previous midnight 261J 262ƒ00004456 00000002…TIMINTV‚DS.W…1•# MILLISECS BETWEEN TIMER INTERRUPTS 2632 264ƒ00004458 00000002…TIMINTV4 DS.W…1•TIMINTV*4-1 265N 266ƒ0000445A 00000002…TIMINTR‚DS.W…1•Holds usec remainder for odd clock rates 267; 268ƒ0000445C 00000001…TINTFLAG DS.B…1•TIMER INTERRUPT FLAG 269N 270ƒ0000445D 00000001…TMSGFLAG DS.B…1•FLAG - MESSAGE SENT DURING I/O HANDLING 271B 272ƒ0000445E 00000002…SPURCNT‚DS.W…1•COUNT OF SPURIOUS INTERRUPTS 273P 274ƒ00004460 00000004…SPURTIME DS.L…1•TIME THAT 1ST SPURIOUS INTERRUPT OCCURRED 275B 276ƒ00004464 00000004…MMULOAD‚DS.L…1•MMU LOADED FROM THIS ADDRESS 277? 278ƒ00004468 00000004…VCTUBGN‚DS.L…1•START OF VECTOR USE TABLE 279G 280ƒ0000446C 00000004…IOVCTBGN DS.L…1•START OF VECTOR ASSIGNMENT TABLE 281C 282ƒ00004470 00000001…ADEFTYP‚DS.B…1•DEFAULT MEMORY TYPE FOR ASQ'S 283C 284ƒ00004471 00000001…TDEFTYP‚DS.B…1•DEFAULT MEMORY TYPE FOR TCB'S 285U 286ƒ00004472 00000002…SDEFTYP‚DS.B…2•DEFAULT MEMORY TYPE FOR SYSTEM TASKS(RO AND RW) 287S 288ƒ00004474 00000002…UDEFTYP‚DS.B…2•DEFAULT MEMORY TYPE FOR USER TASKS(RO AND RW) 289; 290ƒ00004476 00000004…SLFTSTA7 DS.L…1•SAVE A7 FOR SELFTEST 291™* 292™*ŒEXEC SEMAPHORES 293™*1 294Œ0000447A…SEMLIST‚EQU†*•SEMAPHORES BEGIN HERE 2951 296ƒ0000447A 00000006…SEMTCBƒDS.W…3•ALL TCB LIST 2979 298ƒ00004480 00000006…SEMGSTƒDS.W…3•GLOBAL SEGMENT TABLE 2999 300ƒ00004486 00000006…SEMUSTƒDS.W…3•USER SEMAPHORE TABLE 3012 302ƒ0000448C 00000006…SEMCCBƒDS.W…3•CCB SEMAPHORE 303A 304ƒ00004492 00000006…SEMTIOT‚DS.W…3•TRAP INSTR ALLOCATION TABLE 305 QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ7  6 306Œ00004498…SEMENDƒEQU†*•PREVIOUS WAS LAST SEMAPHORE 307™*0 308™*…TIAT -- TRAP INSTRUCTION ALLOCATION2  TABLE+ 309™*…TIOT -- TRAP INSTRUCTION OWNER TABLE 310™*# 311ƒ00004498 00000010…TIAT…DS.B…16 312 313Œ000044A8…TIOT…EQU†*% 314ƒ000044A8 00000160ŽDS.B…16*TIOTEL 315™*- 316™*‚Parameters relating to the background. 317™*. 318™*£Pointer to the first entry (BAB) in theQ 319ƒ00004608 00000004…BKG_HEAD DS.L…1•background queue; 0 if the queue is empty. 320- 321™*£Pointer to the last entry (BAB) in theR 322ƒ0000460C 00000004…BKG_TAIL DS.L…1•background queue; points to BKG_HEAD if the 323™*§queue is empty. 324+ 325™*£This flag is true (nonzero) when the? 326ƒ00004610 00000001…BKG_ACTIVE DS.Bƒ1•background is running. 327 328™* 329™*> 330ƒ00004611 00000001…CURR_ASN DS.B…1•Only upper byte is used 331™*1 332™*ˆPOINTERS USED BY SDLC AND NETWORK SERVICES 333™*< 334ƒ00004612 00000004…FREEQHD‚DS.L…1•Free Buffer Queue Head 335@ 336ƒ00004616 00000002…DBUFSZƒDS.W…1•Size of data area in buffer 337= 338ƒ00004618 00000002…FQLWM„DS.W…1•Free Queue Low Water Mark 339D 340ƒ0000461A 00000002…FQBCNTƒDS.W…1•Free Queue Current Buffer Count 341< 342ƒ0000461C 00000004…USERQHD‚DS.L…1•User Buffer Queue Head 343; 344ƒ00004620 00000004…USERQND‚DS.L…1•User Buffer Queue End 345F 346ƒ00004624 00000004…SDLCPCB‚DS.L…1•Pointer to Primary Control Block 347B 348ƒ00004628 00000004…NNTBEGƒDS.L…1•Pointer to Network Name Table 349E 350ƒ0000462C 00000004…NATBEGƒDS.L…1•Pointer to Network Address Table 351E 352ƒ00004630 00000004…LCTBEGƒDS.L…1•Pointer to Logical Connect Table 353H 354ƒ00004634 00000004…NWPSEGƒDS.L…1•Limits of Network Procedure Segment 355D 356ƒ00004638 00000004…NWTSEGƒDS.L…1•Limits of Network Table Segment 357L 358ƒ0000463C 00000004…NWDQHDƒDS.L…1•Disconnect (task terminated) Queue Head 359A 360ƒ00004640 00000004…NWSTATUS DS.L…1•Network Status (-1 = dead) 361G 362ƒ00004644 00000004…V2RQHDƒDS.L…1•Requests for action by VM02 system 363 QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ8  = 364ƒ00004648 00000004…MEMOFFƒDS.L…1•VM02 Board memory offset 365= 366ƒ0000464C 00000004…SYSPOFF‚DS.L…1•VM02 SYSPAR area offset 367™*( 368™*ˆPointers used by IO Drivers, etc. 369™*`I8R5Z8b)F 370ƒ00004650 00000004…CTRLREG‚DS.L…1•Pointer to VM02 Control Register 371L 372ƒ00004654 00000004…DPRVAOƒDS.L…1•Dual-ported RAM VERSAdos address offset 373J 374ƒ00004658 00000004…RAD1TBL‚DS.L…1•Pointer to table used by RAD1 driver 375@ 376ƒ0000465C 00000004…RIOTBLƒDS.L…1•Pointer to RIO driver table 377@ 378ƒ00004660 00000004…DCOTBLƒDS.L…1•Pointer to DCO driver table 379@ 380ƒ00004664 00000004…ACOTBLƒDS.L…1•Pointer to ACO driver table 381M 382ƒ00004668 00000004…INPTBLƒDS.L…1•Address of interrupt Queue Control Table" 383™*™for the VME 610/620 driver. 384A 385ƒ0000466C 00000004…DACTBLƒDS.L…1•MVME605 driver table address 386™* 387™*‰SDLC/NTS Free Queue End 388™*B 389ƒ00004670 00000004…FREEQND‚DS.L…1•Pointer to end of free queue 390™*, 391™*‰Parameters relating to address spaces 392™*S 393ƒ00004674 00000004…ASNTBLƒDS.L…1•Pointer to table of task address space numbers 394H 395ƒ00004678 00000004…NOTLAMƒDS.L…1•(Pagesize-1) for segment allocation 396D 397ƒ0000467C 00000004…LAM†DS.L…1•(68451 logical address mask) * 256 398< 399ƒ00004680 00000004…FRST451‚DS.L…1•Address of first 68451 400; 401ƒ00004684 00000004…LAST451‚DS.L…1•Address of last 68451 402Q 403ƒ00004688 00000004…CURR451‚DS.L…1•Address of 68451 to next check for swapping 404P 405ƒ0000468C 00000004…CURRSDƒDS.L…1•Segment descriptor in CURR451 to next check 406™* 407™*% 408™*‚Parameters for flushing cache. 409™*I 410ƒ00004690 00000004…CFLUSHƒDS.L…1•Address for flushing cache (VME120). 411™*Ÿif 3 ((CFLUSH) = F_BANK1) 412™*Ÿthen (flush bank 1 only);# 413™*Ÿelse if ((CFLUSH) = F_BANK2) 414™*Ÿthen (flush bank 2 only);! 415™*Ÿelse if ((CFLUSH) = F_ALL)" 416™*Ÿthen (flush banks 1 and 2); 417Y 418ƒ00004694 00000002…LAST_MMU_INT_LEVEL DS.W 1On systems using the 68451 MMU, we store+ 419™*§here the interrupt level of the last+ 420™*§bus error which resulted in the load, 421™*§of a segment descriptor.‚See LOADMMU. QMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGEƒ9   422 423™* 424™*G 425™*ˆParameters involving the firmware debugger's TRAP #15 capabilityM 426ƒ00004696 00000004…BUGTRP15 DS.L…1•Address of debugger's TRAP #15 routine 427™*F 428ƒ0000469A 00000004…TRP15TYP DS.L…1•Type of TRAP #15 I/O supported., 429™*œBit 0 set = primary TRAP #15 support.. 430™*œBit 2 set = alternate TRAP #15 support. 431™*U 432ƒ0000469E 00000008…SUPERMMU DS.L…2•For systems with the MMB851 or M68851 we store0 433™*œhere an 8 byte descriptor to point to the 434™*œsupervisor tree. 435ƒ000046A6—BOUND16R 436ƒ000046B0 00000040…FC_TABLE DS.L…16”For systems with the MMB851, we store here) 437™*œthe function code table containing 438™*œ8‚slots.6 439™*œSlots‚1 and 2 each contain an 8 byte descriptor+ 440™*œpointing to a‚user translation tree.6 441™*œSlots 5 and‚6 each‚contain an 8 byte descriptor1 442™*œpointing to a supervisor translation tree. 443Œ000046F0…ENDSYSP‚EQU†* 444¢END ****** TOTAL ERRORS†0--****** TOTAL WARNINGS„0-- RMotorola M68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGE‚10  SYMBOL TABLE LISTING  -SYMBOL NAME…SECTƒVALUE‡SYMBOL NAME…SECTƒVALUE  +ACOTBL…XDEF‡00004664…PERTURB_ƒXDEF‡00004404,ADEFTYP„XDEF‡00004470…PREEMPT_ƒXDEF‡00004405*ASNTBL…XDEF‡00004674…PTMADDR„XDEF‡00004442,BKG_ACTIƒXDEF‡00004610…RAD1TBL„XDEF‡00004658,BKG_FLAGƒXDEF‡00004404…READYHD„XDEF‡00004414+BKG_HEADƒXDEF‡00004608…RIOTBL…XDEF‡0000465C+BKG_TAILƒXDEF‡0000460C…RUNNER…XDEF‡0000440C$BOUND16„MACRƒ*SDEFTYP„XDEF‡00004472,BUGTRP15ƒXDEF‡00004696…SDLCPCB„XDEF‡00004624(CCBHD†XDEF‡00004418…SEMCCB…XDEF‡0000448C)CFLUSH…XDEF‡00004690…SEMEND…XDEF‡00004498+CRASHSAVƒXDEF‡00004000…SEMGST…XDEF‡00004480+CTRLREG„XDEF‡00004650…SEMLIST„XDEF‡0000447A*CURR451„XDEF‡00004688…SEMTCB…XDEF‡0000447A*CURRSD…XDEF‡0000468C…SEMTIOT„XDEF‡00004492+CURR_ASNƒXDEF‡00004611…SEMUST…XDEF‡00004486+DACTBL…XDEF‡0000466C…SLFTSTA7ƒXDEF‡00004476(DATE‡XDEF‡0000443E…SPURCNT„XDEF‡0000445E+DBUFSZ…XDEF‡00004616…SPURTIMEƒXDEF‡00004460+DCOTBL…XDEF‡00004660…SUPERMMUƒXDEF‡0000469E)DPRVAO…XDEF‡00004654…SYSPAR…XDEF‡00004400+ENDSYSP„XDEF‡000046F0…SYSPOFF„XDEF‡0000464C*EXCSTACKƒXDEF‡00004408…TCBHD†XDEF‡00004410,FC_TABLEƒXDEF‡000046B0…TDEFTYP„XDEF‡00004471'FQBCNT…XDEF‡0000461A…TIAT‡XDEF‡00004498)FQLWM†XDEF‡00004618…TIMEOUT„XDEF‡00004446,FREEQHD„XDEF‡00004612…TIMESLICƒXDEF‡00004448,FREEQND„XDEF‡00004670…TIME_LEFƒXDEF‡0000444E+FRST451„XDEF‡00004680…TIMINTR„XDEF‡0000445A*GSTBEG…XDEF‡00004420…TIMINTV„XDEF‡00004456+INPTBL…XDEF‡00004668…TIMINTV4ƒXDEF‡00004458-IOVCTBGNƒXDEF‡0000446C…TINTFLAGƒXDEF‡0000445C$LAMˆXDEF‡0000467C…TIOT‡XDEF‡000044A8'LAST451„XDEF‡00004684…TIOTADDRŽ0000000E&LAST_MMUƒXDEF‡00004694…TIOTEL00000016&LCTBEG…XDEF‡00004630…TIOTMCNTŽ00000012!LONGWORDƒMACRƒ*TIOTPBSZŽ00000015&MACSTRC„XDEF‡00004436…TIOTSEM00000008&MAPBEG…XDEF‡00004400…TIOTSESSŽ00000004&MEMOFF…XDEF‡00004648…TIOTSTATŽ00000014'MIDNIGHTƒXDEF‡00004452…TIOTTCB00000000'MMUHERE„XDEF‡0000441C…TMSGFLAGŽ0000445D,MMULOAD„XDEF‡00004464…TRACEBEGƒXDEF‡00004430+NATBEG…XDEF‡0000462C…TRACFLAGƒXDEF‡00004434+NNTBEG…XDEF‡00004628…TRP15TYPƒXDEF‡0000469A*NOTLAM…XDEF‡00004678…UDEFTYP„XDEF‡00004474&NSEˆXDEF‡0000444A…UDRBEG…XDEF‡00004428*NWDQHD…XDEF‡0000463C…USERQHD„XDEF‡0000461C*NWPSEG…XDEF‡00004634…USERQND„XDEF‡00004620+NWSTATUSƒXDEF‡00004640…USTBEG…XDEF‡00004424)NWTSEG…XDEF‡00004638…V2RQHD…XDEF‡00004644)PANEL†XDEF‡0000443A…VCTUBGN„XDEF‡00004468 RMotorola M3 68000 ASM Version‚1.90 SYS :9999.ˆ.XSYSPAR .AG 01/27/86 18:18:04ŖPAGE‚11  PATBEG…XDEF‡0000442C  NRMS 0’’’’’€RMS00€RMS20Y’’’’00’00Y’’’’’a"aL`ąN¹0€DUMY"xD,|$iµüfaœ¢|`J#R|ų’B’BŖ%|’’’BŖ Gś’Č%KBj%|’’’ž5|ų’|&i “g&S`ō&Š|ų’Ns!VCT0¾VE0üVE0žVE0BT0VE 0VE 0 VE 0 VE 0¾RA 0NRA0¾VE0)RA0¾VE 0/vVE!00(BT"/0 ŠVE00€VE10‚VE20„VE30†VE40ˆVE50ŠVE60ŒRA7?0¾VEA0 œVEB0.¾VEC0XNRADF0¾VEG0NRAHI0¾VEJ0NRAK’0¾ETETETET/ @ē|JčfB"xF "ˆ!ČF PųDFß"_NuJųFfDHē’žAųF@ē| g$"@ ‘f!ČF |ų’$iQéN’AųF| fÜQųFQųDFßLß’NuPųFNQųFJ8Df¤Nu/NzĄN{N{NqN{ Nu/NzĄN{N{NqN{ Nu+lZ`¤@ē*j-,g|$©#JF×`tŖ>*g4gRjĒ fX g­,fķ-`­ ,g` B­`­,AÕaœf|$©#JF×`$* |a(F×FßNuHēAp@ē|a>$8D>&68D@FßHC(HD4<  g 4<8***HB g2Hēz,* m0a`NqLß8`Lßp&*HC6‚€4*AÕapNqLß‚R`’X?5|$* *g |a„` |$©#J"*0<@ĀÄjFĀ&jNÓ8D4ga1čī`*_ap _N`Lß’\|JxDfNsj?_f ażŠJ8DfNs?_'fö/,xD Hī?’L× NiHī8J®g n$hN’ (g @`š`Ø@ē8 D4ga1fī Hē’žNi/ /9Dd oF,hHV/(@Ą@’?"h 0P*n0`Ź f’XP,_( „!TCBga05J@g’. @f AÖaIf`’ @f’Jf&HC4<HBAÖaNq`žüHBHA(&64< ‚HB4`ąāˆ&T(,_" !TCBgaʐ6Cš=CfAÖaIJ®:gžø$< ’’HCHD6`¢- ,g TJ­g 40, "m°i g ")g *"A`īB…:) 2XE&LaAź&F+[ZCé SAŪQÉ’ü` ’J­g ģ0, "m°i g ")g ā"A`īB…:) 2ZE&LaA¢&F&ķZAé SAŲQÉ’üAé Ńé 2Jf6¼` k6¼`6¼` *NONEHdløNONENONENONENONECč Ņč $IóJ)gņ"¼ņ"ą’NuCč $IŅč óQJ)gņŠ’ņœNuL¬Ąa``’ D`’ – Gm GopT—NuHG>HGf0 GnčGś’D& ( B€0Ąü ץ “NONEgĪ:+<+ Ö“Ų«` LėL«` 2ŅEA ąARAB€8DqH@0 @aä`pT—Nu&H ķ@S@B˜QČ’ü&¼XTCB7G 'B7E 7FHGg 'C'D`0"$z,Aī0a(`Nq`6'Fz,Aī0a`Nq` 'FJ­f '|`'m+KNup T—Nu*n0., AÕaČ`` č5įN80@0f(2, A0gŒA g f .(f ` ¼` Š` Ø,g†, gĘ"$. uPaŽ` ±üf` l` ląN5@!uP ‚1A1| Bƒ&5PÖµP !C &5P–µPą‹Rƒ!C3@1| , gč ` °$M*)g a ` ž$LŖ ,$< 4*&*(*8<Aź>a @Nq(JŖ)Ŗ@BŖFBŖZŖ ,gAŅa¾Nu-@L× NiHī8J®g n$hN’ (g @`šAÖaŒ.xD|ų’MųD|"N ) gģ,@.,fš#n ®-!ĪD /.D/.@QųD1ųDHDFpąĄ.-f„|ų’*n0aJ®g n$hN’ (g @`š n<€™AÖaF܇(F9n@’ś)nB’ü-'fLī’Hģ’’¾Lī0Hģ’ī -/@-@B`žč*n0ač n)gL,,Jm g8¼•f4- f,­ Jm f 0-@ fB"- m aP`a Ŗ1”ŪüSGføNuEųDØĒģs,)gĒ`"ĀüEųDØ(NGs*r»ĪgŠ-(f ,°­f¼$<‡42&26,(gĆ,)gĆįK,$( *,,,p<,.,>, ,"0<2 gB@2g<,*.,(>,°H@0,²H@"@J²f -:g4&@4+4 HC6+HCAņa²J²gHē@(AÕaĀ`Lß ra@,sf`dLß,sņ Rrģ ,NuĒ1G*č)!|EXEC°!| “<(,Ę1F.g!hō81hų@!hśB½Čg$F-’† g†1F,|š& fa¶Nu1F,X`Xa aaaaaaaaaa a aaaaNq?/_'g2/ gŠ/ /U€Hz’ްŸLßg ?<€Hz’°a d.¹F–Nu//N,yD Hī?’8 D4g @ēa(hŖTKś`€0 ĪXaJaa*8D]…šNh,œ… n0a 6`Nq`"(F CN`&8DUC _8ßæĆfś/?,’ś/<<`B† m n _-_ø-_¼/.)g  l".F`".Zg a* nnJfh nCųD˜ 1pfšaś˜`~JFfFL× NiHī8AÖaūŠ HzūśŸ`ō P` €0Ž`óü~$.FffffNLī?’,_` z,.N n0a B`Nq`&~ F&(.R·„f Č®Jg-CR`"R‡Č®Jgg°RnV .V°nVb ~aN`˜./,xD ½üg0/ f(.)g .F8gīF,_"ÆPųDNs,_"/8D6Nua^$< 4.&.(.8įL<Aī>aö`®)Lī’t®-@&Nuī ,X`öź .`p|JxDf Lī?ž,_Nsjöšaļ¢J8Dgč`öŒB®L× NiHī8J®g n$hN’ (g @`š`öŽp`Np`Jp`Fp`Bp`>p`:p`6p`2p `.p `*p `&p `"p `p`p`p`=@=|ēG` H@0<.H@ xDQˆYˆ.H|`’<"( Pa#Š` T—Nu !TCBfō*H(m: gź į˜€’gŽ@ē|2,$0{Nū€0000>>>>00006Š6Ź6Ŗ6ö6T6ZFßT—NuFßa~#±a-®``ź¬%FßaNu l` l 9A$Fßaą"HA fa+@AÕa ŲNua-b``ž9A$Fßa€a-Nua-B``’~9A$Fßa^a,ųNu9A$Fß l aV"HA fa*Ņa,ĢNu9A$Fß l a*"HA fa*¦a, Nug"2HA)A`6‚g "2HA)A`)l`‚gY@‚4&(*,. "JåHNūś`|NqNqNq ‚`~NqNq ‚/`hNqHŠ `lNqHŠ /`VHŠ`\NqHŠ/`FHŠ<`LNqHŠ, fz,, n0aś¢`Nq`ńÄ$F,gz,, m0aś‚``ń’., m0aö```ģ2B€ 0P, f8аP %@B€$°P0įH5@Ŗ 0P%@B€ 0P’%@ `šĢ-@ `šÄ@ē|"8DJ’øDN’øDRpFßNupšĄ($@&`h$&@ē|č-f6Hē@ EųD(&"* g ʰ*&cņÊ!A %H $xD °*&cPųDLßFßNu*N"(n: gH,'fDNj~,'f‡<.)f2*, n0ałl` Nq><€™L× NiHī8AÖaźJ`šX`š`&F`&J ‡oLŪ}Hī}LŪ|Hī| .‰0@’/gĄ?@/[ŌĒNb@ē|4,$4{ Nū >f–f>~–~0808080800000000Fßaõ($±Fß`ļZFßgļP)l"lJ)j)ia`ļdg B9B$Fß`ļg B9B$Fß`ļFßgīų l aRaø`ļ»Īg-,f `ļX`ļ@`ļ@., m0aō`īJEgę0, 2,A'’g gĮ`  gĮĮĮ B‡,,g  gB† ff-)f øDfĮ.8FxΆެŽøFxĪøF|ą†’’’"FffAųDrfRˆ-(fTˆ?AĒ’ G6a÷Ü`*TS€g`īf`īf2f"AÓaśD`aóž2¢`īV&H.*įg, "F m0a÷`Č`ĘJEgžŲ4!¬ P0, @O’ gĄąX€ įX¼ g¼  B!€PįŠ‡€!€P ‰B!€P š R(ĖHÅG8aö gaša.T`ķ¾ĮMÅG-K gį-G$T`ķ"., 8,(M¹Īg ,,f `ķ‚Nh)H<*l0AÕaņ@``ķ`.J¬:g ,$,2 uPańt`aņd39,(S†įŽÜµP+†PSh B†<(  g†1F aõ¼gaņ037JFf agaņ"3§aHLß’NuHēšą5pįˆ@ f*B€ 5PеP B"5P’µPą‰R @aųŠ` <LßNu°LßNuHēĄB€-S"ĄüP€Āüˆ+µP+µP+µP+µ P µpµpBµBµBµBµ B5B5S-LßNu*Na`ėŖ»Īgģa`ėž$-2, l ašX``ėö`ėź`ėž`ėę`ėś&H$m0.+AŅaš°`ęJEgŚB…*+į, gŗ¬d`ėŚ*,…’B$,,B, g,+ AŅaōz`œ`šJEfašÖ4:"%«P %†P܂†B%†PD€Š« %€P ¼+g¼6+ąKƒņR*ĖJĆG8<aōg až ÅMĆG`’2ÅMĆGRk -k  NuJøDvf|Hē’ž!ĻDvFļ<.xDv|9÷0 Ą÷0.xDvLß’’BøDvNsBG`><&,"xD$0ąH°i lLfF(ø±0f>Jq0 g8 10f ¾10g.‡0Jq0 j&10JGg Ań0a÷Ā`źAń0aųb`éś`źd`źhRxD^ xdD^k$/ "xD:3|3|53|.3|>"_BxD^NsJ”f>",g.(f".*xD»üg(²­f-(f ½Ķgķ-g:*m`ŲAŌa*`B® `éĢ*H½Ķg-(g .(f`éŹķ-fé“0,gĄķ);@*;m,.-m +n°+n“­ ,­-­ ,g2 m”@ē|JŠküCč’āJ© g»é g"i `ī#m RPFßm-’,|š&­ ,gķ-@ē|­-g <D @ ( g °fō!m AÕa÷žFß`čŒī)=H*fī*.(g2. (g*L× NiHī8J®g n$hN’ (g @`šaļø.-g^`tī)=l*fī*.(gŚ. (gŅL× NiHī8J®g n$hN’ (g @`šaķā.)f’f=H*=n,.ī--n°-n“L× NiHī8J®g n$hN’ (g @`š(N"xD,Eé&J@ē| g$@¹źfaėŽ`&J `źB¬`Fß,)ga(&,(,ģ)"xD)-f2ø©f¬),)g) ,g¶©>fø©Bf ><@AŃaįd"i f¾,)gaŻdNqaP,)ga˜~CųD˜EųDØ"Āü 1pf2g/aßī., ,gaō@R‡ ‡oÄačaß6J¬gH4<HB4,&,8,HD8,°*,²<,¶HF<<.,*>,,)g<<$LAģaē&Nq(JCųD )g¹Ąg"@`ņ#laļBøD J¬gL",gF&A"+)A"+"AÓaņx`ā,LL× NiHī5 8J®g n$hN’ (g @`šaėŖ@¦rAŌaņ@`,LL× NiHī8aėŒ@„`ę&M*n0., AÕaźž``ę&J®:gNh B°µPe°µPcę ·Īgåģ"E$L.* k0aźĘ`J…f`åŚ`åŚ* ,**fB†,5P* gܵP B€ 5PµP$€*.aīŽ` ` J…f aźź5:`å¢"( ԁ!P!‚P’µ@DŅµ@ !P !µ@P5pįK*gƒ* gĆĆąKƒ¼įKg¼ĖHĮG/8<aī g (aųœĖH`å,(ĖHĮGB5@ÉEaķągaźT58aųzĖDR("0PҰP -A  g&$.“«g pP"(Kaé*`aź59&L$+ ‚`äLHēĄĄ xDB|$ @ē|B28DV“øDNFßJøDNn"xD,AéCśŸ €+caé6‘Š€0;6Nū2// +bҁ4; Aū ±ü0€f @gTÆ$"NuźŖššńœņ¤ģžļ˜źč€ģčźŖäVŲš¾źŖźŖźŖźŖźŖźŖźŖBääźŖģ”źŖņvźŖźŖÄź°źŖę@’ŠŅŅÓBÕļ¦ģŒģŒźfčų?_'fD|/,xD Hī?’.)g.å@k. @,b,(H$;,j g*@ •!TCBg`āś*NNū `Õ `:`®`āÜāŚĄó˜ĄõdĄüĄ@öŌĄöÜĄø@×ųųĄń$@œ@ ĄŹ@ „łśśž@ ųĘ6Ą†RĄ†~|Ą@Ą Ā@–@$ü@8 ĄZĄTĄ ä øŒŅĄ ŗšņ8 ü@€ĄÖÜ@ Ä@ ų*@ ų&@ š@ ¾āŚāŚ@śPāŚ@>H‚Ą ōāŚāŚāŚ@ŚąÄĄt@ ’Ą ŅŲĄ&ĄŲÖĄ  Ą ŌĄ Ą šĄÕ¢ĄÕō@²@D@śd8D4gaņ’.)g".Fg~aąŽå@kN @,bDGśžž$3g2*HE…’, n0aź\`Nq`įV(FgAŌa ``įF*HNó `į4$xD($ gōä@D@°jnźS@Ąü EņJŖgŚ4*‚f"²®fČ-W8BnH?Hz @ē$jNŅ0.Hfį40gą† @fAÖaļę`ąžIė’ž6<€a&NuT—Nu&LLģpHF>,6.(Ba ``ąņ`ąFAÓaņ``pT—NuB€8DqH@0< @aéź`pT—Nu*H4<B˜QŹ’ü+S +fgJ€f `<.p .;Fp+@aŠ€fD’;D(+El+EB;|„FHD0ąHgfJgø.%c.%D%°c@$@&*¼!TCB|€,;|4;|J$MÕü`+J0$¼!TST0<@ xD -"-±üg"°Øf²Øg h`ęrAÕaė”NqpT—Nuačz`pT—Nu+xD!ĶDNufg2 .".` ", , g.(g Jg` .".+@+ANu,,`"-0g*,,, Aač``Nq`ß2..)g , g @ !TCBg` Aģ a>``Žō N.(f ((g`Žę"(0g*,,, Aaēø``Nq`ŽŲHz’œ?,až4+mlB<-(F€gfz,-B m0aę€`NqFß`Ż +FBĖH:<><ˆ5pg(aęJg`Ż€"5P ÓµPÓµPBµP 8<aę:g`Żb…T‡ EˆeĀĖHBm., gGģLŪ’Hķ’LŪHķ |­,0-,@ßfF×AÕaėöFß`܊-n Tī)`Üz-n Xī)`Üj-n \ī (`ÜZHēĄ@ē&xD0|*S»ėfKėIķ&ŒFß+@+H+N (o:”TÆ;o+o Uļ’b+o aėD+A2<ł’ąHF@@ĄüśŅ@;ALß8NuB‚BƒB"xD$( gd4)“i gRB(pJq fJƒf:& „g04)`*±üg±ńf$lµńf$lµńg"Jq k"€SDf²T—JƒfB€B‚Nu Nu qNu gJg` N".Nu gō"(g.(f".°®f²®gÖ xD±üg°Øf²Øg* h`ęJf @Hz?,--gG’g­-g- ,gSs­-f­ ,Ss3g³ gAóaębgl A g+l  g+l  g- ,fAÕaē,`×Ā g ķ,`ײ gŲķ ,`×¢J­:fŲB‚,gfŲB‡, g*,, m0aąÄ`Nq`×ęfןB†&, $‚0¶‚l&ƒ’ą‹HC8DpHC Caąų``מ ¼!ASQ!l!F Gč,!K!K!K 1G(įŠŌˆX‡”‡!BBƒ,481B&;01B$Bh*+H:`ÖŌ $L(m: gb.)g@"j B€ cPrĀ fY fP@R@€°l(b0@ē|4,$6{ (Nū°$z,* n0aßÄ`Nq`Öę"F`Ŗ`Ö¾`Öź0000>>>>00006„6Ŗ6Č6ģ6^6dFß`Ö¬FßaŪÜ ±aČa`Fß`Öp5 ¬%FßaÖ`Õś l` l B9B$FßaąAÕaå>`ÕŌa‚aĀ``ø9B$Fßa€ax`Õ®9B$Fß l a†aZ`Րa>a€``’v9B$Fßa8¬8>t¬š8888888800000000FßaŁō!±Fß`Ō¦B9B$Fß.)fB…:,(, n0aŻ^`Nq`Ō€ Faj`Óö.)fB…:,(, n0aŻ6`NqFß`Ō F)HB(9B$Fß`ÓęB9B$Fß l a`Ó¦)l"lJ)j)i"lB€gX‰Y@ĄĮU@äHd0Ł` ŁQČ’ü@ē|³ģe"l)ISl*fģ%Fß faNu$h’ģ-)f!j’ģ(’źf`B(’’gX,(’śfF0,(@gDAl |’žŅ@A’’*)g"FäId0Ł` ŁQÉ’üNu/* j0aÜ&`Nq _1|’ž`ä1|’ž`Ü _`Č*N(n: g@ē|4,$4{ Nū `Ņö>hŠ’>hŠ’8888888800000000FßaŲ"±Fß`ŅŠFß.)fB…:,(, n0aŪ”``Ņø Faž¢`Ņ,Fß.)fz, n0aŪn``Ų FBP`Ņ Fß l `ĪFß l `źa`Ńō*N(n: gŅJ @g ,'fŅ@g ,'gŅ@@ē|.-g€ćH,%gĄ;T€f9@$FßNu€f&9@$Fß)l"lJ)j)ia0X`ь9@$Fß l aż²aX`Ńt  €ˆÄĢ­ ,@ē| -`gaśFß»ųD fPųDAÕaązķ-Nu/ l ",’ˆg b*Ј°¬d)@ ˆRl*"Nu)l `īJl*gÜTÆ`č²€köѬ `Ś~HG`B‡*LB® B†- g"m nJ‡g-g`Ń&`Ń`ŠöB‡(N Uaō `J€fR`ŠŽ-@ J‡gJ gŲ&¼10f6Jq0 l 10`ź‡0J10k‡0`JgAń0aŽ–SGfō`ī)-@ &#®0#®0#ˆ0JAf@3¼0 †0‡03‡0B±03B Ff3¼0`“ Fg®J‡fŖB±03¼0 `’BĆC¼10f”J‡g †gF †fJ±0gh#ƒ3¼’’ †B13BRq0 J‡f’8 Ff\J±0fVAń0aŻ,`ĻpJ±0fžŚ-C #®0Rq0 ‡0`Ań0aݰJ10kņ‡0`-C #®0Rq0 J‡g`žŚ`Ϥ`Ļ"NzĄN{N{NqN{`Ļa`Ļ*$ ‚&\c$<&\"xD,Eé&J@ē| g$@½źf ŖfaÓ,`&J `ąF×|.-f* )g($@#RF×%NBj%|!DLY-J`|aҜFßNuFß`Īäa’z .:g(@,'f0|,%gTHaüf@ē|®-g .`g*NaFß`Ī:ī,Fß`ĪVHē@p$@"xD,GéµÓg&S`ųaŅxLßB­`­,Nu" CųD˜ 1fĀüCųDØ$1“®g`ĪFf"Jńkś±1fBq±`Ͱń± gAńaŪž`Ķ–*L(N UańŖ``Ķōa`Ķ€(Na$`Ķv&"Jq l&1 1fJ1gAń0aŪ¶Jq jB±Bq B10 Sq0 `ąB10 10gzSq0 f$ 10fĄ10°10g“3¼0 B±0`Ŗ.10,10B„4)pJq l.¾±f(¼±f"JDg#„`(3±0 3±0#±0Bq0 €SBfĀ`TJ10j*q0^mHxAAń0aŚś`ā.10,104)pJq j¾±f¼±fBq B±€SBfÜBq0 B±0Nu,)g Aųašf`NuažĢ`ī$‚EųD˜ 2 f"ĀüCųDؽńfa`Ģ`Ģ~&xD+ ,g,“+sf&«-« ,'|ēJBB+AęJAÓaŪD&k fÄB2 B±B±Bq1g AńaŚ`īNuEųD˜CųDØt 2 f "Āü¹ńg R‚ ‚māNua’p`Ś-F+lF8-F-F`Ė`$M l", aļņ``Ėŗ*H*)fĖŖ»Źg.½Źg*,g".(f*(f m±źg -(f`Ė€$< 4*&*(*8<AÕaĖĘ``ĖNķ)ź)ź ,%m>%mB½ŹgŹģ`ŹĄ-)g( ->°®f -B°®f,+ n0aÓšNuNq`Ė`ĖaŁĘ 8D> &\e&\R€HŌ`Źl&L- ,gŹŚzJa’œ(FCķ0<"ÜQČ’ü+\B0-F+\F-Fų-F@A--gŹ +l’īō;l’śų+l’öś`Ź AÖaŁ^`Ź(­ ,gŹpAÕaŁ\`Éģ&L- ,gŹZza’(F--f­@`­ų+lN+lR+l J+lVBmV-F8-FJgF--fķ@`ķų.-Fg&z,-N m0aҼ`Nq`Éź†(Ff+TR­ ,0-,@’fAÕa؜`É2@ē$, 6,|B„g (,nFß`ɤB… g *,fĘaŲ:CĄg*B†6, gƒg“lJ„gŌ„`ō‚&\`6,$Ō„"xD,Eé|&J$S gĪ»źfš*fčJ†kŗŖfŽ&’ R±éf (ŃøDNŃøDJøDJ` *ŃØF×J†f2%M„%D %lBj%EĆ5C”|aĢRF×`‚RFCf* g0źŖźB‚Hē~|aĢFļLß~J†k’F`@|$©#JF×J†k’0`*J†f| )g $@#RF×`’`Fß`Č(SFnFß`Č&Fß`Dz&Lz`aüģ(FCķ0<(ŁQČ’ü(ķB8ķ@ -F€’’’(Ą(ķ,0-F@ų8Ą(ķN(ķR(ķJ(ķV--gĒ^)mō’Ų9mų’ä)mś’ą`ĒH>,.(f‡J”gz, n0aŠ€`Nq`Ē¢J®:gĒz,‚EųD˜J2 fĒl¼ EųDØÄü%Ž %® 5¼ B² %” Br 5‡ 2` ņ `ĘÄ.(f -(fĒ(,°-%cB® m%#`Ē@$@&`ʎ,*H"xD0 g i‘É*$ n0aĻČ`Nq`Ęź$F&äŠS‚$ŁQŹ’ü$F(M"xD0&Q—ÉŁĖ$ĢŪĆ$Ķ`ĘB.(f`ʬ@ē2<€t’aÉ2NqLÜ.<&\¾„b˜‡Rƒ`ö|!ĆD>&86 DJ–øDN–øDR–„×øDRøDRaFß`Åģ"8DR’øDJŅøDN&\"ABt’AśaČŠ`aĖ‚P{Nu@ē|RøD>ø&\DRa¾FßNs . €KŖ{ūfÅīJnpg xD:(fÅŚ xDUˆ, z n0aĪŹ`Nq`ÅĄ*FLī’N•,xD *n0aĪŽ`ÅPī ,`Ån-mp =m("--gÅ0`Ŧ.(gŘ*<,, n0aĪh`Nq`Ŋ,gŌ&Fp&ŻQČ’ü`Äš@ēJ”f8".*xD»üg0²­f-(f½Ķg--fķ,gJ*m`ŠAŌaé^` B® Fß`Äž*H--fģ½Ķg-(g.(fFß`Äņķ,gFß`ÄŲ;m,.-m |­-gCųD I"h ³üg ³Ķfī!i Fß`Ä4|®-fī,|ų’`ÄB|ų’AÖaÓv0.fgÄBnf`ÄØ Ma`Ćų@ē|Ø,f č-FßNu (`g"Hēp$@"xD,GéµÓg&S`ųaČ$BØ`LßFß0(fg1|1@|ABhfaŅžNu*N(n: g(,'f$@ē|.-f 4,$4{ Nū Fß`Ćd`ĆĀ`ĆŹP8|8P8|80808080800000000FßaČę%±ī , 9B$Fß`Ć49B$Fß)l"lJ)j)iańŖ`Ć9B$Fß l aļ&ańŒ`Āź..)f,fz n0aĖž`Nq`Āų F$H"*f`ĆAųDŒAųDŒaŠ *(SJ“fp a¦Gģ°¬fģ*,Ig°,(gp a† ¬g(l`š"SJ“gGé`ō j p(R@ @Hē€8aŹø` Lßpa’JLß"HķˆB˜S€nś*g)I&‰"¼!CCB*giHLź?Hé?))ąįˆ3@B@3@@GźIép)+g(Ū(ŪS`öB€*åˆ#@D&j ×Ó#K )’f#|0WP*géI*géH`R*fbB€*&xDhJ3g:(iD &TGė’¶*` &lJ¬g +*²n(K`ź¹Ąg #K)I`#K&iD3|N¹J#|0XLIéJ&ŒB€* xDh¼’ iŃč*I/N,_`ˆ`pp aųp aōpaš gLo opĮaÜ n0B€S&@B… f )e: )c )€e* )b".)f;°g,aȘ` Nq`š×ĖGū°ÖÓNÓ’ž ЦŽō *aĄfø © ©HfX")D(A&TGė’¶ `&lJ¬faĤ°3°‹g(K`č¹Įf$J«g&(k9|N¹J)|0XLIģJ&kD&Œ` )k`B)(&iDHz°R&Ÿ&xDhB3IųD &TJ”faÄB°4°‹gIė`ź(«AųDŒaĢĪ IraŹĀ`Baݤpaz&Iaų"Kfpal)Hgp‚a`)IgpƒaT)Ig .(gžz)Igp a6 )c )c )€e )c*g< * d pĘa¢`žj :#j `½ )AīPJg"P°©gAé `īF€NuXBAųDŒaʐ `¼ĪAųDŒaŹ‚`¼,m4B€-9f NpN@`F|q|ptAķp!­< g ­€pX‚€ ­8 T‚“-:cm:pLķ<pažNuHē`CķpB€ m"-+g|00J)fFÄ)fCéS`ā0))gJ0`(©0-&ЈfS€ˆ$J0U@lųB0 UBlų@Ą@FĄ-Hg Hē:a’ Lß\ųLß|NuLß|’žNuHē m4pN@`Lßx`LßxNu8D4g @ēaŽ īFßHē€Ä*oKķ’°"m/ N‘*_e -g*@`źLß#X|JxDfNs`¬ž8D5gaŽXīHē€Ä 8Dg*@ m ( g / @ēN°Fß*_ -`ąLß#|JxDfNs`¬T'TDTIVDOSEXAMPLE CFŃŃK  6  =OPTION K=/*=/*†OPTIONKmeans:-=/*DonottranslateLOWERcasetoUPPERcase =/*E=/*†ThisisaDEMONSTRATIONchainfilethatcanbeusedasanexample@=/*†inthecreationofaVERSAdosTableDrivenOperatingSystem.@=/*†TheaddresseschosenandtheimplementationsinvokedareforJ=/*†fordemonstrationpurposesonlyandinnowayarebindingontheuser.=/*A=/*†ThetargetsystemchosenforthisdemonstrationwastheVM04.=/* =/*†CHAININVOCATION=/*I=/*†Logontotargetvolume:usernumberwheretheSYSGENistobeexecutedC=/*†ExecutetheTDTIGEN1utilitytoestablishtheRESTOREA.CFfile.C=/*†Respondtopromptwith:9990.TDTIVDOS.EXAMPLE.CF=/*     =/*?=/*†Establishtheargumentsrequiredtotoa'COPYSGEN'forthe=/*†targetsystem.=/*=/@ &.RESTOREA.CF=ARG \5,\1,\2,Y =/*/=/*†Initiatea'COPYSGEN'forthetargetsystem=/*(=/@\1:9998.VM04.COPYSGEN.CF‚\1,\2,\3,\4 =/*@=/*†The'COPYSGEN'willdefineacatalogwhichwillbechangeto5=/*†the'null'catelogbythefollowing'USE'command=/*=/@ &.RESTOREA.CF =USE \1:\2.&     =/*!=/*†Modifythe&.CNFGTASK.CIfile=/*F=/*†Thiswillbeaccompolishedbyusing9998.TDTIMODI.CNFGTASK.CFfile=/* =/@ \5:9998.TDTIMODI.CNFGTASK.CF    =/*;=/*†EstablishtheargumentsdefinedbytheTDTIGEN1utility=/*=/@ &.RESTOREA.CF     =/*E=/*†Theusermustmodifyfiles&.INITDAT.AGand.CNFGDRVR.CIE=/*†tomeethissystemneeds.Fortheexamplechainfilepre-modifiedB=/*†filesexistinusernumber9990.ThesefileswillbecopiedtoE=/*†thevolume:usernumberwheretheSYSGENwilloccuroverlayingthe%=/*†filesthatcurrentlyexistthere.=/*6=COPY \5:9990.EXAMPLE.INITDAT.AG,\1:\2.&.INITDAT.AG;YC;=COPY \5:9990.EXAMPLE.CNFGDRVR.CI,\1:\2.VM04.CNFGDRVR.CI;YC     =/*E=/*†CopythefollowingfilestothetargetSYSGENvolume:usernumber:=/*=/*†9998.&.TDTI.CIÉVŅUŚbā?=/*†9998.&.TDTI.LG=/*†9998.&.TDTI.RO=/*†9998.TTSSA.TDTI.AG=/*†9998.&.TDTIVU.CI=/*†9998.&.TDTIRSL.CI=/*(=/*†usingthefile9998.TDTIMODI.COPY.CF=/*=/@ \5:9998.TDTIMODI.COPY.CF=/*B=/*†ModifytheTDTI.CIfiletoaccomodatethestart/endaddressof@=/*†theuserwrittenextensionofTDTIwhichwillbeattachedtoH=/*†TDTIasasegment.ThissegmentcontainsasaminimumthetasktableJ=/*†tobeprocessed.OptionalinformationsuchastheerrorhandlinglogicB=/*†non-standardusercode,theusersuppliednon-standardstartupC=/*†routine,andapplicationtaskmayalsoresideinthepartition.=/*F=/*†SincetheTDTIsystembeingcreatedisaVERSAdostype,theSYSGENG=/*†command'STATE'mustalsobemodifiedfrom'READ'to'DORM'because1=/*†theI/OinitializerwillstarttheTDTItask.=/* =E &.TDTI.CI F /AREASA/C /????????/F0000/ F /AREAEA/C /????????/F2FFF/F /READ/ C /READ/DORM/QUIT     =/*;=/*†EstablishtheargumentsdefinedbytheTDTIGEN1utility=/*=/@ &.RESTOREA.CF     =/*A=/*†Modifythe&.VERSADOS.CDfiletoincludethefollowingfiles:=/* =/*†&.TDTI.CI=/*†&.TDTIRSL.CI=/*?=/*†ThesefilesmustbeinsertedimmediatelypreceedingtheI/OF=/*†initializer.TheTDTIRSL.CIcommandfilewhichwillbesubstitutedD=/*†intocreatingthefile&.XTDTIVU.CIwillbeusedincreatingtheE=/*†userwrittenpartoftheTDTIsystem.Theuseofthe&.XTDTIVU.CIE=/*†fileisnotarequirementbutitisavailableiftheu7 serdesires=/*†touseit.=/*D=/*†Modificationofthe&.VERSADOS.CDfilewillbeaccompolishtedby1=/*†executingtheTDTIMODI.VERSADOS.CFchainfile.=/* =/@ \5:9998.TDTIMODI.VERSADOS.CF     =/*;=/*†EstablishtheargumentsdefinedbytheTDTIGEN1utility=/*=/@ &.RESTOREA.CF     =/*C=/*†Establishtheappropriatesystemdefinitionpriortoinitiating=/*†theSYSGEN.=/* =USE \1:\2:\3     =/*B=/*†InitiatetheSYSGENprocesstocreatethetypeTDTIsystemfor!=/*†targetproduct,STD.SYSGEN.CF=/*=/@ STD.SYSGEN.CF     =/*;=/*†EstablishtheargumentsdefinedbytheTDTIGEN1utility=/*=/@ &.RESTOREA.CF     =/*C=/*†Usingasinputthe.VERSADOS.SY,wewillnowbuildtheA=/*†'MX'modulethattheusercandownloadtothetargetproduct.=/*I=/*†Thiscanbeaccompolishedbyinitiatingthe9998.DOWNLOAD.VERSADOS.CF=/*†chainfile.=/* =USE \1:\2.& =/@ \5:9998.DOWNLOAD.VERSADOS.CF     =/*B=/*†TheRMS/VERSAdospartoftheTDTIsystemhasnowbeencreated.=/*      =/*F=/*†ThefollowingwillbuildtheuserwrittenpartoftheTDTIsystem.=/*     =/*;=/*†EstablishtheargumentsdefinedbytheTDTIGEN1utility=/*=/@ &.RESTOREA.CF     =/*G=/*†TheapplicationtaskswhichhavealreadybeentestedwillbecopiedD=/*†tothetargetvolume:usernumberandtheirrespective'S'recordC=/*†fileequivalentswillbecreatedsothattheycanbedownloaded=/*†tothetargetsystem=/*#=COPY\5:9990.&.TASKA.CF\1:\2.&;YC#=COPY\5:9990.&.TASKA.RO\1:\2.&;YC%=COPY\5:9990.MX.TASKA.LFŽ\1:\2.MX;YC#=COPY\5:9990.&.TASKB.CF\1:\2.&;YC#=COPY\5:9990.&.TASKB.RO\1:\2.&;YC%=COPY\5:9990.MX.TASKB.LFŽ\1:\2.MX;YC#=COPY\5:9990.&.TASKC.CF\1:\2.&;YC#=COPY\5:9990.&.CTASK.LO\1:\2.&;YC =USE \1:\2.&'=/@ \1:\2.MX.TASKA.LF \1:\2.MX.TASKA.LL=/@ &.RESTOREA.CF'=/@ \1:\2.MX.TASKB.LF \1:\2.MX.TASKB.LL=/@ &.RESTOREA.CF=/@ \1:\2.&.TASKA.CF=/@ \1:\2.&.TASKB.CF=/@ \1:\2.&.TASKC.CF     =/*B=/*†CopythefilesrequiredbytheSYSGENprocesstointegratethe=/*†following:=/*=/*tasktable=/*non-standardcode=/*errorhandlinglogic=/* =USE \1:\2.& =COPY\5:9990.&.TTS.LG‘\1:\2:;YC =COPY\5:9990.&.TTS.RO‘\1:\2:;YC%=COPY\5:9990.&.TTSUCEHL.CDŒ\1:\2:;YC%=COPY\5:9990.&.TTSUCEHL.CFŒ\1:\2:;YC%=COPY\5:9990.NSSU.TASKA.LGŒ\1:\2:;YC%=COPY\5:9990.NSSU.TASKA.ROŒ\1:\2:;YC%=COPY\5:9990.NSSU.TASKB.LGŒ\1:\2:;YC%=COPY\5:9990.NSSU.TASKB.ROŒ\1:\2:;YC%=COPY\5:9990.NSSU.TASKD.LGŒ\1:\2:;YC%=COPY\5:9990.NSSU.TASKD.ROŒ\1:\2:;YC*=COPY\5:9990.RESERVED.FIELDS.RO‡\1:\2:;YC*=COPY\5:9990.RESERVED.FIELDS.LG‡\1:\2:;YC*=COPY\5:9990.TTSUCEHL.SYSGEN.CF‡\1:\2:;YC'=COPY\5:9998.TDTI.NSSUPAS.LGŠ\1:\2:;YC(=COPY\5:9998.TDTI.NSSUPASC.RO‰\1:\2:;YC    =/*;=/*†EstablishtheargumentsdefinedbytheTDTIGEN1utility=/*=/@ &.RESTOREA.CF     =/*2=/*†InitiatetheSYSGENtointegratethefollowing=/*=/*tasktable=/*non-standardcode=/*errorhandlinglogic=/*=/@ \1:\2.TTSUCEHL.SYSGEN.CF     =/*A=/*†UsingasinputTTSUCEHL.SY,wewillnowbuildthe'MX'module5=/*†thattheusercandownloadtothetargetproduct.=/*F=/*†ThiscanbeaccompolishedbyinitiatingtheTTSUCEHL.CFchainfile.=/* =USE \1:\2.&=/@ \1:\2.&.TTSUCEHL.CF     =/*B=/*†TheuserwrittenpartoftheTDTIsystemhasnowbeencreated.=/*@=/*†Allfileswithanextensionof'MX'canbedownloadedtotheF=/*†targetsystem,theprogramcounterandstackregisterinitialized,!=/*†andthe'GO'commandexecuted=/*     =END7 NN'VME110 VERSADOSCFöö   =/*=/*†VME110.VERSADOS.CF=/*9=/*†Chainfiletocreatethemoduletobedownloadedfor=/*‹VME110.VERSADOS.SY=/*=DEL VME110.VERSADOS.MX-=BUILDS VME110.VERSADOS.SY,VME110.VERSADOS.MX=/*=ENDNNNNNNNī 'EXAMPLE INITDAT AGŗ  CNFGDRVRCI‚  8 -INITDATƒIDNTƒ3,1SystemInitializerDATAArea*-*„THEFOLLOWINGEQUATESAREUSEDFORBUILDING%*„AMEMORYTABLEFORTHEINITROUTINE*MTYP0…EQU„0’RAMMEMORYTYPE0 MTYP1…EQU„1*16RAMMEMORYTYPE1 MTYP2…EQU„2*16RAMMEMORYTYPE2 MTYP3…EQU„3*16RAMMEMORYTYPE3 MTYP4…EQU„4*16RAMMEMORYTYPE4 MTYP5…EQU„5*16RAMMEMORYTYPE5 MTYP6…EQU„6*16RAMMEMORYTYPE6 MTYP7…EQU„7*16RAMMEMORYTYPE7*PART0…EQU„0’PARTITIONNUMBER0PART1…EQU„1’PARTITIONNUMBER1PART2…EQU„2’PARTITIONNUMBER2PART3…EQU„3’PARTITIONNUMBER3PART4…EQU„4’PARTITIONNUMBER4PART5…EQU„5’PARTITIONNUMBER5PART6…EQU„6’PARTITIONNUMBER6PART7…EQU„7’PARTITIONNUMBER7PART8…EQU„8’PARTITIONNUMBER8PART9…EQU„9’PARTITIONNUMBER9!PART10„EQU„10‘PARTITIONNUMBER10!PART11„EQU„11‘PARTITIONNUMBER11!PART12„EQU„12‘PARTITIONNUMBER12!PART13„EQU„13‘PARTITIONNUMBER13!PART14„EQU„14‘PARTITIONNUMBER14!PART15„EQU„15‘PARTITIONNUMBER15 (* Get board specific memory type equates INCLUDE MTYPE.SIŠPAGE*#*†MACROTOBUILDMEMORYTABLEENTRY* MTENTRYƒMACRO \@A‡SET„0ŠIFC„'\1','RAM' DC.Bƒ\4+\5,0 DC.Lƒ\2,\3DC.Bƒ\6DC.Bƒ0 \@AŠSET„1ŠENDCŠIFC„'\1','ROM' DC.Bƒ$FF,0 DC.Lƒ\2,\3DC.Wƒ0 \@AŠSET„1ŠENDC ŠIFEQƒ\@A FAILƒ2000ŠENDCŠENDM* MTEND…MACRO ŠDC.Wƒ$FFFFŠENDM ŠPAGE ŠSECTION8*4*ˆISSUERETURNFORSYSTEMINITIALIZEREXECUTIONCODE*‰RTS  *%*ˆDATAREQUIREDBYSYSTEMINITIALIZER*ŠPAGE ŠXDEFƒASN ŠXDEFƒCACHEFŠXDEFƒCLOCKFRQŠXDEFƒDISPATCHŠXDEFƒDUMMYPTR ŠXDEFƒEEND ŠXDEFƒENDMEMT ŠXDEFƒESTACK ŠXDEFƒESTART ŠXDEFƒGSTSIZ ŠXDEFƒIOVSIZ ŠXDEFƒMEMTABL ŠXDEFƒMEMTYPA ŠXDEFƒMEMTYPS ŠXDEFƒMEMTYPT ŠXDEFƒMEMTYPUŠXDEFƒPAGESIZE ŠXDEFƒPANELA ŠXDEFƒPATSIZ ŠXDEFƒRDYHEAD ŠXDEFƒSMEMHI ŠXDEFƒSMEMLO ŠXDEFƒTCBHEAD ŠXDEFƒTIMERAŠXDEFƒTIMINTVA ŠXDEFƒTIMSLIC ŠXDEFƒTRCFLAG ŠXDEFƒTRCSIZ ŠXDEFƒUDRSIZ ŠXDEFƒUSTSIZŠXDEFƒWHERLOADŠPAGETCBHEADƒDC.Lƒ\$TCBLST‹TCBHD RDYHEADƒDC.Lƒ\$TCBRDY‹READYHD ūmN#ESTART„DC.Lƒ\STARTRMSŠSTARTOFEXEC EEND†DC.Lƒ\MEMBEGŒENDOFEXEC %ESTACK„DC.Lƒ\STACKEXECSTACKADDRESS &PANELA„DC.Lƒ\PANELFRONTPANELADDRESS SMEMLO„DC.Lƒ0’SECMEMLO SMEMHI„DC.Lƒ0’SECMEMHI "DISPATCH‚DC.Lƒ\STARTRMSŠDISPATCHER GSTSIZ„DC.Lƒ\GSTGST#OFPAGES USTSIZ„DC.Lƒ\USTUST#OFPAGES UDRSIZ„DC.Lƒ\UDRUDR#OFPAGES PATSIZ„DC.Lƒ\PATPAT#OFPAGES )TRCSIZ„DC.Lƒ\TRACETRACETABLE#OFPAGES TRCFLAGƒDC.Wƒ\TRCFLAG #TIMERA„DC.Lƒ\TIMERADDRESSOFTIMER ;TIMINTVA‚DC.Wƒ\TIMINTV‹#MILLISECSBETWEENTIMERINTERRUPTS ?TIMSLICƒDC.Wƒ\TIMSLIC‹#TIMERINTERRUPTSBEFORETASKRELINQUISH 1CLOCKFRQ‚EQU„\CLOCKFRQŠ#CLOCKTICKSPERMILLISEC $IOVSIZ„DC.Lƒ\IOVSIZEOFIOVCTTABLE 0MEMTYPAƒDC.BƒMTYP0ŽDEFAULTMEMORYTYPEFORASQ'S 0MEMTYPTƒDC.BƒMTYP0ŽDEFAULTMEMORYTYPEFORTCB'S MMEMTYPS‚DC.BMTYPE$SRO,MTYPE$SRWDEFAULTMEMORYTYPEFORSYSTEMTASKS(RO,RW) KMEMTYPU‚DC.B‚MTYPE$URO,MTYPE$URWDEFAULTMEMORYTYPEFORUSERTA8 SKS(RO,RW) ADUMMYPTR‚EQU„$A00‹USEASDUMMYPOINTERFORNON-EXISTANTADDRESSES /WHERLOAD‚DC.Lƒ\WHERLOADŠWHEREMACSBUGWILLLOAD 7PAGESIZE‚DC.Lƒ\PAGESIZEŠPAGESIZEFORSEGMENTALLOCATION ;ASN‡DC.Lƒ\ASNNUMBEROFADDRESSSPACES(CURRENTLY0OR127) ACACHEF„DC.Lƒ\CACHEFŠAdresstouseforselectivelyflushingbank1, *œbank2,orbothbanksofcache.ŠPAGE*9*‚MEMORYTABLE-USEDBYINITTOSETUPFREEMEMORYLISTS* ŠSECTION8 ŠOPT„NOCL* TOP‡SET„0 BOTTOM„SET„1* MEMTABLƒEQU„* -ŠMTENTRYRAM,$00000,$F0000,MTYPE$P0,PART0,TOPŠMTENTRYROM,$F0000,$100000ŠIFNEƒ\MEMEND24MTENTRYRAM,\MEMEND2,\MEMEND3,MTYPE$P1,PART1,BOTTOMŠENDC ŠIFNEƒ\$ROPT MTENTRYROM,\ROMSADDR,\ROMEADDRŠENDCŠMTENDŠDS.Lƒ10 ENDMEMTƒEQU„*ŠEND**ˆVM04.CNFGDRVR.CI*'* Configuration file for device driversO*------------------------------------------------------------------------------B* This file sets up the flags used by the "VM04.IFDRVR.CI" file to'* conditionally include device drivers.*K* The user should only have to modify this file to include/exclude drivers.E* If you add more boards/devices, you may have to increase the sysgen>* command T option for more symbols in the "&.SYSGEN.CF" file.*K* To modify specific items of a driver, edit the corresponding driver file,J* "&.xxxxDRV.CI" except as noted where one driver handles multiple boards.O*------------------------------------------------------------------------------ N******************************************************************************L*---‚BOARD/SYSTEMDEPENDENCIESareincludedfromthe&.VERSADOS.CDfile.---9*VM04.SYSTEM.CIƒaddprocessorboard/systemdependencies,(*–includinglocalterminalsandprinters6*&.CNFGTASK.CI„addO/StaskconfigurationforROM/RAMM***************************************************************************** O*------------------------------------------------------------------------------DNOLTERMƒ=2Š#ofterminalsusingVM04(MK68564)serialports;max=2 O*------------------------------------------------------------------------------=NOVM20„=0Œ#ofVM20…FDC(floppyonlydiskcontrollerboards) *¦twoboardset;usesIPCdriver*¦(see"&.IPCDRV.CI")G*NOTE:‚Ifyouincreasethenumberoffloppiesoneitherthe1stor2nd@*ˆcontrollerboards,youmayneedtoedit&.IPCDRV.CIandchangeB*ˆtheZvaluefrom81to85sothatthefileIOC.VM20DRV.AGcanbe;*ˆassembledduringsysgen.‚The81valueissothatthefileA*ˆIOC.VM20DRV.AGcanbeassembledina384Ksystemduringsysgen. IFGTˆ\NOVM207ƒNFV20$1ƒ=0Œ#offloppydiskdriveson1stFDC;max=47ƒNFV20$2ƒ=0Œ#offloppydiskdriveson2ndFDC;max=4 ?ƒVM200$1ƒ="'F8SDDSM'"‚Typeof1stfloppydiskon1stFDCboard ('+% ?ƒVM201$1ƒ="'F8SDDSM'"‚Typeof2ndfloppydiskon1stFDCboard?ƒVM202$1ƒ="'F8SDDSM'"‚Typeof3rdfloppydiskon1stFDCboard?ƒVM203$1ƒ="'F8SDDSM'"‚Typeof4thfloppydiskon1stFDCboard ?ƒVM200$2ƒ="'F8SDDSM'"‚Typeof1stfloppydiskon2ndFDCboard?ƒVM201$2ƒ="'F8SDDSM'"‚Typeof2ndfloppydiskon2ndFDCboard?ƒVM202$2ƒ="'F8SDDSM'"‚Typeof3rdfloppydiskon2ndFDCboard?ƒVM203$2ƒ="'F8SDDSM'"‚Typeof4thfloppydiskon2ndFDCboardENDC O*------------------------------------------------------------------------------;NOVM21„=0Œ#ofVM21…UDC(universaldiskcontrollerboards)%*¦floppy&harddisks;twoboardset;*¦usesIPCdriver*¦(see"&.IPCDRV.CI")I*NOTE:‚Ifyouincreasethenumberofharddiskorfloppieson9 eitherthe@*ˆ1stor2ndcontrollerboards,youmayneedtoedit&.IPCDRV.CIF*ˆandchangetheZvaluefrom81to92sothatthefileIOC.VM21DRV.AGB*ˆcanbeassembledduringsysgen.‚The81valueissothatthefileA*ˆIOC.VM21DRV.AGcanbeassembledina384Ksystemduringsysgen. IFGTˆ\NOVM215ƒNHV21$1ƒ=0Œ#ofhardƒdiskdriveson1stUDC;max=47ƒNFV21$1ƒ=0Œ#offloppydiskdriveson1stUDC;max=45ƒNHV21$2ƒ=0Œ#ofhardƒdiskdriveson2ndUDC;max=47ƒNFV21$2ƒ=0Œ#offloppydiskdriveson2ndUDC;max=4 =ƒVM210$1ƒ="'FXLRK25'"‚Typeof1sthardƒdiskon1stUDCboard=ƒVM211$1ƒ="'RMLRK25'"‚Typeof2ndhardƒdiskon1stUDCboard=ƒVM212$1ƒ="'FXCMD80'"‚Typeof3rdhardƒdiskon1stUDCboard=ƒVM213$1ƒ="'RMCMD16'"‚Typeof4thhardƒdiskon1stUDCboard ?ƒVM214$1ƒ="'F8SDDSM'"‚Typeof1stfloppydiskon1stUDCboard?ƒVM215$1ƒ="'F8SDDSM'"‚Typeof2ndfloppydiskon1stUDCboard?ƒVM216$1ƒ="'F8SDDSM'"‚Typeof3rdfloppydiskon1stUDCboard?ƒVM217$1ƒ="'F8SDDSM'"‚Typeof4thfloppydiskon1stUDCboard =ƒVM210$2ƒ="'FXLRK25'"‚Typeof1sthardƒdiskon2ndUDCboard=ƒVM211$2ƒ="'RMLRK25'"‚Typeof2ndhardƒdiskon2ndUDCboard=ƒVM212$2ƒ="'FXCMD80'"‚Typeof3rdhardƒdiskon2ndUDCboard=ƒVM213$2ƒ="'RMCMD16'"‚Typeof4thhardƒdiskon2ndUDCboard ?ƒVM214$2ƒ="'F8SDDSM'"‚Typeof1stfloppydiskon2ndUDCboard?ƒVM215$2ƒ="'F8SDDSM'"‚Typeof2ndfloppydiskon2ndUDCboard?ƒVM216$2ƒ="'F8SDDSM'"‚Typeof3rdfloppydiskon2ndUDCboard?ƒVM217$2ƒ="'F8SDDSM'"‚Typeof4thfloppydiskon2ndUDCboardENDC O*------------------------------------------------------------------------------8NOVM22„=0Œ#ofVM22…SMDdiskcontrollersboards(single*¦board)J*NOTE:‚Ifyouincreasethenumberofharddiskorfloppies,youwillneedC*ˆtoedit&.VM22DRV.CIandchangetheZvaluefrom81to92sothatF*ˆthefileIOC.VM22DRV.AGcanbeassembledduringsysgen.‚The81valueF*ˆissothatthefileIOC.VM22DRV.AGcanbeassembledina384Ksystem*ˆduringsysgen. IFGTˆ\NOVM222ƒNHV22$1ƒ=2Œ#ofhardƒdiskdrivesonVM22;max=84ƒNFV22$1ƒ=4Œ#offloppydiskdrivesonVM22;max=4 >ƒVM220$1ƒ="'FXCMD80'"‚Typeof1sthardƒdiskon1stVM22board>ƒVM221$1ƒ="'RMCMD16'"‚Typeof2ndhardƒdiskon1stVM22board>ƒVM222$1ƒ="'FXCMD80'"‚Typeof3rdhardƒdiskon1stVM22board>ƒVM223$1ƒ="'RMCMD16'"‚Typeof4thhardƒdiskon1stVM22board>ƒVM224$1ƒ="'FXCMD80'"‚Typeof5thhardƒdiskon1stVM22board>ƒVM225$1ƒ="'RMCMD16'"‚Typeof6thhardƒdiskon1stVM22board>ƒVM226$1ƒ="'FXCMD80'"‚Typeof7thhardƒdiskon1stVM22board>ƒVM227$1ƒ="'RMCMD16'"‚Typeof8thhardƒdiskon1stVM22board @ƒVM228$1ƒ="'F8SDDSM'"‚Typeof1stfloppydiskon1stVM22board@ƒVM229$1ƒ="'F8SDDSM'"‚Typeof2ndfloppydiskon1stVM22board@ƒVM22A$1ƒ="'F5DDDSI'"‚Typeof3rdfloppydiskon1stVM22board@ƒVM22B$1ƒ="'F5DDDSI'"‚Typeof4thfloppydiskon1stVM22boardENDC O*------------------------------------------------------------------------------7NOVM30„=0Œ#ofVM30…MCCM(multi-channelcommunications *¦boards)(*¦usesIPCdriver;has1printerport/bd*¦(see"&.IPCDRV.CI") IFGTˆ\NOVM30/ƒNTV30$1ƒ=4Œ#ofterminalson1stMCCM;max=4.ƒNPV30$1ƒ=1Œ#ofprinters‚on1stMCCM;max=1/ƒNTV30$2ƒ=0Œ#ofterminalson2ndMCCM;max=4.ƒNPV30$2ƒ=0Œ#ofprinters‚on2ndMCCM;max=1/ƒNTV30$3ƒ=0Œ#ofterminalson3rdMCCM;max=4.ƒNPV30$3ƒ=0Œ#ofprinters‚on3rdMCCM;max=1/ƒNTV30$4ƒ=0Œ#ofterminalson4thMCCM;max=4.ƒNPV30$4ƒ=0Œ#ofprinters‚on4thMCCM;max=1ENDC O*------------------------------------------------------------------------------N9 NNNNN'TTSUCEHLSYSGEN CF99  =/**********************=/* TTSUCEHL.SYSGEN.CF *=/**********************=OPT K,NM=/***************************************************************************=/*=/*†SYSGENfor=/*TaskTable”Required#=/*Non-StandardUserCodeˆOptional!=/*ErrorHandlingLogicŠOptional=/* =OPT J,-N=TIME7=SYSGEN &.TTSUCEHL.CD,\1:\2/&.TTSUCEHL.SY,&.TTSUCEHL.LS=/*=OPT -NM=/***************************************************************************=/**=/**‚SysgenCompleted--=/**M=/***************************************************************************M=/***************************************************************************=OPT -K=ENDNNNN: N1'TEMPLATETASKC AIFFE   ‰OFFSET„0 DATASTART: * *ˆFHSparameterblockdefinition* T1FHSPB:‰DS.W†1‰Code,Command‰DS.W†1‰Options‰DS.B†1‰Status ‰DS.B†1‰LUN‰DS.L†1‰VolumeIdentification‰DS.W†1‰Usernumber-‰DS.L†1‰HighorderlongwordofCatalogfield,‰DS.L†1‰Low‚orderlongwordofCatalogfield/‰DS.L†1‰HighorderlongwordofFileNamefield.‰DS.L†1‰Low‚orderlongwordofFileNamefield‰DS.W†1‰FileExtension‰DS.W†1‰Reserved‰DS.B†1‰Writeprotectcode‰DS.B†1‰Read‚protectcode‰DS.W†1‰Recordlength‰DS.L†1‰Size/PointerT1FHSPBZEQU‡*-T1FHSPB * *ˆIOSparameterblockdefinition* T1IOSPB:‰DS.W†1‰Code,Command‰DS.W†1‰Options‰DS.B†1‰Status ‰DS.B†1‰LUN‰DS.W†1‰Reserved‰DS.L†1‰Randomrecordnumber‰DS.L†1‰Bufferstartaddress‰DS.L†1‰Bufferendƒaddress‰DS.L†1‰Lengthofdatatransfer"‰DS.L†1‰CompletionserviceaddressT1IOSPBZEQU‡*-T1IOSPB *7*ˆReceivesegmentattributesparameterblockdefinition*T1RSAPB:‰DS.L†1‰TaskName‰DS.L†1‰TaskSessionNumber‰DS.W†1‰DirectiveOptions‰DS.W†1‰DirectiveAttributes‰DS.L†1‰SegmentName‰DS.L†1‰LogicalAddress‰DS.L†1‰SegmentLength‰DS.L†1‰BufferAddressT1RSAPBZEQU‡*-T1RSAPB SSEGADR1DS.L†1*œSharablesegementaddressone DATASIZEEQU‡*-DATASTART **ˆTASKCstackarea*‰DS.B†$100-DATASIZESTACK: TCTS…EQU‡* NN>F'NSSU TASKA AFSS  TASKA LG\\   TASKA ROee  TASKA SAnn2  TASKB AFww :  TASKB LG€€   TASKB RO‰‰  TASKB SA’’2  TASKD AF››  TASKD LG¤¤  TASKD RO­­  TASKD SA¶¶0  =/*=/*†NSSU.TASKA.AF=/*==/*†ChainfiletoassembletheNon-Standarduserwrittencode=/*/=/*†DefaultassemblinglistingisNSSU.TASKA.LS=/*=/IFC \1ƒ=ARGNSSU.TASKA.LS=/ENDIF=/*%=ASM NSSU.TASKA.SA,NSSU.TASKA.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNNK=/*ˆNSSU.TASKA.LG=/*;=/*ˆLinkfiletolinknon-standardcodeforthistaskentry=/*(=LINK ,NSSU.TASKA.LO,NSSU.TASKA.LL;HAMIXSEGTDTI:0ƒ\TDTISTRTSEGNSPL:13‚\NSSURSASEGNSPA:2ƒ\PCIN‚TTSSA.TDTI.RO IN†&.TDTI.ROINƒTDTI.NSSUPASC.ROINƒNSSU.TASKA.RO END=ENDNN; NNNNT,1TASKA ASREL'NSSU TASKA SA9&† 2pNSSUPASC BNSSUTE0A "3"|CN00aAųg`žNuNq4NNNNNNN]**ˆNSSU.TASKA.SA*;*ˆThismoduleisaTableDrivenTaskInitiatorNon-Standard@*ˆsourcemodulethatshouldbeusedforeachtaskwhichrequiresE*ˆnon-standardcode.AhighorderlanguageusedwiththeTableDriven>*ˆTaskInitiator(TDTI)MUSTbestartedvianon-standardcode.*%*ˆUponentrytotheuserwrittencode6*’RegisterA4=Addressoftasktableentrytoprocess,*’RegisterA5=Addressoftasktableheader*C*ˆThecalltotheNon-StandardStartUproutine(NSSUPASC)requires; *ˆthefollowing:*;*’A1=Initialterminalidentification(i.e.CN00)thetask8*—wantstobeassignedtoINPUTandOUTPUT,respectively*—logicalunits5and6.-*’A4=Addressoftasktableentrytoprocess#*’A5=Addressoftasktableheader** ‰SECTIONƒ2 ‰XDEF†NSSUTE0A ‰XREF†NSSUPASC  NSSUTE0A:‰MOVE.L„#'CN00',A1,*œA1=Containstheterminalidforstandard*”INPUTandOUTPUT ‰BSR‡NSSUPASC(*œCalltheNon-StandardStartUproutine*œtoinitiatethistaskentry‰IFTHEN.S ŽBRA‡*&*œHangthesystembybranchingtoself‰ENDI ‰RTS*œReturntoTDTItask‰NOP/*œThe'NOP'instructionhasbeenplacedhereto,*œpreventanout-of-segmenterrorduetothe$*œpre-fetchofthenextinstruction.‰END NNf3=/*=/*†NSSU.TASKB.AF=/*==/*†ChainfiletoassembletheNon-Standarduserwrittencode=/*/=/*†DefaultassemblinglistingisNSSU.TASKB.LS=/*=/IFC \1ƒ=ARGNSSU.TASKB.LS=/ENDIF=/*%=ASM NSSU.TASKB.SA,NSSU.TASKB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNNo< =/*ˆNSSU.TASKB.LG=/*;=/*ˆLinkfiletolinknon-standardcodeforthistaskentry=/*(=LINK ,NSSU.TASKB.LO,NSSU.TASKB.LL;HAMIXSEGTDTI:0ƒ\TDTISTRTSEGNSPL:13‚\NSSURSASEGNSPB:3ƒ\PCIN‚TTSSA.TDTI.RO IN†&.TDTI.ROINƒTDTI.NSSUPASC.ROINƒNSSU.TASKB.RO END=ENDNNNNNNx,1TASKB ASREL'NSSU TASKB SAC&† 2pNSSUPASC CNSSUTE0B #3"|CN00aAųg`žNuNq4NNNNNN< N**ˆNSSU.TASKB.SA*;*ˆThismoduleisaTableDrivenTaskInitiatorNon-Standard@*ˆsourcemodulethatshouldbeusedforeachtaskwhichrequiresE*ˆnon-standardcode.AhighorderlanguageusedwiththeTableDriven>*ˆTaskInitiator(TDTI)MUSTbestartedvianon-standardcode.*%*ˆUponentrytotheuserwrittencode6*’RegisterA4=Addressoftasktableentrytoprocess,*’RegisterA5=Addressoftasktableheader*C*ˆThecalltotheNon-StandardStartUproutine(NSSUPASC)requires*ˆthefollowing:*;*’A1=Initialterminalidentification(i.e.CN00)thetask8*—wantstobeassignedtoINPUTandOUTPUT,respectively*—logicalunits5and6.-*’A4=Addressoftasktableentrytoprocess#*’A5=Addressoftasktableheader** ‰SECTIONƒ3 ‰XDEF†NSSUTE0B ‰XREF†NSSUPASC  NSSUTE0B:‰MOVE.L„#'CN00',A1,*œA1=Containstheterminalidforstandard*”INPUTandOUTPUT ‰BSR‡NSSUPASC(*œCalltheNon-StandardStartUproutine*œtoinitiatethistaskentry‰IFTHEN.S ŽBRA‡*&*œHangthesystembybranchingtoself‰ENDI ‰RTS*œReturntoTDTItask‰NOP/*œThe'NOP'instructionhasbeenplacedhereto,*œpreventanout-of-segmenterrorduetothe$*œpre-fetchofthenextinstruction.‰END NNŠ3=/*=/*†NSSU.TASKD.AF=/*.=/*†Chainfiletoassembleuserspecifiedcode=/*/=/*†DefaultassemblinglistingisNSSU.TASKD.LS=/*=/IFC \1ƒ=ARGNSSU.TASKD.LS=/ENDIF=/*%=ASM NSSU.TASKD.SA,NSSU.TASKD.RO,\1;R=/*{ Included files are:=/*ƒ9995.&.TR1.EQ=/*}=/*=ENDNNN= NNN“=/*†NSSU.TASKD.LG=/*==/*ˆLinkfiletolinkuserspecifiedcodeforthistaskentry=/*(=LINK ,NSSU.DTASK.LO,NSSU.TASKD.LL;HAMIX SEG T0DU:5 \PCIN†NSSU.TASKD.RO END=ENDNNNNNNNœ ,1TASKD ASREL'NSSU TASKD SAF&†2ENSSUTE0D % 3 |ˆpNANu4NN= NNNNN„‰PAGE ‰NOLIST‰INCLUDEƒ9995.&.TR1.EQ‰LIST ‰PAGE **ˆExternaldefinitions* ‰XDEF†NSSUTE0D‰PAGE*C*ˆItshouldbenotedthatthisuserspecifiedcodehasbeenusedtoD*ˆexecuteadelayforfive(5)secondsbeforereturningcontrolback@*ˆtotheTDTItask.Thisexampleofuserspecifiedcodehasbeen@*ˆincludedtoillustratethatthereareotherfunctionsthattheA*ˆuserspecifiedcodecouldbeusedforotherthanperformingtheA*ˆstandardTDTIfunctionality.ThisparticularusageprovidestheC*ˆtheuserthecapabilitytocomplimenttheorderinwhichtaskare6*ˆexecutedbyadjustingthetimingoftheirexecution.*‰PAGE ‰SECTIONƒ5 **ˆTE0DUserSpecifiedCode**ˆINPUT*%*’A4=AddressofTTEtobeprocessed*’A5=AddressofTTS*  NSSUTE0D:‰MOVE.L„#(5*1000),A0%*œA0=Numberofmillisecondstodelay‰MOVE.L„#DELAY,D0!*œD0=Directiveforthisrequest‰TRAP†#1*œInitiaterequest*¦DELAY‰RTS*œReturntoTDTItask‰ENDNNN®1Ū' IOCFAIL AFĆĆ  M600DRV AFĢĢ  M600LIB AFÕÕ  M605DRV AFŽŽ  M605LIB AFēē >  M610DRV AFšš  M610LIB AFłł  M615DRV AF  M615LIB AF    M625DRV AF  M625LIB AF  RADDRV AF&&  RADLIB AF//  RIODRV AF88  RIOLIB AFAA  STDMACROAIJJ_  M600DRV NWSSj  M600FORTNW``:Ļ  M605DRV NW””Š  M610DRV NWŗŗ"ø  =/*=/*†IOCFAIL.AF=/*F=/* Chain file to assemble device-failure routine which is called when2=/* a level-4 interrupt occurs in the RAD1 driver.=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to IOCFAIL.LS=/*=/IFC \1ƒ=ARGIOCFAIL.LS=/ENDIF=/*=ASM IOCFAIL.SA,IOCFAIL.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNN»=/*=/*†M600DRV.AF=/*B=/*Chainfiletoassemblethe‚MVME600A/DCONVERTERdevicedriver=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M600DRV.LS=/*=/IFC \1ƒ=ARGM600DRV.LS=/ENDIF=/*$=ASM M600DRV.SA,M600DRV.RO,\1;MRZ=70=/*{ Included files are:=/*ƒ9995.&.TCB.EQ=/*ƒM600CMTS.SA=/*ƒM600SERV.SA=/*ƒM600INTL.SA=/*ƒM600CMDS.SA=/*}=/*=ENDNN> NNNNÄ=/*=/*†M600LIB.AF=/*7=/* Chain file to assemble FORTRAN-callable subroutines)=/* to interface with the MVME600 driver.=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M600LIB.LS=/*=/IFC \1ƒ=ARGM600LIB.LS=/ENDIF=/*=ASM M600LIB.SA,M600LIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNNĶ=/*=/*†M605DRV.AF=/*B=/*Chainfiletoassemblethe‚MVME605D/ACONVERTERdevicedriver=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M605DRV.LS=/*=/IFC \1ƒ=ARGM605DRV.LS=/ENDIF=/*$=ASM M605DRV.SA,M605DRV.RO,\1;MRZ=75=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.TCB.EQ=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.CCB.EQ=/*ƒ9995.&.LV5.EQ=/*ƒ9995.&.M605DRV.EQ=/*}=/*=END? NNNNNNÖ=/*=/*†M605LIB.AF=/*D=/* Chain file to assemble FORTRAN-callable subroutines to interface=/* with the MVME605 driver.=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M605LIB.LS=/*=/IFC \1„=ARGM605LIB.LS=/ENDIF=/*=ASM M605LIB.SA,M605LIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNNß? =/*=/*†M610DRV.AF=/*-=/* Chain file to assemble the MVME610 driver=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M610DRV.LS=/*=/IFC \1ƒ=ARGM610DRV.LS=/ENDIF=/*$=ASM M610DRV.SA,M610DRV.RO,\1;RZ=100=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.TCB.EQ=/*ƒ9995.&.LV5.EQ=/*ƒ9995.&.CCB.EQ=/*ƒ9995.&.BAB.EQ=/*ƒ9995.&.M610CCB.EQ=/*ƒ9995.&.M610INTQ.EQ=/*ƒ9995.&.M610CMD.EQ=/*}=/*=ENDNNNNNč=/*=/*†M610LIB.AF=/*7=/* Chain file to assemble FORTRAN-callable subroutines-=/* to interface with the MVME610/620 driver.=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M610LIB.LS=/*=/IFC \1ƒ=ARGM610LIB.LS=/ENDIF=/*=ASM M610LIB.SA,M610LIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNN@ Nń=/*=/*†M615DRV.AF=/*>=/* Chain file to assemble the MVME615 AC OUTPUT device driver=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M615DRV.LS=/*=/IFC \1ƒ=ARGM615DRV.LS=/ENDIF=/*$=ASM M615DRV.SA,M615DRV.RO,\1;MRZ=80=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.TCB.EQ=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.CCB.EQ=/*ƒ9995.&.LV5.EQ=/*ƒ9995.&.M615DRV.EQ=/*}=/*=ENDNNNNNNś=/*=/*†M615LIB.AF=/*7=/* Chain file to assemble FORTRAN-callable subroutines)=/* to interface with the MVME615 driver.=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M615LIB.LS=/*=/IFC \1ƒ=ARGM615LIB.LS=/ENDIF=/*=ASM M615LIB.SA,M615LIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNN@ NNN=/*=/*†M625DRV.AF=/*>=/* Chain file to assemble the MVME625 DC OUTPUT device driver=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M625DRV.LS=/*=/IFC \1ƒ=ARGM625DRV.LS=/ENDIF=/*$=ASM M625DRV.SA,M625DRV.RO,\1;MRZ=80=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.TCB.EQ=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.CCB.EQ=/*ƒ9995.&.LV5.EQ=/*ƒ9995.&.M625DRV.EQ=/*}=/*=ENDNNNNNN =/*=/*†M625LIB.AF=/*7=/* Chain file to assemble FORTRAN-callable subroutines)=/* to interface with the MVME625 driver.=/*:=/* If no output argument is specified for the listing the)=/* chain file will default to M625LIB.LS=/*=/IFC \1ƒ=ARGM625LIB.LS=/ENDIF=/*=ASM M625LIB.SA,M625LIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNA NNNNN=/* =/*†RADDRV.AF=/*&=/* Chain file to assemble RAD1 driver=/*:=/* If no output argument is specified for the listing the(=/* chain file will default to RADDRV.LS=/*=/IFC \1ƒ=ARGRADDRV.LS=/ENDIF=/*#=ASM RADDRV.SA,RADDRV.RO,\1;MRZ=126=/*{ Included files are:=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.TCB.EQ=/*ƒ9995.&.CCB.EQ=/*ƒ9995.&.LV5.EQ=/*ƒ9995.&.RADDRV.EQ=/*}=/*=ENDNNNNNN=/* =/*†RADLIB.AF=/*7=/* Chain file to assemble FORTRAN-callable subroutines&=/* to interface with the RAD1 driver.=/*:=/* If no output argument is specified for the listing the(=/* chain file will default to RADLIB.LS=/*=/IFC \1ƒ=ARA GRADLIB.LS=/ENDIF=/*=ASM RADLIB.SA,RADLIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNN'=/* =/*†RIODRV.AF=/*%=/* Chain file to assemble RIO driver=/*:=/* If no output argument is specified for the listing the(=/* chain file will default to RIODRV.LS=/*=/IFC \1ƒ=ARGRIODRV.LS=/ENDIF=/*%=ASM RIODRV.SA,RIODRV.RO,\1;MR-WZ=134=/*{ Included files are:=/*ƒ9995.&.TR1RTCD.EQ=/*ƒ9995.&.STR.EQ=/*ƒ9995.&.TCB.EQ=/*ƒ9995.&.CCB.EQ=/*ƒ9995.&.LV5.EQ=/*ƒ9995.&.RIODRV.EQ=/*ƒSTDMACRO.AI=/*}=/*=ENDNNNNNNB 0=/* =/*†RIOLIB.AF=/*7=/* Chain file to assemble FORTRAN-callable subroutines%=/* to interface with the RIO driver.=/*:=/* If no output argument is specified for the listing the(=/* chain file will default to RIOLIB.LS=/*=/IFC \1ƒ=ARGRIOLIB.LS=/ENDIF=/*=ASM RIOLIB.SA,RIOLIB.RO,\1;R=/*{ Included files are:=/*ƒ--none--=/*}=/*=ENDNNNNNN9‰SPC10!*†---†---…STANDARDƒMACROS…---…---*H*Allocate macro allocates local storage as long words on the stack,(A7).,*Up to 6 variables may be allocated by name.C*These variables may then be referred to by name offset to stack orH*they may be stored to (by macro STORE) and loaded from (by macro LOAD).*O*Prior to exit, the variables must be de-allocated by invocation of DEALLOCATE. ALLOCATE MACRO*B*Allocate reserves storage on the stack for local named variables,8*‚whicharereferredtoasanoffsetfromstackpointer.\1 SET 2‰IFGT(NARG-1)\2 SET 6‰ENDC‰IFGT(NARG-2) \3 SET 10‰ENDC‰IFGT(NARG-3) \4 SET 14‰ENDC‰IFGT(NARG-4) \5 SET 18‰ENDC‰IFGT(NARG-5) \6 SET 22‰ENDC*ƒSUB.Lƒ#(NARG*4)+4,A7*ƒENDM*B*DEALLOCATEMACRO‚hastobenamedDEALOCtoovercomeassemblerbug DEALOC‚MACRO*>* Deallocate removes storage for local variables on the stack.ƒADD.L‚#(NARG*4)+4,A7*ƒENDMI*LOAD macro allows loading a register from local storage named variables. *Thesyntaxis:‚LOADRn,VARNAME.9*The storage is DYNAMICALLY ALLOCATED by macro 'ALLOCATE'* LOAD‚MACRO*‰MOVE.L„\2(A7),\1‰ENDM*H*STORE macro allows storing a register to local storage named variables.!*Thesyntaxis:‚STORERn,VARNAME.?*The local storage is DYNAMICALLY ALLOCATED by macro 'ALLOCATE'* STORE MACRO*‰MOVE.L„\1,\2(A7)‰ENDM*‰SPC5PUSHPOINTŠMACRO‰MOVEM.LƒA0-A6,-(A7)‰ENDM*POP_POINTŠMACRO‰MOVEM.Lƒ(A7)+,A0-A6‰ENDM* PUB SHALLŒMACRO‰MOVEM.LƒA0-A6/D0-D7,-(A7)‰ENDM* POPALLƒMACRO‰MOVEM.Lƒ(A7)+,A0-A6/D0-D7‰ENDM*4ALLREGS‚EQU‡68ˆSpaceforallthereg.'sinthestack** *NOW USE THEM *MACTEST:* *ˆPUSHPOINT *ˆPUSHALL&*ˆALLOCATECOUNT,POINT,CHAR,VAL,MURPHY*ˆMOVE.L„#12345,D1*ˆSTORE†D1,COUNT*ˆLOAD‡D2,COUNT(*ˆDEALLOCATECOUNT,POINT,CHAR,VAL,MURPHY*ˆPOPALL *ˆPOP_POINT*ˆRTS*ˆEND*‰PAGEB`N==============================================================================F====‚NEWSFILEFORA/D…(MVME600-A/DINPUTBOARD)ƒDRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N============================================================================== 8This driver is compatible with both RMS68K and VERSAdos.   .This driver consists of the following files -- ‰MVME600driverfiles:-9992.&.M600DRV.SA‚MVME600driversourcefile99992.&.M600CMDS.SAMVME600sourcecommand/interruptcode09992.&.M600CMTS.SAMVME600sourcecommentsfile69992.&.M600INTL.SAMVME600sourceinitializationcode@9992.&.M600SERV.SAMVME600sourcedrivervectortable/revtable-9992.&.M600DRV.RO‚MVME600driverobjectfile59992.&.M600DRV.AF‚MVME600driverassemblychainfile  ‰Filesforsystemconfiguration:"9992.&.M600DRV.CIˆSYSGENcommands"9992.&.M600IOC.SIˆCCBallocations39992.&.M600DRV.LGˆChainfiletolinkinthedriver#9998.VERSAPT.M600DRV.CF‚Patchfile   ‰FORTRANinterfacesubroutines:09992.&.M600LIB.SA…Assemblylanguagesourcefile&9992.&.M600LIB.AF…Assemblychainfile9992.&.M600LIB.RO…Objectfile  ‰"News"file:9992.&.M600DRV.NW…Newsfile79992.&.M600FORT.NW„DocumentationforFORTRANinterface   %‰Filestogeneratethetestprograms: >‰9992.M600DRV.TEST600.SA‡AssemblylanguagetestprogramsourceA‰9992.M600DRV.TEST600.AF‡chainfileforassemblylanguageprogramA‰9992.M600DRV.TEST600.LF‡chainfileforlinkofasmlang.program7‰9992.M600DRV.TEST600.LO‡assemblylanguagetestprogram  KTheMVME600driversourcefileis:9992.&.M600DRV.SA.‚Toassemblethisfile%use the chain file 9992.&.M600DRV.AF.  >In order to incorporate this driver into your system, you will=have to set some parameters in the .CNFGDRVR.CI file.  #This driver requires the following:;‰1)‚Memorymustbeallocatedfortheinternaldrivertable.9‰2)‚Achannelcontrolblock(CCB)mustbecreatedfortheK<T/6“commandsissuedforeachMVME600boardinthesystem. HThe size of the memory area set aside for the driver table is determinedJbythevalueofthevariablespecifiedbyyouin.CNFGDRVR.CI.‚Thevariable is "NVME600". =NVME600ƒThisisthenumberofMVME600boardswhichwillbeon6Šthesystem.‚Sincetherecanbenomorethan16boards6ŠontheI/OChannel(whichiswheretheseboardsare),&Šthemaximumvalueof"NVME600"is16.   ?To include the MVME600 driver in your SYSgen, do the following: <‰(1)UseCOPYSGENtogetallthefilesneededfortheSYSgenintoyourSYSgenusernumber.2NOTE:‚Makesureargument5=PCDRVsotheProcess+”ControlDriverswillbecopiedbyCOPYSGEN 9‰(2)SetthevariableNVME600inthe.CNFGDRVR.CI,filefortheprocessorboardyouareusing. 8‰(3)CheckthefileM600IOC.SItobesurethattheCCB'sconformtoyourconfiguration. BWhen setting up the "CDB" calls please note that each ID must haveCauniquename.‚TC hisisalsothenameanyapplicationtaskwoulduseBtoaddressthedriverforaboard.‚Thememory-mappedI/Oaddresses"are also different for each board. JM600LIB.SAisassembledusingtheM600LIB.AFchainfile.‚M600LIB.ROistheEFORTRAN-callable subroutine which, when called by the user program orJFORTRAN test program, will invoke the appropriate MVME600 driver function. >After configuring your system and creating a VERSAdos with the>MVME605 driver included, you may want to run the provided testprogram. GM600DRV.TEST600.SA is an assembly language test program which tests theDMVME600driver.‚ThisprogrampromptstheusertorunasubsetofallDcommandsavailableinthedriver.‚ItcanbeusedasafirstcheckofAthe hardware and as an example of writing commands to the driver. ‰ENDN==============================================================================N==============================================================================   ½31-Jan-85  + 1 MVME600 A/D Interface User Documentation:ƒEachofthefollowingmodulearelocatedin&.M600LIB.SA.  „A.‚MODULENAME: ŠA2DOPN „B.‚MODULETYPE: ŠUtilitysubroutine „C.‚MODULEPURPOSE: /ŠThissubroutineprovidesaninterfacewiththe1ŠA/D600/601driver,allowingausertaskwritten+ŠinFORTRANtoopenoneormoremeasurement Šchannels. „D.‚CALLINGSEQUENCE: )‰CALLA2DOPN(CHNLMN,CMDBLK,CMDBKL,STATUS) „E.‚ENTRYCONDITIONS: ‰CHNLMN=ChannelMnemonic’(4ASCIIcharacters)#‰CMDBLK=I/OCommandBlockaddress ’(Integer*4)"‰CMDBKL=I/OCommandBlocklength,‰STATUS=StatusreturnedbytheA/Ddriver.  ‰ChannelBlockFormat "‹+---------------+---------------+‹|‚Statuscode’|"‹+---------------+---------------+‹|‚OPENcommandcode($0001)„|"‹+---------------+---------------+‹|‚Firstchannelnumber‰|"‹+---------------+---------------+‹:::‹:::"‹+---------------+---------------+ \3a4edi#m@qau+y9}==…E‰7C‘@•d‹|‚LastchannelnumberŠ|"‹+---------------+---------------+  „F.‚EXITCONDITIONS: ,‰STATUS=StatusreturnedbytheA/Ddriver.       -1-   ½31-Jan-85  „G.‚TABLESUSED: ‰ParameterBlock "‹+---------------+---------------+ ‹|‚Commandcode(InitiateI/O)‚|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚LengthI/Ocommandblock…|"‹+---------------+---------------+ „H.‚MODULESUSED: „I.‚MODULESCALLINGTHISMODULE: -ŠAnymodulerequiringinterfacetoA/Ddriver #„J.‚ERRORMESSAGESGENERATED:„None.                        -2-   ½31-Jan-85  „A.‚MODULENAME:„A2DMRS #„B.‚MODULETYPE:„UTILITYSUBROUTINE „C.‚MODULEPURPOSE: /ŠThissubroutineprovidesaninterfacewiththe1ŠA/D600/601driver,allowingausertaskwritten2ŠinFORTRANtorequestsingle-endedmeasurement(s)&Šforspecifiedmeasurementchannel(s). „D.‚CALLINGSEQUENCE: )ˆCALLA2DMRS(CHNLMN,CMDBLK,CMDBKL,STATUS) „E.‚ENTRYCONDITIONS: ‰CHNLMN=ChannelMnemonic’(4ASCIIcharacters)#‰CMDBLK=I/OCommandBlockaddress ’(Integer*4)"‰CMDBKL=I/OCommandBlocklength C                                     -3-   ½31-Jan-85  +‰I/OCommandBlock(MEASURESINGLEcommand) "‹+---------------+---------------+‹|‚Statuscode’|"‹+---------------+---------------+!‹|‚MEASUREcommandcode($0003)|"‹+---------------+---------------+ ‹|‚Repeatcount(0=Infinity)‚|"‹+---------------+---------------+‹|‚Timedelaybetweensweeps„|‹+--…4bytefieldŠ--+‹|ƒ(omitifrepeatcount=1)‚|"‹+---------------+---------------+‹|‚CommandCompletionOption„|"‹+---------------+---------------+›:•ChannelBlocks›:"‹+---------------+---------------+‹|‚Channelnumber|"‹+---------------+---------------+‹|‚ChannelCompletionOptionsƒ|"‹+---------------+---------------+!‹|‚SubroutineAddress(Optional)|"‹+---------------+---------------+!‹|‚SubroutineAddress(Optional)|"‹+---------------+---------------+‹|‚Bufferaddress|"‹+---------------+---------------+‹|‚Bufferaddress|"‹+---------------+---------------+‹|‚Sizeofbufferinbytes†|"‹+---------------+---------------+!‹|‚TriggerModeandGainOption|"‹+---------------+---------------+                        -4-   ½31-Jan-85  „F.‚EXITCONDITIONS: ,‰STATUS=StatusreturnedbytheA/Ddriver. „G.‚TABLESUSED: ‰ParameterBlock "‹+---------------+---------------+ ‹|‚Commandcode(InitiateI/O)‚|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚LengthI/Ocommandblock…|"‹+---------------+---------------+ „H.‚MODULESUSED: „I.‚MODULESCALLINGTHISMODULE: -ŠAnymodulerequiringinterfacetoA/Ddriver #„J.‚ERRORMESSAGESGENERATED:„None.                    -5-   ½31-Jan-85  „A.‚MODULENAME:„A2DMRD #„B.‚MODULETYPE:„UTILITYSUBROUTINE „C.‚MODULEPURPOSE: /ŠThissubroutineprovidesaninterfacewiththe1ŠA/D600/601driver,allowingausertaskwritten2ŠinFORTRANtorequestdifferentialmeasurement(s)&Šforspecifiedmeasurementchannel(s). „D.‚CALLINGSEQUENCE: )ˆCALLA2DMRD(CHNLMN,CMDBLK,CMDBKL,STATUS) „E.‚ENTRYCONDITIONS: ‰CHNLMN=ChannelMnemonic’(4ASCIIcharacters)#‰CMDBLK=I/OCommandBlockaddress ’(Integer*4)"‰CMDBKL=I/OCommandBlocklength                                     -6-   ½31-Jan-85  1‰I/OCommandBlock(MEASUREDIFFERENTIALcommand) "‹+---------------+---------------+‹|‚Statuscode’|"‹+---------------+---------------+!‹|‚MEASUREcommandcode($0004)|"‹+---------------+---------------+ ‹|‚Repeatcount(0=Infinity)‚|"‹+---------------+---------------+‹|‚Timedelaybetweensweeps„|‹+--…4bytefieldŠ--+‹|‚(omitifrepeatcount=1)ƒ|"‹+---------------+---------------+‹|‚CommandCompletionOption„|"‹+---------------+---------------+›:•ChannelBlocks›:"‹+---------------+---------------+‹|‚Channelnumber|"‹+---------------+---------------+‹|‚ChannelCompletionOptionsƒ|"‹+---------------+---------------+!‹|‚SubroutineAddress(Optional)|"‹+---------------+---------------+!‹|‚SubroutineAddress(Optional)|"‹+---------------+---------------+‹|‚Bufferaddress|"‹+---------------+--D -------------+‹|‚Bufferaddress|"‹+---------------+---------------+‹|‚Sizeofbufferinbytes†|"‹+---------------+---------------+!‹|‚TriggerModeandGainOption|"‹+---------------+---------------+                        -7-   ½31-Jan-85  „F.‚EXITCONDITIONS: ,‰STATUS=StatusreturnedbytheA/Ddriver.  „G.‚TABLESUSED: ‰ParameterBlock "‹+---------------+---------------+ ‹|‚Commandcode(InitiateI/O)‚|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚LengthI/Ocommandblock…|"‹+---------------+---------------+  „H.‚MODULESUSED: „I.‚MODULESCALLINGTHISMODULE: -ŠAnymodulerequiringinterfacetoA/Ddriver #„J.‚ERRORMESSAGESGENERATED:„None.                  -8-   ½31-Jan-85  „A.‚MODULENAME:„A2DSTP #„B.‚MODULETYPE:„UTILITYSUBROUTINE „C.‚MODULEPURPOSE: /ŠThissubroutineprovidesaninterfacewiththe1ŠA/D600/601driver,allowingausertaskwritten+ŠinFORTRANtostopthemeasurementforanyŠspecifiedMEASUREcommand. „D.‚CALLINGSEQUENCE: )‰CALLA2DSTP(CHNLMN,CMDBLK,CMDBKL,STATUS) „E.‚ENTRYCONDITIONS: ‰CHNLMN=ChannelMnemonic’(4ASCIIcharacters)#‰CMDBLK=I/OCommandBlockaddress ’(Integer*4)"‰CMDBKL=I/OCommandBlocklength ‰ChannelBlockFormat "‹+---------------+---------------+‹|‚Statuscode’|"‹+---------------+---------------+‹|‚STOPcommandcode($0000)„|"‹+---------------+---------------+‹|‚Firstchannelnumber‰|"‹+---------------+---------------+‹:::‹:::"‹+---------------+---------------+‹|‚LastchannelnumberŠ|"‹+---------------+---------------+                      -9-   ½31-Jan-85  „F.‚EXITCONDITIONS: ,‰STATUS=StatusreturnedbytheA/Ddriver. „G.‚TABLESUSED:ƒNone ‰ParameterBlock "‹+---------------+---------------+ ‹|‚Commandcode(InitiateI/O)‚|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚LengthI/Ocommandblock…|"‹+---------------+---------------+  „H.‚MODULESUSED: „I.‚MODULESCALLINGTHISMODULE: -ŠAnymodulerequiringinterfacetoA/Ddriver „J.‚ERRORMESSAGESGENERATED: ŠNone                 -10-   ½31-Jan-85  „A.‚MODULENAME: ŠA2DCLS „B.‚MODULETYPE: ŠUtilitysubroutine „C.‚MODULEPURPOSE: /ŠThissubroutineprovidesaninterfacewiththe1ŠA/D600/601driver,allowingausertaskwritten,ŠinFORTRANtocloseoneormoremeasurement Šchannels. „D.‚CALLINGSEQUENCE: )‰CALLA2DCLS(CHNLMN,CMDBLK,CMDBKL,STATUS) „E.‚ENTRYCONDITIONS: ‰CHNLMN=ChannelMnemonic’(4ASCIIcharacters)#‰CMDBLK=I/OCommandBlockD address ’(Integer*4)"‰CMDBKL=I/OCommandBlocklength ‰ChannelBlockFormat "‹+---------------+---------------+‹|‚Statuscode’|"‹+---------------+---------------+‹|‚CLOSEcommandcode($0002)ƒ|"‹+---------------+---------------+‹|‚Firstchannelnumber‰|"‹+---------------+---------------+‹:::‹:::"‹+---------------+---------------+‹|‚LastchannelnumberŠ|"‹+---------------+---------------+  „F.‚EXITCONDITIONS: ,‰STATUS=StatusreturnedbytheA/Ddriver.             -11-   ½31-Jan-85  „G.‚TABLESUSED: ‰ParameterBlock "‹+---------------+---------------+ ‹|‚Commandcode(InitiateI/O)‚|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+‹|‚ChannelMnemonic(ASCII)…|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+ ‹|Šnotused|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚AddressI/Ocommandblock„|"‹+---------------+---------------+‹|‚LengthI/Ocommandblock…|"‹+---------------+---------------+  „H.‚MODULESUSED: „I.‚MODULESCALLINGTHISMODULE: -ŠAnymodulerequiringinterfacetoA/Ddriver #„J.‚ERRORMESSAGESGENERATED:„None.                       -12-   ½31-Jan-85  „A.‚MODULENAME:„BLDCB #„B.‚MODULETYPE:„UTILITYSUBROUTINE „C.‚MODULEPURPOSE: -ŠThissubroutinebuildsachannelblockentry3Šfromthespecifiedparametersintheuserprovided0Šdataarea.‚Thissubroutineisusedtobuildthe+Šchannelblocksforbothofthemeasurement Šroutines. „D.‚CALLINGSEQUENCE: 4ˆCALLBLDCB(CMDBLK,CHNLNO,OPTION,BFA,BFL,SBA,TGRMOD,“RTNADR,CMDBKL) „E.‚ENTRYCONDITIONS: #‰CMDBLK‚=I/OCommandBlockaddress “(Integer*4)‰CHNLNO‚=Channelnumber$‰OPTION‚=Channelcompletionoptions‰BFA…=BufferAddress “(Integer*4)‰BFL…=BufferLength-‰SBA…=SubroutineAddress‚(0ifnotrequired) “(Integer*4)'‰TGRMOD‚=TriggerModeandGainOptions-‰RTNADR‚=Addressofnextavailchannelblock“(Returnedbythissubroutine) “(Integer*4)'‰CMDBKL‚=LengthofChannelBlockbuilt“(Returnedbythissubroutine)                         -13-   ½31-Jan-85  ‰ChannelBlockFormat "‹+---------------+---------------+‹|‚Channelnumber|"‹+---------------+---------------+‹|‚ChannelCompletionOptionsƒ|"‹+---------------+---------------+!‹|‚SubroutineAddress(Optional)|"‹+---------------+---------------+!‹|‚SubroutineAddress(Optional)|"‹+---------------+---------------+‹|ˆBufferaddress‰|"‹+---------------+---------------+‹|ˆBufferaddress‰|"‹+---------------+---------------+‹|‚Sizeofbufferinbytes†|"‹+---------------+---------------+!‹|‚TriggerModeandGainOption|"‹+---------------+---------------+                                        -14-   ½31-Jan-85  „F.‚EXITCONDITIONS: „G.‚TABLESUSED: „H.‚MODULESUSED: „I.‚MODULESCALLINGTHISMODULE: -ŠAnymodulerequiringinterfacetoA/Ddriver „J.‚ERRORMESSAGESGENERATED: ŠNone END                                            -15- E NN==============================================================================@====‚NEWSFILEFORDAC…(MVME605-D/ABOARD)‰DRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N============================================================================== 8This driver is compatible with both RMS68K and VERSAdos.   .This driver consists of the following files -- ‰MVME605driverfiles: -9992.&.M605DRV.SA‚MVME605driversourcefile-9992.&.M605DRV.RO‚MVME605driverobjectfile59992.&.M605DRV.AF‚MVME605driverassemblychainfile  ‰Filesforallocatingmemory:09992.&.M605MEM.CI‰FileincludedatSYSGENtime.09992.&.M605MEM.AG‰FileassembledatSYSGENtime  !‰Filesforsystemconfiguration: "9992.&.M605DRV.CIˆSYSGENcommands"9992.&.M605IOC.SIˆCCBallocations39992.&.M605DRV.LGˆChainfiletolinkinthedriver#9998.VERSAPT.M605DRV.CF‚Patchfile  ‰FORTRANinterfacesubroutines:09992.&.M605LIB.SAˆAssemblylanguagesourcefile&9992.&.M605LIB.AFˆAssemblychainfile9992.&.M605LIB.ROˆObjectfile  9‰Thefollowingfilesareusedtogenerateatestprogram: >‰9992.M605DRV.TEST605.SA‡AssemblylanguagetestprogramsourceA‰9992.M605DRV.TEST605.AF‡chainfileforassemblylanguageprogramA‰9992.M605DRV.TEST605.LF‡chainfileforlinkofasmlang.program7‰9992.M605DRV.TEST605.LO‡assemblylanguagetestprogram  ‰"News"file:9992.&.M605DRV.NWˆNewsfile KTheMVME605driversourcefileis:9992.&.M605DRV.SA.‚Toassemblethisfile%use the chain file 9992.&.M605DRV.AF.;The following files are used in the assembly of M605DRV.SA:9995.&.STR.EQ9995.&.TCB.EQ9995.&.CCB.EQ9995.&.LV5.EQ9995.&.TR1RTCD.EQ9995.&.M605DRV.EQ  >In order to incorporate this driver into your system, you will=have to set some parameters in the .CNFGDRVR.CI file.  #This driver requires the following:;‰1)‚Memorymustbeallocatedfortheinternaldrivertable.™A¢4Ŗ9‰2)‚Achannelcontrolblock(CCB)mustbecreatedforthe6“commandsissuedforeachMVME605boardinthesystem. HThe size of the memory area set aside for the driver table is determinedGbythevaluesoftwovariablesasspecifiedbyyouintheSYSGEN.‚These$variables are "NVME605" and "NU605". =NVME605ƒThisisthenumberofMVME605boardswhichwillbeon6Šthesystem.‚Sincetherecanbenomorethan16boards6ŠontheI/OChannel(whichiswheretheseboardsare),&Šthemaximumvalueof"NVME605"is16. 3NU605…Thisvariableissettothemaximumnumberof7Šuser/MVME605combinationsyouwishtoallowatanyone2Štime.‚Sinceitispossibletohaveoneuserusing;ŠmorethanoneMVME605board,aswellasmorethanoneuser4ŠusingthesameMVME605board,weneedthenumberofŠuser/MVME605combinations.   ?Example:‚IfuserAusesboard#1andboard#2,userBusesjust1Šboard#1,anduserCusesboard#2andboard#3,,Štherewouldbe5user/boardcombinations--ŠA/1,A/2,B/1,C/2,C/3.FIf the configuration of MVME605 boards is the same as in this example,$you would set NVME605=3 and NU605=5. INote that if you set either of these variables to a larger number than isHactuallyneeded,thesystemwillstilloperatenormally.‚ThiswouldjustBresult in having more memory allocated for internal tables than is necessary.  ?To include the MVME605 driver in your SYSGEN, do the following:  9‰(1)DoaCOPYSGENtogetthefilesneededfortheSYSgenintE oyoursysgenusernumber.7NOTE:‚Makesurethatargument5=PCDRVsotheProcess,”ControlDriverswillbecopiedbyCOPYSGEN. D‰(2)SetthevariablesNVME605andNU605inthe.CNFGDRVR.CI,filefortheprocessorboardyouareusing. 8‰(3)CheckthefileM605IOC.SItobesurethattheCCB'sconformtoyourconfiguration.   FWhen setting up the "CDB" calls please note that each DAC-ID must haveCauniquename.‚ThisisalsothenameanyapplicationtaskwoulduseBtoaddressthedriverforaboard.‚Thememory-mappedI/Oaddresses"are also different for each board.   >After configuring your system and creating a VERSAdos with the>MVME605 driver included, you may want to run the provided testprogram. GM605DRV.TEST605.SA is an assembly language test program which tests theDMVME605driver.‚ThisprogrampromptstheusertorunasubsetofallDcommandsavailableinthedriver.‚ItcanbeusedasafirstcheckofAthe hardware and as an example of writing commands to the driver.  JM605LIB.SA is assembled using the M605LIB.AF chain file. M605LIB.RO is theEFORTRAN-callable subroutine which, when called by the user program orJFORTRAN test program, will invoke the appropriate MVME605 driver function. ‰ENDN==============================================================================N==============================================================================NNNNN==============================================================================H====‚NEWSFILEFORAC/DCƒ(MVME610/620-AC/DCBOARD)ƒDRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N============================================================================== 8This driver is compatible with both RMS68K and VERSAdos. 4This driver package consists of the following files: ‰VME610/620Driverfiles:19992.&.M610DRV.SAˆMVME610/620DriverSourcefile19992.&.M610DRV.ROˆMVME610/620DriverObjectfile99992.&.M610DRV.AFˆMVME610/620DriverAssemblyChainfile <‰FilestoallocatememoryfortheInterruptProcessingqueue09992.&.M610MEM.AGŠFileassembledatSYSgentime49992.&.M610MEM.CIŠFileINCLUDEdintoSYSgencommandØfileatSYSgentime. ‰Filesforsystemconfiguration:%9992.&.M610DRV.CIŠCommandstoSYSgen"9992.&.M610IOC.SIŠCCBallocations 9992.&.M610DRV.LGŠLINKcommands#9998.VERSAPT.M610DRV.CF„Patchfile  /‰Thedrivernewsfilethatyouarenowreading:9992.&.M610DRV.NW‰Newsfile F‰MVME610/620DriverCommandandErrorCodeEquatefiles.TheseequatesB‹areusedbytheapplicationcodewhenmakingcallstothedriver.9995.&.M610CMD.EQ ?‰Thefollowingfilesareusedtogenerateadrivertestprogram9992.M610DRV.INPTST.LO: 79992.M610DRV.INPTST.SA…Pascalmainprogramsourcefile?9992.M610DRV.INTSTASM.SAƒSourceforassemblyprocedurescalledØfromPascalmainprogram59992.M610DRV.INPTST.PF…Pascalcompilationchainfile-9992.F M610DRV.INTSTASM.AFƒAssemblychainfile.9992.M610DRV.INPTST.LF…Testprogramlinkfile?9992.M610DRV.PDOLRLIB.ROƒSupplementaryPascalRun-timeLibrary @‰Thefollowingfilesareusedtogenerateasecondtestprogram: >‰9992.M610DRV.TEST610.SA‡AssemblylanguagetestprogramsourceA‰9992.M610DRV.TEST610.AF‡chainfileforassemblylanguageprogramA‰9992.M610DRV.TEST610.LF‡chainfileforlinkofasmlang.program7‰9992.M610DRV.TEST610.LO‡assemblylanguagetestprogram ²3»0Ć#Ė'Ó G‚ThefollowingfilesareusedtoassembleandlinktheFortrancallable"driver command subroutine library: 0‰9992.&.M610LIB.SAAssemblylanguagesourcefile‰9992.&.M610LIB.ROObjectfile&‰9992.&.M610LIB.AFAssemblychainfile M‚ToassembletheMVME610/620Driverexecutethechainfile9992.&.M610DRV.AF.9The following files are required to assemble this driver: ‰9995.&.STR.EQ‰9995.&.TR1RTCD.EQ‰9995.&.TCB.EQ‰9995.&.LV5.EQ‰9995.&.BAB.EQ‰9995.&.CCB.EQ‰9995.&.M610CCB.EQ‰9995.&.M610INTQ.EQ‰9995.&.M610CMD.EQ +SYSgen Procedure for the MVME610/620 Driver+------------------------------------------- <1.‚UseCOPYSGENtogetallthefilesrequiredfortheSYSgen7„totheusernumberwheretheSYSgenwillbeperformed.G„NOTE:‚Makesurethatargument5=PCDRVsotheProcessControlDrivers‹willbecopiedbyCOPYSGEN. K2.‚Editthe.CNFGDRVR.CIfileforgeneratingtheRMS68KorVERSAdosC„foryourtargetsystem.‚ModifytheSYSgenparameters"NVME610"andE„"NVME620".‚TheseparametersdefinethemaximumnumberofMVME610andD„NVME620boardsthatwilloccupythetargetsystem.OneothersysgenH„parameterthatmustbemodifiedisM610QSIZ.‚ThisparameterdefinestheI„minimumsizeoftheinterruptprocessingqueueintermsofthenumberofK„entriesthatthequeuemaycontain.‚ThedrivercanaccomodateamaximumofE„2048queueentries.‚FormoreinformationontheInterruptProcessing3„QueueconsulttheMVME610/620DriverUsersManual.  I3.‚EditthefileM610IOC.SIsothatonecalltotheCDBmacroismadeforJ„eachMVME610orMVME620boardthatwasspecifiedin.CNFGDRVR.CI.J„EachCDBmustspecifyauniquechannelmnemonic(i.e.'IN01').‚Thememory=„mappedI/OaddressoffsetcanbemodifiedinIOC.ADDRESS.CI.5„TheI/OchannelinterruptvectornumberandhardwareJ„interruptlevelspecifiedforeachCDBcanalsobemodifiedifnecessary.;„ConsulttheSYSgenUsersGuideforadditionalinformation.  F4. You may now run the SYSgen utility to generate a RMS68K or VERSAdos$ƒbootmoduleforyourtargetsystem. I‚AlsoprovidedwiththisdriverisalibraryofFortrancallableassemblyFlanguage subroutines that allow a Fortran application program to issueIcommands directly to the MVME610/620 driver. This library is contained infile M610LIB.RO. I‚IfthedriverstargetenvironmentincludesVERSAdos,youmaywishtorunMthe driver test program INPTST.LO to verify that you have an operable SYSgen. L‚ThistestprogramallowsyoutocreatemultipletasksandtoissuecommandsGfrom these tasks to the MVME610/620 driver by responding to prompts for1input commands via a single interactive terminal. J‚Whentheprogrambeginsexecuting,theuserispromptedforthenumberofKtasks that are to be created. The tasks that are spawned are exact replicasJof one another. After each task initializes itself, it waits for a command)from the user to be issued to the driver. F‚ThenameofthefirsttesttaskisdisplayedandtheuserisaskedtoNselect a command to be issued to the driver (i.e Open, Close, Enable, Disable,KStatus, or Wait). If the Open command is selected, the user is prompted forKthe channel mnemonic of the desired MVME61F 0/620 board and the number of theFchannel to be opened by the command. The user is then prompted for theFchannel number and configuration for each channel to be opened. If theKClose, Enable, Disable, or Status command is selected, the user is promptedIfor the MVME610/620 board channel mnemonic and the mask of channels to beHaffected by the command. After each command has been issued, the commandJstatus returned by the driver is displayed. If a Status command is issued,.the returned channel status is also displayed. G‚Afterthecommandstatusisreturned,theuserispromptedforanotherLcommand for the same task. The program will continue to request commands forLthe same test task until a CR only is entered in response to the prompt. TheGuser will then be prompted for commands to the next test task. When theKprogram has prompted for commands for each of the test tasks, it begins theJcycle again by prompting for commands for the first task. This loop may beKterminated by pressing the break key on the terminal after all open channelassignments have been closed. L‚Onceaninterruptchannelhasbeenopenedandinterruptshavebeenenabled,Ithe user may connect an input source to the channel to test the interruptFmechanism. Whenever an interrupt generating condition is detected on aKchannel (as specified in the channel configuration), the driver informs theLtest task that opened the channel of the interrupt via an event to the tasksLASQ or by issuing a WAKEUP to the task. When an interrupt event is received,Mthe task provides an external acknowledgement of the interrupt by pulsing oneFoutputs of a MVME625 Digital Output board that is assumed to reside atKaddress $FE6001 of the I/O channel. This pulse may be detected via standardJoscilloscope or by other available means. The program will accomodate uptoKtwo MVME610/620 boards with assumed channel mnemonics of 'IN01' and 'IN02'.NThe acknowledge pulse is sent to a unique MVME625 output for each interruptingchannel as follows: "„MVME610/620ƒInputChannel„MVME625…mnemonic‰NumberˆOutput"„-----------ƒ-------------„------- †IN0100 †IN0111 †IN0122 †IN0133 †IN0204 †IN0215 †IN0226 †IN0237 G‚WhenataskistobenotifiedofaninterruptviaaWakeup,aslightlyMdifferent procedure is used. After the channel has been opened and interruptsKhave been enabled, the user enters a Wait command to the task that assignedIthe channel. This command causes the task to be placed in a Wait state soKthat it can respond to the Wakeup to be issued to the driver. When a WakeupBis received, the test task pulses output 7 of the MVME625 board toGacknowledge the interrupt. Since only output 7 is used to acknowledge aNWakeup, receiving of Wakeup's by multiple tasks will result in all acknowledgeNpulses being superimposed on output 7. Also once a task has been placed in theNWait state, issuing a new command to the same task will cause the test program1to be suspended until the task recieves a Wakeup.   GM610DRV.TEST610.SA is an assembly language test program which tests theDMVME610driver.‚ThisprogrampromptstheusertorunasubsetofallDcommandsavailableinthedriver.‚ItcanbeusedasafirstcheckofAthe hardware and as an example of writing commands to the driver. NNG NNN' M615DRV NWēēą  M625DRV NW  *>  RADDRV NW 9 9„  RIODRV NW Z Zµ  IOCFAIL SA { {‘  600CMDSSA  gc  N==============================================================================F====‚NEWSFILEFORACO…(MVME615-ACOUTPUTBOARD)ƒDRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N============================================================================== 8This driver is compatible with both RMS68K and VERSAdos.   .This driver consists of the following files -- ‰MVME615driverfiles:-9992.&.M615DRV.SA†MVME615driversourcefile-9992.&.M615DRV.RO†MVME615driverobjectfile59992.&.M615DRV.AF†MVME615driverassemblychainfile  ‰Filesforallocatingmemory:09992.&.M615MEM.CIŠFileincludedatSYSgentime.09992.&.M615MEM.AGŠFileassembledatSYSgentime   ‰Files‚forsystemconfiguration:"9992.&.M615IOC.SIˆCCBallocations"9992.&.M615DRV.CIˆSYSGENcommands39992.&.M615DRV.LGˆChainfiletolinkinthedriver#9998.VERSAPT.M615DRV.CF‚Patchfile   ‰FORTRANinterfacesubroutines:09992.&.M615LIB.SA…Assemblylanguagesourcefile&9992.&.M615LIB.AF…Assemblychainfile9992.&.M615LIB.RO…Objectfile  ‰"News"file:9992.&.M615DRV.NW…Newsfile   "‰Filestogenerateatestprogram: ;‰9992.M615DRV.TESTAC.SAˆASSEMBLYlanguagetestprog.source=‰9992.M615DRV.TESTAC.AFˆchainfileforASSEMBLYlanguageasm.>‰9992.M615DRV.TESTAC.LFˆchainfileforLINKofasm.lang.prog6‰9992.M615DRV.TESTAC.LOˆASSEMBLYlanguagetestprogram @‰Thefollowingfilesareusedtogenerateasecondtestprogram: >‰9992.M615DRV.TEST615.SA‡AssemblylanguagetestprogramsourceA‰9992.M615DRV.TEST615.AF‡chainfileforassemblylanguageprogramA‰9992.M615DRV.TEST615.LF‡chainfileforlinkofasmlang.program7‰9992.M615DRV.TEST615.LO‡assemblylanguagetestprogram  KTheMVME615driversourcefileis:9992.&.M615DRV.SA.‚Toassemblethisfile%use the chain file 9992.&.M615DRV.AF.;The following files are used in the assembly of M615DRV.SA:9995.&.STR.EQ9995.&.TCB.EQ9995.&.CCB.EQ9995.&.LV5.EQ9995.&.TR1RTCD.EQßAč4š8ų4G 9995.&.M615DRV.EQ  >In order to incorporate this driver into your system, you will=have to set some parameters in the .CNFGDRVR.CI file. #This driver requires the following:;‰1)‚Memorymustbeallocatedfortheinternaldrivertable.9‰2)‚Achannelcontrolblock(CCB)mustbecreatedforthe6commandsissuedforeachMVME615boardinthesystem. HThe size of the memory area set aside for the driver table is determinedGbythevaluesoftwovariablesasspecifiedbyyouintheSYSGEN.‚These$variables are "NVME615" and "NU615". =NVME615ƒThisisthenumberofMVME615boardswhichwillbeon6Šthesystem.‚Sincetherecanbenomorethan16boards6ŠontheI/OChannel(whichiswheretheseboardsare),&Šthemaximumvalueof"NVME615"is16. 3NU615…Thisvariableissettothemaximumnumberof7Šuser/MVME615combinationsyouwishtoallowatanyone2Štime.‚Sinceitispossibletohaveoneuserusing;ŠmorethanoneMVME615board,aswellasmorethanoneuser4ŠusingthesameMVME615board,weneedthenumberofŠuser/MVME615combinations.   ?Example:‚IfuserAusesboard#1andboard#2,userBusesjust1Šboard#1,anduserCusesboard#2andboard#3,,Štherewouldbe5user/boardcombinations--ŠA/1,A/2,B/1,C/2,C/3.FIf the configuration of MVME615 boards is the same as in this example,$you would set NVME615=3 and NU615=5. INote that if you set either of these variables to a larger number than isHactuallyneeded,thesystemwillstilloperatenormally.‚ThiswouldjustBresult in having more memory allocated for internal tables than is necessary.  ?To include the MVME615 driver in your SYSgen, do the following: <‰(1)UseCOPYSGENtogetallthe‚filesneededfortheSYSgenyourSYSgenusernumber.7NOTE:‚Makesurethatargument5=PCDRVsotheProcess,”ControlDriverswillbecopiedbyCOPYSGEN. D‰(2)SetthevariablesNVME615andNU615inthe.CNFGDRVR.CI,filefortheprocessorboardyouareusing. 8‰(3)CheckthefileM615IOC.SItobesurethattheCCB'sconformtoyourconfiguration.   FWhen setting up the "CDB" calls please note that each ACO-ID must haveCauniquename.‚ThisisalsothenameanyapplicationtaskwoulduseFtoaddressthedriverforaboard.‚Thememory-mappedI/Oaddressesarealso different for each board. 1After creating and booting your VERSAdos with the>MVME615 driver included, you may want to run the provided test"program to test your VME615 board.  FTESTAC.SA is an assembly language test program which tests the MVME615Cdriver. This program provides as complete and comprehensive test ofCthe driver as is possible. It tests combinations of opens, outputs,Fpulses, closes, status, and error tests, and checks outputs and errors@forcorrectness.‚PleaseedititbeforeassemblingtospecifytheIcorrect ACO-ID and memory-mapped I/O address to match your configuration.   ETESTAC.SA is assembled with the chain file TESTAC.AF, and linked with1the file TESTAC.LF. The load module is TESTAC.LO.   GTo use the test program TESTAC.LO, provide an MVME615 board with output indicators on channels 0 thru 7.  +The tests made on the board are as follows:  <‰TEST1individuallyopenseachchannelontheboard,outputs7toit,checksstatus,turnsitoff,checksstatus,and5closes.Anyerrorsintheprocessareprintedonthe terminal. >‰TEST2individuallyopenseachchannel,outputstoit&checks8statusuntilallareon.Thenitindividuallyturnsoff9eachchannel&checksstatusuntilallareoff.Itturns'alloutputsbackonforthenexttest. ?‰TEST3closesthechannels.TheOPERATORofthetestmustcheckthattheoutputsturnoff. =‰TEST4opensallchannels,turnsthechannelsallon,delays,$turnsallchannelsoff,andcloses. @‰TEST5individuallyopenseachchannel,commandsapulseoutput,8delayslongenoughtobeabletoseethepulseend,andcloses. H ?‰TEST6opensfourchannels,commandspulseoutputsofdifferent9lengthstoeachsimultaneously,delaystobeabletoseeithappen,andcloses. A‰TEST7openschanneltwowith"queueevent"configuration,pulses:output,waitsforqueueevent,verifiesthemessagesent, andcloses.  ?‰TEST8openschannelonewith"waitforwake-up"configuration,.pulsesoutput,waitsforwake-up,andcloses. ;‰TEST9trysOUTPUTONwithchannelsclosedandverifiesthecommanderror.6trysOUTPUTOFFwithchannelsclosedandverifiesthecommanderror.7tryscheckingSTATUSwithchannelsclosedandverifiesthecommanderror.8trysPULSEoutputwiththechannelsclosedandverifiesthecommanderror. =‰TEST10trysopeninginvalidchannelnumbersandverifiesthecommanderrors.7(zerochannels,morethaneightchannels,channel#9,(andtwochannelswiththesamenumber). :‰TEST11opensvalidchannelsandtrysinvalidcommandsandverifieserrors.(commands0,6,7,&9). =‰TEST12trysopeningchannelsandthenopeningthemagainandverifiestheerror.  ;‰Thenthechannelsareclosed.Ifalltestsaresuccessful,3amessageisprintedsayingso.Ifanytestfails,anerrormessageisprinted.<‰Ifasecondboardisonthesystem,itreturnstoTEST1and(repeatsthetestsforthesecondboard.=‰Inaddition,iftwoboardsarepresent,athirdpassthrough6thetestsalternatesbetweentheboardstocheckbothatthesametime.  GM615DRV.TEST615.SA is an assembly language test program which tests theDMVME615driver.‚ThisprogrampromptstheusertorunasubsetofallDcommandsavailableinthedriver.‚ItcanbeusedasafirstcheckofAthe hardware and as an example of writing commands to the driver. ‰ENDN==============================================================================N==============================================================================N==============================================================================F====‚NEWSFILEFORDCO…(MVME625-DCOUTPUTBOARD)ƒDRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N============================================================================== 8This driver is compatible with both RMS68K and VERSAdos.   .This driver consists of the following files -- ‰MVME625driverfiles:-9992.&.M625DRV.SA‚MVME625driversourcefile-9992.&.M625DRV.RO‚MVME625driverobjectfile59992.&.M625DRV.AF‚MVME625driverassemblychainfile  ‰Files‚forallocatingmemory:/9992.&.M625MEM.CI‰FileincludedatSYSgentime09992.&.M625MEM.AG‰FileassembledatSYSgentime  ‰Filesforsystemconfiguration:"9992.&.M625DRV.CIˆSYSGENcommands"9992.&.M625IOC.SIˆCCBallocations39992.&.M625DRV.LGˆChainfiletolinkinthedriver#9998.VERSAPT.M625DRV.CF‚Patchfile   ‰FORTRANinterfacesubroutines:09992.&.M625LIB.SA…Assemblylanguagesourcefile&9992.&.M625LIB.AF…Assemblychainfile9992.&.M625LIB.RO…Objectfile  ‰"News"file:9992.&.M625DRV.NW…Newsfile   %‰Filestogeneratethetestprograms: ;‰9992.M625DRV.TESTDC.SAˆASSEMBLYlanguagetestprog.source=‰9992.M625DRV.TESTDC.AFˆchainfileforASSEMBLYlanguageasm.>‰9992.M625DRV.TESTDC.LFˆchainfileforLINKofasm.lang.prog6‰9992.M625DRV.TESTDC.LOˆASSEMBLYlanguagetestprogram 3‰9992.M625DRV.TSTDCO.SAˆFORTRANtestprogramsource=‰9992.M625DRV.TSTDLY.SAˆFORTRANtestprogramsubrtnfordelay?‰9992.M625DRV.TSTPR1.SAˆFORTRANtestprogramsubrtnerrorprint;‰9992.M625DRV.TSTDCO.AFˆchainfileforFORTRANcompiletest>‰9992.M625DRV.TSTDCO.LFˆlinksFORTRANtestprog.&libraryrtn6‰9992.M625DRV.TSTDCO.LOˆFORTRANtestprogramloadfile >‰9992.M625DRV.TEST625.SA‡AssemblylanguagetestprogramsourceA‰9992.M625DRV.TEST625.AF‡chainfileforassemblylanguageprogramA‰9992.M625DRV.TEST625.LF‡chainfileforlinkofasmlang.programH  : 8 4 7 !P )7‰9992.M625DRV.TEST625.LO‡assemblylanguagetestprogram  KTheMVME625driversourcefileis:9992.&.M625DRV.SA.‚Toassemblethisfile%use the chain file 9992.&.M625DRV.AF.;The following files are used in the assembly of M625DRV.SA:9995.&.STR.EQ9995.&.TCB.EQ9995.&.CCB.EQ9995.&.LV5.EQ9995.&.TR1RTCD.EQ9995.&.M625DRV.EQ  >In order to incorporate this driver into your system, you will=have to set some parameters in the .CNFGDRVR.CI file.  #This driver requires the following:;‰1)‚Memorymustbeallocatedfortheinternaldrivertable.9‰2)‚Achannelcontrolblock(CCB)mustbecreatedforthe6“commandsissuedforeachMVME625boardinthesystem. HThe size of the memory area set aside for the driver table is determinedGbythevaluesoftwovariablesasspecifiedbyyouintheSYSGEN.‚These$variables are "NVME625" and "NU625". =NVME625ƒThisisthenumberofMVME625boardswhichwillbeon6Šthesystem.‚Sincetherecanbenomorethan16boards6ŠontheI/OChannel(whichiswheretheseboardsare),&Šthemaximumvalueof"NVME625"is16. 3NU625…Thisvariableissettothemaximumnumberof7Šuser/MVME625combinationsyouwishtoallowatanyone2Štime.‚Sinceitispossibletohaveoneuserusing;ŠmorethanoneMVME625board,aswellasmorethanoneuser4ŠusingthesameMVME625board,weneedthenumberofŠuser/MVME625combinations.   ?Example:‚IfuserAusesboard#1andboard#2,userBusesjust1Šboard#1,anduserCusesboard#2andboard#3,,Štherewouldbe5user/boardcombinations--ŠA/1,A/2,B/1,C/2,C/3.FIf the configuration of MVME625 boards is the same as in this example,$you would set NVME625=3 and NU625=5. INote that if you set either of these variables to a larger number than isHactuallyneeded,thesystemwillstilloperatenormally.‚ThiswouldjustBresult in having more memory allocated for internal tables than is necessary.    ?To include the MVME625 driver in your SYSgen, do the following: <‰(1)UseCOPYSGENtogetallthefilesneededfortheSYSgenintoyourSYSgenusernumber.2NOTE:‚Makesureargument5=PCDRVsotheProcess+”ControlDriverswillbecopiedbyCOPYSGEN D‰(2)SetthevariablesNVME625andNU625inthe.CNFGDRVR.CI,filefortheprocessorboardyouareusing. 8‰(3)CheckthefileM625IOC.SItobesurethattheCCB'sconformtoyourconfiguration. FWhen setting up the "CDB" calls please note that each DCO-ID must haveCauniquename.‚ThisisalsothenameanyapplicationtaskwoulduseBtoaddressthedriverforaboard.‚Thememory-mappedI/Oaddresses"are also different for each board.  >After configuring your system and creating a VERSAdos with the>MVME625 driver included, you may want to run the provided test=programs.‚TwoareassemblylanguageandonerequiresFortran.ABothofthetestprogramsrequireVERSAdos.‚Allthetestprograms=contain the catalog name M625DRV and are in user number 9992.  FTESTDC.SA is an assembly language test program which tests the MVME625Cdriver. This program provides as complete and comprehensive test ofCthe driver as is possible. It tests combinations of opens, outputs,Fpulses, closes, status, and error tests, and checks outputs and errors@forcorrectness.‚PleaseedititbeforeassemblingtospecifytheIcorrect DCO-ID and memory-mapped I/O address to match your configuration.   ETESTDC.SA is assembled with the chain file TESTDC.AF, and linked with1the file TESTDC.LF. The load module is TESTDC.LO.   GTo use the test program TESTDC.LO, provide an MVME625 board with output indicators on channels 0 thru 7.  +The tests made on the board are I as follows:  <‰TEST1individuallyopenseachchannelontheboard,outputs7toit,checksstatus,turnsitoff,checksstatus,and5closes.Anyerrorsintheprocessareprintedonthe terminal. >‰TEST2individuallyopenseachchannel,outputstoit&checks8statusuntilallareon.Thenitindividuallyturnsoff9eachchannel&checksstatusuntilallareoff.Itturns'alloutputsbackonforthenexttest. ?‰TEST3closesthechannels.TheOPERATORofthetestmustcheckthattheoutputsturnoff. =‰TEST4opensallchannels,turnsthechannelsallon,delays,$turnsallchannelsoff,andcloses. @‰TEST5individuallyopenseachchannel,commandsapulseoutput,8delayslongenoughtobeabletoseethepulseend,andcloses. ?‰TEST6opensfourchannels,commandspulseoutputsofdifferent9lengthstoeachsimultaneously,delaystobeabletoseeithappen,andcloses. A‰TEST7openschanneltwowith"queueevent"configuration,pulses:output,waitsforqueueevent,verifiesthemessagesent, andcloses.  ?‰TEST8openschannelonewith"waitforwake-up"configuration,.pulsesoutput,waitsforwake-up,andcloses. ;‰TEST9trysOUTPUTONwithchannelsclosedandverifiesthecommanderror.6trysOUTPUTOFFwithchannelsclosedandverifiesthecommanderror.7tryscheckingSTATUSwithchannelsclosedandverifiesthecommanderror.8trysPULSEoutputwiththechannelsclosedandverifiesthecommanderror. =‰TEST10trysopeninginvalidchannelnumbersandverifiesthecommanderrors.7(zerochannels,morethaneightchannels,channel#9,(andtwochannelswiththesamenumber). :‰TEST11opensvalidchannelsandtrysinvalidcommandsandverifieserrors.(commands0,6,7,&9). =‰TEST12trysopeningchannelsandthenopeningthemagainandverifiestheerror.  ;‰Thenthechannelsareclosed.Ifalltestsaresuccessful,3amessageisprintedsayingso.Ifanytestfails,anerrormessageisprinted.<‰Ifasecondboardisonthesystem,itreturnstoTEST1and(repeatsthetestsforthesecondboard.=‰Inaddition,iftwoboardsarepresent,athirdpassthrough6thetestsalternatesbetweentheboardstocheckbothatthesametime.      JM625LIB.SAisassembledusingtheM625LIB.AFchainfile.‚M625LIB.ROistheEFORTRAN-callable subroutine which, when called by the user program orJFORTRAN test program, will invoke the appropriate MVME625 driver function.   BTSTDCO.SA is a FORTRAN example test program which uses the driver.EThe purpose in providing the FORTRAN test program is to give the userEa relatively simple way to check out a new system with software whichis known to work correctly.   FTSTDCO.SA, TSTDLY.SA, and TSTPR1.SA are Fortran compiled with the fileETSTDCO.AF.‚FileTSTDCO.LFlinksthetestroutineswithM625LIB.ROandFFORTLIB.RO (and FORTVMC.RO for the VMC or VME systems) and creates theprogram TSTDCO.LO.  ETo use test program TSTDCO.LO, provide a board with output indicators+onchannels0thru7.‚ThenRUNtheprogram.  BThe result will be observable on the output indicators as follows:  ?‰indicators0thru7willturnonindividuallyatapproximately‰onesecondintervals.“FORN=1to8OPENchannelN-1turnonindicatorN-1waitonesecondreadoutputstatusverifyindicatorN-1onturnoffindicatorN-1CLOSE“NEXTN A‰indicators0thru7willturnononeatatimeuntilallareon.“FORN=1to8OPENchannelN-1turnonindicatorN-1waitonesecondreadoutputstatus"verifyindicators0toN-1areon“NEXTN“waitonesecond“CLOSE“waitonesecond “readstatus“verifyoutputsareoff "‰indicators‚0thru7willturnon. “OPENall“turnonallindicators“waitonesecond“turnOFFallindicators“verifyallindicatorsareoff“CLOSE ,‰indicatorswillbePUI LSEDononeatatime.4‰(defaultconfiguration-nowake-uporqueueevent) “OPENall“FORN=1TO8PULSEindicatorN-1waitonesecond“NEXTN“CLOSE 7‰CLOSEallchannelsandtryallcommands.Verifyerror.“DCOUT‚command “DCOOFFƒ" “DCOSTAƒ" “DCOPLSƒ" “DCOPENƒ"6‰TryDCOPENafteritisalreadyopenandverifyerror.  ;‰Checkforasecondboardonthesystemandrepeatthetest‰ifoneispresent.  GM625DRV.TEST625.SA is an assembly language test program which tests theDMVME625driver.‚ThisprogrampromptstheusertorunasubsetofallDcommandsavailableinthedriver.‚ItcanbeusedasafirstcheckofAthe hardware and as an example of writing commands to the driver. ‰ENDN==============================================================================N==============================================================================NNNNNN==============================================================================L====‚NEWSFILEFORRAD1(REMOTEANALOG-TO-DIGITALBOARD)DRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N==============================================================================   3RAD1 Driver is compatible with RMS68K and VERSAdos.   /This release consists of the following files -- ‰RAD1Driverfiles:)“9992.&.RADDRV.SA…RAD1driversourcefile1“9992.&.RADDRV.AF…RAD1driverassemblychainfile)“9992.&.RADDRV.RO…RAD1driverobjectfile ‰Fileforallocatingmemory:,“9992.&.RADMEM.AG…Fileforallocatingmemory.“9992.&.RADMEM.CI…Fileincludedatsysgentime ‰Filesforsystemconfiguration:5“9992.&.RADDRV.CI…SysgenincludefileforRAD1driver3“9992.&.RADDRV.LG…ChainfiletolinkinRAD1driver!“9992.&.RADIOC.SI…CCBallocations7“9992.&.IOCFAIL.SA„Boardfailuremonitorroutinesource.“9992.&.IOCFAIL.AF„IOCFAILassemblychainfile .“9992.&.IOCINT.LG…ChainfiletolinkinIOCINT0“9992.&.IOCFAIL.LG„ChainfiletolinkinIOCFAIL"“9998.VERSAPT.RADDRV.CFPatchfile ‰FilesassembledduringSYSGEN:4“9992.&.IOCINT.AG…CCBallocationroutinesourcefile ‰FORTRANinterfacesubroutines:/“9992.&.RADLIB.SA…Assemblylanguagesourcefile%“9992.&.RADLIB.AF…Assemblychainfile“9992.&.RADLIB.RO…Objectfile ‰"News"file:“9992.&.RADDRV.NW…Newsfile   JTheRAD1driversourcefileis:‚RADDRV.SA.‚Toassemblethisfile,usetheKchainfile:‚RADDRV.AF.‚Thefollowingequatefilesareusedintheassembly of RADDRV:“9995.&.STR.EQ“9995.&.TCB.EQ“9995.&.CCB.EQ“9995.&.LV5.EQ“9995.&.RADDRV.EQ   BIn order to incorporate the RAD1 driver into your system, you will.CNFGDRVR.CI file.   'The RAD1 driver requires the following:<‰1)‚Memorymustbeallocatedfortheinternaldrivertables.9‰2)‚Achannelcontrolblock(CCB)mustbecreatedforthe 1A :4 B$ J 6“datainterrupt(level3interrupt)oneachRAD1board“inthesystem.9‰3)‚ACCBmustbecreatedfortheboard-failureinterrupt-“(level4interrupt)oneachRAD1boardwhich+“doesnothavethisinterruptdisabledbya“jumperontheboard.   IThe size of the memory area set aside for the driver tables is determinedKby the values of two variables as specified by you in .CNFGDRVR.CI.'These variables are "NRAD" and "NURAD". 7NRAD†ThisisthenumberofRAD1boardswhichwillbeon6Šthesystem.‚Sincetherecanbenomorethan16boards9ŠontheI/OChannel(whichiswheretheRAD1boardsare),#Šthemaximumvalueof"NRAD"is16. 3NURAD…Thisvariableissettothemaximumnumberof4Šuser/RAD1combinationsyouwishtoallowatanyone2Štime.‚Sinceitispossibletohaveoneuserusing8ŠmorethanoneRAD1board,aswellasmorethanoneuser1ŠusingthesameRAD1board,weneedthenumberofŠuser/RAD1combinations. ,Example:‚IfuserAusesRAD1#1andRAD1#2,ŠuserBusesjustRAD1#1,%ŠanduserCusesRAD1#2andRAD1#3,+Štherewouldbe5user/RAD1combinations--ŠA/1,A/2,B/1,C/2,C/3.CIf the configuration of RAD1 boards is the same as in this example,!you would set NRAD=3 and NURAD=5. INote that if you set either of these variables to a larger number than isHactuallyneeded,thesystemwillstilloperatenormally.‚ThiswouldjustBresult in having more memory allocated for internal tables than is necessary. JThe variables NRAD and NURAD are defined in the file .CNFGDRVR.CI.FYou will have to edit this file to reflect the correct values of these,variables for your particular configuration.   BThe code to allocate memory for the RAD1 driver internal tables iscontained in the file RADMEM.AG   EYour SYSGEN will set up a task which will allocate the CCB's (channelAcontrol blocks) for the RAD1 boards during system initialization.IThe file IOCINT.AG is included in this release to simplify the allocation2oftheCCB's.‚ThefileRADIOC.SIhasbeenincluded5to give you an example of the set-up used to pass theEinformation on each RAD1 board to the program which builds the CCB's. 8When setting up the "CDB" calls, remember the following: '1)ƒTheRAD-IDisa4-charactermnemonicE…suchas"RA01"forthefirstRAD1board,"RA02"forthesecond,etc.J…EachRAD1boardnormallyhastwoCCB's--oneforinterruptlevel3(normalF…interrupts)andoneforinterruptlevel4(board-failureinterrupts).H…WhileeachCCBmusthaveadifferentRAD-ID,thelevel-4CCBforaRAD1H…boardmustuseforitsRAD-ID‚$00004000morethanthe4-byteASCIIcodeE…fortheRAD-IDofthecorrespondinglevel-3CCB.‚ThisissothattheI…drivercanfindthelevel-3CCBforaparticularRAD1boardwhenitgets…alevel-4interruptH…(board-failureinterrupt).‚Forexample:ifthelevel-3CCBhasaRAD-IDF…of"RA01",thenthelevel-4CCBforthatboardmustuse"RA41"asitsE…RAD-ID.‚Similarly,if"RA13"isthelevel-3RAD-ID,thenthelevel-4$…CCBmusthave"RA53"asitsRAD-ID. M2)ƒWhenmodifyingthe.CNFGDRVR.CIfileforyourparticularsituation&…youshouldrememberthatinthe"CDB"E…macrocalls,theaddressofthememory-mappedI/Ospace(shared-RAM)G…isthesameforbothCCB'sforeachRAD1board.‚AlsothelengthoftheH…memory-mappedI/Ospaceissetat511sinceshared-RAMstartsonanodd(…address(fromthe68000pointofview).   ?IOCFAIL.SA‚isanoptionaltaskwhichwillbe"called"J byhaving@an event queued to it when a board-failure interrupt is receivedDbythedriver.‚Thedevicetable("DEVTBL")inIOCFAILmustbesetupJwith the device mnemonic (RAD-ID) of all the level-4 CCB's that IOCFAIL isItobeattachedto.‚ThedevicetableintheIOCFAILfilegivenhereissetNup for two RAD1 boards as a sample -- the level-4 CCB RAD-ID's for these beingL"RA41"and"RA42".‚InitspresentformIOCFAILsetsuptoreceivetheevent,Kbutdoesn'treallydoanythingwhentheeventisreceived.‚YouwillhavetoGadd whatever programming is necessary to the "receive-event" routine toIhave this program perform the processes you deem necessary in the case ofFaRAD1boardfailure.‚Ifyouchoosetodonothingwhenaboardfailure;occurs, this task can be left out of the SYSGEN altogether.   CRADLIB.SA‚and‚RADLIB.RO‚aretheFORTRAN-callablesubroutineswhich,Hwhen called by the user program, will invoke the appropriate RAD1 driver function. N==============================================================================NNNNNN==============================================================================B====‚NEWSFILEFORRIO(REMOTEINPUT/OUTPUT)DRIVERRELEASE‚===="====‚Lastmodified-01/31/85¬====N==============================================================================  2RIO Driver is compatible with RMS68K and VERSAdos.   /This release consists of the following files -- ‰RIODriverfiles:(“9992.&.RIODRV.SA„RIOdriversourcefile0“9992.&.RIODRV.AF„RIOdriverassemblychainfile(“9992.&.RIODRV.RO„RIOdriverobjectfile-“9992.&.STDMACRO.AI‚MacrosusedinRIOdriver ‰Fileforallocatingmemory:,“9992.&.RIOMEM.AG„Fileforallocatingmemory.“9992.&.RIOMEM.CI„Fileincludedatsysgentime ‰Fileforsystemconfiguration:!“9992.&.RIOIOC.SI„CCBallocations4“9992.&.RIODRV.CI„SysgenincludefileforRIOdriver2“9992.&.RIODRV.LG„ChainfiletolinkinRIOdriver.“9992.&.IOCINT.LG„ChainfiletolinkinIOCINT"“9998.VERSAPT.RIODRV.CFPatchfile ‰FilesassembledduringSYSGEN:4“9992.&.IOCINT.AG„CCBallocationroutinesourcefile ‰Testprogramfiles/“9992.RIODRV.TESTE.SAƒExampleprogramusingRIOŖdriverinwait_for_eventmode.*“9992.RIODRV.TESTE.AFƒAssemblychainfile.1“9992.RIODRV.TESTE.LFƒChainfiletolinkinTESTE4“9992.RIODRV.TESTE.LOƒAssemblylanguagetestprogram @‰Thefollowingfilesareusedtogenerateasecondtestprogram: =‰9992.RIODRV.TESTRIO.SA‡Assemblylanguagetestprogramsource@‰9992.RIODRV.TESTRIO.AF‡chainfileforassemblylanguageproK gram@‰9992.RIODRV.TESTRIO.LF‡chainfileforlinkofasmlang.program6‰9992.RIODRV.TESTRIO.LO‡assemblylanguagetestprogram ‰FORTRANinterfacesubroutines:/“9992.&.RIOLIB.SA„Assemblylanguagesourcefile%“9992.&.RIOLIB.AF„Assemblychainfile“9992.&.RIOLIB.RO„Objectfile ‰"News"file:“9992.&.RIODRV.NW„Newsfile  ITheRIOdriversourcefileis:‚RIODRV.SA.‚Toassemblethisfile,usetheKchainfile:‚RIODRV.AF.‚Thefollowingequatefilesareusedintheassembly of RIODRV: R: [8 c, k“9995.&.STR.EQ“9995.&.TCB.EQ“9995.&.CCB.EQ“9995.&.LV5.EQ“9995.&.RIODRV.EQ“9995.&.TR1RTCD.EQ  AIn order to incorporate the RIO driver into your system, you will6have to modify items in the .CNFGDRVR.CI file.  &The RIO driver requires the following:<‰1)‚Memorymustbeallocatedfortheinternaldrivertables.:‰2)‚Achannelcontrolblock(CCB)mustbecreatedforeach5interruptlevelforwhichtheRIOboardisjumpered.   IThe size of the memory area set aside for the driver tables is determinedCbytwovariablesasspecifiedbyyouin.CNFGDRVR.CI.‚These$variables are "NRIO", and "NRIOINT". 6NRIO†ThisisthenumberofRIOboardswhichwillbeon6Šthesystem.‚Sincetherecanbenomorethan16boards8ŠontheI/OChannel(whichiswheretheRIOboardsare),#Šthemaximumvalueof"NRIO"is16. GNRIOINTƒThisvariableissettothenumberofhardwareinterruptlevels>ŠforwhichtheRIOboardswillbejumpered.‚Theminimumnumber"Šis1andthemaximumnumberis4. :Note that if you set either of these variables larger thanHactuallyneeded,thesystemwillstilloperatenormally.‚ThiswouldjustBresult in having more memory allocated for internal tables than is necessary. LThe variables NRIO and NRIOINT are defined in the file .CNFGDRVR.CI.FYou will have to edit this file to reflect the correct values of these,variables for your particular configuration.   AThe code to allocate memory for the RIO driver internal tables is contained in the file RIOMEM.AG.   EYour SYSGEN will set up a task which will allocate the CCB's (channel@control blocks) for the RIO boards during system initialization.IThe file IOCINT.AG is included in this release to simplify the allocation2oftheCCB's.‚ThefileRIOIOC.SIhasbeenincluded5to give you an example of the set-up used to pass theDinformation on each RIO board to the program which builds the CCB's. 8When setting up the "CDB" calls, remember the following: '1)ƒTheRIO-IDisa4-charactermnemonicE…suchas"RIO1"forthefirstRIO1board,"RIO2"forthesecond,etc.  CRIOLIB.SA‚and‚RIOLIB.RO‚aretheFORTRAN-callablesubroutineswhich,Gwhen called by the user program, will invoke the appropriate RIO driver function.  FTESTE.SA is an example program written in assembly language which uses?theRIOdriver.‚Thepurposeinprovidingthetestprogramisto?give the user a relatively simple way to check out a new system/with software which is known to work correctly. 3To use the test program as is, provide an RIO board:with input relays in locations 0,1,2,3 and 10, and provideDoutputrelaysinlocations5,7,8,and9.‚Connectanelectronicpulse@generator to input 0, with the ON pulse time of 10 milliseconds,Lamp5willalternateon/offatthepulserepetitionrate.<„>Lamps7,8,9willturnontogetherateachinputONpulse,9†thenwillgooutinsequence7-8-9(theyareonchannels†performingpulsedoutput). EChannel 0 is set to cause an interrupt on falling edge, so it's inputBneeds toK  be low (OFF) for the period of the debounce time which isB512milliseconds.‚Withthepulsegeneratorsetasdescribedabove,?thisrequirementismet.‚IftheinputpulseOFFtimeisreducedCto below 512 milliseconds, the debounce requirement will not be met%and the input signal will be ignored. milliseconddebounce.‚Tomakechannel1signalsberecognized,The test program disables channel 1 interrupts after recievingA10 interrupts on that channel, then re-enables them after another610 interrupts (which must come in on another channel). AThe test program sets channel 2 for interrupt on rising edge withBno debounce, and sets channel 3 for interrupt on falling edge with no debounce. EChannel 10 is set for input with interrupts disabled, and will return>it's input state to the 'returned command status' field in theRIO parameter block. FSince the test program is configured to recieve interrupt notificationBvia a 'queued event', each recognized interrupt will place a dummy@messageinthetesttaskA.S.Q..‚Theroutine'TESTIRQ'movestheAmessage from the ASQ (which is not directly acessable by the user?task'TESTE')tothetaskrecieverbuffer,definedasRCVBUF‚inTESTE. FRIODRV.TESTRIO.SA is an assembly language test program which tests the@RIOdriver.‚ThisprogrampromptstheusertorunasubsetofallDcommandsavailableinthedriver.‚ItcanbeusedasafirstcheckofAthe hardware and as an example of writing commands to the driver. N==============================================================================NNN0IOCFAILƒIDNTƒ1,0BoardFailMontiorTask4-28-82 ŠOPTPCS,FRSM*----------------------------------------------------------------------------*-*ˆIOCFAIL‚I/OCHANNELBOARDFAILHANDLERTASK**ˆVersion1.0‚4/27/82(C313)*<*ˆThistaskisashelltohandleboardfails,ifsodesired.:*ˆItgetsanASQtobeabletoreceiveeventsfromdrivers;*ˆwhichcanreceiveboardfailinterrupts.Itthenattaches>*ˆtoeachdriveritwantstomonitor.Theattachcallusesthe9*ˆsamedevicenameasthelevel4CCBallocatecallused.:*ˆThesedevicenamesareenteredinthistaskbytheuser.*;*ˆThistaskacceptseventsfromI/OChanneldevicedrivers.:*ˆAneventisqueuedtothistaskwheneveradevicedriver<*ˆexperiencesaboardfailinterrupt.‚Assupplied,thistask=*ˆonlyreadstheevent.‚Theusermayaddtooreliminatethis*ˆtaskaccordingtohisneeds.*N*-----------------------------------------------------------------------------* *ˆEQUATES*8NOFDEV„EQU„16‘maximumnumberofI/Ochanneldevicesthis%*§maybechangedtotheactualnumber&*§ofI/Ochanneldevicesonthesystem*"MSGLNG„EQU„10‘eventmessagelength*%QUELNG„EQU„MSGLNG*NOFDEV†queuelength*1ASQOPT„EQU„$D‘ASQoptions:don'tstackregisters,*§enableAL SQandASR*%GTASQ…EQU„31‘GetASQdirectivenumber-WTEVNT„EQU„36‘Waitforeventdirectivenumber)RDEVNT„EQU„34‘Readeventdirectivenumber0RTEVNT„EQU„37‘Returnfromeventdirectivenumber+TERM†EQU„15‘Terminatetaskdirectivenumber.CMR‡EQU„60‘Channelmanagementdirectivenumber**‰Eventlayout* ŠOFFSET0 EVTLNG„DS.Bƒ1’eventlength($0A)EVTCOD„DS.Bƒ1’eventcodeƒ($09) EVTDEV„DS.Lƒ1’faileddevicename5EVTADR„DS.Lƒ1’faileddevicememorymappedI/OaddressŠPAGE ŠSECTION0*+*‰TaskCreationDateandVersionIdentifier*D‰EQU„*’startofdataŠDC.Bƒ'0428821'‰identifier**‰DeviceNameTable*6*‰THISTABLETOBEMODIFIEDFOREACHDEVICETOMONITOR**‰tablestructure: s? |I „ 0*‰multiple4bytefieldscontainingdevicenames8*‰last4bytefieldsettozerotoindicateendoftable*-DEVTBL„DC.Lƒ'RA41'attachtolevel4RAD1CCB ŠDC.Lƒ'RA42'ŠDC.Lƒ0’endoftable**‰misc.dataarea*7TRP1PB„DS.Bƒ22‘Trap1parameterblockusedbyallcallsŠDS.Bƒ8’Stackarea STACK…EQU„* PAGE* *‰ENTRYPOINT* *‰getanASQ*'IOCFAILƒLEA„STACK(PC),A7‡loadthestack.ŠLEA„TRP1PB(PC),A1†getparameterblockaddress"ŠMOVE.LA1,A0ŽsaveitforthecallŠCLR.L‚(A1)+ŽtasknameŠCLR.L‚(A1)+Žsession%ŠMOVE.B#ASQOPT,(A1)+†settheoptions$ŠMOVE.B#MSGLNG,(A1)+†messagelength"ŠMOVE.L#QUELNG,(A1)+†queuelength"ŠLEA„IOCASR(PC),A2†GetASRaddressŠMOVE.LA2,(A1)+‹ASRaddressŠCLR.W‚(A1)notused*ŠMOVE.L#GTASQ,D0ŠgetASQdirectivenumberŠTRAPƒ#1‘getanASQ(ŠBNE.S‚ERRORŽbranchifanerrorreturned*.*‰attachtoalldeviceslistedindevicetable"*‰thesearethedevicestomonitor*+ŠLEA„DEVTBL(PC),A2†getdevicetableaddress-IOCATT„TST.L‚(A2)adevicelefttoattachto?(ŠBEQ.S‚IOCWAITŒbranchifnodevicesleft-ŠMOVE.LA0,A1ŽrestoreparameterblockaddressŠMOVE.B#3,(A1)+‹attachcodeŠCLR.B‚(A1)+Žnotused'ŠMOVE.W#1,(A1)+‹setqueueeventoption9ŠMOVE.L(A2)+,(A1)+ˆsetdevicenamefromthedevicetable(ŠMOVE.W#MSGLNG,(A1)+†setmessagelengthŠCLR.L‚(A1)+ŽusedefaultASRŠCLR.L‚(A1)+Žnotused3ŠMOVE.L#CMR,D0ŒchannelmanagementdirectivenumberŠTRAPƒ#1‘dotheattach*ŠBRA„IOCATTgoseeifanotherattachtodo**‰waitforanevent*9IOCWAITƒMOVE.L#WTEVNT,D0‰waitforeventdirectivenumberŠTRAPƒ#1‘dothewait**‰USERCODEMAYBEADDEDHERE*#ŠBRA„IOCWAITŒgowaitfornexteventŠPAGE*"*‰IOCASR„readtheeventandreturn*“registersarenotstacked* IOCASR„EQU„*5ŠLEA„TRP1PB(PC),A0†Gettrap1parameterblockaddress.ŠMOVE.L#RDEVNT,D0‰readeventdirectivenumberŠTRAPƒ#1‘readtheevent(ŠBNE.S‚ERRORŽbranchifanerrorreturned**‰theeventisnowatTRP1PB*‰USERCODEMAYBEADDEDHERE*%ŠMOVE.L#1,A0ŽreturnwithASRenabled5ŠMOVE.L#RTEVNT,D0‰returnfromeventdirectivenumberŠTRAPƒ#1‘returnfromthisevent*2*‰terminatethistaskifreceiveanytrap1errors*5ERROR…MOVE.L#TERM,D0‹terminatetaskdirectivenumberŠTRAPƒ#1‘dothetermination ŠEND„IOCFAIL NNL NNNN‰TTL‡5.‚CommandServiceSection‰PAGE*š5.‚CommandServiceSection*G*‡Recall‚againthatCMRviewsanI/Odriver(suchastheA/Ddriver)asL*‚acollectionofthreemajorsubroutines.‚Onesubroutine,whichhasalreadyJ*‚been‚presented‚for‚theA/Ddriver,isusedatchannel-allocationtimetoG*‚initializetheI/Odevice(s)onthechannel‚that‚is‚served‚by‚the‚I/OF*‚driver‚and‚to‚perform‚any‚other‚initialization‚stepsthatthedriverL*‚requires.‚AnothersubroutineisusedforrespondingtoanI/OcommandthatK*‚was‚ultimately‚generatedbyausertask,andthethirdsubroutineisusedK*‚torespondtoaninterruptfromadeviceonthechannelthatis‚served‚by*‚theI/Odriver.*D*‡This‚section‚of‚the‚listingfortheRMS68KA/DdrivercontainstheI*‚command-processingsubroutinethatiscalledbyCMR‚when‚CMR‚receives‚aI*‚command‚to‚perform‚anI/OtransactionwiththeA/Ddriver.‚ThissectionM*‚alsoincludesseveralsubsidiaryroutinesthatareusedbytheA/Ddriver's Œ ‘ • ™  ” „" © ­ ± µ ¹ ½ Į Å É Ķ Ń Õ Ł Ż į' å  é ķ ń  *‚command-processingsubroutine.!‰TTL‡5.1.‚CommandSwitchingTable*‰PAGE*™5.1.‚CommandSwitchingTable*F*‡Thisswitchingtableisusedbythecommand-processing‚subroutine‚toK*‚route‚control‚totheparticularroutinethatrespondstothecommandthatH*‚hasbeenreceived.‚TheCMD_CODE(i.e.,command-code)‚field‚in‚the‚IOCBH*‚specifies‚the‚particular‚command‚that‚isrequested,andwesearchthisL*‚switchingtabletofindamatchforthegivenCMD_CODEvalue.‚IfwefindaJ*‚match‚for‚the‚CMD_CODEvalue,wetransfercontroltotheroutinethatisL*‚specifiedintheswitchingtableforthegivenCMD_CODEvalue.‚Ifwedon'tJ*‚find‚the‚given‚CMD_CODEvalueintheswitchingtable,wereturnastatusH*‚codetotelltheusertaskthattheCMD_CODEvalue‚is‚invalid.ƒIn‚this(*‚case,ofcourse,weabortthecommand.*D*‡Each‚entry‚in‚thecommandswitchingtablecontainstwofields.‚TheH*‚firstfieldcontainsa16-bitunsigned‚relative‚offset‚that‚yields‚theK*‚address‚of‚theroutinethatrespondstothegivencommand,andthesecondJ*‚fieldcontainsthe16-bitCMD_CODEvalueforthecommand.‚Theend‚of‚theI*‚switching‚table‚is‚marked‚byazerosentinelwordinthepositionofan*‚offsetvalue.*A*‡Noticethatweusea‚relative‚offset‚instead‚of‚using‚an‚actualK*‚address.‚Thisapproachhastwoadvantages.‚ThefirstadvantageisthatbyK*‚usinganoffsetwecaneasilywriteposition-independentcode.‚The‚secondJ*‚advantage‚is‚that‚wecansavememorybyusinga16-bitoffsetinsteadof%*‚usingalong-wordabsoluteaddress.*B*‡TheA/Ddriversearchesthis‚switching‚table‚by‚using‚a‚straightG*‚linear‚search.ƒA‚straight‚linear‚searchturnsouttobefasterthanaL*‚binarysearchbecausetheM tableistooshorttojustifytheadded‚overheadF*‚of‚binary‚searching.ƒIf‚the‚table‚everexpandstocontain25ormoreL*‚entries,abinarysearchshouldbeconsidered.‚ForatablewithfewerthanH*‚25‚entries,‚however,‚a‚linear‚searchisgenerallyfasterthanabinaryI*‚search.‚Maximumspeedwithalinearsearchcanbeachieved‚if‚the‚tableI*‚entries‚are‚ordered‚with‚theentriesthatareusedmostoftenappearingL*‚nearestthebeginningofthetable.‚Sincetheswitchingtableissoshort,M*‚though,thetableentriesareorderedlogicallyinsteadofbeingorderedby!*‚usagetoachievemaximumspeed.*B*‡ThevalidCMD_CODEvaluesfor‚the‚A/D‚driver‚are‚the‚consecutiveH*‚integers‚from‚zero‚through‚four,‚sowecouldeasilyuseadirecttableL*‚lookupapproachinsteadofsearchingtheswitchingtable.‚However,atableL*‚search‚ismoregeneralthanadirecttablelookup,soweusethesearchto(*‚ensureflexibilityforfuturechanges.  ?CMDSWIT‚DC.W…OPEN_CMD-*-4‹TheopencommandtellstheA/Ddriver0‰DC.W…OPEN‘to‚open‚thespecifiedA/Dmeasurement%*¦channel(s)fortherequestingtask. *Ā(Continued)-‰PAGEš#######################################1‰DC.W…MEAS_S-*-4The‚single-endedƒmeasureƒcommand9‰DC.W…MEASURE+SINGLE‡tells‚the‚A/D‚drivertomakezeroor)*¦moresingle-endedmeasurementsfromthe#*¦specifiedmeasurementchannel(s). 1‰DC.W…MEAS_D-*-4Theƒdifferentialƒmeasure‚command7‰DC.W…MEASURE+DIFF‰tellstheA/Ddriverto‚make‚zero‚or)*¦moredifferentialmeasurementsfromthe)*¦specifieddifferentialchannelpair(s). 8‰DC.W…STOP_CMD-*-4‹ThestopcommandtellstheA/Ddriver2‰DC.W…STOP‘toterminatethemeasurecommand(s),if#*¦any,ƒthat‚are‚presently‚using‚the%*¦specified‚measurement‚channel(s)ƒor*¦differentialchannelpair(s). 2‰DC.W…CLOSECMD-*-4‹Theƒclose‚command‚tells‚the‚A/D0‰DC.W…CLOSEdrivertocloseall‚of‚the‚specified)*¦measurementchannel(s)andtomakethem#*¦availableforusebyothertasks. -‰DC.W…0–Thiszerosentinelwordinthenormal'*¦position‚of‚anoffsetvaluemarksthe%*¦endofthecommandswitchingtable.1‰TTL‡5.2.‚SubroutineCOMMANDS(CommandProcessor)‰PAGE.*‘5.2.‚SubroutineCOMMANDS(CommandProcessor)*H*‡SubroutineCOMMANDSiscalledfromCMRwheneverCMRreceivesacommandJ*‚fromausertasktoinitiateanI/OtransactionwiththeA/D‚driver.ƒAnyM*‚commandthatinvokessubroutineCOMMANDSintheA/DdriverisconsideredtoI*‚beacommandthatinitiatesanI/Otransactionwith‚the‚driver,‚so,‚forL*‚example,‚acommandtoopenorcloseameasurementchannelisconsideredtoM*‚beacommandtoinitiateanI/OtransactionwiththeA/DdrivereventhoughH*‚such‚a‚command‚doesn't‚result‚directlyinanI/OoperationwithanA/D*‚board.*E*‡UponentrytosubroutineCOMMANDSregisterA2‚contains‚the‚physicalH*‚memory‚address‚of‚the‚CMR‚parameterblockforthecommand,registerA5L*‚containsthephysicalmemoryaddressoftheA/Dchannel'sCCB,register‚A6L*‚contains‚thephysicalmemoryaddressoftheTCBthatgovernsthetaskthatI*‚invokedCMR,andtheprocessorisinsupervisor‚mode‚at‚interrupt‚levelI*‚zero.ƒThe‚following‚diagramgraphicallysummarizestheentryconditions;*‚forsubroutineCOMMANDSinthecaseofatypicalcommand.**2*TypicalEntryConditionsforSubroutineCOMMANDS*1*‰+-----------+‰+----------+‰+------------------+<*‚A2--->|CMR‡|-------->|User…|-------->|‚InputBuffer1‚|/*‰|Parameter|‰|Task'sƒ|‰+------------------+*‰|Block…|‰|I/O†|„.Ž.*‰+-----------+‰|Command‚|„.Ž.*Ÿ|Block„|„.Ž.*Ÿ|Š|*Ÿ|Š|‰+------------------+ *Ÿ|Š|-------->|‚InputBuffern‚|#*Ÿ+----------+‰+------------------+**“Note:‚Inputbuffers.*‰+-----------+‰+----------+‰are‚used‚only‚for:*‚A5--->|CCB‡|-------->|MVME-600|‰theMEASUREcommand./*‰|(Channel‚|‰|Memory-‚|‰Theyarenotpresent,*‰|Controlƒ|‰|Mappedƒ|‰forM othercommands.*‰|Block)„|‰|I/OArea|*‰+-----------+‰+----------+***‰+-----------+*‚A6--->|TCB‡| *‰|(Task…| *‰|Controlƒ| *‰|Block)„|*‰+-----------+**E*‡UponreturnfromsubroutineCOMMANDSregisterA6‚must‚be‚preserved.K*‚In‚fact,‚asastandardpracticethroughouttheentireoperatingsystemwe*‰PAGEJ*‚alwaysmaintainA6asapointertotheTCBforthetask‚that‚called‚uponI*‚the‚operating‚system‚toperformanoperation.‚IfasystemcrashsomehowJ*‚occurs,registerA6canprovideacluetotheenvironmentat‚the‚time‚of *‚thecrash.*G*‡Besides‚preservingregisterA6,subroutineCOMMANDSmustputastatusG*‚codeintoD0.B(i.e.,the‚least-significant‚byte‚of‚register‚D0)‚uponI*‚return‚to‚the‚callingroutine.‚IfsubroutineCOMMANDSprocessestheI/OK*‚requestwithoutfindinganyerrors,thesubroutinereturnscontrol‚to‚theK*‚calling‚routinewithD0.B=0toindicatethatalliswell.‚IfsubroutineM*‚COMMANDSdiscoversanerror,however,thesubroutinereturnscontroltotheF*‚calling‚routine‚with‚a‚nonzero‚error‚code‚inD0.BtoindicatethataI*‚problemhasbeenencountered.‚SubroutineCOMMANDSuses‚a‚unique‚nonzeroM*‚errorcodeforeachparticularerrorthatthesubroutinecandetect,sotheI*‚usercandeterminetheexactnatureofaproblem‚by‚examining‚the‚errorJ*‚code‚that‚subroutineCOMMANDSreturnsinD0.B.‚AcompletelistofallofM*‚theerrorcodesandtheirmeaningsisavailableelsewhereinthelistingof*‚theA/Ddriver.*H*‡AzerostatuscodeinD0.BindicatesonlythatsubroutineCOMMANDShasK*‚processedtheusertask'sI/Orequestwithoutdetectinganyerrors,‚and‚aL*‚zero‚statuscodedoesnotnecessarilyindicatethattheI/OactivitiesforK*‚theI/Orequesthavebeencompletedwithoutanyerrors.‚SomeI/O‚requestsM*‚causesubroutineCOMMANDStosetupsequencesofI/OoperationsthataretoK*‚beperformedoveranextendedperiodoftime.‚Incaseslikethese,a‚zeroL*‚status‚codethatisreturnedinD0.BbysubroutineCOMMANDSindicatesonlyF*‚thatthesubroutinehasprocessedthe‚I/O‚request‚and‚has‚set‚up‚theI*‚sequences‚of‚I/O‚operationswithoutdetectinganyerrors.‚AzerostatusK*‚codeinsuchacasedoesnotindicatethatanyoftheI/O‚operations‚haveH*‚been‚completed‚successfully,‚and‚the‚I/Ooperationscouldcauseerrors *‚laterwhentheyareperformed.*C*‡Besidesreturningastatuscode‚in‚D0.B,‚subroutine‚COMMANDS‚alsoI*‚returns‚the‚same‚status‚codeinthestatusfieldoftheusertask'sI/OH*‚commandblock.‚TheI/Ocommandblockisthe‚parameter‚block‚that‚tellsL*‚subroutine‚COMMANDSexactlywhattheusertaskwantsthedrivertodo,andL*‚thelayoutoftheI/Ocommandblockisdefinedelsewhereinthelisting‚of*‚theA/Ddriver.*C*‡In‚addition‚to‚preserving‚A6‚andreturningastatuscodeinD0.B,M*‚subroutineCOMMANDSmust,ofcourse,preservetheSPandthesystembyteofH*‚the‚SR.ƒAll‚other‚registersmaybemodifieduponreturntothecalling *‚routine.*F*‡SubroutineCOMMANDSperformsthecommontasksthatare‚necessary‚forH*‚all‚command‚routines,‚and‚then‚thesubroutineusesacommandswitchingL*‚tabletodirectcontroltotheindividualroutinethatprocessesthe‚givenE*‚command.ƒIf‚the‚command-code‚value‚in‚the‚I/Ocommandblockdoesn'tI*‚designateavalidcommand,subroutineCOMMANDSreturns‚an‚error‚code‚inM*‚D0.B(andinthestatusfieldoftheusertask'sI/Ocommandblock)totell,*‚theusertaskthatthecommandisinvalid.*‰PAGEG*‡Thetablebelowsummarizesthegeneralusageofregistersinthe‚partC*‚of‚subroutine‚COMMANDS‚that‚is‚common‚to‚all‚command‚routines.‚InM*‚particular,thefinalvaluesthatareshownbelowareintheregisterswhenE*‚control‚branches‚from‚the‚common‚part‚of‚subroutine‚COMMANDStothe4*‚individualroutinethathandleN sthegivencommand.*F*‚#&A6=LOC(TCBofthetaskthatinvokedCMR).„#=Entrycondition.-*‚#&A5=LOC(CCB).”&=Preservedonreturn.#*†A4=LOC(CMD_CODEfieldinIOCB).*†A3=LOC(DUPETBL).?*‚#ƒA2=LOC(CMRParameterBlock)initially.‚ThenLOC(MSBDATA).6*†A1=LOC(CNFIELDinIOCB)iftheIOCBhasaCNFIELD.*†A0=Scratch.* *†D6.L=0.D*†D5.L=NumberofwordsinIOCBafterCMD_CODEfield.‚AlsoinD4.L.D*†D4.L=NumberofwordsinIOCBafterCMD_CODEfield.‚CopyofD5.L. *†D3.L=0.*†D2.L=Scratch.C*†D1.L=Scratch.‚Controloffsetforthechannelbeinginitialized.+*†D0.B=STATNSNG(fortheMEAS_Scommand).**B*‡Theindividualcommand-processing‚routines‚all‚use‚a‚common‚exitG*‚routine‚to‚ensure‚a‚uniform‚return‚conditionforsubroutineCOMMANDS.J*‚SubroutineCOMMANDSpreservesA6,A5,theSP,andthesystem‚byte‚of‚theJ*‚SR,‚and‚the‚subroutinereturnsitsstatuscodeinD0.BandinthestatusE*‚fieldoftheusertask's‚I/O‚command‚block.ƒAll‚other‚registers‚areK*‚subject‚to‚modificationandmaycontainmeaninglessvaluesuponreturnto*‚thecallingroutine.*C*‡Notewithcarethattheprocessoris‚at‚interrupt‚level‚zero‚whenM*‚subroutineCOMMANDSreceivescontrol,sosubroutineCOMMANDSandallofitsG*‚subordinateroutinesare‚subject‚to‚interrupts‚from‚the‚periodically-L*‚activated‚measurementroutineand/orfromthecompletionofanexternally-K*‚triggeredmeasurement.‚Theperiodically-activatedmeasurementroutine‚andK*‚the‚A/D‚interrupthandlermayaccessand/orchangevaluesintheCCB,andE*‚subroutineCOMMANDSmustbecarefullycodedwiththisfactinmind.  ?COMMANDSMOVE.LƒSP,SAVE_SP(A5)‰Savethe‚stack‚pointer‚so‚we‚can$*¦later‚abort‚at‚any‚level‚ofnested$*¦subroutines‚and‚easily‚restoreƒthe%*¦stack‚environment‚that‚existed‚when*¦thisroutinebeganexecution.-‰PAGEš#######################################2‰MOVE.LƒA5,A4’Set‚A4<--LOC(CCB)toindicatethat%*¦A4doesn't‚yet‚contain‚the‚physical)*¦memoryaddressoftheCMD_CODEfieldof'*¦theuser'sIOCB.‚SincetheIOCB‚can't)*¦possiblybeatthesamephysicalmemory(*¦locationwheretheCCBresides,we‚can'*¦later‚compare‚A4toA5tofindoutif)*¦A4hasbeensettocontainthephysical)*¦memoryaddressoftheCMD_CODEfieldof&*¦theuser'sIOCB.‚AslongasA4‚=‚A5,)*¦weknowthatA4doesn'tyetcontainthe&*¦addressoftheCMD_CODE‚field‚of‚the'*¦IOCB.ƒAfterA4=LOC(CMD_CODE[IOCB]),(*¦we'llbeabletouseA4toaddress‚the&*¦user's‚IOCB.ƒInparticular,we'llbe$*¦abletoaccess‚the‚IOCB‚to‚store‚a&*¦status‚code‚into‚theSTATUSfieldof *¦theIOCB. "*ØThisstep‚and‚the‚next‚two‚steps%*¦should‚be‚done‚in‚orderwithnonew%*¦interveningsteps.ƒThe‚code‚remains(*¦sensitive‚untilA4hasbeensettoits#*¦finalvalue,LOC(CMD_CODE[IOCB]). 8‰MOVE.LƒXIOCPK(A2),D6ŠGetthephysical‚memory‚address‚of0‰MOVEQ.L‚#0,D5the‚IOCB‚for‚the‚command‚into‚A4.<‰MOVE.WƒXIOPLN(A2),D5ˆSubroutineLOGPHYconvertsthe‚logical2‰BSR†LOGPHYIOCB‚address(inD6.L)intoaphysical2‰MOVE.LƒD6,A4addressforus.‚Wemust‚call‚subrou-$*¦tine‚LOGPHY‚with‚A6‚containing‚the)*¦physicaladdressoftheTCBofthetask(*¦that‚ownstheIOCB,andwemustsetup'*¦D5.Ltospecifythelength‚(in‚bytes)(*¦oftheIOCB.‚Ifallgoeswell,subrou-)*¦tineLOGPHYreturnsthephysicalmemory*¦addressoftheIOCBinD6.L. %*ØSubroutine‚LOGPHY‚abortsprocessing$*¦iftheIOCB‚that‚we‚specify‚is‚not'*¦entirely‚within‚amemorysegmentthat)*¦belongstothetaskthatownstheIOCB.(*¦If‚thiserroroccurs,thefactthatwe(*¦setA4=A5abovewillpreventus‚from'*¦trying‚to‚storeastatuscodeintoan#*¦IOCBthatdoesn'tproperlyexist. #*ØWemust‚execute‚one‚more‚critical(*¦step‚tosetA4toitsfinalvalue,and&*¦thenthissequence‚of‚critical‚steps*¦willbecomplete.-‰PAGEš####################################N ###3‰MOVEQ.L‚#0,D6’ClearD6.Lforgeneraluse,and‚then8‰MOVE.WƒD6,(A4)+initializetheSTATUSfieldoftheIOCB3LˆSET†STATUStozero.‚We'lllaterupdatetheleast-)*¦significantbyteoftheSTATUSfieldto(*¦reflecttheactualstatuscodethat‚we*¦wanttoreturntotheuser. %*ØAs‚we‚cleartheSTATUSfieldofthe(*¦IOCBhere,wesimultaneouslysetA4‚to(*¦contain‚thephysicalmemoryaddressof(*¦theCMD_CODEfieldoftheIOCB.‚Nowwe&*¦can‚safely‚use‚A4withautodecrement%*¦addressingtoupdate‚the‚LSB‚of‚the*¦STATUSfieldintheIOCB. "*ØThisƒstep‚completes‚the‚critical&*¦sequenceofthreesteps‚that‚must‚be'*¦done‚in‚orderwithnointerveningnew"*¦steps.ƒNow‚we‚can‚safely‚use‚the)*¦commonexitroutinewheneverwewantto *¦exitfromsubroutineCOMMANDS. 7‰MOVEQBƒSTATCBLN,D0ŒIfthespecifiedlengthof‚the‚IOCB:‰SUBQ.Lƒ#IOCB_MIN,D5‰is‚shorter‚thantheminimumallowable4‰BLO.S„CMDEXIT2lengthforan‚IOCB,‚abort‚processing-‰LSR.L„#1,D5andƒreturnƒan‚error‚status‚code.5‰MOVE.LƒD5,D4Otherwise,setbothD5.LandD4.Lequal$*¦to‚the‚number‚of‚words‚(notbytes)(*¦remainingintheIOCBaftertheend‚of(*¦theCMD_CODEfield.‚We'lllateruseD5(*¦andD4ascounterswhenweprocess‚the(*¦remainingfields(ifany)oftheIOCB. 8‰MOVEQBƒISTACDN,D0IftheA/Dchannelisdown,goreturn7‰TST.B„AD_DOWN(A5)Šanerrorstatusto‚indicate‚that‚the5‰BNE.S„CMDEX2AŽA/D‚channelisoutofservicefornow.$*¦Although‚we‚could‚process‚OPEN‚and(*¦CLOSE‚commandsforadeadA/Dchannel,&*¦wechoosetoreject‚all‚A/D‚commands*¦forthesakeofconsistency.-‰PAGEš#######################################1‰TST.B„BAD_INT(A5)ŒIf‚we‚have‚receivedƒaƒspurious0‰BEQ.S„L9“interrupt‚fromtheA/Dconverterboard(*¦andhaven'tyetreportedit,clear‚the8‰CLR.B„BAD_INT(A5)Šbad-interrupt‚flag,‚abortthecurrent4‰MOVEQBƒSTATBINT,D0Šcommand,‚andƒreportƒtheƒspurious‚32,767‚(i.e.,‚$7FFF)&*¦because‚the‚processor‚interpretsthe(*¦valueinD2.Wasasignednumber‚here.&*¦We‚could‚easily‚avoidthispotential'*¦errorbyaddingjust‚one‚instruction,(*¦but‚theoffsetvalueinD2.Wisnotat'*¦alllikelytoexceed32,767.‚The‚size&*¦of‚the‚entire‚driver(initsinitial)*¦release)issmallerthan$500bytes,so&*¦an‚offset‚in‚excessof32,767isnot'*¦possibleunlessthedriver‚changes‚by"*¦morethananorderofmagnitude.+‰TTL†5.2.1.‚OPEN_CMDRoutine(OPENCommand)-‰PAGEš#######################################N*******************************************************************************Ģ*@*ˆTheremainingpartofthisprogramisnotcommentedyet.‚Any‡*A*ˆcommentsthatexistbeyondthispointarescratchcommentsor‡**ˆpreliminarycomments.Æ**Ģ*N****************************************************************************** 4*ˆOPENCommand.‚ControlentersatlocationOPEN_CMD. %*†#A6=LOC(TCBofrequestingtask).*†#A5=LOC(CCB).%*†#A4=LOC(CMD_CODEfieldinIOCB).*†#A3=LOC(DUPETBL).*†#A2=LOC(MSBDATA).*†#A1=LOC(CNFIELDinIOCB)./*ˆA0=LOC(Channelblockforselectedchannel). *ˆD7.L= *†#D6.L=0.2*†#D5.L=NumberofwordsafterCMD_CODEinIOCB.2*†#D4.L=NumberofwordsafterCMD_CODEinIOCB. *†#D3.L=0.*ˆD2.L=Scratch.*ˆD1.L=Scratch.*ˆD0.L=Scratch.  8L12†BSR†VALID_CNValidatenextchannelnumber,andpoint'*¦A0toitschannelblock.‚Alsoadvance'*¦A1topointtofollowingchannelnum. ‰MOVEQBƒSTATOPEN,D0'‰TST.L„TCB_ADDR(A0)‰Isitalreadyopen?,‰BNE.S„CMDEXIT2Error:‚Channelalreadyopen. 7OPEN_CMDDBRA…D5,L12Loopuntilallchannelsprocessed. ,‰BRA.S„L14’Noerrorsinanychannelnumbers.    ,L13†MOVE.Wƒ-(A1),D1Getnextchannelnumber. LˆSET†CNFIELD(‰BSR†CNLBLKADPointA0tochannelblock.9‰MOVE.LƒA6,TCB_ADDR(A0)†Openchannelforrequestingtask./L14†DBRA…D4,L13Loopuntilallchannelsopened.‰TTL†5.2.2.‚CommonExitRoutine-‰PAGEš#######################################?*ˆCommonexitroutine.‚Controlfallsinfromaboveinonecase. %*†#A6=LOC(TCBofrequestingtask).*†#A5=LOC(CCB).1*†#A4=LOC(CMD_CODEfieldinIOCB)orLOC(CCB). &*ˆSTATUSwordinIOCBiszeroalready. /CMDEXIT1MOVEQBƒISTAOK,D0ŒD0.B<--Statuscode.    ,*ˆSecondentrypointtocommonexitroutine. *†#D0.B=Statuscode. 8CMDEXIT2CMP.L„A4,A5’IfA4=A5,thenA4hasn'tyetbeen2‰BEQ.S„CMDEXIT3settocontainthepO hysicalmemory&*¦addressoftheCMD_CODEfieldofthe&*¦IOCB.‚Inthiscase,wehaveprobably)*¦abortedprocessingbecausetheIOCBwas(*¦improperlyspecified,andweobviously$*¦can'tstoreastatuscodeintothe"*¦STATUSfieldoftheerroneously-#*¦specifiedIOCB.‚Thecheckthatwe(*¦performherepreventsusfrommakinga&*¦wildstoreintoarandomlocationof *¦memory. 3‰MOVE.BƒD0,-(A4)Putthe8-bitstatuscodeintothe1LˆSET†STATUSleast-significantbyteoftheSTATUS(*¦wordintheIOCB.‚Themost-significant)*¦byteoftheSTATUSwordiszerobecause'*¦wecleareditatthebeginningofthe *¦command-processingsubroutine. DCMDEXIT3MOVE.LƒSAVE_SP(A5),SP‰Restorethestackpointer,andreturn'‰RTS›controltotheroutinethatcalled&*¦subroutineCOMMANDS.‚Thestatuscode(*¦isinD0.Basrequired.‚Noticethatwe&*¦canusethisreturnroutinetoabort&*¦processingfromanylevelwithinthe$*¦commandserviceroutinebecausewe(*¦restorethestackpointertothevalue&*¦thatithadwhensubroutineCOMMANDS$*¦beganexecutionatitsmainlevel. #*ØOurhandlingofthestackpointer'*¦appearstoeliminatere-entrancy,but'*¦theA/Ddriverisstillre-entrantin'*¦thenecessarycontextbecausesubrou-%*¦tineCOMMANDScanneverbecalleda(*¦secondtimefromausertaskexecuting)*¦atinterruptlevelzerountilwereturn*¦controlfromthefirstcall. $*ØSubroutineCOMMANDScanacceptre-'*¦entrantcallsforanotherA/Dchannel'*¦becauseeachchannelhasitsownCCB.+‰TTL†5.2.3.‚STOP_CMDRoutine(STOPCommand)-‰PAGEš#######################################?*ˆCLOSECommandandSTOPCommand.‚Firstpartiscommontoboth. %*†#A6=LOC(TCBofrequestingtask).*†#A5=LOC(CCB).*†#A4=LOC(CMD_CODEinIOCB).*†#A3=LOC(DUPETBL).*†#A2=LOC(MSBDATA).*†#A1=LOC(CNFIELDinIOCB)./*ˆA0=LOC(Channelblockforselectedchannel). *ˆD7.L=4*†#D6.L=0.‚WesetD6.L<---1foraSTOPcommand.2*†#D5.L=NumberofwordsafterCMD_CODEinIOCB.2*†#D4.L=NumberofwordsafterCMD_CODEinIOCB. *†#D3.L=0.*ˆD2.L=Scratch.*ˆD1.L=Scratch.*ˆD0.L=Scratch. :STOP_CMDMOVEQ.L‚#-1,D6SetflagtoindicateSTOPcommand. ,‰TTL†5.2.4.‚CLOSECMDRoutine(CLOSECommand)5CLOSECMDTST.L„D5“D5=0ifnochannelsspecified.‚In/‰BNE.S„L19’thiscasewecloseallopenchannels'*¦forthistask.‚Fallthroughtomakea)*¦listofallchannelsopentothistask.  L15†EQU†(MAXCNLS-1)*CNLBLKSZ6‰LEA†CNLBLK+L15(A5),A0„PointA0tolastchannelblock.7‰MOVEQWƒMAXCNLS-1,D0‰Channelnumberoflastchanneland *¦channelcounttocontrolloop.