; UPDATE TSTBO1.S01 5/29/73 .TITLE TSTBO1 ; ; TEST TASK FOR DEBUG ; ; ; ; EXTERNAL DEFINITIONS FOR TASK RELOCATION REGISTERS, ; CONSTANT REGISTER AND LOG. TTY DEV. NO. ; .DEF $R0,$R1,$R2,$R3,$R4,$C,$TTY ; ; EXTERNAL REFERENCES ; .REF DEBUG ; ; TASK EQUATES ; R0 = %0 R1 = %1 R2 = %2 R3 = %3 R4 = %4 R5 = %5 SP = %6 PC ŒªÀ²oÌ:�~X‡Ž‡ß�M˜ßàš‡ ßbS€ßà‚÷ øA÷ ÎB‡@�£À†ÀzÀ«À@® ÷ ŒÀâÿr~xNn2Šrœø· à·Ú ¡ ¡ rrÀeçæP÷ "‡ÁàÁeÿŠ� ÁE€� wŠMÀ2ÿ€ ÀE€€ `wzMÀ ŠÁ‹@Ð7ÊI÷Ò~ðÈI÷ àI÷ ÀI€‡7 7 7 7 7 ú7 øÀúÀ À ÀpÁà0Ї ñrð•0Šøá À ð7ŠßÀÁR"ÙÀ ü‡w *À¸%~h  ¼%ü‡ÁwHÀÔ%HÀe &ú‡À&Š 2&ü‡À&Âÿÿ�� &ü‡; UPDATE TSTBO2.S01 5/29/73 .TITLE TSTBO2 ; ; TEST TASK FOR DEBUG ; ; ; ; EXTERNAL DEFINITIONS FOR TASK RELOCATION REGISTERS, ; CONSTANT REGISTER AND LOG. TTY DEV. NO. ; .DEF $R0,$R1,$R2,$R3,$R4,$C,$TTY ; ; EXTERNAL REFERENCES ; .REF DEBUG ; ; TASK EQUATES ; R0 = %0 R1 = %1 R2 = %2 R3 = %3 R4 = %4 R5 = %5 SP = %6 PC . €ø¯”ÊX„@±«@²«@ž.ô«@œH(@W €(x8©hd®«hŒ¯«hd°«hèW €(d|÷æ.!P d22 (W €¼"&´ÊX„W €  úø d….dˆ¿¯      ÀI’æ Ö  �.Š  ÷•V÷úZ÷CZæè ˆ÷ Fÿ÷B úè(Bm = %7 ; ; ; EMT NOS. FOR ROS PROGRAM CALLS ; TTYOUT = 11. TTYIN = 12. LPRNTR = 21. NOCKPT = 24. EXIT = 4 ; ; DEVICE CODES ; TTY = 0 LP = 3 .PAGE ; ; ; TASK HEADER ; TSTHDR: .WORD 1 ;THREAD .WORD 40 ;TASK NO. .BYTE 120 ;SYSTEM TASK WITH DEBUG .BYTE 12 ;PRIORITY .WORD TSTBUG-A Š &ü‡À"&P� $&ü‡w ćŸÆæ æ÷ ÈWŸŸ ÷ Èþ~àÀÁÀô ÃàôÄ“Âe€÷€ìÞßUzÿöý÷p/’ê÷àŽêßüÿÁà÷²)êwê÷'êwê÷;ê÷àêߔߠ–÷Ý·8Ý·2Ý€�‚Ÿ·à~Àÿ…·•ÿ·PP÷50 ÿ=CDwúþwøþFÅ4÷ <3õ�êþ*Åâþ÷ æþ(÷­*$ƒ÷50Ôþ·Æþ·ÄþF ·ÄþŽ F ·¼þ÷U€¶þ÷rç¸ÜƬþæ¢þJ~8æœþæ€æ÷ Øw …Á7 Ðõ•*ÆÊæ¶÷ wæ ƒ„Ö …—#ˆ#Îe&€tüÿ7XÜ€À À ÀEÀÿÀU 6€‡&€|~°tüÿ74Ü€À À ÀEÀÿÀUÀ6€‡&f€ÁWtüÿÁEñÿAàôWt€ € ÀEø`v�€‡&f€#À æÚÛ&†÷ lÿ€�ÁWtüÿÁEñÿ NOCKPT ;DISALLOW CHECKPOINTING SCC ;EXERCISE TRACE PRINTOUT BY CHANGING CCC ;COND CODES AND REGS CLR R0 CLR R1 CLR R2 CLR R3 CLR R4 CLR R5 MOV #111111,R0 MOV R0,R1 MOV R0,R2 MOV R0,R3 MOV R0,R4 MOV R0,R5 TST -(SP) TST (SP)+ NOP NOP ~(æ€æ÷ Üw …Á7 Ðõ•ÆÊæ¶÷ wò ƒ„Ö …—#€$Îe&€tüÿ7lÛ€À À ÀEÀÿÀU 6€‡&€tüÿ�~ 7HÛ€À À ÀEÀÿÀUÀ6€‡&f€ÁWtüÿÁEñÿAàôWt€ € ÀEø`v�€‡&f€#À æîÚ&r÷ lÿ€�ÁWtüÿÁEñÿ@`Ø~$Wt·ÈÚ€€ € ÀEø`v�€Ž‡¦÷ xÿ¶õ&f€&À &r÷ ÿ€�ÁWtüÿÁEñÿ@`7$tÚ€ÀEàtúÿ7`dÚ¶öEÀÿì~�öU �€Ž‡¶ø&f€&À &r÷ Úþ€�ÁWtüÿÁEñÿ@`7$Ú€ÀEàtúÿ7`Ú¶öEÀÿöUÀ� NOCKPT ;DISALLOW CHECKPOINTING SCC ;EXERCISE TRACE PRINTOUT BY CHANGING CCC ;COND CODES AND REGS CLR R0 CLR R1 CLR R2 CLR R3 CLR R4 CLR R5 MOV #111111,R0 MOV R0,R1 MOV R0,R2 MOV R0,R3 MOV R0,R4 MOV R0,R5 TST -(SP) TST (SP)+ NOP NOP ~(@`$Wt·´Û€€ € ÀEø`v�€Ž‡¦÷ xÿ¶õ&f€&À &†÷ ÿ€�ÁWtüÿÁEñÿ@`7$`Û€ÀEàtúÿ7`PÛ¶@~ öEÀÿöU �€Ž‡¶ø&f€&À &†÷ Úþ€�ÁWtüÿÁEñÿ@`7$Û€ÀEàtúÿ7`ôÚ¶öEÀÿöUÀ�€Ž‡¶[~ø ÿÿÿÿÿÿÿÿÿÿ��‘’“”•–—˜vª ~� NOP ; ; TYPE MSG TO OPERATOR ; MOVB #TTY,DEVICE ;TTY DEVICE NO. TO LIST MOV #MESG1H,BUFADR ;MSG BUF ADDR TO I/O LIST MOV #MESG1E-MESG1,MESG1H ;NO. CHARS TO BUF HDR MOV #IOLIST,-(SP) ;TTY OUTPUT REQUEST EMT TTYOUT TST IOERR ;ERROR? BNE . ;YES ; ; GET NAME FROM TTY KBD ; MOV #NAMBFH,BUFADR ;GET IMPUT BUF ADDR TO HDR MOV #€Ž‡¶øW~ ÿÿÿÿÿÿÿÿÿÿÊËÌÍÎÏÐÑÒÓbb¬]~€æ~øn~p NOP ; ; TYPE MSG TO OPERATOR ; MOVB #TTY,DEVICE ;TTY DEVICE NO. TO LIST MOV #MESG1H,BUFADR ;MSG BUF ADDR TO I/O LIST MOV #MESG1E-MESG1,MESG1H ;NO. CHARS TO BUF HDR MOV #IOLIST,-(SP) ;TTY OUTPUT REQUEST EMT TTYOUT TST IOERR ;ERROR? BNE . ;YES ; ; GET NAME FROM TTY KBD ; MOV #NAMBFH,BUFADR ;GET IMPUT BUF ADDR TO HDR MOV #×~^~€æ~øn~p50.,NAMBFH ;ACCEPT UP TO 50 CHARS TST020: MOV #IOLIST,-(SP) ;GET NAME FROM TTY EMT TTYIN TST IOERR ;ERROR? BEQ TST030 ;NO CMP IOERR,#28. ;YES, TIMEOUT? BEQ TST020 ;YES, TRY AGAIN BR . ;NO ; ; PRINT NAME ON LP ; TST030: MOVB #LP,DEVICE ;LP LOG. DEV. NO. TO I/O LIST MOV NAMBFH+2,NAMBFH ;GET NO. OF CHARS IN NAME TO PRINT MOV õ~è}~`~ØŒ~P50.,NAMBFH ;ACCEPT UP TO 50 CHARS TST020: MOV #IOLIST,-(SP) ;GET NAME FROM TTY EMT TTYIN TST IOERR ;ERROR? BEQ TST030 ;NO CMP IOERR,#28. ;YES, TIMEOUT? BEQ TST020 ;YES, TRY AGAIN BR . ;NO ; ; PRINT NAME ON LP ; TST030: MOVB #LP,DEVICE ;LP LOG. DEV. NO. TO I/O LIST MOV NAMBFH+2,NAMBFH ;GET NO. OF CHARS IN NAME TO PRINT MOV õ~è}~`~Øw ,æ׿××þÿ& „u6 7!„üp‚Ÿô‹* ô¥*kô‹›göÿÿÄ †„ — [ô•*ß�þÿ��� W  Á• !ƒ~PQ†¦÷ *ú‚r�ŸÊ BÁ Á Ä f:÷ 6ú†1†:„ ô• #IOLIST,-(SP) ;PRINT NAME EMT LPRNTR ; TST IOERR ; BNE . ; EMT EXIT ;EXIT .PAGE ; ; DATA ; .BOUND IOLIST: .WORD 1 ;THREAD DEVICE: .BYTE 0,2 ;LOG. UNIT, EXIT TYPE .WORD 0 ; .BYTE 0,0 ;ERROR TASK, PRIORITY IOERR: .WORD 0,0 ;ERROR PARAMETER BUFADR: .WORD 0,0,0 ;BU~Èw ¾æÖæÖ×þÿ& „w6 7!„ür‚Ÿô‹ ô¥mô‹‡iöÿÿÄ r„ — ]ô•ß�þÿ���øW  Á• !S†Y~@¦÷ *ú‚r�ŸÊ <Á Á Ä f&÷ 6úr1r&„ ô•4Ї2 ²7­ø”û†7�øŒûÖ ß�þÿ·TÕ·NÕw àö ¶Æe‡öþÿ¶7~¸Æeæ÷ Lw‚Š Ž Ž Ž Ž Ž Ž Ž 6 ¶Õæ&&f¦÷ ÖB€ƒ•„À Àç妶¶æ—þÿŸ÷ ðún7 êú7 öúŸ•þÿ÷åèú³~0 ÿ¶Ôâúæ¦f�v #IOLIST,-(SP) ;PRINT NAME EMT LPRNTR ; TST IOERR ; BNE . ; EMT EXIT ;EXIT .PAGE ; ; DATA ; .BOUND IOLIST: .WORD 1 ;THREAD DEVICE: .BYTE 0,2 ;LOG. UNIT, EXIT TYPE .WORD 0 ; .BYTE 0,0 ;ERROR TASK, PRIORITY IOERR: .WORD 0,0 ;ERROR PARAMETER BUFADR: .WORD 0,0,0 ;BU *4Š›2 ²7­ ”û†7� ŒûÖ ß�þÿ·@Ö·:Öw hö ¶Æe‡öþÿ ~ȶÆeæ÷ HwvŽ Ž Ž Ž Ž Ž Ž 6 ¶×æ&&f¦÷ F-€ƒ•„À Âç妶¶æ—þÿŸ÷ ôúl7 îúŸ•þÿ÷åðúÿªÕ«~@êúæ¦f�vÂÈú ¦†÷ &ù‚² 6 €6Á‹€÷U€¦ú²„×þÿŸ7 Žúò��ú7 ŠúÆ�úò„ú 7 ~úÊÁ ô•*!H~¸!‡ô•*ß�þÿæ$Õ&&÷ ¸2€·Õ�ô•*�œÁ Á Ä J81†:1†8ß�þÿ·æÔHŸ•þÿŽŽŽ‡æþÿ& ÷ øþw4—þÿŸÀöù!&÷ "~0 Rø€1Š*7 àù7 Øù!FFER ADDRESS ; ; MESSAGE TO OPERATOR BUFFER ; MESG1H: .WORD 0 .WORD 0 MESG1: .ASCII /THIS IS TSTBUG O1/ .BYTE 015 .ASCII /TYPE YOUR NAME AND IT WILL BE PRINTED ON THE LP!/ .BYTE 015 MESG1E: .EVEN ; ; OPERATOR NAME INPUT BUFFER AND LP BUFFER ; NAMBFH: .WORD 0,0 NAMBFD: .BLKB 50. ; ; DEBUG INITIAL REGISTER ASSIGNMENTS ; $R0 = A $R1 = TSTBUG $R2 = IOLIST $C = "ÂÀú ¦r÷ ù‚² 6 €6Á‹€÷U€žú²„×þÿŸ7 †úò�ˆú7 ‚úƈúò|ú 7 vúÊÁ ô•p~¨ !!‡ô•ß�þÿæ0Ô&&÷ H€·"Ô�ô•�œÁ Á Ä J$1r&1r$ß�þÿ·òÓHŸ•þÿŽŽŽ‡æþÿ& ÷ ôþw8—þÿŸÀîù# ~ !&÷ Jø€1Š7 Øù7 Ðù7 Òù7 Üù7 Ìù0 ÆÌùW  ‡ñ‹‡ ±Š·�žÞf÷ ‚DwâñŠûw €P7 òùM‚æ—þÿŸœÁ y–!""""º~˜!"ª!"Ä!¾!"""Ä!Ÿ“þÿ&÷ ªŸÖ . 7Rù) ‡ð‹‡ð•ýÿ𕟓þÿ&&÷ þG€Ÿð•�R"W"Âåø1f(#FFER ADDRESS ; ; MESSAGE TO OPERATOR BUFFER ; MESG1H: .WORD 0 .WORD 0 MESG1: .ASCII /THIS IS TSTBUG O2/ .BYTE 015 .ASCII /TYPE YOUR NAME AND IT WILL BE PRINTED ON THE LP!/ .BYTE 015 MESG1E: .EVEN ; ; OPERATOR NAME INPUT BUFFER AND LP BUFFER ; NAMBFH: .WORD 0,0 NAMBFD: .BLKB 50. ; ; DEBUG INITIAL REGISTER ASSIGNMENTS ; $R0 = A $R1 = TSTBUG $R2 = IOLIST $C = $7 Úù7 Øù0 ÆØùW  ‡ñ‹› ±Š*·�–ßf÷ /wâñŠ*ûw ”€P7 þùM‚æ—þÿŸœ*Á yž !!!!!² !Ì ~¨ Æ !!!Ì Ÿ“þÿ&÷ ªŸÖ . 7^ù) ‡ð‹›ð•ýÿ*ð•*Ÿ“þÿ&&÷ š2€Ÿð•*�Z!W"Âåø1f÷ Ÿ•)~ !þÿw öއccc,!)/\%0ú$´+1ä$0ü$z-âø$0ü$z-Í %0ü$z-· %0ü$z-¢4%0ü$z-�H%0ü$z-x\%0ü$z-cp%0ü$z-Nø$ÿÿÿÿÿÿÿÿ×ÿ$Î%Ì%Ë%Ê%É%È%Ç%Æ%0DÏ%ñ‹þ$Ѐñ•þ$Ÿ•þÿ÷ Êw N æ$Ïæ"Ï÷ ðÍ%~Ð%Ä÷ š÷ ’ñ‹%¶±Š%5%õüÎ%ñ‹þ$¬€1Šþ$Üw äðÁþÿÁEðÿEÅ æ€ñ‹%D¸$ô• Ÿ•þÿñ•%Dœ%Ä |<&1Š%wJX&Œ'œ'¨'¶'Ð'~~H&â'ð'þ'((,(:(L(±Š%W¬%H†@ %w%|ÎD%w%tδ  -†m=�¦$­ ý• ¦$ñ• %wÔf¸$÷ $ðÖ =Š $=Š¢$œÄ{~À&ñ‹þ$ ÷ ʬ‚‡÷ Šw 0 && ÷ jw . @ %w%òÍ ôŠ›&÷ ê, Â÷ °1Šþ$÷ R% Äe%Äå %Ÿ¸~8'þÿ±Šþ$&÷ @ñ€õ Í%5 %1Šÿ$Äe%Ÿ•þÿ1 * ; * ; USAGE: THE LINKAGE TO THE EMT IS AS FOLLOWS * ; CALL * ; MOV #ADD,-CSP) ; ADD OF DEBUG 'BPT' ENTRY PT * ; EMT ROSBPT * ; * ; RETURN 2L)`)h)z)ˆ)š)±Š&W¬&H†@$&w(&dÍD,&w0&\Í´  -†m=�¾%­ ý•®~°' ¾%ñ• &wÔfÐ%÷ <ìÖ =Џ%=Šº%œÄñ‹& ÷ ¬‚‡÷ Üw – && ÷ ¾w z @$&w(&ÚÌ ôЇ&÷ .B Â~((÷ 1Š&÷ ¤0& Äe0&Äå 0&Ÿþÿ±Š&&÷ ñ€õˆÌ(&5$&1Š&Äe0&Ÿ•þÿ&÷ îð€õbÌ*&5&&÷ °wîï1Š&ñŠ&Ÿ•0~ (þÿ÷±Š&fÐ%÷ RëÖ @&&w*&.ÌB.&w2&&̦ÎEàÊ5 Ž,†Ö ÛNÎ%÷ ëÖ wÔþñ•&1Š&Ùý• ¾%ñ•&Çñ‹!&ý• ¾%ñ•&½­~)1Š!&ý•U¾%ñ•&3Å%Ä %à %º %¸%¶%´%²%°%®%¬%ª,%G H I J w à æ¶Ïæ´Ï÷ ‚ ÷ ',B%.÷ &ñ‹ÿ$&Ÿ•þÿ¬·ŽÏ·ˆÏw ¶ Ž ,h%‡,ˆ ò¬î·jÏ·dÏw ’ öþÿó,Ž%& ÷ 4&÷ ñ€õzÍ%5%÷ ^wð1Š%ñŠþ$Ÿ•þÿ÷±Š%f¸$÷ :ïÖ ïñ•%1Š%ôý• ¦$ñ•M~°'%âñ‹ %ý• ¦$ñ•%Ø1Š %ý•U¦$ñ•%±Š%Ìý•^¦$ñ•%ö}œ%¦$ñ•%ﱊ%ý• ¦$ñ• %å1Š%wJþý• ¦$1Š%ñ• <~((%§ý• ¦$ñ• % 1Š%@%w%¢ÌwZþñ‹ %w ÿý•¦$ñŠ %wÿw |îÁ�’לÁEðÿEÅ D¶$ô• @%w%`ÌB%w%XÌÊ €f¸$æ¨~ (÷ 0îÖ DŸ¤$+ÄÅ€¡|¡ n¡ *¡-ƒÃeƒl¡.ñ‹%B¦ÎEÀ–,I†²  ‘Ê €Ê5@Ä =‘¦$C¶$ó• Ê5@@w‚îÄ• ~) ñ•%îý•^¦$ñ•5 * ; MOV (SP)+,TASKNO ; TASK # OF CALLER. 0 IF ERROR * ; * ; THE LINKAGE TO BPT TRAP HANDLER IS VIA A JSR DURING IPL.* ; * ; JSR PC,BPTIPL * ; ALL OTHER LINKAGE IS VIA A 'BPT' INSTRUCTION. * ; 6±Š&±ý•^¾%ñ•&ö}œ&¾%ñ•&ﱊ&ý• ¾%ñ• &å1Š&wþý• ¾%1Š&ñ• &Œý• ¾%ñ• &…1Š&@&&~�)w*&TËw$þñ‹"&wêþý•¾%ñŠ"&wàþw îÁ�DÖœÁEðÿEÅ DÎ%ô• @&&w*&ËB.&w2& ËÊ €fÐ%æ÷ êÖ DŸ¼%-ÄÅ€¡wW~*¡ z¡ *¡-ƒÃeƒl¡.ñ‹&B¦ÎEà–,I†²  ‘Ê €Ê5@Ä =‘¾%CÎ%ó• Ê5@@wîÄ• ñ•&îý•^¾%ñ•&l~€*2 ïò äò Ê Þ�à ñ‹& ±Š&Ä•\ñ•&ñ’&ÐÄ’Î1Š&²  ‘1‘&Ä•\ñ•&Áñ‹&À±Š&fÐ%÷ "éÖ ¸¦ÎEàÊ5 Ž,‡wò7Œùwºý±Šÿ$5 %õDÏ%ñ‹þ$Ѐñ•þ$v,´%Ÿ•þÿ÷ Êw N æ$Ïæ"Ï÷ ðÍÄ÷ š÷ ß(Ú%’ñ‹%¶±Š%5%õüÎ%ñ‹þ$¬€1Šþ$Üs*0w ÜÀ $  ¤$ü‡Áw`À¼$HÀe ’*Tø$ú‡Àþ$Š %ü‡Àþ$Âÿÿ�� ÿ$ü‡Š «x%ü‡À %P� %ü‡w �‡,,ü%w äðÁþÿÁEðÿEÅ æ€ñ‹%D¸$ô• Ÿ•',"&þÿñ•%Dœ%Ä |<&1Š%wJX&Œ'œ'¨'¶'Ð'æ$H&â'ð'þ'((,(:(L(±Š%W¬%H†@²,f& %w%|ÎD%w%tδ  -†m=�¦$¨,Œ&­ ý• ¦$ñ• %wÔfF%2 ïò äò Ê Þ�à ñ‹% ±Š%Ä•\ñ•%ñ’%ÐÄ’Î1Š%²  ‘1‘%Ä•\ñ•%Áñ‹%À±Š%f¸$÷ DíÖ V~�)¸½Š $½=‘¦$ñ• %f¶$÷ (íÖ ²Ä•=‘¦$ñ•%ò€÷ ¨È /Ÿ•þÿœw F/‚Á W<..ñ5€.6Aœ.p�¬&‡¬"‚œ— Ž~*!‚Ä ð0 ´Š›Cà Ń`0 ‡ˆ Ÿ•þÿð‡ð‡ð‡ð‡ð‡ñ5@.ìA8.·& & ÷ 0øÖ ‡÷ N÷ ô&÷ Pîì~€*&%÷ "îž´%Ÿ•þÿ‡æ÷ (÷ Î4% Ã%a¡ ¡ ô%ÈŸ•þÿƒ‡fÁ Á �`D`Ä Ä %�‡‚ñ•%ñ‹ %YDº$ô•ð 1Š%ñ‹þ$ãH * ; METHOD: THE EMT INSURES THE CALL IS LEGAL AND, IF SO, SAVES * ; THE PASSED, TASK VIRTUAL ADDRESS. THE TASK NUMBER IS * ; RETURNED. IF THE CALL IS ILLEGAL THE RETURNED TASK * ; NUMBER IS ZERO. * ; THE IPL ENTRY SETS UP THE BPT TRAP. THEREAFTER, ANY * ; BPT TRAPS WILL FIRST COME TO IT. IF THEY ARE FROM * ; A TASK, CONTRO GOES TO THEE~ø*âýÖ ½Š¸%±=‘¾%ñ• &fÎ%÷ îèÖ ¦Ä•=‘¾%ñ•&ò€÷ ¨È /Ÿ•þÿœw H/‚Á W<Š/.ñ5€Š/6AœŠ/p�¬&‡¬"‚œM~p+— !‚ÄŽï0 ´Š‡Cà Ń`0 ‡ˆ Ÿ•þÿð‡ð‡ð‡ð‡ð‡ñ5@Š/ìA¤/·& & ÷ ¾÷Ö ‡÷ N÷ ô&÷ 5~è+Òí&2&÷ ¤íž´2&Ÿ•þÿ‡æ÷ (÷ Î40& Ã0&a¡ ¡ ô2&ÈŸ•þÿƒ‡fÁ Á �`D`Ä Ä %�‡‚ñ•&ñ‹"&YDÒ%ô•ð 1Š &ñ‹{~`,&(1Š&@$&w(&xÈ7pÈ5,&õhÈ0&4 �¡ ñ• &=‘¾%fÐ%æýÕ@º%÷ TçÖ J@&&w*&,È7E¸$÷ $ðÖ =Š´,²& $=Š¢$œÄñ‹þ$ ÷ ʬ‚‡÷ Ç,Ø&Šw 0 && ÷ jw . @ %w%òÍ ‹,þ&ôŠ›&÷ ê, Â÷ °1Šþ$÷ R% ÄeË,$'%Äå %Ÿþÿ±Šþ$&÷ @ñ€õ Ía,J'%5 %1Šÿ$Äe%Ÿ•þÿ&÷ ñ€õzÍÉ,p'%5%÷ ^wð1Š%ñŠþ$Ÿ•þÿ÷±Š%f¸$÷ D,–':ïÖ ïñ•%1Š%ôý• ¦$ñ•%âñ‹ %ä,¼'ý• ¦$ñ•%Ø1Š %ý•U¦$ñ•%±Š%Ìa,â'ý•^¦$ñ•%ö}œ%¦$ñ•%ﱊ%ý• –,(¦$ñ• %å""""ˆˆˆˆDDDDDDD """""""""""""""""""""""""""""""""""""""""ADD)B B C €÷�{M  !›ÊX„^NŒ3 ?› €ø�{M  #› €÷^NŒ02› €ø^NŒ-/›ÊX„•ÆN a�›U(U^€,,›$DïîîîNDDÿ?"""""""""""""""""""""""""""""""""""""""""ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÅaå Í‹æÄ,L ƒw:ÄB8ŽŒ ýƒàÇ` 5 þÿ€�&ˆ ‚— ýÿ†ƒœÃEÀÿ× >w†× × ò f€ò5ÀeòU@ò €× [æ*ˆ² ¦¦æ× Ž & *ˆÖ G× ‚&(ˆ°Ì 8�L'ˆ°4e÷ ÌQ$ ô �BBâBä" ± üÿü× ÷ ¬ŒÉU@Ò °ðU€ Æe  Å"U%÷‹äþGæÎeÞþæfÇ.Ö … U¥… … … … U¥Ñ Bb‘â‹Ã 0Š æ*ˆ€�Ö BÃÅ.&0 æM &0 & I$Èõ.&õÈ2&3 1Š"~Ø,&1Š&ñ•&DŸ¼%ÄAË5@Ä =‘¸%fÎ%æÒñ•"&ñ• &ý•¾%fÒ%æðÄÃ�ðø³Š&ÅÅ AŸ¾%7ŠàøóŠ&w0ó‹&@$&w(&žÇ@q~P-&&w*&’Çð÷^ø÷\ø7 ZøœÄ ô5@Š/w¤/ ò5€Š/|ò5Š/xô5 Š/„èôU Š/=Šº%=Џ%�œŠ/p�wø÷ ÖB—tÂe2&<~È-Å Å Å @Àe0&Åe2&Ä÷ ø:JÒ  Ä ÷Ÿ•þÿ÷ Þñ‹&3ñœ&&ñœ&&ñœ&& EÅ µ$&$&µ&&&&µ(&(&µ*&*&µ0&0&µ2&2&µ~@.,&,&µ.&.&Ÿ•þÿæ÷ îýƒó•ÿÿ&3Š&3Š& Ÿ•þÿõ}�¾%fÐ%æ÷ ˆåÖ 3Š&‡J~ø*(1Š%@ %w%âÉ7ÚÉ5%õÒÉ%4 �¡ ñ• %=‘¦$f¸$æýÕ@¢$÷ ŽëÖ J@%w%–É7ŽÉõ%õ†É%3 1Š%#~p+1Š%ñ•%DŸ¤$ÄAË5@Ä =‘ $f¶$æÒñ• %ñ• %ý•¦$fº$æðÄÃ�Bù³Š%ÅÅ AŸ¦$7Š2ùóŠ%w0ó‹þ$@ %w%É@%P~è+w%üÈð÷°ø÷®ø7 ¬øœÄ ô5@.w8. ò5€.|ò5.xô5 .„èôU .=Š¢$=Š $�œ.p�w`ø÷ ÖB—tÂe%Å Í~`,Å Å @Àe%Åe%Ä÷ ø:JÒ  Ä ÷Ÿ•þÿ÷ Þñ‹þ$3ñœþ$þ$ñœÿ$ÿ$ñœ%% EÅ µ % %µ%%µ%%µK%2 ïò äò Ê Þ�à ñ‹% ±Š%Ä•\ñ•%ñ’%ÐÄ’Î1Š%²  ‘1‘%Ä•\ñ•%Áñ‹%À±Š%f¸$÷ DíÖ V~�)¸½Š $½=‘¦$ñ• %f¶$÷ (íÖ ²Ä•=‘¦$ñ•%ò€÷ ¨È /Ÿ•þÿœw F/‚Á W<..ñ5€.6Aœ.p�¬&‡¬"‚œ— Ž~*!‚Ä ð0 ´Š›Cà Ń`0 ‡ˆ Ÿ•þÿð‡ð‡ð‡ð‡ð‡ñ5@.ìA8.·& & ÷ 0øÖ ‡÷ N÷ ô&÷ Pîì~€*&%÷ "îž´%Ÿ•þÿ‡æ÷ (÷ Î4% Ã%a¡ ¡ ô%ÈŸ•þÿƒ‡fÁ Á �`D`Ä Ä %�‡‚ñ•%ñ‹ %YDº$ô•ð 1Š%ñ‹þ$ãL TASK'S DEBUG. OTHERWISE * ; CONTROL GOES TO ROSODT. * ; TASK REQUESTING DEBUG WHICH DO NOT HAVE IT (BIT 6 OF * ; ACESS CODE) WILL GENERATE A 'BAD ENTRY' IN ROSODT. * ; ROSODT REQUESTS WHEN ODT (OR OTHER ROS BPT HANDLER) IS * ; NOT PRESENT WILL CAUSE AN ERROR MESSAGE AND THEN HALT * ; THE SYSTEM. * ; Mó‹ &ñ³Š &÷ ì×-(÷æÀ%÷ ćÁ�f÷EÅ =Џ%±Š!&7ŠÐ~¸.V÷@&&w*&&Æðý•^¾%ñ•&‡¦öþÿŸ‡f&Á�(÷Á � ±Š"&„�‡æ w Œ�¶ À  & D” Ä¥+ Ä¥-Ä¥ À ó¤~0/Ž À D”Äå0�¡ ‚Wq ‡a ‡À òÖ  ¶vw ‡â ‚ ów \èæ& æ & ÷ JïÖ wüè @€€À~¨/ö �¶Ö y€À &r÷ ´é€ðµ¶Ö ‡æþÿßU0þÿ· ëŸÃ ÿÁ€ÿæfæfæfæfæf§~ 0æfæfæfF Ÿ�"þÿÃeÁ€ÿÑÑÑÑÑÑN%%µ%%µ%%µ%!~Ø,%µ%%Ÿ•þÿæ÷ îýƒó•ÿÿþ$3Šÿ$3Š% Ÿ•þÿõ}�¦$f¸$æ÷ ÂéÖ 3Š%‡ó‹%ñ³Š%÷ ì×-z÷æ¨$÷ ‡Á�¸÷EÅ =Š $±Š %7Ѝ÷m~P-@%w%�Çðý•^¦$ñ•%‡¦öþÿŸ‡f&Á�z÷Á � ±Š %„�‡æ w z�¶ À  & D” Ä¥+ Ä¥-Ä¥ À óŽ ‚~È-À D”Äå0�¡ ‚Wq ‡a ‡À òÖ  ¶vw "‡â ‚ ów Üèæ& æ & ÷ ÊïÖ w|é @€€@)~@.ö �¶Ö y€À &†÷ 4ê€ð5¶O~ø*(1Š%@ %w%âÉ7ÚÉ5%õÒÉ%4 �¡ ñ• %=‘¦$f¸$æýÕ@¢$÷ ŽëÖ J@%w%–É7ŽÉõ%õ†É%3 1Š%#~p+1Š%ñ•%DŸ¤$ÄAË5@Ä =‘ $f¶$æÒñ• %ñ• %ý•¦$fº$æðÄÃ�Bù³Š%ÅÅ AŸ¦$7Š2ùóŠ%w0ó‹þ$@ %w%É@%P~è+w%üÈð÷°ø÷®ø7 ¬øœÄ ô5@.w8. ò5€.|ò5.xô5 .„èôU .=Š¢$=Š $�œ.p�w`ø÷ ÖB—tÂe%Å Í~`,Å Å @Àe%Åe%Ä÷ ø:JÒ  Ä ÷Ÿ•þÿ÷ Þñ‹þ$3ñœþ$þ$ñœÿ$ÿ$ñœ%% EÅ µ % %µ%%µ%%µP * ; PROGRAMMER: 53 * ; DATE: 10 MAY 1973 * ; CATALOGUE NUMBER: * ; REVISION: * ; * ;*********************************************************************** .DEF ROSBPT,BPTQÑÑÁ ÿÑÑÑÑÑÑÑÑŸñ¥ñ‹ÁEàæ¡ f¡ f† æÀŽ�$�*Ÿ~˜0f7fê7œfê Á æ÷ \êÆe† À�ÿÁ°ÿ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¶ŽÏ= F2 1 1) E~1RROR XXXXX XXXXXX XXXXXX XXXXXX XXXXXX 1 1'1.151ÿÿ·øÿŽw 8æ�ÃæŽÃ¦Åâÿ w "æzÃæxÃ…æþÿf÷ :è„ŸÍ Ë~ˆ1æhÿ÷ è7^ÿÃléõ³Š‡· œÿ Ÿ•þÿ·8÷2Ãw ÄŽ‡� ô7 |ÿÅ(ÿBf÷ œç…wÿ ÷ô0ÿ¡7 ÿ¡7 ÿŸ“þÿÕ Ä81f&÷ ¦'~2C÷ VÌ ú÷• RÖ ‡æþÿßU0þÿ· �ëŸÃ ÿÁ€ÿæfæfæfæfæfæf~¸.æfæfF Ÿ�"þÿÃeÁ€ÿÑÑÑÑÑÑÑÑÁ ÿÑÑÑÑÑÑÑÑŸñ¥*ñ‹*ÁEàæ¡ f¡ f† æÀŽ�$�*fÑ~0/7æê7œæê Á æ÷ ÜêÆe† À�ÿÁ°ÿ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¶ŽzÐâ Ö0ž/ž/) ERROR~~¨/ XXXXX XXXXXX XXXXXX XXXXXX XXXXXX ¨/´/»/Â/É/ÿÿ·øÿŽw &æüÄæúĦÅâÿ w ææÄæäÄ…æþÿf÷ ºè„ŸÍ æp~ 0hÿ÷ „è7^ÿÃìéõ³Š›· œÿ Ÿ•þÿ·¤Ä·S%%µ%%µ%%µ%!~Ø,%µ%%Ÿ•þÿæ÷ îýƒó•ÿÿþ$3Šÿ$3Š% Ÿ•þÿõ}�¦$f¸$æ÷ ÂéÖ 3Š%‡ó‹%ñ³Š%÷ ì×-z÷æ¨$÷ ‡Á�¸÷EÅ =Š $±Š %7Ѝ÷m~P-@%w%�Çðý•^¦$ñ•%‡¦öþÿŸ‡f&Á�z÷Á � ±Š %„�‡æ w z�¶ À  & D” Ä¥+ Ä¥-Ä¥ À óŽ ‚~È-À D”Äå0�¡ ‚Wq ‡a ‡À òÖ  ¶vw "‡â ‚ ów Üèæ& æ & ÷ ÊïÖ w|é @€€@)~@.ö �¶Ö y€À &†÷ 4ê€ð5¶TIPL,BPTENT ; .REF $ACESS,ACTIVE,DBGENT,$CTASK,ODTILP,ROSODT,ROSEND ..IIF NZ SKT11C .REF PPASV5, .PAGE ; ; ; EQUATES DEBUG = 32.*$KT11C+24. DBGACS = 100 ; TASK ACESS CODE FOR DEBUG PRESENT CUSER = 140000 ; PSR CURRENT MODE = USER PUSER = 030000 ; PSR PREVIOUS MODE = USER TBIT = 20 ; PSR "T" BIT ; TPB = 177566 ; ADD. OF TTY BUFFER REG. UÿÅåŸÍAñЇŸþÿf÷ 8Ÿ•þÿæø0÷ ô÷ ÿ¶‡· úþæþÿŸ»÷ÿÿîþŸ•þÿ‡À‚ â�ÊÅøÊÕ0ƒ ÃE€ƒ ƒ ~x2À ô‡Ö €�‚ƒ„…&æ¦f&M'èd w äÿ„…Àœ2Ä �Õ•+Á•  â€d Á0B`•�È ôÄe0 ‘¶ w –ÿ–%‡Õ•ë~ð2- äÒ‹å÷ è0&¦Ÿæè÷ `æ€ÂÀô°°° ðU€ðU€ðU€ ·TÌ·NÌ·HÌÂàô°,°.°0·XÌ·RÌ·L̘‚€‡¦&n~h3æ~ÁŸæšç÷ úå€÷Ìð÷bÁÌð\Á*˜Àå@6·LÁ€‡ê ë ì í î ¤3¦3ÿÿÿÒ3DVžÄw ÌŽ‡� ô7 |ÿæ(ÿ÷ è…=wÿ ÷ˆ/ÿ¡7 ÿ¡7 ÿŸ“þÿÄÌ/f&÷ ¦C÷ V~˜0Ì ú÷• ÿÅå ŸÍAñŠ›Ÿþÿf÷ 2#Ÿ•þÿæŒ/÷ ^ô÷ ÿ¸‡· þþæþÿŸ½÷ÿÿòþŸ•þÿ‡À‚ â�ÊÅøÊÕ0ƒ ÃE€ƒ ƒ À ô‡è~1&æ¦f&MÖ €�‚ƒ„…'èd w Öÿ„…À,1Ä �Õ•+Á•  â€d Á0B`•�È ôÄe0 ‘¶ w ¢ÿ–%‡Õ•- äÒ‹”~ˆ1å÷ Œè0&¦Ÿæ„è÷ 俀ÂÀô°°° ðU€ðU€ðU€ ·ÄÍ·¾Í·¸ÍÂàô°,°.°0·ÈÍ·ÂÍ·¼Í˜‚€‡¦&æîŸæÎ~2è÷ ~æ€÷xÍðWÖ ‡æþÿßU0þÿ· �ëŸÃ ÿÁ€ÿæfæfæfæfæfæf~¸.æfæfF Ÿ�"þÿÃeÁ€ÿÑÑÑÑÑÑÑÑÁ ÿÑÑÑÑÑÑÑÑŸñ¥*ñ‹*ÁEàæ¡ f¡ f† æÀŽ�$�*fÑ~0/7æê7œæê Á æ÷ ÜêÆe† À�ÿÁ°ÿ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¶ŽzÐâ Ö0ž/ž/) ERROR~~¨/ XXXXX XXXXXX XXXXXX XXXXXX XXXXXX ¨/´/»/Â/É/ÿÿ·øÿŽw &æüÄæúĦÅâÿ w ææÄæäÄ…æþÿf÷ ºè„ŸÍ æp~ 0hÿ÷ „è7^ÿÃìéõ³Š›· œÿ Ÿ•þÿ·¤Ä·XTPS = 177564 ; ADD. OF TTY STATUS REG. ; ; EMT HANDLER ; ROSBPT: MOV R1,-(SP) ; SAVE R1 .IF NS $KT11C MOV $KPAR5,-(SP) ; IF HAVE KT11C, SAVE KPAR 5 .ENDC ; CMP 2+2*$KT11C(SP),#TSK.PC ; CALLED BY A TASK? BNE ROSB00 ; NO BITB #DBGACS,$ACESS ; DEBUG IN THIS TASK? BEQ ROSB00 ; NO .IF Z $KT11C ; MOV ACTIVE,R1 Y~à3@�*~X4€j�k�o�Œ~Ð4}~H5Z÷ÒÂŒÍðÌÂ*˜Àå@6·¼Â€‡Ž � � ‘ ’ 4262ÿÿÿb2q~x2@�*ä~ð2j�k�o�z~h3æ[žÄw ÌŽ‡� ô7 |ÿæ(ÿ÷ è…=wÿ ÷ˆ/ÿ¡7 ÿ¡7 ÿŸ“þÿÄÌ/f&÷ ¦C÷ V~˜0Ì ú÷• ÿÅå ŸÍAñŠ›Ÿþÿf÷ 2#Ÿ•þÿæŒ/÷ ^ô÷ ÿ¸‡· þþæþÿŸ½÷ÿÿòþŸ•þÿ‡À‚ â�ÊÅøÊÕ0ƒ ÃE€ƒ ƒ À ô‡è~1&æ¦f&MÖ €�‚ƒ„…'èd w Öÿ„…À,1Ä �Õ•+Á•  â€d Á0B`•�È ôÄe0 ‘¶ w ¢ÿ–%‡Õ•- äÒ‹”~ˆ1å÷ Œè0&¦Ÿæ„è÷ 俀ÂÀô°°° ðU€ðU€ðU€ ·ÄÍ·¾Í·¸ÍÂàô°,°.°0·ÈÍ·ÂÍ·¼Í˜‚€‡¦&æîŸæÎ~2è÷ ~æ€÷xÍð\ ; GET ADDRESS OF TASK HEADER .IFF ; MOV ACTIVE,-(SP) ; JSR PC,PPASV5 ; MOV (SP)+,R1 ; .ENDC ; MOV 4+2*$KT11C(SP),DEBUG(R1); SET ADD. OF ENTRY IN HEADER MOV 4+2*$KT11C(SP),DBGENT ; SET ADD. IN SLOT TO SAVE MOV $CTASK,4+2*$KT11C(SP) ; SET TASK # UP FOR RETURN ROSA00: .IF NZ $KT11C ; MOV (SP)+,$KPAR5 ; RESTORE KPAR 5 IF KT]~À5Œ~86J4ÀêÂêÄêÆêÈê˜6P~°6D=d‡¨6ÿÿ&À@&À€& æ ¾æ¾f¦æ&f�¶æÉŸÉ |Ÿ•þÿ1�ÀDœ7!røo‚Ä Š/ÅÅŠiÅ€ {~(7Bœd— a€ Bœ]µ ¤3Z€ Dwž½R€ÃE€× /L€ ­‡F‚^~à3n~X4õ~Ð4Ú2ÀêÂêÄêÆêÈê(5È;‰~H5d‡85ÿÿ&À@&À€& æz¿æx¿f¦æ&f�¶ærÊŸÉ xŸ•þÿ1�ÀDœ7!_÷ÒÂŒÍðÌÂ*˜Àå@6·¼Â€‡Ž � � ‘ ’ 4262ÿÿÿb2q~x2@�*ä~ð2j�k�o�z~h3æ`11C IN USE .ENDC ; MOV (SP)+,R1 ; RESTORE R1 RTS PC ; RETURN TO CALLER ROSB00: CLR 4+2*$KT11C(SP) ; SET ERROR CODE BR ROSA00 ; GO RETURN .PAGE .CSECT .BPTPL ; THIS CODE IS PART OD IPL. ; ; BPT IPL ENTRY ; BPTIPL: MOV #ODTIPL,R0 ; GET ADDRESS OF ODT IPL ENTRY BEQ BPTI10 ; ODT NOT IN SYSTEM JSR PC,(R0) ; GO TO ROSODTaW¬B1 4 @À ¾3æxÈŸµ Ì3†µ�Ì3  ƒ`f÷ â„0~ 7æ÷ ðá  —-IW¬ÃHãñ ³Š‡° À35ŠÍ3ŸþÿÀ6óÜþ óD= ææÎþ÷ ÜÖ wtwxw€w̼3Ó$Áýf÷ Zá�Ž~8pÂ3DwƼ0Ä3ð¼¼Æ3ð¸¼È3ô ãK�Â*þ2 6+Âe úÅ B†6À  Àå �ƒ ûÀe 1Ðò ÀƒltÐ3… ôô<ôÕ)~�8@ -w–w”ƒœ%6ÃE€ÿñ ÎÂe 6÷ @À ñ�— ÂåôÕ€ úÀE€À À `‚`ÂeJ4Ê ãÀÕõ• Î3õ• Ï3Å =�6= »~9�6¦&÷ ¨àƒ —v—tµÊ3ÂEüÿƒPýbvøk‚Ä .ÅÅŠeÅ€ Bœ`— ~À5]€ BœYµ 42V€ Dw¿N€ÃE€× /H€ ­‡B‚W¬>1 4 @À N2æèÉŸµ \2†µ�\2  ƒ`f÷ ¢â„æ÷ tâ�~86  —-ŒGÃÔãñ ³Š›° P25Š]2ŸþÿP5ñäþ ñÈ; fæÖþ÷ ZàÖ wtwxw€wÌL2Ó$Áýf÷ æá�pR2Dw>¾0†~°6T2ð4¾V2ð0¾X2ô ãK�Â*þ2 °4+Âe úÅ B5À  Àå �ƒ ûÀe 1Ðò Àƒlt`2… ôô<ôÕ@ -w’w�ú~(7ƒœµ4ÃE€ÿñ ÎÂe°4÷ @À ñ�— ÂåôÕ€ úÀE€À À `c~à3n~X4õ~Ð4Ú2ÀêÂêÄêÆêÈê(5È;‰~H5d‡85ÿÿ&À@&À€& æz¿æx¿f¦æ&f�¶ærÊŸÉ xŸ•þÿ1�ÀDœ7!d TO SETUP AT FIRST BPTI10: MOV #BPTENT,@#14 ; SETUP"BPT" TRANSFER VECTOR AT MOV #340,@#16 ; LEVEL 7. CLR DBGENT ; CLEAR ADD. OF TASK'S DEBUG 'BPT' ENTRY RTS PC ; DONE WITH SET UP. .CSECT ; BACK TO UNAMED CSECT .PAGE ; ; ; BPT HANDLER ; BPTENT: .IF NZ $KT11C ; BIT #CUSER,2(SP) ; BPT IN A TASK (USER MODE)? BEQ BPTA00 ; NO e’6‚=”6‚œˆ6ÂUAµPÊ3CÀ6óný æªÆŸ}Ê3Ž6… õ‹Í3 �Ÿ•þÿw߉ ÷  ‰ À÷ Ï~€9ñ¥Ÿ•þÿ…„ƒ‚�·P»·J»€Ö ‡5ŠÂ6Ÿ•þÿ‡¶…„ƒ‚�·*»·$»€& ÷ 6æwzê��wâþôµÂôÅ€�Âùñ‹Ñ~ø9 �€œÀE€ÿæöÅŸ7 ¶ü[Ÿ•þÿñµ@ô‹!´€t4Àe 4ô‹ò‹€ñµÀ1 ‡´åÀ ‡ +À5%.~p:÷ z2 ‚ƒƒlm €l ‚€m 44 ÀeÉÀ‡À ‡À ‡À‡À‡À$&r÷ ÄÞ€Àe&æf÷ ØÞ„÷ ª~è:ÖôwfWtúÿf‚`ÂeÚ2Ê ãÀÕõ• ^2õ• _2Å = 5= 5¦&÷ 4რ_~ 7—v—tµZ2ÂEüÿƒPý"5‚=$5‚œ5ÂUAµPZ2CP5óvý æ"ÈŸ}Z25… õ‹]2 �Ÿ•þÿw¢ß‰ ÷  ‰ À÷ ñ¥Ÿ•þÿ…š~8„ƒ‚�·ȼ·¼€Ö ‡5ŠR5Ÿ•þÿ‡¶…„ƒ‚�·¢¼·œ¼€& ÷ ¾æwúê��wâþôµÂôÅ€�Âùñ‹ �€œÀE€ÿænÇÑ~�8Ÿ7 ¾ü[Ÿ•þÿñµ@ô‹!´€t4Àe 4ô‹ò‹€ñµÀ1 ‡´åÀ ‡ +À5%÷ z2 ‚ƒƒl…~9m €l ‚€m 44 ÀeÉgvøk‚Ä .ÅÅŠeÅ€ Bœ`— ~À5]€ BœYµ 42V€ Dw¿N€ÃE€× /H€ ­‡B‚W¬>1 4 @À N2æèÉŸµ \2†µ�\2  ƒ`f÷ ¢â„æ÷ tâ�~86  —-ŒGÃÔãñ ³Š›° P25Š]2ŸþÿP5ñäþ ñÈ; fæÖþ÷ ZàÖ wtwxw€wÌL2Ó$Áýf÷ æá�pR2Dw>¾0†~°6T2ð4¾V2ð0¾X2ô ãK�Â*þ2 °4+Âe úÅ B5À  Àå �ƒ ûÀe 1Ðò Àƒlt`2… ôô<ôÕ@ -w’w�ú~(7ƒœµ4ÃE€ÿñ ÎÂe°4÷ @À ñ�— ÂåôÕ€ úÀE€À À `h .IFF ; CMP (SP),#ROSEND ; BPT IN AREA ABOVE ROS (ID. A TASK)? BLOS BPTA00 ; NO .IFTF ; NEED THIS ALWAYS TST DBGENT ; DEBUG READY FOR USE IN THIS TASK? BEQ BPTA00 ; NO .IFT ; ONLY IF HAVE KT11C MOV 2(SP),-(SP) ; GET PSR OF BPT ON TOP OF STACK SO CAN ; MOVE TO USER STACK MOV R0,(PCiÀ5?� @�‡w ÈÜæþÿ…æ ÅEðÿõ‹Â6Ÿ•þÿw`Ýõ•Í3Å CÀ6óˆû Ÿ•þÿAÂ3DÄ3wÆ3¢¹wÈ3ž¹ý5€Ž6wZôµ@²~`;sô‹€wW¬f & ÷ èÖ Â@¼3D¾3Cœà à Ä``… æþÿŸKÌ¡ ¡ ‰$È ‚ µ ¤3ùÂÿÿµ�Ì3B òЇŸ“þÿ¦Ý~Ø;÷ t.ŸþÿW¬ ffff ÷ Êó�… @À Ÿð À3€À6ñ¾6 õ‹Í3 �ð À3€Ÿ•þÿw\ÜŸ•þÿ5ŠÂ6‡Ä wPýŸ•þÿw@ýŸ•þÿôÅ@BœL~P<ÂEÀÿƒ×p ÂBmÐ3Ê $÷ ŒýÀ b@… u¬Ì3wTýw„ûôµòw öæX¸æV¸ff ÷ ó·H¸·B¸w ÔõàÀ?@€ ý52Ž6ý5jÀ‡À ‡À ‡À‡À‡À$&†÷ P߀Àe&æf÷ dß„÷ âôw fWtúÿÀ5M~€9?� @�‡w TÝæþÿ…æ ÅEðÿõ‹R5Ÿ•þÿwìÝõ•]2Å CP5ó�û Ÿ•þÿAR2DT2wV2»wX2»ý5€5wVôµ@qô‹€wW¬~ø9f & ÷ ˜èÖ Â@L2DN2Cœà à Ä``… æþÿŸKÌ¡ ¡ ‰$È ‚ µ 42ùÂÿÿµ�\2B òŠ›Ÿ“þÿ¦÷ �ŸþÿW¬~p:fff ÷ Øó… @À Ÿð P2€P5ñN5 õ‹]2 �ð P2€Ÿ•þÿwìÜŸ•þÿ5ŠR5‡Ä wTýŸ•þÿwDýŸ•þÿôÅ@BœÂEÀÿƒ×p ÂBm`2Ê ‘~è:$÷ �ýÀ b@… k‚`ÂeÚ2Ê ãÀÕõ• ^2õ• _2Å = 5= 5¦&÷ 4რ_~ 7—v—tµZ2ÂEüÿƒPý"5‚=$5‚œ5ÂUAµPZ2CP5óvý æ"ÈŸ}Z25… õ‹]2 �Ÿ•þÿw¢ß‰ ÷  ‰ À÷ ñ¥Ÿ•þÿ…š~8„ƒ‚�·ȼ·¼€Ö ‡5ŠR5Ÿ•þÿ‡¶…„ƒ‚�·¢¼·œ¼€& ÷ ¾æwúê��wâþôµÂôÅ€�Âùñ‹ �€œÀE€ÿænÇÑ~�8Ÿ7 ¾ü[Ÿ•þÿñµ@ô‹!´€t4Àe 4ô‹ò‹€ñµÀ1 ‡´åÀ ‡ +À5%÷ z2 ‚ƒƒl…~9m €l ‚€m 44 ÀeÉl)+ ; SAVE R0 TEMP: .WORD 0 ; TEMPORARY STORAGE MFPI SP ; MOVE PS & PC FROM KERNAL MOV (SP)+,R0 ; STACK TO USER STACK MTPI -(R0) ; PUT PSR ON TO USER STACK MTPI -(R0) ; AND THE RETURN ADDRESS MOV R0,-(SP) ; AND, FINALLY, RESTORE USER MTPI SP ; STACK POINTER BIS #CUSER!PUSER,(SP) ; SET PRESENT & PREVIOUS MODES TO USER BIC m–6ö~È<ðŠÎ3 ýŽ6BÊ3‚ ÂEüÿ ‚œ‹6wüÀ ÷ œB¦62rœ2rŽ6 r–6 ¦÷ RôtŽ6t–6ýŽ6ôÅÀw:þ… ÷ Tõ‹Í3øÅ Ó~@=w<þB@Å °ŠÂ6ð•ÿÿÍ3AÂ3DÄ3wÆ3„·wÈ3€·ðŠÏ3 ýŽ6¦æ>ù÷ ‚ÖÖ §À °1‡eÿÿEMçA~¸=w Êôæ"·æ ·æþÿ�ÀÉŸÉ KŸ“þÿ€ Dœ7!œñF‚Ä Š/B�ÅÅEðW¡<Åq‘€ Bœ5— 2€ ñ¥-‡€ DwÀ¶€÷~0> — A!1 Ÿf÷ xÛ„æLÿ÷ HÛ7Bÿ —-IæÜñ ³Š‡· (ÿG‰ ·“„Á÷ FE7Šÿ·“vÁænu¬\2wXýwˆûôµòw þõæÔ¹æÒ¹ff ÷ 0ó·Ĺ·¾¹w ìõàÀ?@€ ý525ý5&5ðŠ^2 ý5BZ2‚ ÂE—~`;üÿ ‚œ5wüÀ ÷ œB652rœ2r5 r&5 ¦÷ bôt5t&5ý5ôÅÀw>þ… ÷ Tõ‹]2øÅ w@þB@Å °ŠR5ð•b~Ø;ÿÿ]2AR2DT2wV2¹wX2ü¸ðŠ_2 ý5¦æJù÷ ÎÚÖ §À °1‡ÿÿEMçw Èô枸朸è~P<æþÿ�ÀÉŸÉ KŸ“þÿ€ Dœ7!¬ñF‚Ä .B�ÅÅEðW¡<Åq‘€ Bœ5— 2€ ñ¥-‡€ Dw<¸€ — A!1 ŸfoÀ‡À ‡À ‡À‡À‡À$&†÷ P߀Àe&æf÷ dß„÷ âôw fWtúÿÀ5M~€9?� @�‡w TÝæþÿ…æ ÅEðÿõ‹R5Ÿ•þÿwìÝõ•]2Å CP5ó�û Ÿ•þÿAR2DT2wV2»wX2»ý5€5wVôµ@qô‹€wW¬~ø9f & ÷ ˜èÖ Â@L2DN2Cœà à Ä``… æþÿŸKÌ¡ ¡ ‰$È ‚ µ 42ùÂÿÿµ�\2B òŠ›Ÿ“þÿ¦÷ �ŸþÿW¬~p:fff ÷ Øó… @À Ÿð P2€P5ñN5 õ‹]2 �ð P2€Ÿ•þÿwìÜŸ•þÿ5ŠR5‡Ä wTýŸ•þÿwDýŸ•þÿôÅ@BœÂEÀÿƒ×p ÂBm`2Ê ‘~è:$÷ �ýÀ b@… p #TBIT,(SP) ; GET RID OF ANY LOSE T BITS. MOV DBGENT,-(SP) ; GET ADDRESS OF DEBUG 'BPT' ENTRY TO RTI ; RTI TO. - AWAY TO DEBUG .IFF ; HERE IF NO MEMORY MANAGMENT. JMP @DBGENT ; INTO DEBUG - ON TASK'S STACK .ENDC ; ; BPTA00: MOV #ROSODT,-(SP) ; SETUP ADDRESS OF ROS ODT ENTRY FOR BPT BEQ BPTB00 ; NO ODT. JMP (SP)+ ; OFF TO Oqÿ÷ àÚ�DwP¶wüþ÷F¶øþ ”~¨>€Â ÷ôþ÷òþCœÃÂP·ÔþCœÂÜ®=·Òþ7Ðþ7 Ìþ7Êþ÷•C¶þ7 ºþ÷• ³þ÷¨þî¿÷‹¨þŸ•þÿw‚ÙW¬ Ÿ•þÿ·Úµ·Ôµw f󎇟“ ~ ?þÿ¶·µ·¼µw Nó& ÷ Úàwåw �Øžæþÿ÷•TþÁLþ÷Jþ”µ÷ HþI�÷ ‚¿ �÷52þ÷-z¿:þ�ææ÷5þ6  ·åþ·eþwXÿ÷-[~˜?N¿þù€éwÄ÷-þþã÷ÿÿîý÷ìýàý÷èý$¿æäý÷ ôÙƒ —v—t÷E0Àý·P¼ýÂÆýÂEüÿƒP÷ú¾Ò÷ ð¾Q� ÷•æ¾W¬f & ÷ ˆãÖ û~@Ä–=Ô=ŸKÌ¡ ¡ ÉB òЇ·“¿¦÷ *·“¸¿1 W¬r÷ ÜÉ~È<„æLÿ÷ ØÛ7Bÿ —-ŒGÃ6Ýñ ³Š›· (ÿG‰ ·“Ã÷ FE7Šÿ·“òÂæÿ÷ pÛ�DwÌ·wüþ÷·øþ €Â ÷ôþ÷òþCœQ~@=ÃÂP·ÔþCœÂÜ2<·Òþ7Ðþ7 Ìþ7Êþ÷•C¶þ7 ºþ÷• ³þ÷¨þjÁ÷‹¨þŸ•þÿwÚW¬ Ÿ•þÿ·V··P·w ~󎇟“þÿ¶·>··8·w fó& È~¸=÷ fáw”åw Ùžæþÿ÷•TþÁLþ÷Jþ·÷ HþI�÷ þÀ �÷52þ÷-öÀ:þ�ææ÷5þ6  ·åþ·eþwXÿ÷-ÊÀþù€éwÄ÷-þþ›~0>ã÷ÿÿîý÷ìýàý÷èý Àæäý÷ „Úƒ —v—t÷E0Àý·P¼ýÂÆýÂEüÿƒP÷vÀÒ÷ lÀQ� ÷•bÀW¬fsu¬\2wXýwˆûôµòw þõæÔ¹æÒ¹ff ÷ 0ó·Ĺ·¾¹w ìõàÀ?@€ ý525ý5&5ðŠ^2 ý5BZ2‚ ÂE—~`;üÿ ‚œ5wüÀ ÷ œB652rœ2r5 r&5 ¦÷ bôt5t&5ý5ôÅÀw>þ… ÷ Tõ‹]2øÅ w@þB@Å °ŠR5ð•b~Ø;ÿÿ]2AR2DT2wV2¹wX2ü¸ðŠ_2 ý5¦æJù÷ ÎÚÖ §À °1‡ÿÿEMçw Èô枸朸è~P<æþÿ�ÀÉŸÉ KŸ“þÿ€ Dœ7!¬ñF‚Ä .B�ÅÅEðW¡<Åq‘€ Bœ5— 2€ ñ¥-‡€ Dw<¸€ — A!1 ŸftDT ; BPTB00: MOV R0,(SP) ; NO ODT - SAVE R0 MOV #BPTMES,R0 ; GET ADDRESS OF ERROR MESSAGE BPTB10: MOVB (R0)+,@#TPB ; PUT OUT A CHARACTER BEQ BPTB30 ; BPTB20: TSTB @#TPS ;WAIT 'TIL DONE BPL BPTB20 ; BR BPTB10 ; NEXT BPTB30: TSTB @#TPS ; WAIT TILL BLANK DONE BPL BPTB30 ; MOV (SP)+,R0 ; RESTORE R0 MOV (SP),@#DSPREG uf¦÷ fïŸ÷ 8ý�wþw�þ÷ r¾‚�÷5j¾÷d¾÷ŠýwþÂ~ˆ@ÀÎÁý÷ 0³÷58D¾÷>¾÷5�6¾îè7 ýwÜþüæ°=÷ ¨ðw6þ1À¾‡4æ@æ@�~A?~xA€d|4|4!AœC"F*F2FÎAÎA@…~ðAv & ÷ äÖ Ä<Ã<ŸKÌ¡ B~¨>¡ ÉB òŠ›·“>Á¦÷ .·“4Á1 W¬f¦÷ vïŸ÷ 8ý�wþw�þ÷ î¿‚�÷5æ¿÷à¿÷ŠýwþÀÎÁý÷ 0³÷58À¿/~ ?÷º¿÷5�²¿îè7 ýwÜþüæ4<÷ ¸ðw6þ1À�¿‡Õj?¯~˜?€d 3‚~@ 3!A B¦D®D¶DR@w÷ ÜÉ~È<„æLÿ÷ ØÛ7Bÿ —-ŒGÃ6Ýñ ³Š›· (ÿG‰ ·“Ã÷ FE7Šÿ·“òÂæÿ÷ pÛ�DwÌ·wüþ÷·øþ €Â ÷ôþ÷òþCœQ~@=ÃÂP·ÔþCœÂÜ2<·Òþ7Ðþ7 Ìþ7Êþ÷•C¶þ7 ºþ÷• ³þ÷¨þjÁ÷‹¨þŸ•þÿwÚW¬ Ÿ•þÿ·V··P·w ~󎇟“þÿ¶·>··8·w fó& È~¸=÷ fáw”åw Ùžæþÿ÷•TþÁLþ÷Jþ·÷ HþI�÷ þÀ �÷52þ÷-öÀ:þ�ææ÷5þ6  ·åþ·eþwXÿ÷-ÊÀþù€éwÄ÷-þþ›~0>ã÷ÿÿîý÷ìýàý÷èý Àæäý÷ „Úƒ —v—t÷E0Àý·P¼ýÂÆýÂEüÿƒP÷vÀÒ÷ lÀQ� ÷•bÀW¬f ; PUT ADDRESS IN LIGHTS (ON/45) BPTB40: HALT ; WHAT ELSE IS THERE TO DO? BR BPTB40 ; MAYBE SOMEDAY INTO PSTRAP? ; BPTMES: .ASCII <15><12><12> ; .ASCII /BPT ERROR/ ; .ASCII <15><12> ; .END ; yw .ð w &ð~hBÀ w ðÀw ðÀ�f÷ 2×…1�æþÿÀŸÉ FŸ“þÿ€ ñ%?†ñ%ô;€ ÷ — 5‚€ ƒœŽAÃEàÿñ� à ó Š/*�€ —-I% ~àBÃ$Ø³Š‡ñŸæàý÷  Ö^wÖý· ¢þŸ•þÿw xïöþÿ& ÷ þÜæL$æþÿŸ÷ vþŸ•þÿ‡w°· fþŸ“þÿæ–ý÷ 2Ö�wtþ÷¢±pþ÷ ŒŸ· pó òÕX~XC€ŽAŸ“þÿ@œÀ xšAÀ$&r÷ րР&æÅLý÷ 8ìwLÀwjÀwbñ‹€ ÷ |ñ÷öý7ôý@÷ ¬÷ÚCþ÷•ýý7Šþ÷äýþ1~ÐCæ¼A÷ zR@@è~ˆ@w ,ð w $ðÀ w ðÀw ðª~AÀ�f÷ Â×…1�æþÿÀŸÉ FŸ“þÿ€ ñ%?†ñ%ô;€ ÷ — 5‚€ ƒœ@ÃEàÿñ� à ó .*�€ —-ŒG%Ã´Ø³Š›ñŸæàý÷ L~xA0×^wÖý· ¢þŸ•þÿw �ïöþÿ& ÷ ŠÝæT#æþÿŸ÷ vþŸ•þÿ‡w¬· fþŸ“þÿæ–ý÷ ÂÖ�wtþ÷³pþ÷ „Ÿ· |ó òÕ€@Ÿ“þÿ@œÀ x@À`~ðA$&†÷ °Ö€Ð &æÅLý÷ HìwLÀw{ & ÷ äÖ Ä<Ã<ŸKÌ¡ B~¨>¡ ÉB òŠ›·“>Á¦÷ .·“4Á1 W¬f¦÷ vïŸ÷ 8ý�wþw�þ÷ î¿‚�÷5æ¿÷à¿÷ŠýwþÀÎÁý÷ 0³÷58À¿/~ ?÷º¿÷5�²¿îè7 ýwÜþüæ4<÷ ¸ðw6þ1À�¿‡Õj?¯~˜?€d 3‚~@ 3!A B¦D®D¶DR@|.ër¯”̵;@W„!@t^0:@.ërt!@ërt^@ë¨K"@L©C @(¶.„!hLërh `¯Œ(Ì:h¯”÷æ.fæêô—-÷µ@æ“êô"ë¨K"(̵;Ü.&÷ �±8·ö·êô�‡6 ù "W„!L©C êô`¯Œ&"ÀÈ ßL ßà7 ‡: LW„!Lò.Lö5À÷ ¦F €    &† ÎUð}ó¥÷ ÷ ÿ ÎýÖ÷ î@ }òµ@ŽA` ƒA„ð@á o‚7˜ý2`ð@‚ æÔ@÷æ@Äü7 ¾ü÷ ¨ò÷JD’ý÷•�ý÷•—ý÷tý˜ýæ¼A÷ ˆòõ~HD‡÷ –÷ ž÷ „ÃZý÷ @÷fD\ý‡÷ z÷ ‚÷ hDñ‹ €Ã$ý÷ æ|A÷ Dòñý1ŠòÅ€ŽA&& ÷ òÞÎþÿŸw"ü ÷Ð@ü¡7 ü¡7 S~ÀDüÉôЇŸ“þÿ&÷ z%Ÿ÷ Æü7 ¶üw>þwHþ‚ 7 Àü7ºüÀÖü÷ (÷´ü÷ E¸ü÷•µü7Š¿ü7 Âüæ¼A÷ ºñ‡÷ À÷ ÈÃÜA÷xzü÷ ¤÷`î~8ErüË ÅœÅE€ÿ… À`üZó-\ü÷Rü÷Hü÷rü@üÃe ÷ <üä· bü÷-^ü:üÌ÷ ,ü ƒA„ð@áÀü À1 wjþ‚ ÷ ü8~fÀw^ñ‹€ ÷ tñ÷öý7ôý@÷ ¤÷^Bþ÷•ýý7Šþ÷äýþæ@@÷ ó¥÷ þ÷ ÿ –~hBÎýÖ÷ æ@ }òµ@@` ƒˆ?„t?á o‚7˜ý2`t?‚ æX?÷j?Äü7 ¾ü÷ ´ò÷ÎB’ý÷•�ý÷•—ý÷tý˜ýæ@@÷ ”ò‡÷ Ž÷ š÷ |ÃZý÷ „~àB8÷êB\ý‡÷ r÷ ~÷ `ñ‹ €Ã(ý÷ æ@÷ Tòñý1ŠòÅ€@@&& ÷ vßÎþÿŸw"ü ÷T?ü¡7 ü¡7 üÉðŠ›Ÿ“þÿ&÷ 0~XCšŸ÷ Æü7 ¶üw>þwHþ‚ 7 Àü7ºüÀÖü÷ ÷´ü÷¤C¸ü÷•µü7Š¿ü7 Âüæ@@÷ Æñ‡÷ ¸÷ ÄÃ`@÷xzü÷ œ÷`rüË ÅœÅE€ÿ… Àr~ÐC`üZó-R@@è~ˆ@w ,ð w $ðÀ w ðÀw ðª~AÀ�f÷ Â×…1�æþÿÀŸÉ FŸ“þÿ€ ñ%?†ñ%ô;€ ÷ — 5‚€ ƒœ@ÃEàÿñ� à ó .*�€ —-ŒG%Ã´Ø³Š›ñŸæàý÷ L~xA0×^wÖý· ¢þŸ•þÿw �ïöþÿ& ÷ ŠÝæT#æþÿŸ÷ vþŸ•þÿ‡w¬· fþŸ“þÿæ–ý÷ ÂÖ�wtþ÷³pþ÷ „Ÿ· |ó òÕ€@Ÿ“þÿ@œÀ x@À`~ðA$&†÷ °Ö€Ð &æÅLý÷ HìwLÀw^ W„!È.rÎEææVÀ¨”vÿß‹tÿý€ùÁ W„!ërt^¨¾&˜ß‹tÿý€€Ÿþ BPT ERROR Öó�÷ÌEü³~°E÷• ü÷•ü÷èûüæ¼A÷ ñ‡÷ ÷ ÃÒû÷ÊûómÎûóíÈû÷òEÐû‡÷ î÷ öñ²û w$þ3 ¯7¢û÷˜û÷Âû�ûÅÀwÜ÷°F€û~(F÷ÎFxû÷ÖFpû@÷ &÷fFzû÷•wû÷•û÷\û€ûæ¼A÷ pðŸ•þÿ‡÷ z÷ ‚ÃBûË Lÿ .ûó‹ €@÷ œÿ ûæ|A÷ <ð÷œF&û‡÷ DÔ~ F÷ L÷ 2Dwâý œÂE€ÿòµ@ŽAól3 ‡óÕ€‡óÅ€‡‰ Ÿ•þÿ1�w ”뎇÷ Ðú‡Ö À1�÷ ÔDwˆýÀ 1�÷i~GG¤ú‡÷ Âï Ã*þÀ €ÄE€Wq Ca 3 6„ Ãe ù‡À Åœ%6ÅE€ÿq¡ òÃe 6‡¦À 7 Dú ‚\ü÷Rü÷Hü÷rü@üÃe ÷ <üä· bü÷-^ü:üÌ÷ ,ü ƒˆ?„t?áÀü À1 wjþ‚ ÷ ü8÷PDü÷• ü÷•ü÷èûüæ6~HD@@÷ ñ‡÷ ÷ ÃÒû÷ÊûómÎûóíÈû÷vDÐû‡÷ æ÷ òñ²û w$þ3 ¯7¢û÷˜û÷Âû�ûÅÀwØ÷0E€û÷NExû÷VEpû@²~ÀD÷ ÷êDzû÷•wû÷•û÷\û€ûæ@@÷ |ðŸ•þÿ‡÷ r÷ ~ÃBûË Hÿ .ûó‹ €@÷ ”ÿ ûæ@÷ Hð÷ E&û‡÷ <÷ H÷ *wâý œÂE�~8E€ÿòµ@@ól3 ‡óÕ€‡óÅ€‡‰ Ÿ•þÿ1�w °ëއ÷ Ôú‡Ö À1�÷ ÐwŒýÀ 1�÷šE¬ú‡÷ Âñ Ã*þÀ €ƒfÀw^ñ‹€ ÷ tñ÷öý7ôý@÷ ¤÷^Bþ÷•ýý7Šþ÷äýþæ@@÷ ó¥÷ þ÷ ÿ –~hBÎýÖ÷ æ@ }òµ@@` ƒˆ?„t?á o‚7˜ý2`t?‚ æX?÷j?Äü7 ¾ü÷ ´ò÷ÎB’ý÷•�ý÷•—ý÷tý˜ýæ@@÷ ”ò‡÷ Ž÷ š÷ |ÃZý÷ „~àB8÷êB\ý‡÷ r÷ ~÷ `ñ‹ €Ã(ý÷ æ@÷ Tòñý1ŠòÅ€@@&& ÷ vßÎþÿŸw"ü ÷T?ü¡7 ü¡7 üÉðŠ›Ÿ“þÿ&÷ 0~XCšŸ÷ Æü7 ¶üw>þwHþ‚ 7 Àü7ºüÀÖü÷ ÷´ü÷¤C¸ü÷•µü7Š¿ü7 Âüæ@@÷ Æñ‡÷ ¸÷ ÄÃ`@÷xzü÷ œ÷`rüË ÅœÅE€ÿ… Àr~ÐC`üZó-„; UPDATE ROSODT.S02 5/11/73 ; UPDATE ROSODT.S01 5/10/73 ; UPDATE ROSODT 5/8/73 .TITLE ROSODT ; 14 AUG 1972 . = .+144+26 ;RESERVES SPACE FOR STACK ; ODT-11R. --V004A ; COPYRIGHT 1969,1970,1971,1972 DIGITAL EQUIPMENT CORPORATION ; ; EXTERNAL DEFINITIONS ; .DEF ODTIPL,ROSODT,OLDODT R0 = %0 ; REGISTER R1 = %1 ; NAMING R2 = %2 ; CONVENTIONS R3 = %3 R4 = %4 R5 = %5 SP = %6 PC = %7 ST = …—r ·8ú×p ÃeÜA÷.úCœ ÷�0úà ×~�G÷œŠ/8ú· 4ú‚‡Kóúsœ ³�ñ‹€óÕ€s òµ@ŽAóØùól‡BœÂE€ÿ‡ÁÐù÷Îùü¬‡TZ÷ Óûö5Àš~H÷¦f&F ‚ÂU€ß ÿèô�a €Õå >âÁØÒÁEàÿ¼ðIÛœ0J7œpJªÿÀ 7pI ÿ}@WtüÿÀEðÿÁEðÿÂå·†ÿÀ ’~€��‚��é~€H·”ÒÆhÿæfÿ¦ææ�`ÿ&œþÿÎEŸ•þÿ‚“\ÂE€ÿ‚aƒœ×tüÿÃEñÿß ÿêôƒÃEà×túÿß`êôÊEÀÿÊU Ö‹€‚ƒœ ×tüÿÃEñÿò ÿƒ ÃEà×túÿò`:~øHŸìôƒ ÃEÀÿÃUÀòƒ‚Þ ŸÆüÑ&&7Îþ7ÈþÁ 0C~Àe†ÄE€Œ~°EWq Ca 3 °4„ Ãe ù‡À Åœµ4ÅE€ÿq¡ òÃe°4‡¦À 7 Lú —r ·@ú×p Ãe`@÷6úCœ ÷�8úà ÷œ.@ú· <ú‚‡Kó úsœ e~(F³�ñ‹€óÕ€s òµ@@óàùól‡BœÂE€ÿ‡ÁØù÷Öù€®‡wNwT÷ žÓûö5À÷¦f&F ‚ÂU€ß ÿèô�’~ Fa €Õå ;âÁpÓÁEàÿ¼\HÛœ˜H7œÔHªÿÀ 7äG ÿz@WtüÿÀEðÿÁEðÿÂå·†ÿÀ ’~€��‚��·,ÓÆhÿæfÿ¦ææ�`ÿœþÿþÿ‚“>~G\ÂE€ÿ‚aƒœ×tüÿÃEñÿß ÿêôƒÃEà×túÿß`êôÊEÀÿÊU Ö‹€‚ƒœ ×tüÿÃEñÿò ÿƒ ÃEà×túÿò`‡\ü÷Rü÷Hü÷rü@üÃe ÷ <üä· bü÷-^ü:üÌ÷ ,ü ƒˆ?„t?áÀü À1 wjþ‚ ÷ ü8÷PDü÷• ü÷•ü÷èûüæ6~HD@@÷ ñ‡÷ ÷ ÃÒû÷ÊûómÎûóíÈû÷vDÐû‡÷ æ÷ òñ²û w$þ3 ¯7¢û÷˜û÷Âû�ûÅÀwØ÷0E€û÷NExû÷VEpû@²~ÀD÷ ÷êDzû÷•wû÷•û÷\û€ûæ@@÷ |ðŸ•þÿ‡÷ r÷ ~ÃBûË Hÿ .ûó‹ €@÷ ”ÿ ûæ@÷ Hð÷ E&û‡÷ <÷ H÷ *wâý œÂE�~8E€ÿòµ@@ól3 ‡óÕ€‡óÅ€‡‰ Ÿ•þÿ1�w °ëއ÷ Ôú‡Ö À1�÷ ÐwŒýÀ 1�÷šE¬ú‡÷ Âñ Ã*þÀ €ˆ177776  ;STATUS REGISTER O.BKP = 16  ;NUMBER OF BREAKPOINTS-1 MULT. BY 2 O.RLR = 16  ;NO. OF RELOC. REGISTERS-1, TIMES 2 O.TVEC = 14  ;TRT VECTOR LOCATION O.RELC = 20  ;NUMBER OF RELOC.REGISTERS(TIMES 2) O.STM = 340  ;PRIORITY MASK - STATUS REGISTER O.TBT = 20  ;T-BIT MASK - STATUS REGISTER TRT = 000003  ;TRT INSTRUCTION O.NEXT = '. ;CHAR TO BE USED FOR OPENING NEXT LOCATION O.RDB = 177562 ;R DATA BUFFER O.RCSR = 177560 ;R C/SR O.TDB ‰ÀEà&À°þÁ®þßU0þÿ† Ö €�‚¤¶Ö Øæ¤Ñ¦÷ ÞÐ^á~pIÌ!–#!^"p!D&Ö&À=¦2ü.h1Ø6,L*R°g¸h\]0]ÔXNYŒZæZZH\Ä\\BdBnBxBü2Ð6ê]Œ]`Id3Ø7.C‚]Œ]ê]ù~èI°JüÐ6!0033Ÿ~`J ˆˆˆˆˆˆ ˆˆ¦öºÊ‡” L;Ô@�H£YôÌKÍ3i N|Asq§~ØJØpA%leT4R8xÄ6”¶^ Q”ð_QŠŸìôƒ ÃEÀÿÃUÀòƒ‚Þ ŸÆŽ~�GšÒ&&7Ôþ7ÎþÁ 0C~ÀeÀEà&À¶þÁ´þßU0þÿ† Ö €�‚.¸Ö ØæBÒ¦÷ |Ñ^à ž" f!x ÔÒ,%¾%D<61�-|~Hü/h5ÒXTQ\Rà@è@ò@Œ1`5ÖGô1`6²A²~€H!0033 ˆˆˆˆˆˆ a~øHˆˆ‹ÄE€Œ~°EWq Ca 3 °4„ Ãe ù‡À Åœµ4ÅE€ÿq¡ òÃe°4‡¦À 7 Lú —r ·@ú×p Ãe`@÷6úCœ ÷�8úà ÷œ.@ú· <ú‚‡Kó úsœ e~(F³�ñ‹€óÕ€s òµ@@óàùól‡BœÂE€ÿ‡ÁØù÷Öù€®‡wNwT÷ žÓûö5À÷¦f&F ‚ÂU€ß ÿèô�’~ Fa €Õå ;âÁpÓÁEàÿ¼\HÛœ˜H7œÔHªÿÀ 7äG ÿz@WtüÿÀEðÿÁEðÿÂå·†ÿÀ ’~€��‚��·,ÓÆhÿæfÿ¦ææ�`ÿœþÿþÿ‚“>~G\ÂE€ÿ‚aƒœ×tüÿÃEñÿß ÿêôƒÃEà×túÿß`êôÊEÀÿÊU Ö‹€‚ƒœ ×tüÿÃEñÿò ÿƒ ÃEà×túÿò`Œ= 177566 ;T DATA BUFFER O.TCSR = 177564 ;T C/SR .CSECT .ODT ; ; IPL ENTRY FOR ODT ; ODTIPL: TSTB ODINIT ;HAS ODT BEEN PREVIOUSLY INITIALIZED? BEQ 2$ INCB IPLFLG ;SET IPL INITIALIZATION FLAG JMP OLDODT ;NO, GO DO IT! 2$: RTS PC ;YES, RETURN .CSECT .PAGE ; INITIALIZE ODT ; USE O.ODT FOR A NORMAL ENTRY ; USE O.ODT+2 TO RESTART ODT - WIPIN�pÖ ü;w Ø7\J4®Œs¼3´L ¾3ô&@†4ö&`;Am'N.C‰'ö˜AŽ'ŒsÐ@”'L Ò@µ' ™ð@Œ(` ŽAÉ2Úr’4!;Ì3�~PK494«:<}‡_M€Qˆ/�Mp&TW�M€WZW0X¹s¤3ÜYYqÀ3ÞY!T¢AYeÞŠ/hf€p€2”f�Ð4Ž2;}¸Gp’è€ø €` ë«s'Pÿÿïh~ÈKPVPÔKèKïpþrþtþ CR 1 ERROR CR 1 SPUR INT f¦æ&f� ¶ ~@L6 æêôæìô@÷ *Bœ ³ LÄ ŸþÿÄÄ Ä 1…„ƒ‚�€ŸìôŸêô‡æþÿŸÉ äà f÷ Íæ¾K÷ æÌž³¾K ~¸L_Žÿÿë~pIÿÿV¨I¨IâI¨I ÿÿA~èIVJJ>JJ ÿÿS~`JÿÿÿÿÛ~ØJ�Ÿìôƒ ÃEÀÿÃUÀòƒ‚Þ ŸÆŽ~�GšÒ&&7Ôþ7ÎþÁ 0C~ÀeÀEà&À¶þÁ´þßU0þÿ† Ö €�‚.¸Ö ØæBÒ¦÷ |Ñ^à ž" f!x ÔÒ,%¾%D<61�-|~Hü/h5ÒXTQ\Rà@è@ò@Œ1`5ÖGô1`6²A²~€H!0033 ˆˆˆˆˆˆ a~øHˆˆ�G OUT ALL BREAKPOINTS ; USE O.ODT+4 TO RE-ENTER (I.E. - FAKE A BREAKPOINT) OLDODT: BR O.STRT ;NORMAL ENTRY BR O.RST  ;RESTART O.ENTR: MOV ST,O.UST ;RE-ENTER -- SAVE STATUS MOV O.TVEC+2,ST ;SET UP LOCAL STATUS MOV PC,-(SP) ;FAKE THE PC MOV (SP)+,O.UPC MOVB #-1,O.P  ;DISALLOW PROCEED CLRB O.S JMP O.BK1 O.STRT: MOV ST,O.UST ;SAVE STATUS MOV (SP),O.UPC ;SAVE PC ;RUN AT CURRENT STATUS JSR 5,O.SVTT ;SAVE TTY STATUS JSR‘ìôƒ ö%IÄ<Î´Š‡1 1 ó ÄK.Ÿþÿñ¥÷ δ ŸìôŸêô…„ƒ‚�€´‡ŸìôŸêôæþÿ€ ¶ ¶ …„ƒ‚o~0M�& æL$wÖÒ³ ÄKŸþÿsÀKóêôÂKó ÎKó8nÎK÷ þÁÀKßÂKêô½æL÷ ¨ó´´KÅÔKõæOfæd÷ Ô Ö ¨w <Ê Å„ó ÄKæL÷ r~¨MMó ÊKß5@pþ5MÀpþ÷ ôýMw.À5€ À5€øÀ5@À5ñ3¶KÀÔKð®O&æ2÷ f Ö ßE@pþM3 ÊKó ÌK ÁÀK߬ýêô÷ @3 ÌKø~ NMæþÿÀ–ýß”ýêôìôñvýŸ·tý÷°ýnýŸþÿÄpýÈð¥ð¥@¦æ&ff&÷ <á…„ƒ‚Ä ’ÿÿÿÿc~PKÿÿÿÿINI¨IJBJ€J¾JüJ:K’~ÈKxKÿÿÿÿÿÿÿÿÿÿ8N ÿÿÞ~@L€¶Ž¦6 öþÿÁ ƒ÷ è ð‹/�wRB´Kw…… wÂe÷ŸÊ Ÿ�þÿëæ÷¾÷€¼÷ ºŠ3~¸L²“ÿÿë~pIÿÿV¨I¨IâI¨I ÿÿA~èIVJJ>JJ ÿÿS~`JÿÿÿÿÛ~ØJ” 0,O.SVR  ;SAVE REGISTERS (MAINLY SP) MOV #O.UR0,SP ;SET UP STACK MOV #O.ID,R4 ;TYPE ID MOV #O.IDND,R3 JSR 5,O.TYPE MOVB #1,ODINIT ;SET ODT INITIALIZED FLAG BR O.RST1 O.RST: JSR 0,O.SVR  ;SAVE REGISTERS JSR 5,O.REM  ;REMOVE ALL BREAKPOINTS JSR 5,O.CLRR ; CLEAR RELOCATION REGISTERS MOVB O.PRI,R4 ;GET ODT PRIORITY RORB R4  ;SHIFT RORB R4  ; INTO RORB R4  ; POSITION MOVB R4,ST  ;STORE IN STATUS O.RST1: CLRB O.S  ;D•&& ÷ W~˜NüÔÖ Ä ôЇ&÷ ¤ ßEApþ3 ÄKæúK÷ ÎÖ M¦÷ ¤Ê�@_ìô÷ ¢ 3ÆKóêôÂKsÀK÷ lM0•ó ¸KM³ ´K×,´KÄû~OL! ³ ÐK-! '! ó ¸KèÂLÂlÎKÁÀKßÂKêô_ìôAÁeÁl´K¡’ó ¸KÒÁÀKßÂKêôñ³ ÊKMó8nÎK³ ÌKÁ Bœ— *~ˆO  Â Ä ‡„ „ „ „ „ øÄ õCÀLÀU3¶KæL÷ Tó´´KñæO; Lfæd÷ €Ö ‡CûEALû5Ló ´Kì…k~PÁÀKßÂKêôñwþ…wôý„fÅèKæþÿŸõ 5 5Ÿþÿf÷ օޤ‡Ÿþÿ…Ž´‡–²°ŠÉKÅÅ þ÷ žp�÷‹˜€wŠÃŒ÷†÷„÷ œÊÕÄŠ„ ÄmØþÅÅ þ÷ fT�Ÿ“þÿð‹/�E´K5ôÿÅâK&÷ ^Ë„Tþ€Äå:™~0M̃Cì´Kô�4�ôHU ô• Ãe0ôÃe ôôˆ§…Å tH04Š3Äe&Ê‹€÷ Öç÷ àçô �ñ• *Ÿ•þÿ‡ö ¶ (~¨M�1Š*Ö óÁe8f÷ \ �D„ À w*B´KæŸ2¬ÉKþÿ+ð‹ÉK €ò ôÿ ÷~÷U€|÷ z²ŠÿÿÄ…÷ d„ôÿBÁ Ä w²þÊ•Ÿ“<~ Nþÿ&÷ \Ê„wÿB®Ÿ�þÿ…… wbÿ—¢ÂeõŸ—¢îʲ²w(ÿð‹/‘€Ÿ“þÿÄ  ‹ô‹/€Å A´K E… E’—ÿÿÿÿc~PKÿÿÿÿINI¨IJBJ€J¾JüJ:K’~ÈKxKÿÿÿÿÿÿÿÿÿÿ8N ÿÿÞ~@L€¶Ž¦6 öþÿÁ ƒ÷ è ð‹/�wRB´Kw…… wÂe÷ŸÊ Ÿ�þÿëæ÷¾÷€¼÷ ºŠ3~¸L²˜ISABLE SINGLE INSTRUCTION FOR NOW MOVB #-1,O.P  ;DISALLOW PROCEED MOV #O.STM,O.TVEC+2 ;STATUS WORD TO TRT VECTOR+2 MOV #ROSODT,O.TVEC ;PC TO TRT VECTOR ; THIS NEXT INSTRUCTION RAISES THE "Z" FLAG BECAUSE ; ITS PURPOSE IN LIFE IS TO BEHAVE DIFFERENTLY ON THE /20 ; AND THE /45 SO WE CAN CHANGE THE RTI WHICH ALSO ; BEHAVES DIFFERENTLY ON THE /20 AND /45 BUT DOESNT RAISE ; THE Z FLAG. CONFUSED? WELL SO ARE WE. CMP PC,#.+4  ;CHECK WHETHER ON /45 OR /20 BEQ O.20 ™1 ‡3 ´K3 ÊKs ÈKó ÐK@_‚~xPìô3 ¶K³ ÄKÁÔKfæd÷ Îñ®OÖ ³¸KûAL‡ÀèK"àðÎPp &æúK÷ ÊÖ ÷ Ö‡ ñVPÄÆKô¥ñ À¼Kð]~ðP…3´Kw$ý3 ÐK³ ÌK…wøü· Àú‡7 ºú‡GHIó~hQNW�èTQ~àQ L/P 1 PARITY ERROR L/P 1 NOT READYšW¡~˜NÁeõÄ é… CÝm EÜÅ f†÷ ~…EÀÿÅ éÅp¡×KåŸÊ‹w¶þE’ÈW¡ÅEõ‹›ô÷ ¼Ÿ“þÿf÷ fÒÖ ó /Ÿõ•*ñ r~OµŠ*Ÿ“þÿ³Äÿ3�Ãÿó•óÿó•ËÿóPTÌÿÄÄeðÿ3Ôÿ3Úÿóe Úÿ󠥨ÿÃeÈÿæ÷ æó  w.þ ŠÃeÀÿÄÁ wÂýA÷ `w&�Žæ—þÿ÷ �~ˆOLŸ1Š*Á 1 †ð‹/^€7ÀÿÈ÷Æ÷ ø ðŠÉK þ÷ °K�Ÿ“þÿÀÁð‹ÉK�B´Kð‹/ €ƒƒ à ÃE€ÿÂeõ‚øÿÊ‹€ Ñ  ­~P äw�ýŸƒÙÃE€ÿÕŸƒ’Òƒ÷ 4÷B÷€@÷ >Ãà þ÷ 0 �÷‹*€Ÿ“þÿð‹/Î�Ôw†ü›²°ŠÉKÅÅ þ÷ žp�÷‹˜€wŠÃŒ÷†÷„÷ œÊÕÄŠ„ ÄmØþÅÅ þ÷ fT�Ÿ“þÿð‹/�E´K5ôÿÅâK&÷ ^Ë„Tþ€Äå:™~0M̃Cì´Kô�4�ôHU ô• Ãe0ôÃe ôôˆ§…Å tH04Š3Äe&Ê‹€÷ Öç÷ àçô �ñ• *Ÿ•þÿ‡ö ¶ (~¨M�1Š*Ö óÁe8f÷ \ �D„ À w*B´KæŸ2¬ÉKþÿ+ð‹ÉK €ò ôÿ ÷~÷U€|÷ z²ŠÿÿÄ…÷ d„ôÿBÁ Ä w²þÊ•Ÿ“<~ Nþÿ&÷ \Ê„wÿB®Ÿ�þÿ…… wbÿ—¢ÂeõŸ—¢îʲ²w(ÿð‹/‘€Ÿ“þÿÄ  ‹ô‹/€Å A´K E… E’œ ;EQ MEANS 20, NE MEANS 45 MOV #RTT,O.RTIT ;RESET TO RTT IF ON 45 O.20: JMP O.RALL ;CLEAR BRK PT TABLES ; ;O.CTLC ; ^C PROCESSING. SIMULATE A TTY INTERRUPT ; ; O.CTLC: MOV O.USP,SP ;RESTORE CURRENT STACK CLR -(SP)  ;DUMMY STATUS JSR PC,O.CTL1 ;PUSH RETURN ADDR OF INTERR ON STACK BR .  ;MONITOR WILL RETURN TO THIS WAIT O.CTL1: MOV 62,-(SP) ;PUSH MONITOR STATUS MOV 60,-(SP) ;PUSH ADDR OF MONITOR ^C ROUTINE MOVB #100,O.RCSR ;ENABLE KYBD INTERRUPT RTI ;� L/P 1 ABORTED6QºQ&f¦æ&fæêôæìô€÷ ¾ 7¬ŒÿÄ·~XR0ŸìôŸêô…„ƒ‚�€Ž‡œ— ÂÉ Ä åÄ â÷ hæþÿŸÈ :&÷ ǦQ÷ äÆž²Qìô ö%IÄ:È´Š~ÐR‡0 ó Q$Ÿþÿ ð¥ð ¶Æe…„ƒ‚�€& ÷ Íw>Ñ0Ÿþÿ£ˆ ŸþÿÄ›³ QŸþÿsQ3 (Q3 *Q³0Qs,Q3 .QŒ~HS÷ Ö¸m÷ îŸ÷ ô Âw0w jÄ Å„ó QMœÂ0Q¦Q÷ îÅ€ìôÁQ÷ ˜å÷ ŠÂ¸m÷ ¢÷ ¨MæþÿÂ0QŸ2Q „ÄeQ¡#~ÀS ¡ 2QÈŸþÿÄ(QôЇžÁ B´K÷ (�„ôÿ‚øÿ—¢ôÊÕ ~xP&÷ È„Ÿ“þÿÁ w¦üò%äÿ¦Îeäÿ÷ 4ÆÖ ò‹ÿÿ¯¦ôÿ÷ ÖÇ·¸ ÷U¶ ÷ è 2Šÿÿ2 ôÿwêþæ—þÿÁLÉ÷ 4 ð‹ÉK3ƒ’à 0À ´K€ Ÿ$~ðP÷ ˜÷ rfƒøÿ×¢Ã׬*÷ x÷ Rð�CƒàÅeÀÿõ�‚øÿ� w´ý÷ PÞÁÚÈ÷ �´ ñ•*wDü÷ ÈÈ5×-¾È1æþÿæ’~hQ€Ÿ×¬È÷ žÍÁöÿñ•*ŠþÿæT#& & ÷ Fð‹/�÷ <ŸÊ•ñ•*Á À À 8p†:p†8Ö ·•:®‡…CÀÿÀð‹/€ <~àQÁ B´K �� ÁE€ÿÂeö€ êÎ AÆ çÍ•AŸW¡~˜NÁeõÄ é… CÝm EÜÅ f†÷ ~…EÀÿÅ éÅp¡×KåŸÊ‹w¶þE’ÈW¡ÅEõ‹›ô÷ ¼Ÿ“þÿf÷ fÒÖ ó /Ÿõ•*ñ r~OµŠ*Ÿ“þÿ³Äÿ3�Ãÿó•óÿó•ËÿóPTÌÿÄÄeðÿ3Ôÿ3Úÿóe Úÿ󠥨ÿÃeÈÿæ÷ æó  w.þ ŠÃeÀÿÄÁ wÂýA÷ `w&�Žæ—þÿ÷ �~ˆOLŸ1Š*Á 1 †ð‹/^€7ÀÿÈ÷Æ÷ ø ðŠÉK þ÷ °K�Ÿ“þÿÀÁð‹ÉK�B´Kð‹/ €ƒƒ à ÃE€ÿÂeõ‚øÿÊ‹€ Ñ  ­~P äw�ýŸƒÙÃE€ÿÕŸƒ’Òƒ÷ 4÷B÷€@÷ >Ãà þ÷ 0 �÷‹*€Ÿ“þÿð‹/Î�Ôw†ü  O.ALF REXP;NA TYPE N CHARACTERS STARTING AT REXP; ; THEN-- ; ACCEPT A STRING OF ASCII TEXT. STORE IT IN ; SUCCESIVE BYTES STARTING AT THE INDICATED ; LOCATION. TEXT TERMINATED BY COUNT, N. ; OR CR OR LF. ODT PRINTS THE ADDR OF ; THE NEXT AVAILABLE LOCATION IN CORE ; O.ALF: TST R3  ;WAS REXP TYPED? BEQ O.ELF1  ;BR IF NOT TSTB O.SMFD ;WAS ; TYPED? BEQ O.ELF1 ;BR IF NOT, ERROR TST R2  ;IF N NOT TYPED, ASSUME 1 BNE O.ELF4 INC R4 O.ELF4: MOV R4,-(SP) ;SAVE ¡&÷ l¬ æ(Q& ÷ œÏÖ fæ&æ(Q÷ ´Ûƒ…Â0QÂ÷ æÄò QÂe(¦Q÷ :Å€L~8Tìô÷ Âð wVÿsQ³0Q3 (Q3 *Q¸ms,Q3 .Q÷ Î÷ ª÷ ÒM÷  3 QæÐQ÷ Ö M³ .Qó%.Q÷ X÷ z÷ ¢Mæ�~°TäQ÷ `ñwèþæüQ÷ N÷ V3 .QÄÐQ&ôèTæd÷ |Ö MC fÁQÂ0QæQ÷ rÄ€ìô÷ Ö …Ä4QÅ÷ ³ .Q×,.Q´æ~(Ud÷ 2Ö ‡ðÖ …wfþæ&ff& À&RÅ*QAaÁes!,QB3 2Q DÔ! ! 3 &R³ 2Q Ä% !3 &R ÷ ^Ä• Îå÷ R … R~ Us!¢w²Ÿ�ÁE€ÿ�AœmÁEÿC Ãð ×K Ö A÷ dŸ“þÿŸ�þÿ¾Ÿ�+~XRþÿÍ÷ ÀÇw ªÞÁ²ÇW  æþÿŸ÷ \Ê•Ÿ•þÿw –Þ‡�Žæþÿæ÷ <² —¢Ê•ð‹/€wÿÀ ´KÃeäÿ3 ææþ÷ ÄÖ ñ•:~ÐR*Ö w¾úÊ•ð‹/èô�6 æþÿ@œ ÷ þ € ÷ ôüð‹/Ä´KÄeäÿŸô ¶ Úô•ÿÿ Ÿ“þÿ&÷  ÃÖ Á ŸD†Êå2 � 1~HSñ•*à &÷ .Å æ:÷ $Å3:·—¢… � C÷ â& fæ€ðŠÉKw"ù2 ¥�Žæþÿ@œ ÷ Z € ÷ PüŸ„Ÿ“þÿðÄE€ÿ!Ì~ÀSÊ•wÐùð‹/�Ê•Á D†&£Á B´K÷ (�„ôÿ‚øÿ—¢ôÊÕ ~xP&÷ È„Ÿ“þÿÁ w¦üò%äÿ¦Îeäÿ÷ 4ÆÖ ò‹ÿÿ¯¦ôÿ÷ ÖÇ·¸ ÷U¶ ÷ è 2Šÿÿ2 ôÿwêþæ—þÿÁLÉ÷ 4 ð‹ÉK3ƒ’à 0À ´K€ Ÿ$~ðP÷ ˜÷ rfƒøÿ×¢Ã׬*÷ x÷ Rð�CƒàÅeÀÿõ�‚øÿ� w´ý÷ PÞÁÚÈ÷ �´ ñ•*wDü÷ ÈÈ5×-¾È1æþÿæ’~hQ€Ÿ×¬È÷ žÍÁöÿñ•*ŠþÿæT#& & ÷ Fð‹/�÷ <ŸÊ•ñ•*Á À À 8p†:p†8Ö ·•:®‡…CÀÿÀð‹/€ <~àQÁ B´K �� ÁE€ÿÂeö€ êÎ AÆ çÍ•A¤COUNT ;SET UP TO TYPE N CHAR. MOV R5,R4  ;ADDR OF 1ST BYTE IN R4 MOV R5,R3  ;ADDR OF 1ST BYTE IN R3 ADD (SP),R3  ;ADD N TO R3 DEC R3 ;SUB. 1 TO GET LAST ADDR MOV R3,O.XXX ;SAVE LAST ADDR. JSR 5,O.TYPE ;TYPE THE CHARACTERS JSR 5,O.CRLF ;TYPE CR/LF MOV (SP)+,R4 ;RECALL N TO R4 ;NOW ACCEPT INPUT STRING INCB O.SCRN ;ALLOW SPACES VIA O.GET JSR 5,O.GET  ;LOOK AT FIRST CH. CMPB R0,#015  ;IS IT A CARR.RET? BEQ O.ELF5  ;IF YES, RETURN TO COMM. D¥,QßÀ5Е s*QÀì&R„ Ö …�€Ö ‡3 &R³ 2QÄ ÷ êÎ5øÝÅ êÄÕ¶ 6 & „`“3 (RŽ Ö ‡ð¥ ‡ð¥~Vùćß@ê‡Äê& Ä5 Ä5Ä5Ö ‡– ‡Ö ‡ó âQ 34Q  ê÷ Ðúß ê êß6QêßÈêÄÐQôèT&æd÷ Ðá~�VÖ ‡fÄ&RÅBÀåÄÄ Ä Ä ÄeÒV0ð0ŠÈ&÷ zÏ…À&R‡ÃwÅÀ&R@aAa… !B@ÁQ…Â0Qw¬ü ê‡f  ´~WÅCqBa…à ‡„fżQæþÿŸõ 5 Ÿþÿf÷ Ï…Ž¤‡Ÿþÿ…Ž´‡1 ‡· Šú‡7 „ú‡æþÿŸþ% f…µ�¦÷ Z„w¬ûð‹/ì€ ðŠÉKèw Ýæî æì €æ œ* �Ö ·Ú ·Ô w ÝŽ‡&W þÿöð•*÷ Tÿ$~8T€°•*æ÷ 6ûâ6 ðæþÿÁe8f÷ ¾�DÁ ÷ vŸ—¢bô ÐÿÊåò ÊeŸ“þÿÄÿ�ÃÿÁ ÄeÀÿw’øüEÄÿ4�Ãÿð‹/�ý~°TÀ ´K€ f&Ÿ÷ Ê÷ ¤Ÿ�þÿ…øÿµ-ò„�C…àt‘ÂÿÂò #À À Ÿ &÷ ÖÄ&:÷ €Ã0:Ê•ñ•*Á 1†Ÿ“þÿ� ľ� D”ÄE€ÿÄå@!×p(aŠòÐÂî·T˜w äÕŽŽ‡Äe ~¨\! ÄeèÄe Äâ ² ä÷ hæþÿŸÈ :&÷ ‚¿¦ÆW÷ T¿ž²ÆWà~`Yìô ö%ŒGĪÀ´Š›0 ó ÀW$Ÿþÿ ð¥ð ¶Æe…„ƒ‚�€& ÷ tÅw¢É0Ÿþÿ£ˆ ŸþÿÄ�³ ÀWŸþÿsÂW3 È~ØYÐW3 ÒW³ØWsÔW3 ÖW÷ ÖÂ@W÷ îŸ÷ ô Âw0w Ú¼ Řó ÀWMœÂØW¦ÄW÷ ^¾€ìôÁÂW÷ ˜å÷ ŠÂ@W÷ ¢÷ ¨Mæþÿï~PZÂØWŸ2ÄW „ÄeÄW¡ ¡ 2ÆWÈŸþÿÄÐWôŠ›&÷ lù¬ æÐW& ÷ ÈÖ fæ&æÐW÷ ¤Óƒ…ÂØWÂ÷ æÄò ÄWy~ÈZÂe(¦ÄW÷ ª½€ìô÷ Âð wVÿsÂW³³6·¸9:»<½¾?¸~€WÀABÃDÅÆGHÉÊKÌMNÏPÑÒSÔUVרYZÛ\ÝÞ_'ABÃDÅÆGHÉÊKÌMNÏPÑÒSÔUVרYZ     ñòó~øWò]ß~pX�Œ[ L/P 1 PARITY ERROR L/P 1 NOT READY L/P 1 ABORTEDÞWbX&f¦æ&fæêôæìô€¼~èX÷ º 7¬ŒÿÄŸìôŸêô…„ƒ‚�€Ž‡œ— ÂÉ Ä çÄ´WORD IN ANSCII (CONVERTED FROM MOD40) O.MOD: MOV O.CAD,R0 ;CALL MOD40 UNPACK MOV #O.ALF1,R1 JSR PC,UNPA00 ;ASCII CHARS GO INTO O.ALF1,2,3 MOV #'=,R0 ;PRINT "=" JSR R5,O.FTYP INCB O.SCRN  ;SET FLAG TO ALLOW SPACES MOVB O.ALF1,R0 ;PRINT 1ST CHAR JSR R5,O.FTYP MOVB O.ALF2,R0 ;PRINT 2ND CH JSR R5,O.FTYP MOVB O.ALF3,R0 ;PRINT 3RD CH JSR R5,O.FTYP MOV #' ,R0 ;PRINT SPACE JSR R5,O.FTYP JSR R5,O.GET ;USER MUST NOW TYPE: CMPB R0,#' ;IF CHARµàw ÆÕ€�昗-Iæ(¾f÷ ½�ÂÄ(] Ì ‡ã… ûÅ‹W¡Åe ÅeÅe Åe Q‘Ô ÂŠn~ ]èÂã¶@(ÆåŽæþÿŸö¾¢ö¸¢ö²¢Ÿ•þÿöål‡ÆåŽæþÿŸö’¢öŒ¢ö†¢Ÿ•þÿ‡¦öx¢‡&f€& C~˜]#� W <æþÿŸ7N¢wJ¢7 F¢7 B¢À€ € PÁ]6¢w2¢7.¢Ÿ•þÿ6 �€Ž‡öø&f¦æ&Ä‚ FÂ5„ 7ø¡€=Ú~^ :�7À p þÿ3‚ 0Âel— Ð+DÃåÄlþÿúC×t € æþÿŸ7ª¡w¦¡·¢¡÷ž¡7š¡÷Eø”¡÷P�¡Ÿ•þÿ6 „ƒ‚�€¶Ö ˜~ˆ^¶ØW3 ÐW3 ÒWÂ@WsÔW3 ÖW÷ Î÷ ª÷ ÒM÷  3 ÀWæxX÷ Ö M³ ÖWó%ý~@[ÖW÷ X÷ z÷ ¢MæŒX÷ `ñwèþæ¤X÷ N÷ V3 ÖWÄxX&ôŒ[æd÷ |Ö MC fÁÂWÂØWæÄW÷ â¼€ìô÷ Ö …ÄÜW0~¸[Å÷ ³ ÖW×,ÖW´æd÷ 2Ö ‡ðÖ …wfþæ&ff& ÀÎXÅÒWAaÁes!ÔWB3 ÚW DÔ! ! 3 ÎX³ ÚW Ä% !3 ÎX Ï~0\÷ ^Ä• Îå÷ R … s!ÔWßÀ5Е sÒWÀìÎX„ Ö …�€Ö ‡3 ÎX³ ÚWÄ ÷ êÎ5øÝÅ êÄÕ¶ 6 & „`“3 ÐXŽ ~¨\Ö ‡ð¥ ‡ð¥ùÄ· ä÷ hæþÿŸÈ :&÷ ‚¿¦ÆW÷ T¿ž²ÆWà~`Yìô ö%ŒGĪÀ´Š›0 ó ÀW$Ÿþÿ ð¥ð ¶Æe…„ƒ‚�€& ÷ tÅw¢É0Ÿþÿ£ˆ ŸþÿÄ�³ ÀWŸþÿsÂW3 È~ØYÐW3 ÒW³ØWsÔW3 ÖW÷ ÖÂ@W÷ îŸ÷ ô Âw0w Ú¼ Řó ÀWMœÂØW¦ÄW÷ ^¾€ìôÁÂW÷ ˜å÷ ŠÂ@W÷ ¢÷ ¨Mæþÿï~PZÂØWŸ2ÄW „ÄeÄW¡ ¡ 2ÆWÈŸþÿÄÐWôŠ›&÷ lù¬ æÐW& ÷ ÈÖ fæ&æÐW÷ ¤Óƒ…ÂØWÂ÷ æÄò ÄWy~ÈZÂe(¦ÄW÷ ª½€ìô÷ Âð wVÿsÂW³¸ IS LESS THAN SPACE, BLT O.MOD1 ;PREPARE TO ENTER COMMAND DECODER MOVB R0,O.ALF1 ;OTHERWISE READ 3 CHAR JSR R5,O.GET ;2ND CH MOVB R0,O.ALF2 JSR R5,O.GET ;3RD CHAR CLRB O.SCRN  ;RESTORE O.GET TO NORMAL MOVB R0,O.ALF3 MOV #O.XXX,R0 ;TELL MOD40 TPACK TO PACK MOV #O.ALF1,R1 ;INTO O.XXX JSR PC,PACK00 MOV O.XXX,R4 ;MAKE IT APPEAR AS IF THE MOV #1,R2 ;PACKED # WAS TYPED JMP O.SCAN ;LET COMMAND DECODER DO THE REST O.MOD1: CLRB O.SCRN CLR R4 ;M¹‡öó÷Eð„÷U0~÷Eÿ|÷Uv÷Eðj÷UPd÷Eÿb÷U„\ ÷EðP÷U@J÷EÿË~_H÷U„Bw ‚ÓÀ¦ÿ7  ÿ7МÿŠÀ   D”^ € „  ‚ Â5øq”^Ñ W !îÄ5 îƒ ÷ ^ÿêƒÂíVÿ‚ ÂÂÝNÿ·Nÿ÷E€Jÿ„  ƒ Ã5L~x_úq”^w üÒ‡÷U€.ÿùÿÿe~ð_ÿÿtl(`(`b`(` º‡ß@ê‡Äê& Ä5 Ä5Ä5Ö ‡– ‡Ö ‡ó ŠX 3ÜW  ê÷ Ôúß ê êßÞWêßÈê¸~ ]ÄxXôŒ[&æd÷ ÐÖ ‡fÄÎXÅBÀåÄÄ Ä Ä Äev]0ð0ŠÈ&÷ ¾Ç…ÀÎX‡ÃwÅÀÎX@aAa… !B@ÁÂW…¢~˜]ÂØWw¬ü ê‡f  ÅCqBa…à ‡„fÅdXæþÿŸõ 5 Ÿþÿf÷ NÇ…Ž¤‡Ÿþÿ…Ž´‡1 ‡· Žú‡7 ˆú‡æþÿŸþ%\~^ f…µ� …ŸþÿŽ6 ‡Ÿþÿw ¸öeþ*^6 ‡÷Eð„÷U0~÷Eÿ|÷UvR~ˆ^»ØW3 ÐW3 ÒWÂ@WsÔW3 ÖW÷ Î÷ ª÷ ÒM÷  3 ÀWæxX÷ Ö M³ ÖWó%ý~@[ÖW÷ X÷ z÷ ¢MæŒX÷ `ñwèþæ¤X÷ N÷ V3 ÖWÄxX&ôŒ[æd÷ |Ö MC fÁÂWÂØWæÄW÷ â¼€ìô÷ Ö …ÄÜW0~¸[Å÷ ³ ÖW×,ÖW´æd÷ 2Ö ‡ðÖ …wfþæ&ff& ÀÎXÅÒWAaÁes!ÔWB3 ÚW DÔ! ! 3 ÎX³ ÚW Ä% !3 ÎX Ï~0\÷ ^Ä• Îå÷ R … s!ÔWßÀ5Е sÒWÀìÎX„ Ö …�€Ö ‡3 ÎX³ ÚWÄ ÷ êÎ5øÝÅ êÄÕ¶ 6 & „`“3 ÐXŽ ~¨\Ö ‡ð¥ ‡ð¥ùļAKE IT APPEAR CLR R2 ;AS IF NO NUMBERS WERE TYPED IN O.MOD2: JMP O.SCN1 ;TYPED IN ; "BACKARROW" HANDLER - OPEN INDEXED ON THE PC (BACK ARROW) O.ORPC: JSR 5,O.TCLS ;TEST WORD MODE AND CLOSE ADD @R2,R2  ;COMPUTE INC R2 INC R2  ; NEW ADDRESS O.PCS: MOV R2,O.CAD ;UPDATE CAD JMP O.OP2A  ;GO FINISH UP O.ORAB: JSR 5,O.TCLS  ;TEST WORD MODE AND CLOSE MOV @R2,R2  ;GET ABSOLUTE ADDRESS BR O.PCS O.ORRB: JSR 5,O.TCLS ;TEST AND½ÿÿÝ~h`tl„`„`¾`„` ÿÿò~à`ÿÿÿÿE~XaÿÿÿÿÌ~Ðaÿÿ¾÷Eðj÷UPd÷Eÿb÷U„\ ÷EðP÷U@J÷EÿH÷U„Bw PÒÀ¦ÿ7  ÿ7МÿŠÀ   DH^ € „  ‚ Â5øqH^Ñ W !îÄ5y~_ îƒ ÷ ^ÿêƒÂíVÿ‚ ÂÂÝNÿ·Nÿ÷E€Jÿ„  ƒ Ã5úqH^w äч÷U€.ÿù€h„h„h�h�À~x_�T.lFIkÿÿÀjÀjÀjÀjÀjÀjÀjÀjÀj ÷8 ¢ÿ÷B 0 æ·”ÿ÷•ÿÿ’ 7ŠŒ wà÷ ‚ÿw â7ŽØ~ð_ÆZ_ÄujÃ…jw À 7xw w XÄ�ZÿŒŒŒ7‘âŸ7ŠJ ÷•ÿÿF ÷àâŸ÷´fÚŸ×!6`÷0wæÆ ÿ& ÷ ÿæàŸæÚŸ¿‡ß@ê‡Äê& Ä5 Ä5Ä5Ö ‡– ‡Ö ‡ó ŠX 3ÜW  ê÷ Ôúß ê êßÞWêßÈê¸~ ]ÄxXôŒ[&æd÷ ÐÖ ‡fÄÎXÅBÀåÄÄ Ä Ä Äev]0ð0ŠÈ&÷ ¾Ç…ÀÎX‡ÃwÅÀÎX@aAa… !B@ÁÂW…¢~˜]ÂØWw¬ü ê‡f  ÅCqBa…à ‡„fÅdXæþÿŸõ 5 Ÿþÿf÷ NÇ…Ž¤‡Ÿþÿ…Ž´‡1 ‡· Žú‡7 ˆú‡æþÿŸþ%\~^ f…µ� …ŸþÿŽ6 ‡Ÿþÿw ¸öeþ*^6 ‡÷Eð„÷U0~÷Eÿ|÷UvR~ˆ^À CLOSE MOV @R2,R1  ;COMPUTE NEW ADDRESS MOVB R1,R1  ;EXTEND THE SIGN ASL R1  ;R2=2(@R2) INC R1  ; +2 INC R1 ADD R1,R2  ; +PC BR O.PCS O.TCLS: JSR PC,O.CLSE ;CLOSE CURRENT CELL CMP #2,O.BW  ;ONLY WORD MODE ALLOWED BNE O.TCL1  ;BRANCH IF ERROR MOV O.CAD,R2 ;CURRENT ADDRESS IN R2 RTS R5 O.TCL1: TST (SP)+ O.TCL2: JMP O.ERR  ;POP A WORD AND SHOW THE ERROR ; PROCESS S - SINGLE INSTRUCTION MODE O.SNGL: TSTB O.SMFD ;DONT REACT IFÁÿÿ�_Î_(`„`Â`a>a|aºa²~Hbøaÿÿÿÿÿÿÿÿÿÿ ÿÿ7~Àb€¶Ž¦6 öþÿÁ ƒ÷ Ä ð‹�wBB4bw …… wÂe÷ŸÊ Ÿ�þÿëæ÷Šû÷€ˆû÷ †ûŠI~8c²²°ŠIb÷ rûl�÷‹lû€w‚Ã`û÷Zû÷Xû÷ pûÊÕÄŠ„ Ämàþ÷ BûT�Ÿ“þÿð‹�E4b5ôÿÅbb&÷ Úµ„Tþ€Äå:̃Cì4bô�4�«~°cô¤k ô• Ãe0ôÃe ôô‘…Å t404ŠÂ÷•@Ÿà D÷‹ A~h` „ &DCƒcà ÷è w @w Ü„·Šê w þ  '  7ŠÖ Ä „ ‚ ¦&w Ä„‚À•\w ÄwXw Èw �Ä øfw Š÷•‚ €w Ü~à`’7ŠŽ wtwhw šÄ¯j  Ä%¿jû‚ÀEøÿÄ ÄeZ_‚ whÄå¨j÷ÀD Áqj÷ ôÀ=w T·ŠD À�= w HÀ�6 w @À�/ w 8À w 0w 8  }~Xa7� w *7� w "7Š 7� ÀdjÁqj÷ XÄâÂwð7Šæ  wèw (‚b‚ ‚ ·¼wúw ‚øw �A�Á � � B`ï÷ €÷%’º~ÐaŽ…Ö w|÷‹’û 7Š‚wr÷•ÿÿxwh·Šu ÄEøÿÄ 7x_~wh÷‹^ ÄEøÿÃ÷Eðj÷UPd÷Eÿb÷U„\ ÷EðP÷U@J÷EÿH÷U„Bw PÒÀ¦ÿ7  ÿ7МÿŠÀ   DH^ € „  ‚ Â5øqH^Ñ W !îÄ5y~_ îƒ ÷ ^ÿêƒÂíVÿ‚ ÂÂÝNÿ·Nÿ÷E€Jÿ„  ƒ Ã5úqH^w äч÷U€.ÿù„h„h„h�h�¼~x_�T.lFIk¸lÀjÀjÀjÀjÀjÀjÀjÀjÀj ÷8 ¢ÿ÷B 0 æ·”ÿ÷•ÿÿ’ 7ŠŒ wà÷ ‚ÿw â7޲~ð_ÆZ_ÄujÃ…jw À 7xw w XÄ�ZÿŒŒŒ7‘âŸ7ŠJ ÷•ÿÿF ÷àâŸ÷´fÚŸ×!6`÷0wæÆ ÿ& ÷ ÿæàŸæÚŸÄ ; NOT TYPED BEQ O.TCL2 TST R2  ;SEE IF TURN ON OR TURN OFF BNE O.SI1  ;BRANCH IF TURNING IT ON CLRB O.S  ;CLEAR THE FLAG JMP O.DCD  ;CONTINUE THE SCAN O.SI1: MOVB #-1,O.S  ;SET THE FLAG O.SI2: JMP O.DCD ;COMMA PROCESSING. N IN R4 IS THE RELOCATION REGISTER NUMBER ; O.COMM: INCB O.CMFD ;SET "COMMA FOUND" SWITCH TO ON TST R2  ;WAS A NUMBER TYPED IN? BEQ O.COM1  ;NO,USE CURRENT BIAS; I.E.,EXIT BIC #177770,R4 ;MAKE SURE THAT NÅ3Äe&Ê‹€÷ ÖÒ÷ àÒô �ñ• Ÿ•þÿ‡ö ¶ �1ŠÖ óÁeK~(d8f÷ H �D„ À wB4bæŸ2¬Ibþÿ+ð‹Ib €ò ôÿ ÷Zú÷U€Xú÷ Vú²ŠÿÿÄ…÷ P„ôÿBÁ Ä wºþÊ•Ÿ“þÿ&÷ Ø´„wÿBA~ d®Ÿ�þÿ…… wbÿ—¢ÂeõŸ—¢îʲ²w(ÿð‹‘€Ÿ“þÿÄ  ‹ô‹€Å A4b E… E’W¡ÁeõÄ é… ,~eCÝYEÅ fr÷ l…EÀÿÅ êÅp¡WbæŸÊ‹w¸þE’ÉW¡ÆEõ‹‡ô÷ ªŸ“þÿf÷ ð¼Ö ó /Ÿõ•ñ µŠŸ“þÿ³Äÿ3�Ãÿó•_~�eóÿ÷•1šó¬jÌÿÄÄeðÿ3ÆÄ à tx_Pà õôÿÿx_Iw ,Û×-ÉÂ%Ô~Hb w   ÿÿÀ=w $ÀÁø7 Ä íx_À=w ÀÀe0w úÀ,w òÂ%ÀÎ@w Œk÷‹ÌÄÊüÂeÀ=÷¤w Â@Á~Àbw fw¬üw’·Šºw¢À=w ¤ w  ÿÿÀrw 8AÀe0w „À,w |æV÷PÀTw ·D-À ÷<@7ìx_:€ â÷(÷‹¸~8c6 À4üÄ,üÃ*üw ä÷ ðÀ?w "7 üw 7Š7Š7Š    w À%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 “j� W Ö†ø÷‹Úè~°c ÷‹·ÄmÊ7ŠÈÁ yÈcdddldî`f|d–axdÒdöaFe’eÇ÷•@Ÿà D÷‹ A~h` „ &DCƒcà ÷è w @w Ü„·Šê w þ  '  7ŠÖ Ä „ ‚ ¦&w Ä„‚À•\w ÄwXw Èw �Ä øfw Š÷•‚ €w Ü~à`’7ŠŽ wtwhw šÄ¯j  Ä%¿jû‚ÀEøÿÄ ÄeZ_‚ whÄå¨j÷ÀD Áqj÷ ôÀ=w T·ŠD À�= w HÀ�6 w @À�/ w 8À w 0w 8  }~Xa7� w *7� w "7Š 7� ÀdjÁqj÷ XÄâÂwð7Šæ  wèw (‚b‚ ‚ ·¼wúw ‚øw �A�Á � � B`ï÷ €÷%’º~ÐaŽ…Ö w|÷‹’û 7Š‚wr÷•ÿÿxwh·Šu ÄEøÿÄ 7x_~wh÷‹^ ÄEøÿÈ IS LESS THAN 10(8) ASL R4  ;YES, LOCATE RELOC. REGISTER MOV O.RELT(R4),O.BIAS ;PUT BIAS IN O.BIAS O.COM1: JMP O.DCD1  ;GO BACK TO DECODER ;R PROCESSING. SEVERAL POSSIBILITIES- ; A. ;R WAS TYPED. ZERO OUT ALL RELOCATION REGISTERS ; B. ;NR WAS TYPED. ZERO OUT $NR ; C. REXP;NR WAS TYPED. SET $NR TO REXP ; D. NR WAS TYPED, WHILE A WORD WAS OPENED- ;  COMPUTE (O.CAD)-($NR) AND PRINT IT ; O.REL: TSTB O.SMFD  ;TEST IF A SEMICOLON WAS TYPED BEQ O.REL1  ;NO CASE ÉÔÿ3Úÿóe Úÿó2�ØÿÃeÈÿæ÷ Ñó  w0þ ŠÃeÀÿÄÁ wÄýA÷ Nw�Žæ—þÿ÷ <Ÿ1ŠÁ 1 rð‹V€ƒ~f7Àÿ¨ø÷¦ø÷ Øø ðŠIb÷ ˜øG�Ÿ“þÿÀÁð‹Ib�B4bð‹ €ƒƒ à ÃE€ÿÂeõ‚øÿÊ‹€ Ñ  äwœýŸƒÙÃE€ÿÕŸƒ’Ò-~€fƒ÷ ,÷*ø÷€(ø÷ &ø÷ ø �÷‹ø€Ÿ“þÿð‹Ò�Øw¢üÁ B4b÷ (�„ôÿ‚øÿ—¢ôÊÕ&÷ –²„Ÿ“þÿÁ wºüò%äÿ¦Îeäÿ÷ 8~øf­Ö ò‹ÿÿ³¦ôÿ÷ f²·¨÷÷U¦÷÷ Ø÷2Šÿÿ2 ôÿwúþæ—þÿÁܳ÷ 4 ð‹Ib3ƒ’à 0À 4b€ Ÿ÷ ˜÷ rfƒøÿ×¢Ã׬÷ xÂÊŽeädpf¨a°aÚab bÌb0cNcÔba^`B`ƒ·Šh7Šc´÷JD ÷@ 7<7 ~(d6÷%.Ä*„ î‡À"ÀŸw â÷%‹À•=w (ÀŸw À• w wúþ÷ ÖwêþwÞþ·Šì÷ Þù÷ À÷ Þ÷ÒÎ7ŠÒ÷mÄÄ÷ÀX~ dÀw ºæ´÷®À¬w ¼·¢Ö%À/w ¶¯À\ú÷ ˆÔ÷ j÷í~~ÜÀÀjÄ Ã … L‡Å Äeˆ_  !–_B†Ô ù!–_=‚L® f~e!6‚4ˆ_4 š_¤ ÀÀj!ž‚4ˆ_ô¬_4 š_Ô ô÷%À w *à ÅíÅ Å @w Â@€ ‡À%€ÿ À%÷ àw ¨· ØwÜýwÈý� \~�e à ù÷ÀÂÎùÄÈùD ËÄ Ã tx_Pà õôÿÿx_Iw ,Û×-ÉÂ%Ô~Hb w   ÿÿÀ=w $ÀÁø7 Ä íx_À=w ÀÀe0w úÀ,w òÂ%ÀÎ@w Œk÷‹ÌÄÊüÂeÀ=÷¤w Â@Á~Àbw fw¬üw’·Šºw¢À=w ¤ w  ÿÿÀrw 8AÀe0w „À,w |æV÷PÀTw ·D-À ÷<@7ìx_:€ â÷(÷‹¸~8c6 À4üÄ,üÃ*üw ä÷ ðÀ?w "7 üw 7Š7Š7Š    w À%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 “j� W Ö†ø÷‹Úè~°c ÷‹·ÄmÊ7ŠÈÁ yÈcdddldî`f|d–axdÒdöaFe’eÌD TST R2  ;NOTHING OPENED, WAS N TYPED? BEQ O.REL2  ;N NOT TYPED O.REL4: BIC #177770,R4 ;GUARANTEE THAT N<10 ASL R4  ;N TYPED, CASE B OR C. SET $NR. TST R3  ;IF REXP NOT TYPED,CLEAR TO -1 BEQ O.RELA MOV R5,O.RELT(R4) ;IF REXP NOT TYPED, R5=0. CASE B. O.REL5: BR O.H1  ;EXIT TO DECODER O.REL2: TST R3  ;IF REXP TYPED, CASE B OR C WITH N=0 BEQ O.REL3  ;REXP NOT TYPED, N NOT TYPED, CLEAR ALL. BR O.REL4  ;REXP TYPED- N NOT TYPED O.RELA: MOV #-1,O.RÍ~pg÷ Rð�CƒàÅeÀÿõ�‚øÿ� wÆý÷ PÞÁj³÷ �´ ñ•wXü÷ X³5×-N³1æþÿ怟×<³÷ 2¸Áöÿñ•ŠþÿæL$& & ~èg÷ Fð‹�÷ <ŸÊ•ñ•Á À À $pr&pr$Ö ·•Þ—‡…CÀÿÀð‹€ Á B4b �� ÁE€ÿÂeö€ êÎ ¨~`hAÆ çÍ•Aw²Ÿ�ÁE€ÿ�AœYÁEÿC Ãð Wb Ö A÷ dŸ“þÿŸ�þÿ¾Ÿ�þÿÍ÷ P²w ÌÉÁB²W  æþÿŸ÷ \Ê•Î~ØhŸ•þÿw žÉ‡�Žæþÿæ÷ <² —¢Ê•ð‹€wÿÀ 4bÃeäÿ3 ææþ÷ ÜªÖ ñ•Ö wÒúÊ•ð‹Î· Æù¼‚€Á &C@AƒEPA&f¦æw ’€w  À/w ¤€w Hƒ‚�„w ÞÒ Û åƒ`ƒ ƒ Å ßÀEÿ�â~f¯À € € €` Õ÷‹V·à µ÷•F… °‡Å w8ù÷•àÈ™w °7Š-÷U&ù÷‹"÷Eùw b7Dæùæù æùÎE·�™÷‹üŠÀ�òÀ‹† ¥~€f„à pš_÷•àn™w V×­ÔÏ÷‹ÊÌ÷•àV™·Š¿÷U¸øÐ·°ø·®ø÷•ª7¸÷‹¡·w @÷‹˜ø€Å��øÅ�Œø¯ŒŒŒŒw‘™Åvø÷‹t�,~øfå wjøÄt!ˆ_Ä Ä úw ¼w JĆjÇjw ž@÷e>ø%Ä•tˆ_7‘2ô š_ªôš_w „ÀBw .À�Àe`€ w À;w ÷ðÄ�õÏŽeädpf¨a°aÚab bÌb0cNcÔba^`B`ƒ·Šh7Šc´÷JD ÷@ 7<7 ~(d6÷%.Ä*„ î‡À"ÀŸw â÷%‹À•=w (ÀŸw À• w wúþ÷ ÖwêþwÞþ·Šì÷ Þù÷ À÷ Þ÷ÒÎ7ŠÒ÷mÄÄ÷ÀX~ dÀw ºæ´÷®À¬w ¼·¢Ö%À/w ¶¯À\ú÷ ˆÔ÷ j÷í~~ÜÀÀjÄ Ã … L‡Å Äeˆ_  !–_B†Ô ù!–_=‚L® f~e!6‚4ˆ_4 š_¤ ÀÀj!ž‚4ˆ_ô¬_4 š_Ô ô÷%À w *à ÅíÅ Å @w Â@€ ‡À%€ÿ À%÷ àw ¨· ØwÜýwÈý� \~�e à ù÷ÀÂÎùÄÈùD ÐELT(R4) BR O.H1 ;CLEAR RELOCATION REGISTERS. O.REL3: JSR 5,O.CLRR ;CLEAR RELOC REG'S BR O.SI2  ;GO BACK TO SCAN O.REL1: CMP O.BW,#2  ;CASE D, PRINT @O.CAD IN RELATIVE FORM BNE O.TCL2  ;ERROR IF BYTE OPENED CMP #0,R2  ; CHECK IF R BNE O.REL6  ; IF R JSR R5,O.LOC  ; THEN FIND BEST N CMP R0,#-1 ;WAS A RELOC REG FOUND? BNE O.REL8 ;BR IF YES. ELSE-- MOV #'=,R0 ;TYPE "=" JSR 5,O.FTYP MOV @O.CAD,R0 ;TYPE ABS. VAL OF CONTENTS BR O.REL9  Ñèô�6 æþÿ@œ~Piø÷ þ € ÷ ôüð‹Ä4bÄeäÿŸô ¶ Úô•ÿÿ Ÿ“þÿ&÷ tªÖ Á ŸDrÊå2 � ñ•à &÷ ¾¯ æ&÷ ´¯3&·—¢…v~Èi � C÷ â& fæ€ðŠIbwFù2 ¥�Žæþÿ@œø÷ Z € ÷ PüŸ„Ÿ“þÿðÄE€ÿ!Ê•wäùð‹�Ê•Á Dr&÷ Z„w?~@j¼ûð‹ì€ ðŠIbèw :Èæ’Šæ�Š€æ œ �Ö ·~Š·xŠw ÈŽ‡&W þÿöð•÷ Tÿ€°•æ÷ Fûâ6 ðæþÿÁe8f÷ {~¸j¾�DÁ ÷ vŸ—¢bô ÐÿÊåò ÊeŸ“þÿÄÿ�ÃÿÁ ÄeÀÿw¦øüEÄÿÒ~pgúˆ_w úwàû·â·à÷Æf_f&æ¦fæÌæ €Ö ·Â�‚ƒ„…ƶ÷æ°€Ä4ˆ_¬_üüˆ_Ä Ä ÷…÷�ž—™÷�œ—”7Š’—7Š’—÷‹Ž—ý€¯~èg…w r÷‹‚—ý€÷5v—÷‹p—ý€÷�gh—÷�bf—…÷‹V  <¬_ˆ_„ „ !ø…ÃÄþÿ÷%&Ãå„ À&Äe N @ Ä üÀe0w &à óÀ•Ë~`h Ö Áx_Àÿÿ …÷‹ð–ý€7�ì–…÷‹à–ý€À�Ü–ÀE€ÿÀ¥÷‹Ð  w Ðÿí÷‹¾À¥ ç…Ä ã‡•w ¶ÿú×­¢–• À•^M~Øhw ¤ÿÀ•Uw œÿÆZ_wrú… ÷ÿÿn÷ÿÿj  ‚7,x_X‚ÁRìx_Á-P‚Ð ðÀD…w@€ 78À ô÷%(!Ó· Æù¼‚€Á &C@AƒEPA&f¦æw ’€w  À/w ¤€w Hƒ‚�„w ÞÒ Û åƒ`ƒ ƒ Å ßÀEÿ�â~f¯À € € €` Õ÷‹V·à µ÷•F… °‡Å w8ù÷•àÈ™w °7Š-÷U&ù÷‹"÷Eùw b7Dæùæù æùÎE·�™÷‹üŠÀ�òÀ‹† ¥~€f„à pš_÷•àn™w V×­ÔÏ÷‹ÊÌ÷•àV™·Š¿÷U¸øÐ·°ø·®ø÷•ª7¸÷‹¡·w @÷‹˜ø€Å��øÅ�Œø¯ŒŒŒŒw‘™Åvø÷‹t�,~øfå wjøÄt!ˆ_Ä Ä úw ¼w JĆjÇjw ž@÷e>ø%Ä•tˆ_7‘2ô š_ªôš_w „ÀBw .À�Àe`€ w À;w ÷ðÄ�õÔ;OF OPENED LOC. O.REL8: MOV R0,R4  ; PUT NEW N INTO R4 O.REL6: MOV @O.CAD,R1 ;OPENED VALUE IS THE MINUEND MOV R4,O.TMP1 ; SAVE N ASL R4  ;GET BIAS FROM $NR SUB O.RELT(R4),R1 ;BIAS IS THE SUBTRAHEND MOV #'=,R0  ;TYPE "=" JSR 5,O.FTYP MOV O.TMP1,R0 ; PREPARE INPUTE FOR O.FTYP ADD #60,R0  ; CONVERT N TO ANSCII JSR 5,O.FTYP ; TYPE N MOV #',,R0  ;PREPARE INPUT FOR O.FTYP JSR 5,O.FTYP ; TYPE COMMA CMP #0,R2  ; CHECK IF R BNE O.REL7  ; IÕ4�Ãÿð‹�À 4b€ f&Ÿ÷ Ê÷ ¤Ÿ�þÿ…øÿµ-~0kò„�C…àt‘ÂÿÂò #À À Ÿ &÷ f®„&&÷ ®0&Ê•ñ•Á 1rŸ“þÿ� ļbt&÷ ÞÅwzøÊ•ôð‹¥€ ðŠIb¡æþÿi~¨kÁe8f÷ Æ�@œÃÿÀ  BÜÂÿl4b „—¢Kô¥Gñ Ðÿ:ff÷ Ö­ƒ×tüÿÅñ ñ`$Ñ Gƒ�À Ä Ÿôr„ Ê‹� &&÷ T­Þð,~ l&±€ € 1�2 ô•Ê•wÆ÷ $ð&ð$ñÅœb5f÷ Åô•€ D�Ÿwˆù± æþÿB�÷ ªÅ¬buf÷ ÒÄŸª~˜lñ‹‡ñ•wTùñ•ýÿwV÷ ÅÜYœWbÊCa‡�Öùƒ… �„ ú ÷%ñ~Pi‚??‘‡Ã‘jÃ’jÄ�jw Nÿ…÷%üõw ªþ…÷Ú77Ðw ZÿÀ Àe0w àþÀ,w Øþæ²÷¬À°w pþ· ÷ÊœÀÆb~Èi…ÀÀ÷ºŒÓÄýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂXj ‡€âƒ ûË× Ãe Ãeý~@jÃe Ãe Ñ�Ò … è€Ð ‡@($k$k$ÿ@€ ODT-11R V003ABEk$k$k *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFR•~¸jB×~pgúˆ_w úwàû·â·à÷Æf_f&æ¦fæÌæ €Ö ·Â�‚ƒ„…ƶ÷æ°€Ä4ˆ_¬_üüˆ_Ä Ä ÷…÷�ž—™÷�œ—”7Š’—7Š’—÷‹Ž—ý€¯~èg…w r÷‹‚—ý€÷5v—÷‹p—ý€÷�gh—÷�bf—…÷‹V  <¬_ˆ_„ „ !ø…ÃÄþÿ÷%&Ãå„ À&Äe N @ Ä üÀe0w &à óÀ•Ë~`h Ö Áx_Àÿÿ …÷‹ð–ý€7�ì–…÷‹à–ý€À�Ü–ÀE€ÿÀ¥÷‹Ð  w Ðÿí÷‹¾À¥ ç…Ä ã‡•w ¶ÿú×­¢–• À•^M~Øhw ¤ÿÀ•Uw œÿÆZ_wrú… ÷ÿÿn÷ÿÿj  ‚7,x_X‚ÁRìx_Á-P‚Ð ðÀD…w@€ 78À ô÷%(!ØF R MOV O.XXY,R0 ; THEN PREPARE INPUT FOR O.CADV O.REL7: MOV R1,R0  ;TYPE THE VALUE (@O.CAD)-($NR) O.REL9: JSR 5,O.CADV BR O.DCD1 ; ;C PROCESSING. ; A. REXP;C WAS TYPED- PRINT THE VALUE OF REXP AND STORE IN $C ; B. ;C WAS TYPED- SAME AS C., BUT REXP=0 BY DEFAULT ; C. NO SEMICOLON HAS BEEN TYPED-REPLACE R4 WITH THE CONTENTS OF $C O.CNS: TSTB O.SMFD ;WAS A SEMICOLON TYPED? BNE O.CNS1  ;REXPÙöÿfÑQr úÿ�üÿröÿ�°ŠIb‡�øÿC DEr úÿ�üÿrøÿðŠIb‡É•…ÊÅZ~mÊÕEõ•Å fr÷ nƒ5 r… ‡Á fr÷ Z„�À  ÝÂÿl4b� € ‡à Â4b …… r Ê Âeõ ‡¦÷ <¬÷ ¬¶/~ˆm÷`‡\‡÷å€V‡‡¦òÀüÁþH ÀåÁåø‡�‚„‡ˆ �‹À�Ž                 !"£$¥¦'(©ª+¬-.¯0±²3´56·¸9:»<½¾?ÀABÃDÅÆGš~nHÉÊKÌMNÏPÑÒSÔUVרYZÛ\ÝÞ_'ABÃDÅÆGHÉÊKÌMNÏPÑÒSÔUVרYZ      12345678 &=':>@9 0/STUVWXY _,(%\"Z q~xn-JKLMNOPQ $*];^ÚPd2­k~0kúˆ¿�~¨k¯      ÀI’æ Ö    ÷•V÷úZ÷CZæè ˆ÷ Fÿ÷BB÷2Šæè ˆ÷ .×-(öÿ÷•÷lhæèˆ³~ l÷ ÿˆTHIS IS TSTBUG C1 TYPE YOUR NAME AND IT WILL BE PRINTED ON THE LP! J~˜lPÛùƒ… �„ ú ÷%ñ~Pi‚??‘‡Ã‘jÃ’jÄ�jw Nÿ…÷%üõw ªþ…÷Ú77Ðw ZÿÀ Àe0w àþÀ,w Øþæ²÷¬À°w pþ· ÷ÊœÀÆb~Èi…ÀÀ÷ºŒÓÄýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂXj ‡€âƒ ûË× Ãe Ãeý~@jÃe Ãe Ñ�Ò … è€Ð ‡@(BmBmŠÿ@€ ODT-11R V003ABE¸lBmBm *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRõ~¸jBÜ TYPED PRIOR TO ; CASE A MOV O.CNST,R4 ;CASE C. REPLACE R4 WITH ($C) MOV #1,R2 BR O.SCAN ;RETURN TO SCAN MORE O.CNS1: MOV #'=,R0 ;PRINT VALUE MOV #2,O.BW JSR 5,O.FTYP MOV R5,R0 JSR 5,O.CADV MOV R5,O.CNST  ;AND STORE IN $C O.H1: O.CNS2: JMP O.DCD ; ;MINUS PROCESSING ; O.MIN: INCB O.MINS  ;SET MINUS FOUND SWITCH ON JMP O.DCD1 .EOT   ;END OF TAPE #1 ; ;REPRINT LAST OPENED ADDRESS RELATIVELY. ; A. N! WASÝR ! +ABCDEFGH .)[<#I ? ¶~ðn xxxxxx„x0~hoÀ0´Àp/À/\BðG´z´z´z´z´z´z´z´z´z ÷D�¢ÿ÷N�<�æ·”ÿ÷•ÿÿ’ 7ŠŒ wà÷$�‚ÿw âY~ào7ŽÆNoÄizÃyzw À 7xw w XÄ�ZÿŒŒŒ7‘î�7ŠJ ÷•ÿÿF ÷àî�÷¨væ�×!*p÷0wæÆ ÿ& ÷ ÿæì�ææ�÷•@ �à D÷‹˜Þ2´€~m÷~ˆmÐ AC:  ? ILL CMD! ILL PAR! NON-QUIEÓ~nSCENT ENâDSæQUìXXòXTîTMØDTREºCMAS.LD4ID@FLNTC:BR†XB–PTêEX.ˆˆæ´ ˆ÷4ÿ÷–(ÿ7 0ÿæ„ ˆ÷ ÿîì~xnŘDêÄå�Ä ßPö2?­ž~0kúˆ¿�~¨k¯      ÀI’æ Ö    ÷•V÷úZ÷CZæè ˆ÷ Fÿ÷BB÷2Šæè ˆ÷ .×-(öÿ÷•÷lhæèˆ³~ l÷ ÿˆTHIS IS TSTBUG C1 TYPE YOUR NAME AND IT WILL BE PRINTED ON THE LP! J~˜là TYPED--PRINT N,((O.CAD)-($NR)) ; B. ! WAS TYPED. FIND THE CLOSEST BIAS LESS THAN ;  (O.CAD) AND USE ITS "N" -- THEN DO CASE A. ; O.RCMP: MOV #'=,R0  ;FIRST TYPE A "=" JSR 5,O.FTYP  ;WAS N TYPED IN? TST R2  ;WAS N TYPED IN? BNE O.RCM1  ;BRANCH IF YES JSR 5,O.LOC  ;ELSE, FIND BEST N CMP R0,#-1 ;IF REL.REG FOUND, BNE O.RCM2 ; BR; ELSE-- MOV O.CAD,R0 ;PRINT ADDR IN ABS. JSR 5,O.CADV BR O.DCD1 O.RCM2: ADD #060,R0  ;CONVERT N TO ANSCII JSR 5á~Xp A „ &DCƒcà ÷è w @w Ü„·Šê w þ  '  7ŠÖ Ä „ ‚ ¦&w Ä„‚À•\w ÄwXw Èw �Ä øfw Š÷•‚ ™~Ðp€w ’7ŠŽ wtwhw šÄ£z  Ä%³zû‚ÀEøÿÄ ÄeNo‚ whÄåœz÷ÀD Áez÷ ôÀ=w T·ŠD À�= w HÀ�6 w @À�/ w 8À w 0w 8+~Hq  7� w *7� w "7Š 7� ÀXzÁez÷ XÄâÂwð7Šæ  wèw (‚b‚ ‚ ·¼wúw ‚øw �A�Á � � B`ï÷ €÷%’¿~ÀqÂŽ…Ö w|÷‹’û 7Š‚wr÷•ÿÿxwh·Šu ÄEøÿÄ 7lo~wh÷‹^ ÄEøÿÄ Ã tloPà õâÃS# Ó Ë û÷Øôþæ„ ˆÙË ÖÕ Ä Û Å Ò÷æØþñ÷ !®Ä ôE ®‡W¥, Ä !‚÷ ÊÅ ‡Ö  ‡÷ Ñ~ðnôÅ Ä ! 7H›zþ÷•vþæx*ˆô†š‡÷ ²ÿæ& && ˆÖ ߈æöæóæðÔÀ0Š*œ&éW¥,W£BW£AÅ ÷ hÿÄ ~hoÀ! ½æÕ ûÄÿÿøÄþÿý±æjˆ÷ Øý«‡©÷àý÷•Üýæx*ˆ‡æ7 ²ý7 °ý7 ®ýaÃjc™Ä ýædˆ„Ö  ƒ‡*Bv~ào† ÁÁÁW¥,5Ä 3!0‚÷ ¢ÿÅ ,!)!„š&Ä ô%†š!„ yÚß•àþÿô¥*œ4Š*œŠþÿ‡ß•àþÿô‹*œ­*œ аãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆ~m7Ò ÆŽÃƒÂ�÷ , À0œ�.~°÷ ž’ʘ’÷ ”’òŽ’÷ ˆ’ò‚’÷ |’òÂ~ˆmv’÷ p’òj’÷ d’ò^’ ÷ X’òR’ ÷ L’òF’÷ @’÷:’$ÿ÷ 4’÷�.’. ĈÒw N 7ŠØ 7ŠÕ ÷•ÿÿÑ wÞà B÷‹É ? ~n„ &DCƒcà ÷¤ w  w ¢ „·Š© w Î   %  7Š• Ä~ „ ‚ ¦&w € „‚À•\w ‚ wlw ˜ �Ä úfw T ÷•B €w R 7ŠQ w<~xn†wrw n ÄO ä,O.FTYP ;TYPE N MOV #',,R0  ;TYPE COMMA JSR 5,O.FTYP MOV O.BW,-(SP) ;SAVE O.BW MOV #2,O.BW  ;ARTIFCIALLY SET MODE FOR WORDS MOV O.XXY,R0 ;TYPE RELATIVE AMOUNT O.RCM3: JSR 5,O.CADV MOV (SP)+,O.BW ;RESTORE MODE BR O.DCD1  ;EXIT TO SCAN ROUTINE O.RCM1: MOV R4,R0  ;GET N. THIS CODE SIMULATES O.LOC ASL R0  ;TIMES 2 FOR INDEXING MOV O.CAD,O.XXY SUB O.RELT(R0),O.XXY ;COMPUTE DIFFERENCE ASR R0  ;RESåôÿÿloIw ,Û×-ÉË~8rÂ% w   ÿÿÀ=w $ÀÁø7 Ä íloÀ=w ÀÀe0w úÀ,w òÂ%ÀÎ@w Œk÷‹ÌÄÊüÂeÀ=÷¤w î~°rÂ@w fw¬üw’·Šºw¢À=w ¤ w  ÿÿÀrw 8AÀe0w „À,w |æV÷PÀTw ·D-À ÷<@7ìlo:€ â÷M~(s(÷‹6 À4üÄ,üÃ*üw ä÷ ðÀ?w "7 üw 7Š7Š7Š    w À%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 ‡z� W Ö†ø•~ s÷‹Ú ÷‹·ÄmÊ7ŠÈÁ y¼sôst t`tâp vptŠqltÆtêq:u†u‚uØtdvœq¤qÎqr”rÀræ~Xpþÿ÷ô0ýæ„ ˆ ‡ô•*œŠþÿ‡&& & & ˆÖ òê&ˆ‡ HH:MM:SS MM/DD/YY “–™§¤¡�Ä÷ ìþÅ &ÅeÀ õIä~Ðp ƶÿ‡·°ÿW¥, !ôÀ÷ Æÿ1ˆÖ í‡ÀÁªÂŽw(·€ÿW¥, !ÜÀ÷ –ÿ0ˆçÀÁ°Âœ÷Eÿ7PňædˆD~HqÔ�üÔ�üÅ öÅ ·6üæ„ ˆ‡‘~Àqç Ä%aû‚ÀEøÿÄ ÄeŽ‚ w~ÄåH÷À Á„÷ ´ À=w  ·Š À� w À�ù w  À�ò w úÀ w òw   7�Ö w X~ðnþ7�Ï w ö7ŠÉ 7�Ä ÀtÁ„÷  Ä¢ Âw7Š©   wþw (‚b‚ ‚ ·| ww ‚øw �A�Á � � B`ï÷ < ÷%R ÂN …Ö w.~ho†÷‹U û 7ŠD w„÷•ÿÿ: wz·Š8  ÄEøÿÄ ô °€wR7° wt÷‹  ÄEøÿÄ Ã t°Pà õôÿÿ°Iw äÖ×-Ô ÄÂ%_~ào w R ÿÿÀ=w ÜÀ¶ Á® 7d Ä í°À=w ¾ÀR Àe0w ²À,w ªÂ%À„ @w Dq÷‹… ĨüÂkÀ=÷Z w zuèTORE N. BR O.RCM2  ;PRINT RESULTS ; ;FILL MEMORY WORDS. LIMITS ARE THE SEARCH LIMITS. ; O.FILL: MOV #2,O.BW ;SET MODE TO "OPEN WORD" O.FIL1: TSTB O.SMFD ;DONT REACT UNLESS ";" WAS TYPED BEQ O.ERR ;IF NOT TYPED, ERROR. MOV O.CNST, R0 ;ACTUAL VALUE MOV O.LOW,R4  ;USE SEARCH LIMITS FOR MOV O.HI,R3  ; FILL LIMITS. JSR 5,O.ST BR O.DCD  ;EXIT ; ;INITIALIZE MEMORY BYTES. ; O.INIT: MOV #1,O.BW BR O.FIL1  ;LET O.FILL DO THE WORK é$sBsÈr qRp6pƒ·Šh7Šc´÷JD ÷@ 7Á~t<76÷%.Ä*„ î‡À"ÀŸw â÷%‹À•=w (ÀŸw À• w wúþ÷ ÖwêþwÞþ·Šì÷ Þù÷ À÷ Þ÷ÒÎ7ŠÒ÷mÄħ~�t÷ÀÀw ºæ´÷®À¬w ¼·¢Ö%À/w ¶¯À\ú÷ ˆÔ÷ j÷í~~ÜÀ´zÄ Ã … L‡Å Äe|o  !ŠoB†Ô ù!Šo=‚L®U~u !6‚4|o4 Žo¤ À´z!ž‚4|oô o4 ŽoÔ ô÷%À w *à ÅíÅ Å @w Â@€ ‡À%€ÿ À%÷ àw ¨· ØwÜýw¼~€uÈý�  à ù÷ÀÂÎùÄÈùD · Æù¼‚€Á êP~8r×~°r_~(sæ~ së~Xp@w wŠüwš·Šþ w®À=w \ w ¼ ÿÿÀ( w ðGÀe0w <À,w 4æ ÷ À w Ì·ú3À ÷òö7ì°ð€ â÷Þ¥~Ðp÷‹ï ÀüÄüÃüw – ÷ÀðÀ?w ÚÀ w Ò7 ªw ¤7Š·7в7ŠT 7Š¥    w ÌÀ%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 2€~Hq� W Іø÷‹  ÷‹dÄm 7Š Á y.hv€Ô>zäæà:F®úöLÂø*hú&Ѝ.h²öZ ƒ·Š7г÷òD y~Àq÷è 7ä7Þ÷%ÖÄÒ„ î‡ÀÊÀŸÄw Œ÷%¸ˆÀ•=w ÒÀŸ¬w ÊÀ• w Âwôþ÷ zwäþwÐþ·Šì; COMMAND DECODER - ODT11X ; ALL REGISTERS MAY BE USED (R0-R5), O.ERR: MOV #'?,R0  ; ? TO BE TYPED JSR 5,O.FTYP ; OUTPUT ? O.DCD: CLR O.BW  ;CLOSE ALL JSR 5,O.CRLS ;TYPE * O.DCD3: CLRB O.SMFD  ;SEMICOLON FOUND FLAG CLRB O.CMFD  ;COMMA FOUND FLAG CLRB O.MINS  ;MINUS SIGN FOUND FLAG O.DCD2: CLR R3  ;R3 IS A SAVE REGISTER FOR R2 CLR R5  ;R5 IS A SAVE REGISTER FOR R4 O.DCD1: CLR R4  ; R4 CONTAINS THE CONVERTED OCTAL CLR R2  ; R2 Ií&C@AƒEPA&f¦æw ’€w  À/w ¤€w Hƒ‚�„w ÞÒ Û åƒ`ƒ ƒ Å ßÀE!~øuÿ�¯À € € €` Õ÷‹V·à µ÷•F… °‡Å w8ù÷•àÔ‰w °7Š-÷U&ù÷‹"÷Eùw b7Dæùæù æùÎE·œ‰÷‹üŠÀ�òÀ‹w~pv† „à pŽo÷•àz‰w V×­ÔÏ÷‹ÊÌ÷•àb‰·Š¿÷U¸øÐ·°ø·®ø÷•ª7¸÷‹¡·w @÷‹˜ø€Å��øÅ�Œø¯ŒŒŒŒw‘‰Åvø÷‹î~èvt�å wjøÄt!|oÄ Ä úw ¼w JÄzzÃ{zw ž@÷e>ø%Ä•t|o7‘2ô ŽoªôŽow „ÀBw .À�Àe`€ w À;w ÷~`wðÄ�ú|ow úîn~tõ~�t}~u~€uï–÷ †ù÷ d÷ ˆ÷z{~8rv7Š|÷mll÷hhw læ\÷VÀTw d·JÖ%À/w `¯À\ú÷ 0Ô÷ ÷í&&ÜÀÆÄ à … L‡Å ÄeÀ  !ÎB†Ô �~°rù!Î=‚L® !6‚4À4 Ò¤ ÀÆ!ž‚4Àôä4 ÒÔ ô÷%ºÀ w Ôà ÅíªÅ Å @w l@€ ‡À%€ÿ À%÷ ˆw 1~(sR· €wÖýwºý�  à ù÷hšùÄ”ùD · ’ù¼‚€Á &C@AƒEPA&f¦æw D€w HÀ/w N€w òƒ‚�„Ò Ý çƒ`ƒ !~ sƒ Å áÀEÿ�¯À € € €` ×÷‹¹à ·÷•õ… ²‡Å wù7Šæ÷Uù÷‹Ú÷‹ÕðS THE NUMBER FOUND FLAG O.SCAN: JSR 5,O.GET  ;GET A CHAR, RETURN IN R0 O.SCN1: CMP #'0,R0  ;COMPARE WITH ASCII 0 BHI O.CLGL  ;CHECK LEGALITY IF NON-NUMERIC CMP #'7,R0  ;COMPARE WITH ASCII 7 BLO O.CLGL  ;CHECK LEGALITY IF NOT OCTAL BIC #177770,R0 ;CONVERT TO BCD ASL R4  ; MAKE ROOM ASL R4  ; IN ASL R4  ; R4 ADD R0,R4  ;PACK THREE BITS IN R4 INC R2  ;R2 HAS NUMERIC FLAG BR O.SCAN  ; AND TRY AGAIN O.CLGL: CLR R1  ;CLEAR INDEX O.ñwàû·â·à÷ÆZof&æ¦fæÌæ €Ö ·Â�‚ƒ„…ƶ÷æ°€Ä4|o oüü|oÄ Ä ÷…÷�ª‡™÷�¨‡”7Šž‡7Šž‡÷‹ú~Øwš‡ý€…w r÷‹Ž‡ý€÷5‚‡÷‹|‡ý€÷�gt‡÷�br‡…÷‹V  < o|o„ „ !ø…ÃÄþÿ÷%&Ãå„ À&Äe N @ Ä üÀe0w &à ‡~PxóÀ• Ö ÁloÀÿÿ …÷‹ü†ý€7�ø†…÷‹ì†ý€À�è†ÀE€ÿÀ¥÷‹Ð  w Ðÿí÷‹¾À¥ ç…Ä ã‡•w ¶ÿú×­®†• Â~ÈxÀ•^w ¤ÿÀ•Uw œÿÆNowrú… ÷ÿÿn÷ÿÿj  ‚7,loX‚ÁRìloÁ-P‚Ð ðÀD…w@€ 78À ô÷%(!ùƒ… �„ ú ÷%BòŒ~øu~pv›~èv#~`wó÷Eîøw P72æâøæÜø÷‹½•À�³À‹‘ �à ‡~tpÒ×­ŸØ÷‹”Õ·Š�÷Uªøß÷‹‰w°ü÷�¤ø`÷@jÄ”øÄ5óÅŒø!ï‚÷•< ÷ ÷ îÂe÷ äÂe!‚ÀEøÿõÀD÷ O~�tÕ!çƒwfü÷‹%wLü×=<øú÷-6ø2øö‡·Š7Š÷�*øä÷Hî÷•<6÷øø÷ øÞwöþ·ú÷·ø÷÷•Ó7÷‹ÊwÚþw ^÷‹Þ÷€ Å�~uÖ÷¯ŒŒŒŒwÑæŠÅÀ÷÷‹œ�÷‹—@å w®÷Ät!ÀÄ Ä úw xÄ$Ã%w à@÷e†÷$Ä•tÀ7‘[ô Òw®þôÒÀBw VÀ�?Æ~€uÀe`€ w HÀ;w @÷Ä�#Àw wXûôLGL1: CMPB R0,O.LGCH(R1) ;DO THE CODES MATCH? BEQ O.LGL2  ;JUMP IF YES INC R1  ; SET INDEX FOR NEXT SEARCH CMP R1,#O.CLGT ;IS THE SEARCH DONE? BHIS O.ERR  ; OOPS! BR O.LGL1  ;RE-LOOP O.LGL2: TSTB O.MINS  ;IF MINUS WAS NOT TYPED BEQ O.LGL4  ;DO NOT NEGATE K NEG R4  ;OTHERWISE, TAKE 2'S COMPLEMENT. O.LGL4: TSTB O.CMFD  ;IF A COMMA NOT TYPED, BEQ O.LGL3  ;SKIP NEXT INSTRUCTION. ADD O.BIAS,R4 ;OTHERWISE, ADD RELOC. BIAS TO (R4) O.LGL3: CLRBõ~@y‚??‘‡Ã…zÆzÄ„zw Nÿ…÷%üõw ªþ…÷Ú77Ðw ZÿÀ Àe0w àþÀ,w Øþæ²÷¬À°w pþ· ÷Êœé~¸yÀÆ…ÀÀ÷ºŒÓÄýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂLz ‡€âƒ ûË× Ãež~0z ÃeÃe Ãe Ñ�Ò … è€Ð ‡@(LILIà ÿ@€ ODT-11R V003ABEðGà†à† *;/\ $G _<^,OWEBP@>SRC-FI!XASPMá~¨zCFRBT2ì€öª~Øw2~Px¹~ÈxA÷÷ ÔÃ÷ ¨ÂeÅ"÷À wÄ €Ò•KÒ•SÒ•U~‚  wÄe0‘‚  w wØ~øuÄe0‘‚  wÄe0‘‚ À wÄe0‘~Ò ÄŽ÷ .Âe!šøƒÀT÷ P ÷-ržö÷Žöhw€ýw¨úw”úÀ`â�ÊÅøÊÕ0ƒ ÃEû~pv€ƒ ƒ ~‡ÀðÂÂâ• — {û‚‡ D÷�Pö ÷�Fö÷­þV‰)×­T<÷• ·ŠFædˆ÷ äÎe‡÷•. D ÷”ÎædˆÔ~èv÷ Àë÷v¼ä÷à´ò÷• ¶æd ˆÜ·¤·ÆõÆšf&æ¦fæŽæ €Ö ·„�‚ƒ„…Æœõær€Ä4Àäü´ÀÄ Ä ÷…÷‹\&~`w ÷‹W  <äø O.MINS  ;REINITIALIZE MINUS-TYPED SWITCH FOR NXT SCAN ASL R1  ;MULTIPLY BY TWO JMP @O.LGDR(R1) ;GO TO PROPER ROUTINE O.LGDR: O.SEMI ; ; SEMICOLON O.WRD ; / OPEN WORD O.BYT ; \ OPEN BYTE -BACK SLASH O.CRET ; CARRIAGE RETURN CLOSE O.REGT ; $ REGISTER OPS O.GO ; G GO TO ADDRESS K O.OP1 ; O.NEXT MODIFY, CLOSE, OPEN NEXT O.ORPC ; "BACKARROW" OPEN RELATED, INDEX - PC (BACK ARROW) O.OLD ; < RETURN TO OLD SEQUENCE AND OPEN O.BùŒ~ {À~˜{Ð AC:  ? ILL CMD! ILL PAR! NON-QUIESCENT ENDSQU:~|"XX(XTôTMDT>REÀCMAS4LD:IDFFLTIT²TC@BRŒXBœPTðEXˆ.ˆˆæ´ ˆ÷.ÿ÷–"ÿ7 *ÿæ„ ˆ÷ ÿîŘDêÄå�~ˆ|�Ä ÃS# Ó Ë û÷Øîþæ„ ˆÙË ÖÕ Ä Û Å Ò÷æÒþñ÷ !ˆ¯ú~@yÈ~¸yP~0z×~¨zûÀ„ „ !ø…ÃÄþÿ÷%$Ãå„ À&Äe N @ Ä üÀe0w &à óÀ• Ö Á°Àÿÿ …÷�,ÎT~Øw÷•Ø7�Øæd ˆ÷ Àÿ…÷�°÷• ºæd ˆÀ¦ ÷ÿÀ¤À• À�š÷‹£À¥ â…Ä Þ‡•w šÿú ÷ÿÿr÷ÿÿn  ‚7,~Px°\‚ÁVì°Á-T‚Ð ðÀH…wD€ 7<À ô÷%,!ùƒ… �„ ú ÷%‚? ?‘‡Ã1Ä.w vÿ…À w ÿ…÷%¢~Èx$ôw ¬þ…÷Ú’7�7Ðw VÿÀ Àe0w âþÀ,w Úþæ²÷¬À°w rþ· ÷XœÀT…ÀN÷HŒÓÄýÿ C”Ã¥ Ã¥$ × A‡üACK ; ^ OPEN PREVIOUS (UP ARROW) O.COMM ; , COMMA. SEPERATES REL.REG. FROM INCREMENT O.OFST ; O OFFSET O.WSCH ; W SEARCH WORD O.EFF ; E SEARCH EFFECTIVE ADDRESS O.BKPT ; B BREAKPOINTS O.PROC ; P PROCEED O.ORAB ; @ OPEN RELATED, ABSOLUTE O.ORRB ; > OPEN RELATED, REL. BRANCH O.SNGL ; S SINGLE INSTRUCTION MODE O.REL ; R RELOCATION PROCESSING O.CNS ; C CONSTANT REGISTER PROCESSING O.MIN ; - MINUS, NEGATES NUMBER TYPED IN O.FILL ; FýÄ ôE Š¯‡W¥, Ä !‚÷ úÅ ‡Ö  ‡÷ $Å Ä !~} 74œtþ÷•pþæx*ˆôr›‡÷ ²ÿæ& && ˆÖ ߈æöæóæðÔÀ0Š�&éW¥,W£BW£AÅ ÷ hÿÄ À! ½æ�~x}Õ ûÄÿÿøÄþÿõ±æjˆ÷ Òý«‡©÷Úý÷•Öýæx*ˆ‡žÀÁ"ð•�0Ї�0Šø�ñr›Ñ €  pñæP›>ˆ‡æ7 |ý7 zý7 xýG~ð}aÃjc™Ä ýædˆ„Ö  ƒ‡`x¬¼ ÁÁÁW¥,5Ä 3!0‚÷ ¢ÿÅ ,!)!p›&Ä ô%r›!„ yß•àþÿô¥~h~�4Š�Šþÿ‡ß•àþÿô‹�­� Šþ_~ {æ~˜{n~|õ~ˆ|ÿ~@yÃå ÃåÃå Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂh ‡€âƒ ûË× Ãe ÃeÃe Ãe Ñ�Ò … è€Ð ‡@(©~¸y DEBUG H PC CP R L T NZVC R0 R1 R2 R3 R4 R5 SP @ LOCN CONÂ~0zTENTS BE*;/\ $G._<^,OWEBP@>SRC-FI!XADTSPMDTCFRB¤~¨zv FILL MEMORY WORDS FROM THE CONSTANT REGISTER O.INIT ; I INITIALIZE MEMORY BYTES FROM THE CONSTANT REGISTER O.RCMP ; ! PRINT CURRENT OPENED ADDRESS IN REL. FORM O.MOD ; X RETYPE OPENED CONTENTS, MOD40 O.ALF ; A ACCEPT ASCII INPUT O.CTLC ; ^C EXIT TO MONITOR O.LGL = .-O.LGDR ;LGL MUST EQUAL 2X CHLGT ALWAYS ; SEMI-COLON PROCESSOR O.SEMI: MOV R2,R3 ;A SEMI-COLON HAS BEEN RECEIVED MOV R4,R5 ;NUMERIC FLAG TO R3, CONTENTS TO R5 INCB O.SMFD þÿ÷ôúüæ„ ˆ ‡ô•�Šþÿ‡&& & & ˆÖ òê&ˆ‡ HH:MM:SS MM/DD/YY M~à~ÉÌÏÝÚ×�Ä÷ ìþÅ &ÅeÀ õI ƶÿ‡·°ÿW¥, !ôÀ÷ Æÿ1ˆÖ í‡ÀÁàÂÄw(·€ÿW¥, !ÜÀ÷ –ÿ0ˆ'~XçÀÁæÂÒ÷Eÿ7PňædˆDÔ�æûÔ�ãûÅ öÅ ·üæ„ ˆ‡f2­~Ѐ€”~H€}~}~x}Œ~ð}~h~Ô~ {P2î€6~˜{`~|Ð AC:  ? ILL CMD! ILL PAR! NON-QUIESCENT EN ~ˆ|âDSæQUìXXòXTîTMØDTREºCMAS.LD4ID@FLNTC:BR†XB–PT;SET SEMICOLON FOUND FLAG CLRB O.CMFD ;RESET COMMA FOUND FLAG BR O.DCD1  ;GO BACK FOR MORE ; PROCESS / AND \ - OPEN WORD OR BYTE ;INPUT - IF R2 IS NON-ZERO A NEW REXP HAS BEEN TYPED IN ;INPUT - -ADDRESS OF WORD TO BE OPENED IS IN R4 O.WRD: MOV #2,O.BW  ;OPEN WORD BR O.WB1 O.BYT1: ROL R4  ;GET THE ADDRESS BACK O.BYT: MOV #1,O.BW  ;OPEN BYTE O.WB1: TST R2  ;GET VALUE IF R2 IS NON-ZERO BEQ O.WRD1  ;SKIP OTHERWISE - REOPEN PREVIOUS LOCATION MOV R4,O.DOT ;PU2ˆÇlÅàÄþÿÀL‘ß !&ß p€ðµ @ðµ ðÅ ð• <ðÕ Šðµ  ðµ@�~À€ Ò  ðµ ’$ðµ Ò ¦ & æ& æÌ&& æ–#Þ Ö L‘ðÅ ð‹ ðµ ðÅ &ß Ö  ßÔ~÷Ì~7 È~Ì~8�ß ! Šš ¨@‚Ç~°�^›~à~#~Xª~Ð2~H€êEX.ˆˆæ´ ˆ÷4ÿ÷–(ÿ7 0ÿæ„ ˆ÷ ÿîŘDê»~}Äå�Ä ÃS# Ó Ë û÷Øôþæ„ ˆÙË ÖÕ Ä Û Å Ò÷æØþñ÷ !®Ä ôE ®‡W¥, Ä !‚÷ ÊÅ ‡Ö  ‡÷ ôÅ Ä K~x}! 7H›zþ÷•vþæx*ˆô†š‡÷ ²ÿæ& && ˆÖ ߈æöæóæðÔÀ0Š*œ&éW¥,W£BW£AÅ ÷ hÿÄ À! ½e~ð}æÕ ûÄÿÿøÄþÿý±æjˆ÷ Øý«‡©÷àý÷•Üýæx*ˆ‡æ7 ²ý7 °ý7 ®ýaÃjc™Ä ýædˆ„Ö  ƒ‡*Bv† ÁÏ~h~ÁÁW¥,5Ä 3!0‚÷ ¢ÿÅ ,T VALUE IN DOT MOV R4,O.CAD ; ALSO IN CAD O.WRD1: CMP #1,O.BW  ;CHECK BYTE MODE BEQ O.WRD2  ;JUMP IF BYTE MOV O.CAD,R4 ASR R4  ;MOVE ONE BIT TO CARRY BCS O.BYT1  ;JUMP IF ODD ADDRESS MOV @O.CAD,R0 ;GET CONTENTS OF WORD BR O.WRD3 O.WRD2: MOVB @O.CAD,R0 ;GET CONTENTS OF BYTE O.WRD3: JSR 5,O.CADV ;GO GET AND TYPE OUT @CAD CMP #1,O.BW ;CHECK IF BYTE MODE. BNE O.DCD3  ;IF NOT WE'RE DONE. ELSE: MOVB #'=,R0 ;TYP "=" AND THEN THE ASCII BYTE JS ¸~(‚èÞú~ ‚_~ƒæ~�ƒ ¹~À€A~8�È~°� !)!„š&Ä ô%†š!„ yÚß•àþÿô¥*œ4Š*œŠþÿ‡ß•àþÿô‹*œ­*œ Šþÿ÷ô0ýb~à~æ„ ˆ ‡ô•*œŠþÿ‡&& & & ˆÖ òê&ˆ‡ HH:MM:SS MM/DD/YY “–™§¤¡�Ä÷ ìþÅ &ÅeÀ õI ƶÿ‡J~X·°ÿW¥, !ôÀ÷ Æÿ1ˆÖ í‡ÀÁªÂŽw(·€ÿW¥, !ÜÀ÷ –ÿ0ˆçÀÁ°Âœ÷Eÿ7PňædˆDÔ�üÔ�ü�~ÐÅ öÅ ·6üæ„ ˆ‡ ~H€ R 5,O.FTYP MOVB @O.CAD,R0 JSR 5,O.FTYP MOVB #' ,R0 JSR 5,O.FTYP JMP O.DCD3  ;GO BACK TO DECODER ; PROCESS CARRIAGE RETURN O.CRET: JSR PC,O.CLSE ;CLOSE LOCATION O.DCDA: JMP O.DCD  ;RETURN TO DECODER O.ERR3: JMP O.ERR  ; INTERMEDIATE HELP ; PROCESS , OPEN NEXT WORD O.OLD: INCB O.SEQ ;SET FLAG TO LATER RESTORE CAD O.OP1: TST O.BW ; RECEIVED O.ERR2: BEQ O.ERR3  ;ERROR IF NOTHI n~„ ENTER FILE/ELE~€„MENT NAME:   FILE NOT FOUND, REENTER: FILE NOT CONTIGIOUS, REENTER:  FILE TRANSFERED, NEXT: ¤~ø„+ ERROR - VALUE . TASK DID $EXIT.ˆ÷ì(ý÷ FÀÁ ```&÷ ýæÌ ˆ"ˆæŒ&ˆ÷¦ü¢ü7Š«ü÷B”ü÷ öI~p…Àì7ˆü7$�ü7$Œü7$|ü È �÷6Äü÷ âÍ$Ð Ð Àe  êæ÷ P~(‚×~ ‚_~ƒæ~�ƒ¹~À€A~8�È~°�NG IS OPEN JSR PC,O.CLSE ;CLOSE PRESENT CELL TST O.SEQ  ;SHOULD CAD BE RESTORED? BEQ O.OP5  ;BRANCH IF NOT MOV O.DOT,O.CAD ;RESTORE PREVIOUS SEQUENCE CLRB O.SEQ  ;RESET FLAG; NO LONGER NEEDED O.OP5: ADD O.BW,O.CAD ;GENERATE NEW ADDRESS O.OP2: MOV O.CAD,O.DOT ;INITIALIZE DOT O.OP2A: JSR 5,O.CRLF ; MOV O.BW,-(SP) ;SAVE BW MOV #2,O.BW  ;SET TO TYPE FULL WORD ADDRESS MOV O.CAD,R0 ;NUMBER TO TYPE JSR 5,O.RORA ; CHECK FORMAT MOV @SP,O.BW PüÝ÷ ü÷ ¾»7 `üæ˜)ˆæˆ¦ˆˆ÷ 2ü9Á6ü7 üÐ 7ü÷ ö~è…|· üwvü済÷ Dü Áe÷-úûúûîÁíüwüæˆ!ˆ÷ ìû÷Z4ü÷ R…÷BCÎþ÷DTÆþæðû ÷DKºþæøû÷BF®þæ´ûæ�ˆ÷xøûƒ~`†÷ ˆ÷–ûüûæ¤ ˆ÷ ¶û݇æÌ ˆ‡ ÈdÒ~؆Á&~P‡n~„õ~€„}~ø„~p…P~(‚×~ ‚_~ƒæ~�ƒ;RESTORE BW CMP #1,(SP)+ ;IS IT BYTE MODE? BEQ O.OP3  ;JUMP IF YES MOV #'/,R0  ;TYPE A / O.OP4: JSR 5,O.FTYP BR O.WRD1  ;GO PROCESS IT O.OP3: MOV #'\,R0  ;TYPE A \ BR O.OP4 ; PROCESS ^, OPEN PREVIOUS WORD O.BACK: TST O.BW  ; ^ RECEIVED BEQ O.ERR2  ;ERROR IF NOTHING OPEN JSR PC,O.CLSE SUB O.BW,O.CAD ;GENERATE NEW ADDRESS BR O.OP2  ;GO DO THE REST ; B HANDLER - SET AND REMOVE BREAKPOINTS O.BKPT: MOV #O.TRTC,Rª~ȇ.ˆ÷œ ÷® ÷– æ¶æn&ˆæj!ˆ÷." æˆ ˆ÷p æ ˆˆÀsÁÊÂ^ˆÃpã ã ã €  ¢,× o÷‚’õæÅ~@ˆjf&ˆCCTQ$äÀÊÁåÎ� � � w<7 Á 7 7þ æj ˆ÷ î Ðò Ðð ïÄ ÷ Ì ÷Ê÷÷t÷t ÷ ø 6÷ ( 3÷ Þ?~¸ˆÈ È ó"ðò· ÈÈ ð‹P)Åå眗 ÀeD zø:ÚÚ~Ä ÷ R Ä ÷ J Ä ÷ B wž÷ ÷Ž„÷ ¼Õ~0‰Ä€Œ~è…~`†›~؆#~P‡n~„õ~€„}~ø„~p…0 ASL R4  ;MULTIPLY NUMBER BY TWO TST R3 BEQ O.REMB  ;IF R3 IS ZERO GO REMOVE BREAKPOINT ASR R5  ;GET ONE BIT TO CARRY BCS O.ERR1  ;BADNESS IF ODD ADDRESS ASL R5  ;RESTORE ONE BIT ADD #O.ADR1,R4 TST R2 BNE O.SET1  ;JUMP IF SPECIFIC CELL O.SET: CMP R0,@R4  ;IS THIS CELL FREE? BEQ O.SET1  ;JUMP IF YES CMP R4,#O.BKP+O.ADR1 ;ARE WE AT THE END OF OUR ROPE BHIS O.ERR1  ;YES, THERE IS NOTHING FREE TST (R4)+  ;INCREMENT BY TWO BR O.SE÷ $ ·÷ "ñµ ÷ . D÷d^÷ ’À­ 7L1-¶†t²Ä÷ Þ ñµ÷ Ö ôµôÕñÕ÷ ÔD,~¨‰÷ f–÷ ®’÷ �ÄtÄe Äe ô¥ú÷ v7ÚÔÄÔÂÔ<ˆ‚ÄÊÄe 7!Ò#ƒ×"ÿÿ÷Ì"ô,ÃeôôHôÖ~ ŠÁ ÷ HÄ ÷ ØÚ7 j÷• Àt7^ ×-R@7 J7ŠìÿÀe 7 H/†œœW Á èµ 0 0  Ãem~˜ŠÃEð ÷`7Òµ Ãúð0lÆ0Â÷@@ æˆ ˆˆÀnÁ̈æjˆ a( ùˆæjˆ7Ê æª~ȇ2~@ˆ¹~¸ˆA~0‰Œ~è…~`†›~؆#~P‡T O.SET1: CMP R4,#O.BKP+O.ADR1 BHI O.ERR1  ;ERROR IF TOO LARGE MOV R5,@R4  ;SET BREAKPOINT BR O.DCDA  ;RETURN O.REMB: TST R2 BEQ O.RALL  ;GO REMOVE ALL CMP R4,#O.BKP BHI O.ERR1  ;JUMP IF NUMBER TOO LARGE MOV R0,O.ADR1(R4) ;CLEAR BREAKPOINT CLR O.CT(R4) ;CLEAR COUNT ALSO O.DCDB: BR O.DCDA O.RALL: CLR R4 MOV #O.TRTC,R0 O.RM1: CMP R4,#O.BKP+2 ;ALL DONE? BHI O.DCDA  ;JUMP IF YES MOV R0,O.ADR1(R4) ;RESET BKPT MOV #TRT,O.UIN(R4) ;REjˆ7Ä Ò~‹÷„& ÷  Àt7 Š÷• ×-z@7 r7ŠìÿÀe 7 pN†œÁ 'W éæP&'ˆÃ^÷ Ò÷• Ú ¼÷•MÌ ÷B¶ ÷ ~ˆ‹¨Ïæ÷&'ˆ÷Ø¢ ÷ ”Åæ%&'ˆÃ4÷ ŠDÃ;÷ |B‚ A w`à ÄÜ ÃB÷ f÷ ^ ÷ P£7 à Ä€÷ j÷^D ÷ 6÷„*~Œ: æˆ&'ˆ÷ $Àe 7 ² õ‡÷Xöæˆ ˆˆÀ€ ÀeÀ € ÀE€€ € € € € € € À À À À À À À Àe7\ 7Z Àå 7( 7 V 7 * ÷ ~xŒ÷ ÷˜B ÷€ æ¶æn&ˆ÷•Ùæjˆ÷ Æ.ÀÊ7à`wö w ÷â æ ÷Êâ ÷²î ÷ ÖÈ~¨‰P~ Š×~˜Šª~ȇ2~@ˆ¹~¸ˆA~0‰ SET CONTENTS OF TABLE CLR O.CT(R4) ;CLEAR COUNT TST (R4)+  ;INCREMENT BY TWO BR O.RM1 ; PROCESS O, COMPUTE OFFSET O.OFST: CMP #2,O.BW  ;CHECK WORD MODE BNE O.ERR1  ;ERROR IF NOT CORRECT MODE MOV #' ,R0  ;TYPE ONE BLANK JSR 5,O.FTYP ; AS A SEPARATOR TST R3  ;WAS SEMI-COLON TYPED? BEQ O.ERR1  ;NO, CALL IT AN ERROR O.OF2: SUB O.CAD,R5 ;COMPUTE DEC R5 DEC R5  ; 16 BIT OFFSET MOV R5,R0 JSR 5,O.CADV ;NUMBER !]÷ >`pú÷Þ À &÷ ÜÂÒ — ¹~ðŒ  zúи–ÐÄ÷ RÄ ÷ J÷ Ä9@BÀåÂåõÂEüÿ Ž`‡÷ V B”„ÄE€ÿC”Ãå÷\ Ãmv Å^ !÷ 2 !ÀÄ û~h�|lŽ&8Xl޲èŽ8Xlw€Ä÷ ÆÂ ÂeÂe ·  ñ†—¢øÂå·ø ‰÷ Ô ‰ÀåÑ 7ú Âú À R”ü7 è ÷ 6ÿ¾~à�øwJÿ÷Ò ÷Ê wìþÄ÷ ZDDm÷ †ÀåDQ$÷ ¨÷ tÀåw¼þ÷ Ö Dd÷ `Àåõ÷ ÄDQ$÷ |Dá÷å @ ÷ @ÀååÍ~XŽD÷ dQ$Dd÷ ,ÀåÛ÷ �D÷ JQ$DdDá÷å ÷ ÀåÊDQ$÷ "_~‹æ~ˆ‹n~Œõ~xŒ#È~¨‰P~ Š×~˜Š$IN R0 - WORD MODE MOV R5,R0 ASR R0  ;DIVIDE BY TWO BCS O.OF1  ;ERROR IF ODD CMP #-200,R0 ;COMPARE WITH -200 BGT O.OF1  ;DO NOT TYPE IF OUT OF RANGE CMP #177,R0  ;COMPARE WITH +177 BLT O.OF1  ;DO NOT TYPE IF OUT OF RANGE DEC O.BW  ;SET TEMPORARY BYTE MODE JSR 5,O.CADV ;NUMBER IN R0 - BYTE MODE INC O.BW  ;RESTORE WORD MODE O.OF1: JMP O.DCD3  ;ALL DONE O.ERR1: JMP O.ERR  ;INTERMEDIATE HELP .EOT  ;END OF TAPE %37 Àå7 ê W-· Þ DDdÄmÞ 7Ø 7 þ Àå¬É¥©~ÐŽÉ¥¦DD]é÷F´ å ÷ ¤÷e´ Ä´ ÷ –’Ä÷ VÄ÷ N÷@|÷•m÷ ŽÀv € Àe=ŠÀ€ &Ä÷<T7ŠI÷ jÀ¬Á²~H�Ð Ãe@ —r@°L~·Š!÷ BÁ,W p;W 8Â�— 2ò‹›÷ +ÀÀíÜ€ À5Ž Â ƒÄ ÅÃE€ƒ#Å �ÎÅW!Ú~À�W!ô w°ÅÔÅE€ÿW! „ „ „ „ „ „ „ ÷ n÷�´Œ7Šæxˆ*ˆˆÃ�tÃ% èæxˆ)ˆˆ÷‹^ãw ÄÀN ÂR7ŠW7Z÷“~8�J÷ nwL·>·Š=÷ ^¤7 V&}~ðŒ~h�Œ~à�~XŽ'_~‹æ~ˆ‹n~Œõ~xŒ(#2 ; ; SEARCHES - $MSK HAS THE MASK ;  $MSK+2 HAS THE FWA ;  $MSK+4 HAS THE LWA O.EFF: INC R1  ;SET EFFECTIVE SEARCH BR O.WDS O.WSCH: CLR R1  ;SET WORD SEARCH O.WDS: TST R3  ;CHECK FOR OBJECT FOUND BEQ O.ERR1  ;ERROR IF NO OBJECT MOV #2,O.BW  ;SET WORD MODE MOV O.MSK+2,R2 ;SET ORIGIN MOV O.MSK,R4 ;SET MASK COM R4 O.WDS2: CMP R2,O.MSK+4 ; IS THE SEARCH ALL DONE? BHI O.DCDB  ; YES MOV @R2,R0  ; GET OBJECT )ëww ”‚ ±�ø�1Š�1Ї�±•YžÁ À÷‹€ÀüÀU€14œ1 r›� _ p›_p›æP›ˆ>ˆˆÀøÁÊæj!ˆm~°�7 ¾w¶w´Q$À ôw÷,€(€(€(€ € € € €,€,€,€&æ¦f&MÖ €�‚ƒ„…Ä– ÄeÄÄm„Äm�‡×-ª:‚‡Äô~(‘÷ 0&Àt7 €‡€Îe‡ð¥Àe ò#û0-÷€‡&]ÀtÀ:7 P‡€‡#0-ð¥ ÀEßÿ7î¦~ ‘€Îe‡Àe ã÷ ®ÿ‡ô¥ûÎe‡÷ šÿ!‡&Àô÷e æ÷ 4ÿ€‡w øþÄÂ÷ R””””÷ ÿw êþ‡Ä÷ Jw Ðþð~’Ä*›~ÐŽ#~H�ª~À�2~8�+}~ðŒ~h�Œ~à�~XŽ,TST R1  ;NO BNE O.EFF1  ;BRANCH IF EFFECTIVE SEARCH MOV R0,-(SP) MOV R5,R3  ;EXCLUSIVE OR BIC R5,R0  ; IS DONE BIC (SP)+,R3  ; IN A VERY BIS R0,R3  ; FANCY MANNER HERE BIC R4,R3  ;AND RESULT WITH MASK O.WDS3: BNE O.WDS4  ;RE-LOOP IF NO MATCH MOV R4,-(SP) ;REGISTERS R2,R4, AND R5 ARE SAFE MOV R1,-(SP) ;SAVE R1 MOV R2,-(SP) ;SAVE R2 MOV R3,-(SP) JSR 5,O.CRLF MOV R2,R0  ;GET READY TO TYPE JSR 5,O.RORA ; CHECK FORMAT MO-–Äe 7!’ †­ #‚ô‡2-ðƒ7!n‚÷e fÕ&fÀvÁe  ‚�€÷e P÷e \‡!!!!!ïw hþÁ @`� 7 <†B~�’ ýøw Vþ÷å &‡÷ ü7 èÀô7ä7ö· ò÷eÞ÷ ÆÎe‡÷ ÌÿO÷ªÐ×-° ‡÷ Èóæˆˆˆ÷ (>· š÷倌Ï~“ÀˆÁ à÷ª–Á 7râ?¤ˆõ· ‚÷5|ò”Ћ#BÁåwJ”Â`Á ü‚Š7<@À5Ã.0”þÿà ü@À ÅÎe‡Ä÷ „~€“ÚÄ÷ ÒÄ÷ Ê‘ �Ä‘‡ÄýÄ€÷ ²‡æDˆˆˆ÷ ’‡Ä÷ –÷møÌæÈÄð„#‡Ãe€ƒ#!‡÷•Ÿ÷ Àÿƒ.¹~°�A~(‘È~ ‘P~’/›~ÐŽ#~H�ª~À�2~8�0V #'/,R0  ;SLASH TO R0 JSR 5,O.FTYP ;TYPE IT MOV @R2,R0  ;GET CONTENTS JSR 5,O.CADV ; TYPE CONTENT MOV (SP)+,R3 MOV (SP)+,R2 ;RESTORE R2 MOV (SP)+,R1 ;RESTORE R1 MOV (SP)+,R4 ; RESTORE R4 ;HAS CTRL/U BEEN STRUCK? JSR R5,O.CU  ;CHECK FOR ^U O.WDS4: TST (R2)+  ;INCREMENT TO NEXT CELL AND BR O.WDS2  ; RETURN O.EFF1: CMP R0,R5  ; IS (X)=K? BEQ O.WDS3  ;TYPE IF EQUAL MOV R0,R3  ;(X) TO R3 1ƒ ÃE€ƒ ƒ m~ø“ƒ ƒ ƒ ƒ ÄÃmn÷„7Šy÷ šÿÄ Ä Ä Ä Ä Ä Ä 7 ƒáÃe’÷–‡æ0ˆˆˆ‡Â#‘ËÅøËÕ0„ ÄE€„ „  ô‡w †üÂÂ÷ Öÿ÷r'~p”¢æˆ ˆˆw rü€‡wüu~è”’„´~`• 2×~�’_~“æ~€“3¹~°�A~(‘È~ ‘P~’4ADD R2,R3  ;(X)+X INC R3 INC R3  ;(X)+X+2 CMP R3,R5  ;IS (X)+X+2=K? BEQ O.WDS3  ;BRANCH IF EQUAL BIC #177400,R0 ;WIPE OUT EXTRANEOUS BITS MOVB R0,R0 CCC ASL R0  ;MULTIPLY BY TWO INC R0 INC R0 ADD R2,R0  ;ADD PC CMP R0,R5  ;IS THE RESULT A PROPER REL. BRANCH? BR O.WDS3 ; PROCESS G - GO O.GO: TSTB O.SMFD ;WAS ";" TYPED? BEQ O.ERR1 ;BR IF NOT TYPED TSTB IPLFLG ;IS IPL INIT IN PROGRE5Ó~Ø•~P–€~È–#~@—6n~ø“ö~p”}~è”~`•7×~�’_~“æ~€“8SS? BEQ 2$ ;NO CLRB IPLFLG ;YES, CLEAR IPL BR 4$ ;RETURN TO IPL 2$: TST R3  ;WAS K; TYPED? BEQ O.ERR1  ; TYPE ? IF NOT MOVB #O.BKP+3,O.P ;CLEAR PROCEED ASR R5  ;CHECK LOW ORDER BIT BCS O.ERR1  ;ERROR IF ODD NUMBER ASL R5  ;RESTORE WORD MOV R5,O.UPC ;SET UP NEW PC 4$: MOVB #O.STM,ST  ;SET HIGH PRIORITY JSR 5,O.RSTT ;RESTORE TELETYPE O.TBIT: CLRB O.T  ;CLEAR BIS9@a~¸—$~0˜ ROSLOD IIA # ROSLOD PASS #1 END  ROSLOD PASS #2 BEGIN ERROR # P **** ROSLOD LOAD MAP **** **** †~¨˜LOAD ELEMENT [LODTMP] **** / / : C********** ELEMENT TITLE: [] SECTION ENTRY OFFSET SIZE TOTAL}~ ™<> :Œ~Ø•~P–›~È–#~@—;n~ø“ö~p”}~è”~`•< #O.TBT,O.UST ; BOTH T-BIT FLAGS TSTB O.S  ;SEE IF WE NEED A T BIT BNE O.GO2  ;IF NOT GO NOW BIC #O.TBT,O.UST ;SET TH T BIT O.GO1: JSR 5,O.RSB  ;RESTORE BREAKPOINTS O.GO2: JSR 0,O.RSR  ;RESTORE REGISTERS MOV O.UST,-(SP) ; AND STATUS MOV O.UPC,-(SP) ; AND PC NOP   ; CHANGE TO HALT FOR DEBUGGING MOV O.UST,-(SP) ; MOV IN STATUS FIRST W/O T BIT BIC #O.TBT,(SP) ; SO INTERRUPTS CAN HAPPEN BEFORE MOV (SP)+,ST ; RTT TURNS ON THE T BIT. O.RTIT=  "********** UNRESOLVED REFERENCES ¸~˜™ ¯ `'~šŒK~ˆš_~›>ª~¸—2~0˜¹~¨˜A~ ™?Œ~Ø•~P–›~È–#~@—@: RTI   ; CHANGED TO RTT WHEN RUNNING ON /45 ; PROCESS P - PROCEED ; ONLY ALLOWED AFTER A BREAKPOINT O.PROC: TSTB O.SMFD ;WAS ";" TYPED? BEQ 2$ ;BR IF NOT TYPED MOVB O.P,R0 TSTB R0  ;CHECK LEGALITY OF PROCEED BLT 2$ ;NOT LEGAL TST R2  ;CHECK FOR ILLEGAL COUNT BEQ 4$ ;LEGAL 2$: JMP O.ERR ;JUMP IF ILLEGAL 4$: TST R3  ;WAS COUNT SPECIFIED? BEQ Aæ~x›n~ð›ö~hœBÈ~˜™P~š×~ˆš_~›Cª~¸—2~0˜¹~¨˜A~ ™DO.PR1  ;NO MOV R5,O.CT(R0) ;YES, PUT AWAY COUNT O.PR1: MOVB #O.STM,ST ;FORCE HIGH PRIORITY JSR 5,O.RSTT ;RESTORE TTY O.C1: CMPB O.P,#O.BKP ;SEE IF A REAL ONE OR A FAKE BGT O.TBIT  ;BRANCH IF FAKE TSTB O.S  ;SEE IF SINGLE INSTRUCTION MODE BNE O.TBIT  ;IF SO EXIT NOW MOVB #O.STM,ST ;SET HIGH PRIORITY INCB O.T  ;SET T-BIT FLAG BIS #O.TBT,O.UST ;SET T-BIT BR O.GO2 ; BREAKPOINT HANDLER ROSODT: MOV (SP)+,O.UPC ;PRIORIE}~àœ~X�Œ~Ð�~HžFæ~x›n~ð›ö~hœGÈ~˜™P~š×~ˆš_~›HTY IS 7 UPON ENTRY MOV (SP)+,O.UST ;SAVE STATUS AND PC MOVB #O.BKP+3,O.P ;TELL ;P THAT WE CAN CONTINUE O.BK1: JSR 0,O.SVR  ;SAVE VARIOUS REGISTERS TSTB O.T  ;CHECK FOR T-BIT SET BNE O.TBIT  ;JUMP IF SET JSR 5,O.REM  ;REMOVE BREAKPOINTS TSTB O.PRI  ;CHECK IF PRIORITY BPL O.BK2  ; IS AS SAME AS USER PGM MOVB O.UST,R5 ;PICK UP USER UST IF SO BR O.BK3 O.BK2: MOVB O.PRI,R5 ;OTHERWISE PICK UP ACTUAL PRIORITY CCC   ;CLEAR CARRY RORB R5  ;SHII›~Àž#~8Ÿª~°Ÿ2~( J}~àœ~X�Œ~Ð�~HžKæ~x›n~ð›ö~hœLFT LOW ORDER BITS RORB R5  ; INTO RORB R5  ; HIGH ORDER RORB R5  ; POSITION O.BK3: BIC #O.TBT,R5 ;CLEAR POSSIBLE T BIT (S/I MODE) MOVB R5,ST  ;PUT THE STATUS AWAY WHERE IT BELONGS MOV O.UPC,R5 ;GET PC, IT POINTS TO THE TRT TSTB O.S  ;SEE IF IT WAS SINGLE INSTRUCTION FUN BMI O.B4  ;IF SO HANDLE THERE TST -(R5) MOV R5,O.UPC MOV #O.BKP,R4 ;GET A COUNTER O.B1: CMP R5,O.ADR1(R4) ;COMPARE WITH LIST BEQ O.B2  ;JUMP IF FOUND DEC R4 M¹~  A~¡È~�¡P~¢N›~Àž#~8Ÿª~°Ÿ2~( O}~àœ~X�Œ~Ð�~HžP DEC R4 BGE O.B1  ;RE-LOOP UNTIL FOUND JSR 5,O.SVTT ;SAVE TELETYPE STATUS JSR 5,O.CRLF MOV #O.BD,R4 ;ERROR, NOTHING FOUND MOV #O.BD+1,R3 JSR 5,O.TYPE ;OUTPUT "BE" FOR BAD ENTRY MOV R5,R0 ADD #2,O.UPC ;POP OVER THE ADJUSTMENT ABOVE BR O.B3  ; OR CONTINUE O.B4: MOVB #O.BKP+2,R4 ;SET BREAK POINT HIGH + 1 MOV R5,O.ADR1(R4) ;STORE NEXT PC VALUE FOR TYPE OUT BR O.B2 O.B2: MOVB R4,O.P ;ALLOW PROCEED Q×~€¢_~ø¢ ú2!�€^~p£v@²~R¹~  A~¡È~�¡P~¢S›~Àž#~8Ÿª~°Ÿ2~( TDEC O.CT(R4) BGT O.C1  ;JUMP IF REPEAT MOV #1,O.CT(R4) ;RESET COUNT TO 1 JSR 5,O.SVTT ;SAVE TELETYPE STATUS, R4 IS SAFE MOV #'B,R0 JSR 5,O.FTYP ;TYPE "B" MOVB O.P,R0  ;CONVERT BREAKPOINT NUMBER TO ASCII ADD #140,R0 ASR R0 JSR 5,O.FTYP MOV #';,R0 JSR 5,O.FTYP ; TYPE MOV #2,O.BW  ; SET WORD MODE MOVB O.P,R4 MOV O.ADR1(R4),R0 ;GET ADDRESS OF BREAK O.B3: JSR 5,O.RORA ; CHECK FORMAT JMP O.DCD  ;GO TO DECODER Uè£OBJECT LOAD Ÿ~`¤ SYMBOLICASM SYM FOR SYM DATA JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECFREE READ WRITE DELETED .~ؤHFILE ID START FILE LOGICAL FILE CKSAVE PROTECT CORE DIR. IFD > SECTOR TYPE DEVICE LENGTHñ~P¥ 0=NONE Y/N Y/N I************************************************************************V×~€¢_~ø¢ç~p£n~W¹~  A~¡È~�¡P~¢X ; SAVE REGISTERS R0-R6 ; INTERNAL STACK O.SVR: MOV (SP)+,O.XXX ;PICK REGISTER FROM STACK AND SAVE MOV SP,O.USP ;SAVE USER STACK ADDRESS MOV #O.USP,SP ;SET TO INTERNAL STACK MOV R5,-(SP) ;SAVE MOV R4,-(SP) ; REGISTERS MOV R3,-(SP) ;1 MOV R2,-(SP) ; THRU MOV R1,-(SP) ; 5 MOV O.XXX,-(SP) ;PUT SAVED REGISTER ON STACK TST -(SP) RTS R0 ; RESTORE REGISTERS R0-R6 O.RSR: TST (SP)+  ;POP THE EXTRA CELL MOV (SP)+,O.XXX ;GET R0 FROM STACKY  FXXXXX B~È¥ XXXXXX XXX XXX XXXXXX XXXXXX X X XXXX  > ELEMENT CREATED<~@¦ START I NAME TYPE STATUS DATE TIME SECTOR LENGTH H .NAME. OBJECT È~¸¦FREE 02-JAN-72 23:17:59 005466 000100 -DISC ERROR-BATCH FILE ELEMENT DIRECTORY READ DISC DIRECTORY R\~0§EAD ERROR 7ýˆ.ˆ7 ý€ 9· öü7 ðü÷ ÂÀèüDÁJ´BœÂE€ÿ·�8üwDü7 JüædZè£ö~`¤}~ؤ~P¥[×~€¢_~ø¢ç~p£n~\ MOV (SP)+,R1 ;RESTORE MOV (SP)+,R2 ; REGISTERS MOV (SP)+,R3 ; 1 MOV (SP)+,R4 ; THRU MOV (SP)+,R5 ; 5 MOV O.USP,SP ;RESTORE USER STACK MOV O.XXX,-(SP) ;PUT R0 ON USER STACK RTS R0 ; RESTORE BREAKPOINTS 0-7 O.RSB: MOV #O.BKP,R4 ;RESTORE ALL BREAKPOINTS O.RS1: MOV @O.ADR1(R4),O.UIN(R4) ;SAVE CONTENTS MOV O.TRTC,@O.ADR1(R4) ;REPLACE WITH TRAP DEC R4 DEC R4 BGE O.RS1  ;RE-LOOP UNTIL DONE RTS R5  ; THEN QUIT ]ˆ÷% *ü÷ $ü(„Ãxƒ`Ê À¨ü3„œÄE€ÿ ~¨§-Âe ƒ ñ· üß÷ÿÿ†üwÞ÷ ~üÁe W"È÷ püðˆ÷Üôü÷ øöœŽÁÅEàÿw‘´ûÅ  DÝŠ¯„ 7¶ûwnÿ÷•Nêý÷•Nìý÷• íý÷• èý÷• r~ ¨ãý÷• Þý…ĆÀ÷ È…ÄŽ÷ ¸…œ!€f&æ¦f&€·œìû÷E€ÿæûÁ÷ lÄÆÀ÷ †÷•Y~ý€�‚ƒ„…ÅE€ÿÄ“À÷ ¡~˜¨d…œ€÷•YNýÅE€ÿÄ›À÷ H…Ħ÷ 8…Ä®÷ ,÷~ü÷ wÎþ戈÷ dû÷ Xû�÷ (÷ \‡À„ d‘ÌÅøÌÕ0… ÅE€~©… … À ô‡÷8*û÷È®û÷ ²ÿ÷š¤û÷ ¨ÿ÷æšû÷ žÿ÷^Œ~È¥~@¦›~¸¦#~0§_è£ö~`¤}~ؤ~P¥` ; SAVE TELETYPE STATUS O.SVTT: MOVB O.RCSR,O.CSR1 ;SAVE R C/SR MOVB O.TCSR,O.CSR2 ;SAVE T C/SR CLRB O.RCSR  ;CLEAR ENABLE AND MAINTENANCE CLRB O.TCSR  ; BITS IN BOTH C/SR O.SVT1: TSTB O.TCSR  ;LOOP UNTIL READY BIT COMES ON BPL O.SVT1  ;BR IF BIT NOT ON RTS R5 ; RESTORE TELETYPE STATUS O.RSTT: JSR 5,O.CRLF TSTB O.TCSR  ;WAIT READY BPL .-4  ; ON PRINTER BIT #4000,O.RCSR ;CHECK BUSY FLAG BEQ O.RSE1  ;SKIP READY LOOP IF NOT BUSY Ta(�û÷ ”ÿ÷v†û÷ Šÿ‡÷8ðú÷Ètû÷ xÿ÷Îjû÷ nÿ÷`û÷ dÿ÷(Vû÷ Zÿ÷vLû'~ˆ©÷ Pÿ‡fæ ˆÓ�¶úÓ�³ú‡÷ °ÿ÷ ú÷•öù7 úædˆ÷ îù„÷ øùÂe—  · èù÷%âùêˆ÷ªìú÷ ðþˆÊ ÷æf¦'ˆ�œÁE¾~ª€ÿÁ Á A`w üÑ wšüÑ w”üÑ wŽü�œ€ � Á Á A`wf|üÑ wfvüÑ wfpüÑ wfjü�œ Ã÷ .ÿ�œ CÁ Á`wœ?VüÑ‹wœ?Oü>~xªÑ‹wœ?Hü�œ Ê÷ ÿ�œÃŽ÷ öþ�œÃ‘÷ êþ�œÃ”÷ Þþ… Äž÷ >þ…Ĩ÷ 2þ÷^ú÷ þwôþ Ã*þ3 ¶„ Ãe ù ‡À z~ðªÅœ%¶ÅE€ÿq¡ñÃe ¶‡bª~¨§2~ ¨¹~˜¨A~©cŒ~È¥~@¦›~¸¦#~0§dSTB O.RCSR  ;WAIT READY BPL .-4  ; ON READER O.RSE1: MOVB O.CSR1,O.RCSR ;RESTORE MOVB O.CSR2,O.TCSR ; THE STATUS REGISTERS RTS R5 ; REMOVE BREAKPOINTS 0-7 ; IN THE OPPOSITE ORDER OF SETTING O.REM: TSTB O.S  ;SEE IF SINGLE INSTRUCTION IS GOING BNE O.R2  ;EXIT IF SO CLR R4  ;REMOVE ALL BREAKPOINTS O.R1: MOV O.UIN(R4),@O.ADR1(R4) ;CLEAR BREAKPOINT INC R4 INC R4 CMP R4,#O.BKP BLE O.R1  ;RE-LOOP UNTIL DONE O.R2: RTS R5  ;THEN QUIT e‰~h«J2Î~à«°D~X¬v@,,,Ä ,ˆ,,Š@�fÈ~ˆ©P~ª×~xª_~ðªgª~¨§2~ ¨¹~˜¨A~©h ; TYPE OUT CONTENTS OF WORD OR BYTE WITH ONE TRAILING SPACE ; WORD IS IN R0 O.CADV: MOV #6,R3  ;# OF DIGITS MOV #-2,R4  ;# OF BITS FIRST-3 CMP #1,O.BW  ;SEE IF WORD MODE BNE O.SPC  ;BRANCH IF SO SUB #3,R3  ;ONLY DO 3 DIGITS INC R4  ;DO 2 BITS FIRST SWAB R0  ;AND TURN R0 AROUND O.SPC: MOV R0,-(SP) ;SAVE R0 O.V0: ADD #3,R4  ;COMPUTE THE NUMBER OF BITS TO DO CLR R0 O.V1: ROL (SP)  ;GET A BIT ROL R0  ;STORE IT AWAY i~Ь*ROS DISC SYSTEM INITIALIZEm~H­D .ˆÀìÿ Âÿ pÁp,Á°ÁlxÀelxòßÁðÀßÁÁæÔÀ>ˆß%ÔÀüÀ†´  ¶üæ|Á>ˆß%|ÁüÀ€ÿ0 Àeû BН"�ÂEQ~À­ÿð— wœŠ¯¼þ· ¸þ� w�¢þ7 ¸þæx/ˆ÷%�þü· ¦þ÷% Œþó� _ ˆ¯Á Û� øæ ˆˆ~8®Pd2?ºöújç~h«n~à«ö~X¬}kÈ~ˆ©P~ª×~xª_~ðªl DEC R4  ;DECREMENT COUNTER BGT O.V1  ;LOOP IF MORE BITS NEEDED ADD #'0,R0  ;CONVERT TO ASCII JSR R5,O.FTYP ;TYPE IT DEC R3  ;SEE IF MORE DIGITS TO DO BGT O.V0  ;LOOP IF SO MOVB #' ,R0  ;SET UP FOR TRAILING SPACE TST (SP)+  ;GET RID OF JUNK BR O.FTYP ; ;O.CLRR  CLEAR RELOCATION REGS ;  I.E., SET THEM TO A HIGH MEM LOC. (-1) ;  R1,R0 CLOBBERED ; O.CLRR: MOV #O.RELT,R1 MOV #-1,R0 MOV R0,(R1)+ MOV R0,(R1)+ MOV R0,(R1)+ MOV Rm³~°®ˆ¿¯      ÀI’æ Ö    ÷•V÷úZ÷CZæè ˆ÷ ¦~(¯Fÿ÷BB÷2Šæè ˆ÷ .×-(öÿ÷•÷lhæèˆ÷ ÿˆTHIS IS TSTBUG C1 TYPE YOUR NAME AŽ~ ¯ND IT WILL BE PRINTED ON THE LP! ~°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿn~Ь~H­Œ~À­~8®oç~h«n~à«ö~X¬}p0,(R1)+ MOV R0,(R1)+ MOV R0,(R1)+ MOV R0,(R1)+ MOV R0,(R1) RTS R5 ; .EOT   ;END OF TAPE #3 ; TYPE ONLY ONE CHARACTER (CONTAINED IN R0) O.FTYP: TSTB O.TCSR BPL .-4 MOVB R0,O.TDB O.TYP1: RTS R5 ; GENERAL CHARACTER INPUT ROUTINE -- ODT11X ; CHARACTER INPUT GOES TO R0 O.GET: TSTB O.RCSR  ;WAIT FOR BPL .-4  ; INPUT FROM KBD MOVB O.RDB,R0 ;GET CHARACTER - STRIP OFF PARITY BIC #177600,R0 ;STRIP OFF PARITY FROM CHARq7Ú ÆŽæº =ˆƒÂ—÷ H À{~�°0œ–5~Â°× @®Ê@®× dòd× èòè× ò× ò× ò × ò × ò× d÷d$ÿ¦~±× ÷•6 Ä�Úw V 7Šà 7ŠÝ ÷•ÿÿÙ wÞà B÷‹Ñ ? „ &DCƒcà ÷¬ w " w ª „·Š± w Ö   %  7Š� Ć „ ‚ ¦&0~€±w ˆ „‚À•\w Š wlw   �Ä úfw \ ÷•J €w Z 7ŠY w~wrw v ÄW  Ä%iû‚ÀEøÿÄ ÄeŽ‚ w~ÄåP÷À ÁŒ÷ ¼ À=Ó~ø±w  ·Š À� w  À� w À�ú w  À w úw   r›~°®#~(¯ª~ ¯2~°s~Ь~H­Œ~À­~8®tACTER CMPB #3,R0 ;IS IT ^C? BEQ O.GET1 ;IF SO, DO NOT ECHO TSTB O.SCRN ;SHOULD WE ECHO ? BNE O.GET2 ;BR IF YES CMPB R0,#012  ;SEE IF A BEQ O.GET1  ;IF SO SAVE THE PAPER O.GET2: JSR 5,O.FTYP ;ECHO CHARACTER BEQ O.GET  ;IGNORE NULLS TSTB O.SCRN  ;SHOULD WE PASS ON SPACES? BNE O.GET1  ;BR IF YES CMPB #40,R0  ;CHECK FOR SPACES BEQ O.GET  ;IGNORE SPACES O.GET1: RTS R5 ; GENERAL CHARACTER OUTPUT ROUTINE - ODT11X ; ADDRESS OF FIRu 7�Þ w  7�× w þ7ŠÑ 7�Ì À|ÁŒ÷ Ī Âw7б   wþw (‚b‚ ‚ ¡~p²·„ ww ‚øw �A�Á � � B`ï÷ D ÷%Z ÂV …Ö w†÷‹] û 7ŠL w|÷•ÿÿB wr·Š@  ÄEøÿÄ ô °€wR7°Ê wt~è²÷‹  ÄEøÿÄ Ã t°Pà õôÿÿ°Iw ìÖ×-Ü ÄÂ% w Z ÿÿÀ=w äÀ¾ Á¶ 7l Ä í°À=w ÆÀZ Àe0w ºê~`³À,w ²Â%ÀŒ @w Lq÷‹� ĨüÂkÀ=÷b w ‚@w &wŠüw’·Š w®À=w d w Ä ÿÿÀ0 w øGÀe0w DÀù~س,w <æ ÷v¹~�°A~±È~€±P~ø±w›~°®#~(¯ª~ ¯2~°xST BYTE IN R4, ; ADDRESS OF LAST BYTE IN R3, (R3)>(R4) O.TYPE: CMP R3,R4  ;CHECK FOR COMPLETION BLO O.TYP1  ; EXIT WHEN DONE MOVB (R4)+,R0 ;GET A CHARACTER JSR 5,O.FTYP ;TYPE ONE CHARACTER BR O.TYPE  ;LOOP UNTIL DONE ; ;CHECKS FOR ^U. IF PRESENT, ECHOS IT ;GOES TO COMMAND DECODER. STACK GETS INITIALIZED O.CU: CMPB O.RDB,#225 ;IS ^U IN TTY BUFFER BNE O.CU1  ;BR TO RETURN IF NOT MOVB #'^,R0  ;ELSE TYPE IT JSR R5,O.FTYP MOVB #'U,R0 JSR R5,O.FTYPy À w Ô· 3À ÷úþ7ì°ø€ â÷æ÷‹÷ ÀüÄüÃüw ž÷ÈðÀ?w âÀ w Ú7 ²w ¬7Š¿7Šºû~P´7Š\ 7Š­    w ÔÀ%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 :� W Іø÷‹  ÷‹lÄm 7Š Á y.hv€Ô>zäæà:F®úÒ~È´öLÆø*hú&Ѝ.h²þv ƒ·Š7г÷úD ÷ð 7ì7æ÷%ÞÄÚ„ î‡ÀÒÀŸÌw ”÷%ÀˆÀ•=w ÚŽ~@µÀŸ´w ÒÀ• w Êwôþ÷ ‚wÜþwÐþ·Šž÷ Žù÷ l÷ �÷‚~7Š„÷mtt÷ppw tæd÷^À\w l·RÖ%À/w h¯À\tzØ~p²_~è²ç~`³n~س{¹~�°A~±È~€±P~ø±| MOV #O.UR0,SP ;INT STACK JMP O.DCD O.CU1: RTS 5 ; ;SUBROUTINE TO LOCATE RELOCATION REGISTER NEAREST BUT STILL ;BELOW THE ADDRESS IN O.CAD. RETURNS WITH THE REGISTER ;NUMBER IN R0, AND WITH THE DISTANCE BETWEEN THE REGISTER ;AND (O.CAD) IN O.XXY ;IF NO GOOD RELOC. REG. FOUND, R0 WILL = -1 O.LOC: CLR R0 MOV #-1,O.XXX  ;INITIALIZE RELOC. REG. INDEX MOV #177777,O.XXY ;INITIALIZE DISTANCE TO A HIGH VALUE O.LOC4: CMP R0,#O.RLR ;ARE WE DONE CO}~¸µú÷ 8Ô÷ ÷í..ÜÀÎÄ Ã … L‡Å ÄeÀ  !ÎB†Ô ù!Î=‚L® !6‚4À4 Ò¤ ÀÎ!ž‚4Àôä4 ÒÔ ô÷%~0¶ÂÀ w Üà Åí²Å Å @w t@€ ‡À%€ÿ À%÷ �w Z· ˆwÖýwºý�  à ù÷pšùÄ”ùD · ’ù¼‚€Á &C@AƒEPAù~¨¶&f¦æw L€w PÀ/w V€w úƒ‚�„Ò Ý çƒ`ƒ ƒ Å áÀEÿ�¯À € € €` ×÷‹ ¹à ·÷•ý… ²‡Å wùw ê7Šê÷Uz~ ·üø÷‹Þ÷‹Ù÷Eêøw T76æÞøæØø÷‹Á“À�·À‹� �à pÒw ž×­ŸÖ÷‹”Ó·Š�÷U¢øÝ÷‹~ö~P´}~È´~@µŒØ~p²_~è²ç~`³n~س€MPARING? BHI O.LOC1  ;BRANCH IF DONE CMP O.RELT(R0),O.CAD ;IS CURR. RELOC. BIAS > (O.CAD)? BHI O.LOC2  ;IF SO, BRANCH -- DON'T SUBTRACT, GET NEXT MOV O.CAD,R1 ;OTHERWISE TAKE THE DIFFERENCE SUB O.RELT(R0),R1 ; OF CURR. RELOC. REG. AND O.CAD CMP O.XXY,R1 ;IS THE RESULT THE SMALLEST SO FAR? BHI O.LOC3  ;BRANCH IF YES (UNSIGNED CONDITIONAL) O.LOC2: TST (R0)+  ;OTHERWISE, BUMP R0 FOR NEXT RELOC. REG. BR O.LOC4  ;LOOP BACK FOR NEXT COMPARISON O.LOC1: MOV O.XX�‰w¨ü÷�œø`÷@jÄŒø¬~˜·Ä5óÅ„ø!ï‚÷•< ÷ ,÷ ò•*Âe ÁEðÿ� WpB`÷ äÂe!‚ÀEðÿõÀD÷ Ë!݃wBü÷‹w0ü×= øú÷-øøö‡‘~¸·Šñ7Šì÷�øÐ÷HÚ÷•<"÷ö÷ì÷÷ð÷ÊwÞþ·Þ÷·Ü÷÷•¿7÷‹¶wÂþw J÷‹Â÷€ Å�º÷¯ŒŒŒŒwÑŠGŤ÷÷‹ˆ�÷‹ƒ@å wD~ˆ¸’÷Ät!ÀÄ Ä úw dÄ,Ã-w Ì@÷ej÷$Ä•tÀ7‘Gô ÒwšþôÒÀBw BÀ�+Àe`€ w 4À;w ,÷Ä�Àw Ï~¹w4û÷ ÔÃô÷ ¨ÂeÅ÷À wÄ €Ò•KÒ•SÒ•U~‚  wÄe0‚~¸µ~0¶›~¨¶#~ ·ƒö~P´}~È´~@µŒ„X,R0 ;PUT REG.# IN R0 RTS 5  ;JOB OVER, RETURN O.LOC3: MOV R1,O.XXY ;REMEMBER SMALLEST DIFFERENCE IN O.XXY ASR R0  ;AND ASSOCIATED REGISTER NUMBER MOV R0,O.XXX ; IN O.XXX ASL R0  ;RESTORE R0 TO ORIGINAL VALUE BR O.LOC2  ;GO FO NEXT COMPARISON. ; ; ;SET A SEGMENT OF MEMORY TO A GIVIEN VALUE. (ENTERED VIA R5) ;FIRST WORD OR BYTE ADDRESS IS IN R4, =TO R3 AT EXIT ;LAST WORD OR BYTE ADDRESS IS IN R3 ;BYTE OR WORD VALUE IS IN R0 ;BYTE OR WORD M…‘‚  w wÄe0‘‚  wÄe0‘‚ À wÄeø~x¹0‘~Ò ÄŽ÷ .Âe!šøƒÀT÷ P ÷-^‚ö÷röTwhýw„úwxúÀ`â�ÊÅøÊÕ0ƒ ÃE€ƒ ƒ ~‡ÀðÂÊâ• — ƒû‚‡×­þ®~ð¹)÷• ×­N< ·ŠFælˆ÷ äÎe‡÷•. D ÷œÎælˆ÷~Â÷ ºèä÷è´ò÷• ¶æl ˆÜ·¤·¾õÆšf&æ¦0~hºfæŽæ €Ö ·„�‚ƒ„…Æ”õær€Ä4Àäü´ÀÄ Ä ÷…÷‹\ ÷‹W  <äÀ„ „ !ø…ÃÄþÿ÷%$Ãå„ À&Äe®~ຠN @ Ä üÀe0w &à óÀ• Ö Á°À†ª~˜·2~¸¹~ˆ¸A~¹‡~¸µ~0¶›~¨¶#~ ·ˆODE IS SPECIFIED BY O.BW ; O.ST: O.ST2: CMP #1,O.BW  ;IF NOT BYTE MODE, ASSUME WORD BEQ O.ST1  ;BRANCH IF BYTE MODE MOV R0,(R4)+ ;DEPOSIT WORD VALUE, BUMP R4 BY 2 O.ST3: CMP R4,R3  ;ARE WE DONE? BLOS O.ST2  ;BRANCH IF NOT DONE RTS 5  ;OTHERWISE EXIT O.ST1: MOVB R0,(R4)  ;DEPOSIT BYTE VALUE INC R4  ;BUMP R4 BY 1 BR O.ST3  ;GO TO TEST IF DONE ; CLOSE WORD OR BYTE AND EXIT, ; UPON ENTERING, R2 HAS NUMERIC FLAG, R4 HAS CONTENTS O.CLSE: TST R2  ‰ÿÿ …÷�,Î÷Ø7�Øæl ˆ÷ Àÿ…÷�°÷ ºæl ˆÀ¦ ÷ÿÏ~X»À¤À• À�š÷‹£À¥ â…Ä Þ‡•w šÿú ÷ÿÿr÷ÿÿn  ‚7,°\‚ÁVì°Á-T‚Ð ðÀH…wD€ 7<À ô÷%,!d~лùƒ… �„ ú ÷%‚? ?‘‡Ã9Ä6w vÿ…À w ÿ…÷%ôw ¬þ…÷Ú’7�7Ðw VÿÀ Àe0w âþÀ,w Úþæ²÷ì~H¼¬À°w rþ· ÷XœÀT…ÀN÷HŒÓÄýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂp ‡Ø~À¼€âƒ ûË× ŠÈ~x¹P~ð¹Ø~hº_~຋ª~˜·2~¸¹~ˆ¸A~¹Œ;IF NO NUMBER WAS TYPED THERE IS BEQ O.CLS1  ;NO CHANGE TO THE OPEN CELL CMP #1,O.BW BEQ O.CLS2  ;JUMP IF BYTE MODE BHI O.CLS1  ;JUMP IF ALREADY CLOSED O.CLS4: MOV R4,@O.CAD ;STORE WORD O.CLS3: BR O.CLS1 O.CLS2: MOVB R4,@O.CAD ;STORE BYTE O.CLS1: RTS PC O.CRLF: MOV #O.CR+1,R3 ;LWA BR O.CRS O.CRLS: MOV #O.CR+2,R3 ;LWA * O.CRS: MOV #O.CR,R4 ;FWA JSR 5,O.TYPE ;TYPE SOMETHING RTS R5 ;SUBROUTINE O.RORA ;FUNCTI�Ãe ÃeÃe Ãe Ñ�Ò … è€Ð ‡@( DEBUG H PC CP R L T NZVC Q~8½R0 R1 R2 R3 R4 R5 SP @ LOCN CONTENTS BEí~°½*;/\ $G._<^,OWEBP@>SRC-FI!XADTSPMDTCFRB~3j(¾©À$Žç~X»n~лö~H¼}~À¼�È~x¹P~ð¹Ø~hº_~àº�ON: DECIDE IF AN ADDRESS IS ;TO BE PRINTED IN ABSOLUTE OR IN RELATIVE ;FORM. IF THE FLAG O.FORM=0 THEN PRINT ;IN RELATIVE FORM, OTHERWISE PRINT IN ;ABSOLUTE FORM. ;IF THE ADDRESS IS TO BE PRINTED IN RELATIVE ;FORM, ;THEN THE ADDRESS WILL BE PRINTED OUT ;RELATIVE TO A RELOCATION REGISTER NEAREST ;BUT STILL BELOW THE ADDRESS. IF NO SUCH ;RELOCATION REGISTER EXIST THEN THE ;ADDRESS WILL BE PRINTED IN ABSOLUTE FORM ;INPUT: THE ADDRESS TO BE PRINTED IS IN R0. ;DATA SAVED: R0 CONTAINING THE AD’~8½Œ~°½~(¾“ç~X»n~лö~H¼}~À¼”DRESS TO BE ;PRINTED, AND LOCATION O.CAD CONTAINING ;THE CURRENT ADDRESS WERE SAVED AND RESTORED. ;CALLED: JSR 5,O.RORA O.RORA: CMP #0,O.FORM ;CHECK FORMAT BEQ O.NOTA  ; GO TO O.NOTA IF RELATIVE O.ABS: JSR 5,O.CADV ;PRINT ABSOLUTE ADDRESS RTS R5 O.NOTA: MOV O.CAD,O.TMP1 ;SAVE O.CAD MOV R0,O.TMP2 ;SAVE R0 MOV R0,O.CAD ;PREPARE INPUT FOR O.LOC JSR 5,O.LOC  ; FIND BEST N TST R0 ;IF = -1, PRINT IN ABS. BLT O.ABS1 ADD #60,R0  ; CONVERT N TO ANSCII •õ~è}~`~Øw ,æ׿××þÿ& „u6 7!„üp‚Ÿô‹* ô¥*kô‹›göÿÿÄ †„ — [ô•*ß�þÿ��� W  Á• !ƒ~PQ†¦÷ *ú‚r�ŸÊ BÁ Á Ä f:÷ 6ú†1†:„ ô•–›~ ¾#~¿ª~�¿2~À—~8½Œ~°½~(¾˜JSR 5,O.FTYP ; TYPE N MOV #',,R0  ; PREPARE INPUT FOR O.FTYP JSR 5,O.FTYP ; TYPE COMMA MOV O.BW,-(SP) ; SAVE O.BW MOV #2,O.BW  ;ARTIFICIALLY SET MODE FOR WORDS MOV O.XXY,R0 ;PREPARE INPUT FOR O.CADV JSR 5,O.CADV ;TYPE RELATIVE AMOUNT MOV (SP)+,O.BW ;RESTORE MODE MOV O.TMP1,O.CAD ; RESTORE O.CAD MOV O.TMP2,R0 ; RESTORE R0 RTS R5 O.ABS1: MOV O.TMP2,R0 ;RESTORE R0,CAD BEFORE MOV O.TMP1,O.CAD ;TYPING IN ABSOLUTE BR O.ABS ; ; MOD40 PACK - E™*4Š›2 ²7­ ”û†7� ŒûÖ ß�þÿ·@Ö·:Öw hö ¶Æe‡öþÿ ~ȶÆeæ÷ HwvŽ Ž Ž Ž Ž Ž Ž 6 ¶×æ&&f¦÷ F-€ƒ•„À Âç妶¶æ—þÿŸ÷ ôúl7 îúŸ•þÿ÷åðúÿªÕ«~@êúæ¦f�vÂÈú ¦†÷ &ù‚² 6 €6Á‹€÷U€¦ú²„×þÿŸ7 Žúò��ú7 ŠúÆ�úò„ú 7 ~úÊÁ ô•*!H~¸!‡ô•*ß�þÿæ$Õ&&÷ ¸2€·Õ�ô•*�œÁ Á Ä J81†:1†8ß�þÿ·æÔHŸ•þÿŽŽŽ‡æþÿ& ÷ øþw4—þÿŸÀöù!&÷ "~0 Rø€1Š*7 àù7 Øùš¹~€ÀA~øÀÉ~pÁP~èÁ››~ ¾#~¿ª~�¿2~ÀœNTERED WITH JSR PC, PACK00 ; ; INPUT: R0=ADR OF MOD40 WORD (1 WORD) ;  R1=ADR OF ASCII CHARACTERS (3 CHARS) ; ; OUTPUT: R1 POINTS ONE PAST END OF ASCII STRINT ;  THE MOD40 WORD IS FORMED AS ;  N=C1*40^2+C2*40+C3 ; ; R2,R3,R4 ARE CLOBBERED PACK00: PACK01: MOV #-3,R4  ;LOOP CT. CLR R2  ;0 SUM PACK05: MOVB (R1)+,R3  ;GET NEXT ASCII CHAR. CMPB #' ,R3 BEQ PACK02  ;"BLANK" CMPB #'$,R3 BEQ PACK04  ;"$" CMPB R3,#'A BLO PACK03  ;"." OR "0-9" �7 Úù7 Øù0 ÆØùW  ‡ñ‹› ±Š*·�–ßf÷ /wâñŠ*ûw ”€P7 þùM‚æ—þÿŸœ*Á yž !!!!!² !Ì ~¨ Æ !!!Ì Ÿ“þÿ&÷ ªŸÖ . 7^ù) ‡ð‹›ð•ýÿ*ð•*Ÿ“þÿ&&÷ š2€Ÿð•*�Z!W"Âåø1f÷ Ÿ•)~ !þÿw öއccc,! IS ECHOED O.Iµ~ø*(1Š%@ %w%âÉ7ÚÉ5%õÒÉ%4 �¡ ñ• %=‘¦$f¸$æýÕ@¢$÷ ŽëÖ J@%w%–É7ŽÉõ%õ†É%3 1Š%#~p+1Š%ñ•%DŸ¤$ÄAË5@Ä =‘ $f¶$æÒñ• %ñ• %ý•¦$fº$æðÄÃ�Bù³Š%ÅÅ AŸ¦$7Š2ùóŠ%w0ó‹þ$@ %w%É@%P~è+w%üÈð÷°ø÷®ø7 ¬øœÄ ô5@.w8. ò5€.|ò5.xô5 .„èôU .=Š¢$=Š $�œ.p�w`ø÷ ÖB—tÂe%Å Í~`,Å Å @Àe%Åe%Ä÷ ø:JÒ  Ä ÷Ÿ•þÿ÷ Þñ‹þ$3ñœþ$þ$ñœÿ$ÿ$ñœ%% EÅ µ % %µ%%µ%%µ¶~(ÍŒ~ Í~Λ~�ηç~HËn~ÀËö~8Ì}~°Ì¸D: .BYTE 012 .BYTE 015 .BYTE 177 .ASCII /ODT-11R V004A/ O.IDND=.-1 .EVEN O.BD: .WORD "BE O.BIAS: .WORD 0 ;CURRENT RELOCATION BIAS O.MINS: .BYTE 0 ;MINUS SIGN TYPED (SWITCH)   ;0=NO MINUS TYPED; 1=MINUS SIGN TYPED .EVEN O.TMP1: .WORD 0 ;SAVE CELL O.TMP2: .WORD 0 ;SAVE CELL O.CR: .BYTE 015 ; .BYTE 012 ; .BYTE '* ; * O.LGCH: .BYTE '; ; .BYTE '/ ; / .BYTE '\ ; \  (BACK SLASH) .BYTE 015 ; CARRIAGE RETURN .¹%%µ%%µ%%µ%!~Ø,%µ%%Ÿ•þÿæ÷ îýƒó•ÿÿþ$3Šÿ$3Š% Ÿ•þÿõ}�¦$f¸$æ÷ ÂéÖ 3Š%‡ó‹%ñ³Š%÷ ì×-z÷æ¨$÷ ‡Á�¸÷EÅ =Š $±Š %7Ѝ÷m~P-@%w%�Çðý•^¦$ñ•%‡¦öþÿŸ‡f&Á�z÷Á � ±Š %„�‡æ w z�¶ À  & D” Ä¥+ Ä¥-Ä¥ À óŽ ‚~È-À D”Äå0�¡ ‚Wq ‡a ‡À òÖ  ¶vw "‡â ‚ ów Üèæ& æ & ÷ ÊïÖ w|é @€€@)~@.ö �¶Ö y€À &†÷ 4ê€ð5¶º#~Ϫ~€Ï2~øÏ»~(ÍŒ~ Í~Λ~�μBYTE '$ ; $ .BYTE 'G ; G .BYTE O.NEXT ; CHAR TO BE USED TO OPEN NEXT LOCN .BYTE '_ ; _ (BACK ARROW) .BYTE '< ; < .BYTE '^ ; ^ (UP ARROW) .BYTE ', ; , .BYTE 'O ; O .BYTE 'W ; W .BYTE 'E ; E .BYTE 'B ; B .BYTE 'P ; P .BYTE '@ ; @ .BYTE '> ; > .BYTE 'S ; S .BYTE 'R ; R .BYTE 'C ; C .BYTE '- ; - .BYTE 'F ; F .BYTE 'I ; I .BYTE '! ; ! .BYTE 'X ; X .BYTE 'A ; A .BYT½Ö ‡æþÿßU0þÿ· �ëŸÃ ÿÁ€ÿæfæfæfæfæfæf~¸.æfæfF Ÿ�"þÿÃeÁ€ÿÑÑÑÑÑÑÑÑÁ ÿÑÑÑÑÑÑÑÑŸñ¥*ñ‹*ÁEàæ¡ f¡ f† æÀŽ�$�*fÑ~0/7æê7œæê Á æ÷ ÜêÆe† À�ÿÁ°ÿ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¶ŽzÐâ Ö0ž/ž/) ERROR~~¨/ XXXXX XXXXXX XXXXXX XXXXXX XXXXXX ¨/´/»/Â/É/ÿÿ·øÿŽw &æüÄæúĦÅâÿ w ææÄæäÄ…æþÿf÷ ºè„ŸÍ æp~ 0hÿ÷ „è7^ÿÃìéõ³Š›· œÿ Ÿ•þÿ·¤Ä·¾º~pÐA~èÐÉ~`ÑP~ØÑ¿#~Ϫ~€Ï2~øÏÀE 003 ;CTRL C O.CLGT = .-O.LGCH  ;TABLE LENGTH O.TL: .BYTE 'S ;DO  1 .BYTE 'P ;NOT  2 .BYTE 'M ;CHANGE  3 .BYTE 0 ;THE  4 .BYTE 0 ;ORDER  5 .BYTE 'C ; 6 .BYTE 'F ;  7 .BYTE 'R ;  10 .BYTE 0 ; 11 .BYTE 0 ; 12 .BYTE 0 ; 13 .BYTE 0 ; 14 .BYTE 0 ;  15 .BYTE 0 ;  16 .BYTE 0 ;  17 .BYTE 'B ; 20 O.LG = .-O.TL .EVEN O.TRTC: TRT   ;TRÁžÄw ÌŽ‡� ô7 |ÿæ(ÿ÷ è…=wÿ ÷ˆ/ÿ¡7 ÿ¡7 ÿŸ“þÿÄÌ/f&÷ ¦C÷ V~˜0Ì ú÷• ÿÅå ŸÍAñŠ›Ÿþÿf÷ 2#Ÿ•þÿæŒ/÷ ^ô÷ ÿ¸‡· þþæþÿŸ½÷ÿÿòþŸ•þÿ‡À‚ â�ÊÅøÊÕ0ƒ ÃE€ƒ ƒ À ô‡è~1&æ¦f&MÖ €�‚ƒ„…'èd w Öÿ„…À,1Ä �Õ•+Á•  â€d Á0B`•�È ôÄe0 ‘¶ w ¢ÿ–%‡Õ•- äÒ‹”~ˆ1å÷ Œè0&¦Ÿæ„è÷ 俀ÂÀô°°° ðU€ðU€ðU€ ·ÄÍ·¾Í·¸ÍÂàô°,°.°0·ÈÍ·ÂÍ·¼Í˜‚€‡¦&æîŸæÎ~2è÷ ~æ€÷xÍðÂØ~PÒ_~ÈÒç~@Ón~¸Óú~pÐA~èÐÉ~`ÑP~ØÑÄACE TRAP PROTOTYPE ;THE ORDER OF THE FOLLOWING ENTRIES IS CRITICAL . = OLDODT-144 ;ODT'S STACK IMMEDIATELY PRECEDES ODT O.UR0: 0 ;USER R0 0 ; R1 0 ; R2 0 ; R3 0 ; R4 0 ; R5 O.USP: 0 ;USER SP O.UPC: 0 ;USER PC O.UST: 0 ;USER ST O.PRI: 7 ;ODT PRIORITY O.MSK: 0 ;MASK O.LOW: 0 ;LOW LIMIT O.HI: 0 ;HIGH LIMIT O.CNST: 0 ;CONSTANT REGISTER O.FORM: 0 ; FORMAT REGISTER  ; IF $F=0 RELATIVE ADDRESSING  ; ABSOLUÅ÷ÒÂŒÍðÌÂ*˜Àå@6·¼Â€‡Ž � � ‘ ’ 4262ÿÿÿb2q~x2@�*ä~ð2j�k�o�z~h3æÆö~0Ô}~¨Ô~ ÕŒ~˜ÕÇØ~PÒ_~ÈÒç~@Ón~¸ÓTE OTHERWISE ;RELOCATION REGISTERS O.RELT: -1,-1,-1,-1,-1,-1,-1,-1 ;INITIALLY SET TO A HIGH ADDR. ; BREAK POINT LISTS, ADR1 = ADDRESS OF BREAKPOINT,CT = COUNT, ; UIN = CONTENTS O.ADR1:  . = .+O.BKP+4 O.CT:  . = .+O.BKP+4 O.UIN:  . = .+O.BKP+4 . = O.TRTC+2 .END OLDODT ;END OF TAPE #4 É~à3n~X4õ~Ð4Ú2ÀêÂêÄêÆêÈê(5È;‰~H5d‡85ÿÿ&À@&À€& æz¿æx¿f¦æ&f�¶ærÊŸÉ xŸ•þÿ1�ÀDœ7!Ê~Ö›~ˆÖ#~ת~x×Ëö~0Ô}~¨Ô~ ÕŒ~˜Õ( ~2°Ÿ~ª8Ÿ~#Àž~›ÞÍvøk‚Ä .ÅÅŠeÅ€ Bœ`— ~À5]€ BœYµ 42V€ Dw¿N€ÃE€× /H€ ­‡B‚W¬>1 4 @À N2æèÉŸµ \2†µ�\2  ƒ`f÷ ¢â„æ÷ tâ�~86  —-ŒGÃÔãñ ³Š›° P25Š]2ŸþÿP5ñäþ ñÈ; fæÖþ÷ ZàÖ wtwxw€wÌL2Ó$Áýf÷ æá�pR2Dw>¾0†~°6T2ð4¾V2ð0¾X2ô ãK�Â*þ2 °4+Âe úÅ B5À  Àå �ƒ ûÀe 1Ðò Àƒlt`2… ôô<ôÕ@ -w’w�ú~(7ƒœµ4ÃE€ÿñ ÎÂe°4÷ @À ñ�— ÂåôÕ€ úÀE€À À `Î2~ð׺~hØA~àØÏ~Ö›~ˆÖ#~ת~x×Hž~Ð�~ŒX�~àœ~}8þÑ‚`ÂeÚ2Ê ãÀÕõ• ^2õ• _2Å = 5= 5¦&÷ 4რ_~ 7—v—tµZ2ÂEüÿƒPý"5‚=$5‚œ5ÂUAµPZ2CP5óvý æ"ÈŸ}Z25… õ‹]2 �Ÿ•þÿw¢ß‰ ÷  ‰ À÷ ñ¥Ÿ•þÿ…š~8„ƒ‚�·ȼ·¼€Ö ‡5ŠR5Ÿ•þÿ‡¶…„ƒ‚�·¢¼·œ¼€& ÷ ¾æwúê��wâþôµÂôÅ€�Âùñ‹ �€œÀE€ÿænÇÑ~�8Ÿ7 ¾ü[Ÿ•þÿñµ@ô‹!´€t4Àe 4ô‹ò‹€ñµÀ1 ‡´åÀ ‡ +À5%÷ z2 ‚ƒƒl…~9m €l ‚€m 44 ÀeÉÒÉ~XÙP~ÐÙØ~HÚ_~ÀÚÓ2~ð׺~hØA~àØhœ~öð›~nx›~æ4þÕÀ‡À ‡À ‡À‡À‡À$&†÷ P߀Àe&æf÷ dß„÷ âôw fWtúÿÀ5M~€9?� @�‡w TÝæþÿ…æ ÅEðÿõ‹R5Ÿ•þÿwìÝõ•]2Å CP5ó�û Ÿ•þÿAR2DT2wV2»wX2»ý5€5wVôµ@qô‹€wW¬~ø9f & ÷ ˜èÖ Â@L2DN2Cœà à Ä``… æþÿŸKÌ¡ ¡ ‰$È ‚ µ 42ùÂÿÿµ�\2B òŠ›Ÿ“þÿ¦÷ �ŸþÿW¬~p:fff ÷ Øó… @À Ÿð P2€P5ñN5 õ‹]2 �ð P2€Ÿ•þÿwìÜŸ•þÿ5ŠR5‡Ä wTýŸ•þÿwDýŸ•þÿôÅ@BœÂEÀÿƒ×p ÂBm`2Ê ‘~è:$÷ �ýÀ b@… Öç~8Ûn~°Ûö~(Ü}~ Ü×É~XÙP~ÐÙØ~HÚ_~ÀÚ›~_ˆš~ך~P˜™~È0þÙu¬\2wXýwˆûôµòw þõæÔ¹æÒ¹ff ÷ 0ó·Ĺ·¾¹w ìõàÀ?@€ ý525ý5&5ðŠ^2 ý5BZ2‚ ÂE—~`;üÿ ‚œ5wüÀ ÷ œB652rœ2r5 r&5 ¦÷ bôt5t&5ý5ôÅÀw>þ… ÷ Tõ‹]2øÅ w@þB@Å °ŠR5ð•b~Ø;ÿÿ]2AR2DT2wV2¹wX2ü¸ðŠ_2 ý5¦æJù÷ ÎÚÖ §À °1‡ÿÿEMçw Èô枸朸è~P<æþÿ�ÀÉŸÉ KŸ“þÿ€ Dœ7!¬ñF‚Ä .B�ÅÅEðW¡<Åq‘€ Bœ5— 2€ ñ¥-‡€ Dw<¸€ — A!1 ŸfÚ~ÝŒ~�Ý~Þ›~€ÞÛç~8Ûn~°Ûö~(Ü}~ Ü ™~A¨˜~¹0˜~2¸—~ª,þÝ÷ ÜÉ~È<„æLÿ÷ ØÛ7Bÿ —-ŒGÃ6Ýñ ³Š›· (ÿG‰ ·“Ã÷ FE7Šÿ·“òÂæÿ÷ pÛ�DwÌ·wüþ÷·øþ €Â ÷ôþ÷òþCœQ~@=ÃÂP·ÔþCœÂÜ2<·Òþ7Ðþ7 Ìþ7Êþ÷•C¶þ7 ºþ÷• ³þ÷¨þjÁ÷‹¨þŸ•þÿwÚW¬ Ÿ•þÿ·V··P·w ~󎇟“þÿ¶·>··8·w fó& È~¸=÷ fáw”åw Ùžæþÿ÷•TþÁLþ÷Jþ·÷ HþI�÷ þÀ �÷52þ÷-öÀ:þ�ææ÷5þ6  ·åþ·eþwXÿ÷-ÊÀþù€éwÄ÷-þþ›~0>ã÷ÿÿîý÷ìýàý÷èý Àæäý÷ „Úƒ —v—t÷E0Àý·P¼ýÂÆýÂEüÿƒP÷vÀÒ÷ lÀQ� ÷•bÀW¬f#~øÞt¶ q>·§²@q¸Æ¦)ÅÅeJ Îxÿ ‡ Î N Í ÃŠüÍ ÷ <Âå·~pßÂ%!÷ ,„cÍ À‹ëéÑ�øj‹ŠË‹þ€ÃœÀ`ÃEÿ ‡·&Í ÄÍ ÃÄPÇ÷ êÿÍ À‹â„ †ÀÄ „cL|ß÷ê÷õwZÿÁöèßÂê‰ É‹þ€rœß· îÿõpÿò�Tß~ÝŒ~�Ý~Þ›~€Þ@—~#È–~›P–~Ø•~Œ(þá & ÷ äÖ Ä<Ã<ŸKÌ¡ B~¨>¡ ÉB òŠ›·“>Á¦÷ .·“4Á1 W¬f¦÷ vïŸ÷ 8ý�wþw�þ÷ î¿‚�÷5æ¿÷à¿÷ŠýwþÀÎÁý÷ 0³÷58À¿/~ ?÷º¿÷5�²¿îè7 ýwÜþüæ4<÷ ¸ðw6þ1À�¿‡Õj?¯~˜?€d 3‚~@ 3!A B¦D®D¶DR@â¹~  A~¡È~�¡P~¢#~øÞÀ߯¦)ÅÅeJ Îxÿ ‡ Î N Í ÃŠüÍ ÷ <ÂåÄ~pßÂ%!÷ ,„cÍ À‹ëéÑ�øÃj‹ŠË‹þ€ÃœÀ`ÃEÿ ‡·&Í ÄÍ ÃÄPÇ÷ êÿÍ À‹â„ †ÀÄ „cL¾ß÷ê÷õwZÿÁÿèßÂê‰ É‹þ€rœß· îÿõhÿú�T`•~è”~}p”~öø“~n$þåR@@è~ˆ@w ,ð w $ðÀ w ðÀw ðª~AÀ�f÷ Â×…1�æþÿÀŸÉ FŸ“þÿ€ ñ%?†ñ%ô;€ ÷ — 5‚€ ƒœ@ÃEàÿñ� à ó .*�€ —-ŒG%Ã´Ø³Š›ñŸæàý÷ L~xA0×^wÖý· ¢þŸ•þÿw �ïöþÿ& ÷ ŠÝæT#æþÿŸ÷ vþŸ•þÿ‡w¬· fþŸ“þÿæ–ý÷ ÂÖ�wtþ÷³pþ÷ „Ÿ· |ó òÕ€@Ÿ“þÿ@œÀ x@À`~ðA$&†÷ °Ö€Ð &æÅLý÷ HìwLÀwæ×~€¢_~ø¢ç~p£n~ç - ;NO ERRORS ; ; PROGRAMMER - 66 ; ; DATE - 11/3/72 ; ; REVISION - 0 ; ; ; CORDRC: ;ENTRY MOV (SP),-(SP) ;PUSH RETURN INTO STACK CLR 2(SP) ;INDICATE NO ERROR. TST R3 ;READ HEADER YET? BNE 15$ ;YES STPHDR MPL,LOGNUM,0,0 ;SET PRE-HANDLER LIST FOR READ STHAND MPHLST,EXIT2,MTBUF1,MPHRED,MPHDSZ,0 ;SET€“~æ“~_�’~× þéfÀw^ñ‹€ ÷ tñ÷öý7ôý@÷ ¤÷^Bþ÷•ýý7Šþ÷äýþæ@@÷ ó¥÷ þ÷ ÿ –~hBÎýÖ÷ æ@ }òµ@@` ƒˆ?„t?á o‚7˜ý2`t?‚ æX?÷j?Äü7 ¾ü÷ ´ò÷ÎB’ý÷•�ý÷•—ý÷tý˜ýæ@@÷ ”ò‡÷ Ž÷ š÷ |ÃZý÷ „~àB8÷êB\ý‡÷ r÷ ~÷ `ñ‹ €Ã(ý÷ æ@÷ Tòñý1ŠòÅ€@@&& ÷ vßÎþÿŸw"ü ÷T?ü¡7 ü¡7 üÉðŠ›Ÿ“þÿ&÷ 0~XCšŸ÷ Æü7 ¶üw>þwHþ‚ 7 Àü7ºüÀÖü÷ ÷´ü÷¤C¸ü÷•µü7Š¿ü7 Âüæ@@÷ Æñ‡÷ ¸÷ ÄÃ`@÷xzü÷ œ÷`rüË ÅœÅE€ÿ… Àr~ÐC`üZó-êè£ö~`¤}~ؤ~P¥ë HANDLER LIST FOR READ. MOV #MPL,-(SP) ;PRE-HANDLER LIST ADDRESS JSR PC,MTIO ;ISSUE READ INC R3 ;INDICATE RECORD READ. TST MPL+MPLERR ;ANY ERRORS? BEQ 15$ ;NO ; ; 5$: ;ERROR DETECTED. CMP #MPLMTE,MPL+MPLERR ;FATAL? BEQ 10$ ;YES CMP #MPLTIM,MPL+MPLERR ;NO. TIME-OUT? BEQ 10$ ;YES ’~P ‘~È(‘~A°�~¹þí\ü÷Rü÷Hü÷rü@üÃe ÷ <üä· bü÷-^ü:üÌ÷ ,ü ƒˆ?„t?áÀü À1 wjþ‚ ÷ ü8÷PDü÷• ü÷•ü÷èûüæ6~HD@@÷ ñ‡÷ ÷ ÃÒû÷ÊûómÎûóíÈû÷vDÐû‡÷ æ÷ òñ²û w$þ3 ¯7¢û÷˜û÷Âû�ûÅÀwØ÷0E€û÷NExû÷VEpû@²~ÀD÷ ÷êDzû÷•wû÷•û÷\û€ûæ@@÷ |ðŸ•þÿ‡÷ r÷ ~ÃBûË Hÿ .ûó‹ €@÷ ”ÿ ûæ@÷ Hð÷ E&û‡÷ <÷ H÷ *wâý œÂE�~8E€ÿòµ@@ól3 ‡óÕ€‡óÅ€‡‰ Ÿ•þÿ1�w °ëއ÷ Ôú‡Ö À1�÷ ÐwŒýÀ 1�÷šE¬ú‡÷ Âñ Ã*þÀ €îŒ~È¥~@¦›~¸¦#~0§ï DEBUG 1 ;NO. BR 15$ ; ; ; 10$: ;FATAL ERROR DEC 2(SP) ;FLAG ERROR FATAL RTS PC ;RETURN ; ; 15$: ;NO READ ERRORS CMPB MTBUF1+MTHTPN,R1 ;TAPE # MATCH? BEQ 25$ ;YES MOVB MTBUF1+MTHTPN,MS04TN ;TAPE # TO MSG BISB #60,MS04TN ;CONVERT TO ASCII MOV #4,-(SP) ;TAPE-#'8�~2À�~ªH�~#ÐŽ~›þñÄE€Œ~°EWq Ca 3 °4„ Ãe ù‡À Åœµ4ÅE€ÿq¡ òÃe°4‡¦À 7 Lú —r ·@ú×p Ãe`@÷6úCœ ÷�8úà ÷œ.@ú· <ú‚‡Kó úsœ e~(F³�ñ‹€óÕ€s òµ@@óàùól‡BœÂE€ÿ‡ÁØù÷Öù€®‡wNwT÷ žÓûö5À÷¦f&F ‚ÂU€ß ÿèô�’~ Fa €Õå ;âÁpÓÁEàÿ¼\HÛœ˜H7œÔHªÿÀ 7äG ÿz@WtüÿÀEðÿÁEðÿÂå·†ÿÀ ’~€��‚��·,ÓÆhÿæfÿ¦ææ�`ÿœþÿþÿ‚“>~G\ÂE€ÿ‚aƒœ×tüÿÃEñÿß ÿêôƒÃEà×túÿß`êôÊEÀÿÊU Ö‹€‚ƒœ ×tüÿÃEñÿò ÿƒ ÃEà×túÿò`òª~¨§2~ ¨¹~˜¨A~©óS-DON'T-MATCH MSG. 20$: ; JSR PC,MTTYOT ;ISSUE MSG INC 2(SP) ;FLAG ERROR DATA RTS PC ;RETURN ; ; 25$: ;TAPE # OK. CMP MTBUF1+MTHJDT,JDATE ;DATES MATCH? BEQ 30$ ;YES ;JDATE WRONG CNVBA1 MTBUF1+MTHJDT,MS05JD,3 ;CONVERT TO ASCII & PUT IN MSG. MOV #5,-(SP) ;JDATES-DON'T-MATCH MSXŽ~à�~Œh�~ðŒ~}þõŸìôƒ ÃEÀÿÃUÀòƒ‚Þ ŸÆŽ~�GšÒ&&7Ôþ7ÎþÁ 0C~ÀeÀEà&À¶þÁ´þßU0þÿ† Ö €�‚.¸Ö ØæBÒ¦÷ |Ñ^à ž" f!x ÔÒ,%¾%D<61�-|~Hü/h5ÒXTQ\Rà@è@ò@Œ1`5ÖGô1`6²A²~€H!0033 ˆˆˆˆˆˆ a~øHˆˆöÈ~ˆ©P~ª×~xª_~ðª÷G BR 20$ ;TYPE IT & RETURN IN ERROR MODE. 30$: ;DATE & TAPE # OK MOV R1,R2 MTSLOG LOGNUM ;SET R1 TO BASE OF LOG TABLE TST (SP)+ MOV JDATE,MTLJDT(R1) ;SET JDATE MOVB R2,MTLTPN(R1) ; & TAPE #. RTS PC ;RETURN ; ; END CORDRC ; .PAGE .SBTTL COMONT ; ;* * * ; ; ; PROGRAM NAME - COMONT CORE ONLY MOUNT ; ; xŒ~õŒ~nˆ‹~æ‹~_þùÿÿë~pIÿÿV¨I¨IâI¨I ÿÿA~èIVJJ>JJ ÿÿS~`JÿÿÿÿÛ~ØJúç~h«n~à«ö~X¬}û ; PURPOSE - TO MONITER AND CONTROL THE MOUNTING AND ; CONTROLLING OF THE LOAD TAPE AND ITS ; POSITIONING IN PREPARATION FOR MERGING. ; ; ; CALLING SEQUENCE - ; - ; MOV #MPLAUD,LOGNUM ;SET LOAD TAPE AS FUNCTION. ; JSR PC,COMONT ; ; TST (SP)+ ;ERRORS? ; ; ; ; ; ; PROGRAMMER - 66 ; ; DATE - 11/3/72 ; ; REVISION - 0 ; ; CO˜Š~× Š~P¨‰~È þýÿÿÿÿc~PKÿÿÿÿINI¨IJBJ€J¾JüJ:K’~ÈKxKÿÿÿÿÿÿÿÿÿÿ8N ÿÿÞ~@L€¶Ž¦6 öþÿÁ ƒ÷ è ð‹/�wRB´Kw…… wÂe÷ŸÊ Ÿ�þÿëæ÷¾÷€¼÷ ºŠ3~¸L²þ~Ь~H­Œ~À­~8®ÿMONT: ;ENTRY MOV (SP),-(SP) ;PUSH RETURN INTO STACK CLR 2(SP) ;INDICATE NO ERROR STPHDR MPL,LOGNUM,0,ASSIGN ;ASSIGN LOAD MOV #2,MPL+MPLARG ; TO PHYSICAL 2 MOV #MPL,-(SP) ;PRE-HANDLER LIST ADDR JSR PC,MTIO ;ISSUE ASSIGN TST MPL+MPLERR ;ERROR? BEQ COMA10 ;NO DEBUG 1 ;YES COMA10: 0‰~A¸ˆ~¹@ˆ~2ȇ~ªþ²°ŠÉKÅÅ þ÷ žp�÷‹˜€wŠÃŒ÷†÷„÷ œÊÕÄŠ„ ÄmØþÅÅ þ÷ fT�Ÿ“þÿð‹/�E´K5ôÿÅâK&÷ ^Ë„Tþ€Äå:™~0M̃Cì´Kô�4�ôHU ô• Ãe0ôÃe ôôˆ§…Å tH04Š3Äe&Ê‹€÷ Öç÷ àçô �ñ• *Ÿ•þÿ‡ö ¶ (~¨M�1Š*Ö óÁe8f÷ \ �D„ À w*B´KæŸ2¬ÉKþÿ+ð‹ÉK €ò ôÿ ÷~÷U€|÷ z²ŠÿÿÄ…÷ d„ôÿBÁ Ä w²þÊ•Ÿ“<~ Nþÿ&÷ \Ê„wÿB®Ÿ�þÿ…… wbÿ—¢ÂeõŸ—¢îʲ²w(ÿð‹/‘€Ÿ“þÿÄ  ‹ô‹/€Å A´K E… E’›~°®#~(¯ª~ ¯2~° ; MOV #11,-(SP) ;MOUNT MSG JSR PC,MTTYOT ;TYPE IT MOV #15,-(SP) ;RESPOND OK MSG JSR PC,MTTYOT ;TYPE IT JSR PC,MTTYIN ;READ RESPONSE CMP #"OK,INTYBF+4 ;OK? BEQ 10$ ;YES MOV #2,-(SP) ;NO. FORMAT-ERROR MSG JSR PC,MTTYOT ;TYPE IT BR COMA10 ;TRY AGAIN ; ; 10$: ; STPHDRP‡~#؆~›`†~è…~ŒþW¡~˜NÁeõÄ é… CÝm EÜÅ f†÷ ~…EÀÿÅ éÅp¡×KåŸÊ‹w¶þE’ÈW¡ÅEõ‹›ô÷ ¼Ÿ“þÿf÷ fÒÖ ó /Ÿõ•*ñ r~OµŠ*Ÿ“þÿ³Äÿ3�Ãÿó•óÿó•ËÿóPTÌÿÄÄeðÿ3Ôÿ3Úÿóe Úÿ󠥨ÿÃeÈÿæ÷ æó  w.þ ŠÃeÀÿÄÁ wÂýA÷ `w&�Žæ—þÿ÷ �~ˆOLŸ1Š*Á 1 †ð‹/^€7ÀÿÈ÷Æ÷ ø ðŠÉK þ÷ °K�Ÿ“þÿÀÁð‹ÉK�B´Kð‹/ €ƒƒ à ÃE€ÿÂeõ‚øÿÊ‹€ Ñ  ­~P äw�ýŸƒÙÃE€ÿÕŸƒ’Òƒ÷ 4÷B÷€@÷ >Ãà þ÷ 0 �÷‹*€Ÿ“þÿð‹/Î�Ôw†ü¹~�°A~±È~€±P~ø± MPL,LOGNUM,0,0 ;PRE-HANDLER LIST FOR OPEN STHAND MPHLST,EXIT2,MTBUF1,MPHOPN,0,0 ;HANDLER LIST FOR OPEN MOV #MPL,-(SP) ;PRE-HANDLER LIST ADDR JSR PC,MTIO ;ISSUE OPEN TST MPL+MPLERR ;ERROR? BEQ 20$ ;NO DEBUG 1 ;YES 20$: ; BITB #MPHRDY,MPHLST+MPHSTA ;ON LINE? BNE 25$ ;YES MOV #14,-(SP) ;NO. NOT-ON-LIp…~ø„~}€„~õ„~nþ Á B´K÷ (�„ôÿ‚øÿ—¢ôÊÕ ~xP&÷ È„Ÿ“þÿÁ w¦üò%äÿ¦Îeäÿ÷ 4ÆÖ ò‹ÿÿ¯¦ôÿ÷ ÖÇ·¸ ÷U¶ ÷ è 2Šÿÿ2 ôÿwêþæ—þÿÁLÉ÷ 4 ð‹ÉK3ƒ’à 0À ´K€ Ÿ$~ðP÷ ˜÷ rfƒøÿ×¢Ã׬*÷ x÷ Rð�CƒàÅeÀÿõ�‚øÿ� w´ý÷ PÞÁÚÈ÷ �´ ñ•*wDü÷ ÈÈ5×-¾È1æþÿæ’~hQ€Ÿ×¬È÷ žÍÁöÿñ•*ŠþÿæT#& & ÷ Fð‹/�÷ <ŸÊ•ñ•*Á À À 8p†:p†8Ö ·•:®‡…CÀÿÀð‹/€ <~àQÁ B´K �� ÁE€ÿÂeö€ êÎ AÆ çÍ•A Ø~p²_~è²ç~`³n~س NE MSG 22$: JSR PC,MTTYOT ;TYPE IT. BR COMA10 ;TRY AGAIN 25$: ; BITB #MPHWTR,MPHLST+MPHSTA ;WRITE RING INSTALLED? BNE 30$ ;NO MOV #12,-(SP) ;YES. WRITE-RING MSG BR 22$ ;TRY AGAIN 30$: ; BITB #MPHLDP,MPHLST+MPHSTA ;AT BOT? BNE 35$ ;YES MOV #13,-(SP) ;NOT-AT-BOT MSG �ƒ~æƒ~_ ‚~×(‚~Püý w²Ÿ�ÁE€ÿ�AœmÁEÿC Ãð ×K Ö A÷ dŸ“þÿŸ�þÿ¾Ÿ�+~XRþÿÍ÷ ÀÇw ªÞÁ²ÇW  æþÿŸ÷ \Ê•Ÿ•þÿw –Þ‡�Žæþÿæ÷ <² —¢Ê•ð‹/€wÿÀ ´KÃeäÿ3 ææþ÷ ÄÖ ñ•:~ÐR*Ö w¾úÊ•ð‹/èô�6 æþÿ@œ ÷ þ € ÷ ôüð‹/Ä´KÄeäÿŸô ¶ Úô•ÿÿ Ÿ“þÿ&÷  ÃÖ Á ŸD†Êå2 � 1~HSñ•*à &÷ .Å æ:÷ $Å3:·—¢… � C÷ â& fæ€ðŠÉKw"ù2 ¥�Žæþÿ@œ ÷ Z € ÷ PüŸ„Ÿ“þÿðÄE€ÿ!Ì~ÀSÊ•wÐùð‹/�Ê•Á D†&ö~P´}~È´~@µŒBR 22$ ;TYPE IT & TRY AGAIN ; ; ON-LINE, AT BOT & NO WRITE RING ; 35$: ; STPHDR MPL,LOGNUM,0,0 ;SET PRE-HANDLER FOR SPACE TO DISK IMAGE. STHAND MPHLST,EXIT2,MTBUF1,MPHSPC,0,CORRCS+1 ;HANDLER LIST FOR SPACE CLR R4 ;FLAG FOR ONE EOF. COMA12: ; MOV #MPL,-(SP) ;PRE-HANDLER LIST ADDRESS JSR PC,MTIO ;ISSUE SPACE. TST MPL+MPLERR°�~È8�~AÀ€~¹øý÷ Z„w¬ûð‹/ì€ ðŠÉKèw Ýæî æì €æ œ* �Ö ·Ú ·Ô w ÝŽ‡&W þÿöð•*÷ Tÿ$~8T€°•*æ÷ 6ûâ6 ðæþÿÁe8f÷ ¾�DÁ ÷ vŸ—¢bô ÐÿÊåò ÊeŸ“þÿÄÿ�ÃÿÁ ÄeÀÿw’øüEÄÿ4�Ãÿð‹/�ý~°TÀ ´K€ f&Ÿ÷ Ê÷ ¤Ÿ�þÿ…øÿµ-ò„�C…àt‘ÂÿÂò #À À Ÿ &÷ ÖÄ&:÷ €Ã0:Ê•ñ•*Á 1†Ÿ“þÿ� ÄBPWE,O<^._$G\ ;/*BE S NTTE0z~ÂON C N OC L@ SP 5 R R4 3 R R2 1 R R0 VCNZT L R P C C PH UGEB D¸y~©(@‡Ð €è… Ò Ñ� Ãe ÃeÃe Ãe× Ëûƒ €â‡  hÂýÿŇ�ä„ Â`‚e  ¦   Ãå ÃåÃå Ãå@y~èý!ØW3 ÐW3 ÒWÂ@WsÔW3 ÖW÷ Î÷ ª÷ ÒM÷  3 ÀWæxX÷ Ö M³ ÖWó%ý~@[ÖW÷ X÷ z÷ ¢MæŒX÷ `ñwèþæ¤X÷ N÷ V3 ÖWÄxX&ôŒ[æd÷ |Ö MC fÁÂWÂØWæÄW÷ â¼€ìô÷ Ö …ÄÜW0~¸[Å÷ ³ ÖW×,ÖW´æd÷ 2Ö ‡ðÖ …wfþæ&ff& ÀÎXÅÒWAaÁes!ÔWB3 ÚW DÔ! ! 3 ÎX³ ÚW Ä% !3 ÎX Ï~0\÷ ^Ä• Îå÷ R … s!ÔWßÀ5Е sÒWÀìÎX„ Ö …�€Ö ‡3 ÎX³ ÚWÄ ÷ êÎ5øÝÅ êÄÕ¶ 6 & „`“3 ÐXŽ ~¨\Ö ‡ð¥ ‡ð¥ùÄ"~8½Œ~°½~(¾ÀÚ~_HÚ~ØÐÙ~PXÙ~Éåý‡A×  $Ã¥ Ã¥C” ýÿÄÓŒH÷NÀ…TÀœX÷ ·rþw °À¬÷²æÚþw ,Àâþw 0ÀeÀ Vÿw Ð7�7’Ú÷…¬þw $ôÈx~¢÷%…ÿw À…vÿw .Ä1Ç?‘ ?‚÷%  ú„ �…ùƒ!,÷%ôÀ <7€ Dw…HÀðÐ ‚TÁ-°ìVÁ‚\°Px~7, ‚ nÿÿ÷rÿÿ÷ úšÿw •Þ‡Ä …â À¥£÷‹šÀ� À•¤Àÿ÷ ¦À ˆdæº ÷°÷�…ÿÀ÷ ˆdæØ7�Ø÷Øw~TÎ,÷�… ÿÿÀ°Á Ö À•óà &w 0ÀeüÄ @ N Äe&À„ Ãå$÷%þÿÄÃ…ø!„ „ Àäý%‡ß@ê‡Äê& Ä5 Ä5Ä5Ö ‡– ‡Ö ‡ó ŠX 3ÜW  ê÷ Ôúß ê êßÞWêßÈê¸~ ]ÄxXôŒ[&æd÷ ÐÖ ‡fÄÎXÅBÀåÄÄ Ä Ä Äev]0ð0ŠÈ&÷ ¾Ç…ÀÎX‡ÃwÅÀÎX@aAa… !B@ÁÂW…¢~˜]ÂØWw¬ü ê‡f  ÅCqBa…à ‡„fÅdXæþÿŸõ 5 Ÿþÿf÷ NÇ…Ž¤‡Ÿþÿ…Ž´‡1 ‡· Žú‡7 ˆú‡æþÿŸþ%\~^ f…µ� …ŸþÿŽ6 ‡Ÿþÿw ¸öeþ*^6 ‡÷Eð„÷U0~÷Eÿ|÷UvR~ˆ^&›~ ¾#~¿ª~�¿2~ÀàØ~AhØ~ºð×~2áýä< W÷‹ `w~&\÷‹…÷Ä Ä À´üäÀ4Ä€ræœõÆ…„ƒ‚�„·Ö €æ Žæf¦æ&fšÆÆõ·¤·Ü ˆdæ¶ ÷•ò´à÷ä¼v÷ëÀ÷ èv~ÔˆdæÎ”÷ D .÷•‡Îeä÷ ˆdæF·Š ÷•<T×­)V‰þ÷­Fö÷� Pö÷�D ‡û‚{— â•ÂÂðÀ‡ ~ƒ ƒ €pv~ûÃEƒ 0ÊÕøÊÅâ�`À”úw¨úw€ýwhŽö÷žör÷- P÷ TÀøƒš!Âe.÷ ŽÄÒ ~‘0Äew À‚ ‘0Äew ‚ ‘0Äeøu~Øw w ‚ ‘0Äew ‚ ~UÒ•SÒ•KÒ•€Ä w À"÷ÅÂe¨÷ ÃÔ÷ àý)÷Eðj÷UPd÷Eÿb÷U„\ ÷EðP÷U@J÷EÿH÷U„Bw PÒÀ¦ÿ7  ÿ7МÿŠÀ   DH^ € „  ‚ Â5øqH^Ñ W !îÄ5y~_ îƒ ÷ ^ÿêƒÂíVÿ‚ ÂÂÝNÿ·Nÿ÷E€Jÿ„  ƒ Ã5úqH^w äч÷U€.ÿù„h„h„h�h�¼~x_�T.lFIk¸lÀjÀjÀjÀjÀjÀjÀjÀjÀj ÷8 ¢ÿ÷B 0 æ·”ÿ÷•ÿÿ’ 7ŠŒ wà÷ ‚ÿw â7޲~ð_ÆZ_ÄujÃ…jw À 7xw w XÄ�ZÿŒŒŒ7‘âŸ7ŠJ ÷•ÿÿF ÷àâŸ÷´fÚŸ×!6`÷0wæÆ ÿ& ÷ ÿæàŸæÚŸ*¹~€ÀA~øÀÉ~pÁP~èÁx×~ª×~#ˆÖ~›Ö~ÝýXûw w À#Ä�÷@w ;ÀHw € `Àe€u~Æ?À�Vw BÀÒô®þwÒô [7‘ÀtÄ•$†÷÷e@àw %Ã$Äxw úÄ Ä Àt!Ä®÷wå @—÷‹�œ÷‹À÷ÅæŠwÑŒŒŒŒ¯Ö÷u~Å� €Þ÷÷‹^w ÚþwÊ÷‹7Ó÷•ø÷·ú÷·öþwÞ ø÷øø÷6<÷•îH÷ä*ø÷�7Š·Šö‡2ø6ø÷-ú<ø×=Lüw%÷‹füwçƒ!Õ�t~U÷ DÀõøÿÀE‚!Âeä÷ Âeî÷ ÷  <÷•ï‚!ŒøÅóÄ5”øÄj@÷`¤ø÷�°üw‰÷‹ßªø÷U�·ŠÕ”÷‹ØŸ×­Òpt~‡à � ‘À‹³À�•½÷‹Üøæâøæ27Pw îø÷EÜý-÷•@Ÿà D÷‹ A~h` „ &DCƒcà ÷è w @w Ü„·Šê w þ  '  7ŠÖ Ä „ ‚ ¦&w Ä„‚À•\w ÄwXw Èw �Ä øfw Š÷•‚ €w Ü~à`’7ŠŽ wtwhw šÄ¯j  Ä%¿jû‚ÀEøÿÄ ÄeZ_‚ whÄå¨j÷ÀD Áqj÷ ôÀ=w T·ŠD À�= w HÀ�6 w @À�/ w 8À w 0w 8  }~Xa7� w *7� w "7Š 7� ÀdjÁqj÷ XÄâÂwð7Šæ  wèw (‚b‚ ‚ ·¼wúw ‚øw �A�Á � � B`ï÷ €÷%’º~ÐaŽ…Ö w|÷‹’û 7Š‚wr÷•ÿÿxwh·Šu ÄEøÿÄ 7x_~wh÷‹^ ÄEøÿ.Ø~`Â_~ØÂç~PÃn~ÈØÕ~Œ Õ~¨Ô~}0Ô~öÙý& ±Œ:¯”(€¯”ô÷ó. €ø¯”ÊX„@±«@²«@ž.ô«@œH(@W €(x8©hd®«hŒ¯«hd°«hèW €(d|÷æ.!P d22 (W €¼"&´ÊX„W €  úø d….dˆ¿¯      ÀI’æ Ö  �.Š  ÷•V÷úZ÷CZæè ˆ÷ Fÿ÷B úè(Bm.°B÷2Šæè ˆ÷ .×-(öÿ÷•÷k èú.Ölhæèˆ÷ ÿˆ  èþ.üTHIS IS TSTBUG O2 TYPE YOUR NAME ANDR'" IT WILL BE PRINTED ON THE LP!  B¦ B­ó. €÷¯”ÊX„@±«@²«@Ÿ.ô«@œH(@W €(x8©hd®«hŒ¯«hd°«hèW €(d|÷æ. P d23 (W €¼"&´ÊX„W €  úø d….dˆ¿¯      ÀI’æ Ö  �.Š  ÷•V÷úZ÷CZæè ˆ÷ Fÿ÷B úè(Bm.°B÷2Šæè ˆ÷ .×-(öÿ÷•÷k èú.Ölhæèˆ÷ ÿˆ  èþ.üTHIS IS TSTBUG O1 TYPE YOUR NAME ANDS'" IT WILL BE PRINTED ON THE LP!  B¦ B­ó.ÊX„¯”8©@®«@¯«@U.°«@±«@²«@³«@´«@«.µ«@ô«@œ@(XÊX„h~(~Œ÷~h.~7Ú ÆæB=ˆƒÂ ÷ H À0œ ½ ~ÂU B " $½ ç.¤8× Ê× ò× ò× f.8®«®«¯«¯«°«$°«æ,Êò× ò× ò × !*±« ±«²«²«³«"³«%,îò × ò× ÷$ÿ× Ó*´« ´«µ«µ«8©"8©.÷•6 Ä Ã" w V 7Šà 7ŠÝ ÷•ÿÿÙ wÇô«@œ ô«@œ " _.8Þà B÷‹Ñ ? „ &DCƒcà ÷¬ w " w %.^ª „·Š± w Ö   %  7Š� Ć „ ‚ ü.„¦&w ˆ „‚À•\w Š wlw   �Ä úf^.ªw \ ÷•J €w Z 7ŠY w~wrw v Äß  b &ß Þ.Ð Ä%ñ û‚ÀEøÿÄ Äe‚ w~ÄåØ ÷À Á˜ñ  Ø ¯.ö ÷ ¼ À=w  ·Š À� w  À� w À�ú t  Ë.w  À w úw    7�Þ w  7�× w þ±.B7ŠÑ 7�Ì À Á ÷ Ī Âw7б  Ô  ™.h wþw (‚b‚ ‚ ·„ ww ‚øw �.ŽA�Á � � B`ï÷ D ÷%Z ÂV …Ö w†÷‹ÿ.´] û 7ŠL w|÷•ÿÿB wr·Š@  ÄEøÿ¯.ÚÄ ô 8€wR78Ê wt÷‹  ÄEøÿÄ é88a.à t8Pà õôÿÿ8Iw ìÖ×-Ü Ä– 88Y.&Â% w Z ÿÿÀ=w äÀ¾ Á¶ 7T.Ll Ä í8À=w ÆÀZ Àe0w ºÀ,w ²Â%¼  8®.rÀŒ @w Lq÷‹� ĨüÂkÀ=÷H.˜b w ‚@w &wŠüw’·Š w®À=w d5.¾ w Ä ÿÿÀ0 w øGÀe0w DÀ,w .ä<æ ÷ À w Ô· 3À ÷úþ7ìæ. 8ø€ â÷æ÷‹÷ ÀüÄüÃüw ž° 8´.0÷ÈðÀ?w âÀ w Ú7 ²w ¬7Š¿7Š—.Vº7Š\ 7Š­    w ÔÀ%0 ‚À%7‡ÀEøÿ=.|Ä Ä Ä `‚ ð 1 Â � W Іø÷‹  $  .¢÷‹lÄm 7Š Á y¶ðþ\Ælnh•.¶ðþ\ Æ"$l&n(hQÈÂÎ6‚~ÔN€ˆ²G.ÂÎ6 ‚ ~ÔN€ˆ²t.Üð‚®0¶ð:†þƒ·Š7г÷W.ð‚®  0¶ð:†þX.úD ÷ð 7ì7æ÷%ÞÄÚ„ Ë.(î‡ÀÒÀŸÌw ”÷%ÀˆÀ•=w ÚÀŸ´w -.NÒÀ• w Êwôþ÷ ‚wÜþwÐþ·Šž÷ Žù÷ à.tl÷ �÷‚~7Š„÷mtt÷ppw tæd.š÷^À\w l·RÖ%À/w h¯À\‘.Àú÷ 8Ô÷ ÷í..ÜÀVÄ Ã … L‡Å Äed Vr.æH  !VB†Ô ù!V=‚L® !ëHVVÄ. 6‚4H4 Z¤ ÀV!ž‚4Hôl4 ZðH ZVH$l(Z1.2Ô ô÷%ÂÀ w Üà Åí²Å Å @w t-.X@€ ‡À%€ÿ À%÷ �w Z· ˆwÖýwºýâ.~�  à ù÷pšùÄ”ùD · ’ù¼‚€Á .¤&C@AƒEPA&f¦æw L€w PÀ/w ‘.ÊV€w úƒ‚�„Ò Ý çƒ`ƒ ƒ Å áÀE�.ðÿ�¯À € € €` ×÷‹ ¹à ·÷•ý… ²‡›.Å wùw ê7Šê÷Uüø÷‹Þ÷‹Ù÷Eêøå.<w T76æÞøæØø÷‹Á“À�·À‹� �à Š.bpZw ž×­ŸÖ÷‹”Ó·Š�÷U¢øÝ÷‹5 ZŽ.ˆ‰w¨ü÷�œø`÷@jÄŒøÄ5óÅ„ø!ï‚ÿ.®÷•< ÷ ,÷ ò•*Âe ÁEðÿ� Wp.ÔB`÷ äÂe!‚ÀEðÿõÀD÷ Ë!݃.úwBü÷‹w0ü×= øú÷-øøö‡·Šñ7Šì. ÷�øÐ÷HÚ÷•<"÷ö÷ì÷÷ð÷ÊwÞþ·Þ÷s.F·Ü÷÷•¿7÷‹¶wÂþw J÷‹Â÷€ Å�Ì.lº÷¯ŒŒŒŒwÑþÿŤ÷÷‹ˆ�÷‹ƒ@å w’÷þ þÿß.’Ät!HÄ Ä úw dÄ´ õ w Ì@÷e§ H´ µ Ù.¸j÷$Ä•tH7‘Gô ZwšþôZÀBw ÔHZ"Z¤.ÞBÀ�+Àe`€ w 4À;w ,÷Ä�H¦ (H€. w w4û÷ ÔÃô÷ ¨ÂeÅ÷À w¶.* Ä €Ò•KÒ•SÒ•U~‚  wÄe0‘].P ‚  w wÄe0‘‚  wÄe0‘‚ À).v  wÄe0‘~Ò Ä÷ .Âe!"øƒ&"u.œ ÀT÷ P ÷-^‚ö÷röTwhýw„úwxúÀ=. `â�ÊÅøÊÕ0ƒ ÃE€ƒ ƒ ~‡ÀðÂRŽ (Rh.è â• — û‚‡×­þ)÷• ×­N< ·ŠFs  Í. æô ˆ÷ äÎe‡÷•. D ÷$ Îæ ô $$ �.4 ô ˆ÷Â÷ ºèä÷p ´ò÷• ¶æô ˆkô  p &ô .Z Ü·¤·¾õÆ"f&æ¦fæŽæ €Ö ·„œ "¾.€ �‚ƒ„…Æ”õær€Ä4Hlü´HÄ H l&H†.¦ Ä ÷…÷‹\ ÷‹W  <lH„ „ !ø…ûlH.Ì ÃÄþÿ÷%$Ãå„ À&Äe N @ Ä ".ò üÀe0w &à óÀ• Ö Á8ÀÿÿF 8œ.  …÷�,Î÷Ø7�Øæô ˆ÷ Àÿ;  ô Ï.> …÷�°÷ ºæô ˆÀ¦ ÷ÿÀ¤Ô ô Û.d À• À�š÷‹£À¥ â…Ä Þ‡•w šÿúð.Š ÷ÿÿr÷ÿÿn  ‚7,8\‚ÁVì8Á-œ8&8;.° T‚Ð ðÀH…wD€ 7<À ô÷%,®.Ö !ùƒ… �„ ú ÷%‚? ?‘‡M.ü ÃÁ ľ w vÿ…À w ÿ…÷%ôw ¬þ…,Á  ¾ B." ÷Ú’7�7Ðw VÿÀ Àe0w âþÀ,w Úþd.H æ²÷¬À°w rþ· ÷XœÀT…ÀN6.n ÷HŒÓÄýÿ C”Ã¥ Ã¥$ × A‡Ãå ©.” ÃåÃå Ãå    ¦  ‚eÂ`„ ä�‡ÅÙ.º ýÿÂø  ‡€âƒ ûË× Ãe Ãe  ø â'à Ãe Ãe Ñ�Ò … è€Ð ‡@([  Ü+ DEBUG # $ ¸.$ H PC CP R L T NZVC R0 R1 «.J R2 R3 R4 R5 SP T.p @ LOCN CONTENTS Ë+– BEý º ".º *;/\ $G._<^,OWEBP@>SRC-FI!XADTSà PMDTCFRB¤ ô èô ÆR` RŽ V… V‹ Ó.ÿÿÿÿÿ·<ÿÿÿÿÿÿÿÿÿÿÿÿ¸ó