PNDSD ROOT SET -SOURCE- 2040 15 JAN 81 22-2362 JP  20599-80011 C S 0122 DOS FORTRAN PASS 2             H0101 s SZSUZSZSBŠGNANGAHD SZDAAPNҠƠDSNGNA SAPNPNҠҠNנSNG SAP̠SԠGNA̠AADD.ƠPA- MNԠVA. SѱDB0ɠM.NDSNG SZBZ? MPSѲNϬMV S3NAYSBUMPDUN PAANDƠDSN? MPSѴYSADY MPSѱNϬNԠM. SѲDB0ɠMVŠMN SBPN SZPNBUMPNנUN MPS3 SѴDAPN SAASԠNנA+ DAA NA SŴDB0 PBѠ? MPS3YS PBPàNϬ(ҠNSԠSS? SSYS MPSŲ-NϬNϠPAMNԠҠ ADA3B+3 MPSŴ S3NA SAABUMPAϠàNG MPSŲ Ԡ00BMB SBP̠SԠPAMNԠVA.-ƠNN HKSԠƠSNGҠҠƠS SŲNA PAA MPNɠADY DB0 PBѠ? MPPYS MPSŲNϬNNUŠSAH GPNNP GPNMVSBA-PNҠADBYND(+-(N(+- .UN̠HŠSԠPANDҠUN̠HŠND BAҠNHSAS.ԠASϠHKSҠGA MBNANSƠPASDMS.G.( ((. ԠSS(NGAUNNNAMŠϠɽB SSPGϠ(BN+-ҠϠSԠPND.-MA ԠSSMDŠNPUAAY:0ɬN.0. ԠSSPNԠAԠSԠPND.PN3AԠUNAY+Ҡ- DAPNԬ PA.N+NDƠBA? MPPYS DBPN SBPN3SԠԠPN PAMN-? MPGNYS PAPS+? MPGNYS GNAND.N+ PA.N0+HҠP? MPPYS PAϠDM? MPGN3YSHKҠ(.ҬƠN PA.N+5NA̠SYMB̠? MP+YSAԠASVAAB ADAM-B Ԡ0SSASS.UNN? MPGNYSHANGŠ(ϠɽBANDN. DAPNԬɠNϬMUSԠBŠPAND ANDײ0B MPGPN GNSZPNԠBUMPBA-PN DAPNԬɠHNԠM MPGN GN3DAPNԬ PAP(? MPGN5YSKNNU MPPNϬ GNSZPNԠBUMPPN DAPԠPANƠYPŠɽB SAPNԬɠPAŠ( SZPN DAPNԬ PAP(-AS? SSYS MPGPN+NϬNNU DAPNԠGNAŠA ADAMɲƠSUB.HU DB0ɠPAAMS DA÷B SBNK+3ɠGNAŠA DA3BPD BNB SBNK+3ɠGNAŠDƠ+ MPPBɠԠPSSBA GN5SZPNԠBUMPPN MPGPN+NNU NŠHSHŠNԠPAҠMBAPNҠS NPN.ԠSSҠNDƠSԬUMPSϠNSH AHPSSNGƠS.ԠHAUNԠM. BPVS.M.ԠBUMPSPNԠϠPND. NŠNP DBPN SBPNP0PNҠϠPVS.PND DBPNԬ SZPNԠBUMPPN DAPN SAPNPSԠPNҠϠP. DAPNԬ PA.N+NDƠBA? MPNűYSNSHUPBAPSSNG SZPNԠBUMPPNҠϠPND PAPà(ƠNSԠSUBSҠ? SSYS MPNŬɠNϬUN SZPNԠBUMPPN DAPàҠNS.SUBS. SAPNԬɠPAS MPN+ NűSBSAҠGNAŠPVSPƠANY MPAPAPUP SAҠHKSƠANYDŠHASϠBŠGNADҠAN PNBAPDNGdAҠND. SԠNDN:AUMUAҠNN-MPY.ADDNA NDNSHAԠPNP0ɠN.0..NϠMUPŠ-S PD.ƠUŬDŠSGNAD SAҠNP SBSAàAUMMPY? SSN MPSAҬɠYS DAPNP0 SZASSPDNGPND? MPSAҬɠNϬ DAPƠP.UNԠP SBGAҠGNAŠP MPSAҬɠ SAàHKSAUMUA.ƠMPYԠAԠANG ADD.+HAUM-AG(AGSԠAԠMPYAUM. HSŬNMA̠.ԠDSYSNNSƠA. SAàNP SZAGAUMMPY? MPSAìɠNϬ AYSSԠAG SAAG SZSAàBUMP MPSAìɠԠAԠANGADD+ NAZŠAHPSS NɠDAA SAPN AɠSBGPNPSSSUBPSSN SAMDŠSԠMDŠNPUAAY Ԡ300AMA SAGSԠS-PAGϠ- SAAGSԠAUM.AGϠ- DBPMP SBPƠSԠP-V̠+- DAPN SAPNSԠPNҠAԠPND AZSBNŠHNԠP.ҠDM PAP(? MPPYS:NS.(ҠVA.( PAP? MPPPYSNDƠSUBP. PAM? MPMYS AND.N+ PA.N0+P? SSYSK MPPNϬҠ(ҠV-ASũ DAPNPɠSŠP ANDPMMASKPY SAPҠSAVŠUNԠPY PAPƠSAMŠPY? MPSPҠYS Ԡ300NϬSԠHGH-.MANA ADAP DBPҠADNנPY SSASS MPH̠HGH-נPS SBPƠSԠNנPY SBSAàSԠAUM SSNNMPY MP+3MPY SBSŠg!GNAŠSŠAS SAPNɠSԠASNBA DAPNP0PNҠϠ.PND SAPN3MVŠԠPNҠUP SAPN MPAԠNNUŠ.Ϡ. GŠPMSA.Ϡ.SANKNGҠHŠSԠNN 0-M.NҠHAPNҠNBA.ԠUNSH ADD.NA.UNSϠANGADD.+ƠA SUBP.UNDAԠ.NMA̠ԠAԠA.ADD.+ GŠNP SASVBSAVŠADD. PAAA? MPGŲYSANAŠUN ADA.N5- SASVBSAVŠADD DB0 SZBSSMNԽ0? MPG+YSNԠM PBPàҠNSԠSS? MPGűYS DA AND.N+B PAϠDM? MPG3YSANAŠԽNMA̠ SZGŠNϬԠAԠUNADD.+ GŲDASVBSԠAADD MPGŬɠ GűADAM3SԠPNҠAԠAAYNAM SZGŠBUMPԠҠNMA̠UN MPGŬɠ G3SZSVBBUMPADD.BAKϠ.AҠҠ( MPGŲNMA̠ SPҠPAPMPҠ+Ҡ-? SSYS MPAؠNϬGNAŠD SZGSԠMŠ? MPAؠNϬGNAŠD AԠDAPNԠYS SAPNSAVŠUNԠ.PN DAPNԬ AND.N+ PA.N0+P? MPP-YSҬADANԠPS DAPN3 SASVSAVŠԠPN SBGPNGԠNԠPAND DB0 DAPN PAPNPANDNNԠà? MPAYYS SBSAVMSAVŠMD SZAGSAUMMPY? SSNϬDϠSŠAS.S MP+3YSNԠSUBP. SBSŠGNA:SŠAS SAPNɠSŠAS.MAԠNBA DASAVMNנMD MPA+NNU AؠSBGAҠGNAŠD MPAԠNԠP AYDASV SAPN3SԠԠPN MPAZ GAҠGNASD.ƠHŠAUM.SMPYDŠS GNADҠAAD(N.N.-.PN3PNSϠH ԠMSԠM.NҠHPYƠUNԠP. GAҠNP PA.ױ0?(PY0BAԠB MPPנYSDϠP SBSAàSԠAUM MPAVNNMPYSKPAD SBBAZMPYGԠUNAYPPND SBGPGNAŠP.ҠAD(NG. AVSBBAZBUMPԠPNҬ0-UԠP.PND SBGPAPBPNDGNAŠP. MPGAҬɠ BAZHSP.ANDPNDAԠ(PN3.Ơ(PN3SPND. P+.(PN3SP.NԠSPND.PN3ԠPNN AԠPND.ԠZSHŠHDP.ANDPND.NBA UNS:APBPND BAZNP DAPN3ɠM.AԠԠPNҬPN3 SZA MP+3NN-Z SZPN3SKPZS MP- B AND.N+ PA.N0+P? MP+3YS DAPSNϬP.+ MPBA DAPN3ɠAP SBPN3ɠZϠϠP. SZPN3BUMPPND BASASVSAVŠP DAPN3 SBKSSHKҠNS.SUBS. SAPNSԠAԠ.PND NA SAPN3SԠAԠP DASVAP MPBAZɠ PנDAPN SZAGASMPY? SBSŠDϠSŠAS.UNSASM SAPNɠSԠAS.MA SAAGSԠAUM.AԠNN-MPY DAPN SBKSSGԠBAS SBAB̠SԠBASŠMAԠҠPUAAY SBKSS0Ϡ DBAB+ SBAB+MVŠBASŠN.ADD. SBKSSGԠPNNԠANDNS.ADDND SAPN SAGSԠSԠMŠAGϠNN-S DAײBPҠB SBNK+3ɠGNAŠPҠP MPGAҬɠ GPGNASDŠBYASϠPUAAY NҠHAP(+-ҠBPND GPNP SBSVSAVŠPND DB.N+3PҠMUԠ3B SBGSԠSԠMŠAGϠNN-S PASҠ? MPGϱYSP3B PASS? MPGϱ-YSPB BNB+Ҡ-ASŬPҠAD SZAGAUMMPY? ADBϠNϬSԠP3ҠADD PAMNYSHK- NBYSP(ADMPҠSUB GϱDAPϠA DBSVPNDϠB SBNK+3ɠGNAŠD MPGP KSSHKSBAҠANSԠSUBSҠAԠHŠS ADD.+BYNDHŠADD.NAHHDSNԠNAN 0.ƠSϬԠSSHŠNSԠADDNDNAB+ ҠPUAAYANDZSUԠHŠSUBS.ԠAAYS ZSUԠHŠBASŠM(PҠPNDANDUNSH ADD.PNNGϠBASŠM.ҠƠNSԠSUBSҠN AANDHŠBASŠMMAԠNB. KSSNP DB0ɠGԠM. SZB0? MP+3N NAYSBUMPPNҠANDYAGAN MPKSS+ SBSVSZSAVŠBAM. B SB0ɠ0ϠM. SASVSS NA DB0ɠGԠM PBPàNSԠSUBSҠ? NASSYSBUMPADD. MPKSNϬUN B SBSVϠϠ(BYAYƠZ DB0 SBAB+SŠSS-VAUŠNPUAAY DB0 NBADDҠƠ SBZҠZϠUԠSS MPKS+ KSDASVSSSԠAϠDVAU DBSVSZSԠBMN MPKSSɠ H̠PSSSAGH-נP-SUN. H̠DAP SBPƠSԠNנPY SBGAҠGNAŠDŠҠHGHP DAPNPɠSԠAנP DBPNP0ADDҠƠ.MSԠPND SB̠.Ϡ.PASS DAPNP SAPN3MVŠPRNҠϠNԠP. MPAԠNNUŠ.Ϡ.PASS ̠GNASDŠNA.Ϡ.PASSDNϠANDN .נP-V̠ҠϠ(NҠA.ԠSKPS0-S ANDSSAG.NҠH:A-PBPNҠ àNBAϠ.ƠנP. ̠NP ANDPM SASVASAVŠPҠV̠ƠMNGP DAADD.ϠA ̲SBGŠGԠM.ADD.Ϡ MP̬ɠAƠP.ADY SZAGAUMMPY? MP̱N BYSSԠAUMAG SBAG SBGŠGԠNԠMϠ. MP3NŠMNY SASVSAVŠPADD DA0 ANDPM SASV5SAVŠPPҠV DASVADBAKPADD SBGŠGԠNԠM MP3MNY(+Ҡ-V SASV6SAVŠ.PNDADD SBG NPAP.B-AS SASVPAPBASŬSAVŠ.PADD DBSVɠGԠ.P PBDSԠ? MP̴YS NY+-SPSSBŠN.PASHGH-נSUN SUDDNNN-MPYAUMAS SAPN3SԠPNҠҠGA DASV5AP.P.V SBGAҠGNAŠDŠҠUAD DASV6 MP̲NNUŠҠϠ̠HADDAUM ̴DASV6 SAPNSԠPNҠAԠ.PND MP̴- 3SAPN3SԠPN3ҠBAZ SBBAZGNAŠDŠҠP.VҠV-AS SBGPPUԠUԠD MP̬ɠ ̱SADUPNHNAUMSNN-MPY ̱SASVSAVŠP.ADD. DA0ɠGԠP. ANDױB DB0AҠA DASVɠSԠAMA PBNŠP? SSYSNNU MPPNϬPNDMAԬGϠNASҠ+- SBHPHKP-V̬UNSƠK DASVɠGԠP PAMN-? 0.* MPMPYS PAPS+? MPMP+ PASҠ? MPSԠYS SBSŠNϬҠϠԬDϠSŠAS SAPNɠSԠAS.MA A SAAGSԠAUMAG DAPN NASԠPNҠϠ.ƠASMA MP̲NNUŠASHMPYAUM MPDA5BPҠNGA SBPUANGA A SASVɠ0Ϡ+Ҡ- DASV SBG MP̬ɠAAԠP SASV PDAPS SBHPHKP-V̬UNSƠK DASV SBGŠGԠPϠ NPADϠASԠADDPND. SASVSAVŠP.ADD. SAPN3SԠҠBAZ ASԠAN.-PY SBGAҠGNAŠ+Ҡ-D MPMP+NNUŠPSS+AND-AԠ SԠDASVP.ADD.(P SBGŠGԠPANDϠ. NPHŠMUSԠBŠANPND SASV6SAVŠPNDADD. DB0ɠGԠPND SBSV5SAVŠPND SBKSSHKҠNSԠSSANDZϠPND B DASVɠGԠP SBSVɠϠϠP DBSV5 SBGPGNAŠMPYD DASV6PND.ADD MP̲NNUŠҠϠ HPNP ANDPMMASKUԠPY-V MANA ADASVAMPAŠHUNԠP-V MASSANASZAҠҠUA̠V̠? MP̬ɠNϬ MPHPɠYSUN 0   20599-80012 C S 0122 DOS FORTRAN PASS 2             H0101 t SD̠SAHSҠSSԠDMAԠ.NҠH BSANGADD.ԠUNSH:ADM.BADD. UMPSϠPƠNԠUND SD̠NP PBAA? MPPҬNԠUND ADBMɱ- DA ANDױB PAϠDM? SSYS MPSD+NϬNNU DAɠDMϠA PAPàƠNSԠSUBSҠ? SSYS MPSD̬ɠ ADBM3SԠPNҠϠAAYNAM MPSD+ BAPSSҠHNSNUND MSBSAҠGNAŠUNԠPƠANY DBPNP0AƠPVSPND SBSD̠GԠDMAԠ. PAP? MPPYS PAP(? MPPYS SBPA̠HKҠVҠVAS ASS MPAɠPAAM.SSNGŠVAABŬNNU SB̠.Ϡ.HP.P. SBSŠSŠAS SAPNɠASϠBA MPAɠNNUŠ̠Ϡ PPSHŠBAPSSҠƠSNUNDN ̠ϠҠPASS PPSBSAҠGNAŠUNԠPƠANY DBPNPADDҠƠ A SAɠ0Ϡ SBPA̠HKƠPAAMSSNGŠVA. ASSN SSYSSKPҠϠ̠SAN SB̠ҠϠ̠PASSP-V̽0 DBPNPADD.Ơ PPSBSD̠SAHҠSSԠDMAԠ SBSñSAVŠDMADD B SBSñɠϠϠDM DBSñBDMADD PAPN? MPPYSPSSNA PAM? MPPPYSKPSAHNGBAKҠN PPDAPNԬɠSԠMϠ.Ơ ANDױB DBPNPADD.Ơ PANŠP? MP+3YS SBPNԠNϬMVŠPNԠBAKϠ MPAZHNԠDMҠ̠Ϡ DAPNԬɠGHԠPSMNGP SB̠ҠϠ̠PASSUSDŠPANS DASVAP.V̠M SAPƠϠUNԠP.V DAPN SAPN3PNԠAԠPϠGHԠƠҠGA SZPNԠBUMP.PNDPNҠϠPND MPAԠNNUŠ̠Ϡ PADBMɱSԠBϠADDҠƠN SBSVSAVŠADD. DBɠNMA A SASVɠϠϠN SASñPSԠPAAMUNԠϠ0 SBNàSAVŠUNNMA SZAGAUMMPY? SSN MP+3YS SBSŠDϠSŠAS SAPNP0ɠASMAԠϠ.PND. DBSV SBVPSPSԠPNҠNPAAMS SBPSAƠPAAMSNG P3NB PBPNԠNDƠUNN? MPPYSNNUŠ̠Ϡ DAɠGԠNԠM Ԡ0030?(SZASS MPP3YSSKP SAVPSɠSŠPAAMNPAAMSԠNBA SZSñBUMPUN SZVPSBUMPPAMSԠPN DASñ PAPMؠMAؠNϠƠPAAMS+? MPPYS NB DA PAPà(ƠNSԠSUBSҠ? SSYS MPP3+NϬNNU P3ASAVPSɠMVŠ(N-ADD. SZVPS PAP MPP3YSNNUŠHҠPAAMS NB DAɠNԠM MPP3A PSBVPSɠSԠ.NGASԠPAAMN. (ҠNSԠSSϠSPKSS ADNP DAN ANDױBMASK PAױB MPP6MPDUNN PAױBASƠ? MPP6YSASMPDUNN DANàABDNSԠҠA̠-BY-VAU AND״0B SZA MPұ0A̠BYNAMŬASMPDNBU HUԠDƠ+N+ DBN SBPADGԠPN ADANSADDBASŠADD.ƠUNAB DA0 SASVŠSAVŠSԠDƠABSNY AND3B PASñԠNϠƠPAAMS? ASSYS0ϠA MPPNϬ SASñSԠϠNDAŠA-BY-VAU DASV AND.N0+ ASASSHԠϠYP-B SAMDŠSԠMDŠƠPAAMSNPUAAY DAPS SBKSSHKNS.SUBS SAPSSԠNנADD. Ԡ0ANA.AD SBPUAADSԠPAAM ұ0DBN DA÷B SBPUAGNAŠA̠N DASñ SZAA-BY-VAUŠ? MPP-NϬGNAŠDƠҠPAAMS ұDANàYSNSHUP ANDײ0B SAMDŠSԠMDŽMDŠƠN SAAGSԠAUMϠNN-PY DBSVADDҠƠNNAM A PBPN MPPP SAɠZϠUԠPAAMSNGN̠ NB MP- P6DA÷B DBN SBPUAGNAŠNA DA3B DBSñ NB SBPUADƠ+N+ҠDƠPAAM DAPS PPAVPS MPұADYNϠMŠPAAMS SBKSSHKNS.SUBS. NA SAPSSԠAԠADD.NGPAAM DAױ0B MPP- APNSHSUPBAPSSNGANDDSHŠNA SŠNASŠƠAPAMNԠSAMN APDBPN AP-V̽ SB̠ANUPSԠƠBAN.Ϡ. DAP̠ADD.ƠPAM.VAҠMA SZP̠PAMNԠ? SSYS MPPBɠNϬ SAP̠SAVŠA DA0ɠADVA.MA SBVDƠSԠVAҠDNDƠSMP DAP̠SԠA SBKSSHKNS@ԠSS DA6BP6ҠS SBPUADϠS MPPBɠ PUANP SBNK+3ɠA̠PUAAY MPPUAɠUN NŠU.N0+AD ϠU.N0+ADNG 3BU.N0+3ADD 5BU.N0+5NGAŪ 6BU.N0+6SŪ ÷BU.N0+A̪ ױ0BU.NDƪANDASMA ױBU.N+MP ױ3BU.N+3MPY ױBU.N+DV ױBU.N+-MASK ײ0BU.NYPŠMASK ײ5BU.N+5ԠVAUŪ ײ6BU.N+6ADAVAUŪ ײBU.N+ 30BU.N3AS ײBU.N+ 3BU.N3+MPҠPUAAY ״0BU.N ״BԠ SU.N0+ MɱU.N5- MɲU.N5+- MԠ6-B PU.M+-MA MU.M+0MA PU.M+6(MA PU.M+9(MAԠҠVA.SUBSPS PSU.M+ MNU.M+- SҠU.M+ SSU.M+3M DSԠU.M+A PàԠ00ҠNS.SUBS PàU.M+(ҠNSԠSUBSP ѠU.M+5MA MBԠ5 PMԠ00P.PY-MASK ױ0Ԡ000 .ױ0Uױ0 PMPҠԠ000PYV̠Ҡ+- PMؠԠ00 MAPƠԠ33MAԠҠ.MAP PNԠBSSDD.PNҠNBA PNBSSANAŠADD.PNҠNBA ABSSA+ƠBA ABSSAƠBA SñBSS SVBSS SVBSSM SV3BSSP SVBSS SV5BSS SV6BSSA SVBSSY SVطBSS ױBSSA+ƠSUBSNGNBA SVABSS SAVMBSSMD-SAVŠNAH PNBSS PN3BSS PNBSS SVBBSS P̠BSS SVSSBSS SVSZBSS DA.N0+5ҠDŠҠADANԠPS SS PDAױBҠDŠBҠBADAHP SBҠPNԠҠMSSAG MPPBɠ AGBSS(BԩAUM.AG-ƠMPY GBSSS-PAGҠUA-V̠PS PƠBSSPVS.PY PҠBSSUNԠPY-V NàBSS VPSBSS PSBSS SVŠBSS PNP0BSSPNSϠAƠ.PND PNPBSSPNSϠP SŠGNASASŠNASABŠSAG. UNSHŠAS.MAԠNA SŠNP A SAGSԠSԠMŠAG SAAGANDAUMAG DA6BP6ҠS DBױ0BASMAԠ0B SBPUAGNA:SŠAS MPSŬ YPBSSASAB-MAԠYP AHNPNYҠAHMàSAMNS SBZBUԠUPUԠSYMB̠ABŬNS DAAAƠAHSAMN DBAA+ƠAHSAMN SBPBPSSAHSAMN SBUԷUPUԠND--SAMNԠB MPAHɠ PA̠NP DAPNPADD.ƬҠ ADA.N5- DB0 PBPàƠNSԠSUBS? ADA.N5+YS-3ϠMVŠPNҠϠVA. ADA.N5-ϠMVŠPNҠϠ.P- DNGVA. DB0 PBM? SZPA̠YSBUMPҠANAŠUN PBP(ƠUNN? SZPA̠YSBUMPҠANAŠUN DBPNP MPPA̬ɠ VDƠNP DB0BMAԠҠKUP AND.N+ PA.N0+SMPŠVAAB SSYSNNU MPVDƬɠNϬ DA ANDMH SZASS0DNA̠? MPVDƬɠYS SBKUPSAHSYMBABNY ADA.N5-ϠAƠSYMBABNY DB0 DA~300B300B ҠɠSԠƽ3 SAɠDNŠVA.NSYMBAB MPVDƬ 300BUP0 GNK+ DƠAH GNK+0 DƠAH GNK+5 DƠPB HDA-MŠANPASS-AD ADANPUԠUNŠNPASS ADANP SBDSKGԠD-YP PA.N0+APHASNG? MPMDAYS SBDSKNϬMUSԠBŠYPŠDVS MANA SAANSԠUN SBDSKSKPDVSԠD SZANND? MP-NϬNNU MPADA+YSADNԠD ANBSS SADBSS MDASBDSKSKPNGHD SBDSKADNGHƠAPHA MANA SAAN SBDSKADNGHNSԠS MANA ADASPƠAVA̠MMYPNS SABSAƠNSԠS SASAD ADAAN SAAAƠAPHA SAA MANA ADADV SSASSDVSԠVSAPHA? MPԠYSU SBDSKAB̠VAU SAAB SBDSKADDNDϠAB SANAD SBDSKSAMNԠYP SASYP SBDSKSKPYP SBDSKANDNGHAPHA SBDSK SAAɠSŠAPHAD SZA SZANNDƠAPHAMVŠ? MP-NϬNNU DABS PASNSԠSԠMPY? MPADAɠYS SBDSKSKPDYP SBDSKANDADNGHNS SBDSK SASADɠSŠNSԠNNS SZSADBUMPNSԠADD DASAD PASNDƠNSԠMVŠ? MPADAɠYS MN*($P-6 DV̠DƠ+ GNK+6SԠNK DƠADAҠAD NUN0 NDN0999 2*   20599-80013 C S 0122 DOS FORTRAN PASS 3             H0101 u ASMBҬ̬BNàDSANPASS3-AUGUSԠ9 NAMN035 HDA-MŠANPASS3-6 NԠN3 ԠԬììSGN ԠҬNAMAYPASìN ԠUԬNDPAB̬NADS ԠDSɬPNA ԠBADSɬDSS ԠG ԠB׬BAB ԠHDN NŠUN PNԠUPN ҠU DSKUDS DSKUDS SGNMUSGN AKUA SԠUS AKUA SԠUS BADUBA NAMADUNAMA YPŠUYP NàU ԠU DSɠUDS DSɠUDS UԠUU AB̠UAB NADUNA NDPGUNDP Z HDA-MŠANPASS3-BAS N HDDSANPASS3-BAS MMNBUҠҠA̠SGMNS MMNBSS5 BNDUMMN+ PԠUMMN+ BUƠUMMN+ BUNDDƠMMN+ BUҠDƠBUƠAƠMU-MPŠBU DNDDƠ.N0ND+ƠDAB DƠDAD .MBSS PVBSS SYPŠBSSSAMNԠYPŠ(SԠBYADB ABSSAƠAPHABA ABSSA+ƠAPHABA AB̠BSS3ADDNA̠NPUԠNϠϠPUA PYPŠBSSPGSUB.3N.UNN A̠UNN BUADBSS Z SUBPƠNSԽPƠAVA̠MM N SU00BPƠNSԽPƠAVA̠MM BSBSSBMƠNSԠ(MPN̠PASS DV̠BSSNANSAƠMPSYMBABN PASSAƠPNҠABŠN PASS DVSBSSUNԠADD.NMP.SYMBABN PASSUNԠADD.NSYMBAB NPASS DV̠UDVS YPŠUSYP MDŠBSSMDŠƠAHMàҠPUAAY SNԠBSSgNYƠUNԠASƬSԠBYPU- AAYHNADHBSS0D NԠBSSANUN BNԠBSSNNA-AB̠UNԠ(0000UP ASGBSSAS-AGN.0:ASƠPSSNG SPADBSS-(N.ƠPAAMS+ҠAS.USD NPUAAYSԠNASƠPSS NԠBSSAS.UNԠ(ASƠANDPGAM SZBSSSZŠƠPG.-AS.SAG PVSԠ0SAMNԠYPŠƠPVUS UABŠSAMN NSBSSAƠ.UNNABŬS NN̠UN NSBSSAƠNNSàUN.AB (SԠNN̠UNũ NKSBSS35 NKSSHŠABŠƠNYPNԠADDSSS.HY AŠSԠNAHNDVDUA̠UN.NKSSAS USDASUMP-ABŠNN. HŠNGPSSҠADDSSSAŠNHS AB: NKS+0:MA :P-PUAAYҠ :GϠN 3:GϠ( :SP 5:PAUS 6:UN :MAԠ(NϠUMPS :P-PUAAYҠA 9:DϠ(BGN 0:P-PUAAYҠAHM :MPYUNŠ(DP+PϠAPHA :ɯ 3:ɯ :ɯ 5:ɯ 6:ɯ :ɯ :ɯ 9:ND 0:ND$ :DAA :NA 3:AS :AVAAB 5:PSSBA 6:SSV(SUBSPԠVAUAҩ : :ADB 9:NDDϬMSP 30:MPDDϠ(MSPA 3:PUAAY 3:MD̠(DABSAHUNũS ND-PSS 33:NS(ND$SAMNԠP. 3:AVAAB DADBSS50D-AB .N0Ԡ0 Ԡ Ԡ Ԡ3 Ԡ Ԡ5 Ԡ6 Ԡ .NԠ0 Ԡ Ԡ Ԡ3 Ԡ Ԡ5 Ԡ6 Ԡ .NԠ0 Ԡ Ԡ Ԡ3 Ԡ Ԡ5 Ԡ6 Ԡ .N3Ԡ30 Ԡ3 Ԡ3 Ԡ33 Ԡ3 Ԡ35 Ԡ36 Ԡ3 .NԠ0 Ԡ3 Ԡ00 .N5Ԡ- Ԡ6- Ԡ5-3 Ԡ- Ԡ00UPPҠ0-BS Ԡ00UPPҠ-BS Ԡ00000 Ԡ-6 BA-MAS .MԠ00+ Ԡ00- Ԡ300 Ԡ00 Ԡ500 Ԡ60 Ԡ0000( Ԡ000 Ԡ000(ҠNSԠSUBS Ԡ000(-BASŠҠVAABŠSUBSP Ԡ0000 SAVŠBSS SHSAA̠NS.NҠHBADD. NS.MAԠNBA.UNSNS.NAANDB. SNP DBɠNS.MAԠNB SBSGԠNSԠNAANDB MPS SHSAA̠NS.MMP.NS SNP SBPADGԠPN MA ADASA+ƠMPNS DB0 NBSԠBADD.ƠҠPA DA0ɠUPPҠPA DBɠҠPA MPSɠ SDV̠SAHSSYMBABҠAAB̠ҠHHH VAUŠSSUPPDHUGHA.ԠUNS:HŠDVS D.NAҠ-ƠNԠUNDANDB.ƠAB̠ ADD.NSYMBABNY SDV̠NP SADV̠SAVŠVAUŠƠAB DBDV̠AƠDADVAҠS SS SDV̱NB PBDVSNDƠSYMBAB? MPSDV̲YSAB̠NԠUND DAv SZA0NSYMBAB? MPSDV̱NϬNNUŠKNGҠ0 NBBUMPADD.ϠàƠAB̠VAU DAɠGԠVAU NBBUMPϠàƠAB̠ADD PADV̠SAMŠ? MPSDV̬ɠYS MPSDV̱NϬNNUŠSAH SDV̲AA-ϠNDAŠNϠND MPSDV̬ɠ DV̠NSSAAB̠NSYMBAB.NҠHVAU ƠAB̠NA.UNSHBADD.NSYMBAB ..ƠAB.NADDNDV̠̠MVŠBA +PNҠAB+MP.NSԬSԠNýANDADD ϠAPԬAAANDH.NHSPSSԠ HKҠ(HҩG.(BS.ŠVנƠU. DV̠NP B SBDVSɠ0ϠSԠDNNY SZDVSBUMPADD. SADVSɠSԠVAUŠNNY SZDVSBUMPADD.NDVS A SADVSɠ-ϠUNDNŠ.ADD. SZDVS DAA MANA ADADVS SSASSŠVנƠSYMB MPԠABŠGSBYNDAƠBA DBDVS ADB.N5-ϠGԠADD.ƠAB̠ADD. MPDV̬ɠ SAҠSASASYMBABNYҠHHHŠBA MAԠSGVNNA.ԠUNS:AADD.+ NYNSYMBABBN.ƠDSNNAMŠƠNY+ HҠVAUSHUGHPAAMS. SAҠNP DB0MAԠϠAҠPAD SBPAD MANA SASAVŠSԠUN DADV̠AƠDVS SBNNԠGԠAƠNԠNY SZSAVŠADY? MP-NϬGԠNԠNY SASAVŠYSSAVŠAƠNY NA SASAV+SAVŠA+ DASAVŬɠSԠDNNY A̬A AND3B SAVSԠV-D ADAM3 SASDV̠SAVŠAG DASAVŬ AND÷BGԠN.ƠHAS. ADA3B AS SASSAVŠN.ƠDStNNAMŠ+ ADASAV+AADD.ƠD DB0 SBDSԠDNA DB0 DASAVŬ AƬA AND׷B SAPAAMPAAMҠNUMB SZASSMA̠PAAM? NBNϬBUMPϠNԠàNDVS DA SADMSԠSԠDM SZSDV̠NŠDMNSN? NB DA SADMSԠDMDM(DMƠADM DASAVŬ ANDײ0B SAԠ-DVAUŠ(0Ҡ0B DASAVŬ ANDױ0B SAà-DVAUŠ(0Ҡ0B DASAVŬ AƬA A̬A AND3B SAƠ-DVAUŠ(0- DASAV+AADD.ƠNY+ DBSBN.ƠDS+NNAM MPSAҬɠ VBSSV-DVAU:0HU3 PAAMBSSM.PAAMNUMB:HU63Ҡ0 ƠBSS-DVAU:0HU ԠBSSYP:0NGҬ0BA àBSSMMN-B:MMNϽPG DBSS.PG.ADD.ƠAƠAAY DMBSSVAUŠƠSԠDMNSN DMBSSDMDM M3U.N5+-3 ÷BU.N0+ 3BU.N0+3 ׷BԠ ײ0BU.N ױ0BU.N AGBSSMAԠAG DDԠBSSMA.DNA DMؠUDD GSPNҠƠBAMA.NҠHBBA MA.UNSAPN PADNP DA ANDMHMASKUPPҠ0BS AƬA A̬A̠SHԠ0 MPPADɠ MHԠ00-00B KUPKSUPANNYNSYMBAB.NҠHB BAMA.UNS:A(AƠNY+BN. ƠSNSYMB̠NAM KUPNP DAPANDϠA SBSAҠAKSYMBABNY MPKUP NDNԠDV̠NY NҠAàDV̠ԠAàNԠNY NNԠNP DB0 SBNDVŬ DA MP$"NNԬ NDVŠBSSàƠUNŠSԠϠADD MPUŠNԠàBYD̠P NSZBSSSZŠƠNSANSAA PAMBSSN.ƠPAAMS(SԠBYDPϩ j$   20599-80014 C S 0122 DOS FORTRAN PASS 3             H0101 v HDA-MŠANPASS3-PUAAY ADDNA̠NϠNAB̠(3ҠSMŠPS. MDŠHASϠBŠSԠNAYҠAHMàPS. UPUԠSƠϠMS:NNA̠SANDNA S. PUAAYNSNSANSNϠANSANS-S PUANP ADAMB SSASPA̠P.? MP+3N ADAPBYSSKPSNGUNԠPN MPPMԠPU ADAPBSŠP SAPU SBPU+SAVŠUNԠNPU DA ANDײ0B SAPYPSԠYPŠƠPND ANA SAYPŠPUAAYD-YP DAPU PMԠADA+ MP0ɠSVŠUMP DƠ+ DƠPDVDAVAUŠ0 DƠPDAD DƠPNADNG DƠPAԠADD3 DƠPN-3SUB DƠPNGNGAŠ5 DƠPSҠSŠ6 DƠPA̠A̠ DƠPAMDƠPAAM0 DƠPPɠMPAB̠ҠԠ(ɩ PNƠBSS DƠPNMPY3 DƠPDVDV DƠPPҠUMP.ADD.5 DƠPMàSZA6 DƠPMàNY DƠPMàSSA0 DƠPMàNA DƠPMàA DƠPNDND$3 DƠPNDND DƠPVԠVAUŠ5 DƠPADVADAVAUŠ6 DƠPҠPҠ DƠPMàAS30 DƠPAòASɠ3 DƠPBSSBSS3 DƠPDV̠UPUԠDVSԠ33 DƠPDSԠDƠ+N3 DƠPDBDB35 DƠPDB-3DƠAB̠36 DƠPDB-3MPAB̠3 DƠPASàGNAŠDVSҠSYMBAB0 DƠBSS0BSS0:ҠKASƠHANDNG (PASSϠPASS3NY DƠSMSԠMDŠ DƠSԱSԠAB̠3 DƠSԲSԠAB+ DƠS3SԠAB+5 SԱSBAB MPPUA S(?SBAB+ MPPUA S3SBAB+ MPPUA DB̠DƠAB DƠPG55G DƠPGS56GNAŠNSAN DƠPҠ5 PBASԠ00PGBAS Ԡ000ABSBAS Ԡ00àVAҠBAS Ԡ000NSԠBAS Ԡ00MMNBAS Ԡ3000PGASBAS Ԡ300ASƠASBAS Ԡ000A̠NSԠBAS Ԡ00MA̠PAAMBAS SVàBSS PSVBSS SMSBMD MPPUA PDV̠DAPUҠUNԠP33B SBNKS+ɠUPUԠP MPPU+UN PGSBPPNVAUAŠPAND ADA55B55BҠG MPPU PGSDA ANDײ0B SAPYPSԠYPŠƠNSAN SBPPNVAUAŠPAND ADA56B56BҠDAA ADASGNƠ0ҠҠPSNGDAA MPPU PҠDBSV ADB.N5- SBNԠSŠN NBSŠVAUŠҠG DA55B55B ADAPBASSԠPGBAS MPPUԠGNAŠGNԠҠ PDVANAPSSDAVAU ADAPBAS+3 SZNSZBUMPNSANS.UN PUԠSBPUנUPUԠUNԠP PUנASϠBUMPSANUN DAPU DBPU+MVŠUNԠP SAPVϠPVSP SBPV+ DAPNƠADAHUPUԠN MPPUA PMàDAPUҠPSSMϠPS SZNԠBUMP.UN MPPND+ PVDAױBPSSԠVAU MPPU PADVDA3BPSSADAVAU MPPDV+NNUŠASҠDAVAU PDDAPV PA6BPVUSASS? SSYS MPPAԠNϬNNUŠASHҠAHPS SBPMAHKNԠPAAMҠB..N DA AND.N+ PA.N0+SMPܐŠVA MPPSVYS PA.N0+5AAYA? MPPSVYS PA.N0+ASƠPAAM? MPPSVYS PA.NASAB MPPҠYS.SUPPSSAD+S PBPV+SAMŠPANDS? SS MPPAԠNϬNNUŠASHҠAHP DASAVA PAAB+SAMŠNSԠADDND MPPU+YSGNŠAD MPPAԠNϬNNUŠASҠHҠAH PҠPBPV+SAMŠASABS? SSYS MPPAԠNϬDϠAD DB.N5+- DAPYP SZASSNG NBYSN- DA ADANԠAS.UNԠ-Ҡ-(NԬA̩ SANԠSԠASUN ADBNԠNϬN- SBNԠSԠANUN DA5B5BDŠϠDŠPVSS MPPND+ PSVPBPV+SAMŠPANDS? MPPU+YSSUPPSSAD MPPAԠANDDϠAD PMAHKSҠMDAHM.ԠUMPS PAƠS.HSŬ PMANP DAPYPGԠYP PAMDŠYPŽMD? MPPMAɠYSK MPPAMDMDŠ DAPYP SZASS SZNԠBUMPҠSUB(3SA̩ PNSBPMAHKMDMDŬNϠUNƠ DAPYP SZASSNGҠYPŠƠP? SZNԠYSAנNŠADD..ҠAD NG.SUBMPY SSNϬGϠN PAԠSBPMAHKMDMDŬNϠUNƠ SBPPNGԠPAND PPNVAUASPAND.NҠHBA-MAԠN B.ԠUNSPUAAY-UPUԠMAԬMNUSP-DŬ NAANDB PKMSBPSAVSAVŠB DBMD SZBN.MD? SBP̠NϬADD35BϠGNAŠA.P DBPSAV ADAPUҠADDNPD MPPUԠUPUԠDŠAND PNGDAPU4*ҠGNAŠMANAҠM DBMD SZB ADA35BMƠA MPPM+ P̠NP ADA35BHANGŠϠANGP SZNԠADD.BUMPƠANUN MPP̬ɠ PUנUPUԠAANDB(BNAYUPUԩ PUנNP SZNԠBUMP.UN SAPPNSAV SBPSAV SBNKS+ DAPSAV SBNKS+ɠUPUԠPND DAPPN ANDMH PAױ0A̠NS.PND? SSYS MPPU׬ɠNϬ DAPSV SBNKS+ɠUPUԠNDDƠA̠NS MPPU׬ PNDDAPU SBNKS+ MPPU+ PPҠDAPU ADAPBASPG.BAS MPPU PAMDAPV PA.N3+PVSPDƪ+N SBVDƠYSSԠPAAMDND DAPV PA6BASPVUSDƠԠSYMB̠? SBVDƠYSDNŠVA DBPU+SԠB DA.N3+SԠPVSPDƠ+NϠ SAPVNԠPAAMϠBŠDND PDBSBPPNVAUAŠPND ADAPUҠADDDB-P MPPU PDSԠADBNԠADD.UNҠҠ+N DAױ0BD-P0B ADAPBASPG.BAS MPPU GBSSAGNDASƠSB-U- NŠMUSԠBŠGNADNASŠƠA-BY-VAUS PA̠A SAGNAZŠAG DA AND.N+B:MASKUԠPNDYP PAױBASƠ?(YPŽB MPPASƠYSNNA̠SB B SBAB̠ZϠUԠNAMŠAA SBAB+ SBAB+ DBDB̠DƠAB SBPSV DBPU+PAND PAױBNNSàN? MPPNԠYS PAױ3BBASàNA̠UNN? MPPBAؠYS SBKUPGԠSYMBABADD ADB0A+ƠNAMŠ NSYMBAB SBPSAV DBPAAM SZBSSMA̠PAAM? MP+N MBNBMPMNԠPAAMDҠND DAPBAS+PAAMBAS MPPAS+NNUŠASҠAS NA P̱PAPSAV MP+5ADY DB0ɠMV SBPSVɠUNNNAM SZPSV MPP̱-NNUŠMV DAPU DBAB̠SԠDNNAM SBPU DAN ADAMɱ SAN DAAB+GNAŠASԠDSN DBAB+ԠNAMŠҠZS SBPU DAPU PA.N0+A̠? SBSUBYSGNAŠSB-UN MPPU+UN PASƠSBPPNVAUAŠPND ADA.N+SBPGàB MPPUԠUPUԠƠ. PBAؠSBPADGԠDNA̠ƠBASà.UNN ADANSBASŠƠBASà.ABŬNB MPPNNNUŠASNNSàUNNS PNԠSBPAD DBMAA̠ҠMA PA״BNNSàUNNSNԠ? MPPVYSGNAŠMA ADANSBASŠADD.ƠNNSàUNS DB0 SBSBҠϠBŠGNAD? SZGYSSԠAG PNSAPSAVSAV DA0 ANDMSUMASKUԠUPPҠBSSԠHA SAAB̠SŠSԠHAҬ0 SZPSVBUMPPN SZPSAVBUMPϠNԠàNUNS DAPSAV SZPSAV SZPSAV MPP̱NNUŠASHMPDUNS PPɠSZBSSPANDϠ? MPPBSS+YSPANDNYPN DAPU+NϬP.SAB ANDױB PA.N0+3NSԠ? MP+3 PҠDAôBPANDҠNDASN MPPA+SAMNԠMA DBPU+UNԠPND SBSHNS PPSBSABSAH?AB̬UNBAB̠D. SBPNƠADDҠNSYMBABƠAB̠ADD DBPSV3AB̠VAU DAPU ADAPBAS+BASŽABS MPPUԠGNAŠMPD PSҠSBVDƠSԠSNGŠVAҠDND DBPU+ SBPPNGԠPAND PAPBAS+3SŠϠNSԠ? MPPҠYS SBPSAV DBPYP PBMDŠYPŽMDŠ? MPPKM+YS SZNԠBUMPPG.UN MBNBNϬMDS ADBMD ADA5BSԠMDSŠ.Ϡ. SSBSS MP+3A̠ϠNG SZNԠBUMPҠ3SA̠N NANGҠϠA̠SŽ53 DBPSAVSŠB MPPU PBSSDAN ADAADDNN.ƠS ADA.N5-ϠMAKŠUPҠBUMPNPU SAN DAPUҠPBSS MPPUԠGNAŠD PҠDB״BDŠҠҪ DAAB ANDײ0B SAPSAVSAVŠYPŠƠBAS MANA ADAPYPMPAŠAGANSԠYPŠƠPN SZASS MPPױUA̠YPS SSASS MPPAҠNAHɪ DAײ0B SAPYPSԠYPŠA̠ҠBAS SAMDŠSԠMDŽA̠ҠMDPN PײSBPUҠSԠNנP DBAB DAAB+SAVŠPN.A SAAB DAAB+ SAAB+SԠAƠBAS SBPPNVAUAŠBAS ADAPUҠADDNƠP(ɩ5(ҩҠ6 SBPUנUPUԠDŠҠBAS DAPU+ ANDײ0B SAPYPSԠYPŠƠPNNԠҠPPN DBPU+ DAAB SAAB+ SBPPNVAUAŠPN ADAPUҠADDNP SBPUנUPUԠDŠҠPN SZNԠBUMPPG..UN ANA SAG SBSUBGNe"AŠSB-UN MPPU+ PױDAPYPYPŠƠPNN P3NB SZASS NBDŽ6Ҡɠ(5Ҡҩ MPPײ- PADAױBҬMDAH SBҠPNԠ MPPU+ PAòDAA MANA ADAPU+AN.ƠSNMA ADANԠSԠNנ.UN SAN PASàSBPSAVSԠA+ƠASɠSNG DAPU SBNKS+ɠUPUԠP(3Ҡ0 DAA MANA ADAPU+NGHƠSNG SBNKS+ɠUPUԠNGH PAñDAA PAPSAVADY? MPPU+YS DA0ɠN SBNKS+ɠUPUԠBNAYD SZABUMPUNԠADD-NUPU MPPAñNNUŠUPU DAPU ADAM6 SAPUҠSԠϠ0DƬMP PDBSZ MPPP- DABNԠSSUŠAB SAPNƠSԠNϠϠUNNAAԠ SZBN MPPPNҠAB̠NSYMBAB. SUBNP DAG SZASSGNAŠA̠Ϡ-UN? MPSUBɠNϬ DA.N0+PҠSB DB.NAMSԠDƠ-UNŠNAM SBPUנUPUԠDS DAP+-UNŠDG ADA.NAM+ADDNϠNAM SBBUPUԠNDDNNAM A SBBUPUԠ0Ҡ3DD MPSUBɠ .NAMASà Ԡ5000ASɠҠNUPPҠBS PPNVAUASPANDS:NSANSVAABS(N. MA̠PAAMSASƠMA̠PAAMSSUBSPDVAS HANDHUԠ-Bԩ.ԠASϠNSASAB SAG ԠUNSPUAAY-UPUԠ-P.DŠNAANDB NҠHPANDMAԠNB PPNNP SBPSVN DAPANDϠA ANDױB SZA0-YP?(ҠD-PS_SNG MP+N BƬB B̬B̠àVAҠDNA̠ϠBԠ0 MPPVNNUŠASҠàVA ADA+ MP0ɠMPϠSN DƠ DƠPҠ DƠPҠ DƠPNNSANԽ3 DƠPVAҠNNDMNS.VAҠ DƠPVAҠAAYVAҽ5SAMŠASVA. DƠPSSVSUBS.VA.6 DƠPASPASƠPAAM DƠPSAS0B DƠASҠBAS DƠPҠB DƠPҠ3B DƠPҠB DƠPҠ5BNA̠UNN 6BԠ6 PҠDA6B SAPUҠ6BDƠNA̠UNN MPPA GNAŠASƠNŠ: ASҠSBKUP DB0ɠNY-PNԠADDҠƠAS MPPASP-PGBAS PNSBSHNS SBPSVàSAVŠҠPA SAPSVNUPPҠPA SZNSZBUMPNSԠUN DBPYP DAPBAS+3YPŠҠNԠNSԠ000B SZBSSNԠNSԠ? MP+3YS SZNSZNϬBUMPNSԠUN A̠YPŽ000BҠA̠NS DBPSVNUPPҠPAԠƠNS MPPPNɠ PSSBPADPANDSPGAMASAB SASABSAVŠAS.DNA DAPBAS+5PG.AS.BAS DBASG SZBASƠPSSNG? ADAPBASYSSԠBASŠϠASƠAS. SAKUPSAVŠBAS DBSABSԠBASDNA SZB MPPұAS.AADYDND DBNԠAS.ϠBŠSSUD DA AƠSHԠPNҠϠUPPҠ0BS A̬A ADA.N0BҠASMA ADAMDŠADDNMD SAPSVNSԠPANDMA SAPU+SԠAS.MAԠNPND.MA SAPNƠSԠAS.MAԠϠUNN. SZNԠBUMPASUN DAMD SAPYPYPŽMDŠҠASAB SZAYPŠN.? SZNԠA̬SVŠNŠMŠ PұDAPSVN AND״0BGԠ-B SZA MBNBNDԠ DAKUPAS.BAS MPPPNɠ PVұDBPAAM MBNBNDԠ DAPBAS+PAAMBASŽ00B MPPPN PVAҠSBPADGԠDNA SZA0? MP+3NϬNNUŠNMAY BNBYSPND.VAҠ MPPV SBKUPPANDVA.GԠSYMBABADD DB0ɠGԠ.ADD. ADA.N5SԠAԠAƠDVS-NY SAKUPSAVŠҠAҠUS DAPAAM SZA_MA̠PAAM MPPVұYSNDԠ DAàGԠMMNAG SZA MPPV+MMNBAS DAKUP ANDVMSKMASKDAD-AND-BS SZAA̠VAABŠ? MPPASP-NϬBASŠSPG. PVDAPBAS+.VA.BAS MPPPN DAPBAS+MMNBAS MPPPN PSSVDAAB+ SASAVASAVŠNSԠADDND SBKUPPANDSSUBSҠVA DB0ɠ.ADD.ҠDNA̠(ƠP. DAPSVN AND״0B SZA-BԠSԠ? MPPSSYS DAPAAM SZAPAAM? MPPAҠYS DAPU PA.NDƠ? MPPSS+YSAKŠADD.S DBDNϬDϠADD.AH MPPASP- PSSADBAB+ADDNS.ADDND ADBMɱ- DAàMMNBԠVAU SZAMMN? MPPSSV-YSMMNBAS DAPBASNϬPG.BAS MPPPNɠ PASPSBPADPANDSAS-PAAMHPN ADASPAD-(N.ƠPAAMS+N.ADDND SAAB+SAV DBAɠGCԠBAMAԠƠAS-NAM SBKUPGԠAƠASƠNYNSYMBAB DB0 ADBAB+ MBNDԠƠҠASƠPAAM DAPBASPG.BAS MPPPNɠ PDVDAPV PAױ3BASPVS.NSҠMPY? MPPNYSNNUŠASHҠAHPS DAPYP SZAYPŽNԠ? MPPAԠN DAױB DBB SBPUנUPUԠB600B DAײ0B SZN SBNKS+ɠA̠BϠUPUԠSSA DAױB DBMB SBPUנUPUԠMB000B DBPU+SŠPNDNBҠPPN MPPNGNAŠDŠҠDV SABSAAB̠KUP-AND-NSԠUN.N HAA̠VAU.UN:AàƠ.ADD. AB̬BAB̠DNA. ASSDV̠(SAHDVSԩANDDV̠(NҠDVSԩ. Nà(AMUNԠƠBA-SNGMVũϠ0BŠANG HSŠUNS. SABNP SAPSV3SԠAPHA-MAԠNSԠҠSDV SBSDV̠SAHSYMBABҠAB SZ0AB̠UND? MPSABɠYS DAPSV3N SBDV̠NҠAB̠NSYMBAB MPSABɠ HSD.SNSSAYҠKMPҠNY BSS0DA SBSAҠGԠàƠAS-NYPNԠADD DBN SB0ɠSԠNY-PNԠADD.ƠAS SBSNԠSԠAS-NYADDҠҠAS-3 MPPU+ PAҠDBPAAMPAAMDNA MPPVұ+ VDƠNP DA AND.N+ PA.N0+SMPŠVAAB SSYSNNU MPVDƬɠNϬ DA ANDMH SZASS0DNA̠? MPVDƬɠYS SBKUPSAHSYMBABNY ADA.N5-ϠAƠSYMBABNY DB0 DA300B300B ҠɠSԠƽ3 SAɠDNŠVA.NSYMBAB MB@SSYSDϠNԠHANGŠPVS SAPVSANDSԠPVS.SAMNԽ(SYPũ DANAD SZAABDSAMNԠ? MPN6NϬSKP DAAB BNB SBNKS+3ɠSHDABHAB AABŠU̬AB̠NԠUND SADGMUNDAN.0:NDƠDϬ A0:NϠNDƠD SZASS MPN6NϠNDƠD NDƠDϬHKҠGA SAMNԠAԠNDƠD GA̠SAMNԠYPSAŠ:G(ةƬUN SPPAUSŬD DASYPŠSAMNԠYP PA.N+DϠ? MPDҠ DB.N0B MBNB ADA SSASS MPN6KSAMNԠYPŠG.0B ADA.N0+6 SSASS MPDҠҬSAMNԠYPŠG.. N6DASYP PA.NNNU? MPN5-3YSNϠD ADANKADƠNKS- SASAVƠSAVŠADD.ƠPSS PANKƠMA? MPNKYS MANA ADANK SSASSUABŠSAMN? MPNSҠNϬ NKSBSAVƬɠUMPϠSAMNԠPSS DAAB̠AAB̠ҠDϠPSS DBDG SZBNDƠDϠ? N5SBNKS+9ɠYSA̠DϠPSS DASYP PA.N3+ND? MPN3YSSAԠNԠPGAM PA.N+MAԠ? SSYS SAPVSNϬSŠPVUS.SAMN SBNKS+ɠADNԠSAMN MPNNNUŠSAMNԠPSSNG NSDA.N+3PDŽ3ҠND$ SBNKS+3ɠGNAŠND$D A SAYPŠD-YPŽ0 SBBŠUPUԠƠPUAAY-BU SBUԠUPUԠASԠSҠƠNMD SBNDPGŠNDƠPAG DAASô S3dANAMADSԠPASS-NAMŠAԠN0 SBàADPASS DƠ+3 DƠ.NDŽҠSGMNԠAD DƠSGNMNAMŠƠSGMN ASôASà NSNP SBNKS+9ɠNDPSSNG MPNS GNASDŠҠSAMNSHHAŠPSSD NPASS PPUANP SBNKS+ɠADPUAAYD SBHPNԠA+ƠPUAAYD PAHPNԠNDƠD? MPPPUA+YSADNԠD DB0 SBPԠSAVŠPA NA DB0ɠPANDϠB NA SAPNԠSAVŠPNҠNBU DAPԠPUAAY-PϠA PA׷BNDƠSAMN MPPPUAɠYS SBNKS+3ɠA̠PUAAY DAPNԠPNҠNBU MPPPUA+3NNU KSVBSS SSVBSS ADSAVBSS PNԠBSSPNҠNPUAAY-BU HPNԠBSSA+ƠPUAAYBU PԠBSSSAVŠPA NKADƠNKS-B NKƠDƠNKS DGBSS SAVƠBSS NSҠDA.N0+-ҠҠNN-.SAMNԠM- BDDDN.SAMNS SBҠUPUԠ MPNS-GϠϠNԠSAMN DҠDA.N+D-PҠDŠ5 SBҠPNԠ MPN5NDDϬANDGϠN ױ0GDà0000MN.VAUŠƠNA̠ABS ABŠƠBASàNA̠UNNS NBASà3.N ASà3.MAP. ASà3.G ASà3.PAUS ASà3.SP ASà3.AP ASà3.D. ASà3.B. ASà3.. ASà3.. ASà3.A. ASà3.A. ASà3.DA. NNSàUNNABŪ NABԠ0ABS ASàBS Ԡ0 Ԡ500ABS ASàAB Ԡ500 Ԡ330A ASàA Ԡ50 ASà Ԡ5000 Ԡ5P  ASàP Ԡ0 Ԡ055AG ASà Ԡ300 Ԡ55SN ASàN Ԡ0 Ԡ5S ASàS Ԡ0 Ԡ505AN ASàAN Ԡ0 Ԡ5ANH ASàAN Ԡ000 Ԡ555S ASà Ԡ5000 Ԡ05AAN ASàA Ԡ000 Ԡ060N ASà Ԡ0 HŠNԠUNNSAŠA-BY-NAMŠHPAAM Ԡ56SGN ASàG Ԡ000 ԠSGN ASàSGN Ԡ0AND ASàAN Ԡ000 Ԡ66 ASà Ԡ0 Ԡ500SS׬A-BY-VAUŠHPAAM ASàSS Ԡ5300 NBBSS0 GNS DƠNB GNKS+33 DƠNSND$PSSNG GNS DƠNAB GNKS+0 DƠNSND$P.ƠNDASԠ GNKS+ DƠPPUA GNKS+ DƠPPUA GNKS+0 DƠPPUA HDA-MŠANPASS3-SUBS.VA. SSVSHŠSS-VAUA.NҠHAAƠBA BA+.ԠSSHŠSUANԠMAԠNAƠAH AAYM.ƠANDZSUԠHŠ. SSVNP SAASԠAƠBA SAԠUԠϠPSSA̠SUBSPSNBA SBASԠAƠBA SAPNԠSԠADDSSPNҠAԠA A SAMDŠSԠNG-MDŠNPUAAY SPDAPN PAAAŠŠAԠNDƠBA? MPSSVɠYSSUBSPԠP.SADY DAPNԬɠNϬNNUŠSAHNGҠNԠSS SZPNԠBUMPPN AND׷BMASKSԠ5BS PAײBSNYAàҠVA.SSYPŽB SSYS MPSPNϬHKҠNSԠSS DBPN ADB..N5-ϠàƠ( DA ԠAƬA AND.N+MASKUԠNϠƠSҠSUBS ADAPN ADA.N5-ϠADD.ƠSUBS.VA.MA SAױSԠSUB-A(PNSAԠ NϠƠSNSUBS.NUDSUDS( HŠSUBSPԠSNנPSSD.DŠSGNADBY ASϠPUAAY.HŠVAUŠƠHŠSUBSPԠSS DNASABŠSAGŬHŠSUBSPԠSNGNBA SZDUԬ(ASɩ-MAԠSNSDNHS AA. ADB.N5- SBPNSԠPNҬPNSAԠAAYNAM DBPN S̱DA PAMHKҠMMA MPײSSMMANANG:ϠSUBSPԠP NBBUMPàPNҠNSUBSP PBױ MPױSSNϠMMAUND:NŠSUBS.P. MPS̱NNUŠKNGҠMMA SPPA״B SSNSԠSUBS. MPSPNNUŠSAH DBPN ADBMɲ DA SBSAҠAKSYMBABNY DAPAAM SZAMA̠PAAM? MP+3YSPSSSUBSP SZPNԠSKPNS.NBA MPSPNϬNNUŠSAH ƠAAYMƠHNS.SUBS.SAMA PAMADD.AHMàSDNŠAԠUNM A DBPNԬ ADB.N5- SBNKS+3ɠGNAŠDANSԠADDND DAPN ADAMɲ SAPNPNԠAԠAAYNAMŠҠSDUP ADA3B SAױPNԠAԠҠSDUP DAPN Ҡ.N0B SAPNɠMVŠ-BԠMYP-6VA. AND.N SAYPSԠYPŠƠVA. MPױSBDϠADAAҠNAMŠANDSHDUP.SS. ױSSPSSDSSNGYSUBSPDVAABS ױSSDAPNԠADD.Ơ(+ DBױADD.Ơ SBSVAUAŠSUBSPԠPSSN ױSBDAPNɠAAYVA.MA ANDײ0BMASKUԠYP-xB SAYPSԠYPŠƠAS.MA Ԡ003SZASS MP+3NGҬSUBS.K DA30BA̠MPYSUBS.BY SBNKS+3ɠGNAŠAS ױSBDAPNɠSUBS.VA.MA ANDMB5BSԠYPŽ0ҠADDADD DB0P DA3BP3ҠADD SBNKS+3ɠGNAŠADAAƠAAY SBSŠGNA:SŠAS ADAYPADDNYPŠƠAS.PAND ADA.NSԠ-BԠ0BNASMA SASVSAVŠASABŠMA SBSDUPHKҠDUPAŠSS MPSP-3 SAHҠDUPAŠAAYMNԠSNMAND ƠBA.UNHAPNҠNBAƠNU SS.NҠH: PNADDҠƠAAYNAM ױADDҠƠNSS SVAS.MAԠƠSU.SS SDUPNP DAױSAԠAԠA+ƠSԠ SAPN ױSSZPNBUMPPNҠNBA DBPN PBA MPױSADYNϠMŠSAMŠS. DA PAPNɠSAMŠAAYNAMS? SS MPױSN DAPNYSMPAŠSUBSPS SAPN DAPN SAPN3 ױSDAPN3ɠMPAŠSUBSPS PAPN SSSAMŠM MPױSDNԬKUHҠNBA DAPN3 PAױNDƠSUBSP? MPױS3YSUA̠SUBSPS SZPN3 SZPN MPױS ױS3DAPNADD.Ơ(NSUBSPԠSԠD NA DBPNϠBŠZDUԻBAƠAA SBPNϠBŠZD SBZ ZҠMVSSV(ADD.NA-ANDZSUԠM ADD.NAHUGHADD.NB MPױS ZҠNP SBSV3 ADA.N5- DBSV SB0ɠSԠASABŠMA B ZűNA SB0ɠZϠU PASVH3 MPZҬɠADY MPZű ױSDAPNSԠAS.MAԠҠUNԠSUB- NASPԠAND DBױZϠUԠMANDҠS SBZҠNSUBSP DAױSԠPNҠNBAϠ(ƠU- MPSDUPɠNԠSUBS.ANDUN ADHSANADDSSƠANMNԠNBAMA .BADDSSƠBA-MN.UNSADD.NA ADNP DBɠHBA-M. SBPADGԠPN MPAD SVAUASASUBSPԠPSSN.NҠHA AD.SԠMNԠNSUBS.P.BADD.ƠҠ HHSHŠSUBS.P.ԠUNSϠNB-G ƠMPUANGNADҠNSANԠ-MAԬ SUBS.NSSSNYƠNSANԠNB-G. SNP SBSV3SAVŠB SA DAɠSԠM. SASVSAVŠPAND AND.N+MASKUԠҠBS PA3BHKҠNSAN MPSYSNԠHҠҠNDSUBS. SBSVطSAV DBSVNϬP.NB Ԡ0ANA.P SBNKS+3ɠGNAŠADPAND DASVط S5NA B PASV3 MPS3-5NDƠSUBS.P. SANԠNDNY+Ҡ-NSԠN DA SASVطSAVŠP NB SBSHNS. SANSԠϠB DASVط PAPSMPAŠP.AGANSԠ+ SSYS+ Ԡ00MBNBҠ- DAS PADױSBADҠNŠSUBSҠ? ADB.N5YSSUBSҠ- SZBSS MPSɠ S3DAײ6BP6ҠADAVAU SBNKS+3ɠGNAŠADANS MPS DױSBDƠױSB SDA DBSVNS.MA ADAϠPNҠϠVAҠҠ SASVSAVŠPN Ԡ0ANA SBNKS+3ɠGNAŠADNS RDA.N+3P3BҠMPY DBSV SBNKS+3ɠGNAŠMPYVA DASV MPS5 ײSSPSSSDUBŠSUBSPԠPSSNS. HŠDŠGNADSAA̠ϠMAPBUN: SB+ DƠMAP DƠAAYNAM DƠSA(NANSVAUŠSS DƠSA(NANSVAUŠSS ԠD(SZŠƠSԠDMNS. S-MPM.ƠAN. SAAS ײSSSBSV5SAVŠàƠ DAPN NA PASV5NŠM.NSUBSP? MPײS5YSM.SPAAMϠMAP DAPNԠNϬVAUAŠP. DBSV5 SBSVAUAŠSUBS.P. SBSŠGNA:SŠAS. ײSSASV6SAVŠAS.MAԠҠSS SZSV5 DASV5BUMPPNҠBYND NA PAױNŠM.NNDSS-P.? MPײS6YS DASV5 DBױ SBSVAUAŠSS-P. SBSŠGNA:SŠAS. ײS3SASVSAVŠAS.MAԠҠSS DBMAPƠMAԠҠ.MAP.UNN DASPҠA SBNKS+3ɠGNAŠA̠MAP DBPNɠAAYNAMŠMA ADB.N5-ϠŠNDҠMPAM. DAױ0BP0ҠD SBNKS+3ɠDƠAAYNAM DBSV6AS.MAԠҠSS DAױ0B SBNKS+3ɠDƠSS DBSVAS.MAԠҠSS DAױ0B SBNKS+3ɠDƠSS DAPNɠMAԠƠSUBSPDVA. SBSA DBDMSԠDMNSN DAPN ANDײ0B SAYPSԠYPŠҠAS.MA Ԡ003SZASS Ԡ00MBNB.MPM.ƠN.AAY DAײ5BP5ҠԠVAU MPױSB+GϠNASҠNŠSS NB@< ײS5DAPNԬɠNϬM.NSSSPAM.ϠMAP MPײS ײS6DASV5ɠM.NSSSPAMϠMAP MPײS3 PNԠBSS PNBSS ABSS ABSS SVBSS SV3BSS SVBSS SV5BSS SV6BSS SVBSS SVطBSS ױBSS PNBSS PN3BSS PNBSS YPBSS MAPƠԠ33MAԠҠ.MAP ײBU.N+B MU.M+0MA ״BԠ MɲU.N5+- 30BU.N330B PSU.M+MA ײ6BU.N+66B ϠU.N0+ SU.N0+ MBԠ5 ײ5BU.N+55B SŠNP DA.N0+6DŽ6ҠS DBױ0BASMAԽ0B SBNKS+3ɠUPUԠSŠAS MPSŬɠUNHAAS.MA GNKS+6 DƠSSV B  20599-80016 C S 0122 DOS FORTRAN PASS 3             H0101 x HDA-MŠANPASS3-S SϠNP SϠSSPNSBŠҠMPNGHŠANSAMNS AD(UNԩSԠYPŠ5 Š(UNԩSԠYPŠ6 AD(UNԬMԩSԠYPŠ Š(UNԬMԩSԠYPŠ30 NDUNԠYPŠ3 BAKSPAŠUNԠYPŠ3 NDŠUNԠYPŠ33 ANA SAGUNƠ-DAG ANAZŠMDŠ SAMDŠSAYNGҠAND SAG̠G̠ϠZ DAYPŠƠYPŠS ADAGM3BGѠ3 SSASSHNGϠ MPGSPàPSSSPA̠UNN. SBGNԠSԠAϠPNԠAԠUN. ANAA̠PUAAYHASϠAS SBNKS+3ɠMԠ"DAUN" DBGBMԠA"B"ƠUPUԠ(YPŠ DAYPŠ6Ҡ30 SA..YPŠSVN ADB.N0+ҠA"BNB"ƠNPU. DA.N+5(ԠMҩ SBNKS+3 SBGNԠƠHŠNԠSYMB̠S DA.N0+ PB.M+AGHԠPAN.HNŠHAV MPGBϠABNAYADҠ DBG.DϠHSŠMԠA"SB.D." SBNKS+3 SBGNԠPKUPMA. PB.M+ƠANASSKGϠϠPSS MPGƠ-D DA.N3+6HSŠMԠA GSԱSBNKS+3ɠ"DƠMA" DA.N3+6DBYA B"DNDS" SBNKS+3ɠANDSAVŠADD.NG̠SϠ SAG̠ANBŠPAHDA. SBGNԠNנMAKŠSUŠHŠNԠMN PB.M+SAGHԠPAN.ƠSϬGϠ MPGSPPSSHŠS. GASDA.N0+ҠMSSAG( SB MPSϬ GƠDAYPŠ-DSGA̠NYH PA.N+YPŠ. BSSMԠԠ0 MPGASƠNԬ. SBGSԠ-DAG DA.N+5ԠM MPGSԱ GBϠDBG.BϠMԠ"SB.B." SBNKS+3 GSPSBGNԠBASàN̠P DAGԠנDҠBSƠNY AND.N+NA. PA.N0+3NSANԠ? MPGSMPYSPSSASSMPŠVA. PA.N0+SԠҠNNDMVAAB. MPGSMP PA.N0+5SԠҠAAYVAAB MPGAAY PA.N0+6SԠҠSUBSPDVAAB MPGAV PB.M+6SԠҠԠPAN MPGDP GPPB.N+SԠҠND MPG MPGASGA̠NY GϠDAYPŠNDƠBASNG. SAƠUPU MP+ DA.N0+MԠA"SB.DA." DBG.DA SBNKS+3 DANԠPAHHŠ̠AB.NŠHA SAG̬ɠƠNNŠASMDHSSA SA0..ANP DAG SZASS-DAD? SAPVYSŠADNNԠSAMN MPSϬɠHNUN. GBSS-DAG GAVSBGPAAYVAABŠPSS. PNSϠASԠ.PAN.ƠVA. NASAVŠHŠMNԠNGH DB0ɠGHԠPAN.NGM SBGMANDPAŠ DB.N+HANND. SB0 DB0SԠBϠA+ NB DAAANDAA. SBNKS+6ɠMPUŠADDSSƠAAYM DAAƠNSANԠSUBSPԬG ADA.N0+HŠSUBSPԠANDPA DA0ɠNGM3. SAGM3 DAAɠANDSŠԠHŠHŠ.PAN SAGMɠASPVUSY. DAGMSԠAϠPNԠH  SAAANDHNSŠH NAMN DBGMNGSNŠԠHAS SB0ɠBNSԠϠANND. GSMPDAAɠPSSASMPŠVAAB. AND.NBANԠBԠANDAŠϠ SAMDŠSԠMDŠϠSAYA̠ҠNG DAYPŠƠYPŠSVNԠSAN SAUPUԠSAMN. MP+6 DAGM3KUDG SAAB+PUAAY ANAƠSϬMԠA DBAɠDAҠDD SBNKS+3 DBG.ɠMԠASB.. DAMDŠMDŽ0 SZA DBG.ҠHSŠASB.. DA.N0+SBDŠϠPUAAY SBNKS+3 DAYPŠƠYPŠSDDԠSANNPU SASSSAMN. MPGSM DAGM3KUDG SAAB+PUAAY DA.N0+6SŠDŠϠPUAAY DBA SBNKS+3 GSMSBGNԠƠNԠMNԠSA PB.M+0MMA MPGSPUNϠN̠P PB.M+ƠAGHԠPANGϠ MPGDPGHԠPANPSS MPGPHSŠϠGP GAAYAPSSAU̠AAY. SAMDŠSԠNGҠMDŠϠADDMN. DAAɠSԠBANYNAAND SBSAҠA̠SAҠϠGԠDM ASԠҠADAVAU DBDM SBNKS+3ɠMԠ"DAANGH" DA.N3+5SԠAҠDBDŠϠPUAAY DBAɠBANYϠB NBNVԠϠASUBSPDVA. SBNKS+3ɠMԠ"DBADDSS" DBG.AҠSԠ.A. DAԠƠԽ0 SZA DBG.AҠҠ.A.ƠԽ DA.N0+SԠҠSB SBNKS+3ɠMԠSB.A.ҠSB.A. MPGSM GDPSBGPPSSPAMNS. ADA.N5BAKUPSAHNGҠ(Ҡ. DB0 PB.M+5SԠҠ MPGḎ PB.M+6SԠҠ( MPGD̲ PB.M+SԠҠ MPGD̲ MPGDP+NNŠƠHS GḎADA.N5+NנPNԠAԠHŠMMA DB0 PB.M+0HKHAԠԠSAMMA SS MPGASD. DB.N+NSԠANNDMN SBGMɠNPAŠƠHŠ.PAN. SZBNԠBUMPAB̠UNҠAND DBBNԠSŠVҠMMA. SB0 SAGM SBNKS+30 A ADAGMPNԠϠPDŠHŠ.P. DB.M+SԠAGHԠPANH SB0 DBGMɠDBYHŠAB. SBGM BNנ̠NHZS ADA.N5 SB0 PAGM MPGSP MP- GD̲B SBGM MPGSP GDPSZAHANDŠGHԠPAN DAAɠADAB SBNKS+9ɠA̠D-ND MPGSM GSPàDBYPŠGԠUNN ADBGSPBSԠD DBɠNB A SAMD SBNKS+3ɠMԠDAVAU DBAɠGԠHŠUN DA.N0+3 SBNKS+3ɠMԠADAUN DA.N0+MԠSB.AP DBG.AP SBNKS+3 SBGN PB.N+HKҠND MPSϬɠK MPGASNԠK GNԠNPBUMPSAϠHŠNԠNN-Z SZAMN DBA SZBSS MP-3 DAA MPGNԬ GPNPGS.P.ϠMAHHŠNԠ.P. DAASԠGMϠPNԠA SAGMUNԠMN BSԠPAN.UNҠϠ0 GP3DAGMɠGԠHŠMN ANDGMASK PA.M+GHԠPAN? M PGP PA.M+6ԠPAN? ADB.N5DMNԠUNҠƠ.P. SZGMNԠAPAN MPGP3 GPNBSZBNMNԠSԠƠ.P.. MP-3 DAGM MPGP GMASKԠ00 GMBSS GMBSS GM3BSS GSPBDƠ-30B Ԡ300030003000NDBAKSPAŬND GM3BԠ-3 GBUGD̲ G̠BSS G.DϠԠ3 G.BϠԠ53 G.DAԠ3 G.ɠԠ303 G.AҠԠ3 G.AҠԠ363 G.ҠԠ333 G.APԠ3 GNKS+ DƠS DƠS DƠS DƠS DƠS DƠS DƠS HDA-MŠANPASS3-AS GNKS+ DƠԠMAԠP.NY GNKS+3 DƠAS3ASƠP.NY AS-3SHŠASƠPSSҠҠPASS3-K AS3NP ANA SAASGSԠAGϠNDAŠAS-AS. PUAAY AS3SBNKS+ɠADSAMN DASYPŠSAMNԠYP AND׷BMASKUԠ6BS PA.NASƠ?(YPŽ0B MPAS33YSPSS PA.N+MAԠ? MPAS3YSUPUԠMAԠANDNNU ANϬSԠAS-AG SAASG MPAS3 AS3SBNKS+ɠUPUԠMA MPAS3NNUŠKNGҠASS AS33DASYP AƬAƠN.ƠPAAMS AND.N+ҠBS MA SASPADSԠ-(N.ƠPAAMS+ DAA SBSAҠSAҠDV̠NY DB0 PB.N5ADD.DND? MP+3NϬK DA.NYSDUBYDNDASS SBҠPNԠ SBNKS+ɠA̠PPUAϠPSSP-PUA- AYDŠҠAS DBSNԠNY-PNԠADD.ƠASƬSԠBY PUAAY MBNBMPM.ҠNDԠ. DA.N+55BPDŠҠMP̠ADD. SBNKS+3ɠUPUԠMPNY MPAS3NNU MAԠPSSҠҠMAԠSAMNSUNG BŠHŠSԠUABŠSAMN ԠNP DAAB SBSDV̠HKҠAB̠NSYMBAB PA.N5-? MPұYSAB̠NԠNK ANADUBYDNDAB SBҠUPUԠ-YPŽ MPԬɠ ұDAAB SBDV̠NҠMAԠAB̠NSYMBAB DANԠAVŠ.ƠAB SAɠϠNYNSYMBAB DBA DA.N3+3BPDŠҠASɠU SBNKS+3ɠA̠PUAAYϠUPUԠMA MPԬɠ HDA-MŠANPASS3- BUPUԠPGAMNPASS3 BNP SAMBر DAYPŠADDYP PA.N0+YPŽҠPUAAY-DŠ? SSYSNNU MPMPKNϠUMP DAMBرADDϠBŠUPU SAMNDɠSŠNNԠBUҠAN SZMNDNMNԠBUҠADDSS DBMND PBMBU5SHŠBUҠU SSYSNNU MPBɠNϠUN MԲDAMND MANA ADAMNDNUMBҠƠDSϠBŠUPU SZASSNNŠ? MPBɠYS DB.N0+ SBYPŠD-YPŽҠPUAAY-D DBMND SBDSKUPUԠBUҠϠDSK MɠDAMND SAMNDNAZŠBUҠA MPBɠYSUN MPKSZASSSHSANNASAN MPMԲNϬUPUԠPUAAY-BU MPMɠYSUMPϠNASAN MBرԠ0 MBU3BSS0 MBU5DƠ MNDBSS MNDƠDƠMBU3 GNKS+ DƠԉKB HDA-MŠANPASS3-AD+NDV ADANPUԠUNŠNPASS3 ADANP A SASYP SBDSKADD-YP SAYPŠSԠ-YPŠ(Ҡ PA.N0+APHASNG? MPMDAYS PA.N0+DVSԠ(YPŠ? MPMDAYSSKPSYMBAB SBDSK DBMBU SBMNAPSԠADD.NPUAAY-BU MANA SAMNASԠPUA-BUҠUN SBDSKADPUAAY-D SAMNAɠSŠNBU SZMNABUMPADDҠNPUAAY-BU SZMNAADY? MP-NϬNNUŠAD DAMBUƠAƠBU DBMNAA+ƠDŠNBU MPADAɠ MDASBDSKADNGHSYMBAB MANA SAANSԠUN SBDSKSKPDVSԠD SZANND? MP-NϬNNU MPADA+YSADNԠD MDASBDSKSKPNGHD SBDSKADNGHƠAPHA MANA SAAN SBDSKADNGHNSԠS MANA ADASPƠAVA̠MMYPNS SABSAƠNSԠS SASAD ADAAN SAAAƠAPHA SAA MANA ADADV SSASSDVSԠVSAPHA? MPԠYSU SBDSKAB̠VAU SAAB SBDSKADDNDϠAB SANAD SBDSKSAMNԠYP SASYP SBDSKSKPYP SBDSKANDNGHAPHA SBDSK SAAɠSŠAPHAD SZA SZANNDƠAPHAMVŠ? MP-NϬNNU DABS PASNSԠSԠMPY? MPADAɠYS SBDSKSKPDYP SBDSKANDADNGHNS SBDSK SASADɠSŠNSԠNNS SZSADBUMPNSԠADD DASAD PASNDƠNSԠMVŠ? MPADAɠYS MP-6 MNAԠ0 MNAԠ0 ANBSS SADBSS MBUƠDƠMBU MBUƠBSS0PUAAY-DŠBU BSS NDV̠NPBDVSԠ DA SZAZϠMANSAB̠NY MP+3 ADB.N0+3GHƠAB̠NY3 MPNDV̬ AND.N0+ NA AS ADA.N0+ SANDV- DA SSASS MPNDVNԠDMNSND NB A SSA NB AS ANDMPA SZASS NB NDVADBNDV-UNԠD MPNDV̬ MPAҠԠ300 GNDV DƠNDV GNKS+ DƠADA HDA-MŠANPASS3-SPPAUS MϱU.N0+ MϲU.N0+ M3U.N0+3 MϴU.N0+ M5U.N0+5 M6U.N0+6 MϷU.N0+ Mϱ0U.N MϱU.N+ Mϱ5U.N+5 MϱU.N+ Mϲ0U.N MϲU.N+ MϲU.N+ Mϲ5U.N+5 M3U.N3+ M3U.N3+ M36U.N3+6 M3U.N3+ MMU.N5 MMU.N5+ MḎU.M+0 MD̲U.M+6 MD3U.M+ MP6U.M+5 MPUԱUNKS+3 NYPNԠҠPAUSŠSAMN MSPNP DAMSP SAMSPSŠUNADDSSNMSP DAMƱ SAMSPSŠPAUSŠҠPUAAYA MPMSP+3 NYPNԠҠSPSAMN MSPNP DAMƲ SAMSPSŠSPҠPUAAYA A SAMDŠSԠNGҠMD DAA PAMϱSSԠBADANND MPMSGϱYSGϠϠPUAAYA̠ҠA DAANϬHKHAԠBASNGS ADAMϲNŠDPUSND PAA MP+YSNNU MұDAMϴNϬADҠNDAҠAND SBҠGϠϠDAGNSS MPMSPɠUNϠANGPGAM DAAɠHKHAԠHŠSԠBAD ANDM3SANNGҠNSAN PAM3 MPMSGϲ MPMұƠNԬGϠϠDAGNSS MSGϱDAMϲADAHANDA MPMSGϲ+UNϠANGPGAM MSGϲDBAɠADBHBAPAND ANAADAHDANDA SBMPUԱɠA̠PUAAY DAMϷADAHSBNDA DBMSPADBHPAUSŠҠSP SBMPUԱɠA̠PUAAY MPMSPɠUNϠANGPGAM MƱԠ3.PAUS MƲԠ3.SP HDA-MŠANPASS3-UNG NYPNԠҠUNSAMN MSP3NP DAMDV̬ɠADSԠDƠDVS ANDMϲ0SAŠYPŠB SAMDŠSԠMDŠNDA ҠMϴMBANANҠNN SADMNSNDVAABŠƠ DAPYPŠSHSAUNN PA.N0+SHSAPGAM MPMSP3ɠYSUN ADA.N5+ƠNԬUMPVҠDAA SSA MP+3 ANAADAHDANDA SBMPUԱɠA̠PUAAY B DAMϱADAHUMPNDA SBMPUԱɠAJPUAAY MPMSP3ɠUNϠANGPGAM NYPNԠҠGϠϠNSAMN MSPNP DAAHKHAԠBASNGS ADAMϲNŠDPUSND PAA MP+YSNNU MҲDAMϴNϬADҠNDAҠAND SBҠGϠϠDAGNSS MPMSPɠUNϠANGPGAM DAAɠHKHAԠHŠSԠBAD ANDM3SANNGҠNSAN PAM3 SSƠSϬNNU MPMҲHSŠGϠϠ DBA SBMBKHKAB̠ҠϠ9999ANG MPMSPɠҬUNϠANGPGAM DBAɠADBHBAAB DAMϱADAHMPNDA SBMPUԱɠA̠PUAAY MPMSPɠUNϠANGPGAM NYPNԠҠGϠϠ(N..NMʠSAMN MSP5NP DBANAZŠBADADDSS A SAMSPNAZŠAB̠UN DA PAMD̲SHŠSԠBADA( MP+ƠSϬNNU M3DAMϴHSŬADҠNDA SBҠANDGϠϠDAGNSS MPMSP5ɠUNϠANGPGAM MPNBNMNԠBADADDSS DAɠBANNԠBAD ANDM3SAŠYPŠBS PAM3SHSANNGҠNSAN SSƠSϬNNU MPM3HSŠGϠϠҠAN SBMBKHKAB̠ҠϠ9999ANG MPMSP5ɠҬUNϠANGPGAM SZMSPNMNԠAB̠UN NBNMNԠBADADDSS 5> DAɠBANNԠBAD PAMḎSHSA MPMPƠSϠNNUŠHKNGSNG PAMD3SHSA SSƠSϠNNU MPM3HSŬGϠϠҠAN NBNMNԠBADADDSS DAɠBANNԠBAD PAMḎSHSA NB DA SAMSPSŠMPAY ANDM3SAŠYPŠBS PAMϴSHSANNGҠVAAB SSƠSϬNNU MPM3HSŠGϠϠҠAN NBNMNԠBADADDSS DAɠBANNԠBAD PAMϱSHSHŠNDƠHŠSNG SSƠSϬNNU MPM3HSŠGϠϠҠAN DBM3ADBHGϠ DAMϷADAHSBNDA SBMPUԱɠA̠PUAAY DBMSPADBHAB̠UN ADBMϲADD DAM3ADBHDƪ+BNDA SBMPUԱɠA̠PUAAY DBMSPADBHNDؠVAAB DAMϱ0ADAHDƠNDA SBMPUԱɠA̠PUAAY DBMSP MBNBNAZŠAB̠DNN SBMSPUN ANA SAMSPNAZŠAB̠A MPDAA ADAMSP DB0ɠADBHBAAB DAM36ADAHDƠNDA SBMPUԱɠA̠PUAAY SZMSPNMNԠAB̠AҠ SZMSP SZMSPHASHŠASԠAB̠BNDND MPMPNϬGϠBAKҠNԠAB MPMSP5ɠYSUNϠANGPGAM MSPԠ0 MSPԠ0 M3Ԡ063.G |HFBBH  20599-80017 C S 0122 DOS FORTRAN PASS 3             H0101 y HDA-MŠANPASS3-BGNNDD NYPNԠҠBGNDϠSAMN MSPANPNYҠMPDD SA SBMSPDSAVŠA DAMSPA SAMSPSŠUNADDSSNMSP ANA SAMSPASԠMPDDϠAG MPM5+5 MSPNPNMA̠NY A SAMSPAAҠMPDDϠAG DBANAZŠBADADDSS SBMSPDSAVŠA DA ANDM3 PAM3SHŠSԠBADAAB MP+ƠSϬNNU M5DAMϴHSŬADҠNDA SBҠANDGϠϠDAGNSS MPMSP SBMBKHKAB̠ҠϠ9999ANG MPMSPɠҬUNϠANGPGAM NBNMNԠBADADDSS DAɠBANNԠBAD ANDM3SAŠYPŠBS PAMϴSHSANNGҠVAAB SSƠSϬNNU MPM5HSŬGϠϠ SBMSPDSŠBAADDSSƠND NBNMNԠBADADDSS DAɠBANNԠBAD PAMP6SHSAN SSƠSϬNNU MPM5HSŬGϠϠ SBMSPDSŠBADADDSS DBMMNAZŠMUNҠϠ- MP5NBNMNԠMUN SZMSPDNMNԠBADADDSS DAMSPDɠBANNԠBAD ANDM3SAŠYPŠBS PAMϴSHSANNGҠVAAB MPM5PNNU PAM3NGҠNSANԠ? SSƠSϬNNU MPM5HSŬGϠϠ SBMSP3DSŠMUNҠMPAY DBMSPDADqYBHADDSSƠD SBSVAUAŠHŠNSAN SSA MPM5ƠVAUŠSNGAVŠ SZASSZϠGϠϠ MPM5 MANAMPMNԠVAU SAMSPDɠSŠVAUŠNBASNG DBMSP3DSŠMUN M5PSZMSPDNMNԠBADADDSS DAMSPDɠBANNԠBAD PAMḎSHSA MPMP5ƠSϬHKNԠD PAMϱSHSHŠND SSƠSϬNNU MPM5HSŬGϠϠ PBMϱHKHAԠHŠMUNҠUAS MP+3NŠҠZ SZB MPM5 SBMSP3DSŠMUN DAMSPD NA DA0ɠADNDؠVAAB DBMϲADAVŠPSNND SBMD̠ABŠNYANDSAHDϠAB MPM5+UNƠHŠABŠSU SZAƠNDؠSNԠNABŠSKP MPM5+NDؠAADYNABŬ ADBMMSUBAԠϠGԠSANG SBMSPDADDSSƠDϠABŠNY DAMSPASHSANMPDDϠA SZASSƠSϠUMPAUNDHŠAB MP+3VAANUN DAMSPD MP+3 DBMSPDADBKHAB̠ADDSS SBSVAUAŠAB SZMSPDNMNԠDϠABŠADDSS SAMSPDɠSŠBNAYNDAB SZMSPDNMNԠBAADDSSD DBMMSԠUPϠSKPADNGƠM MP6SZB SZMSPDNMNԠDϠABŠADDSS DAMSPDɠBANNԠBAD SAMSPDɠSŠNDϠAB SZMSPDNMNԠBADADDSS SZMSPD NBNMNԠB PBMϲSHSHŠND SSƠSϬUMPUԠƠP MPMP6 DAMSP3DADMUN SZACƠZϠSŠ-NM3NY MP+3ƠDϠAB A SAMSPD A SAMDŠSԠNGҠMD DAMSPDADADDSSƠND ADAMϲADD DB0ɠADBHM ANAADAHDANDA SSBSSSHSANSAN MP+3NϠUMP MBNBYSMPMN ADA.N5DUŠAϠ0ŠDANSAN SBMPUԱɠA̠PUAAY DBMSPDɠADBHND DAM6ADAHSANDA SBMPUԱɠA̠PUAAY DAMSPD ADA.N5+3 DBNԠSŠANUNҠND SB0ɠABŠAԠDϠPSAԠPSN ASԠPVUSPϠNSUŠHA SAPVASUBSUNԠDANDؠSN DD MPMSPɠUNϠANGPGAM MSPDԠ0 MSPDԠ0 MSP3DԠ0 MSPDԠ0 AB̠HKSUBUN MBKNP SBMDϠSŠBADDSSƠHŠAB SBSVAUAŠAB SSASKPƠVAUŠPSV MPMBŠGϠϠ SZASSSKPƠVAUŠNԠZ MPMBŠGϠϠ ADAMBMADD-0000ϠVAU SSASSSKPƠSUԠNGAVŬ.. MPMBŠAB̠SSHAN0000 DBMDϠSŠAB̠ADDSSNB SZMBKNMNԠUNAN MPMBKɠUNϠANGPGAM MBŠANAADҠNDA SBҠGϠϠDAGNSS MPMBKɠUNϠANGPGAMA ҠAN MBMDà-0000 MDϠԠ0 DϠABŠSAHSUBUN !AHDϠABŠNYNANSHŠNG .AVŠADDSSƠBGNNNGƠHŠP .NDAB̠(BNAY 3.NDؠVAABŠ(BAMAԩ .MBAMA 5.M3BAMAԠҠ-ƠNϠM3NSAMN HŠSUBUNŠSADHHŠMϠB SAHDҠNANHŠAPPPAŠMA ANDSAVŠANHNANNY NB ƠHŠMSNHŠABŬUNSMAD ϠHŠHDANƠHŠANGSUN HBNAANDHŠABSUŠAN HŠMNB ƠHŠMSNԠNHŠABŬANDHŠAB SNԠU̬UNSMADŠϠHŠHD ANƠHŠANGSUNŠHZ NAANDHŠABSUŠANƠHŠS ŠANҠHSMNB ƠHŠMSNԠNHŠABŬBUԠHŠAB SU̬UNSMADŠϠHŠSNDAN ƠHŠANGSUNŠHBNA MD̠NP SAMDԴSŠA A SAMD3 DAMϱNAZŠABŠU̠AG SAMDԱ DAMDNϠNAZŠNYUN SAMDԲ ADBMDNDADDASԠADDSSƠDϠAB NA MḎADBMDM5ADD-5ϠDϠABŠADDSS.MV DAɠUPHŠABŠNYBYNY SZASSSKPƠNYNNZ MPMD3UMPϠAҠABŠU̠AG PAMDԴSNYUA̠ϠM MPMD̴ƠSϬUMP DAMD3 SZASS MPMD5 MD̲SZMDԲHASHŠMPŠABŠBN MPMḎHKDƠNԠNNUŠHK DAMDԱADABŠU̠AG SZA MPMD̬ɠHSŬUMPϠҠUN ?DAMD3 SZASS MPMD̴+ DBMD3 ADBM5 A MPMD̴+ MD3SAMDԱAҠABŠU̠AG MPMD̲NNUŠHKNG MD̴DAMϱADMUNDNDA SZMD̠NMNԠUNADDSS MPMD̬ɠUNϠANGPGAM MD5SBMD3 MPMD̲ MDԱԠ0 MDԲԠ0 MD3Ԡ0 MDԴԠ0 MDM5Dà-5 MDNϠDà-0 NYPNԠҠNDƠD MSPNP SAMSPDSŠBNAYAB MPBNBSԠBϠAB̠AVŠADDSS SBMD̠SAHDϠAB MPM6+6AB̠NԠUNDABŠU̬ SZASSSHSAB̠NHŠAB MPMPƠNԠGϠϠNSNGHK ADBMMBNANSADDSSƠAB̠ADD SBMSPD-ϠGԠNYSAԠS ADBMϲADDϠGԠNDؠADDSS SBMSPD3SŠNDؠADDSS DBɠBANND A SAMDŠSԠNGҠMD ANAADAHDANDA SBMPUԱɠA̠PUAAY DBMSPDADDϠNYSAԠϠG ADBMϴADDSSƠNDؠNMNԠ(M3 DB DAMϲADAHNANDA PBMMSM3-..NϠM3SPD MP+6YSNNU ADAMM6NϬDUŠAϠ3ADANDA SSBSSSHSANSAN(SD-ũ MP+3NϠUMP MBNBYSMPMN ADA.N+3A6ADANSAN SBMPUԱɠA̠PUAAY DBMSPD3ɠBANND DAM6ADAHSANDA SBMPUԱɠA̠PUAAY DAM5ADAHMANANDA SBMPUԱɠA̠PUAAY SZMSPD3 DBMSPD3ɠADBHNA̠NDؠVAUa(M DAM3ADAHADANDA SSBSSSHSANSAN MP+3NϠUMP MBNBYSMPMN ADA.N+3A6ADANSAN SBMPUԱɠA̠PUAAY DBMNSSAADBHԠ0(SSASS DAMϲ5ADAHԠNDA SBMPUԱɠA̠PUAAY DBMSPDɠADBH.ADDSSƠH DAMϱ5BGNNNGƠPAHMP SBMPUԱɠA̠PUAAY DAMDM5PPAŠϠAҠABŠNY SAMSPD3SŠ-5NMSP3 DBMSPDADBHNYSA A SAɠSŠZϠNNYAN NBNMNԠNYAN SZMSPD3HASHSNYBNAD MP-3NϬNNUŠANG DAMSPDADBNAYAB MPMPHKABŠҠHҠPS NDNGNHSAB HKҠԠDϠP NSNGBYHKNGHAԠA DϠPSNGHSD HAVŠBNADMAB MPDBMSPDPKUPSAԠƠHSNY DAɠADHŠVAU SZASԠZG MPM6NϬGϠϠ PBMDNDSHSHŠNDƠDϠAB MPMSPɠYSUNϠANGPGAM NBNϬNMNԠADDSS MPMP+NNUŠHKNG M6A SAɠSŠZϠNNYAN PBMDNDSHSHŠNDƠDϠAB MP+3YSGNAŠDAGNS NBNMNԠADDSS MPM6+NNUŠϠAҠAB DAMϱADҠNDA SBҠA̠DAGNSS MPMSPɠUNϠANGPGAM MNSSAԠ0DŠҠSSASS MSPDԠ0 MSPDDƠm.N0 MSPD3Ԡ0 MM6Dà- HDA-MŠANPASS3-DAA DAASNP ANA SAYPŠDYPŠҠPUAAY DAN SASVàSAVŠUNԠàUN DAABA-PN DA0PAANDƠBA? MPDANYSNSHUP SBSBԠSAHҠ MPDAұNԠUND SADUNPNҠҠNSANS DA0A SADAMU̠NSAN-PAԠUNԽ DBDUN NB DA PA.M+(PAԠUNԠƠNSANԠ SSYS MPDA06 DADUN AND.N3+MUPҠ PA.N0+3NGҠNSANԠ? NBSSYSK MPDAұNϬ DADUN SBDUNNSANSPN DB0 SBSGԠMUP MANA SZASS0-MUP MPDAұYS SADAMU̠SԠMUPҠUN DA06B DADUN PA.M+? MP+5YS PA.M+-? NBSSYS MP+3 NB SZDUNBUMPNSԠPNҠƠSGND SBSGNƠҠ-0Ҡ+ҠUNSGND DADUN AND.N+B PA.N0+3NSANԠ?(DŠ3 SSYSK MPDAұNϬҬSKPUNԠS DA03DAA SADAVAҠUNԠVAAB AND.N+ MANA ADA.N0+3 SSASSHKVAAB MPDAұҬVA.ASSDN.Դ ADA.N0+3 SSA MPDAұҬVA.ASSDN.GԠ6 DAA SBSA DAPAAM SZAMA̠PAAM MPDAұYS DA SZAMMN? MPDAұYS SZA DAA A̬A AND.N+3B PAױBGSSVAҠHVAҠSS(B MPDAұYS PAײBSSVAҠHNSԠSS(B SSYS MPDA0SMPŠVA SZA DAA SAAB+SԠNSԠADDNDƠSSVA SZA SZABUMPVAҠPN DA0DADUNɠBAMAԠƠNSAN AND.N0BϠMASKYP-BԠƠVA DB0 DADAVAҠVAҠBAMA AND.NYPŠBԠƠNS PASAMŠYPS? SSYSK MPDAұҬDNԠYPS DBDAVAҠBAMA SBVDƠDNŠVAAB DA55B55BҠG DBDAVAҠVAҠBAMA SBPUAGNAŠG DA56B56BPUA-DŠҠGNNS DBDUN SBPUAGNAŠNSAN DAA PA.M+3NDANGNDƠVAҠS MPDA05YSSAԠNԠVAҠS PA.M+0 MP+3YSK DA.N0+NϬ SBҠPNԠ SZABUMPVAҠPN SZDAMU̠BUMPSԠMUP-NSԠUN MPDA03KPSAMŠNS SZDUNNDƠMUPY DADUNɠBAMNGNS SZDUNBUMPNSԠPN PA.M+0 MPDA0YSK MPDAұNϬҬSKPUNԠS DA05DADAMU PA.N5NϠNSANS SSYSK MPDAұNϬҬSKPUNԠS SZDUNBUMPN.PN DBDUN DADUN PB.M+3(NDƠNSԠSԠ NASSYSK MPDAұҬϠMANYNS NABUMPPASSDMMAҠB SAASԠVAҠPNҠAԠNԠVAҠS ҠNDƠSAMN MPDA0SAԠNԠVAҠS DANDA5B5B ׹SBPUAUPUԠ MPDAASɠ DUNBSSPNҠNNSԠS DAMU̠BSSMUPҠUN DAVAҠBSSUNԠVAҠMA ױBԠ ײBԠ 55BԠ55 56BԠ56 5BԠ5 SGNƠBSS DAұDA.N0+ SBҠPNԠ SBSBԠSAHҠ MPDANNԠUND SAASԠNנA SBSB MPDANNԠUND MPDAN-3NNUŠPSSNG SBԠSAHSBAҠA.ANGS:SBSB UNƠNԠUND UNƠUND SBԠNP DAA PAANDƠBA MPSBԬɠNԠUNDANAŠ DB0 NANϬBUMPBAADD PB.M+3 MPSBűYS MPSB+P SBűSZSBԠBUMPUNADD MPSBԬɠUNHABAADD GNKS+ DƠDAASDAAPSS HDA-MŠANPASS3-ND NYPNԠҠNDSAMNԠNPASS3 MSP0NP DANAD SZASSABDND? MPMNND-YSGNAŠUND DAPVSHKHŠYPŠƠHŠPVUS PAMϱSAMNԬƠHSASA MPMNNDUN((G(3 MANAҠASP(5DϠNԠGNA ADAMϱMPNYɠD SSASS MP+ ADAMϴ SSASS MPMNND SBNKS+6ɠA̠UNPSS MNNDDBMDADADDABŠADDSS DAɠBANHŠVAU SZASԠZ MPMҷNϠ PBMDNDYSSHSHŠNDƠDϠAB MPMNDYSNNU NBNϬNMNԠDϠABŠADDSS MPMNND+NNUŠHKҠZϠDAB MҷA SAɠSŠZϠNHSAN PBMDNDSHSHŠNDƠDϠAB MP+3YSUMPU NBNϬNMNԠDϠABŠADDSS MPMҷ+ DAMϱADҠNDA SBҠA̠DAGNSS MNDDADV SAA DBDV DA.N3+3PϠUPUԠSYMB̠AB SBMPUԱɠA̠PUAAY A SANADSԠϠ0ҠҠPN DADV̠NDƠDADVAҠS MPU+NDƠSYMB̠ABŠ? NNҠSAHADDPNҠNSYMB̠AB DB0 SZBSSAB̠? MPBHKYSHKAB UҠDAHADD NABUMPADDSS PADV̠NDƠSԠ? MPNDYSNSHUPNDP MPNNҠNϬNNUŠSAH BHKNA DB0 SBAB̠SԠAB̠VAU NAàƠAB̠ADD. SAHADD DB0ɠAB̠ADDSS SZAB̠DND? MPU+YSK DA.N0+NϬUNDƠAB-Ҡ SBҠPNԠ MPUҠNNUŠSAH HADDBSS NDBSS0 SŠHŠNGPAAMS NHŠMU-MPŠAB SBNDPGŠNDƠPAG DBN DAPYP PA.N0+ ADB.N0+3ADD3Ϡ.UNҠҠMN. SBNԠD SBBUADɠ.UNҠϠMU-BU SZBUAD SZBUAD SZBUAD DASZPGAMASABŠSZ SABUAD SZBUAD A SAYPŠSԠ0ϠAҠBU SBNKS+ɠMPYBUҠBYB DBDV MBNB ADBDV̠NGHƠDVS SBUSԠUN DABUAD DBAK-AKN SB0ɠϠMU-MPŠBU ADA.N0+3SԠAԠA+ƠBK DBSԠ-SҠN SB0 NA DBBAADDҠN-BU SB0 DA.N0+ SAYPŠD-YPŽҠSYMB̠AB DAU DBDV̠AƠSYMB̠AB SBDSKUPUԠSYMB̠AB SZBUAD SZBUAD DANSZSZŠƠNSANԠAA SABUAD DABUAD ADA.N0+3 SABUADSԠAԠBGNƠNԠBK PABUNDSHŠMU-MPŠABŠU MPNKS+33ɠYSMNAŠPASS3 MPMSP0ɠNϬUNϠANGPGAM MDADDƠDAD MDNDUDND UBSS HDA-MŠANPASS3-MA NYPNԠҠMAԠSAMN MSPNP DANAD SZASSSHŠMAԠSAMNԠABD MP+YSNNU DAMϱNϬGNAŠҠMSSAG SB MPMSPɠUNϠANGPGAM DAAG SZASAGZ MPMGƱNϬUMP BYSADBH- DAM3ADAHMPAB̠NDA SBMPUԱɠA̠PUAAY SAAGSŠAB̠ADDSSNAG DANԠADUNԠANUN SAAGɠSŠNAB̠.ADDSS DAAB̠NMNԠHŠAB̠A SBSDV̠BYNŠϠSKPVҠH SZɠUMPNSUN MGƱDAA MANA ADAAANGHƠMAԠSNG ADAAGɠADDNNSƠAB̠.ADD. SAAGɠSŠNAB̠.ADDSS DBA DAM3ADAHASɠNDA SBMPUԱɠHFBA̠PUAAY MPMSPɠUNϠANGPGAM DV̠DƠ+AƠSYMB̠AB MDV̠UDV GNKS DƠMSP BSS DƠMSP DƠMSP5 DƠMSP DƠMSP DƠMSP3 BSS DƠMSP GNKS+9 DƠMSP0 GNKS+9 DƠMSP DƠMSPA GNKS+3 DƠMD N3UN03 NDN03 aH  20599-80018 C S 0122 DOS FORTRAN PASS 4             H0101 z ASMBҬ̬BNàDSANPASS-AUGUSԠ9 NAMN05 HDA-MŠANPASS-6 ԠBAPAGNԬDSɬDS ԠASììUNϬUNPPN ԠDUG ԠASìB׬B ԠHDN ԠNDP ԠGϬԬ NŠUN PNԠUPN DSKUDS AKUA SԠUS BADUBA UNUUUN UNPNUUNP NàU PAGŠUPAG ԠU DSɠUDS Z HDA-MŠANPASS-BAS N HDDSANPASS-BAS NԠN MMNBUҠҠA̠SGMNS MMNBSS5 BNDUMMN+ PԠUMMN+ BUƠUMMN+ BUNDDƠMMN+ BUҠDƠBUƠAƠMU-MPŠBU N.BSSNYPNԠƠGNҠUN PYPŠBSSPGAMYP:PGSUBҽ N.UNN3A̠UNԽ BUADBSS Z HҠUBPƠAVA̠MM N HҠU00BPƠAVA̠MM .N0Ԡ0356 .NԠ0356 .NԠ0356 .N3Ԡ303333335363 .NԠ0 .N5Ԡ65 àBSS.D:0ABS̬PGì 3MMNì PASSԠPASS-AGҠP DŠBSS ADBSSAUŠƠ.ADD.ҠHH NBSSMMNNGH PNBSSPGAMNGH .SBSS BSSPANDPNYPNS MADBSSNYPNԠҠADB DV̠BSSA+ƠDVS DBSSUNԠԠDNA NADBSSNYPNԠADD. BSBSSAƠNS SBSSUNԠADD.NNS VBASBSSBASŠƠ.VA.AA VSZBSSSZŠƠ.VAҠAA ASZBSSSZŠƠASƠASAA SZBSSSZŠƠPGASAA NSZBSSMA.SZŠƠNSANSAA AGBSSAGҠADB.0ҠN.A ABASBSSASƠASABŠSAGŠBASŠADD. BASBSSPGAS.SAGŠBASŠADD SBASBSSNSANSBASŠADD. PAMBSSNUMBҠƠMA̠PAAMS NASàNVSANNGҠԠ3KϠAS.ANUMB AԠNY. NASàNP DBM0K-0000D SBGDGԠUPPҠDG ADB6060NVԠϠAS SBNASìɠUNUPPҠDGSN. NGA SZNASàBUMPUNADD. DBMK-000D SBGDGԠNDDG BƬBƠSHԠϠUPPҠBS SBNBUƠSAV DBM00-00D SBGDGԠ3DDG ADBNBUƠADDNDDGԠN ADB6060NVԠϠAS SBNBUƠSAV DBM0D-0D SBGDGԠHAND5HDG BƬB ADB0 ADB6060BASɠƠHAND5HDG DANBUƠAASɠƠNDAND3DDG MPNASìɠ GDNP SBSAV+SAVŠMPASNVAU B0ϠDG GDSASAVŠSAVŠMAND ADASAV+MPA SSAAGҠ? MPGDNϬADY SZYSBUMPDG MPGDNNU GDDASAVŠAMAND MPGDɠ NԠNVSANUMBҠNAϠA̠ASɠ NԠNP A SASAVŠNB AND.N0+ AƬAƠ SASAV+SAVŠSGNDG SBDGGԠA̠DGԠNA ADASAV+ADDSGNDG ADA6060NVԠϠAS SANԬɠUNHUUNADD SZNԠBUMPUNADD SBDG3DDG AƬA. SASAV+SAV SBDGHDG ADASAV+ SASAV+ SBDG5HDG AƬA SASAV+ SBDG6HDG ADASAV+ DB0 DASAV+ ADA6060NVԠϠAS ADB6060 MPNԬɠ DGNP DA A̬A A SA AND.N0+MASKA̠DG MPDG NDNԠDV̠NY NҠAàDV̠ԠAàNԠNY NNԠNP DB0 SBNDV DA MPNNԬ BSS NDV̠NPBNANSDV̠ DAɠSԠNY SZAZϠMANSAB̠NY MP+3 ADB.N0+3GHƠAB̠NY3 MPNDV̬ AND.N0+ NA AS ADA.N0+ SANDV- DA SSASS MPNDVNԠDMN NB A SSA NB AS AƬA AND.N+B SZASS NB NDVADBNDV-UNԠD MPNDV̬ SAHUNŠҠABSNSYMBAB. ANGSUN:SBSDV NPUԠPAAM:AAB̠VAU UPUԠPAAMS.:ADNA̠Ҡ-ƠNԠUND BSYMBABADDҠƠAB̠ADD. SDV̠NP SADV DBDV̠AƠSYMB̠AB SDV̱NB PBDV̠NDƠSYMBAB? MPԠYSPSSBŠMAHNŠ DA SZAAB̠? MPSDV̱NϬNNUŠSAH NBYSBUMPϠADDҠƠAB̠VAU DA PADV̠SAMŠAB̠VAUS NBSSYSBUMPϠADDҠƠAB̠ADD MPSDV̱NϬNNUŠSAH MPSDV̬ɠ DV̠BSS SAҠSASASYMBABNYҠHHHŠBA MAԠSGVNNA.ԠUNS:AADD.+ NYNSYMBABBN.ƠDSNNAMŠƠNY+ HҠVAUSHUGHPAAMSqf. SAҠNP DB0MAԠϠAҠPAD SBPAD MANA SASAVŠSԠUN DADV̠AƠDVS SBNNԠGԠAƠNԠNY SZSAVŠADY? MP-NϬGԠNԠNY SASAVŠYSSAVŠAƠNY NA SASAV+SAVŠA+ DASAVŬɠSԠDNNY A̬A AND3B SAVSԠV-D ADAM3 SASSAVŠSAVŠAG DASAVŬ AND÷BGԠN.ƠHAS. ADA3B AS SASSAV+SAVŠN.ƠDS+NNAM ADASAV+AADD.ƠD DB0 SBDSԠDNA NA DB0 SBDM SZSSAV NANϬBUMPADD.ϠNԠ DB0 SBDM DASAVŬ AƬA AND׷B SAPAAMPAAMN. DASAVŬ ANDײ0B SAԠ-DVAUŠ(0Ҡ0B DASAVŬ ANDױ0B SAà-DVAUŠ(0Ҡ0B DASAVŬ AƬA A̬A AND3B SAƠ-DVAUŠ(0- DASAV+AADD.ƠNY+ DBSSAV+N.ƠDS+NNAM MPSAҬɠ VBSSV-DVAU:0HU3 PAAMBSSM.PAAMNUMB:HU63Ҡ0 ƠBSS-DVAU:0HU ԠBSSYP:0NGҬ0BA àBSSMMN-B:MMNϽPG DBSS.PG.ADD.ƠAƠAAY DMBSSVAUŠƠSԠDMNSN DMBSSDMDM M3U.N5+-3 ÷BU.N0+ 3BU.N0+3 ׷BԠ ײ0BU.N ױ0BU.N SAVŠBSS NBUƠBSS M0KԠ5360-0000D MKԠ6030-000D M00Ԡ63-00D M0DԠ66-0D 6060Ԡ30060NVSNAҠϠAS SSAVŠBSS PADNGP DA ANDMHUPPҠ0BS AƬA A̬A̠SHԠ̠0 MPPADɠ MHԠ00 MMSKԠ00 GN.BSSNYPNԠƠGN HDA-MŠANPASS-N UBSS KSVBSS SSVBSS ADSAVBSS NPNBSS ױKBԠ000 BNKSASà 3BԠ3 SPԠNP DABUAD AND3BҠBS DB0SNDD DABUAD AƬAƠUPPҠBS AND3BSSԠD SZBUADBUMPBUҠADD MPSPԬ N0DA$600B ADAUNPN SANPNN̠DҠBNAYPUNH DAױKB ADAUNPN SAHAD-NDҠADҠ000+UN SBDSɠYSADUNԠSҠAGAN SBADɠNAZŠAD DABUҠMU-BUҠGN SABUADϠBUҠADD. NDBGϠ̯GAG DAP+ SZASSBNAYUPUԠ? SZBNϬADGϠ? BNBƠ̯GҠBNAY DAP+ ADAP+3 SZAA-Ҡ-PN? ADB.N0+YSBҠAҠԬB3AҠ ANDBҠ̯G SBPASS0ƠNϠPNS A SAàSԠP.DŠABSU SAAGSԠϠ0ҠN.A̠ƠADB N0BSS0 DABUAD PABNDASԠPGAM? MPײԠYSNDMPAN DAAK SAKSVSAVŠUNԠAD-AK DAS SASSVSAVŠUNԠAD-S DABAD SAADSAVSAVŠUNԠADDҠNAD-BU MVŠPAAMSϠNAM-DBU SBSP SAHPBU+0PY SBHPBU+SUND DABUAD SAHPBU+UNMUP SZBUAD SBSP SAHPBU+3HUS SBHPBU+MNUS &;SBSP SAHPBU+5SNDS SBHPBU+60-SMS DABUAD B SBNàNAZŠNŠUN ADA.N0+5 DB0ɠAD-AKNϠҠDVS SBAK ADA.N0+3 DB0ɠAD-SҠNϠҠDVS SBS NA DBBנAƠDSK-ŠBU MBNB ADB0ɠPSNNS ADBBנADDҠNDSK-ADBU SBBAD SBDSɠADS ANASԠAD-AGNŠ0 SAGϠPVNԠASŠƠAD-AK SBDSKSKPD-YP SBDSKADNGHƠDVS MANA SAUSԠUN DADV SADV̠SԠA+ƠDVSԠA SBDSKADDƠDVS SADV̬ɠSŠNDVS SZDV̠BUMPA+ƠDVS SZUNDƠANSҠ? MP-NϬNNU DABNKSBANKS DBHDN SBUAƠNAMŠNHAD NB SAɠBANKUԠNAM NB SA DADV̬ AND.N0+NϠƠHASNNAM ADA.N0+3 AS ADADV̠GԠAƠDVSԠNY SAײ DBDV ADB.N0+ DA SAUɠMVŠNAMŠϠHAD PBײ̠NDƠANS? MP+YS SZUNϬNNU NB MP-6 A SAGSԠAD-AGϠAS-MD DAKSV SAAKSԠUNԠAD-AK DASSV SASԠSԠUNAD-S DAADSAV SABADSԠADDҠNAD-BU SBDSɠADUNԠS DABUAD ADA.N5- SANADNYPNԠADD. SZBUAD DABUAD ADA.N5- SAVBASPGAMNGH7L.VA.BAS SZBUAD DABUAD SAVSZSZŠƠA̠VA.AA SZBUAD DABUAD SAASZSZŠƠASƠASABS SZBUAD DABUAD SASZSZŠƠPGAMASABS SZBUAD SZBUAD DABUAD ADA.N5- SANNGHƠMMN SZBUAD DABUAD SANSZA̠N.ƠNSANԠS. MA ADAH SABSSԠAƠNSPƠAVA MMY-MAؠNUMBҠƠNSANS MANA ADADV̠A+ƠDVSԠ-AƠNS SSASSVנ? MPԠYSPNԠҠMSSAGŠANDH SZBUAD SZBUAD SZBUAD DADV̬ɠPGAMNAMŠNYNDVS AƬA AND׷BPAAM.DƠPGAMNAMŠN- SAPAMANSN.ƠPAAMS DADV̬ ҠUPSԠPAAMDƠPGNAM SADV̬ɠNYSϠHAԠԠDSNԠK KŠAA̠VAҠϠPNPNNGSYMB.AB DBDV NB DA AND.N+ҠBS SAPYPŠPGAMYP DA ASAS ASAS SAHPBU+9PGYPŠϠNAM-DBU DANAD NANYADDҠ+ SAɠSŠNYADDҠN(DV̩+ DAVBAS.VA.BAS ADAVSZ ADA.N5- SAABASASƠAS.BAS ADAASZ ADA.N5- SABASPG.ASBAS ADASZ ADA.N5- SASBASNS.BAS ADANSZMAؠNS.AASZ SAPNSԠMA.PG.GH. DA.N+BҠA̠PD SAD SB.S+ɠPϠNAZŠPAND NA̠DŠ(NAMNԠ DAP+ ADAP+ SADAP+3 ADAGϠADGϠAG SZASSNϠABҠ-PN? MP+3YSNNUŠASAҠB-AS PAP+3-PNNY? MPײԱYSUPUԠSYMB̠AB DABS SASNAZŠNSԠA DAPYP PA.N0+PGAM? SSYS MP+NϬSKP DA.N0+6NҠ6N SASɠNSԠҠMN.A SZSBUMPNSԠADD A SADNAZŠԠDNA NSBADBɠADPUAAYYP SZAGSԠϠN.ϠҠSUBS.AS PA.N+3ND$? MPײԠYSNDMPAN PA.N3+MAԠ? SS MP+3YS SBײMPSSMAԠSAMN MPN PA.N3+BSS? SSYS MPPUԲ+ SADŠSԠD SBADB SSA MANA SAADSԠPAND(N SB.S+ɠGNAŠBSSN SBGNDƠGNAŠD'SҠAAYA-S SBADBɠADPUAAY-DŠD SS PUԲDAPDUNԠPUAAY-DŠD SAPDŠADSԠDƠPUAAY-D DB.N0BPDŠҠD SBVAPNAZŠAԠD AND׷B SAPPDPUAAYPD ADA+ MP0 DƠ UMPABŠS DƠײDADA DƠײAàA DƠײADA3ADA DƠײMNSUB DƠײMA5MANA DƠײSA6SA DƠײSŠԬSB DƠײDƠ0D DƠײMPMP. DƠײԠ DƠײMPY3MPY DƠײDVDV DƠײMPMP DƠײSZA6SZA DƠײNԠPGAMNY DƠײSSA0SSA DƠײNANA DƠײAA DƠA~640ԠAVAAB DƠPUԲNDGϠNϠSYMB̠AB DƠԠAVAAB DƠԠAVAAB DƠײSɠSB.(ASƩ DƠײAS30AS DƠײҠ3MA DƠײBSS3BSS DƠײND33NDƠPGAM DƠԠAVAAB DƠײDB35DB DƠײDD36DUBŠAD:DD DƠײDà3DUBŠADMP:D DƠײAD0AD DƠײSBSB DƠײMM(ANGMP. DƠײDSԠ3DS:DUBŠS DƠײPɠҪ DƠײPҠ5Ҫ DƠײPɠ6ɪ DƠԠAVAAB DƠײMP50MP DƠײDV5DV DƠײSɠ5A̠ϠN.S DƠײSҠ53N.ϠA̠S DƠԠAVAAB DƠײG55G DƠײGS56GNAŠNSAN 5BԠ5 DƠײGMà60GNAŠNGNSAN DƠײDؠ6DƠNA ײҠSBײMPSSMA MPPUԲ-NԠP w6   20599-80019 C S 0122 DOS FORTRAN PASS 4             H0101 { ײMNP SBADBɠADNGHƠMAԠSAMN MANA SAUNSԠUN A SA DA.N+BPDŠҠ SAD SBADBɠADBN.VAU SAADSԠVAU SB.S+ɠGNAŠ SZUNADY? MP-NϬNNU MPײM ײDASBײ̠SԠàANDADҠP ANA SADŠPDŽҠDA SB.S+ɠUPUԠDA MPPUԲNԠP ײ̠NP SBADBɠADNDDƠPND. ADA.N5MPNSAŠDNA̠SASAԠ SAADPANDVAU ANA SAàPG.BAS SBADBɠADNŠD DB0 DAPD AƬA AND׷B PA.NA̠NSANԠ? MP+3YSSKPDNS PB5B MPPUԲ-DŠPVUSSŠAS SBPDNϬSAV ADA+ MP0 DƠ+ DƠײABSABSU DƠײM+PG.ADD. DƠײABAB̠ DƠײVҠA̠VAҠ DƠײSN.NS DƠײMMMN DƠײPҠPG.AS DƠײAҠASƠAS DƠײSA̠NS DƠײPAҠPAAM. ײABDAAD NAAAB̠VAU SBSDV̠SAHҠAB DAɠAB̠ADD.MSYMB̠AB ADA.N5-ϠGԠPGADD MPײ+ ײàADAADADD.ADDSS SBADԠADDҠҠND.S SAADSԠ.ADD. ײؠMPײ̬ɠ ײVҠDAVBAS.VA.BAS MPײ ײABSSZADBUMPϠGNA̠VAU NP A SAàABS.AN MPײ̬ɠ ײMDA.N0+3 MPײM- DAAD MPײ+ ײPҠDABASPG.dASBAS MPײ ײAҠDAABASASƠASBAS MPײ ײSDAADNS- NA SBSSAH-AND-NSԠNԠNSAN ADASBAS MPײ+ ײSSBADBɠADҠPAԠƠA̠NS DBPDҠPAԠƠNS SAPDSAVŠNԠD DAAD NAUPPҠPAԠƠNS SBSSAH-AND-NSԠA̠NS MPײS+3 ײPAҠDAPAMNϠƠPAAMS MANA ADAADDNA̠ƠPAAM ADANADNYPNԠADD. MPײ+ ײNԠSBN.ɠGN:GNAŠNYPNԠD MPPUԲ-NNU ײADASBײ̠SԠàANDAD(P DA.N0+PDŽҠADA MPײDA+ ײMADBMPԠ300BҠMANA A SAà0ҠABS. SBAD DA.N+PDŽBҠ MPײM+3 ײSASBײ̠SԠàANDAD DA.N0+6PDŽ6ҠSA MPײDA+ ײDƠSBײ̠SԠàANDAD DA.NPDŽ0BҠD MPײDA+ ײMPSBײ̠SԠàANDAD DA SZAABS.. MPײMN DAPYP PA.N0+PGAM? MPײ-YSGNAŠSB.SP UNNPGAM DANAD MANA SZASS DAMSƠSԠϠ00000BϠNDAŠ0 SAAD SZàҠPG.. ײMDA.N+PDŽBҠMP MPײDA+ DBB̠.SP SB.SɠԠҠSP DA.N0+DŠҠSB MPײDA+ ײԠSBײ̠SԠàANDAD DA.N+PDŽBҠ MPײDA+ ײSZADBMP+Ԡ00BҠSZA MPײMA+ ײSSADBMP+Ԡ00BҠSSA MPײMA+ ײNADBMP+3Ԡ00BҠNA MPײMA+ ײADBMP+Ԡ00BҠA MPײMA+ ײASDBMP+5Ԡ00BҠAS MPײMA+ ײBSSSBײ̠SԠàANDAD DA.N3+PDŽ3BҠBSS MPײDA+ ײDBSBײ̠SԠàANDAD DA.N3+5PDŽ35BҠDB MPײDA+ ײSɠSBײ̠SԠàANDADҠSBAS DA.N0+PDŽҠSB MPײDA+ ײAàSBײ̠SԠàANDAD ANAPDŽҠDA SAD SB.S+ɠUPUԠDAPND DBMP300BҠMANA A SAà0ҠABS SBADADDND0 MPײ+GNAŠMANA ײSUBDBB̠ADD.ƠSUBN.SYMB̠AB SB.SɠGNAŠԠƠNSSAY DA.N0+PDŠҠSB SAD SB.S+ɠUPUԠSB SBײ̠GԠPNDANDSԠàANDAD DAVAPPDŠҠDƠҠSA MPײDA+GNAŠDƠҠSA ײMPYDBB+MPY-NYNAB MPײSUB+ ײDVDBB+0BDV-NYNAB MPײSUB+ ײDDDBB+BDD-NYNAB MPײSUB+ ײDàDBB+0BAƠD-NY MPײSUB+ ײADDBB+BAƠAD-NY MPײSUB+ ײSBDBB+30BAƠSB-NY MPײSUB+ ײMDBB+3BAƠM SB.SɠGNAŠ DA.N0+PDŠҠSB SADŠSԠD SB.S+ɠUPU MPPUԲ-NԠP ײDSԠSBײ̠ADDSԠàANDAD ƠNԠP5Bײ̠̠NԠUN DA DBAD SANAM+SAVŠ SBNAM+SAVŠAD DBB+0BDS-NYNAB SB.SɠGNAŠ DA.N0+DŠҠSB SAD SB.S+ɠUPUԠSB DANAM+ DBNAM+ SAàSu% SBADҠD MPײMPY-GNAŠD ײMPDBB+60BAƠMP-NY MPײSUB+ ײDVDBB+6BAƠDV-NY MPײSUB+ ײSɠDBB+0BAƠؠNY A̠ϠNԠS.GNADD:SBجSAPAND(S DA.N0+6PDŠҠSA SAVAP MPײSUB+GNAŠSBجSA ײSҠDBB+BAƠA-NY NGҠϠA̠SŠGNAS:SBAԠDSԠPAND(3S SB.SɠGNAŠԠҠA DA.N0+ SADŠPDŽҠSB SB.S+ɠGNAŠSBA MPײDSԠGNAŠDSԠPND ײSŠSBײSԠSԠԠNAM MPײM+ ײSԠNP SBADB SANAM+SԠDNNAM SBADB SANAM+NDDNNAM SBADB SANAM+33DDNNAM DBNAMŠDƠNAM+ MPײSԬ PDBSS ײDؠSBײSԠSԠԠNAM SB.SɠASSGNԠDNA DA.NPDŠ0BҠD MPײM+3GNAŠD ײGSBײ̠GԠPAND DA$6BDŠҠG6B MPײDA+GNAŠG ײGàNPGNAŠԠҠDAA SBADBɠADHAƠƠNSAN SAADSԠADD DA.N+ SADŠDŠҠ SB.S+ɠUPUԠ MPײGì GNAŠ-NSANԠҠDAASAMN ײGMàDA.N+ SADŠDŠBҠ A SAàABSUŠAN DAPD A SSAA̠? MP+YS SBADBɠADNGҠDAA MANA MPGMñNNUŠASҠA SBADBɠADUPPҠHAƠƠA̠DAA SANAM+ SBADBɠADҠHAƠƠA̠DAA SANAM+ A B SBNAM+-A̠DAA SBNAM+ sSAAD SB.S+ɠUPUԠUPPҠHAƠƠ-A DANAM+ GMñSAAD SB.S+ɠUPUԠҠHA MPPUԲ-NԠP GNAŠPSNSANԠҠDAASAMN ײGSA SAàABS̠AN SBײGàGNAŠUPPҠHAƠƠNS DAPD A SSAA̠NSANԠ? SBײGàԠҠҠPAԠƠA̠NS MPPUԲ-NԠP ײPɠDBB+BAƠ.ɠNY SB.SɠUPUԠ DA.N0+PDŠҠSB SAD SB.S+ɠUPUԠSB.ɬ.ɬ. SBײ̠SԠàANDADҠBAS DA.NPDŠҠD SAD SB.S+ɠUPUԠDƠBAS DAPDSԠDƠPNN SAPDŠSԠҠײ MPײDƠUPUԠDƠPN. ײPҠDBB+50BAƠ.ҠNY MPײP+ ײPɠDBB+5BAƠ.ɠNY MPײP+ ײNDDAPYP PA.N0+PGAM? SSYS MPײNN DBNA SB.SɠԠҠ DA.N0+DŠҠSB SAD SB.S+ɠUPUԠSB ANA SAà.DŽҠPGAM DAVBAS SAAD.ADD.AƠ.VAҠAA DA.N SADŠDŽ0BҠD SB.S+ɠUPUԠDƠ+ DASBAS SAAD.ADDҠSԠNSԠNSS SB.S+ɠUPUԠDƠ6 ײNSBGN.ɠGNAŠBSSҠVASDS ҠAB̠SANDUPUԠNS. DB.N+PDŠҠND DAPYP PA.N0+PGAM? DB.N+5YSPDŠҠA SBD SB.S+ɠUPUԠNDҠAANDPN SYMB̠ABŠƠSNG DAG SZAADGϠ? SBƠYSUHPUԠ(UNDS DAPASS ADA.N5+- SSASSAҠB-ANDA-PN? MPN0YSNԠPGҠND$ DAP+3NϬBNYҠBAND SZASS-PN? MPN0NϬNԠPGҠND$ ײԱDAAD SAPSԠUNADD MPHô6+6UMPNϠPϠPNԠSYMBAB ADDƠN0 ײԠSBàASŠA̠ADAKS DƠ+3 DƠ.N0+5DŽ5ҠASŠAKS DƠ.N5-ϠNDAŠA̠AKS SBàŠMSSAGŠҠNDƠMP DƠ+5 DƠ.N0+ DƠ.N0+SYSMY DƠPASàAƠMSSAG DƠ.Mɸ-ҠHAAS SBàMPNUS DƠ+ DƠ.N0+6 PASàASà$NDN NAMŠDƠ+ BSS3 NADƠ+ ASà3 .MɸԠ-0 UPԠ300 PDŠBSSPUAAYSԠD PPDBSSPUAAYPD UNBSSUN VAPBSSDƠҠSAPD MPԠ300MANA Ԡ00SZA Ԡ00SSA Ԡ00NA Ԡ00A Ԡ00AS BASàNA̠ABŠ B̠DƠ+SUB0 ASà3.SP DƠ+ ASà3.MPY DƠ+ ASà3.DV DƠ+DDB ASà3.DD DƠ+Dà0B ASà3..D DƠ+ADB ASà3.AD DƠ+SB30B ASà3.SB DƠ+M3B ASà3..M DƠ+DSԠ0B ASà3.DS DƠ+ɠB ASà3. DƠ+Ҡ50B ASà3. DƠ+ɠ5B ASà3. DƠ+MP60B ASà3.MP DƠ+DV6B ASà3.DV DƠ+A̠ϠNԠSŠ0B ASà3 DƠ+AԠB ASà3A ײMNDBMPDŠҠMANA GNADDŠҠSUB:MANA-ADAPAND-MANA(3S A SAààABS SBADVAUŠƠMP DA.N+B SADŠPDŽ SB.S+ɠGNAŠMANA SBײ̠GԠPAND DA.N0+PDŠҠADA MPײA+GNAŠADAPND-MANA ADBUMAD ADNPADADUSԠHŠADD.NAƠ DBADS.0ANDUNSHŠ ADD.ҠND.ƠNA SSBSSNDԠƠ? MPADɠNϬUN MBNBABS̠VAU B̠ ADA.N5+-ϠUNAԠPVS- ADAADDNPVSY.MPUDADD MANAMPMҠNDԠ SZASS DAMSƠSԠϠ00000BҠ0ɠ. MPAD GNASD-SҠAƠAAYS GNDƠNP SBADBɠADBSS SBADBɠAD:-N.ƠD-S SZASS0? MPGNDƬɠYS SAUNNϬSԠUN DA.N0BҠD SADŠSԠPD GPDAñH00BD.NDVS SADSV BNB SBàSԠPG.. SBSAҠSAҠDVSԠNY DBVV-DVAU ADB.N5+- SSBAAY? MPGNDƱN DBPAAMYS DA0ɠAƠAAYҠNN-PAAMS SZBPAAMҠ? MPGNDƱYS ADA.N5- SAADSԠADD.ҠP DA SZASSMMN? MP+3N SZ SZàSԠϠMMNBASŠ3 SB.S+ɠGNAŠD SZUNADY? SSNϬNNU MPGNDƬɠYS GNDƱDADSV ADAñHBUMP-DNA̠BY MPGP+NԠAAY ñHԠ00 DSVBSS MSƠԠ00000 SSAHSNSԠҠANSANԠNA.BS AƠNSԬSPƠNS+.NҠH AVAUŬBADD.NNS SNP PBSPƠNS+? MPSYSNԠUND PAɠUAY? MPSɠYSNMA̠ NBN MPS+NNUŠSAH SSZSBUMP MPSɠANAŠUN SNP DBBSBMƠNS SBSSAHҠNS MP+3UND SAɠNԠUNDNҠNSAN SZSBUMPS DABS MANA ADA.ADD.NNS MPSɠ A̠NSANԠSAHUNŠ SNP SASAV SBSAV+ DBBS ѲSBSSAHҠUPPҠPA MPѱUNDSԠҠPA 3SAɠNԠUNDNҠUPPҠPA SZS DASAV+ SASɠNҠҠPA SZSBUMPS ѴDABS MANA ADA.ADD.NNS MPS ѱNB PBSNDƠNSԠ? MP3YSNҠNS DASAV+NϬMPAŠҠPA PA MP+3UAY DASAVŠNϠUAYNNUŠSAH MPѲ ADB.N5-SԠAԠADD.ƠUPPҠPA MPѴNSHUP HDA-MŠANPASS-AD ADBNPUԠUNŠNPASS AD̠NP MDBSZNԠNDƠD? MP+3N SBADɠYSADNԠD MPMDBNNU SBDSKGԠNԠDMDNA MPAD̬ɠ NԠBSS NԱBSS ADɠNP SBDSK PA.N0+SY640MB-ABŠD? MP+5YSSKPSYMB̠AB SBDSKNϬADDNGH MA SANԠSԠUNԠҠPUAAY-D MPADɬɠ SBDSKADDNGHƠSYMBAB MANA SANԱ SBDSKADSYMB-ABŠD SZNԱND? MP-NϬNNUŠSKPPNGD MPAD+YSADNԠD 6   20599-80020 C S 0122 DOS FORTRAN PASS 4             H0101 r HDA-MŠANPASS-P PDAAANDABŠAA HNU6SԠԠABŠNGH(93 AU0AGS BUBGS HNàUNà'SMPMNԠUNԠNŠ HPAGŠUPAGŠUNԠPAGŠN. $M3Ԡ-3-3 $M5Ԡ-5-5 $MDà-- $M30Ԡ-36-30 $0Ԡ0AMASK $30BԠ30 $M5Ԡ-66-5 $MSԠSԠנMASKҠD $6Dà600A $UMSKԠ00DMASK(UPPҠHAƩ $00BԠ00ҠԠS $NAMԠ000NAMDUNԠ(BNUPPҩ $ñԠ0000ҠNAM $NԠԠ300NԠDUN $òԠ000ҠNԠ $3Ԡ6000ҠDB̠ $ôԠ0000ҠԠ $5Ԡ0000ҠND $NDҠԠ00000ҠNDԠB $6BԠ6DŠҠG HADDҠDƠ NP MNMNàNSUNAB $MԠDƠ DƠ$M+3BDADŠ+ DƠ$M+5BADADŠ+ ASàMPMP Ԡ6000 DƠ$M+6BSADŠ+6 DƠ$M+BSBDŠ+ DƠ$M+6BDƠDŠ+0 DƠ$M+3BMPDŠ+ DƠ$M+0BԠDŠ+ ASàDADA Ԡ6000 ASàSASA Ԡ000 ASàSBSB Ԡ6000 DƠ$M+3BNDDŠ+ DƠ$M+6BADŠ+5 ASàDƠD Ԡ0 $NDԠ000NDDUN DƠ$M+5BBSSDŠ+3 $ԠԠ3000ԠDUN $MԠҠMASKNGUԠUPPҠ6BSƠNS DƠ$M+5BDBDŠ+35 $UŠԠ0UPPҠBSAND-BԠMASK $MSKԠ3ҠHAƠDMASK ASàԠ Ԡ0 ASàNDND Ԡ0 ASàAA Ԡ0 ASàBSSBSS Ԡz0 ASàDBDB Ԡ66000 ASàADAADA Ԡ000 DƠ+ ASàG Ԡ0 NDƠABŠ $PAMԠ300MASKҠPAAMD $UASàUU $ҠASàҠ $àASàà $ؠASàؠ $BNKASàBANKS $NDASàɠ HUBPDƠHPBU HBPDƠHPBU+ HUBDƠHBU HADҠDƠ+ ASà3PAGŠPAGŠHADҠH ASà3VAUŠGSH HPNAMBSS3 HNDҠASàND HSABASàSYMB̠AB MPAYGN HNҠNPBN..DUNҠ(HPNH(HBé HNSԠNPUNԠNSUNMA HSԠNP HNUMBNP HPNNPPG.N.N.VAU HNԠNP.BYŠNҠҠPAAMD(HBé HSVSԠNPNANSADD.Ơ.BYŠPAAM.(" HSҠNPNԠAVA.àNDB̠BUҠ(HBé HSAVANP HSAVBNP HMANPDƠHPNAM HBASDƠHSAB HNDؠDƠHND HPBUƠBSS60PUNHBU HBUƠBSSSԠBU HNS:MVŠASYMBàNAMŠMHŠSYMB̠ ABŠϠADSGNADAA. NY-ANANSHŠADDSSƠHŠ DSGNADAA -BG.NANSHŠAƠHŠ SYMB̠ABŠNY HNSҠNP SAHSAVASԠADD.ƠVNG.AA DAB AND.N0+GԠN.ƠHASNHŠNAM ADB.N0+BPNS.AԠSԠHASƠHŠNM SBHNUMB DBHNUMB SBHSAVAɠSŠSԠHASƠNAM. ADA$M3A-3 SSASNAMŠMŠHANHAS? MPHNSҠNϬGϠSԠҠBANKNS SZHNUMB SZHSAVA DBHNUMB SBHSAVAɠSŠNԠHASƠNAM ADA.N5+A- SSASNAMŠMŠHANHAS? MPHNSҠNϬGϠSԠҠBANKNS SZHNUMB SZHSAVA DBHNUMB SBHSAVAɠSŠ5HHAҠƠNAM. SԠҠHAҠBANKƽ0 HNSҠDAB AND$MSK SZASҠHAҠ0? MPHNSҬɠNϠ- ADB.NYS-NSԠBANK SBHSAVA MPHNSҬ HM:GԠASɠUVANԠƠSYMB̠ VAUŬPAŠNABŠBUҠ ҠUPU. BGADD-ƠVAUŠ HMԠNP NBB+ϠB DABɠVAUŠϠA SBNԠNVԠVAUŠϠA̠AS NPMSԠSG.DGS SAHBU+5MDDŠSGDGSSD SBHBU+6ASԠSG.DGSSD DA-3PKUPMSԠSG.DGS SAHBU+SŠHM MPHMԬɠUNϠPGAM HPNH:PSSSBNAYDҠUPUԠ -MPUSHKSUM -GSϠPUNHDVҠ HPNHNP DBHUBPADDSSƠPUNHBU DAHPBU AƬA SAHNUMBSԠN.ƠDSҠPUNHDV MANA NA SAHNҠSԠHKSUMUN A SAHPBU+AҠHKSUMADD. MPUŠHKSUMHŠ SZBBUMPPUNHBUҠADD ADAB SZHN MP-3 SAHPBU+SŠHKSUM +GϠϠPUNHD DAP+ SZASSBNAYUPUԠ? MP+NϬSKP SBàPUNH DƠ+5 DƠ.N0+PDŽҠ DƠNPNN̠D:BNAYNPUNH DƠHPBUƠAƠPUNHBU DƠHNUMBBUҠNGH DAG SZASSADGϠ? MP+6N SBԠUPUԠϠADGϠ DƠ+3 DƠHPBUƠUPU-BU DƠHNUMBNϠƠDSND A SAHPBUƠAҠDUN MPHPNHɠԠH HAD:MAKS6NHSƠADүAҠ -SH0N̠BYPASSAD- AҠUPU. BSSNDҠADүA HADNP SBàPUNHADүA DƠ+3 DƠ.N0+3DŠ3 DƠHAD-ND000+UN(PUNH MPHADɠ HUP:PSSANUPUԠUNԠ -SNDBN.DϠPUNHBUҠ -PNԠANŠƠSPNDNG UPUԠ -ADDSϠHŠPG.N.N. -A0DN'ԠPSSADDSS DUNGHSԠ APSSADDҠDUNGHSԪ HUPSAHSԠSAVŠADDSSNV.AG BNBSԠB SBHB SBHS SZHPNBUMPPG.N.N. MPPɠԠMP HS:SԠUPSԠPAAMS -AN -NSUN -PDŠ -ADDSS(HSԽ0SYMBà HSԽA̠ HSԠNP DAPASS PA.N0+PUNHNY? MPHSԬɠYS DAP+ SZASSA-PN? MPHSԬɠNϬ DAHS SZASSSYMBàADDSSNAADY? MPHS-YSSKPA̠NVSN DAADADDSS SBNԠGϠϠA̠NV. NPMSԠSGN.DGSH SAHBU+ DA- SAHBU+0 SBHBU+ HSDAHPNNVԠAN SBN NP SAHBU+ DA- AND$MSK ADA$ñSԠBANKVҠMSԠSG.DG.(̠ SAHBU SBHBU+ DAHNSԠNVԠNSUN SBN NP SAHBU+5 DA- SAHBU+ SBHBU+6 DA.N3+HA.ҠUPU DBHUB SBHPNԠGϠϠPNԠS MPHSԬɠԠSԠUN HPN:PNԠANŠƠUPUԠ -UNSNS(HNé -UNSPAGS(HPAGũ -SSUPPAGŠHADҠAԠ SAԠƠAPAGŠ HPNԠUPN HB:ADDANNSUNϠHŠBNAYDB̠D ҬUPUԠABNAYDB̠D. -UNSHSANBYSҠHŠADҠ -SSUPHŠNS.MAԠϠBSADҠSPS -NNY:B0UPUԠAD -BADDANNS.ϠHŠD HBàNP DAPASS PA.N0+SԠNY? MPHBìɠYS DAHPBU SZBPUNHAD?(B0 MPHBò-NϬGϠϠNSԠANNSUN. BNAYDUPUԠ SZASSSBUҠMPY? MPHBìɠ-YS- HBñDAHPBUƠDUNԠNAG AƬAƠPSNԠҠUPU SAHPBU DAHSVSԬɠPSNHŠMANNG. BYŠPAAM.D AƬA SZHN MP- A SAHSVSԬɠSŠԠNϠD SBHPNHGϠϠBNAYUPUԠUN MPHBìɠԠHBàH NSԠANNSUN HBòSZASHŠSԠDGNGN? MPHB3N DAHPNYSNAZ. SAHPBU+3SԠDB̠ADADDSS DA.N0+ SAHPBUƠSԠNA̠DUNԠ. DA$3 SAHPBU+SԠ.DN.DŠ(é DAHBP SAHSҠSԠADD.ƠNԠBUҠ. DA$M5 SAHNԠSԠ.BYŠUN DA$M5 SAHNҠSԠDUNҠ5DS HB3DAHNԠNAZŠ.BYŠPAAM.D? PA$M5 MP+-YS MP+-N-SKPNAZAN DAHS SAHSVSԠSԠADD.Ơ.BYŠPAAM. SZHSҠBUMPPNҠADD. SZHPBUƠBUMPBKDUN A SAHSVSԬɠAҠ.BYŠPAAM PSS.BYŠPAAMҠ DAHSVSԬɠPA AƬAҠUN Ҡà.BY SAHSVSԬɠNϠPAAM SZHPBU+ADDϠDAADUN SZHNԠSPAAMҠ>DU?(5BYS MPHBô-N DB$M5-YSSԠUNԠANDSŠD SBHNԠSԠHNԠ-5 A SAHSVSԬɠSŠNA̠PAAM.D DAHN PA.N5HNҠ-?(NAҠNDƠD? MP+YS-DN'ԠBUMP SZHNҠNϠ-ADDϠ HBôDBHNS SBHSҬɠPAŠNSԠNϠD SZHSҠUPDAŠSAGŠADDSS SZHPBUƠANDDUN DA PA.N0+5.BYŠNDAŠDNY? MP+YS HB5SZHNҠNDƠAD? MPHBìɠNϠ- MPHBñYS-GϠϠUPUԠHŠD. PSSAD.NY SZHPBUƠADDϠDDUN. DAADADDSSϠA SAHSҬɠPAŠԠNϠNԠN.ND. SZHSҠADDϠSAGŠADDSS AND$MAҠUPPҠ6BSƠADDSS BSBS BSBSAҠҠBSƠNSUN ҠB''HMGH SAHNSԠSԠUPNSUNҠSԠUPU SZHNҠ-NDƠAD? MPHB5-NϠGϠϠԠUPDAŠANDS MPHBñ-YSGϠϠUPUԠD ANASSMBYANDAABŠANSAҠ ʠHDN:BҠ966 UNNS: .ASSMBYSNGƠBNAYUPUԠ .PUNHNGƠAAABŠBNAY PGAMAP 3.PNԠUԠƠHŠSYMB̠ABŠ NPUԠPAAMS: PASSPUNHNY SԠNY(NUDSSYMB̠ABũ A3PUNHANDSԠ à-ANDŠ- 0ABSUŠ AABŠ 3MMN NA̠SYMB̠ AD-ADDSSҠԠSYMB̠DNA̠- DŠ-PDŠDNA̠- NKAG: NA̠NY-PSBP P+UN SUBSUNԠ NYSPSBP P+UN PNP A SAHPNSԠNNҽ0 SAHPBUƠAҠBNUPUԠDUN SAHPBU+AҠB.P.NGHN'NAM'D SADSԠԠDNA̠0 SAB̬ɠSԠSԠDƠԠB̠0 DB$BNKPPAŠPGAMNAMŠBU SBHPNAM+ SBHPNAM+ DBDV̠DƠPGNAMŠNY DAHMANP SBHNSҠGϠMVŠNAMŠϠPNAMŠBU DAPASS PA.N0+PASSSԠNY? MPNPAGYSSKPϠNԠPAG DAP+ SZABNAYUPU? SBHADYSPUNHAD UPUԠ'NAM'D DA$NAM SAHPBUƠSԠDUNԠ9 DA$ñ SAHPBU+SԠ'NAM'DDNԠD DAPN Ҡ$ND SAHPBU+6SԠPGAMNGH DAN SAHPBU+SԠMMNNGH DAHPNAMSԠPGAMNAM SAHPBU+3 640 DAHPNAM+ SAHPBU+ DAHPNAM+ SAHPBU+5 SBHPNHGϠPUNH'NAM'D UPUԠ'N'D DA$N SAHPBUƠSԠDUN DA$ò SAHPBU+SԠ'N'DDNԠD DANADADDSSƠNYPN SAHPBU+6SԠ'N'ADDSS DAHPBU+5 AND$UMSK SAHPBU+5 SBHPNHGϠPUNH'N'D DAPASS PA.N0+PUNHNY? MPPɠYS SAԠBԠDŠNNנPAG NPAGSBNDPSKPϠBMƠPAG MPPɠ Q6   20599-80021 C S 0122 DOS FORTRAN PASS 4             H0101 s SAԠPHŠ PNP DAPASS SZASSNϠABҠ-PN? MPPɠYS AҠSԠBUҠ DA$M SAHNUMBSԠUNҠҠ DA$BNKBANKSϠAG DBHUBADD.ƠBUҠϠBG SABɠBANKSϠMMY NB SZHNUMBDN? MP-3NϠ-GϠBAK SԠUPPDŠNAMŠANDNSUN DAD ADA$M DAAɠANANSNƠDŠNY DBAɠBNNSƠNY(SԠD SBHBU+SԠSԠHASƠPD NA DBA SBHBU+9SԠASԠHAҠƠPD NA DBA SBHNSԠSԠNSUNMAԠ(A̩ DBPASSSԠAPASS DADŠBD PA$6BG MPHò0-3YS PA.N+ND? MPHô0YS PA.N+5A? MPHô0YS PA.N+? MPH30YS PA.N3+BSS? MPHò0YS 'SAGUAҠNSUN DBAD PA.N+? MPHñ6YS 'SAMMYNŠҠDƠNSUN SSBSSSԠND? MPH0-N-SKPND.SUP MBNBNDԠPSSNGHŠ PBAD B SBADSԠADDSS DA$ND SAHBU+3SԠɠNϠN DA$ND ҠHNSԠPAŠNDԠB SAHNSԠNϠNSUN H0DBà.BSϠB PB.N0+SԠNA? MPHñYS DAD PA.NDŠD? MPHñYS DAPASS PA.N0+PASSS? MPHñ3 SԠUPҠDNYҠADҠ DA.N0+5 SA DAB |ADA.N5-ϠA NUDŠNSԠSUP H0ҠHNS SAHNS DA$ PB.N0+3MMN? DA$àYS SAHBU+ Hñ0ANASԠA(ҠHSԠAG MPHUPGϠϠUPUԠSԯPUNH DƠPSSҠ HñDAAD MPH0 SԠUPADDSSҠSԠNYPSSNG Hñ3DAAD AND$MMASKUԠUPPҠ6BS MPH0 PKUPԠNAMŠNYMABŠ H̠NP DAADPKUPԠDNA AND$MS SZASSSԠϠAMP̠Ơ00A̠? DA$6YSSԠB̠PAAMҠ00A DBA BSUSŠPAAMϠNDԠNAMŠNAB ADBA ADB.N5+3(ԠD.-3̠àƠD. ADBB̠BADDҠƠU.NA̠SYMB DAB SAHBU+0SԠSԠHAS NB DAB SAHBU+SԠNԠHAS NB DAB MPH̬ɠ ýPSSԠNAMŠҠPNNG HñSBH AND$UMSKMASKUԠDNA̠BS ADA.NNSԠBANK SAHBU+SԠASԠHA DA$ SAHBU+SԠ.NDA DAAD ҠHNS SAHNSԠSԠNSUN AA0ҠHSԠAG(DN'ԠPNԠADDSS MPHUP ԠPSSҠ Hñ6SBHNS MPHñ0 DAAD PAHPNGADDҠUNԠ.UN? MPPɠYS BSSPSSҠ Hò0BUPUԠUNԠBN.D SBHB ANA SAHSԠSԠSԠPAAM SBHS DAAD DBD PB$6BG SSYSSKPADD ADAHPNBUMPNNҠBYVAUŠNAD SAHPN MPPɠ ԠPH ԠPSSҠ H30PB.N0+PNԠNY? MPPɠYSԠP B SBHBàUPUԠUNԠBN.D DA$ SAHPBUƠSԠԠDUN DA$ô SAHPBU+SԠDDN.D GԠNAMŠNYANDPAŠNϠBNAYD SBH SAHPBU+5SԠASԠDƠNY DAHBU+0SŠMANNGԠNAM SAHPBU+3 DAHBU+ SAHPBU+ SBHPNHPUNHԠD MPPɠԠP PSSNDANDADSHŠ Hô0PB.N0+SԠNY? MPHôYS B SBHBàUPUԠUNԠBN.D SԠUPNDBN.D DANADGԠNYPԠADD SAHPBU+3SԠAS.ADDҠƠNDD DA$ND SAHPBUƠSԠ'ND'DUN DA$5 SAHPBU+SԠDDN.D DBD PB.N+5DŠ'A'?SKPƠN. SZHPBU+SԠAADD.D SBHPNHPUNH'ND'D DAP+ SZABNAYUPU? SBHADYSPUNHA HôDBPASS PB.N0+PUNHNY? MPPɠYSԠP DBD PB.N+DŠ'ND'? MPHô6 SԠUPPG.NAMŠҠAPNԠ DAHPNAM SAHBU+0 DAHPNAM+ SAHBU+ DAHPNAM+ SAHBU+ Hô6DA.N3+ϠPNԠ6HAS DBHUBBUҠG SBHPN DBHNDؠàƠND DA.NPNԠ0HAS SBHPNԠPNԠ'ND' SBNDPSKPϠBMƠPAG PNԠSYMB̠ABŠHADҠ DBHBAS DA.N+6HAҠBU SBHPN  UPUԠSYMB̠ABŠ DADV̠AƠABŠϠA H60DB$BNKSԠPNƠBUƠϠBANKS SBHBU+ SBHBU+ SBHBU+UNDND-D SAHNSԠSAVŠAҠNԠABŠKUP PADV̠ASԠNYNSHD? MPPɠYS DBA SZBSAMNԠAB? MPH÷0N PSSASAMNԠAB̠(NUMé NA SAHSAVB DAAɠSAMNԠN.ϠA SBNASàNVԠԠϠDàAS. NPMSԠSG.SUԠH SAHSAVA PSSSԠHASƠAB̠ DA-'0' AND$MSK'' AƬAƠ'' SAHBUƠ'' DAHSAVA'3' AƬAƠ'3' AND$MSK'' ADAHBUƠ'' SAHBUƠ''SԠHASNנS PSSNԠHASƠAB̠ DAHSAVA'3' AND$MSK'3' AƬAƠ'3' SAHBU+'3' DAB'5' AƬAƠ'5' AND$MSK'' ADAHBU+'3' SAHBU+'3'NԠHASNנS PSSASԠHAҠƠAB̠ DAB'5' AND$MSK'5' AƬAƠ'5' ADA.N'5B'(BBANK SAHBU+'5B'ASԠHAAҠS PSSAB̠VAUŠ DAHSAVB NA DBA ADB.N5A_A- SBHADD+ DBHADD SBHM DA$ SAHBU+3SԠ.HAҠ'' MPHø0 PSSSYMBàAB̠ H÷0PADV̠PGNAMŠ? MPH÷-YSSKPHKNG DAA AND$PAM SZAPAAM? MPH÷-YS DAHNSԬ SSAAAY? MPH93YSDND +AND$30B SZASSUNDNDA̠VAҠ? MPH9YS DB$ààҠMMN PA.NUNDNDMMNVAҠ? MPH9+YSUNDNDMMNVA PA$30BDNDMMN? MPH÷ DB$ؠ PA$00BNA̠? SS DB$Ҡ H÷SBHBU+3AABY GϠϠNVԠANDSŠVAU DAHNS NA DBAɠB_VA SSBVA<0? MPH÷5YS ADB.N5VA_VA- DAHNSԬ ANDB300 PAB00ASƠ? MPH÷5YS DAHNSԬɠA_AƠNY AND$UŠMASKUԠUPPҠBS+-B SZASSA̠VAҠ? ADBVBASYS H÷5SBHADD+ DBHADD SBHM GԠAB̠ANDNSԠԠNϠBU DBHNS DAHUB SBHNSҠGϠϠBUҠNSN DNŠHAB PNԠSYMB̠ABŠNYH Hø0DA.NҠ6HAS DBHUBMBU SBHPN H90DAHNSԠADDҠƠUNԠNY SBNNԠGԠAƠNԠNY MPH60 H9DB$ DA$UU SAHBU+SԠUNHAҠNGADDSS MPH÷ H93DB$à DAHNSԬ AND.N SZAMMN? MPH÷YS MPH÷-N ԠSYMB̠ABŠSAHANDNSԠ -(BADDҠƠ3DBUҠNANNG NAMŠϠBŠNSD. -ƠNDHAҽ0SUZŠUPSԠƠNAM. BUҠS0D -NAMŠUNDSԠýANDADDNA̪ -NԠUNDBUMPDBY ASSGNDϠU.NY GNAŠԠ.VAP -ƠD55HAԠHNNNUŬDϠ NԠBUMPԠ -ƠABŠU(6NSSAԠABŪ HSNP DABɠMVŠNAMŠϠSԠBUҠAND SAHBU+0NSԠBANKSHŠNDD SBH SAHBU+ SBH SAHBU+ SԠHŠҠNDHAҠ0 DAHBU+0 AND$MSK SZASNDHAҠ0? MP.ԱN DAHBU+YSBUMPA̠HASUPPSN. AƬA SAHBU+ AND$MSK ADAHBU+0 SAHBU+0SŠSԠHAS DAHBU+ AND$UMSK SAHBU+ DAHBU+ AƬA SAHBU+ AND$MSK ADAHBU+ SAHBU+SŠNԠHAS .ԱDAHBU+ AND$UMSKAҠDNA̠HA. SAHBU+ANDSԠASԠD DAB SAHSAVAABŠPNҠAƠԠB .ԲDAHSAVAɠPKUPSԠDƠNY PA.N0ASԠNYNABŠ? MP.6GϠϠNSԠANDUPUԠԠ. SZHSAVA PAHBU+0SԠDSSAMŠ? MP+3YS SZHSAVAN MP.Դ DAHSAVAɠPKUPNDDƠNY SZHSAVA PAHBU+NDDSSAMŠ? MP+YS MP.ԴN DAHSAVA AND$UMSK PAHBU+ASԠDSSAMŠ? MP+3YS .ԴSZHSAVAN MP.ԲGϠϠSԠNԠNY DAHSAVA AND$MSK SAADSԠADԠDNA DA.N0+ SAàSԠà MPHSɠԠMԠUN NDƠUNԠNSNABŠ| -NҠHŠNנSYMB̠ .6DBB DAHSAVA ADA.N0+ PADV̠NDƠABŠAA? SBHSAVAYSSԠPNҠϠB̠G DADN PA$MSKDNA̠MASҠ55? MPԠYSϠMANYNAS SZDADDϠD .ԷDAD SAADSԠADD ADAHBU+SԠDNA̠NϠNY SAHBU+ DAHBU+0MVŠNYϠAB SAHSAVA SZHSAVA DAHBU+ SAHSAVA SZHSAVA DAHBU+ SAHSAVA SZHSAVA A SAHSAVAɠAҠNNGNY DA.N+ SADŠSԠDŠ(ҠԠUPUԩ DA.N0+ SAàSԠà SBPGϠϠPϠPUNHԠD MPHSɠԠMS NSԠBANKSHŠDN- ANSAZϠҠAHAAҠ H̠NP NB DABɠNYDϠA SZASSD0? MPHAYS AND$MSKN SZASSҠHAҠ0? MP+3YS DABɠNϬPKUPD MPH̬ɠ DABɠNSԠҠBANK ADA.N MPH̬ɠ HADA$BNKSԠDBANK MPH̬ɠ NA̠SYMB̠ABŪ B̠DƠ+ BSSHN+HN+HN+ SԠUPSYMB̠ABŠGNADDSS $ANDSUBUNŠNYADDSSS G.S DƠHS DƠP DƠP HDA-MŠANPASS-GNϬGN GNϠGNASABSSҠA̠VAҬPG.ABS ANDASƠASABSD-SҠABSAND-S NSANS. BSSGBSS GNϠNP {DAVSZ.VA.SZ ADAASZASƠAS.SZ ADASZPGAS.SZ B SBà0ҠABSUŠPND ADA.N5+-3 SABSSGSԠAG SZASSBSS0? MPGNؠYSDϠNԠGNAŠANYHNG SAAD DA.N3+3B SAD SB.S+ɠBSSҠASANDASABS GNAŠNSԠ GNؠDA.N+BPDŠҠ SAD DBBSBMƠNS PBSNϠNSANS? ASSGH MPGN5+ SAAD DBBSSG SZBPVUSASBSS0? SB.S+ɠGNAŠԠ0 MPGNϬ GN5PBSADY? MPGNϬɠYS SBGSAVŠNϬSAVŠADD.NNS DA SAADNS.VAU SB.S+ɠGNAŠԠVAU DBGSAV NB MPGN5NNUŠGNANG-S GSAVŠBSS DƠ+NҠUNŠ00B ASà3.N SUBUNŠGNҠGNASHŠNYPNԠDŠ ԠSADHNANPDŽBSAD GNҠNP A SAàABSUŠVAU DAPYP PA.N0+PGAM? MPGNԱYSNϠPAAMS DA.N3+3BҠBSS SADŠPDŠҠBSS DAPAMN.ƠPAAMS SAAD SB.S+ GNԱA SAAD DA.N+ԠPD SAD SB.S+ɠԠ0AԠNYPN DAPYP PA.N0+PGAM? MPGNҬɠYS DBGN-AƠ.N-NAM SB.SɠGNAŠ.N DA.N0+ SADŠPDŠҠSB SB.S+ɠGNAŠSB.N ANA SAàPG DAPAMN.ƠMA̠PAAMS MANA ADANADNYPNԠADD.-N.ƠPAAMS 640SAAD DA.N SADŠPD SB.S+ɠGNAŠDƠNY-N MPGNҬɠ DV̠DƠ+50 GMAD DƠAD GGN. DƠGN GN. DƠGN NUN0 NDN0 6   20671-80001 B S 0122 HP 2060A 8K AUTEST              H0101 ASMBAB NUMBҠҠMSSAGŠDSPNS .MAԠ .MSSNGMA 3.MSSNGԠPANHS .MSSNGGHԠPANHS 5.MPYPNS 6.NVADҠMSSNGSYMB .NVADASɠHAA .NVADҠMSSNGAB 9.DUBŠDNDAB 0.NVADҠMSSNGSAMNԠYP .PGAMϠNG .UNDNDSYMB 3.MSSNGҠNVADPҠSPAN .MSSNGҠNVADPҠSUPPY 5.MSSNGҠNVADPSSNG 6.MSSNGҠNVADGàSNGPAAMҠANDBADD .MSSNGҠNVADGàV̠SNG .MŠHANNŠPMUŠNSUNNASAMN 9.MSSNGҠNVADDAYPAM 0.NϠDNԠSAMN .MSSNGҠNVADASɠPAAMҠNDNԠҠ .NϠNNҠSAMNԠҠDAA 3.NVADҠMSSNGBANKNUMB .ϠMANYNNҠPNSDAD 5.NVADҠMSSNGSԠNSUN 6.DϠNDؠSPAN .MSSNGҠNVADDϠPAAMS .SUPPSSNԠAS 9.MSSNGҠNVADGϠҠƠPAAMN 30.MSSNGҠNVADBADSPAN 3.MSSNGҠNVADMԠPAAMS 3.HɠV̠<ϠV 33.MSSNGҠNVADUNԠSNG 3.MSSNGҠNVADHSHDSNG 35.PҠDԠPAAMҠNԠNPҠSAMNԠND 36.BANKNUMBSNԠNASNDNGD 3.NϠPҠPAAMSNPҠSAMN 3.DUBŠDNDPNAB 39.MMNԠNԠADNHSSAMN UNPHASŠҠDAGNSS 0.PMUANNANN-MNAҠSԠSAMN. .DϠSAMNԠAB̠UASANDNDAB. .DϠNSԠGAҠHANHŠ(3. 3.MNANGSAMNԠҠAPMUŠDϠSMSSNG. .MNANGSAMNԠҠAPMUŠDϠDSN NANPMUŠNSUNS. 5.NUMBҠƠPNSDADNPMUŠDϠNDؠS NԠUA̠ϠHŠNU^MBҠƠPMUDPNSDAD NHŠMNANGSAMN. 6.GϠSAMNԠAB̠UASANNDAB. .GϠSAMNԠAB̠PAAMҠANNԠBŠAD. .HAԠSAMNԠAB̠UASANDNDAB. 9.NDSAMNԠAB̠UASANNDAB. 50.SԠPGAMMPYUDBUԠDϠABŠN DPD. 5.PMUŠNSUNNANDNAVŠD SAMNԠMNANGSAMN. 5.SԠUNSAMNԠNԠAPҠSAMN. 53.PҠSAMNԠHASBNDDMS PGAMDUNGHŠUNPHAS. 5.GA̠SAMNԠYPŠNUNDDUNGH UNPHAS. 55.ƠSAMNԠAB̠UASANNDAB 56.ƠSAMNԠAB̠ANNԠBŠAD 5.ŠSAMNԠAB̠UASANNDAB 5.DAAAUSNSYSMNԠADY 59.ADNGMAGNUDŠGAҠHAN99.99VS 60.SUSPDMAHNŠMAUNN G SUPSUPPSSA̠ANDASɠSNGS AU0 BU MP3 DƠSAԠSԠSANGPN HԠB HԠ5B Ԡ00NUPԠNPS P Ԡ00000000NUPԠNP'S MPBGNMPϠPGAMSA APŠDƠ.HSPҠNKϠPHϠADҠUN YҠDƠY.PNKϠYUPUԠUN PNHҠDƠY.PPUNHNKNAZŠϠYU YҠDƠY.ɠYNPUԠNK .SPDƠKYɠNKϠKBANNUN MƠDƠ.ƠNKϠKBANNUN MNDƠ.NNKϠKBANNUNN SSAHHNANSHŠADDSSƠHŠSԠDƠAVAAB MMYMAYBŠMDDBYPS. PGƠDƠAMAMPNSϠSԠNK AMDƠ.HSP-AMNAZŠϠNDƠP YPADƠABPHDSADDҠƠSMNԠYPŠABP NKBDƠBGN-ABPANDNKBAKNNSԠMD NSANSANDNKS ksMP6NPPDNPNUMBKHK MPNPMUSԠBŠAN5B PNԠDƠUPNKϠUPUԠUN KYBDDƠNPNKϠYNPUԠUN SҠDƠYҬɠNKϠUPUԠDV SADƠS PSADƠPS SADƠSNKϠҠANDSANϠS ұADƠұNKϠSPA̠ҠUN PSADƠPSԠNKϠPNԠ.A DNADƠDNNKϠASɠNVSN PSVADƠPSVNKϠPNԠ.V GANMADƠGANMNKϠASɠSNGPSS GDADƠGDNKϠGԠDGSUN VNPDƠNVPNKϠPNԠNVMNDNϠP DBADƠDBNNKϠDMA̠ϠBNAԠNV DGKADƠDGKNKϠDGԠHKUN GNADƠGNϠGԠNUMBҠNYADDSS NDADƠNDUNDANDDVDŠBY0UN DSNADƠDSNDMҠSANADDSS GSADƠGSàGԠSYMB̠HAASADDSS DVADƠDVԠDVDŠBYNN PDNADƠPDNNKϠPNԠDSKԠNUMBS PNMBADƠPNUMBNKϠPNԠNGҠNUMB SADƠҠND. SAADƠSA̠NDԠADDSSҠSԯҠA SADƠPSؠPGAMSYNAؠHK NADƠN̠NKϠNAZŠUN NADƠNנNKҠNAZ PADƠPàNKϠPҠD PSADƠPSҠPҠSYNAؠUN PұADƠPұ+NKϠPҠSYNAؠPSS SADƠSԠMDAŠUNUNŠADD ADƠҠMDAŠSYNAؠUNADDSS ԱADƠSԠMDAŠSYNAؠNYADDSS GAADƠGA GBADƠGB GADƠG GADƠGƠGԠA̠HAASBUԠSASH GBʠSBGBAɠGҠSB SMAADƠSMAN SUADƠSU SADƠS S0ADƠS0 DADƠD NADƠN B0ADƠ.NŠϠBԠMASK MADƠM MADƠM MA3DƠM3 MADƠM MA5DƠM5 MA6DƠM6 MADƠM MADƠM MA9DƠM9 MA0DƠM0 MADƠM MA3DƠM3 MA9DƠM9 MA3DƠM3 MA0DƠM0 MADƠM SMADƠSM SHADƠSHKHKSUB. SVADƠSVҠPҠVADSUB. SDSADƠSDSàMANUA̠DSNNԠSUB. MKADƠMK NԠNPHAAҠUN BPҠNPNPUԠBUҠPN HAҠNPHDSHAAҠNG NHAҠNPHDSHAҠPҠNŠUN DGNPDMҠYPŠAG GNPPAANHSSUN SSNPHDSSԠϠHAҠҠSAH SSNPHDSHDHAAҠҠSAH PNMNPHDSMAMUMPNNUMB YPŠUPNMHDSYPŠƠNSUN PNNPHDSUNԠPNNUMB NKUPNHDNK(ABSUŠADDSS PàNPHDSGHԠPAŠUNԠNDN SPàNPHDSSPANAҠDà NUMBNPANƠSUNGNUMB NŠNPHDSUNԠNŠNUMB NKANPADDSSƠNKϠBŠS NNPHDSDNGH SàNP SԠNPHDSPSSNGMPAY ADDSNPHDSPSSAKADDSS PAGNNPHDSPAGŠNUMB DGBSSHDNVDASɠDGS MPNPMPYMMNԠAGSAG MPNPSHSHSҬASK MPNPADASK MP3NPPNSDAYGDKHKASK MPNPҬDVԬPSH MP5NPҬKHKS SGԠ0UŠAG SVGԠ0V-VAGŠAG SDGԠ0MANUA̠DSNNԠAG SHDԠ0MP. SH̱Ԡ0MP. SH̲Ԡ0 SPM5Ԡ0MP. SPM6Ԡ0MP. SBԠԠ0MP. SѠԠ0SUNŠNUMB SMԠ0MSԠSGNANԠDAYNSAN SMԠ0ASԠSGNANԠDAYNSAN SUԱԠ0AҠAҠUS SUԲԠ0YMDDPA.DҠAҠUS SBàԠ0BԠUNԠҠҠPN SDGԠ0SNDSDAYAG SPDűԠ3M.S.DAYNSAN-S. SPDŲԠ03556.S.DAYNSAN-S. SBԠ06600BׯϠADD. SPƠԠ0PҠSAUSAG PPGԠ0PҠSAKPN SPGԠ0U.UNSAKPN ABPԠ0UNԠPҠAB SAB̠Ԡ0UNԠUNAB SNKԠ0UNԠNKVAU SPMԠ0PMUŠSAKPN SSPNP AGNPAPŠAGZϠNԠAPŠNPU MGDà-MNUSAG0MNUS-PUS GNPMMNSADAG SGNPSAMNԠSUPPSNAG NDƠNPNDAG(ƠNDND SPƠNPKYBADANNAG PMGNPPVDDMDŠAG PGNPPMUŠAG NPGNPNϠPUGŠҠAAGMNDSAD S̠Ԡ0UNAG GԠ0MPASNҠAG SGԠ0UPUԠAG SUGԠ0SUPPSSAG MDà- MDà- M3Dà-3 MDà- M5Dà-5 M6Dà-6 MDà- MDà- M9Dà-9 M0Dà-0 NUM0 MDà- MDà- M3Dà-3 MDà- M5Dà-5 M6Dà-6 M9Dà-9 MDà- M5Dà-5 N60Ԡ-60 M50Dà-50 M5Dà-5 M6Dà-6 M6Dà-6 M6Dà-6 M00Dà-00 M0Dà-0 M0Dà-0 M0Dà-0 M000Dà-000 M36Dà-36 M0KDà-0000 ZU-3ZϬNUMBҠSԠN Dà3 Dà Dà5 Dà6 Dà Dà Dà9 Dà0 Dà Dà Dà3 Dà Dà5 Dà6 Dà Dà Dà9 Dà0 Dà Dà Dà3 Dà uDà5 Dà6 Dà Dà Dà9 Dà30 Dà3 Dà3 Dà33 Dà3 Dà35 Dà36 Dà3 Dà3 Dà39 PANԠ50ASɠ( PANԠ5ASɠ ASҠԠ5ASɠ PUSԠ53 MAԠ5ASɠ MNUSԠ55 PDԠ56 SASHԠ5ASɠ ZϠԠ60ASɠ0 Dà9 Dà50 B63Ԡ63 Dà5 Dà53 Ԡ66 Dà55 Dà56 Dà5 NԠN Dà59 Dà60 UA̠Ԡ5ASɠ Dà6 BԠ .65Dà65 Ԡ0ASɠB àԠ03AS DԠ0AS Ԡ05ASɠ GԠ0AS .UG HԠ0AS ɠԠAS ̠ԠAS .6U MԠ5AS NԠ6 PԠ0AS ҠԠ SԠ3AS ԠԠAS UԠ5AS VԠ6 נԠ .00Dà00 .00Dà00 B3Ԡ3 B00Ԡ00 BԠ BԱ0Ԡ000 BԱԠ000 B6063Ԡ6060MSDAYSԠNSAN BԱԠ0000 BԱ3Ԡ0000 B00MԠ5000MSDAYSԠNSAN NMAؠԠMAMUMPSVŠNUMB BԱ5Ԡ00000 SBKHɠԠ5 SBKϠԠ33 HD5Ԡ03365VԠHSHDSNG HMԠ00ԠHAƠDMASK SBԠ00AϠA ABASà0ABMADNKN ASà9PPPUSA SرASàر S0ASàر .Dà .Dà .Dà Dà Dà6 BANKԠ0ASɠBANK B6Dà6 .6UB6 BԷԠ00 SPUBԱ0נNSUN SPUBԱHGHNSUN SP3Ԡ6000PMUŠNSUN SPUBԱDAYNSUN SP5DԠ000A̠נNSUN SP6Ԡ000A̠HGHNSUN SPԠ6000SUPPSS SPUBԱ3MASUŠNSUN SP9Ԡ000ANŠNSUN SP0Ԡ000DϠSAMN SPԠ6000GϠSAMN SPԠ30000ƠPD SP3Ԡ3000PҠSAMN SPԠ3000HAԠSAMN SP5Ԡ36000NDSAMN SP6Ԡ0000ŠPD SPԠ000DNԠPD SPԠ000MMNԠPDŠHBԠ5 SP3Ԡ6000MASKҠBϠB0PDŠMASK SDƱUZ+3 SPPDƠSPND..ҠMŠPN SԱAADƠSԱAԱND.ADD. SADƠSɱND.ϠSԠMŠPSS SBDƠSɲND.ϠPNԠMŠPSS MPADƠMP DASADƠDASNKϠDAUN SɠDƠSɱND..ҠMŠNUP SGԠ0ԲAVŠAG S3GԠ03AVŠAG SADAԠ0U.SAԠADD.ABŠPN SDAԠ0U.NDAB̠ABŠPN SNAԠ0UNԠUNԠABŠPN SNAԠ0GNA̠UNԠABŠPN SADҠDƠSAD-SAԠADDSSABŠS SDҠDƠSD-NDAB̠ABŠS SNҠDƠSN-UNԠUNԠABŠS SNҠDƠSN-GNA̠UNԠABŠS SDPԠ0NDAB̠ABŠPN SNPԠ0U.UNԠABŠPNԠPN SNPԠ0G.UNԠABŠPNԠPN HŠNGANSAŠSԠBYPS BADDƠNBUƠNPUԠBUҠSANGADDSS BNADҠBSSSAƠBANKADDSSSAK BNMؠDà0MAMUMBANKSAVAAB PBABSSADDҠNA̠PNNBANKS PSMAؠDà-HDS-(NUMBҠƠPSAVAABŠ+ PSADҠBSSSAƠPSADDSSSAK PSMMBSSSAƠPSSNGSSAG SPAABSSBNAYPANAAYBASŠADD. SAABSSAAAYBASŠADD. SABSSASԠADD.+0.*ƠAAAY SSANPSYMB̠ABŠSANGADDSS PG̠NPASԠDƠPGAM S̠NPNUMBҠƠNSNSYMB̠AB MASSSAGŠNKSANDNSANS DSADƠDSàNKϠDSàADҠ DSAҠNPADDҠƠƠPGSAVDNDS DADƠDSԠNKϠDSàMNDPAS NPSBSSPGSSD-(+ DPABSSPG+5 SKP SUBUNŠMND HSSUBUNŠGSϠHŠYPŠҠNPUԠMMANDS ANDUNSϠHŠANGPNԠAҠSNGH MMANDNDNSҠSϠBGN. MMANDS:APŠ-SSAPŠAG-PHϠADҠNPU KY-ASAPŠAG-KYBADNPU Nנ-UMPSϠNAZANPN MNDNP A SASPƠAҠSPAG SAAGAҠAPŠAG DAY SASҠSŠYPNԠNK SSɠSSSKPҠPNԠU òSBPNԬɠPNԠҠMSSAG SƠ0UNNNUPԠSYSM SBSHAɠHKSUB. SBMƬɠUN-ƠKBANNMD DAM DBMKA SBPNԬɠPNԠ"?" DA.6 DBBAD SBKYBDɠNPUԠMKYBAD SZAɠSZASSNU̠D? MPò+NU̠DGԠNԠMMAND PAMUBUԠND MPò+UBUԠDGϠGԠNԠMND SANSAVŠDNGH SBGNNAZŠҠG MPò+DϠNGGԠNԠMND 6DANADDNGH ADAMMŠHANHAA? SSA MPñNVADMMAND +x0   20671-80002 B S 0122 HP 2060A 8K AUTEST              H0101  DBGB SBGҠSԠNϠNԠҠMNԠNG DABADɠGԠSԠϠHAAS PAABABԠMMAND? MPABԠYS B SBGSԠNϠMMNSAD ز5Sà0àNABŠVVAGŠNUP ز6Sà0àNABŠMAN.DSNNԠN. PAAB+UNMMAND? MPSUAɠUNMMAND PAAB+UNANDSPN MPSAɠUNMMAND PAAB+NNU? MPSNԠNNUŠMMAND SBSGAҠUŠAG PAAB+5SPMMAND? MPSMNDGϠϠSPMMAND PAAB+3DŠMMAND? MPD̠DŠMMAND PAAB+6 MPNSNSԠMMAND PAAB+PN? MPPNԠGϠPSSPNԠS PAAB+SԠMMAND? MPSAɠGϠϠS PAAB+0PUNHS? MPPSAɠYS PAAB+5NSH? MPDNŠYS PAAB+9NנPGAM? MPNAɠ-NAZ ANSطANDظAŠHANGDBYPSƠMŠPNAVAAB PAAB+PNԠM طNPMPSBɠƠɠPԠAVAAB PAAB+3SԠM? ظNPMPSAɠƠɠPԠAVAAB PAAB+MANANANŠMMAND? MPMANԠYS PAAB+KYMMAND MPô PAAB+6APŠMMAND? MP3 PAAB+P? MPPAɠGϠϠPҠDԠUN PAAB+MMDAŠSԠMMAND? MPSAɠGϠPSSMMDAŠS DMPNPMPϠDSàMNDSƠAVAAB ñDAZ+5NVADMMAND DBMA3 MPòUNҠMŠNPU 3DANDƠAPŠNPUԠUS SZANDY? MP5YS DA.6  SAAGSԠAPŠAG SANPGSԠNϠPUҠAAG A SABADɠSԠԠAG(NBUƠ0 SBMNɠNABŠKBANN SZGҠNABŠNԠANDMNSNG MPMNDɠUN ôDBNDƠKYBADNPUԠUS SZBNDNDY? MP+3YSHNNVADMMAND SZGҠNABŠNԠANDMNSNG MPMNDɠKYBADNPUԬUN 5DAZ+ DBMA6 MPòUNҠNנMMAND HSSNPSSSNSԠDS NSSBD̠GԠBԠAB̠ADDSS NBSSSGDSԠBϠNKADDҬSKP MPḎBADMAԬNԠS DAB SZASSSNKANNDNKŠZ MPD3YSBADNSAҠNDBADAB SANKBSAVŠNKBAK SBNKASAVŠNKADDSS SZGҠNABŠNԠANDMNSNG NSSBADGԠSAMN SBG MPNSDMҬBGNSYNAؠHK PAD+NDƠNSԠD? MPMND+YSHNGϠGԠNԠMMAND NSSBGN-NAZŠG MPNSDϠNGGԠNԠN DADG SZAƠSSKPSYNAؠҠD SBSAɠHKSYNAؠANDPUԠAAY DANKB SANKAɠSԠNKBAK MPNS HSSNPSSSDŠDS D̠SBD̠GԠSԠBԠAB̠ADDSS MPḎSDŠNŠSAMN DADGNԠSMAN? MANA NASZAMA? MPḎNϠMAMAԠ SBGNAɠGԠSNDDŠAB̠NUMB MPD3BADNUMB DANUMB DBNKBADSAƠSԠBԠSAMN NBBGNSAHAҠSԠAB SBSH MPD3AB̠NԠAҠSԠAB ḎNBSԠBϠPNԠAԠNKƠND DBBɠAB̠ANDADNKNϠB SZBSSSHSANNDSAMN? MPD3YSNKSZϬBAD DAPGƠADADDҠƠNKϠPGSA D̲SANKASAVŠNKADDSS DAAɠADNK PANKBDSHSNKPNԠϠS MPD5SAMNԠϠBŠDD? NANϬHNHKNԠNK MPD̲GϠHKNԠNK D5SBNKAɠNK_NKƠASԠDDSMN MPò+UNҠNנMMAND SUBUNŠD HSSUBUNŠPSSSHŠSԠBԠAB NANSԠҠDŠD.ƠANҠSDD ԠUNSҠANנMMAND UN:P+-SAҠNUMB P+-NԠS (BABSUŠADDSSƠABDSAMN D̠NPNY SBHKNDSAMNԠNPGAM? A SANŠAҠUNԠNŠNUMB SBDSNA MPḎSNϠAB PA.MA? MPD̲YSHASGD ḎSSSKPү SBƠDϠү DAZ+ DBMA3 MPòPNԠ"NVADMMANDMA" D̲SBGNAɠGԠSԠSAMNԠNUMB MPD3BADNUMB SZAS SZD̠NԠSUNϠP+ DANUMBADAB DBPGƠSAHMPGAMSA SBSH MPD3BADAB̠NԠDND SBNKBSAVŠSAMNԠSANGADDSS MPD̬ɠGDAB̬UN D3DAZ+ DBMA MPòPNԠ"NVADAB"GԠMND SUBUNŠHKHKPGAMҠNDSAMN. ƠNϠNDSAMNԠHASBNNDANҠMSSAG SPNԠANDHŠUNSϠMNDҠANנMMAND. XHKNPNY DAND SZANDY? MPHKɠNDNDUN DAM6 DBMA3 SBPNԬɠPNԠ"NVADMMAND" DAZ+6NϠND DBMA9 MPòGϠPNԠ"NϠND"ANDGԠMND HSSNPSSSPNԠMMANDS PNԠSBHKNDNDY? SBDSNAɠSANϠDM MPPұ3SPNԠA MANA NASZAMA? MPḎNϠMAҠSMAԠ SBMNɠUNNKBNUPԠMD PҸSBGSAɠGԠSYMB̠HAAS MPP6NϠSYMB̬PNԠҠMSSAG MPP6NVADSYMB SZASSS? MPPҷYS MANA NASZAMA? MPP6NϬNVADSYMB PҷSBSH MPP6NԠDND SBPNSPNԠSYMB̠ANDSA DADG SZASSS? MPPұYS999 DAM5ADMNMUMUNԠUD SBPSSPNԠMAҠү MPPҸGԠNԠSYMB Pұ3DAS̠PNԠA MANASZASSMAKŠNGAVŬHKҠ0 MPò+NϠSYMBS SASPàSԠNUMBҠƠSYMBSUN DASSA SAPNSԠADDSSPN SBMN Pұ0DAPN SASSSԠSԠϠHAAS SZPN DAPN SASSSԠ3DHAA ANDB3MASKϠPNNUMB SBPNSPNԠSYMB̠ANDSA SZSPàNDƠS? MPP9N PұSBƠDϠAү MPMND+GԠNԠMMAND P9DAM5 SBPSSPNԠSPASҠү SZPNBUMPADDSS MPPұ0GԠNԠSYMB P6SBƠDϠAү DAZ+ DBMA SBPNԬɠPNԠ"NVADSYMB" P3DADG PA.MA? MPPҸMAUNDGԠNԠSYMB SBDSNAɠSANϠDM MPPұS MPP3+GϠHKҠMA SKP SUBUNŠPSSPNSAMAҠSHKSSP AGANDUPDASNŠHAAҠUN. A:SBPSS(AMNMUMNUMBҠƠHAASUD ҠAHSYMB PSSNPNY DBSPƠHKSPAG SZB MPPұSPAGSԬүƠANDNԠMND ADANHA ADADADD6 SSASSNUGHҠANHҠHAA? MPPSYS SBƠDϠAү SBƠDϠAү MPPSSɠUN PSDABANKPN SBPN̠ DABANKSPAS SBPN MPPSSɠUN SUBUNŠPN̠PNSHŠASɠHAAҠNA HUԠAү. A:SBPN̠-(AASɠHAA PN̠NPNY AƬAƠPSNHAA SAMPAN5B A DBMA̠5 SBPNԬɠPNԠHAA MPPN̬ɠUN SUBUNŠƠPNSAAAAGŠUNANDNŠD ANDUNSHAGSҠAD UNP+(A0 ƠNPNY A SBPNԬɠPNԠү A MPƬɠUN SKP SUBUNŠPNSPNSSYMB̠ANDSA A:SBPNS-(APNNUMB PNSNPNY SABSAVŠPNNUMB BS BSBSSHԠUԠBԠPSN ADBSPAAADDPAԠBASŠϠMDA DBBɠADDNANGPN ANDZ+MASKϠBԠNUMBҠNY ADAB0AMPNPSNMASKADDSS DAAɠmADPNMASK ANDBMASKϠPNNY DBH SZASSPNHɠҠ ADB.ϬHNADDϠM SBMP3SAVŠPNSA SBPAB̠PNԠPNDSGNA DAUA SBPN̠PNԠ DAMP3 SBPN̠PNԠPNSA MPPNSɠUN SUBUNŠPAB̠PNSHŠϠ3HAAS NAPNDSGNAҠAB.HŠAB̠ϠBŠPND SSDNSSANDSS. PAB̠NPNY DASS AƬA SBPN̠PNԠSԠHAA DASSGԠSNDHAA ANDB3 SZASSϠHAASNSYMB? MPPAB̬ɠNϬUN SBPN̠PNԠSNDHAA DASSAD3DHAA ANDHMMASKϠ3DHAAҠNY SZASSHŠHAAҠSYMB? MPPAB̬ɠNϬUN AƬAƠMVŠHDHAAҠϠGH SBPN̠PNԠHDHAA MPPAB̬ɠUN SKP SUBUNŠHKHKSHŠNDAGANDƠHŠMMAND NANDAAB. UN:P+-NϠAB P+-AB̠UND(BADDSSƠSAMN HKNPNY SBHKNDSAMNԠNPGAM? DBPGƬɠADPGSANGADDSS SBDSNAɠHKҠDM MPHKɠNϠAB̬UNϠP+ PA.MMA? SSYS-GD MPḎN-NVADMMANDMA SBGNAɠGԠSAMNԠAB MPD3NVADAB SZAS? MPḎN-NVADMMANDMA DANUMBYS-ADAB DBPGƠSAHMPGAMSA SBSHSAHҠAB MPD3BADAB̠NԠDND SZHK MPHKɠUNϠP+ HSSNPSSSHo$ŠNNUŠMMAND SNԠSBHKNDSAMNԠNPGAM DASPƠADPҠSAUSAG SZASSANYPҠAV MPVNPɠNϬNVADMMAND SZSGSԠԲMŠAG SZS3GSԠ3MŠAG SBMNɠUNNKBANNMD MPSMAAɠBGNUN SKP HSSNPSSSSPMMANDS SMNDSBD̠GԠSPAB̠NUMB SS MPḎNVADMMANDMA DANUMB SASSPSԠSPAB MPò+UNҠNנMMAND HSSNPSSSHŠABԠMMAND ABԠƠ0DSABŠNUP SBSPƠPҠ SƠ0NABŠNUP MPò+UNҠNנMMAND HSSNPSSSHŠMANNANŠMMAND MANԠSAPMGSԠPVDGŠMDŠAG MPò+UNҠNנMMAND HSSNPSSSHŠNSHMMAND DNŠA SASG SAS3GUN-ƠԲAND3MŠAGS Ơ0DSABŠNUP SBSPƠUN-ƠA̠P SƠ0NABŠNUP DAM3HA.UNԽ3 DBMA3BUҠADD. HŠNԠNSUNSSԠϠSBPNԬɠƠMŠPNAVA رMP+3SKPA̠MŠPNU DASԱAAPPҠHS.PN SBSPPɠPNԠA̠M Ơ0UN-ƠNUPԠSYSM HHԠBNDƠDAYHA MP00BUMPϠ-SA SKP SUBUNŠSP HSUNŠSSA̠PҠSUPPSϠZ VAGŠANDZϠUN. A:SBSP SPƠNP A SASPƠAҠPҠSAUSAG AϠA SBSAAɠA̠PNSϠHGH DAPSMAؠ'SMP.ƠPҠSUPPS NAM'SMP. SASH̱MU̠Ϭ0.*UN DAPSADҠADD.ƠP.S.ADD.AAY SASHDSAVŠADD.PN DAPSMMBASŠADD.ƠNנSNGAAY SASH̲SԠBASŠADD. SPƱBZϠSNG SBSPƴDϠD..PҠSUPPY SBSH̲ɠSԠNנSNGAAY SZSH̲N.AAYADD. SZSH̱N.ƠP.S. MPSPƱNNU DABNMؠƠBANKS MANAMSMP. SASH̱MU̠UN DABNADҠS.ADD.ƠBANKP.S.ADD. SASHDSԠS.ADD. SP3DASHDɠGԠH-ϠADD. DBSBKϠ33 SSAA50? DBSBKHɠNϽ5HGH ANDBANADD.-A0-A5 ҠSBBNϠA SA+MUPUԠNS. NPUPUԠB0-B5 BZϠSNG SBSPƴDϠPS.-NG.P.S. DBHD55VԠHSHDSNG SBSPƴDϠ+ԠAND- SZSHDN.AAYADD. SZSH̱A̠BANKSNSHD? MPSP3N MPSPƬɠ SPƴNP SZSHDN.AAYADD. DASHDɠHADD. ANDBA0-A5MASK ҠSBBNϠA SA+ݠUPUԠNS. NPUPUԠB0-B5 MPSPƴɠ SKP 0   20671-80003 B S 0122 HP 2060A 8K AUTEST              H0101  SUBUNŠM HSSUBUNŠMSNSUNANDHK AVAABŠMMY.ƠNϠMMYANנMMANDS AD. MԠNPNY SAPG̬ɠSԠNSUN DBPG PBAMSHSASԠDAVAAB? MPM SZPG̠N MPMԬɠUN MDANK SAPG̠SԠASԠDϠSAMNԠSA DAZ+ SBSAɠMMYVנ SBMNDGԠNנMMAND MP-YAGAN SUBUNŠAD HSSUBUNŠADSDSMHŠPHϠAD ҠYPŠNϠHŠNPUԠBUҠ(NBUƩ.ԠAS NAZSHŠPNҠANDNGHNSANSNG. ADNPԯNY DAG SAMPSAVŠMMNԠAG SBMPSAVŠB DBBAD DAAG SZA MPҲAPŠNPU DA.6 SBKYBDɠNPUԠMKYBAD PAMUBUԠND MPAD+YSHNGϠGԠNԠD ұSANSAVŠDNGH SBGNNAZŠҠG MPAD+DϠNGGԠNԠN DAMP SAGSŠMMNԠAG DBMPSŠB MPADɠUN ҲSBAPŬɠNPUԠMPHϠAD PAM3NϠAPŠUN? MPNPYSHNPNԠNϠAPŠMSSAG PAMNDƠAP? SS MPұNԠNDƠAP DBBADɠHKԠAG(ԠNԠ0 SZBSS MPAD+SԠNԠԬADAGAN DAZ+NDƠAP DBMA MP5GϠPNԠMSSAG NPDAZ+6ADҠNԠADY DBMA0 5SBPNԬɠPNԠMSSAG SBMNDGԠNԠMMAND MPAD+GϠGԠNԠD SUBUNŠG KHSUNŠGSAHAAҠMHŠNPUԠBU. ƠADMҠSUNDHŠUNSϠP+HH DMҠDŠNA.ƠANNUANMAKS DDHŠMANDҠƠHŠDSGNDAND ANנDADNANDGҠGSHŠSԠHAA NHŠNנD. A̠BANKSAŠGND.ANASSKAUSŠHŠMAND ƠHŠDϠBŠGND. A:SBG ŠUNP+-DMҠ(ADMҠNUMB 0NDƠSAMN MA ԠPANHS( 3GHԠPANHS UA̠SGN P+-NNDMҠ(AASɠHAA DMҠAG(DG5 GҠNPԯNY A SADGSԠDMҠAGϠS(0 HŠNԠNSUNSHANGDϠNŠGBDUNG MMANDPSSNGANDGàDUNGSYNA GҠSBGAAɠGԠAHAA MPGҬɠSUNϠP+ SAHAҠSAVŠHAA PABANKSԠABANK MPG+YSHNGN SZDGSԠDMҠAGϠMA( ɠPAMAMAMPAŠNSUN MPDԠYSMA SZDGDMAGϠԠPAN( PAPANSHSAԠPANHS ANASSԠPANUNDSԠASKP SSNԠԠPAN MPGñGϠSԠPANUN SZDGDMAGϠGHԠPAN(3 PAPANSHSAGHԠPANHS ASSGHԠPANSԠA-SKP MPG3NԠGHԠPAN GñADAGUPDAŠPANUN SAGSAVŠUPDADUN DԠDADGADDMҠAG MPGҬɠUNϠP+DMҠ G3SZDGDMAGϠUA̠SGN( PAUA̠SHS6ANUA̠SGN MPDԠYSUA̠SGN MA ADAPAN SSASSHAAҠA̠? MPGұNϬBADHAA ADAB63HAAҠ 20747-80001 C S 0122 RTE DISC/DRUM DRIVER (DVR30)             H0101  ASMBҬ̬BүԠDVҠ<30DHADDSïDUM HDԠàDVҠ<30DHADDSïDUM NAMDV30 VSN:<<þ50 NԠ.30.30 PGAMDSPN DVҠ30PASUNDҠHŠN̠ƠH ɯϠN̠MDUŠƠHŠA-MŠUV. HSDVҠSSPNSBŠҠNNGDAA ANSMSSNHA5AYPŠDSà. <30SHŠUPMNԠDŠASSGNDϠHS YPŠƠDV..30SHŠNYPNԠ HŠNANSNAND.30ҠH MPNSN. -HŠNANSNSADMɯ N̠ϠNAZŠADSïDMAMBNAN ANDϠNAŠDAAANSMSSN. ANGSUN: -ADDSSSƠDVŠԠNY SԠN"Ա-Ա"- -N̠ɯϠADDSSƠASSGND DMAHANN̠SԠN"HAN". (AɯϠADDSSƠDS(HGH-PY (PSB.30 (P+-UN- (A0PANNAD (AԠD: GA̠N̠US 3DSàSNԠ"UPϠSPD" ҠS"BUSY". -HŠMPNSNSADBYNA NUPԠN̠AԠHŠGNNƠH DMAHANN̠NUP. ANGSUN: -ADDSSSƠDVŠԠNY SԠN"Ա-Ա"- (ADMAHANN̠N̠ɯϠADDSS (PSB.30 (P+--MPNUN-- (P+--YҠNԠANSҠUN-- -MPNUN: (A0SUSSU̠MPNH (BDSҠHAS.ANSD (A3ƠPAYҠDDŠҠҠAB DDNNPUԠPAN ҠABԠNŠPAN. (BADDSSƠAKNANNG -YUN:GSSMANNGSS -DAAANSMSSN:A̠DAAANSҠS PMDUNDҠDMAHANN̠N. NϠAANSMADŠϠHŠBU AABYHŠDVһHŠMDŠNH USԠSGND.HŠUSҠSPS HŠAKSANGSҠAND HŠNGHƠHŠANS.HŠDV AUSSU̠SSϠBŠN. -NPUԠҠYPDU:HŠDVҠAMPS ANNPUԠPANN(0MSB MNANGHAPAYҠSGNA ϠɯϠN.HŠSNϠŠPAY DNPVDDBYHŠHADA. -SPA̠SYSMUSS:AGUPƠANSS MAYBŠSPDBYANNNA̠SYSM USԠ(VAB .> 20805-80002 1621 S 0122 RTE EDITOR              H0101 մ* * SUBROUTINE TO COMPUTE NEXT BASE ADDRESS FOR A MOVE * CALL: (A) = NO. OF CHARACTERS IN PREVIOUS MOVE * (B) = PREVIOUS BASE ADDRESS * RETURN TO (P+1) - (A) = NEXT BASE ADDRESS NXAD NOP ENTRY/EXIT SZA,RSS IF A = ZERO, JMP NXEX EXIT STB NXRA SAVE REFERENCE ADDRESS RAR CONVERT CHARS. TO WORDS STA NXSG SAVE RESULT FOR SIGN TEST AND CHMK REMOVE SIGN BIT SSB COMPLEMENT REFERENCE CMB,INB ADDRESS IF NEGATIVE ADB 0 ADD WORD TO ADDRESS LDA NXRA CHECK SIGN OF REF. SSA ADDRESS, IF NEG. JMP NGAD THEN JUMP LDA NXSG IF SIGN OF RESULT SSA OF CHAR/WORD CMB,INB CONVERSION IS NEG. NXEX LDA 1 THEN COMPLEMENT. JMP NXAD,I A = NEW ADDRESS NGAD LDA NXSG - NEGATIVE REFERENCE ADDR. SSA,RSS IF SIGN OF CHAR/WORD IS CMB NEG., INCREASE REF. ADDRESS. INB OTHERWISE COMPLEMENT JMP NXEX ADDRESS AND EXIT *PUNCH SYMBOLIC FILE RECORD PUN NOP LDA SYCT LDB SBUF JSB UFOUT JMP PUN,I SKP * * SUBROUTINE TO POSITION SYMBOLIC FILE TO N1 OR * TO N2 IF N2 NOT EQUAL ZERO. IF INSERT CS, * THEN RECORD N1 IS OUTPUT, OTHERWISE N1 LEFT * IN BUFFER * PSFX NOP ENTRY/EXIT LDA N1XX INITIALLY, CHECK N1 LDB SYSQ WITH SEQUENCE NO. CMB,INB OF SYMBOLIC FILE ADA 1 SUBTRACT SEQ. NO. SSA FROM N1. JMP SEQE2 IF NEGATIVE, ERROR SZA,RSS IF ZERO, POSITIONED JMP PX02 PROPERLY PX01 JSB SYMI POSITION TO N1 SZA,RSS IF END-OF-TAPE, THEN JMP SEQE2 N1 ERROR STA SYCT SAVE CHARACTER COUNT LDA SYSQ CHECK FOR FILE POSITIONED CPA N1XX TO N1 JMP PX02 YES - POSITIONED TO N1  JSB PUN PUNCH SYMBOLIC FILE RECORD JMP PX01 GET NEXT RECORD PX02 LDA CSFL POSITIONED TO N1 - CHECK SZA FOR INSERT RECORD JMP PX03 NO, OTHER THAN INSERT LDA SYCT YES, OUTPUT CURRENT LDB SBUF SYMBOLIC RECORD JSB UFOUT TO PUNCH JMP PX05 GO TO CLEAN-UP SECTION PX03 LDA N2XX CHECK FOR N2 PRESENT SZA,RSS IF N2 = ZERO, JMP PX05 GO TO CLEAN-UP LDB N1XX N2 PRESENT, SUBTRACT CMB,INB N1 FROM N2 - ADA 1 SET RESULT NEGATIVE CMA,INA FOR COUNTER TO STA FFCT N2 PX04 JSB SYMI POSITION TO N2 SZA,RSS END-OF-TAPE JMP SEQE2 ERROR ISZ FFCT REDUCE COUNT JMP PX04 LOOP TO READ PX05 CLA,INA SET CONTROL STATEMENT STA CSAF ACTIVE FLAG LDA EDAD SAVE CURRENT EDIT STA SEDA FILE ADDRESS JSB GETA GET ADDRESS OF NEXT EDIT JMP PSFX,I FILE STATEMENT - EXIT SEQE2 LDA SEQM JMP EDERA SKP * * SUBROUTINE TO COMPUTE ADDRESS OF NEXT * EDIT FILE STATEMENT AND STORE * ADDRESS AT EDAD. * CALL: JSB GETA, RETURN: (P+1) GETA NOP ENTRY/EXIT LDA EDAD,I GET NO. OF CHARS. FOR RAR CURRENT RECORD, CONVERT SSA TO WORDS, MAKE EVEN INA NUMBER OF CHARS. AND CHMK REMOVE SIGN. ADD 1 TO INA SKIP FIRST WORD AND ADA EDAD ADD CURRENT ADDRESS STA EDAD -SET NEXT ADDRESS JMP GETA,I AND EXIT SKP * * SUBROUTINE TO EXTRACT A CHARACTER FROM AN EDIT * FILE STATEMENT (NORMALLY A CONTROL STATEMENT) * AND RETURN THE CHAR (IN A) TO THE CALLER. * * THE FOLLOWING WORDS MUST BE SET BY THE CALLER * ONCE FOR EACH STATEMENT: * CHCT - HOLDS NEG. LENGTH+1 OF STATEMENT (CHARS.) * CSAD - HOLDS ADDRESS OF STATEMENT * F52ӿ5 - CHARACTER POSITION FLAG (INITIALLY, * SIGN SET TO ZERO FOR UPPER CHARACTER) * * CALLING SEQUENCE: JSB GETC * (RETURN) (CHAR IN A(07-00)) * (A) = ZERO ON RETURN IF END-OF-STATEMENT REACHED * SPACES (BLANKS) ARE IGNORED BY THE ROUTINE * GETC NOP ENTRY EXIT CLA SET A = ZERO FOR END-OF-STATEMENT ISZ CHCT UPDATE STATEMENT LENGTH COUNTER JMP *+2 NOT END JMP GETC,I END-OF-STATEMENT-EXIT LDB F525 SET B = UPPER/LOWER POSITION FLAG LDA CSAD,I GET WORD CONTAINING CHARACTER SSB,RSS IF FLAG SAYS UPPER (SIGN B = 0) ALF,ALF ROTATE TO LOWER AND CHMK MASK OFF OTHER CHARACTER. SSB ADD 1 TO STATEMENT ADDRESS IF ISZ CSAD LOWER CHARACTER RBL UPDATE CHAR. POSITION FLAG STB F525 AND SAVE CPA BLKX IF CHAR. IS A SPACE (BLANK) JMP GETC+1 IGNORE IT, GET NEXT CHARACTER JMP GETC,I EXIT - CHAR IN A * * * SKP * * SUBROUTINE TO CHECK CURRENT EDIT * FILE RECORD FOR A CONTROL STATEMENT- * SLASH IN FIRST CHARACTER. IF SLASH, RETURN * IS TO (P+1), OTHERWISE RETURN TO (P+2). CKSL NOP ENTRY/EXIT LDA EDAD GET EDIT FILE ADDRESS LDB 0,I SET ONE-S COMPLEMENT OF CHAR. CMB LENGTH OF STATEMENT IN STB CHCT CHCT FOR -GETC- LDB M525 INITIALIZE UPPER/LOWER POSITION STB F525 FLAG TO UPPER INA SET STARTING ADDRESS OF STA CSAD STATEMENT JSB GETC GET FIRST NON-BLANK CHAR. SZA,RSS EXIT TO (P+2) IF JMP *+3 ALL-BLANK STATEMENT. EXAMINE CPA SLSH CHARACTER FOR A JMP CKSL,I SLASH - YES, EXIT ISZ CKSL NO, ADJUST RETURN TO JMP CKSL,I (P+2) AND EXIT * SKP **** NUMERIC FIELD CONVERSION SUBROUTINE * CALLING SEQUENCE: (B) = MAXIMUSM FIELD LENGTH * IN CHARACTERS * JSB CONV * (RETURN) * ON RETURN: (A) CONTAINS THE RESULT (BINARY NUMBER) * (B) = ZERO IF THE END OF THE CONTROL * STATEMENT WAS ENCOUNTERED, OTHER- * WISE, (B) IS NON- ZERO. * * A FIELD IS TERMINATED BY A COMMA, MAXIMUM FIELD * LENGTH OR END-OF-STATEMENT * ERRORS ENCOUNTERED IN THE CONVERSION PROCESS * CAUSE A DIRECT JUMP TO -ILCS- OR -NERR-. * CONV NOP ENTRY EXIT CMB,INB SET FIELD LENGTH STB MXNO NEGATIVE FOR COUNTER. STB CKSL CLA CLEAR WORD USED FOR STA RSLT COMPUTING RESULT. * FOLLOWING SECTION CONVERTS THE CHARACTERS * AFTER CHECKING FOR LEGALITY. CON1 JSB GETC GET NEXT CHARACTER IN STATEMENT SZA,RSS IF END-OF-STATEMENT (A=0), JMP CON2 GO TO EXIT SECTION. CPA COMA IF CHAR. IS A COMMA, JMP CONX THEN EXIT. * CHECK FOR NUMERIC ADA CM60 SUBTRACT 60(8) FROM ASCII CHAR. SSA IF NEG. RESULT, CHAR. NOT JMP NERR NUMERIC AND IS AN ERROR. STA CNBR SAVE CHAR (0-11(8) IF LEGAL) ADA CM12 SUBTRACT 12(8) SSA,RSS IF POSITIVE RESULT, THEN NOT JMP NERR NUMERIC AND IS AN ERROR. * CHARACTER IS 0 - 9 (60-71(8)) LDA RSLT MULTIPLY PARTIAL RESULT BY ALF,RAR 10(DECIMAL) - I.E. SHIFT LEFT ADA RSLT 8 AND ADD RESULT TWICE (EFFECTIVE ADA RSLT MULT. BY 10). ADA CNBR ADD CURRENT NUMBER TO RESULT AND STA RSLT SAVE NEW RESULT. ISZ MXNO CHECK FOR END OF FIELD. JMP CON1 NO, GO FOR NEXT CHARACTER. * IF MAX. FIELD LENGTH REACHED, CHECK NEXT CHAR. JSB GETC GET NEXT CHARACTER. SZA,RSS O.K. IF END-OF-STATEMENT JMP CON2 REACHED-EXIT. CPA COMA CHECK FOR A COMMA - JMP 3CONX YES, EXIT. JMP NERR NO, ERROR CONDITION * CONTROL HERE IF END-OF-STATEMENT REACHED CON2 CLB SET B = ZERO. * EXIT POINT CONX LDA MXNO CPA CKSL JMP ILCS LDA RSLT SET A=RESULT JMP CONV,I AND EXIT TO CALLER. SKP * SUBROUTINE: * * PURPOSE: THIS ROUTINE CALLS FOR THE * INPUT OF A RECORD FROM THE * SYMBOLIC FILE. * * FOR PAPER TAPE INPUT: * IF END-OF-INFORMATION (TAPE) IS * DETECTED, THE ROUTINE CALLS * FOR A 'PROGRAM SUSPENSION'. AFTER * A 'GO,EDIT' STATEMENT IS INPUT, * THE STATEMENT PARAMETER IS * EXAMINED. IF THE PARAMETER IS '0', * THE INPUT CALL IS REPEATED. IF IT * IS '1', RETURN IS MADE TO THE * CALLER WITH (A) = 0 TO MEAN TERM- * INATION REQUESTED BY THE OPERATOR. * FOR INPUT FROM DISK: * REPEAT INPUT CALL. * * CALL: (P) JSB SYMI * (P+1) - RETURN - , ON RETURN, (A) = * # CHARACTERS INPUT OR * 0 FOR TERMINATION AFTER EOT * * THE RECORD IS INPUT INTO 'INBUF' , A * MAXIMUM LENGTH OF 72 CHARACTERS IS IMPOSED. * SYMI NOP JSB %READ READ RECORD DEF *+5 DEF SFLUN DEF SBUF,I DEF CM72 -MAX 72 CHARACTERS- JMP SYM1 EOF, TERMINATE * STA RTRKC UPDATE CURRENT LUN, READ-TRACK LDA B SET A= # CHARS INPUT SZA,RSS IF END-OF-INFORMATION, JMP *+3 CALL FOR SUSPENSION. ISZ SYSQ COUNT SYMBOLIC FILE RECORD. JMP SYMI,I -RECORD INPUT, RETURN. LDA SFLUN LUN(INPUT) CPA C.02 FROM DISK ? JMP SYMI+1 YES, REPEAT INPUT REQUEST * * END-OF-INFORMATION: CALL FOR SUSPENSION * CCB SET B NEGATIVE JSB EXEC DEF *+2 DEF C.07 * * EXAMINE 'GO' PARg}AMETER * SSB IF B NEG. ASSUME JMP SYMI+1 A ZERO PARAMETER LDA B,I GET PARAMETER:(B)= ADDRESS SZA,RSS IF 0, REPEAT JMP SYMI+1 INPUT REQUEST. * SYM1 CLA JMP SYMI,I TERMINATION SKP * * SUBROUTINE: * * PURPOSE: THIS ROUTINE CALLS FOR THE * OUTPUT OF A RECORD TO BE IN * THE UPDATED FILE. THE LOGICAL * UNIT REFERENCE IS UNIT #4 (OR * OTHER UNIT IF SPECIFIED BY AN * OPERATOR PARAMETER. * * THE PARAMETERS SUPPLIED TO * ARE: * * (A) = # CHARACTERS IN BUFFER * (B) = ADDRESS OF BUFFER * * * CALL: SET A,B REGISTERS * * (P) JSB UFOUT * (P+1) --- RETURN * * * UFOUT NOP CMA,INA SET BUFFER LENGTH NEGATIVE STA UFLNG FOR CHARACTERS STB UFBAD SET BUFFER ADDRESS STB UFDSK+2 * LDA UFLUN CPA C.02 UPDATED FILE ON DISK ? JMP UFDSK YES, WRITE TO DISK JSB EXEC WRITE DEF *+5 UPDATED FILE DEF C.02 RECORD DEF UFLUN UFBAD NOP DEF UFLNG * JMP UFOUT,I -RETURN TO CALLER. UFDSK JSB %WRIS OUTPUT RECORD TO DISK DEF *+4 NOP BUFFER FWA DEF UFLNG BUFFER LENGTH JMP DOVF DISK OVERFLOW STA WTRKC SAME OR NEW LUN-TRACK NO. JMP UFOUT,I EXIT SKP * * SUBROUTINE: * * PURPOSE: THIS ROUTINE CALLS TO * OUTPUT LEADER/TRAILER FOR * THE UPDATED FILE. * * CALL: (P) JSB LT.G * (P+1) -RETURN- * LT.G NOP LDA UFLUN CPA C.02 OUTPUT TO DISK ? JMP LT.G,I YES,EXIT * JSB EXEC DEF *+3 DEF C.03 DEF LTGCW JMP LT.G,I * LTGCW OCT 1000 * SKP * * SUBROUTINE: * * PURPOSE: THIS ROUTINE PROVIDES FOR * MOVING A STRING OF CHARACTERS * FROM ONE AREA (SOURCE) OF * MEMORY TO ANOTHER (DESTINATION). * THE FORMAT OF THE ADDRESSES * PASSED TO 'MOVE' DETERMINES THE * STARTING CHARACTER POSITION, I.E, * A POSITIVE ADDRESS MEANS STARTING * WITH THE UPPER CHARACTER, A NEG- * ATIVE ADDRESS MEANS THE LOWER * CHARACTER. * * CALLING SEQUENCE: * * (A) = # OF SOURCE CHARACTERS * (B) = DESTINATION ADDRESS * * (P) JSB MOVE * (P+1) DEF SOURCE.ADDRESS * (P+2) - RETURN - * * AN IMMEDIATE RETURN IS MADE IF * THE CHAR COUNT = 0. * * MOVE NOP CMA,INA,SZA,RSS JMP MOVE0 EXIT MOVE * STA GCNT NEGATIVE. * CLE,SSB E=0 FOR + ADDR, CMB,CCE,INB E=1 FOR - ADDR, SET ADDR +. ELB CONVERT OT CHARACTER ADDR. STB GDES SET 'DESTINATION' ADDRESS * LDB MOVE,I DO SAME CLE,SSB FOR CMB,CCE,INB SOURCE ELB ADDRESS. STB GSRC SET 'SOURCE' ADDRESS. * GLUP LDB GSRC MOVE SEQUENCE: CLE,ERB GET SOURCE ADDR - LDA B,I PICK UP WORD, SEZ,RSS ROTATE FOR ALF,ALF APPROPRIATE AND GMLO CHAR. AND ISOLATE CHAR. IN A. * STA GTEM SAVE CHAR (07-00) LDB GDES GET DEST. ADDR - CLE,ERB PICK UP LDA B,I WORD SEZ,RSS ROTATE WORD ALF,ALF FOR POSITION. AND GMHI REMOVE BITS 07-00 IOR GTEM AND INSERT CHARACTER * SEZ,RSS IF UPPER CHAR TO BE REPLACED, ALF,ALF ROTATE TO UPPER STA B,I AND STORE AT DESTINATION. * ISZ GSRC INDEX SOURCE AND ISZ GDES DESTINATION ADDRESSES. ISZ GCNT INDEX CHAR. COUNTER. JMP GLUP -CONTINUE SEZ JMP MOVE0 AND GMHI IOR BLKX STA B,I MOVE0 ISZ MOVE YRJMP MOVE,I -EXIT. * GTEM NOP GDES NOP GSRC NOP GCNT NOP GMHI OCT 177400 GMLO OCT 377 SKP * * ERROR CONTROL AND DIAGNOSTIC SECTION * OVFL LDA OVFM EDIT FILE OVERFLOW OF JMP EDERA * CHOV JSB PUN LDA CHOM CHAR OVERFLOW OR RANGE ERROR JMP EDERR * C.ER JSB PUN ILCS LDA ILCM ILLEGAL CONTROL STATEMENT JMP EDERR * NERR LDA NERM ILLEGAL VALUE ( N OR C ) JMP EDERR * RPER JSB PUN LDA RPEM NO UPDATE AFTER REPLACE JMP EDERR * INER. JSB PUN INER LDA INEM NO UPDATE AFTER INSERT JMP EDERR * FLERR LDA FLUND DISK-FILE UNDEFINED JSB DIAG PRINT DIAGNOSTIC JMP EN08 ABORT DOVF LDA DOVFM DISK OVERFLOW ERROR JMP EDERA SEQE LDA SEQM SEQUENCE ERROR * EDERR JSB DIAG PRINT DIAGNOSTIC JSB OUTS PRINT CONTROL STATEMENT ISZ ERCT BUMP ERROR COUNT LDB PSFLG SZB,RSS PASS 1 ? STB SEQN YES, 0 TO SEQUENCE NO SZB,RSS JMP ED.4 IF PASS 1, DO NEXT EDIT INSTR CLA STA CSAF CLEAR CONTROL-STATEMENT FLAG JMP ED06 PROCESS NEXT STATEMENT EDERA JSB DIAG PRINT DIAGNOSTIC JSB OUTS PRINT CONTROL STATEMENT JMP EN08 ABORT EDIT OPERATION ERCT NOP ERROR COUNT PSFLG NOP PASS-FLAG=0 FOR PS1,=1 IN PS2 SKP *READS SOURCE FROM DISK (IF LUN= 2) OR OTHER DEVICE *CALLING SEQUENCE FOR %READ: JSB %READ * DEF *+5 * DEF LUNIN LUN FOR INPUT * DEF BUFFR FWA OF READ-BUFFER * DEF RLEN -(NO OF CHARS) * EOF RETURN * NORMAL RETURN *RETURNS WITH: (B) = NO.OF CHARS. %READ NOP JSB FTEST INITIALIZE IF FIRST TIME LDA %READ,I STA EXIT RETURN ADDRESS ISZ %READ LDA %READ,I [" STA LUNAD ADDR FOR LUN OF INPUT ISZ %READ LDA %READ LDA 0,I RAL,CLE,SLA,ERA TEST I-BIT AND CLEAR JMP *-2 INDIRECT, GO ON THRU INDIR.CHAIN STA RBFAD FWA OF READ-BUFFER ISZ %READ LDA %READ,I STA RLGTH RECORD-LENGTH ADDR ISZ %READ BUMP RETURN ADDR FOR EOF RETURN LDA LUNAD,I CPA ..2 LUN = 2 JMP READ1 YES JSB EXEC READ FROM OTHER THAN DISK DEF *+5 DEF M1OR1 CODE = 1 OR -1 FOR READ LUNAD BSS 1 ADDR OF INPUT-LUN OF CONTROL CARD RBFAD BSS 1 ADDR OF READ-BUFFER RLGTH BSS 1 ADDR OF ASKED-FOR RECD LENGTH JMP EXIT,I EXIT EXIT BSS 1 EXIT POINT BUFFR BSS 128 SECTOR-BUFFER FIRST OCT 0 FIRST TIME FLAG READ1 LDA FIRST SZA FIRST TIME ? JMP *+3 NO ISZ FIRST SET NE.0 JSB %JFIL READ IN FIRST SECTOR JSB GETWD GET RECORD HEAD ALF,ALF (A)= NO OF WORDS LDB 0 SZA,RSS END OF TAPE ? JMP EXIT,I YES, EXIT WITH (B)=0 SSA EOF ? JMP %READ,I YES, EOF RETURN CMA,INA -( NO OF WORDS IN RECORD) RBL STB ALGTH RECORD LGTH IN CHARS LDB RLGTH,I ASKED-FOR RECORD-LENGTH (-) BRS CONVERT TO -(WORD COUNT) STA RCOUN SET CURRENT-RECORD COUNT STB ACNT SET ASKED-FOR RECORD COUNT JSB GETWD GET WORD FROM DISK STA RBFAD,I WORD TO USER-S BUFFER ISZ RBFAD BUMP BUFFER ADDR ISZ ACNT BUMP COUNT RSS JMP READ2 READY,FINISH UP ISZ RCOUN BUMP RECORD COUNT JMP *-7 CONTINUE LDB ALGTH RETURN ACTUAL RECORD-LENGTH JMP *+5 READ2 ISZ RCOUN SKIP TO END OF RECORD JMP *+5 LDB RLGTH,I READY, RETURN ASKED-FOR REC.LGTH CMB,INB POS LGTH LDA CODE RETURN CODE-WORD IN A L JMP EXIT,I JSB GETWD GET NEXT WORD JMP READ2 AND SKIP BFRAD BSS 1 POINTER FOR INTERNAL BUFFER GETWD NOP LDA BFRAD,I ISZ BFRAD ISZ BCNT BUMP BUFFER COUNTER JMP GETWD,I EXIT ISZ SECTR BUMP SECTOR NO. LDB STYPE SSB JMP RTECD STA SAVE LDB SECTR CPB 116B END OF TRACK? CLB,RSS YES,SECTOR = 0 JMP GETW1+1 STB SECTR SECTOR NO = 0 ISZ TRCK BUMP TRACK NO. JSB EXEC DEF *+5 DEF .M16 CODE = -16 FOR STATUS DEF .1 1 TRACK DEF TRCK STARTING TRACK DEF TRCK NEXT GOOD TRACK JMP GETW1+1 RTECD LDB =B1755 ADB RLUN =1757B FOR SYST, 1760B FOR AUX. LDB 1,I CPB SECTR END OF TRACK? CLB,RSS YES, SECTOR NO.= 0 JMP GETW1 STA CODE SAVE CODE-WORD STB SECTR SECTOR NO =0 LDA =D-8 STA N LDA CODE CLE,ELA SHIFT UPPER 8 BITS OF ELB,CLE A INTO B, OR LSL 8 ISZ N JMP *-3 ALF,ALF STA TRCK SET TRACK NO STB RLUN SET LUN JSB READS READ SECTOR JMP GETWD+1 GET RECORD WORD GETW1 STA SAVE JSB READS READ NEXT SECTOR LDA SAVE JMP GETWD,I READS NOP LDA BFWA STA BFRAD BUFFER-POINTER= FWA BUFFER LDA MSIZE -64 OR -128 STA BCNT BUFFER COUNTER JSB EXEC READ SECTOR DEF *+7 DEF M1OR1 CODE = 1 OR -1 FOR READ DEF RLUN LUN BFWA DEF BUFFR FWA OF READ-BUFFER DEF PSIZE 64 OR 128 WORDS DEF TRCK TRACK NO. DEF SECTR SECTOR NO. JMP READS,I EXIT ACNT BSS 1 ASKED-FOR RECD COUNT RCOUN BSS 1 CURRENT-RECORD COUNT ALGTH BSS 1 RECD LGTH TRCK BSS 1 CURRENT TRCK NO SECTR BSS 1 CURRENT SECTOR NO BCNT BSS 1 SECTOR-BUFFER COUNTER SAVE BSS 1 TEMP STORAGE RLUN BSS 1 LUN OF CURRENT TRACK CODE BSS 1 STYPE BSS 1 SAVES SYSTEM TYPE CODE FROM OPSY N BSS 1 COUNTER M1OR1 DEC 1 SET FOR RTE, MAY CHANGE .M16 DEC -16 .2OR3 DEC 2 ..2 DEC 2 .1 DEC 1 PSIZE DEC 64 MSIZE DEC -64 * *%RDSC READS A SECTOR *CALLING SEQUENCE: LDA CODE * LDB SECTR SECTOR NO. * JSB %RDSC * RETURN (A)= LAST WORD IN SECTOR %RDSC NOP STB SECTR SECTOR NO. LDB =D-8 STB N CLB CLE,ELA ELB,CLE LSL 8 ISZ N JMP *-3 ALF,ALF STA TRCK LDA STYPE SSA JMP *+3 DONT CHANGE UNIT FOR RTE CPB =D3 SET LU NEG IF = 3 CMB,INB STB RLUN LUN= 2 OR 3 JSB READS READ SECTOR LDB STYPE LDA BUFFR+63 LAST WORD IN 64 WORD SECTOR SLB LDA BUFFR+127 LAST WORD IN 128 WORD SECTOR JMP %RDSC,I *%JFIL GETS SOURCE-FILE CODEWDRD FROM BASE PAGE, FORMS A WORD= *LUN,TRACK AND CALLS %RDIN WITH IT. %JFIL NOP JSB FTEST INITIALIZE IF FIRST TIME LDA =D-8 STA N LDA STYPE CLE,SSA JMP RTEFL RTE LDB 124B DOS OR IOMEC/DOS LDA .2OR3 LUN = 2 OR 3 JSB RRL RRL 8 BLF,BLF JMP CONTU RTEFL LDB 1767B SOURCE-FILE CODE WORD CLA CLE,ELB RRL 1 ELA ADA .2OR3 JSB RRL SHIFT TRACK NO INTO A STA CODE SAVE LUN, TRACK NO. CLB CONTU JSB %RDSC READ SECTOR JMP %JFIL,I EXIT FTEST NOP INITIALIZES RTE,DOS,OR DOSM STUF LDA FIRST FIRST TIME ? SZA JMP FTEST,I NO. JSB .OPSY STA STYPE 0 = DOS, 1 = IOMEC/DOS, -2 = RTE SSA JMP FTEST,I RTE CCB DOS OR IOMEC/DOS STB M1OR1 SET M1OR1 = -1 SLA,RSS JMP FTEST,I DOS LDB =D128 IOMEC/DOS. BUFFER SIZE = 128 STB PSIZE CMB,INB STB MSIZE LDB =D3 STB .2OR3 LOGICAL UNIT = 3 JMP FTEST,I RRL NOP PERFORMS RRL N CLE,SSA IF MSB = 0, E=0 CCE ELSE E=1 ELB SHIFT E INTO B ELA SHIFT E INTO A ISZ N JMP RRL+1 JMP RRL,I SKP *%WRIS WRITES SOURCE ONTO DISK. RECORD FORMAT:1ST WORD=-N,IT IS *FOLLOWED BY N CHARACTERS. RECORDS ARE PACKED WITHIN TRACKS, *TRACKS ARE LINKED. INITIALIZATION IS ACCOMPLISHED BY CALLING *%WRIN. IT WILL ASK FOR A TRACK, INITIALIZE %WRIS,AND RETURN *A WORD=LUN,FIRST TRACK NO. * *CALLING SEQUENCES: * JSB %WRIS * DEF *+4 * DEF BUFFR FWA OF OUTPUT BUFFER * DEF RLEN -(NO OF CHARS), 0 FOR EOT * ERROR RETURN (DISK FULL) * NORMAL RETURN WITH (A)= LUN,TRACK NO * * JSB %WRIN * ERROR RETURN (NO MORE TRACKS) * NORMAL RETURN WITH (A)= LUN,TRACK NO * *TO END A FILE, CALLING SEQUENCE IS: JSB %WEOF *GETRK REQUESTS A TRACK FROM EXEC. IF NO TRACKS ARE AVAILABLE, *THE ERROR RETURN WILL BE TAKEN *CALLING SEQUENCE: JSB GETRK * ERROR RETURN * NORMAL RETURN GETRK NOP JSB EXEC GET TRACK DEF *+6 DEF .4 REQUEST CODE = 4 DEF TCONS =100001 FOR 1 TRACK, NO SUSPENS. DEF NTRAC TRACK NO DEF NLUN LUN DEF S/TRK NO OF SECTRS/TRACK LDA NTRAC SSA TRACK HERE ? JMP GETRK,I NO, ERROR RETURN ISZ GETRK BUMP FOR JMP GETRK,I NORMAL RETURN %WRIN NOP JSB GETRK GET TRACK JMP %WRIN,I ERROR RETURN,NO TRACKS LEFT 6ISZ %WRIN BUMP FOR NORMAL RETURN JSB WINIT INITIALIZE FOR NEW TRACK JMP %WRIN,I EXIT WINIT NOP LDA NTRAC STA WTRAC SET TRACK NO. LDB NLUN STB WLUN SET LUN BLF,BLF ADA 1 (A)= LUN,TRACK NO. STA LUNTR LUN,TRACK TO RETURN ON EXIT LDB WBFWA STB WBFAD BUFFER ADDR= BUFFER FWA LDB =D-64 -64 STB BCOUN BUFFER COUNT CLB STB WSECT SECTOR NO =0 JMP WINIT,I NORMAL EXIT TEMP BSS 1 WEXIT BSS 1 %WRIS NOP LDA %WRIS,I STA WEXIT EXIT POINT ISZ %WRIS LDA %WRIS LDA 0,I RAL,CLE,SLA,ERA TEST I-BIT AND CLEAR JMP *-2 INDIRECT,CONTINUE THRU I-CHAIN STA SBUFR SOURCE-BUFFER ADDR ISZ %WRIS LDA %WRIS,I LDA 0,I -(NO OF CHARS) ISZ %WRIS ARS STA 1 CMB,INB BLF,BLF ADA =D-1 STA ACOUN -(NO OF WORDS +1) STB WBFAD,I NO. OF WORDS IN UPPER JMP WRIS1+3 WRIS0 LDA WSECT INA CPA S/TRK END OF TRACK JMP WRIS3 YES JSB WOUT NO,OUTPUT SECTOR ISZ WSECT BUMP SECTOR NO. LDA WBFWA STA WBFAD BUFFER ADDR = BUFFER FWA LDA =D-64 STA BCOUN BUFFER COUNT = -64 JMP WRIS2 WRIS3 STB TEMP SAVE CURRENT WORD JSB GETRK GET TRACK JMP %WRIS,I ERROR RETURN,NO TRACKS AVAILABLE LDA NLUN NEW LUN ALF,ALF ADA NTRAC NEW TRACK NO STA WBUFR+63 LUN,TRACK NO TO LAST WD OF TRACK JSB WOUT OUTPUT LAST SECTOR JSB WINIT INITIALIZE FOR NEW TRACK LDA TEMP STA WBFAD,I WORD TO DISK JMP WRIS1+3 WRIS1 LDB SBUFR,I STB WBFAD,I WORD TO DISK ISZ SBUFR BUMP SOURCE POINTER ISZ WBFAD BUMP OUTPUT-BUFFER POINTER ISZ BCOUN END OF SECTOR ? RSS NO JMP WRIS0 WRIS2 ISZ M}TRNACOUN END OF TRANSFER ? JMP WRIS1 NO, CONTINUE CCA STA WBFAD,I SET CURRENT EOF LDA LUNTR (A)= LUN,TRACK NO. JMP WEXIT,I RETURN WOUT NOP JSB EXEC DEF *+7 DEF .2 CODE=2 DEF WLUN LUN OF CURRENT WRITE-TRACK WBFWA DEF WBUFR WRITE-BUFFER DEF .64 =64 DEF WTRAC TRACK NO DEF WSECT SECTOR NO JMP WOUT,I WBUFR BSS 64 WRITE-BUFFER WTRAC BSS 1 CURRENT TRACK WSECT BSS 1 CURRENT SECTOR WBFAD BSS 1 WRITE-BUFFER ADDR NTRAC BSS 1 NEW TRACK NO (TEMP) WLUN BSS 1 LUN FOR CURRENT TRACK NLUN BSS 1 NEW LUN ( TEMP) SBUFR BSS 1 SOURCE BUFFER ADDR ACOUN BSS 1 SOURCE COUNT BCOUN BSS 1 BUFFER COUNT LUNTR BSS 1 LUN, TRACK NO. FOR RETURN S/TRK BSS 1 .2 DEC 2 .64 DEC 64 .4 DEC 4 TCONS OCT 100001 CONS TO INDICATE 1 TR,NO SUSP SKP %WEOF EQU WOUT * SKP e"T /B 20805-80003 1621 S 0122 RTE EDITOR              H0101 ִ* * DIAGNOSTIC OUTPUT SUBROUTINE: * * PURPOSE: THIS ROUTINE WRITES ON THE * SYSTEM TELETYPE (LU #1) THE * MESSAGE: * * "/EDIT: 'DIAGNOSTIC' " * * THE ADDRESS OF THE 'DIAGNOSTIC' * PART IS SUPPLIED TO THE ROUTINE. * THE FORMAT OF THE MESSAGE IS: * * WORD 1: # CHARS (NEGATIVE) * WORDS 2-N: TEXT * * CALLING SEQUENCE: * * (A) = ADDRESS OF MESSAGE * (P) JSB DIAG * (P+1) - RETURN - * * DIAG NOP LDB A,I GET AND STB DIAGL SET NEG. CHAR. LENGTH INA SET STA DIAGB ADDRESS OF MESSAGE * JSB EXEC WRITE DEF *+5 DEF C.02 "/EDIT:" DEF C.01 W/O R/LF DEF EDIDM ON SYSTEM DEF CM8 TELETYPE * JSB EXEC WRITE DEF *+5 MESSAGE DEF C.02 PART DEF C.01 OF DIAGB NOP DIAGNOSTIC DEF DIAGL * JMP DIAG,I RETURN SKP OVFM DEF *+1 DEC -16 ASC 8,MEM OVERFLOW : * ILCM DEF *+1 DEC -10 ASC 5,CS ERR : * NERM DEF *+1 DEC -12 ASC 6,PARAM ERR: * SEQM DEF *+1 DEC -10 ASC 5,SEQ ERR: * INEM DEF *+1 DEC -10 ASC 5,/I ERR : * RPEM DEF *+1 DEC -10 ASC 5,/R ERR : * CHOM DEF *+1 DEC -10 ASC 5,/C OVF : * EOFEA DEF *+1 DEC -13 ASC 7,END EDIT FILE * ENDED DEF *+1 DEC -15 ASC 8,END OF EDIT RUN FLUND DEF *+1 DEC -7 ASC 4,FILE UN DOVFM DEF *+1 DEC -8 ASC 4,DISK OVF NFILE DEF *+1 DEC -20 ASC 10,TRACKS IN NEW FILE : TRAKN DEF *+1 DEC -8 ASC 4,LU, TRAC * EDIDM ASC 4,/EDIT: * SKP * * SUBROUTINE: * * PURPOSE: THIS ROUTINE OPERATES IN * CONJUCTION WITH 'DIAG' TO * WRITE AN ILLEGAL CONTROL * ST OR = Y * * X IS LESS THAN Y SO INTERCHANGE IDX AND IDY. * THEN SUBSTITUTE X PLOTTER MOVE COMMAND FOR * Y PLOTTER MOVE COMMAND (YPMC TO XPMC). * DLD IDX LOAD CONSECUTIVE IDX,IDY STA IDY PUT IDX IN IDY STB IDX PUT IDY IN IDX LDA YPMC REPLACE XPMC WITH YPMC STA XPMC * P001 LDA IC,I LOAD USER PEN COMMAND JSB PABS CHANGE PEN CODE TO ABSOLUTE. CPA IP NEW PEN POSITION = OLD ? JMP P003A =, DONT EXECUTE THE PEN CMD. STA IP SET ID TO NEW PEN POSITION CPA C02 IS THE PEN DOWN (2)? JMP P002 =2, MOVE WITH PEN DOWN LDA C03 SET PEN-UP CODE TO THE STA XPLT X PLOT BUFFER. (SET =3, NOT 20) JMP P003 * ** PEN DOWN * P002 LDA C07 LOAD PEN DOWN CODE (SET=7,NOT 40) STA XPLT AND STORE IN X PLOT BUFFER. * P003 CLA STA NR ZERO OUT POTENTIAL IDY. INA STA NA SET LOOP COUNT TO 1 LDA N02 SET COUNT FOR PEN AND STA TRA MOVE TO -2 JMP P005 * P003A LDA N01 SET COUNT TO -1 FOR STA TRA MOVE ONLY. P004 LDA IDX SZA,RSS WAS THIS A PEN ONLY MOVE? JMP P100 PEN ONLY, EXIT LDA XPMC PICK UP THE X MOVE COMMAND STA XPLT AND SET FOR PLOT. LDA IDX SET THIS PLOT DATA STA NA IN THE DIVIATION BUFFER * * MULTIPLY (IDY)(2) * LDA IDY ALS (IDY)(2) STA NR * P005 LDA NA LOAD THE # OF PLOTS CMA,INA 2'S COMPLEMENT FOR LOOP COUNT STA NC SET PLOT COUNT. LDA NA ALS (NA)(2) STA NT * * THIS SECTION PUTS THE PLOT DATA IN THE BUFFER. * ** ** ** * * SET UP PLOT DEVIATION. * P006 LDA NR PICK UP LINE CONSTANT (MINOR) ADA NA ADD OLD DEVIATION 3 STA NA STORE NEW PLOT DEVIATION * LDA NT LOAD TRUE LINE CONSTANT CMA,INA 2'S COMPLEMENT ADA NA (NA-NT) SSA JMP P007 (NT > NA) STA NA STORE NEW DEVIATION (NA-NT) * * LOAD X-Y PLOT CODE FOR PLOT MOVE. (NT <,= NA) * LDA XYPMC PICK UP X-Y PLOT MOVE CODE. JMP PXJMP * * LOAD X PLOT CODE FOR PLOT MOVE. (NT > NA) * P007 LDA XPLT PICK UP X PLOT MODE CODE. * * PX WILL VARY TO ACCOMMODATE 1 OF 4 PLOT CODES * FOR EACH WORD. * * * * EACH COMPUTER WORD IS PACKED WITH UP TO 4 * PLOT CODES PER WORD, LEFT HAND JUSTIFIED * AS FOLLOWS: * * BITS 15--12,11--8,7--4,3--0 * CH1 CH2 CH3 CH4 * * * PEN UP-- WILL BE CONVERTED FROM A 20 TO 3. * * PEN DOWN--WILL BE CONVERTED FROM A 40 TO 7. * * BOTH MUST BE CONVERTED BACK TO THE CORRECT * CODE BY THE PLOTTER DRIVER. * * PXJMP JMP PX,I * PX DEF PX1 * PX1J DEF PX1 CH 1 SET UP PX2J DEF PX2 CH 2 SET UP PX3J DEF PX3 CH 3 SET UP PX4J DEF PX4 CH 4 SET UP * * CH 1 SET UP IS EXECUTED SO AS TO LEFT HAND JUSTIFY * THE CODE IN BITS 15-12 OF THE WORD. BITS 11-0 WILL * BE = 0 TO ALLOW THE DRIVER TO TERMINATE PLOTTING * ON A PARTIAL WORD AS THE PLOT COUNT SENT TO THE * DRIVER IS FOR WORDS ONLY. * PX1 ALF,ALF POSITION THE 4 BIT CODE ALF STA PXB,I STORE CH IN BUFFER LDA PX2J SET PX JUMP FOR STA PX 2ND PLOT CH OF THE WORD. JMP PX3A GO CHECK FOR LAST CH. * * CH 2 POSITIONS THE PLOT CH IN BITS * 11-8 OF THE WORD. * PX2 ALF,ALF POSITION THE 4 BIT CODE IOR PXB,I MERG CH'S 1,2 STA PXB,I RESTORE TO BUFFER LDA PX3J SET PX JUMP FOR STA PX 3RD PLOT CH OF THE WORD. JMP PX3A GO CHECK FOR LAST CH. * * CH 3 POSITIONS THE PLOT CH IN BITS 7-4 OF THE WORD. * PX3 ALF dPOSITION THE 4 BIT CODE IOR PXB,I MERG CH'S 1,2,3 STA PXB,I RESTORE TO BUFFER LDA PX4J SET UP PX JUMP FOR STA PX 4TH PLOT CH OF THE WORD. PX3A ISZ NC WAS THIS THE LAST CH? JMP P006 NO, CONTINUE PROCESSING ISZ PWDO LAST CH WITH ODD CH # IN WORD. * INCREMENT WORD COUNT. JMP P009 GO CLOSE OUT * * CH 4 POSITIONS THE PLOT CH IN BITS 3-0 OF THE WORD. * PX4 IOR PXB,I MERG CH'S 1,2,3,4 STA PXB,I RESTORE TO BUFFER LDA PX1J SET UP PX JUMP FOR STA PX 1ST PLOT CH OF THE WORD. ISZ PWDO INCREMENT WORD COUNT ISZ PXB INCREMENT BUFFER ADDRESS INDEX. ISZ PBUFI IS THE BUFFER FULL? JMP P008 NOT FULL * * FULL, OUT-PUT TO THE DRIVER * JSB POUT OUTPUT THIS BUFFER FULL ISZ NC WAS THIS THE LAST PLOT MOVE? JMP *+2 NOT LAST MOVE JMP P010 LAST MOVE JSB PREST RESTORE COUNTERS AND INDEX. * * THE PLOT ROUTINE WILL NOW SET UP THE NEXT GROUP * OF PLOT CODES. * JMP P006 * ** ** ** * * * AT THIS POINT THE BUFFER IS NOT FULL BUT IT IS * NOT KNOWN IF THERE IS MORE PLOT DATA. * PWDO OCT 0 WORD COUNT OF BUFFER WORD COUNT * P008 ISZ NC LAST PLOT CODE? JMP P006 NOT LAST CODE, CONTINUE. P009 LDA N02 SET DATA FLAG FOR CLOSE OUT STA PDATA * * * * * * * * * * * * * * * * THE PLOT IS BEING TERMINATED. CHECK IF THIS * PLOT WAS A PEN ONLY. IF SO GO TO P004 AND TEST * FOR A PEN ONLY OPERATION. IF THIS WAS A PLOT * THEN EXIT AND CLEAN UP. * * A PEN MOVE IS DETERMINED BY -TRA-. * IF TRA =-1 THEN THIS WAS A PLOT MOVE * IF TRA =-2 THEN THIS WAS A PEN MOVE. * * P010 ISZ TRA PLOT MOVE JMP P200 NOT A PLOT MOVE, TEST FURTHER. * * * * * * * * * CLOSE OUT * * LDA PDATA IS TJERE PLOT DATA FORSd OUTPUT? SZA JSB POUT OUTPUT THE REMAINING PLOT DATA P100 LDA IC,I SSA IS THE NEW POINT TO BECOME ORIGIN? JMP *+2 YES (IC = -#) JMP PLOT,I NO, EXIT THE PLOT ROUTINE CLA NEW ORIGIN STA IP SO ZERO OUT IP STA XPEN XPEN AND STA YPEN YPEN FOR NEW ORIGIN STA PDATA CLEAR DATA FLAG JMP PLOT,I EXIT THE PLOT ROUTINE. * * PEN MOVE - ISSUE PEN COMMAND * P200 JSB POUT ISSUE PEN COMMAND JSB PREST RESET JMP P004 CONTINUE PROCESSING. * *** *** * * ***** POUT **** * * * THIS ROUTINE OUTPUTS TO THE PLOTTER DRIVER. * POUT NOP LDA PBSAC SET BUFFER ORIGIN STA POUT2 LDA PWDO SET WORD COUNT STA POUT3 JSB EXEC CALL DEF *+5 FOR DEF C02 OUTPUT DEF POUT1 TO PLOTTER, DEF POUT2,I BUFFER POINTER DEF POUT3 AND LENGTH. CLA CLEAR DATA FLAG SO DATA WILL STA PDATA NOT BE REPLOTTED. JMP POUT,I EXIT * POUT1 NOP PLOTTER LOGICAL UNIT # POUT2 NOP BUFFER ADDRESS. POUT3 DEC 10 INTERNAL BUFFER LENGTH. * ** ** ** ** * ***** **** * * ****** PREST ***** * * * THIS ROUTINE RESETS THE INDEX'S AND COUNTERS. * * PREST NOP LDA PBLGC LOAD ACTIVE BUFFER LENGTH CMA,INA 2'S COMPLEMENT STA PBUFI SET BUFFER LENGTH COUNTER * LDA PBSAC LOAD ACTIVE BUFFER ORIGIN ADDRESS STA PXB AND SET BUFFER INDEX. * LDA PX1J SET PX JUMP FOR 1ST BUFFER STA PX DATA CHARACTER. * * CLA CLEAR STA PDATA DATA FLAG STA PWDO WORD COUNT * JMP PREST,I EXIT * * * * THIS ROUTINE MULTIPLIES THE PLOT CO-ORDINATE * BY THE SCALE FACTOR THEN CONVERTS FROM * FLOATING POINT TO FIXED. * A= X OR Y PLOT CO-ORDINATE 7ON ENTRY. * FPC NOP FMP CFAC (CO-ORDINATE)(PLOT FACTOR) FAD FD05 JSB IFIX CONVERT TO FIXED POINT JMP FPC,I EXIT WITH A=FIXED PLOT #. * * * * THIS ROUTINE CHANGES THE CONTENTS OF "A" TO ABSOLUTE. * * PABS NOP SSA # NEGATIVE? CMA,INA YES (-), 2'S COMPLEMENT. JMP PABS,I EXIT * * * SKP * ******** ***** ***** * *** PLTLU *** * * * THE -PLTLU- CALL ALLOWS THE USER TO SET THE * LOGICAL UNIT NUMBER FOR THE DESIRED PLOTTER. * THIS CALL MUST BE MADE TO SET THE LU # BEFORE * THE FIRST CALL TO -PLOT-; OTHERWISE THE SYSTEM * WILL TERMINATE THE USER PROGRAM BECAUSE OF AN * I/O REQUEST ERROR "LOGICAL UNIT = ZERO". * * * - FORTRAN LINKAGE - * * CALL PLTLU(ILU) * * THE LOGICAL UNIT # MUST BE INTEGER * * * - CALLING SEQUENCE : * * JSB PLTLU PLOT LU ROUTINE * DEF *+2 RETURN * DEF ILU LOCATION OF INTEGER LU # * ***** *** ***** * * * ILU BSS 1 STORAGE FOR LU # ADDRESS * * PLTLU NOP JSB .ENTR SET ADDRESS OF DEF PLTLU-1 PARAMETER IN "ILU". * LDA ILU,I SET LU # STA POUT1 IN LOCAL STORAGE. * JMP PLTLU,I RETURN SKP * * * ****** ****** ****** * ***** WORKING STORAGE *** * * * THE FOLLOWING GROUPS OF TWO WORDS MUST BE * IN 2 CONSECUTIVE MEMORY LOCATIONS. * IDX OCT 0 MAJOR PLOT MOVE (NEW DX) IDY OCT 0 MINOR PLOT MOVE (NEW DY) * XPEN OCT 0 STORAGE FOR NEW DX,DY YPEN OCT 0 FOR THIS PLOT. * IX OCT 0 ACTUAL X PLOT DATA IY OCT 0 ACTUAL Y PLOT DATA * XPMC OCT 0 X PLOT MOVE COMMAND -DOUBLE LOAD XYPMC OCT 0 X-Y PLOT MOVE COMMAND-DOUBLE LOAD YPMC OCT 0 Y PLOT MOVE COMMAND * NR OCT 0 LINE CONSTANT * NA OCT 0 DEVIATION FROM LINE * NT OCT 0 (2)(NA) * TRA OCT 0 PEN OR PLOT IN7<:6DICATOR * NC OCT 0 LOOP COUNT (# OF PLOT INCREMENTS) * IP OCT 0 LAST PEN POSITION * XPLT OCT 0 CURRENT X PLOT COMMAND * * * * C01 OCT 1 C02 OCT 2 C03 OCT 3 C04 OCT 4 C07 OCT 7 C10 OCT 10 C13 DEC 13 * FD05 DEC .5 * N01 OCT 177777 -1 N02 OCT 177776 -2 * PBUFI OCT 0 BUFFER LENGTH COUNTER PDATA OCT 0 FLAG FOR PLOT DATA IN BUFFER PWOO OCT 0 WORD COUNT OF BUFFER WORD COUNT PXB OCT 0 BUFFER ADDRESSING INDEX. * END xf< 2A 20810-80002 B S 0122 RTE/DOS PLOTTER LIBRARY             H0101 T NB àNŠPYGHԠ96ANAMPUҠPDUSV0 àVSNҠүԠSYSM-MPŠHүԠAN SUBUNŠNŠ(جYNKʬ̩ DMNSN(Y( MNNK+ DؠMN+K N̠MN-K MN(MN Dؠ(Dة YMNY(MN DYY(Dة àNDNDƠNŠSSԠϠUNԠPNPSN A̠HŠ(NYN DƠABS(((-MND-N DƲABS((Y(-YMNDY-YN D̠ABS(((N̩-MND-N D̲ABS((Y(N̩-YMNDY-YN Ơ(DƠ-DƲ000 à 00DƠDƲ 0Ơ(D̠-D̲003 0D̠D̲ 03à3 S- NԠABS(ʩ Ơ(ʩ NԠ Ơ(D-D̩3 3NƠN NA((N-NԩN+N-(N- KK-K GϠϠ5 NƠ NAN KKK 5Ơ(ʩ6 6A3 SA- Sנ GϠϠ0 NAD A SA- Sנ0 0DϠ30ɠN N((NƩ-MND YN(Y(NƩ-YMNDY àSԠҠ-0VAUSƠؠANDY àƠ(N àN0.0 àƠ(YN6 à6YN0.0 Ơ(NA-Nԩ0 0Ơ(Sש33 A̠SYMB(NYN0.0̬0.0S NA GϠϠ5 A̠PԠ(NYNé 3NANA+ 5NƠN+KK SSA 30àA UN ND ND$ & 39 20810-80003 B S 0122 RTE/DOS PLOTTER LIBRARY             H0101 T NB àASPYGHԠ96ANAMPUҠPDUSV0 àVSNҠүԠSYSM-MPŠHүԠAN SUBUNŠAS(جYBDNSZŬHAMNDة DMNSNBD( DMNSN( (506B (30000B KNN A.0 àSԠҠANNANNKSŠҠUNKSŠSDŠƠAS Ơ(KN6 6A-A KN-KN ؽ0.0 àADUSԠDؠNϠANGŠƠ00.0Ϡ0.0 ADؽABS(Dة Ơ(ADة5 Ơ(AD-00.0 ADؽADد0.0 ؽ+.0 GϠϠ 3ADؽADت0.0 ؽ-.0 Ơ(AD-0.0355 5VA̽MN0.0(-ة ADؽDؠ0.0(-ة SHHA0.0533 HS(SH SHSN(SH àAUAŠSANGANҠàMAKANNAN DB-0. DYB0.5A-0.05 N+DBH-DYBSH YNY+DYBH+DBSH NýSZ+.0 NԽNï DϠ0ɽN àPԠàMAKANNANNMN A̠NUMB(NYN.0VA̬HA VA̽VA+AD NN+H YNYN+SH Ơ(Nԩ00 ZKN Ơ(ة3 ZZ+.0 àAUAŠSANGANҠAS 3DB-.0Z+SZŪ0.5 DYB0.35A-0.05 Խ+DBH-DYBSH YԽY+DYBH+DBSH àPԠAS A̠SYMB(ԬYԬ0.BD(HAKN àSԠҠPNNԠANDAUAŠSANGANҠBAS Ơ(ة0 ZKN+ Խ+ZH0. YԽY+ZSH0. àPԠBASŬAUAŠSANGANҠPNNԠANDPԠ A̠SYMB(ԬYԬ0.جHA3 Խ+(3.0H-0.SH0. YԽY+(3.0SH+0.H0. A̠NUMB(ԬYԬ0.0جHA- 0NԽN- àMVŠϠNDƠASANDAUAŠSZŠƠàMAKS Ž+SZŪH YŽY+SZŪSH A̠P(ŬYŬ3 DB-0.0ASH ~  DYB+0.0AH AN- àAUAŠANƠASԠàMAK N+AH YNY+ASH DϠ30ɽN àPԠàMAKSSANGHHŠASԠN A̠P(NYN A̠P(N+DBYN+DYB A̠P(NYN NN-H YNYN-SH àUSŠHŠNGƠ-0.0ANAUSŠPBMS àƠ(N--ɩ300 àN àYNY 30NNU UN ND ND$ PS  4; 20810-80004 B S 0122 RTE/DOS PLOTTER LIBRARY             H0101 T NB àSAŠPYGHԠ96ANAMPUҠPDUSV03 àVSNҠүԠSYSM-MPŠHүԠAN SUBUNŠSAŠ(YY̬NP̩ DMNSNY(SAV( SAV(.0 SAV(.0 SAV(3.0 SAV(5.0 SAV(5.0 SAV(60.0 SAV(0. AD0.0 KABS(̩ àGԠMAؠANDMNƠAAY NNPK Y0Y( YNY0 DϠ5ɽNK YSY(ɩ Ơ(Y0-YS Y0YS GϠϠ5 Ơ(YS-YN55 YNYS 5NNU àYSSPMNA̠SANGVAUŬDSPMNA̠DA YSY0 Ơ(Y033535 3ADAD-.0 35D(YN-YSY Ơ(D0036 àPSPҠƠDA 36ɽAG(D0.39 P0.0 DDP-0.0 DϠ5ɽ6 S Ơ(SAV(ɩ-D55050 5NNU 50DSAV(SP àGԠNŠSANGVAU YS(Y0D+AD YSDYS ԽYS+(Y+0.0D Ơ(-YN5555 55SS+ GϠϠ50 àNҠDAA 5YK((Y+(YS-YND.0 YSYS-YKD Ơ(Y0YS5559 5YS0.0 59Ơ(̩6665 àBAKAD 6YSYS+Y̪D D-D 65NN+ Y(NYS NN+K Y(ND UN àƠDSZ 0D.0 YSYS-0.5 GϠϠ65 ND ND$ c 5; 20810-80005 B S 0122 RTE/DOS PLOTTER LIBRARY             H0101 T NB àNUMBҠPYGHԠ96ANAMPUҠPDUSV0 àVSNҠүԠSYSM-MPŠHүԠAN SUBUNŠNUMB(PYPHGԬPNHAND àHSVSNƠNUMBҠUSHŠSYMB̠VSNH999.0 àجYAUŬANDNà0AU ؠP YYP HHG PVPN HHA NND MAN SAMV999.0 àSԠNVAUŠϠ+Ҡ-MANƠUԠƠANG Ơ(N-MAN0 0NMAN Ơ(N+MAN00 N-MAN àNSԠMNUSSGNNNԠƠNUMBҬƠNGAV 0Ơ(PV3030 A̠SYMB(جYH600BH àHNSYMB̠SADHSAMVҠؠANDYHŠHAAҠSNG àNNUSMHŠASԠHAAҠPDBYSYMB ؠSAMV YSAMV àMNASPNNԠVAUŠҠPPҠUNDNGƠNUMB 30MN-N àƠSANGSDNŬMNMUSԠBŠADUSD Ơ(N333 3MNMN- àUNDNPUԠNUMBҠANDSԠϠPSVŠVAU 3PVABS(PV+(0.50.MN àDMNŠHAASàƠPVANDNMNԠԠBY ɠAG(PV0.39+.0 P àƠSANGSDNŬPMUSԠBŠDUDADNGϠSANG Ơ(N+0 0PP+N+ àƠNUMBҠSSSHANPԠAZϠBŠDMA̠(ƠANY Ơ(P50505 50A̠SYMB(جYH30000BH ؠSAMV YSAMV GϠϠ6 àPSNUMBҠƠDGSϠԠƠDMA̠PN 5DϠ60ʠP àAŠSNGŠMSԠDGԠƠNUMB KPV0.(ʠ-ɩ KK+ A̠SYMB(جYHKH0 àSUBAԠVAUŠƠPVUSDGԠMNUMBҠϠAŠNԠDG PVPV-(A(K0.(ɠ-ʩ ؠSAMV 60YSAMV àNϠDMA̠PNԠSPDƠNSNGAVŬԠMUN 6Ơ(N9900   0A̠SYMB(جYH000BH àPԠDGSϠGHԠƠDMA̠ƠNGԠ0HSŠ Ơ(N99990 0DϠ90ʠN àSAŠANA̠MANDҠϠGVŠNGҠDG KPV0. KK+ A̠SYMB(جYHKH0 àSUBAԠNGҠVAUŠϠAŠNԠDG 90PVPV0.-A(K 99UN ND ND$ @  6= 20810-80006 B S 0122 RTE/DOS PLOTTER LIBRARY             H0101 T ASMBҬ̬BؠSYMBүԠUYUNŠ HDA-MŠUYUNŠ-"SYMB" NAMSYMB0000000 NԠSYMB ԠPԬSNS.NҬ.DV0 UN:SYMB(SYMB̩ -ANNKAG- A̠SYMB(جYSZŬBDHAN -ANGSUN- SBSYMB DƠ+ DƠ DƠY DƠSZ DƠBD DƠHA DƠN HŠؠANDYAŠHŠPAGŠDNAS ƠHŠҠԠNҠƠHŠS HAA.SZŠSHŠDSD HGH.BDSHŠANƠH ASɠAAY.HASHŠANGŠ NGHSPԠϠHŠ-AS. NSHŠNUMBҠƠASɠHAAS BŠDAN(MHŠASɠAAY. -جYSZŠANDHAAŠANGPN NUMBS.(HASNDGS. N:.NSAPSVŠNGҠDNNG HŠNUMBҠƠASɠHAAS NHŠAAY-BD-.(HŠAS HAASAŠPAKDPҠD NHŠAAY. .N0ϠDSGNAŠHAԠNYN HAAҠSϠBŠDAN.H HAAҠSHŠҠHAA NHŠDSPDBYBD. 3.NSANGAVŠNGҠϠMAN HAԠHŠBDVAUŠSANNG VAUŠSPYNGASPA̠SYMB. (BDSAPNҠϠHŠSPA SYMB̠ABŠ(AB. N-NDASPNUP N<-NDASPNDN DAנANŠMUN PSNϠPSN(جY ؠD4Ơ999PAAMҠAA YDƠ999(SԠBY.NҠAҠA̩ SZŠDƠԠ(NAZDϠDVAUS BDDƠ.0ϠPԠUNŠMSH HADƠHԠPAAMҠSԩ. NDƠM. SYMBNP SB.NҠSԠUPPAAM DƠSYMB-6NKAGŠAA DA.03NAZŠPN SAPNUPPSN. DANɠHK-N- SSASSƠN0GϠ MPSSԠҠAAYP. SPA̠HAAҠ(N<0 DB.0 MASZAƠN<-HNSԠPN SBPNҠPNDNNDN. ASԠHNԠ-ҠNŠHA SAHNԠϠBŠDAN. DAABASԠABAϠNŠAB- SAABASPA̠HAAҠAB. DABDɠGԠHAAҠVAUŬSAVŠAS SAHAҠNDؠϠAB. ADAM5SUBAԠ5(ϠHK SSASSANGŠ0Ϡ(NDHAҩ MPS-NMA̠S-(GԠ( DAƴASԠDVSҠƠSZŠ MPS+GϠϠHKجY. ASɠHAAҠPԠ(AAYҠSNGŠHAAҩ SMANASԠNNGAVŠ- SAB(SAVŠMPAY SZASSƠN0(SNGŠHAҠPԩ ASԠN-. SAHNԠSԠNASNDؠҠHA.UN. DABDGԠAAYADDSS-NVԠ A̠HA.ADDSS(UPPҠHAҩ SZBSSƠSNGŠHA.UPUԬSԠADD. NAϠҠ(BԠ0 SAAADSAVŠADDSS. DAABASԠABŠADDSSABA SAABANŠASɠSԠAB. SDAƷASԠDVSҠƠSZŠ SADV DDSZŬɠGԠSZŠPAAMҬDVDŠBY SB.DVҠ(PԩҠS. DVNP(ADDҠƠƷҠƴ-SԠAԠS+ DSԠԠSԠAҠ(SZůDV. HK~ҠNנHA(ANA̩PAAM DDHAɠHKNנHA PAHԠAGANSԠDHAVAU SS(NAZDϠ0-DGS. MPS3-N- PBH+ MPS-SAMŠASDVAU- NVԠHAϠADANSMPUŠSNS S3DSԠHԠSAVŠASNנD-HA MPADNNVԠDGSϠADANS DSԠMP SBSNAUAŠSN SB0 DSԠNS DDMP SBSAUAŠSN SB0 DSԠN DD MPS5 HKҠNנAҠPAAMҠ(SZůDV SDDԠHKҠHANGŠN PAԠA SS MPS5-N- PB+ MPS-SAMŠASDVAU AUAŠPNԠASҠPNԠ(رY S5DSԠԠSԠNנVAUŠASDA MPNàAUAŠAԠN DSԠA DD MPNSAUAŠYAԠNS DSԠYA AUAŠPNԠASҠ0ر0MAؠ(Ϡ9 DAAASԠADD. SAMPA( DAM.SԠNDؠҠANG SAMPA(ϠA(9 DDAA(ɩA(+A(- S6ADA DSԠMPɠSԠA(ɩҠɠ-9 SZMP-SԠADD. SZMPҠNԠPԠNUMB. SZMPNDؠҠϠ9 MPS6-NNU DAYAAPA SAMPABV DAM.PSSNG SAMP DDYAYA(ϠYA(9 SADYAADNG: DSԠMP SZMPYA(ɩYA(+YA(- SZMP SZMP MPS PSSجYDNASNA SDDجɠƠ--SGԠҠ SB999999.0 SSASSHNUS MPS9PVUS-GN DDجɠSԠ-GN: SBA ADYAGؠ-A(+YA( DSԠG S9DDYɠƠ-Y-SGԠҠ SB999999.0 SSASSHNUS MPS0PVUSY-GN DDYɠSԠY-GN: SBA SBYAYGY-A(-YA( DSԠYG S0DBNɠƠN<0HNS DAHAҠ(AHAҠND SSBANDGϠ MPSGԠHA.SS. AԠHAҠMBDAAYANDNDؠϠABS SDAAADGԠUNԠHAAҠADDSS SZAAD-SԠҠNԠHAAҠADD.- ŬANVԠϠDADDҠ-PSN DAAɠN.GԠDANDPSN SZSSUPPҠ(0ҠҠ( AƬAƠHAA ANDMNA.(USŠNYנ6-BS SADAABASԠAPPPAŠAB SAMPADDSS- DAAɠGԠABŠVAUŠҠ-HA- ANDM3GԠADDҠƠSԠSԠD ADAABANSԠABŠ-NVԠ A̠UPPҠPSN SASԠHAAҠADDSS. DAMPɠGԠABŠDAGAN. SSAƠBԠ5SԠSԠADDSS SZSԠϠҠPSN. AƬAƠAŠSԠUNԠ ANDMנA(-BSANDS MANANGAVŠ SAԠNDؠҠNDؠAS AԠANDPSSAHSԠPAҠҠHAA S3DASԠGԠUNԠS-PAҠHAA SZSԠADDSSSԠҠNԠADDSS. ŬANVԠϠDADDҬSԠPS- DAAɠNNŬGԠSԠD. SZSHԠSԠPAҠϠUPPҠA AƬAƠ(جYƠ-BS. ANDMSAŠAND SABSAVŠجY. AƠPUԠ5w ANDMNנA ASMUPYBY SAMPANDSAVŠҠNDؠϠA-AAY DABPU AƬAƠYNנA ANDMMUPY ASBY SAMPANDSAVŠҠNDؠϠYA. DAM36ƠؠSԠ( DB.03PN-UPHN PAMPGϠϠSԠàANDG MPSNԠSԠPA. DAADMPUŠADDSS ADAMPA-AAYҠ-S SAMP3 DAYADMPUŠADDSS ADAMPYA-AAYҠY-S SAMP DDGMPU: ADMP3 SBMPɠԠG+A(Kة-YA(KY DSԠ DAYADMPUŠADDSS ADAMPYA-AAYҠ-S SAMP3 DAADMPUŠADDSS ADAMPA-AAYҠY-S SAMP DDYGMPU ADMP3 ADMPɠYԠYG+YA(Kة+A(KY DSԠY A̠ҠPԠҠUNԠԬY SBP DƠ+ DƠ DƠY DƠPN DB.0SԠҠPNDN SSBPN SZԠNDؠHAAҠSԠUN MPS3-MŠϠPSS- SԠ-GNANDY-GNҠNԠHAA. DDG ADA-GN-GN+A( DSԠG DDYG ADYAY-GNY-GN+YA( DSԠYG DA.03 SAPN SZHNԠNDؠHAAҠUN MPS-MŠϠPԠ- A̠ϠSYMBMPD MPSYMB NSANԬAGANDSAGŠSN AU0AB BUGSS .0Dà .03Dà3 M.Dà- M5Dà-5 MԠ M36Ԡ36 MԠ MԠ M3Ԡ3 MԠ00 G999Dà999.0 ƴADƠƴ ƴDà.0 ƷADƠƷ ƷDà.0 PNNP HNԠNP HAҠNP SԠNP ԠNP AADNP MPNPMPAY MPNP MP3NPSAG MPNP NSDà0. NàDà.0 ԠDà0. ԠDà.0Ҡ.NHNMNS(.0Ҡ.0 HԠDà0.NAZŠϠZϠDGSAN ADNDà.0533AҠҠDGSϠADANS ADDƠA0 AADƠA A0Dà.00NA ADà.0VAUS ADà.0S A3Dà.06 ADà.0.NH A5Dà.0NMNS A6Dà. ADà.(Ҡ.0NHNMNS ADà.6HAVŠVAUS A9Dà. YADDƠYA0 YAADƠYA YA0Dà0. YADà0. YADà0. YA3Dà0. YADà0. YA5Dà0. YA6Dà0. YADà0. YADà0. YA9Dà0. GDà0. YGDà0. ԠDà0. YԠDà0. ABANP ABADƠAB ABADƠAB HAAҠNŠABS- HŠNGABS(ABANDABNAN HŠNMANϠASSHŠSԠAB ҠAHAVAABŠHAA. AHHAAҠҠSPA̠SYMB̠AVAAB ҠPNGSASSADHNŠUNU DNNŠƠHŠNGABS. AHNŠDNANSHŠNG NMAN: .AVŠADDSSƠDNSԠAB ҠSAԠƠSԠSNG (BS0-00 .NUMBҠƠSԠPAS(-BSNSNG (BS-0 3.SANGPSNƠSNGND 0MANSUPPҬMANS. (BԠ5 ABMPSSHŠSANDADHAAҠS ABMPSSSPA̠HAASAND NDSYMBSHHANBŠASSD BYPSNHNPAAMҠN<0NA. ABSDDBYPSNDSGNADBY 6-BSƠASɠDŠ(.G.A00 -HSABŠSMDϠ6NS-00 Ϡ. PSNԠADDҠDŠHAA ----------------------- ABԠ03600 Ԡ060 Ԡ00350650 Ԡ00366006003 Ԡ03663630 Ԡ00366606605 Ԡ0036006 Ԡ00000 Ԡ00500033000 Ԡ00305030509 Ԡ003006300 Ԡ0066600560 Ԡ0336636 Ԡ00600603 Ԡ006505 Ԡ0335 Ԡ035356 Ԡ06536 Ԡ0333633 Ԡ03039 Ԡ00305330 Ԡ0335333 Ԡ0336636 Ԡ00603363 Ԡ0033600336 Ԡ0030035 ABԠ030300 Ԡ0000000A Ԡ0600550B Ԡ00003 Ԡ0300D Ԡ003005 Ԡ00300606 Ԡ0060360360G Ԡ0305650H Ԡ003006 Ԡ0306 Ԡ00303306333K Ԡ005035 Ԡ03535M Ԡ0030306N ;Ԡ05033 Ԡ0353530P Ԡ00600 Ԡ05353 Ԡ0066005603S Ԡ006666 Ԡ00305U Ԡ0030336V Ԡ005055 Ԡ0530 Ԡ00053Y Ԡ03663Z Ԡ005605633 Ԡ0006063 Ԡ006006035 Ԡ005605636 Ԡ056563_ Ԡ000 Ԡ00350! Ԡ0050" Ԡ056033033 Ԡ006605$ Ԡ065 Ԡ05350356 Ԡ000' Ԡ0050550( Ԡ005055 Ԡ0055035 Ԡ0050553+ Ԡ03306305 Ԡ03355- Ԡ063053056. Ԡ005 Ԡ000600 Ԡ050506 Ԡ0050006 Ԡ006505633 Ԡ0006 Ԡ05655 Ԡ0633666 Ԡ0556 Ԡ00500 Ԡ0553339 Ԡ056535!: Ԡ06553 Ԡ006350335< Ԡ0555 Ԡ00600306 Ԡ006066? HAAҠ-SԠ-AB -AHDNANSPASƠجYSS "رYزY"AHPAҠS-BSAND BSNAHPAҠSPYHŠؠANDYPN ҠHŠS. HŠSNGƠSԠPASҠAHAAҠMAY SAԠNHŠUPPҠҠҠPSNƠA D.HŠSANGANPSNNDA ANDSԠUNԠҠAHHAAҠSNAND NHŠNŠABS. PNSƠSԠSNGSMAYVAPH SNGSHNNŠSGMNSAMNGHAAS AŠDNA. ABADƠABŠDNŠSANGADDSSƠAB A̠PASADDSSSYMB ABŠԠ005--500+A Ԡ0656-5-5 Ԡ00-03- Ԡ055505-6-0 Ԡ0636-5--D Ԡ0636-06-3-B Ԡ0505-- Ԡ053-5- Ԡ066-06-0 Ԡ053065-6-6 Ԡ05355-66-5 Ԡ0656-35--0 Ԡ0636-06-3+Ѭ+0- Ԡ05065-3- Ԡ050-3-0 Ԡ03533-5- Ԡ063606-0-00 Ԡ0-6- Ԡ0656--+Ŭ+ Ԡ036-65-6 Ԡ030-6- Ԡ0606--+̬-H Ԡ06--6 Ԡ06356-66- Ԡ0606--30-N Ԡ05-6--M Ԡ065066--6 Ԡ0--+K Ԡ055-56- Ԡ035-6- Ԡ055-55-5+G Ԡ06536-56-3 Ԡ05065-3-0 Ԡ050-3-0 Ԡ03533-5- Ԡ066-06- Ԡ05065-3-+ Ԡ0-- Ԡ03533-5- Ԡ0--+U- Ԡ06-33-50 Ԡ0535-6-3 Ԡ0656-6-+ Ԡ030-6--P- Ԡ053-5- Ԡ066-06- Ԡ053065-6-6 Ԡ03-66- Ԡ003--360+S Ԡ033-5- Ԡ06556-36-5 Ԡ0530665-63-6 Ԡ0350--0 Ԡ03533-5- Ԡ0606-0-- Ԡ05---Z Ԡ066--0 Ԡ063606--0-(PNUP Ԡ03363-65-6 Ԡ050--+V Ԡ066---ج- Ԡ06606--0 Ԡ05-6-+\ Ԡ0506--6+Y Ԡ006--600 Ԡ0656-5-- Ԡ0303-- Ԡ00-3-0 Ԡ0350--0+ Ԡ03533-5- Ԡ066-06- Ԡ0-3- Ԡ066-5-0- Ԡ055-- Ԡ0656-6--5 Ԡ06--6-6 Ԡ05355-66-5 Ԡ0656-35- Ԡ03033--3 Ԡ0050--0 Ԡ03533-5-0 Ԡ060506-0-0- Ԡ055-6- Ԡ0606-0- Ԡ00-03-++3 Ԡ055505-6-0 Ԡ063566-5-6 Ԡ03363-65-6 Ԡ06536-56-330 Ԡ05065-3- Ԡ05-3-5 Ԡ03303-6- Ԡ003-0-3+9 Ԡ033-5- Ԡ065506-36-0 Ԡ055-3- Ԡ006-0-60 Ԡ03553-56-5NDƠBAS Ԡ050-3-+++ Ԡ05-5-5-- Ԡ065056-5-5 Ԡ05-36- Ԡ0-5- Ԡ0666-3-6- Ԡ0633606-6-050 Ԡ053-36-3 Ԡ0063-3-3+( Ԡ033-0- Ԡ03-5-3+ Ԡ055-0- Ԡ05065-3-+ Ԡ03533-5- Ԡ033-5-60+ Ԡ055-3- Ԡ0--+ Ԡ03303-05-0 Ԡ055-6-5-_ Ԡ066-53-6 Ԡ03053--5 Ԡ0350--0+? Ԡ03533-5-0 Ԡ066-06- Ԡ053065-6-6 Ԡ0360--0 Ԡ033-5-+! Ԡ06-33- Ԡ00-0- Ԡ050--+'+" Ԡ0555--00 Ԡ005-0- Ԡ03-3- Ԡ063-3-3- Ԡ033663-3-6 Ԡ036-66-6 Ԡ0535-65- Ԡ0555-35- Ԡ0606--0 Ԡ0063-3-3+$ Ԡ0555-36- Ԡ0666-5-6 Ԡ030-3-0 Ԡ055-06- ÄԠ0-0- Ԡ0050--0- Ԡ0303-03-0 Ԡ0360-0-0 Ԡ05-6- Ԡ0-06- Ԡ0656-35- Ԡ0606-- Ԡ036-65-6 Ԡ053505-- Ԡ03-05-3 Ԡ050-3- Ԡ0535-5-3 Ԡ003--3 Ԡ06606-3-0 Ԡ06066--6+ Ԡ06036-0-3- Ԡ06606-3-0 Ԡ06-6-60+ Ԡ00-0- Ԡ000-0- Ԡ000000-0-0 Ԡ00-- Ԡ00-- Ԡ0000-30- Ԡ00060-03-0 Ԡ00503--350 Ԡ0303-- Ԡ00-- Ԡ000500-- Ԡ00-- Ԡ003-30-3 Ԡ0003-0-3 Ԡ0-3- Ԡ00--60 Ԡ000-0- Ԡ0000-- Ԡ000-0- Ԡ000-0- Ԡ00000-0- Ԡ00-- Ԡ00000--0 Ԡ00--0 Ԡ000-0- Ԡ000--0 Ԡ00-- Ԡ000-0- Ԡ00-- Ԡ00000-0- Ԡ000-0- Ԡ00--300 Ԡ0303-- Ԡ000-0- Ԡ0000-0-0 Ԡ00000-00-0 Ԡ000-0- Ԡ00-- Ԡ000--0 Ԡ00--30 Ԡ0333-3-3 Ԡ00030--3 Ԡ0000-0-0 Ԡ006-3- Ԡ0006-03- Ԡ03UNLH3-3- Ԡ0000-- Ԡ000000-0-030 Ԡ00-- Ԡ063606--0 Ԡ055-56-5 Ԡ0050-0-0 Ԡ06056-0--6 Ԡ0--- Ԡ0063-3-3 Ԡ05505-3-330 Ԡ055-56-5+ Ԡ0535-65- Ԡ06566-5- Ԡ06-5-6 Ԡ05-- Ԡ036-66-6+ Ԡ003-0-3 Ԡ06606-3-030 Ԡ05365-3- Ԡ053-36-3+ Ԡ006-0-6 Ԡ063066-6-6 Ԡ00-0-35 Ԡ050-3-+ Ԡ0656-36-- Ԡ05635-33-3350 Ԡ00-- Ԡ03303-05-0 Ԡ063556-6-5 Ԡ0505-- Ԡ03663-53-6 Ԡ035-5- Ԡ0636-66- Ԡ03303-3-0 Ԡ0530-5-0 Ԡ0-5- Ԡ035033-33- Ԡ060006- ND y&N 7I 20817-80001 B S 0122 BCS MARK SENSE DRVR. (D.15) KIT 12602A             H0101  ASMBҬB̬Ԭ NAMD.5 NԠD.5.5 HDMAKSNSŠBSDVҬD.5(B SKP HSMDUŠƠHŠHP-6BASàN̠SYSMSAŠS DSGNDϠPAŠHŠADAD. SPà HŠUNNƠHSDVҠSϠNAŬNNUŬAND MPŠAADADҠPANUSDHUNPUԯUPU N.HSDVҠPSSS- SPà (AҠUSԠ-0000UNN (ADASɠ-000AND (3PAKDBNAY-003SUB- (UMNMAGS-00UNN. SPà HŠ..ANGSUNŠ- SPà SB.. ԠM 20874-80005 D S 0122 RTE ASSEMBLER SEGMENT D             H0101 ) ASMB̬BàDSԠASSMBҠBUAY90 HDDSԠASMBDA̠9 NAMASMBD599 NԠASMBD Ԡ?ASMB?BPKU?PKUP?SA?SM?SGM?ASM Ԡ?MSج?BG?G?G?GS?AG Ԡ?ج?Z?A?G?SA?S̬?S Ԡ?G̬?UNɬ?ɬ?NAU?HA3 Ԡ?P?P MPAYANDAGGN BU MPBSS SUPSUPPSSNDDSNG ...Dà356 .Dà356 ..MDà---3--5-6 ̠Ԡ50555355556(+-. .9Dà9 .9Dà9(35B .MDà- .M5Dà-5 .M9Dà-9 BNKԠ0ҠBANKUPPҠ0(0B .̠ASà .MBNASàM .NϠASàN .PASàP .VASàV .UNASàUN BNSASàASɠBANKS ױ0Ԡ6000ADDSSMASK .000Ԡ000 BԱ5Ԡ00000 .ŠԠ05 .BԠ0 DƠ+ADDҠƠ àASà5ŠҠBà .U... NAMɠDƠNAMŠ'NҠMPSYMB̠SAAG NAMŠԠ0000PKUAG UMPSAMŠASDAAGN BSS36ҠMPAYB PASSU+5BPASSAG(0PASSANDPASS PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS PNҠU+B̠PNSAԠASԠҠUNԠHA. SPà ɯϠSAMNԠBUҠ (NPU(BUƩSASNHD BƠBSS63B50DS+SBU. BUƠUB+B PBUƠԠ00000000SAԠƠPUNHBU(NAMM ASà3 Ԡ00003000000 BSS3SԠƠPUNHBU SKP Ԡ55ҠASMBHK ASMBDDA?SA MANA SA?S A SAPASSSԠPASSAG0(PASS SB?SAADANDPNԠN̠SAMN SԠҠ'ASMB'NSԠPS|NS DABU MANA ADABU+ PAASMBD-55B(..ASMB? MPPSYS N̠SAMNԠҠUNŠ SҠDA.S'N'SAMN' DB.S+ SB?MSؠPNԠMSSAG MP?ASMBASSMBҠ SԠҠN̠PNS(AB̬Ҭԩ PSDA.+(5 SAPNҠSԠPNҠ5 ANAZ SAPԠؠҠƠPNUN PUPSB?PKUPGԠNԠHAA PABNKDNŠ? MPGYS SZASSHAҽ0? MPGYS0K PA+MMA? SS-YS- MPSҠ-N- SB?BPKUSKPBANKS DB?GS'NƠN̠HAҠS PA.BB?(PUNH MPBNYS PA.̠?(Sԩ NB PA.Ҡ?(.-NԠNSSAY ADB...+YS PA.Ԡ?(SYMB̠ABŠPNԩ ADB...+YS PA.NSԠҠN? ADB...+3YS PA.ZSԠҠZ? ADB.+3 PA.AA?(ABSUŠASSMBY? ADB.+YS PA.à?(SS.AB? ADB.+5YS(HVҬGNDBYS PB?GSSKPƠANYPNUND MPSԠNϠNŠMAHSϠA BNSAɠSԠPNAG SZPNҠBUMPPNҠҠNԠHA. MPPUPGϠҠNԠPN .̠Ԡ .NԠ6'N' .ҠԠASɠ'' .ԠԠASɠ'' .ZԠ3'Z' .AԠ0'A' .àԠ03 .ؠԠ30 .ƠԠ06 PԠDà0 NؠDà- DSNDƠ?P AS.ɠԠ3 DSϠDƠ?P MVàDƠ+ Ԡ30060500030530605060 Ԡ355006050033060500 S.KNP DAPԠADAHPNAG SZASKPƠAG0 MPSƠPNԠS NANMNԠVAUŠƠAG SAPԠSAVŠNAGPSN MPS.KɠUN MVŠSBS.KGϠHKGA̠PN DBDSNADBHABŠPN BŬBAҠNDԠB DBBɠPUԠPNҠADD.NB DAAS.ɠADAHASɠ"" SABɠSŠNؠPAԠƠAB DBDSϠADBHSNDABŠPN BŬBAҠNDԠB DBBɠPUԠPNҠADD.NB MVDAMVìɠADSԠD SABɠSŠNAB SZMVàNMNԠϠNԠD NBNMNԠPN SZNؠNMNԠUNԬSKPƠ0 MPMVUNҠNԠD MPBN+UN SԠPA.ƠSPN MPMVŠYSGϠHANGŠAB PA.ؠSPN MPMVŠYSGϠHANGŠAB MPSҠNϬPNԠN̠SAMNԠ MVŠSBS.KHKƠƠB DBDSàMVŠN-AUPDŠVAUS BŬBAҠNDԠBԠMB̠PN DBBɠPUԠPNҠADDSSNB MVDAMVìɠPDŠABŠNASMB.. SABɠSŠNנVAUŠNϠPDŠB. SZMV NBBUMPABŠPN SZUNؠSABŠA̠MVD? MPMVNϬGϠMVŠANHҠD. MPBN+ UNؠDà-3NGHƠNנAB DSàDƠ?NAUANƠPDŠVAUŠDSN. MVàDƠ+NN-AUPDŠVAUSҠAB. Ԡ53006DV DƠ?HA3 Ԡ006DD DƠ?HA3 Ԡ35006DS DƠ?HA3 Ԡ650506MPY DƠ?HA3 Ԡ0NDƠNנAB SԠҠMPAABYAMNGHŠPNS GDB?BGPUNHG ADB?GSԠG ADB?G''G ADB?G̠83ADGϠAG SZBSS MPSҠҠ-NϠUPUԠPN DB?AG DA?G SZBSS'A'S? MP+3N SZAYS-S''S? MPSҠYS-N̠N DA?ؠGԠAƠAVAABŠ SZB'A'S? DA?ZYS-GԠAҠABS.ASSMBY. MANA ADA?AA-AAVA̠MM.NA NAANנSYMB̠B̠NGH AҠSYMB̠ABŠ ŠŽ SZBABS.ASSY? ŠYS-Ž0 DB?ZGԠAƠABS̠ASSY. SZSKPƠABS.ASSY. DB?ؠAƠSYMB̠Ϡ'B' SB?SM NPSԠSYMB̠ABŠϠZ SAԠPASSHŠ DA?UNɠGԠNPUԠUN PA.+SԠHŠDS? SSYS AN SA?ɠSԠƠNPUԠAG... DAױ0 SA?ASMSԠAGҠ'N'PSSNG A SAPASSSԠPASS'AGҠPASS SAPNNAZŠPG'NUN SAPNAҠA̠NGHAG DAABSASG.A̠ҠABSU DB?AG SZBSSABS.ASSY?-SKPƠU. DA+PKUPDŠҠASMB MP?SGMGϠϠADHŠNԠSGMN ASà ABSAASà .SASàS NDASMBD \ ?H 20874-80006 D S 0122 RTE ASSEMBLER SEGMENT 1             H0101 ) ASMB̬BàDSԠASSMBҠBUAY90 HDDSŠASMBA̠9 NAMASMB599 NԠASMB NԠ?ɬ?MѬ?NSҬ?HA3Z?NP?P Ԡ?SA?PҬ?MVŬ?HPɬ?PҬ?PԬ?GS Ԡ?ASN?BPKU?MSYM?PKUP?SYMK?HP?NDS Ԡ?D̬?MSYS?ASMB?SGMì?PNH? Ԡ?SA?BG?G?G?̬?NҬ?PN Ԡ?V?A̬?ASM?P?BNN?DD?MSج?PN Ԡ?ABŬ?A?SҬ?Ƭ?DS Ԡ?UN?UNɬ?G SUP MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VA0UMP+'ASN'AND'SYMK' DNԠUMP+ ...UMP+ .U... .U.+ ..MU.+6 ̠U..M+6 .9U+B .9U+B .M5U+B .M9U+5B BNKU+6B0B(ҠBANK .̠U+B .MBNU+50B .NϠU+5B BNSU+55B BԱ5U+60B .ŠU+6B .BU+6B NAMɠU+B'NҠMPSYMB̠SAG NAMŠU+BҠUSŠBY'PK' SUMPU+00BUNNNGSUMҠ'HP' AU+05B'ASN' NBU+06B DŠU+0BPDŠYP(MPABũ ؠUA(ASN NSԠU+3BPDŠMA ASԠU+B PKU+6BASԠHAҠPKDUP PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS PNҠU+B̠PNSAԠASԠҠUNԠHA. SNU+5BSAŠNGPDůPANDAB( SYMɠU+3BADDҠNҠҠSYMB̠B̠(SYMK SYMPU+33BSYMB̠NGAND'N SԠU+35BSԠHAA N.U+3B NàU+0B NVU+B ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU (NPU(BUƩSASNHD BUƠUB+B PBUƠBSSSAVSHŠ'NAN'DN NԠUPBUƠD(BKNԠҠBN.D. SPà ASNU?ASN BAGU?BG aBPKUPU?BPKU HPɠU?HP NҠU?N PҠU?P AGU?G GU? MVŠU?MV MSYMU?MSYM MSYMSU?MSYS PҠU?P GSVU?GS PKUPU?PKUP PNHU?PNH SAU?SA ؠU? SPà ASMBSBSA DAD PA.+3'HD'SA? MPHYS SA?ASMAҠ'S'AND'N'AGS PA.+(3NAM? MPHɱ NϠNAMҠG DA.NϠ'N'NϠGҠNAMSAMN SBP MPHA3+ HSBNSԬɠGϠϠHDSB MPASMB PSSNAMŠҠBNAYD PNSAVԠ00ҠUSŠN'NAM'SUP HɱDBSN+ SBMSYMMASUŠHŠNAM SBHɱ SAPNSAVSAVŠƠHASNHŠPAAM DBSԠGԠNNUA SBPNSAV+ANDSAVŠ DBSAD SBMVŠMVŠԠϠHŠ'NAM'D HɱNP DAPNSAV+GԠHŠNNUA PA+MMA?(ANHҠPAAM? SSYS MPHɱ6NϠ-GϠSԠҠND DAPNSAVGԠƠHASNUNԠPAAM ADAPN NA SAPNҠSԠPNҠϠNԠPAAM SBBPKUPSANϠNԠPAAM. SBMSYMMASUŠ SAPNSAVSAVŠƠHASNHŠPAAM AƬA NAҠDMA̠NV AƬAƠPSN SAPAAM.Ҡ'ASN'Ϡ'B'G. DASԠGԠNNUA SAPNSAV+ANDSAVŠ DAPNҠGԠPSNƠNUMB SBASNGϠNVԠHŠNUMB AҠUNSԠ'A'0 SAPB9 SZPB9 MPHɱ+ PB9DƠPBU+9 Hɱ6PABNKGA? SSYS SBPҠNϠ-PNԠ'M' DAPBU+9 SZASSSYPŽ0(SYSM? SAPBU+0YSSԠPɓY0. HA3SBSA DAD PA. MPHB00ϠND PABNK(0BSUPUNS? MPHA3 ADA..M+-3 SSA MPHA6үBG PA.BNAM? MPHA63YS ADA..M+(-3 SSA'M''N'Ҡ''? MPNSԬɠUMPϠUNŠDSGNADNN PA...+'U'? MPHA56ϠU PA.9(BHD? MPHA3 PA.(BSKP? MPHA3 PA.+(5BSP? MPHA3 PA.+(6BSԯUN? MPHA3 SԠҠAB̠D SBAB DADŠPDŠNDA PAD MPHA0'SA'D' PA.9P? MPHA6YS PA...+6( MPHA5ϠAS PA.6BNGҠAH(HADAũ? MPHA0YS.... PA...+5(6AHMA? MPNSԬɠYSMUMPϠPSS.. ADA.M0-0 SSAԠҠD? MPHA0YS. Ԡ003BSS? MPHA3MϠBSSP. PA...+3(MM? MPHA3̠YSSԠҠA HA3BANAϠADDϠPN NMNԠPGAMN.N. HA3ZADAPN(HA3B+ SAPN MPHA3 .6BԠ6ҠHADAŠAHM SPà PSSBSS HA3MSBHPɠVA.PAND MPHA3 DABϠA MPHA3B+ HA3̠DAG SZASSA̠PSN MPHA3BN DANS SASA̠GA̠HNS? MP+3YS SBPҠNϠ'M' MPHA3B SB?PԠPSSA NPGNŠ MPHA3B .BԠ .M0Dà-0 DؠԠ5PYPŠҠ'D' SADDƠPBU+3PNSAԠPUNHBU NGNPAGҠPSSNGNYPNS SBSS SKP PSS'MMN'DAAN MѠDAmSN+ SAPNҠSԠPN SASԠSԠSԠ(U0. DBPN SBMSYMSSԠSYMPSYMN SBSPNҠAGNPN DBPBƱ0 SBS DBS PB+MMA? MPHMYS PBBNK MPHM'SBANK PB̠ԠPAN? SS( MPHA55+ҠSԠPASS SBBPKUPSKPBANKS SBMP+SAVŠPN SBMSYMMASUŠMNGH SAMPSAVŠNUMBҠƠHAAS SBSPNҠAGNPN DAS PA+ԠPAN? SS MPHA55+SԠPASS SAPK DBMP DAAS ADB..MNGH-ϠBG PA.BB?(A̠VAUũ SSYS-SKP ADB.0BNϬSԠҠDMA DAMP+ SBASNGϠϠASɠNVSNUN MPHA3Ҡ ADAPBƱ0ɠBUMPNGHƠMMN SAPBƱ0 NS HM3DA...+SԠýMMN DBSVAUŠϠB SBNSҠNSԠSYMB NPҠ DAPK PABNKBANK? MPHA3YSԠϠHA3 PA+MMA? SSYS SBPKUPGԠNԠHA SBNDSSԠҠMNAN MPM+ HMSZPBƱ0 SBPKSAVŠS MPHM3 PBƱ0DƠPBU+0B(PBU+0B SPà PSS''DAAN PDASN+ SAPNҠSԠPN DBPN SBMSYMSSԠSYMPSYMN SBSPNҠAGNPN DBNҠVAUŠϠB DA...+3(ԠND. SBNSҠGϠϠNSNUN MP+Ҡ SZNҠBUMPԠN DAS SBNDSSԠҠMNAN MPP+GϠBAKH'SANHҠ''!! PSS'N'DAAN NPDA.0BSԠNG0B SANG DASN+ SAPNҠSԠPN NPDBPN SBMSYMS SBSPNҠAGNPN DA.0B B SBNSҠNSԠNϠHŠSYMB̠AB NP DAS SBNDSSԠҠMNAN MPNP NDSNPSԠҠMNAN PABNKƠMNԠҠ MPHA55 PA+MMA? SSYS MPHA55+NԠANҠ SBBPKUPSANϠNԠHA. MPNDS HA55ŠA SANGAҠ'N'AG MPHA3ԠNABANK SPà PN++'A'ϠPNҠ SPNҠNP ADAPN NA SAPN MPSPNҬ .0BԠ0 SPà HA63DA.̠NAMSGA̠AҠSA MPHA55+ϠP SKP NS:ADDNYϠHŠSYMB̠ABŬנHAU NKAG:AYPŠBVAUŠNNPUԠ (UPUԩSYMPN.ƠHAS.SYMNNYA ̠SBNSҬɠ +ҠN('S'Ҡ'DD'PND +NMA̠N .NASà3NDDS NSҠNP SAرSAVŠYP SBNAM+3SAVŠVAU SB?SYMKSYMB̠ABŠKUP MPNS AND...+6GԠàVAU DBNG SZBSSNNYP? MPNSYN NSѱPA.AAB? MPNSàYS DA.N'N'NYPNԠ MPNS NSYDBؠGԠUNԠ B SSBSSNYPN? MPNSGN SZAYS-SԠNAADY? MPNS-YS-'DD' DANAM+3 SAVA0ɠSԠVAUŠNϠNY DAرGԠYP DB0̠YPŠϠ'B' MPNSѱ NSGPA.+6A? MPNSҬɠYS PA...+3? MP+YSS DA.N+NϬ'DD'Ҡ(MUPŠSYMB̩ NSؠSBP MPNSҬɠGԠUԠH PAرAŠBH'S? MPNSҬɠYSAKŠ'DD' MP-5GϠϠҠPN NSDAر ԠAƬA ADANAMŠYPŠNSԠD SANAMŠƠNY DBNAM ADBMP+ SBVA0SԠM A ADA?AA-AAVA̠MM.NA MANA ADASYMɠSԠҠSYMB̠B ADAMP+V SSA MP+3N DA.N+'S'SYMB̠ABŠV MPNSؠ'S' DANAM+3MVŠVAU SAɠUP DANAM DB0ɠADDNY(M+6 SBSYMɬɠϠSYMB PAVA0 MPNSؠ NA SZSYM MP-6 NSàDAàYPŠϠ'A' AƬAƠPSN ҠMP+ SAMP+ɠSԠNYPNԠYP NSؠSZNSҠBUMPԠPNԠҠA+ MPNSҬɠԠH NSԠA̠NϠSYMB̠ABŠ NNP DA?SAGԠ'NƠASɠBU SASYMP+ DA...+6( SAG DBPN SBNSҠNSԠSYMB MPNɠҠN. SZPNBUMPA̠'NN SZN MPNɠ(NMA̩ PSSԠANDDà HA0BNBB PADؠHKDŠҠ'D' ADB.+B3ƠDŠS'D' SBDNԠSԠNUNԠBUMP A SANB SAMP DASN+ SAPNҠSԠPN PKUPANDAMNŠAHAAêҠ HASBPKUP(HA0+ASHA DBDNԠGԠUNԠBUMP PA+MMA? MPHAYSGϠSANҠNԠPAAM. PB.+SԽ3(..Dة? MPHAYS PA+6PD? MPHA PA.Š''? MPHA HAPABNKNDƠSAMN? MPHA9YS MPHA SԠԠPԠAGSKPBANKSҠNԠHAҠ HAA SAMP SBBPKUP DBDNԠGԠ'BUMP'UN MPHA+ ԠPԠSԠҠNUMBҠUSNGBH.ANDŠ HADAMP SZMP SZAŠҠ'.'UNDY? BYSSԠB0. ADBNB(HA+ SBNBADDϠDUN MPHA NDƠNUMàPSUD-PPSSҠ HA9DADN ADANBSԠANϠƠNSϠBŠUSD MPHA3B+ PSSASà(GԠVAUŠƠN HA5DA...+('AS'ND.ҠHP SB?HP MPHA3B SZA MPHA55-NԠABS.VA. ADB.M9-9 DASUMP SSBSKPƠDS MPHA3B+ HA55SZPNҠԠ DA.MBN'M'(BADPAND SBPҠϠPNԠҠDAG. MPHA3 PSSUPSUDϠ HA56SBHPɠVAUAŠPAND MPHA3Ҫ PA...+3(Ԡ? DA...+(5SԠҠNN-PNH SAMPN SBMP+ Ԡ60BNB SBMSYMSGϠϠMAS.SYMB̬SԠSYMPSYMN DAMP DBMP+ SNDAB̠ϠABŠ SBNSҠϠSYMB̠ABŠNSNN NP MPHA3 GҠHDP.UMPS HA6SBNSԬɠGϠϠSUBUN MPHA3 HA0DBGGԠA̠AG SZBSAA̠NHŠPAND? SB?A̠GϠPSSHŠA DA.+A MPHA3Z SKP PASSNDPSSҠ DƠBU HB00DA?GGԠABŠUPUԠAG SZASS MPHB0ABŠNԠUSD-NSHPASS DAHB00- ADA.+3 SAHB00-SԠHB00-(BU+ DAؠGԠAƠAVAABŠMMY SANVϠNV HBؠDANVɠSԠSԠDƠNY SZASSMPD? MPHB0YS-GϠϠNSHPASS SBMBNKSԠUPBANKSNSYMB̠UԠAA GԠANND.HA. DANV Ԡ AND...+6( PA...+6A̠NY? MPHBYYS. SB?DD SBBU+3 GԠVAUŠƠSYMB̠ DBSUMP(N.ƠDSNNY ADB..M ADBNV SBNV DA SZNV ŠSԠŠ0ҠA̠NV. SB?BNN SŠASɠVAUŠNϠBU DBHB00-GԠ(BU+ SB?V DBUBSԠPNԠPAAMS DA.+( SB?PNԠGϠϠPN MPHBؠNYDN. HBYDASUMPN.DSNNY ADANV+ADDҠƠNY SANVADDҠƠNԠNY MPHB .PASSASàPASS SPND HB0SB?NDSSŠUԠHŠPASS DB?D̠GԠHŠDSàAG SZBDSKBNGUSD? MPHB0ҠN. DA?UNɠGԠNPUԠUN PA.+SԠHŠDS? SSYSSKPHŠNG SB?ƠŠSԠƠASԠS D6A?SҠYSGԠNA̠DŠD SB?DSàGϠNAZŠҠNנSA DA?UN SA?UNɠSԠNPUԠUNDS MPHB09YSSKP'NDPASS'MSSAG HB0ҠDA.PASSPUԠUԠ"NDASMBPASS"MSS DB.PASS+ SB?MS SBàGϠϠPAҠSUSPNDUN DƠ+ DƠ.+6PAҠSUSPND.D SPà SAԠPASSHŠ SԠҠPUNHUPU HB09DABAGGԠPUNHAG SZAPUNHUSD? MPNMPYS-GϠPUԠUԠSAԠƠBNDK DA?G̠ADGϠAG SZAADGϠUSD? MPHNP̠YSGϠBUԠSKPADҠUPU SBHNPGϠϠNYPNԠPSS SBGNMPGϠSԠUPSMŠ'NAM'PAAMS DAAGGԠHŠSԠAG ADABAGGԠPUNHAG ADA?G̠ADGϠAG SZASԠҠPUNH? MPHBSAԠPASS MP?ASMBASSMBҠ HBDA+PKUPNԠDŠϠGԠASMB MP?SGMGϠϠADҠҠNԠSGMN ASà SKP MVŠNԠNAMSADDSSϠPUNHBU. ƠUNDNDPNԠDAGNS. HNPNP DA.0BҠ"N"YPŠ0B SANG DB.000ҠDSPҠNY DA.M5Ҡ5NSD SBN A SANG MPHNP PUNHBNAYUPUԠҠAABŠPGAMS (NAMNԬANDԠDSNY UPUԠ'NAM'D Ԡ0000 NMPSBàGϠϠàϠUPUԠHŠAD DƠ+3 DƠ.+ADҠѠD DƠ?PNŠADүAҠ HNP̠SBGNMPGϠSԠUPSMŠPAAMS SBPNHGϠϠPUNH'NAM'D UPUԠ'N'D SBHNPGϠϠ'N'MVůSԠN. PSS''DH DAN PA... MPHBԠNNҽ DA.M0-0 DBNMP-00BҠԠNԠ3NY SBN MPHB BUPԠ0000BANKUPP .M0Dà-0 SPà NԠNP SAN.SAVŠSYMB̠UN SBBS+SAVŠDUNԠPҠNY DAؠAƠAVAABŠMMY SANVNVGADDҠƠNY NAZŠҠNԠBNAYUPUԠMAGŠ HرDASAD SABSBSDSԠADDҠNBN. DABԱ500000B DBNG SZBNԠP? AҠYSSԠà SAPBU+SԠà DANMP-00B(ҠSANGDUNԩ SANԠSԠBKNԠ3 DAN. SANàNàDUN HزDANV SZASSNDƠAB? MPH9YS AƬAƠN-PKUPSYMB̠YP DBNG AҬA SZBSSAŠŠPSSNGHŠNԠABŠNYS MPH3N... AҬSAA̠HKҠN MPHر HNAҬAҠN AND...+6(ADDNY ADANV-NGH SANV-ϠNV MPHز PSSNDƠABŠ H9DAN PAN.ANYSYMBS? SSN SBPNHGϠϠPUNH A SANԠAҠDUNԠƠNϠSYMB̠U MPNԬɠԠH H3SASSSHSANԠNY? MPHNN.. A̬A̠SԠҠNA̠UN SASS MP+3 AҬA MPHN H5SZNàNDƠBND? MP+3N SBPNHGϠϠPUNH MPHر PAŠUNԠԠҠNԠSYMB̠NϠBNAYD DANV MANA SAHMV5G.ADD.ϠMVŠNK DBBS DABNS =SABSɠSԠDS.AAϠBANKS SZBS SABS DABUPGԠUPPҠBANK.ҠHAƠ SZBS-DSԠD0 SABS DANV SBMAB̠MVŠHASϠBN SZPBU+BUMPN.ƠNSN. DASUMPN.DSNSYMBàNY ADANV SANVUPDAŠNV(SYMB̠PNҩ ADA..M DB0ɠNYVAUŠϠB DANG SZASSNYPN? ADBBSɠNϬSԠԠDNA SZA SZBS SBBSɠSŠNϠD SZBSUPDAŠBS(DPNҩ DAN ADABS+ SANԠUPDAŠDUN MPHز HرANDHSMSKAVŠANBS SZAHASNYPNԠBNDND? MPH5YSGϠPUԠNϠHŠPUNHBU NԠҠDAGNSàUNŠ DANVɠNϬGԠHŠSYMBϠADDҠҠDAG. SBMBNKMVŠASYMB̠ϠBUƠHUBU+ DA.N'N' SAB+5SAVŠ'N'NPNԠBU DBBNSGԠBANKSҠBU SBB+6 SBB+9 DBSNBGԠASɠZS SBB+ SBB+ DA.+35DUPU DBSNB+GԠBUҠGN SB?PNԠGϠPNԠHŠ'N' DANV A MPHN+ SNBASà00 DƠB+5(AԠSNB+BUҠGN HSMSKԠ0000 .000Ԡ000 رBSS(ASN .0BԠ0 BSBSS PKUPASYMB̠ϠBŠPND 'A'HASDSNANADDSS MBNKNP DBNVGԠB̠NYAN MBNB SNDADD.ϠMVŠNKAG SBHMV5 MVŠBANKSϠBU DBBNS SBBU SBBU+ SBBU+ DBUBADDUEHFB.ƠBUƠϠB SBMAB̠MVŠSYMB̠ϠPNԠBU MPMBNKɠԠH SPà MVŠHASMSYMB̠ABŠ -ANANSSԠDƠSYMB̠NY -BNANSDSNANADD. -HMV5NANSGNADD. MAB̠NP A AND...+6(ҠN.ƠDS. SASUMP PA...+( A Ҡ... SBMV HMV5NP MPMAB̬ GNMP-SԠUPPGAMNGH SԠUP'PN'ҠAS(ƠPSNԩ. GNMPNP SB?PSԠPG'NUNS DAPNN SAPBU+6SԠMANPG.NGH SԠҠ'G'NԠBYNDMANPGAM DBGSVGԠGSNA MANA ADAGSV SSASSSGVAUŠG? SBPBU+6YSHANGŠMANPG.NGH SԠҠAS DAPBU+6 DBPN SZBASPSN? SAPNYSSԠSAԠƠAA ADAADDNGHƠGN SAPBU+6ϠPGNGH. MPGNMPɠԠMHŠGNMPUN UBDƠBU HANGŠ'N.ؠNASMBƠHSPGS.A30B ?MѠUM ?NPUNP ?PUP ?HA3ZUHA3Z ?NSҠUNS AB̠U?AB ?ɠUN NDASMB H @Q 20874-80007 D S 0122 RTE ASSEMBLER SEGMENT 2             H0101 ) ASMB̬BàDSԠASSMBҠBUAY90 HDDSŠASMBA̠9 NAMASMB599 NԠASMB NԠ?AԬ?Bì?Kɬ?SKPҬ?SP Ԡ?DD?Gì?Nì?SԬ?UԬ?K̬?PK Ԡ?SUP?BPKU?PKUP?PNH?SGM?SYMK?BG Ԡ?G?̬?SA?SB?SA?PҬ?HP Ԡ?HPɬ?PҬ?PԬ?ASN?MSYM?ASM?SA Ԡ?NS?A̬?SԬ?PҬ?P̬?SM Ԡ?G SUP MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VAUUMP+5 ...UMP+ .U... .U.+ ..MU.+6 ̠U..M+6 .9U+B .MU+3B .M9U+5B BNKU+6B0B(ҠBANK .NϠU+5B .PU+5B .VU+53B .UNU+5B BNSU+55B ױ0U+56BADDSSMASK .000U+5B BԱ5U+60B .ŠU+6B àU+6B àU+6BANAG SGNU+B SUMPU+00BUNNNGSUMҠ'HP' MU+0BN.ƠMSNANPAND ԠU+0B BYGU+0BBYŠAGҠ'B' NBU+06B DŠU+0BPDŠYP(MPABũ DSGU+0B'ASN' AGU+B AѠU+B NSԠU+3BPDŠMA ASԠU+B PASSU+5BPASSAG(0PASSANDPASS PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS PNҠU+B̠PNSAԠASԠҠUNԠHA. NԠU+B SAVBU+3B SNU+5BSAŠNGPDůPANDAB( SVSԠU+3B SYMPU+33BSYMB̠NGAND'N SԠU+35BSԠHAA ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU PBUƠԠ0000 NԠUPBUƠD(BKNԠҠBN.D. ASMU?ASM BAGU?BG HPU?HP HPɠU?HP PҠU?P GàU?G NàU?N SԠU?S UԠUp?U SԠU?S GU? KŠU?K PҠU?P SAU?SA SYMKU?SYMK AU0 SAԠPASS ASMBDA?PҠNGHƠ'A'AA DB?P̠GԠGNƠ'A'AA SB?SMGϠϠSԠMMYUN Ԡ0ϠSԠMMYϠZ A SAPNNAZŠPG'NUN ANA SAPASSSԠPASSAG SBSAADN̠SAMN DAױ0 SAASMSԠAGҠ'N'PN ASHSBSAADASUŠSAMN(NAM? DAD PA.+3HD? MPASHYSGϠPKUPHŠNԠSAM SAASMAҠ'S'AND'N'AG PA.+(3NAM? MPH0 DA.NϠ'N'NϠGҠNAMSAMN SBP MPH05ҠԠMN BSSPBU-+60SVŠMANNGPUNHBU DϠNԠMVŠSKPҬSPҠҠBàASHYAŠ SԠADNGϠHŠNYPNSNASMB SKPANDSPAŠSԠUPUԠ SKPҠDBNà'SKP'NY MBNB MPSK SPҠSBHPɠVAUAŠSPAŠUN BNBҠ-SԠUNԽ SKSZBSSSPAS0? MPH0ԠϠH0(SAԠƠPASS DA?GNϬSAԠNŠSKPPNG SZASSSԠUSD? MPH0ԠϠH0(SAԠƠPASS DASԠSԠAG SZASUPPSSSNG? MPH0ԠϠH0(SAԠƠPASS SBDSGSԠUN DAN PA..MNASԠN? MPH0YS- ADBN SSBSS̠ԠGϠϠBMƠPAG? MP+5YSGϠϠPƠM SBNàNϬSAVŠNנNŠUN DADSGGԠN.ƠNSϠBŠSKPPD SB?NSGϠϠNŠSKPP MPH0ԠϠGԠNԠSAMN SBKŠSKPϠPƠM MPH0ԠϠGԠNԠSAMN BNAYUPUԠUNŠ .M5Dà-5 Ԡ6000ý5UNԠPAG BàNP SASAVB+SAVŠ'NBY DABAGGԠPUNHUSԠAG ADA?G̠ADGϠAG SZASSASPUNHUSD? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. UPUԠAD H60DAN AƬAƠAŠ SANԠSŠNԠNUPPҠPBU DASVSԬɠPSNMANANBYS AƬA SZN MP- A SASVSԬɠSŠ.BYS SԠ.DDŠ(D DBB-GԠïPAGŠNDA ADBPBU+SԠMAND SBPBU+ SB?PNHGϠϠ'PUNH' MPBìɠAND PSSABNAYUPUԠD DƠPBU+ H66DAN SZASԠDƠD? MPHɷ0-N- DBPNPNϠBG SBPBU+3SԠDB̠ADD. SAPBU+SԠPBU+0 DB...+3( SBNԠSԠNԠ DBH66- SBSҠSԠSҽ(PBU+ DB..M+(-5 SBNԠSԠNԽ-5 DB.M5-5 SBNBSԠNBҠDUN Hɷ0DBN PB..M+NԽ-5? MPHɷ-YS-SԠUPADDSSS SŠ.BYŠUPDA HɷSZPBU+UPDAŠƠDAADS DASVSԬ AƬA ҠSAVB+àBY SASVSԬ SZNԠBYŠDU? MPHɷ6-Ne7- DB..M+-YS-(-5 SBNԠSԠNԠϠ-5 A SASVSԬ DANB PA..M SS SZNB Hɷ6DBNS SBSҬ SZS SZN DASAVB+àBY PA...+(5DNS? SS MPHɷϠԠS SZNԠBUM.DUN DASUMP SASҬ SZS ANDBMSKAҠUPPҠ6BSƠ'SUMP' BSBSAҠҠBSƠNS BSBS Ҡ''BϠA SANS SZNBBUMPNB MPHɷ MPH60 HɷSZNBSHSHŠASԠD? MPBìɠN- MPH60YS-GϠϠPUNH HɷDBS SBSVS A SASVSԬɠAҠàBYŠD SZS SZN MPHɷ SҠBSS36 BMSKԠ3 SKP H0DA...+SԠPAAM H03SBS ADNԠSAMN H0SBSAADNԠSAMN SԠMNMNàDSҠPSSYPŠ H05DAD DBNS PA+3(3SàҠSS? MPHòYS AND.M(0 PA̠ɯϠ? MPPҠYS ASASSHԠAGHԠBS ASAS PA.+600(M-P? MPMҠYS DADŠGԠUMPABŠADDSS ADADàADDPDŠNMN MPAɠUMPϠPSS PSSMMYNŠNSUNS MMYDANS DBG SZBA̠PSN? MPHYYS AND..M+NϬAҠDSBƠ'NS' SANS DA.ɠSԠҠNDԠB DBBԱ5NDԠBԠMASK(00000B SBHP MPHñŠҠ HؠSBSUM.PNDVAU BSԠPAAMҽ0 H̠SBMSAVŠHŠSԠPAAM DBSUM.GԠHŠPANDVAU r.DŠSNà SZAABS? MPHñN ADBױ0-000B SSBSSSHŠPANDSSHAN000B? SBPҠNϬ'SAN"M"M HñDASUM. DBD PB.+(6D? MPHñ DA SZAABSU? MPHñ5N DANSԠA ANDBԠUNԠBԠMASK(5 SANS HñDASUM.NϬGԠADDҠ ANDBMSK MPHñNSԠNϠNS. Hñ5PA...+3?( MPHñ DB...+(5 SBBYG DBBAGGԠHŠPUNHAG ADB?G̠ADGϠAG SZBSSPUNHUSD? MPHñNϬGϠϠSԠADDҠNϠNS ADA..M HñҠNS SANSԠSԠADҠAG SԠUPҠDD DA Hñ9SB?DD SPà UPUԠABNAYD SBSAVB BNB SBB UPUԠANŠҠSNG DBSAVBàHA. DAMGԠHŠSԠPAAM SBS SZPN MPH0 BSSPSSҠ BSSPSBHPɠVA.PAND MPH0 Ԡ6003B0? MPH0YS BB0 SBB AA0 DBBNSNϠ.ND. SBS DASUMPPKUPBKNGHҠPN ADAPN SAPN MPH0 DàDƠ DƠHôG DƠHôҠ DƠ39M3 DƠ39NԠ DƠ39Ԡ5 DƠNSԬɠAH6 DƠNUMPASà DƠNUMPDà0 DƠNUMPԠ DƠBSSPBSS DƠUPU DƠNND DƠ39NAM5 Dũ|ƠMMYMMY6 DƠ50HD DƠMMYDƠ0 DƠHò6ABSU DƠNSԬɠSKP DƠNSԬɠSPà3 DƠ5SԯUN̠ DƠNUMPDؠ5 DƠH÷0UAH6 DƠHø0USHԠ DƠH30Ϡà30 .ɠԠ3ASɠ'' BԠԠ53 MDà-33 .SBԠ60003 DƠ5P35 .àԠ03ASɠ''36 SUM.BSS3 DƠ56SUPUNS0 DؠԠ5'D'PDŠYP SKP NB SBBàPUNHSԠƠASԠDB̠D DA+PKUPSGMNԠDŠҠASMB3 MP?SGMGϠϠADҠҠNԠSGMN ASà3 AHMàMAϠPSSҠ AԠSBSYMKGϠϠSYMB̠ABŠKUP SSҠN(UNDƩ MP+NMA̠'N DA.UN'UN'UNDNDSYMB SBP BSԠB0 ADB.SB'SB'NSUNMASK SBNS DA...+3(A SBBàPUNH DB+'' A PSSHŠ'D'NGHŠSԠD ƠANAHMàPAҠ AؠSBSԠGϠϠSԠSԠD DA.+(0B SADŠD A SANSԠAҠNS DAG SZAA̠PSN? MPAҠYS DA.ɠSԠUPҠNDԠB DBBԱ5MASK00000B SBHP NP AZSZPNBUMPANUN SBSUM.SAVŠPANDVAU DB.+3SԠPAAMҽ MPH AҠ]LDA?SAPKUP DB?SBA̠PAAMS. MPAZMK A̠PSSNG HYSASSSBƠNSԠNDàA̠PSSB MPHZNϬ AND..M+AҠSBƠNS SANS SB?P MPHZ+Ҡ MPH HZSBPҠ'M' HñŠASԠPAAMҠ0 SAMSAVŠ MPHñ PSS'ABS'PDŠ Hò6SBHPɠGϠVAUAŠPAND MPHPD SBNS MPHPDK.. UPUԠBNDANDҠSԠNŠ H30SBU SBS ADDϠPG.N.N. SZPNBUMPANN MPH0 39ANAϠA MPH03 GBҠP-PSSҠ HôBUPUԠA SBBàD SBNSԬɠUMPϠԠSUBU. MPH0BAKϠSAԠS 50DA?GGԠHŠSԠAG SZASSSSԠAG? MPH0YS-GϠϠNԠSAMN SBNSԬɠϠHADҠSUBUN DAS SZASSSSԠAGN? SBKŠYSSPAŠϠBMƠPAG MPH0GԠNԠSAMN 5SBNSԬɠϠPSB MP39 5SBSԠSԠSԯUN̠AG MP39 56SB?SUPSԠ'SUPUNS'AG MP39 SPà PASS'U'PSSҠ UPSBHPɠVA.PAND BҠS DAPN SASUMPSAVŠPNVAU SBPNSԠPN0 DA...+(SԠ'U' SBS DASUMPPAŠPNVAU SAPN MPH0 H÷0DAGGԠA̠AG SZAAŠASPSN? SB?A̠YSGϠϠA̠PSS SBUԠUPUԠHŠAHNSUN MPAؠGϠPSSHŠ'D'PN.. Hø0SB0>HPɠGϠVAUAŠHŠUN MPHøBADUNԠ ADBMB- SSBBGҠHAN6? PBMN.SB0? SBPҠYS'SAN'M'Ҭ. DASUMPGԠHŠSHԠҠAŠUN.. AND.+3MASKUԠSԠBS HøADANSԠMAKŠUPHŠNA̠NSUN SANS MPH30GϠANDUPUԠHŠNSUN HøASԠUNԠҠ6BԠSHԠA MPHø SKP ԯDïASàPSSҠ NUMPDASN+ SAPNҠSԠPN DA..M SA+SԠPAS- DAD PA...+6( MPAS H06DBPNҠPNSAԠSԠHƠNUMB SBSGN B SBN NB SB SԠHAAҠҠMNAҠ H0DAPN SBG SAM PA+MMA? MPHűYS PABNKBANK? MPHűYS UPDAŠHA.N(NéANDPSN.PN(é DBD PB.9? MPHű0+YS PBDؠ'D'? MPHűYS DB...+(NԠA PA+6PD? SBàYSSԠà PA.Š''? Hű0SBàYSSԠàҠUSŠASASNMD SZN SZPNҠBUMPPN MPH0 HűDB.+SԠB3ҠDؠMD MPHű0 SԠUPVAUŠҠSԠANDҠPUNH HűDAD B PA.9? MP+3YS DBàNԠ Ԡ5BB ADBN DASGN SB?ASNGϠϠ'AS'NVSN ASԠA0 SANS SBSUMPSŠVAU DAVAUSAVŠASԠSGPAԠƠ'D' SASGN HűSBNU DA ASSASà0Ҡ? MPHŲ0gNϬS3Ҡ DAMN- PABNK MPH0ԠNBANK SZPNҠBUMPPN SB?BPKUSANVҠBANKS MPH06 HŲ0DASUMP SANSԠVAUŠϠNS DB PB.+Sý3? MPHŲYS-SԠSUMPҠ3DD A HŲSAàSԠàҠNԠS MPHű HŲDASGN SASUMPVAUϠSUMP DA.+ҠSNGý MPHŲ ԠDàASàDUPUԠ NUԠNP ASԠA0ҠSԠNŠUPU SZ+SKPҠSԠNŠƠUPU. DA...+3(SԠAҠS DBBNS SBS A BNB SBBàPUNH SZPNBUMPNN. MPNUԬɠ PSSASàHŠ ASҠDA...+(ND.'AS' SBHPGϠVAUAŠDNGH MPH30Ҡ SZAVAUŠABS.? MPHPD-Nϻ ADB.M9(-9(VAUŠSNSUMPϩ SSBSSVA.? MPHPD-YS DAPN SA DASUMP Ԡ300MANA SANàVAU(MP.ϠN PKUPDSANDSŠNϠPGAM SBSZ DA SBG AƬA SAS SZ DA SBG SANS UPUԠASɠHAAS SBNU A SAS SZN MPSB MPH0DNŬGϠGԠNԠSAMN PSSɯϠGUPHŠ AMԠ05000 Ԡ00ɯϠMASKS Ԡ300 PҠDASN+SPAND SZAPSN? MPPYS! DADVNϠPAND PA+'H'? MPHPD PANDҠԠHŠ SBPҠ(HPD- HPDA SAMSAVŠHŠSԠPAAM MPHñ9 PDA.àSԠҠ'AҠAG'(é. DB.000GԠ''MASKҠϠNS. SBHP MPѠҠ SZAA0? MPҠN- DAYS DBNSԠADBHNSUNMA ADAP-MASKH300 PBAMSԠAAMNS SSSKPƠYS ADAP-NSHMASKƠNԠAM DBSUMPSŠBNNS SԠҠVAUž63 SSA MP+VA̾6 DA.V'V'ADDSSV SBP ѠB ADBNSԠ(H5+ SBNS MPHPD ҠSBPҠ'M'Ҡ-.ɯϠADD. MP PSSSàҠSS HòDASN+PNҠϠPAND DB0AϠB SB?MSYM ADA..M SZA MPHPD DAASԠS'' PA.àS''PSN? MP+YS MPHPDN ''ϠBԠ9(àBԩƠɯϠNSԠ DANS Ҡ.000MASKNUNԠB SANS MPHPD M-PPSSҠ NàBSS NSVUSUM. MDԠ0006000060000 MҠA NAZŠAGS SANà0HNŠAPPAS SAMBS-ƠBG BS-ƠAG SAMP+BS-3ƠSGƠASG SANSVUSDϠAUMUAŠHŠD SAAG SASԠAҠHAҠS SAԠHŠҠAHNנDŠ ƠDANSԠUNPAKHŠM-PD HŠMAԠS:BS-3ƠSGƠASG0ƠH. BS-ƠBGƠAxG0ƠNH. BS-0AUA̠BԠD ANDMDAԠPD SAAѠSAVŠԠ(+ DADŠHSSHŠGUPNUMB. Ԡ300MAKŠSU''SBGGҠHANHŠAS ADAAGA(ASԠGP-(PSNԠGP SSA MPϠSUNŠSK ƠPSGPSGϠŠANHANGŠԠANDMAYBŠK DAD PAMD+3SDŠYPŠ60B(M-P? MP+HANGŠҠGUPANDPD MҠDA.P'P'ҠPDŠ SBPҠUN MPHPD DAMD+BHANGŠGUP(M- SADŠϠ MVŠBS-5ƠPDŠϠBSAND-0 DAA ANDMD+SԠABB SASAVŠNB. ҠA ԠMVŠϠBSϠAND5-3 AҬSAMVŠBԠ0 NABԠ. Ԡ3AƬAҠAŠԠ3ϠBS-0 ҠPUԠNHŠABB MP+ ϠDAD SAAGSԠASԠGPϠPSNԠGP HKGSҠNSSNY DANS ANDMD+5GԠBS- ҠM PAMD+5ƠUA̬H'SAGS MPMҠNNSSNY. SAMNנGSϠGS HSŠHKGUPNSSNY DANS ANDMD+BS-3 ҠMP+ PAMD+ƠUA̬HŠAŠDS MPMҠMDNԠGUPS. SAMP+ HKҠŠ DAA Ԡ003SZASS SZN Nנ''HŠDŠNϠUNԠDŠSϠAҠ ҠNSV SANSV GԠHŠNԠHAAҠ DASN+PDŠPN ADA...+(3 SAPNҠPNSAԠPSNNԠPD SB?PKUP PABNKƠSϠŠAŠDN. MP+ PA+MMA? MP+ MPM OHFBGԠHŠNԠPDŠ SB?PKPDŠKUP MPHPD MP ϠNSHSԠŻƠUSDANDNASGSԬADD0 ϠHŠD. DAMP+(M- ԠAƬA Ԡ003SZASS ҠBNK(0B DBN Ԡ6003SZBSS A ҠNSV SANS MPHPD SAHSYMB̠B̠ҠA̠ KԠNP DA?SAGԠ'NƠASɠBU SASYMP+ SAGSԠG0 SBSYMKSYMB̠ABŠKUPUN BҠUN ADBPNADDҠƠA ANAA SBSUMP SA MPKԬɠKԠԠ HANGŠ'N.ؠNASMBƠHSPGS.A0B ?AԠUA ?BàUB ?KɠUK ?SKPҠUSKP ?SPҠUSP NDASMB ٟH AR 20874-80008 D S 0122 RTE ASSEMBLER SEGMENT 3             H0101 ) ASMB̬BàDSԠASSMBҠBUAY90 HDDSŠASMB3A̠9 NAMASMB3599 NԠASMB3 Ԡ?ج?MVŬ?UԬ?SԬ?HPɬ?PҬ?BG Ԡ?PNH?SA?ASɬ?ASɬ?PNŬ?NDS?ASMB Ԡ?PN?PM?NSì?G Ԡ? MPAYANDAGGN MPBSS3B UMPSAMŠASDAAGN ...UMP+ .U... .U.+ ..MU+B BNSU+55B SUMPU+00B NBU+06B NSԠU+3BPDŠMA PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS NԠU+B SAVBU+3B SNU+5BSAŠNGPDůPANDAB( SVSԠU+3B PBUƠU+5B60DPUNHBU NԠUPBUƠD(BKNԠҠBN.D. BAGU?BG HŠBSS3BBנSSBàBYHŠNGHƠHŠ SKPANDSPàUNSNASMB BSS3BHSSHŠSPA̠SԠ BNAYUPUԠUNŠ .M5Dà-5 Ԡ6000ý5UNԠPAG BàNP SASAVB+SAVŠ'NBY DABAGGԠPUNHUSԠAG ADA?G̠ADGϠAG SZASSASPUNHUSD? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. UPUԠAD H60DAN AƬAƠAŠ SANԠSŠNԠNUPPҠPBU DASVSԬɠPSNMANANBYS AƬA SZN MP- A SASVSԬɠSŠ.BYS SԠ.DDŠ(D DBB-GԠïPAGŠNDA ADBPBU+SԠMAND SBPBU+ SB?PNHGϠϠ'PUNH' MPBìɠAND PSSABNAYUPUԠD DƠPBU+ H66DAN SZASԠDƠD? MPHɷ0-N- DBPNPNϠBG SBPBU+3SԠDB̠ADD. SAPBU+SԠPBU+0 DB...+3( SBNԠSԠNԠ DBH66- SBSҠSԠSҽ(PBU+ DB..M+(-5 SBNԠSԠNԽ-5 DB.M5-5 SBNBSԠNBҠDUN Hɷ0DBN PB..M+NԽ-5? MPHɷ-YS-SԠUPADDSSS SŠ.BYŠUPDA HɷSZPBU+UPDAŠƠDAADS DASVSԬ AƬA ҠSAVB+àBY SASVSԬ SZNԠBYŠDU? MPHɷ6-N- DB..M+-YS-(-5 SBNԠSԠNԠϠ-5 A SASVSԬ DANB PA..M SS SZNB Hɷ6DBNS SBSҬ SZS SZN DASAVB+àBY PA...+(5DNS? SS MPHɷϠԠS SZNԠBUM.DUN DASUMP SASҬ SZS ANDBMSKAҠUPPҠ6BSƠ'SUMP' BSBSAҠҠBSƠNS BSBS Ҡ''BϠA SANS SZNBBUMPNB MPHɷ MPH60 HɷSZNBSHSHŠASԠD? MPBìɠN- MPH60YS-GϠϠPUNH HɷDBS SBSVS A SASVSԬɠAҠàBYŠD SZS SZN MPHɷ SҠBSS BMSKԠ NDƠBà PASSNDPSSҠ Ԡ0000Ҡà5 ASMB3A SAPBU SAPBU+ SAPBU+ SAPBU+3 DAPNƠPN0HŠAŠNϠAS SZASSASPSNԠ? MPH56 SAPNSԠPNAAҠPGAM DA? N0SANVADDҠƠSYMB̠AB DANVɠSԠDƠNY SZASSNDƠAB? MPN99YS A SA AND...+6GԠNYNGH SAN DA A AND.+3GԠNYYP PA...+6A? MPN̲0YS Ṉ0DANVUPDAŠϠNԠNYADDSS ADAN MPN0GϠϠPSSNԠNY PSSAA̠ҠUPUԠ N̲0DANV MANASԠUPADDҠƠ̠NSAN DB?SAGԠ'NƠASɠBU SA+3 DA...+3ϠA SB?MVŠԠNSԠϠASɯAS+ NP DA?AS SANSԠSAVŠNDD DA?ASɠPSSSԠD SANS SBUԠPUNH DA...+3 SBS DAN PA...+SԠDNSAN? MPN30N DANSԠYS SANSԠPSSNDD SZPNBUMPNUN SBUԠPUNH DA...+3 SBS N30SZPNBUMPNN MPṈ0 ԠH N99B SBB PUNH'ND'D H56DA.000ҠNԠ SANԠSԠDUN DASN+PNSϠPAND(ƠANY SAPBU+3ADƠNϠUNADDSS SZA.ADD.PSN? PSS.ADD. SB?HPɠGϠVAUAŠPAND MPH5ҬҠNϠUNADDSS PA.AAB? MPH55YS SB?PҠҠ-NԠAAB H5A B H55SBPBU+3SŠHŠUNADDSS. ADAASMB3-SԠà5 SAPBU+E DA?BGGԠPUNHAG ADA?G̠ADGϠAG SZASSPUNHNGUSD? MPH5NϠ-NDƠPGAM SB?PNH DA?G SZA SB?ƠSŠUԠADGϠAA DA?BGPUNHAG SZASSASAAPŠBNGPUNHD? MPH5NϬSKPAҠUPU SKP UPUԠAҠ SBàGϠϠ DƠ+3 DƠ.+ DƠ?PNŠADүAҠ H5ANASԠAҠSԠPAAM DBBNSBANKSҠìND. SBS SB?NDSPNԠҠUNԠ DB?PN PB?PMYUPUԠ? MPASMBؠYSGϠϠNDƠASSMB ANϬSԠҠPƠM SB?NSGϠϠNŠSKPUN MPASMBؠԠMASSMB NSԠNPMP NàNPMPAY NVNPNB̠UN .000Ԡ000 ASMBؠU?ASMB SԠU?S UԠU?U NDASMB3  BK 20874-80009 D S 0122 RTE ASSEMBLER SEGMENT 4             H0101 ) ASMB̬BàDSԠASSMBҠBUAY90 HDDSŠASMBA̠9 NAMASMB599 NԠASMB?NS? Ԡ?BPKU?SA?PKUP?SYMK?HP?NDS?PN Ԡ?D̬?MSYS?ASMB?SGMì?PҬ? Ԡ?MVŬ?BG?G?G?HP Ԡ?V?ASM?MSج?BNN?PN Ԡ?A?SҬ?Ƭ?DSì?UN?UN SUP MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VA0UMP+'ASN'AND'SYMK' DNԠUMP+ ...UMP+ .U... .U.+ ..MU.+6 ̠U..M+6 .9U+B .9U+B .M9U+5B BNKU+6B0B(ҠBANK .̠U+B .MBNU+50B .NϠU+5B BNSU+55B .ŠU+6B NAMɠU+B'NҠMPSYMB̠SAG NAMŠU+BҠUSŠBY'PK' SUMPU+00BUNNNGSUMҠ'HP' AU+05B'ASN' NBU+06B DŠU+0BPDŠYP(MPABũ NSԠU+3BPDŠMA PNU+BPGAMANUN PNҠU+B̠PNSAԠASԠҠUNԠHA. SNU+5BSAŠNGPDůPANDAB( SYMɠU+3BADDҠNҠҠSYMB̠B̠(SYMK SYMPU+33BSYMB̠NGAND'N NVU+B ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU (NPU(BUƩSASNHD BUƠUB+B PBUƠBSSSAVSHŠ'NAN'DN BAGU?BG BPKUPU?BPKU HPɠU?HP PҠU?P AGU?G MVŠU?MV MSYMSU?MSYS PKUPU?PKUP SAU?SA ؠU? SPà ASMBSBSA DAD PA.+3'HD'SA? MPHYS SA?ASMAҠ'S'AND'N'AGS DB.000 SBPNNAZŠPGAMUN PA.SPDŠANG? MPHɱ DA.NϠ'N'NϠGSAMN SBJP MPHA3+ HSBNSԬɠGϠϠHDSB MPASMB HɱSB?HPPSSANGNVAU MPHA3+ҠUN SBPNSԠNA̠UNҠVAU MPHA3GϠϠSAԠPASS BSSPBU-+60MAKŠMҠSԠƠPUNHBU SKP HA3SBSA DAD PA. MPHB00ϠND PABNK(0BSUPUNS? MPHA3 ADA..M+-3 SSA MPHA6ҠҠGUND PA.BNAM? MPHA63YS ADA..M+(-3 SSA'M''N'Ҡ''? MPHA63YS- PA...+'U'? MPHA56ϠU PA.9(BHD? MPHA3 PA.(BSKP? MPHA3 PA.+(5BSP? MPHA3 PA.+(6BSԯUN? MPHA3 SԠҠAB̠D DASN+3GԠAB̠NGH SZASSAB̠PSNԠ? MPHABNϬDN SASYMPSԠHAҠUN DBUB SBSYMP+SԠAB̠ADD. ASԠA0ҠABSUŠVAU DBPN SBNSҠNSԠAB̠NϠSYMB̠AB NPҠ HABDADŠPDŠNDA PAD MPHA0'SA'D' PA.9P? MPHA6YS PA...+6( MPHA5ϠAS PA.6BNGҠAH(HADAũ? MPHA0YS.... PA...+5(6AHMA? MPHA63YS ADA.M0-0 SSAԠҠD? MPHA0YS. Ԡ003BSS? MPHA3MϠBSSP. HA3BANAϠADDϠPN NMNԠPGAMN.N. HA3ZADAPN(HA3B+ SAPN MPHA3 .6BԠ6ҠHADAŠAHM SPà PSSBSS HA3MSBHPɠVA.PAND MPHA3 DABϠA MPHA3B+ .BEԠ .M0Dà-0 DؠԠ5PYPŠҠ'D' SKP NS:ADDNYϠHŠSYMB̠ABŬנHAU NKAG:BVAUŠNNPUԠ (UPUԩSYMPN.ƠHAS.SYMNNYA ̠SBNSҬɠ +ҠN('S'Ҡ'DD'PND +NMA̠N .DDASàDDS NSҠNP SBNAM+3SAVŠVAU SB?SYMKSYMB̠ABŠKUP MPNS DA.DDNϬ'DD'Ҡ(MUPŠSYMB̩ NSؠSBP MPNSҬɠGԠUԠH NSDBNAM ADBMP+ SBVA0SԠM DA?AGԠAAVA.MM. MANA ADASYMɠSԠҠSYMB̠B ADAMP+V SSA MP+3N DA.DD+'S'SYMB̠ABŠV MPNSؠ'S' DANAM+3MVŠVAU SAɠUP DANAM DB0ɠADDNY(M+6 SBSYMɬɠϠSYMB PAVA0 MPNSؠ NA SZSYM MP-6 NSؠSZNSҠBUMPԠPNԠҠA+ MPNSҬɠԠH HA63DA.̠NAMSGA̠AҠSA MPHA55+ϠP SKP PSSԠANDDà HA0BNBB PADؠHKDŠҠ'D' ADB.+B3ƠDŠS'D' SBDNԠSԠNUNԠBUMP A SANB SAMP DASN+ SAPNҠSԠPN PKUPANDAMNŠAHAAҠ HASBPKUP(HA0+ASHA DBDNԠGԠUNԠBUMP PA+MMA? MPHAYSGϠSANҠNԠPAA۶M. PB.+SԽ3(..Dة? MPHAYS PA+6PD? MPHA PA.Š''? MPHA HAPABNKNDƠSAMN? MPHA9YS MPHA SԠԠPԠAGSKPBANKSҠNԠHAҠ HAA SAMP SBBPKUP DBDNԠGԠ'BUMP'UN MPHA+ ԠPԠSԠҠNUMBҠUSNGBH.ANDŠ HADAMP SZMP SZAŠҠ'.'UNDY? BYSSԠB0. ADBNB(HA+ SBNBADDϠDUN MPHA NDƠNUMàPSUD-PPSSҠ HA9DADN ADANBSԠANϠƠNSϠBŠUSD MPHA3B+ SKP PSSASà(GԠVAUŠƠN HA5DA...+('AS'ND.ҠHP SB?HP MPHA3B SZA MPHA55-NԠABS.VA. ADB.M9-9 DASUMP SSBSKPƠDS MPHA3B+ HA55SZPNҠԠ DA.MBN'M'(BADPAND SBPҠϠPNԠҠDAG. MPHA3 PSSUPSUDϠ HA56SBHPɠVAUAŠPAND MPHA3Ҫ PA...+3(Ԡ? DA...+(5SԠҠNN-PNH SAMPN SBMP+ Ԡ60BNB SBMSYMSGϠϠMAS.SYMB̬SԠSYMPSYMN DAMP DBMP+ SNDAB̠ϠABŠ SBNSҠϠSYMB̠ABŠNSNN NP MPHA3 GҠHDP.UMPS HA6SBNSԬɠGϠϠSUBUN MPHA3 HA0DA.+A MPHA3Z SKP PASSNDPSSҠ DƠBU HB00DA?GGԠABŠUPUԠAG SZASS MPHB0ABŠNԠUSD-NSHPASS DAHB00- ADA.+3 SAHB00-SԠHB00-(BU+ DAؠGԠAƠAVAABŠMMY SANVϠNV HBؠDANVɠSԠSԠDƠNY SZASSMPD? MPHB0YS-GϠϠNSHPASS DBNVGԠB̠NYAN MBNB SNDADD.ϠMVŠNKAG SBHMV5 MVŠBANKSϠBU DBBNS SBBU SBBU+ SBBU+ SBBU+3 DBUBADD.ƠBUƠϠB SPà MVŠHASMSYMB̠ABŠ A AND...+6(ҠN.ƠDS. SASUMP PA...+( A Ҡ... SBMV HMV5NP GԠVAUŠƠSYMB̠ DBSUMP(N.ƠDSNNY ADB..M ADBNV SBNV DA SZNV ŠSԠŠ0ҠA̠NV. SB?BNN SŠASɠVAUŠNϠBU DBHB00-GԠ(BU+ SB?V DBUBSԠPNԠPAAMS DA.+( SB?PNԠGϠϠPN MPHBؠNYDN. .PASSASàPASS SPND HB0SB?NDSGϠϠNDPASSPSS DB?D̠GԠHŠDSàAG SZBDSKBNGUSD? MPHB0ҠN. DA?UNɠGԠNPUԠUN PA.+SԠHŠDS? SSYSSKPHŠNG SB?ƠŠSԠƠASԠS DA?SҠYSGԠNA̠DŠD SB?DSàGϠNAZŠҠNנSA DA?UN SA?UNɠSԠNPUԠUNDS M$"MPHB09YSSKP'NDPASS'MSSAG HB0ҠDA.PASSPUԠUԠ"NDASMBPASS"MSS DB.PASS+ SB?MS SBàGϠϠPAҠSUSPNDUN DƠ+ DƠ.+6PAҠSUSPND.D SPà SAԠPASSHŠ SԠҠPUNHUPU SPà HB09DABAG SZASSPUNHUSD? MP+5N SBàYSUPUԠHŠAD DƠ+3 DƠ.+ADҠѠD DƠ?PNŠADүAҠ DAAGGԠHŠSԠAG ADABAGGԠPUNHAG SZASԠҠPUNH? MPHBSAԠPASS MP?ASMBASSMBҠ HBDA+PKUPNԠDŠϠGԠASMB5 MP?SGMGϠϠADҠҠNԠSGMN ASà5 .000Ԡ000 UBDƠBU HANGŠ'N.ZNASMBƠHSPGS.A30B ?NS?UNS NDASMB SN$ C N 20874-80010 D S 0122 RTE ASSEMBLER SEGMENT 5             H0101 * ASMB̬BàDSԠASSMBҠBUAY90 HDDSŠASMB5A̠9 NAMASMB5599 NԠASMB5 Ԡ?SUP?BPKU?PKUP?BG?G?SA?P Ԡ?PK?Gì?Nì?SԬ?UԬ?K Ԡ?HP?HPɬ?PҬ?ASN?MSYM?ASM?NS Ԡ?SԬ?PҬ?P̬?SM Ԡ?UNP?PNŬ?NDS?PN?PM?ASMB SUP MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VAUUMP+5 ...UMP+ .U... .U.+ ..MU.+6 ̠U..M+6 .9U+B .MU+3B .M9U+5B BNKU+6B0B(ҠBANK .NϠU+5B .PU+5B .VU+53B .̠U+B BNSU+55B ױ0U+56BADDSSMASK .000U+5B BԱ5U+60B .ŠU+6B àU+6BANAG SGNU+B SUMPU+00BUNNNGSUMҠ'HP' MU+0BN.ƠMSNANPAND ԠU+0B NBU+06B DŠU+0BPDŠYP(MPABũ DSGU+0B'ASN' AGU+B AѠU+B NSԠU+3BPDŠMA ASԠU+B PASSU+5BPASSAG(0PASSANDPASS PNU+BPGAMANUN PNҠU+B̠PNSAԠASԠҠUNԠHA. SNU+5BSAŠNGPDůPANDAB( SԠU+35BSԠHAA ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU PBUƠԠ0000 NԠUPBUƠD(BKNԠҠBN.D. ASMU?ASM BAGU?BG HPU?HP HPɠU?HP PҠU?P GàU?G NàU?N SԠU?S UԠU?U SԠU?S KŠU?K PҠU?P SAU?SA AU0 SAԠPASSƠABSUŠASSMBY ASMB5DA?PҠNGHƠAҠAA DB?P̠GԠGNƠ'A'AA SB?SMGϠϠSԠMMYUN Ԡ0ϠSԠMMYϠZ DA.000 SAPNNAZŠPG'NUN ANA SAPASSSԠPASSAG SBSAADN̠SAMN DAױ0 SAASMSԠAGҠ'N'PN ASHSBSAADASUŠSAMN(NAM? DAD PA.+3HD? MPASHYSGϠPKUPHŠNԠSAM SAASMAҠ'S'AND'N'AG PA. MPHɱ DA.NϠ'N'NϠGҠNAMSAMN SBP MPH05ҠԠMN HɱSB?HPVAUAŠG MPH0ҠUN SBPN MPH0 .000Ԡ000 BSSPBU-+60SVŠMANNGPUNHBU SKP DϠNԠMVŠSKPҬSPҠҠBàASHYAŠ SԠADNGϠHŠNYPNSNASMB SKPANDSPAŠSԠUPUԠ SKPҠDBNà'SKP'NY MBNB MPSK SPҠSBHPɠVAUAŠSPAŠUN BNBҠ-SԠUNԽ SKSZBSSSPAS0? MPH0ԠϠH0(SAԠƠPASS DA?GNϬSAԠNŠSKPPNG SZASSSԠUSD? MPH0ԠϠH0(SAԠƠPASS DASԠSԠAG SZASUPPSSSNG? MPH0ԠϠH0(SAԠƠPASS SBDSGSԠUN DAN PA..MNASԠN? MPH0YS- ADBN SSBSS̠ԠGϠϠBMƠPAG? MP+5YSGϠϠPƠM SBNàNϬSAVŠNנNŠUN DADSGGԠN.ƠNSϠBQ_SKPPD SB?NSGϠϠNŠSKPP MPH0ԠϠGԠNԠSAMN SBKŠSKPϠPƠM MPH0ԠϠGԠNԠSAMN BNAYUPUԠUNŠ .M5Dà-5 DƠPBU+ BàNP DABAGGԠPUNHUSԠAG SZASSASPUNHUSD? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. H60DANԠUPUԠABNAYD AƬAƠAŠ SANԠSŠNԠNUPPҠPBU AƬA ADA.+ADD3ϠHŠDAAUN SANBSԠUNҠN+3 SBàPUNHUNԠD DƠ+5 DƠ.+ DƠ?UNPUNƠPUNHDV. DƠPBUƠPUNHBU DƠNBDUN A SANԠNAZŠNԠ0 MPBìɠAND H66SZASԠDƠBNAYD? MPHɷ0-N- DBPNPNϠBG SBPBU+59PUԠNHKSUMSAV SBPBU+SԠDADD. DAB- SASҠSԠSҽ(PBU+ DA.M5 SANBSԠUNԽ-5 Hɷ0DANS SASҬɠSԠUNԠBN.D SZSҠBUMPPN ADAPBU+59UPDAŠHKSUM SAPBU+59 SASҬɠSAVŠNA+ƠPUNHD SZN SZNBSDU? MPBìɠNϠ- MPH60YS-GϠPUNH SҠBSS SKP H0DA...+SԠPAAM H03SBS ADNԠSAMN H0SBSAADNԠSAMN SԠMNMNàDSҠPSSYPŠ H05DAD DBNS PA+3(3SàҠSS? MPHòYS AND.M(0 PA̠ɯϠ? MPPҠjZYS ASASSHԠAGHԠBS ASAS PA.+60Ҡ0?(M-P? MPMҠYS DAD ADADàSԠUPADDSSƠPSS MPAɠUMPϠPDŠPSS DàDƠ DƠHôG DƠHôҠ DƠH3M3 DƠH3NԠ DƠH3Ԡ5 DƠH3AH6 DƠNUMPASà DƠNUMPDà0 DƠNUMPԠ DƠBSSPBSS DƠUPU3 DƠNND DƠH3NAM5 DƠMMYMMY6 DƠ50HD DƠMMYDƠ0 DƠHò6ABS DƠSKPҠSKP. DƠSPҠSPà3 DƠ5SԯUN̠ DƠNUMPDؠ5 DƠH÷0MPYDV. DƠHø0NGSH DƠH30ϯSϠ .ɠԠASɠɠ3 BԠԠ53 .Ԡ33 MDà-3-ҠSH- DƠ5P35 NàNP36M-PP NSVNP3M-PP DƠ56SUPUNS0 SUM.UNSVMMYƠP. DؠԠ5'D'PDŠYP SKP PSSMMYNŠNSUNS MMYDANS AND..M+NϬAҠDSBƠ'NS' SANS DA.ɠSԠҠNDԠB DBBԱ5NDԠBԠMASK(00000B SBHP MPHñŠҠ SBSUM.PANDVAU BSԠPAAMҽ0 H̠SBMSAVŠHŠSԠPAAM DASUM. DBD PB.+(6D? MPHñ ADAױ0NϠ-SԠҠPAND03 SSASSf'S? MP+5YS. DANSԠNϠ-SԠϠA'UN'B. ANDBԠUNԠBԠMASK(5 SANSԠS MPHñ DAPNSԠNנҠP.ANDNS. ANDױ0NHŠSAMŠPAGŠƠMMY MANA ADASUM. ANDױ0 SZASSNSAMŠPAG? MP+3YS DA.VNϠ-'SANV SBP DA. ANDSUM.SPUPPҠ6BSƠPAND SASUM. HñDASUM.NϬGԠADDҠ HñҠNS SANSԠSԠADҠAG UPUԠABNAYD Hñ9BNB SBB UPUԠANŠҠSNG DBBNSGԠBANKSҠSԠUN DAMGԠHŠSԠPAAM SBS SZPN MPH0 BSSPSSҠ BSSPSBHPɠVA.PAND MPH0 Ԡ6003B0? MPH0YS BB0 SBB AA0 DBBNSNϠ.ND. SBS DASUMPPKUPBKNGHҠPN ADAPN SAPN MPH0 SKP PSSHŠ'D'NGHŠSԠD ƠANAHMàPAҠ H÷0SBUԠUPUԠHŠAH.PAN SBSԠSԠHŠSԠD DA.+(0B SADŠD A SANSԠAҠNS DA.ɠSԠUPҠNDԠB DBBԱ5MASK00000B SBHP NP SZPNBUMPANUN SBSUM.SAVŠPANDVAU DB.+3SԠPAAMҽ MPH HñŠASԠPAAMҠ0 SAMSAVŠ MPHñ gPSS'ABS'PDŠ Hò6SBHPɠGϠVAUAŠPAND MPHPD SBNS MPHPDK.. UPUԠBNDANDҠSԠNŠ H30SBU SBS ADDϠPG.N.N. SZPNBUMPANN MPH0 MNԬԠANDAHMA H3DA.̠GA̠NABSUŠASSMBY SBP 39ANAϠA MPH03 P-PSSҠҠGANDҠ HôBUPUԠA SBBàD SBNSԬɠUMPϠԠSUBU. MPH0BAKϠSAԠS 50DA?GGԠHŠSԠAG SZASSSSԠAG? MPH0YS-GϠϠNԠSAMN SBNSԬɠϠHADҠSUBUN SBKŠSPAŠϠBMƠPAG MPH0GԠNԠSAMN 5SBNSԬɠϠPSB MP39 5SBSԠSԠSԯUN̠AG MP39 56SB?SUPSԠ'SUPUNS'AG MP39 SPà PASS'U'PSSҠ UPSBHPɠVA.PAND BҠS DAPN SASUMPSAVŠPNVAU SBPNSԠPN0 DA...+(SԠ'U' SBS DASUMPPAŠPNVAU SAPN MPH0 Hø0SBHPɠGϠVAUAŠHŠUN MPHøBADUNԠ ADBMB- SSBBGҠHAN6? PBMN.SB0? SBPҠYS'SAN'M'Ҭ. DASUMPGԠHŠSHԠҠAŠUN.. AND.+3MASKUԠSԠBS HøADANSԠMAKŠUPHŠNA̠NSUN SANS MPH30GϠANDUPUԠHŠNSUN HøASԠUNԠҠ6BԠSHԠA MPHø SKP ԯDïASàPSSҠ NUMPDASN+ LSAPNҠSԠPN A SA+SԠPAS0 DAD PA...+6( MPAS H06DBPNҠPNSAԠSԠHƠNUMB SBSGN B SBN NB SB SԠHAAҠҠMNAҠ H0DAPN SBG SAM PA+MMA? MPHűYS PABNKBANK? MPHűYS UPDAŠHA.N(NéANDPSN.PN(é DBD PB.9? MPHű0+YS PBDؠ'D'? MPHűYS DB...+(NԠA PA+6PD? SBàYSSԠà PA.Š''? Hű0SBàYSSԠàҠUSŠASASNMD SZN SZPNҠBUMPPN MPH0 HűDB.+SԠB3ҠDؠMD MPHű0 SԠUPVAUŠҠSԠANDҠPUNH HűDAD B PA.9? MP+3YS DBàNԠ Ԡ5BB ADBN DASGN SB?ASNGϠϠ'AS'NVSN ASԠA0 SANS SBSUMPSŠVAU DAVAUSAVŠASԠSGPAԠƠ'D' SASGN HűSBNU DA ASSASà0Ҡ? MPHŲ0NϬS3Ҡ DAMN- PABNK MPH0ԠNBANK SZPNҠBUMPPN SB?BPKUSANVҠBANKS MPH06 HŲ0DASUMP SANSԠVAUŠϠNS DB PB.+Sý3? MPHŲYS-SԠSUMPҠ3DD A HŲSAàSԠàҠNԠS MPHű HŲDASGN SASUMPVAUϠSUMP DA.+ҠSNGý MPHŲ ԠDàASàDUPUԠ NUԠNP DA+SԠSNŠAG SZAS? MP+N NAϠA SA+SԠAG ASSAҠASKP DA...+3(SԠAҠS DBBNS SBS A BNB SBBàPUNH SZPNBUMPNN. MPNUԬɠ PSSASàHŠ ASҠDA...+(ND.'AS' SBHPGϠVAUAŠDNGH MPH30Ҡ SZAVAUŠABS.? MPHPD-Nϻ ADB.M9(-9(VAUŠSNSUMPϩ SSBSSVA.? MPHPD-YS DAPN SA DASUMP Ԡ300MANA SANàVAU(MP.ϠN PKUPDSANDSŠNϠPGAM SBSZ DA SBG AƬA SAS SZ DA SBG SANS UPUԠASɠHAAS SBNU A SAS SZN MPSB MPH0DNŬGϠGԠNԠSAMN PSSɯϠGUPHŠ AMԠ05000 Ԡ00 Ԡ300 PҠDASN+SPAND SZAPSN? MPPYS! DADŠNϠPAND PA+'H'? MPHPD PANDҠԠHŠ SBPҠ(HPD- HPDA SAMSAVŠHŠSԠPAAM MPHñ9 PDA.àSԠҠ'AҠAG'(é. DB.000GԠ''MASKҠϠNS. SBHP MPѠҠ DAYS DBNSԠADBHA̠NS ADAP-MASKSSԠPA PBAMSŠƠAAMNS SSSKPNԠMASKƠAM ADAP-ƠNԠAMADDSNDPA DBSUMPSŠBG SԠҠVAUž63 SSA MP+VA̾6 DA.V'V'ADDSSV SBP ѠB ADBNSԠ(H5+ SBNS MPHPD .àԠ03ASɠ'' PSSSàҠSS HòDASN+PNҠϠPAND DB0AϠB SB?MSYM ADA..M SZA MPHPD DAASԠS'' PA.àS''PSN? MP+YS MPHPDN ''ϠBԠ9(àBԩƠɯϠNSԠ DANS Ҡ.000MASKNUNԠB SANS MPHPD SKP M-PPSSҠ MDԠ0006000060000 MҠA NAZŠAGS SANà0HNŠAPPAS SAMBS-ƠBG BS-ƠAG SAMP+BS-3ƠSGƠASG SANSVUSDϠAUMUAŠHŠD SAAG SASԠAҠHAҠS SAԠHŠҠAHNנDŠ ƠDANSԠUNPAKHŠM-PD HŠMAԠS+ BS-3ƠSGƠASG0 H BS-ƠBGƠAG0 NH. BS-0AUA̠BԠD ANDMDAԠPD SAAѠSAVŠԠ(+ DADŠHSSHŠGUPNUMB. Ԡ300MAKŠSU''SBGGҠHANHŠAS ADAAGA(ASԠGP-(PSNԠGP SSA MPϠSUNŠSK ƠPSGPSGϠŠANHANGŠԠANDMAYBŠK DAD PAMD+3SDŠYPŠ60B(M-P? MP+HANGŠҠGUPANDPD MҠDA.P'P'ҠPDŠ SBPҠUN gMPHPD DAMD+BHANGŠGUP(M- SADŠϠ MVŠBS-5ƠPDŠϠBSAND-0 DAA ANDMD+SԠABB SASAVŠNB. ҠA ԠMVŠϠBSϠAND5-3 AҬSAMVŠBԠ0 NABԠ. Ԡ3AƬAҠAŠԠ3ϠBS-0 ҠPUԠNHŠABB MP+ ϠDAD SAAGSԠASԠGPϠPSNԠGP HKGSҠNSSNY DANS ANDMD+5GԠBS- ҠM PAMD+5ƠUA̬H'SAGS MPMҠNNSSNY. SAMNנGSϠGS HSŠHKGUPNSSNY DANS ANDMD+BS-3 ҠMP+ PAMD+ƠUA̬HŠAŠDS MPMҠMDNԠGUPS. SAMP+ HKҠŠ DAA Ԡ003SZASS SZN Nנ''HŠDŠNϠUNԠDŠSϠAҠ ҠNSV SANSV GԠHŠNԠHAAҠ DASN+PDŠPN ADA...+(3 SAPNҠPNSAԠPSNNԠPD SB?PKUP PABNKƠSϠŠAŠDN. MP+ PA+MMA? MP+ MPM GԠHŠNԠPDŠ SB?PKPDŠKUP MPHPD MP ϠNSHSԠŻƠUSDANDNASGSԬADD0 ϠHŠD. DAMP+(M- ԠAƬA Ԡ003SZASS ҠBNK(0B DBN Ԡ6003SZBSS A ҠNSV SANS MPHPD SKP NB SBBàPUNHSԠƠASԠDB̠D DB?BG SZBSSASPUNHNGUSD? MPN3N S}B@SSYSDϠNԠHANGŠPVS SAPVSANDSԠPVS.SAMNԽ(SYPũ DANAD SZAABDSAMNԠ? MPN6NϬSKP DAAB BNB SBNKS+3ɠSHDABHAB AABŠU̬AB̠NԠUND SADGMUNDAN.0:NDƠDϬ A0:NϠNDƠD SZASS MPN6NϠNDƠD NDƠDϬHKҠGA SAMNԠAԠNDƠD GA̠SAMNԠYPSAŠ:G(ةƬUN SPPAUSŬD DASYPŠSAMNԠYP PA.N+DϠ? MPDҠ DB.N0B MBNB ADA SSASS MPN6KSAMNԠYPŠG.0B ADA.N0+6 SSASS MPDҠҬSAMNԠYPŠG.. N6DASYP PA.NNNU? MPN5-3YSNϠD ADANKADƠNKS- SASAVƠSAVŠADD.ƠPSS PANKƠMA? MPNKYS MANA ADANK SSASSUABŠSAMN? MPNSҠNϬ NKSBSAVƬɠUMPϠSAMNԠPSS DAAB̠AAB̠ҠDϠPSS DBDG SZBNDƠDϠ? N5SBNKS+9ɠYSA̠DϠPSS DASYP PA.N3+ND? MPN3YSSAԠNԠPGAM PA.N+MAԠ? SSYS SAPVSNϬSŠPVUS.SAMN SBNKS+ɠADNԠSAMN MPNNNUŠSAMNԠPSSNG NSDA.N+3PDŽ3ҠND$ SBNKS+3ɠGNAŠND$D A SAYPŠD-YPŽ0 SBBŠUPUԠƠPUAAY-BU SBUԠUPUԠASԠSҠƠNMD SBNDPGŠNDƠPAG DAASô S3dANAMADSԠPASS-NAMŠAԠN0 SBàADPASS DƠ+3 DƠ.NDŽҠSGMNԠAD DƠSGNMNAMŠƠSGMN ASôASà NSNP SBNKS+9ɠNDPSSNG MPNS GNASDŠҠSAMNSHHAŠPSSD NPASS PPUANP SBNKS+ɠADPUAAYD SBHPNԠA+ƠPUAAYD PAHPNԠNDƠD? MPPPUA+YSADNԠD DB0 SBPԠSAVŠPA NA DB0ɠPANDϠB NA SAPNԠSAVŠPNҠNBU DAPԠPUAAY-PϠA PA׷BNDƠSAMN MPPPUAɠYS SBNKS+3ɠA̠PUAAY DAPNԠPNҠNBU MPPPUA+3NNU KSVBSS SSVBSS ADSAVBSS PNԠBSSPNҠNPUAAY-BU HPNԠBSSA+ƠPUAAYBU PԠBSSSAVŠPA NKADƠNKS-B NKƠDƠNKS DGBSS SAVƠBSS NSҠDA.N0+-ҠҠNN-.SAMNԠM- BDDDN.SAMNS SBҠUPUԠ MPNS-GϠϠNԠSAMN DҠDA.N+D-PҠDŠ5 SBҠPNԠ MPN5NDDϬANDGϠN ױ0GDà0000MN.VAUŠƠNA̠ABS ABŠƠBASàNA̠UNNS NBASà3.N ASà3.MAP. ASà3.G ASà3.PAUS ASà3.SP ASà3.AP ASà3.D. ASà3.B. ASà3.. ASà3.. ASà3.A. ASà3.A. ASà3.DA. NNSàUNNABŪ NABԠ0ABS ASàBS Ԡ0 Ԡ500ABS ASàAB Ԡ500 Ԡ330A ASàA Ԡ50 ASà Ԡ5000 Ԡ5P  ASàP Ԡ0 Ԡ055AG ASà Ԡ300 Ԡ55SN ASàN Ԡ0 Ԡ5S ASàS Ԡ0 Ԡ505AN ASàAN Ԡ0 Ԡ5ANH ASàAN Ԡ000 Ԡ555S ASà Ԡ5000 Ԡ05AAN ASàA Ԡ000 Ԡ060N ASà Ԡ0 HŠNԠUNNSAŠA-BY-NAMŠHPAAM Ԡ56SGN ASàG Ԡ000 ԠSGN ASàSGN Ԡ0AND ASàAN Ԡ000 Ԡ66 ASà Ԡ0 Ԡ500SS׬A-BY-VAUŠHPAAM ASàSS Ԡ5300 NBBSS0 GNS DƠNB GNKS+33 DƠNSND$PSSNG GNS DƠNAB GNKS+0 DƠNSND$P.ƠNDASԠ GNKS+ DƠPPUA GNKS+ DƠPPUA GNKS+0 DƠPPUA HDA-MŠANPASS3-SUBS.VA. SSVSHŠSS-VAUA.NҠHAAƠBA BA+.ԠSSHŠSUANԠMAԠNAƠAH AAYM.ƠANDZSUԠHŠ. SSVNP SAASԠAƠBA SAԠUԠϠPSSA̠SUBSPSNBA SBASԠAƠBA SAPNԠSԠADDSSPNҠAԠA A SAMDŠSԠNG-MDŠNPUAAY SPDAPN PAAAŠŠAԠNDƠBA? MPSSVɠYSSUBSPԠP.SADY DAPNԬɠNϬNNUŠSAHNGҠNԠSS SZPNԠBUMPPN AND׷BMASKSԠ5BS PAײBSNYAàҠVA.SSYPŽB SSYS MPSPNϬHKҠNSԠSS DBPN ADB..N5-ϠàƠ( DA ԠAƬA AND.N+MASKUԠNϠƠSҠSUBS ADAPN ADA.N5-ϠADD.ƠSUBS.VA.MA SAױSԠSUB-A(PNSAԠ NϠƠSNSUBS.NUDSUDS( HŠSUBSPԠSNנPSSD.DŠSGNADBY ASϠPUAAY.HŠVAUŠƠHŠSUBSPԠSS DNASABŠSAGŬHŠSUBSPԠSNGNBA SZDUԬ(ASɩ-MAԠSNSDNHS AA. ADB.N5- SBPNSԠPNҬPNSAԠAAYNAM DBPN S̱DA PAMHKҠMMA MPײSSMMANANG:ϠSUBSPԠP NBBUMPàPNҠNSUBSP PBױ MPױSSNϠMMAUND:NŠSUBS.P. MPS̱NNUŠKNGҠMMA SPPA״B SSNSԠSUBS. MPSPNNUŠSAH DBPN ADBMɲ DA SBSAҠAKSYMBABNY DAPAAM SZAMA̠PAAM? MP+3YSPSSSUBSP SZPNԠSKPNS.NBA MPSPNϬNNUŠSAH ƠAAYMƠHNS.SUBS.SAMA PAMADD.AHMàSDNŠAԠUNM A DBPNԬ ADB.N5- SBNKS+3ɠGNAŠDANSԠADDND DAPN ADAMɲ SAPNPNԠAԠAAYNAMŠҠSDUP ADA3B SAױPNԠAԠҠSDUP DAPN Ҡ.N0B SAPNɠMVŠ-BԠMYP-6VA. AND.N SAYPSԠYPŠƠVA. MPױSBDϠADAAҠNAMŠANDSHDUP.SS. ױSSPSSDSSNGYSUBSPDVAABS ױSSDAPNԠADD.Ơ(+ DBױADD.Ơ SBSVAUAŠSUBSPԠPSSN ױSBDAPNɠAAYVA.MA ANDײ0BMASKUԠYP-xB SAYPSԠYPŠƠAS.MA Ԡ003SZASS MP+3NGҬSUBS.K DA30BA̠MPYSUBS.BY SBNKS+3ɠGNAŠAS ױSBDAPNɠSUBS.VA.MA ANDMB5BSԠYPŽ0ҠADDADD DB0P DA3BP3ҠADD SBNKS+3ɠGNAŠADAAƠAAY SBSŠGNA:SŠAS ADAYPADDNYPŠƠAS.PAND ADA.NSԠ-BԠ0BNASMA SASVSAVŠASABŠMA SBSDUPHKҠDUPAŠSS MPSP-3 SAHҠDUPAŠAAYMNԠSNMAND ƠBA.UNHAPNҠNBAƠNU SS.NҠH: PNADDҠƠAAYNAM ױADDҠƠNSS SVAS.MAԠƠSU.SS SDUPNP DAױSAԠAԠA+ƠSԠ SAPN ױSSZPNBUMPPNҠNBA DBPN PBA MPױSADYNϠMŠSAMŠS. DA PAPNɠSAMŠAAYNAMS? SS MPױSN DAPNYSMPAŠSUBSPS SAPN DAPN SAPN3 ױSDAPN3ɠMPAŠSUBSPS PAPN SSSAMŠM MPױSDNԬKUHҠNBA DAPN3 PAױNDƠSUBSP? MPױS3YSUA̠SUBSPS SZPN3 SZPN MPױS ױS3DAPNADD.Ơ(NSUBSPԠSԠD NA DBPNϠBŠZDUԻBAƠAA SBPNϠBŠZD SBZ ZҠMVSSV(ADD.NA-ANDZSUԠM ADD.NAHUGHADD.NB MPױS ZҠNP SBSV3 ADA.N5- DBSV SB0ɠSԠASABŠMA B ZűNA SB0ɠZϠU PASVH3 MPZҬɠADY MPZű ױSDAPNSԠAS.MAԠҠUNԠSUB- NASPԠAND DBױZϠUԠMANDҠS SBZҠNSUBSP DAױSԠPNҠNBAϠ(ƠU- MPSDUPɠNԠSUBS.ANDUN ADHSANADDSSƠANMNԠNBAMA .BADDSSƠBA-MN.UNSADD.NA ADNP DBɠHBA-M. SBPADGԠPN MPAD SVAUASASUBSPԠPSSN.NҠHA AD.SԠMNԠNSUBS.P.BADD.ƠҠ HHSHŠSUBS.P.ԠUNSϠNB-G ƠMPUANGNADҠNSANԠ-MAԬ SUBS.NSSSNYƠNSANԠNB-G. SNP SBSV3SAVŠB SA DAɠSԠM. SASVSAVŠPAND AND.N+MASKUԠҠBS PA3BHKҠNSAN MPSYSNԠHҠҠNDSUBS. SBSVطSAV DBSVNϬP.NB Ԡ0ANA.P SBNKS+3ɠGNAŠADPAND DASVط S5NA B PASV3 MPS3-5NDƠSUBS.P. SANԠNDNY+Ҡ-NSԠN DA SASVطSAVŠP NB SBSHNS. SANSԠϠB DASVط PAPSMPAŠP.AGANSԠ+ SSYS+ Ԡ00MBNBҠ- DAS PADױSBADҠNŠSUBSҠ? ADB.N5YSSUBSҠ- SZBSS MPSɠ S3DAײ6BP6ҠADAVAU SBNKS+3ɠGNAŠADANS MPS DױSBDƠױSB SDA DBSVNS.MA ADAϠPNҠϠVAҠҠ SASVSAVŠPN Ԡ0ANA SBNKS+3ɠGNAŠADNS RDA.N+3P3BҠMPY DBSV SBNKS+3ɠGNAŠMPYVA DASV MPS5 ײSSPSSSDUBŠSUBSPԠPSSNS. HŠDŠGNADSAA̠ϠMAPBUN: SB+ DƠMAP DƠAAYNAM DƠSA(NANSVAUŠSS DƠSA(NANSVAUŠSS ԠD(SZŠƠSԠDMNS. S-MPM.ƠAN. SAAS ײSSSBSV5SAVŠàƠ DAPN NA PASV5NŠM.NSUBSP? MPײS5YSM.SPAAMϠMAP DAPNԠNϬVAUAŠP. DBSV5 SBSVAUAŠSUBS.P. SBSŠGNA:SŠAS. ײSSASV6SAVŠAS.MAԠҠSS SZSV5 DASV5BUMPPNҠBYND NA PAױNŠM.NNDSS-P.? MPײS6YS DASV5 DBױ SBSVAUAŠSS-P. SBSŠGNA:SŠAS. ײS3SASVSAVŠAS.MAԠҠSS DBMAPƠMAԠҠ.MAP.UNN DASPҠA SBNKS+3ɠGNAŠA̠MAP DBPNɠAAYNAMŠMA ADB.N5-ϠŠNDҠMPAM. DAױ0BP0ҠD SBNKS+3ɠDƠAAYNAM DBSV6AS.MAԠҠSS DAױ0B SBNKS+3ɠDƠSS DBSVAS.MAԠҠSS DAױ0B SBNKS+3ɠDƠSS DAPNɠMAԠƠSUBSPDVA. SBSA DBDMSԠDMNSN DAPN ANDײ0B SAYPSԠYPŠҠAS.MA Ԡ003SZASS Ԡ00MBNB.MPM.ƠN.AAY DAײ5BP5ҠԠVAU MPױSB+GϠNASҠNŠSS NB@< ײS5DAPNԬɠNϬM.NSSSPAM.ϠMAP MPײS ײS6DASV5ɠM.NSSSPAMϠMAP MPײS3 PNԠBSS PNBSS ABSS ABSS SVBSS SV3BSS SVBSS SV5BSS SV6BSS SVBSS SVطBSS ױBSS PNBSS PN3BSS PNBSS YPBSS MAPƠԠ33MAԠҠ.MAP ײBU.N+B MU.M+0MA ״BԠ MɲU.N5+- 30BU.N330B PSU.M+MA ײ6BU.N+66B ϠU.N0+ SU.N0+ MBԠ5 ײ5BU.N+55B SŠNP DA.N0+6DŽ6ҠS DBױ0BASMAԽ0B SBNKS+3ɠUPUԠSŠAS MPSŬɠUNHAAS.MA GNKS+6 DƠSSV B Sc 20875-80016 E S 0122 RTE FORTRAN PASS 3             H0101 y HDA-MŠANPASS3-S SϠNP SϠSSPNSBŠҠMPNGHŠANSAMNS AD(UNԩSԠYPŠ5 Š(UNԩSԠYPŠ6 AD(UNԬMԩSԠYPŠ Š(UNԬMԩSԠYPŠ30 NDUNԠYPŠ3 BAKSPAŠUNԠYPŠ3 NDŠUNԠYPŠ33 ANA SAGUNƠ-DAG ANAZŠMDŠ SAMDŠSAYNGҠAND SAG̠G̠ϠZ DAYPŠƠYPŠS ADAGM3BGѠ3 SSASSHNGϠ MPGSPàPSSSPA̠UNN. SBGNԠSԠAϠPNԠAԠUN. ANAA̠PUAAYHASϠAS SBNKS+3ɠMԠ"DAUN" DBGBMԠA"B"ƠUPUԠ(YPŠ DAYPŠ6Ҡ30 SA..YPŠSVN ADB.N0+ҠA"BNB"ƠNPU. DA.N+5(ԠMҩ SBNKS+3 SBGNԠƠHŠNԠSYMB̠S DA.N0+ PB.M+AGHԠPAN.HNŠHAV MPGBϠABNAYADҠ DBG.DϠHSŠMԠA"SB.D." SBNKS+3 SBGNԠPKUPMA. PB.M+ƠANASSKGϠϠPSS MPGƠ-D DA.N3+6HSŠMԠA GSԱSBNKS+3ɠ"DƠMA" DA.N3+6DBYA B"DNDS" SBNKS+3ɠANDSAVŠADD.NG̠SϠ SAG̠ANBŠPAHDA. SBGNԠNנMAKŠSUŠHŠNԠMN PB.M+SAGHԠPAN.ƠSϬGϠ MPGSPPSSHŠS. GASDA.N0+ҠMSSAG( SB MPSϬ GƠDAYPŠ-DSGA̠NYH PA.N+YPŠ. BSSMԠԠ0 MPGASƠNԬ. SBGSԠ-DAG DA.N+5ԠM MPGSԱ GBϠDBG.BϠMԠ"SB.B." SBNKS+3 GSPSBGNԠBASàN̠P DAGԠנDҠBSƠNY AND.N+NA. PA.N0+3NSANԠ? MPGSMPYSPSSASSMPŠVA. PA.N0+SԠҠNNDMVAAB. MPGSMP PA.N0+5SԠҠAAYVAAB MPGAAY PA.N0+6SԠҠSUBSPDVAAB MPGAV PB.M+6SԠҠԠPAN MPGDP GPPB.N+SԠҠND MPG MPGASGA̠NY GϠDAYPŠNDƠBASNG. SAƠUPU MP+ DA.N0+MԠA"SB.DA." DBG.DA SBNKS+3 DANԠPAHHŠ̠AB.NŠHA SAG̬ɠƠNNŠASMDHSSA SA0..ANP DAG SZASS-DAD? SAPVYSŠADNNԠSAMN MPSϬɠHNUN. GBSS-DAG GAVSBGPAAYVAABŠPSS. PNSϠASԠ.PAN.ƠVA. NASAVŠHŠMNԠNGH DB0ɠGHԠPAN.NGM SBGMANDPAŠ DB.N+HANND. SB0 DB0SԠBϠA+ NB DAAANDAA. SBNKS+6ɠMPUŠADDSSƠAAYM DAAƠNSANԠSUBSPԬG ADA.N0+HŠSUBSPԠANDPA DA0ɠNGM3. SAGM3 DAAɠANDSŠԠHŠHŠ.PAN SAGMɠASPVUSY. DAGMSԠAϠPNԠH  SAAANDHNSŠH NAMN DBGMNGSNŠԠHAS SB0ɠBNSԠϠANND. GSMPDAAɠPSSASMPŠVAAB. AND.NBANԠBԠANDAŠϠ SAMDŠSԠMDŠϠSAYA̠ҠNG DAYPŠƠYPŠSVNԠSAN SAUPUԠSAMN. MP+6 DAGM3KUDG SAAB+PUAAY ANAƠSϬMԠA DBAɠDAҠDD SBNKS+3 DBG.ɠMԠASB.. DAMDŠMDŽ0 SZA DBG.ҠHSŠASB.. DA.N0+SBDŠϠPUAAY SBNKS+3 DAYPŠƠYPŠSDDԠSANNPU SASSSAMN. MPGSM DAGM3KUDG SAAB+PUAAY DA.N0+6SŠDŠϠPUAAY DBA SBNKS+3 GSMSBGNԠƠNԠMNԠSA PB.M+0MMA MPGSPUNϠN̠P PB.M+ƠAGHԠPANGϠ MPGDPGHԠPANPSS MPGPHSŠϠGP GAAYAPSSAU̠AAY. SAMDŠSԠNGҠMDŠϠADDMN. DAAɠSԠBANYNAAND SBSAҠA̠SAҠϠGԠDM ASԠҠADAVAU DBDM SBNKS+3ɠMԠ"DAANGH" DA.N3+5SԠAҠDBDŠϠPUAAY DBAɠBANYϠB NBNVԠϠASUBSPDVA. SBNKS+3ɠMԠ"DBADDSS" DBG.AҠSԠ.A. DAԠƠԽ0 SZA DBG.AҠҠ.A.ƠԽ DA.N0+SԠҠSB SBNKS+3ɠMԠSB.A.ҠSB.A. MPGSM GDPSBGPPSSPAMNS. ADA.N5BAKUPSAHNGҠ(Ҡ. DB0 PB.M+5SԠҠ MPGḎ PB.M+6SԠҠ( MPGD̲ PB.M+SԠҠ MPGD̲ MPGDP+NNŠƠHS GḎADA.N5+NנPNԠAԠHŠMMA DB0 PB.M+0HKHAԠԠSAMMA SS MPGASD. DB.N+NSԠANNDMN SBGMɠNPAŠƠHŠ.PAN. SZBNԠBUMPAB̠UNҠAND DBBNԠSŠVҠMMA. SB0 SAGM SBNKS+30 A ADAGMPNԠϠPDŠHŠ.P. DB.M+SԠAGHԠPANH SB0 DBGMɠDBYHŠAB. SBGM BNנ̠NHZS ADA.N5 SB0 PAGM MPGSP MP- GD̲B SBGM MPGSP GDPSZAHANDŠGHԠPAN DAAɠADAB SBNKS+9ɠA̠D-ND MPGSM GSPàDBYPŠGԠUNN ADBGSPBSԠD DBɠNB A SAMD SBNKS+3ɠMԠDAVAU DBAɠGԠHŠUN DA.N0+3 SBNKS+3ɠMԠADAUN DA.N0+MԠSB.AP DBG.AP SBNKS+3 SBGN PB.N+HKҠND MPSϬɠK MPGASNԠK GNԠNPBUMPSAϠHŠNԠNN-Z SZAMN DBA SZBSS MP-3 DAA MPGNԬ GPNPGS.P.ϠMAHHŠNԠ.P. DAASԠGMϠPNԠA SAGMUNԠMN BSԠPAN.UNҠϠ0 GP3DAGMɠGԠHŠMN ANDGMASK PA.M+GHԠPAN? M PGP PA.M+6ԠPAN? ADB.N5DMNԠUNҠƠ.P. SZGMNԠAPAN MPGP3 GPNBSZBNMNԠSԠƠ.P.. MP-3 DAGM MPGP GMASKԠ00 GMBSS GMBSS GM3BSS GSPBDƠ-30B Ԡ300030003000NDBAKSPAŬND GM3BԠ-3 GBUGD̲ G̠BSS G.DϠԠ3 G.BϠԠ53 G.DAԠ3 G.ɠԠ303 G.AҠԠ3 G.AҠԠ363 G.ҠԠ333 G.APԠ3 GNKS+ DƠS DƠS DƠS DƠS DƠS DƠS DƠS HDA-MŠANPASS3-AS GNKS+ DƠԠMAԠP.NY GNKS+3 DƠAS3ASƠP.NY AS-3SHŠASƠPSSҠҠPASS3-K AS3NP ANA SAASGSԠAGϠNDAŠAS-AS. PUAAY AS3SBNKS+ɠADSAMN DASYPŠSAMNԠYP AND׷BMASKUԠ6BS PA.NASƠ?(YPŽ0B MPAS33YSPSS PA.N+MAԠ? MPAS3YSUPUԠMAԠANDNNU ANϬSԠAS-AG SAASG MPAS3 AS3SBNKS+ɠUPUԠMA MPAS3NNUŠKNGҠASS AS33DASYP AƬAƠN.ƠPAAMS AND.N+ҠBS MA SASPADSԠ-(N.ƠPAAMS+ DAA SBSAҠSAҠDV̠NY DB0 PB.N5ADD.DND? MP+3NϬK DA.NYSDUBYDNDASS SBҠPNԠ SBNKS+ɠA̠PPUAϠPSSP-PUA- AYDŠҠAS DBSNԠNY-PNԠADD.ƠASƬSԠBY PUAAY MBNBMPM.ҠNDԠ. DA.N+55BPDŠҠMP̠ADD. SBNKS+3ɠUPUԠMPNY MPAS3NNU MAԠPSSҠҠMAԠSAMNSUNG BŠHŠSԠUABŠSAMN ԠNP DAAB SBSDV̠HKҠAB̠NSYMBAB PA.N5-? MPұYSAB̠NԠNK ANADUBYDNDAB SBҠUPUԠ-YPŽ MPԬɠ ұDAAB SBDV̠NҠMAԠAB̠NSYMBAB DANԠAVŠ.ƠAB SAɠϠNYNSYMBAB DBA DA.N3+3BPDŠҠASɠU SBNKS+3ɠA̠PUAAYϠUPUԠMA MPԬɠ HDA-MŠANPASS3- BUPUԠPGAMNPASS3 BNP SAMBر DAYPŠADDYP PA.N0+YPŽҠPUAAY-DŠ? SSYSNNU MPMPKNϠUMP DAMBرADDϠBŠUPU SAMNDɠSŠNNԠBUҠAN SZMNDNMNԠBUҠADDSS DBMND PBMBU5SHŠBUҠU SSYSNNU MPBɠNϠUN MԲDAMND MANA ADAMNDNUMBҠƠDSϠBŠUPU SZASSNNŠ? MPBɠYS DB.N0+ SBYPŠD-YPŽҠPUAAY-D DBMND SBDSKUPUԠBUҠϠDSK MɠDAMND SAMNDNAZŠBUҠA MPBɠYSUN MPKSZASSSHSANNASAN MPMԲNϬUPUԠPUAAY-BU MPMɠYSUMPϠNASAN MBرԠ0 MBU3BSS0 MBU5DƠ MNDBSS MNDƠDƠMBU3 GNKS+ DƠԉKB HDA-MŠANPASS3-AD+NDV ADANPUԠUNŠNPASS3 ADANP A SASYP SBDSKADD-YP SAYPŠSԠ-YPŠ(Ҡ PA.N0+APHASNG? MPMDAYS PA.N0+DVSԠ(YPŠ? MPMDAYSSKPSYMBAB SBDSK DBMBU SBMNAPSԠADD.NPUAAY-BU MANA SAMNASԠPUA-BUҠUN SBDSKADPUAAY-D SAMNAɠSŠNBU SZMNABUMPADDҠNPUAAY-BU SZMNAADY? MP-NϬNNUŠAD DAMBUƠAƠBU DBMNAA+ƠDŠNBU MPADAɠ MDASBDSKADNGHSYMBAB MANA SAANSԠUN SBDSKSKPDVSԠD SZANND? MP-NϬNNU MPADA+YSADNԠD MDASBDSKSKPNGHD SBDSKADNGHƠAPHA MANA SAAN SBDSKADNGHNSԠS MANA ADASPƠAVA̠MMYPNS SABSAƠNSԠS SASAD ADAAN SAAAƠAPHA SAA MANA ADADV SSASSDVSԠVSAPHA? MPԠYSU SBDSKAB̠VAU SAAB SBDSKADDNDϠAB SANAD SBDSKSAMNԠYP SASYP SBDSKSKPYP SBDSKANDNGHAPHA SBDSK SAAɠSŠAPHAD SZA SZANNDƠAPHAMVŠ? MP-NϬNNU DABS PASNSԠSԠMPY? MPADAɠYS SBDSKSKPDYP SBDSKANDADNGHNS SBDSK SASADɠSŠNSԠNNS SZSADBUMPNSԠADD DASAD PASNDƠNSԠMVŠ? MPADAɠYS MP-6 MNAԠ0 MNAԠ0 ANBSS SADBSS MBUƠDƠMBU MBUƠBSS0PUAAY-DŠBU BSS NDV̠NPBDVSԠ DA SZAZϠMANSAB̠NY MP+3 ADB.N0+3GHƠAB̠NY3 MPNDV̬ AND.N0+ NA AS ADA.N0+ SANDV- DA SSASS MPNDVNԠDMNSND NB A SSA NB AS ANDMPA SZASS NB NDVADBNDV-UNԠD MPNDV̬ MPAҠԠ300 GNDV DƠNDV GNKS+ DƠADA HDA-MŠANPASS3-SPPAUS MϱU.N0+ MϲU.N0+ M3U.N0+3 MϴU.N0+ M5U.N0+5 M6U.N0+6 MϷU.N0+ Mϱ0U.N MϱU.N+ Mϱ5U.N+5 MϱU.N+ Mϲ0U.N MϲU.N+ MϲU.N+ Mϲ5U.N+5 M3U.N3+ M3U.N3+ M36U.N3+6 M3U.N3+ MMU.N5 MMU.N5+ MḎU.M+0 MD̲U.M+6 MD3U.M+ MP6U.M+5 MPUԱUNKS+3 NYPNԠҠPAUSŠSAMN MSPNP DAMSP SAMSPSŠUNADDSSNMSP DAMƱ SAMSPSŠPAUSŠҠPUAAYA MPMSP+3 NYPNԠҠSPSAMN MSPNP DAMƲ SAMSPSŠSPҠPUAAYA A SAMDŠSԠNGҠMD DAA PAMϱSSԠBADANND MPMSGϱYSGϠϠPUAAYA̠ҠA DAANϬHKHAԠBASNGS ADAMϲNŠDPUSND PAA MP+YSNNU MұDAMϴNϬADҠNDAҠAND SBҠGϠϠDAGNSS MPMSPɠUNϠANGPGAM DAAɠHKHAԠHŠSԠBAD ANDM3SANNGҠNSAN PAM3 MPMSGϲ MPMұƠNԬGϠϠDAGNSS MSGϱDAMϲADAHANDA MPMSGϲ+UNϠANGPGAM MSGϲDBAɠADBHBAPAND ANAADAHDANDA SBMPUԱɠA̠PUAAY DAMϷADAHSBNDA DBMSPADBHPAUSŠҠSP SBMPUԱɠA̠PUAAY MPMSPɠUNϠANGPGAM MƱԠ3.PAUS MƲԠ3.SP HDA-MŠANPASS3-UNG NYPNԠҠUNSAMN MSP3NP DAMDV̬ɠADSԠDƠDVS ANDMϲ0SAŠYPŠB SAMDŠSԠMDŠNDA ҠMϴMBANANҠNN SADMNSNDVAABŠƠ DAPYPŠSHSAUNN PA.N0+SHSAPGAM MPMSP3ɠYSUN ADA.N5+ƠNԬUMPVҠDAA SSA MP+3 ANAADAHDANDA SBMPUԱɠA̠PUAAY B DAMϱADAHUMPNDA SBMPUԱɠAJPUAAY MPMSP3ɠUNϠANGPGAM NYPNԠҠGϠϠNSAMN MSPNP DAAHKHAԠBASNGS ADAMϲNŠDPUSND PAA MP+YSNNU MҲDAMϴNϬADҠNDAҠAND SBҠGϠϠDAGNSS MPMSPɠUNϠANGPGAM DAAɠHKHAԠHŠSԠBAD ANDM3SANNGҠNSAN PAM3 SSƠSϬNNU MPMҲHSŠGϠϠ DBA SBMBKHKAB̠ҠϠ9999ANG MPMSPɠҬUNϠANGPGAM DBAɠADBHBAAB DAMϱADAHMPNDA SBMPUԱɠA̠PUAAY MPMSPɠUNϠANGPGAM NYPNԠҠGϠϠ(N..NMʠSAMN MSP5NP DBANAZŠBADADDSS A SAMSPNAZŠAB̠UN DA PAMD̲SHŠSԠBADA( MP+ƠSϬNNU M3DAMϴHSŬADҠNDA SBҠANDGϠϠDAGNSS MPMSP5ɠUNϠANGPGAM MPNBNMNԠBADADDSS DAɠBANNԠBAD ANDM3SAŠYPŠBS PAM3SHSANNGҠNSAN SSƠSϬNNU MPM3HSŠGϠϠҠAN SBMBKHKAB̠ҠϠ9999ANG MPMSP5ɠҬUNϠANGPGAM SZMSPNMNԠAB̠UN NBNMNԠBADADDSS 5> DAɠBANNԠBAD PAMḎSHSA MPMPƠSϠNNUŠHKNGSNG PAMD3SHSA SSƠSϠNNU MPM3HSŬGϠϠҠAN NBNMNԠBADADDSS DAɠBANNԠBAD PAMḎSHSA NB DA SAMSPSŠMPAY ANDM3SAŠYPŠBS PAMϴSHSANNGҠVAAB SSƠSϬNNU MPM3HSŠGϠϠҠAN NBNMNԠBADADDSS DAɠBANNԠBAD PAMϱSHSHŠNDƠHŠSNG SSƠSϬNNU MPM3HSŠGϠϠҠAN DBM3ADBHGϠ DAMϷADAHSBNDA SBMPUԱɠA̠PUAAY DBMSPADBHAB̠UN ADBMϲADD DAM3ADBHDƪ+BNDA SBMPUԱɠA̠PUAAY DBMSPADBHNDؠVAAB DAMϱ0ADAHDƠNDA SBMPUԱɠA̠PUAAY DBMSP MBNBNAZŠAB̠DNN SBMSPUN ANA SAMSPNAZŠAB̠A MPDAA ADAMSP DB0ɠADBHBAAB DAM36ADAHDƠNDA SBMPUԱɠA̠PUAAY SZMSPNMNԠAB̠AҠ SZMSP SZMSPHASHŠASԠAB̠BNDND MPMPNϬGϠBAKҠNԠAB MPMSP5ɠYSUNϠANGPGAM MSPԠ0 MSPԠ0 M3Ԡ063.G |HFBBH Te 20875-80017 E S 0122 RTE FORTRAN PASS 3             H0101 z HDA-MŠANPASS3-BGNNDD NYPNԠҠBGNDϠSAMN MSPANPNYҠMPDD SA SBMSPDSAVŠA DAMSPA SAMSPSŠUNADDSSNMSP ANA SAMSPASԠMPDDϠAG MPM5+5 MSPNPNMA̠NY A SAMSPAAҠMPDDϠAG DBANAZŠBADADDSS SBMSPDSAVŠA DA ANDM3 PAM3SHŠSԠBADAAB MP+ƠSϬNNU M5DAMϴHSŬADҠNDA SBҠANDGϠϠDAGNSS MPMSP SBMBKHKAB̠ҠϠ9999ANG MPMSPɠҬUNϠANGPGAM NBNMNԠBADADDSS DAɠBANNԠBAD ANDM3SAŠYPŠBS PAMϴSHSANNGҠVAAB SSƠSϬNNU MPM5HSŬGϠϠ SBMSPDSŠBAADDSSƠND NBNMNԠBADADDSS DAɠBANNԠBAD PAMP6SHSAN SSƠSϬNNU MPM5HSŬGϠϠ SBMSPDSŠBADADDSS DBMMNAZŠMUNҠϠ- MP5NBNMNԠMUN SZMSPDNMNԠBADADDSS DAMSPDɠBANNԠBAD ANDM3SAŠYPŠBS PAMϴSHSANNGҠVAAB MPM5PNNU PAM3NGҠNSANԠ? SSƠSϬNNU MPM5HSŬGϠϠ SBMSP3DSŠMUNҠMPAY DBMSPDADqYBHADDSSƠD SBSVAUAŠHŠNSAN SSA MPM5ƠVAUŠSNGAVŠ SZASSZϠGϠϠ MPM5 MANAMPMNԠVAU SAMSPDɠSŠVAUŠNBASNG DBMSP3DSŠMUN M5PSZMSPDNMNԠBADADDSS DAMSPDɠBANNԠBAD PAMḎSHSA MPMP5ƠSϬHKNԠD PAMϱSHSHŠND SSƠSϬNNU MPM5HSŬGϠϠ PBMϱHKHAԠHŠMUNҠUAS MP+3NŠҠZ SZB MPM5 SBMSP3DSŠMUN DAMSPD NA DA0ɠADNDؠVAAB DBMϲADAVŠPSNND SBMD̠ABŠNYANDSAHDϠAB MPM5+UNƠHŠABŠSU SZAƠNDؠSNԠNABŠSKP MPM5+NDؠAADYNABŬ ADBMMSUBAԠϠGԠSANG SBMSPDADDSSƠDϠABŠNY DAMSPASHSANMPDDϠA SZASSƠSϠUMPAUNDHŠAB MP+3VAANUN DAMSPD MP+3 DBMSPDADBKHAB̠ADDSS SBSVAUAŠAB SZMSPDNMNԠDϠABŠADDSS SAMSPDɠSŠBNAYNDAB SZMSPDNMNԠBAADDSSD DBMMSԠUPϠSKPADNGƠM MP6SZB SZMSPDNMNԠDϠABŠADDSS DAMSPDɠBANNԠBAD SAMSPDɠSŠNDϠAB SZMSPDNMNԠBADADDSS SZMSPD NBNMNԠB PBMϲSHSHŠND SSƠSϬUMPUԠƠP MPMP6 DAMSP3DADMUN SZACƠZϠSŠ-NM3NY MP+3ƠDϠAB A SAMSPD A SAMDŠSԠNGҠMD DAMSPDADADDSSƠND ADAMϲADD DB0ɠADBHM ANAADAHDANDA SSBSSSHSANSAN MP+3NϠUMP MBNBYSMPMN ADA.N5DUŠAϠ0ŠDANSAN SBMPUԱɠA̠PUAAY DBMSPDɠADBHND DAM6ADAHSANDA SBMPUԱɠA̠PUAAY DAMSPD ADA.N5+3 DBNԠSŠANUNҠND SB0ɠABŠAԠDϠPSAԠPSN ASԠPVUSPϠNSUŠHA SAPVASUBSUNԠDANDؠSN DD MPMSPɠUNϠANGPGAM MSPDԠ0 MSPDԠ0 MSP3DԠ0 MSPDԠ0 AB̠HKSUBUN MBKNP SBMDϠSŠBADDSSƠHŠAB SBSVAUAŠAB SSASKPƠVAUŠPSV MPMBŠGϠϠ SZASSSKPƠVAUŠNԠZ MPMBŠGϠϠ ADAMBMADD-0000ϠVAU SSASSSKPƠSUԠNGAVŬ.. MPMBŠAB̠SSHAN0000 DBMDϠSŠAB̠ADDSSNB SZMBKNMNԠUNAN MPMBKɠUNϠANGPGAM MBŠANAADҠNDA SBҠGϠϠDAGNSS MPMBKɠUNϠANGPGAMA ҠAN MBMDà-0000 MDϠԠ0 DϠABŠSAHSUBUN !AHDϠABŠNYNANSHŠNG .AVŠADDSSƠBGNNNGƠHŠP .NDAB̠(BNAY 3.NDؠVAABŠ(BAMAԩ .MBAMA 5.M3BAMAԠҠ-ƠNϠM3NSAMN HŠSUBUNŠSADHHŠMϠB SAHDҠNANHŠAPPPAŠMA ANDSAVŠANHNANNY NB ƠHŠMSNHŠABŬUNSMAD ϠHŠHDANƠHŠANGSUN HBNAANDHŠABSUŠAN HŠMNB ƠHŠMSNԠNHŠABŬANDHŠAB SNԠU̬UNSMADŠϠHŠHD ANƠHŠANGSUNŠHZ NAANDHŠABSUŠANƠHŠS ŠANҠHSMNB ƠHŠMSNԠNHŠABŬBUԠHŠAB SU̬UNSMADŠϠHŠSNDAN ƠHŠANGSUNŠHBNA MD̠NP SAMDԴSŠA A SAMD3 DAMϱNAZŠABŠU̠AG SAMDԱ DAMDNϠNAZŠNYUN SAMDԲ ADBMDNDADDASԠADDSSƠDϠAB NA MḎADBMDM5ADD-5ϠDϠABŠADDSS.MV DAɠUPHŠABŠNYBYNY SZASSSKPƠNYNNZ MPMD3UMPϠAҠABŠU̠AG PAMDԴSNYUA̠ϠM MPMD̴ƠSϬUMP DAMD3 SZASS MPMD5 MD̲SZMDԲHASHŠMPŠABŠBN MPMḎHKDƠNԠNNUŠHK DAMDԱADABŠU̠AG SZA MPMD̬ɠHSŬUMPϠҠUN ?DAMD3 SZASS MPMD̴+ DBMD3 ADBM5 A MPMD̴+ MD3SAMDԱAҠABŠU̠AG MPMD̲NNUŠHKNG MD̴DAMϱADMUNDNDA SZMD̠NMNԠUNADDSS MPMD̬ɠUNϠANGPGAM MD5SBMD3 MPMD̲ MDԱԠ0 MDԲԠ0 MD3Ԡ0 MDԴԠ0 MDM5Dà-5 MDNϠDà-0 NYPNԠҠNDƠD MSPNP SAMSPDSŠBNAYAB MPBNBSԠBϠAB̠AVŠADDSS SBMD̠SAHDϠAB MPM6+6AB̠NԠUNDABŠU̬ SZASSSHSAB̠NHŠAB MPMPƠNԠGϠϠNSNGHK ADBMMBNANSADDSSƠAB̠ADD SBMSPD-ϠGԠNYSAԠS ADBMϲADDϠGԠNDؠADDSS SBMSPD3SŠNDؠADDSS DBɠBANND A SAMDŠSԠNGҠMD ANAADAHDANDA SBMPUԱɠA̠PUAAY DBMSPDADDϠNYSAԠϠG ADBMϴADDSSƠNDؠNMNԠ(M3 DB DAMϲADAHNANDA PBMMSM3-..NϠM3SPD MP+6YSNNU ADAMM6NϬDUŠAϠ3ADANDA SSBSSSHSANSAN(SD-ũ MP+3NϠUMP MBNBYSMPMN ADA.N+3A6ADANSAN SBMPUԱɠA̠PUAAY DBMSPD3ɠBANND DAM6ADAHSANDA SBMPUԱɠA̠PUAAY DAM5ADAHMANANDA SBMPUԱɠA̠PUAAY SZMSPD3 DBMSPD3ɠADBHNA̠NDؠVAUa(M DAM3ADAHADANDA SSBSSSHSANSAN MP+3NϠUMP MBNBYSMPMN ADA.N+3A6ADANSAN SBMPUԱɠA̠PUAAY DBMNSSAADBHԠ0(SSASS DAMϲ5ADAHԠNDA SBMPUԱɠA̠PUAAY DBMSPDɠADBH.ADDSSƠH DAMϱ5BGNNNGƠPAHMP SBMPUԱɠA̠PUAAY DAMDM5PPAŠϠAҠABŠNY SAMSPD3SŠ-5NMSP3 DBMSPDADBHNYSA A SAɠSŠZϠNNYAN NBNMNԠNYAN SZMSPD3HASHSNYBNAD MP-3NϬNNUŠANG DAMSPDADBNAYAB MPMPHKABŠҠHҠPS NDNGNHSAB HKҠԠDϠP NSNGBYHKNGHAԠA DϠPSNGHSD HAVŠBNADMAB MPDBMSPDPKUPSAԠƠHSNY DAɠADHŠVAU SZASԠZG MPM6NϬGϠϠ PBMDNDSHSHŠNDƠDϠAB MPMSPɠYSUNϠANGPGAM NBNϬNMNԠADDSS MPMP+NNUŠHKNG M6A SAɠSŠZϠNNYAN PBMDNDSHSHŠNDƠDϠAB MP+3YSGNAŠDAGNS NBNMNԠADDSS MPM6+NNUŠϠAҠAB DAMϱADҠNDA SBҠA̠DAGNSS MPMSPɠUNϠANGPGAM MNSSAԠ0DŠҠSSASS MSPDԠ0 MSPDDƠm.N0 MSPD3Ԡ0 MM6Dà- HDA-MŠANPASS3-DAA DAASNP ANA SAYPŠDYPŠҠPUAAY DAN SASVàSAVŠUNԠàUN DAABA-PN DA0PAANDƠBA? MPDANYSNSHUP SBSBԠSAHҠ MPDAұNԠUND SADUNPNҠҠNSANS DA0A SADAMU̠NSAN-PAԠUNԽ DBDUN NB DA PA.M+(PAԠUNԠƠNSANԠ SSYS MPDA06 DADUN AND.N3+MUPҠ PA.N0+3NGҠNSANԠ? NBSSYSK MPDAұNϬ DADUN SBDUNNSANSPN DB0 SBSGԠMUP MANA SZASS0-MUP MPDAұYS SADAMU̠SԠMUPҠUN DA06B DADUN PA.M+? MP+5YS PA.M+-? NBSSYS MP+3 NB SZDUNBUMPNSԠPNҠƠSGND SBSGNƠҠ-0Ҡ+ҠUNSGND DADUN AND.N+B PA.N0+3NSANԠ?(DŠ3 SSYSK MPDAұNϬҬSKPUNԠS DA03DAA SADAVAҠUNԠVAAB AND.N+ MANA ADA.N0+3 SSASSHKVAAB MPDAұҬVA.ASSDN.Դ ADA.N0+3 SSA MPDAұҬVA.ASSDN.GԠ6 DAA SBSA DAPAAM SZAMA̠PAAM MPDAұYS DA SZAMMN? MPDAұYS SZA DAA A̬A AND.N+3B PAױBGSSVAҠHVAҠSS(B MPDAұYS PAײBSSVAҠHNSԠSS(B SSYS MPDA0SMPŠVA SZA DAA SAAB+SԠNSԠADDNDƠSSVA SZA SZABUMPVAҠPN DA0DADUNɠBAMAԠƠNSAN AND.N0BϠMASKYP-BԠƠVA DB0 DADAVAҠVAҠBAMA AND.NYPŠBԠƠNS PASAMŠYPS? SSYSK MPDAұҬDNԠYPS DBDAVAҠBAMA SBVDƠDNŠVAAB DA55B55BҠG DBDAVAҠVAҠBAMA SBPUAGNAŠG DA56B56BPUA-DŠҠGNNS DBDUN SBPUAGNAŠNSAN DAA PA.M+3NDANGNDƠVAҠS MPDA05YSSAԠNԠVAҠS PA.M+0 MP+3YSK DA.N0+NϬ SBҠPNԠ SZABUMPVAҠPN SZDAMU̠BUMPSԠMUP-NSԠUN MPDA03KPSAMŠNS SZDUNNDƠMUPY DADUNɠBAMNGNS SZDUNBUMPNSԠPN PA.M+0 MPDA0YSK MPDAұNϬҬSKPUNԠS DA05DADAMU PA.N5NϠNSANS SSYSK MPDAұNϬҬSKPUNԠS SZDUNBUMPN.PN DBDUN DADUN PB.M+3(NDƠNSԠSԠ NASSYSK MPDAұҬϠMANYNS NABUMPPASSDMMAҠB SAASԠVAҠPNҠAԠNԠVAҠS ҠNDƠSAMN MPDA0SAԠNԠVAҠS DANDA5B5B ׹SBPUAUPUԠ MPDAASɠ DUNBSSPNҠNNSԠS DAMU̠BSSMUPҠUN DAVAҠBSSUNԠVAҠMA ױBԠ ײBԠ 55BԠ55 56BԠ56 5BԠ5 SGNƠBSS DAұDA.N0+ SBҠPNԠ SBSBԠSAHҠ MPDANNԠUND SAASԠNנA SBSB MPDANNԠUND MPDAN-3NNUŠPSSNG SBԠSAHSBAҠA.ANGS:SBSB UNƠNԠUND UNƠUND SBԠNP DAA PAANDƠBA MPSBԬɠNԠUNDANAŠ DB0 NANϬBUMPBAADD PB.M+3 MPSBűYS MPSB+P SBűSZSBԠBUMPUNADD MPSBԬɠUNHABAADD GNKS+ DƠDAASDAAPSS HDA-MŠANPASS3-ND NYPNԠҠNDSAMNԠNPASS3 MSP0NP DANAD SZASSABDND? MPMNND-YSGNAŠUND DAPVSHKHŠYPŠƠHŠPVUS PAMϱSAMNԬƠHSASA MPMNNDUN((G(3 MANAҠASP(5DϠNԠGNA ADAMϱMPNYɠD SSASS MP+ ADAMϴ SSASS MPMNND SBNKS+6ɠA̠UNPSS MNNDDBMDADADDABŠADDSS DAɠBANHŠVAU SZASԠZ MPMҷNϠ PBMDNDYSSHSHŠNDƠDϠAB MPMNDYSNNU NBNϬNMNԠDϠABŠADDSS MPMNND+NNUŠHKҠZϠDAB MҷA SAɠSŠZϠNHSAN PBMDNDSHSHŠNDƠDϠAB MP+3YSUMPU NBNϬNMNԠDϠABŠADDSS MPMҷ+ DAMϱADҠNDA SBҠA̠DAGNSS MNDDADV SAA DBDV DA.N3+3PϠUPUԠSYMB̠AB SBMPUԱɠA̠PUAAY A SANADSԠϠ0ҠҠPN DADV̠NDƠDADVAҠS MPU+NDƠSYMB̠ABŠ? NNҠSAHADDPNҠNSYMB̠AB DB0 SZBSSAB̠? MPBHKYSHKAB UҠDAHADD NABUMPADDSS PADV̠NDƠSԠ? MPNDYSNSHUPNDP MPNNҠNϬNNUŠSAH BHKNA DB0 SBAB̠SԠAB̠VAU NAàƠAB̠ADD. SAHADD DB0ɠAB̠ADDSS SZAB̠DND? MPU+YSK DA.N0+NϬUNDƠAB-Ҡ SBҠPNԠ MPUҠNNUŠSAH HADDBSS NDBSS0 SŠHŠNGPAAMS NHŠMU-MPŠAB SBNDPGŠNDƠPAG DBN DAPYP PA.N0+ ADB.N0+3ADD3Ϡ.UNҠҠMN. SBNԠD SBBUADɠ.UNҠϠMU-BU SZBUAD SZBUAD SZBUAD DASZPGAMASABŠSZ SABUAD SZBUAD A SAYPŠSԠ0ϠAҠBU SBNKS+ɠMPYBUҠBYB DBDV MBNB ADBDV̠NGHƠDVS SBUSԠUN DABUAD DBAK-AKN SB0ɠϠMU-MPŠBU ADA.N0+3SԠAԠA+ƠBK DBSԠ-SҠN SB0 NA DBBAADDҠN-BU SB0 DA.N0+ SAYPŠD-YPŽҠSYMB̠AB DAU DBDV̠AƠSYMB̠AB SBDSKUPUԠSYMB̠AB SZBUAD SZBUAD DANSZSZŠƠNSANԠAA SABUAD DABUAD ADA.N0+3 SABUADSԠAԠBGNƠNԠBK PABUNDSHŠMU-MPŠABŠU MPNKS+33ɠYSMNAŠPASS3 MPMSP0ɠNϬUNϠANGPGAM MDADDƠDAD MDNDUDND UBSS HDA-MŠANPASS3-MA NYPNԠҠMAԠSAMN MSPNP DANAD SZASSSHŠMAԠSAMNԠABD MP+YSNNU DAMϱNϬGNAŠҠMSSAG SB MPMSPɠUNϠANGPGAM DAAG SZASAGZ MPMGƱNϬUMP BYSADBH- DAM3ADAHMPAB̠NDA SBMPUԱɠA̠PUAAY SAAGSŠAB̠ADDSSNAG DANԠADUNԠANUN SAAGɠSŠNAB̠.ADDSS DAAB̠NMNԠHŠAB̠A SBSDV̠BYNŠϠSKPVҠH SZɠUMPNSUN MGƱDAA MANA ADAAANGHƠMAԠSNG ADAAGɠADDNNSƠAB̠.ADD. SAAGɠSŠNAB̠.ADDSS DBA DAM3ADAHASɠNDA SBMPUԱɠHFBA̠PUAAY MPMSPɠUNϠANGPGAM DV̠DƠ+AƠSYMB̠AB MDV̠UDV GNKS DƠMSP BSS DƠMSP DƠMSP5 DƠMSP DƠMSP DƠMSP3 BSS DƠMSP GNKS+9 DƠMSP0 GNKS+9 DƠMSP DƠMSPA GNKS+3 DƠMD N3UN03 NDN03 aH Uf 20875-80018 E S 0122 RTE FORTRAN PASS 4             H0101 { ASMBҬ̬BZàŠANPASS-AUGUSԠ9 NAMN05 HDA-MŠANPASS-6 ԠBAPAGNԬDSɬDS ԠASììUNϬUNPPN ԠDUG ԠASìB׬B ԠHDN ԠNDP ԠGϬԬ NŠUN PNԠUPN DSKUDS AKUA SԠUS BADUBA UNUUUN UNPNUUNP NàU PAGŠUPAG ԠU DSɠUDS Z HDA-MŠANPASS-BAS N HDDSANPASS-BAS NԠN MMNBUҠҠA̠SGMNS MMNBSS5 BNDUMMN+ PԠUMMN+ BUƠUMMN+ BUNDDƠMMN+ BUҠDƠBUƠAƠMU-MPŠBU N.BSSNYPNԠƠGNҠUN PYPŠBSSPGAMYP:PGSUBҽ N.UNN3A̠UNԽ BUADBSS Z HҠUBPƠAVA̠MM N HҠU00BPƠAVA̠MM .N0Ԡ0356 .NԠ0356 .NԠ0356 .N3Ԡ303333335363 .NԠ0 .N5Ԡ65 àBSS.D:0ABS̬PGì 3MMNì PASSԠPASS-AGҠP DŠBSS ADBSSAUŠƠ.ADD.ҠHH NBSSMMNNGH PNBSSPGAMNGH .SBSS BSSPANDPNYPNS MADBSSNYPNԠҠADB DV̠BSSA+ƠDVS DBSSUNԠԠDNA NADBSSNYPNԠADD. BSBSSAƠNS SBSSUNԠADD.NNS VBASBSSBASŠƠ.VA.AA VSZBSSSZŠƠ.VAҠAA ASZBSSmnSZŠƠASƠASAA SZBSSSZŠƠPGASAA NSZBSSMA.SZŠƠNSANSAA AGBSSAGҠADB.0ҠN.A ABASBSSASƠASABŠSAGŠBASŠADD. BASBSSPGAS.SAGŠBASŠADD SBASBSSNSANSBASŠADD. PAMBSSNUMBҠƠMA̠PAAMS NASàNVSANNGҠԠ3KϠAS.ANUMB AԠNY. NASàNP DBM0K-0000D SBGDGԠUPPҠDG ADB6060NVԠϠAS SBNASìɠUNUPPҠDGSN. NGA SZNASàBUMPUNADD. DBMK-000D SBGDGԠNDDG BƬBƠSHԠϠUPPҠBS SBNBUƠSAV DBM00-00D SBGDGԠ3DDG ADBNBUƠADDNDDGԠN ADB6060NVԠϠAS SBNBUƠSAV DBM0D-0D SBGDGԠHAND5HDG BƬB ADB0 ADB6060BASɠƠHAND5HDG DANBUƠAASɠƠNDAND3DDG MPNASìɠ GDNP SBSAV+SAVŠMPASNVAU B0ϠDG GDSASAVŠSAVŠMAND ADASAV+MPA SSAAGҠ? MPGDNϬADY SZYSBUMPDG MPGDNNU GDDASAVŠAMAND MPGDɠ NԠNVSANUMBҠNAϠA̠ASɠ NԠNP A SASAVŠNB AND.N0+ AƬAƠ SASAV+SAVŠSGNDG SBDGGԠA̠DGԠNA ADASAV+ADDSGNDG ADA6060NVԠϠAS SANԬɠUNHUUNADD SZNԠBUMPUNADD SBDG3DDG AƬA SASAV+SAV SBDGHDG ADASAV+ SASAV+ SBDG5HDG AƬA SASAV+ SBDG6HDG ADASAV+ DB0 DASAV+ ADA6060NVԠϠAS ADB6060 MPNԬɠ DGNP DA A̬A A SA AND.N0+MASKA̠DG MPDG NDNԠDV̠NY NҠAàDV̠ԠAàNԠNY NNԠNP DB0 SBNDV DA MPNNԬ BSS NDV̠NPBNANSDV̠ DAɠSԠNY SZAZϠMANSAB̠NY MP+3 ADB.N0+3GHƠAB̠NY3 MPNDV̬ AND.N0+ NA AS ADA.N0+ SANDV- DA SSASS MPNDVNԠDMN NB A SSA NB AS AƬA AND.N+B SZASS NB NDVADBNDV-UNԠD MPNDV̬ SAHUNŠҠABSNSYMBAB. ANGSUN:SBSDV NPUԠPAAM:AAB̠VAU UPUԠPAAMS.:ADNA̠Ҡ-ƠNԠUND BSYMBABADDҠƠAB̠ADD. SDV̠NP SADV DBDV̠AƠSYMB̠AB SDV̱NB PBDV̠NDƠSYMBAB? MPԠYSPSSBŠMAHNŠ DA SZAAB̠? MPSDV̱NϬNNUŠSAH NBYSBUMPϠADDҠƠAB̠VAU DA PADV̠SAMŠAB̠VAUS NBSSYSBUMPϠADDҠƠAB̠ADD MPSDV̱NϬNNUŠSAH MPSDV̬ɠ DV̠BSS SAҠSASASYMBABNYҠHHHŠBA MAԠSGVNNA.ԠUNS:AADD.+ NYNSYMBABBN.ƠDSNNAMŠƠNY+ HҠVAUSHUGHPAAMS. SAҠNP DB0MAԠϠAҠPAD SBPAD MANA SASAVŠSԠUN DADV̠AƠDVS SBNNԠGԠAƠNԠNY SZSAVŠADY? MP-NϬGԠNԠNY SASAVŠYSSAVŠAƠNY NA SASAV+SAVŠA+ DASAVŬɠSԠDNNY A̬A AND3B SAVSԠV-D ADAM3 SASSAVŠSAVŠAG DASAVŬ AND÷BGԠN.ƠHAS. ADA3B AS SASSAV+SAVŠN.ƠDS+NNAM ADASAV+AADD.ƠD DB0 SBDSԠDNA NA DB0 SBDM SZSSAV NANϬBUMPADD.ϠNԠ DB0 SBDM DASAVŬ AƬA AND׷B SAPAAMPAAMN. DASAVŬ ANDײ0B SAԠ-DVAUŠ(0Ҡ0B DASAVŬ ANDױ0B SAà-DVAUŠ(0Ҡ0B DASAVŬ AƬA A̬A AND3B SAƠ-DVAUŠ(0- DASAV+AADD.ƠNY+ DBSSAV+N.ƠDS+NNAM MPSAҬɠ VBSSV-DVAU:0HU3 PAAMBSSM.PAAMNUMB:HU63Ҡ0 ƠBSS-DVAU:0HU ԠBSSYP:0NGҬ0BA àBSSMMN-B:MMNϽPG DBSS.PG.ADD.ƠAƠAAY DMBSSVAUŠƠSԠDMNSN DMBSSDMDM M3U.N5+-3 ÷BU.N0+ 3BU.N0+3 ׷BԠ ײ0BU.N ױ0BU.N SAVŠBSS NBUƠBSS M0KԠ5360-0000D MKԠ6030-000D M00Ԡ63-00D M0DԠ66-0D 6060Ԡ30060NVSNAҠϠAS SSAVŠBSS PADNP DA ANDMHUPPҠ0BS AƬA A̬A̠SHԠ̠0 MPPADɠ MHԠ00 MMSKԠ00 GN.BSSNYPNԠƠGN HDA-MŠANPASS-N UBSS KSVBSS SSVBSS ADSAVBSS NPNBSS ױKBԠ000 BNKSASà 3BԠ3 SPԠNP DABUAD AND3BҠBS DB0SNDD DABUAD AƬAƠUPPҠBS AND3BSSԠD SZBUADBUMPBUҠADD MPSPԬ N0DA$600B ADAUNPN SANPNN̠DҠBNAYPUNH DAױKB ADAUNPN SAHAD-NDҠADҠ000+UN SBDSɠYSADUNԠSҠAGAN SBADɠNAZŠAD DABUҠMU-BUҠGN SABUADϠBUҠADD. NDBGϠ̯GAG DAP+ SZASSBNAYUPUԠ? SZBNϬADGϠ? BNBƠ̯GҠBNAY DAP+ ADAP+3 SZAA-Ҡ-PN? ADB.N0+YSBҠAҠԬB3AҠ ANDBҠ̯G SBPASS0ƠNϠPNS A SAàSԠP.DŠABSU SAAGSԠϠ0ҠN.A̠ƠADB N0BSS0 DABUAD PABNDASԠPGAM? MPײԠYSNDMPAN DAAK SAKSVSAVŠUNԠAD-AK DAS SASSVSAVŠUNԠAD-S DABAD SAADSAVSAVŠUNԠADDҠNAD-BU MVŠPAAMSϠNAM-DBU SBSP SAHPBU+0PY SBHPBU+SUND DABUAD SAHPBU+UNMUP SZBUAD SBSP SAHPBU+3HUS SBHPBU+MNUS jSBSP SAHPBU+5SNDS SBHPBU+60-SMS DABUAD B SBNàNAZŠNŠUN ADA.N0+5 DB0ɠAD-AKNϠҠDVS SBAK ADA.N0+3 DB0ɠAD-SҠNϠҠDVS SBS NA DBBנAƠDSK-ŠBU MBNB ADB0ɠPSNNS ADBBנADDҠNDSK-ADBU SBBAD SBDSɠADS ANASԠAD-AGNŠ0 SAGϠPVNԠASŠƠAD-AK SBDSKSKPD-YP SBDSKADNGHƠDVS MANA SAUSԠUN DADV SADV̠SԠA+ƠDVSԠA SBDSKADDƠDVS SADV̬ɠSŠNDVS SZDV̠BUMPA+ƠDVS SZUNDƠANSҠ? MP-NϬNNU DABNKSBANKS DBHDN SBUAƠNAMŠNHAD NB SAɠBANKUԠNAM NB SA DADV̬ AND.N0+NϠƠHASNNAM ADA.N0+3 AS ADADV̠GԠAƠDVSԠNY SAײ DBDV ADB.N0+ DA SAUɠMVŠNAMŠϠHAD PBײ̠NDƠANS? MP+YS SZUNϬNNU NB MP-6 A SAGSԠAD-AGϠAS-MD DAKSV SAAKSԠUNԠAD-AK DASSV SASԠSԠUNAD-S DAADSAV SABADSԠADDҠNAD-BU SBDSɠADUNԠS DABUAD ADA.N5- SANADNYPNԠADD. SZBUAD DABUAD ADA.N5- SAVBASPGAMNGH .VA.BAS SZBUAD DABUAD SAVSZSZŠƠA̠VA.AA SZBUAD DABUAD SAASZSZŠƠASƠASABS SZBUAD DABUAD SASZSZŠƠPGAMASABS SZBUAD SZBUAD DABUAD ADA.N5- SANNGHƠMMN SZBUAD DABUAD SANSZA̠N.ƠNSANԠS. MA ADAH SABSSԠAƠNSPƠAVA MMY-MAؠNUMBҠƠNSANS MANA ADADV̠A+ƠDVSԠ-AƠNS SSASSVנ? MPԠYSPNԠҠMSSAGŠANDH SZBUAD SZBUAD SZBUAD DADV̬ɠPGAMNAMŠNYNDVS AƬA AND׷BPAAM.DƠPGAMNAMŠN- SAPAMANSN.ƠPAAMS DADV̬ ҠUPSԠPAAMDƠPGNAM SADV̬ɠNYSϠHAԠԠDSNԠK KŠAA̠VAҠϠPNPNNGSYMB.AB DBDV NB DA AND.N+ҠBS SAPYPŠPGAMYP DA ASAS ASAS SAHPBU+9PGYPŠϠNAM-DBU DANAD NANYADDҠ+ SAɠSŠNYADDҠN(DV̩+ DAVBAS.VA.BAS ADAVSZ ADA.N5- SAABASASƠAS.BAS ADAASZ ADA.N5- SABASPG.ASBAS ADASZ ADA.N5- SASBASNS.BAS ADANSZMAؠNS.AASZ SAPNSԠMA.PG.GH. DA.N+BҠA̠PD SAD SB.S+ɠPϠNAZŠPAND NA̠DŠ(NAMNԠ DAP+ ADAP+ ADAP+3 ADAGϠADGϠAG SZASSNϠABҠ-PN? MP+3YSNNUŠASAҠB-AS PAP+3-PNNY? MPײԱYSUPUԠSYMB̠AB DABS SASNAZŠNSԠA DAPYP PA.N0+PGAM? SSYS MP+NϬSKP DA.N0+6NҠ6N SASɠNSԠҠMN.A SZSBUMPNSԠADD A SADNAZŠԠDNA NSBADBɠADPUAAYYP SZAGSԠϠN.ϠҠSUBS.AS PA.N+3ND$? MPײԠYSNDMPAN PA.N3+MAԠ? SS MP+3YS SBײMPSSMAԠSAMN MPN PA.N3+BSS? SSYS MPPUԲ+ SADŠSԠD SBADB SSA MANA SAADSԠPAND(N SB.S+ɠGNAŠBSSN SBGNDƠGNAŠD'SҠAAYA-S SBADBɠADPUAAY-DŠD SS PUԲDAPDUNԠPUAAY-DŠD SAPDŠADSԠDƠPUAAY-D DB.N0BPDŠҠD SBVAPNAZŠAԠD AND׷B SAPPDPUAAYPD ADA+ MP0 DƠ UMPABŠS DƠײDADA DƠײAàA DƠײADA3ADA DƠײMNSUB DƠײMA5MANA DƠײSA6SA DƠײSŠԬSB DƠײDƠ0D DƠײMPMP. DƠײԠ DƠײMPY3MPY DƠײDVDV DƠײMPMP DƠײSZA6SZA DƠײNԠPGAMNY DƠײSSA0SSA DƠײNANA DƠײAA D~640ƠԠAVAAB DƠPUԲNDGϠNϠSYMB̠AB DƠԠAVAAB DƠԠAVAAB DƠײSɠSB.(ASƩ DƠײAS30AS DƠײҠ3MA DƠײBSS3BSS DƠײND33NDƠPGAM DƠԠAVAAB DƠײDB35DB DƠײDD36DUBŠAD:DD DƠײDà3DUBŠADMP:D DƠײAD0AD DƠײSBSB DƠײMM(ANGMP. DƠײDSԠ3DS:DUBŠS DƠײPɠҪ DƠײPҠ5Ҫ DƠײPɠ6ɪ DƠԠAVAAB DƠײMP50MP DƠײDV5DV DƠײSɠ5A̠ϠN.S DƠײSҠ53N.ϠA̠S DƠԠAVAAB DƠײG55G DƠײGS56GNAŠNSAN 5BԠ5 DƠײGMà60GNAŠNGNSAN DƠײDؠ6DƠNA ײҠSBײMPSSMA MPPUԲ-NԠP 6 V d 20875-80019 E S 0122 RTE FORTRAN PASS 4             H0101 | ײMNP SBADBɠADNGHƠMAԠSAMN MANA SAUNSԠUN A SA DA.N+BPDŠҠ SAD SBADBɠADBN.VAU SAADSԠVAU SB.S+ɠGNAŠ SZUNADY? MP-NϬNNU MPײM ײDASBײ̠SԠàANDADҠP ANA SADŠPDŽҠDA SB.S+ɠUPUԠDA MPPUԲNԠP ײ̠NP SBADBɠADNDDƠPND. ADA.N5MPNSAŠDNA̠SASAԠ SAADPANDVAU ANA SAàPG.BAS SBADBɠADNŠD DB0 DAPD AƬA AND׷B PA.NA̠NSANԠ? MP+3YSSKPDNS PB5B MPPUԲ-DŠPVUSSŠAS SBPDNϬSAV ADA+ MP0 DƠ+ DƠײABSABSU DƠײM+PG.ADD. DƠײABAB̠ DƠײVҠA̠VAҠ DƠײSN.NS DƠײMMMN DƠײPҠPG.AS DƠײAҠASƠAS DƠײSA̠NS DƠײPAҠPAAM. ײABDAAD NAAAB̠VAU SBSDV̠SAHҠAB DAɠAB̠ADD.MSYMB̠AB ADA.N5-ϠGԠPGADD MPײ+ ײàADAADADD.ADDSS SBADԠADDҠҠND.S SAADSԠ.ADD. ײؠMPײ̬ɠ ײVҠDAVBAS.VA.BAS MPײ ײABSSZADBUMPϠGNA̠VAU NP A SAàABS.AN MPײ̬ɠ ײMDA.N0+3 MPײM- DAAD MPײ+ ײPҠDABASPG.dASBAS MPײ ײAҠDAABASASƠASBAS MPײ ײSDAADNS- NA SBSSAH-AND-NSԠNԠNSAN ADASBAS MPײ+ ײSSBADBɠADҠPAԠƠA̠NS DBPDҠPAԠƠNS SAPDSAVŠNԠD DAAD NAUPPҠPAԠƠNS SBSSAH-AND-NSԠA̠NS MPײS+3 ײPAҠDAPAMNϠƠPAAMS MANA ADAADDNA̠ƠPAAM ADANADNYPNԠADD. MPײ+ ײNԠSBN.ɠGN:GNAŠNYPNԠD MPPUԲ-NNU ײADASBײ̠SԠàANDAD(P DA.N0+PDŽҠADA MPײDA+ ײMADBMPԠ300BҠMANA A SAà0ҠABS. SBAD DA.N+PDŽBҠ MPײM+3 ײSASBײ̠SԠàANDAD DA.N0+6PDŽ6ҠSA MPײDA+ ײDƠSBײ̠SԠàANDAD DA.NPDŽ0BҠD MPײDA+ ײMPSBײ̠SԠàANDAD DA SZAABS.. MPײMN DAPYP PA.N0+PGAM? MPײ-YSGNAŠSB.SP UNNPGAM DANAD MANA SZASS DAMSƠSԠϠ00000BϠNDAŠ0 SAAD SZàҠPG.. ײMDA.N+PDŽBҠMP MPײDA+ DBB̠.SP SB.SɠԠҠSP DA.N0+DŠҠSB MPײDA+ ײԠSBײ̠SԠàANDAD DA.N+PDŽBҠ MPײDA+ ײSZADBMP+Ԡ00BҠSZA MPײMA+ ײSSADBMP+Ԡ00BҠSSA MPײMA+ ײNADBMP+3Ԡ00BҠNA MPײMA+ ײADBMP+Ԡ00BҠA MPײMA+ ײASDBMP+5Ԡ00BҠAS MPײMA+ ײBSSSBײ̠SԠàANDAD DA.N3+PDŽ3BҠBSS MPײDA+ ײDBSBײ̠SԠàANDAD DA.N3+5PDŽ35BҠDB MPײDA+ ײSɠSBײ̠SԠàANDADҠSBAS DA.N0+PDŽҠSB MPײDA+ ײAàSBײ̠SԠàANDAD ANAPDŽҠDA SAD SB.S+ɠUPUԠDAPND DBMP300BҠMANA A SAà0ҠABS SBADADDND0 MPײ+GNAŠMANA ײSUBDBB̠ADD.ƠSUBN.SYMB̠AB SB.SɠGNAŠԠƠNSSAY DA.N0+PDŠҠSB SAD SB.S+ɠUPUԠSB SBײ̠GԠPNDANDSԠàANDAD DAVAPPDŠҠDƠҠSA MPײDA+GNAŠDƠҠSA ײMPYDBB+MPY-NYNAB MPײSUB+ ײDVDBB+0BDV-NYNAB MPײSUB+ ײDDDBB+BDD-NYNAB MPײSUB+ ײDàDBB+0BAƠD-NY MPײSUB+ ײADDBB+BAƠAD-NY MPײSUB+ ײSBDBB+30BAƠSB-NY MPײSUB+ ײMDBB+3BAƠM SB.SɠGNAŠ DA.N0+PDŠҠSB SADŠSԠD SB.S+ɠUPU MPPUԲ-NԠP ײDSԠSBײ̠ADDSԠàANDAD ƠNԠP5Bײ̠̠NԠUN DA DBAD SANAM+SAVŠ SBNAM+SAVŠAD DBB+0BDS-NYNAB SB.SɠGNAŠ DA.N0+DŠҠSB SAD SB.S+ɠUPUԠSB DANAM+ DBNAM+ SAàSu% SBADҠD MPײMPY-GNAŠD ײMPDBB+60BAƠMP-NY MPײSUB+ ײDVDBB+6BAƠDV-NY MPײSUB+ ײSɠDBB+0BAƠؠNY A̠ϠNԠS.GNADD:SBجSAPAND(S DA.N0+6PDŠҠSA SAVAP MPײSUB+GNAŠSBجSA ײSҠDBB+BAƠA-NY NGҠϠA̠SŠGNAS:SBAԠDSԠPAND(3S SB.SɠGNAŠԠҠA DA.N0+ SADŠPDŽҠSB SB.S+ɠGNAŠSBA MPײDSԠGNAŠDSԠPND ײSŠSBײSԠSԠԠNAM MPײM+ ײSԠNP SBADB SANAM+SԠDNNAM SBADB SANAM+NDDNNAM SBADB SANAM+33DDNNAM DBNAMŠDƠNAM+ MPײSԬ PDBSS ײDؠSBײSԠSԠԠNAM SB.SɠASSGNԠDNA DA.NPDŠ0BҠD MPײM+3GNAŠD ײGSBײ̠GԠPAND DA$6BDŠҠG6B MPײDA+GNAŠG ײGàNPGNAŠԠҠDAA SBADBɠADHAƠƠNSAN SAADSԠADD DA.N+ SADŠDŠҠ SB.S+ɠUPUԠ MPײGì GNAŠ-NSANԠҠDAASAMN ײGMàDA.N+ SADŠDŠBҠ A SAàABSUŠAN DAPD A SSAA̠? MP+YS SBADBɠADNGҠDAA MANA MPGMñNNUŠASҠA SBADBɠADUPPҠHAƠƠA̠DAA SANAM+ SBADBɠADҠHAƠƠA̠DAA SANAM+ A B SBNAM+-A̠DAA SBNAM+ sSAAD SB.S+ɠUPUԠUPPҠHAƠƠ-A DANAM+ GMñSAAD SB.S+ɠUPUԠҠHA MPPUԲ-NԠP GNAŠPSNSANԠҠDAASAMN ײGSA SAàABS̠AN SBײGàGNAŠUPPҠHAƠƠNS DAPD A SSAA̠NSANԠ? SBײGàԠҠҠPAԠƠA̠NS MPPUԲ-NԠP ײPɠDBB+BAƠ.ɠNY SB.SɠUPUԠ DA.N0+PDŠҠSB SAD SB.S+ɠUPUԠSB.ɬ.ɬ. SBײ̠SԠàANDADҠBAS DA.NPDŠҠD SAD SB.S+ɠUPUԠDƠBAS DAPDSԠDƠPNN SAPDŠSԠҠײ MPײDƠUPUԠDƠPN. ײPҠDBB+50BAƠ.ҠNY MPײP+ ײPɠDBB+5BAƠ.ɠNY MPײP+ ײNDDAPYP PA.N0+PGAM? SSYS MPײNN DBNA SB.SɠԠҠ DA.N0+DŠҠSB SAD SB.S+ɠUPUԠSB ANA SAà.DŽҠPGAM DAVBAS SAAD.ADD.AƠ.VAҠAA DA.N SADŠDŽ0BҠD SB.S+ɠUPUԠDƠ+ DASBAS SAAD.ADDҠSԠNSԠNSS SB.S+ɠUPUԠDƠ6 ײNSBGN.ɠGNAŠBSSҠVASDS ҠAB̠SANDUPUԠNS. DB.N+PDŠҠND DAPYP PA.N0+PGAM? DB.N+5YSPDŠҠA SBD SB.S+ɠUPUԠNDҠAANDPN SYMB̠ABŠƠSNG DAG SZAADGϠ? SBƠYSUHPUԠ(UNDS DAPASS ADA.N5+- SSASSAҠB-ANDA-PN? MPN0YSNԠPGҠND$ DAP+3NϬBNYҠBAND SZASS-PN? MPN0NϬNԠPGҠND$ ײԱDAAD SAPSԠUNADD MPHô6+6UMPNϠPϠPNԠSYMBAB ADDƠN0 ײԠSBàASŠA̠ADAKS DƠ+3 DƠ.N0+5DŽ5ҠASŠAKS DƠ.N5-ϠNDAŠA̠AKS SBàŠMSSAGŠҠNDƠMP DƠ+5 DƠ.N0+ DƠ.N0+SYSMY DƠPASàAƠMSSAG DƠ.Mɸ-ҠHAAS SBàMPNUS DƠ+ DƠ.N0+6 PASàASà$NDN NAMŠDƠ+ BSS3 NADƠ+ ASà3 .MɸԠ-0 UPԠ300 PDŠBSSPUAAYSԠD PPDBSSPUAAYPD UNBSSUN VAPBSSDƠҠSAPD MPԠ300MANA Ԡ00SZA Ԡ00SSA Ԡ00NA Ԡ00A Ԡ00AS BASàNA̠ABŠ B̠DƠ+SUB0 ASà3.SP DƠ+ ASà3.MPY DƠ+ ASà3.DV DƠ+DDB ASà3.DD DƠ+Dà0B ASà3..D DƠ+ADB ASà3.AD DƠ+SB30B ASà3.SB DƠ+M3B ASà3..M DƠ+DSԠ0B ASà3.DS DƠ+ɠB ASà3. DƠ+Ҡ50B ASà3. DƠ+ɠ5B ASà3. DƠ+MP60B ASà3.MP DƠ+DV6B ASà3.DV DƠ+A̠ϠNԠSŠ0B ASà3 DƠ+AԠB ASà3A ײMNDBMPDŠҠMANA GNADDŠҠSUB:MANA-ADAPAND-MANA(3S A SAààABS SBADVAUŠƠMP DA.N+B SADŠPDŽ SB.S+ɠGNAŠMANA SBײ̠GԠPAND DA.N0+PDŠҠADA MPײA+GNAŠADAPND-MANA ADBUMAD ADNPADADUSԠHŠADD.NAƠ DBADS.0ANDUNSHŠ ADD.ҠND.ƠNA SSBSSNDԠƠ? MPADɠNϬUN MBNBABS̠VAU B̠ ADA.N5+-ϠUNAԠPVS- ADAADDNPVSY.MPUDADD MANAMPMҠNDԠ SZASS DAMSƠSԠϠ00000BҠ0ɠ. MPAD GNASD-SҠAƠAAYS GNDƠNP SBADBɠADBSS SBADBɠAD:-N.ƠD-S SZASS0? MPGNDƬɠYS SAUNNϬSԠUN DA.N0BҠD SADŠSԠPD GPDAñH00BD.NDVS SADSV BNB SBàSԠPG.. SBSAҠSAҠDVSԠNY DBVV-DVAU ADB.N5+- SSBAAY? MPGNDƱN DBPAAMYS DA0ɠAƠAAYҠNN-PAAMS SZBPAAMҠ? MPGNDƱYS ADA.N5- SAADSԠADD.ҠP DA SZASSMMN? MP+3N SZ SZàSԠϠMMNBASŠ3 SB.S+ɠGNAŠD SZUNADY? SSNϬNNU MPGNDƬɠYS GNDƱDADSV ADAñHBUMP-DNA̠BY MPGP+NԠAAY ñHԠ00 DSVBSS MSƠԠ00000 SSAHSNSԠҠANSANԠNA.BS AƠNSԬSPƠNS+.NҠH AVAUŬBADD.NNS SNP PBSPƠNS+? MPSYSNԠUND PAɠUAY? MPSɠYSNMA̠ NBN MPS+NNUŠSAH SSZSBUMP MPSɠANAŠUN SNP DBBSBMƠNS SBSSAHҠNS MP+3UND SAɠNԠUNDNҠNSAN SZSBUMPS DABS MANA ADA.ADD.NNS MPSɠ A̠NSANԠSAHUNŠ SNP SASAV SBSAV+ DBBS ѲSBSSAHҠUPPҠPA MPѱUNDSԠҠPA 3SAɠNԠUNDNҠUPPҠPA SZS DASAV+ SASɠNҠҠPA SZSBUMPS ѴDABS MANA ADA.ADD.NNS MPS ѱNB PBSNDƠNSԠ? MP3YSNҠNS DASAV+NϬMPAŠҠPA PA MP+3UAY DASAVŠNϠUAYNNUŠSAH MPѲ ADB.N5-SԠAԠADD.ƠUPPҠPA MPѴNSHUP HDA-MŠANPASS-AD ADBNPUԠUNŠNPASS AD̠NP MDBSZNԠNDƠD? MP+3N SBADɠYSADNԠD MPMDBNNU SBDSKGԠNԠDMDNA MPAD̬ɠ NԠBSS NԱBSS ADɠNP SBDSK PA.N0+SY640MB-ABŠD? MP+5YSSKPSYMB̠AB SBDSKNϬADDNGH MA SANԠSԠUNԠҠPUAAY-D MPADɬɠ SBDSKADDNGHƠSYMBAB MANA SANԱ SBDSKADSYMB-ABŠD SZNԱND? MP-NϬNNUŠSKPPNGD MPAD+YSADNԠD 6 W e 20875-80020 E S 0122 RTE FORTRAN PASS 4             H0101 s HDA-MŠANPASS-P PDAAANDABŠAA HNU6SԠԠABŠNGH(93 AU0AGS BUBGS HNàUNà'SMPMNԠUNԠNŠ HPAGŠUPAGŠUNԠPAGŠN. $M3Ԡ-3-3 $M5Ԡ-5-5 $MDà-- $M30Ԡ-36-30 $0Ԡ0AMASK $30BԠ30 $M5Ԡ-66-5 $MSԠSԠנMASKҠD $6Dà600A $UMSKԠ00DMASK(UPPҠHAƩ $00BԠ00ҠԠS $NAMԠ000NAMDUNԠ(BNUPPҩ $ñԠ0000ҠNAM $NԠԠ300NԠDUN $òԠ000ҠNԠ $3Ԡ6000ҠDB̠ $ôԠ0000ҠԠ $5Ԡ0000ҠND $NDҠԠ00000ҠNDԠB $6BԠ6DŠҠG HADDҠDƠ NP MNMNàNSUNAB $MԠDƠ DƠ$M+3BDADŠ+ DƠ$M+5BADADŠ+ ASàMPMP Ԡ6000 DƠ$M+6BSADŠ+6 DƠ$M+BSBDŠ+ DƠ$M+6BDƠDŠ+0 DƠ$M+3BMPDŠ+ DƠ$M+0BԠDŠ+ ASàDADA Ԡ6000 ASàSASA Ԡ000 ASàSBSB Ԡ6000 DƠ$M+3BNDDŠ+ DƠ$M+6BADŠ+5 ASàDƠD Ԡ0 $NDԠ000NDDUN DƠ$M+5BBSSDŠ+3 $ԠԠ3000ԠDUN $MԠҠMASKNGUԠUPPҠ6BSƠNS DƠ$M+5BDBDŠ+35 $UŠԠ0UPPҠBSAND-BԠMASK $MSKԠ3ҠHAƠDMASK ASàԠ Ԡ0 ASàNDND Ԡ0 ASàAA Ԡ0 ASàBSSBSS Ԡz0 ASàDBDB Ԡ66000 ASàADAADA Ԡ000 DƠ+ ASàG Ԡ0 NDƠABŠ $PAMԠ300MASKҠPAAMD $UASàUU $ҠASàҠ $àASàà $ؠASàؠ $BNKASàBANKS $NDASàɠ HUBPDƠHPBU HBPDƠHPBU+ HUBDƠHBU HADҠDƠ+ ASà3PAGŠPAGŠHADҠH ASà3VAUŠGSH HPNAMBSS3 HNDҠASàND HSABASàSYMB̠AB MPAYGN HNҠNPBN..DUNҠ(HPNH(HBé HNSԠNPUNԠNSUNMA HSԠNP HNUMBNP HPNNPPG.N.N.VAU HNԠNP.BYŠNҠҠPAAMD(HBé HSVSԠNPNANSADD.Ơ.BYŠPAAM.(" HSҠNPNԠAVA.àNDB̠BUҠ(HBé HSAVANP HSAVBNP HMANPDƠHPNAM HBASDƠHSAB HNDؠDƠHND HPBUƠBSS60PUNHBU HBUƠBSSSԠBU HNS:MVŠASYMBàNAMŠMHŠSYMB̠ ABŠϠADSGNADAA. NY-ANANSHŠADDSSƠHŠ DSGNADAA -BG.NANSHŠAƠHŠ SYMB̠ABŠNY HNSҠNP SAHSAVASԠADD.ƠVNG.AA DAB AND.N0+GԠN.ƠHASNHŠNAM ADB.N0+BPNS.AԠSԠHASƠHŠNM SBHNUMB DBHNUMB SBHSAVAɠSŠSԠHASƠNAM. ADA$M3A-3 SSASNAMŠMŠHANHAS? MPHNSҠNϬGϠSԠҠBANKNS SZHNUMB SZHSAVA DBHNUMB SBHSAVAɠSŠNԠHASƠNAM ADA.N5+A- SSASNAMŠMŠHANHAS? MPHNSҠNϬGϠSԠҠBANKNS SZHNUMB SZHSAVA DBHNUMB SBHSAVAɠSŠ5HHAҠƠNAM. SԠҠHAҠBANKƽ0 HNSҠDAB AND$MSK SZASҠHAҠ0? MPHNSҬɠNϠ- ADB.NYS-NSԠBANK SBHSAVA MPHNSҬ HM:GԠASɠUVANԠƠSYMB̠ VAUŬPAŠNABŠBUҠ ҠUPU. BGADD-ƠVAUŠ HMԠNP NBB+ϠB DABɠVAUŠϠA SBNԠNVԠVAUŠϠA̠AS NPMSԠSG.DGS SAHBU+5MDDŠSGDGSSD SBHBU+6ASԠSG.DGSSD DA-3PKUPMSԠSG.DGS SAHBU+SŠHM MPHMԬɠUNϠPGAM HPNH:PSSSBNAYDҠUPUԠ -MPUSHKSUM -GSϠPUNHDVҠ HPNHNP DBHUBPADDSSƠPUNHBU DAHPBU AƬA SAHNUMBSԠN.ƠDSҠPUNHDV MANA NA SAHNҠSԠHKSUMUN A SAHPBU+AҠHKSUMADD. MPUŠHKSUMHŠ SZBBUMPPUNHBUҠADD ADAB SZHN MP-3 SAHPBU+SŠHKSUM +GϠϠPUNHD DAP+ SZASSBNAYUPUԠ? MP+NϬSKP SBàPUNH DƠ+5 DƠ.N0+PDŽҠ DƠNPNN̠D:BNAYNPUNH DƠHPBUƠAƠPUNHBU DƠHNUMBBUҠNGH DAG SZASSADGϠ? MP+6N SBԠUPUԠϠADGϠ DƠ+3 DƠHPBUƠUPU-BU DƠHNUMBNϠƠDSND A SAHPBUƠAҠDUN MPHPNHɠԠH HAD:MAKS6NHSƠADүAҠ -SH0N̠BYPASSAD- AҠUPU. BSSNDҠADүA HADNP SBàPUNHADүA DƠ+3 DƠ.N0+3DŠ3 DƠHAD-ND000+UN(PUNH MPHADɠ HUP:PSSANUPUԠUNԠ -SNDBN.DϠPUNHBUҠ -PNԠANŠƠSPNDNG UPUԠ -ADDSϠHŠPG.N.N. -A0DN'ԠPSSADDSS DUNGHSԠ APSSADDҠDUNGHSԪ HUPSAHSԠSAVŠADDSSNV.AG BNBSԠB SBHB SBHS SZHPNBUMPPG.N.N. MPPɠԠMP HS:SԠUPSԠPAAMS -AN -NSUN -PDŠ -ADDSS(HSԽ0SYMBà HSԽA̠ HSԠNP DAPASS PA.N0+PUNHNY? MPHSԬɠYS DAP+ SZASSA-PN? MPHSԬɠNϬ DAHS SZASSSYMBàADDSSNAADY? MPHS-YSSKPA̠NVSN DAADADDSS SBNԠGϠϠA̠NV. NPMSԠSGN.DGSH SAHBU+ DA- SAHBU+0 SBHBU+ HSDAHPNNVԠAN SBN NP SAHBU+ DA- AND$MSK ADA$ñSԠBANKVҠMSԠSG.DG.(̠ SAHBU SBHBU+ DAHNSԠNVԠNSUN SBN NP SAHBU+5 DA- SAHBU+ SBHBU+6 DA.N3+HA.ҠUPU DBHUB SBHPNԠGϠϠPNԠS MPHSԬɠԠSԠUN HPN:PNԠANŠƠUPUԠ -UNSNS(HNé -UNSPAGS(HPAGũ -SSUPPAGŠHADҠAԠ SAԠƠAPAGŠ HPNԠUPN HB:ADDANNSUNϠHŠBNAYDB̠D ҬUPUԠABNAYDB̠D. -UNSHSANBYSҠHŠADҠ -SSUPHŠNS.MAԠϠBSADҠSPS -NNY:B0UPUԠAD -BADDANNS.ϠHŠD HBàNP DAPASS PA.N0+SԠNY? MPHBìɠYS DAHPBU SZBPUNHAD?(B0 MPHBò-NϬGϠϠNSԠANNSUN. BNAYDUPUԠ SZASSSBUҠMPY? MPHBìɠ-YS- HBñDAHPBUƠDUNԠNAG AƬAƠPSNԠҠUPU SAHPBU DAHSVSԬɠPSNHŠMANNG. BYŠPAAM.D AƬA SZHN MP- A SAHSVSԬɠSŠԠNϠD SBHPNHGϠϠBNAYUPUԠUN MPHBìɠԠHBàH NSԠANNSUN HBòSZASHŠSԠDGNGN? MPHB3N DAHPNYSNAZ. SAHPBU+3SԠDB̠ADADDSS DA.N0+ SAHPBUƠSԠNA̠DUNԠ. DA$3 SAHPBU+SԠ.DN.DŠ(é DAHBP SAHSҠSԠADD.ƠNԠBUҠ. DA$M5 SAHNԠSԠ.BYŠUN DA$M5 SAHNҠSԠDUNҠ5DS HB3DAHNԠNAZŠ.BYŠPAAM.D? PA$M5 MP+-YS MP+-N-SKPNAZAN DAHS SAHSVSԠSԠADD.Ơ.BYŠPAAM. SZHSҠBUMPPNҠADD. SZHPBUƠBUMPBKDUN A SAHSVSԬɠAҠ.BYŠPAAM PSS.BYŠPAAMҠ DAHSVSԬɠPA AƬAҠUN Ҡà.BY SAHSVSԬɠNϠPAAM SZHPBU+ADDϠDAADUN SZHNԠSPAAMҠ>DU?(5BYS MPHBô-N DB$M5-YSSԠUNԠANDSŠD SBHNԠSԠHNԠ-5 A SAHSVSԬɠSŠNA̠PAAM.D DAHN PA.N5HNҠ-?(NAҠNDƠD? MP+YS-DN'ԠBUMP SZHNҠNϠ-ADDϠ HBôDBHNS SBHSҬɠPAŠNSԠNϠD SZHSҠUPDAŠSAGŠADDSS SZHPBUƠANDDUN DA PA.N0+5.BYŠNDAŠDNY? MP+YS HB5SZHNҠNDƠAD? MPHBìɠNϠ- MPHBñYS-GϠϠUPUԠHŠD. PSSAD.NY SZHPBUƠADDϠDDUN. DAADADDSSϠA SAHSҬɠPAŠԠNϠNԠN.ND. SZHSҠADDϠSAGŠADDSS AND$MAҠUPPҠ6BSƠADDSS BSBS BSBSAҠҠBSƠNSUN ҠB''HMGH SAHNSԠSԠUPNSUNҠSԠUPU SZHNҠ-NDƠAD? MPHB5-NϠGϠϠԠUPDAŠANDS MPHBñ-YSGϠϠUPUԠD ANASSMBYANDAABŠANSAҠ ʠHDN:BҠ966 UNNS: .ASSMBYSNGƠBNAYUPUԠ .PUNHNGƠAAABŠBNAY PGAMAP 3.PNԠUԠƠHŠSYMB̠ABŠ NPUԠPAAMS: PASSPUNHNY SԠNY(NUDSSYMB̠ABũ A3PUNHANDSԠ à-ANDŠ- 0ABSUŠ AABŠ 3MMN NA̠SYMB̠ AD-ADDSSҠԠSYMB̠DNA̠- DŠ-PDŠDNA̠- NKAG: NA̠NY-PSBP P+UN SUBSUNԠ NYSPSBP P+UN PNP A SAHPNSԠNNҽ0 SAHPBUƠAҠBNUPUԠDUN SAHPBU+AҠB.P.NGHN'NAM'D SADSԠԠDNA̠0 SAB̬ɠSԠSԠDƠԠB̠0 DB$BNKPPAŠPGAMNAMŠBU SBHPNAM+ SBHPNAM+ DBDV̠DƠPGNAMŠNY DAHMANP SBHNSҠGϠMVŠNAMŠϠPNAMŠBU DAPASS PA.N0+PASSSԠNY? MPNPAGYSSKPϠNԠPAG DAP+ SZABNAYUPU? SBHADYSPUNHAD UPUԠ'NAM'D DA$NAM SAHPBUƠSԠDUNԠ9 DA$ñ SAHPBU+SԠ'NAM'DDNԠD DAPN Ҡ$ND SAHPBU+6SԠPGAMNGH DAN SAHPBU+SԠMMNNGH DAHPNAMSԠPGAMNAM SAHPBU+3 640 DAHPNAM+ SAHPBU+ DAHPNAM+ SAHPBU+5 SBHPNHGϠPUNH'NAM'D UPUԠ'N'D DA$N SAHPBUƠSԠDUN DA$ò SAHPBU+SԠ'N'DDNԠD DANADADDSSƠNYPN SAHPBU+6SԠ'N'ADDSS DAHPBU+5 AND$UMSK SAHPBU+5 SBHPNHGϠPUNH'N'D DAPASS PA.N0+PUNHNY? MPPɠYS SAԠBԠDŠNNנPAG NPAGSBNDPSKPϠBMƠPAG MPPɠ Q6 X f 20875-80021 E S 0122 RTE FORTRAN PASS 4             H0101 t SAԠPHŠ PNP DAPASS SZASSNϠABҠ-PN? MPPɠYS AҠSԠBUҠ DA$M SAHNUMBSԠUNҠҠ DA$BNKBANKSϠAG DBHUBADD.ƠBUҠϠBG SABɠBANKSϠMMY NB SZHNUMBDN? MP-3NϠ-GϠBAK SԠUPPDŠNAMŠANDNSUN DAD ADA$M DAAɠANANSNƠDŠNY DBAɠBNNSƠNY(SԠD SBHBU+SԠSԠHASƠPD NA DBA SBHBU+9SԠASԠHAҠƠPD NA DBA SBHNSԠSԠNSUNMAԠ(A̩ DBPASSSԠAPASS DADŠBD PA$6BG MPHò0-3YS PA.N+ND? MPHô0YS PA.N+5A? MPHô0YS PA.N+? MPH30YS PA.N3+BSS? MPHò0YS 'SAGUAҠNSUN DBAD PA.N+? MPHñ6YS 'SAMMYNŠҠDƠNSUN SSBSSSԠND? MPH0-N-SKPND.SUP MBNBNDԠPSSNGHŠ PBAD B SBADSԠADDSS DA$ND SAHBU+3SԠɠNϠN DA$ND ҠHNSԠPAŠNDԠB SAHNSԠNϠNSUN H0DBà.BSϠB PB.N0+SԠNA? MPHñYS DAD PA.NDŠD? MPHñYS DAPASS PA.N0+PASSS? MPHñ3 SԠUPҠDNYҠADҠ DA.N0+5 SA DAB |ADA.N5-ϠA NUDŠNSԠSUP H0ҠHNS SAHNS DA$ PB.N0+3MMN? DA$àYS SAHBU+ Hñ0ANASԠA(ҠHSԠAG MPHUPGϠϠUPUԠSԯPUNH DƠPSSҠ HñDAAD MPH0 SԠUPADDSSҠSԠNYPSSNG Hñ3DAAD AND$MMASKUԠUPPҠ6BS MPH0 PKUPԠNAMŠNYMABŠ H̠NP DAADPKUPԠDNA AND$MS SZASSSԠϠAMP̠Ơ00A̠? DA$6YSSԠB̠PAAMҠ00A DBA BSUSŠPAAMϠNDԠNAMŠNAB ADBA ADB.N5+3(ԠD.-3̠àƠD. ADBB̠BADDҠƠU.NA̠SYMB DAB SAHBU+0SԠSԠHAS NB DAB SAHBU+SԠNԠHAS NB DAB MPH̬ɠ ýPSSԠNAMŠҠPNNG HñSBH AND$UMSKMASKUԠDNA̠BS ADA.NNSԠBANK SAHBU+SԠASԠHA DA$ SAHBU+SԠ.NDA DAAD ҠHNS SAHNSԠSԠNSUN AA0ҠHSԠAG(DN'ԠPNԠADDSS MPHUP ԠPSSҠ Hñ6SBHNS MPHñ0 DAAD PAHPNGADDҠUNԠ.UN? MPPɠYS BSSPSSҠ Hò0BUPUԠUNԠBN.D SBHB ANA SAHSԠSԠSԠPAAM SBHS DAAD DBD PB$6BG SSYSSKPADD ADAHPNBUMPNNҠBYVAUŠNAD SAHPN MPPɠ ԠPH ԠPSSҠ H30PB.N0+PNԠNY? MPPɠYSԠP B SBHBàUPUԠUNԠBN.D DA$ SAHPBUƠSԠԠDUN DA$ô SAHPBU+SԠDDN.D GԠNAMŠNYANDPAŠNϠBNAYD SBH SAHPBU+5SԠASԠDƠNY DAHBU+0SŠMANNGԠNAM SAHPBU+3 DAHBU+ SAHPBU+ SBHPNHPUNHԠD MPPɠԠP PSSNDANDADSHŠ Hô0PB.N0+SԠNY? MPHôYS B SBHBàUPUԠUNԠBN.D SԠUPNDBN.D DANADGԠNYPԠADD SAHPBU+3SԠAS.ADDҠƠNDD DA$ND SAHPBUƠSԠ'ND'DUN DA$5 SAHPBU+SԠDDN.D DBD PB.N+5DŠ'A'?SKPƠN. SZHPBU+SԠAADD.D SBHPNHPUNH'ND'D DAP+ SZABNAYUPU? SBHADYSPUNHA HôDBPASS PB.N0+PUNHNY? MPPɠYSԠP DBD PB.N+DŠ'ND'? MPHô6 SԠUPPG.NAMŠҠAPNԠ DAHPNAM SAHBU+0 DAHPNAM+ SAHBU+ DAHPNAM+ SAHBU+ Hô6DA.N3+ϠPNԠ6HAS DBHUBBUҠG SBHPN DBHNDؠàƠND DA.NPNԠ0HAS SBHPNԠPNԠ'ND' SBNDPSKPϠBMƠPAG PNԠSYMB̠ABŠHADҠ DBHBAS DA.N+6HAҠBU SBHPN  UPUԠSYMB̠ABŠ DADV̠AƠABŠϠA H60DB$BNKSԠPNƠBUƠϠBANKS SBHBU+ SBHBU+ SBHBU+UNDND-D SAHNSԠSAVŠAҠNԠABŠKUP PADV̠ASԠNYNSHD? MPPɠYS DBA SZBSAMNԠAB? MPH÷0N PSSASAMNԠAB̠(NUMé NA SAHSAVB DAAɠSAMNԠN.ϠA SBNASàNVԠԠϠDàAS. NPMSԠSG.SUԠH SAHSAVA PSSSԠHASƠAB̠ DA-'0' AND$MSK'' AƬAƠ'' SAHBUƠ'' DAHSAVA'3' AƬAƠ'3' AND$MSK'' ADAHBUƠ'' SAHBUƠ''SԠHASNנS PSSNԠHASƠAB̠ DAHSAVA'3' AND$MSK'3' AƬAƠ'3' SAHBU+'3' DAB'5' AƬAƠ'5' AND$MSK'' ADAHBU+'3' SAHBU+'3'NԠHASNנS PSSASԠHAҠƠAB̠ DAB'5' AND$MSK'5' AƬAƠ'5' ADA.N'5B'(BBANK SAHBU+'5B'ASԠHAAҠS PSSAB̠VAUŠ DAHSAVB NA DBA ADB.N5A_A- SBHADD+ DBHADD SBHM DA$ SAHBU+3SԠ.HAҠ'' MPHø0 PSSSYMBàAB̠ H÷0PADV̠PGNAMŠ? MPH÷-YSSKPHKNG DAA AND$PAM SZAPAAM? MPH÷-YS DAHNSԬ SSAAAY? MPH93YSDND +AND$30B SZASSUNDNDA̠VAҠ? MPH9YS DB$ààҠMMN PA.NUNDNDMMNVAҠ? MPH9+YSUNDNDMMNVA PA$30BDNDMMN? MPH÷ DB$ؠ PA$00BNA̠? SS DB$Ҡ H÷SBHBU+3AABY GϠϠNVԠANDSŠVAU DAHNS NA DBAɠB_VA SSBVA<0? MPH÷5YS ADB.N5VA_VA- DAHNSԬ ANDB300 PAB00ASƠ? MPH÷5YS DAHNSԬɠA_AƠNY AND$UŠMASKUԠUPPҠBS+-B SZASSA̠VAҠ? ADBVBASYS H÷5SBHADD+ DBHADD SBHM GԠAB̠ANDNSԠԠNϠBU DBHNS DAHUB SBHNSҠGϠϠBUҠNSN DNŠHAB PNԠSYMB̠ABŠNYH Hø0DA.NҠ6HAS DBHUBMBU SBHPN H90DAHNSԠADDҠƠUNԠNY SBNNԠGԠAƠNԠNY MPH60 H9DB$ DA$UU SAHBU+SԠUNHAҠNGADDSS MPH÷ H93DB$à DAHNSԬ AND.N SZAMMN? MPH÷YS MPH÷-N ԠSYMB̠ABŠSAHANDNSԠ -(BADDҠƠ3DBUҠNANNG NAMŠϠBŠNSD. -ƠNDHAҽ0SUZŠUPSԠƠNAM. BUҠS0D -NAMŠUNDSԠýANDADDNA̪ -NԠUNDBUMPDBY ASSGNDϠU.NY GNAŠԠ.VAP -ƠD55HAԠHNNNUŬDϠ NԠBUMPԠ -ƠABŠU(6NSSAԠABŪ HSNP DABɠMVŠNAMŠϠSԠBUҠAND SAHBU+0NSԠBANKSHŠNDD SBH SAHBU+ SBH SAHBU+ SԠHŠҠNDHAҠ0 DAHBU+0 AND$MSK SZASNDHAҠ0? MP.ԱN DAHBU+YSBUMPA̠HASUPPSN. AƬA SAHBU+ AND$MSK ADAHBU+0 SAHBU+0SŠSԠHAS DAHBU+ AND$UMSK SAHBU+ DAHBU+ AƬA SAHBU+ AND$MSK ADAHBU+ SAHBU+SŠNԠHAS .ԱDAHBU+ AND$UMSKAҠDNA̠HA. SAHBU+ANDSԠASԠD DAB SAHSAVAABŠPNҠAƠԠB .ԲDAHSAVAɠPKUPSԠDƠNY PA.N0ASԠNYNABŠ? MP.6GϠϠNSԠANDUPUԠԠ. SZHSAVA PAHBU+0SԠDSSAMŠ? MP+3YS SZHSAVAN MP.Դ DAHSAVAɠPKUPNDDƠNY SZHSAVA PAHBU+NDDSSAMŠ? MP+YS MP.ԴN DAHSAVA AND$UMSK PAHBU+ASԠDSSAMŠ? MP+3YS .ԴSZHSAVAN MP.ԲGϠϠSԠNԠNY DAHSAVA AND$MSK SAADSԠADԠDNA DA.N0+ SAàSԠà MPHSɠԠMԠUN NDƠUNԠNSNABŠ| -NҠHŠNנSYMB̠ .6DBB DAHSAVA ADA.N0+ PADV̠NDƠABŠAA? SBHSAVAYSSԠPNҠϠB̠G DADN PA$MSKDNA̠MASҠ55? MPԠYSϠMANYNAS SZDADDϠD .ԷDAD SAADSԠADD ADAHBU+SԠDNA̠NϠNY SAHBU+ DAHBU+0MVŠNYϠAB SAHSAVA SZHSAVA DAHBU+ SAHSAVA SZHSAVA DAHBU+ SAHSAVA SZHSAVA A SAHSAVAɠAҠNNGNY DA.N+ SADŠSԠDŠ(ҠԠUPUԩ DA.N0+ SAàSԠà SBPGϠϠPϠPUNHԠD MPHSɠԠMS NSԠBANKSHŠDN- ANSAZϠҠAHAAҠ H̠NP NB DABɠNYDϠA SZASSD0? MPHAYS AND$MSKN SZASSҠHAҠ0? MP+3YS DABɠNϬPKUPD MPH̬ɠ DABɠNSԠҠBANK ADA.N MPH̬ɠ HADA$BNKSԠDBANK MPH̬ɠ NA̠SYMB̠ABŪ B̠DƠ+ BSSHN+HN+HN+ SԠUPSYMB̠ABŠGNADDSS $ANDSUBUNŠNYADDSSS G.S DƠHS DƠP DƠP HDA-MŠANPASS-GNϬGN GNϠGNASABSSҠA̠VAҬPG.ABS ANDASƠASABSD-SҠABSAND-S NSANS. BSSGBSS GNϠNP {DAVSZ.VA.SZ ADAASZASƠAS.SZ ADASZPGAS.SZ B SBà0ҠABSUŠPND ADA.N5+-3 SABSSGSԠAG SZASSBSS0? MPGNؠYSDϠNԠGNAŠANYHNG SAAD DA.N3+3B SAD SB.S+ɠBSSҠASANDASABS GNAŠNSԠ GNؠDA.N+BPDŠҠ SAD DBBSBMƠNS PBSNϠNSANS? ASSGH MPGN5+ SAAD DBBSSG SZBPVUSASBSS0? SB.S+ɠGNAŠԠ0 MPGNϬ GN5PBSADY? MPGNϬɠYS SBGSAVŠNϬSAVŠADD.NNS DA SAADNS.VAU SB.S+ɠGNAŠԠVAU DBGSAV NB MPGN5NNUŠGNANG-S GSAVŠBSS DƠ+NҠUNŠ00B ASà3.N SUBUNŠGNҠGNASHŠNYPNԠDŠ ԠSADHNANPDŽBSAD GNҠNP A SAàABSUŠVAU DAPYP PA.N0+PGAM? MPGNԱYSNϠPAAMS DA.N3+3BҠBSS SADŠPDŠҠBSS DAPAMN.ƠPAAMS SAAD SB.S+ GNԱA SAAD DA.N+ԠPD SAD SB.S+ɠԠ0AԠNYPN DAPYP PA.N0+PGAM? MPGNҬɠYS DBGN-AƠ.N-NAM SB.SɠGNAŠ.N DA.N0+ SADŠPDŠҠSB SB.S+ɠGNAŠSB.N ANA SAàPG DAPAMN.ƠMA̠PAAMS MANA ADANADNYPNԠADD.-N.ƠPAAMS 640SAAD DA.N SADŠPD SB.S+ɠGNAŠDƠNY-N MPGNҬɠ DV̠DƠ+50 GMAD DƠAD GGN. DƠGN GN. DƠGN NUN0 NDN0 6 Y g 20899-80001 B S 0122 OPTICAL MARK READER TEST (12602B KIT)             H0101 c ASMBA̬جìB HD60BNAŠKԠDAGNSà(Mҩ G MP3B DƠG G00B MPSҬɠPGAMSA SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY BSS NDƠN SKP G0B àABS- ҠDƠ+ҠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠű0 DƠű DƠű3 DƠű DƠű5 DƠű6 DƠŲ DƠŲ DƠŲ3 DƠŲ ҠDƠ MɠDƠ DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM0 DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM DƠM3 DƠM M̠DƠMSSAGŠNGHAB DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̱0 DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ SԠDƠ+ABŠƠSԠDSϠB DƠH0 DƠHMDD DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠHA DƠHB DƠH6 DƠH6A DƠH DƠH DƠH9 DƠH0 DƠH9 DƠH33 DƠH3 DƠH DƠDH DƠH0 DƠH DƠHA DƠH DƠH3 DƠH3A DƠH DƠH5 DƠH6 DƠH50 DƠH5 RDƠH5 DƠH53 DƠH5 DƠH55 DƠH56 DƠH5 DƠH5 DƠDYA DƠH60 DƠH6 DƠH6A DƠH6B DƠH63 DƠH6 DƠH65 DƠH65A DƠH66 DƠG? DƠH0 DƠH DƠHA DƠHB DƠH DƠH DƠHA DƠH3 DƠױ ASԠDƠ- BHDHDƠ+BGNHɠDMAH.AB DƠHDñ DƠHDò DƠHDòA DƠHD3 DƠHDô DƠHD6 HDHDƠ-NDHɠDMAH.AB BDHDƠ+BGNϠDMAH.AB DƠDñ DƠDò DƠD3 DƠDô DƠD5 DHDƠ-NDϠDMAH.AB SKP MSSAGŠANSANDSZS SMɠDƠSM SM̠DƠS MɠDƠM SMDƠS̱ SMADƠS̱A ASMDƠSM SMDƠS̲ SMADƠS̲A ASMDƠSM SM3DƠS3 SM3ADƠS3A ASM3DƠSM3 SMDƠS̴ SMADƠS̴A ASMDƠSM SM5DƠS5 SM5ADƠS5A ASM5DƠSM5 SM6DƠS6 SM6ADƠS6A ASM6DƠSM6 M̠DƠ MɷDƠM MDƠ̷ M30DƠ30 AM30DƠM30 M3DƠ3 AM3DƠM3 M3DƠ3 AM3DƠM3 M33DƠ33 AM33DƠM33 M3DƠ3 AM3DƠM3 M3ADƠ3A AM3ADƠM3A M3BDƠ3B M35DƠ35 AM35DƠM35 M36DƠ36 AM36DƠM36 M3DƠ3 AM3DƠM3 M0DƠ̴0 AM0DƠM0 MDƠ̴ DƠ̴A AMDƠM M50DƠ50 AM50DƠM50 M5DƠ5 AM5DƠM5 M53DƠ53 AM53DƠM53 AM53ADƠM53A M5DƠ5 M53ADƠ53A AM5DƠM5 M55DƠ55 AM55DƠM55 M56DƠ56 AM56DƠM56 M5DƠ5 AM5DƠM5 M6DƠ6 AM6DƠM6 M6DƠ6 AM6DƠM6 M63DƠ63 AM63DƠM63 M65DƠ65 AM65DƠM65 M6DƠ6 AM6DHBƠM6 M00DƠ̱00 AM00DƠM00 M0DƠ̱0 DƠ̱0A AM0DƠM0 M0DƠ̱0 DƠ̱0A AM0DƠM0 M03DƠ̱03 AM03DƠM03 M0DƠ̱0 AM0DƠM0 M05DƠ̱05 AM05DƠM05 DƠM05A M06DƠ̱06 AM06DƠM06 DƠM06A M0DƠ̱0 AM0DƠM0 DƠM0A M0DƠ̱0 AM0DƠM0 DƠM0A MDƠ̱ AMDƠM DƠMA M3DƠ̱3 AM3DƠM3 MDƠ̱ AMDƠM M5DƠ̱5 AM5DƠM5 M6DƠ̱6 AM6DƠM6 DƠM6A DƠM6B MDƠ̱ AMDƠM M0DƠ̱0 AM0DƠM0 MDƠ̱ AMDƠM MDƠ̱ AMDƠM M3DƠ̱3 AM3DƠM3 MDƠ̱ AMDƠM M5DƠ̱5 AM5DƠM5 M6DƠ̱6 AM6DƠM6 M30DƠ̱30 DƠ̱30A AM30DƠM30 DƠM30A DƠM30B DƠM30 M3DƠ̱3 AM3DƠM3 DƠM3A M3DƠ̱3 AM3DƠM3 M33DƠ̱33 DƠ̱33A AM33DƠM33 M3DƠ̱3 AM3DƠM3 M35DƠ̱35 AM35DƠM35 SKP SPA̠NSANS B0Ԡ BԱԠ BԲԠ B3Ԡ0 BԴԠ0 B5Ԡ0 B6Ԡ00 BԷԠ00 BԸԠ00 B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 A5DƠH5 AHP6DƠHP6 HP6UMNGNSANSҠHP6 Dà560MS5DSUNԠB-6 Dà530MS5DSUNԠB-6 Dà55MS5DSUN Dà56505MS5DSUN H5UMNGNSANSҠ5 Dà50MS5DSUNԠB-6 Dà0330MS5DSUNԠB-6 Dà5005MS5DSUN Dà050005MS5DSUN ɠDƠ+ Ԡ600 ADDSDƠNP+  SBSBұ ұDƠN ʱSB+ DƠʱ ʲSB+ DƠʲ 3SB+ DƠ3 ʴSB+ DƠʴ HԠԠ0600AP̠HA HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN SAԱԠ00000SAUS0000 SAԲԠ030000SAUS000 SA3Ԡ0300000 ױABS000000B+H ײABS00000B+NBU 3Dà-0 SBDMSBDMAN MPDMMPDMAK SKP GNA̠NSANS AKHSDƠKHPADD.ƠHKHSSAUS ANBƠDƠNBU APŠDƠP ASPBDƠSPB ASDBDƠSDB AMDDƠMD BɯɠDƠBɯ BNAɠDƠBNAM AɠDƠA ҠDƠGҠSAԠƠNGUAN SҠDƠN̠SAԠƠNAZAN SBԠDƠSBNDSBŠADD.ҠSAKҠU̠. PԠDƠPҠPԠADD.ҠSAKҠU̠. ԠDƠҠԠADD.ҠSAKҠU̠. SBԠDƠSBҠSBADD.ҠSAKҠU̠. SPBԠDƠSPBҠSPBADD.ҠSAKҠU̠. NϠASàN YSASàYS AS0ASà0 ASñASà AS3ASà3 D3Dà3 D6Dà6 DDà D50Dà50 D0Dà0 D99Dà99 MDDà- MDDà- MD3Dà-3 MDDà- MD6Dà-6 MDDà- N0UMD MD0Dà-0 NUMD0 MD0Dà-0 MD50Dà-50 N60Ԡ-60 N0Ԡ-0 MD9Dà-9 MD0Dà-0 MDDà- MUMD 3BԠԠ SPAŠԠ0 SASHԠ5 ZϠԠ60ASɠZ NԠ 6BԠԠ AS0SԠ30060ASɠZS ̱BԠԠ00 HBԠԠ0000 HBԠ0000 ̷BԠԠ H0BԠԠ00 DASHԠ55(- MDԠ3(MDD SKP VAABS ASàԠ0SԠ.ADD. AHBԠ0ADD.ƠH.AB ASàԠ0ASԠ.ADD. ANàԠ0ADD.ƠNԠUMN AD ԠԠ0ADD.ƠMŠUNԠBU ASBBԠ0PNҠҠNPUԠBU ADBUASBB ASDԠ0ADD.ƠMŠDAA ASDAԠ0ADD.ƠSD.DAA ASAԠԠ0AUA̠SAUS AMԠDƠHP6 BNDàSPA̠SԠBGN. BSAԠԠ0BԠSAUSDSD BSBԠ0N.ƠBADBS AԠԠ0 HSAԠ0H.SAUS MԠ00 ԠԠ0.UN HԠ0ADADҠH.N. DԠԠ0ADUN DMԠ00PKMŬGM DHԠ0 DMAHԠ0DMAHANN DMA̠Ԡ0DMAAG NDà GNBԠԠ0 SҠԠ0NNA̠SHGS NàԠ0(-.UN NҠԠ0N.Ơ.AD NDԠ0N.ADSAD PKԠԠ0A̠PKS PKMԠ0AV.PKM DԠԠ0 SؠԠ0 SBԠԠ0 SABҠԠ0SҠABԠBUҠADD. YSԠ0UNҠҠN.ƠPKS SPà3 AU0AG BUBG B00UB6 HU0BNA̠VAUŠƠSԠD ̠UB0 DUB0 DUBԱ DUBԲ HDHU6HGHDMAH. DHUנDMAH. J Z d 20899-80002 B S 0122 OPTICAL MARK READER TEST (12602B KIT)             H0101 d HDSUBUNS SNNPSNNANSASԠSԠSA MPSNɠADDSS SPà3 NNP MPN SPà3 DAYNPDAYSAנHUNDDMS A NASZA MP- MPDAY SPà3 S0NPHKBԠ SBSҠPKUPSHG. ANDBԷ SZAN? SZS0N MPS0ɠUN SPà3 S0NPHKBԠ SBSҠPKUPSHG. ANDBԸ SZAN? SZS0N MPS0ɠUN SPà3 S09NPHKBԠ9 SBSҠMSSAGS ANDB9 SZAMԠMSSAG? MPS09ɠN SBSױ MPS09 SZS09 MPS09 SPà3 Sױ0NPHKBԠ0ϠMԠPS SBSҠS ANDBԱ0 SZASSMԠS? SZSױ0YS MPSױ0ɠN SPà3 SױNPHKSנGBԠҠY SBSҠDAHNNA̠ҠԠSנG ANDBԱ SZASSYSUPPSSD? SZSױN MPSױɠUN SPà3 SױNPHKSנGBԠҠHAԠA SBSҠNDƠDAGNS ANDBԱ SZASSHA? SZSױN MPSױɠYS SPà3 Sױ3NPHKSנGBԠ3ҠY SBSҠASԠSԠ-DAHNNA ANDBԱ3ҠNA̠SנGANDHK SZABԠ3 MPSNɠYŠASԠS MPSױ3ɠNϠYŬUN+ SPà3 SױNPHKSנGBԠҠHA SBSҠNS ANDBԱ SZA SZSױNϠHAԠ-UN+ MPSױɠHAԠNSUN+ SPà3 Sױ5NPXvHKSנGBԠ5ҠHAԠA SBSҠNDƠS SSA Ԡ0000HA MPSױ5ɠUN SPà3 SҠNP A SASSNA̠SנGSD? DASҠN MPSҬɠYS SPà3 ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN ԱAPBAɠADDSSANDAB MPԲAUND NA PAҠNDƠAB? MPҬɠUN MPԱANNUŠSAH ԲAADAàNMAZŠNUMB SAS SBSױYSUPPSSD? MPNHYS DASؠN DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHU MPҬɠYSԠҠUN SPà3 SKNPYSKP Ơ0 DBSK ADBD3 SBSBSAVŠP+3 SBSױYMSSAGSNHBD? MPSBɠYS MPSKɠUN SBԠ0 SPà3 KNàNPHKNϠƠHA. DBASAVŠN.ƠHA DAANBƬɠPKUPHA.USԠAD PBDHA.NPU? MPNN PBDHA.ND? SSYS MPKNìɠϠMANYUN AƬAƠPUԠHA.NϠϠPS. AND̷BԠSAVŠS.HA ҠAS0HNUDŠADNGZ NNSZKNàNϠ MPKNìɠUN AS0HԠ030000 SPà3 K̠NPHKUMNS KNàU DAADBɠDAAAD ANḎBԠSPƠHɠBS PAASDAɠDAASD MPDAKDAAMAHD DAAM30+3 DBADB SBBNAɬɠNVԠB\ԠPAN(ANDSũ SBAɬɠAUAŠ.N. SBAM30+ɠSŠ.N. SBABKAB? SBSKSKPY? DAM30 DBAM30.S---- SBY.Ϭ DAAM3+ DBASDAɠPKUPSD.DAA SBBNAɬɠNVԠSD.DAA. SBSKSKPY? DAM3 DBAM3SHUDBŠ---- SBY.Ϭ DAKSZADBBUMPPNҠϠDAAAD SZASDABUMPPNҠϠDAASD SZAԠNSHD? MPKNàNϬHKNԠ. MPK̬ɠUN SPà3 BSԠNPBNAYS SAAԠSAVŠ.UN SBSKSKPY DAM3 DBAM3BNAYS SBY.Ϭ DAANBƠADD.ƠNPUԠBU SAADBPAKPN NBԠUNԠBN.S DBADBɠPKUPBԠPANAD DAAM30+3 SBBNAɬɠNVԠϠBNAYANDPAK SBAɬɠAUAŠ.N. SBAM30+ɠPAK.N. SBABKAB? SBSKSKPY? DAM30+ DBAM30+.S---- SBY.Ϭ SZADBBUMPPNҠϠNPUԠDAA SZAԠNSHD? MPNBԠN MPBSԬɠUN SKP DMANPADDMAH. DMAGNU SBBƠAҠNPUԠBU Ơ0UNNUPS A SADMA̠NAZŠDMAAG DASBDM HDñSAHDHPAKDMANUPԠ. DAMPDM HSAHPAKH.NUP. DAױ HDòAHDHSԠUPɯϠHHDMA DñàDHPPAŠϠVŠײ DAײ DòADHNAZŠNPUԠBUҠADD. D3SàDHPPAŠϠVŠ3 DA3 DôADHNAZŠBUҠUN(NGH H0SàHàSAԠNPUԠDV fHDòASàHDHàAVAŠDMAH. SƠ0UNNUPSN DBMD3UNҠҠDMAM-U DMAU SBDAY NBSZBM-U? MPDMAN Ơ0UNNUPS HDôàHDHUNƠDMA DBDMA̠DMAAG SZBDDDMAGԠNUP? MPNDMAN SBSKSKPY DAM33 DBAM33NϠҠNUPԠҠDMANUP SBY.Ϭ DMABҠU HAàHàUNƠAD MPSABҬɠAB SPà DMAKU Ơ0UNNUPS HD3àHDHàUNƠDMAH. HBàHàUNƠAD HàAH SSASSSADUԠƠGAŠNAY? MPG̠YS B HAHPKUPH.SAUS NBSZBSS MPGҠGSHUDBŠ0ׯDMA. SSASSAD-N-GA? H3SSHàAG? MPHN. G̠U A SSASSND--ADAHD? MPPKҠNϬPK MPDMAɠUN SPà NDMAU SBSKSKPY DAM33+ DBAM33NϠҠNUP SBY.Ϭ MPDMABҠAB SPà PKҠU SBAKHSɠHKSAKҠSAUS SBAPŬɠPNԠPK HAàH MPDMAGN GҠU SBSKSKPY? DAM3 DBAM3ND--AD SBY.Ϭ MPDMABҠAB SPà DMANNP HD6àHDH SZDMA MPDMAN SPà3 NKNPN.Ơ.K DADԠN.Ơ.YԠϠBŠAD(- NABAS DBDMAH SZBDMAUSD D5ADHPKUPDMAUN SZA ҠHB ADAD0AUAŠN..AD SANҠSAVŠ ADASV BԠN.Ơ.ϠBŠAD MPNKɠUN SPà3 PNƠNPPNԠNϠAG SBSKSKPY? DAM0NϠAG.ADYUNԠANDPSS DBAM0UN. SBY.Ϭ SBSױMԠҠHAS? Ԡ0300 SBABKAB? MPPNƬɠUN SPà3 BƠNPAҠNPUԠBU DBANB DAMD SADԠDUN A SABɠAҠNPUԠBU NB SZDԠNSHD? MP-3N. MPBƬ HDHKSAUSBS KSANPHKSAUS A SABSBNAZŠBADSAUSBSN. H55AHPKUPSAUS SAASAԠSAVŠAUA̠SAUS SBBSAԠSAVŠBSDSD SBKSBHKSAUSBԠ5 MPKK SAAM05+ɠPAKSAUS SBSKHKҠMSSAGŠNHB DAM05 DBAM05AD-N-GAŠSAUSSHUDB SBY.Ϭ SZBSBBUMPBADBԠUN SPà KSBKSBHKBԠ MPK3K SAAM06+ɠPAKSAUS SBSKHKҠMSSAGŠNHBD DAM06 DBAM06ND--ADSAUSSHUDBŠ SBY.Ϭ SZBSBBUMPBADBSUN SPà K3SBKSBHKBԠ3 MPKK SAAM0+ɠPAKSAUS SBSKHKҠMSSAGŠNHBD DAM0HPPүSAKҠSAUSSHUD DBAM0BŠ SBY.Ϭ SZBSBBUMPBADBSUN SPà KSBKSBHKBԠ MPKGK SBBSԠBԠSHUDBŠS SZBSBBUMPBADBSUN SPà KGDBBSAԠDSDBԠSAUS SSBAGSHUDBŠN? MPG?YS H56SàHSAGƂw? MPBADƱN. MPKNYS G?SàHSAGN? MPKNYS DAASñSHUDBŠN. SS BADƱDAAS0SHUDBŠ. SAAM+ɠPAKSAUS SBSKHKҠMSSAGŠNHBD DAM DBAMAGSAUSSHUDBŠ SBY.Ϭ SZBSBBUMPBADBԠUN SPà KNDABSBPKUPBADBSUN SZASSANYBADBS? MPKSAɠNMA̠UN SBABKAB? MPNɠPAԠS SPà3 KSBNPHKSAUSƠ3BS DAASAԠAUA̠SAUS DBBSAԠBԠSAUSDSD SSBSHUDBԠBŠN? MPBSYS SSASBԠ?(GD? MPBGD-BAD MPBGDGD BSSSASSSBԠN?(GD? SZKSBBAD BGDAGD BPUԠNԠBSNϠPSN SAASAԠSAVŠAUA SBBSAԠSAVŠDSD DAAS0ASɠZ SZDSDSAUSN? DAASñASɠN MPKSBɠUN SPà3 ABKNPABԠHK SBS ҠB6MPMNԠBԠ6 ANDGNB SZANNU? MPSABҬɠAB MPABKɠUN SPà3 BSԠNPBԠSAUSPNU SAAM0+ɠPAKSAUS SBSKHKҠMSSAGŠNHBD DAM0 DBAM0ADҠSAUSSHUDBŠ SBY.Ϭ MPBSԬɠUN SKP SDBԠUSANDADBԠPANSAB Ԡ Ԡ0000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ6 Ԡ5 Ԡ3 Ԡ6 Ԡ5 Ԡ3 Ԡ6 Ԡ5 Ԡ3 Ԡ6 Ԡ5 Ԡ3 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 P0 Ԡ0 SKP SPBԠUSPA̠BԠPANSAB Ԡ Ԡ0000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ000 Ԡ6 Ԡ5 Ԡ3 Ԡ6 Ԡ5 Ԡ3 Ԡ6 Ԡ5 Ԡ3 Ԡ6 Ԡ5 Ԡ3 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 Ԡ55 P0 Ԡ0 HDNGUANPGAM G000B GҠU à0àUNVYHNG A0 SZASS MP+3 Ԡ00 MP- DAM+ DBAMNGUANPGAM SBY.Ϭ DHDAM30 DBAM30USԠҠH.N. SBY.Ϭ DAD0 DBANBƠNPUԠPY SBY.K PADNYHA.ND? SSYS MPDHYAGAN DAANBƬɠPKUPHA. SBASBNNVԠϠBNAY MPDHҬYAGAN SAHSAVŠNVDHA. ADAN0 SSA..0A MPDHYSYAGAN ADAN0 SSASS.GԠA MPDHYSYAGAN SPà DBS SBAHBADD.ƠH.AB DAAS SAHBPAKNDƠABŠPN DAH SAGHNϠPAKH.N. SBPAKNPAKH.NS SPà DDMADAM3 DBAM3USԠDMAH. SBY.Ϭ DAD0 DBANBƠNPUԠPY SBY.K SBKNàHKN.ƠHA. MPDDMA.YAGAN SBASBNNVԠϠBNAY MPDDMAҬYAGAN SADMAHSAVŠDMAH.N. SZASSANYHNGND MPMPN.NϠDMAPSN PAD6H.6? MPPKDMAYSVAD PADH.? MPPKDMAYSVAD MPDDMAҬYAGAN PKDMAU DABHDH SAAHBPAKSAԠƠABŠPN DAHDH SAHBPAKNDƠABŠPN DADMAH SAGHNϠPAKH.N. SBPAKNPAKH.NS SPà DABDH SAAHBPAKSAԠƠABŠPN DADH SAHBPAKNDƠABŠPN DADMAH ADAMDAUAŠϠDMAH.N. SAGHN SBPAKNPAKH.NS SPà MPDAM3 DBAM3USԠMPUҠYP. SBY.Ϭ DAD0 DBANBƠ6MPU? SBY.K DBANBƬɠPKUPASɠHA.AD PAD33HA.ND? MPKYSYSHKҠ"YS" PADHA.ND SSYS MPMPYAGAN DAA5ADD.Ҡ5MNGAB PBNϠAS"N"ND? MPGYPYS MPMPҬYAGAN KYSPBYSAS"YS"ND? SSYS MPMPҬYAGAN DAAHP6ADD.Ҡ6MNGAB GYPSAAMԠSAVŠADD.ҠMNG SPà DAM33 DBAM33USԠSҠSNG SBY.Ϭ HԠ33B BPKUPS SBSҠSAVŠҠNNA̠S DAAM3ADD.ƠSҠMSSAG SBBNASNVԠϠ"BNAY"MSSAG DAM3B DBAM3PNԠSҠMAG SBY.Ϭ DASҠPKUPSҠUSԠND ANDB6 SZASPA̠BԠPANHK? SBDSPàADSPA̠UMNS SPà NDƠU DAANB NA SA3B DAM DBAMPNԠNGUANMP SBY.Ϭ HԠB MPN SKP DSPàNPADSPA̠UMNS ұDAM35 DBAM35USԠS.̠N. SBY.Ϭ DAD0 DBANBƠNPUԠPY SBY.K SBKNàHKN.ƠHA. MPұYAGAN SBASDàNVԠϠBNAYMASɠD MPұҬYAGAN SABNSAVŠSPA̠BGNNNG.N. SZASS.ZϠND? MPұYS ADAM SSASS.ND.G.0? MPұYS.YAGAN SPà ҲDAM36 DBAM36USԠND.N. SBY.Ϭ DAD0 DBANBƠNPUԠPY SBY.K SBKNàHKN.ƠHA. MPҲYAGAN SBASDàNVԠϠD. MPҲҬYAGAN SANSAVŠSPA̠ND.N. SZASS.ZϠND MPҲYS ADAM SSASS.ND.G.0? MPҲYS.YAGAN DANND.N. MA ADABNBGN.N. SSASSND..G.BGN? MPұNϬYAGAN SPà DAM3 DBAM3 SBY.ϬɠUSԠSPwA̠BԠPANS HԠ3B APKUPBԠPANSMS SAANBƬɠSAVŠS SSAMNAŠNPU? MPNDBԠYS AƠSHԠUNԠNϠPSN AND3BԠSPN.ƠBԠPA.ϠBŠAD SAԠSAVŠ.UN MANA SANà.UNԠND DAASPBADD.ƠSPA̠BԠAB ADABNSPA̠BGN.N. ADAMD SAASàPAKSԠ.ADD. SAAN DAASPBADD.ƠSPA̠BԠAB ADANSPA̠ND.N. ADAMD SAASàPAKASԠ.ADD DB SZBBԠPANҠVY.? MP+N MAAUAŠN.ƠUMNS ADAASàϠBŠND. SAN DAAM3ADD.ƠDSNANBU DBANBƬɠPKUPBԠPAN SBBNASNVԠBSϠ'SANDDASHS DAM3 DBAM3PNԠBԠPAN(HɠBS SBY.Ϭ USŠSAMŠBԠPANҠMANYUMNS M̠DAANàADD.ƠNԠVAD. MANA ADAASàADD.ƠASԠVAD. SSANDƠVADUMNS? MPMBԠYSGԠNנBԠPAN DAANBƬɠPKUPBԠPAN ANḎBԠSAVŠNYBԠPAN SAANìɠPUԠԠNNԠAUAD. DAԠ.UN SZASSDNԠBԠPA.NVY? MPMBԠYSPKUPNԠBԠPA. ADAANàADD.ƠASԠ.USD SAANàADD.ƠNԠ.ϠBŠUSD MPM̠NNU SPà MBԠDAM3A DBAM3APNԠPVUSYSD-B SBY.ϬɠB-PAN SZNàNSHDHN.Ơ.? SSN MPNDBԠNSHD SZASàBUMPPNҠϠSԠ. DAAS SAANàPAKNԠ.ϠBŠUSD HԠ3B BPKUPNנBԠPAN SBANBƬɠSAVŠ SSBMNAŠNPU? MPNDBԠYS DAAM3 SBBNASNVԠBSϠ'SANDDASHS MPM NDBԠU DAM0 DBAM0PNԠBԠNYMPŠMSS. SBY.Ϭ MPDSPìɠUN SKP PAKNNPPAKH.N. NDDBAHBɠPKUPPNҠϠDŠϠBŠH DABɠPKUPDŠϠBŠHANGD ANDH0BԠSPDH.N. ҠGHNϠPAKNנH.N. SABɠSAVŠ PBHBɠNDƠAB? MPPAKNɠYSUN SZAHBBUMPPNҠϠAB MPNDNNU GHNϠԠ0GNA̠H.N. HBԠ0NDH.ABŠBU. SKP ASBNNPASɠϠBNAY SASAVASSAVŠHA ANDB0SSPHɠBSƠAHHA PAB060SA̠NUMBS? SSYS MPASBNɠNϬ.UN DASAVASPKUPHA. ANDB003SSPA̠VAUS SASAVASSAVŠHMMPAY AƬAƠSHԠHɠHA.NϠϠPSN AƬASSHԠNDHAҠ3PAS ҠSAVASMBNŠԠHSԠHA. AND6BԠSPA̠BUԠHAҠNϠ6BS SZASBNNϠҠUN MPASBNɠUN SAVASԠ0 B003SԠ0030 B060SԠ030060 B0SԠ00 SKP BNASNPBNAY(BSϠAS SAABNMSAVŠDSNANBU DAMD6PASSS BN3SABNDNDؠ BNDAMDHAүD SABNDNDؠ A BNAƬAƠPUԠHA.NϠMSԠPSN ҠDASHPUԠDASHNMPAY SSBASBԠS? ҠMDYSHANGŠDASHϠ"" BHFBSHԠNԠBԠNϠPSN SZBNDNSHDHNDHA? MPBNN SAABNMɠPAKHA.NϠBU SZABNMBUMPPNҠϠBU SZBNDNSHDH6BS? MPBNNϬDϠNԠBS MPBNASɠUN ABNMԠ0ADD.ƠBNAYMSSAG BNDԠ0BNAYASɠNDؠ BNDԠ0BNAYASɠNDؠ SPà3 BNAMNPBNAYϠASɠMDD SAABNMSAVŠDS.BU DABNAMUNADD.. SABNASŠSŠ BƠGNŠHɠBS DAMD6 MPBN3 SKP ASDàNPASɠϠD SADNSAVŠDàN. AƬAƠSHԠHɠHAҠϠϠPSN SBKDàHKVADYƠSԠHA. DBDN+PKUPVADDàN. DADNPKUPBHNS.AGAN SBKDàHKVADYƠNDHA DABPPAŠϠMUԠSԠHAҠBY0 AƬAҠMUԠBY B̠MUԠBY ADABSUԠSMUPDBY0 ADADN+NUDŠNDHA. SZASDàNϠҠUN MPASDìɠUN SPà KDàNPHKDàANG AND̷BԠSPϠHA ADAN60MPSSBŠDàHA. SADN+SAVŠҠA SSAHA..ASɠ0 MPASDìɠYS ADANHKUPPҠM SSASSHAҠ.G.ASɠ9 MPASDìɠYS MPKDìɠUN DNԠ00 YH [l 20899-80003 B S 0122 OPTICAL MARK READER TEST (12602B KIT)             H0101 e HDNAZANPGAM N̠à0àUNVYHNG A0 SZASS MP+3 Ԡ00 MP- DBDAP̠AN DAHԠAP̠HA SAB NB NA PBB00AP̠HASMP SSYS MP-5NϬPA SBS09MԠSAԠMSSAG? MPؠYS DA DB SBY.ϬɠUPUԠҬ DASM DBSM SBY.ϬɠSAԠDAGNS HDMANNŠPGAM ؠU NŠSBSҠA̠Bɯ? ANDBԱ(SH SZA MPϠN SBBɯɬɠUŠBɯ SPà3 ϠSBS ANDBԲ(SH SZA MPHŠN SBSBŠSAUSBԠS SPà3 HŠSBS ANDB3(SH3 SZA MPUҠN SBPԠPKSԠMNG SPà3 UҠSBS ANDBԴ(SH SZA MPVŠN SBԠADNGHMNGS SPà3 VŠSBS ANDB5(SH5 SZA MPSؠN SBSBԠSANDADBԠS SPà3 SؠSBS ANDB6(SH6 SZASS MPNDN SBSPBԠSPA̠BԠS SPà3 NDU SBS09MԠSPMSSAG? MPA DAM̠NDMSSAGŠNGH DBMɠNDMSSAGŠBUҠ SBY.Ϭɠ̠PAҠSԠSNSHD AԠUA? SBSױPAԠSԠAU? HԠB MPN HDSAUSBԠSŠS SBŠNPSAUSBԠS SBSNNAZŠSAԠƠSԠS. SBS09PNԠSAԠMSG.? MPAN. DASMA DBASYM SBY.Ϭ AU DABԲ SAGNBԠPAKABԠB DAASBAABԠADD.ҠHSUN SASABҠPAKHKҠABԠBU SBNNAZŠUNҠS A HAAHUNN-NŠGHԠN. DAM50UNPҠNPUSHSPPA DBAM50GHԠNHPPҠANDPUSHUN. SBY.ϬɠN-NŠGHԠSHUDBŠN: HԠ50B H0àHàUNƠDV DADBԠ HAHUNN-NŠGHԠ DAM5N-NŠGHԠSHUDBŠ. DBAM5 SBY.Ϭ BA̠SAUSBSSHUDBŠ0 SBKSASP SBNNAZŠUNҠS DAM53MVŠGHԠMHPP DBAM53ANDPUSHUN. SBY.Ϭ HԠ53B DBSAԱ SBKSASP SBNNAZŠSԠUN ABԠ0 HAHUNN-NŠGHԠN DAM5 DBAM5N-NŠGHԠSHUDBŠN. SBY.Ϭ DBSAԱ SBKSASP3 SBNNAZŠSԠUN DAM55 DBAM55PUSHADYHNPUSHUN SBY.Ϭ DAM5 DBAM5DSNDSHUDNGAG SBY.Ϭ HԠ5B DBSAԲ SBKSASP DAASMPKUPADD.ƠSPA̠ҠMS SANPAKSԠUN MPSBŴ ASMDƠ+ DAM6 DBAM6DVŠMMANDSԠDDN'ԠK SBY.Ϭ SBŴU H3SàHà"NA"AD SBDAY SBDAY DBSA3HKҠSAUSADY SBKSASP5 SBNNAZŠSԠUN H3AƠH DAM56 DBAM56PUSHSPHNPUSHUN SBY.Ϭ HԠ56B DBSAԱ SB>KSASP6 SBNNAZŠUN DADBԠ HAHUNƠN-NŠGH DAM5 DBAM5N-NŠGHԠSHUDBŠ. SBY.Ϭ DBSAԱ SBKSASP SBNNAZŠSԠUN DAM55 DBAM55PUSHADYHNPUSHUN. SBY.Ϭ HԠ55B DBSAԱ SBKSASP DAASMADD.ƠSPA̠ҠMSS. SANPAKSԠUN MPSBű ASMDƠ+ DAM6 DBAM6DVŠMMANDDDN'ԠK. SBY.Ϭɠ(Sԩ SBűU H5àHàSԠDVŠMMAND SBDAY SBDAY DBSAԱ SBKSASP9 A H6AH DAM5 DBAM5N-NŠGHԠSHUDBŠN SBY.Ϭ SBN DBSAԲ SBKSASP0 SBN DAM63PAŠGHԠNHPP.ADY DBAM63GHԠSHUDGϠU.MV SBY.ϬɠGHԠHNPSSUN. HԠ63B DBSAԱ SBKSASP SBN DAM55 DBAM55PSSADYHNPSSUN. SBY.Ϭ HԠ55B DBSAԲ SBKSASP SBN DAM65ASŠSAKҠVҠUN̠ADY DBAM65GHԠGSU.ҠԬHN SBY.ϬɠPSSUN HԠ65B DBSAԱ SBKSASP3 SBN DAM6PAŠADSNHPPҬPSS DBAM6ADYHNPSSUN SBY.Ϭ HԠ6B DBSAԲ SBKSASP SBN DAASBAADD.ƠAB SASABҠSHABԠBU DABԲ SAGNBԠPAKABԠB DASBԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. 5SBADàADAAD MPSBNDNDƠS ASBADƠ+ DAM0SBŠAND. DBAM0 SBY.Ϭ MPND SBNDU SBS09PNԠMSSAG? MPND DASM DBASM SBY.ϬɠPNԠMSG NDU SBSױ5SPAԠNDƠS? SBSױ3PAԠS? MPSBŬɠUN HDADAAD ADàNPADAAD YAGU NDDBANB SBADBPAKDAABUҠPN DAAMD SAADԠPAKMŠBUҠPN SBBƠAҠNPUԠBU DAMD SADԠPAKN.Ơ.ϠBŠAD H50SàHàNAŠAD N̠U A H5SàHHASAGMŠNY? MPDYSHKƠԠSA. NASZABUMPDAYUN MP-3NNUŠHKNGҠAG H5AHPKUPSAUSPUSDAA SAHSASAVŠ DYU H5àHàUNUNԠ DAHSAPKUPH.SAUS SSAAD-N-GA? MPNGYS A SSAND--AD? MPNGYS PKҠUPK SBKHPHKSAKҠSAUS SBAPŬɠPNԠPK MPYAG SPà NGU DAHSA ANDBԱHKSAUSB SZASSSAUSK? MPH53 SBPNƠPNԠNϠAG MPYAGN SPà H53àHàUNƠUN SBDUNADYADҠANDPSSUN MPNDNԠADY SPà DU SAADԬɠSAVŠMŠUN A SAADB H5àHàUNƠUN H5AHPKUPH.SAUS SSASSAD-N-GA? MPKàN.HKҠND--AD SAADBɠSAVŠDAAҠHS. SZADԠ)BUMPPNҠϠMŠDAA SZADBBUMPPNҠϠDAABU SZDԠNSHDHUMNS? MPN̠N. SBSKSKPY? DAM03 DBAM03ϠMANYUMNS. SBY.Ϭ MPSABҬɠAB SPà KàA SSAND--AD? MPADìɠUN.NSHD MPPKҠPK SPà3 DUNNPADYADҠANDPSSUN SBSKSKPY? DAM00PASŠADYHŠADҠAND DBAM00PSSUN SBY.Ϭ SBSױMԠҠHAS? Ԡ03000 SBABKAB? MPDUNɠUN HDPKMŠS PԠNPPKMŠS SBSNSԠSԠPAԠADD. SBS09PNԠSAԠMSG.? MPHAN. DASM3A DBASM3 SBY.Ϭ HAU DAB3 SAGNBԠPAKABԠB DAPAB SASABҠPAKABԠADD. DAPԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠDVŠADY DAAMDADD.ƠMŠDAABU SAADԠPAKPN DAMD50MA.N.ADSϠAD SBNSUSԠUPUNADDSSϠ+ DAMD3MA.N.PKS SBDDԠADAAD MPPKMDPAKMŠDAA SBSKSKPY? DAM DBAM3PKSҠAD SBY.Ϭ SBHKPŠHKƠANYPKS SBDUNHAԠϠADUSԠADS MPHAYAGAN PKMDU DADMPKM SAADԬɠSAVŠԠNBU SZADԠBUMPPNҠϠBU SBNKNSHDADNGA̠ADS? PҠU DAAMDADD.ƠMŠDAA SAADԠPAKPN DAD50 SBDNDA.N.ƠADSAD MANAMAKŠԠ(- SAPKM(-ADUN SANDN.ADSAD A ANPԠADAADԬɠADDNNԠVAU SZADԠBUMPPNҠϠBU SSAϠBG MPGMA.PNԠMA.MŠDD SZPKMNSHD? MPANPԠADDNԠPKM DBASAPAANDB A- NA ADBNDDVDŠϠNDAVAG SSBSS MP-3 SAPKMSAVŠAVAGŠVAU DBAMԠADD.ƠMŠABŠNSANS MA ADABɠHKҠSSHAN SSA MPòBGUNԠϠBG SBSKSKPY DAM3 DBAM3AV.PKMŠSSHANMN.MS SBY.Ϭ MPKPҠHKPKS òBGU NBBASϠNԠMŠNSAN DAPKMPKUPAV.PKM MANA ADABɠPPAŠϠHKҠG.HAN SSASSϠBG? MPKPҠNϬHKPKS GMA.U SBSKSKPY DAM DBAMAV.PKMŠGҠHANMA.MS SBY.Ϭ KPҠU SBHKPŠHKƠANYPKSPN MPPNHMANDMNAŠS. PABDƠ+ SBSKSKPY? DAM0 DBAM0PԠAND SBY.Ϭ MPND3 PNU SBS09PNԠMSSAG? MPND3 DASM3 DBASM3 SBY.ϬɠPNԠMSG ND3U SBSױ5HAԠAԠNDƠS? SBSױ3PAԠS?(HUSN MPPԬɠUN SKP KDYNPHKƠADY DADYA SANPAKҠADD. MPDYA- DYADƠ+ SBDUNADYADҠANDPSSUN SBDAY DYAàHàUNƠD A H~)60AHUNN-NŠGHԠN SBDAY DBSAԲ SBKSAHKSAUS MPKDYɠUN SPà3 AϠNPA..N. DAAԠ(-.UN ADAD0MAؠUMNS NA+ SBDASNVԠϠAS MPAϬɠUN SPà3 DASNPDàϠASɠNVSN DBSASHA̠5 ADAMD0 NB SSASSNSHDHDG MP-3N PBZϠSUPSSADNGZS DBSPAŠA̠0 BƬBƠPUԠSԠHAҠNϠHɠPSN. ADBNA̠ ADBANUDŠGHԠDàHA. MPDASɠUN SPà3 HKPŠNPHKN.PKS DAPKԠA̠PKS SZASSANYPKS? MPHKPŬɠUN DBPKԠA̠N.ƠPKS MBNB ADBD99 SSBGAҠHAN99 DAD99YSMA.ANNYBŠ99 SBDASNVԠMDàϠAS SBAM6+ɠSAVŠN.ƠPKS DAD50 SBNDA.N.ƠADSAD SBDASNVԠϠAS SBAM6+ɠSAVŠN.ƠADSAD SBSKSKPY DAM6N.PKS DBAM6N.ADSAD SBY.Ϭ MPHKPŬɠUN SPà3 NSUNPUNSUP SADԠPAKADUN A SAPKԠNAZŠPKUN MPNSUɠUN SPà3 NKNPUNHK SBABK SZDԠNSHDׯN.ADS? SSN MPNKɠUN SBKHPHPPҠMPYSAKҠU? MPNSUɠNϬPA KHPNPHKHSANDGNA̠SAUS H6AHPKUPUNԠ.BS AƬAGN.SAUSNŻHSNSB qSAHSSAUSK? MPSSBYS SBSKYSKP? DAM35 DBAM35HPPҠMPYSAKҠU SBY.Ϭ H6BàHàUNƠAD MPNKɠUN SPà SSBU SZGN.SAUSK? MPKHPɠYS DAASñASɠ SBBSԠBԠSHUDBŠS MPSABҬɠAB SPà3 DDԠNPADADMNG SAYSSAVŠN.PKS DDBNAZŠUN H6ASàHàNAŠAD DDU H63AHPKUPSAUSBS SSAAD-N-GAŠY? MPGYS H6SàHAGNBŠG? MPNGYS NBSZBMŠU? MPDDN SBPNƠPNԠNϠAG MPDDYAGAN NGU APUԠG(éBԠNPA SSASSGN? MPPKŠNϬPK SBSKSKPY? DAMG0ANDG DBAMHNAG SBY.Ϭ SBABKAB? MPDDPA PKŠU SBKHPHKSAKҠSAUS SZPKԠA̠PKS SZYSMA.PKSDD? MPDDN SZDDԠPNԠϠP+ MPNUN SPà GU BSBS BSBSSHԠMŠϠPPҠB-PN BSBS SBDMSAVŠPKMŠAԠ(-B-PN BNAZŠMŠUN DD3U H65AHPKUPSAUSBS NPMNG SSASSGNSHD? MPG0YS NBSZBMŠU? MPDD3N BPUԠNMA.UN G0U SBDM+SAVŠADM B H65AAHPKUPSAUSBS APUԠGNϠMSB SSASSG? MP+3N NBSZBMŠU MPH65AN NU H66àHàUNƠAD MPDDԬɠUN SPà3 NDNPA.N.ƠADSAD ADADԠAUAŠN.ADSAD SZASS NAPUԠNUNԠƠN MPNDɠUN HDADNGHMNGS ԠNPADNGHMNGS SBSNNAZŠSԠUN SBS09PNԠSAԠMSG.? MPUAN. DASMA DBASM SBY.Ϭ UAU DABԴ SAGNBԠPAKABԠB DAAB SASABҠPAKABԠADD. DAԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠDVŠADY DAMD0 SBNSU DAGU APKҠAD SBDDԠADADMNG MPDKADADK SBAPŬɠPNԠPK MPDAG DKU DADM+ SSAϠBG? MPGMAؠYS DBAMԠADD.ƠMŠNSANS ADBDBAS MANA ADABɠAUAŠVADUN SSAϠSMA MPGMNN MNU SBSKSKPY? DAM3 DBAM3AD"NGH"..MNMS SBY.Ϭ MPN GMNDADM+PKUPADMNG NBBUMPPNҠϠMŠAB MANA ADABɠAUAŠUN SSASSVAD? MPNYS GMAؠU SBSKSKPY? DAM DBAMAD"NGH".G.MAؠMS SBY.Ϭ MPN ABDƠ+ SBSKSKPY DAM DBAMԠAND SBY.Ϭ MPND DNU SBNK ҠU SBS09PNԠMSSAG? MPND DASM DBASM SBY.ϬɠPNԠMSG NDU SBSױ5HAԠAԠNDƠS? SBSױ3PAԠS?(VASN MPԬɠUN HDSANDADBԠS SBԠNPSANDADBԠS SBSNPAKPAԠSԠADD. SBS09PNԠSAԠMSG.? MPVAN. DASM5A DBASM5 SBY.Ϭ VAU DAB5 SAGNBԠABԠSH DASBAB SASABҠPAKABԠADD. DASBԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠADY DAMD0N.ADSϠAD SBNSUSԠUPUN DADMAH SZASSUSŠDMA? MP+3N SBDMAADADׯDMA MPDN SBADàADADׯϠDMA DNU NPSPA DAANB SAADBPAKNPUԠPN DAASDB SAASDAPAKSD.DAAPN DAMD0 SAA SASBԠPAK.UN SBNKHKN.Ơ. SSASSN.Ơ.K? MPSBԱYS SBPM5Ϡנ.AD MPSBN SBԱU SBS0HKSH MPSBԲHK. SB3DAMD0N..ϠHK SBBSԠPMBNAYS MPSBNNSHD SBԲSBK̠HKUMNS SBS0BNAYS? MPSBNNϬNSHD MPSB3YS SBABDƠ+ABԠADD. SBSK DAM5 DBAM5SBԠAND SBY.Ϭ MPND5 SBNU SBNKHKƠNSHD SBҠU SBS09PNԠMSSAG? MPND5 DASM5 DGB@BD3AҠPGADDAGS MPADSɠUN DDGDADBGHKƠDBUGϠBŠADD SZASS MPGN DAؠHKƠAADYADD SZA MPGYS SZؠNҠDBUGADDAG SBMP SBNSԠSAHҠDBUGNS Dɱ0SBS H DASԱ PAHD SS MPDɱ0YNԠS DASԲ PAHD+ SS MPDɱ0YNԠS DAS3 ANDM SAB DAHD+ ANDM PAB SSDBUGUND MPDɱ0YNԠNY DBMP DASԴ ҠMSGN SABɠSԠDNԠADDSSNPSԠAB NDA̬ŬAAҠSGN(PGϠBŠADD SADNԠSԠDNԠADDҠҠD SABUƠSAVŠUNԠDNԠADDSS SBUAPSAVŠUNԠPSԠADDSS SBDؠSԠDNԠADDSSS HԠ0BNNSNԠD DBUAPGԠUNԠPSԠADDSS DAD3ɠGԠPGAMUSAGŠAG SANASKP-PGNԠYԠADD MPPSԠSԠҠNDƠPS SAD3ɠSԠPGUSAGŠAGADD DABUƠGԠUNԠDNԠADDSS SABɠSԠNYNPGS MPADNADNԠPGAM DNҠASSSԠNԠAG DҠASԠԠAG SANGSAVŠNԯԠAG DABGԠNSNԯ ANDM3 MANA SANԠSԠSYMB̠UN SBDBSԠGԠADDҠƠNԠDNBU SBDBSԠGԠADDҠƠNԠDNBU NSYMDAUA̬ SABUƠSAVŠNAMŠ SBDBS DAUA̬ SABU+SAVŠNAMŠ3 SBDBS DAUA̬ SABU+SAVŠNAMŠ5 SBDBS SBNSԠNAZŠS pt NرSBSؠSԠSԠADDSSS MPر DABU PASԱɠNAMŠUA? SSYS MPNرN-YNԠSԠNY DABU+ PASԲɠNAMŠ3UA? SSYS MPNرN-YNԠSԠNY DABU+ ANDM PAS3ɠNAMŠ5UA? SSYS MPNرN-YNԠSԠNY رDANG SZASSSKPƠN MPԱGϠϠPSS DBP̠GԠUNԠPGàBAS ADBUA̬ɠADDUNԠàVAU SBPNDSAVŠABSNԠPԠADDSS DAS5ɠGԠBPNKADDSS SZASSSKP-BPNKADDҠS SBBPSNSԠBPNKADDҬBPNK SAS5ɠSԠBPNKADDҠNS SBSPSԠPANDNBASŠPAG DASԠHKSԠNYAG SZASԠNY MPNNԠDϠNԠSԠNY SBSԠAҠMMYMAPBU DABAS SAMS+ DASԱ SAMS+SԠNAMŠNMMYMAP DASԲ SAMS+3SԠNAMŠ3NMMYMAP DAS3 ANDM ҠBANK SAMS+SԠNAMŠ5NMMYMAP DAPNDGԠABSUŠNYPԠADDSS DBAMM5 SBNVDNVԠϠAS DA.6 DBAMS SBDKYPNԠNYPN NNԠSBDBSԠGԠADDҠƠNԠDNBU MPNDGϠPSSNԠSYMB ԱDABU+GԠDNA SAS3ɠSԠDNA̠NS DAS5ɠGԠBPNKADDSS SZASSSKP-BPNKADDSSS SBAàAAŠNנBPAN SAS5ɠSԠNנBPNKADDSS DASԴɠGԠDNԠADDSS SZASSSKP-ԠDND MPNDGNŠUNDNDPGAMA SADNԠSԠDADDҠҠDH DADGԠUNԠDNԠADD SABUƠSAVŠUNԠDNԠADDSS SBD MPND DAD6ɠGԠMSYP SABU+ DAD3ɠGԠPGAMUSAGŠAG SABU+ DABUƠGԠUNԠDNԠADDSS SADN SBD MPND DABU+GԠMSYPŠҠ A̬ŬASԠŽMS ANDMSAŠYP PA.6 MPBUԠBAY-SԠҠADNG PA. MPBU SZSKP-NԠMANPGAM MPNDGNŠPGAMA BUԠDAN6 SAPNԠSԠPGAMSԠUN DBPADGԠPGAMSԠADDSS PԠDABɠGԠPGSԠNY SZASSSKPƠDNԠADDSS MPSԠMAKŠNYNPGS A̬ŬAAҠSGN PASԴɠPGPVUSYAD? MPNDYS-GNŠԠSYMB NBNҠPGSԠADD SZPNԠNDƠPGS? MPPԠN-GϠGԠNԠPGAM MPNDSԠҠA̠ԠPSSD SԠDABU+GԠPGAMUSAGŠAG SASKP-PGAMNԠADD MPNDMԠPGAMSԠNY DASԴɠGԠADPGDNԠADD ҠMSGNSԠSGNϠSHנNԠADD SABɠSԠNPGAMS NDSZNԠSKP-A̠SYMBSPSSD MPNSYMN-PSSNԠSYMB MPSàN-ASSYNԠD DDBҠDAB ANDM MANA SANԠSԠNSUNUN SBDBS SBDBS DBUA̬ɠGԠANADDSS SBDBADSAVŠANADDSS SZPGSKP-SԠDB̠D MPDB0GNŠSUBSUNԠDS DAD6ɠGԠYP ANDM PA.5 SSSԠNנMMYBUNDҠSGMN BSԠPGMAD0 2 HABSSSBBSSDPSAVŠNA̠PGDSPAMN ADBADADDANADDSS SBADSԠNנANADDSS SBBASŠSAVŠUNԠBASŠPGAMADDSS DB0SBDBS DḆDBUA̬ɠGԠANBYS SBKYSAVŠҠANYP DAN5 SANSNSԠANBYŠUN SBDBS DB̲DAKYGԠANBYS AƬA SAKYSAVŠҠNԠNSԠD AND.SAŠUNԠBY PA.NA̠N? MPDB̴YS-GԠNKADDSS PA.5MMYN? MPDB6YS-HKҠNDԠNK ADABAD DAAɠGԠANBAS ADAUA̬ɠADDUNԠNSUND DB3DBDBADUNԠANBAS ADBP̠ADDUNԠPGANBAS SBABDϠUPUԠABSUŠD SBDBS SZNԠSKP-ASԠNSUNU SSN-NNU MPSàYS-ASSYNԠD SZDBADNҠDB̠ANADDSS SZNSNSKPƠNנANBY MPDB̲PSSNԠNSUN MPDḆGԠNԠANBY DB̴DAUA̬ɠGԠUNԠDB̠D ANDM3 SADSAŠANDSAVŠDNA SBNSԠNAZŠS DB5SBSؠSԠSԠADDSSS MPDB3DNA̠NԠUND DAS3ɠGԠD3ƠSԠNY ANDM3 PADSAMŠDNA? SSYS MPDB5N-NNUŠSAH DBS5ɠGԠBPNKADDSS DAUA̬ɠGԠUNԠDB̠D ANDM0SAŠNSUND ҠMSGNSԠND ҠBSԠADDSSBPNKADDSS MPDB3UPUԠNSUN DB6DAUA̬ɠGԠUNԠDB̠D SANSҠSAVŠNSUND SBDBSԠG\NLHԠADDҠƠNԠDNBU DANSҠGԠNSUND DBP̠GԠUNԠPGàADD AҬSAA̠SKPƠPGAMN DBMADPAŠPGHMMNBAS ADBUA̬ɠADDUNԠNSҠADDSS ANDM0 SSASKPƠDԠN ADBMSGNSԠNDԠB SANSҠSAVŠNSUND DAP ADADBAD ANDM060SAŠPAGŠ SAPAGNϠSAVŠUNԠPAGŠ DABGԠNSUNADDSS ANDM060SAŠPAGŠ PAPAGNϠSAMŠPAG? MPDB̷YS-NϠNDԠADDSSNDD SBPNDSAVŠNSUNADDSS SBBPSNSANBASŠPAGŠҠSAMŠPAND SBSPSԠPANDNBPAN ҠMSGNSԠNDԠB DBNSҠGԠNSUND ҠBADDPANDϠNSUN MPDB3UPUԠNSUN DB̷DABGԠPANDADDSS ANDϱ ҠM000SԠZý(UNԩ ҠNSҠADDNSUND MPDB3UPUԠNSUND UN _q 20925-80003 C S 0122 DOS RELOCATING LOADER             H0101 J HDDSàPANGSYSMANGAD DBUGHKSƠUNԠPGAMADDASDBUG. HŠPMAYNYPNԠƠDBUGSSԠNϠPNԬANDH ADDSSƠDBUGSSԠϠBŠND. HŠPGAMPMAYNYPNԠSSԠNϠDBU DBUGNP DAZBUƠHK PAHDŠ-DBUG-PGAM SS MPDBUGɠN-UN DAZBU+ PAHD+ SS MPDBUGɠN-UN DAZBU+ PAHD+ SS MPDBUGɠN-UN SBNS DSANSBSؠND-DBUG-NYNSԠ HԠ0B-DBUG-PGAM DASԱ PAHD SS MPDSAN DASԲ PAHD+ SS MPDSAN DAS3 ANDM PAHD+ SS MPDSAN SZDBUG DASԴɠGԠNԠҠDBUG SSA HԠ0 DBS5ɠGԠBPNKADDҠƠ-DBUG- ADBBP ADBBPBU SBMPSAVŠBASŠPAGŠNKADDSS DBB DAPN SBABD DAMP ҠMSGN SAMP DAUA̬ ADAP SAPN MPDBUG NSԠSSHŠADDSSƠHŠSԠNYNSԠNS ANGSUN SBNS NSԠNP DABS SAS MPNSԬ SؠSSHŠUNԠSԠADDҠNϠSԠ-5 ANGSUN SBS UN (P+ƠAԠNDƠS (P+ƠNԠAԠNDƠS SؠNP DASԠHKƠAԠNDƠADҠSYMB PAPSԠABŠS SS SZSؠYSSϠNҠϠDNŠ SASԱSԠADҠSYMB̠ABŠADDSS NA SASԲ NA SAS3 NA SASԴ NA SAS5 NA SAS MANAHKƠDNԠANDSԠABS ADAPDNԠVAP SSASS MPSجɠUN VҠDA05UPUԠ05MSSAG SB MPABԠMNAŠAD ABԠDA.6UPU:ADҠMNADMSSAG DBMSAB SBSYU MDANԠHKƠAԠBGN.ƠDY PAN6S SSYS MP0N-SϠGϠUPUԠASԠS DAASD SZASSHKƠANYPGAMSADD MP0DN DBABU SBDSK B SBNجɠHANGŠDϠNDAŠNDƠDY DAASD MP0 0DAPGNԠHKƠANYPGAMSADD SZASS MPZ A SBUD DADSKD 0DBABU SBDSKϠUPUԠASԠDYBU DAPGNԠHKƠANYPGAMSADD SZASS MPZ DADSKADUPDAŠUSҠŠԯSBUNDAY DBDNԠNBSSŠPAG SB DƠ+ DƠN9 DASYSBƠADNSYSMBUҠS ANDM DBADBU SBDSK DANSUPDAŠNSNSYSBUƠS SADBU DASYSB ANDM DBADBUƠŠUԠSYSBUҠS SBDSK ZSBàUSԠPGAMMPN DƠ+ DƠ.6 MSABDƠ+ ASàADҠMNAD NؠNP ASDNP NDؠSSHŠADDSSƠHŠSԠNYNHŠPGAM DNԠABŠASHŠUNԠADDSS. ANGSUN SBND NDؠNP DABDN SADN MPNDج DؠSSHŠADDSSSƠHŠUNԠ6DNYNH DNԠABŠMHŠADDSSƠHŠUNԠNY ANGSUNŠ: SBD UN: (DP+ƠAԠNDƠDNԠAB (P+ƠNԠAԠNDƠDNԠAB DؠNP DADN PAPDN SS SZD SAD NA SAD NA SAD3 NA SAD NA SAD5 NA SAD6 NA SAD DADN DBDN MANA ADAPS SSASS MP+ ADBN SBDN MPDج DADNGHKPGAMADNGAG SZA MP+ DAұ SB MPAB AADNGSϠUNϠP+ ADADؠҠPGAMPSSNG MPA SYUԠPNSMSSAGŠNSYSMYP.HSŠNUDŠA ҠDAGNSSANDPAҠANMSSAGS. A̠SUN: DA IS THE EQUIPMENT * CODE ASSIGNED TO THIS TYPE OF DEVICE. I.00 IS * THE ENTRY POINT FOR THE *INITIATION* SECTION AND * C.00 FOR THE *COMPLETION* SECTION. * * - THE INITIATION SECTION IS CALLED FROM I/O * CONTROL TO INITIALIZE A DEVICE AND INITIATE * A DATA TRANSFER OR CONTROL FUNCTION. * * CALLING SEQUENCE: * * - ADDRESSES OF DEVICE EQT ENTRY * SET IN "EQT1-EQT17" - * * (A) = I/O ADDRESS OF DEVICE * * (P) JSB I.00 * (P+1) - RETURN - * * (A) = 0, OPERATION INITIATED, OR * (A) = REJECT CODE: * * 2, ILLEGAL CONTROL REQUEST, * OR CONTROL FUNCTION HAS * BEEN DONE (E.G., SET EOT * STATUS). * * * - THE COMPLETION SECTION IS CALLED BY CENTRAL * INTERRUPT CONTROL TO CONTINUE OR COMPLETE * AN OPERATION. * * CALLING SEQUENCE: * * - ADDRESSES OF DEVICE EQT ENTRY * SET IN "EQT1-EQT17" - * * (A) = I/O ADDRESS OF DEVICE * * (P) JSB C.00 * (P+1) -- COMPLETION RETURN -- * (P+2) -- CONTINUATION RETURN -- * * - COMPLETION RETURN: * (A) = 0, SUCCESSFUL COMPLETION WITH * (B) = # WORDS OR CHARS. TRANSFERRED * (A) = 2 IF SIMULATED EOT ENCOUNTERED, * (B) = 0 * * - CONTINUATION RETURN: REGISTERS * MEANINGLESS. * * * - RECORD FORMATS: * * ASCII (INPUT): A STRING OF CHARACTERS TERMIN- r* ----- ATED BY A LINE-FEED. IF THE * REQUESTED LENGTH IS FULFILLED * BEFORE A LINE FEED, THE RE- * MAINING CHARACTERS ARE IGNORED * UNTIL A LINE-FEED IS INPUT. * THE 8-LEVEL BIT (BIT 07) IS * SET = 0 FOR 7-BIT ASCII CODE. * * SPECIAL CHARACTER PROCESSING: * * RETURN - ALWAYS IGNORED AND IS NOT * TRANSMITTED TO USER BUFFER * LINE-FEED - IGNORED IF INPUT BEFORE * THE FIRST VALID CHARACTER * OF A RECORD; RECORD TERMINATOR * AT THE END OF A RECORD AND IS * NOT TRANSMITTED TO BUFFER OR * COUNTED. * CONTROL/A - DELETES PREVIOUS CHARACTER * RUB-OUT - DELETES CURRENT RECORD; * AFTER LINE-FEED IS INPUT, * NEXT RECORD IS READ. * * ASCII (OUTPUT): A STRING OF CHARACTERS, THE * ----- NUMBER DESIGNATED BY THE * "BUFFER LENGTH" IN THE REQUEST, * TERMINATED BY A RETURN AND * LINE-FEED (SUPPLIED BY THE * DRIVER). * * SPECIAL CHARACTER PROCESSING: * * LEFT-ARROW: IF A LEFT-ARROW IS THE * LAST CHARACTER IN THE USER * BUFFER, THE RETURN/LINE-FEED * AND ARROW CODES ARE NOT OUTPUT. * * A ZERO BUFFER LENGTH CAUSES ONLY A * RETURN/LINE-FEED TO BE OUTPUT. * * * BINARY (INPUT): A STRING OF CHARACTERS * ------ SPECIFIED BY THE BUFFER * "LENGTH" IN THE REQUEST. * * "V-FORMAT": IF THE "V" FIELD * IN THE CONTROL WORD OF THE * REQUEST = 1, THE LENGTH OF * THE RECORD IS DESIGNATED (IN * WORDS) BY THE FIRST CHARACTER G* OF THE RECORD. THE WORD COUNT * INCLUDES THE FIRST WORD. IF * THE WORD COUNT IS LARGER THAN * THE BUFFER LENGTH, THE BUFFER * LENGTH IS USED. * * * "ABSOLUTE FORMAT" : IF BIT 10 * IN THE CONTROL WORD = 1, AND * THE B AND V BITS ARE SET, THE * TAPE IS READ AS ABSOLUTE BINARY * - THE WORD COUNT ON THE TAPE * IS INCREMENTED BY 3 TO INCLUDE * THE ENTIRE RECORD. * * * BINARY (OUTPUT): A STRING OF CHARACTERS * ------ SPECIFIED BY THE BUFFER * "LENGTH" IN THE REQUEST. * * * - SIMULATED END-OF-TAPE: IF 30 FEED-FRAMES * ---------- --- -- ---- (ZEROS) ARE INPUT * BEFORE THE FIRST CHAR- * ACTER OF A RECORD, AN * EOT INDICATION IS * SET IN THE STATUS FIELD * (BIT 05 OF WORD 5) OF * THE EQT ENTRY AND THE * INPUT TERMINATED. IF * THE EOT BIT IS SET * WHEN THE CONDITION IS * ENCOUNTERED, THE EOT * IS IGNORED AND CHARS * ARE INPUT UNTIL A * RECORD IS STARTED (I.E, * LEADER IS AUTOMATICALLY * SKIPPED AFTER EOT). * * * - CONTROL FUNCTIONS ACCEPTED: * * 10 - TEN INCHES OF ZEROS (FEED-FRAMES) ARE * OUTPUT FOR LEADER/TRAILER. * * 11 - LINE SPACING: THE PARAMETER WORD OF THE * REQUEST DETERMINES THE NUMBER OF * LINE-FEEDS TO BE OUTPUT. * * 07 - THE EOT STATUS BIT IS SET TO ALLOW * "LEADER" TO BE SKIPPED ON THE NEXT * INPUT REQUEST. * * 00 - CLEAR REQUEST - EXECUTES SAME AS 07 * * * - SYSTEM TELETYPE PROCESSING: THE SYSTEM * TELETYPE IS ALWAYS LEFT IN THE * "INPUT STATE" WITH CONTROL SET/ * FLAG CLEARED TO LEAVE THE KEYBOARD * ACTIVE. IF A KEY IS STRUCK WITH * NO INPUT IN EFFECT, THE FLAG * "OPATN" IN BASE PAGE IS SET NON- * ZERO. IF A KEY IS STRUCK DURING * AN OUTPUT OPERATION TO THE SYSTEM * TTY, THE FLAG IS SET. * * * HED < DRIVER 00 *INITIATION* SECTION > * ********* INITIATION SECTION ********** * * I.00 NOP * JSB SETIO SET I/O INSTRUCTIONS FOR UNIT. * CCA,CCE SET COMPLETION SECTION ADA I.00 TO EXIT VIA STA C.00 INITIATION ENTRY * LDA EQT9,I GET CONTROL WORD OF REQUEST, AND ..+3 ISOLATE AND STA B SAVE REQUEST CODE. XOR EQT9,I ALF POSITION CONTROL ALF,RAL BITS FOR MODE, ETC. * * CONSTRUCT DEVICE PROGRAM CODE ACCORDING TO REQUEST * * RBR,SLB,RBL READ REQUEST? JMP D01 -NO * ADB DATAI SET BIT 14 FOR DATA IN RAR,SLA IF KEYBOARD MODE (K-BIT ON), ADB PRINT TURN ON PRINTER JMP D02 * D01 ADB PUNCH SLB JMP CONTL - CONTROL REQUEST - * SSA,RSS IF ASCII MODE, TURN ON PRINTER ADB PUNCH (PUNCH + PUNCH = PRINT) * D02 JSB BFSET * * SELECT DEVICE OPERATING CONDITIONS - DEVICE * NEEDS TO BE SELECTED ONLY ONCE FOR EACH * OPERATION. * D03 LDA B GET COMMAND WORD FOR THE BOARD AND MASK4 MASK OUT DATA BITS IOR BIT15 SET BIT 15 FOR CONTROL IO2 OTA 0 RBR,SLB IS IT READ JMP D20 -NO, GO EXECUTE CONTINUATOR * JSB EQT9X SET BIT 15 IN EQT9,I JMP CXT1 GO STC,C AND EXIT BIT15 OCT 100000 SKP * * * CONTROL REQUEST PROCESSING * CONTL RAL POSITION & ISOLATE FUNCTION AND MASK1 CPA .10B FIELD = <10> TO GENERATE JMP D05 LEADER (10 INCHES OF BLANK TAPE) CPA .11B FIELD = <11> FOR LINE JMP D06 SPACING * ISZ C.00 ADJUST RETURN SZA CLEAR REQUEST? JMP NOCLR NO. LDA ..+4 JMP D29 NOCLR CPA ..+7 SIMULATED EOT? JMP D28 GO SET EOT STATUS * LDA ..+2 SET ILLEGAL CNTRL REQ. JMP I.00,I * * LEADER/TRAILER GENERATOR * D05 LDA N100 SET INDEX COUNTER FOR FEED FRAMES STA EQT12,I = -100. PRINT OCT 020000 EQUIVALENT TO JMP D07 FEED FRAME. * * LINE SPACING * D06 LDA EQT10,I GET LINE COUNTER WORD. SSA,RSS INSURE VALUE CMA,INA IS NEGATIVE. SZA,RSS PROTECT AGAINST CCA A ZERO VALUE. STA EQT12,I SET INDEX. ADB PUNCH = PRINT LDA LINF (A) = LINE FEED CODE D07 STA EQT13,I SET ACTION CODE, JMP D03 RETURN TO START OUTPUT,(B)00 = 0 * * HED < MISCELLANEOUS SUBROUTINES > * * INITIALIZE FLAGS, EOT COUNTER, CURRENT * BUFFER ADDRESS AND LENGTH. * BFSET NOP LDA EQT10,I CONVERT BFR ADR TO EVEN CHAR ADR DATAI OCT 040000 ( EQUIVALENT TO ) STA EQT12,I SET CURRENT BFR. POINTER LDA EQT11,I GET BUFFER LENGTH. CMA,SSA,INA POSITIVE WORD COUNT REQUESTED? ALS,SLA -YES, CONVERT TO NEG. CHARS. CMA,INA -NO, RESET TO NEG. CHARS. SLB,RSS SKIP ZERO CHECK JMP *+3 IF WRITE. SZA,RSS IF CHAR, COUNT = ZERO, SET = -1 CCA FOR SYSTEM PROTECTION. STA EQT13,I SET CURRENT BUFFER LENGTH. * LDA EOTC FOR INPUT, SET EOT COUNTER STA EQT14,I WRITE. JMP BFSET,I * * * SUBROUTINE: * * PURPOSE: TO CONFIGURE THE I/O INSTRUCTIONS * IN THE DRIVER TO REFERENCE THE * SUBJECT TELETYPE. * * CALL: (A)05-00 CONTAINS I/O ADDRESS * (P) JSB SETIO * (P+1) -RETURN- (B) = EQT4,I * SETIO NOP IOR CLC COMBINE WITH I/O ADDRESS CPA IO5 ALREADY CONFIGURED? JMP SETIO,I -YES, EXIT STA IO5 * XOR B5200 CONSTRUCT INSTRUCTION STA IO3 * ADA .100B CONSTRUCT INSTRUCTION. STA IO2 STA IO6 STA IO9 * ADA .1100 CONSTRUCT INSTRUCTION STA IO4 STA IO7 * JMP SETIO,I HED < DRIVER 00 *COMPLETION* SECTION > * ********* COMPLETION SECTION ********** * * C.00 NOP * JSB SETIO SET I/O INSTRUCTIONS FOR UNIT. * LDB EQT4,I SSB,RSS JSB STEST CHECK IF SYSTEM TELETYPE JMP IO3 * ISZ OPATN OPERATOR ATTENTION FLAG JMP CXTZ * IO3 LIA 0 INPUT CHARACTER * D20 LDB EQT9,I GET REQUEST CONTROL WORD RBL BLF,BLF TO 0, TO 15 STB EQT6,I CLE,ELB ALSO PUT MODE IN E BLF,RBL SLB,RBL IF BIT 1 = 1, JMP D31 WRITE OR CONTROL REQUEST. * * INTERRUPT INPUT SECTION * SEZ,RSS ASCII MODE? AND MASK1 -YES, REMOVE 8-BIT * RBL,SLB IF VALID DATA RECEIVED, PROCESS. SZA IF NON-ZERO CHARACTER, JMP D21 PROCESS. * * CHECK FOR POSSIBLE EOT CONDITION * ISZ EQT14,I INDEX EOT COUNTER. JMP CXT1 -INDEX NOT ZERO, EXIT. LDA EQT4,I COUNT EXHAUSTED. IF LAST VALID AND .40 OPERATION CAUSED EOT, SZA THEN IGNORE LEADER UNTIL JMP CXT1 NON-ZERO DATA RECEIVED. CLB,CCE SET B = 0, E = 1 FOR EOT AND GO JMP D28 TO STATUS COMPLETION SECTION. * * PROCESS INPUT CHARACTER * D21 SEZ,CCE IF BINARY MODE, GO TO JMP D22 CHECK FOR VARIABLE FORMAT. * * ASCII INPUT PROCESSING * CPA MASK1 JMP D24 - RUBOUT - CPA RETN JMP CXT1 - RETURN - CPA LINF JMP D26 - LINE FEED - CPA ..+3 CHAR. JMP D26 SSB IF DRIVER IS WAITING FOR LINE JMP CXT1 FEED, EXIT. CPA ..+1 CCA,RSS -CONTROL/A JMP D23 VALID CHARACTER, STORE. * * * CONTROL/A PROCESSOR (CHARACTER DELETION) * JSB D2526 * ADB ..-1 SUBTRACT 1 FROM CURRENT STB EQT12,I BUFFER CHARACTER ADDRESS ADA EQT13,I SUBTRACT 1 FROM STA EQT13,I CHARACTER INDEX. JMP CXT1 - EXIT -. * * BINARY INPUT PROCESSING * D22 SLB CHECK IF FIRST CHAR. INPUT * * VARIABLE LENGTH CHECK AND PROCESSING * LDB EQT6,I CONTINUE IF SLB,RSS INPUT RECORD IS JMP D23 NOT VARIABLE LENGTH * LDB EQT9,I BLF,RBL SSB VARIABLE ABSOLUTE BINARY? ADA ..+3 -YES, BUMP RECORD LENGTH * STA B SAVE RECORD LENGTH (WORDS). BLS CONVERT TO # OF CHARS., ADB EQT13,I SUBTRACT REQUESTED LENGTH. SSB,RSS USE REQUESTED LENGTH IF SMALLER JMP D23 TO AVOID DESTROYING USER. STA B SET RECORD WORD COUNT ALS CONVERT COUNT TO CMA,INA A NEGATIVE CHARACTER COUNT STA EQT13,I AND SET IN EQT ENTRY. LDA EQT11,I GET REQUEST LENGTH CLE,ELA PUT SIGN BIT IN E LDA B RECORD LENGTH IN A SEZ SKIP-IF WORDS LDB EQT13,I SET NEG CHARS AS RECORD LENGTH STB EQT11,I AND RESTORE * * STORE CHARACTER IN USER BUFFER * D23 LDB EQT12,I GET CURRENT BUFFER ADDRESS. CLE,ERB CONVERT TO WORD ADDR., CHARACTER ISZ EQT12,I POSITION IN E, INDEX ADDRESS. SEZ,RSS SHIFT TO UPPER POSITION IF ALF,ALF + EVEN ADDRESS. STA STEST -SAVE CHAR.- LDA MASK2 POSITION SEZ,CLE CHARACTER MASK (377) ALF,ALF TO PROPER POSITION AND B,I GET OPPOSITE CHAR. FROM BUFFER, IOR STEST INSERT NEW AND STA B,I REPLACE FULL WORD. * JSB EQT9X CLEAR BIT 14,15 IN EQT9 ISZ EQT13,I ADD 1 TO CHARACTER INDEX. JMP CXT1 -RECORD CONTINUED. * * CHARACTER COUNT EXHAUSTED * LDA EQT6,I IF BINARY MODE, SSA GO TO TERMINATE JMP D27 OPERATION. CXT0 LDA EQT9,I SET L-FEED FLAG BACK TO 1 TO IOR DATAI FORCE A LINE-FEED TO TERMINATE STA EQT9,I AN ASCII RECORD. * * CONTINUATION EXIT * IO4 STC 0 SET DEVICE TO INPUT NEXT CHAR. CXT1 EQU IO4 * CXTZ ISZ C.00 SET FOR (P+2) RETURN CLA SET A = 0 FOR INITIATOR JMP C.00,I -RETURN TO INTERRUPT CONTROL - * * * RUB-OUT CODE PROCESSOR (DELETION OF ASCII RECORD) * D24 CLB,INB JSB BFSET JMP CXT0 * * D2526 NOP LDB EQT10,I B5200 OCT 5200 CPB EQT12,I CURRENT BFR ADR = ORIGINAL? JMP CXT1 -YES, EXIT LDB EQT12,I JMP D2526,I * * * LINE-FEED PROCESSOR (RECORD TERMINATOR) * D26 JSB EQT9X SET BIT 15 IN EQT9 JSB D2526 CLE,ERB IF ODD # OF LDA B,I CHARACTERS AND MASK4 INPUT,SET IOR .40 LOWER CHARACTER SEZ OF LAST WORD STA B,I = TO BLANK (SPACE). * * STATUS AND TRANSMISSION COMPLETION SECTION * D27 LDA EQT13,I GET CHARACTER INDEX (NEG. OR 0) LDB EQT11,I AND ORIGINAL BUFFER LENGTH. INA SSB,RSS .1100 OCT 1100 SSB CMB ADB A CLE D28 LDA EQT4,I IF SIMULATED AND MASK4 EOT CONDITION SEZ DETECTED IOR .40 SET EOT BIT IN WORD 5. STA EQT4,I CLA,SEZ,CCE IF EOT DETECTED, SET LDA ..+2 RETURN STATUS = 2 FOR EOT. D29 STA EQT9X FOR RETURN TO I/O COMPLETION * * COMPLETION EXIT SECTION * IO5 CLC 0,C CLEAR DEVICE CONTROL JSB STEST DEVICE SYSTEM CONSOLE? JMP EZOUT P+1 = NOT SYS CONSOLE * ERA,ARS FORM CONSOLE CONTROL WORD IO6 OTA 0 OUTPUT IT IO7 STC 0,C EZOUT LDA EQT9X JMP C.00,I EXIT TO INTERRUPT CONTROL. * * * EQT9X NOP LDB EQT9,I BLR,ERB STB EQT9,I JMP EQT9X,I HED < OUTPUT COMPLETION SECTION > * * INTERRUPT OUTPUT SECTION * * D31 SSA,RSS CPA MASK2 IF = 377 (I.E, NO KEY STRUCK DUR- JMP D32 ING LAST OUTPUT), CONTINUE. * * JSB STEST RSS * * OPERATOR DESIRES SYSTEM ATTENTION AT SYSTEM TTY. * STA OPATN SET OP-ATTN FLAG NON-ZERO. * * WRITE RECORD REQUEST * D32 CLA IF CURRENT BUFFER ADDRESS CPA EQT12,I = ZERO, THEN JMP D27 OPERATION COMPLETED * SLB JMP D40 - CONTROL FUNCTION - * CPA EQT13,I IF CURRENT CHARACTER INDEX = JMP D33 0, THEN OUTPUT END OF RECORD. LDB EQT12,I GET CURRENT CHAR. BUFFER ADDRESS. ISZ EQT12,I INDEX FOR NEXT CHAR. CLE,ERB CONVERT TO WORD ADDR. LDA B,I GER WORD AND SEZ,RSS POSITION PROPER ALF,ALF CHARACTER IN A(07-00). AND MASK2 REMOVE UPPER POSITION DATA. * LDB EQT6,I PUT MODE IN B(15) ISZ EQT13,I INDEX CHARACTER COUNTER. JMP IO9 -NOT LAST CHARACTER- * SSB IF BINARY MODE, JMP IO9 WRITE LAST CHARACTER. * CPA ARROW IF CHAR = <_>, THEN OMIT IT JMP D27 AND CR/LF ON ASCII RECORD * * OUTPUT CHARACTER TO PRINTER/PUNCH UNIT * IO9 OTA 0 OUTPUT CHAR. TO INTERFACE BUFFER. * JMP CXT1 RETURN TO INTERRUPT CONTROL. SKP * * END-OF-RECORD PROCESSING * >D33 LDA EQT6,I CHECK MODE SSA OF TRANSFER. JMP D27 -BINARY, GO COMPLETE * LDA RETN OUTPUT FIRST A CPA EQT14,I RETURN AND THEN LDA LINF A LINE-FEED STA EQT14,I SET FOR LINE-FEED CHECK * CLB CPA LINF LAST CHARACTER? STB EQT12,I -YES, SET BFR ADRS = 0 JMP IO9 * * CONTROL FUNCTION OUTPUT * D40 LDA EQT13,I (A) = LINE-FEED OR FEED FRAME ISZ EQT12,I INDEX OUTPUT COUNT FOR LEADER/ .40 OCT 40 JMP IO9 GO TO OUTPUT CHARACTER. * * * CONVERT LOGICAL UNIT TO EQT VALUE * STEST NOP CCA ADA LUTAB,I STA SETIO ALF ADA SETIO ADA EQTAB CPA EQT1 EQT1 = SYSTEM TTY? ISZ STEST -YES, EXIT (P+2) * JMP STEST,I THEN RETURN * HED CONSTANT STORAGE AND BASE PAGE * CLC CLC 0,C * PUNCH OCT 010000 BIT 12 * RETN OCT 15 < RETURN > ARROW OCT 137 < LEFT ARROW > * EOTC DEC -30 $ EOT COUNTER - 3 INCHES $ N100 DEC -100 * * A EQU 0 DEFINE SYMBOLIC REFERENCE FOR B EQU 1 A AND B REGISTERS. * * * *** SYSTEM BASE PAGE COMMUNICATION AREA *** * .. EQU 53B .10B EQU ..+8 .11B EQU ..+9 LINF EQU ..+10 OCT 12 .100B EQU ..+12 MASK1 EQU ..+16 OCT 177 MASK2 EQU ..+17 OCT 377 MASK4 EQU ..+18 OCT 177400 . EQU 100B ESTABLISH ORIGIN OF AREA * * * I/O MODULE/DRIVER COMMUNICATION * EQT1 EQU .+67 EQT4 EQU .+70 EQT5 EQU .+71 EQT6 EQU .+72 EQT9 EQU .+75 EQT10 EQU .+76 EQT11 EQU .+77 EQT12 EQU .+78 EQT13 EQU .+79 EQT14 EQU .+80 * * * SYSTEM MODULE COMMUNICATION FLAGS * * EQTAB EQU .+15 ADDRESS OF START OF EQPMT TABLE LUTAB EQU .+17 ADDRESS OF START OF L.U. TABLE OPATN EQU .+112 OPERATOR/KEYBOARD ATTENTION FLAG * * END TB@<PAUN MPSANҬ PABUKƠADAҠSGN MPNSɠGϠϠMNANUN MPMNDHSŬNNUŠSANNNG. SANMMN. MSNSBHA PAASMɠSANҠSMN. MPSAN MPMSN HDDUN HŠDUNŠSHŠHAԠƠHŠAG̠SAN- N.SUNNSϠPKUPHŠNԠSYMB̠ NHŠNPUԠSNG.HSMAYBŠANDNҬ SVDDNUMBҬҠSPA̠HAA. DNPNYPN DABA̱NAZANSN. SA DAMSԠASԠSYMB̠ϠA BZS.MPAYVAABS SBԬɠUSDNDAŠUVAND SZԠϠHŠASԠSYMB̠AB. NASZA MP-3 ASԠANUN SANԠϠ-36. NDSBDBNKGԠSԠNNBANKHA. PAAMPҠƠANAMPSAND(GϠ MPNNŠANנNŠϠBŠAD SBDPAK SBҠSԠA? MPDNԠYS--GϠϠDNҠSN. PAASSƠHŠHAAҠSA MPMUSM<Ҡ:GϠϠMUSM PAAGҠHKHHҠHŠUŠSYMB̠S MPMUSM<Ҡ:. PAAN MPMUSM PAAUԠƠAUŬGϠϠPSSAN MPASSMASɠNSAN. PAAAԠƠANAԠSYMB̠(GϠϠP- MP0SSANA̠NSAN. PAAPNƠADMA̠PNԬGϠϠP- MPԲSSA̠NUMB. PAAPSԠƠANAPSPHŬGϠϠP- MP3SSA̠NUMB. SBDGԠƠADGԬGϠϠPSSA MPԱҠNGҠNUMB. ƠNNŠƠ@HSŬKSYMB̠UPNSYMB̠AB DSBKA̠KUPUN BA̱DƠDAB+9 MP+UMPƠNԠNAB DB.NϠSAVŠNϠADDSS SBDAB+ MPDɠUN DAYUPƠNԠNABŬ'SUNDND DBDUNHSYMB. MP- NNAŠANנNPUԠNŠHNAN SANԠAMPSANDSHŠSԠSANNDHA MPND DNҠPSSNGSN. DBDSBDPAKNNUŠBUDNGHŠDN DNԠSBHAҠGԠNԠHAA. SBҠƠԠSAҠҠA MPDBDDGԬGϠϠNNU SBDGԠBUDNGHŠDN. MPDBD DSZPKDƠNԬBAKUPVҠHAԠHA- SBKAҠANDA̠KUP DƠDAB+9 SSUNDNDD MPD+3 DADUND MP5+ SNϠHKҠAMUPŠHAAҠSYMB. MUSMSBDBNKGԠNԠNNBANKHAA. PAAU̠Ơ'SANUA̠SGNPAKH MP+3UA̠SGNNHH SZPKDPVUSHAA.ƠNԬ MPDBAKUPH SBDPAKHAAҠSANN MPD SNϠNVԠASɠNSANS. ASSMSBHAҠGԠSԠHAAҠƠNSAN. SADNUM+SԠNϠNUMB. SBHAҠGԠSNDHAA. PAAUԠSԠAU? MPASñYS--GϠHKҠNDƠNS. ASòAƬAƠPAKNϠNUMBҠHSԠHA ҠDNUM+ AƬA SADNUM+ SBHAҠMAKŠSUŠNԠHAAҠSA PAAUԠUŠMAK. MP5K--GϠNSHUP. ҠNUMBҠ--MŠHANHAASNANASɠNSAN. SB.AGA̠ DàPN. AMPԠϠVҠBYSANNNGҠAUŠMAK. bSBHA PAAU MP5 MP-3 ANSҠϠHSPNԠҠHŠMBNAN"". ASñSBHAҠPKAԠNԠHAA. SZPKD PAAUԠSԠANHҠUŠ? MPASòYS--AԠUŠASAS. NDƠNGҠPSSNG 5DADNɠSԠYPŠASNGҠNSAN. SADAB+ DA0 SBSA MPD A̠NVSNSN 0SBHAҠGԠSԠA̠DG. SBDGHK. MP00.K. Ҡ--NԠDBYANA̠DG SB.AGPNԠ DàMSSAG 0SZPKDSԠPKD. MP5GϠϠHKSGN. 00DBDNUM+PAKNנDGԠNH BƬBҠPVUSA̠SU. AND.+MVŠASɠBS Ҡ SADNUM+ DASԠҠVנBYMAKNG AND.+SUŠHAԠHŠAS SZASS3BSƠHŠADBG. MP0AŠA̠0 ҠNUMBҠ3--A̠NSANԠ. SBHA SBDG MP- SB.AGPNԠҠMSSAGŠ3 Dà3 MP0 0SBHAҠNNUŠSANNNG. SBDGƠHAAҠSANHҠA MP00DGԬGϠϠBUDNUMB. MP0HSŬNDƠA̠NUMB. NDƠA̠PSSNG. ԱSZNԠADVANŠUNҠƠDGSBYND DBPDMA̠PN. SZBHKҠVנPVUSY MPԱ0YSGNŠUNԠDG. AND.+BMASKUԠASɠBSANDSAV. SAԠSAVŠNMPAY. MPUŠ0MSPVUSSU. DADNUMADPVUSSU. DBDNUM+ ŬBSHԠԠϠBSPDUNG AAMUPANBYU. ŬB A ; SZSSVנƠŠƠA5S SSA MPԱNUMBҠVD. ADADNUMADDNHŠDUB ADBDNUM+NGHNUMBҠϠPDUŠA SZNԠMUPAN ŬNABYV. ŬBSHԠAGANϠMAKŠ AAMUPANBY0 SZSSVנƠŠƠA5S SSA MPԱV. ADBԠNנADDNHŠNנDG SZϠPDUŠHŠNA ŬNASU. SSAHKNŠMŠҠV. MPԱV SADNUM SBDNUM+ MPԱ ԱSZMDSSԠV--SԠMDŠA. Ա0SZPADVANŠUNԠƠGNDDGS. ԱSBHAҠGԠNԠHAA. SBDGԠSԠADG? MPԱYS--PϠNUMBҠBUD. PAAPNSHAAҠADMA̠PN? MPԱ3YS--GϠPSS. PAAPSԠSԠANAPSPHŠ('? MPԱYS. MPԱ5N--NDƠNUMB. PSSDMA̠PN Ա3DANԠHKҠPVUSDMA̠PN SSAҠƠNԾ0. MPԱ6 Ҡ--DMA̠PNSNNUMB. SB.AGPNԠҠMSSAG. Dà MPԱGϠPҠNԠHAA. ԲSBHAҠMŠHŠHNSԠHAA SZPKDSAPN. SBDGԠƠADGԠSԠSA SSNUMB. MPDHSŠHŠPNԠSSAD. Ա6ASԠANA̠DGSϠ0. SAN SZMDSSԠMDŠϠA. MPԱ PSSPNNԠPAԠƠNUMB. 3SZDNUM+HN'SSԠHAҬMAGN. ԱSZMDSSԠMDŠϠA SBHAҠGԠNԠHAA. PAAPUSSԠAPUS? MPԱ',YS--GNŠ. PAAMNUSԠAMNUS? MPԱYS--GϠϠSԠPNNԠSGN. PSSPNNԠMAGNUD. Ա9SBDGԠHKҠSԠHAAҠADG. MP50 ҠNUMBҠ5--'NԠDBYANNG. SB.AG Dà5 MPԱ5 ԱSZPSNSԠPNNԠSGN. ԱSBHA MPԱ9 50DBVA̠MUPYPVUSPNN BSBSMAGNUDŠBY0. ADBVA BS AND.+BMASKUԠASɠBSNNנDG ADAANDADDϠVAU. SAVA SBHAҠGԠNԠHAA. SBDG MP50PƠ'SADG. MPUŠNA̠VAUŠƠNUMB. Ա5SZPKD DAMDSSԠҠMDSA SZASKPƠNG. MP5 DADNUMSԠҠNUMBҠ36 SZA MP5ԠSGA. DBDNUM+ SSBSSSנPAԠϠBG? MP5N. 5DAVA̠SԠPNNԠϠ DBPSNSGN. SZB MANA ADAP DBNԠGԠNԠMPMNԠ. MBSSBNBƠԠASPSVŬADD ADANϠPVA. SAVA HSNA̠SNMPUSHŠVAUŠƠAANGPNԠNUMB. HŠMANSSAPAԠƠHŠNUMBҠSNDNUMDNUM+ASANN- G.HŠDMA̠PNNԠSNVA. 60DA.+3NAZŠBNAYPNNԠϠ3 SAP DADNUMHKҠMANSSA DBDNUM+UA̠Z. SZASSGϠϠ5 SZBNUMBҽ0. MP5 5DADNҠSԠYPŠϠSAYA̠NSAN. MP5+ 5SBNM̠NMAZŠNUMB. DAVA̠HKPNNԠҠZ. SZAA̠DNŠƠPNNԠSZ. MP53 NנPAKHŠSUԠ SPà DBDNUMGԠHGHPAԠƠMANԠNB DADNUM+ANDנPAԠNA ADA.+00BPMUNDNG. SZ ŬNB ANDHMSKMASKBSNנPA SA+ANDSAV SSBSSƠSGNƠBSSԬ MP+3 BҠAŠDNANDS ANASSPNNԠϠNŠM. A ADAPADDNHŠPN A̠PSNPNNԠ AND.3BS Ҡ+ADDNנDҠBS SBDNUMSŠPAKDSUԠBAK SADNUM+ MP5GϠϠUN 53SSASԠSGNƠPNN MP55NGAVŠPNN--GϠϠDV0 PSVŠPNN ADA.- SAVA DAPMUPYBYBYNASNG ADA.+3PBY3. SAP DADNUMGԠMANSSAANDSHԠϠG DBDNUM+. ŬA B ŬA B ADBDNUM+DUBŠADDPDUNG.5 SZDNUM. NA ADADNUMNŠHAԠMANSSAMAYHAV MP5VD. NGAVŠPNN 55NANASŠNGAVŠDMA SAVA̠PNN DAPSUBAԠ3MBNAYPNN. ADA.-3 SAP DADNUM+MUPYנPAԠƠMANSSABY DBNH0. SBMPY ŠADDHGHPAԠƠSUԠϠ ADB0PAԠҠHŠSSPDU. SZ NA SADNUM+ DADNUMNנMUPYHGHMANSSAH DBNHSAMŠAY. SBMPY ADB0 ADBDNUM+ADDNPVUS SZSU. NA MP5 DNUMUDAB+0 PUDNUM+ VA̠UP+ MDSUVA+ PSNUMDS+ NԠU;PSN+ SPà DBNKSANSҠHŠNԠNNBANKHAAҠ DBNKNPNY SBHA PAABAN MP- MPDBNK DGԠSSAHAAҠҠADG DGԠNP SBN Ԡ60 MPDGԬ SZDGԠSKPUNƠNԠDG. MPDGԬ DPAKPAKSHŠHAAҠNAHHŠDN SϠA. DPAKNP SA DADAB+9G AƬAƠHAA AND.3UN PA.+5Ơ5HAASAADY MPDPKUN DBDAB+9ADVANŠHAAҠUN ADBP00B SBDAB+9 NAMPUŠANƠD ŬANϠHHϠPAK. ADABA̱ DB0 SZSSPSN BƬBƠAND ADBԠPAK SZSS BƬB SB0 DPKDA MPDPAK ҠSSHŠHAAҠNAҠBNGAҠ ҠNP SBN Ԡ03 MPҬ SZҠSKPƠNԠA MPҬ MPYMUPSHŠ6BԠNUMBSNABAND MPUSA3BԠSUԬHGHPAԠNA. MPYNP SAԠSAVŠMUPAND DAM6DSԠUNҠ SA+-6 AAҠNA̠PDU ŬSBSԠMUPҠB ADAԠADDNMUPANDƠBԠS ANGSH BGH SZ+SԠUN MP-5P MPMPYɠUN DGSSAHAAҠҠANA̠DG DGNP SAԠSAVŠHAA Ҡ.+ƠHGH3BS PA.+6BAŠ60B'SAN SSA̠DG SZDGSKPUNƠN DA MPDG NMA̠ԠUSSHŠΩ640NUMBҠNABANDSSԠN DNUM. NM̠NP SZASSSԠҠZ SZB MPNM̱ SAP NM3SADNUM SBDNUM+ MPNM̬ NM̱SSASԠHGHBԠƠMANSSA MPNM̲BԠSS ŬBBԠNԠS--ԠSH A SADNUMSUBA AN ADAPM SAPP DADNUMAND MPNM̱P NM̲ŬASHԠGH B SZPBUMPP MPNM3 MPNM3 (6  24044-80007 B S 0122 ALGOL COMPILER              H0101  SAҠAKSHŠNϠDNAANDUNPAKSԠN DNGH(.NBKV̠(.BVYPŠ(.YPũ A̠ҠNGҠ(.BԩNA̠ҠNNA̠(.Bԩ SAҠNP SAԠSAVŠNϠN AND.+3BMASKDNGH MANAANDSԠASNGAV SA.N DAԠGԠNϠAGAN B A̬SASԠB DBBԱ5 SB.B B A̬SASԠB DBBԱ5 SB.B DAԠGԠNϠAGAN AƬAƠPSNBKV AƬA AND.+BMASKAND SA.BVS DAԠGԠNϠAGAN AƬAƠPSNYP A AND.+BMASKYP. DB.BVƠBVSNNZϬ SZBMASKƠBS56. AND.+3B SA.YP MPSAҬɠYPŠSNA HDPNԠUN HŠUNNƠHŠPNԠUNŠSϠPNԠA NŠNHŠSԠDV.ԠMANANSAUN ƠNSPNDSϠHAԠԠANPAGNAŠH UPU.ԠSADH AƠHAASϠPN. BADDSSƠSAԠƠBU. SPà3 PNԠNPNYPN SZNҠSԠҠNDƠPAG. MPPұNԠNDƠPAG. SAPҲSAVŠPAAMS. SBPҲ+ DANSSԠNŠUN. SAN SZPAGSBUMPPAGŠUN DAPAGSNVԠPAGŠUNҠN SBDNVHŠPAGŠBU. DƠPAGB+3 DA.+9 DBPAGB SB0BɠPAGŠNNN ANŠSKPS. SB0B A SB0B DAPҲSŠPAAMS. DBPҲ+ PұSB0BɠPNԠUPUԠN. MPPNԬɠUN PҲBSS PAGBASà5PAG PAGBƠDƠPAGB HDҠPN ҠPNҠSSPNSB̆ŠҠPNNGҠMSSAGSNH SANDADSԠDV.HŠANGSUNŠS: SB.AG DàN HŠNSHŠҠNUMB. HŠNGSUNŠSPND: :59 ҠNNN HŠAנAPPASUNDҠHŠASԠHAAҠSANNDBYHŠHA UN. SPà3 .AGNPNYPN SBPNMAKŠSUŠSUŠNŠSPND DA.AGɠNVԠҠNUMBҠN SBDNVUMNS-9. DƠPN DANԠMPUŠNUMBҠƠHAAS ADAHASSANNDSϠAҬҠ6HH- ADANԱVҠSSMA SSASS A ADANԲ SAԠԽNUMBҠƠBANKSϠB MANSD. SA+ DBGɠ̠BUҠNHBANKS. AG5SZ+ANYMŠBANKS? MPAGYS. DAUPAϠN.PAŠANAנNH NԠD. MPAG3 AGSZ+SHSHŠASԠBANK? MPAGN. DABA AG3SA DAԠA̠PNԠUN ADA.+ DBAG SBPN SZNҠBUMPҠUN SZ.AGBUMPUNADDSS MP.AG AGDABB̠NSԠBANKSNH SAɠSNGŠD. NB MPAG5 AGɠDƠ GɠDƠPN+ HDNVSNUNS(BNAYϠASɩ DNVNVSABNAYNUMBҠϠA3DGԠD- MA̠NUMB.HŠANGSUNŠS: SBDNV(ABNAYNUMBҩ DƠ HŠSԠϠDGSƠHŠSUԠAŠPADN .HŠHDDBYABANKSPADN +. SPà3 DNVNP DBDNV SB DBAS00 ADAM00DYϠSUBAԠ00 SSASKPƠ.K. MP+3NԠ.K. ADBP00BADDϠSԠHAAҠƠANS. MP- ADA.+00 ADAM0DYϠSUBAԠ0 SSASKPƠ.K. MP+3NԠ.K. NBBUMPSNDHAAҠƠ.K. MP- SBԬɠSŠSԠD. SZ ADADؠؠUPASԠHAA AƬAƠAND SAԬɠSŠ. SZDNV MPDNVɠUN SKP NVNVSABNAYNUMBҠϠA6DGԠA NUMB.HŠANGSUNŠS: SBNV(ABNAYNUMBҩ DƠ HŠSUԠSASS: BNNNNNNB(BBANK ޠޠޠ ̠+ ++3 SPà3 NVNPNYPN DBNVɠGԠSANGADDSS SB DBASB0BANK0ϠB. A̬ŬSAPSNASԠSԠB. NBSԠSԠBԠNBANDS SBԬɠNSԠD. NSZԠBUMPPN AƬAҠGԠA̠DGԠNA(-0 SA+SAV AND.+MASKUԠHŠDG DBAS00SԠBϠZS ADB0ADDNSԠDGԠ BƬBƠPSN Ҡ+GԠNUMBҠAGANAND AƬAҠPSNANHҠDG SA+SAV. AND.+MASKU-DGԠAGANAND ADB0MGŠϠB. SBԬɠSŠNBU. Ҡ+GԠNUMBҠAGAN. SZŬSSSԠҠ+Ҡ+ MPNPҠ+ SZԠBUMPADDSS. AҬAƠPSNASԠDG AND.+ANDMASK. ҠASB0MGŠASɠBS AƬAƠANDPSN. SAԬɠSŠASԠDG SZNVANDUN. MPNV HDHAAҠHUN HŠPUPSŠƠHŠHAҠUNŠSϠBANHŠNԠHAA MHŠAG̠SUŠNPU.HNHŠNDƠANŠSAHD ABANKSUNDBŠGNGϠHŠNԠN.HSPVNS ϠDSMAPPANGASNŠHNHŠSNDBGNSNUMN N.HŠHAҠUNŠANBŠMADŠϠBAKUPBYSNGH VAABŠPKDϠNNZ.ԠSAAYSAҠUPNUN. SPà3 HAҠNPNYPN ASԠϠSŠƠPKDSZ. PAPKD MPHAұPKD0.ŠHAVŠϠK. SAPKDAҠPKDҠUN. DAàGԠASԠHAA MPHAҬɠUN HAұPANԠƠNԽ0ŠHAVŠAADY- MPHAҲUNDHŠND--NŠBANK. SZNԠHAVŠŠUNDHŠASԠHA- MPHA3AҠY?GϠϠHA3ƠN. DAABANUNABANKAԠHŠNDƠA HAҴSAàN. MPHAҬ HAҲDADNMAMUMNUMBҠƠNPUԠHAS. DBBPNɠADDSSƠSԠDƠBU SB0BɠA̠ADUN. SZASNUMBҠƠHAS0? MPHA5N--GϠϠPSSN. PASNϠƠSUNŠNUMBҠSZϬHS MPHAҲSN'ԠԬSϠADAGAN. SASNϠSԠSUNŠNUMBҠϠ0ƠND HԠ5BƠAPŠANDHA. MPHAҲGϠϠADNנAP. HA5SZSNϠADVANŠSNϠҠNנD. SAHASSAVŠNGHƠN MANANAZŠNԠ SANԠ-HAS. DABPNɠNAZŠBUҠPNҠ ŬASԠNPUԠHAA. SABPN AAҠYPDϠSAYNŠN SAYPDPNDY. SBSG DASGSŠƠSԠGGŠSS. SZAƠԠSA SBPNPNԠNŠUN. HA3DBBPNҠGԠBUҠPN. ŬBPSNNB. DAɠGԠDNANNGDSDHA SZSSƠŽ0ŠANԠHŠԠHAA- AƬAƠҬSϠAŠHŠD. AND.3KPNYHŠנBS. SZBPNҠADVANŠHŠBUҠPN. MPHAҴGϠϠUN. àBSSVAUŠƠASԠHAAҠUND BPNҠBSSPNSϠNԠHAAҠNBU BPNɠDƠBUƠPNSϠSԠDƠNPU. HASBSSNUMBҠƠNPUԠHASNN. YPDBSSAGSԠHNSUŠNŠYPD. HDPNԠSUŠNŠUN HŠPNUNŠHASHŠUNNƠPNNG ANŠƠSUŠNϠHŠSԠDV.ԠMUS AKŠAŠƠNSNGHŠSNϠANDPNҠN HŠBUҠBŠPNNG.HNSGSN PNSADBYHŠHAҠUN.HŠAG UNŠASԠASϬNASŠSGS.H YPDGSSԠBYPNHNVҠANŠS PNDϠAVDPNNGԠŠHNHŠA SNNŠNŠANDSGS. SPà3 PNNPNYPN DAYPDƠHSNŠHASAADYBN SZAPNDYPD̠BŠSԬ MPPNɠANDŠANUNMMDAY. SZYPDSԠYPD. DAPNҠNVԠPNҠϠA̠N SBNVUMNS-9 DƠPN+ DASNϠNVԠSNϠϠDMA̠N SBDNVUMNS-3 PNɠDƠPN DAHASMPUŠMN(HAS6 ADAN3 SSASS A ADANԴ ADA.+0ADD0ҠHŠSԠ0HAS. DBPNɠSԠADDSSƠPNԠBUҠNB SBPNԠA̠PNԠUN MPPNɠUN SPà3 MAHMPASϠDNSҠUAY.HŠANG SUNŠS: SBMAH UNUA̠UN UA̠UN HNMAHSADAADDSSƠSԠDN. .NϠPNSϠNϠDƠSNDDDNzKҬHH SNSU. SPà3 MAHNPNYP SAԠSAVŠADDSSƠDNԱN DA.NGԠNGHƠDNԲNY ADA.NϠ+_ADDSSƠDNԲ- SA+ DAԬɠGԠNUMBҠƠHAASNVVD AƬAƠNDNԱMSԠHAAҠNNY AND.3 ASMPUŠƠDS MAASNGAV. MAHSZ+BUMPDNԲPN DB+ɠMPAŠH PBԬɠNS SSSAMŠSϠA MPMAHɠNԠUA SZԠBUMPDNԱPN NASZASԠҠDN MPMAHPƠN SZMAHUA MPMAHɠUN HDABŠKUPUNS HŠABŠKUPUNSAŠUSDϠSAHHŠSYMB̠ABŬ SU. SPà3 HŠUNŠKSANSBAKϠHŠASԠNY.AHMŠԠS ADԠSANSBAKNŠNY.HŠANGSUNŠS: SBK(A0HŠSԠMũ <ԠƠNDƠABž  SPà MPPG0GϠ-'SNŠƠHSŠABV. SPà 'SA̠DNŠKNGAԠDSPS SԠHMUPNHŠPDUŠNY N'SU' SPà DAPN SAԠԠPN DAPSZGԠNGHƠàSS SA$NN.PAMNKAGŠANDSAVŠ DB.-6B-6 SPà PG0DAHPNUM SZԠBUMPANVAU ADAB ADBMBB- SSASSHPNUM+B<0? MPPG0NϠ-KPUNNG SPà PGDAPSZUPDAŠƠDSN.PAMNKAG ADA SAPSZPSZNNNK.ƠASԠPAAM. SPà AA0ҠNA̠KUP SPà PG5SBѬɠKUPAPAAMҠNY NPND--ABŠ DB.BV PBBK.BVBK? MPPG50YS-SԠUPANHҠP.PAAM SPà ASԠPDUŠPAAMҠSANND SԠUPANDAVŠHSSN SPà SZSANDSԠAGϠADASԠSYMB SPà NҠHŠƠNϠPAAMSNPDU SPà PG6SBSANBɠSANҠSԠSAMNԠD.. SPà PADŠSԠ'D'? MPPG30YS-GϠϠ'D'ԠPSS SPà DAPAMSԠUPϠMԠ'SB.PAM' SBMSBGϠϠM SPà DA.-5 SA DBHPNUMBHPNUM SPà SZBSSPAAMҠUNԠ0? MPPG9YS-GϠMԠHŠZϠDŠD. SPà DAHPNUM MANA SAHPNUM-HPNUMϠHPNUM SPà PGDAHPAMɠPPAŠҠMNGPAAM.D SBPS SPà DAHPAM AƬAƠSHԠҠҠPSSNG SBPS SZHPAMBUMPPAAM.PɨNҠADDSS MPPG SPà PS-MԠHŠPAAMҠDŠDS NDDNHŠ.PAMNKAGŠ ҠAPDUŠ SPà PSNP ANDPMSKAҠҠBSƠ'A' ADBA B̬B̠AŠ'B'. SZԠԠAנ+Խ0? MPPԱN SPà DABYS-MԠADŠD SBM DAMA- SAԠSԠԠ- BSԠB0 SPà PԱSZHPNUMBUMPPAAM.UNԻ0? MPPSɠNϠ-AVŠPSUN SPà DAԠYS-SԠ PAMԠ-? MPP3YS-GϠUԠϠSAԠSAMNS SPà B̬B̠NϠ-PSNNA̠DŠD SZԠBUMPԻԽ0? MP-NϠ-GϠBAKANDAŠM SPà DAB SBMԠMԠASԠPAAM.DŠD SPà P3DA$NGԠàNGHҠNK SBMBSSANDMԠABSSҠ MPPG0ԠϠSAMNԠPSS SKP PSSANDSԠUPNHŠPDUŠNY HŠPAAMҠMASNANDN DSH'V'B(VAUũ''B(A̩ ANDYPŠƠPAAMҠ SPà PG50SZA(YPŠNAYPŠNN-Z? MP+5YS-K SPà SBAGɠNϠ-Ҡ65 Dà65"P.PAAMҠDSPҠMSSNG" ANASԠA MPPG5GϠBAKҠNԠSUƠNY SPà DA.NϬɠGԠNϠD ŬASHԠAGHԠ. DB.N ADB.-BPNSAԠDHVANDPAAM.. ADABɠADDN'V'B ANDHMSKAҠҠ'A' J SAԠSAVŠAN SB+SAVŠADDSSƠ'ADD'DƠPAAM.NY SPà DABɠGԠPAAMҠN. AŬAAҠ5. NAAA+ ŬAA_A+BYŽUPPҠҠAG ADAHPAMAADDSS-ƠPAAMNNY DBԠBPAAMҠNYD SPà SZUPPҠNB? BƬBƠNϠ-SHԠԠϠ SPà ADA.-SԠAUNԠADDҠƠPAAM. ADBAɠADDNHŠHҠHA SBAɠANDSŠԠNHŠP.NY SPà DAԠAPAAM.DP(VҠANDYPũ DBPSZADDSSNPAAM.SԠN'B' A̬SASԠA'V'PAAM? MPPG5YS SPà ADBBԱ5NϠ-SԠNDԠB DA.-Ҡ-+PSZ MPPG53 PG5SSASS'SBYVAUŠ-SԠA? MP-3N ADB.-YS-SԠPAAM.AN DA.-Ҡ-+PSZ SPà PG53ADAPSZ SAPSZSԠPSZ(-Ҡ- SB+ɠSԠPAAM.N.NϠSNY MPPG5GϠϠSԠNԠNY SPà3 PSS'VAU'YPŠPAAMҠ SPà PG60SBSANBɠSANҠVAUŠNAM SZASSSԠNHŠS?(YPŠ0? MP+YS-GϠSԠVAUŠBԠ('V' SPà SBAGɠNϠ-Ҡ66 Dà66"VAUŠPAAMҠNԠNS" MPPG6 SPà DB.NϠGԠNϠDADDSS ADB.-SԠԠϠPDNGDADD. DABɠGԠHAԠD ҠBԱ5SԠ'VAU'BԠ(BԱ5 SABɠSŠHŠD SPà PG6SBSANBɠSANҠMMA PAMMASԠAMMA? MPPG60YS-GϠBAKҠNԠVAUŠNAM SKP SANPDUŠPAAMҠDSPS ANDSԠUPPNSƠHŠPAAMҠ PSUDϠNSNSUƬVZ.YPŠ AND''B. SPà PG65SBSMԬɠSANϠSM-N SPà PG66SBSANBɠSANҠADSP MPPG3MPϠDSPҠS. SPà UAŠUSD-'SGA̠ PG6SBAGɠҠ6 Dà6"GA̠PDUŠDSPUA" PG69SBSNDSANϠAMNA MPPG66GϠNDNԠDSP SPà 'ŠBAKMDSPҠSԠHŬ H.YPŠNHŠ'A'GSҠ SPà PG0PAUAԠSԠAN'UA'? MPPG6YS-GϠBAKϠҠP. SPà PDS-PSSPAAMҠDSPSHŠ SԠ.YPŠAND.BԠNϠHŠPAAMҠ 'SU'NS. SPà BSԠB0 SB$BԠSԠ$BԠ0(ҠAҠVPAM SB$BԠSԠ$BԠ0(Ҡ'A'AG PAA̠A? MPPG5YS- PANGNϠ-NGҠҠBAN? MPPG5YS-GϠSAVŠԠANDSAN PGSZASSNϠ-SԠAVAAB? MPPGYS-SԠPYPŬ-SԠB SPà SA$BԠSԠ$BԠϠAҠ'V'BԠA PAAAYSNAMŠAAY? MPPG90YS-GϠPSS PAPŠNϠ-SԠPDU? MPPG95YS SPà DB$BԠGԠDAANYP(NNŠŠHPũ. SZBSSHASNŠBNUND? MP+5NϠ-GD!SKPAUNDҠS SBAGɠYS-BAD!-Ҡ6 Dà6"GA̠'YP'UNDNDA." B SB$BԠAҠ$B DA.YPŠSԠA.YPŠAGAN SPà & PAAB̠AB? DB.+BYS.-SԠBB PASàSH? DB.+3BYS-SԠB3B PAMAMA? DB.+BYS-SԠBB PANPUԠNPU? DB.+5BYS-SԠB5B PAUPUUPU? DB.+6BYS-SԠB6B SPà SZBHASADSPNBNGVN? MP+YS SPà SBAGɠNϠ-Ҡ6 Dà6"GA̠DSPҠNP.D" MPPG69BAKϠMNAҠSAN. SPà SBPYPSAVŠDSPҠYP SPà PG5SBSANBɠGԠAVAAB SPà PGDA.YP SZASS.YPŠ0?(..DNDNSԩ MP+YS SPà SBAGɠNϠ-Ҡ69 Dà69"DN.NԠD.ASPD.PAAM." MPPG0 SPà SԠYPŠANDBԠNϠNϠDƠ VAABŠ'SU'NY SPà DB.N ADB.-BADD.ƠDHVB SBԠԠB DAԬ DB$B SZBSVBԠNSAY AŬANϠ-AҠVB SAԬɠSŠVBԠDϠSUƠNY SPà DB$B SZBSSSVAABŠA? MP+3N SSAYS-SVBԠS? SZPSZYS-BUMP.PAMNKAGŠNGH SPà DA.NϬɠANϠD! SZBSVAABŠA? ҠBԱ5YS-ADDҠBԠϠNϠD SPà AƬAƠPSNNϠDҠYP AҠNSN ADAPYPADDNYP AƬAƠPSN A SA.NϬɠSŠNϠDϠSU SZPSZBUMP.PAMNKAGŠNGH SPà PG0SBSANBɠSANҠMMA PAMMASԠAMMA? MPPG5YS-HFBBAKҠNԠDN MPPG65NϠ-BAKҠSMNSAH SPà YPŠA̬NGҠҠBAN SAVŠԠANDSANAGAN SPà PG5SA$BԠSAVŠUNԠ.YP SBSANBɠSANNԠSYMB MPPGBAKϠSNG SPà YPŠ0(P.PAAMҩ SPà PGDA.+BAB(DNҠDũ DB$B SZB$BԠ0 MPPG9NϠ-'SGD SPà SBAGɠYS-Ҡ0 Dà0"NϠYPŠSP.ҠDN" SPà DA.+BSԠAB PGB PG9SB$BԠSԠ$BԠ0ҠA SAPYPSԠPYPAG.NNS MPPGGϠϠDAMNŠANDS SPà YPŠS'AAY' SPà PG90SBSANBɠSANҠDN DA.+3BAAYDŠNA DB$B SZBSSSYPŠƠAAYS? DBA̠NϠ-SԠԠA SPà PG9PBA̠SYPŠA? MPPG9YS-GϠSԠPYP(NANש MPPGNϠ-GϠAҠ$BԬSԠPYP SPà YPŠS'PDU' SPà PG95SBSANBɠSANҠPDUŠDN DA.+BAB(PPҠPDUŠDũ DB$BԠB$B SZBSԠAUNNPDU DA.+6BYS-SԠA6B MPPG9GϠϠUHҠS 7H  24044-80009 B S 0122 ALGOL COMPILER              H0101  HDSNGANDSUPUNSH SԠ-SԠHŠBKADDSSNϠ'N'AG' SPà SԠNP DAAG SZAAG0? MPSԬɠNϠ-Ԡ(ԠHASANADDSS DAPN SAAGSԠʠAGPN SBMNPMԠASPAŠҠUUŠ'MP' MPSԬɠ SPà DSN-SԠҠANUNDNDDNҬ DSԠ-SԠҠANUNDNDDNҠ ƠNԠUNDPNԠANҠDAG. ԠϠ .UNADDSS+ƠDNҠUND .UNADDSS+ƠDNҠS NԠUND(..'SUNDND. SPà DNNPNYϠ'DSN' DB-UNADD.ϠB AA0 SBDSѠSԠUNADDSS MPDSNҠMANUNŠMH SPà DSѠNPNYϠ'DS'SH ANAA SPà DSDB.YPŠMANUNŠSSHŠ PBYUDSDN.UNDND? MPDSYSGϠϠ SPà DB.BVNϬSԠBKV PBBK.BVBK? MP+3YSDSAYDND SZBNϬ.BV0? MPDSNϬԬDSUNDƠHSBK SPà SZASSSADAGNSàAND? MPDSѬɠNϠ-Ԡ(UNADDҠ+ SPà SBAGɠPNԠҠDAGNSà Dà(UNDNDDN.PDHũ MPDSѬɠԠ(UNADDҠ+ |SPà DSSZDSѠDNDDNҠ-ԠSUP- MPDSѬɠԠ(UNADDҠ+ HDADDANNYϠ'SU'(NSԩH NSԠ-NSԠANNYNϠHŠSUƠABŠ NNY: AG.ADDSSƠNAMŠBUҠ BG.NSԠ$NԠBŠ$ADDҠ. BG.0DNԠUSŠ$NԠ $BԠBԠ5ƠNϠD $BԠBԠƠNϠD $YPŠNYYPŠ $ADDҠNNSƠDABVŠNϠD $NԠNNSƠDABVŠ$ADDҠ N: AG.$NϠ $NN.ƠDSNHŠNY $NϠSU(ADDSSƠNϠD SPà NSҠNP SB$NNAZŠ$N(Ҡ0 SB$NϠ$NϽMP.'B'AG SPà DB$BԠSԠUPNϠDHŪ B̠BԠN-SHԠҠB ADB$BԠGԠB B̬BƠSHԠ5ҠNYYP ADB$YPŠGԠNYYP BƠSHԠҠBKV ADB$BVGԠBKV B̬BƠSHԠ5ҠNYNGH SBԠSԠNϠD SPà DBABADDSSƠNAMŠBU DABɠGԠSԠDNBU ANDHMSKAҠҠ(AN.ƠHAS AƬAƠN.HASϠҠA AS(N.ƠHAS NA SA++N.ƠDSƠNAM ADA.+ ADA$N+$NN.DSNNY SA$NPUԠԠN$N ADAԠADDNϠDϠNGH SAԠNϠDNנMPŠANDS SPà DA$N ADASUƠA'NƠNנNY MASԠUPҠMPASNHSAK ADASP SSAHKҠV MPVϠNϠMŠMҠABS SPà DA+AN.ƠDSNNAM MANA SA++MP.ƠN.ƠDS SZSUƠPHŠϠSŠNAMŠN DABɠNY. SASUƬ SZBBUMPNAMŠPN SZ+SԠA̠SD? MP-5NϠ-GϠBAKANDPAԠP. SPà SZSUƠBUMP'SU' DA$NϠGԠ$NԠSŠAG DB$N SZAS$NԠϠBŠSD? SBSUƬɠYSSŠ SZAAS$NԠSD? SZSUƠYSBUMP'SU' DA$ADD SASUƬɠSŠ$ADD SZSUƠBUMPSU DA SASUƬɠSŠNϠD DASU SA$NϠ$NϠSU MPNSҬɠԠNSԠUN HD'PUNHBNAYD'SUBUN.H PNH-UPUԠPNBUƠVAPUNHUPUԠDVҠ .MPUŠHKSUM. .PUNHNNSƠBU. 3.AҠPUNHBU(PNBUƩϠZS NPUԠ DUN(DNGHNҠHAƠ ƠAN'PNBU'. 'PUNH'̠PSNԠҠBNAYMAԪ SPà PNHNP DAPNG SZASSSPUNHAGSԠ? MPPNH5SuKPϠԠƠNϠPUNHNG SPà DAPNBUƠGԠHŠDUN MANA SAHNBSԠDDUN NA SAԠSԠHKSUMDUN DAUBNP SABSԠBàƠPNBU DAPNBU AƬA SAPNBUƠPSNDUNԠNPNBU AA_0 SPà MPUŠANDSŠHKSUMHŠ SPà NB ADAB SZԠSASԠDN? MP-3NϬGԠNԠN. SPà SԠUPPAAMSҠNYϠPUNHDVҠ SPà SAPNBU+SŠHKSUM DAHNBDUNԠϠA DBUBNPBUƠNϠB SB03BɠPUNHDVҠNYHŪ SPà PNH5ASԠA0 SAPNBUƠAҠDUN SAPNBU+ANDHKSUMANS. MPPNH HDSAKUNS HŠSAKUNSN̠PANƠHŠMP SAK.HŠAŠUNS: PUSH---ADDSHŠMNԠNAϠHŠSAK SAK---MVSABKƠVAUSNϠHŠSAK UNSK---VSABKMHŠSAK SPà PUSHѠNPNYϠPUSH BND ADBSPSAK PBSUƠHKҠSAKV MPVϠNϠMŠMҠABS SBSP SASPɠPUSHVAUŠNϠSAK MPPUSHѬ SPà SAKSADAԠHŠBGNNNGƠVYNANԠUN NDҠϠSAVŠSPVUSVAABS.HŠANG SUNŠS: MPSBSSN PGNPNYPN SBSAK DƠMPS BAKSBUNSK SAK̠SAVŠVYHNGMMPSHUGHPG.HN HŠUNŠSDNŠPSSNGԠSHUDMYUMP BAK.UNSK̠SŠHŠMPASANDPMH UNUMP. SPà SAѠNP?NYϠSAK SAԠSAVŠAAND SB+BGSS. DA.-MPUŠADDSSƠA̠ ADASAѠSAKANDSAVŠNSԱ. SԲSASԱ DASԱɠGԠVAABŠANDPUSH SBPUSHѠNϠSAK. DASԱGԠADDSSƠHA PASAѬɠVAABŠANDSԠҠDN. MP+3A̠DN ADA.-DBUMPPNҠANDP. MPSԲ DAԠS DB+AB. SZSA SZSA MPSAѬ SPà UNSѠNPNYϠUNSK SAԠSAVŠA SB+B DBUNSѠGԠADDSSƠPGAM ADB.-NYPNԠSAVŠNSԱ. SBSԱ ADB.+NנGԠADDSSƠBGNNNG DBɠƠBK. S3DASPɠVŠPVUSVAUS. SZSP SA PBSԱƠHSSSԱŠHAVŠHŠUN MP+3ADDSS NBHSŬBUMPBANDP MPS3 DB+SŠBGS SA+SAVŠUNADDSSN+ DAԠSŠAGS. MP+ɠUNUMPHUGHHŠUN. SԱBSSMPAYUSDBYSAKANDUNSAK. HDPSS'SH'DAANH SGN-NҠ'SH'DNҠNϠ'SU' ANDGNAŠHŠNSSAYBԠDŠ ҠPSSNGHŠABSAԠUNMŠ SPà SGNSBSԬɠSԠҠ'MP'AUNDDAAV DAYSԠASHYP BB0(NϠBԩ SBHNAAҠSHUN SBSNGϠϠSUPҠNYϠNS SPà SBNSԬɠGϠNҠSHNϠSU SBMNPMԠAjNP SPà DASHGԠ'NƠ.SHUN SBMSBMԠ'SB.SH' SPà DAPNҠGԠUNԠPGAM'N SAHSASAVŠԠNHSA SBMNPMԠASPAŠҠHŠAB̠UN SPà SBSANBɠGԠNԠSYMB PASŠSԠANAנ? MPSGNYS-GϠNϠNԠSYMB SPà SBAGɠNϠ-PNԠҠ50 Dà50'AנҠ:PDNSH' MPBKɠSANϠMNAҠHNϠBñ. SPà SGNSBSANBɠGԠNԠSYMB PADABSԠAAB̠NY? MP+YS-SKPҠDAGB SPà SBAGɠNϠ-PNԠҠ5 Dà5'AB̠NYPDNSH' MPSGN SPà SZHNABUMPAB̠UN DA.NϠAADDSSƠAB̠NY SBMDƠMԠHŠAB'SADDSS SPà SGNSBSANBɠGԠHA.Ҡ''S PAMMAMMA? MPSGNYS-GϠBAKҠNԠSYMB SBSMԬɠNϠ-GϠSԠҠ'' SPà UPUԠHŠNUMBҠƠABSBAKNBʠDŠSAM SPà DBHSA'NƠMSSN SBMSԠPPAŠϠMԠAN''UԠƠN DAHNANNԠƠ'' SBMԠMԠHŠ''H SBMSԠSŠHŠPNҠH SPà MPHBKɠԠϠBñMSGN HDPSSHŠ'AB'DAANH BGN-SԠUPAAB̠ҠNYNHŠSYMB̠ABŠ SPà BGNSBSԬɠSԠҠ'MP'AUNDDAAV SPà BGNDADABSԠAAB̠YP DB.+SԠBDVAUŠ(ҠBԩ SBSNGϠϠSUPVAUSҠAB SPà S2BNSԬɠGϠNSԠAB̠NϠSU SPà SBMNPMԠA'NP'AԠUMP(ϩADDSS SPà BGNSBSANBɠGԠNԠSYMB PAMMASԠAMMA? SSYSSKPNԠNSUN ԠMAB̠UNŠHŠ MPSBKɠSMNSԠHNBñ SPà SBSANBɠSANҠNԠSYMB SBDSNɠSԠҠGA̠VAAB MPBGNDDND(BADGϠҠNԠD MPBGNDUNDND(K SKP NSSANUMBҠNAϠSŠƠԠSBN ϠHҠNUMBS. A:DA SBN ABSY ABSZ UNƠY<) * AAT OCT 100 ASCII @ * POWER OCT 101 ** START OF BLOCK 0 ENTRIES *** * SLASH OCT 102 / * INTDV OCT 103 \ * STAR OCT 104 * * MINUS OCT 105 - * PLUS OCT 106 + LESS EQU 107B < LEQ EQU 110B <= EQUAL EQU 111B = NEQ EQU 112B # GEQ EQU 113B >= GRTR EQU 114B > NOT OCT 115 AND OCT 116 OR OCT 117 STORE OCT 120 _ OR := * MOD OCT 121 * CASE OCT 126 * BEGIN OCT 127 * END OCT 130 * COLON OCT 131 : SEMI OCT 132 ; LPREN OCT 133 ( RPREN OCT 134 ) LBRAC OCT 135 [ RBRAC OCT 136 ] COMMA OCT 137 , ARRAY OCT 140 INTEG OCT 141 INTEGER OR BOOLEAN EQUAT OCT 142 EQUATE FORMA OCT 143 FORMAT * INPUT OCT 144 OUTPU OCT 145 OUTPUT PROCE OCT 146 PROCEDURE LABEL OCT 147 REAL OCT 150 SWITC OCT 151 SWITCH EOF EQU 152B END OF FILE UNLOD EQU 156B UNLOAD * WHILE OCT 157 * PAUSE OCT 160 PAUSE * CODE OCT 161 * COMNT OCT 162 DO OCT 163 ELSE OCT 164 FOR OCT 165 * GO OCT 166 IF OCT 167 READ OCT 170 * STEP OCT 171 THEN OCT 172 * TO OCT 173 UNTIL OCT 174 * WRITE OCT 175 * VALUE OCT 176 * BUCK OCT 177 $ .377 OCT 377 P400B OCT 400 IDTAB EQU *-9 AN ANACHRONISM. ASC 3, IDENT TABLE HERE BSS 5 DEF *+2 IDTAB + 17 HERE DCONI DEF *+1 POINTS AT INTEGER CONSTANT CONFO OCT 20044 DCONR DEF *+1 POINTS AT REAL CONSTANT OCT 120044 SKP * ************************************************ * * SCND - SCAN SOURCE SYMBOLS TO NEXT SEMICOLON * * ************************************************ SCND NOP LDA .TYPE PICK UP CURRENT SYMBOL TYPE RSS SKIP OVER THE NEXT INSTRUCTION JSB SCANR GET NEXT SYMBOL CPA SEMI IS IT A ; ? JMP SCND,I YES - EXIT JMP *-3 NO - GO BACK TO SCAN * ****************************** * * CHARM - GET ADDRESS OF CUR-* * * RENT STUFF NAME. * * * A = ADDRESS OF ENTRY * * * ON EXIT B = ADDRESS OF NAME* * * A = NO. OF CHARS IN NAME* * ****************************** CHARM NOP LDB A LDA B,I AND .37B MASK IN STUFF WORD COUNT CMA,INA ADB A INB B = LOC OF SuTART OF NAME LDA B,I AND HIMSK GET NO.OF CHARS IN NAME ALF,ALF JMP CHARM,I EXIT FROM CHARM * *************************************** * * SETIN - SET UP PARAMETERS FOR ENTRY * * * TO THE 'INSRT' ROUTINE. * * * ON ENTRY; A = ENTRY TYPE * * * B = RBIT SETTING * * * ON EXIT; A = LOC OF SYMBOL(*SYMB) * * * B =0 (DON'T USE $NEXT) * * * $BLEV = BLK $XBIT = 0 * * * $TYPE V VAL OF A ON ENTRY * * * $RBIT = VAL OF B ON ENTRY * * * $ADDR = PCNTR * * *************************************** SETIN NOP STA $TYPE SET ENTRY TYPE = A STB $RBIT SET REAL/INT BIT = 0 LDA BLK STA $BLEV SET BLOCK LEVEL = BLK LDA PCNTR STA $ADDR SET ADDRESS = PCNTR LDA $SYMB SET A = LOC OF IDTAB+9 CLB STB $XBIT JMP SETIN,I SKP * ******************************************************* * * HINIT - GENERATE AN ASSIGNED CONSTANT INTO THE * * * OBJECT CODE STREAM FOR ARRAYS AND VARIABLES.* * * - IF REAL IT GENERATES 2 WORDS * * ******************************************************* HINIT NOP LDA .INFO,I GET INFO WORD LDB HT GET TYPE OF VARIABLE SSA,RSS IS THE CONSTANT A REAL NUMBER? JMP HINT5 NO - ITS AN INTEGER CPB REAL YES - CONSTANT IS REAL, IS TYPE? JMP HINT2 YES JSB .FLAG NO - ERROR, INCONSISTENT DEC 52 #52 - 'REAL NO. ASS'ND TO INTEGR' CLA STA IDNUM SET NUMBER TO = 0 STA IDNUM+1 HINT2 LDA IDNUM EMIT PART OF REAL NO. HINT4 JSB EMOCT EMIT AN OCTAL WORD HINT3 LDA IDNUM+1 EMIT INTEGER OR REST OF REAL NO. JSB EMOCT JMP HINIT,I EXIT HERE HINT5 CPB REAL IS TYPE = REAL? RSS YES JMP HINT3 NO - GO TO INTEGER EMIT LDA IDNUM+1 CONVERT AN INTEGER TO REAL JSB FLOAQ STB IDNUM+1 RESTORE THE CONVERTED NUMBER JMP HINT4 GO AND EMIT IT.. * COMP COMPUTES THE NEGATIVE OF A FLOATING POINT NUMBER. * IT IS CALLED WITH THE HIGH PART OF THE # IN B & THE * LOW PART IN A, AND RETURNS WITH IT THE SAME WAY. COMPQ NOP CMB,CLE COMPLEMENT HI & CLE FOR TESTING XOR HIMSK COMP. LOW MANTISSA BITS ADA P400B AND ADD 1 TO THEM (2'S COMP) SEZ,RSS IF E REMAINS CLEAR, THE LOW JMP COMPQ,I BITS WERE NON0, SO WE'RE DONE INB OTHERWISE, BUMP THE HIGH BITS CPB BIT15 IF THE HIGH BITS ARE 100000 JMP COMP1 OR 140000 CPB PCMSK WE HAVE A BOUNDARY CONDITION RSS AND MUST ADJUST. JMP COMPQ,I COMP1 ADB PCMSK THAT ADJUSTS THE MANTISSA. SLA,RAR POSITION AND EXTEND THE EXPONENT IOR XSEXP SSB,RSS IF NEW RESULT IS POSITIVE, WE INA,RSS BUMP THE EXPONENT; ADA .-1 IF NEGATIVE, WE DEBUMP IT RAL NOW REPOSITION IT. AND .377 JMP COMPQ,I XSEXP OCT 77600 FILL IN FOR HALFWIT NEGATIVE EXPS. HED OUTPUT A 'DBL' PUNCH WORD OR RECORD * ********************************************************** * * BREC 1.PROCESSES THE BINARY DBL INSTRUCTIONS AND A DBL * * * RECORD FOR OUTPUT ON THE PUNCH DRIVER * * * 2.UPDATES THE CURRENT LOCATION CNTR(PCNTR / BCNTR)* * * A REGISTER CONTENT INDICATES RELOCATION PARAMETER * * * 0 = ABSOLUTE VALUE. FOR THE CURRENT INSTRUC.* * * 1 = RELOCATABLE VALUE. * * * 4 = EXTERNAL VALUE * * * 5 = MEMORY REFERENCE INST. USING A RELOCATABLE OPRND.* * * IF =5 THEN LOCN. 'SUMP' CONTAINS THE OPERAND AND * * * LOCN.'INST',BITS 1 AND 0,CONTAIN RELOC.INDIC. * * * 0 = RELOCATABLE OPERAND * * * 1 = BASE PAGE RELOC. OPERAND * * * B REGISTER CONTENT INDICATES BREC ACTION. * * * 0 = OUTPUT THE CURRENT CONTENTS OF THE PUNCH BUFFER. * * * 1 = ADD A WORD(OR INSTRUCTION) TO THE PUNCH BUFFER. * * * 'INST' CONTAINS THE WORD TO BE ADDED TO THE PNCH BUFFER* * ********************************************************** FBNP4 DEF PNBUF+4 START OF DATA INFO. (DBL TYPE) BREC NOP STA T SAVE RELOCATION PARAMETER LDA PNBUF SZB PUNCH A RECORD? JMP HBR10 NO - INSERT A WORD * * EMIT A DBL PUNCH RECORD VIA 'PNCH' SZA,RSS IS PNBUF EMPTY? JMP BREC,I YES - EXIT HBR06 LDA HSVST,I POS'N RELOCN BYTES ALF,RAR ISZ HRCNT JMP *-2 RAL STA HSVST,I JSB PNCH GO TO PUNCH ROUTINE JMP BREC,I EXIT * * PROCESS A BINARY WORD FOR * * * INSERTION IN PNBUF. * HBR10 SZA FIRST WORD IN RECORD? JMP HBR20 NO, SKIP FOLLOWING SETUP. * * SET UP PNBUF FOR START OF A NEW RECORD.* LDA EMLDX+1 A=60000B (SETS 'RIC'=3) ADA AAT SET CURRENT PAGE BIT (100B) LDB PCNTR B=PROG LOCN CNTR STB PNBUF+3 SET DBL LOAD ADDRESS STA PNBUF+1 SET RIC WORD LDA .+4 STA PNBUF SET RECORD WORD COUNT = 4. LDA FBNP4 STA HSTOR SET CURR AVAIL BUFF LOC = PNBUF+4 LDA .-5 STA HRCNT SET RELOC SLOT COUNTER = -5 LDA M54 STA HCNTB SET WORD COUNTER = -54 * * PROCESS 'INST' FOR INSERTION INTO DBL RECORD.* HBR20 ISZ PCNTR BUMP LOC'N CNTR(PCNTR OR BCNTR) LDA HRCNT IS SLOT CNTR =-5 CPA .-5 RSS YES JMP HBR25 NO, SKIP SLOT SETUP LDA HSTOR STA HSVST SET ADDRESS FOR NEXT SET OF BYTES CLA STA HSVST,I CLEAR BYTE STORAGE WORD ISZ HSTOR BUMP TO NEXT AVAILABLE ADDRESS ISZ PNBUF BUMP RECORD WORD COUNT HBR25 ISZ PNBUF+1 BUMP DATA WORD COUNT LDA HSVST,I ALF,RAR IOR T SET RELOC TYPE INTO BYTE SLOT STA HSVST,I AND REPLACE IT. ISZ HRCNT IS LAST SLOT IN RELOC BYTE WRD FULL JMP HBR30 NO. RAL YES,POSITION BYTE WORD FOR FULL SET STA HSVST,I SET RELOC.BYTE WORD. LDA .-5 STA HRCNT SET RELOC SLOT CNTR = -5. LDA HCNTB CPA .-1 WORD CNTR ALMOST DONE? (=-1?) JMP HBR30 YES ISZ HCNTB NO, BUMP IT 1 MORE HBR30 LDA INST ***INSERT 'INST' INTO DBL RECORD * STA HSTOR,I ISZ HSTOR BUMP RECORD STORE ADDRESS. ISZ PNBUF BUMP RECORD WORD COUNT LDA T * TEST RELOCATION ENTRY PARAMETER FOR =5 * CPA .+5 =5 ? RSS YES JMP HBR40 NO, SKIP SPECIAL PROCESSING. LDA SUMP SET RELOC.OPERAND INTO NEXT SLOT STA HSTOR,I IN THE RECORD ISZ HSTOR BUMP RECORD STORE ADDRESS. ISZ PNBUF BUMP RECORD WORD COUNT ISZ HCNTB WAS THIS THE LAST WORD IN THE REC? JMP HBR40 NO JMP HBR06 YES, GO AND OUTPUT THE RECORD. HBR40 ISZ HCNTB IS THE RECORD FULL NOW? JMP BREC,I NO, RETURN JMP HBR06 YES, GO OUTPUT THE CURRENT RECORD. M54 DEC -54 HCNTB BSS 1 WORD COUNTER FOR PNBUF (BREC) HRCNT BSS 1 RELOC.BYTE COUNTER(-5 TO -1) IN BREC HSTOR BSS 1 CURRENT AVAIL.PNBUF LOC'N FOR DBL WRD HSVST BSS 1 CURRENT ADDR.FOR RELOC.BYTES (BREC) INST BSS 1 INSTRUCTION FOR PUNCH/LIST OUTPUT SUMP BSS 1 MEMORY REFRNCE OPRND FOR BREC/HLIST HED 'LIST OBJECT CODE' SUBROUTINE LB * **************************************** * * HLIST - LIST A LINE OF OBJECT CODE * * * GENERATED BY THE COMPILER. * * * -A- REGISTER PARAMETERS: * * * 0 = MEMORY REFERENCE INSTRUCTION* * * 1 = OCTAL INSTRUCTION* * * 2 = DEF INSTRUCTION* * * 3 = ORG PSEUDO-OP * * * 4 = ORR PSEUDO-OP * * * 5 = BSS PSEUDO-OP * * * 6 = REGISTER REFERENCE INSTRUCTION* * * 7 = ASCII WORD INSTRUCTION* * * * * * FORMAT OF LINE: * * * * * * COLUMNS CONTENTS * * * ------- -------- * * * * * * 1-2 BLANK * * * 3-7 LOCATION COUNTER * * * 8-9 BLANK * * * 10-15 OBJECT CODE WORD * * * 16 BLANK * * * 17 RELOCATION INDICATOR * * * (R, X, OR BLANK) * * * 18-19 BLANK * * * 20-34 LABEL FIELD * * * 35-36 BLANK * * * 37-39 OP CODE FIELD (EXCEPT * * * REGISTER REFERENCE) * * * 37-51 OP CODE FIELD (RRF) * * * 40-41 BLANK (EXCEPT FOR RRF)* * * 42-56 OPERAND FIELD (NOT * * * USED FOR RRF OR ORR)* * * FOLLOWING +1 (AS REQUIRED) * * * OPERAND ,I (AS REQUIRED) * * * * * * THE MAXIMUM LINE LENGTH IS 60 CHARS. * * * PRBUF IS CLEARED AFTER EACH PRINTING.* * **************************************** BLBL ASC 1, HLSTA BSS 1 HLIST PARAMETER. HLIST NOP ENTRY/EXIT. STA HLSTA SAVE ENTERING HLIST PARAMETER. LDA LSFLG SZA,RSS IF OBJECT CODE LISTING NOT  JMP HLIST,I WANTED, RETURN IMMEDIATELY. LDA PCNTR WE WANT LISTING, GET CURRENT JSB OCONV PCNTR, CONVERT IT TO OCTAL, FUBRP DEF PRBUF AND STORE IT IN PRBUF. LDA BLBL RESTRICT PCNTR PRINTOUT TO STA FUBRP,I FIVE OCTAL DIGITS. LDA .INFO GET CURRENT STUFF ADDRESS STA HLS04 AND SAVE UNTIL END. LDA HLS05 GET SCATR'S LAST INFO WORD STA HLS06 AND SAVE IT UNTIL END. JSB LBLCK IF THIS IS LOCN OF A LABEL, RSS CHECK FOR INSTRUCTION TYPE. JMP HLS10 NOT A LABEL, SKIP CHECK. LDB HLSTA IF INSTRUCTION CPB .+4 IS AN ORR JMP HLS10 CPB .+3 OR AN ORG, JMP HLS10 BYPASS LABEL STORE. JSB STLBL STORE LABEL IN LABEL FIELD. HLS10 LDA HLSTA RECALL LIST PARAMETER. ADA PRTBL USE IT TO TRANSFER JMP A,I TO PROPER CONTROL ROUTINE. SPC 1 PRTBL DEF *+1,I HLIST JUMP TABLE. DEF MEMRF MEMORY REFERENCE - HLSTA = 0. DEF OCTAL "OCT" PROCESSOR - HLSTA = 1. DEF DEF "DEF" PROCESSOR - HLSTA = 2. DEF ORG "ORG" PROCESSOR - HLSTA = 3. DEF ORR "ORR" PROCESSOR - HLSTA = 4. DEF BSS "BSS" PROCESSOR - HLSTA = 5. DEF REGRF REGISTER REFERENCE - HLSTA = 6. DEF ASCII "ASC 1," PROCESSOR - HLSTA = 7. SPC 1 ASCII JSB STINS STORE CONVERTED INSTRUCTION CODE. LDA .+3 STORE MNEMONIC LDB DASCI "ASC 1," JSB STMNM INTO OP CODE FIELD. LDA INST STORE TWO ASCII CHARACTERS STA DPB21,I FOLLOWING "ASC 1,". LDA ACOMA = DECIMAL 44, CHARACTER COUNT. JMP HLS40 LINE SET, GO PRINT IT. SPC 1 DASCI DEF *+1 ASC 3,ASC 1, SPC 1 OCTAL JSB STINS STORE CONVERTED INSTRUCTION WORD. LDA .+2 STORE LDB DOCTL "OCT" MNEMONIC JSB STMNM INTO OP CODE FIELD. LDA INST STORE BSS1 JSB OCONV OCTAL INSTRUCTION DPB20 DEF PRBUF+20 INTO OPERAND FIELD. LDA ASLSH = DECIMAL 47, CHARACTER COUNT. JMP HLS40 LINE SET, GO PRINT IT. SPC 1 DOCTL DEF *+1 ASC 2,OCT SKP DEF LDB DDEF LDA .+2 CONTROL HERE FOR JSB TO EXT. JSB STMNM STORE "DEF" OR "JSB" MNEMONIC. JSB STINS STORE CONVERTED INSTRUCTION WRD. LDB EMREL GET RELOCATION INDICATOR. LDA "R" DEFAULT TO "R". CPB .+4 IF THIS IS EXTERNAL, LDA "X" REPLACE "R" WITH "X". STA DPB8,I STORE RELOCATION CHAR IN BUFFER. CPB .+4 IF THIS IS EXTERNAL, JMP DEF4 GO GET NAME FOR PRINT BUFFER. LDA INST NOT AN EXT, GET INSTR CODE AND ELA,CLE,ERA REMOVE ANY INDIRECT BIT. JSB LOOK2 LOOK UP SYMBOL FOR -B-. JMP DEF2 END TABLE, NO SYMBOL REFERENCE. JSB COMPR SYMBOL MATCHED, IS IT PRINTABLE? JMP DEF5 YES, GO GET IT. DEF2 LDA HLS02 NO, SO WE PRINT OCTAL ADDRESS. CMA,INA CHECK TO SEE IF OPERAND ADDRESS ADA PCNTR IS WITHIN 7 OF LOAD ADDRESS. LDB APLUS AS A PRELIMINARY, DETERMINE SSA,RSS "+" OR "-". LDB AMINU BLF,BLF ROTATE SIGN TO TOP HALF OF WD. SSA IF DISTANCE IS NEGATIVE, CMA,INA SET IT POSITIVE. ADB AZERO ADD ASCII OFFSET TO -B-. ADB A ADD DISTANCE IN CASE O.K. AND .-8 WIPE OUT LOW 3 BITS. SZA IF DISTANCE GREATER THAN 7, JMP DEF3 THEN JUST PRINT OCTAL ADDR. STB DPB21,I DIST <= 7, STORE IN PRINT BUFR. LDA ASTAR THEN GET ASTERISK, IOR HNRIC INCLUDE LEADING BLANK, STA DPB20,I & PUT IN FRONT OF DISTANCE. JMP DEF6 GO TEST FOR INDIRECT. DEF3 LDA HLS02 OPERAND AND PCNTR SEPARATED JSB OCONV BY MORE THAN 7, SO JUST PRINT׏NLH DEF PRBUF+20 OPERAND ADDRESS. JMP DEF6 GO TEST FOR INDIRECT. SPC 1 DEF4 LDA HLS01 EXTERNAL, GET ITS SYMBOL ADDR. RSS SKIP. DEF5 LDA .INFO FORMAT, VARIABLE, LABEL, ARRAY, * OR PROCEDURE. JSB STOPD STORE SYMBOL IN OPERAND FIELD. DEF6 LDB INST LDA BLBL ENTER: -A- = TWO BLANKS. SSB IF INSTRUCTION IS INDIRECT, LDA COMAI REPLACE THEM WITH ",I". JSB ADCHR APPEND CHARS, SET PTR FOR CCNT. HLS30 LDA FUBRP CHARACTER COUNT = CMA,INA 2*(PTR - FUBRP + 1) ADA PTR |N INA RAL *2 SKP * CONTROL HERE TO FINALLY PRINT THE LINE. SPC 1 HLS40 LDB FUBRP ADDRESS OF PRINT BUFFER. JSB PRINT GO PRINT LINE (MAX 30 WORDS). JSB CLRBF NOW CLEAR PRINT BUFFER. LDA HLS04 STA .INFO RESET .INFO TO ENTERING VALUE. LDA HLS06 JSB SCATR RE-SCATTER ENTERING SYMBOL. JMP HLIST,I NOW RETURN. SPC 1 DDEF DEF *+1 ASC 2,DEF SPC 1 ORG LDA PCNTR CONVERT AND STORE PCNTR JSB OCONV IN OPERAND FIELD. DEF PRBUF+20 LDB DORG ORR1 LDA .+2 JSB STMNM STORE "ORG" OR "ORR". LDA ASLSH = DECIMAL 47, CHARACTER COUNT. JMP HLS40 DONE, GO PRINT LINE. SPC 1 DORG DEF *+1 ASC 2,ORG DORR DEF *+1 ASC 2,ORR "R" EQU *-1 SPC 1 * THE FOLLOWING CODE OUTPUTS THE "ORR" PSEUDO-OP (CALLED BY * EMRST). HOWEVER, AT THIS POINT, PCNTR HAS NOT BEEN UPDATED * TO THE VALUE THAT WAS SAVED WHEN WE EMITTED THE INSTRUCTION * OUT OF LINE. THE VALUE STORED INTO THE PCNTR FIELD IN THE * PRINT BUFFER AT THE ENTRANCE TO HLIST IS THEREFORE WRONG, * SO WE MUST GET THE CORRECT VALUE (FROM EMJSV+2) AND OVERLAY * OUR EARLIER CONVERSION. SPC 1 ORR LDA EMJSV+2 JSB OCONV DEF PRBUF LDA BLBL RESTRICT PCNTR PRINTOUT TO STA FUBRP,I FIVE OCTAL DIGITS. LDB DORR JMP ORR1 SKP BSS LDA .+2 LDB DBSS JSB STMNM STORE "BSS" MNEMONIC. LDA EMSVA GET AMOUNT TO BE RESERVED. JMP BSS1 CONVERT AND PRINT IT. SPC 1 DBSS DEF *+1 ASC 2,BSS DJSB DEF AJSB SPC 1 REGRF JSB STINS STORE CONVERTED INSTRUCTION WRD. LDA INST LOOK UP REGISTER REF INSTRUCTION JSB OPCDS & STORE IT IN MNEMONIC FIELD. JMP HLS30 THEN GO PRINT LINE. SPC 1 MEMRF LDB DJSB CHECK FIRST FOR EXTERNAL, LDA EMREL BECAUSE IT CAN BE HNhANDLED CPA .+4 BY "DEF" ROUTINE. JMP DEF+1 EXTERNAL "JSB". LDA SUMP NOT AN EXTERNAL. AND .1777 MERGE IOR .2000 OPERAND IOR INST WITH OP CODE. JSB OCONV CONVERT AND STORE DEF PRBUF+4 IN INSTRUCTION FIELD. LDA "R" ADD "R" STA DPB8,I RELOCATION CHARACTER. LDA INST GET OP CODE. ELA,CLE,ERA REMOVE INDIRECT BIT. JSB OPCDS LOOK UP MNEMONIC AND STORE IT. CCB PREPARE TO CLEAR "+1" FLAG. LDA HLS03 GET ADDRESS OF CURRENT MNEMONIC. CPA DLDB WAS MNEMONIC "LDB"? CLB YES, SET "+1" FLAG. CPA DSTB NO, HOW ABOUT "STB"? CLB YES, SET "+1" FLAG. STB HLS03 SAVE THE FLAG. LDA SUMP OPERAND TO BE FOUND. JSB LOOK2 GO LOOK UP SYMBOL IF POSS. JMP DEF2 NO SYMBOLIC REFERENCE. JSB COMPR SYMBOL MATCHED, IS IT PRINTABLE? LDA .INFO YES, GET ITS ADDRESS. JSB STOPD GO STORE NAME IN OPERAND FIELD. LDA PLUS1 CHECK FOR "LDB" OR "STB" ISZ HLS03 OF "SYMBOL+1". JSB ADCHR IT IS, SO GO ADD "+1". JMP DEF6 CHECK FOR INDIRECT, PRINT LINE. SKP * CONSTANTS AND STORAGE FOR HLIST MAIN SPC 1 .1777 OCT 1777 .2000 OCT 2000 .DM30 DEC -30 DLDB DEF ALDB DSTB DEF ASTB DPB8 DEF PRBUF+8 DPB21 DEF PRBUF+21 HLS01 NOP HLS02 NOP HLS03 NOP HLS04 NOP HLS05 NOP HLS06 NOP INCR NOP PTR NOP PLUS1 ASC 1,+1 COMAI ASC 1,,I "X" ASC 1,X SKP * UTILITY SUBROUTINES FOR HLIST SPC 1 * CLRBF CLEARS PRINT BUFFER. CALLED WHEN COMPILER IS LOADED * AND AFTER PRINTING EACH LINE. SPC 1 CLRBF NOP ENTRY/EXIT. LDA FUBRP S.A. OF PRINT BUFFER. STA PTR SAVE IN MOVING POINTER. LDA BLBL TWO ASCII BLANKS. LDB .DM30 STA PTR,I ISZ PTR INB,SZB FINISH9)ED? JMP *-3 NOT YET. JMP CLRBF,I YES, RETURN. SPC 1 COMPR NOP CHECKS SYMBOL TYPE IN -A- FOR CPA TYVAR VARIABLE, JMP COMPR,I CPA DFLAB LABEL, JMP COMPR,I CPA TYARA ARRAY, JMP COMPR,I CPA PRPRO PROPER PROCEDURE, JMP COMPR,I CPA TYPRO INTEGER OR REAL PROCEDURE, JMP COMPR,I CPA TYFMT FORMAT. JMP COMPR,I JMP DEF2 NONE, SO PRINT OCTAL AT DEF2. SPC 1 LBLCK NOP ENTRY/EXIT. CLA,RSS DO SYMBOL TABLE SEARCH TO LBLC1 CLA,INA SEE IF LABEL BELONGS JSB LOOK IN THIS INSTRUCTION. JMP LBLC2 END OF TABLE, NO LABEL. CCB ADB .INFO LDB B,I GET VALUE OF CURRENT SYMBOL. ELB,CLE,ERB REMOVE ANY INDIRECT BIT. CMB,INB ADB PCNTR COMPARE VALUE WITH PCNTR. CPA DFLAB IF SYMBOL IS NOT TYPE LABEL, SZB OR ITS VALUE # PCNTR, JMP LBLC1 IT'S NOT THE ONE WE WANT. LDA .INFO GET SYMBOL TYPE IN -A-. JMP LBLCK,I RETURN TO (P+1) TO STORE. LBLC2 ISZ LBLCK BUMP RETURN TO (P+2). JMP LBLCK,I RETURN. SPC 1 STINS NOP STORES INSTRUCTION IN LDA INST INSTRUCTION FIELD. JSB OCONV DEF PRBUF+4 JMP STINS,I SKP * SUBROUTINE - LOOK2 SPC 1 * THIS SUBROUTINE MAKES REPEATED CALLS TO LOOK TO TRY TO * MATCH THE OPERAND IN -A- ON ENTRY WITH SOME SYMBOL VALUE * IN THE ALGOL SYMBOL TABLE. IF IT IS SUCCESSFUL, CONTROL * RETURNS TO P+2 WITH .INFO SET TO THAT SYMBOL AND THE * SYMBOL TYPE IN -A-. IF THE OPERAND IS NOT MATCHED, * CONTROL RETURNS TO P+1. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA * JSB LOOK2 * * SPC 2 LOOK2 NOP  ENTRY/EXIT. STA HLS02 SAVE VALUE TO BE COMPARED. CLA,RSS FIRST CALL TO LOOK. LOK21 CLA,INA TRY NEXT SYMBOL. JSB LOOK GET A SYMBOL FROM TABLE. JMP LOOK2,I END OF TABLE, P+1 RETURN. LDA .XBIT GET CURRENT SYMBOL'S EXT BIT. LDB EMREL GET OPERAND'S INDICATOR. CPB .+4 IF OPERAND IS EXTERNAL, JMP LOK22 GO SEE IF SYMBOL IS. SZA OPERAND # EXT, IF SYMBOL IS EXT, JMP LOK21 NOT A MATCH, GET NEXT ONE. JMP LOK23 OP'ND TYPE = SYMBOL TYPE # EXT. LOK22 SZA,RSS OPERAND IS EXTERNAL, IS SYMBOL? JMP LOK21 NOPE, BACK TO THE DRAWING BOARD. LOK23 LDA .TYPE TYPES MATCH, RESTORE: A = .TYPE CCB EXAMINE CURRENT SYMBOL'S ADB .INFO VALUE TO SEE IF LDB B,I IT'S THE ONE WE WANT. ELB,CLE,ERB REMOVE ANY INDIRECT BIT. CPB HLS02 SYMBOL FOUND? CPA TYEQU YES, IS IT TYPE "EQUATE"? JMP LOK21 EQUATE OR NO MATCH, KEEP LOOKING. ISZ LOOK2 MATCH AND NO EQUATE, JMP LOOK2,I RETURN TO P+2. SKP * SUBROUTINE - ADCHR SPC 1 * THIS SUBROUTINE APPENDS THE TWO CHARACTERS IN -A- ON ENTRY * TO THE END OF THE OPERAND FIELD IN THE PRINT BUFFER. AS SUCH, * IT IS USEFUL FOR ADDING SUCH GOODIES AS ",I" FOR INDIRECT * INSTRUCTIONS AND "+1" FOR DOUBLE LOAD/DOUBLE STORE * INSTRUCTIONS. THE ROUTINE INCLUDES CODE FOR BREAKING THE * TWO CHARACTERS ACROSS A WORD BOUNDARY, SHOULD THAT BE * NECESSARY. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA <2 ASCII CHARACTERS TO BE ADDED> * JSB ADCHR SPC 1 * RETURN: -A- AND -B- DESTROYED SPC 2 ADCHR NOP ENTRY/EXIT. STA HLS02 SAVE THE TWO CHARACTERS. LDA DPB20 INITIALIZE PTR TO STA PTR START OF OPERAND FIELD. CLB INITIALIZE UPPER/LOWER FLAG. ADCH1 LDA PTR,I GET CURRENT OPERAND WORD. #p SLB IF WORKING WITH UPPER HALF, ALF,ALF SHIFT IT TO LOWER HALF. AND .377 ISOLATE LOWER HALF CHARACTER. CPA ABLAN IF IT'S A BLANK, CONTINUE WITH JMP ADCH2 INFO IN PTR AND -B-. SLB,INB,RSS NOT DONE YET, BUMP U/L FLAG. ISZ PTR IT WAS LOWER HALF, BUMP TO JMP ADCH1 NEXT WORD AND CONTINUE. ADCH2 LDA HLS02 RECALL INPUT CHARACTERS. CPA BLBL DUMMY CALL TO SET PTR? JMP ADCHR,I YES, EXIT IMMEDIATELY. SLB,RSS CAN WE FIT THEM IN ONE WORD? JMP ADCH4 NO, GO SPLIT THEM UP. ADCH3 STA PTR,I YES, PUT THEM AWAY. JMP ADCHR,I RETURN HERE. ADCH4 ALF,ALF ROTATE AND SAVE STA HLS02 CHARACTERS TO BE SPLIT. AND .377 ISOLATE FIRST CHARACTER. IOR PTR,I INCLUDE FINAL OPERAND CHAR. * (FIRST CHAR IS EITHER , OR * + SO BLANK IN LOWER HALF * DOESN'T BOTHER US). STA PTR,I RESTORE THE WORD. ISZ PTR BUMP TO NEXT BUFFER LOCATION. LDA HLS02 GET SECOND CHARACTER AND HIMSK IN TOP HALF. IOR ABLAN INCLUDE LOWER HALF BLANK. JMP ADCH3 STORE WORD AND EXIT. SKP * SUBROUTINE - STLBL SPC 1 * STLBL (STORE LABEL) IS A PRELIMINARY TO STSYM. ALL IT * DOES IS GET THE ADDRESS OF THE LABEL FIELD IN THE PRINT * BUFFER AND PASS IT TO STSYM. THE ADDRESS OF THE SYMBOL * ENTRY (IN -A-) IS UNTOUCHED. SINCE STLBL MAY BE CALLED FROM * OUTSIDE HLIST, THE OBJECT CODE LIST FLAG IS TESTED BEFORE ANY * ACTION IS TAKEN. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA
* JSB STLBL SPC 1 * RETURN: -A- AND -B- DESTROYED. SPC 2 STLBL NOP ENTRY/EXIT. LDB LSFLG IF OBJECT CODE SZB,RSS NOT BEING LISTED, JMP STLBL,I RETURN IMMEDIATEYLY. LDB DPB9 DEF PRBUF+9. JSB STSYM GO STORE SYMBOL. JMP STLBL,I THEN RETURN. SPC 1 DPB9 DEF PRBUF+9 SPC 2 * SUBROUTINE - STOPD SPC 1 * STOPD (STORE OPERAND) IS A PRELIMINARY TO STSYM. ALL IT * DOES IS GET THE ADDRESS OF THE OPERAND FIELD IN THE PRINT * BUFFER AND PASS IT TO STSYM. THE ADDRESS OF THE SYMBOL * ENTRY (IN -A-) IS UNTOUCHED. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA
* JSB STOPD SPC 1 * RETURN: -A- AND -B- DESTROYED. SPC 2 STOPD NOP ENTRY/EXIT. LDB DPB20 DEF PRBUF+20. JSB STSYM GO STORE SYMBOL. JMP STOPD,I THEN RETURN. SKP * SUBROUTINE - STSYM SPC 1 * STSYM (STORE SYMBOL) DOES ALL THE WORK FOR STLBL (STORE * LABEL) AND STOPD (STORE OPERAND). ALL THESE LATTER TWO DO * IS SPECIFY THE FIELD (LABEL FIELD OR OPERAND FIELD) INTO * WHICH THE SYMBOL IS TO BE STORED BY PUTTING ITS STARTING * ADDRESS INTO -B- BEFORE CALLING STSYM. STSYM TRANSFERS * THE SYMBOL INTO THE APPROPRIATE FIELD IN THE PRINT BUFFER. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA
* LDB
* JSB STSYM SPC 1 * RETURN: -A- AND -B- DESTROYED. SPC 2 STSYM NOP ENTRY/EXIT. STB PTR SAVE OUTPUT ADDRESS. JSB CHARM GET ADDRESS OF SYMBOL IN -B-, * # OF CHARACTERS IN -A-. CLE,ERA CHARS TO WORDS, ODD BYTE IN -E-. CMA,INA CONVERT TO NEGATIVE AND STA INCR SAVE AS COUNTER. LDA B,I GET FIRST WORD OF SYMBOL ENTRY. AND .377 REPLACE CHARACTER COUNT (TOP IOR HNRIC HALF) WITH BLANK. STA PTR,I PUT IT AWAY. LDA INCR SZA,RSS IF ONLY ONE CHARACTER IN SYMBOL, JMP STSYM,I RETURN, WE'RE DONE. STSY1 ISZ PTR  CONTINUE INB TO LDA B,I STORE STA PTR,I SYMBOL ISZ INCR UNTIL JMP STSY1 FINISHED. SEZ IF WE END ON A WORD BOUNDARY, JMP STSYM,I WE'RE DONE, RETURN. LDA PTR,I NO SUCH LUCK, AND HIMSK SO FORCE IOR ABLAN LOWER HALF OF FINAL WORD STA PTR,I TO BE A BLANK. JMP STSYM,I THEN RETURN. SKP * SUBROUTINE - STMNM SPC 2 * STMNM (STORE MNEMONIC) TRANSFERS THE ASCII MNEMONIC IN THE * INPUT BUFFER TO THE LINE PRINTER BUFFER MNEMONIC FIELD. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA <# OF WORDS IN MNEMONIC> * LDB
* JSB STMNM SPC 2 * RETURN: -A- AND -B- DESTROYED. SPC 3 STMNM NOP ENTRY/EXIT. STB HLS03 SAVE ENTERING ADDRESS. CMA,INA COMPLEMENT NUMBER OF WORDS AND STA INCR SAVE AS COUNTER. LDA DPB18 GET MNEMONIC FIELD PRINT ADDRESS STA PTR AND SAVE IN MOVING POINTER. STMN1 LDA B,I TRANSFER STA PTR,I MNEMONIC INB TO ISZ PTR MNEMONIC ISZ INCR FIELD JMP STMN1 IN PRINT BUFFER. JMP STMNM,I DONE, RETURN. SPC 1 DPB18 DEF PRBUF+18 SKP * SUBROUTINE - OPCDS SPC 1 * OPCDS SEARCHES THE OP CODE TABLE FOR A MATCH * FOR THE UNKNOWN CODE IN -A- ON INPUT. SIMULTANEOUSLY, A * POINTER TO THE ASCII TABLE OF MNEMONICS IS INCREMENTED. * WHEN THE UNKNOWN CODE IS MATCHED, THE ASCII EQUIVALENT IS * PLACED IN THE OP CODE FIELD OF THE PRINTER OUTPUT BUFFER. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA * JSB OPCDS SPC 1 * ON RETURN, THE MNEMONIC HAS BEEN PLACED IN THE OP CODE FIELD * OF THE PRINTER OUTPUT BUFFER. -A- AND -B- ARE DESTROYED. SPC 2 OPCDDcS NOP ENTER W/ UNKNOWN CODE IN -A-. STA MCDSV SAVE ENTERING OP CODE. LDA OPCDT STA OCPTR INITIALIZE MNEMONIC TABLE PTR. LDB MCODT (B) = MACHINE CODE TABLE PTR. CLA INITIALIZE MNEMONIC TABLE ADA .+2 INCREMENT VALUE. IN LOOP, BUMP STA INCR IT BY 2 WHENEVER WE'RE HERE. OSRCH LDA B,I GET CURRENT MACHINE OP CODE. CPA MCDSV IF IT MATCHES INPUT CODE, JMP FOUND SEARCH IS DONE. INB NOT A MATCH, BUMP MACH CODE PTR. LDA OCPTR ADD CURRENT MNEMONIC TABLE ADA INCR OFFSET TO GET NEXT MNEMONIC. STA OCPTR STORE MNEMONIC POINTER BACK. LDA INCR PREPARE TO MODIFY INCR. CPB DINC1 IF WE'RE AT 3-WORD MNEMONICS, ISZ INCR BUMP INCR FROM 2 TO 3. CPB DINC2 IF WE'RE AT 4-WORD MNEMONICS, ISZ INCR BUMP INCR FROM 3 TO 4. CPB DINC3 IF WE'RE AT 6-WORD MNEMONIC, JMP OSRCH-2 BUMP INCR FROM 4 TO 6. CPB DINC4 IF WE'RE AT 8-WORD MNEMONIC, JMP OSRCH-2 BUMP INCR FROM 6 TO 8. JMP OSRCH NONE OF THESE, USE SAME INCR. FOUND LDA INCR GET NUMBER OF WORDS IN MNEMONIC. LDB OCPTR GET ADDRESS OF MNEMONIC JSB STMNM GO STORE IN OP CODE FIELD. JMP OPCDS,I RETURN. SPC 1 DINC1 DEF INCR1 DINC2 DEF INCR2 DINC3 DEF INCR3 DINC4 DEF INCR4 MCDSV NOP OCPTR NOP SKP * TABLE OF GENERATED OP CODES. SPC 1 MCODT DEF *+1 OCT 40000,10000,3400,2400 ADA AND CCA CLA OCT 6400,3000,1500,2004 CLB CMA ERA INA OCT 30000,24000,14000,60000 IOR JMP JSB LDA OCT 64000,0,2001,2020 LDB NOP RSS SSA OCT 6020,70000,74000,2002 SSB STA STB SZA SPC 1 INCR1 OCT 60001,102501 LDA 1 LIA 1 SPC 1 INCR2 OCT 3401,7401 CCA,RSS CCB,RSS OCT 2404,6404 CLA,INA CLB,INB OCT 3004,2021  CMA,INA SSA,RSS OCT 1727,2003 ALF,ALF SZA,RSS SPC 1 INCR3 OCT 3104 CMA,CLE,INA SPC 1 INCR4 OCT 3026 CMA,SSA,INA,SZA SPC 5 * TABLE OF MNEMONICS. SPC 1 OPCDT DEF *+1 ASC 8,ADA AND CCA CLA ASC 8,CLB CMA ERA INA ASC 4,IOR JMP AJSB EQU * ASC 4,JSB LDA ALDB EQU * ASC 8,LDB NOP RSS SSA ASC 4,SSB STA ASTB EQU * ASC 4,STB SZA SPC 1 ASC 6,LDA 1LIA 1 SPC 1 ASC 8,CCA,RSS CCB,RSS ASC 8,CLA,INA CLB,INB ASC 8,CMA,INA SSA,RSS ASC 8,ALF,ALF SZA,RSS SPC 1 ASC 6,CMA,CLE,INA SPC 1 ASC 8,CMA,SSA,INA,SZA SPC 1 HED LOCATION COUNTER AND CONTROL EMITTERS * ************************************ * * EMBSS - EMIT 'BSS'- BUMPS THE * * * CURRENT LOCATION COUNTER * * * A REGISTER = LENGTH OF BLOCK * * ************************************ EMBSS NOP STA EMSVA SAVE A JSB CLEAR CLEAR LOAD/STORE FLAG CLB JSB BREC OUTPUT REMAINDER OF CURRENT BIN.REC. LDA .+5 JSB HLIST LIST 'BSS' LDA EMSVA RESTORE A (BLOCK LENGTH). ADA PCNTR BUMP CNTR BY BSS VALUE STA PCNTR STORE IT JMP EMBSS,I EXIT EMBSS * ****************************** * * EMSET - CLEAR PUNCH BUFFER * * * EMIT BLANK LINE * * * SAVE PCNTR * * * SET PCNTR = B REG * * * ENTRY VALUE * * * EMRST - CLEAR PUNCH BUFFER * * * EMIT BLANK LINE * * * RESTORE PCNTR * * * EMJPR - EMIT A BLANK LINE * * * CLEAR PUNCH BUFFER * * ****************************** EMSET NOP STB EMJSV SAVE OUTPUT LOCATION (IN 'B') JSB EMJPR EMIT LINE - CLEAR PUNCH BUFFER LDA PCNTͥR STA EMJSV+2 SAVE PCNTR LDB EMJSV STB PCNTR SET PCNTR = OUTPUT LOCATION LDA .+3 JSB HLIST "ORG " JMP EMSET,I EXIT EMRST NOP LDA .+4 JSB HLIST "ORR" JSB EMJPR EMIT LINE - CLEAR PUNCH BUFFER LDA EMJSV+2 STA PCNTR RESTORE PCNTR JMP EMRST,I EXIT EMJPR NOP EMIT BLANK LINE - CLEAR PNBUF CLA LDB LSFLG SZB IS LIST FLAG ON? JSB PRINT YES, EMIT A BLANK LINE CLB JSB BREC EMPTY PUNCH BUFFER JMP EMJPR,I EXIT SKP * ************************************** * * EMEXT - PUNCH AN 'EXT' RECORD. * * * 1. TEST NAME FOR PREVIOUS USE * * * AS AN 'EXT', IF USED, EXIT.* * * 2. BUMP EXT ORDINAL COUNTER, * * * SAVE IN NAME ENTRY * * * 3. SET UP AND PUNCH THE 'EXT'.* * * A REG.= SYMBOL TABLE ADDR OF NAME * * ************************************** HXRIC OCT 100001 'EXT' REC.ID.CODE(4) AND COUNT EXORD NOP 'EXT' ORDINAL COUNTER(=CURRENT VALUE) EMEXT NOP LDB A,I INFO WORD TO B REG. RBL POSITION EXT BIT SSB,RSS IS EXT BIT ON? JMP EMEXT,I NO, EXIT EMEXT. STA EMREL SAVE LOC'N OF INFO WORD STA HLS01 SAVE IT FOR HLIST ALSO. ADA .-1 LDB A,I GET ADDRESS WORD(= EXT ORDINAL) SZB IS THIS NAME ALREADY AN EXTERNAL SYM? JMP EMEXT,I YES, EXIT EMEXT ISZ EXORD BUMP EXT ORDINAL COUNTER LDA EXORD CPA P400B IS IT GRTR THAN 377B ? JMP EMEX5 YES, GO TO ERROR DIAGNOSTIC JSB BREC NO - CLEAR PUNCH BUFFER (B = 0) LDA EMREL GET LOC'N OF INFO WORD LDB .+6 NO. OF WORDS IN EXT RECORD = 6. JSB EMMOV MOVE EXT NAME TO PUNCH BUFFER * * GET EXT ORDINAL READY FOOR PUNCHING * LDA EXORD ORDINAL TO A REGu. LDB EMREL GET TABLE ADDRESS FOR ORDINAL ADB .-1 INSERTION. STA B,I INSERT ORDINAL LDA PNBUF+5 AND HIMSK PLACE EXT ORDINAL INTO ADA EXORD ITS SLOT IN PNBUF+5 STA PNBUF+5 RESTORE PNBUF+5 LDA HXRIC STA PNBUF+1 SET RIC = 4 (EXT) JSB PNCH GO PUNCH EXT RECORD - LDB EXORD JMP EMEXT,I *EXIT FROM EMEXT * * * * EMEX5 JSB .FLAG TO ERROR PRINTER ALPRN DEC 40 TOO MANY EXTERNAL SYMBOLS LDB .377 STB EXORD SET EXORD = 377B JMP EMEXT,I SKP * ******************************************** * * EMMOV - MOVE SYMBOL NAME TO PUNCH BUFFER * * * A REG.= ADDRESS OF SYMBOL'S INFO WORD. * * * IF NAME GRTR THAN 5 CHARS 1ST 5 USED. * * * B REG.= LENGTH OF PUNCH RECORD. * * ******************************************** FBNP3 DEF PNBUF+3 NAME ADDRESS(NAM,ENT,EXT TYPES) EMMOV NOP STB PNBUF SET LENGTH OF PUNCH RECORD LDB BLBL STB PNBUF+4 BLANKS TO BUFFER STB PNBUF+3 STB PNBUF+5 JSB CHARM GET NAME ADDR. AND NO. OF CHARS CMINA CMA,INA COMPLEMENT IT STA T+1 STORE IN T+1 ADA .+5 SSA,RSS IS NUMBER GRTR THAN 5? JMP *+3 NO LDA .-5 YES STA T+1 SET T+1 = -5 LDA FBNP3 STA T SET T=BUFFER ADDRESS OF NAME EMMV3 LDA B,I GET LOWER CHARACTER ALF,ALF MOVE IT TO UPPER AND HIMSK CLEAR LOWER STA T+2 LDA T,I GET BUFFER AND .377 CLEAR UPPER ADA T+2 SET IN CHARACTER(UPPER) STA T,I STORE IT ISZ B BUMP STUFF NAME LOCATION ISZ T+1 IS LAST CHARACTER IN? RSS RSS NO, CONTINUE JMP EMMOV,I YES, EXIT FROM EMMOV LDA B,I GET UPPER CHARACTER AND HIMSK CLEAR LOWER ALF,ALF MOVE IT TO LOWER5? STA T+2 SAVE LOWER CHARACTER LDA T,I GET BUFFER AND HIMSK CLEAR LOWER ADA T+2 SET IN CHARACTER(LOWER) STA T,I STORE IT ISZ T BUMP BUFFER LOCATION ISZ T+1 IS LAST CHARACTER IN? JMP EMMV3 NO, CONTINUE JMP EMMOV,I YES, EXIT EMMOV HED LOAD AND STORE EMITTERS * ************************************ * * EMSTR - SET UP FOR STORE EMITTING* * * EMLOD - SET UP FOR LOAD EMITTING * * * 1. SETS UP INSTRUCTION FORMAT * * * LIST PARAMETER. * * * A REG.=OPERAND ENTRY POINTER * * ************************************ EMLOD NOP CLB JSB EMLST SETUP FORMAT ADDRESS INCREMENT JMP EMLOD,I * * EMSTR * * * EMSTR NOP LDB .+3 GET STORE OFFSET JSB EMLST JMP EMSTR,I * ********************************************** * * EMLST - SET UP LOAD AND STORE INSTRUCTIONS * * * FOR PUNCH OUTPUT PROCESSING * * * A REG.= OPERAND ENTRY POINTER * * * B REG = FORMAT LIST ADDRESS OFFSET * * * 0 = LOAD INSTRUCTIONS * * * 3 = STORE INSTRUCTIONS * * * 'EMCLR' = PREVIOUS OPERAND ENTRY POINTER * * * 1. IF OPERAND IS REAL AND INDIRECT SET * * * UP FOR DLD/DST PROCESSING. * * * 2. IF OPERAND IS REAL ONLY,SET UP FOR * * * LDA,LDB/STA,STB PROCESSING. * * * 3. IF OPERAND IS AN INTEGER SET UP FOR * * * LDA/LDB PROCESSING. * * ********************************************** EMCLR BSS 1 ADDRESS SAVE FOR LOAD/STORE 'CLEAR' EMCLX BSS 1 FLAG FOR LOAD/STORE 'CLEAR' TESTING EMJSV BSS 3 SAVE AREA FOR EMJPS (3 LOC'NS) EMSLD EQU EMJSV COMPUTED ADDR OF LOAD/STORE FMTS EMSTT EQU EMJSV+1 SAVE LOD/STR OPERAND ADDsNLHRESS EMREL BSS 1 SAVE RELOCATION TYPE(OR BYTE) EMSVA BSS 1 SAVE 'A' REG. SLOT IN EMITTERS. EMLDX DEF *+1 FORMAT TABLE USED BY EMLOD AND EMSTR OCT 60000,64000 LDA/LDB FORMATS DEF .DLD DOUBLE STORE SUBRTN. OCT 70000,74000 STA/STB FORMATS DEF .DST DOUBLE STORE SUBRTN. EMLST NOP STA EMSVA SAVE OPERAND ENTRY POINTER ADB EMLDX STB EMSLD SET UP FORMAT ADDRESSES ADA .-1 STA EMSTT SAVE CURRENT OPERAND ADDRESS LOCN. LDA A,I GET CURRENT OPERAND ADDRESS LDB EMCLX GET LOAD/STORE FLAG SZB,RSS WAS LAST OUTPUT A LOAD OR STORE? JMP *+3 NO, SKIP NEXT TEST CPA EMCLR IS CURR.ADDRESS SAME AS LAST? JMP EMLST,I YES, EXIT EMLST CLINB CLB,INB STB EMCLX SET LOAD/STORE FLAG STA EMCLR SAVE CURRENT OPERAND ADDRESS ?N SSA IS IT REAL ? JMP EMLS5 YES, GO TO REAL PROCESSOR EMLS1 LDA EMSVA GET OPERAND ADDRESS LDB EMSLD,I INSTRUCTION FORMAT TO B JSB EMCOD OUTPUT INSTRUCTION SUBROUTINE. LDA EMSVA,I SSA,RSS IS OPERAND REAL? JMP EMLST,I NO, LEAVE EMLST ISZ EMSTT,I YES LDA EMSVA A = OPER, ENTRY ADDR. ISZ EMSLD LDB EMSLD,I SET B = LDB OR STB JSB EMCOD LDA EMSTT,I ADA .-1 STA EMSTT,I RESET OPER. LOC'N. JMP EMLST,I EXIT EMLS5 LDA EMSVA,I SSA,RSS IS OPER. REAL? JMP EMLS1 NO LDA EMSLD ADA .+2 A = ADDR. OF DLD/DST LDA A,I ADDR IN A LDB FJSB JSB EMCOD OUTPUT 'JSB' LDA EMSVA GET OPERAND ENTRY LOCATION JSB EMDEF GO TO DEF OUTPUT JMP EMLST,I EXIT EMLST SKP * ********************************* * * EMNOP - EMIT A WORD OF ZEROES * * ********************************* EMNOP NOP CLA,INA SET A FOR 1 WORD BSS JSB EMBSS GO TO BSS EMITTER(THEY BECOME 0) JMP EMNOP,I * ***************************************************** * * CLEAR - CLEAR THE LOAD/STORE REPEAT FLAG, 'EMCLX' * * ***************************************************** CLEAR NOP CLA STA EMCLX CLEAR 'EMCLX' JMP CLEAR,I EXIT * *************************************** * * EMRRF AND EMASC - DUMMY ENTRIES TO * * * EMOCT TO CALL HLIST PROPERLY FOR * * * LISTING REGISTER REFERENCE * * * INSTRUCTIONS OR ASCII CHARACTER * * * PAIRS * * *************************************** EMRRF NOP JSB EMOCT EMRR1 JMP EMRRF,I SPC 1 EMASC NOP JSB EMOCT EMAS1 JMP EMASC,I SPC 1 * *************************************** * * EMOCT - ADD AN O_CTAL INSTRUCTION TO * * * THE OBJECT CODE PROGRAM. * * * A REG.= VALUE TO BE EMITTED. * * *************************************** EMOCT NOP STA INST INST = OCTAL VALUE JSB CLEAR CLEAR LOAD/STORE REPEAT FLAG CLA,INA A=1 FOR OCTAL INSTR LISTING. LDB EMOCT,I HOWEVER - - - CPB EMRR1 IF EMOCT CALLED FROM EMRRF, LDA .+6 SET HLIST FOR REGISTER REF. CPB EMAS1 OR IF CALLED FROM EMASC, LDA .+7 THEN SET FOR ASCII WORD. JSB HLIST DO IT, WHICHEVER WAY. CLA A=0 (ABSOLUTE) CLB,INB B=1 (OUTPUT AN INSTRUCTION) JSB BREC TO PUNCH SETUP ROUTINE JMP EMOCT,I EXIT SKP * ******************************************* * * EMJSB - SET UP JSB PARAMETERS FOR PUNCH * * * A REG.= ADDRESS OF OPERAND ENTRY IN * * * STUFF * * ******************************************* EMJSB NOP CLB STB EMJSV SAVE B REG. LDB FJSB JSB FORMAT TO B JSB EMJPS GO TO JUMP OUTPUT PROCESSOR JMP EMJSB,I EXIT FJSB OCT 14000 JSB FORMAT FJMP OCT 24000 JMP FORMAT * ******************************************* * * EMJMP - SET UP JMP PARAMETERS FOR PUNCH * * * A REG.= OPERAND * * * B REG = SAME AS FOR EMJSB(ABOVE) * * ******************************************* EMJMP NOP STB EMJSV STA EMPTR-1 OPERAND TO PSEUDO STUFF ENTRY LDA EMPTR+1 A = POINTER TO PSEUDO ENTRY LDB FJMP JMP FORMAT TO B JSB EMJPS GO TO JUMP OUTPUT PROCESSOR JMP EMJMP,I EXIT * ***************************************** * * EMJPS - PROCESS JUMP INSTRUCTIONS FOR * * * PRINTING AND PUNCHING. * * * A REG = POINTER(OPERAND STUFF ENTRY)* * 2 * EMJSV = 0, EMIT INSTRUCTION IN LINE * * * EMJSV = EXECUTION ADDRESS OF INSTR. * * * -EMIT BLANK LINE BEFORE AND AFTER * * * CODE GENERATED WHEN B NOT 0. * * * B REG.= INSTRUCTION FORMAT * * ***************************************** EMJPS NOP STB INST SET INSTRUCTION FORMAT STA EMJSV+1 SAVE OPERAND ENTRY POINTER JSB CLEAR CLEAR EMCLR(LOAD/STORE FLAG). LDB EMJSV SZB IS INSTRUCTION IN LINE? JSB EMSET NO - PREPARE PCNTR/SKIP/PUNCHOUT LDA EMJSV+1 GET OPERAND POINTER LDB INST GET INSTRUCTION FORMAT JSB EMCOD OUTPUT PUNCH AND LIST ROUTINE LDB EMJSV SZB WAS INSTRUCTION IN LINE? JSB EMRST NO - RESTORE PCNTR, ETC. JMP EMJPS,I EXIT HED MEMORY REFERENCE EMITTERS * ******************************************** * * EMDEF - PROCESS 'DEF' FOR PUNCH AND LIST * * * A REG.= ADDRESS OF OPERAND STUFF ENTRY* * ******************************************** EMDEF NOP LDB A,I RBL SSB IS THIS AN EXTERNAL SYMBOL ? JMP EMD30 YES, GO TO EXT SETUP ADA .-1 LDB A,I PICK UP OPERAND STB INST PLACE IT INTO INST CLA,CLE,INA A=1 E=0 EMD10 STA EMREL SAVE RELOCATION FLAG JSB CLEAR CLEAR LOAD/STORE FLAG LDA .+2 SET A = 2 FOR HLIST('DEF' PARAMETER) JSB HLIST GO TO LIST ROUTINE LDA EMREL CLB,INB SET B = 1 FOR INSTR. OUTPUT JSB BREC GO PUNCH THE ENTRY JMP EMDEF,I EXIT FROM DEF EMD30 JSB EMEXT PROCESS EXT STB INST INST NOW HAS THE ORDINAL LDA .+4 FOR EMREL = 4 JMP EMD10 * *** DEFR - SET EMPTR FOR DEF DEFR NOP STA EMPTR-1 LDA EMPTR+1 SET A = PSEUDO ENTRY ADDRESS JSB EMDEF JMP DEFR,I * ** PSEUDO STUFF ENTRY FORMAT ** 1u NOP SLOT FOR OPERAND ADDRESS EMPTR OCT 742 PSEUDO INFO WORD (BLK = 17,WLEN = 2) DEF *-1 ADDRESS OF PSEUDO STUFF ENTRY * ************************************************ * * EMCOD - PROCESS OUTPUT FOR MEMORY REFERENCES * * * A REG.= ADDRESS OF OPERAND ENTRY IN STUFF. * * * B REG.= INSTRUCTION FORMAT. * * ************************************************ EMASV BSS 1 SAVE ADDRESS FOR EMMRF AND EMCOD EMCOD NOP STA EMASV SAVE OPERAND POINTER STB INST SAVE INSTRUCTION FORMAT LDA EMASV,I GET INFO WORD JSB SCATR GO TO SCATTER ROUTINE SZB,RSS IS BLOCK = 0? JMP EMC30 YES - GO TO EXT PROCESSING LDA .XBIT NO SZA IS IT EXTERNAL? JMP EMC30 YES - GO TO EXT PROCESSING LDA EMASV NO - GET SUMP ADDRESS ADA .-1 LDA A,I EFFECTIVE ADDRESS CLB,CLE SET B AND E FOR INDIRECT BIT SET ELA,RAR BIT 15 TO E ERB E TO BIT 15 OF B ADB INST STB INST INST NOW HAS INDIRECT BIT, IF ANY CLB STB EMREL SET RELOC'N CODE STA SUMP SUMP =ADDRSS WITHOUT BIT 15 EMC20 CLA A = 0 FOR MEMORY REFERENCE. JSB HLIST GO TO LIST. LDA EMREL CPA .+4 IS RELOC. = 4 (EXTERNAL SYMBOL?) RSS YES - GO TO PUNCH ENTRY LDA .+5 A = 5 (FOR SPECIAL BREC PROC.) CLB,INB SET B = 1 FOR WORD INSERTION JSB BREC PUNCH DBL ENTRY LDA IDTAB+17,I PICK UP CURRENT INFO WORD JSB SCATR AND RESCATTER JMP EMCOD,I EXIT EMC30 LDA EMASV PROCESS AN EXTERNAL SYMBOL JSB EMEXT EXT PROCESSOR ADB INST ADD EXTERNAL ORDINAL STB INST TO INSTRUCTION. LDA .+4 STA EMREL SAVE IT IN EMREL TOO JMP EMC20 * ******************************************** * * EMMRF - PR5E-SETUP FOR 'EMCOD' PROCESSING.* * * A REG.= POINTER TO OPERAND STUFF ENTRY * * * B REG.= INSTRUCTION FORMAT * * ******************************************** EMMRF NOP STA EMASV JSB CLEAR CLEAR LOAD/STORE REPEAT FLAG LDA EMASV * * EMMEM - SET UP A MEMORY REFERENCE OPERAND * JSB EMCOD GO TO OUTPUT PROCESSOR JMP EMMRF,I HED ARITHMETIC EXPRESSION ROUTINE * THE ARITH ROUTINE IS USED TO GENERATE CODE FOR ARITHMETIC EX- * * PRESSIONS AND ASSIGNMENT STATEMENTS. THE ROUTINE IS CALLED * * WITH A=0 FOR AN ASSIGNMENT STATEMENT. * * 1 FOR AN EXPRESSION IN THE ACCUMULATOR, * * 2 FOR AN EXPRESSION NOT NECCESARILY IN THE ACCUMULATOR * * 3 FOR A TEST * * 4 FOR AN ADDRESS. * * THE METHOD INVOLVES A NUMBER OF ROUTINES FOR THE VARIOUS * * SYNTACTIC ENTITIES INVOLVED IN AN EXPRESSION. THESE CALL ONE * * ANOTHER RECURSIVELY IN ORDER TO OBTAIN THE CORRECT PRIORITY * * OF OPERATORS. ALL THE SYNTACTIC ROUTINES HAVE ACCESS TO A SMALL* * STACK, ASTAC, WHICH IS USED TO SIMULATE A RUN TIME STACK. EACH * * ELEMENT IN ASTAC IS EITHER AN ADDRESS OR 0. IF 0, IT MEANS THAT* * THE ELEMENT IS IN THE ACCUMULATOR. IF NOT 0, IT IS A POINTER TO* * ITS STUFF ENTRY (INFO WORD). BIT15, IN ANY CASE, REFERS TO THE * * MODE OF THE OPERAND. ATOP AND A2ND ARE POINTERS TO THE TOP & * * 2ND FROM THE TOP OF ASTAC. ACC ALWAYS POINTS TO THE ASTAC * * ENTRY IN THE ACCUMULATOR. * ******************************************************************** ASTOP BSS 1 APRAM BSS 1 PARAMETER TO ARITH. ASTAC DEF ATABL-2 POINTS TO BEGINNING OF ARITH STACK ARITH NOP ENTRY POINT TO MAIN ROUTINE. STA APRAM SAVE PARAMETER IN APRAM. LDB ASTAC INITIALIZE VALUES OF STB A2ND A2ND INB STB ATOP ATOP CLB STB ACC ACC LDA STOP SAVE STACK POINTER. STA ASTOP LDA APRAM ADA *+2 JMP 0,I DEF *+1,I DEF AR.0 ASSIGNMENT DEF AR.1 EXPR. DEF AR.2 PROC. DEF AR.3 TEST DEF AR.4 ADDRESS AR.0 CLA,INA ASSIGNMENT. JSB VARBQ GET LEFT HAND SIDE. LDA .TYPE ASSIGN SYMBOL FOLLOWING? CPA STORE JMP *+3 LDA .+22 TAKE IT, MAN. JMP DEATH JSB SCANT GET NEXT SYMBOL FOR AEXP CLA,INA AND COMPILE RIGHT HAND JSB AEXP SIDE. JSB STRIT STORE CODE GENERATOR. JMP AR.6 DONE. AR.2 CLA,INA,RSS PROCEDURE CALL. AR.3 CLA JSB AEXP AR.6 ISZ ARITH SKIP FOR NORMAL RETURN AR.7 ISZ SCAND BACK UP SCANNER ON RETURN JMP ARITH,I AR.1 CLA,INA JSB AEXP JSB FORCE DEF ATOP,I AR.5 LDA ATOP,I JMP AR.6 RETURN NORMAL AR.4 JSB VARBQ ADDRESS JMP AR.5 DEATH STA *+2 DISASTROUS JSB .FLAG ERROR NOP LDA ASTOP STA STOP LDA .TYPE DEAD CPA SEMI JMP AR.7 CPA END JMP AR.7 CPA ELSE JMP AR.7 JSB SCANT JMP DEAD * STRIT PERFORMS A STORE OPERATION, WHICH IS GIVEN BY: * STACK[A2ND]_STACK[ATOP] STRIT NOP LDA A2ND,I FORCE THE TYPE OF ATOP TO AGREE SSA WITH THAT OF A2ND. JMP *+4 JSB MAKIN DEF ATOP,I JMP *+3 JSB MAKRL DEF ATOP,I JSB FORCE FORCE ATOP TO ACCUMULATOR. DEF ATOP,I LDA A2ND,I NOW EMIT THE STORE INSTRUCTION ELA,CLE,ERA JSB EMSTR JSB FREE FREE THE STORAGE ADDRESS. DEF A2ND,I LDA ATOP,I ADJUST ACC POINTER STA A2ND,I JSB DELEQ LDA ATOP STA ACC JMP STRIT,I K * AEXP GENERATES CODE FOR AN ARITHMETIC EXPRESSION. THE SYNTAX IS: * AEXP::= DISJ ! IF AEXP THEN AEXP ELSE AEXP ! VARIABLE_AEXP * IF A=0 WHEN AEXP IS CALLED, A TEST IS TO BE PERFORMED; * OTHERWISE, A MUST BE 1. #FLOT DEF .FLOT AEXPT BSS 1 TEMPORARY FOR LOCATION OF JUMP IFLG BSS 1 VALUE OF A WHEN AEXP IS CALLED IFLG1 BSS 1 USED BY DISJ,CONJ,DENYL, & RELAT * TO REPORT WHETHER A SKIP WAS GENERATED **** AEXP NOP ENTRY POINT JSB STACQ NECESSARY DEF AEXPT FOR JSB UNSTQ RECURSION. STA IFLG SAVE PARAMETER IN BOTH IFLG & STA IFLG1 IFLG1. LDA .TYPE CPA IF & TEST FOR IF. JMP AEXP1 * DISJ GENERATES CODE FOR A DISJUNCTION. THE SYNTAX IS: * DISJ::= CONJ ! DISJ OR CONJ JSB CONJ DISJ1 CPA OR CHECK FOR OPERAND=OR. RSS JMP AEXP2 RETURN IF NOT TO END OF DISJ ISZ IFLG1 JSB SCANT JSB CONJ GET NEXT CONJUNCTION. JSB COMUQ COMMUTE OPERANDS IF NECESSARY. JSB FORCE FORCE ONE OPERAND TO DEF A2ND,I ACCUMULATOR. LDA IOR INCLUSIVE OR 2ND OPERAND JSB EMEMQ JSB DELEQ DELETE 1 ELEMENT FROM STACK. LDA .TYPE JMP DISJ1 LOOP IOR IOR 0 AEXP2 CPA STORE TEST NEXT SYMBOL FOR A STORE (_) JMP AEXP3 IT IS A STORE. * IF IFLG=0 & IFLG1 NOT = 0, WE MUST GENERATE A SKIP * AEXP4 LDA IFLG LDB IFLG1 SZA,RSS SZB,RSS JMP AEXP+3 JSB FORCE FORCE RESULT TO DEF ATOP,I ACCUMULATOR LDA SSARS EMIT SSA,RSS JSB EMRRF JSB DELEQ JMP AEXP+3 * AEXP::= IF AEXP THEN AEXP ELSE AEXP AEXP1 JSB SCANT CLA CALL AEXP TO GENERATE JSB AEXP A TEST. LDA PCNTR SAVE LOCATION OF STA AEXPT PCNTR FOR LATER FIXUP. JSB EMNOP EMIT A NOP AT THAT POINT. LDA .TYPE MAKER SURE THAT A THEN CPA THEN FOLLOWS JMP *+3 LDA .+20 ERROR JMP DEATH # 20 JSB SCANT JSB AEXP CALL AEXP TO COMPILE THE TRUE JSB FORCE PART & FORCE TO ACC. DEF ATOP,I CLA SET ACC TO SAY STA ACC EMPTY. LDB AEXPT EMIT A JMP FROM THE LDA PCNTR IF-CLAUSE TO STA AEXPT INA PCNTR+1. JSB EMJMP JSB EMNOP EMIT A NOP FOR LATER PATCHING LDA .TYPE MAKE SURE NEXT CPA ELSE SYMBOL IS AN JMP *+3 ELSE. LDA .+21 JMP DEATH ERROR # 21 JSB SCANT COMPILE FALSE JSB AEXP PART. LDA A2ND,I TEST MODE OF TRUE PART. SSA JMP AEXP5 MODE IS REAL LDA ATOP,I IF TRUE PART IS INTEGER, TEST SSARS SSA,RSS MODE OF FALSE PART JMP AEXP6 NO PROBLEM IF BOTH INTEGER JSB FORCE FORCE FALSE PART TO ACC. DEF ATOP,I LDA RSS JSB EMRRF EMIT (RSS) LDA PCNTR PATCH. LDB AEXPT JSB EMJMP LDA #FLOT EMIT JSB FLOAT JSB EMJSB JMP AEXP7 AEXP5 JSB MAKRL IF TRUE PART IS REAL, FORCE DEF ATOP,I FALSE PART REAL ALSO. AEXP6 JSB FORCE FORCE FALSE PART TO ACC DEF ATOP,I LDA PCNTR PATCH LDB AEXPT JSB EMJMP AEXP7 LDA ATOP,I SET RESULT STA A2ND,I AT LDA A2ND A2ND & STA ACC DELET ONE FROM AEXP9 JSB DELEQ STACK. ISZ IFLG1 NO SKIP HAS BEEN GENERATED JMP AEXP4 * AEXP ::= VARIABLE _ AEXP AEXP3 LDA ATOP,I FIRST MAKE SURE THAT WE ELA,CLE,ERA LDA 0,I ACTUALLY HAD A VARIABLE JSB SCATR LEFT ON TOP OF THE STACK CPA TYVAR JMP AEXP8 CPA TEMPI JMP AEXP8 JSB .FLAG ERROR 22- ILLEGAL DEC 22 ASSIGNMENT CLINA CLA,INA JSB AEXP JMP AEXP=9 AEXP8 JSB SCANT CALL CLA,INA AEXP JSB AEXP JSB STRIT JMP AEXP9+1 * END OF AEXP * CONJ GENERATES CODE FOR A CONJUNCTION. THE SYNTAX IS: * CONJ::= DENIAL ! CONJ AND DENIAL CONJ NOP ENTRY POINT JSB STACQ NECESSA DEF CONJ FOR JSB UNSTQ RECURSION JSB DENYL CONJ1 CPA AND CHECK FOR OPERATOR=AND. RSS JMP CONJ+3 RETURN IF NOT ISZ IFLG1 JSB SCANT JSB DENYL GET NEXT DENIAL. JSB COMUQ COMMUTE OPERANDS IF NECESSARY JSB FORCE FORCE 1 OPERAND TO DEF A2ND,I ACCUMULATOR LDA ANDOP AND 2ND OPERAND JSB EMEMQ JSB DELEQ DELETE 1 ELEMENT FROM STACK. LDA .TYPE JMP CONJ1 LOOP. * DENYL GENERATES CODE FOR A DENIAL. THE SYNTAX: * DENIAL::= RELATION ! NOT DENIAL ANDOP AND 0 DENYL NOP ENTRY. JSB STACQ NECESSARY FOR DEF DENYL RECURSION. JSB UNSTQ CPA NOT TEST SYMBOL FOR NOT JMP DENY1 JSB RELAT NO--JUST A RELATION JMP DENYL+3 DENY1 ISZ IFLG1 JSB SCANT YES--CALL DENYL RECURSIVELY JSB DENYL JSB FORCE FORCE TO ACCUMULATOR. DEF ATOP,I LDA CMA COMPLEMENT. JSB EMRRF LDA .TYPE JMP DENYL+3 RETURN. * RELAT PRODUCES CODE FOR RELATIONS. THE SYNTAX IS: * RELATION::= SUM ! SUM RELOP SUM * WHEN RELATION HAS THE FORM OF "SUM RELOP SUM", IT * PRODUCES CODE TO GENERATE A SKIP ON TRUE CONDITION, IF THE * SYMBOL FOLLOWING IS "THEN". OTHERWISE, IT PRODUCES A VALUE * <0 FOR TRUE, >=0 FOR FALSE. RELTY BSS 1 TEMPORARY TO HOLD THE REL OPERATOR. RELAT NOP ENTRY POINT JSB STACQ NECESSARY DEF RELTY FOR JSB UNSTQ RECURSION. JSB SUM RELATION ALWAYS STARTS WITH SUM. JSB TWEEQ TEST NEXT SYMBOL FOR RELOP ABS LESS ABS GRTR JMP *+4 SKIP IF A TRUE RELATION. ISZ IFLG1 REL3 LDA .TYPE JMP RELAT+3 RETURN IF NOT. STA RELTY SAVE OPERATOR. JSB SCANT SCAN NEXT SYMBO JSB SUM COMPILE 2ND OPERAND JSB MATYQ EQUATE THE TYPES OF THE OPERANDS LDA ACC IF THE 2ND OPERAND IS IN THE ACC CPA ATOP RSS GO COMMUTE THE OPERANDS. JMP REL1 JSB COMUQ * ALSO COMMUTE THE OPERATOR. LDA RELTY ADA RELCM LDA 0,I STA RELTY REL1 JSB DIFF TAKE THE DIFFERENCE OF THE 2 JSB FORCE OPERANDS. DEF ATOP,I CLA FORCE MODE TO STA ATOP,I BE INTEGER. * WE MUST PRODUCE DIFFERENT CODE FOR THE RELATION IF IFLG1=0 * AND THE NEXT OP IS NOT AN "AND" OR AN "OR". LDA .TYPE LDB RELTY CPA AND SET IFLG1 IF ISZ IFLG1 AN "AND" OR "OR" CPA OR FOLLOWS. ISZ IFLG1 LDA IFLG1 SZA JMP REL2 ADB .+6 IF A TEST, BUMP TABLE POINTER BY 6 STB RELTY JSB DELEQ LDB RELTY REL2 ADB RELTB GET BEGINNING OF TABLE FOR CODE. LDB 1,I STB RELTY LDA RELTY,I GET FIRST OCTAL CODE. SZA,RSS ALL DONE IF 0 JMP REL3 JSB EMRRF OTHERWISE, OUTPUT THE CODE & ISZ RELTY BUMP THE POINTER & JMP *-5 LOOP. * SUM PRODUCES CODE FOR SUMS. THE SYNTAX IS: * SUM ::= TERM ! SUM+TERM ! SUM-TERM * (UNARY +&- ARE HANDLED BY STERM) SUMT BSS 1 TEMPORARY FOR OPERATOR SUM NOP ENTRY POINT JSB STACQ NECESSARY DEF SUMT FOR JSB UNSTQ RECURSION. JSB TERM ALWAYS BEGIN WITH A TERM SUML LDA .TYPE STA SUMT SAVE NEXT SYMBOL. CPA PLUS IF A PLUS JMP SUM1 CPA MINUS OR A MINUS RSS GO TO CONTINUE SUM. JMP SUM+3 SUM1 JSB SCANT JSB TERM +# COMPILE NEXT TERM. JSB MATYQ MATCH TYPES. LDA SUMT CHECK TO SEE IF ADD OR SUB. CPA MINUS JMP SUMIN JSB ADDEM TO ADDEM ROUTINE JMP SUML SUMIN JSB DIFF JMP SUML * TERM COMPILES CODE FOR A TERM. THE SYNTAX IS: * TERM::= STERM ! TERM*STERM ! TERM/STERM ! TERM\STERM ! * TERM MOD STERM TERMT BSS 1 TEMPORARY FOR OPERATOR TERM NOP ENTRY POINT JSB STACQ NECESSARY FOR DEF TERMT RECURSION. JSB UNSTQ - JSB STERM ALWAYS START WITH AN STERM. TERML LDA .TYPE STA TERMT SAVE NEXT SYMBOL CPA STAR IF A *, GO TO GET MULTIPLICAND. JMP TERM1 CPA SLASH IF A /, GO TO GET DIVISOR. JMP TERM2 CPA INTDV IF A \, WE DO SOMETHING SPECIAL. JMP TERM3 CPA MOD JMP TERM3 JMP TERM+3 IF NONE OF THESE, WE JUST RETURN TERM1 JSB SCANT JSB STERM GET MULTIPLICAND. JSB MATYQ MATCH TYPE JSB COMUQ COMMUTE JSB FIXUP FORCE MULTIPLIER TO ACCUMULATOR. LDB ATOP,I EMIT CODE FOR LDA $MPY EMIT MPY SSB FMP OR MPY LDA #FMP EMIT FMP JSB YASU EMIT JSB .FMP LDA PCNTR SET PCNTR TO MPYFG TO SAY WHERE STA MPYFG THE LAST MPY OCCURRED. TERM4 JSB DELEQ JMP TERML * CODE FOR A / TERM2 JSB SCANT JSB STERM GET NEXT OPERAND. JSB MAKRL FORCE IT TO BE REAL. DEF ATOP,I JSB MAKRL ALSO FORCE DIVIDEND DEF A2ND,I TO FLOAT. JSB FIXUP FORCE DIVIDEND TO ACCUMULATOR. LDA #FDV JSB YASU EMIT JSB .FDV JMP TERM4 * CODE FOR A \ TERM3 JSB SCANT JSB STERM GET NEXT OPERAND JSB MAKIN FORCE IT TO BE INTEGER DEF ATOP,I JSB MAKIN ALSO FORCE DIVIDEND TO DEF A2ND,I BE INTEGER. JS!B FIXUP FORCE DIVIDEND TO ACCUMULATOR. LDA MPYFG IF MPYFG=PCNTR, THE DIVIDEND CPA PCNTR WAS PRODUCED BY AN MPY, SO JMP TERM5 THE FOLLOWING CODE IS UNNEC- * ESSARY. LDA SSA JSB EMRRF LDA CCBRS JSB EMRRF LDA CLB JSB EMRRF TERM5 LDA $DIV EMIT DIV JSB YASU EMIT JSB .DIV LDA LDA1 IF OPERATOR WAS MOD, WE ALSO LDB TERMT EMIT A LDA 1. CPB MOD JSB EMRRF JMP TERM4 MPYFG NOP LDA1 LDA 1 CCBRS CCB,RSS $MPY DEF XMPY $DIV DEF .DIV #FDV DEF .FDV #FMP DEF .FMP * COMUT EXCHANGES THE TOP 2 STACK ELEMENTS IF THE * TOP ONE IS IN THE ACC. COMUQ NOP LDA ACC COMPARE ACC CPA ATOP WITH ATOP. RSS JMP COMUQ,I LDA A2ND IF THE SAME, SET ACC TO STA ACC POINT AT A2ND LDA A2ND,I EXCHANGE LDB ATOP,I TOP STA ATOP,I TWO STB A2ND,I ELEMENTS. JMP COMUQ,I RETURN * DELET REMOVES THE TOP STACK ELEMENT. DELEQ NOP LDA ACC IF ACC POINTS CLB CLB AT ATOP, SET CPA ATOP IT TO 0. STB ACC LDA A2ND DEDUCT 1 FROM STA ATOP ATOP ADA .-1 & STA A2ND A2ND JMP DELEQ,I * TABLES FOR RELATION CODE RELCM DEF *+1-LESS TABLE FOR COMPLEMENTING ABS GRTR RELATIONS. ABS GEQ ABS EQUAL ABS NEQ ABS LEQ ABS LESS RELTB DEF *+1-LESS TABLE OF POINTERS TO CODE DEF LSSVL DEF LEQVL DEF EQLVL DEF NEQVL DEF GEQVL DEF GTRVL DEF LSSTS DEF LEQTS DEF EQLTS DEF NEQTS DEF GEQTS DEF GTRTS #.FCM DEF ..FCM #.DLC DEF ..DLC SKP * STERM HANDLES UNARY + & -. THE SYNTAX IS: * STERM::= FACTOR ! + FACTOR ! - FACTOR STERM NOP JSB STACQ NECESSARY {NLH DEF STERM FOR JSB UNSTQ RECURSION. CPA MINUS ONLY SPECIAL CASE IS JMP STER1 UNARY MINUS. CPA PLUS IF A UNARY PLUS, WE JUST SCAN JSB SCANT PAST IT. JSB FACTR JMP STERM+3 STER1 JSB SCANT SCAN PAST UNARY MIN JSB FACTR COMPILE A FACTOR. * AT THIS POINT SEVERAL POSSIBILITIES EXIST, ACCORD- * ING TO THE RESULT OF FACTOR. THESE ARE: * 1) RESULT IS A CONSTANT, IN WHICH CASE WE NEGATE * 2) RESULT IS AN INTEGER VARIABLE, IN WHICH CASE WE * FORCE IT TO THE ACC & EMIT CMA,INA * 3) RESULT IS A REAL ACC, IN WHICH CASE WE CALL FCM * 4) RESULT IS A REAL VAR, IN WHICH CASE WE CALL DLC JSB TSTCN IF A CONSTANT, TSTCN WILL HANDLE JMP STERM+3 IT. LDB ATOP,I OTHERWISE, TEST THE MODE. SSB JMP STER2 RESULT IS REAL. JSB FORCE FORCE TO DEF ATOP,I ACC LDA CMINA JSB EMRRF jN JMP STERM+3 STER2 CPB BIT15 TEST REAL VARIABLE TO SEE IF IT JMP STER3 IS IN ACC. JSB CLACQ NO--CLEAR AC LDA #.DLC JSB YASU EMIT JSB ..DLC LDA BIT15 SET TO SAY RESULT IN ACC. STA ATOP,I LDA ATOP STA ACC JMP STERM+3 STER3 LDA #.FCM JSB EMJSB VARIABLE ALREADY IN ACC. JMP STERM+3 * FACTR TAKES CARE OF THE ^ OPERATION. THE SYNTAX IS: * FACTOR::= PRIMARY ! FACTOR ^ PRIMARY * THERE ARE 3 POSSIBILITIES OF ARGUMENTS FOR ^. * THESE ARE: * REAL^REAL (ROUTINE IS .RTOR, RESULT IS REAL) * REAL^INT (ROUTINE IS .RTOI, RESULT IS REAL) * INT ^INT (ROUTINE IS .ITOI, RESULT IS INT ) FACTR NOP JSB STACQ NECESSARY DEF FACTR FOR RECURSION. JSB UNSTQ JSB PRMRY START WITH A PRIMARY. FACTL LDA .TYPE CPA POWER IF NEXT SYMBOL IS ^, WE CONTINUE RSS JMP FACTR+3 JSB SCANT JSB PRMRY CALL PRIMARY AGAIN. LDA ATOP,I NOW TEST MODES OF OPERANDS SSA,RSS JMP FACT1 JSB MAKRL IF 2ND OPERAND IS REAL, THE 1ST DEF A2ND,I MUST BE ALSO. JSB CLACQ LDA #RTOR JMP FACT2 FACT1 JSB CLACQ LDA #ITOI IF 2ND OPERAND IS INTEGER, THE LDB A2ND,I 1ST DETERMINES WHICH ROUTINE SSB TO USE. LDA #RTOI FACT2 JSB EMJSB CALL THE ROUTINE. LDA PCNTR SET FLAG ADA .+3 TO PREVENT STA XSKIP SKIP INSIDE CALLING SEQUENCE JSB EDEFQ DEF A2ND,I THE JSB EDEFQ DEF ATOP,I LDA #ERR SET UP ERROR RETURN JSB EMJSB JSB CHXSK SEE IF CONSTANT SPACE ALLOCATED. LDA A2ND SET RESULT STA ACC IN ACC WITH LDA A2ND,I SAME MODE AND BIT15 AS A2ND. STA A2ND,I JSB DELEQ JMP FACTL * * CHECKS XSKIP FLAG TO SEE WHETHER ALLOC ROUTINE GENERATED * STORAGE SPACE FOR CONSTANTS. * CHXSK NOP LDA XSKIP DID WE GENERATE CPA PCNTR BUFFER? RSS NO JSB EMJPR YES, OUTPUT RECORD LDA XSKIP XSKIP CONTAINS NEXT STA PCNTR PCNTR VALUE. (MIGHT NOT CLA BE P+1 IF ALLOC ROUTINE STA XSKIP GENERATED BUFFER). CLEAR FLAG. JMP CHXSK,I RETURN. * #ERR DEF .ERR #RTOR DEF .RTOR #RTOI DEF .RTOI #ITOI DEF .ITOI * PRMRY EMITS CODE FOR PRIMARIES. THE SYNTAX IS: * PRIMARY::= CONSTANT ! VARIABLE ! FUNCTION DESIGNATOR ! * (EXPRESSION) PRMT BSS 1 PRMRY NOP ENTRY POINT JSB STACQ NECESSARY DEF PRMT FOR JSB UNSTQ RECURSION. LDA .TYPE CPA LPREN JMP PRM1 PRIMARY::=(EXPRESSION) CPA TYCON JMP PRM2 PRIMARY::=CONSTANT CPA TYPRO JMP PRM3 PRIMARY::=FUNCTION DESIGNATOR CPA PRPRO PROPER PROCEDURE JMP PRM3 JSB TWEEQ ABS .ABS ABS .KEYS JMP PRM5 INTRINSIC FUNCTION CPA TYARA JMP PRM6 CPA TYVAR JMP PRM6 PRIMARY::= VARIABLE * IF NONE OF THESE, IT'S AN ERROR. LDA TEMPR (=25) JMP DEATH * PRIMARY::=(EXPRESSION) PRM1 JSB SCANT START OFF THE EXPRESSION CLA,INA JSB AEXP LDA .TYPE CPA RPREN JMP PRM11 BETTER BE A RIGHT PAREN. JSB .FLAG ERROR 23--MISSING RIGHT PAREN. DEC 23 JMP PRMRY+3 PRM11 JSB SCANT JMP PRMRY+3 * PRIMARY::=CONSTANT : BUILD A CONSTANT ENTRY * IN STUFF PRM2 LDA IDNUM STUF 1ST HALF JSB STUFQ OF THE NUMBER LDA IDNUM+1 ALWAYS STUF THE JSB STUFQ CLA STUF A 0 ADDRESS JSB STUFQ LDA CONFO ALSO STUF AN ADA .RBIT INFO WORD. JSB STUFQ LDA STUFF ADA .RBIT JSB STAKQ STACK POINTER TO JMP -LPRM11 CONSTANT. * PRIMARY::=FUNCTION DESIGNATOR PRM3 JSB CLACQ CLEAR ACCUMULATOR JSB PRO COMPILE PROCEDURE CALL. JMP PRM11 RETURN * PRIMARY::=INTRINSIC FUNCTION DESIGNATOR PRM5 JSB CLACQ LDA .TYPE ADA INTSW BRANCH TO PROPER ROUTINE. JMP 0,I INTSW DEF *,I DEF INT1 ABS DEF INT2 SIGN DEF INT3 MATH DEF INT4 ROTATE DEF INT5 KEYS INT1 JSB SCANT JSB PRMRY FORCE ABS ARG JSB FORCE TO ACCUMULATOR. DEF ATOP,I LDA ATOP,I SSA SSA CHECK TYPE OF ARG. JMP INT11 LDA SSA EMIT JSB EMRRF SSA LDA CMINA CMA,INA JMP INT21 INT11 LDA %ABAL FOR REAL ARGS. WE PRODUCE JSB EMJSB JSB ABS JMP PRMRY+3 CCARS CCA,RSS INT2 JSB SCANT SCAN ARGUMENT OF JSB PRMRY SIGN FUNCTION. JSB FORCE FORCE RESULT TO DEF ATOP,I ACC. LDA SZARS PRODUCE CODE FOR JSB EMRRF SIGN FUNCTION: LDA PCNTR SZA,RSS ADA .+4 JMP *+4 CLB SSA STB ATOP,I JSB EMJMP CCA,RSS LDA SSA CLA,INA JSB EMRRF LDA CCARS JSB EMRRF LDA CLINA INT21 JSB EMRRF JMP PRMRY+3 INT3 LDA .INFO MATH ROUTINES STA PRMT SAVE INFO WORD OF ROUTINE JSB SCANT JSB PRMRY CALL PRMRY FOR THE ARGUMENT JSB MAKRL ALWAYS REAL DEF ATOP,I JSB FORCE FORCE TO ACC. DEF ATOP,I LDA PRMT EMIT JSB JSB EMJSB LDA PRMT,I SET ATOP TO REFLECT THE CORRECT AND BIT15 TYPE (ALWAYS REAL EXCEPT FOR STA ATOP,I ENTIER) LDA PRMT CMA,INA SET UP ERROR RETURN IF NECESS. ADA %LNAL SSA SKIP IF JSB ERRN REQUIRED JMP PRMRY+3 LDA #ERR JSB EMJSB JMP ������PRMRY+3 RETURN INT4 JSB SCANT ROTATE INTRINSIC JSB PRMRY JSB FORCE DEF ATOP,I LDA ALFLF OUTPUT ALF,ALF JMP INT21 INT5 JSB CLACQ KEYS INTRINSIC LDA LIA1 JSB EMRRF OUTPUT LIA 1 CLA JSB STAKQ LDA ATOP STA ACC JMP PRM11 PRM6 CLA JSB VARBQ JMP PRMRY+3 LIA1 LIA 1 USED FOR KEYS INTRINSIC * ADDEM COMPILES CODE FOR THE ADDITION OF THE TOP 2 STACK OPERANDS. ADDEM NOP JSB MATYQ MATCH TYPES JSB COMUQ COMMUTE IF POSSIBLE. LDB ATOP,I GET ADDRESS ELB,CLE,ERB OF ATOP INFO. LDA 1,I GET ATOP ELA,CLE,ERA INFO WORD. CPA CONFO IF A CONSTANT, RSS JMP NOCON ADB .-3 TEST TO SEE IF LDA 1,I IT'S INB ZERO, AND IOR 1,I DO NADA IF SZA,RSS IT JMP ADD1 IS. NOCON JSB FIXUP SETUP VALUES FOR EMITTING. LDA ATOP,I TEST TYPES SSA,RSS JMP ADINT LDA #FAD EMIT JSB FAD JSB YASU EMIT JSB .FAD ADD1 JSB DELEQ DELETE JMP ADDEM,I RETURN ADINT LDA ADDOP EMIT ADA JSB EMEMQ JMP ADD1 #FAD DEF .FAD * TWEEN TESTS A NUMBER INA TO SEE IF IT IS BETWEEN * TWO OTHER NUMBERS. * CALL: LDA X * JSB TWEEQ * ABS Y * ABS Z * RETURN IF Y<=X<=Z * RETURN IF NOT TWEEQ NOP ENTRY POINT. LDB TWEEQ,I B_Y CMB,INB B_-Y ISZ TWEEQ ADB 0 B_X-Y SSB SKIP IF Y<=X JMP *+5 FAILS LDB 0 B_X CMB,INB B_-X ADB TWEEQ,I B_Z-X SSB SKIP IFX<=Z ISZ TWEEQ EXTRA SKIP FOR FAILURE ISZ TWEEQ ALWAYS AT LEAST ONE SKIP JMP TWEEQ,I * * SET FLAG FOR ALLOC ROUTINE TO PREVENT * SKIP INSIDE LINKAGE. * YASU NOP LDB PCNTR ADB .+2 F ������ STB XSKIP SET FLAG TO POINT TO NEXT WORD * AFTER LINKAGE JSB EMJSB EMIT JSB ROUTINE (IN -A-) JSB EDEFQ EMIT DEF DEF ATOP,I JSB CHXSK SEE IF CONSTANT SPACE ALLOCATED. JMP YASU,I SKP * MAKE ASSURES THAT A CONSTANT IS ASSIGNED STORAGE. MAKE NOP LDA MAKE,I GET INFO ADDRESS LDA 0,I OF ELA,CLE,ERA ENTRY. STA MAKET SAVE IT. SZARS SZA,RSS IF ACCUMULATOR JMP MAKE2 FORGET IT. LDA 0,I TEST FOR JSB SCATR CONSTANT. CPA TYCON JMP MAKE3 MAKE2 ISZ MAKE RETURN LDA IDTAB+17,I FIXUP JSB SCATR SCATTERED ITEMS JMP MAKE,I MAKE3 LDB MAKET DON'T DO ADB .-1 ANYTHING LDA 1,I IF CONSTANT SZA HAS ALREADY JMP MAKE2 BEEN ASSIGNED. ADB .-2 SAVE ADDRESS OF STB MAKEM CONSTANT. INB STB MAKEN CLA,RSS SEARCH FOR MAKE5 CLA,INA CONSTANT IN JSB LOOK TABLE. JMP MAKE4 NOT THERE CPA TYCON RSS JMP MAKE5 NOT A CONSTANT LDA .RBIT XOR MAKET,I SSA JMP MAKE5 WRONG TYPE LDB .INFO ADB .-1 LDA 1,I SZA,RSS JMP MAKE5 CONSTANT NOT ASSIGNED ADB .-1 LDA 1,I CPA MAKEN,I RSS JMP MAKE5 NOT THE SAME CONSTANT. ADB .-1 LDA 1,I CPA MAKEM,I RSS JMP MAKE5 NOT THE SAME CONSTANT. LDB MAKE,I SET STACK LDA MAKET,I POINTER TO AND BIT15 POINT AT IOR .INFO CORRECT STA 1,I CONSTANT LDA STUFF IF MAKET=STUFF, THE ORIGINAL CPA MAKET ENTRY WAS ON TOP OF STUFF & WE ADA .-4 CAN REMOVE IT BY SUBTRACTING 4 STA STUFF FROM STUFF. JMP MAKE2 MAKE4 LDB MAKET,I TEST ������ FOR REAL OR INTEGER SSB JMP *+5 REAL LDA MAKEN,I INTEGER STA IDNUM+1 LDA .+1 SET UP PARM FOR ALLOC JMP *+6 LDA MAKEN,I SET UP REAL PARMS FOR ALLOC STA IDNUM+1 LDA MAKEM,I STA IDNUM LDA .+2 JSB ALLOC ALLOCATE CONSTANT CCA RETURN ADDRESS OF CONSTANT TO ADA MAKET ASTAC STB A,I JMP MAKE2 SET UP RETURN MAKET NOP MAKEM NOP MAKEN NOP ACC BSS 1 " " ASTAC ELEMENT IN A & B * **** FORCE AN OPERAND(MULT.,DIV.,ETC.) TO THE *** * **** ACCUMULATOR AND GEN. STORAGE FOR THE VALUE* * FIXUP NOP JSB FORCE FORCE OPERAND TO THE ACC. DEF A2ND,I JSB MAKE GENERATE STORAGE FOR THE VALUE. DEF ATOP,I TO BE USED. JMP FIXUP,I RETURN TO COMPILER... SKP * TSTCN TESTS THE TOP STACK ELEMENT FOR A CONSTANT. IF IT IS ONE, * IT NEGATES IT. IF IT ISN'T, IT PERFORMS A SKIP RETURN. TSTCN NOP ENTRY POINT. LDB ATOP,I GET ADDRESS OF ELEMENT. ELB,CLE,ERB CLEAR MODE BIT. SZB,RSS IF ADDRESS IS ZERO, THIS IS JMP TSTNO ACCUMULATOR. STB TSTEM SAVE INFO ADDRESS. LDA TSTEM,I GET INFO WORD. JSB SCATR TEST ELEME CPA TYCON FOR CONSTANT. JMP TST1 IT IS ONE. TSTNO ISZ TSTCN NOT A CONSTANT. TST2 LDA IDTAB+17,I JSB SCATR JMP TSTCN,I SKIP RETURN. TST1 LDB TSTEM,I GET MODE OF CONSTANT LDA TSTEM GET ADDRESS OF ADA .-3 CONSTANT. STA TSTEM SSB TEST CONSTANT MODE. JMP TST3 REAL CONSTANT --NOT EASY * INTEGER CONSTANT ISZ TSTEM POINT TO LOCN OF INT LDA TSTEM,I CONST, FETCH IT, CMA,INA NEGATE IT, TST4 STA TSTEM,I & STORE IT BACK. JMP TST2 *REAL CONSTANT TST3 LDB 0,I GET THE CONSTANT INA LDA 0,I JSB COMPQ NEGATE IT..������. STB TSTEM,I ISZ TSTEM JMP TST4 TSTEM NOP * MAKIN FORCES AN ELEMENT TO BE AN INTEGER. MAKIN NOP LDA MAKIN,I GET ADDRESS OF ISZ MAKIN ELEMENT. STA MAKI1 LDA 0,I GET THE ELEMENT. SSA,RSS TEST IT FOR MODE. JMP MAKIN,I RETURN IF INTEGER. JSB FORCE FORCE TO ACC IF REAL. MAKI1 NOP LDA #RND EMIT CLB JSB FIX & SET ELEMENT TO STB MAKI1,I SAY INTEGER ACCUMULATOR. JSB EMJSB JMP MAKIN,I #RND DEF .RND SKP * DIFF COMPILES CODE TO PRODUCE THE DIFFERENCE OF THE ELEMENTS AT * AND & ATOP. DIFF NOP JSB TSTCN TEST MINUEND FOR A CONSTANT. JMP DIFAD IF IT IS, IT'S EASY. JSB MATYQ MATCH TYPES. LDA ATOP,I TEST MODE OF RESULT SSA,RSS JMP DIFF1 * FLOATING POINT * JSB FIXUP FORCE ACC FOR 1ST OPERAND LDA #FSB FSB JSB YASU EMIT JSB .FSB DIFF3 JSB DELEQ JMP DIFF,I * INTEGER * DIFF1 LDA ACC TEST FOR WHICH WAY TO SUBTRACT. CPA A2ND JMP DIFF2 * SUBTRACT ATOP FROM A2ND JSB FORCE DEF ATOP,I LDA CMINA JSB EMRRF JSB DELEQ LDA ADA JSB EMEMQ CLA STA ATOP,I LDA ATOP STA ACC JMP DIFF,I * SUBTRACT ATOP FROM ACC * DIFF2 LDA CMA JSB EMRRF CMA --- LDA ADA ADA M -- = SUBTRACT. JSB EMEMQ CMA -- LDA CMA JSB EMRRF JMP DIFF3 DIFAD JSB ADDEM TO ADDEM ROUTINE JMP DIFF,I #FSB DEF .FSB HED PROCEDURE PROCESSOR * PRO COMPILES CALLS UPON PROCEDURES. IT ASSUMES THAT THE * PROCEDURE NAME HAS JUST BEEN SCANNED, AND RETURNS AFTER * SCANNING THE RIGHT PAREN. ACPAR BSS 1 ACTUAL PARAMETER COUNT. PRINF BSS 1 POINTER TO PROCEDURE STUFF ENTRY FRMTY BSS 1 FORMAL PARAMETER TYPE PARS BSS 1 FORMAL PARAMETER COUNT. (=0 FOR * p������ FORMAL PROCEDURES). PARPN BSS 1 POINTER TO FORMAL PARAMETER TYPE PRO NOP ENTRY POINT JSB STACQ NECESSARY DEF ACPAR FOR JSB UNSTQ RECURSION. CLA INITIALIZE ACTUAL PARAMETER STA ACPAR COUNT TO 0. STA PARS ALSO CLEAR FORMAL PAR COUNT. LDA .INFO SAVE POINTER TO STA PRINF PROCEDURE ENTRY. ADA .-1 TEST FOR PROCEDURE LDB 0,I BEING FORMAL. SSB,RSS JMP PRO1 NOT FORMAL. * PROCEDURE IS A FORMAL PARAMETER. JSB SCANT SCAN NEXT SYMBOL. CPA LPREN IF A LEFT PAREN, GO TO JMP PRO2 COMPILE PARAMETERS. PRO5 ISZ SCAND OTHERWISE, BACKUP & GO TO COM. JMP PRO3 PILE CALLING SEQUENCE PRO1 ADA .-1 GET FORMAL PARAMETER LDA 0,I COUNT INTO PARS STA PARS SZA,RSS IF FORMAL PARAMETER COUNT=0, GO JMP PRO3 TO COMPILE CALLING SEQUENCE. JSB SCANT SCAN NEXT SYMBOL CPA LPREN CHECK FOR A LEFT PAREN. JMP PRO4 O.K. JSB .FLAG IF NO LEFT PAREN, DEC 12 IT'S AN ERROR. JMP PRO5 PRO4 LDA PARS SET PARPN TO CMA,INA POINT TO ARS FIRST ADA PRINF FORMAL ADA .-2 PARAMETER STA PARPN TYPE. PRO2 JSB SCANT SCAN BEGINNING OF ACTUAL PARAMETER. LDA PARS TEST FOR FORMAL PARAMETER SZA COUNT = 0. JMP PRO6 CLA,INA COUNT=0 IMPLIES FORMAL PROCEDURE JSB AEXP SO PARAMETER IS CALLED BY JMP PRO7 VALUE. PRO6 LDA PARPN,I GET LDB ACPAR FORMAL SLB,RSS PARAMETER ALFLF ALF,ALF TYPE AND ADJUST SLB FORMAL PARAMETER ISZ PARPN POINTER. AND .377 STA FRMTY ALF,ALF TEST FOR VALUE PARAMETER SSA,RSS JMP PRO8 `������PARAMETER NOT CALLED BY VALUE. CLA,INA VALUE PARAMETER--COMPILE JSB AEXP EXPRESSION. LDA FRMTY FORCE PARAMETER TO AND AAT HAVE CORRECT TYPE (100B) SZA JMP *+4 JSB MAKIN FORCE INTEGER DEF ATOP,I JMP PRO7 JSB MAKRL OR REAL. DEF ATOP,I JMP PRO7 PRO8 LDA FRMTY PARAMETER IS CALLED BY NAME. AND .77B TEST FOR REAL OR INTEGER TYPE. CPA TYVAR JMP PRO9 LDA .RBIT MAKE SURE ACTUAL PARAMETER & ALF,ALF FORMAL PARAMETERS AGRREE. RAR ADA .TYPE CPA .121B IF TYPE IS LABEL LDA .TYPE ELIMINATE D-BIT CPA FRMTY JMP *+3 LDA .+13 WIPE OUT IF THEY JMP DEATH DISAGREE. LDA .INFO PLACE ACTUAL PARAMETER ADA .RBIT IN STACK. JSB STAKQ JSB SCANT JMP PRO7 * NAME PARAMETER--REAL OR INTEGER * PRO9 LDA .TYPE MUST BE A CPA TYVAR VARIABLE OR JMP *+5 AN ARRAY. CPA TYARA JMP *+3 LDA .+14 TAKE GAS IF NOT. JMP DEATH CLA,INA JSB VARBQ LDA FRMTY MAKE SURE MODES AGREE. ALF,ALF RAL XOR ATOP,I SSA,RSS JMP *+3 JSB .FLAG DEC 13 PRO7 JSB CLACQ FORCE PARAMETER TO JSB MAKE ** 4/10/70 ** DEF ATOP,I ** 4/10/70 ** LDA ATOP,I MEMORY, PUT INTO MAIN JSB PUSHQ STACK, AND JSB DELEQ DELETE FROM PRIVATE STACK. ISZ ACPAR BUMP ACTUAL PARAMETER COUNT. LDA .TYPE CHECK TYPE OF NEXT SYMBOL. CPA COMMA IT MUST BE A JMP PRO10 COMMA OR A CPA RPREN RIGHT PAREN. JMP PRO11 LDA .+15 FORGET IT IF JMP DEATH NEITHER ONE. PRO10 LDA PARS PARAMETER TERMINATOR IS A COMMA. ADA .-1 SZA WIPE OUT IF TOO MANY PARAMETERS. JMP *+3 LDA .+16 ������ JMP DEATH SSA,RSS IF PARS WAS > 0, SUBTRACT 1 FROM STA PARS IT. JMP PRO2 LOOP FOR NEXT PARAMETER. PRO11 LDA PARS IF A RT.PAREN WAS THERE, IT IS ADA .-2 AN ERROR IF PARS>1 SSA JMP *+3 JSB .FLAG DEC 17 PRO3 JSB CLACQ JUST IN CASE LDA PRINF EMIT JSB TO THE JSB EMJSB LDA ACPAR COMPUTE *+ ADA PCNTR #OF PARAMETERS INA +1 JSB DEFR EMIT DEF FOR FTN COMPATABILITY JSB EDFSQ NOW OUTPUT ALL THE PARAMETERS DEF ACPAR LDA PRINF,I SET ACCUMULATOR POINTER PROPERLY. AND BIT15 JSB STAKQ LDA ATOP STA ACC JMP PRO+3 SPC 1 .121B OCT 000121 USED FOR LABEL TEST. HED FORCE ACCUMULATOR / MAKE REAL * FORCE ASSURES THAT THE ELEMENT GIVEN IS IN THE ACCUMULATOR. * CALL: JSB FORCE * DEF (USUALLY INDIRECT) FORCE NOP ENTRY POINT LDA FORCE,I GET ADDRESS. ISZ FORCE STA FORC1 LDA FORC1,I TEST TO SEE IF IT'S IN ACC CLE,ELA SZA,RSS JMP FORCE,I RETURN IF IT IS. JSB MAKE FORC1 NOP GET STORAGE IF A CONSTANT JSB CLACQ CLEAR ACCUMULATOR LDA FORC1,I ELA,CLE,ERA CLEAR I-BIT JSB EMLOD CALL LOAD EMITTER JSB FREE FREE IF A TEMPORARY DEF FORC1,I LDA FORC1,I NOW SET UP ACC. AND BIT15 STA FORC1,I LDA FORC1 RSS LDA 0,I RAL,CLE,SLA,ERA LINK THROUGH I-BITS JMP *-2 STA ACC JMP FORCE,I * MAKRL FORCES ITS ARGUMENT TO BE FLOATING POINT. * CALL: JSB MAKRL * DEF ADR OF ARG MAKRL NOP LDA MAKRL,I GET ARGUMENT LOCAL TO STA MAKR1 MAKRL ISZ MAKRL BUMP RETURN ADDRESS. LDA 0,I TEST MODE. SSA IF ALREADY REAL, RETURN RIGHT JMP MAKRL,I AWAY. ������ LDB 0,I CPB CONFO TEST FOR CONSTANT. JMP MAKR2 IT IS A CONSTANT. JSB FORCE IF NOT A CONSTANT, FORCE INTO MAKR1 NOP ACCUMULATOR AND LDA #FLOT FLOAT. JSB EMJSB JMP MAKR4 * THE OPERAND IS A CONSTANT. WE HAVE TO FLOAT IT. MAKR2 ADB BIT15 FORCE MODE TO STB 0,I BE REAL ADA .-2 PICK UP THE CONSTANT. STA T+1 LDA 0,I AND FLOAT IT. JSB FLOAQ STA T LDA T+1 GET ADDRESS INA LDA 0,I SZA SKIP IF NOT ESTABLISHED YET. JMP MAKR3 LDA T+1 PUT THE FLOATING POINT STB 0,I CONSTANT IN. ADA .-1 LDB T STB 0,I MAKR4 LDA MAKR1,I SET MODE BIT IOR BIT15 IN STACK STA MAKR1,I WORD JMP MAKRL,I MAKR3 STB T MAKE A NEW CONSTANT. LDA T+1 JSB STUFQ LDA T LDA MAKR2 JSB STUFQ CLA JSB STUFQ LDA CONFO IOR BIT15 JSB STUFQ LDA STUFF JMP MAKR4+1 HED CLEAR ACCUMULATOR / EMIT 'DEF' * CLACC INSURES THAT ANYTHING PRESENTLY IN THE ACCUMULATOR IS PUT * INTO TEMPORARY STORAGE. CLACQ NOP LDA ACC TEST TO SEE IF ACC IS EMPTY. SZA,RSS JMP CLACQ,I IT IS--RETURN IMMEDIATELY. LDB TEMP1 SCAN THE LIST OF TEMPORARIES. CLAC2 CPB TEMP2 TEST FOR END OF LIST. JMP CLAC1 NO FREE TEMPORARY AVAILABLE. ADB .+2 POINT B AT NEXT AVAILABLE TEMP. LDA 1,I GET INFO WORD. XOR ACC,I TEST FOR CORRECT TYPE. SSA SKIP IF RIGHT TYPE. JMP CLAC2 * FOUND A USABLE TEMP. B POINTS AT IT. CLAC4 ADB .-1 EXCHANGE STB T FIRST FREE ISZ TEMP1 WORD WITH THE LDA TEMP1,I DESIRED ONE. LDB T,I STA T,I STB TEMP1,I ISZ TEMP1 ISZ T LDA TEMP1,I LDB T,I STB TEMP1,I ST������A T,I LDA TEMP1 RETURN TEMP1 AS THE JMP CLAC5 DESIRED ADDRESS * AT THIS POINT, THERE IS NO AVAILABLE TEMP WITH THE RIGHT TYPE. TEMFO OCT 30042 SIGNIFIES TEMPORARY INFO CLAC1 CPB TLAST TEST FOR TABLE ALL FILLED UP JMP CLAC3 IT IS ISZ TEMP2 JSB CLBSS GET TEMP STORAGE STB TEMP2,I ISZ TEMP2 LDA ACC,I IOR TEMFO STA TEMP2,I LDB TEMP2 JMP CLAC4 * IF TABLE IS FULL WE HAVE TO SET UP A TEMP IN STUFF CLAC3 JSB CLBSS GET TEMP STORAGE LDA B CORE LOC. TO A JSB STUFQ LDA ACC,I IOR TEMFO JSB STUFQ LDA STUFF CLAC5 IOR ACC,I SET ENTRY IN ACCUMULATOR TO THE STA ACC,I RIGHT THING. ELA,CLE,ERA JSB EMSTR EMIT THE STORE INTO TEMPORARY. CLA SET ACC TO SAY EMPTY. STA ACC JMP CLACQ,I RETURN CLBSS NOP EMIT NEW TEMP CLA,INA LDB ACC,I REAL TEMP SSB INA YES JSB ALLOC JMP CLBSS,I * EDEF EMITS A DEF AND FREES THE ARGUMENT. EDEFQ NOP LDA EDEFQ,I GET ADDRESS OF ARGUMENT STA EDEF1 & GO TO FORCE ITS JSB MAKE EXISTENCE. EDEF1 NOP LDA EDEF1,I CALL THE DEF ELA,CLE,ERA JSB EMDEF EMITTER. JSB FREE REE IF IT WAS TEMP -- DEF EDEF1,I ISZ EDEFQ RETURN JMP EDEFQ,I * EMEM IS FOR MEMORY REFERENCE OPERATIONS. THE OP- * ERAND IS ALWAYS AT ATOP. B=INSTRUCTION FORMAT. EMEMQ NOP STA EMEM1 SAVE OPCODE JSB MAKE MAK DEF ATOP,I OPERAND LDB EMEM1 EMIT LDA ATOP,I INSTRUCTION. ELA,CLE,ERA JSB EMMRF JSB FREE FREE IF DEF ATOP,I TEMP. JMP EMEMQ,I RETURN. EMEM1 NOP .28D DEC 28 HED VARIABLE ADTOG BSS 1 SET IF AN ADDRESS RATHER THAN A SUBS BSS 1 VALUE IS REQUIRED. DIMS BSS 1 VA���N��LHRBQ NOP ENTRY. JSB STACQ NECESSARY FOR RECURSION. DEF ADTOG JSB UNSTQ * VARBL IS CALLED IN ORDER TO GET THE ADDRESS OR VALUE OF A * SIMPLE OR SUBSCRIPTED VARIABLE. WHEN A=1, AN ADDRESS IS REQUIRED * RATHER THAN A VALUE. WHEN A=0 & AN _ FOLLOWS, AN ADDRESS IS COM- * PILED ANYWAY. THIS DISTINCTION IS NECESSARY ONLY FOR SUBSCRIPTED * VARIABLES. STA ADTOG SAVE PARAMETER. LDA .TYPE CHECK FOR SIMPLE VARIABLE. CPA TYVAR JMP VARB1 CPA TYARA JMP *+3 LDA .28D JMP DEATH LDA .INFO SAVE POINTER TO ARRAY IN IOR .RBIT JSB STAKQ PRIVATE STACK. CCA GET ADDRESS AND ADA .INFO TEST FOR FORMAL PARAMETER LDB 0,I ADA .-1 SSB IF FORMAL, SET DIM CLA,RSS COUNT TO 0. LDA 0,I OTHERWISE, GET IT FROM TABLE. STA DIMS SGT INTO VCNT. JSB SCANT NOW CHECK TO SEE THAT CPA LBRAC A LEFT BRACKET FOLLOWS. JMP *+4 JSB .FLAG ERROR--ARRAY VARIABLE NOT DEC 18 FOLLOWED BY LEFT BRACKET. JMP VARBQ+3 CLA INITIALIZE # OF SUBSCRIPTS TO ����������������������������������������������������������������������������������������������������������������������+vN�������������� STA SUBS 0. VARB2 JSB SCANT CLA,INA CALL AEXP TO COMPILE A JSB AEXP JSB MAKIN FORCE IT TO BE AN DEF ATOP,I INTEGER. JSB CLACQ FORCE IT INTO MEMORY JSB MAKE ** 4/10/70 ** DEF ATOP,I ** 4/10/70 ** ISZ SUBS ADVANCE THE SUBSCRIPT COUNTER. LDA ATOP,I PLACE SUBSCRIPT IN STACK JSB PUSHQ AND DELETE FROM PRIVATE JSB DELEQ STACK. LDA .TYPE CHECK TYPE OF NEXT SYMBOL. IT CPA COMMA MUST BE A COMMA OR RIGHT JMP VARB3 BRACKET. CPA RBRAC JMP VARB4 JSB .FLAG ERROR IF NEITHER ONE OF DEC 19 THESE. JMP VARB5 VARB3 LDA DIMS IF A COMMA, THE DIMENSION COUNT SZA,RSS MUST NOT BE = 1. JMP VARB2 ADA .-1 STA DIMS SZA JMP VARB2 JSB .FLAG TOO MANY DEC 26 SUBSCRIPTS. JMP VARB2 VARB4 LDA DIMS IF A RIGHT BRACKET, DIMS MUST BE SZA <=1. CPA .+1 JMP *+3 JSB .FLAG TOO FEW SUBSCRIPTS. .27D DEC 27 JSB SCANT TEST FOR NEXT SYMBOL AN ASSIGN. VARB5 LDB .TYPE IF NEXT SYMBOL IS CPB STORE AN ASSIGN OR STB ADTOG ADTOG IS NON-ZERO, WE LDB ADTOG CALL .INDA. OTHERWISE, WE LDA #INDR CALL .INDR. SZB LDA #INDA LDB SUBS SET FLAG TO ADB PCNTR PREVENT ADB .+3 SKIP STB XSKIP INSIDE LINKAGE JSB EMJSB OUTPUT JSB. JSB EDEFQ OUTPUT DEF OF THE DEF ATOP,I ARRAY LDA SUBS OUTPUT NUMBER OF CMA,INA SUBSCRIPTS AS NEGATIVE. JSB EMOCT * NOW OUTPUT THE DEF OF THE ARGUMENTS. JSB EDFSQ DEF SUBS JSB CHXSK SEE IF CONSTANT SPACE ALLOCATED. LDA ATOP,I SET ATOP TO SAY AND BIT15 RESULT IN ACCUMULATOR. STA ATOP,I LDB ATOP STB ACC Mf������ LDB ADTOG IF RESULT IS AN ADDRESS, GO TO SZB,RSS CLEAR ACCUMULATOR JMP VARBQ+3 OTHERWISE RETURN IMMEDIATELY STA ADTOG SAVE RBIT IN ADTOG CLA SET ATOP TO INTEGER BECAUSE STA ATOP,I ONLY AN ADDRESS JSB CLACQ FORCE ADDRESS TO BE STORED LDA ATOP,I GET ADDRESS OF TEMP INFO AND LDB 0,I MAKE IT LOOK LIKE IT ADB ADTOG HAS THE RIGHT TYPE STB 0,I ADA .-1 LDB 0,I ALSO FORCE THE INDIRECT ADB BIT15 BIT IN THE TEMPORARY STB 0,I ADDRESS. INA ADA ADTOG ALSO FORCE THE MODE BIT STA ATOP,I INTO ATOP,I JMP VARBQ+3 RETURN. VARB1 LDA .INFO SIMPLE VARIABLE. IOR .RBIT BUILD INFO WORD, INCLUDING RBIT. JSB STAKQ & PLACE IN STACK. JSB SCANT SCAN NEXT SYMBOL & RETURN. JMP VARBQ+3 EDFSQ NOP OUTPUT A BLOCK OF DEFS. LDA EDFSQ,I GET NUMBER OF DEFS. LDA 0,I ADA STOP POINT TO FIRST EDFS2 CPA STOP CHECK FOR ALL DONE JMP EDFS1 WE ARE ADA .-1 POINT TO NEXT OPERAND STA EDFT1 JSB EDEFQ OUTPUT A DEF DEF EDFT1,I LDA EDFT1 JMP EDFS2 LOOP. EDFS1 LDB EDFSQ,I ADA 1,I STA STOP ISZ EDFSQ JMP EDFSQ,I #INDA DEF .INDA #INDR DEF .INDR EDFT1 BSS 1 HED COMMUTE IF POSSIBLE -- DELETE STACK HED MATCH TYPES * MATYP MATCHES THE TYPES OF THE 2 TOP STACK ELEMENTS. MATYQ NOP LDA ATOP,I IOR A2ND,I SSA,RSS SKIP IF EITHER IS REAL. JMP MATYQ,I JSB MAKRL FORCE A2ND REAL DEF A2ND,I JSB MAKRL - FORCE ATOP REAL DEF ATOP,I JMP MATYQ,I * STAKR ADDS AN ELEMENT TO THE ARITH STACK. STEND DEF ATABL+35 END OF ASTAC STAKQ NOP ISZ ATOP BUMP ISZ A2ND STACK LDB ATOP POINTERS. CPB STEND CHECK FOR y!������JMP *+3 OVERFLOW STA ATOP,I STORE IN STACK JMP STAKQ,I RETURN. LDA TEMPI ARITH OVERFLOW (=24) JMP DEATH * STUF (STUFQ) PLACES A WORD INTO STUFF & CHECKS FOR OVERFLOW ***** STUFQ NOP ISZ STUFF BUMP STUFF POINTER. LDB STUFF CPB STOP OVERFLOW CHECK JMP OVFLO STA STUFF,I JMP STUFQ,I AGRTR OCT 76 COMNT OCT 162 HED SCANNER ******************************************************************** * THE FUNCTION OF THE SCANNER IS TO OBTAIN THE NEXT SYMBOL IN AN * * ALGOL PROGRAM. THE SCANNER, AFTER OBTAINING A SYMBOL, PERFORMS * * A TABLE LOOKUP IN STUFF, AND OBTAINS ANY INFORMATION REGARDING * * THAT SYMBOL. IN PARTICULAR, IT UNPACKS THE BLOCK LEVEL (.BLEV), * * THE TYPE (.TYPE), AND THE ADDRESS OF INFO (.INFO). * * THE SCANNER ALSO HAS THE FUNCTIONS OF DELETING COMMENTS AND * * WATCHING FOR END$. * * INCLUDED WITHIN THE SCANNER ARE THE ID AND CHAR ROUTINES. ID * * DOES THE ACTUAL BUILDING OF A SYMBOL, WHILE CHAR ALWAYS PRODUCES* * THE NEXT INPUT CHARACTER. * ******************************************************************** SCANR NOP ENTRY POINT TO SCANNER LDA SCAND TEST SCAND. IF IT IS ZERO, GO TO SZA,RSS GETSM TO PICK UP THE NEXT SYMBOL JMP GETSM ADA .-1 OTHERWISE, DEBUMP SCAND STA SCAND * RETURN SECTION LDA IDTAB+17 GET ADDRESS OF CORRECT INFO WORD STA .INFO INTO INFO. LDA 0,I NOW GET INFO WORD AND JSB SCATR SCATTER IT. JMP SCANR,I RETURN * TEST FOR LAST SYMBOL=END. GETSM LDA IDTAB+17,I JSB SCATR CPA END JMP CMEND GO TO SCAN COMMENTS AFTER END. CSCAN JSB ID GET NEXT SYMBOL CPA COMNT SEE IF IT IS A COMMENT SYMBOL. JMP CMSCN GO TO SCAN COMMENTS. LDB IDTAB+17 STB .INFO JMP SCY������ANR,I * SCAN COMMENTS FOLLOWING END. CMEND JSB ID GET NEXT SYMBOL. CPA END RETURN IF SYMBOL IS AN END,ELSE, JMP SCANR,I OR SEMICOLON. CPA ELSE JMP SCANR,I CPA SEMI JMP SCANR,I CPA UNTIL JMP SCANR,I CPA BUCK IF A DOLLAR SIGN, JMP FINI1 TERMINATION ROUTINE JMP CMEND OTHERWISE, CONTINUE SCANNING. * SCAN COMMENT. CMSCN JSB CHAR CPA ASEMI SCAN FOR SEMICOLON. JMP CSCAN JMP CMSCN TEMP1 DEF TEMPS-1 * POINTERS TO TEMP2 DEF TEMPS-1 * TEMP TABLE SKP * ***************************************** * * ALLOC ALLOCATES IN LINE STORAGE * * * FOR TEMPORARIES, SIMPLE VARIABLES, * * * AND LITERALS IN CONTIGUOUS 20 * * * WORD BLOCKS .. ON ENTRY: * * * A = NUMBER OF WORDS DESIRED * * * ON EXIT B = ADDRESS WHERE STORAGE * * * IS ALLOCATED * * ***************************************** PTM0 DEF TM0 ADDRESS POINTER LPTM0 DEF TM0+20 END OF BLOCK(TEMP) + 1 TM1 OCT 0 BLOCK EMIT COUNTER TM3 OCT 0 NO. OF WORDS DESIRED TM4 NOP CORE BLOCK POINTER ALPTR NOP START OF CORE BLOCK XSAVE OCT 0 SAVE PCNTR VALUE XSKIP OCT 0 BUFFER ORIGIN TESTER * =0, GENERATE BUFFER AT * PRESENT PCNTR VALUE. * #0, GENERATE BUFFER AT * ADDRESS GIVEN. BLCTR OCT 100000 BLOCK(TEMP) POINTER ALLOC NOP ENTRY POINT ******************* STA TM3 SAVE A (NO. OF WORDS) ADA BLCTR CMA,INA ADA LPTM0 SSA ROOM FOR STORAGE? JMP STNEW NO - ALLOCATE NEW BLOCK ALCIT LDA TM3 CP������A .+1 INTEGER STORE? (1WORD?) JMP ININ YES LDB IDNUM NO - REAL NO. STB BLCTR,I ISZ BLCTR BUMP BLOCK(TEMP) POINTER ININ LDB IDNUM+1 STB BLCTR,I ISZ BLCTR BUMP POINTERS LDB TM4 SET B = STORAGE ADDRESS ADA TM4 STA TM4 SET TM4=NEW ADDRESS JMP ALLOC,I RETURN EXIT STNEW CLB *****START NEW BLOCK ***** LDA PCNTR STA XSAVE SAVE PCNTR CPB XSKIP XSKIP = 0? JMP INLNE JSB EMJPR LDA XSKIP NO, SET AT GIVEN ADDRESS STA PCNTR SINCE WE ARE PRESENTLY ADA .+21 GENERATING A LINKAGE. STA XSKIP SET NEXT PCNTR VALUE RSS INLNE ADA .+21 CLB JSB EMJMP EMIT JUMP AROUND NEW BLOCK LDA ALPTR STA BLCTR SET ADDR OF BLOCK TO BE OUTPUT LDB PCNTR STB ALPTR SET ADDR OF NEW BLOCK IN CORE STB TM4 SET CORE BLOCK POINTER LDA .+20 SET UP EMBSS PARMS JSB EMBSS EMIT HOLE FOR NEW BLOCK ISZ EMITS FIRST TIME THRU? RSS NO - JMP EMIT1 YES - SKIP EMIT LDB BLCTR EMIT OLD BLOCK JSB EMSET INITIALIZE FOR OLD BLOCK EMISSION LDA .+20 SET UP RECURSION COUNTER CMA,INA STA TM1 JSB EMITS EMIT1 LDA PTM0 INIT TEMP BLOCK ADDR FOR STA BLCTR BLOCK PROCESSING LDA XSKIP RESTORE PROGRAM LDB XSAVE COUNTER SZA,RSS JMP ALCIT STB PCNTR JSB EMJPR JMP ALCIT GO ALLOCATE THE STORAGE EMITS OCT -1 ENTRY(AND 1ST TIME CONST.) LDA PTM0 SET OUTPUT LOCN. STA BLCTR SET UP BLOCK INDEX EMIT LDA BLCTR,I JSB EMOCT OUTPUT 1 WORD ISZ BLCTR ISZ TM1 TEST FOR END OF BLOCK JMP EMIT NO - GO BACK & EMIT ANOTHER WORD JSB EMRST YES - RESTORE TO MAIN STREAM JMP EMITS,I EXIT HIMSK OCT 177400 BLK OCT 1 CN������URRENT BLOCK LEVEL $SYMB DEF IDTAB+9 ADDR OF LATEST SYMBOL FROM SCANR PCMSK OCT 140000 MASK FOR UPPER 2 BITS OF A WORD BIT15 OCT 100000 HED ID ROUTINE **************************************************** * THE ID ROUTINE IS THE HEART OF THE ALGOL SCAN- * * NER. ITS FUNCTION IS TO PICK UP THE NEXT SYMBOL * * IN THE INPUT STRING. THIS MAY BE AN IDENTIFIER, * * RESERVED WORD, NUMBER, OR SPECIAL CHARACTER. * **************************************************** ID NOP ENTRY POINT LDA BATL1 INITIALIZATION SECTION. STA T LDA .-8 SET LAST SYMBOL TO ALL CLB ZEROS. TEMPORARY VARIABLES STB T,I USED IN ID ARE EQUIVALENCED ISZ T TO THE LAST SYMBOL TABLE. INA,SZA JMP *-3 ERA SET FRACTION COUNTER STA FCNT TO -32768. NEWID JSB DBLNK GET FIRST NONBLANK CHAR. CPA AMPER IF AN AMPERSAND (&), GO TO JMP NEXLN FORCE A NEW LINE TO BE READ JSB IDPAK JSB LETTR IS IT A LETTER? JMP IDENT YES--GO TO IDENTIFIER SECTION. CPA ALESS IF THE CHARACTER IS A JMP MULSM <, >, OR :, GO TO MULSM TO CPA AGRTR CHECK WHETHER THE TRUE SYMBOL IS JMP MULSM <=, >=, OR :=. CPA ACOLN JMP MULSM CPA AQUOT IF A QUOTE, GO TO PROCESS AN JMP ASCSM ASCII CONSTANT. CPA AAT IF AN AT SYMBOL (@), GO TO PRO- JMP LIT0 CESS AN OCTAL CONSTANT. CPA APOIN IF A DECIMAL POINT, GO TO PRO- JMP LIT2 CESS REAL NUMBER. CPA APOST IF AN APOSTROPHE, GO TO PRO- JMP LIT3 CESS REAL NUMBER. JSB DIGIT IF A DIGIT, GO TO PROCESS REAL JMP LIT1 OR INTEGER NUMBER. * IF NONE OF THESE, LOOK SYMBOL UP IN SYMBOL TABLE ID1 JSB LOOK1 CALL LOOKUP ROUTINE BATL1 DEF IDTAB+9 JMP *+4 JUMP IF NOT IN TABLE LDB .INFO SAVE INFO ADDRESS STB ID������TAB+17 JMP ID,I RETURN LDA TYUOP IF NOT IN TABLE, IT'S UNDEFINED LDB DUNCH SYMBOL. JMP *-4 NEXLN CLA FORCE A NEW INPUT LINE WHEN AN STA CCNT AMPERSAND IS THE FIRST SCANNED CHAR JMP NEWID * IDENTIFIER PROCESSING SECTION. DUNCH DEF *+1 POINTS AT UNDEFINED CHARACTER OCT 37000 DUNID DEF *+1 POINTS AT UNDEFINED IDENTIFIER OCT 36040 IDBLD JSB IDPAK CONTINUE BUILDING THE IDENTIFIER IDENT JSB CHAR GET NEXT CHARACTER. JSB LETTR IF IT IS A LETTER OR A JMP IDBLD DIGIT, GO TO CONTINUE JSB DIGIT BUILDING THE IDENTIFIER. JMP IDBLD ISZ PEEKD IF NOT, BACK UP OVER THAT CHAR- JSB LOOK1 ACTER AND CALL LOOKUP DEF IDTAB+9 RSS UNDEFINED ID JMP ID1+3 LDA DUNID JMP LIT5+1 * SECTION TO CHECK FOR A MULTIPLE CHARACTER SYMBOL. MULSM JSB DBLNK GET NEXT NON BLANK CHARACTER. CPA AEQUL IF IT'S AN EQUAL SIGN, PACK THE JMP *+3 EQUAL SIGN IN WITH THE ISZ PEEKD PREVIOUS CHARACTER. IF NOT, JMP ID1 BACK UP THE JSB IDPAK CHARACTER SCANNER JMP ID1 * SECTION TO CONVERT ASCII CONSTANTS. ASCSM JSB CHAR GET FIRST CHARACTER OF CONSTANT. STA IDNUM+1 SET INTO NUMBER. JSB CHAR GET SECOND CHARACTER. CPA AQUOT IS IT A QUOTE? JMP ASC1 YES--GO CHECK FOR END OF CONST. ASC2 ALF,ALF PACK INTO NUMBER WITH FIRST CHAR IOR IDNUM+1 ALF,ALF STA IDNUM+1 JSB CHAR MAKE SURE NEXT CHARACTER IS A CPA AQUOT QUOTE MARK. JMP LIT5 OK--GO FINISH UP. * ERROR NUMBER 1--MORE THAN 2 CHARACTERS IN AN ASCII CONSTANT. JSB .FLAG CALL ERROR DEC 1 PRINTER. * ATTEMPT TO RECOVER BY SCANNING FOR A QUOTE MARK. JSB CHAR CPA AQUOT JMP LIT5 JMP *-3 * TRANSFER TO THIS POINT FOR THE COMBINA������TION "X". ASC1 JSB CHAR PEEK AT NEXT CHARACTER. ISZ PEEKD CPA AQUOT IS IT ANOTHER QUOTE ? JMP ASC2 YES--TREAT QUOTE AS ASCII. * END OF INTEGER PROCESSING LIT5 LDA DCONI SET TYPE AS INTEGER CONSTANT. STA IDTAB+17 LDA 0,I JSB SCATR JMP ID,I * OCTAL CONVERSION SECTION LIT0 JSB CHAR GET FIRST OCTAL DIGIT. JSB OCDIG CHECK IT. JMP LIT00 O.K. * ERROR #2--@ NOT FOLLOWED BY AN OCTAL DIGIT JSB .FLAG PRINT ERROR DEC 2 MESSAGE LIT01 ISZ PEEKD SET PEEKD. JMP LIT5 GO TO CHECK SIGN. LIT00 LDB IDNUM+1 PACK NEW DIGIT IN WITH BLF,RBR PREVIOUS OCTAL RESULT. AND .+7 REMOVE ASCII BITS IOR 1 STA IDNUM+1 LDA 1 TEST FOR OVERFLOW BY MAKING AND .+7 SURE THAT THE LAST SZA,RSS 3 BITS OF THE ROTATED B REG. JMP LIT02 ARE ALL 0 JSB CHAR **ERROR - OCT CONST> 177777. ******* JSB OCDIG JMP *-2 JSB .FLAG PRINT ERROR MESSAGE 3 DEC 3 JMP LIT01 LIT02 JSB CHAR CONTINUE SCANNING. JSB OCDIG IF CHARACTER IS ANOTHER OCTAL JMP LIT00 DIGIT, GO TO BUILD NUMBER. JMP LIT01 OTHERWISE,END OF OCTAL NUMBER. * END OF OCTAL PROCESSING. LIT1 ISZ FCNT ADVANCE COUNTER OF DIGITS BEYOND LDB EXP DECIMAL POINT. SZB CHECK FOR OVERFLOW PREVIOUSLY JMP LIT10 YES, IGNORE CURRENT DIGIT. AND .+17B MASK OUT ASCII BITS AND SAVE. STA T SAVE IN TEMPORARY. * COMPUTE 10 TIMES PREVIOUS RESULT. LDA IDNUM LOAD PREVIOUS RESULT. LDB IDNUM+1 CLE,ELB SHIFT LEFT TWO BITS, PRODUCING ELA A MULTIPLICATION BY FOUR. CLE,ELB ELA SEZ,RSS OVERFLOW IF E OF A15 SET SSA JMP LIT11 NUMBER OVERFLOWED. ADA IDNUM ADD IN THE DOUBLE ADB IDNUM+1 LENGTH NUMBE������R TO PRODUCE A SEZ NET MULTIPLICATION CLE,INA BY FIVE. CLE,ELB SHIFT AGAIN TO MAKE IT ELA A MULTIPLICATION BY 10 SEZ,RSS OVERFLOW IF E OF A15 SET SSA JMP LIT11 OVERFLOW. ADB T NOW ADD IN THE NEW DIGIT SEZ TO PRODUCE THE FINAL CLE,INA RESULT. SSA CHECK ONCE MORE FOR OVERFLOW. JMP LIT11 OVERFLOW STA IDNUM STB IDNUM+1 JMP LIT12 LIT11 ISZ MODES FIRST OVERFLOW--SET MODE REAL. LIT10 ISZ EXP ADVANCE COUNT OF IGNORED DIGITS. LIT12 JSB CHAR GET NEXT CHARACTER. JSB DIGIT IS IT A DIGIT? JMP LIT1 YES--LOOP TO NUMBER BUILDER. CPA APOIN IS CHARACTER A DECIMAL POINT? JMP LIT13 YES--GO PROCESS IT. CPA APOST IS IT AN APOSTROPHE (') ? JMP LIT14 YES. JMP LIT15 NO--END OF NUMBER. LIT13 LDA FCNT CHECK FOR PREVIOUS DECIMAL POINT SSA ERROR IF FCNT>=0. JMP LIT16 * ERROR #4--2 DECIMAL POINTS IN 1 NUMBER. JSB .FLAG PRINT ERROR MESSAGE. DEC 4 JMP LIT12 GO LOOP FOR NEXT CHARACTER. LIT2 JSB CHAR COME HERE WHEN FIRST CHARACTER ISZ PEEKD IS A POINT. JSB DIGIT IF A DIGIT FOLLOWS, IT IS A RSS NUMBER. JMP ID1 OTHERWISE THE POINT IS ISOLATED. LIT16 CLA SET FRACTIONAL DIGITS TO 0. STA FCNT ISZ MODES SET MODE TO REAL. JMP LIT12 * PROCESS EXPONENT PART OF NUMBER. LIT3 ISZ IDNUM+1 WHEN ' IS FIRST CHAR, MAGN.=1 LIT14 ISZ MODES SET MODE TO REAL JSB CHAR GET NEXT CHARACTER. CPA APLUS IS IT A PLUS? JMP LIT17 YES--IGNORE IT. CPA AMINU IS IT A MINUS? JMP LIT18 YES--GO TO SET EXPONENT SIGN. * PROCESS EXPONENT MAGNITUDE. LIT19 JSB DIGIT CHECK FOR FIRST CHARACTER A DIG. JMP LIT50 * ERROR NUMBER 5--' NO������T FOLLOWED BY AN INTEGER. JSB .FLAG DEC 5 JMP LIT15 LIT18 ISZ EXPSN SET EXPONENT SIGN. LIT17 JSB CHAR JMP LIT19 LIT50 LDB EXVAL MULTIPLY PREVIOUS EXPONENT BLS,BLS MAGNITUDE BY 10. ADB EXVAL BLS AND .+17B MASK OUT ASCII BITS IN NEW DIGIT ADA 1 AND ADD TO VALUE. STA EXVAL JSB CHAR GET NEXT CHARACTER. JSB DIGIT JMP LIT50 LOOP IF IT'S A DIGIT. LIT15 ISZ PEEKD *** COMPUTE FINAL VALUE OF NUMBER** LDA MODES TEST FOR MODES=REAL SZA SKIP IF INTEGER. JMP LIT51 LDA IDNUM TEST FOR NUMBER >=32768 SZA JMP LIT51 IT IS GREATER. LDB IDNUM+1 SSB,RSS IS LOW PART TOO BIG? JMP LIT5 NO. LIT51 LDA EXVAL SET EXPONENT TO CORRECT LDB EXPSN SIGN. SZB CMA,INA ADA EXP LDB FCNT GET FCNT & COMPLEMENT IT. CMB,SSB,INB IF IT WAS POSITIVE, ADD IT ADA 1 IN TO EXPVAL. STA EXVAL * THIS FINAL SECTION COMPUTES THE VALUE OF A FLOATING POINT NUMBER. * THE MANTISSA PART OF THE NUMBER IS IN IDNUM&IDNUM+1, AS AN INTE- * GER. THE DECIMAL EXPONENT IS IN EXVAL. LDA .37B INITIALIZE BINARY EXPON. TO 31. STA EXP LDA IDNUM CHECK FOR MANTISSA LDB IDNUM+1 EQUAL ZERO. SZA,RSS GO TO LIT52 IF SZB NUMBER=0. JMP LIT54 LIT52 LDA DCONR SET TYPE TO SAY REAL CONSTANT. JMP LIT5+1 LIT54 JSB NORML NORMALIZE NUMBER. LDA EXVAL CHECK EXPONENT FOR ZERO. SZA ALL DONE IF EXPONENT IS ZERO. JMP LIT53 * NOW PACK THE RESULT * LDB IDNUM GET HIGH PART OF MANT IN B LDA IDNUM+1 AND LOW PART IN A ABLAN CLE ADA .200B PERFORM ROUNDING. SEZ CLE,INB AND HIMSK MASK BITS IN LOW PART STA T+1 AND SAVE SSB,RSS IF SIGN OF B IS Y������SET, JMP *+3 RBR ROTATE DOWN AND SET CLA,INA,RSS EXPONENT TO ONE MORE. CLA ADA EXP ADD IN THE EXPON RAL POSITION EXPONENT TO AND .377 8 BITS IOR T+1 ADD IN LOW ORDER BITS STB IDNUM STORE PACKED RESULT BACK STA IDNUM+1 JMP LIT52 GO TO RETURN LIT53 SSA TEST SIGN OF EXPONENT JMP LIT55 NEGATIVE EXPONENT--GO TO DIV/10 ADA .-1 ***** POSITIVE EXPONENT **** STA EXVAL LDA EXP MULTIPLY BY 8 BY INCREASING ADA .+3 EXP BY 3. STA EXP LDA IDNUM GET MANTISSA AND SHIFT TO GET LDB IDNUM+1 1/4. CLE,ERA ERB CLE,ERA ERB,CLE ADB IDNUM+1 DOUBLE ADD, PRODUCING 1.25* SEZ IDNUM. INA ADA IDNUM NOTE THAT MANTISSA MAY HAVE JMP LIT54 OVERFLOWED. * NEGATIVE EXPONENT LIT55 INA INCREASE NEGATIVE DECIMAL STA EXVAL EXPONENT LDA EXP SUBTRACT 3 FROM BINARY EXPONENT. ADA .-3 STA EXP LDA IDNUM+1 MULTIPLY LOW PART OF MANTISSA BY JSB MPY SEZ INA STA IDNUM+1 LDA IDNUM NOW MULTIPLY HIGH MANTISSA THE JSB MPY ADB IDNUM+1 ADD IN PREVIOUS SEZ RESULT. INA JMP LIT54 *MPY MULTIPLIES 2 16-BIT NUMBERS IN A AND B *AND COMPUTES A 32-BIT RESULT, HIGH PART IN A MPY NOP LDB TENTH 1/10 STA T SAVE MULTIPLICAND LDA M16D SET COUNTER TO STA T+1 -16 CLA CLEAR INITIAL PRODUCT CLE,SLB TEST MULTIPLIER BIT ADA T ADD IN MULTIPLICAND IF BIT SET ERA ERB ISZ T+1 TEST COUNTER JMP *-5 LOOP CLE ADD HIGH PART OF RESULT TO LOW ADB 0 PART FOR THE CROSS PRODUCT. JMP MPY,I RETURN M16D DEC -16 -16 TENTH !������OCT 146314 BUCK OCT 177 $ .200B OCT 200 IDNUM EQU IDTAB+10 EXP EQU IDNUM+2 EXVAL EQU EXP+1 MODES EQU EXVAL+1 EXPSN EQU MODES+1 FCNT EQU EXPSN+1 * DBLNK SCANS FOR THE NEXT NONBLANK CHARACTER * DBLNK NOP ENTRY JSB CHAR CPA ABLAN JMP *-2 JMP DBLNK,I * DIGIT TESTS A CHARACTER FOR A DIGIT DIGIT NOP JSB TWEEQ AZERO OCT 60,71 JMP DIGIT,I ISZ DIGIT SKIP RETURN IF NOT DIGIT. JMP DIGIT,I * IDPAK PACKS THE CHARACTER IN A WITH THE IDENTIFIER SO FAR **** IDPAK NOP STA T LDA IDTAB+9 GET ALF,ALF CHARACTER AND .377 COUNT CPA .+15 IF 15 CHARACTERS ALREADY, JMP IDPK1 RETURN LDB IDTAB+9 ADVANCE CHARACTER COUNT ADB P400B STB IDTAB+9 INA COMPUTE LOCATION OF WORD CLE,ERA INTO WHICH TO PACK. ADA BATL1 LDB 0,I SEZ,RSS POSITION BLF,BLF AND ADB T PACK SEZ,RSS BLF,BLF STB 0,I IDPK1 LDA T JMP IDPAK,I * LETTR TESTS THE CHARACTER IN A FOR BEING A LETTER * LETTR NOP JSB TWEEQ OCT 101,132 JMP LETTR,I ISZ LETTR SKIP IF NOT A LETTER JMP LETTR,I * OCDIG TESTS A CHARACTER FOR AN OCTAL DIGIT OCDIG NOP STA T SAVE CHARACTER IOR .+7 IF HIGH 13 BITS CPA .67B ARE 60B, IT'S AN RSS OCTAL DIGIT ISZ OCDIG SKIP RETURN IF NOT LDA T JMP OCDIG,I * NORMAL LEFT JUSTIFIES THE NUMBER IN A & B AND STORES IT IN IDNUM. NORML NOP SZA,RSS TEST FOR ZERO SZB JMP NRML1 STA EXP NRML3 STA IDNUM STB IDNUM+1 JMP NORML,I NRML1 SSA TEST HIGH BIT OF MANTISSA JMP NRML2 BIT IS SET CLE,ELB BIT NOT SET--LEFT SHIFT ELA STA IDNUM SUBTRACT CCA ONE ADA EXP ���N��LH FROM STA EXP EXP LDA IDNUM AND JMP NRML1 LOOP NRML2 CLE,ERA SHIFT RIGHT ERB ISZ EXP BUMP EXP JMP NRML3 JMP NRML3 * SCATR TAKES THE INFO WORD IN A AND UNPACKS IT INTO * WORD LENGTH (.WLEN), BLOCK LEVEL (.BLEV), TYPE (.TYPE), * REAL OR INTEGER (.RBIT), EXTERNAL OR INTERNAL (.XBIT) .WLEN BSS 1 WORD LENGTH OF SYMBOL TABLE ENT SCATR NOP STA T SAVE INFO IN T STA HLS05 SAVE FOR LIST ROUTINE ALSO. AND .37B MASK WORD LENGTH CMA,INA AND SET AS NEGATIVE STA .WLEN LDA T GET INFO AGAIN CLB RAL,SLA TEST RBIT LDB BIT15 STB .RBIT CLB RAL,SLA TEST XBIT LDB BIT15 STB .XBIT LDA T GET INFO AGAIN ALF,ALF POSITION BLOCK LEVEL ALF,RAR ��������������������������������������������������������������������������������������������������������������������������������������������������������������\sN�������������� AND .+17B MASK AND STA .BLEV STORE LDA T GET INFO AGAIN ALF,ALF POSITION TYPE RAR AND BUCK MASK TYPE.(MASK=177B) LDB .BLEV IF BLEV IS NON ZERO, SZB MASK OFF BITS 5&6. AND .37B STA .TYPE JMP SCATR,I TYPE IS IN A .INFO BSS 1 ADDRESS OF INFO WORD .RBIT BSS 1 REAL/INTEGER BIT .XBIT BSS 1 EXTERNAL BIT .BLEV BSS 1 BLOCK LEVEL .TYPE BSS 1 TYPE HED PRINT ROUTINE * THE FUNCTION OF THE PRINT ROUTINE IS TO PRINT A * LINE ON THE LIST DEVICE. IT MAINTAINS A COUNT * OF LINES PRINTED SO THAT IT CAN PAGINATE THE * OUTPUT. IT IS CALLED WITH * A=#OF CHARACTERS TO PRINT. * B=ADDRESS OF START OF BUFFER. PRINT NOP ENTRY POINT CMA,INA FOR STA PR2 SAVE PARAMETERS. STB PRN ISZ LCNTR TEST FOR END OF PAGE. JMP PR1 NOT END OF PAGE. LDA LINES RESET LINE COUNTER. STA LCNTR ISZ PAGES BUMP PAGE COUNTER LDA PAGES CONVERT PAGE COUNTER INTO JSB DCONV THE PAGE BUFFER. DEF PAGEB+3 JSB EXEC SKIP TO TOP OF PAGE(6 LINES/TTY) DEF *+4 DEF .+3 DEF SPC LSTYP DEF .+6 THIS IS DEF .-1 IF PRINTER JSB EXEC NOW PROINT PAGE HEADER DEF *+5 DEF .+2 DEF LUNOU DEF PAGEB DEF .-9 JSB EXEC DEF *+4 DEF .+3 DEF SPC DEF .+2 PR1 LDA PR2 SZA BLANK LINE REQUESTED JMP PR11 JSB EXEC PRINT BLANK LINE DEF *+4 DEF .+3 DEF SPC DEF .+1 JMP PRINT,I PR11 JSB EXEC PRINT LINE DEF *+5 DEF .+2 DEF LUNOU PRN NOP DEF PR2 JMP PRINT,I RETURN PR2 BSS 2 PAGEB ASC 5,PAGE LCNTR OCT -1 LINE COUNTER PAGES NOP PAGE COUNTER. HED ERROR PRINTE0������R * ERROR PRINTER IS RESPONSIBLE FOR PRINTING ERROR MESSAGES ON THE * STANDARD LIST DEVICE. THE CALLING SEQUENCE IS: * JSB .FLAG * DEC N * WHERE N IS THE ERROR NUMBER. * THE FOLLOWING SEQUENCE IS PRINTED: * COL:1 5 7 9 * ERROR NNN ^ * THE ARROW APPEARS UNDER THE LAST CHARACTER SCANNED BY THE CHAR * ROUTINE. CCNT1 OCT -111 CCNT3 OCT -112 .FLAG NOP ENTRY POINT JSB PRLIN MAKE SURE SOURCE LINE IS PRINTED LDA .FLAG,I CONVERT ERROR NUMBER INTO JSB DCONV COLUMNS 7-9. DEF PRIN LDA CCNT COMPUTE NUMBER OF CHARACTERS ADA CHARS SCANNED SO FAR, OR 61, WHICH- ADA CCNT1 EVER IS SMALLER SSA,RSS CLA ADA CCNT2 STA T T=NUMBER OF BLANKS TO BE CMA INSERTED. STA T+1 LDB FLGII FILL BUFFER IN WITH BLANKS. FLAG5 ISZ T+1 ANY MORE BLANKS? JMP FLAG2 YES. LDA UPARO NO. PLACE AN ARROW IN THE * NEXT WORD. JMP FLAG3 FLAG2 ISZ T+1 IS THIS THE LAST BLANK? JMP FLAG4 NO. LDA BLARO FLAG3 STA 1,I LDA T CALL PRINT ROUTINE ADA .+11 LDB FLAGI JSB PRINT ISZ ECNTR BUMP ERROR COUNTER ISZ .FLAG BUMP RETURN ADDRESS JMP .FLAG,I FLAG4 LDA PAGEB+2 INSERT 2 BLANKS IN THE STA 1,I SINGLE WORD. INB JMP FLAG5 FLAGI DEF ERROR FLGII DEF PRIN+2 HED CONVERSION ROUTINES (BINARY TO ASCII) * DCONV CONVERTS A BINARY NUMBER TO A 3 DIGIT DECI- * MAL NUMBER. THE CALLING SEQUENCE IS: * JSB DCONV (A=BINARY NUMBER) * DEF L * THE FIRST TWO DIGITS OF THE RESULT ARE PLACED IN * L. THE THIRD, FOLLOWED BY A BLANK, IS PLACED IN * L+1. ASC00 ASC 1,00 DFIX ASC 1, : UPARO OCT 57000 ^0 BLARO ASC 1, ^ DCONV NOP LDB DCONV,I STB T LDB ASC00 ADA M100D TRY TO SUBX������TRACT 100 SSA SKIP IF O.K. JMP *+3 NOT O.K. ADB P400B ADD 1 TO FIRST CHARACTER OF ANS. JMP *-4 ADA INPUT (=100) ADA .-10 TRY TO SUBTRACT 10 SSA SKIP IF O.K. JMP *+3 NOT O.K. INB BUMP SECOND CHARACTER IF O.K. JMP *-4 STB T,I STORE FIRST WORD. ISZ T ADA DFIX FIX UP LAST CHARACTER ALF,ALF AND STA T,I STORE IT. ISZ DCONV JMP DCONV,I RETURN M100D DEC -100 * OCONV CONVERTS A BINARY NUMBER TO A 6 DIGIT OCTAL * NUMBER. THE CALLING SEQUENCE IS: * JSB OCONV (A=BINARY NUMBER) * DEF L * THE RESULT IS AS FOLLOWS: * BNNNNNNB (B=BLANK) * ^ ^ ^ ^ * L ^L+2^ * L+1 L+3 ASCB0 ASC 1, 0 OCONV NOP ENTRY POINT LDB OCONV,I GET STARTING ADDRESS STB T LDB ASCB0 BLANK ,0 TO B. RAL,CLE,SLA POSITION A & TEST FIRST BIT. INB SET FIRST BIT IN B AND STORE STB T,I IN FIRST WORD. OCON1 ISZ T BUMP POINTER ALF,RAR GET 1 OCTAL DIGIT IN A(2-0) STA T+1 SAVE AND .+7 MASK OUT THE DIGIT LDB ASC00 SET B TO 2 ZEROES ADB 0 ADD IN FIRST DIGIT & BLF,BLF POSITION XOR T+1 GET NUMBER AGAIN AND ALF,RAR POSITION ANOTHER DIGIT STA T+1 SAVE. AND .+7 MASK OUT-DIGIT AGAIN AND ADB 0 MERGE TO B. STB T,I STORE IN BUFFER. XOR T+1 GET NUMBER AGAIN. SEZ,CCE,RSS TEST FOR L+1 OR L+2 JMP OCON1 LOOP FOR L+2 ISZ T BUMP ADDRESS. RAR,ALF POSITION LAST DIGIT AND .+7 AND MASK. IOR ASCB0 MERGE ASCII BITS ALF,ALF AND POSITION. STA T,I STORE LAST DIGIT ISZ OCONV AND RETURN. JMP OCONV,I HED CHARR������ACTER FETCH ROUTINE * THE PURPOSE OF THE CHAR ROUTINE IS TO OBTAIN THE NEXT CHARACTER * FROM THE ALGOL SOURCE INPUT. WHEN THE END OF A LINE IS REACHED, * A BLANK IS RETURNED BEFORE GOING TO THE NEXT LINE. THIS PREVENTS * TWO WORDS FROM APPEARING AS ONE WHEN THE SECOND BEGINS IN COLUMN * ONE. THE CHAR ROUTINE CAN BE MADE TO BACK UP BY SETTING THE * VARIABLE PEEKD TO NONZERO. IT IS ALWAYS CLEAR UPON RETURN. CHAR NOP ENTRY POINT CLA TEST TO SEE IF PEEKD IS ZERO. CPA PEEKD JMP CHAR1 PEEKD=0. WE HAVE TO WORK. STA PEEKD CLEAR PEEKD FOR RETURN. LDA LC GET LAST CHARACTER JMP CHAR,I RETURN CHAR1 CPA CCNT IF CCNT=0, WE HAVE ALREADY RE- JMP CHAR2 TURNED THE END-OF-LINE BLANK. ISZ CCNT HAVE WE RETURNED THE LAST CHAR- JMP CHAR3 ACTER YET? GO TO CHAR3 IF NOT. LDA ABLAN RETURN A BLANK AT THE END OF A CHAR4 STA LC LINE. JMP CHAR,I CHAR2 JSB %READ GO READ 72 CHARACTERS DEF *+5 DEF LUNIN DEF BUFF DEF M72D JMP EOF1 END FILE RETURN SZB JMP CHAR5 CPB SEQNO IF SEQNO IS 0 THEN JMP CHAR2 READ AGAIN STB SEQNO SET SEQNO = 0 * AND PAUSE FOR NEW TAPE RELOAD EOF1 JSB EXEC SUSPENSION DEF *+2 DEF .+7 JMP CHAR2 GO READ NEW TAPE CHAR5 ISZ SEQNO ADVANCE SEQUENCE # FOR NEW RECORD STB CHARS STORE LINE LENGTH CMB,INB NEGATE STB CCNT SET COUNTER LDB BPNTI CLE,ELB STB BPNTR CLA CLEAR TYPED TO SAY LINE NOT STA TYPED PRINTED YET. LDA LSTOG SZA SKIP PRINT IF NO LIST FLAG JSB PRLIN PRINT LINE ROUTINE. CHAR3 LDB BPNTR GET BUFFER POINTER. CLE,ERB POSITION IN B & E. LDA 1,I GET WORD CONTAINING DESIRED CHAR SEZ,RSS IF E=0, WE WANT THE LEFT CHARA������C- ALF,ALF TER, SO ROTATE THE WORD. AND .377 KEEP ONLY THE LOW 7 BITS. ISZ BPNTR ADVANCE THE BUFFER POINTER. JMP CHAR4 GO TO RETURN. SPC 2 SEQNO NOP SEQUENCE NUMBER. M72D DEC -72 LC BSS 1 VALUE OF LAST CHARACTER RETURNED BPNTR BSS 1 POINTS TO NEXT CHARACTER IN BUFF BPNTI DEF BUFF POINTS TO 1ST WORD OF INPUT. CHARS BSS 1 NUMBER OF INPUT CHARS IN LINE. TYPED BSS 1 FLAG SET WHEN SOURCE LINE TYPED. HED PRINT SOURCE LINE ROUTINE * THE PRLIN ROUTINE HAS THE FUNCTION OF PRINTING * A LINE OF SOURCE ONTO THE LIST DEVICE. IT MUST * TAKE CARE OF INSERTING THE SEQNO AND PCNTR INTO * THE BUFFER BEFORE PRINTING. WHEN LSTOG IS ON, * PRLIN IS CALLED BY THE CHAR ROUTINE. THE FLAG * ROUTINE CALLS IT ALSO, IN CASE LSTOG IS OFF. THE * TYPED TOG IS SET BY PRLIN WHENEVER A LINE IS * PRINTED TO AVOID PRINTING IT TWICE WHEN THERE ARE * 2 ERRORS IN ONE LINE AND LSTOG IS OFF. PRLIN NOP ENTRY POINT LDA TYPED IF THIS LINE HAS ALREADY BEEN SZA PRINTED, TYPED WILL BE SET, JMP PRLIN,I AND WE CAN RETURN IMMEDIATELY. ISZ TYPED SET TYPED. LDA PCNTR CONVERT PCNTR TO OCTAL IN JSB OCONV COLUMNS 4-9 DEF PRIN+1 LDA SEQNO CONVERT SEQNO TO DECIMAL IN JSB DCONV COLUMNS 1-3 PRINI DEF PRIN LDA CHARS COMPUTE MIN (CHARS,62) ADA CCNT3 SSA,RSS CLA ADA CCNT4 ADA .+10 ADD 10 FOR THE FIRST 10 CHARS. LDB PRINI SET ADDRESS OF PRINT BUFFER IN B JSB PRINT CALL PRINT ROUTINE JMP PRLIN,I RETURN * MATCH COMPARES TWO IDENTIFIERS FOR EQUALITY. CALLING SEQUENCE IS: * JSB MATCH * UNEQUAL RETURN * EQUAL RETURN * WHEN MATCH IS CALLED, A=ADDRESS OF FIRST IDENTIFIER. * .INFO POINTS TO INFO WORD OF 2ND IDENTIFIER, WHICH IS IN STUFF. MATCH NOP ENTRY POT ������ STA T SAVE ADDRESS OF IDENT1 IN T LDA .WLEN GET LENGTH OF IDENT2 ENTRY ADA .INFO T+1_ADDRESS OF IDENT2-1 STA T+1 LDA T,I GET NUMBER OF CHARACTEERS INVOLVED ALF,ALF IN IDENT1 FROM FIRST CHARACTER IN ENTRY AND .377 ARS COMPUTE # OF WORDS CMA AS NEGATIVE. MACH1 ISZ T+1 BUMP IDENT2 POINTER LDB T+1,I COMPARE THE CPB T,I 2 ENTRIES RSS SAME SO FAR JMP MATCH,I NOT EQUAL ISZ T BUMP IDENT1 POINTER INA,SZA TEST FOR DONE JMP MACH1 LOOP IF NOT ISZ MATCH EQUAL JMP MATCH,I RETURN HED TABLE LOOKUP ROUTINES * THE TABLE LOOKUP ROUTINES ARE USED TO SEARCH THE SYMBOL TABLE, * STUFF. * THE ROUTINE LOOK SCANS BACK TO THE LAST ENTRY. EACH TIME IT IS * CALLED, IT SCANS BACK ONE ENTRY. THE CALLING SEQUENCE IS: * JSB LOOK (A=0 THE FIRST TIME) * * * UPON NORMAL EXIT, THE INFO WORD IS BROKEN DOWN INTO * WORD LENGTH (.WLEN), BLOCK LEVEL (.BLEV), TYPE (.TYPE), * .RBIT AND .XBIT. THE TYPE IS ALSO IN THE A-REGISTER. LOOK NOP ENTRY POINT. SZA IF A IS NON ZERO, GO TO GET AD- JMP *+3 DRESS OF NEXT ENTRY. LDA STUFF IF 0, STUFF POINTS AT TOP ENTRY. JMP LOOKA LDA .WLEN SUBTRACT WORD LENGTH FROM ADA .INFO ADDRESS OF LAST ENTRY TO GET LOOKA STA .INFO NEW ADDRESS & PUT BACK. LDA 0,I GET INFO WORD. SZA,RSS IF INFO IS ZERO, THIS IS THE JMP LOOK,I END OF TABLE, SO KICK OUT. ISZ LOOK BUMP RETURN ADDRESS. JSB SCATR SCATTER INFO JMP LOOK,I AND RETURN. * LOOK1 IS CALLED TO FIND A SYMBOL IN THE TABLE, THE SYMBOL BEING * AN ALPHABETIC WORD OR A PUNCTUATION MARK. THE CALLING * SEQUENCE IS: JSB LOOK1 * DEF ������OCATION OF SYMBOL> * * LOOK1 NOP ENTRY POINT. CLA CLEAR FOR FIRST LOOK. LOOKC JSB LOOK SCAN TABLE. JMP LOOKB EXIT IF CAN'T FIND IT. CPA TYCON OR A CONSTANT OR A TEMPORARY. JMP LOOKC CPA TEMPI JMP LOOKC CPA TEMPR JMP LOOKC LDA LOOK1,I COMPARE THIS SYMBOL TO JSB MATCH THE SYMBOL BEING LOOKED UP. JMP LOOKC NOT THE SAME. LDA .TYPE ISZ LOOK1 BUMP RETURN ADDRESS. LOOKB ISZ LOOK1 JMP LOOK1,I RETURN. HED ALGOL BLOCK PROCESSOR ROUTINE * ********************************************* * * BLOCK - CONTROLS PROCESSING WITHIN BLOCKS * * * INCLUDING EXECUTION OF THE DECLAR-* * * ATIVE AND STATEMENT PROCESSORS. * * ********************************************* HS NOP =0 UNTIL A STATEMENT IS ENCOUNTERED HD NOP =0 UNTIL A DECLARATIVE IS ENCOUNTERED BLSTF NOP =VALUE OF 'STUFF' AT BLOCK INITIATION JFLAG NOP =LOC'N PRECEDING FIRST DECLARATIVE BLOCQ NOP JSB STACQ SAVE BLOCK PARAMETERS IN STACK DEF HS HS, HD, JFLAG, BLOCQ ARE SAVED JSB UNSTQ * EXIT FROM BLOCK ROUTINE HERE * - LDA STUFF STA BLSTF BLSTF = CURRENT 'STUFF' ADDRESS CLA STA HS HS = 0 STA HD HD = 0 STA JFLAG JFLAG = 0 BLOC1 JSB SCANR GET NEXT SYMBOL JSB TWEEQ OCT 140,151 IS THE SYMBOL A DECLARATIVE? JMP BLOC8 YES, GO TO DECLAR.SEQUENCE LDA JFLAG NO; DONE WITH DECLARATIVES. SZA,RSS IS A JMP AROUND NEEDED? JMP *+4 NO - SKIP JMP EMIT * YES-EMIT JMP AROUND DECLARATIVES. LDA PCNTR CURRENT LOC'N(OPERAND OF 'JMP') LDB JFLAG ADDRESS OF 'JMP' JSB EMJMP EMIT THE INSTRUCTION CL������A STA JFLAG CLEAR'JUMP AROUND' FLAG INA STA HS SET STATEMENT ENCOUNTER FLAG JSB STMPR GO TO STATEMENT PROCESSOR JSB SCANR PICK UP NEXT SYMBOL CPA END IS IT = 'END'? JMP BLOC3 YES BLOCS JSB XSEMI GO TEST FOR A SEMICOLON JMP BLOC1 BACK TO START BLOC3 LDB HD GET DECLARATIVE USE INDICATOR SZB,RSS HAVE DECLARATIVES BEEN USED? JMP BLOCQ+3 NO, EXIT FROM BLOCK PROC HERE. JSB LBLCK YES, DOES INSTR. REQUIRE LABEL? JSB STLBL YES, PUT IT THERE. LDA BLSTF GET 'STUFF' ADDRESS LIMIT. JSB XPACK GO PACK THE CONSTANTS IN STUFF. JMP BLOCQ+3 EXIT BLOCK PROCESSOR. * ** THIS IS WHERE WE SET UP TO ** * ** ENTER THE DECLARATIVE ROUTINE ** BLOC8 LDA HS SZA,RSS HAS A STATEMENT BEEN PROCESSED? JMP *+4 NO - GO ON WITH DECLARATIVES JSB .FLAG YES - GO TO ERROR DIAGN. ROUTINE ARPRN DEC 41 (DECLARATIVE AFTER STATEMENT) CLA STA HT SET TYPE SAVE=0 LDA HD SZA IS THIS 1ST DECLAR. IN THE BLOCK JMP *+3 NO - SKIP HD AND BLK PROCESSING ISZ BLK ADD 1 TO BLK (BLOCK LEVEL) ISZ HD SET HD = 1 * ****************************************** * * DECLARATION SECTION. * * * THIS SECTION SUPERVISES THE PROCESSING * * * AND JUMPS TO THE VARIOUS DECLARATION * * * ROUTINES. * * ****************************************** LDA .TYPE PREPARE FOR TYPE TEST CPA INTEG ER INTEGER OR BOOLEAN? JMP *+2 YES CPA REAL NO; REAL? RSS YES JMP DECL1 NO, SKIP SAVE(HT ALREADY=0)/SCAN STA HT SAVE TYPE IN HT JSB SCANR GET NEXT SYMBOL JSB XIDTN UNDEFINED ID? RSS NO, SKIP OVER NEXT JMP IDGN - YES, GO PROCESS ID DECLZ#������ARATIVE DECL1 LDA .TYPE CPA PROCE DURE IS DECLARATION A PROCEDURE? JMP PRTN YES, GO TO PROCEDURE GENERATOR CPA ARRAY IS IT AN ARRAY? JMP ARGN ES, GO PROCESS AN 'ARRAY' DECLARATIVE LDB HT GET HT FOR ZERO TEST STA HT MOVE .TYPE TO HT SZB,RSS TYPE REAL,INTEGER OR BOOLEAN 1ST? JMP *+3 NO - OK JSB .FLAG YES, ERROR. #43 APLUS DEC 43 REAL, INT. ON BOOL. ILLEGAL HERE JSB SCANR GET NEXT SYMBOL FROM SCANNER JSB IDTSQ TEST FOR UNDEFINED IDENTIFIER NOP ALTERNATE EXIT(ERROR 44) * * TEST FOR REMAINING TYPES OF DECLARATION * LDA HT CPA SWITC H IS IT A SWITCH? JMP SWGN ES, GO PROCESS A SWITCH DECLARATIVE CPA INPUT IS IT INPUT? JMP IOGN ES, GO TO IO DECLARATIVE PROCESSER CPA OUTPU T OR OUTPUT? JMP IOGN ES, GO TO IO DECLARATIVE PROCESSER CPA FORMA T IS IT A FORMAT DECLARATION? JMP FMGN YES GO TO FORMAT DECLARATIVE PROCESSOR CPA EQUAT E IS IT AN EQUATE? JMP EQGN YES , GO TO EQUATE DECLARATIVE PROCESSER CPA LABEL IS IT A LABEL DECLARATION? JMP LBGN YES, GO TO LABEL DECLARATIVE PROCEESER JSB .FLAG ERROR - TYPE IS NOT DECLARATIVE AMINU DEC 45 #45-ILLEGAL SYMBOL IN DECLARAT'N BLOC2 JSB SCND GO AND SCAN TO NEXT SEMICOLON. JMP BLOC1 PRTN JSB PRTNQ O TO PROCEDURE DECLARATIVE PROC. JMP BLOC1 EXIT BACK TO BLOCK ROUTINE SKP * *************************************************** * * IDGEN GENERATES CODE FOR VARIABLES, * * * INITIALIZES IF NECESSARY, A REAL VARBL * * * GETS 2 WORDS, AN INTEGER 1. * * *************************************************** IDGN0 JSB SCANR RO SCANNER JSB IDTSQ JMP IDGN5 VARIABLE DEFINED OR BLEV = 0 IDGN JSB JTST SET FOR JUMP AROUND DECLAe������RATIVES. CLB LDA HT CPA REAL REAL OR INTEGER INB CLA,INA ADA B A = 2 IF REAL STA HSA SAVE BSS LENGTH(IF NEEDED) LDA TYVAR JSB SETIN CLB JSB INSER LDA $INFO GO PUT SYMBOL NAME IN JSB STLBL PRINT BUFFER LABEL FIELD. IDGN5 JSB SCANR GET NEXT SYMBOL CPA STORE IS IT AN ARROW OR := JMP IDGN3 YES, GO TO CONSTANT PROCESSOR LDA HSA SET LENGTH OF BSS JSB EMBSS GO EMIT BSS FOR ID LDA .TYPE GET LAST SYMBOL IDGN2 CPA COMMA COMMA? JMP IDGN0 YES, GO GET NEXT VARIABE JSB XSEMI NO SEE IF IT IS DONE JMP BLOC1 IDGN3 JSB NUMBQ GET NUMBER FOR INITIAL VALUE RSS FALURE EXIT NO NUMBER THERE JMP IDGN9 GOT THE NUMBER JSB SCND SCAN TO TERMINATOR JMP BLOC1 EXIT IDGN9 JSB HINIT EMIT THE NUMBER JSB SCANR SCAN NEXT SYMBOL JMP IDGN2 HED GET CONSTANTS IN 'STUFF' AND PACK THEM ROUTINE * ************************************************** * * XPACK - SEARCH 'STUFF' FOR CONSTANTS AND PACK * * * THEM INTO UPPER TABLE BEFORE RESTORING * * * 'STUFF' POINTER. * * * SEARCH FOR UNDEFINED LABELS AND FLAG * * * SUBTRACT 1 FROM THE BLOCK COUNTER(BLK) * * * THEM(ERROR #6). * * * A REG. = UPPER LIMIT OF 'STUFF' FOR * * * THIS BLOCK. * * ************************************************** XPACK NOP STA XSRCH SAVE THE 'STUFF' ADDRESS LIMIT LDA STOP STA HSTOP SAVE TOP OF STACK(STOP) IN HSTOP CLA A=0 FOR START OF STUFF SEARCH BLOC4 JSB LOOK GET NEXT STUFF ENTRY NOP LDA .INFO CPA XSRCH LAST ENTRY IN BLOCK SCANNED? JMP BLOC5 YES - GO TO ,������TRANSFER ENTRIES LDB .TYPE GET ENTRY TYPE. CPB DFLAB LABEL? JMP BLOC7 YES - GO SEE IF IT'S DEFINED CPB TYCON IS IT A CONSTANT? JSB PUSHQ YES, SAVE ITS ENTRY ADDRESS. JMP BLOC4 GO GET NEXT ENTRY * **** IF ANY ENTRIES ARE TO BE SAVED THIS IS **** * **** WHERE THEY ARE TRANSFERRED UP IN 'STUFF'**** BLOC5 LDA STOP CPA HSTOP IS STACK IN ITS BLOC3 POSITION? JMP BLOC6 YES - WE'RE DONE MOVING ENTRIES. LDB STOP,I NO - GET INFO WORD OF ENTRY NEEDED ISZ STOP BUMP STOP ADDRESS LDA .-4 GET -4(=NEG OFTYCON LENGTH) STA T T = -ENTRY LENGTH ADB A B = LOC'N - LENGTH ISZ B BUMP ENTRY POINTER ISZ XSRCH BUMP STUFF POINTER LDA B,I GET ENTRY WORD AND STA XSRCH,I MOVE UP IN STUFF ISZ T LAST WORD MOVED? JMP *-5 NO - GET NEXT WORD. JMP BLOC5 YES - GO LOOK FOR NEXT ENTRY. * **** NOW WE'RE DONE WITH THIS BLOCK ** * **** CLOSE IT OUT AND EXIT ** BLOC6 LDA XSRCH STA STUFF RESET THE TABLE POINTER(STUFF) LDA BLK ADA .-1 STA BLK LOWER BLOCK # BY 1 JMP XPACK,I EXIT FROM XPACK HERE******* BLOC7 LDA .INFO,I * TEST LABEL'STUFF' ENTRY HERE SSA,RSS HAS IT BEEN DEFINED IN THE PROG? JMP BLOC4 YES - GO SEARCH FOR THE NEST ENTRY JSB .FLAG NO - ERROR #6 DEC 6 "UNDEFINED LABEL" LDA .INFO GET LOC OF LABEL ENTRY JSB CHARM GET ADRR AND CHAR COUNT OF SYMBOL INA BUMP CHAR COUNT BY 1 FOR XTRA BLNK STA T SAVE IT FOR PRINT ROUTINE LDA B,I GET 1ST 2 CHARS OF LABEL AND .377 CLEAR CHAR COUNT ADA HNRIC INSERT AN UPPER BLANK STA B,I PUT IT BACK INTO ENTRY LDA T GET CHAR COUNT JSB PRINT GO PRINT THE LABEL CLA,INA JMP BLOC4 GO BACK FOR NEXT STUFUG������F ENTRY XSRCH NOP INTERMEDIATE 'STUFF' LIMIT IN XPACK SCAND NOP FLAG TO BACK UP SCANNER PEEKD NOP FLAG SET TO BACK UP ONE CHAR. HT NOP SAVE DECLARATION TYPE PCNTR NOP PROGRAM COUNTER. ECNTR NOP ERROR COUNTER. CCNT NOP CHARACTER COUNTER. LSFLG NOP SET IF LISTING ASSEMBLY CODE PFLAG NOP SET FOR PROCEDURE ONLY COMPILING A2ND OCT -445 POINTS TO 2ND ASTAC ELEMENT ATOP OCT -4 POINTS TO 1ST ASTAC ELEMENT ADA ADA 0 ADDOP EQU ADA HSTOP NOP SAVES STACK PIINTER HNRIC OCT 20000 'NAM' RECORD IDENT. CODE (1) WHILE OCT 157 PAUSE OCT 160 PAUSE GO OCT 166 WRITE OCT 175 HED STATEMENT PROCESSING SUPERVISOR * *********************************************** * * STATE - TEST FOR TYPE OF STATEMENT AND JUMP * * * TO THE APPROPRIATE PROCESSOR. * * * IF ITS A LABEL EMIT A JMP AT THE * * * ADDRESS IN THE ENTRY AND PLACE THE * * * CURRENT ADDRESS IN THE ENTRY * * * .TYPE,ETC REFERS TO CURRENT ENTRY TESTED. * * *********************************************** BLOCK DEF BLOCQ BLOCK PROCESSOR ADDRESS CSPRO DEF CASTM DOST DEF DOSTM FORPR DEF FORST 'FOR' PROCESSOR GOPR DEF GOSTM ^GO^ PROCESSOR IFPR DEF IFSTM 'IF' PROCESSOR IOPR DEF IOSTM 'READ/WRITE' PROCESSOR WHPRO DEF WHIST STMPR NOP JSB STACQ GO TO STACK TO SAVE OUR RETURN DEF STMPR ADDRESS. JSB UNSTQ EXIT FROM STATE, HERE. STMP1 LDA .TYPE GET ENTRY(STATEMENT) TYPE JSB TWEEQ TEST FOR MAGTAPE STATEMENT ABS EOF ABS UNLOD JMP TAPRO CLB SET B=0 FOR FINAL TEST (LATER) CPA GO 'GO'? LDB GOPR YES, B=GO ADDRESS CPA DO STATEMENT LDB DOST CPA CASE STATEMENT LDB CSPRO CPA IF 'IF' ? LDB IFPR YES, B=IF ADDRESS V���N��LH CPA BEGIN 'BEGIN' ? LDB BLOCK YES, B=BLOCK ADDRESS CPA READ 'READ' ? LDB IOPR YES CPA WRITE 'WRITE' ? LDB IOPR YES CPA WHILE LDB WHPRO WHILE STATEMENT CPA TYPRO 'TYPE PROCEDURE' ? JMP PROST+1 CPA PRPRO 'PROPER PROCEDURE' ? JMP PROST+1 CPA FOR 'FOR' ? LDB FORPR YES, B=FOR ADDRESS CPA TYARA ARRAY ? JMP PROST CPA TYVAR VARIABLE ? JMP PROST SZB,RSS IF B=0 NONE OF ABOVE STATEMENTS JMP *+3 WERE DETECTED JSB B,I B=ADDRESS OF CORRECT PROCESSOR. JMP STMPR+3 EXIT CPA PAUSE "PAUSE"? JMP STMP5 YES, GO PROCESS IT (B=0) CPA SEMI SEMI-COLON ? JMP STMP2+1 YES ��������HN�������������� CPA ELSE 'ELSE' ? JMP STMP2+1 YES CPA END 'END' ? JMP STMP2+1 YES CPA UNTIL JMP STMP2+1 CPA DFLAB LABEL ? JMP STMP3 YES * * AN ILLEGAL SYMBOL HAS BEEN USED AT THE * * * START OF A STATEMENT - PRINT ERROR DIAG 46.* JSB .FLAG GO TO ERROR DIAGNOSTIC ROUTINE APOIN DEC 46 ERROR # 46 STMP2 JSB SCND SCAN TO ; OR END ISZ SCAND BUMP SCAND JMP STMPR+3 EXIT STATEMENT PROCESSOR PROST CLA,RSS ASSIGNMENT STATE. LDA .+2 PROCEDURE STATE. JSB ARITH TO ARITH SUBR. NOP ERROR EXIT FROM ARITH JMP STMPR+3 GO BACK TO STATEMENT PROC IN BLOCK * ******************************************* * * LABEL FOR A STATEMENT IS PROCESSED HERE * * ******************************************* STMP3 LDA .INFO SAVE LOC'N OF LABEL ENTRY IN TBL STA $INFO JSB SCANR SCAN NEXT SYMBOL CPA COLON IS LABEL FOLLOWED BY A COLON? JMP *+4 YES JSB .FLAG GO PRINT ERROR # 47 ASLSH DEC 47 (LABEL NOT FOLLOWED BY COLON) JMP STMP2 TO EXIT FROM AN ERROR LDA $INFO,I A = INFO WORD OF LABEL SSA IS THE 'D' BIT CLEAR?(=DEF.LABL) JMP *+4 NO, OK - GO ON WITH PROCESSING JSB .FLAG YES - LABEL ALREADY DEFINED DEC 48 PRINT ERROR DIAG.# 48 JMP STMP4 GO ON WITH PROCESSING AT STMP4 ELA,CLE,ERA CLEAR 'D' BIT(INFO WORD IN A) STA $INFO,I RESTORE INFO WORD LDA $INFO GET LOCATION OF JMP ADDRESS ADA .-1 STA $INFO SAVE ITS ADDRESS LDB $INFO,I GET LOCN. FOR JMP LDA PCNTR GET OPERAND FOR JMP STA $INFO,I SET CURRENT ADDR INTO LBL ENTRY. JSB EMJMP * EMIT A JMP TO CURRENT LOCATION STMP4 JSB SCANR GO GET NEXT SYMBOL(AFTER COLON) JMP STMP1 GO TO START OF STATE.PROCESSOR SKP * [������ ************************************** * * PROCESS A 'PAUSE' STATEMENT HERE. * * ************************************** STMP5 LDA CLA JSB EMRRF EMIT A CLEAR A (CLA) LDA #PAUS LOC'N OF .PAUS ROUTINE TO A STMP6 JSB EMJSB EMIT A ' JSB .PAUS ' HERE. JMP STMPR+3 GO TO STATEMENT EXIT #PAUS DEF .PAUS * PROCESS MAGTAPE STATEMENTS TAPRO ADA TFIX BUILD CODEWORD ALF RAL,RAL STA TAPER CLA CLA BUILD JSB STUFQ CONSTANT ENTRY LDA TAPER FOR JSB STUFQ CODEWORD CLA JSB STUFQ LDA CONFO JSB STUFQ LDA STUFF SAVE POINTER TO ENTRY IN TAPER STA TAPER JSB SCANT COMPILE UNIT NUMBER CLA,INA JSB ARITH JMP STMPR+3 FAILURE JSB MAKIN DEF ATOP,I LDA TAPER+1 SET ATOP TO POINT AT CODEWORD ENTRY STA ATOP LDA ADDOP JSB EMEMQ EMIT AN ADD INSTRUCTION LDA #TAPE EMIT A JSB .TAPE JMP STMP6 TFIX ABS 301B-EOF TAPER BSS 1 DEF TAPER #TAPE DEF .TAPE HED PROCEDURE DECLARATION PROCESSOR * ******************************************* * * PRGEN - PROCESS PROCEDURE DECLARATION - * * * - ENTERED VIA STACK SUBROUTINE * * ******************************************* M40B OCT -40 -40B HTRIC OCT 40001 'ENT' REC.ID.CODE(2) AND COUNT HPSTO NOP 1ST LOCATION OF PROCEDURE HPORG NOP ENTRY ADDRESS OF PROCEDURE HPTM1 NOP SAVE TEMP1 POINTER HPTM2 NOP SAVE TEMP2 POINTER HPTYP NOP PROCEDURE TYPE SAVER FOR FINAL SET HINFO NOP LOCN OF PROCEDURE ENTRY INFO WORD * *LOCN OF PROC ENTRY IN STUFF. PRTNQ NOP JSB STACQ SAVE PROCEDURE PARAMETERS IN STK DEF HPSTO START OF PARAMETER BLOCK JSB UNSTQ * EXIT FROM PROCEDURE PROCESSOR * LDA TEMP1 STA HPTM1 LDA TEMP2 SAV.������E 'TEMP' TABLE POINTERS STA HPTM2 STA TEMP1 SET TEMP1 = TEMP2 JSB SCANR SCAN PROCEDURE NAME JSB IDTSQ TEST FOR DEFINED PROCEDURE NAME NOP LDA PCNTR STA PRSKP SAVE CURRENT PCNTR VALUE(FOR 'CODE' PROC.) CLA CLB,INB ENTER: B=1. CPB BLK IF "BLK" = 1, THEN CPA PFLAG SKIP JTEST IF COMPILE ONLY PROC. JSB JTST SET ADDR. FOR JMP AROUND IF NEED CLA STA $RBIT SET $RBIT = 0 (REAL/INTEGER) STA $XBIT SET $XBIT = 0 (EXTERNAL) STA T SET T = 0 STA $NEXT SET $NEXT = 0 (PARAMETER COUNT) STA HPNUM SET NO. OF PARAMETERS = 0 LDA PCNTR STA HPSTO SAVE 1ST LOCN OF PROCEDURE IN 'HPSTO' STA $ADDR SET $ADDR TO ITS TEMPORARY VALUE LDA HT SZA IS THIS A PROPER PROCEDURE? JMP *+4 NO - LDA .+17B YES - SET UP HPTYP AND $TYPE = 17B LDB .+17B JMP PRG02 * * PROCESSING FOR NON-PROPER PROCEDURE * ISZ T T = 1 CPA INTEG REAL PROCEDURE ? JMP *+3 NO ISZ T YES - T = 2 ISZ $RBIT SET $RBIT = 1 LDA .+16B HPTYP = 16B LDB .+14B $TYPE = 14B PRG02 ALF,ALF POSITION PARAM.TYPE RAL ROTATE TYPE 9 BITS STA HPTYP SET HPTYP - FOR SETTING PROC.ENTRY AT EXIT STB $TYPE SET $TYPE - FOR PROCEDURE ENTRY LDA PCNTR ADA T A=PCNTR+T STA HPORG SET HPORG (PROCEDURE ENTRY POINT) LDA STUFF STA PSTOF SAVE TBL LOC'N OF PROCEDURE ENTRY LDA T SZA SKIP EMBSS IF PROPER PROCEDURE. JSB EMBSS EMIT T (#0) LOCNS AT START * * SET UP REMAINING PARAMETERS FOR STUFF INSERTION * LDA BLK STA $BLEV $BLEV = CURRENT BLOCK LEVEL LDA $SYMB A = LOCATION OF PROCEDURE NAME CLB,INB B = 1 (TO SHOW $NEXT GOES INTO ENTRY) ������ JSB INSER GO TO 'STUFF' INSERTION ROUTINE JSB STLBL STORE NAME IN LABEL FIELD. CLA,INA JSB EMBSS EMIT "BSS 001" FOR ENTRY POINT. LDA STUFF GET ADDRESS OF PROCEDURE ENTRY STA ADDX SAVE STUFF LOC'N OF PROCEDURE CLB FOR ENTRY POINT AT 0 IF PROC.ONLY CPB PFLAG IS THIS A 'PROCEDURE ONLY' COMPILE? JMP PRG04 NO, SKIP ENTRY POINT EMIT * * SET UP AND EMIT 'ENT' FOR THIS PROCEDURE * LDB HPORG STB PNBUF+6 SET ADDRESS OF ENTRY POINT LDB BLK EMIT ENTRY POINT CPB .+1 ONLY IF RSS BLOCK JMP PRG04 ONE. LDB .+7 FOR BIN.REC. LENGTH JSB EMMOV LDA PNBUF+5 AND HIMSK CLEAR LOWER STA PNBUF+5 HALF OF PNBUF+5 LDA HTRIC STA PNBUF+1 SET RIC = 2 AND 1 NAME JSB PNCH GO PUNCH THE ENT RECORD. PRG04 LDA STOP CHECK FO ENUF TABLE ROOM CMA,INA ADA .37B ADA PSTOF -STACK +37B +PSTOF SSA,RSS ENOUGH ROOM? JMP OVFLO NO MORE ROOM FOR TABLES * * SET UP PROCEDURE STUFF ENTRY WITH LENGTH OF 37 OCTAL LDB STUFF ADB .-2 STB HPRAM HPRAM = LOCN OF 1ST PARAM.DESCRIPTOR LOCN. LDB PSTOF TBL LOC'N OF PROCEDURE ENTRY ADB TYUID ADD 36 OCTAL STB ADDY ADDY POINTS AT START OF EXTND.STUFF ENTRY-1 LDA $ADDR STA B,I SET $ADDR INTO EXTENDED ENTRY INB B = START OF EXTENDED ENTRY (STUFF+31B) LDA STUFF,I STA HINFO SAVE CURRENT INFO WORD IOR .37B 'OR' IN 37B STA B,I SET EXTENDED INFO WORD WITH ADDED WORD COUNT STB STUFF STUFF = ORIGIN OF EXTENDED PROCEDURE ENTRY ISZ BLK BUMP BLOCK NUMBER FOR PROCEDURE PARAMETERS JSB SCANR SCAN FOR LEFT PAREN. CPA LPREN IS IT START OF PARAMETER LIST? JMP PRG12 YES - GO TO PROCESSOR FOR PARAMETERS JMP PR9������G05+3 SKIP TO NO PARAM CONTINUATION PRG05 JSB .FLAG ERROR #42 ASTAR DEC 42 NO PARAMETERS BETWEEN PAREN'S JSB SCND SCAN TO THE END OF THE PARAM LST JSB XSEMI CHECK FOR A SEMICOLON LDA HINFO GET ORIGINAL INFO WORD STA ADDX,I RESTORE IT INTO THE PROC%DURE ENTRY LDA ADDX GET STUFF LOC'N OF PROCEDURE ENTRY STA HINFO SET FOR CLEANUP PROCESSING STA STUFF RESET 'STUFF' PNTR IF NO PARAMTRS JMP PRG46 CONTINUE. PRG06 JSB .FLAG JUMP TO ERROR ROUTINE .77B DEC 63 TOO MANY PARAMETERS LDA ALPRN SET HPNUM=40(WILL FIT WITH 15 CHAR NAME) STA HPNUM SKP * * MOVE UP ALL GENERATED STUFF ENTRIES TO * * * FILL IN EMPTY PARAMETER SLOTS * * * IN THE EXTENDED PROCEDURE ENTRY * PRG08 LDA HPNUM NO. OF PARAMETERS INA +1 ARS /2 TO A STA T T = NO.OF WORDS NEEDED FOR PARAM. DESCRIPTRS LDA HINFO SET TO GET NEW ENTRY LENGTH AND .37B 'AND' OUT THE ORIGINAL LENGTH ADA T ADD PARAMETER SLOT COUNT ADA M40B -40B SSA,RSS IS TOTAL GREATER THAN 37 OCTAL? JMP PRG06 YES GO TO ERROR ROUTINE LDA T NO, IT'S OKAY ADA HINFO ADD ORIGINAL INFO WORD LDB ADDY STORE IT INTO EXTENDED ENTRY INFO WORD BY INB USING ADDY+1 AS LOCATION STA B,I - IT'S IN LIKE FLYNN! CLB SET B=0 LDA T NO.OF PARM. DESC. LOCNS ADA HPRAM + PARAM.LOCN IN ENTRY GIVES * * CLEAR THE WORDS IN THE TABLE FOR THE PARAMETER S ADA .-1 SET A=ADDRESS OF LAST TABLE CODE STB A,I CLEAR THAT LOC IN THE TABLE CPA HPRAM IS LAST PARAMETER LOC CLEARED? RSS SKIP IF IT IS JMP *-4 GO BACK TO CLEAR NEXT IF IT IS'NT ADA T RESET A TO PARAMETER COUNT LOC'N LDB HPNUM STB A,I STORE NO. OF DESГ������CRIPTORS INA STA ADDX ADDX = LOCN.OF 'ADDR' WORD IN FINAL ENTRY INA A = LOCN OF INFO WORD IN FINAL ENTRY STA HINFO SAVE IT IN HINFO(USE ON EXIT FOR STUFF REST) LDB STUFF SET B = STUFF(END OF CURRENT SYMBOL TABLE) PRG10 LDA ADDY,I PICK UP EXTENDED LOCN STA ADDX,I PUT IN NEW LOCN CPB ADDY IS END OF TABLE REACHED? JMP PRG33 YES - GO AND RESET STUFF POINTER ISZ ADDY NO - BUMP ADDRESS COUNTERS ISZ ADDX JMP PRG10 GO BACK AND MOVE UP NEXT WORD * * SET UP PSEUDO ENTRIES (TYPE = 0) FOR * * * PARAMETERS ENCOUNTERED BETWEEN PARENS. * PRG12 JSB SCANR GET A PARAMETER NAME JSB IDTSQ IS NAME DEFINED IN BLOCK 0? JMP PRG15 YES - IGNORE IT ISZ HPNUM NO - BUMP PARAMETER COUNT CLA FOR $TYPE = 0 CLB FOR $RBIT = 0 JSB SETIN SET UP STUFF PARAMETERS FOR INSERT LDB HPNUM STB $ADDR FOR $ADDR = PARAMETER ORDINAL CLB JSB INSER PLACE NEW ENTRY INTO STUFF PRG15 JSB SCANR SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP PRG12 YES - GO BACK AND PROCESS NEXT PARAMETER LDB HPNUM TEST PARAMETER COUNTER SZB,RSS ARE THERE ANY AT ALL? JMP PRG05 NO, GO TO ERROR ROUTINE CPA RPREN WAS IT A RIGHT PAREN? JMP *+5 YES - SKIP TO SCAN JSB .FLAG NO - ERROR #64 AAT DEC 64 "RT PAREN EXPECTED AT PROC.PARAM LIST END" JSB SCND SCAN TO A SEMI-COLON JMP PRG08 GO TO STUFF REARRANGER JSB SCANR SCAN FOR A SEMI-COLON(HOPEFULLY) JSB XSEMI GO TEST FOR SEMICOLON JMP PRG08 * * RETURN HERE WHEN NO PARAMETERS AFTER PROCESSINF SPC 1 PRG19 CLA ENTER: A=0. JSB EMOCT EMIT A ZERO(0) CODE WORD FOR NO PARAMETER. SPC 1 * * ENTER STATEMENT ROUTINE AT THIS POINT IN ORDER * * TO PROCESS TH������E BODY OF THE PROCEDURE... PRG20 JSB STMPR - GO TO STATEMENT PROCESSOR * * STATEMENTS NOW FINISHED, CLEAN UPFOR EXIT* LDA HPSTO CPA HPORG PROPER PROCEDURE? JMP *+3 YES LDA HINFO NO - SET UP LOAD 'RESULT' CODE JSB EMLOD EMIT LOAD INSTRUCTION(S) CLB SET UP EXIT FROM PROCEDURE LDA HPORG IOR BIT15 SET UP ENTER ADDRESS, INDIRECT JSB EMJMP EMIT 'JMP HPORG,I' * * FINAL CLEANUP IS HERE ** PRG24 LDA HINFO GET ADDRESS OF PROCEDURE ENTRY ADA .-1 LDB HPORG STB A,I SET PROCEDURE ADDRESS = HPORG LDA HINFO,I GET INFO WORD IOR HPTYP 'OR' IN CORRESP. PROCEDURE TYPE. STA HINFO,I INFO WORD IS NOW CORRECT TYPE LDA HINFO GET 'STUFF' ADDRESS LIMIT JSB XPACK GO PACK THE CONSTANTS IN 'STUFF' LDA HPTM1 RESTORE 'TEMP' TABLE POINTERS STA TEMP1 LDA HPTM2 STA TEMP2 JSB SCANR SCAN TO NEXT SYMBOL JSB XSEMI CHECK TO BE SURE IT'S A SEMICOLON JMP PRTNQ+3 EXIT FROM PROCEDURE PROCESSOR HERE * * EXIT PRE-PROCESSING FOR 'CODE' PROCEDURES * PRG30 CLB JSB BREC EMIT REMAINDER OF CURRENT PNCH RECORD LDA PRSKP STA PCNTR RESET PCNTR BACK TO STARTING VALUE CLB CPA JFLAG WAS JFLAG SET AT START OF PROC.? STB JFLAG YES - CLEAR IT STB HPORG CLEAR EXT ORDINAL SLOT IN ENTRY LDA HINFO,I GET INFO WORD ADA ADA SET XBIT IN INFO WORD OF PROC.ENTRY STA HINFO,I JMP PRG24 GO TO COMPLETE PROCEDURE ENTRY * * END OF THE EXTENDED PROCEDURE TABLE HAS BEEN * * REACHED AND MOVED UP TO PROPER POSITON. * * NOW RESET THE 'STUFF' POINTER AND PROCEED. PRG33 LDA ADDX GET REVISED SYMBOL TABLE POINTER(STUFF) STA STUFF RESET STUFF(POINTS AT LAST PARAMETER ENTRY) * * PROCESS THE PARAMETER DESCRIPTORS * * * ANDc������ PLACE THEM INTO THE PROCED- * * * URE 'STUFF' ENTRY * CLA STA PRSIZ CLEAR PRSIZ JSB SCANR SCAN 1ST PARAMETER DESCRIPTOR CPA VALUE IS IT VALUE? JMP PRG60 YES - JUMP TO VALUE PROCESSOR * * START CHECKING FOR NEXT PARAMETER TYPE * PRG37 JSB TWEEQ *TEST FOR DECLARATIVES $$$ OCT 140,151 JMP PRG70 GO - IT'S ONE OF THOSE ABOVE. $WLEN BSS 1 NUMBER OF WORDS IN ENTRY * * IT'S ALL DONE LOOKING AT DESCRIPTORS * * * SET THEM UP IN THE PROCEDURE ENTRY * * * IN 'STUFF' * LDA PCNTR STA T T = PCNTR LDA PRSIZ GET LENGH OF LOC SLOTS STA $WLEN IN .PRAM LINKAGE AND SAVE IT LDB .-6 B = -6 PRG40 LDA HPNUM ISZ T BUMP LOCATION VALUE ADA B ADB .-8 B = B - 8 SSA,RSS HPNUM + B < 0? JMP PRG40 NO - KEEP COUNTING LDA PRSIZ UPDATE # OF WORDS IN .PRAM LINKAGE ADA T STA PRSIZ PRSIZ = LOCN IN LINK.OF LAST PARAM. CLA A=0 FOR INITIAL LOOKUP PRG45 JSB LOOK LOOK UP A PARAMETER ENTRY NOP END-OF-TABLE EXIT LDB .BLEV CPB BLK .BLEV = BLK? JMP PRG50 YES - SET UP ANOTHER PROC.PARAMETER * * LAST PROCEDURE PARAMETER SCANNED * * * SET UP AND LEAVE THIS SECTION * ISZ SCAND SET FLAG TO REREAD LAST SYMBOL * * ENTER HERE IF NO PARAMETERS IN PROCEDURE PRG46 JSB SCANR SCAN FOR 1ST STATEMENT WORD.. CPA CODE IS IT 'CODE'? JMP PRG30 YES - GO TO 'CODE' EXIT PROCESSER LDA #PRAM SET UP TO EMIT 'JSB .PRAM' JSB EMJSB GO TO EMITTER LDA .-5 STA T LDB HPNUM B = HPNUM SZB,RSS PARAMETER COUNT = 0? JMP PRG19 YES - GO EMIT THE ZERO CODE WRD. LDA HPNUM CMA,INA STA HPNUM -HPNUM TO HPNUM STA HCNTR ������ SAVE IN REFERENCE POINTER ALSO. PRG48 LDA HPRAM,I PREPARE FOR EMITTING PARAM. CODE JSB PROTS LDA HPRAM,I ALF,ALF SHIFT FOR LOWER 1/2 PROCESSING JSB PROTS ISZ HPRAM BUMP PARAM.POINTER ADDRESS JMP PRG48 #PRAM DEF .PRAM CODE OCT 161 VALUE OCT 176 * ***************************************** * * PROTS - EMIT THE PARAMETER CODE WORDS * * * NEEDED IN THE .PRAM LINKAGE * * * FOR A PROCEDURE * * ***************************************** PROTS NOP AND PCMSK CLEAR LOWER 14 BITS OF 'A' ADB A RBL,RBL ROTATE 'B' 2. ISZ T T ARROW T+1 ; T=0? JMP PROT1 NO LDA B YES - EMIT A CODE WORD JSB EMOCT LDA .-8 A=-8 STA T SET T = -8 CLB SET B = 0 PROT1 ISZ HPNUM BUMP PARAM.COUNT; = 0? JMP PROTS,I NO - LEAVE PROTS ROUTINE LDA T YES - TEST T CPA .-8 T = -8? JMP PROT3 YES - GO OUT TO START STATEMENTS RBL,RBL NO - POSITION FINAL CODE WORD ISZ T BUMP T; T=0? JMP *-2 NO - GO BACK AND ROTATE 2 MORE LDA B JSB EMOCT EMIT LAST PARAM.CODE WORD PROT3 LDA HCNTR STA HPNUM INITIALIZE SYMBOL COUNTER. CLA,RSS SEARCH SYMBOL TABLE FOR EARLIEST PROT4 CLA,INA PROCEDURE PARAMETER STILL JSB LOOK REQUIRING SPACE ALLOCATION. NOP END OF TABLE RETURN (NOT USED). ISZ HPNUM BACK TO FIRST PARAMETER? JMP PROT4 NOT YET, GO GET NEXT ONE. CLB,INB YES, INITIALIZE ALLOCATION STB $WLEN TO ONE WORD (MINIMUM). LDA .INFO,I GET SYMBOL'S INFO WORD IN -A-. CCB ADB .INFO LDB B,I GET ITS VALUE IN -B-. SSB IF SYMBOL IS NAME PARAMETER, JMP *+3 SKIP INTEGER/REAL TEST. SSA VALUE PARAMETER, IF ب������IT'S REAL, ISZ $WLEN BUMP ALLOCATION TO 2 WORDS. LDA .INFO GET SYMBOL'S INFO WORD AND JSB STLBL STORE ITS NAME IN LABEL FIELD. LDA $WLEN NOW ALLOCATE SPACE JSB EMBSS FOR THE VARIABLE. ISZ HCNTR ALL PARAMETERS ALLOCATED? JMP PROT3 NO, GO GET NEXT ONE. ISZ SCAND YES, BACK UP SCANNER. JSB SCANR RECALL PREVIOUS SYMBOL. JMP PRG20 EXIT TO STATEMENT PROCESSOR * * PROCESS AND SET UP IN THE PROCEDURE ENTRY * * * THE PARAMETER FORMATS CONTAINED IN 1/2 * * * WORDS WITH 'V' BIT(=VALUE),'R' BIT(=REAL) * * * AND TYPE OF PARAMETER * PRG50 SZA (TYPE IN A) TYPE NON-ZERO? JMP *+5 YES - OK JSB .FLAG NO - ERROR #65 POWER DEC 65 "PROC.PARAMETER DESCRIPTOR MISSING" CLA,INA SET A = 1 JMP PRG45 GO BACK FOR NEXT STUFF ENTRY LDA .INFO,I GET INFO WORD CLE,ERA SHIFT A RIGHT 1. LDB .INFO ADB .-1 B POINTS AT WORD WITH V AND PARAM.#. ADA B,I ADD IN 'V' BIT AND HIMSK CLEAR LOWER 'A' STA T SAVE A IN T STB T+1 SAVE ADDRESS OF 'ADDR' WORD OF PARAM.ENTRY LDA B,I GET PARAMETER NO. ELA,CLE,ERA CLEAR 15. INA A=A+1 CLE,ERA A_A+1 BY 2 E=UPPER LOWER FLAG ADA HPRAM A = ADDRESS-1 OF PARAM IN ENTRY LDB T B = 1/2 PARAMETER ENTRY WORD SEZ UPPER 1/2 IN B? BLF,BLF NO - SHIFT IT TO LOWER ADA .-1 SET A = CURRENT ADDR OF PARAM. ADB A,I ADD IN THE OTHER HALF STB A,I AND STORE IT IN THE PROC.ENTRY LDA T A = PARAM.DOPE(V,R AND TYPE) LDB PRSIZ ADDRESS IN PARAM.LIST IN 'B' RAL,SLA IS IT A 'V' PARAMETER? JMP PRG52 YES ADB BIT15 NO - SET INDIRECT BIT LDA .-1 FOR -1+PRSIZ JMP PRG53 PRG5¦������2 SSA,RSS IT'S BY VALUE - IS IT REAL? JMP *-3 NO ADB .-1 YES - RESET PARAM.LOCATION LDA .-2 FOR -2+PRSIZ PRG53 ADA PRSIZ STA PRSIZ RESET PRSIZ (-1 OR -2) STB T+1,I SET PARAM.LOCN.INTO ITS ENTRY JMP PRG45 GO TO TEST NEXT ENTRY * * PROCESS 'VALUE' TYPE PARAMETER * PRG60 JSB SCANR SCAN FOR VALUE NAME SZA,RSS IS IT IN THE LIST? (TYPE = 0?) JMP *+4 YES - GO SET VALUE BIT ('V') JSB .FLAG NO - ERROR #66 SLASH DEC 66 "VALUE PARAMETER NOT IN LIST" JMP PRG62 LDB .INFO GET INFO WORD ADDRESS ADB .-1 SET IT TO PRECEDING WORD ADDR. LDA B,I GET THAT WORD IOR BIT15 SET 'VALUE' BIT (BIT15) STA B,I RESTORE THE WORD PRG62 JSB SCANR SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP PRG60 YES - GO BACK FOR NEXT VALUE NAME * * SCAN PROCEDURE PARAMETER DESCRIPTORS * * * AND SET UP PORTIONS OF THE PARAMETER * * * PSEUDO ENTRIES IN STUFF, VIZ.1TYPE * * * AND 'R' BIT. * PRG65 JSB XSEMI SCAN TO SEMI-COLON PRG66 JSB SCANR SCAN FOR A DESCRIPTOR JMP PRG37 JMP TO DESCRIPTOR TESTER. * * EQUATE USED - IT'S ILLEGAL * PRG68 JSB .FLAG ERROR #67 DEC 67 "ILLEGAL PROCEDURE DESCRIP, EQUATE" PRG69 JSB SCND SCAN TO A TERMINATOR JMP PRG66 GO FIND NEXT DESCRIPTOR * * WE'RE BACK FROM DESCRIPTOR TEST HERE, * * * WITH .TYPE IN THE 'A' REGISTER * PRG70 CPA EQUAT IS IT AN 'EQUATE' ? JMP PRG68 YES - GO BACK TO ERROR PROC. * ********************************************** * * PRDES - PROCESS PARAMETER DESCRIPTORS HERE * * * SET .TYPE AND .RBIT INTO THE PARAMETER * * * 'STUFF' ENTRIES. * * ********************************************** CLB SET B = 0 STB $XBIT z������ SET $XBIT = 0 (FOR CLEAR V PARM) STB $RBIT SET $RBIT = 0 (FOR 'REAL' FLAG) CPA REAL REAL? JMP PRG85 YES - CPA INTEG NO - INTEGER OR BOOLEAN? JMP PRG85 YES - GO SAVE IT AND SCAN PRG71 SZA,RSS NO - IS IT A VARIABLE? JMP PRG87 YES - SET PRTYPE,-TEST RBIT STA $XBIT SET $XBIT TO CLEAR 'V' BIT LATER CPA ARRAY IS NAME = ARRAY? JMP PRG90 YES - GO PROCESS IT CPA PROCE NO - IS IT PROCEDURE? JMP PRG95 YES LDB $RBIT GET DECLARATION TYPE(NONE WE HOPE). SZB,RSS HAS ONE BEEN FOUND? JMP *+5 NO - GOOD! SKIP AROUND ERROR SET JSB .FLAG YES -BAD! -ERROR #67 INTDV DEC 67 "ILLEGAL 'TYPE' FOUND IN DECLAR." CLB STB $RBIT CLEAR $RBIT LDA .TYPE SET A = .TYPE AGAIN CPA LABEL LABEL? LDB .+21B YES.- SET B = 21B CPA SWITC SWITCH? LDB .+23B YES - SET B = 23B CPA FORMA FORMAT? LDB .+24B YES - SET B = 24B CPA INPUT INPUT? LDB .+25B YES - SET B = 25B CPA OUTPU OUTPUT? LDB .+26B YES - SET B = 26B SZB HAS A DESCRIPTION BEEN GIVEN? JMP *+4 YES JSB .FLAG NO - ERROR #68 STAR DEC 68 "ILLEGAL DESCRIPTOR IN PROC.DECL" JMP PRG69 BACK TO TERMINATOR SCAN. STB PRTYP SAVE DESCRIPTOR TYPE PRG75 JSB SCANR GET A VARIABLE PRG77 LDA .TYPE SZA,RSS .TYPE = 0? (I.E. DEFINED IN LIST) JMP *+4 YES JSB .FLAG NO - ERROR #69 MINUS DEC 69 "IDENTIF. NOT DEF. AS PROCED.PARAM." JMP PRG80 * * SET TYPE AND RBIT INTO INFO WORD OF * * * VARIABLE 'STUFF' ENTRY * LDB .INFO ADB .-1 B = ADDR.OF WORD WITH V BIT STB T T = B LDA T,I LDB $XBIT SZB IS V BIT NECCESARY ELA,CLE,ERA NO - CLEAR V BIT ���N��LH STA T,I RESTORE V BIT WORD TO STUFF ENTRY LDB $RBIT SZB,RSS IS VARIABLE REAL? JMP *+3 NO SSA YES - IS V BIT SET? ISZ PRSIZ YES - BUMP .PRAM LINKAGE LENGTH LDA .INFO,I A = INFO WORD! SZB IS VARIABLE REAL? IOR BIT15 YES - ADD R BIT TO INFO WORD ALF,ALF POSITION INFO WORD FOR TYPE RAR INSERTION ADA PRTYP ADD IN TYPE ALF,ALF REPOSITION RAL STA .INFO,I RESTORE INFO WORD TO STUFF ISZ PRSIZ BUMP .PRAM LINKAGE LENGTH PRG80 JSB SCANR SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP PRG75 YES - BACK FOR NEXT IDENTIFIER ��������������������������������������������������������������������������������������������������������N�������������� JMP PRG65 NO - BACK FOR SEMICOLON SEARCH * * TYPE = REAL, INTEGER OR BOOLEAN * * * SAVE IT AND SCAN AGAIN * PRG85 STA $RBIT SAVE CURRENT .TYPE JSB SCANR SCAN NEXT SYMBOL JMP PRG71 BACK TO TESTING * * TYPE = 0(PROC.PARAMETER) * PRG87 LDA .+14B A = 14B (IDENTIFIER CODE) LDB $RBIT SZB $RBIT = 0 JMP PRG92 NO - IT'S GOOD JSB .FLAG YES - ERROR #70 PLUS DEC 70 "NO TYPE SPEC. FOR IDENTIFIER" LDA .+14B RESET A = 14B PRG88 CLB PRG89 STB $RBIT SET $RBIT = 0 OR REAL STA PRTYP SET PRTYP = A REG.CONTENTS JMP PRG77 GO TO ID EXAMINE AND SET * * TYPE IS 'ARRAY' * PRG90 JSB SCANR SCAN FOR IDENTIFIER LDA .+13B ARRAY CODE IN A LDB $RBIT SZB,RSS IS TYPE OF ARRAY SET? LDB REAL NO - SET IT = REAL PRG92 CPB REAL IS TYPE = REAL? JMP PRG89 YES - GO SET PRTYP (IN A NOW) JMP PRG88 NO - GO CLEAR $RBIT, SET PRTYP * * TYPE IS 'PROCEDURE' * PRG95 JSB SCANR SCAN FOR PROCEDURE IDENTIFIER LDA .+17B A = 17B (PROPER PROCEDURE CODE) LDB $RBIT B = $RBIT SZB IS IT A FUNCTION PROCEDURE LDA .+16B YES - SET A = 16B JMP PRG92 GO TO FURTHER TEST HED TESTING AND SETUP ROUTINES * **************************************************** * * JTEST - SET THE BLOCK ADDRESS INTO LOC'N 'JFLAG' * * **************************************************** JTST NOP LDA JFLAG SZA JFLAG = 0? JMP JTST,I NO - EXIT (IT HAS AN ADDRESS) LDA PCNTR STA JFLAG SET J FLAG = PCNTR JSB EMNOP EMIT A SPACE FOR FUTURE 'JMP' JMP JTST,I EXIT * ******************************************** * * IDTSN - TEST FOR AN UNDEFINED IDENTIFIER,* * * IDTST - TEST FOR AN UNDEFINED IDENTIFIER * * C������ * IF NOT FOUND PRINT AN ERROR DIAG.* * * EXIT TO * * * 1. RETURN ADDRESS+1 IF IDENTIFIER FOUND * * * 1. RETURN ADDRESS+2 IF IDENTIFIER IS * * * NOT FOUND(I.E. IT'S UNDEFINED). * * ******************************************** XIDTN NOP ENTRY TO 'IDTSN' LDB *-1 RETURN ADDR. TO B CLA A = 0 STB IDTSQ SET RETURN ADDRESS JMP IDTS1 ENTER MAIN ROUTINE FROM HERE IDTSQ NOP ENTRY TO 'IDTST' IS HERE CLA,INA A = 1 IDTS1 LDB .TYPE **** MAIN ROUTINE STRTS HERE **** CPB TYUID IS IDENT. UNDEFINED? JMP IDTS2 YES, GO TO EXIT LDB .BLEV NO, TEST BLOCK LEVEL CPB BLK .BLEV = BLK ? JMP *+3 YES, ID IS REALLY DEFINED SZB NO, .BLEV = 0 ? JMP IDTS2 NO, EXIT, ID IS UNDEF THIS BLOCK SZA,RSS IS A DIAGNOSTIC WANTED? JMP IDTSQ,I NO - EXIT (RETURN ADDR + 1) JSB .FLAG PRINT ERROR DIAGNOSTIC # 44 ACOMA DEC 44 (UNDEFINED IDENT. EXPECTED HERE) JMP IDTSQ,I EXIT (RETURN ADDR + 1) IDTS2 ISZ IDTSQ DEFINED IDENTIFIER - EXIT SETUP- JMP IDTSQ,I EXIT (RETURN ADDR + 1) HED ADD AN ENTRY TO 'STUFF' (INSERT) * ************************************************ * * INSRT - INSERT AN ENTRY INTO THE STUFF TABLE * * * ON ENTRY: * * * A REG.= ADDRESS OF NAME BUFFER * * * B REG.= 1 INSERT $NEXT BEFORE $ADDR LOC.* * * B REG.= 0, DON^T USE $NEXT * * * $RBIT = BIT 15 OF INFO WORD * * * $XBIT = BIT 14 OF INFO WORD * * * $TYPE = ENTRY TYPE * * * $ADDR = CONTENTS OF WORD ABOVE INFO WORD * * * $NEXT = CONTENTS OF WORD ABOVE $ADDR * * * ON EXIT: ������ * * * A REG.= $INFO * * * $WLEN = NO.OF WORDS IN THE ENTRY * * * $INFO = STUFF(ADDRESS OF INFO WORD) * * ************************************************ INSER NOP STB $WLEN INITIALIZE $WLEN(= 1 OR = 0) STB $INFO $INFO=TEMP.'B' FLAG LDB $RBIT *SET UP INFO WORD HERE* RBL RBIT IN - SHIFT 1 FOR XBIT ADB $XBIT GET XBIT RBL,BLF SHIFT 5 FOR ENTRY TYPE ADB $TYPE GET ENTRY TYPE BLF SHIFT 4 FOR BLOCK LEVEL ADB $BLEV GET BLOCK LEVEL RBL,BLF SHIFT 5 FOR ENTRY LENGTH STB T SET INFO WORD LDB A B = ADDRESS OF NAME BUFFER LDA B,I GET 1ST WORD IN BUFFER AND HIMSK CLEAR LOWER 1/2 (A=NO.OF CHARS) ALF,ALF NO.CHARS TO LOWER A ARS (NO.OF CHARS)/2 INA STA T+1 T+1 = NO.OF WORDS OF NAME ADA .+2 ADA $WLEN + $WLEN=NO.WORDS IN ENTRY STA $WLEN PUT IT IN $WLEN ADA T ADD INFO WORD TO LENGTH STA T INFO WORD NOW COMPLETE AND SET LDA $WLEN ADA STUFF A=LOC'N OF NEW ENTRY CMA SET UP FOR COMPARISON WITH STACK ADA STOP SSA CHECK FOR OVERFLOW JMP OVFLO NO MORE ROOM FOR TABLES LDA T+1 A = NO.OF WORDS IN NAME CMA,INA STA T+1 T+1 = COMPL.OF NO.OF WORDS ISZ STUFF LOOP HERE TO STORE NAME INTO LDA B,I ENTRY. STA STUFF,I ISZ B BUMP NAME POINTER ISZ T+1 IS IT ALL STORED? JMP *-5 NO - GO BACK AND REPEAT LOOP. ISZ STUFF BUMP 'STUFF' LDA $INFO GET $NEXT STORE FLAG LDB $NEXT SZA IS $NEXT TO BE STORED? STB STUFF,I YES, STORE IT SZA WAS $NEXT STORED? ISZ STUFF YES,BUMP 'STUFF' LDA $ADDR STA s������STUFF,I STORE $ADDR ISZ STUFF BUMP STUFF LDA T STA STUFF,I STORE INFO WORD LDA STUFF STA $INFO $INFO = STUFF JMP INSER,I EXIT INSERT ROUTINE $RBIT BSS 1 BIT 15 OF INFO WORD(REAL/INTEGER) $XBIT BSS 1 BIT 14 OF INFO WORD(EXTERNAL SYMBOL) $BLEV BSS 1 BLOCK LEVEL NUMBER $TYPE BSS 1 ENTRY TYPE $INFO BSS 1 LOCATION OF ENTRY'S INFO WORD $ADDR BSS 1 CONTENTS OF WORD BEGORE INFO WORD $NEXT BSS 1 CONTENTS OF WORD BEFORE $ADDR WORD HED 'PUNCH BINARY RECORD' SUBROUTINE. * ************************************************ * * PNCH - OUTPUT PNBUF VIA PUNCH OUTPUT DRIVER * * * 1. COMPUTE CHECKSUM. * * * 2. PUNCH CONTENTS OF BUFFER. * * * 3. CLEAR PUNCH BUFFER(PNBUF) TO ZEROS * * * INPUT * * * WORD COUNT(RECORD LENGTH) IN LOWER HALF * * * OF LOCATION 'PNBUF'. * * * 'PUNCH' WILL POSITION IT FOR BINARY FORMAT* * ************************************************ PNCH NOP LDA PNFLG SZA JMP *+4 LDA LDGOF SZA,RSS JMP PNCH5 SKIP TO EXIT IF NO PUNCHING LDA PNBUF GET THE WORD COUNT STA HCNTB SET RECORD WORD COUNTER CMA,INA INA STA T SET CHECKSUM WORD COUNTER LDA FUBNP STA B SET B=LOC OF PNBUF LDA PNBUF ALF,ALF STA PNBUF POSITION WORD COUNT IN PNBUF CLA A _ 0 * * COMPUTE AND STORE CHECKSUM HERE * INB ADA B,I ISZ T IS LAST WORD IN ? JMP *-3 NO, GET NEXT ONE. * * SET UP PARAMETERS FOR ENTRY TO PUNCH DRIVER * STA PNBUF+2 STORE CHECKSUM LDA PNFLG SZA,RSS JMP PNCH3 JSB EXEC PUNCH CONTENTS OF PUNCH BUFFER DEF *+5 DEF .+2 DEF LI197 8������FUBNP DEF PNBUF FUFFER ORG DEF HCNTB PNCH3 LDA LDGOF SZA,RSS JMP PNCH5 JSB %WRIT DEF *+3 DEF PNBUF FUFFER ORG DEF HCNTB PNCH5 CLA SET A=0 STA PNBUF CLEAR WORD COUNT STA PNBUF+2 AND CHECKSUM LOCATIONS. JMP PNCH,I HED STACK ROUTINES * THE STACK ROUTINES CONTROL OPERATION OF THE COMPILER * STACK. THERE ARE 4 ROUTINES: * PUSH---ADDS THE ELEMENT IN A TO THE STACK * STACK---MOVES A BLOCK OF VALUES INTO THE STACK * UNSTK---RETRIEVES A BLOCK FROM THE STACK PUSHQ NOP ENTRY TO PUSH CCB EXTEND ADB STOP STACK CPB STUFF CHECK FOR STACK OVERFLOW JMP OVFLO NO MORE ROOM FOR TABLES STB STOP STA STOP,I PUSH VALUE INTO STACK JMP PUSHQ,I * STACK IS CALLED AT THE BEGINNING OF EVERY REENTRANT ROUTINE * IN ORDER TO SAVE ITS PREVIOUS VARIABLES. THE CALLING * SEQUENCE IS: * TEMPS BSS N * PROG NOP ENTRY POINT * JSB STACK,I * DEF TEMPS * BACK JSB UNSTK,I * STACK WILL SAVE EVERYTHING FROM TEMPS THROUGH PROG. WHEN * THE ROUTINE IS DONE PROCESSING, IT SHOULD MERELY JUMP TO * BACK. UNSTK WILL RESTORE THE TEMPORARIES AND PERFORM THE * RETURN JUMP. STACQ NOP ENTRY TO STACK STA T SAVE A AND STB T+1 B REGISTERS. LDA .-2 COMPUTE ADDRESS OF CALL TO ADA STACQ STACK AND SAVE IN ST1. ST2 STA ST1 LDA ST1,I GET VARIABLE AND PUSH JSB PUSHQ INTO STACK. LDA ST1 GET ADDRESS OF THAT CPA STACQ,I VARIABLE AND TEST FOR DONE. JMP *+3 ALL DONE ADA .-1 DEBUMP POINTER AND LOOP. JMP ST2 LDA T RESTORE LDB T+1 A&B. ISZ STACQ ISZ STACQ JMP STACQ,I UNSTQ NOP ENTRY TO UNSTK STA T SAVE A STB T+1 ������ &B LDB UNSTQ GET ADDRESS OF PROGRAM ADB .-4 ENTRY POINT & SAVE IN ST1. STB ST1 ADB .+2 NOW GET ADDRESS OF BEGINNING LDB 1,I OF BLOCK. ST3 LDA STOP,I RETRIEVE PREVIOUS VALUES. ISZ STOP STA 1,I CPB ST1 IF THIS IS ST1, WE HAVE THE RETURN JMP *+3 ADDRESS INB OTHERWISE, BUMP B AND LOOP JMP ST3 LDB T+1 RESTORE B REGISTER STA T+1 SAVE RETURN ADDRESS IN T+1 LDA T RESTORE A REGISTER. JMP T+1,I RETURN JUMP THROUGH THE ROUTINE. ST1 BSS 1 TEMPORARY USED BY STACK AND UNSTACK. * ************************************************** * * SWGEN - ENTER 'SWITCH' IDENTIFIER INTO 'STUFF' * * * AND GENERATE THE NECESSARY OBJECT CODE * * * FOR PROCESSING THE LABELS AT RUN TIME * * ************************************************** SWGN JSB JTST TEST FOR 'JMP' AROUND DECLARATIVE LDA TYSWT A = SWITCH TYPE CLB B = 0 (NO RBIT) STB HNA CLEAR SWITCH COUNTER JSB SETIN GO TO SETUP FOR ENTRY TO INSRT JSB INSER GO ENTER SWITCH INTO STUFF JSB EMNOP EMIT A NOP LDA #SWCH GET LOC'N OF .SWCH ROUTINE JSB EMJSB EMIT 'JSB .SWCH' LDA PCNTR GET CURRENT PROGRAM LOC'N STA HSA SAVE IT IN HSA JSB EMNOP EMIT A SPACE FOR THE LABEL COUNT JSB SCANR GET NEXT SYMBOL CPA STORE IS IT AN ARROW ? JMP SWGN2 YES - GO ON TO NEXT SYMBOL JSB .FLAG NO - PRINT ERROR # 50 DEC 50 'ARROW OR := EXPECTED IN SWITCH' JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. SWGN2 JSB SCANR GET NEXT SYMBOL CPA DFLAB IS IT A LABEL ENTRY? JMP *+4 YES - SKIP ERROR DIAG BELOW JSB .FLAG NO - PRINT ERROR # 51 DEC 51 'LABEL ENTRY EXPECTED IN SWITCH' JMP SWGN4 [������ ISZ HNA BUMP LABEL COUNT LDA .INFO A=ADDRESS OF LABEL ENTRY JSB EMDEF EMIT THE LABEL'S ADDRESS SWGN4 JSB SCANR GET CHAR. FOR ',' TEST CPA COMMA COMMA? JMP SWGN2 YES - GO BACK FOR NEXT SYMBOL JSB XSEMI NO - GO TEST FOR ';' * * OUTPUT THE NUMBER OF LABELS BACK IN OBJ CODE STREAM * LDB HSA LOC'N OF EMISSION JSB EMSET PREPARE TO EMIT AN 'OCT' OUT OF LINE LDA HNA CONTENT OF 'OCT' JSB EMOCT EMIT THE 'OCT' HERE JSB EMRST RESTORE THE PCNTR HERE JMP BLOC1 EXIT TO BLOC1 FROM SWGEN #SWCH DEF .SWCH HED PROCESS 'EQUATE' DECLARATION * *************************************** * * EQGEN - PROCESS IDENTIFIERS EQUATED * * * TO CONSTANTS * * *************************************** EQGN0 JSB SCANR GET SYMBOL FOLLOWING THE COMMA JSB IDTSQ GO TEST FOR IDENTIFIER JMP EQGN3 DEFINED ID - GO TO EXIT SETUP EQGN LDA STUFF ENTER 'EQUQTE' PROCESSER HERE****** STA HAR SAVE 'STUFF' POINTER LDA TYEQU A =(ENTRY TYPE) EQUATE CLB B = 0 (RBIT SETTING) STB $NEXT CLEAR $NEXT JSB SETIN GO SET UP PARAMETERS FOR INSERT STB $ADDR $ADDR = 0 CLB,INB $NEXT = 0, BUT PRESENT JSB INSER GO INSERT VARIABLE INTO TABLE JSB SCANR GET NEXT SYMBOL CPA STORE IS IT 'ARROW' OR ':=' ? JMP EQGN5 YES JSB .FLAG NO - ERROR #54 DEC 54 'ARROW OR := EXPECTED' EQGN2 LDA HAR STA STUFF RESET STUFF(WIPES OUT BAD ENTRY) EQGN3 JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. EQGN5 JSB NUMBQ GET THE EQUATE VALUE JMP EQGN2 FAILURE EXIT (MG) LDB STUFF ADB .-1 SET B TO POINT AT L(STUFF-1) LDA IDNUM+1 STA B,I STORE CONSTANT(INTEGER OR 1/2RL) ADB .-1 LDA .INFO,I GET -_������INFO WORD CLE,ELA PUT 'R' BIT INTO E LDA IDNUM SEZ TEST FOR REAL CONSTANT STA B,I STORE LAST 1/2 REAL NO LDA STUFF,I RAL,ERA SET RBIT INTO INFO WORD STA STUFF,I REPLACE INFO WORD JSB SCANR GET NEXT SYMBOL CPA COMMA IS IT A COMMA? JMP EQGN0 YES JMP BLOCS SEMICOLON TEST THEN BLOC1 HED PROCESS 'ARRAY' DECLARATION * ******************************************** * * ARGEN - GENERATE AN 'ARRAY' DECLARATION * * * 1. GENERATE ARRAY TABLES(BASE PAGE)* * * 2. SPECIFY ARRAYS IN CURRENT PAGE * * * 3. INITIALIZE ARRAYS IF SPECIFIED * * ******************************************** P2000 OCT 2000 HSA BSS 1 SWGEN ADDR SAVE ARGEN TBL LINGTH IDGEN HUA BSS 1 ARGEN UPPER BOUNDS HSET BSS 1 ARGEN FLAG FOR LOOK USE HNUM BSS 1 ARGEN NO. DIMENS FOR BASE PAGE TBL HNA BSS 1 SWGEN COUNTER ARGEN NO. OF DIMENSIONS HLA BSS 1 ARGEN LOWER BOUNDS HARD BSS 1 ARGEN ARRAY LOCN FOR 'PCNTR' USE HAR BSS 1 EQGEN STUFF SV ARGEN ARRAY CNTR ADDX EQU HLA *LOCN OF/ADDR AFTER PARAMS/PROC ENTRY IN STUFF ADDY EQU HUA LOCN OF '.ADDR' IN PROC. ENTRY HADD EQU HUA ARRAY TABLE ADDR IN BASE PAGE HCNAD EQU HLA 'STACK' PICK UP ADDRESS HPNUM EQU HAR NO. OF PARAMETRS IN PROCEDURE DECL. HCNTR EQU HLA ALSO NO. OF PARAMS IN PROC DECL. HPRAM EQU HSA LOC'N OF PARAMETRS IN PROCEDURE ENTRY PRSIZ EQU HNUM WORD CNTR FOR .PRAM LINKAGE PRSKP EQU HNA SAVE PCNTR FOR 'CODE' RESET IN PRGEN PRTYP EQU HARD SAVE PROC.DESCRIPTOR PARAM.TYPES PSTOF EQU HSET SAVE STUFF OF XPANDED PROCED ENTRY ITYPE EQU HSET SAVE 'IO' TYPE(IOGEN) ISAVE EQU HAR SAVE PCNTR IN IOGEN TSAVE EQU HLA SAVE IO PROCESSER LOC'N(2OSET) IOTYP EQU HAR SAVE READ/WRITE TYPE IN IOSTM IOSAV EQU HARD SAVE ADDR OF 3RD LOCATION IN .DIOu������. LINKAGE ARGN LDA HT GET ARRAY TYPE SZA,RSS IS ARRAY TYPE SPECIFIED? LDA REAL NO, THEN IT'S REAL. STA HT RESTORE THE TYP ARG00 CLA STA HAR SET ARRAY COUNTER = 0 JSB JTST SET 'JMP' AROUND DECLARATION ARG01 JSB SCANR GET ARRAY NAME JSB IDTSQ TEST FOR UNDEF. ARRAY NAME. JMP ARG09 ALREADY DEFINED - ERROR * * NEW ARRAY NAME IS OK - PROCESS IT * ISZ HAR BUMP ARRAY COUNTER LDA HT CLB SET B FOR $RBIT=0 CPA REAL IS THE ARRAY TYPE REAL? INB YES, CHANGE B FOR $RBIT=1 LDA .+13B SET A FOR $TYPE = 13B JSB SETIN GO TO PARAMETER SETUP FOR INSERT INB SET B=1 (USE $NEXT) JSB INSER GO INSERT 'ARRAY' ENTRY IN STUFF JSB SCANR GO SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP ARG01 YES - GET NEXT NAME CPA LBRAC NO - IS IT LEFT BRACKET? JMP *+4 YES - GO ON JSB .FLAG ERROR #55 .67B DEC 55 "LEFT BRACKET EXPECTED" JMP ARG09 LEAVE HERE CLA STA HNA SET DIMENS.CNTR = 0 INA STA HSA SET TABLE LENGTH = 1 LDA STOP STA HSTOP SET STACK POINTER FOR ARRAY ARG05 JSB NUMBQ CALL NUMBR FOR LOWER BOUND (MG) JMP ARG08 ERROR EXIT (MG) LDB .RBIT GET THE MODE (MG) SSB,RSS ERROR IF REAL (MG) JMP ARG12 O.K.---CONTINUE (MG) * * ERROR EXITS ALL IN THE AREA BELOW * ARG07 JSB .FLAG ERROR #56 DEC 56 "INTEGER EXPECTED IN DIMENSION" ARG08 LDA HSTOP STA STOP RESTORE ORIGINAL STACK POINTER ARG09 JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. ARG12 LDA IDNUM+1 GET THE LOWER BOUNDS(INTEGER) CMA,INA STA HLA SAVE ITS COMPLEMENT IN 'HLA' JSB SCANR GET NEXT SYMBOL CPA COLON IS IT A E������COLON? JMP *+4 YES JSB .FLAG NO - ERROR #57 DEC 57 "COLON EXPECTED IN DIMENSION" JMP ARG08 GO TO ERROR EXIT JSB NUMBQ GO GET UPPER BOUND JMP ARG08 FAILURE (MG) LDB .RBIT CHECK THE MODE (MG) SSB ERROR IF REAL (MG) JMP ARG07 TOO BAD, CHARLIE (MG) LDA IDNUM+1 GET THE UPPER BOUNDS INTEGER STA HUA ADA HLA SSA,RSS IS UPPER LESS THAN LOWER BOUNDS? JMP *+4 NO - OK JSB .FLAG YES - ERROR #58 ACOLN DEC 58 "UPPER BOUND < LOWER BOUND IN DM" JMP ARG08 ISZ HNA BUMP DIMENSION COUNTER INA 1 ADD 1 TO DIMENSION LENGTH STA HUA SAVE DIMENSION SIZE IN 'HUA' JSB PUSHQ ADD DIMENSION TO STACK LDA HLA JSB PUSHQ ADD -(LOWER BOUNDS) TO STACK LDA HUA GET ARRAY SIZE TO A MPY HSA HUA*HSA= NO. OF WORDS IN ARRAY SZB B=0? JMP *+3 NO,SKIP TO ERROR ROUTINE SSA,RSS A>32K? (ERROR IF IT IS) JMP *+4 NO THEN CONTINUE JSB .FLAG YES - ERROR #61 AEQUL DEC 61 "ARRAY SIZE EXCESSIVE" LDA P2000 SET SIZE = 2000 STA HSA SET HSA = NEW SIZE JSB SCANR GET NEXT SYMBOL CPA COMMA COMMA? JMP ARG05 YES- GO PROCESS NEW DIMENSION CPA RBRAC NO - IS IT RIGHT BRACKET? JMP *+4 YES - GO TO CLOSE OUT DIM.PROC. JSB .FLAG NO - ERROR #59 ASEMI DEC 59 " EXPECTED AT END OF DIMENSION" JMP ARG08 EXIT LDA HNA CMA,INA -HNA IN 'A' LDB HT CPB REAL IS THE ARRAY TYPE REAL? CMA,INA YES, SET 'A' POSITIVE STA HNUM SET NO.OF DIMENSIONS FOR TABLE LDA HSA ARRAY SIZE TO A CPB REAL IS THE ARRAY TYPE REAL? ALS YES- SIZE * 2 NOW IN 'A' STA HSA ������ RESTORE SIZE LDA HNA GET NO. OF DINMS. ADA HNA NO. DIMS TIME 2 ADA .+2 LENGTH OF ARRAY ENTRY MPY HAR *NO. OF SETS=LENGTH OF ALL ENTRIES ADA PCNTR = LOC'N OF 1ST ARRAY IN CORE STA HARD SAVE IT IN 'HARD' CLA STA HSET SET 'LOOK'FLAG FOR 1ST SCAN LDA HAR CMA,INA STA HAR SET ARRAY COUNTER TO COMPLEMENT ARG15 LDA PCNTR (CURRENTLY POINTS AT ARRAY TABLE) STA HADD SET 'HADD' = PCNTR LDA HSTOP STA HCNAD SET ARRAY(PART OF STACK)ADDRESS LDA HSET HSET = 0 FOR 1ST ARRAY LOOKUP JSB LOOK LOOK UP THE CURRENT ARRAY ENTRY NOP (P+1) EXIT FROM LOOKUP LDA .INFO GET ADDRESS OF ARRAY ENTRY AND JSB STLBL STORE NAME IN PRBUF LBL FLD. LDA HNUM JSB EMOCT EMIT NO.OF DIMENSIONS FOR TABLE ARG17 LDA HCNAD REDUCE INTERMEDIATE STACK POINTER CPA STOP REACHED TOP OF STACK YET? JMP ARG18 YES - SKIP OUT OF LOOP ADA .-1 BY 1 TO GET THE NEXT TABLE ENTRY STA HCNAD HCNAD NOW POINTING AT THE NEXT ENTRY LDA HCNAD,I GET DIMENSION OR LOWER BOUND JSB EMOCT EMIT DIMENSION OR LOWER BOUND JMP ARG17 - GO BACK AND DO NEXT ENTRY ARG18 LDA HARD CURR. ARRAY LOC'N IN A JSB DEFR EMIT ARRAY LOCATION LDB .INFO ADB .-1 GET ADDRESS FOR ARRAY VECTOR LDA HADD GET B.P.ADDRESS OF ARRAY TABLE STA B,I SET IT INTO ARRAY STUFF ENTRY ADB .-1 GET ADDRESS FOR DIMENSIONS LDA HNA GET NO.OF DIMENSIONS STA B,I SET IT INTO ARRAY STUFF ENTRY ISZ HSET SET LOOKUP FLAG 0 LDA HSA ADA HARD STA HARD UPDATE LOCATION OF ARRAY ISZ HAR IS LAST ARRAY IN SET PROCESSED? JMP ARG15 NO - PROCESS NEXT ONE JSB SCANR SCAN FOR NEXT SYMBOL CPA STORE IS IT ARROW OR := ? JMP ARG25 I������ YES, GO TO ARRAY INITIALIZER CPA COMMA IS IT A COMMA? JMP ARG40 YES - GO CLOSE THIS ARRAY JMP ARG20 NO - GO TO TERMINATION TESTS. ARG25 JSB NUMBQ GO GET A NUMBER FOR ARRAY VAL (MG) JMP ARG08 FAIL (MG) LDA PCNTR **CHECK TO PREVENT ARRAY INITIAL- CMA,INA IZATION OVERFLOW**** ADA HARD 'HARD' MINUS PCNTR IN A SZA TOO MANY CONSTANTS FOR ARRAY? JMP *+4 NO - CONTINUE JSB .FLAG YES - ERROR #60 ALESS DEC 60 "TOO MANY VALUES FOR ARRAY INIT." JMP ARG08 GO TO ERROR EXIT JSB HINIT INSERT VALUES INTO ARRAY JSB SCANR SCAN FOR SYMBOL CPA COMMA IS IT A COMMA? JMP ARG25 YES - PICK UP NEXT NUMBER ARG20 JSB XSEMI GO SCAN FOR SEMI-COLON * * CLOSE OUT FOR CURRENT ARRAY(S) * ARG40 LDA PCNTR SET UP ARRAY LENGTH CMA,INA ADA HARD 'HARD' MINUS PCNTR IN A SZA IF NUMBER OF ELEMENTS LEFT # 0, JSB EMBSS RESERVE STORAGE FOR THEM. LDA HSTOP STA STOP RESTORE STACK POINTER LDA .TYPE GET LATEST SYMBOL TYPE CPA COMMA IS IT A COMMA? JMP ARG00 GO START PROCESSING NEXT ARRAY NAME. JMP BLOC1 **EXIT FROM ARRAY GENERATOR******* * NUMBR HELPS OUT THE SCANNER IN SPOTS WHEN A NUMBER * IS TO BE COMPILED. IT PRINTS AN ERROR MESSAGE IF * THERE IS NONE. NUMBQ NOP ENTRY POINT JSB SCANT SCAN NEXT SYMBOL. CPA MINUS UNARY MINUS IS THE BEAR. JMP NUMB1 CPA PLUS A PLUS CAN BE IGNORED BY JSB SCANT RESCANNING. CPA TYCON MUST GET A CONSTANT NOW. JMP NUMB2 RETURN IF IT IS. NUMB3 JSB .FLAG DEC 7 JMP NUMBQ,I NUMB2 ISZ NUMBQ SKIP RETURN IF BAD. JMP NUMBQ,I NUMB1 JSB SCANT NEGATIVE NUMBER. CPA TYCON RSS JMP NUMB3 ERROR LDA IDNUM+1 LDB .RBIT GO TO NUMB4 IF r���N��LH SSB REAL. JMP NUMB4 CMA,INA NEGATE IT NUMB5 STA IDNUM+1 IF INTEGER. LDA TYCON JMP NUMB2 NUMB4 LDB IDNUM IF REEAL, CALL COMP TO JSB COMPQ HANDLE IT. STB IDNUM JMP NUMB5 HED PROCESS 'FORMAT' AND 'INPUT-'OUTPUT' DECLARATIVES * ******************************************** * * FMGEN - PROCESS THE 'FORMAT' DECLARATIVE * * ******************************************** JSB SCANR SCAN THE FORMAT NAME FMGN JSB IDTSQ TEST THE NAME - ERROR IF DEFINED NOP JSB JTST TEST FOR 1ST DECLARATIVE FOR JMP LOC'N LDA TYFMT A = FORMAT TYPE CLB JSB SETIN SET UP THE INSERTION PARAMETERS ������������������������������������������������������������������������������������5�N�������������� JSB INSER SET UP THE FORMAT 'STUFF' ENTRY LDA $INFO GET ADDRESS OF FORMAT AND GO JSB STLBL SET IT'S NAME IN LBL FLD. JSB FSCAN CALL THE FORMAT SCANNER. JSB SCANR SCAN FOR NEXT SYMBOL CPA COMMA IS IT A COMMA? JMP FMGN-1 YES - GO BACK AND START A NEW FORMAT JMP BLOCS SEMICOLON TEST THEN BLOC1 FSCAN NOP SCANS A FORMAT AND EMITS CODE FOR IT CLB STB HFILL EMITTER OUTPUT WORD FMG01 STB HLEVL PAREN BALANCE LOCN(LEFT=-1; RT=1) FMG02 CLA FMG04 STA HVAL SET HVAL=0 OR DIGIT+HVAL*10 JSB DBLNK SCAN TO NEXT NON-BLANK JSB EMFOR SET UP WORD AND OUTPUT WHEN FULL JSB DIGIT IS CHARACTER A DIGIT? JMP FMG20 YES - GO TO UPDATE VALUE COUNTER FMG06 CPA ACOMA A=ASCII COMMA? JMP FMG02 YES CPA ASLSH A = ASCII SLASH(/)? JMP FMG02 YES CPA END 'X'? (130B) JMP FMG02 YES LDB HLEVL B = HLEVL ADB .-1 B = B-1 CPA ALPRN A = ASCII LEFT PAREN? JMP FMG01 YES - GO RESET HLEVL(=HLEVL-1) CPA ARPRN A = ASCII RIGHT PARENTHESIS? JMP FMG30 YES CPA AQUOT A = ASCII QUOTE? JMP FMG40 YES CPA .110B "H" ? JMP FMG50 YES CPA ASEMI SEMICOLON? JMP FMG60 YES GO TO PROCESS IT * * EMIT ALL CHARS TO NEXT NON-DIGIT OR NON-PERIOD * FMG08 JSB DBLNK SCAN TO NEXT NON-BLANK JSB EMFOR EMIT IT IF HFILL FULL JSB DIGIT IS CHAR A DIGIT? JMP FMG08 YES - GO BACK FOR NEXT CLB STB HVAL CLEAR HOLLERITH COUNTER CPA APOIN IS IT A PERIOD(POINT)? JMP FMG08 YES - GO BACK FOR NEXT JMP FMG06 * * UPDATE DIGIT VALUE COUNTER(HVAL) * FMG20 ADA M60B SET DIGIT TO TRUE VALUE STA HSAVE DIGIT TO HSAVE LDA HVAL MPY .+10 HVAL*10 ADA HSAVE ADD DIGIT TO RESULT JMP ������FMG04 GO GET NEXT CHARACTER * * PROCESS END OF A FORMAT DECLARATION * * * (RIGHT PARENTHESIS ENCOUNTERED) * FMG30 ISZ HLEVL IS THIS THE FINAL PARENTHESIS? JMP FMG02 NO - GO BACK FOR MORE JSB EMFOR OUTPUT LAST CHARACTER+PAREN JMP FSCAN,I * * EXIT FROM FORMAT GENERATOR ABOVE * * * EMIT ALL INFORMATION BETWEEN QUOTES * FMG40 JSB CHAR GET NEXT CHARACTER JSB EMFOR SET UP AND OUTPUT CPA AQUOT IS CHARACTER A QUOTE? JMP FMG02 YES - START NEW SERIES JMP FMG40 NO - GO BACK FOR ANOTHER CHAR. FMG50 LDA HVAL *** EMIT NEXT 'HVAL' CHARS AFTER H. SZA,RSS HVAL = 0 CLA,INA YES - SET HVAL = 1 CMA,INA STA HVAL SET HVAL = -HVAL FMG52 JSB CHAR GET NEXT CHARACTER JSB EMFOR EMIT CHARACTERS (IF READY) ISZ HVAL IS LAST CHARACTER OUT? JMP FMG52 NO - GO GET NEXT ONE JMP FMG02 YES - GO START A NEW SERIES FMG60 JSB .FLAG ERROR #71 ** SEMICOLON FOUND *** DEC 71 'SEMICOLON FOUND IN FORMAT DECLARATION' ISZ PEEKD UNSCAN THE SEMICOLON JMP FSCAN,I M60B OCT -60 HFILL BSS 1 TEMPS FOR FORMAT SCANNER. HLEVL BSS 1 HVAL BSS 1 HSAVE BSS 1 * ****************************************** * XSEMI - TEST FOR SEMICOLON TERMINATOR * * ****************************************** XSEMI NOP LDA .TYPE GET LAST SYMBOL TYPE CPA SEMI IS IT A SEMICOLON? JMP XSEMI,I YES, EXIT JSB .FLAG NO, GO TO ERROR DIAGNOSTIC DEC 49 #49 - SEMICOLON EXPECTED. JSB SCND SCAN TO THE FIRST SEMICOLON JMP XSEMI,I RETURN * ************************************* * * EMFOR - EMIT A PAIR OF CHARACTERS * * * WHEN HFILL HAS 2 OF THEM * * ************************************* EMFOR NOP STA HSAVE SAVE 'A' LDB HFILL IS E'������MITTER BUFFER WORD EMPTY? SZB,RSS JMP EMF10 YES - GO PUT CHAR IN IT ADA HFILL COMPLETE BUFFER WORD JSB EMASC EMIT OCTAL WORD, PRINT 2 CHARS. CLA SET A=0 EMF10 ALF,ALF ROTATE 'A' 8 BITS STA HFILL SET HFILL =A (0 IF WORD JUST EMITTED) LDA HSAVE SET A = ENTRY VALUE JMP EMFOR,I RETURN SKP * ****************************************** * * IOGEN - SUPERVISE PROCESSING OF 'INPUT' * * * AND 'OUTPUT' DECLARATIVES * * ****************************************** IOGN LDB TYOUT B = OUTPUT TYPE CPA INPUT IS IOGEN PROCESSING AN 'INPUT'? LDB TYINP YES - SET B = INPUT TYPE STB ITYPE SET ITYPE = B(INPUT OR OUTPUT) JSB JTST SET UP 'JMP AROUND DECLAR' FLAG JMP *+4 JUMP AROUND NAME SCAN IOG04 JSB SCANR GET NEXT I/O TYPE JSB IDTSQ GO TEST FOR UNDEFINED NAME NOP ERROR(DEFINED) EXIT LDA PCNTR STA ISAVE SAVE PCNTR IN 'ISAVE' LDA ITYPE SET A = I/O TYPE CLB SET B = 0 JSB SETIN SET 'INSRT' PARAMETERS JSB INSER GO INSERT 'STUFF' ENTRY FOR I/O JSB EMNOP EMIT A 'NOP' FOR I/O ROUTINE JSB SCANR PICK UP NEXT SYMBOL CPA LPREN LEFT PAREN? JMP IOG10 YES JSB .FLAG NO - ERROR #72 .110B DEC 72 'LEFT PAREN EXPECTED AFTER I/O NAME' CLB JSB BREC CLEAR PUNCH BUFFER LDA ISAVE STA PCNTR RESET PCNTR TO STARTING VALUE JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. IOG10 LDA ITYPE JSB IOSET GO PROCESS IO LIST TO RT PAREN. CLB SET B=0 (IN-LINE JMP) LDA ISAVE GET SAVED PCNTR VALUE ADA BIT15 MAKE IT INDIRECT JSB EMJMP GO EMIT A 'JMP (I/O),I' (EXIT) LDA .TYPE CPA COMMA IS NEXT CHAR A COMMA? JMP IOG04 YES - GET NEXT I/O DECLARATI������ON JMP BLOCS SEMICOLON TEST THEN BLOC1 HED GENERATE INSTRUCTIONS FOR I/O AND READ/WRITE LISTS * *************************************** * * IOSET - PROCESS I/O LISTS FOR INPUT * * * OUTPUT DECLARATIVES AND READ * * * WRITE STATEMENTS..... * * **************************************** IOSET NOP STA TSAVE SAVE INPUT OUTPUT INDICATOR LDA TEMP1 SAVE STA HFILL LDA TEMP2 STA HLEVL IOS10 JSB SCANT SCAN FOR NEXT SYMBOL IN DECLAR. JSB IOGUT GO TO INTERIOR OF IO PARAMETERES JSB SCANR SCAN NEXT SYMBOL CPA COMMA IS LAST SCANNED CHAR = COMMA? JMP IOS10 YES - GO GET NEXT PARAMETER CPA RPREN NO - IS IT RIGHT PAREN? JMP *+5 YES JSB .FLAG NO - ERROR #73 CCNT2 DEC 73 'RT PAREN, EXPECTED' JSB SCND SCAN TO TERMINATOR RSS JSB SCANR SCANNEXT SYMBOL LDB HLEVL RESTORE STB TEMP2 LDB HFILL STB TEMP1 JMP IOSET,I EXIT THE IOSET ROUTINE HERE * *********************************************** * * IOGUT - INNER PROCESSOR FOR EACH ELEMENT * * * OF THE I/O OR READ/WRITE PARAMETERS. * * *********************************************** IOGUT NOP A=.TYPE ON ENTRY TO IOGUT JSB STACQ DEF IOGUT JSB UNSTQ EXIT HERE CPA FOR IS IT A 'FOR' CLAUSE JMP IOS40 YES - GO PROCESS IT CPA LBRAC IS IT A 'BEGIN'? (LEFT BRACKET) JMP IOS50 YES, GO TO BEGIN TO END SECTION.. CPA TSAVE INPUT OR OUTPUT LIST? JMP IOS35 YES - GO EMIT 'JSB' TO IT LDB TSAVE B = INPU OUTPUT TYPE CLA,INA SET A = 1 CPB TYINP ARE WE UNDER 'INPUT'? LDA .+4 YES - SET A = + JSB ARITH GO TO 'ARITH' PROCESSER JMP IOGUT+3 ALTERNATE EXIT... LEAVE IOGUT HERE LDB A 6������ SET B = REAL,INT INDICATOR LDA #IOI. SET A = '.IOI.' ADDR. SSB IS THE NUMBER REAL? LDA #IOR. YES - SET A = !IOR! ADDR. JSB EMJSB GO EMIT JSB .IOI./.IOR. LDB TSAVE CPB TYOUT ARE WE UNDER 'OUTPUT' ? JMP IOGUT+3 YES, EXIT FROM IOGUT HERE LDA ATOP,I GET ADDR. OF VARIBLE ELA,CLE,ERA CLEAR BIT 15(REAL/INT) CLB JSB EMSTR GO TO 'STORE' EMITTER JSB FREE GO TO FREE TEMPORARY DEF ATOP,I JMP IOGUT+3 EXIT FROM IOGUT HERE.... IOS35 LDA .INFO SET UP FOR 'JSB' - A = L(VARIABLE) JSB EMJSB TO 'JSB' EMITTER JMP IOGUT+3 EXIT FROM IOGUT HERE.... IOS40 LDA IOGUT+2 SET A = ADDR OF 'IOGUT' SUBROUTINE JSB FORQL GO TO PROCESS 'FOR' CLAUSE JMP IOGUT+3 EXIT FROM IOGUT HERE.... * * PROCESS A 'BEGIN' TO AN 'END' IN THE IO LIST.. * IOS50 JSB SCANR GO SCAN FOR NEXT SYMBOL JSB IOGUT ENTER IOGUT(RECURSIVELY, YET!). JSB SCANR GO GET COMMA OR END(HOPEFULLY). CPA COMMA IS IT A COMMA? JMP IOS50 YES, GO BACK FOR A NOTHER SYMBOL CPA RBRAC IS IT THE 'END'? (RIGHT BRACKET) JMP IOGUT+3 YES, WE'RE DONE..LEAVE IOGUT NOW. JSB .FLAG NO, IT'S ERROR #87.. BEGIN DEC 87 "UNMATCHED BEGIN IN IO LIST" JMP IOGUT+3 LEAVE IOGUT AT THIS POINT,ITS BAD #IOI. DEF .IOI. #IOR. DEF .IOR. * FREE IS RESPONSIBLE FOR FREEING A TEMPORARY STORAGE LOCATION. ALL * IT MUST DO IS TEST TO SEE IF THE INFO ADDRESS IS IN THE TEMP * TABLE, & SUBTRACT 2 FROM TEMP1 IF IT IS. WHILE THIS WILL OCCA- * SIONALLY LEAVE THE TALBE SLIGHTLY WRONG, NO CALLS TO CLACC CAN * OCCUR BEFORE FURTHER CALLS TO FREE CLEAR THE SITUATION. FREE NOP LDA FREE,I GET INFO ENTRY LDA 0,I ADDRESS. ELA,CLE,ERA ISZ FREE STA T ADA .-1 STA T+1 SAVE LOCN OF TEMP ADDRESS CMA MUST HAVE TSIZE>TLAST-A>=0 ADA TLAST SSC������A JMP FREE,I NOT A TEMPORARY CMA ADA PLUS (ADD 70) LDB TEMP1 ADB .-2 SSA JMP FREE,I STB TEMP1 RESET TEMP1 IF TEST HOLDS LDB T+1,I GET THE TEMP ADDRESS SSB,RSS IF INDIRECT JMP FREE,I ELB,CLE,ERB CLEAR THE IBIT IN THE ADDRESS STB T+1,I AND LDA T,I THE MODE BIT ELA,CLE,ERA IN THE INFO WORD. STA T,I JMP FREE,I TLAST DEF TEMPS+69 LAST LOC OF 'TEMPS' * ******************************************************** * * LBGEN - SET UP A LABEL FOR ENTRY IN THE SYMBOL TABLE * * ******************************************************** LBGN JSB JTST TEST FOR 'JMP' AROUND DECLARATIVE LBGN1 LDA DFLAB SET A = LABEL TYPE LDB .+1 SET B = D VALUE (1 FOR RBIT) JSB SETIN GO TO SETUP VALUES FOR TABLE JSB INSER GO INSERT LABEL INTO STUFF JSB EMNOP EMIT A 'NOP' AT JUMP(TO) ADDRESS LBGN2 JSB SCANR GET NEXT SYMBOL CPA COMMA IS IT A COMMA? RSS YES, SKIP NEXT INSTRUCTION * EXIT FROM LABEL ROUTINE HERE *** JMP BLOCS SEMICOLON TEST THEN BLOC1 JSB SCANR SCAN FOR NEXT SYMBOL JSB XIDTN TEST FOR LEGAL VARIABLE JMP LBGN2 ID DEFINED(BAD) GO FOR NEXT ID JMP LBGN1 ID UNDEFINED(OK) HED PROCESS READ/WRITE STATEMENTS IREAD EQU CLINB 'READ' STATEMENT FALG * ******************************************** * * IOPR - I/O STATEMENT PROCESSER * * * READ(UNIT,FORMAT,LIST); $ * * LDA UNIT NO. * * * CLB,INB * * * JSB .DIO. * * * DEF FORMAT * * * DEF LAST LOC'N+1 * * * (IF FORMAT = *, READ IS FREE FORM) * * * WRITE(UNIT,FORMAT,LIST) ������ * * * SAME AS 'READ' EXCEPT B=0 ON .DIO. * * * ENTRY. * * * IF FORMAT IS MISSING BINARY I/O IS * * * DESIRED. JSB .BIO. IS ONLY WORD IN * * * THE LINKAGE. * * ******************************************** IOSTM NOP ENTER PROCESSER HERE LDB IOCLB SET THE B REG. INSTRUCTION CPA READ OBJECT TME USAGE LDB CLINB B=1 FOR READ LINKAGE STB IOTYP SAVE READ/WRITE INDICATOR JSB SCANR GET THE LEFT PARENTHISSIS CPA LPREN IS IT A LEFT PAREN? JMP IOP06 YES, SKIP TO LOGICAL UNIT SCAN IOP02 JSB .FLAG - NO, ERROR #84 DEC 84 "PARENTHESIS EXPECTED" IOP04 JSB SCND SCAN TO NEXR SEMICOLON JMP IOP60 GOTO PROCEESSER EXIT IOP06 JSB SCANT SCAN FOR LOGICAL UNIT NO,. CLA,INA SET A = 1 JSB ARITH GO TO ARITH TO PROCESS UNIT NO. JMP IOP60 ARITH ERROR, GO TO EXIT JSB MAKIN MAKE THE NO. AN INTEGER AND EMIT DEF ATOP,I TNE NECESSARY CODE JSB SCANR GO TO SCAN FOR THE COMMEA CPA COMMA IS IT THE COMMA? JMP IOP10 YES, GO TO FORMAT SCAN JSB .FLAG NO, ERROR #85 DEC 85 "COMMA EXPECTED=" JMP IOP04 GO TO ERROR EXIT IOP10 LDA IOTYP EMIT 'CLB' IF WRITE, OR EMIT JSB EMRRF 'CLB,INB' IF READ. JSB DBLNK IF NEXT CHARACTER IS CPA CROSS A CROSSHATCH (#), GO TO JMP IOP30 PROCESS INLINE FORMAT. ISZ PEEKD OTHERWISE, UNSCAN IT. JSB SCANT SCAN FOR THE FORMAT CPA TYFMT IS IT TYPE 'FORMAT'? JMP IOP20 YES,GO TO LINKAGE EMIT CPA STAR IS IT AN *?(FREE FIELD FORMAT) JMP IOP16 YES GO PROCESS IT IOCLB CLB NO, , I/O MUST BE BINARY STB IOSAV SAVE THE LWA+1 FLAG LDA #BIO. EMIT JSB EMJSB ' JSB .BIO. ' ISZ SCAND BACK UP SCANNER POINTER ������JMP IOP50 GO TO LIST PROCESSING IOP16 LDA IOTYP PROCESS FREE FIELD FORMAT(=*) CPA IREAD IS THIS A 'READ'? JMP IOP20 YES, SKIP THE ERROR DIAGNOSTIC JSB .FLAG ERROR #86 CASE DEC 86 " * FORMAT ILLEGAL WITH WRITE" IOP20 LDA #DIO. EMIT JSB .DIO. (MG) JSB EMJSB LDA .TYPE GET TYPE OF CURRENT SYBOL CPA STAR IS IT A *? JMP IOP24 YES, GO EMIT A NOP LDA .INFO NO, EMIT THE DEF FORMAT INSTRUCION JSB EMDEF GOTO EMITTER * * PATCH TO FIX FREE FIELD READ * BUG WHEN PROGRAM IS RUN IN BCS. * PATCH DATE-12/72 JMP *+3 SKIP EMIT ABS 0 IOP24 CLA EMIT JSB EMOCT ABS 0 LDA PCNTR GET CURRENT LOCATION IN OBJECT PROG. STA IOSAV SAVE IT FOR THE HDEF LWA+1 ' JSB EMNOP EMIT A NOP FOR FUTURE USE OF THE DEF IOP31 JSB SCANR SCAN FOR THE COMMA AFTER FORMAT. CPA COMMA IS THE COMMA THERE? JMP IOP50 YES, GO TO THE LIST PROCESSER CPA RPREN RT. PAREN.? I.E., NO I/O LIST? RSS YES, NO I/O LIST, SKIP PAST IT... JMP IOP02 IT'S AN ERROR(NO RT. PAREN.). JSB SCANR GET CHAR PAST RT PAREN JMP IOP53 GO INTO END PROCESSING OF LIST IOP30 LDA #DIO. IN LINE FORMAT--EMIT JSB EMJSB JSB .DIO. LDA PCNTR EMIT ADA .+3 DEF *+3 JSB DEFR LDA PCNTR SAVE PCNTR FOR STA IOSAV DEF LWA+1 JSB EMNOP LEAVE ROOM FOR IT AND FOR JSB EMNOP THE JMP AROUND THE FORMAT. JSB FSCAN NOW COMPILE THE FORMAT ITSELF. LDA PCNTR PATCH THE JUMP LDB IOSAV AROUND INB THE FORMAT. JSB EMJMP JMP IOP31 CROSS OCT 43 SKP * ************************************ * * PROCESS IO LIST IN THIS SECTION * * * EMITS * * * A. IF INPUT VALUE(WITH READ, * * * * INTEGER REA������L * * * *JSB .IOI. JSB .IOR. * * * * STA 'VALUE DST 'VALUE' * * * B. IF OUTPUT VALUE * * * LDA 'VALUE DLD 'VALUE' * * * * JSB .IOI. JSB .IOR. * * * C. IF INPUT OR OUTPUT LIST * * * * JSB 'LIST' * * * D. AFTER STATEMENT IS ALL DONE * * * ,I.E. RIGHT PAREN SCANNED, * * * EMIT ' JSB .DTA. ' IF IT'S A * * * 'WRITE' STATEMENT, THEM EMIT * * * A 'DEF ' IN THE LOC'N * * * SPECIFIED IN IOSAV(IF IT'S * * * NOT = 0). * * ************************************ IOP50 LDB IOTYP GET STATEMENT I/O TYPE LDA TYOUT GET WRITE FLAG FOR IOSET ROUTINE CPB IREAD IS THIS A 'READ'? LDA TYINP GET INPUT FLAG FOR IOSET ROUTINE JSB IOSET GO TO PROCESS 'WRITE' LIST IOP53 LDB IOTYP GET READ/WRITE(I/O) FLAG. CPB IREAD WAS IT FOR READ? JMP IOP56 YES, SKIP 'WRITE' PROCES. BELOW LDA #DTA. GET DTA ENTRY LOC'N JSB EMJSB ' JSB .DTA. ' FOR WRITE IOP56 LDA PCNTR GET CURRENT LOCATION VALUE STA EMPTR-1 PUT IT IN PSEUDO STUFF ENTRY LDB IOSAV EMIT THE DEF IF IOSAV NOT = 0 SZB,RSS IS IT = 0(BINARY I/O)? JMP IOP60 YES, SKIP 'DEF' EMIT(BELOW) JSB EMSET PREPARE TO EMIT 'DEF' OUT OF LINE LDA EMPTR+1 GET POINTER TO PSEUDO ENTRY JSB EMDEF EMIT THE 'DEF' HERE... JSB EMRST RESTORE THE PCNTR HERE. IOP60 ISZ SCAND SET SCAND FOR SCANNER BACKUP JMP IOSTM,I EXIT FROM READ/WRITE STATEMENT #DIO. DEF .DIO. #BIO. DEF .BIO. #DTA. DEF .DTA. HED HPAL --- MAIN PROGRAM EXECUTION * HPAL HAS THE FUNCTION OF INITIALIZING ALL THE ALGOL VARIABLES, * READING THE CONTROL CARD, AND DRIVING THE REST OF THE COMPILER. * SYSTEM PASSED PARAMETERS * LUNIN OCT 5 INPUT UNIT LUNO)������U OCT 6 OUTPUT UNIT LUNPH OCT 4 PUNCH LINES DEC -56 LINES PER PAGE LDGOF OCT 0 LOAD AND GO FLAG LUPTR DEF LUNIN PTR FOR PROCESSING ROUTINE LSTOG OCT 1 =1 WHEN LISTING SOURCE PNFLG NOP SET IF PUNCHING BINARY TAPE PNBUF OCT 0,20000,0,0,0,0,-1,0,0,3,143,0,0,0,0,0,0 T EQU PNBUF+60 T=3 PRBUF EQU T+3 PRBUF = 30 (+ 2 FOR ATABL) ATABL EQU PRBUF+32 ATABL = 35 TM0 EQU ATABL+35 TM0=20 TEMPS EQU TM0+20 TEMPS=70 PMC DEC -8 PARAMETER COUNTER .700 OCT 700 .77 OCT 77 LSPRN DEF .-1 FOR USE IN PRINT ROUTINE SPCR OCT 1100 TAB12 DEF IDTAB+12 TMCN OCT -5 HPAL1 EQU ATOP HPAL2 EQU A2ND .45 DEC 45 ASCIA OCT 101 ASCIB OCT 102 HPAL? ASC 4,HPAL ?? NOSRC DEF *+1 ASC 4,NO SOURCE HPERR JSB EXEC NO - CONTROL CARD ERROR DEF *+5 DEF .+2 DEF .+1 OUTPUT ON THE TTY DEF HPAL? DEF .+4 OUTPUT 4 WORDS JMP EOC1 HPAL NOP COMPILER ENTRY PT ************* ADB .-1 SET UP RECURSION HPALA INB INCREMENT PTR LDA B,I CPA FORMA CHECK FOR LOAD AND GO (99) JMP SLGOF YES - GO SET FLAG SZA NO - IS IT SPECIFIED STA LUPTR,I YES THEN STORE IT ISZ LUPTR NO TRY NEXT ISZ TMCN LAST PARAM? , IF NOT THEN JMP HPALA CONTINUE RSS SLGOF ISZ LDGOF SET LOAD AND GO FLAG JSB EXEC FIND LIST DEVICE DEF *+4 DEF .+13 DEF LUNOU DEF TMCN LDA TMCN ALF,ALF AND .77 MASK OUT UNIT TYPE (DVR NO) LDB LSPRN CPA .+10 PRINTER (DVR12)? STB LSTYP YES, REPLACE "SPC 6" W/ EJECT. LDA LINES SSA,RSS HAS A LINE COUNT BEEN ADDED? CMA,INA YES, SET IT UP FOR USAGE BY PRINT STA LINES LDA LUNPH ADA AAT ADD 100B STA LI197 ADA .700 STA LTLIT SET LEADR/TRAILER CONTROL WORD. LDA LUNIN N������ ADA .700 STA EOTIN SET EOT CONTROL WORD LDA LUNOU MAKE SURE COLUMN 1 PRINTS. IOR .200B STA LUNOU AND NOFNC SET LINE SPACE EXEC CALL. MAKE IOR SPCR SURE FUNCTION CODE ISN'T STA SPC CHANGED BY USER ENTRY. LDA 53B 0 ADA 54B 1 ADA 55B 2 ADA 56B 3 ADA 57B 4 STA HPAL =10 IF WE'RE IN DOS LDB 1767B GET RT JFILS CPA .+10 ARE WE IN DOS? LDB 124B YES.. GET DOS JFILS LDA LUNIN CPA .+2 INPUT FROM DISK? SZB YES. IS THE SOURCE THERE? JMP *+4 YES.. GO ON WITH PROCESSING LDA NOSRC NO. SET UP FOR ERROR DIAG. STA HPERR+4 SET TO PRINT 'NO SOURCE' JMP HPERR CPA .+2 DISK BEING USED? JSB %JFIL YES - INITIATE JBIN JSB DBLNK READ IN CONTROL CARD HERE **** ADA HPAL2 FIRST STA HPAL2 4 ISZ HPAL1 CHARACTERS JMP *-4 SZA HPAL? JMP HPERR NO, ERROR STA LSTOG CLEAR TOGGLE OPTION HPMOR JSB DBLNK *** READ IN CONTROL CHARS HERE **** CPA ACOMA COMMA? JMP HPMOC YES JMP HPERR NO - ILLEGAL CONTROL HPMOC JSB DBLNK GET CONTROL CHAR. CLB,INB CPA ASCIL LIST SOURCE? STB LSTOG L CPA ASCIB PUNCH BIN.? STB PNFLG B CPA ASCIA LIST ASSEMLY CODE? STB LSFLG A CPA ASCIP PROCEDURE ONLY? STB PFLAG P CPA AQUOT START OF NAME? RSS YES, DONE WITH CONTROL CHARS. JMP HPMOR NO, CHECK FOR ANOTHER. JSB SCANR GO GET 'NAM' CPA TYUID IS IT AN UNDEF. NAME? RSS YES, OK TO PROCESS JMP HPERR NO. ERROR LDB .+21B SET BIN WORD COUNT LDA .+4 SET PRAMER FOR EMMOV STA IDTAB+12 LDA TAB12 JSB EMMOV MOVE NAME TO 'NAM' RECORD JSB CHAR ������ CPA AQUOT A " FOLLOWING THE NAME RSS JMP HPERR NO - ILLEGAL CONTROL AND ABORT JSB DBLNK GET NEXT CHAR. CPA ACOMA COMMA? RSS YES, CONTINUE JMP HPGO NO, START THE ALGOL PROGRAM JSB DBLNK GET NEXT CHAR(OR SYMBOL) JSB DIGIT IS THE CHAR. A DIGIT? RSS YES JMP HPERR NO, IT'S AN ERROR ALF,ALF POSITION DIGIT FOR 'ERR' IOR ABLAN STA .ERR-2 SAVE THE # OF THE ERROR ROUTINE. LETPM JSB DBLNK GET NEXT NON-BLANK CHAR. CPA ACOMA COMMA? RSS YES JMP HPGO NO, START THE ALGOL PROCESSOR JSB SCANR GET DEC. DIGITS CPA TYCON IS THE SYMBOL A CONSTANT? RSS YES JMP HPERR NO, ERROR LDA .RBIT SZA IS IT AN INTEGER? JMP HPERR NO, ERROR LDA IDNUM+1 STA GOTMP,I STORE THE PARAMETER ISZ GOTMP BUMP BUFFER OPOINTER ISZ PMC ALL DONE? JMP LETPM NO, GO BACK FOR NEXT JSB DBLNK SCAN TO NEXT NON-BLANK HPGO ISZ PEEKD SET SCANR POINTER BACK LDA PFLAG LDB .+7 SZA PROCEDURE ONLY? STB PNBUF+9 YES, SET PROG, TYPE = 7 JSB EXEC GO READ IN THE TABLE SEGMENT.. DEF *+3 DEF .+8 DEF ALGNM %HPST STB STUFF SET THE FWA-1 OF AVAILABLE MEMRY **** ** SET UP LWA OF AVAIL MEMORY FOR END OF TABLE AREA... *** LDB 1777B TR LWA AVAIL. MEMORY LDA HPAL GET DOS FLAG CPA .+10 ARE WE IN DOS? LDB 100B YES, GET THE CORRECT ADDRESS STB STOP SET LWA AVAIL MEM FOR TABLES. JSB LTG GO PUNCH LEADER JSB PNCH GO PUNCH THE 'NAM' RECORD LDB PFLAG SZB PROCEDURE ONLY? JMP HPPRO YES CALL SCANNER. LDA .+7 NO, SET STA PNBUF MAIN ENTRY LDA HTRIC STA PNBUF+1 IN LDA PNBUF+5 AND HIMSK PUNCH ���N��LH STA PNBUF+5 CLA BUFFUR STA PNBUF+6 JSB PNCH JSB SCANR CPA BEGIN STARTS WITH 'BEGIN'? JMP HPBLK YES,, EVERYTHING'S OKAY. JMP HPDIE NO, GO NO FURTHER, ERROR!! HPPRO JSB CLRBF CLEAR OBJECT CODE PRINT BUFFER. JSB SCANR CPA REAL FIRST SYMBOL MUST JMP HPRO1 BE REAL, INTEGER, CPA INTEG OR JMP HPRO1 PROCEDURE JMP HPRO2 ** GO TO PROCEDURE PROCESSOR ** NOFNC OCT 170077 MASKS OUT BITS 11-6 (I/O FUNCT). ALGNM ASC 3,ALGL1 BSS PNBUF-*+220 LEAVE SPACE FOR TABLES. SKP STOP NOP ADDRESS OF TABLE END STUFF DEF *-1 STUFF POINTER HPDIE JSB .FLAG INPUT DEC 100 JMP EOC1 FINI1 JSB .FLAG ERROR--SCANR HAS SPOTTED ������������������������=N�������������� DEC 8 THE $ JMP DONE #EXEC DEF .EXEC HPBLK JSB CLRBF CLEAR OBJECT CODE PRINT BUFFER. CLA SEND OUT A NOP JSB EMRRF JSB BLOCQ COMPILE THE PROGRAM * BLOCK SHOULD RETURN TO THIS POINT. IF CONTROL * GOES TO FINI (FROM SCANNER), THERE IS A MISSING END. DONE LDA BLCTR CHECK FOR OUTPUT OF ALLOCATION SSA ANY ALLOCATION AT ALL?(4/10/70) JMP FINIS NO - GO FINISH CMA,INA ADA PTM0 SZA,RSS EMPTY BLOCK ? JMP FINIS YES, SKIP OUTPUT STA TM1 SET COUNT LDB ALPTR JSB EMSET EMIT ORG JSB EMITS EMIT FINIS LDA PFLAG SZA WAS THIS A PROCEDURE ONLY? JMP FINIT YES, GO OUTPUT ONLY ONE WORD. LDA #EXEC SET UP COMPLETION REQUEST JSB EMJSB TO BE GIVEN BY USER LDA PCNTR ADA .+2 JSB DEFR EMIT 'DEF *+2' FOR EXEC EXIT LDA PCNTR INA JSB DEFR EMIT 'DEF *+1' FOR VAL=6 FINIT LDA .+6 IF PROCEDURE, THIS IS ALL .. JSB EMOCT EMIT OCTAL 6 LDA ECNTR CONVERT ERROR COUNT TO DECIMAL JSB DCONV TO DECIMAL DEF FINIE LDA PCNTR CONVERT PROGRAM LENGTH JSB OCONV DEF FINIP * ***************************************** * * EMEND - SET UP AND PUNCH 'END' RECORD * * ***************************************** CLB JSB BREC PUNCH OUT REMAINING WORDS LDA .+4 STA PNBUF SET WORD LENGTH = 4. LDA HERIC LDB PFLAG SZB IS THIS A PROC. COMPILE? ADA .-1 YES,CLEAR EXEC. ADDR. BIT STB PNBUF+3 CLEAR EXEC. ADDR. STA PNBUF+1 SET RIC = 5 ;RELOC. JSB PNCH GO TO PUNCH DRIVER JSB LTG PUNCH TRAILER CLA PRINT BLANK JSB PRINT LINE LDA .27D PRINT PROGRAM LDB FINIX RESULT JSB PRINT LDA LDGO������F EMIT LOAD/GO IF REQUESTED SZA JSB %WRIF EOC1 JSB EXEC DEF *+5 DEF .+2 DEF .+1 DEF BZOD DEF .-10 JSB EXEC SET END OF PAPER TAPE FLAG DEF *+3 DEF .+3 DEF EOTIN JSB EXEC TOP OF FORM THE LISTING DEF *+4 DEF .+3 DEF SPC DEF .-1 JSB EXEC CALL EXEC TO END COMPILER DEF *+2 DEF .+6 LEBEWOHL EOTIN OCT 704 EOT CONTROL WORD BZOD ASC 5,$END ALGOL HERIC OCT 120001 'END' REC.ID.CODE(5) AND ADDR.FL FINIX DEF FBUFF FBUFF ASC 4,PROGRAM= FINIP BSS 4 ASC 4, ERRORS= FINIE BSS 2 * LTG PUNCHES A LEADER/TRAILER LTG NOP LDA PNFLG IF NO PUNCHING, SZA,RSS IGNORE. JMP LTG,I JSB EXEC PUNCH LEADER OR TRAILER DEF *+3 DEF .+3 DEF LTLIT JMP LTG,I * ********************************** * * OVERFLOW EXIT TAKES PLACE HERE * * ********************************** OVFLO JSB .FLAG OVERFLOW OF TABLES(#999) DEC 999 "TABLE AREAS OVERFLOWED" CLA JSB PRINT EMIT A BLANK LINE JMP EOC1 * CONTROL HERE FOR A PROCEDURE ONLY HPRO1 STA HT SET PROCEDURE TYPE JSB SCANR HPRO2 CPA PROCE RSS JMP HPDIE JSB PRTNQ JMP DONE THAT'S ALL FOLKS!! LTLIT OCT 001204 SKP * SCANT (SCAN,I) SCANS THE NEXT SYMBOL. IF IT'S UNDEFINED, * IT PRINTS A MESSAGE. IF NOT, IT TESTS IT FOR AN EQUATE, * & IF IT IS, IT GETS THE EQUATED VALUE. SCANT NOP ENTRY POINT. JSB SCANR CALL THE SCANNER CPA TYUID UNDEFINED TYPE? JMP SCNUN YES CPA TYEQU EQUATE TYPE? JMP SCNEQ YES JMP SCANT,I OK. * GET EQUATE VALUE SCNEQ LDA .INFO EQUATE SYMBOL VALUE IS AT LDB A,I ADA .-2 .INFO -2 SSB,RSS CLB,RSS LDB A,I & STB IDNUM .INFO-1 INA O������ LDB A,I STB IDNUM+1 LDB .INFO,I GET A CONSTANT LDA DCONI INFO, WITH SSB APPROPRIATE LDA DCONR TYPE. SCLUJ STA .INFO LDA A,I JSB SCATR SCATTERINF JMP SCANT,I * UNDEFINED ID SCNUN JSB .FLAG ERROR DEC 10 #10 LDA DRVAR FAKE IT AS REAL JMP SCLUJ DRVAR DEF *+1 OCT 114002 HED GO TO STATEMENT * GO TO STATEMENT::=GO DESEXPR ^ GO TO DESEXPR * DESEXPR ::= LABEL ^ SWITCHID [AEXPR] GOSTM NOP ENTRY POINT JSB SCANR GET NEXT SYMBOL CPA TO IF A TO, SCAN ONE MORE JSB SCANR SYMBOL. CPA TYSWT SWITCH TYPE? JMP GOSWT YES. CPA DFLAB LABEL TYPE? JMP GOLAB YES. JSB .FLAG ERROR 74-- UNDEFINED CCNT4 DEC 74 LABEL REFERENCE JMP GOSTM,I RETURN * GO TO LABEL * GOLAB LDA .INFO FOR A LABEL, JUST PUT OUT LDB FJMP THE SIMPLE JMP JSB EMMRF JMP GOSTM,I * GO TO SWITCH DESIGNATOR * GOSWT LDA .INFO SAVE INFO ADDRESS OF STA GOTMP SWITCH IDENT. JSB SCANR SCAN NEXT SYMBOL AND CPA LBRAC CHECK FOR LEFT BRACKET. JMP GOST1 O.K. JSB .FLAG - ERROR 75-- DEC 75 SWITCHID NOT FOLLOWED BY [ GOST2 ISZ SCAND JMP GOSTM,I GOST1 JSB SCANT CALL ARITH TO PROCESS AEXP. CLA,INA JSB ARITH JMP GOSTM,I ERROR RETURN JSB MAKIN FORCE RESULT DEF ATOP,I INTEGER. LDB FJSB EMIT A JSB TO LDA GOTMP SWITCH. JSB EMMRF JSB SCANR SCAN NEXT SYMBOL CPA RBRAC CHECK FOR ]. JMP GOSTM,I O.K. JSB .FLAG ERROR 76--WHERE'S THE RIGHT BRACKET? ASCIL DEC 76 JMP GOST2 GOTMP DEF PNBUF+9 TEMP FOR GO TO HED IF STATEMENT * IFSTM COMPILES IF STATEMENTS. THE SYNTAX IS: * IFSTATE::=IF TEST THEN STATE ^ * IF TEST THEN STATE ELSE STATE * THE O ������BJECT CODE PRODUCED IS AS FOLLOWS: * A) IF STATE::=IF TEST THEN STATE * * FALSE JMP L * TRUE * L ..... * B) IFSTATE::=IF TEST THEN STATE(1) ELSE STATE (2) * * FALSE JMP L1 * TRUE * JMP L2 * L1 * L2 ..... * NOTE THAT THE "DANGLING ELSE" IS PRESENT IN THE ABOVE SYNTAX. THE * IFSTM ALGORITHM HANDLES THIS BY MATCHING EACH ELSE WITH THE MOST * IMMEDIATELY PRECEDING UNMATCHED IF. IFJMP BSS 1 USED FOR SAVING FIXUP LOCATIONS. IFSTM NOP ENTRY POINT. JSB STACQ NECESSARY DEF IFJMP FOR JSB UNSTQ RECURSION. JSB SCANT START SCANNING THE LDA .+3 TEST & CALL ARITH TO JSB ARITH COMPILE IT. JMP IFSTM+3 ERROR EXIT. LDA PCNTR SAVE PROGRAM COUNTER FOR STA IFJMP LATER PATCHING. JSB SCANR GET NEXT SYMBOL AND TEST CPA THEN FOR A THEN. JMP IFST1 IT'S THERE. JSB .FLAG ERROR NO. 77--MISSING THEN DEC 77 IFST2 ISZ SCAND JMP IFSTM+3 IFST1 JSB EMNOP OUTPUT A NOP FOR THE JUMP AROUND JSB SCANR COMPILE TRUE PART. JSB STMPR JSB SCANR GET NEXT SYMBOL LDB PCNTR PATCH PREVIOUS JUMP AROUND. JMP CPA ELSE IS TO PRESENT LOCATION IF THER INB ISN'T AN ELSE, OTHERWISE TO IT+1 LDA 1 DESTINATTION OF JUMP IN A. LDB IFJMP ORIGIN IN B. JSB EMJMP OUTPUT THE JUMP. LDA .TYPE GET THE TYPE AGAIN AND CHECK FOR CPA ELSE ELSE. RSS IT IS--GO COMPILE FALSE PART. JMP IFST2 IT ISN'T--ALL DONE. * COMPILE FALSE PART * LDA PCNTR SAVE PCNTR AGAIN FOR LATER STA IFJMP FIXUP AND PUT OUT A NOP NOW. JSB EMNOP JSB SCANR CALL STATEMENT ROUTINE AGAIN.&H JSB STMPR LDA PCNTR FIXUP JMP AROUND FALSE PART. LDB IFJMP JSB EMJMP JMP IFSTM+3 SPC DEC 582 LI197 DEC 197 HED CASE STATEMENT * ::=CASE * BEGIN ; * ; * ... * * END * OBJECT CODE: * * JSB L * X JMP FIN * L1 * JMP X * L2 * JMP X * ... * LN * JMP X * L NOP * JSB .SWCH * ABS N * DEF L1 * DEF L2 * ... * DEF LN * FIN ... CASE1 NOP ADDRESS OF CASE2 NOP ORIGINAL STACK POINTER CASE5 NOP ORIGINAL STACK POINTER CASTM NOP ENTRY POINT JSB STACQ DEF CASE1 JSB UNSTQ JSB SCANT CLA,INA CALL ARITH FOR JSB ARITH JMP CASTM+3 ERROR RETURN JSB MAKIN FORCE INTEGER DEF ATOP,I LDA PCNTR SAVE PCNTR FOR EMITTING JSB L. STA CASE1 JSB EMNOP LEAVE SPACE FOR JSB L JSB EMNOP AND JMP FIN JSB SCANT CHECK NEXT SYMBOL FOR CPA BEGIN "BEGIN". JMP *+5 JSB .FLAG ERROR 88 END DEC 88 ISZ SCAND JMP CASTM+3 * NOW BEGIN PROCESSING THE STATEMENTS. WE HAVE TO * SAVE THE STARTING POINTS OF EACH STATEMENT IN * THE STACK, SO START BY SAVING THE STACK POINTER. LDA STOP STA CASE5 STA CASE2 CASE3 LDA PCNTR SAVE PROGRAM COUNTER n JSB PUSHQ IN STACK. JSB SCANR COMPILE A STATEMENT. JSB STMPR LDA CASE1 EMIT A JUMP INA AFTER STATEMENT CLB COMPLETION. JSB EMJMP JSB SCANR LOOK CPA SEMI IF A SEMICOLON, GO DO ANOTHER JMP CASE3 STATEMENT. CPA END IF AN "END", CASE STATEMENTS ARE JMP *+6 FINISHED. JSB .FLAG IF NOT, TAKE COLON DEC 89 THE PIPE. CASE4 LDA CASE2 RESTORE STACK POINTER BEFORE STA STOP LEAVING. JMP CASTM+3 LDA PCNTR EMIT THE JSB L IN THE STA EMPTR-1 NEXT 7 LINES. LDB CASE1 STB EMJSV LDA EMPTR+1 LDB FJSB JSB EMJPS JSB EMNOP EMIT THE SWITCH ENTRY POINT. LDA #SWCH EMIT JSB .SWCH JSB EMJSB LDA STOP EMIT NUMBER OF CMA,INA STATEMENTS. ADA CASE2 JSB EMOCT CASE7 LDA CASE5 NOW EMIT THE DEFS. CPA STOP IF CASE5=STOP WE'RE DONE. JMP CASE6 ADA .-1 OTHERWISE DECR. CASE5 FOR STA CASE5 NEXT LABEL. LDA 0,I JSB DEFR * SET PSEUDO ENTRY FOR 'DEF' ** JMP CASE7 CASE6 LDA PCNTR EMIT JMP FIN LDB CASE1 FROM INB X JSB EMJMP JMP CASE4 HED WHILE STATEMENT * WHILESTATE::= WHILE TEST DO STATEMENT * OBJECT CODE: * W * F JMP L * T * JMP W * L ..... WHF BSS 1 LOCATION OF F WHW BSS 1 LOCATION OF W WHIST NOP ENTRY POINT JSB STACQ NECESSARY DEF WHF FOR JSB UNSTQ RECURSION LDA PCNTR SAVE PROGRAM STA WHW COUNTER JSB CLEAR SINCE WE LOOP BACK HERE JSB SCANT OMPILE LDA .+3 THE JSB ARITH TEST JMP WHIST+3 ERROR EXIT JSB SCANR GET NEXT SYMBOL AND CPA DO CHECK FOR' DO JMP WHOK O.K. JSB .FLAG DEC 78 ERROR NUMBER 78 RSS WHOK JSB SCANR SCAN NEXT SYMBOL LDA PCNTR SAVE PROGRAM COUNTER STA WHF JSB EMNOP AND PUT OUT A NOP FOR LATER PATCHING. JSB STMPR COMPILE THE STATEMENT LDA WHW OUTPUT A JUMP TO CLB THE BEGINNING JSB EMJMP LDA PCNTR PATCH THE LDB WHF TEST JUMP JSB EMJMP JMP WHIST+3 RETURN FLOAQ NOP CONVERT AN INTEGER TO FLOATING CLB SET EXPONENT ZERO SZA,RSS IF NUMBER IS ZERO, JMP FLOAQ,I RETURN IMMEDIATELY. LDB ABLAN OTHERWISE INITIALIZE EXP TO 16. FL1 ADB .-2 DEBUMP EXPONENT. CLE,ELA SHIFT AND TEST BIT 15 SEZ,SSA AND E FOR JMP FL1 EQUALITY. CONTINUE THIS UNTIL THEY SEZ,SSA,RSS ARE DIFFERENT. JMP FL1 ERA THEN SHIFT BACK AND JMP FLOAQ,I RETURN. STEP OCT 171 TO OCT 173 HED FOR STATEMENT * FORST IS RESPONSIBLE FOR COMPILING FORSTATEMENTS * ACTUALLY, ALL THE WORK IS DONE BY FORCLAUSE STATE DEF STMPR STATEMENT PROCESSOR FORST NOP LDA STATE JSB FORQL JMP FORST,I * FORCL HANDLES ALGOL FOR CLAUSES. FOR CLAUSE IS USED BY * FOR STATEMENT AND THE IOLIST SCANNERS. THE SYNTAX IS: * FORCLAUSE::=FOR VARIABLE_EXPR1 STEP EXPR2 * UNTIL EXPR3 DO * FORCLAUSE ::= FOR VARIABLE _ EXPR1 TO EXPR3 DO * IN THE SECOND CASE, THE "TO" IS EQUIVALENT * TO "STEP 1 UNTIL" * THE FORCLAUSE IS FOLLOWED BY SOME CONSTRUCT WHICH IS COMPILED * BY SOME OTHER ROUTINE. THE ADDRESS OF THIS ROUTINE MUST BE IN * THE A REGISTER AT CALL TIME. * THE CODE PRODUCED BY FORCL IS AS FOLLOWS: * CODE FOR EXPR1 * STA VARIABLE * CODE FOR EXPR2 * CODE FOR EXPR3 * LDA VARIABLE * L1 CMA,INA * ADA MEXPR3 * EITHER * SSA IF EXPR2 IS A POSITIVE CONSTANT * OR * CMA,SSA,INA,SZA IF EXPR2 IS A NEGATIVE CONSTANT * OR * LDB EXPR2 ----- * SSB - IF EXPR2 * CMA,INA - IS NOT A * SSA - CONSTANT * ------------------ * L2 JMP L3 END OF FOR LOOP * CODE FOR OBJECT OF FOR CLAUSE * CODE FOR VARIABLE _ VARIABLE + EXPR2 * JMP L1 * L3 ........ FORL1 BSS 1 LOCATION L1, AS ABOVE FORL2 BSS 1 LOCATION L2, AS ABOVE. FOROU BSS 1 ROUTINE FOR FORCL TO CALL FORE2 BSS 1 INFO FOR EXPR2 FORE3 BSS 1 INFO FOR EXPR3 FORVR BSS 1 INFO FOR VARIABLE FORQL NOP ENTRY POINT JSB STACQ NECESSARY DEF FORL1 FOR JSB UNSTQ RECURSION STA FOROU SAVE ROUTINE TO CALL LATER JSB SCANT GET THE VARIABLE LDA .+4 TO BE USED AS THE JSB ARITH FOR VARABLE JMP FORQL+3 ERROR EXIT RAL,CLE,ERA REMOVE MODE BIT FROM INFO WORD STA FORVR AND SAVE IN FORVR. SEZ,RSS IF MODE BIT WAS REAL JMP *+3 IT'S AN ERROR JSB .FLAG DEC 79 JSB SCANT CHECK FOR AN ASSIGN FOLLOWING CPA STORE JMP *+3 JSB .FLAG ASCIP DEC 80 * NOW COMPILE EXPR1 JSB SCANT CLA,INA JSB ARITH JMP FORQL+3 JSB MAKIN FORCE INTEGER DEF ATOP,I LDA FORVR JSB EMSTR STORE EXPR1 INTO THE VARIABLE JSB SCANR CHECK NEXT SYMBOL FOR STEP OR TO CPA TO JMP FORTO CPA STEP JMP *+3 JSB .FLAG MOD DEC 81 JSB FOREL COMPILE STA FORE2 EXPR2 JSB SCANR CHECK NEXT SYMBOL FOR UNTIL CPA UNTIL JMP *+3 JSB .FLAG DEC 82 FOR4 JSB FOREL COMPILE STA FORE3 EXPR3 LDA FORVR J. FORCE VARIABLE TO ACCUMULATOR JSB EMLOD LDA PCNTR STA FORL1 LDA CMINA OUTPUT CMA,INA JSB EMRRF LDA FORE3 OUTPUT LDB ADDOP ADA EXPR3 JSB EMMRF * NOW TEST TO SEE IF EXPR2 IS A CONSTANT LDA FORE2 IF FORE2=0, WE NEED AN SZA,RSS SSA AT THIS POINT JMP FOR2 LDA FORE2,I CPA CONFO JMP FOR1 GO TO CONSTANT STEP SIZE * NOT A CONSTANT STEP SIZE LDA FORE2 EMIT LDB LDB LDB EXPR2 JSB EMMRF LDA SSB EMIT JSB EMRRF SSB LDA CMINA EMIT JSB EMRRF CMA,INA FOR2 LDA SSA1 EMIT FOR3 JSB EMRRF SSA LDA PCNTR SAVE LOCN OF L2 STA FORL2 JSB EMNOP * CHECK FOR DO JSB SCANR CPA DO JMP *+3 JSB .FLAG MISSING DO DEC 83 JSB SCANT ** 4/10/70 ** JSB FOROU,I CALL THE APPROPRIATE ROUTINE * EMIT CODE FOR VARIABLE+EXPR2 LDA FORVR JSB EMLOD LDA FORE2 SZA,RSS IF ...TO... CLAUSE, GO TO JMP FOR5 COMPILE INA. LDB ADDOP JSB EMMRF FOR6 LDA FORVR JSB EMSTR LDA FORL1 EMIT AN JUMP CLB TO TOP OF LOOP JSB EMJMP LDA PCNTR PATCH THE LDB FORL2 PREVIOUS JSB EMJMP JUMP * FREE THE VARIABLES BEING USED JSB FREE DEF FORE2 JSB FREE DEF FORE3 JSB FREE DEF FORVR JMP FORQL+3 INA INA FORTO CLA FORE2=0 IS USED TO FLAG STA FORE2 A ...TO... CLAUSE JMP FOR4 FOR5 LDA INA JSB EMRRF JMP FOR6 * SECTION FOR EXPR2 A CONSTANT FOR1 LDB FORE2 GET THE ADB .-2 CONSTANT LDB 1,I IN B LDA SLEZR SSB SSB IF NEGATIVE, GO EMIT JMP FOR3 SKIP <=0 JMP FOR2 IF POSITIVE, GO EMIT SSA SLEZR CMA,SSA,INA,SZA SSA1 SSA LDB LDB 0 * FOREL EVALK(UATES EXPR2 AND EXPR3 FOREL NOP JSB SCANT FIRST CALL ARITH LDA .+2 JSB ARITH JMP FORQL+3 FORGET IT JSB MAKIN MAKE IT AN INTEGER. DEF ATOP,I JSB MAKE FORCE IT DEF ATOP,I TO JSB CLACQ STORAGE. LDA ATOP,I NOW GET THE INFO WORD. JMP FOREL,I RETURN * THE SYNTAX FOR THE DO STATEMENT IS: * ::= DO UNTIL> * * THE EMITTED CODE IS : * L CODE FOR STATEMENT * CODE FOR BOOLEAN EXPRESSION * FALSE JMP L * TRUE: DOSTL BSS 1 LOCN OF L DOSTM NOP JSB STACQ FOR RECURSION DEF DOSTL JSB UNSTQ JSB CLEAR LDA PCNTR SAVE PROGRAM COUNTER. STA DOSTL JSB SCANR COMPILE STATEMENT JSB STMPR JSB SCANR GET NEXT SYMBOL CPA UNTIL OR YOU WIPE OUT. JMP *+3 OK JSB .FLAG FLAG HIM DOWN. DEC 82 JSB SCANT START TO DO BOOLEAN LDA .+3 JSB ARITH DO IT. NOP LDA DOSTL EMIT JMP TO TOP. CLB JSB EMJMP JMP DOSTM+3 DO IS DONE. HED HPAL TABLES OCT 2456,42111,47456,0 .DIO. OCT 43005,2456,41111,47456,0 .BIO. OCT 43005,2456,42124,40456,0 .DTA. OCT 43005,2456,44517,44456,0 .IOI. OCT 43005,2456,44517,51056,0 .IOR. OCT 43005,2456,52101,50105,0 .TAPE OCT 43005,2456,50122,40515,0 .PRAM OCT 43005,2456,44516,42101,0 .INDA OCT 43005,2456,44516,42122,0 .INDR OCT 43005,2456,51527,41510,0 .SWCH OCT 43005,2456,51124,47522,0 .RTOR OCT 43005,2456,51124,47511,0 .RTOI OCT 43005,2456,44524,47511,0 .ITOI OCT 43005,2056,43101,42040,0 .FAD OCT 43005,2056,43123,41040,0 .FSB OCT 43005,2056,43104,53040,0 .FDV OCT 43005,2056,43115,50040,0 .FMP OCT 43005,2506,46117,40524,0 .FLOT OCT 43005,2056,51116,42040,0 .RND OCT 43005,2456,50101,52523,0 .PAUS OCT 43005,2456,27106,41515,0 ..FCM OCT 43005,2456,27104,46103,0 ..DLC OCT 43005,2105,5B@<1122,30040,0 .ERR OCT 43005,2505,54105,41440,0 .EXEC OCT 43005,2056,42111,53040,0 .DIV OCT 43005,2056,46520,54440,0 XMPY OCT 43005,2056,42123,52040,0 .DST OCT 43005,2056,42114,42040,0 .DLD OCT 43005 * TABLE OF CODE FOR RELATIONS IN ARITH ROUTINEA LEQVL SZA,RSS 2 INSTRUCTIONS FOR LEQVL CCA LSSVL NOP NO " " LSSVL EQLVL CMA,CLE,INA 2 " " EQLVL ERA NOP NEQVL SZA 2 " " NEQVL CCA NOP GTRVL SZA 2 " " GTRVL GEQVL CMA CMA EQU GEQVL NOP LSSTS SSA,RSS 1 " " LSSTS NOP LEQTS CMA,SSA,INA,SZA 1 " " LEQTS NOP EQLTS SZA 1 " " EQLTS NOP NEQTS SZA,RSS 1 " " NEQTS NOP GTRTS SZA 2 " " GTRTS GEQTS SSA 1 " " GEQTS NOP ERROR ASC 3,***** USED FOR ERROR PRINTING. PRIN BSS 5 FIRST 10 CHARACTERS OF PRINT LINE. BUFF BSS 36 72 INPUT CHARACTERS. END HPAL >B % 24142-80001 A S 0122 PROCESSOR INTER- CONNECT CABLE DIAG.             H0101  ASMBA̬B HD5ABŠDAGNS G SԱMP G00B SԲMPS SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY BSSASԠDAVAABŠMMY NDƠNؠUVŠUNADDSS SPà ҠNUMBҠAB àABS- ҠDƠ+ DƠű DƠŲ DƠ3 DƠŴ DƠű0 SPà DDHAԠAB HԠDƠ HԠ HԠ HԠ3 HԠ HԠ0B SPà MSSAGŠADDSSAB MɠDƠ DƠM DƠM DƠM3 DƠM DƠM0 SPà MSSAGŠNGHAB M̠DƠ DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ̱0 SPà ABŠƠH-AɯϠNSUNS BŠMDD SADƠ+ DƠA DƠA DƠA3 DƠA DƠA5 DƠA6 DƠA DƠA DƠA9 DƠA0 DƠA DƠA DƠA3 DƠA ASADƠ- SPà ABŠƠɯϠNSUNS BŠMDD SBDƠ+ DƠB DƠB DƠB3 DƠB DƠB5 DƠB6 DƠB DƠB DƠB9 DƠB0 ASBDƠ- SPà NSANSSAGŠANS B0Ԡ BԱԠ BԲԠ B3Ԡ0 BԴԠ0 B5Ԡ0 B6Ԡ00 BԷԠ00 BԸԠ00 B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 A0Ԡ A03Ԡ3 AԠ ϯANP ϯBNP ABANP P00Ԡ00 ABBNP YPàNP =' NYNP NSҠNP ̠Ԡ HAU0B HBUB AU0 BU H̱Ԡ000 H̲Ԡ000 H3Ԡ0003 DAUԠNP DANNP 5HԠ5B H̴Ԡ000 űHԠB H̱0Ԡ000 A00Ԡ0 ҠԠ600 P0000Ԡ0000 A00Ԡ SAVSҠNP SPà ADDSSDNNS AҠDƠ AS̠DƠS ASMDƠSM AMADƠMA AMBDƠMB AM0ADƠM0A AM0BDƠM0B AMDƠM A̷DƠ̷ HD5ABŠDAGNS--NGUAN Ҡà0àDSABŠNԠSYS ANPUԠS-G ANDAMASKƠH-ASԠD SBHKHKH-ASԠD MPVA̯AVAD Ԡ00H-ASԠDŠNVAD MPҠNGUŠS-GPSSUN. VA̯ASAϯA SPà ANPUԠS-G AƬAƠPSNH-BSԠDŠ A̬A̠HKUN ANDAMASKƠH-BSԠD SBHKHKH-BSԠD MPVA̯BVAD Ԡ005H-BSԠDŠNVAD MPҠNGUŠS-GPSSUN. VA̯BSAϯB SPà DBϯAHKҠUA̠SԠDS PAB SS MPMD Ԡ003H-AH-BSԠDSUA̻ MPҠNGUŠS-GPSSUN. SPà MDDBSAMDYH-AɯϠNSUNS SBABA PDBABA DA ANDP00 ҠϯA SA PBASAɠMDANMP? MPMBYS SZABAN NP MPP SPà MBDBSBMDYH-BɯϠNSUNS SBABB PDBABB DA ANDP00 ҠϯB SA PBASBɠMDANMP? MPàYS SZABBN NP Y:MPP SPà àANPUԠSŠYP--MPU ANDBԱB.ƠZϬHP5Ҡ6 SAYPàƠNŬHP. SPà ANPUԠSŠY-AVAABY ANDBԱ3B.ƠZϬYAVAABŻ SANYƠNŬNԠAVAAB. SPà SPà Ԡ006SԠN-S-GPNSAND APSSUN. SANSҠNPUԠSŠN-S-GPNS SPà Ԡ00NG.MPŠ--PSSUN HD5ABŠDAGNSà--SA SҠDBBԱ0 SBHKSנSUPPSSNN-ҠMSSAGS? MPSԱYS SBSKNϬHKYSUPPҠAVA DA DBA SBY.ϬɠUPUԠҬ SBSKHKYAVAABY DAAS DBASM SBY.ϬɠSAԠ5ABŠDAGNS DBBԱ5 SBHKSנHAԠAҠMSSAG? HHԠBYS MPSԱN HD5ABŠDAGNS--SԠGUP SԠGP--HKҠDVŠMMANDNS PNҠSHDϠAHH. SPà SԱà0àDSABŠNS SBSAVADSAVŠPADDSS AƠHA ASàHAGNAŠHANN-ADV.MMAND AàHA A3SàHA űSBҠű.HKҠDV.MM.NS DAH̱SHDϠAHH SBH SPà SBSAVADSAVŠPADDSS A AAHAASSUŠGUNDPNA̠NA B0AHBDAANS BƠHB A0SàHAH-ADV.MM. AàHA BSSHB ŲSBҠŲ.H-ADV.MM.NŠN DAH̲KNG SBH SPà SBSAVADSAVŠPADDSS AƠHA B3SàHBH-BDV.MM. BàHB A5SSHA 3SBҠ3.H-BDV.MM.NŠN DAH3KNG SBH HD5ABŠDAGNS--SԠGUP SԠGP--DAANŠS SPà HSSԠHKSHŠABŠDAANS ҠPNSSHS. SPà à0àDSABŠNSAҠ̠BS. A BAHBASSUŠGUNDPNA̠NB-- ANAADAANS HSBUԯAUPUԠPANMH-AϠH-B MA SBUԯAUPUԠMPMNԠMAϠB MA SBUԯAUPUԠPANAGANMAϠB SSAA̠PANSUPU? MPA A MPHN SPà AAYS A6AHAASSUŠGUNDPNA̠NA-- ANABDAANS HSBUԯBUPUԠPANMH-BϠH-A MA SBUԯBUPUԠMPMNԠMBϠA MA SBUԯBUPUԠPANAGANMBϠA SSAA̠PANSUPU? MPNDYS A MPHN SPà HSSUBUNŠUPUSNPUSMPAS HŠDAANHŠA-GMH-AϠH-B SPà UԯANP SADAU SBSAVAD DBB9 SBHKSנԠMS? MPNDYS DADAUԠN AAHAUPUԠPANMH-AϠH-B ASàHA A3àHA B5BHBNPUԠPAN PASAMŠASUPU? MPNҴYS SBDANN.NVԠUPUԠANDNPU DBAMAϠASɠANDPUԠNϠ SBDAAMSSAGŠŴ. DADAN DBAMB SBDAA DA5 SBBP ŴSBҠŴ.H-AUPUԠNԠ.ϠH-B NҴDAH̴NPU.UԽؠN SBH DADAU MPUԯAɠUN+ SPà HSSUBUNŠUԡYPUSNPUSMPAS HŠDAANHŠA-GMH-BϠH-A SPà UԯBNP SADAU SBSAVAD DBB9 SBHKSנԠMS? MPNDYS DADAUԠN B6AHBUPUԠPANMH-BϠH-A BSàHB B9àHB A9BHANPUԠPAN PASAMŠASUPU? MPNұ0YS SBDANN.NVԠUPUԠANDNPU DBAM0AϠASɠANDPUԠNϠ SBDAAMSSAGŠŷ. DADAN DBAM0B SBDAA DAű SBBP ű0SBҠű0.H-BUPUԠNԠ.ϠH-A Nұ0DAH̱0NPU.UԽؠN SBH DADAU MPUԯBɠUN+ HD5ABŠDAGNS--NDUN NDDBBԱ0 SBHKSנSUPPSSNN-ҠMSSAGS? MPNYSUNϠUV SBSKN DAA̷ DBAM SBY.ϬɠND5ABŠDAGNS MPNɠUNϠUV NؠDBBԱ SBHKSנHAԠAԠNDƠDAG? HHԠBYS MPSҠNϬPAԠAUMAAY HD5ABŠDAGNS--MMNSUBUNS HSSҠHKSҠVADYƠSԠD NNGUAN.A-GMUSԠNANS ϠBŠHKD.ƠVADUNϠ+. ƠNVADUNϠ+.VADS DSAŠ0-A. SPà HKNP B MPPAAB? MPNVYS NBN PBA00B0? MPHKɠYSVADS.UN+ MPMPN NVSZHK NP MPHKɠNVADS.UN+ SPà HSSҠHKSҠHAԠҠPNUN S.A-GMUSԠNANHŠDD HAԠNSUN. SPà N.H̠NP SAH DBBԱ5 SBHKSנHKS-GBԠ5ҠHA HؠNPDDHAԠSDH DBBԱ3 SBHKSנHKS-GBԠ3ҠP. MPSAVADɠP.UNϠPADDSS MPH̬ɠNϠP.UN+NNU SPà HSSҠSAVSHŠADDSSƠHŠUN SԠSϠHAԠSԠMAYAҠBŠPD NBYSNGS-GBԠ3. SPà SAVADNPPADDSSSDH MPSAVADɠUN+ SPà SHGSҠPNHK. HKSS-GANDUNSϠ+ ƠPNBԠSSԬҠϠ+ NԠS.B-GMUSԠNANMASK BԠϠBŠHKD. SPà HKSנNP ANPUԠS-G SASSUSŠN-S-G? DANSҠYS ANDN.MASKƠBԠϠBŠHKD SZASBԠS? MPHKS׬ɠYSUN+ SZHKSנNϬUN+ NP MPHKS׬ SPà HSSҠUNSϠ+ƠYSAVAAB ANDNԠSUPPSSDҠϠ+ƠN AVAABŠҠSSUPPSSD. SPà SKNP Ơ0DSABŠNUPS DBSK ADBA03ADD3ϠUNADDSS SBSB DANY SZAYAVA? MPSBɠNϬUN+ DBBԱYS SBHKSנYSUPPSSD? MPSBɠYSUN+ MPSKɠNϬUN+ SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBA0MDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD nNBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG SPà BASàNPA̠AS ANDA00 DBA BSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì A000Ԡ D0060Ԡ30060ASɠPS SPà ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN SHPBAɠADDSSANDAB MPNDUND NA MPSHNNUŠSAH NDADAàNMAZŠNUMB SAS DBBԱ SBHKSנYSUPPSSD? MPNHYS DASؠN DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHSZNԲAYA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DBHԠDDHAԠAB ADBS DBBɠDDHAԠNB SB DBBԱ SBHKSנҠHASSUPPSSD? SSYS ؠHԠ0NϬSϠHA MPҬ NԱNP NԲNPUNS SؠNP SBNP SPà BPNPPԠҠVASנG SBNҠANDAG MPBPɠUN+ DADAU SBY DADAN SBY DAYP SZBP SZASSMPU? MPBPɠNϬUN+ DASAVSҠYS 0.* SBYҠSŠSHG MPBPɠUN+ SPà NҠNPUN+ƠNϠPSD SAY DANY SZASS MPNҬɠYSD-N+ A SASAVSҠSAVŠSHG SZN MPNҬɠN+ SPà YҠNPUPUԠϠSנG A DBSAVS SBSS DBNS B SSBSS YHԠ0 SZY MPYҬ HD5DAGNS--MSSAGS SUP SMASàH.SAԠ5ABŠDAGNS S̠U+-SM-SM MASà9ű.HKҠDV.MM.NSSHD ASà0ϠAHH ̱U+-M-M MASàŲ.H-ADV.MM.NŠNԠKNG ̲U+-M-M M3ASà3.H-BDV.MM.NŠNԠKNG 3U+-M3-M3 MASà0Ŵ.H-AUPUԠNԠ.ϠH-BNPU. ASà0UԽ MAASà03 ASà0N MBASà03 ̴U+-M-M M0ASà0ű0.H-BUPUԠNԠ.ϠH-ANPU. ASà0UԽ M0AASà03 ASà0N M0BASà03 ̱0U+-M0-M0 MASà6H.ND5ABŠDAGNS ̷U+-M-M SPà AMUSԠDAVAABŠMMY SPà ND {0  24144-80001 A S 0122 MEMORY PARITY CHECK TEST             H0101  ASMBABì̬ HDHP59AMMYPAYHKDAGNS GB SPà MMYPAYHKDAGNS SPà SHGSҠHAASSҠPAN SPà BԠ0ƠSԬSԠNA̠S-G ƠSԬSԠNNA̠S-G BS-6SPAS BԠƠSԬPMPSԠS BԠƠSԬPMBɯϠS BS9-0SPAS BԠƠSԬSUPPSSA̠MSSAGS BԠSPA BԠ3SPA BԠSPA BԠ5SPA SPà NGUANAN00B PAҠSAԠAN00B PAҠSAԠAN0B PAҠSAԠANB SPà MPNԬɠPAҠNAZAN SPà G00B SPà MPS0ɠPAҠSAԠAN SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY SPà G0B àDƠNؠUVŠUNADDSS SPà G0B MPSұɠPAҠSAԠAN MPSҲɠPAҠSAԠAN SPà àABS- ҠDƠ+ҠNUMBҠAB DƠ0 DƠ05 DƠ06 DƠ0 DƠű0 DƠű DƠŲ0 DƠŲ DƠ30 DƠ33 DƠ35 DƠ3 DƠŴ0 DƠŴ DƠŴ DƠŴ3 DƠŴ5 DƠ5 DƠ5 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠŷ0 SPà HԠDƠDDHAԠAB HԠ0B HԠ05B HԠ06B HԠ0B HԠ0B HԠB HԠ0B HԠB HԠ30B HԠ33B HԠ35B HԠ3B HԠ0B HԠB HԠB HԠ3B HԠ5B HԠ5B HԠ5B HԠ56B HԠ5B HԠ60B HԠ6B HԠ6B HԠ63B HԠ6B HԠ65B HԠ66B HԠ6B HԠ0B SPà MɠDƠMSSAGŠADDSSAB DƠM0 DƠM05 DƠM06 DƠM0 DƠM0 DƠM DƠM0 DƠM DƠM30 DƠM33 DƠM35 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM5 DƠM5 DƠM5 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM66 DƠM6 DƠM0 SPà M̠DƠMSSAGŠNGHAB DƠ0 DƠ05 DƠ06 DƠ0 DƠ̱0 DƠ̱ DƠ̲0 DƠ̲ DƠ30 DƠ33 DƠ35 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴5 DƠ5 DƠ5 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠ̷0 SPà SԠDƠ+ABŠƠSԠDSϠB DƠH0 DƠHMDD DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH0 DƠH DƠH DƠH DƠDH ASԠDƠ- SPà MSGDƠ+SԠDŠMDDϠAS DƠP5A 'DƠP5A DƠP5B DƠP63A DƠP6A DƠP6A NDƠ- SPà MMNNSANSANDSYMBS SPà KZϠDà0 KNŠDà KϠDà KHŠDà3 KUҠDà SPà A000Ԡ A00Ԡ A000Ԡ00 D0060Ԡ30060ASɠPS P0000Ԡ0000 P00Ԡ00 HAԠ06000AGAP̠HA HBԠ0600BG HԠԠ0600AP̠HA H5Ԡ06005 HàԠ06000SDHANN PADNP AADNP A̠NP DHNP ϠNP NSҠNPNNA̠SHGS SPNP ̠Ԡ ɠDƠ+ Ԡ600AAGŠUN AU0AG BUBG MPPŠU5BMPANDPŠNUPԠNANŠG HU0B B6Ԡ00 BԷԠ00 BԸԠ00 BԱԠ000 MSK5Ԡ0 N3Ԡ-3 M3Ԡ-3 P000Ԡ000 SPà AԠSPA̠NSANS NԠ- N000Ԡ-000 K000Ԡ000 K3000Ԡ3000 K000Ԡ000 K5000Ԡ5000 DPԱԠ00000 DPԲԠ356 DP3Ԡ0 DPԴԠ555 SPà SKɠDƠSKNDԠADDSSS SBSBұɠNUPԠUN NԠDƠN S0DƠSA SұDƠDPN SҲDƠPA05 ҠDƠ ұDƠN ADDSDƠNP+ NDɠDƠND DAԠDƠDAA MPɠDƠMP SPɠDƠSP PɠDƠP30 ʱSB+ DƠʱ ʲSB+ DƠʲ 3SB+ DƠ3 ʴSB+ DƠPɱ0 5MP+ DƠPB0 ʷMP+ DƠ05 ʱ0MP+ DƠ+ ű0SBҬɠƠ5DDNԠNHBԠPŠN ʱMP+ DƠ+ űSBҬɠNUPԠN(MPԩ(BP ʲ0MP+ DƠ+ Ų0SBҬɠNUPԠN(M̩(BP ʲMP+ DƠ+ ŲSBҬɠNUPԠN(AAƩ(SZ(PH3 30MP+4 DƠ+ 30SBҬɠNUPԠN(BAƩ(SZ(PH3 ʴ0MP+ DƠ+ Ŵ0SBҬɠUNPDנPYN ʴ5MP+ DƠ+ SBSPɬ MPPɬ DAAAD DBP5A SBDAԬ Ŵ5SBҬɠADϠGNAŠGDPAY P06ADƠP06A P0ADƠP0A P0BDƠP0B P5ADƠP5A M00DƠM00 M00DƠ00 M0DƠM0 M0DƠ0 M0DƠM0 M0DƠ0 MɷDƠM MDƠ̷ BADPԠ00065 MPBKMPBAK BAKDƠPG0 DƠPG5 DƠPH05 DƠPH0 DƠPH5 SPà MMADƠ+MMYDAAAB ԠK ԠK Ԡ36K Ԡ0K Ԡ5K Ԡ6K Ԡ3K MMBDƠ SPà SAVŠSAGŠAAҠUNS SPà SAVŠU BSS SPà G650B SPà MPAYSAGŠAAҠUNS SPà MPU BSS5 HDNAZANPAYHKDAGNS G6000B SPà N DMNSMMYŠSZ NGUSHADA NGUSɯϠHANN NGUSMSSAGS NNA̠SHGSҠ(NSҩSADD USSBAS SPà NԠà5 à0 DAMMA N3DBA SBSH NA PAMMB MPŷ0 MPN3 ŷ0SBҬɠDSABŠADҠANDPSSUN MPN SPà SHNP SAMP+SAVŠADDSSUN SBA̠SAVŠŠSZ DAA̬ɠSAVŠŠANNN SBA̬ɠAMPԠϠDSYAN PBA̬ɠASŠKDU? SSN MPN5 SAA̬ɠSŠŠAN DAMP+ MPSH SPà N5A SA ANDA00BS0-5ƠHŠS-G SASAV SZASSSS-G0 Ԡ00NԬPASŠNҠɯϠH DBSԠMDYɯϠNSUNS SBSP ̠DBSPɠPP DABɠɯ ANDP00HANN ҠSAV SAB PBASԬɠNSHD? MP+3YS SZSP MP SPà DADHNVԠSԠDŠϠAS SBBAS SPà DBMSGMDYMSSAGSϠ SBSPSDɯϠHANN MDBSP SAB PBN MP+3 SZSP MPM SPà Ԡ00HADAŠNAZD SPà à5 A SANS SPà Ԡ00NGUANMP HDSAԠPAYHKDAGNS SA ADSAP̠HAS UPUSHADҠMSSAG USSƬSKY.ϬS SPà SAԠà5 à0 DBK DAHԠAP̠HA SAB NB NA PBA000AP̠HASMP? SSYS MP-5NϬPA SB SBSKɬ DAM00UPUԠHADҠMSSAG DBM00 SBY.Ϭ SBS ANDBԸƠBԸSԠBɯ SZASS MPPS SKP BASàɯ SSSDɯϠHANN USSҬSҬSKY SPà SԠABYϠSԠANDAҠHŠHANN̠AG SPà DAHAAP̠HAS DBHB H0SƠH HƠHAҠHANN̠AG HSSH SSƠDDNԠAҠAGҠSS HԠ50BAUSDSKPHAGA HƠH H3SàH 5SBҬɠSàNϠSKPHAGA HSƠH H5SàH SSSƠDDNԠSԠAGҠS 5SBҬɠAUSDSKPHAGS H0SƠH H6SSH HԠ53BSSNϠSKPHAGS SPà SԠABYϠNABŠANDDSABŠNUPԠSYSM SPà H0ƠH SƠ0NABŠNS Ơ0DSABŠNS SS0SNUPԠSYSMN? SSN HԠ5BƠ0DDNԠDSABŠNS Ơ0SS0AUSDBADSKP Sà0SNԠSYSMN? HԠ55BƠ0DDNԠDSABŠNS SƠ0Sà0ADϠSKP Sà0SNԠSYSMN? SSYS 56SBҬɠSƠ0DDNԠNABŠNS SƠ0Sà0AUSDBADSKP SS0SNԠSYSMN? 5SBҬɠSƠ0DDNԠNABŠNS Ơ0SS0ADϠSKP SPà SԠNUPԠAPABY SPà DASBSԠNUPԠAP SADH DAHAAP̠HAS DBHB HSàHSԠHANN̠ϠUS H9SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 60SBҬɠNϠɯϠNUP MP SPà NNPNUPԠSUBUN Ơ0DSABŠNUPS DAʱʱNUPԠUN SADH SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠN DANDDNUPԠUҠAԠH PAADDSԠMMAN? SS 6SBҬɠNUPԠADDSSSN :SBNHANGŠN SPà SԠN̠S SPà ҠDAʲʲNUPԠUN SADH DAHA DBHB HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NAB NPSHUDN NPNUPԠH SPà PSԠS SPà PSԠSBS ANDBԷƠBԷSԠPS SZASS MPNSH SBSKɬ DAM0 DBM0 SBY.Ϭ DAHA DBHB H3SàH SƠ0NABŠNS HԠ0B SPà PSSPSԬHNPSSUN SPà à5 HSSHSAGS? MP+N Sà0YSSNԠSYSMDSABD? 6SBҬɠPSԠDDNԠDSABŠNS MP̠YS Sà0 MP6 63SBҬɠPSԠDDNԠSԠAG MPGD 6SBҬɠPSԠDDNԠSԠAGAND MPGDDDNԠDSABŠNUPS ̠DA33NUPԠUN SADHɠHKҠAà0BYPS DAHA DBHB SƠ0NABŠNS NPSHUDNԠNUPԠH NP Ơ0 SPà GDà0àUNVYHNG DAH SADHɠSԠAP̠HA MPNSH SPà ʱNP Ơ0 65SBҬɠɯϠNUPԠAKDDN MPGDK. SPà ʲNP Ơ0 66SBҬɠà0DDNԠAҠɯϠN MPPSԠB SPà 3NP Ơ0 6SBҬɠPSԠDDNԠAҠN̠B MPGD SPà NSHSBSKɬ DAM0 DBM0 SBY.Ϭ SPà HԠ0BUNƠPҠANDMVŠPŠAD h0.*MP- SPà MVŠPAYҠAD s0  24144-80002 A S 0122 MEMORY PARITY CHECK TEST             H0101  SKP DPN ADSBADPAYDAANMMY SPà DPNNP DAN000SԠUPDDDAANMMY SASAV+ DADPԱ DBK000 SBDP05 DADPԲ DBK3000 SBDP05 DADP3 DBK000 SBDP05 DADPԴ DBK5000 SBDP05 DABADP SABADP DABADPA SABADPA DABADPB SABADPB DAN SASAV+ DBMP DAA DP0SAB NB SZSAV+ MPDP0 SPà HԠ03BUNƠPҠANDNSA̠PŠAD MP- SPà DP05NP SAB A NB SZSAV+ MPDP05+ DAN000NSHD? SASAV+ MPDP05ɠUN SPà NSA̠PAYҠAD HDSԠPAYHKDAGNS PA05 SSBԠ5ƠA-GSҠAҠA5NSUN PMSDYHAԠNPAY USS SPà PA05NP à5 DAʷ SAMPP A5HKBԠ5ƠVANG. SSAҠƠ 0SBҬɠBԠ5SSԠAҠPҠUNN SPà GNAŠPAYHA SPà H5ƠH H6SàH MP5 SƠ5NABŠPŠNUP DBMPPAYHAԠSHUDUҠH NP NP SPà PAҠNSUNSUN PSSPS-BSVŠPAYHAԠSAD PAŠSHSNPŠADDN(NԠMDũ PSSUNϠNNU SPà HSSH 05SBҬɠADHAԠNPAY à5 DAH5 SAMPP MPPB05 SKP PB05 SSPŠADSABYϠNUP HKSPAYҠADDSS USSҬSP SPà PB05Ơ0DSABŠNUP2S Ơ5 DA5SԠUPNUPԠNAN SAMPP DAMP NA SAPAD DAHA SƠ5 DBMP+SHUDNUPԠH NP NP SBSPɬɠPSUPPSSD? MPPB0YS DAPADPDADDSS DBP06A SBDAA 06SBҬɠPŠNUPԠNԠVD SPà PB0DAPADPDADDSSNA-GS DBKZ HԠ06BPŠNUPԠNԠVD SPà NUPԠSUB-UN SPà PB0à5 A5 SAAADAUA̠ADDSS SSASBԠ5ƠAàS? MPPB5YSHKNUPԠADDSS MPŴ3NϬUPUԠ PB5NP DA ANDB6MMYPԠAVAAB SZA MPP05NϬGϠϠNԠS DAAAD ANDMSK5 SAAAD PAPADPDADDSS MPP05ADDSSKPMNԠS SBSPɬɠPSUPPSSD? MPPB0YS DAAAD DBP0B SBDAANVԠϠAS DAPAD DBP0A SBDAA 0SBҬɠPŠNUPԠADDSSN MPP05 SPà PB0DAPADPDADDSSNA-GS DBAADAUA̠ADDSSNB-GS HԠ0BPŠNUPԠADDSSN SKP P05 SSABYϠNHBԠNUP SPà P05DAʱ0SԠUPNUPԠNAN SAMPP Ơ5 DBMP+S-SHUDNԠNUP NP MPPD05 SKP PD05 SSUNN(-MPԩ(BP SPà PD05DAʱ SAMPP SƠ5 DAA̬ɠS-SHUDNԠNUP MPP05 SKP P05 SSUNN(-M̩(BP SPà G6555B SPà P05NP Ơ5 D-Aʲ0GA̠NUPԠN(-M̩(BP SAMPP SƠ5 SBPű0S-SHUDNԠNUP MPP05 SPà Pű0NP MP-ɠUN SKP P05 SSUNN(-AA-BAƩ(SZ(PH3(BADPAY SPà P05NP Ơ5 DAʲ SAMPP AADA-GHVNPAY SƠ5 SZAS-SHUDNԠNUP NP SPà Ơ5 DA30 SAMPP BADB-GHVNPAY SƠ5 SZBS-SHUDNԠNUP NP SPà MPPG05 SKP PG05 SSUNNS(SZ(PH(SZ(PH(SZ(PH3 USS SPà NUPԠNPHASŠ SPà PG05NP DAMPBK SAMPP SƠ5 BADPAԠ03650S-SHUDNUPԠH NP 33SBҬɠNϠNUPԠN(SZ(PH SPà NUPԠNPHASŠ SPà PG0NP Ơ5 DAMPBK ADAKN SAMPP SƠ5 SZBADPɠS-SHUDNUPԠH NP 35SBҬɠNϠNUPԠN(SZ(PH SPà NUPԠNPHASŠ3 SPà PG5NP Ơ5 DAMPBK ADAK SAMPP SƠ5 SZMP+S-SHUDNUPԠH NP 3SBҬɠNϠNUPԠN(SZ(PH3 SKP PH05 SSPAYҠPYN USS SPà PH05NP Ơ0 Ơ5 DAʴ0 SADHɠɯϠNUPԠNAN DBMPBK ADBKH SBMPP HSàH HSƠH SƠ5 SƠ0GNAŠɯϠNUP BADPBԠ03650GNAŠPAY NPPŠNԠSHUDNHBԠɯϠN NP ŴSBҬɠNϠPŠҠɯϠNUPSVD SPà PH0hƠ0DSABŠɯϠNUP DBMPBK ADBKU SBDH SƠ0 NP NP ŴSBҬɠNϠɯϠNUPԠVD SPà PH5NP MPP05 SKP P05 SSPAYŠG SSADSABYϠDԠBADPAY HKSPAYҠADDSS SSADSABYϠGNAŠGDPAY USSҬSҬSP SPà SԠABYϠNUPԠNBADPAY SPà P05NP Ơ0 à5 DAʴSԠUPNUPԠNAN SAMPP DAM3 SAN3 DBP000 SBPAD P06SƠ0 SƠ5 DBBɠS-SHUDNUPԠH NP NP SBSPɬɠPSUPPSSD? MPP0YS DAPAD DBP06A SBDAA MP06PŠNUPԠNԠVD SPà P0DAPADPDADDSSNA-GS DBKZ HԠ06BPŠNUPԠNԠVD SPà Pɱ0NP Ơ0 à5 A5 SAAAD SSASBԠ5ƠA-GS? MPPɱ5YS Ŵ3SBҬɠPŠNDAҠBԠ5NԠS SPà Pɱ5NP DA ANDB6MMYPԠAVAAB? SZA MPPɲ0N DAAAD ANDMSK5 SAAAD PAPAD MPPɲ0HSADDSSSKYNԠN SBSPɬ MPPɱ6 DAAADAUA̠ADDSS DBP0B SBDAANVԠϠAS DAPADPDADDSS DBP0A SBDAA MP0PŠMMYADDSSN SPà Pɱ6DAPADPDADDSSNA-GS DBAADAUA̠ADDSSNB-GS HԠ0BPŠMMYADDSSN SPà Pɲ0NP DBPAD NB SBPAD fSZN3NSHD? MPP06NϬKPUPHŠHADK MPPɲ5YSAMS SPà SԠABYϠGNAŠGDPAY SPà Pɲ5NP à5 DAʴ5 SAMPPŠNAZŠNUPԠNAN DAM3 SAN3 DBP000 SBAAD Pɲ6SƠ0 SƠ5 DBBɠS-SHUDNԠNUP NP NP Ơ5 DBAAD NB SBAAD SZN3NSHD? MPPɲ6NϬYAGAN MPNDɬɠYSNAY SPà P30DAAADAUA̠ADDSSNA-GS DBKZ HԠ5BADϠGNAŠGDPAY SKP ND UPUSDAGNSàMPŠMSSAG USSSKY. SPà NDNP MPì NؠSB SBSKɬ DAM DBMɷ SBY.Ϭ HԠBDAGNSàHASBNMPD MPS0 HDSUBUNSPAYHKDAGNS SUBUNS SPà S SSHҠNNA̠ҠNA̠SHGSS SPà SҠNP AADS-G SA MP+ƠA0USŠNA̠S-G DANSҠƠA00USŠNNA̠S-G MPSҬɠUN SKP PSҠMSSAGS HŠUNADDSSSUSDϠKUPHŠADDSS NGHANDNUMBҠƠHŠҠMSSAG USSSPY. SPà ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN PBAɠADDSSANDAB MP+3UND NA MP-3NNUŠSAH ADAàNMAZŠNUMB SAS SBSPPSUPPSSD? MPNHYS SB DASؠN DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHSZNԲAYA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DBHԠDDHAԠAB ADBS DBBɠDDHAԠNB SB ؠHԠ0YSSϠHA MPҬ NԱNP NԲNPUNS SؠNP SBNP SKP SK SSҠPNUԠSN ƠBԠHANGŠUNBYHŠANS USSSP SPà SKNPHKSҠPNUԠSN Ơ0DSABŠNUPS DBSK ADBKHŠMDYUNADDSS SBSB SBSPPSUPPSSD? MPSBɠYSSKPPNU MPSKɠNϬԠANDPN SPà SP ƠYSNԠAVAAB-UN+ ƠYSSUPPSSD-UN+ ƠYSNԠSUPPSSD-UN+ USSS SPà SPNPHKSנGBԠҠP DBSPSUPPSSD NB DA ANDBԷ SZA MPSP SBS ANDBԱ SZA SPMPSPɠPSSUPPSSD-N+ MPBɠNԠSUPPSSD-UN+ SKP UPUSAAG-UNANDN-D ϠYPŠƠAVAABŠҠNԠSUPPSSD USSSKY. SPà ƠNP SBSKɬ DA DB SBY.Ϭ MPƬ SPà BAS A̠ϠASɠNVSN NY-BS0-5ƠA-GSҠNANϠA̠HAAS Ԡ-A-GSҠNANSϠASɠHAAS SPà BASàNPA̠AS ANDA00 DBA uBSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì SKP DAA NVԠA-GSҠϠASɠANDSŠNANNB-G ϠHAASAŠSDNAHƠHŠANS SANGAԠANNB-GS USSBAS SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBKϠMDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD NBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG HDMSSAGSPAYHKDAGNS MSSAGS SPà SUP M00ASà5MMYPAYHKDAGNS Ԡ006 00U+-M00-M00 M0ASà3H0.PSSPSԠANDUN Ԡ006 0U+-M0-M0 M0ASàH0.UNƠPҠANDMVŠPŠAD 0U+-M0-M0 M0ASà0.BԠ5SSԠAҠPҠUN-N 0U+-M0-M0 M05ASà905.MPUҠADϠHAԠNPAY ASà03 05U+-M05-M05 M06ASà06.PŠNUPԠNԠVDA ASà0ADDSS P06ABSS3 06U+-M06-M06 M0ASà60.PŠMMYADDSSN Ԡ006 ASàPDAUA Ԡ006 ASà03 P0ABSS3 ASà0 P0BBSS3 0U+-M0-M0 M0ASà0ű0.Ơ5DDNԠNHBԠPŠNUP ̱0U+-M0-M0 MASàű.GA̠NUPԠN(MPԩ(BP ̱& U+-M-M M0ASàŲ0.GA̠NUPԠN(M̩(BP ̲0U+-M0-M0 MASà3Ų.GA̠NUPԠN ASà0(AAƩ(SZ(PH3 ̲U+-M-M M30ASà330.GA̠NUPԠN ASà0(BAƩ(SZ(PH3 30U+-M30-M30 M33ASà633.NϠNUPԠN(SZ(PH 33U+-M33-M33 M35ASà635.NϠNUPԠN(SZ(PH 35U+-M35-M35 M3ASà63.NϠNUPԠN(SZ(PH3 3U+-M3-M3 M0ASàŴ0.PAYADADϠNHB ASàנPYNUP ̴0U+-M0-M0 MASà9Ŵ.PYS.NHҠPŠNҠɯ ASà0NUPԠVD. ̴U+-M-M MASàŴ.PYS.NϠɯϠNUP ASà05VD ̴U+-M-M M3ASà9Ŵ3.PAYҠNUPԠNDA ASà5BԠ5NԠSԠNPAY ̴3U+-M3-M3 M5ASàŴ5.PŠADADϠGNAŠGD ASà0PAYAԠADDSS P5ABSS3 ̴5U+-M5-M5 M5ASà65.SàDDNԠSKPHAG P5ABSS ASà03A 5U+-M5-M5 M5ASà5.SƠDDNԠSԠAG P5ABSS Ԡ006 ASà6ҠSàAUSDSKPHAG P5BBSS ASà0S 5U+-M5-M5 M56ASà56.SƠ0DDNԠNABŠNS ASàSà0AUSDBADSKP 56U+-M56-M56 M5ASà5.SƠ0DDNԠNABŠNS ASà0SS0ADϠSKP 5U+-M5-M5 M60ASà60.N0ɯϠNUP 60U+-M60-M60 M6ASà6.HŠNԠADDSSSNԠ 6U+-M6-M6 M6ASà96.PSԠDDNԠDSABŠNUPS 6U+-M6-M6 M63ASà563.PSԠDDNԠSԠAG P63ABSS 63U+-M63-M63 M6ASà56.PSԠDDNԠSԠAG P6ABSS ASàANDDSABŠNUPS 6U+-M6-M6 M65ASà965.ɯϠNԠAKNDGŠDDNԠK 65U+-M65-l640M65 M66ASà66.à0DDNԠAҠɯϠN ASà0B 66U+-M66-M66 M6ASà96.PSԠDDNԠAҠN̠B P6ABSS 6U+-M6-M6 M0ASàŷ0.DSABŠADҠANDPSSUN ̷0U+-M0-M0 MASàH.DAGNSàMP ̷U+-M-M AMUSԠDAVAABŠMMY ND A6  24145-80001 B S 0122 BCS RELOCATABLE LIBRARY (EAU)             H0101 $ ASMBҬB NAMAU.B ND ASMBҬB̬Ԭ NAMMMY HDBSMMYAANUNŠ(ש MMYAANUNŠ- SPà USSMAYBŠMADŠϠAAŠANDASŠBUS MHŠMMYAVAABŠAҠADNG. SPà .AA:ANGSUNŠ- (PSB.A. (P+(ƠDSNDD (P+-UN- SPà (AABU (BƠDSAAD(MAYBŠ(P+ SPà .ASŠBUҠϠAVAABŠMMY SPà (PSB.N. (P+(AƠBUҩ (P+(ƠDSUND (P+3-UN-(A̠GSSUNHANGD SPà 3.AҠ-UNA̠BUSNSԠHŠNGB ANYAANANGSUN: SPà A SA.. SPà ƠAUSԠҠABUҠƠNGHؠANNԠBŠD DUNGAGVNA̬UNSMADŠH: SPà (A0 SPà ƬHNBUҠUSD-(AVMM-SHSNSUNԠ AVAABŠϠNANABUҠƠHŠNGHUSD HNUNSMADŠH: SPà (A- (BMAMUMNGHBUҠHAԠHŠPGAMMAYAA. SPà ϠNDUԠHנAGŠABUҠMAYBŠAADUSŠHŠA SPà SB.A. Dà36 SPà BKSƠMMYAVAABŠҠUPUԠBUNGAŠNKDHUGH HŠSԠϠDSƠAHBK- SPà D-NGHƠBK D-ADDSSƠNԠBK(ҠƠHSSASԠBK SPà HŠAAҠ'ANSS'HŠUPPҠNDƠABKϠàAND SHNSHŠNGHƠHŠBKBYHŠӒAMUNԠ'ANSD' SPà3 NԠ.A..N... Ԡ.MM. SKP .A.NPNYPNԠϠAAŠMMY ASԠ.N.ϠNDAŠSAUS NԠU00BNUPԠSYSMAGADDSS. SàNԠƠHŠNUP ANAN:A. ƠNԠDSABŠHŠNUPԠSYSM. .ASA.N.SϠŠKMנHHҠϠUN DA..ԠNҠNԠHKNԠAG ŬSZASSƠZϠGϠNZ SBNԠHŠMMY DA.A.ɠGԠHŠNGHƠHŠUS SASAVBANDSAVŠ ADAAVMMHKϠSŠƠŠANV MASSANASZAHNҠHŠUS MPNNϠGϠAB ASԠŠAVA.NנϠ0 SASAV DBPNASAԠHŠSAHPH .ADA.N.HŠSԠDPN SZAƠNUPԠSYSASƠSKP SƠNԠUNNGNHŠNUPԠSYSM SBBADSԠASԠBUҠADDSS ƠNԠUNƠHŠNUPԠSYS PA.N.AS.N.NDDUNGHŠND? ŬNBSSNϠNMNԠBANDSKP MP.AYSGϠNZŠSAHP BU0000B"B"GSҠADDSSDNN. DBBɠGԠHŠNԠSGMNԠADDSS PBMƠHNNDƠSԠANDN MPʠMMYSϠ DABɠHKϠSŠƠHSSH ADASAVҠAGSԠNGHSϠA DABɠGԠHŠNGH MASZSԠNG(-AND SASAVҠAGSԠSϠAҠSAV ADASAVB̠ԠSASYHŠUS? MASSAƠZϠҠNGAVŠUSŠ MP.ASŠGϠYNԠN ADAMSBKAԠASԠDS ŬSSAAGҠHANUS? MP.AN-AAŠHŠBK ADAô(ANGH(ɩ-(ة SABɠSԠNנ(ɩ ADABBC(ABUҠADDSS MPSBUNϠUS SPà NAŬSSSԠAANDŠҠNVҠANY ʠAŠSԠAANDŠҠNϠŠN MPSBUN SPà .ADABɠSԠBUҠNGHϠPASS SASAVBHŠHŠBK AU00000B"A"GSҠADDSSDNN. SBABUҠADDSSϠA ŬNBSԠŠҠAPDUN DBBɠGԠHŠPNҠϠHŠNԠBK SZBADSPϠPNҠADDSSNAS SBBADɠBKANDSԠHŠPN SBDB.N.HKϠSŠƠHŠNUPԠSYS SZBASNAԠNY SƠNԠƠSϠŠSԠ DBAVMMSԠBҠ SZASSƠUSԠҠNנSԠϠMA DBSAVҠAVAABŠN MBSZSԠPSVŠANDƠUS DBSAVBSASDSԠϠNGH SZ.A.SPUNADDSS MP.A.ɠANDUN SPà .N.NPNYPNԠҠBUҠUN DA..ADHŠMMYASŠAG. SZASSHASMMYBNNAZD? SBNԠNϬGϠNAZŠMMY. DA.N.ɠ(AAUNBUҠ(ADة SAAD MANASԠNGAND SASAVASAV SZ.N. DA.N.ɠƠDSUND(ة ADAM SSA,) * II READ (,) * III WRITE () * IV READ () * * THE FIRST TWO STATEMENTS PROVIDE FOR FORMATTED * INPUT/OUTPUT, THE LAST TWO FOR BINARY INPUT/ * OUTPUT. A SPECIAL FORM OF THE TYPE II STATEMENT * IS FREE-FIELD INPUT. THIS IS SPECIFIED BY A STAR * IN THE FORMAT FIELD. * * IN ADDITION TO THE USUAL BASIC FORTRAN FORMAT SPE- * CIFICATIONS, THE FOLLOWING SPECIFICATIONS ARE RE- * COGNIZED: * * 1) Q-FORMAT: THIS CAN BE USED TO OUTPUT A CHARACTER * STRING WITHOUT EXPLICITLY SPECIFYING THE NUMBER * OF CHARACTERS. ITS FORM IS: * " " * * 2) FREE-FIELD INPUT: THIS ALLOWS FOR INPUT DATA * WITHOUT ANY PARTICULAR FORMAT BEING SPECIFIED. * * * * * * * * * * * * * * * * * * * * * * THE PROGRAM ITSELF CONSISTS OF THREE SETS OF * ROUTINES. THESE CAN BE CLASSIFIED AS: * * 1) THE FORMAT ANALYZER. THESE ROUTINES ARE RESPON- *  SIBLE FOR SCANNING THE FORMAT STRING AND PASSING * CONTROL TO THE CORRECT CONVERSION ROUTINE. * * 2) THE CONVERSION ROUTINES. THESE ROUTINES ARE THE * ONES THAT PERFORM THE ACTUAL CONVERSION BETWEEN * INTERNAL AND EXTERNAL REPRESENTATIONS. * * 3) THE COMMUNICATION ROUTINES. THESE ARE THE ROU- * TINES THAT ARE ACTUALLY CALLED BY THE FORTRAN * PROGRAM. THEY ESSENTIALLY DRIVE THE ROUTINES * OF CLASSES 1 AND 2. * * THE CALLING SEQUENCES ARE AS FOLLOWS: * * INITIALIZATION CALL: * * BINARY INPUT/OUTPUT * * JSB .BIO. (A=UNIT, B=0 FOR OUTPUT, 1 FOR INPUT) * * DECIMAL INPUT/OUTPUT * * JSB .DIO. (A=UNIT, B=0 FOR OUTPUT, 1 FOR INPUT) * DEF BUFFER (ONLY IF UNIT=0) * DEF FORMAT (=0 FOR FREE-FIELD INPUT) * DEF ENDLIST * * WHEN UNIT=0, THE FORMATTER WILL CONVERT DIRECTLY TO OR FROM * THE USER'S BUFFER. NO ACTUAL I/O WILL TAKE PLACE. * * CONTINUATION CALLS: * JSB .IOR. WILL CONVERT A FLOATING POINT NUMBER. * JSB .IOI. WILL CONVERT A FIXED POINT NUMBER. * JSB .RAR. OR .IAR. WILL CONVERT AN ENTIRE ARRAY, IN FLOATING * POINT OR FIXED POINT. (A=#OF ELEMENTS, B=ADDRESS OF FIRST * ELEMENT * * TERMINATION CALL: (USED ONLY FOR OUTPUT) * * JSB .DTA. * * * * * * * * * * * * * * * * * * * * *************************** * * * CONSTANTS AND VARIABLES * * * *************************** A EQU 0 B EQU 1 .177 OCT 177 USED TO MASK CHARACTERS BLANK OCT 40 ALPHABETIC COMMA OCT 54 E OCT 105 CONSTANTS ASCIA OCT 101 ASCII "A" F OCT 106 H OCT 110 I OCT 111 OCTAL OCT 100 @B PRECEDING A NUMBER IN FREE- * FIELD INPUT INDICATES OCTAL. .36 OCT 36 QUOTE OCT 42 " SLASH OCT 57 ..7 OCT 7 ..67 OCT 67 ....6 OCT 6 X OCT 130 K  OCT 113 ASCII K LPREN OCT 50 .4000 OCT 4000 RPREN OCT 51 PLUS OCT 53 MINUS OCT 55 POINT OCT 56 MONEY OCT 44 DOLLAR SIGN ($) CNTRL BSS 1 D13 DEC 13 D15 DEC -15 MIN2 DEC -2 MIN72 OCT -72 .12 OCT 12 BCR BSS 1 PAPER OCT 34000 TEST FOR PAPER TAPE. PBIT OCT 200 SET BIT FOR IOC. TENTH OCT 63146 FIRST 15 BITS OF THE NUMBER 0.1 ...60 OCT 60 SAME AS ASC ZERO MIN16 DEC -16 MIN1 DEC -1 BASIC OCT 400 ASC2B OCT 500 MIN5 DEC -5 NINE DEC 9 ...61 OCT 61 HIMSK OCT 174000 MIN4 OCT 177774 MIN3 OCT -3 TEMP1 BSS 1 TEMPORARY TEMP2 BSS 1 STORAGE FCR BSS 1 POINTS TO CHARACTER IN FORMAT DBLNK BSS 1 FLAG FOR SKIPPING BLANKS IN FMT DCOMA BSS 1 FLAG FOR SKIPPING COMMAS IN FMT BCRS BSS 1 USED FOR REMEMBERING BCR CCNT BSS 1 COUNTS WORDS/CHARS IN BUFFER RF BSS 1 FORMAT REPEAT FIELD COUNTER IO BSS 1 FLAG...=0 FOR OUTPUT, 1 FOR IN NEST BSS 1 COUNTS PAREN. LEVEL IN FORMATS. * INITIALLY -3, =-2 WITHIN FMT, * -1 IN INNER PARENS. RF1 BSS 1 REPEAT COUNTER FOR INNER PARENS RF2 BSS 1 USED TO RECALL REPEAT COUNT SKIPL BSS 1 FLAG SET TO AVOID A SPURIOUS RE- * TURN TO THE LIST OVTOG BSS 1 FLAG TO SAY WHETHER OUTBUFFER IS BOMBED PREN1 BSS 1 USED AS POINTERS TO PARENS IN PREN2 BSS 1 FORMATS. SIGN BSS 1 USUALLY INDICATES SIGN OF NUMBER W BSS 1 COUNTER OF W-FIELD WSAVE BSS 1 HOLDS INITIAL W FOR REPEATS D BSS 1 COUNTER OF D-FIELD DSAVE BSS 1 HOLDS INITIAL D FOR REPEATS BCNT BSS 1 COUNTS LEADING BLANKS FOR OUTPUT DT BSS 1 TEMP D FOR OUTPUT OVERFLOW MANTS BSS 2 EXPS BSS 1 EXPON BSS 1 EXPONENT PART OF NUMBER UNIT OCT 1 INPUT/OUTPUT UNIT BCTEM EQU TEMP2 TEMPORARY FOR OUTPUT MULT1 BSS 1 TEMPORARIES FOR MULT2 EQU TEMP2 MULTO ESIGN BSS 1 HOLDS EXPONENT SIGN SKIP BSS 1 FLAG FOR INPUT SKIPPING POST BSS 1 INPUT CONTROL INDICATOR CFLAG EQU MULT1 COMMA CHECK FOR FREE-FIELD INPUT ENDLS BSS 1 POINTS TO ENDOF CALLING SEQUENCE ARRAY BSS 1 USED BY .RAR. ALNTH BSS 1 AND .IAR. BFLAG BSS 1 =1 FOR BINARY I/O, 0 FOR DECIMAL STATT BSS 1 MANT BSS 2 MIN10 DEC -10 ...72 OCT 72 STXXX NOP BUFBN EQU 60 BUFLN EQU 67 BUFI BSS BUFLN BUFO EQU BUFI BINRY ABS -BUFBN-BUFBN BINRY RECORD LINGTH ASCRY ABS -BUFLN-BUFLN ASCII RECORD LENGTH ********************* * UTILITY ROUTINES * ********************* * * THE ROUTINES THAT HANDLE CHARACTER MANIPULATION USE * THE FOLLOWING ADDRESSING SCHEME: * THE ADDRESS OF THE WORD IS CONTAINED IN BITS [15:1] * AND BIT 0 IS EITHER 0 FOR THE CHARACTER CONTAINED * IN BITS [14:8], OR 1 FOR THE CHARACTER CONTAINED IN * BITS [6:0]. THUS, A STRING OF CHARACTERS HAVE AD- * DRESSES WHICH ARE SEQUENTIAL. FOR EXAMPLE, IF LOCA- * TION 1000 CONTAINS THE TWO CHARACTERS A AND B, THE * CHARACTER ADDRESS OF THE A IS 2000, AND THAT OF THE * B IS 2001. THE SINGLE BIT IS REFERRED TO BELOW AS * THE C-BIT. ******************************* BUF2A NOP * THE CHAR WHOSE LOCN IS IN B IS ******************************* PUT INTO A CLE,ERB POSITION ADDRESS AND SET E=C-BIT LDA B,I WORD CONTAINING CHARACTER TO A. SEZ,RSS IF E=0, ROTATE TO GET THE CHAR- ALF,ALF ACTER IN A[6:0]. AND .177 MASK OUT EXTRANEOUS BITS. JMP BUF2A,I RETURN WITH CHAR IN A. ******************************* A2BUF NOP * THE CHAR IN A IS PUT IN THE ******************************* LOCATION GIVEN BY B. STA TEMP1 SAVE THE CHARACTER SLB,INB COMPLEMENT THE LOW ORDER BIT ADB MIN2 OF B. JSB BUF2A GET THE OTHER CHARACTER IN THE ALF,ALF MEMORY WORD AND ROTATE TO HI END IOR TEMP1 MERGE THE OTHER CHARACTER. SEZ ROTATE IF ALF,ALF NECESSARY. STA B,I STORE THE NEW WORD. JMP A2BUF,I RETURN ******************************* FCHAR NOP * THE NEXT CHAR IN THE FORMAT IS ******************************* MOVED TO A NCHAR ISZ FCR ADVANCE FORMAT STRING POINTER. LDB FCR LOAD CHARACTER INTO A AND TEST JSB BUF2A FOR BLANK OR COMMA LDB DBLNK SKIP BLANKS IF DBLNK=1 SZB,RSS JMP *+3 DON'T SKIP BLANKS. CPA BLANK IF DBLNK=1 AND A=BLANK, GO GET JMP NCHAR ANOTHER CHARACTER. LDB DCOMA SKIP COMMAS IF DCOMA=1 SZB,RSS JMP FCHAR,I RETURN CPA COMMA IF DCOMA=1 AND A=COMMA, GO GET JMP NCHAR ANOTHER CHARACTER JMP FCHAR,I RETURN ******************************* OUTCR NOP * THE CHAR IN A IS PLACED IN THE ******************************* OUTPUT STRING. ISZ CCNT END OF THE BUFFER ? JMP OUTC1 CCA YES-- RESET CCNT AND RETURN STA CCNT JMP OUTC2 SET OVTOG TO SAY BUFFER IS BOMBED OUTC1 ISZ BCR ADVANCE BUFFER POINTER LDB BCR JSB A2BUF STORE CHARACTER IN BUFFER. CLA CLEAR OVTOG AND WERE OKAY OUTC2 STA OVTOG JMP OUTCR,I RETURN. ******************************* INCHR NOP GETS NEXT CHAR FROM BUFFER LDA CCNT IF CCNT=0 THEN SZA,RSS GET THE NEXT JSB DTA LINE. ISZ CCNT IF CCNT=-1 THEN SKIP JMP GETC CCA RESET CCNT TO -1. STA CCNT LDA POST IF BEGINNING OF NUMBER SCAN IOR FCR IN FREE FIELD INPUT, SZA,RSS RETURN TO END OF JMP ENDLS,I LIST. LDA BLANK OTHERWISE RETURN A BLANK. JMP INCHR,I GETC ISZ BCR IF CCNT<-1 THEN LDB BCR JUST .JSB BUF2A GET THE NEXT JMP INCHR,I CHARACTER DIGIT NOP * TESTS CHARACTER IN A FOR A DIGIT * * IF IT IS RETURN THE TRUE * * DIGIT IN A AND SKIP. ELSE * * RETURN THE CHARACTER AND ******************************* DON'T SKIP. LDB A PLACE THE CHARACTER IN B. ADB MIN72 CHARACTERS > '9' REMAIN POSITIVE SSB,RSS SKIP IF B NEGATIVE JMP DIGIT,I RETURN...NOT A DIGIT ADB .12 CHARACTERS < '0' REMAIN NEGATIVE SSB JMP DIGIT,I RETURN...NOT A DIGIT ISZ DIGIT BUMP RETURN ADDRESS LDA B PLACE THE DIGIT IN A JMP DIGIT,I ******************************* FINTG NOP * COMPUTES THE INTEGER IN THE FOR- * * MAT STRING. THE FIRST DIGIT ******************************* IS ALREADY IN A. CLB STB DCOMA DON'T SKIP COMMAS NOW FINT1 STA TEMP1 SAVE RESULT SO FAR JSB FCHAR GET NEXT CHARACTER JSB DIGIT CHECK FOR DIGIT JMP GOTIT END OF INTEGER LDB TEMP1 MULTIPLY RESULT SO BLS,BLS FAR BY TEN. ADB TEMP1 BLS ADA B ADD TO NEW DIGIT JMP FINT1 LOOP GOTIT CCB BACK UP FORMAT POINTER ADB FCR STB FCR LDA TEMP1 RETURN WITH JMP FINTG,I RESULT IN A ******************************* INT NOP * COMPUTES THE NEXT NUMBER IN THE ******************************* FORMAT STRING, FROM SCRATCH. JSB FCHAR GET ONE CHARACTER JSB DIGIT TEST FOR DIGIT JMP ERR1 NO DIGIT JSB FINTG GET THE REST OF THE INTEGER JMP INT,I RETURN ******************************************************************** HED FORMAT ANALYZER * * * THE FOLLOWING KSECTION IS THE FORMAT ANALYZER. CONTROL IN * * HERE IS GOVERNED BY THE CONTROL LOOP, WHICH EXAMINES THE * * FORMAT AND PASSES CONTROL TO THE VARIOUS CONVERSION ROU- * * TINES. SINCE TERMINATION OF THE I/O STATEMENT IS DETER- * * MINED BY THE CALLING SEQUENCE, EACH CONVERSION ROUTINE * * MUST CHECK THE LIST BEFORE PERFORMING A CONVERSION. THIS * * IS DONE BY CALLING A ROUTINE CALLED F2LST. THE SOLE FUNC-* * TION OF THIS ROUTINE IS TO HOLD THE ADDRESS FROM WHICH * * IT WAS CALLED, AND THEN TO GET BACK TO THE CALLING * * SEQUENCE. THE CALLING SEQUENCE WILL THEN PASS CONTROL * * BACK THROUGH THE COMMUNICATION ROUTINES (SEE ABOVE). * * EACH OF THESE CALLS A ROUTINE CALLED LST2F, WHICH GETS * * BACK TO THE FORMATTER BY USING THE ADDRESS LEFT AT * * F2LST. * * * ******************************************************************** RFCHK NOP CHECKS REPEAT FIELD FOR EXHAUS- ISZ RF TION. IF RF GOES TO ZERO, CON- JMP RFCHK,I TROL FALLS THROUGH TO FORMT. FORMT CLA,INA SET DBLNK AND DCOMA FOR SKIPPING. STA DBLNK STA DCOMA CCA FORM1 STA RF SET REPEAT FIELD AT ONE. JSB FCHAR GET THE CHARACTER AND TEST IT CPA E FOR TYPES JMP ETYPE CPA F JMP FTYPE CPA OCTAL TEST FOR OCTAL TYPE JMP OTYPE CPA K ALTERNATIVE OCTAL TYPE JMP OTYPE CPA ASCIA TEST FOR A TYPE JMP ATYPE CPA H JMP HTYPE CPA I JMP ITYPE CPA QUOTE JMP QTYPE CPA SLASH JMP INOUT CPA X JMP XTYPE CPA LPREN JMP LPTYP CPA RPREN JMP RPTYP JSB DIGIT LAST CHANCE JMP ERR3 UNKNOWN CHARACTER JSB FINTG GET THE REST OF THE NUMBER. CMA,INA,SZA,RSS JMP ERR3 JMP FORM1 ***************************************** * * * FOLLOWING ARE THE CONVERSION ROUTINES * * * ***************************************** IOCHK NOP A SWITCH ON THE VALUE OF IO. RE- LDB IO TURN TO P+1 FOR OUTPUT, P+2 FOR SZB INPUT. ISZ IOCHK JMP IOCHK,I HED X AND H SPECIFICATIONS ********************************** * XTYPE HANDLES X-CONVERSION * ********************************** XTYPE LDA BLANK IN CASE OF OUTPUT JSB IOCHK WHICH WAY? JMP XOUT OUT JSB INCHR IN RSS SKIP XOUT JSB OUTCR OUT JSB RFCHK TEST RF JMP XTYPE LOOP ********************************** * HTYPE HANDLES H-CONVERSION * ********************************** HTYPE CLA SET FOR NO STA DBLNK SKIPPING STA DCOMA HLOOP JSB IOCHK WHICH WAY? JMP HOUT OUT JSB INCHR IN ISZ FCR ADVANCE FORMAT POINTER LDB FCR JSB A2BUF PLACE INTO FORMAT HCHEK JSB RFCHK TEST RF JMP HLOOP HOUT JSB FCHAR GET A CHAR FROM STRING JSB OUTCR OUTPUT IT JMP HCHEK HED A SPECIFICATIONS * ATYPE HANDLES A-SPECIFICATIONS ATYPE CLA GET STA SIGN THE JSB WGET W-FIELD ALOOP JSB AOSET JSB IOCHK IN/OUT SWITCH JMP AOUT * A-INPUT AIN CLA INITIALIZE MANT TO ZERO STA MANT AIN1 JSB INCHR READ A CHARACTER LDB W FIGURE OUT WHAT TO DO WITH IT INB,SZB IF W NOT -1, ALF,ALF ROTATE IT IOR MANT PUT IN PREVIOUS RESULT INB STORE ONLY IF SSB,RSS W IS -2 OR -1 STA MANT ISZ W TEST FOR FINISHED JMP AIN1 NOT YET ATYP1 JSB $ASET JMP ALOOP * AOUT LDA MANT GET SYMBOL TO GO OUT LDB W GET W INB,SZB IF NOT -1 WE WANT THE ALF,ALF HIGH PART AND .177 ONE CHARACTER ONLY INB SSB IF NOT -1 OF -2 WE WANT LDA BLANK BLANK JSB OUTCR THERE IT GOES ISZ W ALL DONE YET JMP AOUT NOPE JMP ATYP1 END OF ASPECIFICATIONS * HED K SPECIFICATION *OTYPE HANDLES @ SPECIFICATIONS * OTYPE CLA GET STA SIGN THE JSB WGET W- FIELD OLOOP JSB AOSET JSB IOCHK IN/OUT SWITCH JMP OCOUT * OCTAL INPUT * CLA INITIALIZE TO STA MANT ZERO OCT1 JSB INCHR GET A CHARACTER STA B SAVE IN B IOR ..7 TEST FOR OCTAL DIGIT CPA ..67 JMP OCT2 IT IS ONE OCT3 ISZ W END OF THIS INPUT ??? JMP OCT1 NOPE OCT6 JSB $ASET YES--TEST FOR END OF SPEC JMP OLOOP * ADD NEW DIGIT IN * OCT2 LDA 1 GET OCTAL DIGIT BACK IN A AND ..7 REMOVE ASCII BITS LDB MANT REPOSITION PREVIOUS RESULT BLF,RBR ADA 1 ADD TO NEW DIGIT STA MANT PUT IT BACK JMP OCT3 * OCTAL OUTPUT * OCOUT LDA BLANK LDB W IS W GEQ -6? ADB ....6 SSB JMP OCT4 NO---OUTPUT A BLANK LDA MANT GET NUMBER CMB RAR,RAR POSITION OVER 2 FOR 16TH BIT CPB MIN1 ALR,RAR ALF,RAR ROTATE 3 INB,SZB DONE ROTATING???? JMP *-2 NOT YET, SON AND ..7 MASK OFF IOR ...60 ASCII BITS OCT4 JSB OUTCR THERE IT GOES ISZ W END OF VALUE? JMP OCOUT JMP OCT6 * END OF OCTAL SPECIFICATIONS AOSET NOP JSB WDSET JSB F2LST JSB IOCHK RSS JMP AOSET,I LDA MANT FOR OUTPUT WE HAVE LDB EXP TO REUNNORMALIZE ADB MIN16 THE INTEGER AOh<:6ST1 STA MANT INB,SZB,RSS JMP AOSET,I ARS JMP AOST1 $ASET NOP LDA .36 FOR INPUT, FOOL .IOR. STA MANT+1 BY SETTING EXPONENT TO 15 JSB RFCHK JMP $ASET,I <  24153-80002 C S 0122 RTE/DOS FORTRAN FORMATTER             H0101 > HED " SPECIFICATION ********************************** * QTYPE HANDLES "-CONVERSION * ********************************** QTYPE CLA SET FOR NO STA DBLNK SKIPPING STA DCOMA LDA FCR SAVE FCR FOR STA TEMP2 REPEATS QLOOP JSB FCHAR GET FORMAT CHARACTER CPA QUOTE CHECK FOR QUOTE JMP QUOT1 JMP FOR SPECIAL HANDLIG JSB IOCHK JMP *+3 JSB INCHR JMP QLOOP JSB OUTCR JMP QLOOP QUOT1 JSB RFCHK CHECK THE REPEAT COUNT LDA TEMP2 RESTORE FCR STA FCR AND JMP QLOOP LOOP HED PARENTHESIS MANIPULATION ******************************************************* * LPTYP AND RPTYP HANDLE THE PARENTHESIS MANIPULATION * ******************************************************* LPTYP ISZ NEST ADVANCE THE DEPTH COUNTER RSS JMP ERR2 IF TOO DEEP THEN TAKE GAS LDA NEST LDB FCR CPA MIN2 IF NEST IS -2 (OUTER PARENS) STB PREN2 THEN STORE FCR IN PREN2 STB PREN1 ALWAYS STORE IT IN PREN1 LDB RF SAVE RF IN STB RF2 RF2 FOR LATER RECOVERY STB RF1 AND RF1 FOR LOOPING JMP FORMT RPTYP LDA NEST IF NEST IS INA,SZA,RSS EQUAL TO 1 THEN JMP RPTY1 GO TO RPTY1 INA,SZA IF NEST NEQ -2 THEN JMP ERR2 TAKE GAS JSB F2LST RETURN TO THE CALLING SEQUENCE JSB DTA IF WE GET BACK, I/O THE RECORD LDA RF2 RESET RF1 FOR REPEATING STA RF1 THE FORMAT CCA SET SKIPL TO AVOID A SPURIOUS STA SKIPL RETURN TO THE CALLING SEQUENCE. LDB PREN1 IF PREN1=PREN2, THERE ARE NO CPB PREN2 INNER PARENS, SO LEAVE NEST LDA NEST ALONE. IF THEY'RE DIFFERENT THEN STA NEST SET IT TO -1. RPTY2 STB FCR RESET FCR TO PREN1 JMP FORMT RETURN RPTY1 LDB PREN1 ISZ RF1 IF RF1 DOESN'T GO TO ZERO, THEN JMP RPTY2 RESET FCR TO PREN1 LDA MIN2 OTHERWISE JUST SET NEST TO -2. STA NEST JMP FORMT *************************************** * INOUT HANDLES THE SLASH IN A FORMAT * *************************************** INOUT JSB DTA JSB RFCHK JMP INOUT HED NUMERICAL CONVERSIONS ******************************************************************** * THE NUMERICAL CONVERSIONS ARE ALL PERFORMED USING FLOATING * * ARITHMETIC. THE USUAL FLOATING POINT ROUTINES, WHICH WORK ON * * 23 BIT FRACTIONS, ARE BYPASSED IN FAVOR OF UNPACKED ROUTINES.* * THESE OPERATE ON 31 BITS AND THEREBY PROVIDE MUCH BETTER * * ACCURACY. THE ENTRY POINTS TO THE FLOATING POINT * * PACKAGE THAT ARE USED ARE: * * * * .FLUN UNPACK ROUTINE * * FLOAT FLOAT ROUTINE * * .PACK PACK AND ROUND ROUTINE * * IFIX UNFLOAT ROUTINE * ******************************************************************** * * * FOLLOWING ARE SOME UTILITY ROUTINES FOR OBTAINING THE W AND D * * FIELDS, AND DOING A FEW OTHER LITTLE THINGS. * * * ******************************************************************** WGET NOP JSB INT GET NUMBER IN FORMAT CMA,INA NEGATE. ADA SIGN =4 FOR E-FORMAT OUT, 0 OTHERWISE SSA,RSS IF NOT NEGATIVE THEN JMP ERR1 TAKE GAS. STA WSAVE JMP WGET,I WDSET NOP RESTORES W AND D. LDA WSAVE STA W LDA DSAVE STA D JMP WDSET,I WDFIX NOP INITIALIZES W & D. A=POSIT@IVE D. CMA -D-1 WDFX1 STA DSAVE SET DSAVE TO INCLUDE POINT CMA D ADA WSAVE D-W CMA,SSA W-D-1 JMP *+3 JUMP IF W=0, OVERFLOW LDA POINT CPB D PRINT A DECIMAL POINT. JMP OUTDP JSB GETDG GET THE DIGIT ADA ...60 CONVERT TO ASCII OUTDP JSB OUTCR ISZ W SKIP IF DONE JMP OUT15 ****************** GET 1 MORE DIGIT TO ROUND ********************* JSB GETDG ADA MIN5 ISZ OVTOG IF BUFFER IS BOMBED, FORGET IT! SSA SKIP IF DIGIT WAS 5 OR MORE JMP OUTP1,I ****************** ROUNDING SECTION ****************************** JSB WDSET RESET W SO WE DON'T BACK TOO FAR FAR LDB BCR GET THE LAST OUT11 JSB BUF2A CHARACTER OUTPUT. JSB DIGIT WAS IT A DIGIT? JMP OUTP9 NO. LDB BCR CPA NINE YES. WAS IT A NINE. JMP OUT10 YES. ******** SINCE THE DIGIT WAS < 9, WE JUST BUMP IT UP. ************* ADA ...61 JMP OUT14 OUT10 LDA ...60 CHANGE THE NINE TO A ZERO JSB A2BUF OUT12 JSB BACKB BACK UP BUFFER POINTER ISZ W TEST FOR BEGINNING OF FIELD. JMP OUT11 BUCKS LDA .OBUF PLACE $'S IN THE FIELD. RAL FIRST RESET CCNT CMA,INA BCR TO POINT AT THE ADA CLEN BEGINNING OF THE ADA BCRS FIELD. STA CCNT LDA BCRS STA BCR JSB WDSET RESET W LDA DT SSA,INA IF NEGATIVE, CAN STILL FIX JMP FIXIT LDA MONEY LDB WSAVE CMB,INB JSB MULTO JMP OUTP1,I FIXIT STA D SET D TO 1 LESS THAN BEFORE ISZ BCNT LDA MANTS LDB MANTS+1 RESTORE JSB STORM NUMBER LDA EXPS STA EXP LDA SIGN ADA MIN1 STA SIGN RESTORE SIGN JMP OFTRY TRY AGAIN OUTP9 CPA POINT WAS THE CHARACTER A DECIMAL PT.? JMP OUT12 NOTHING TO DO IF IT WAS. CPA BLANK WAS IT A BLANK? JMP OUT13 YES. REST IS EASY ******** OTHERWISErK IT HAS TO BE A MINUS. ************************ ISZ W CHECK W/ RSS CAN MOVE IT BACK. JMP BUCKS SORRY ABOUT THAT JSB BACKB JSB A2BUF ISZ BCR NOW PUT IN A '1'. OUT13 LDB BCR LDA ...61 OUT14 JSB A2BUF RSTRB LDA WSAVE PUT BCR BACK AT THE END OF THE CMA,INA FIELD. ADA BCRS STA BCR JMP OUTP1,I ******************************* BACKB NOP * SUBTRACTS 1 FROM BCR ******************************* CCB ADB BCR STB BCR JMP BACKB,I ******************************* MULTO NOP * OUTPUTS THE CHARACTER IN A THE * * NUMBER OF TIMEGIVEN BY B ******************************* CMB,INB SET B NEGATIVE SSB,RSS SKIP IF B WAS POSITIVE JMP MULTO,I RETURN IF B WAS 0 OR LESS STB MULT2 STORE THE COUNT STA MULT1 SAVE THE CHARACTER MULTL LDA MULT1 JSB OUTCR ISZ W ZERO NOP JUST IN CASE ISZ MULT2 JMP MULTL JMP MULTO,I ******************************* GETDG NOP * THIS ROUTINE MULTIPLIES THE NUM- * * BER BY 10 AND PEELS OFF THE ******************************* INTEGER PART. JSB MBY10 MULTIPLY BY 10 LDB EXP GET THE EXPONENT IN B CMB,INB AS NEGATIVE. AND HIMSK KEEP HIGH ORDER 5 BITS OF A RAL NORMALIZE TO BIT 15 SSB,INB ROTATE LEFT UNTIL EXP GETS TO JMP *-2 ZERO:THIS PUTS THE INTEGER IN A AND .177 GET RID OF THE OTHER STUFF STA TEMP1 LDB EXP NOW ROTATE BACK CMB,INB RAR SSB,INB JMP *-2 XOR MANT REMOVE THE INTEGER PART LDB MANT+1 NORMALIZE THE REMAINDER. JSB NORML LDA TEMP1 JMP GETDG,I NORML NOP NORMALIZES MANTISSA. SZA,RSS IF A=B=0, u640 SZB JMP NRML1 STA EXP SET EXP=0 ALSO. NRML3 JSB STORM JMP NORML,I NRML1 SSA,RSS IF SIGN OF A IS SET, JMP NRML2 CLE,ERA SHIFT RIGHT, ERB ISZ EXP BUMP EXPONENT & NOP JMP NRML3 RETURN NRML2 STA MANT SUBTRACT CCA ONE ADA EXP FROM STA EXP EXP LDA MANT AND CLE,ELB ELA SHIFT JMP NRML1 6  24153-80003 C S 0122 RTE/DOS FORTRAN FORMATTER             H0101 ? HED NUMERICAL INPUT CONVERSION ******************************************************************** * INPUT IS THE ROUTINE THAT DOES ALL OF THE INPUT CONVERSION. IT * * INCLUDES BOTH A FREE-FIELD SCANNER AND A FORMATTED SCANNER. * * FREE-FIELD IS INDICATED BY FCR=0. ALL CONVERSION IS DONE IN * * THE SAME WAY, REGARDLESS OF THE FORMAT TYPE. THIS ALLOWS REAL * * VARIABLES TO APPEAR AS INTEGERS, AND VICE VERSA. THE FORM OF A * * NUMBER IS AS FOLLOWS: * * * * * * * * ALL OF THESE ARE OPTIONAL, AND THE APPEARANCE OF THE FIRST * * SIGN, DIGIT, OR DECIMAL PT. DEFINES A NUMBER. ANY COMBINATION * * OF THE ABOVE IS LEGAL, WITH THE FOLLOWING EXEPTIONS: * * * * (1) AN INITIAL E IS IGNORED IN FREE-FIELD, AND IS ILLEGAL IN * * FIXED FIELD; * * (2) IF NO INTEGER PART OR FRACTION APPEARS (AND A SIGN OR * * DEC.PT. DOES), THE RESULT IS ZERO * * * * IN FIXED-FIELD INPUT, IF NO DECIMAL PT. APPEARS, THE RESULT IS * * MULTIPLIED BY 10**(-D). * * * * THE FOLLOWING SPECIAL FEATURES ARE INCLUDED FOR FREE-FIELD INPUT:* * * * (1) WHEN 2 CONSECUTIVE COMMAS APPEAR WITH NO DATA BETWEEN, * * THAT LIST ELEMENT IS SKIPPED. * * * * (2) WHEN A SLASH OCCURS IN AN INPUT RECORD, THE REMAINDER * * OF THE RECORD IS TREATED AS COMMENTS.  * * * * (3) IF A LINE TERMINATES WITHOUT A SLASH, THE INPUT OPERATION * * TERMINATES AND THE REMAINDER OF THE LIST REMAINS * * UNCHANGED. * * * * (4) WHEN A QUOTE APPEARS, THE FOLLOWING * * CHARACTERS IN THAT LINE ARE TREATED AS COMMENTS * * UNTIL ANOTHER QUOTE APPEARS. * * * * (5) ALL UNRECOGNIZED CHARACTERS ARE TREATED AS BLANKS * * * * (6) WHEN AN INTEGER IS PRECEDED BY THE CHARACTER "B", THE IN- * * TEGER IS INTERPRETED AS OCTAL. * * CONTROL WITHIN INPUT IS GOVERNED BY THE VARIABLE POST, * * WHOSE VALUE INDICATES HOW FAR THE NUMBER HAS BEEN * * SCANNED, AS FOLLOWS: * * * * POST = 0 : NUMBER NOT STARTED YET * * 1 : NUMBER STARTED, BUT NO DECIMAL PT. REACHED YET * * 3 : LAST CHARACTER WAS THE 'E' * * 4 : EXPONENT BEING PROCESSED * * * ******************************************************************** FFCHK NOP TEST FOR FREE-FIELD. IF NOT, JUMPS TO LDA FCR AN ERROR ROUTINE SZA JMP ERR4 JMP FFCHK,I INPUT NOP CLA INITIALIZATION SECTION STA SIGN STA ESIGN STA MANT STA MANT+1 STA EXPON STA EXP STA SKIP STA POST CPA FCR FREE-FIELD? RSS JMP INLUP STA W STA D FLIP ISZ W c CHECK FOR END OF FIELD WIDTH. JMP INLUP FINAL CLA FINL1 STA CFLAG LDA EXPON FINAL COMPUTATION OF NUMBER ISZ ESIGN COMPUTE EXTERNAL CMA,INA EXPONENT AS NEGATIVE LDB D COMPUTE D CONTRIBUTION. SSB POSITIVE MEANS A PT APPEARED, CMB NEGATIVE MEANS IT'S IMPLICIT ADA B FINAL VALUE OF EXP AS NEGATIVE SZA,RSS IF ZERO THEN WE CAN JMP INXIT SKIP THIS PART SSA IF POSITIVE WE HAVE TO MULTIPLY JMP BIGEX BY .1 , OTHERWISE BY 10 CMA,INA SET NEGATIVE TO COUNT STA EXPON JSB DBY10 ISZ EXPON JMP *-2 JMP INXIT BIGEX STA EXPON JSB MBY10 ISZ EXPON JMP *-2 INXIT JSB LODEM ISZ SIGN TEST THE SIGN JMP INBAK POSITIVE--NO SWEAT CMA TWO'S COMPLEMENT THE CMB,INB,SZB,RSS DOUBLE LENGTH INA NUMBER INBAK JSB .PACK NORMALIZE AND PACK THE RESULT. EXP BSS 1 JSB STORM JMP INPUT,I RETURN INLUP JSB INCHR *********** BRANCH TO THE ROUTINE THAT HANDLES THIS CHARACTER ***** LDB POST CPA SLASH JMP INSLS CPA COMMA JMP INCOM CPA PLUS JMP INPLS CPA MINUS JMP INMIN CPA POINT JMP INPNT CPA E JMP INE CPA QUOTE JMP INQUO CPA OCTAL JMP INOCT JSB DIGIT JMP INBLN ***** THE CHARACTER IS A DIGIT. WE FIRST SET POST AS FOLLOWS: ***** * POST=0 : POST_1 * * POST=2 : DF_DF+1 * * POST=3 : POST_6 * ******************************************************************** LDB POST SZB,RSS ISZ POST IF POST=0, SET IT TO 1 CPB ....2 ISZ D IF POST=2, BUMP D CPB ....3 Ob JMP INEX3 PROCESSING EXPONENT CPB ....4 JMP INEX4 PROCESSING EXPONENT ALF,ALF ALF,RAR STA TEMP1 JSB MBY10 MULTIPLY INPUT SO FAR BY 10 LDB EXP ADD DIGIT TO RESULT SO FAR SZB IF EXPONENT IS ZERO JMP INADD LDA ....4 SET UP EXP=4 AND STA EXP LDA TEMP1 NORMALIZE CLB INORM JSB NORML JMP FLIP INADD ADB MIN4 CMB LDA TEMP1 SET UP NUMBER FOR STB TEMP1 SHIFTS & STORE COUNT CLB INADL ISZ TEMP1 JMP INSHF ADA MANT CLE ADB MANT+1 SEZ INA JMP INORM INSHF CLE,ERA ERB JMP INADL INEX3 ISZ POST INEX4 LDB EXPON MULTIPLY EXPON BY 10 BLS,BLS ADB EXPON BLS ADA B STA EXPON JMP FLIP INCOM JSB FFCHK TREAT A COMMA ON INPUT CCA SZB IS POST=0? JMP FINL1 CPA CFLAG JMP *+3 DOUBLE COMMA STA CFLAG JMP FLIP STA SKIP SET TO SKIP INPUT ITEM JMP INPUT,I INPL2 STA ESIGN INPLS CPB ....4 IF POST=4 THIS IS ILLEGAL JMP ERR5 LDA ....4 SZB IF POST>0 THEN SET IT TO 4 STORP STA POST JMP FLIP INMIN CCA SET MINUS IN EITHER SIGN OR SZB ESIGN JMP INPL2 STA SIGN IF POST=0 THEN SIG_-1 JMP FLIP INPNT BRS HANDLES DECIMAL POINT SZB JMP ERR5 MEANS POST WAS 2 OR MORE STB D SET D TO ZERO LDA ....2 JMP STORP INE SZB,RSS HANDLES 'E' JMP INBLN IF POST=0 THEN COMMENTS ADB MIN3 SSB,RSS JMP ERR5 POST WAS 3 OR 4 LDA ....3 SET IT TO 3 JMP STORP INSLS JSB FFCHK CLA SET CCNT=0 TO FORCE A NEW RECORD STA CCNT TO BE READ NEXT TIME. INBLN LDB POST LDA FCR IF FREE-FIELD AND POST NEQ 0,  SZA,RSS GO TO FINAL ELSE GO TO FLIP. SZB,RSS IS POST=0? JMP FLIP IF SO, JUST GO ON. JMP FINAL INQUO JSB INCHR READ CHARACTERS UNTIL ANOTHER CPA QUOTE QUOTE IS READ. JMP INBLN INBLN JMP INQUO INOCT STA POST SZB IF POST WAS NON ZERO, TREAT AS A JMP INBLN+3 BLANK. STB CFLAG RESET CFLAG TO SAY NO COMMA. JSB FFCHK INOC2 JSB INCHR GET NEXT CHARACTER. JSB DIGIT CHECK FOR DIGIT. JMP INOC1 NO. LDB MANT GET PREVIOUS OCTAL RESULT. BLF,RBR SHIFT LEFT 3. IOR B MERGE WITH NEW DIGIT. STA MANT JMP INOC2 INOC1 LDB .36 SET EXPONENT TO SAY 15. STB MANT+1 CPA BLANK IF TERMINATING CHARACTER IS JMP INPUT,I OTHER THAN A BLANK, JSB BACKB BACK UP THE BUFFER POINTER CCB AND COUNTER. ADB CCNT STB CCNT JMP INPUT,I HED CONTROL SECTION ******************************************************************** * THIS FINAL SET OF ROUTINES ARE THE ROUTINES ACTUALLY CALLED BY * * THE FORTRAN PROGRAM. FOR EACH REAL VARIABLE, INTEGER VARIABLE, * * REAL ARRAY, OR INTEGER ARRAY, THERE IS A SINGLE CALL TO EITHER * .IO * .IOR.,.IOI.,.RAR.,OR .IAR.. THERE IS INITIALLY A SINGLE CALL TO * * EITHER .DIO. OR .BIO.. * ******************************************************************** .IOR. NOP USED TO INPUT/OUTPUT A REAL VAR- * IABLE. .IOR. IS CALLED FOR * OUTPUT WITH THE NUMBER TO * BE OUTPUT IN A & B. FOR IN- * PUT IT RETURNS WITH THE IN- * PUT VALUE IN A & B JSB BCHEK CHECK FOR BINARY JMP BINRL STA MANT JSB .FLUN STA EXP STB MANT+1  JSB LST2F JSB LODEM ISZ SKIP JMP .IOR.,I NO SKIP ISZ .IOR. SKIP AROUND THE ISZ .IOR. STORE JMP .IOR.,I BINRL JSB BNARY STA FCR STB A JSB BNARY STA B LDA FCR JMP .IOR.,I * .IOI. NOP USED TO INPUT/OUTPUT AN INTEGER * VARIABLE. .IOI. IS CALLED FOR * OUTPUT WITH THE INTEGER IN A. * FOR INPUT IT RETURNS WITH THE * INTEGER IN A. JSB BCHEK CHECK FOR BINARY JMP BININ JSB FLOAT JSB .IOR. JSB IFIX JMP .IOI.,I ISZ .IOI. JMP .IOI.,I BININ JSB BNARY JMP .IOI.,I .RAR. NOP CALLED FOR INPUT/OUTPUT OF A CMA,INA REAL ARRAY. STA ALNTH A=ARRAY LENGTH (>0) STB ARRAY B=ARRAY ADDRESS RARLP DLD ARRAY,I JSB .IOR. STB .IAR. JMP RAR1 RARL1 ISZ ARRAY SKIP RETUR ISZ ARRAY ISZ ALNTH JMP RARLP JMP .RAR.,I RETURN RAR1 JSB IOCHK JMP RARL1 OUTPUT LDB .IAR. DST ARRAY,I JMP RARL1 .IAR. NOP CALLED FOR INPUT/OUTPUT OF AN CMA,INA INTEGER ARRAY. STA ALNTH A=ARRAY LENGTH (>0) STB ARRAY B=ARRAY ADDRESS IARLP LDA ARRAY,I JSB .IOI. JMP IAR1 IAR2 ISZ ARRAY ISZ ALNTH JMP IARLP JMP .IAR.,I IAR1 JSB IOCHK JMP IAR2 STA ARRAY,I JMP IAR2 BCHEK NOP RETURNS TO P+1 IF BINARY, ELSE 2 STB TEMP2 LDB BFLAG SZB,RSS ISZ BCHEK LDB TEMP2 JMP BCHEK,I BNARY NOP HANDLES TRANSFER OF 1 WORD TO OR FROM THE STA TEMP1 BINARY BUFFER. STB .DIO. USED AS TEMPORARY ISZ CCNT TEST FOR END OF BUFFER. JMP *+3 NO. JSB DTA CALL FOR BUFFER IN/OyUT. JMP *-3 AND TRY AGAIN. ISZ BCR BUMP BUFFER POINTER. LDA TEMP1 RESTORE WORD TO BE OUTPUT. JSB IOCHK STA BCR,I OUTPUT LDA BCR,I INPUT LDB .DIO. JMP BNARY,I *************************** .DIO. NOP * THE INITIAL CALL TO THE I/O ROU- * * TINES FOR FORMATTED INPUT/ *************************** OUTPUT. STA UNIT STB IO SZA CHECK FOR UNIT=0. JMP DIO1 NO-IO TRANSFER. INA INTERNAL CONVERSION. STA CCNT SET CCNT=1. CCA GET BUFFER ADDRESS INTO BCR. ADA .DIO.,I ADA .DIO.,I STA BCR ISZ .DIO. DIO1 CLA STA BFLAG STA SKIPL LDA ASCRY STA CLEN BUFFER LENGTH = 134 CHARS SZB,RSS JSB WAITO LDA .DIO.,I GET FORMAT ADDRESS RAL,CLE,SLA,ERA TEST FOR INDIRECT (1 LEVEL) LDA A,I LOAD TRUE ADDRESS. RAL CONVERT TO A CHARACTER CMA,INA,SZA ADDRESS CMA STA FCR ISZ .DIO. GET THE END-OF LIST LDA .DIO.,I ADDRESS STA ENDLS LDA MIN3 STA NEST CCA STA CFLAG ISZ .DIO. SET UP LDA .DIO. THE RETURN STA LST2F ADDRESS JSB IOCHK JMP FORMT JSB DTA READ ALINE IF INPUT. LDA FCR SZA TEST FOR FREE-FIELD JMP FORMT FORMATTED I/O. JSB F2LST JSB INPUT JMP *-2 *************************** .BIO. NOP * THE INITIAL CALL TO THE I/O ROU- * * TINES FOR NON-FORMATTED *************************** INPUT/OUTPUT STA UNIT STB IO CLA,INA STA BFLAG LDA BINRY STA CLEN BUFFER LENGTH = 120 CHARS SZB,RSS JSB WAITO LDB IO SZB JSB DTA JMP &.BIO.,I OLDIO NOP ISZ OLDIO JMP OLDIO,I LST2F NOP CLA STA SKIP JMP F2LST,I F2LST NOP LDA BCR STA BCRS ISZ SKIPL JMP LST2F,I JMP F2LST,I * .DTA. NOP LDA UNIT SET UP STATUS CONTROL SZA,RSS IF UNIT=0, JMP .DTA.,I IGNORE CALL. JSB EXEC DEF *+4 DEF D13 DEF UNIT DEF STXXX LDA STXXX AND PAPER TEST FOR PAPER TAPE CPA .4000 IF TYPE = 1X CLA SIMULATE PAPER TAPE SZA CLA,RSS NOT PAPER TAPE. LDA PBIT ADA UNIT SET UP BASIC IOC CONTROL WORD TO IOR BASIC SAY ASCII INPUT. JSB BCHEK XOR ASC2B STA CNTRL JSB IOCHK NOW TEST FOR INPUT OR OUTPUT. JMP DTAO * INPUT SECTION * JSB IOCIN PERFORM IOC CALL. JMP .DTA.,I RETURN * OUTPUT SECTION * DTAO LDB CCNT GET NUMBER OF CHARACTERS/WORDS. SZB BINARY RECORD CONTINUATION? CMB JSB BCHEK IF BINARY, DOUBLE BLS COUNT. ADB CLEN PRODUCES CORRECT COUNT IF ASCII. STB OUTBL STORE AS # OF CHARS. OUTPUT. JSB BCHEK JMP *+3 DTAO1 JSB IOCOU PERFORM IOC CALL JMP .DTA.,I RETURN CMB,INB SET BINARY COUNT TO POSITIVE AND BLF,BLF POSITION AS HIGH CHARACTER RBR ALF,ALF ROTATE P-BIT TO SIGN SSA IF NOT ZERO, STORE AS STB BUFO FIRST CHARACTER IN BUFFER. JMP DTAO1 * DTA NOP PERFORMS A COMPLETE I/O OPERA- JSB .DTA. TION. JSB IOCHK JMP *+3 JSB WAITI INPUT WAIT JMP DTA,I JSB WAITO OUTPUT WAIT JMP DTA,I * WAITI NOP WAITS FOR INPUT LDB UNIT IGNORE SZB,RSS CALL IF JMP WAITI,I UNIT=0. JSB BCHEK BINARY OR ASCII? ARS BINARY--CONV?ERT TO WORD COUNT. CMA STORE AS NEGATIVE IN STA CCNT COUNTER. LDB .IBUF GET BUFFER ADDRESS JSB BCHEK BINARY ? JMP WTI3 YES RBL FOR ASCII SET BCR TO POINT TO WTI2 ADB MIN1 THE FIRST CHARACTER PRECEDING WTI4 STB BCR THE BUFFER. JMP WAITI,I WTI3 LDA CNTRL ALF,ALF SSA,RSS PAPER TAPE ? JMP WTI2 NO ISZ CCNT YES JMP WTI4 * INPUT ERROR * * WAITO NOP WAITS FOR OUTPUT TO BE COMPLETED LDA UNIT IGNORE CALL IF SZA,RSS UNIT=0. JMP WAITO,I WTO7 JSB EXEC DEF *+4 DEF D13 DEF UNIT DEF STXXX LDA STXXX AND PAPER CLB SZA CPA .4000 LDB PBIT STB CNTRL WTO1 LDA .OBUF SET UP BUFFER ADDRESS AND CCB LENGTH. ADB CLEN JSB BCHEK BINARY. JMP WTO6 RAL ADJUST BUFFER ADDRESS FOR ADA MIN1 CHARACTERS STA BCR STB CCNT JMP WAITO,I WTO6 BRS ADJUST LENGTH FOR WORDS. ADA MIN1 STA BCR STB CCNT LDA CNTRL ALF,ALF SSA,RSS TEST FOR PAPER TAPE. JMP WAITO,I NOT PAPER TAPE. ISZ CCNT IF PAPER TAPE, BUMP BUFFER ISZ BCR ADDRESS AND COUNTER. JMP WAITO,I RETURN IOCIN NOP INPUT CALL TO IOC JSB EXEC DEF *+5 DEF ....1 DEF CNTRL .IBUF DEF BUFI DEF CLEN RAL SSA JMP IOCIN+1 ALF,ALF EOF TO BIT 0 SLA,RSS EOF? JMP *+4 NO, JUMP LDB CLEN YES, DUMMY TLOG SSB SKIP IF + CMB,INB MAKE IT + LDA B JMP IOCIN,I CLEN NOP * IOCOU NOP OUTPUT CALL TO IOC LDA CNTRL CLEAR BIT 7 AND =B177577 FOR OUTPUT REQUESTS STA CNTRO JSB EXEC DEF *+5 DEF ..Z<:6..2 DEF CNTRO .OBUF DEF BUFO DEF OUTBL JMP IOCOU,I OUTBL BSS 1 CNTRO BSS 1 * ERROR SECTION * ERR1 JSB ERROR ....1 ABS 1 ERR2 JSB ERROR ....2 ABS 2 ERR3 JSB ERROR ....3 ABS 3 ERR4 JSB ERROR ....4 ABS 4 ERR5 JSB ERROR ....5 ABS 5 ERROR NOP LDA ERROR,I ALF,ALF ADA =A0 STA ER+4 LDB =B141 JSB .OPSY CHECK FOR DOS OR RTE SSA,RSS SKIP IF RTE JMP *+3 ELSE JMP IF DOS LDB 1717B ADB =D12 LDA 1,I STA ER+5 INB LDA 1,I STA ER+6 INB LDA 1,I STA ER+7 JSB EXEC DEF *+5 DEF ....2 DEF ....1 DEF ER DEF D15 JMP ENDLS,I ER ASC 8,FMT ERR END ɜ<  24163-80001 A S 0122 GENERAL PURPOSE REGISTER DIAGNOSTIC             H0101 _ ASMBABì̬ GNA̠PUPSŠGSҠDAGNS SANGA̠ADDSS00 HŠNGSHGSҠSNGS AŠUSDҠPGAMN BԠ0-HAԠAԠBGNNNGƠPGAM BԠ-HAԠAԠBGNNNGƠBASàS BԠ-SUPPSSSUPUUSMSSAGS BԠ3-PMBASàS BԠ-PMDAABUҠS MANPGAM G00B MP0B G05B DƠؠSԠAVA̠MMY G0B à0àNUPԠ SB̠NŠD DAM̱PN DBMADS SB0BɠMSSAG SB̠NŠD MP+ PDA+HAԠA DB+BGNNNG HԠ0ƠPGAM DBM6PPA DAHSAP SA+ DAHɠGA SA0BNUP SZ-M NAANY NBSZBDV MP- PSB̠NŠD DAM̲PN DBMADSND SB0BɠMSSAG SB̠NŠD DA̱V DBADS SB0BɠPY DAPHKSԠHAA ANDMSKҠVADY PAñVAD? MP+YS. MPPN. DAPHKSND AƬAƠHAA ANDMSKҠVADY PAñVAD? MP+YS. MPPN. AGNA DAPDUP ANDMSKGS SAADDҠADDSS DAP AƬA ANDMSK AƬAS ҠADD SAADDҠADDSSMP SBADN DABADGA̠NUP SASA0OAP SB DAM3PN DBMAD3HD SB0BɠMSSAG SB DA+HA DB+ϠS HԠS.G. AADMASK SADAMSKDAASNG DAM̴SԠS.G. DBMADҠDSD SB0BɠPGAMPNS SB P3DA+HAԠA DB+BGNNNG HԠƠBASàS PSBMDŠHKS.G. DAB3PM SASSBASàS? MPP5N. DABԲYS.SUPPSS SAMSSAGS? MP+6YS. SB̠N. DAM5PNԠS DBMAD5BASàS SB0BɠMSSAG SB SBBAԠPMBASàS DABԲSUPPSS SAMSSAGS? MP+6YS. SB̠N. DAM6PNԠSND DBMAD6BASàS SB0BɠMSSAG SB P5SBMDŠHKS.G. DABԴPMDAA SASSBUҠS? MPPN. DABԲYS.SUPPSS SAMSSAGS? MP+6YS. SB̠N. DAM̷PNԠS DBMADDAAS SB0BɠMSSAG SB SBDAԠPMDAABUҠS DABԲSUPPSS SAMSSAGS? MPPYS. SB̠N. DAM̸PNԠSND DBMADDAAS SB0BɠMSSAG SB MPP MADDƠ+ MSASàGNA̠PUPSŠGSҠDAGNS M̱Dà36 MADDƠ+ MSASà6ɯϠHANN? M̲Dà MAD3DƠ+ MS3ASà0SԠS.G.ҠDAABSϠBŠSD M3Dà0 MADDƠ+ MSASà?0SԠS.G.ҠDSDPGAMPNS M̴Dà0 MAD5DƠ+ MS5ASàBGNBASàS M5Dà6 MAD6DƠ+ MS6ASàNDBASàS M6Dà6 MADDƠ+ MSASàBGNDAABUҠS M̷Dà MADDƠ+ MSASàNDDAABUҠS M̸Dà ADDƠ+ PԠ0 ̱Ԡ HSSA0B HɠHԠ0B BADSBN M6Ԡ MSKԠ0 MSKԠ ñԠ60 NŠDAAGŠUN ̠NPNҠSUBUN SAASS SBBSAB AN BD SB0B DAASS DBBSAB MP̬ɠԠSUBUN ASԠ0 BSԠ0 MDŠSUBUN MDŠNPNҠSUBUN SAASSŠA AAHB SAB0MH AҠSHGS SABԱSAD AҠNϠH SABԲASԠSGNAN AҠPSNAND SAB3SDNH AҠSAGŠAN SABԴBANGSNAM DAB0HAԠA SABGNNNGƠPGAM? MPPYS. DABԱN.HAԠA SABGNNNGƠBASàS? MPP3YS. DAASN.SŠA MPMDŬɠԠSUBUN ASԠ0 B0Ԡ0 BԱԠ0 BԲԠ0 B3Ԡ0 BԴԠ0 ADDSSNUSNUN ADNNPNҠUN à0àNUPԠSYSM SBNUPUԠDUPؠG.ADD. SA0NϠSANSUNS SASA SASA SASA3 SBNUSAMŠҠSàج Sà0 SASñ SASò SAS3 SBNUSAMŠ"ҠSS SS0 SASS SASS SASS3 SASS SASS5 SASS6 SBNUSAMŠҠSà Sà0 SASñ SASò SAS3 SASô SAS5 SBNUSAMŠҠƠ Ơ0 SAƱ SAƲ SBNUSAMŠҠSƠ SƠ0 SASƱ SASƲ SAS3 SBNUSAMŠҠà à0 SAñ SAò SBNUSAMŠҠSà Sà0 SASñ SBNUSAMŠҠA A0 SAA SBNUSAMŠҠB B0 SAB MPADNɠԠUN NUSNSUBUN NUNPNҠSUBUN DANUɠPUԠADDSS ҠADDҠNϠNSUN SZNU MPNUɠSUBUN ADDҠԠ0ADDSSSAG BASàSԠUN BAԠNPNҠUN à0 SñSà0 DAò NASZA MP- à0 ƱƠ0 SƠ0NUPԠSYSMN BNAZ SBű SBŲBU SB3 SBŴ SB5 SB6 SBŷ SBű0 SBű SBű SBű3 SBű NB SSSS0AGS? MP+N. SBűYS.Ҡ NBNMNԠҠD SñSà0AGA? SBŲN.Ҡ NBYS. SƱSƠ0SԠAG SSSS0AGS? SB3N.Ҡ3 NBYS. SòSà0AGA? MP+N. SBŴYS.Ҡ NB ƲƠ0AҠAG SS3SS0AGS? MP+N. SB5YS.Ҡ5 NB S3Sà0AGA? SB6N.Ҡ6 NBYS. à0àNUPԠSYSM SòSà0àND DAòA NASZA MP-AG SSSS0AGS? SBŷN.Ҡ NBYS. SôSà0AGA? MP+N. SBű0YS.Ҡ0 NB ñà0AҠN SƲSƠ0SԠAG SƠ0NUPԠSYSMN NP NP DAK SASA0 SñSà0S NPNUP NPUY SBűҠ-AUŠϠNUP P6NB DABAD SA3SA0 SS5SS0AGS? SBűN.Ҡ NBYS. S5Sà0AGA? MP+N. SBű3YS.Ҡ3 NB à0àNUPԠSYSM DABUƠHKҠBU PDB0 SZBSS? MP+N. NBSZBSSNDƠҠBU? MP+YS. DB0ɠN. SAAS5PN SBҠU DAAS5 NAD MPP DAűNUP SZASS? MP+N. DAM̱0PN DBMAD0U SB0BɠMSSAG MPBAԬɠԠUN BUƠDƠ+ҠBU űԠ0SSUŠAҠ ŲԠ0SàASŠAҠ 3Ԡ0SSASŠAҠS ŴԠ0SàUŠAҠS 5Ԡ0SSUŠAҠ 6Ԡ0SàASŠAҠ ŷԠ0SSASŠAҠSà ű0Ԡ0SàUŠAҠSà űԠ0AUŠϠNUP űԠ0SSASŠAҠNUPԠS ű3Ԡ0SàUŠAҠNeNUPԠS ԠҠBUҠMNAN űԠ0GA̠NUP òԠ KMPP6 BASàSԠҠPNUԠSUBUN ҠNPNҠSUBUN SBBSSŠB DA SB.NUMPAKNUMBS SBMS9+PN DAM9U DBMAD9 SB0BɠMSSAG DBBSSŠB MPҬɠԠSUBUN BSԠ0 MAD9DƠ+ MS9ASà Ԡ0 M9Dà PAKϠASɠNUMBSSUBUN .NUMNPNҠSUBUN SAAS3SŠA AҬAҠMA AҠS ANDMSKNUMB Ҡñ AƬA SASŠ DAAS3MA ANDMSKSND ҠñNUMB ҠPAKHM SANϠB DAAS3SŠA MP.NUMɠԠSUBUN AS3Ԡ0 GA̠DUPؠGSҠNUPԠSUBUN NԠNPNҠSUBUN SAASS SBBS3AB DANԠPAK AƠS ANDMSK3 SB.NUMNUMBS SBASŠHM DANԠPAK AƬAƠSND A̬A̠ SB.NUMNUMBS SBA+SŠHM AƠPAK A̬A̠ASԠ SB.NUMNUMBS SBA+SŠHM ANA SAű DAASS DBBS3AB MPNԬɠԠSUBUN ASԠ0 BS3Ԡ0 MSK3Ԡ MAD0DƠ+ MS0ASà3ŠPGAMADDSS AԠ000 M̱0Dà3 DAABUҠSԠUN DAԠNPNҠUN à0àNUPԠSYSM S3SƠ0 A PSBDàUPUԠAHAA MAUPUԠS SBDàMPMN MAUPUԠH SBDàHAAҠAGAN NASZANMNԠHAA.0? MPPN. A0YS.HKBɠDVS SZASSANYS? MPDAԬɠN.ԠUN SAAS6YS. SB.NUMPAK SBMS3+9AG. DAAS6AND AƠS SAAS6ԠNH ANDMSK3 SB.NUMMSSAG SBMS3+ DAAS6 A A̬A SB.NUM SBMS3+ DAM̱3UPU DBMAD3 SB0BɠMSSAG MPDAԬɠԠUN DAAUԬNANDMPAŠSUBUN DàNPNҠSUBUN SAAS5SŠA AA0UPUԠA MP+5 òà0 DAM̱SS DBMADƠAG SB0BɠMSSAG SBMDŠHKS.G. DABԴԠDA SASSUN? MPDAԬɠYS. S3Sà0àN.ND DAòA NASZA MP-AG SS6SS0AGS? MPòN.PAԠNDNG BB0YS.ADDAA DAMASK ANDDAMSKUNANDBS SA DAAS5MASK ANDDAMSKUNANDBS PAUPUԠNPUԠ? MPP9YS. SBBSN. SAAS6 AƠPAK ANDMSK3UPU SB.NUMD SBMS+5AND DAAS6S AƬAƠԠNH A̬A̠ SB.NUMMSSAG SBMS+6 A A̬A SB.NUM SBMS+ DABS?0.*PAK AƠNPU ANDMSK3D SB.NUMAND SBMS+5S DABSԠNH AƬAƠ A̬A̠MSSAG SB.NUM SBMS+6 A A̬A SB.NUM SBMS+ DAM̱UPU DBMAD SB0BɠMSSAG P9DAAS5SŠA MPDìɠԠSUBUN BSԠ0 AS5Ԡ0 AS6Ԡ0 DAMSKԠ0DAAMASKSAG MADDƠ+ MSASà3AGAUŠNDAAS M̱Dà6 MADDƠ+ MSASàUPUԠNPUԠ M̱Dà36 MAD3DƠ+ MS3ASà0BɠҠ M̱3Dà0 ؠUAM ND ..0  24164-80001 B S 0122 4K SIO HP2767 LINE PRINTER DRIVER             H0101 # ASMBAB̬Ԭ HDSϠNŠPNҠDVҠ(HP6 G MP3 DƠNԠNAZANAN G0B DƠNPPGAMSAԯԠAN SPà KŠU0 SKP GK+6500B SPà NԠANGUŠHŠDV ANDA SA DAñM ANDP00AND ҠS SAHAH DAò ANDP00AND Ҡ SAHSàH DA3 ANDP00AND Ҡ SAH3SSH DAô ANDP00AND Ҡ SAHàH DA5 ANDP00 Ҡ SAH5 HԠBHNHA MPN SPà AԠ P00Ԡ00 ñA0 òSà0 3SS0 ôà0 5A0 SKP G06B ABSK+0B GK+55B SPà NPNPNY MANA SA SSAHAAҠUNԠҠMMAND? MPBDHAҠUN SAB DAAADYPAGŠ SZBSSSMMANDNŠSPAŠҠPG? UADAANŠSPA SBUAUPUԠAND MPNPɠԠDV SPà BDADAD0 SSASSHAҠUNԠ0? MPP+N DAD0YSSԠϠ0 MPNP+ PDBB B̬ŬSBBSBUҠADDSSND? MPPYSHNԠV HUԠDABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS BSAVŠHAAҠADDSSNB ANDA3 SAUAMPSAV ADAAM0 SSAHAҠ<0? MPѠYS ADAAM00N SSAHAҠ3? MP+3N ѠDAA00`  YSGԠSYMB SS DAUAPAŠHAA SBUAUPUԠϠPN NBNMNԠHAAҠADDSSAND ŬBSHBAKϠBUƠADDSS SZԠASԠHAAҠU? MPHUԠN MPUAYSPNԬSPAŠAND SPà UANPUPUԠHAASANDMMANDS SAMP H5A0 SZAPNҠNԠADYҠBUSY? MP-YS DAMP HA0 HSà0 H3SS0UPUԠMP? MP-NϬHANGNH Hà0YSADDHŠSNGAND MPUAɠԠNDY SPà AԠ AԠ A3Ԡ3 BU ԠNP D0Dà0 AM0Ԡ-0 A00Ԡ00 AM00Ԡ-00 MPNP ND   24165-80001 B S 0122 8K SIO HP2767 LINE PRINTER DRIVER             H0101 $# ASMBAB̬ԬìN HDSϠNŠPNҠDVҠ(HP6 G MP3 DƠNԠNAZANAN G0B DƠNPPGAMSAԯԠAN SPà N KŠU0000B Z KŠU30000B SKP GK+6000B SPà NԠANGUŠHŠDV ANDA SA DAñM ANDP00AND ҠS SAHAH DAò ANDP00AND Ҡ SAHSàH DA3 ANDP00AND Ҡ SAH3SSH DAô ANDP00AND Ҡ SAHàH DA5 ANDP00 Ҡ SAH5 HԠBHNHA MPN SPà AԠ P00Ԡ00 ñA0 òSà0 3SS0 ôà0 5A0 SKP G06B ABSK+0B GK+55B SPà NPNPNY MANA SA SSAHAAҠUNԠҠMMAND? MPBDHAҠUN SAB DAAADYPAGŠ SZBSSSMMANDNŠSPAŠҠPG? UADAANŠSPA SBUAUPUԠAND MPNPɠԠDV SPà BDADAD0 SSASSHAҠUNԠ0? MPP+N DAD0YSSԠϠ0 MPNP+ PDBB B̬ŬSBBSBUҠADDSSND? MPPYSHNԠV HUԠDABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS BSAVŠHAAҠADDSSNB ANDA3 SAUAMPSAV ADAAM0 SSAHAҠ<0? MPѠYS ADAAM00N %  SSAHAҠ3? MP+3N ѠDAA00YSGԠSYMB SS DAUAPAŠHAA SBUAUPUԠϠPN NBNMNԠHAAҠADDSSAND ŬBSHBAKϠBUƠADDSS SZԠASԠHAAҠU? MPHUԠN MPUAYSPNԬSPAŠAND SPà UANPUPUԠHAASANDMMANDS SAMP H5A0 SZAPNҠNԠADYҠBUSY? MP-YS DAMP HA0 HSà0 H3SS0UPUԠMP? MP-NϬHANGNH Hà0YSADDHŠSNGAND MPUAɠԠNDY SPà AԠ AԠ A3Ԡ3 BU ԠNP D0Dà0 AM0Ԡ-0 A00Ԡ00 AM00Ԡ-00 MPNP ND   24166-80001 B S 0122 16K S10 HP 2767 LINE PRINTER DRIVER             H0101 Z ASMBAB̬ԬìZ HDSϠNŠPNҠDVҠ(HP6 G MP3 DƠNԠNAZANAN G0B DƠNPPGAMSAԯԠAN SPà N KŠU0000B Z KŠU30000B SKP GK+6000B SPà NԠANGUŠHŠDV ANDA SA DAñM ANDP00AND ҠS SAHAH DAò ANDP00AND Ҡ SAHSàH DA3 ANDP00AND Ҡ SAH3SSH DAô ANDP00AND Ҡ SAHàH DA5 ANDP00 Ҡ SAH5 HԠBHNHA MPN SPà AԠ P00Ԡ00 ñA0 òSà0 3SS0 ôà0 5A0 SKP G06B ABSK+0B GK+55B SPà NPNPNY MANA SA SSAHAAҠUNԠҠMMAND? MPBDHAҠUN SAB DAAADYPAGŠ SZBSSSMMANDNŠSPAŠҠPG? UADAANŠSPA SBUAUPUԠAND MPNPɠԠDV SPà BDADAD0 SSASSHAҠUNԠ0? MPP+N DAD0YSSԠϠ0 MPNP+ PDBB B̬ŬSBBSBUҠADDSSND? MPPYSHNԠV HUԠDABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS BSAVŠHAAҠADDSSNB ANDA3 SAUAMPSAV ADAAM0 SSAHAҠ<0? MPѠYS ADAAM00N 1  SSAHAҠ3? MP+3N ѠDAA00YSGԠSYMB SS DAUAPAŠHAA SBUAUPUԠϠPN NBNMNԠHAAҠADDSSAND ŬBSHBAKϠBUƠADDSS SZԠASԠHAAҠU? MPHUԠN MPUAYSPNԬSPAŠAND SPà UANPUPUԠHAASANDMMANDS SAMP H5A0 SZAPNҠNԠADYҠBUSY? MP-YS DAMP HA0 HSà0 H3SS0UPUԠMP? MP-NϬHANGNH Hà0YSADDHŠSNGAND MPUAɠԠNDY SPà AԠ AԠ A3Ԡ3 BU ԠNP D0Dà0 AM0Ԡ-0 A00Ԡ00 AM00Ԡ-00 MPNP ND   24167-80001 1401 S 0122 BCS 2767 LINE PRINTER DRIVER             H0101  ASMBҬB̬Ԭ HDBSHP6(DAAPDUSNŠPNҠDVҬD.6 NAMD.6 Ԡ.BU NԠD.6.6 SPà3 D.6NP GAŠSSƠNԠBUSYSŠNP MPBUSY SAASAVŠԠADDSS SBUSҠANDUSҠADDSS SBGNԠSԠNŠNUMBҠNUN DAUSҬɠGԠUSԠD AƠSA ANDB3. MANASZASSSԠZ? MPAҠYS-(Aҩ NASZASSNϠSԠNŠ-(AD? MPàUSԠDŠ SAASAVSAVŠHŠUSԠD DAAɠGԠɯϠHANN ANDBANDNGU SAADDSAVŠHŠϠADDSS SPà NGUŠHŠDV SPà ҠBM SAB ҠB600 SASS ҠB00 SAS SASñ SASò ADAB00 SAB SAB SAB ADAB00 SA DAD.6ANSҠHŠUNADDSS SA.6ϠHŠNUPԠUN DASSSԠHŠ_AGϠNDAŠNN SAAG SASNGASϠHŠSAҠNנAG SAHAS SBSAŠGԠHŠSA SZASAVHKHŠUSԠD MPNҠN SKP ŠUNN SPà DAUSҬ SZUSҠGԠADDSS SZUSҠƠUS DBUSҠBU. NDҠDBBɠADHŠBUҠADDSS. B̬ŬSBBƠND MPNDҠADHŠNԠV. B̠SHԠҠHA SBBUƠADDSSNGANDS AƬA̠HKҠYMD ŬSSASSBԠ0S? MPNYNϻSKP SASSYSMNANGVN? MPMNϻUSŠNŠNSA AƬA̠YSPUԠԠGH ҠB0ADDAPŠMMAND ANDB YSԠA̬AANDMMANDBԠ(5 SAYSAVŠ SZUSҠGԠADDSSƠNGH DBUSҬɠGԠNGH SBSAVSAVŠHŠGNA̠NGH MBŬSSBNBANSMN MBŬNB-(HAҠ+ MBSZ B BAKSBHàSAVŠUN SBUSҠANDSAVŠ SSAYMD? MPנYS ADBDN. SSBSSMAؠƠ?(AS0HAҩ MPAAYYS DBDNϬSԠϠ MBNB MPBAK נADBDYMD SSBSSMAؠƠ?(AS0HAҩ MPAAYYS DBDNϬSԠϠ MBNB MPBAK AAYDBSAԬɠGԠHŠSAUSDҠ_HK BƬB̠HK BƠA SSBASԠM MPAנASԠM SSANϬYMD? MPHAұYMDŠ-UPUԠHA. SBSGSԠSAҠASԠMŠAG SZUSҠKNKNŠƠHŠNGH(SԠHAҠSN̩ SBHAGԠHŠSԠHA. MPNƠNϠHAҠDN PBPUSàPUSN̠N? MPHA0YSGϠDϠHŠN PBSAҠASAҠ(MAYB? MPSAҠGϠHANDŠASA PBBNKABANKPHAPS? MPHAҠYSUPUԠHA. PBSASHSASHPAHҠSNGŠSPA SS MPN DBBNKYSPAŠHBANK MPHAҠUPUԠ NϠMBNBNϬAUAŠMMAND ADBB0060ADDBAS PBSSPAàB0000SNGŠSPA MPHAҠYSUPUԠHA. SBASAVŠMMAND ANDSSPAàB0000MASKϠAPŠV PASSPAàAPŠV? MPUԠYS-UPUԠ DAAɠGԠHŠ+MDŠAG AƬAƠϠBԠ5 PBZϠA0MAYHAPS? MPDBSPàYSDBŠSPA SSASSƠNԠPUSMD ADBB-SUBAԠN MPUԠDϠUPU SPà AנSZSA DASAԬ SZASSAS_NSԠPSN? MPHAұYS B SBHASנSԠSH DBH SBH MA SAH ADAUSҠADDHŠPSNԠUSԠ NAHŠDNŠANDSAV SAUSҠԠҠHŠG HAұSBHAGԠHŠSԠHAA HA0UHAұ MPNNϠHAҠGϠMP MPUԠGϠMP SPà DBSPàDBSSPAàGԠSNGŠSPA SSAƠ+MD SBAMDSNDϠSNGŠSPAS MPSSPϠSŠSNDUSԠN SPà SAҠAŠSAһSԠH B00USA SASNGSAҠNנAG HAҠDBSGSAASԠMŠAG DAAɠPUSMDŠAG AƬAƠϠBԠ5 SBSSƠASԠMŠSNDHA SSASSҠƠPUSMDŠSNDASNGŠSPA MPHA0+MDŠSNDHAҠU SSPϠDBSSPAàB0000 UԠSSBSSHAAҠҠN? SZBUԠNMNԠHAAҠUN UԱSBAMDUPUԠMMAND DAADDɠGԠHɯϠAN SAAMDSAVŠ DBàSԠAP̠Ϡ SBADDɠϠA MUUԠSBHANϠGԠHAA MPAKYSHKҠ_BANKNG AŠSHSHŠASԠHA? PAHàNHŠBU? MPAKYSGϠSŠƠԠSANA NàSBAԠAԠҠHŠAG SZBU DABU PADUNҠ? MPNؠYSUSŠHŠNUPԠ PAD MPNؠHK PAD6AH MPNؠMUP PAD SS0+ MPB ANA'SԠHAAҠUN SABU NؠDAAMDSŠNUPԠNK SAADD MPUԱ BBPҠUԠPUԠHŠHA SòSàPҬàSAԠHŠNŠPN MPMUUԠDϠNԠHAA SPà AKDBSSHŠƠUNԠ0 PBHASנS_SHS? MPDNŠNϠ-DNŠGϠANUP SBHASנYS-AҠHŠSH DAHؠGԠBUҠUN SAHàSԠNUN MPMUUԠNNUŠUԠPU SPà AKPBAנHҠƠHý-SԠAN_. BŬSSԠAҠ-AҠANDSKP MPNàNԠ_NNU SBSAVZϠHŠNGHϠŠHAAS SZUSҠSHNHAAҠUNԠҠGBYN DNŠSBAGSԠ_AG SBAԠAԠҠHŠAG DAAMDS SAADDɠNUPԠNK DBYGԠYAG SZSSBSKPƠNԠYҠ_. MPNYGϠNSH DAAɠGԠ+MDŠAG AƬAƠϠHŠSGN MANAHANGŠSNSŠƠAG ҠSNGADDHŠSAҠNנAG DBHDGԠHDMMAND SZSSASAƠ+MDŬ_SNDHD NDBSSPAàSŠSNDSNGŠSPA NSBAMDUPUԠHŠMMAND SBSAŠGԠSAUS ANDBAҠBUSYBԠANDAGS AGSSҠNPƠ_HSM ҠB00SԠ_ASԠMŠAG SNGSSҠNPƠHҠASASAҠHSM ҠB00SԠHŠAG SASAԬɠSŠHŠSAUSD SZSAԠSPϠG DAUSҠGԠNϠANSMD DBSAVGԠHŠNGHMHŠUS MBSSBNBSZBƠNGAVŠҠZϠSKP MANASSNVԠϠDS MASSHAASH AS SSAZϠHAAS?(-? NAYSSԠϠZ UԠSAzSAԬɠSԠHŠG DA.6MVŠHŠUNADDSS SAADSԠNBUҠA DASSPN SAGAŠHŠBUSYGA SBSVNԠSAVŠUN SBSҠSҠHŠG. SB.BUҠDN!!!! ADDƠ.6 USҠUAD ANP SPà AԠNPUNŠϠAԠҠHŠAG SSSSPҠAGS? MPSSNϠGϠHKAGAN MPAԬɠYSUN SKP AҠDAAGԠHŠԠADDSSNA BUSYSAàHAҠƠBUSYҠA DABɠGԠHŠUS A ANDB3ANDMASK ŬSZAƠNԠAҠ(0 MPBԠHŠA DAìɠGԠHŠSԠD SZàSPϠHŠSAUS ANDBSAŠHŠSԠD SABS ҠBM SAB SAB3 ADAB00 SAò SAàNGUŠHŠAҠSN DABSҬɠSAVŠAP DB SBBSҬ B SBNҠSԠDAYUN B3BP SBSSBUSY? MP-NϬPD ANDAYSDAY ANDADAY SZNҠDAY MPB3ANDPA SABSҬɠSŠAP ààPҠAҠHŠPN BBPҠGԠSAUS DAìɠGԠHŠSAUSD ANDB300SPBUSYANDҠBSSԠYMϠSS SSBSBBUSYҠNԠADY? ҠB.0YSSԠҠB ҠB00SԠHŠSAҠASԠMŠAGϠPVNԠSNGŠSPA SAìɠSŠHŠSAUSD DABHKϠSŠƠANGUNԠPAN PAB ASSYSSKPUN MPD.6ɠNϬUN PAGAŠƠGAŠSPN(NԽ0 SSBSBҠPNҠSBUSYҠNԠADY MPNSSSKPHŠSNGŠSPA DAADDɠSAVŠHŠAP SAN DBàANDPAŠ SBADDɠHA BNB SBBUԠSԠHAAҠUN SBNNԠNMNԠNŠUN DBBSNGŠSPAŠMMAND BàBPҠSND SàSàPҬàSAԠHŠNŠPN NBSZBAԠҠHŠPANϠMP MP- òàPҠAҠN̠(NDDƠNUPԠSYSSƩ DAN SAADDɠSŠHŠAP NSSDBSSGԠHŠGAŠNSUN SBGAŠPNHŠGA MPD.6ɠUN SPà àNP BMB0 NҠNP SGNP BSҠNP SPà SҠNP DASAV ϠAҠHŠVנ""GS. SAAAS""S?SŠ"". SϠYSԠ"". DAASAV DBBSAV MPSҬ SKP NYŬSAAƠBԠBUԠNԠ0 MPNYS-NDDN DAAɠGԠPMYAG AƬAƠBԠ ŬSAS?ƠNԬSKPA̠ϠSA MSBSAŠYSASSUM ANDBGԠMDŠY ҠB0AND MPYSԠSԠUP SPà àBSSUSԠDŠ BDBHDBUSYDŠϠB ANA MPD.6 SPà SAŠNP DAA NA SASA DAA ANDB03.B03AҠHŠBUSYANDҠBS BBPҠGԠHŠPNҠSAUS ŬSSBSKPƠPNҠADY ҠB.0B0000 SASAԬɠSԠҠDYNAMàSAUS MPSAŬ SPà AMDNP SSBSSBԠ5S? MPBN BҬBҠYSGϠϠN̠D MPBԱ5SMUA BBPҠUԠPUԠHŠD SBSAŠGԠUNԠSAUS 7xSSBPNҠDN? MPҠYSSKPUPU SBSSPNҠBUSY? MPPѠN ҠB.0YSSKPUPU MP PѠA̬ASԠHŠBUSYB SASAԬ ASŠHŠBUSYGA SAGA SBS SñSàPҬàSAԠHŠNŠPN MP.6 SPà3 .6NP ààPҠNABŠҠPYNUPS. SAASAV SBBSAV AASSAVŠ""AҠBԠ0. SààSHŠVנ""GSҠS? NAYSԠA0. SASAV MPAMD SPà ҠDB.6HKҠPŠҠPSԠNUP PBD.6ƠUA̬HNPŠN MPҠGϠϠASŠ MPUԠPSԠNUPԠGϠϠNDSN SPà HANP DBBNKADBANK HASנSSNPƠ_PSS MPHAԠƠ_BANKNGSKPHAAҠH DABU ŬA DAA SZBU SZŬSSSKPƠҠHAҠANDSԠŽ AƬA ANDB3 SAB ADAAM0 ŬSSAHAҠ<0? MPSYS ADAAM00 ŬSSASSHAҠ3? SDBB00YSUPUԠSYMB HAԠSZHàUNԠDNHŠHAAS SZHAƠNϠHŠASԠNŠUNP+ MPHAɠUN SPà NҠDAUSҬɠGԠUSԠD AƬAƠGԠAND A̬A̠SA ANDB6SUBUNN(GNŠPYBԩ SZASSDYNAMàSAUS? MPàYSDϠUSԠDŠ ҠB0 SABNԠZϠSAVŠNB ҠB0060SŠBS0AND SAM DAAɠGԠHŠSԠDƠ NBSZBSSSԠ? MPSNM̠YSSԠNMA̠MD ŬNBSZBSSNϠ-SԠ6? MPBԸYS-SwԠYMDŠB ŬNBSZBSSSԠ5? MPBԷYSSԠHŠPUSMDŠB NԠB SBSNGSԠAGϠNHBԠSPAŠBŠNԠPN SBUSҠSԠUSҠϠZϠϠŠANSMSSNG SBASAVSԠAG.ϠUSԠAPD DAM ANDB SABSԠMMANDNB B̬BSԠHŠMMANDB MPNGϠMPԠHŠUS SPà BԸҠB00 SSSS BԷҠB00SԠBԠ(+MDũN BԠSAAɠHŠSԠDƠ MP+UNHASŠD SPà SNM̠ANDB0AҠ+ANDYMDS MPB SPà NDBBUƠGԠHŠBUҠADDSS ŬBADUSԠMADDSS DBBɠGԠMMAND SBMSAVŠD SSASSBԠ6YM MPNԠDϠMMANDUPU SBSAŠGԠSAUSD ANDB00MVŠYD SASAԬɠSAVŠ DAMGԠNנD ANDB ҠB0NVԠHGHDG ҠSAԬɠADDSԠƠD ҠSASAԬɠSԠN DAHDGԠASŠBUҠD MP.6ɠUN SPà BԱ5MBNBN̠DSMUA SBASAVŠPSSBŠADVANŠNŠUN ҠAM00MAKŠSUŠBԠ6SS SAԱSAVŠ SZBSSSԠZ? MPANYSDϠAAGŠUN ADBB6N SSBSSAAGŠN̠-6B? MPPYSGϠADVANŠNS MBNϬAUAŠPSSB ADBABANHϠAPŠN̠SM. SBASAVŠADDҠҠBUNDSHK MANA ADAANDDDŠNDؠUԠƠAB? SSA MPPYSASAYAAGŠN DAUNԠNϬGϠNϠAPŠSMUA MANAAB DBB MPB > SPà ADƠ+ DƠNN0NŠNŠSPAŬAUϠPG DƠDBNNŠSPAŬAUϠPG DƠPN3NŠSPAŬAUϠPAGŠ DƠHPG3HAƠPAGŬAUϠPG DƠPGPAGŬAUϠPG DƠSPG56PAGŬAUϠPG DƠBPG6BMƠPAGŬAUϠPG DƠPGԠPAGŠ ANDDƠ- SPà PNADABPŠN SSA MPPGԠPAGŠԠƠNŠҠ DBB3NŠ< MPNDN HPGADAB36HAƠPAGŠSKP SSA MPPGԠPAGŠԠƠNŠ36 MA MPԲ PGADAB55UAҠPAGŠSKP SSA MPPGԠPAGŠԠƠNŠ55 DBB MPNDN SPGADAB6SHPAGŠSKP SSA MPPGԠPAGŠԠƠNŠ6 DBB NDNDAUNԠDMNSNUMBҠƠNS MANASKP-ADDҠNB ADAB SSA MP- MA MPԲ BPGADAB3BMƠPAG SSANŠ? DAB3YS MAN MPԲ PGԠANAPAGŠ SAUNԠSԠNŠUN DBB MPB ANDBB5AҠUN MPB DBNDAUNԠDUBŠNŠSKP SA MPNNSPAŠN DAB-SPAŠ SS NNANŠNŠSPA ԲSAԱSԠNŠSPAŠUN PDAAMDNŠUPUԠP SAԲ DADADDSSƠUN(DPN SAAMDDҠϠSAYNHSP DPSBNNԠNMNԠNŠUN ANA SABUԠSԠHAAҠUN DBBSNGŠNŠSPA SZԱSHSHŠASԠN? MPBN DAԲYSSԠUNADDSSN SA<:6AMDDҠϠAVŠHSP MPB SPà SVNԠNPSŠUNԠNUPMNԠAB DBUNԠBS-9(ط BƬB B DAA ANDB00 ҠB SAA MPSVNԬ SPà GNԠNPHUNԠMUPMNԠAB DAA AƬA A̬A ANDB SZASSSHSHŠVYSԠUS? NAYSSԠUNԠ SAUN MPGNԬ SPà NNԠNPNMNԠNŠUN DAUN NA PAB5 ANASԠNŠUN SAUN MPNNԬ SPà3 AU00B BU0B SPà ASAVNP BSAVNP SAVNP B03.Ԡ03 B6Ԡ00006 BUNY B00Ԡ00000 B3Ԡ000003 B.0Ԡ00000 B00Ԡ0000 B00Ԡ00000 B0Ԡ00000 BNK SASHԠ5ҠSASHPAH SAVNP MUSAV BUƠNP HàNP HؠNP SAԠNP ZϠԠ0000 PUSàԠ000053 AנԠ3 HDԠ00000 ADDNP PҠU0 PҠU0 SSPAàABS0000B YNP SAҠԠ00005 B00Ԡ00000 UNԠNPNŠUN DDà DDà D6Dà6 DDà BUԠԠHAAҠUN ԱNP ԲNP DDƠDP AM0Ԡ-0 AM00Ԡ-00 SPà ND 7<  24168-80001 1419 S 0122 DOS DVR12 - 2767A LINE PRINTER             H0101  ASMBҬB̬ HDDS6SUPҠNŠPNҠDVҠ!N  24170-80005 C S 0122 RTE/DOS FORTRAN IV MAIN CONTROL             H0101 q UPUԠD NPU:(ADϠBŠUPU (BNDDƠM ҠANNDAҠNHGHD SGSUŠAG(SUŬ0DAA 00NP SA0נSAVŠ(A SBԱנSAVŠ(B DA PA0SHSMNANGSUŠ? MP״0YS PA00SHSANנADà? MP30YS 0DAPBPԠPBUƠDP ADAKM50 SSASSPBPԠ..50 MPױ0 0DANҠN.ƠDSND SZA MP3DD DASGSUŠ? SZA MP3YS DAKM59-59 ADAPBPԠPBUƠDP SSADSHSSҠS̠HAVŠM? MPױYS 06A DBPBP ADBK(BA(PBUƩ+PBP SABɠSŠNDƠSҠMAK SBSS00SAVŠAKSҠ 0SBS00UPUԠS DASGSU? SZA MP35YS MPױN ױ0DASNNMNԠϠSҠN. NA PASNN.ƠSSPҠAK SSYSASԠSҠƠAK MP0N SBSS00SAVŠAKSҠNS. SBAK00USԠҠANנAK DAKNNנAKN. SAPBU+6 DASNƠSSPҠAK SAPBU+6 DADSàGA̠UNԠ SAPBU+63 A DBPBP ADBK'DƠPBU' SABɠNDƠSҠNDA SBS00UPUԠASԠSҠƠAK SASNSN0 MP0+ ױANA SANҠNҽ DBPBPԠPBUƠDPN SBPԠDNGHPN NB ADBK DAϠADAN SABɠPBU(PBP+ NB DAADNADD-N SABɠPBU(PBP+ADN DAPBP ADAK3 SAPBPԠPBPԽPBP+3 ADAK SAPҠDұҲ3Ҵ5AN A SANϠҠNUMB SZPBPԠPBPԽPBP+ DAN ADAK3 SANҠNҽN+3 DA PA00DYPŽNנADAN? ؠMP00ɠYS ױ6DANϠDN. AS ADANϠ(A3N DBҠDYP MANA SAԴנԴ-(N.ƠSHSƠҩ SZASS MPױ9 ױU GA̠SHԠ(BAGHԠ(SҠ ŬB A SZԴנSHԠMPŠ? MPױN ױ9BSS0 DAN ADAK DAAɠ(AMB(Nϩ ANDPҬ ҠB(BSHD SAPҬ SZNϠNϽN+ DAKM5 ADAN SSA MP36NϠ..5 A SANϠNϽ0 DBK ADBPBP DA0 SABɠPBU(PBPԩNY(A SZPBPԠPBPԽPBP+ DA PAұ0MMYNŠ? MPײYS ײ0SZN DAPBP ADAK SAPҠDұҲ3Ҵ5AN B SBAɠ(Pҩ0 SZPBPԠPBPԽPBP+ DAPBP MANA ADAK5 SSA MP״PBPԠ.G.5 SZNҠNҽN+ ײSZP̠P̽P+ DAK DBP SSB SB00P̠V SZADNADNADN+ ײDAKM6 ADAPBPԠPBUƠDP SSA MPؠPBPԠ..6 SBSS00SAVŠAKSҠ SBS00UPUԠS MPؠ ұ0Ԡ0000MMYN KDà :KM6Dà-6 ײNB DAԱ SABɠSŠNY(B SZPBPԠPBPԽPBP+ SZNҠNҽN+ MPײ0 30DA0 SAϠNנADAN A SAADNADN0 PANҠƠDSNPVUSD MP0 DANϠƠ'S SZA MP3 A ADAN SANҠNҽN- A ADAPBP SAPBPԠPBPԽPBP- 3U SBSN00SŠƠDSND MP0 3DASGSUŠNMAN? SZA MP36YS DAPBPԠPBUƠDP PAK63 SS MPױ6 DA PAұ0MMYN? MP06 MPױ6N KM6Dà-6 3DAKM6 ADAPBPԠPBUƠDP SSASS MP06PBPԠ.G.6 35U DAKK3B0000 SANҠN.ƠSUŠDSND DAPBP SAPԠSAVŠ.ҠSNGN SZPBPԠPBPԽPBP+ 36DBK ADBPBP DA0נNY(A SABɠPBU(PBPԩ0 SZPBPԠPBPԽPBP+ SZNҠNҽN+ DASGSUŠNMAN? SZAN MPײYS DA PAұ0MMYNŠ? ASS MPײ SAҠҽ0 DAԱ SA0נ0Ա MP36 ״0SBSN00SŠDSNUNԠSUŠ MPײ ״DAK6 SAPBP MPײ KK3Ԡ0000 K63Dà63 K6Dà6 0נBSSSAVŠNY(A ԱנBSSSAVŠNY(B ԲנBSSSAVŠAKN. 3נBSSSAVŠSҠN. ԴנBSS-(N.ƠSHSƠҩ KDƠMB.Ơ-MASKAB NҠBSSN.ƠDSND NϠBSSҠNUMB PҠBSSDұҲ3Ҵ5AN ϠBSSADAN SAVŠAKSҠNUMBS SS00NP DAKNAKN. SAԲ DASNNMNԠϠSҠN. SA3 A MPSS00 UPUԠSҠ NPU:ԲAKN. 3SҠN. S00NP DASGSUŠ? SZASSYS MPS05N A PAK-(ƠSUŠDSMANDD MPS03A̠DNŠHHSD DAN SZASS MPS03 Ҡ00 SAN S03U SBSN00SŠDSNUNԠD S0U DADSàGUNԠ ADAB500 SAND SBàANSҠN̠Ϡ DƠ+PNԠƠUNM DƠKŠUS DƠNDN̠NMAN KDƠPBU DƠK6BUҠNGH DƠԲנAKN. DƠ3נSҠN. A SAPBPԠPBPԽ0 SZSNSNSN+ MPS00ɠ S05PANҠ(A0 MPS0Nҽ0 MPS03 B500Ԡ500 NDԠ50ŠϠDSàNBNAY SŠDSND SN00NP DBPԠDNGHP ADBKA(PBUƩ DANҠN.ƠDSND SABɠPBU(PԩN ANDB3 ADAP SAP A SANҠNҽ0 SANϠNϽ0 MPSN00ɠ AAŠAAK  AK00NP SBàANSҠN̠Ϡ DƠ+6PNԠƠUNM DƠKUSԠD DƠKN.ƠNGUUSAKSUD DƠKNSAԠAKN. DƠDSàGA̠UNԠN. DƠSNN.ƠSSAK MPAK00 PNԠSUŠNŠ NY:(ABUҠAN(ҠY((A(A-HSũ (BN.ƠDSϠBŠPND(ҠY(SŠSZ(B PS00NP SBPB̠SŠN.ƠDSϠBŠPND DBUDMDYSԠN̠D ADBAҠNϠANG SBS DBUNDG.UNԠƠSԠDV SZBSS MPPS0YUPU SZPB̠NMNԠDSBŠPNDBY ADAKM(A(A-(PNԠàҠPNҩ DBKK06BANKS SBAɠSŠNϠSԠϠDSƠBU PS0SAPS0SŠBUƠàNϠàA DAPNS-PNԠAGSԠ? SZASSYSPNԠԠU MPPS05N PS0SB DƠ+5 DƠKUSԠDŽPN DƠSԠNϠAԠNSNG PS0NPBUҠAN DƠPB̠BUҠNGH SZNNŠNNŽNN+ MPPS SBAԠAԠNSԠDV. DANPƠNSPҠPAG MANA SANN DAB00UNNDŽ ADAUD.U.ƠSԠDV SANԠPAGŠN̠D SBà_. DƠ+. DƠK3.ԠAPAG DƠN.ҠNSNY DƠKM_. PSؠMPPS00ɠ SԠNPNϠANGҠSԠƠSU. NNP B00Ԡ00 PS05DANƠ'N'ҠPGSAMN SZA MPPS0ϠPNԠUԠ'N'ADS DA..NN̠D SA MPPS0..(̩PNԠԠUԠANYAY MPPSؠGԠԬ PB̠Ԡ0N.ƠDSϠBŠPND ҠMMNԠ ϠPNԠҠMMNԠNNUŠSANNNGUNԠSU NPU:(AҠYP ýHŠƠHŠUMNUSԠBYNDH HŠҠASDD. MNP SZƠSԠҠAG NP SAPS00SAVŠҠYP SBAԠAԠNSԠDV DAPS00(AҠYP SBPD00PAKDGS SAB+9 SASPSԠASԠPANAG SAPNSԠ-PNԠAG DB PBK ASS A ADAà(A- SSA A SBPD00PAKDGS SAB+ DA..NN̠D SASS MPM6..(̩0PNԠADMAGŠS MDAB DBK SBPS00PNԠҠMSSAG A SAPNSԠ-PNԠAG ؠMPMɠ M6DA..ADMAGŠBU DBNɠN.ƠDSNUNԠAD SBPS00PNԠԠU SBAԠAԠNSԠDV MPMϠPNԠUԠҠMSSAG B̠DƠB PAKDGS NY:(AϠDGԠDMA̠NUMBҠBNAZD :(AASɠUVANԠƠNY(A PD00NP B PD0ADAKM0(A(A-0 SSA MPPD0 SZB(B(B+ MPPD0 PD0ADAB(AUNԠDGԠNAS ADBB60(BN'SDGԠNAS BƬB ҠB(AN'SDGԠMGDHUNSDG MPPD00ɠ KM0Dà-0 K5Dà5 BUK5 GBA̠VAABSBUSANDNSANS DMA̠NSANS KDà K3Dà3 KDà K3Dà3 K6Dà6 KMDà- KMDà- KKUPŠB0000 N:HŠNGMUSԠBŠNHSD: KK36KK3KK3NPKK39KK0KK5 KK36Ԡ-000 KK3Ԡ-000 KK3Ԡ-3000 NP KK39Ԡ-5000 KK0Ԡ-6000 KK5Ԡ-000 A̠NSANS KDà B60UK BUK B3UK3 BUK B5UK3 B0UK6 BUK BUK B3UK35 B00USUBB00 B3Ԡ3 B600UKK0 BMUKM BԠDŠDYPŠMSԠPASS 00UAAD.NDA 0UDB̠MNAŠSUŠD MMYNŠNSUNS NSUNDŠ+NNPAG-0BԠS NN-MMYNŠNSUNS KK0Ԡ00000DƠA ԠSAABŠDSNDSK.AKSAŠASSUMD NSUVŬUNԠSҠN.SASSUMDAVAABŠNBAS PAG.D-MAԠSASNBS. ANGSUN: SB % DƠ+3 DƠBUҠAƠ-BU DƠNNϠƠDS VƠA DBB0ADDҠƠBNS0B SBàSԠBNS- DƠ+ DƠ.M9-9 SB DƠ+5 DƠMҲ DƠKUNҠSYSMY DƠVMSAƠMSSAG DƠKM-ҠHAS. MPƥɠ VMSASàBNV B0Ԡ0 BԠ .NNP DASYP SSA MPN DAKM SANN DA0BBN B SZASSANYBNAKS? MPVƠNϬVנ ŬA BŠS̠-SHԠAKNϠNϠB SZNN MP-3 AƬAƠ(ASҠN SBAK MPDSñ NDA66BGýUNԠADGϠDD DBMҲ SSA NB SBUNUNƠSGN03HS AƬA A ANDB3 SAAKSԠAKN. DA66BGýUNԠADGϠD-D ANDB DSñSASԠSԠSҠN. DAMSZ SABUNS-BUҠUNԠ-6 DABAA SABADSԠSҠBUҠADDҠAB MP.N ƠUPUSHŠ-BUҠϠHŠUNԠS NDSKUPDASHŠUNԠSҠN. ƠSUSUAYADAԠHŠNDƠAHSUBPGAMUPU. ƥNP DASYP SSA MP DA0BBNS PAKMNϠBNԠ? MPƥɠYS. ƠA SABADɠ0ҠNDƠSUBPGAM DABAD PABAA MPƥ SBàŠS DƠ+ DƠMҲDŠҠ DSDƠUNUN BAADƠBUҠAƠBU DƠPSZ6ҠDS DƠAKAKN. DƠSԠSҠN. DASYP SSA MP DAKM SANN DA0BGàD NA SZSԠBUMPS DBS PB6BNϠƠSSNAK BSS MPƲ ŬSSA B̠-AKNϠϠB A SZNN MP-5 ƱADBKM SBAKNנAKN. SBàSAUSUS DƠ+5 DƠK6DŠ6 DƠKAK DƠAKSANGAKN. DƠSAKAUA̠GDAKUND DASAK SZASSVנ? MPVƠYS DBKM SBNN DBAK PBSAKGDAK? ASS MPƱNϬYNԠҠAK PBAKKAK? MPVƠYSV ŬB AҠ-AKϠUPPҠA SZNN MP-3 ƲDB.B0ADDҠƠBN SBàSԠàAKϠ(AԠ5B DƠ+ DƠ.M9-9 àSB.N-NAZŠҠNԠ MPƥɠ AKU6B .B0Ԡ0 ԠBSSUNADD SAKBSSMPҠNԠGDAK PSZDà6 MSZDà-6 .M9Dà-9 MҲDà NNBSS UNBSSUN AKBSSUNԠAKN. SԠBSSUNԠSҠN. BADBSSUNԠADDҠN-BU BUNBSSUNԠҠ-BU BADBSSUNԠSU-BUҠADD UNԠBSSANSҠUN KDà AGԠ00SԠMŬHS ԥNP DAԥ SAԠSԠUNAD SAƥASϠҠV DAAG SZASԠMŠ? MPK DASYPŠ0DSMïDS- SSA MPN DBKM  SBMҲ DBB55 SBDS SASS MPNDS DBKMïDS.BUҠSZŠ SBPSZ MBNB SBMSZ NSB.N SZAGSԠAG KDASYP SSA MPԱ DSԠDA0BBNS PAKMNϠBNԠ? MPԬɠYS ԱSZԥ DAԥ DA0 A̬ŬSAASԠ-BԠANDA MP- SABADSU-BUҠA SZԥ DAԥ DA0 MANA SAUNԠSԠUN MVŠDABAD SABADɠMVŠD SZBADPNS SZBUNBUMPS-BUҠUN SS SBƥNDƠBUҬŠS SZBADBUMP SZUNԠBUMPUN MPMVŠNNUŠANS MPԬɠADY BUҠBSS-BU BUƥUBUҠGϠBU PBUƠUBUƥNMDAŠDŠUPUԠBU ɠUBUƥ+65ADMAGŠBU BƠUBUƥ+06ҠMSSAGŠBU ADBU BUҠBSSS-BU HAҠNP0AԠSAԠƠɯϠSԠPSSSNG DA̠NPSԠDUB-PؠAG.. $NDƠNP NU M(50MMNϠA̠SGMNS àUNBSAԠàƠSGMNS ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3NDƠASSGNMNԠABŠ+ UNDU+GA̠UNԠƠNPUԠDV UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG UNDU+9G.UNԠƠSԠDV(0Y SKNϠU+0SANGAKNUMB KNϠU+ASԠԘAKNUMBҠUSD KNUKNϠAKN. UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK DSàU+DSàGUNԠƠASԠAK DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. .A.U+SUBSPԠNMANAG DƠU+DԠUNNAG GU+9-AG(SԠƠSUBSPԠDUMMY ƠU+0ҠAG(ƠMS00AD SGU+SUŠAG(SUũ ƠU+NA̠SAMNԠAG MU+3SԠMMNASSGNMNԠPN ̠U+3DNGH PNU+-PNԠAG(.N.0ϠP NƠU+5NҠPGAG(SԠƠPԩ ƠU+6ƠAG SNU+NMNԠϠSҠN. ̠U+NUMBҠƠDSNSAK MPU+9UMPAN M̠U+30MDŠAG NUGU+3N.ƠUVANŠGUPS ƠU+3NPUԽ0UPUԽAG PBPԠU+3PBUƠDPN PԠU+33DNGHPN P̠U+3AVŠPGAMAN SƠU+35SUBUNůUNNAG(SԠ AUNN SPƠU+36SPANAG(SԠ UNԠSAMNԠV̩ SƠU+3SNGBAKAN SƠU+3MPؠNSANԠAG ԠU+39N.DSNSAK BAD9ƠU+39NŠƠ9BADSASSUBүUNàNAM ƠU+0SAMNԠUNNV P̠U+0SAVŠP̠AԠSAԠƠɯϠS YPƠU+YPŠSAMNԠAG NƠU+N̠AG(0SNPSSN NNŠU+3-(ƠNSMANDNPAGũ AҠU+(A-GUNDM.. Ա̠U+5MƠƠPSSN SנU+6PSSNSH SZŠU+MMNSZ MNԠU+-(DSŰMANDBŠMVD Դ̠U+9 .NA̠ABŠ M.B(5-.-UNNAB .B̠U+50 MMN(00NN-NAZŠMMNAA MNU.B+5ANƠNDƠMMNAA MNU.B+5 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD AGƠUMN+N.ƠAGUMNSNASUBPGAM ҠSAMNԠUNN 0SVUMN+3àSAVD PҠUMN+PPAҠPY AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ NҠUMN+PNҠϠMPDDϠN.VA DUMN+9DϠABŠPN(àƠASԠDϩ D0UMN+0N.DSPҠNY(BASDNM DUMN+DMNSN DUMN+DMNSN D3UMN+3DMNSN3 DԠUMN+DGԠUN ƠUMN+5ؠԠB̠AG D̠UMN+6DMҠAG--S(ƠàADM SNUMN+ƠSSAKƠASԠAK ŠUMN+UVANŠABŠPN .ŠUMN+9HDS(.A UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV DUMN+-.DҠNԠ..NAM ƠUMN+DNK DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG SNUMN+30ASԠSAMNԠNUMBҠAG SPUMN+3ASԠPANAG PԠUMN+3UNPNҠԠ.. NàUMN+33NAMŠHANGŠAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NDUMN+NUMBҠƠDMNSNS NSUMN+NUMBҠƠSUBSPS NԠUMN+3*BNAMŠAG NƠUMN+NϠAGAG NנUMN+5NUMBҠƠDSNASSGNMNԠNY PƠUMN+6UPUԠPAKAG .PAKUMN+SԠHASNHHSNG PNԠUMN+PAKHAAҠUN ҠUMN+9BԠDŠDYP .ҠUMN+50HDS(.A'SB0'AG ϠUMN+5SUBPGAMҠUNNUNAN SUMN+5SUBSPԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SAV̠UMN+55N.DSNSKNNYϠ SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SP̠UMN+5SAVŠP̠AԠBGNNNGƠD SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK SNMUMN+6SAMNԠNAMŠ(SԠϠS SƠSAMNԠNAMũ àUMN+63MNANGHAA 0UMN+6ASSGNABŠPNҠҠD0.. رUMN+65ASSGNABŠPNҠҠD. زUMN+66ASSGNABŠPNҠҠD. 3UMN+6ASSGNABŠPNҠҠD3.-AB AàUMN+6AUMUA ADNUMN+69ADD-NϠADAN .AƠUMN+0 BADDҠUMN+ S.UMN+SNGBAKAN DSNUMN+3DϠSAMNԠNUMBҠSAVD MPADUMN+PNҠϠBGNƠMP.DϠBDY 3SDUMN+5MP̠ҠSAMNԠD ԲSƠU3SD Բ̠U3SD DADDUMN+6ADADDSS-AԠPNҠҠP MUMN+HDSPNҠϠDϠMNA̠PA M3UMN+HDSPNҠϠDϠSPPAAM YPŠUMN+9 NɠUMN+0N.ƠDSNADMAG N̠UMN+NԠNKAN NMNԠUMN+NAMNԠDSUPUԠG(0UD 3ŠUMN+3N~TRNGҠMP̠ҠGϠϬD SƠUMN+SAMNԠV̠AG SKNUMN+5PNҠϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 ԱŠUMN+YPŠƠASƠNAM NYPŠUMN+ YPؠUMN+9YPŠƠNPUԠP.ϠP.VA. DUMN+90DDBSS3 PDUMN+93PPAҠD PNUMUMN+9NUMBҠƠPANDSϠBŠPPPD SàUMN+95 SԠUMN+96 ԲŠUMN+9P̠AԠBGNNNGƠAS ԴSDUMN+9Ơ'('S MUMN+99ASԠMMNASSGNMNԠPN BҠUMN+00NDƠBAY DPU+35B-ԠABŠBASŠAN DP̠UDP+30BDAAP̠BASŠ. D.BŠUDP+5 .PؠUDP+05B .ԠUDP+B S.NG̠UDP+3B .A̠UDP+36B .0UDP+B .àUDP+6B .ϠUDP+5B .ؠUDP+30B MBUSAP+0MAHNŠANGUAGŠNSUNB SYMԱUSAP+6ASSMBYNSUNSYMB̠B SYMԲUSAP+5 SԠUSAP+9NA̠UNNSYMB̠AB MDԠUSAP+30MDŠƠMP̠AB BUƠUSAP+30ŠBU BUƠUSAP+30ADBU NDN TT  24170-80006 C S 0122 RTE/DOS FORTRAN IV SEGMENT 0             H0101 L ASMBҬ̬ìB HDN0--MPҠNAZAN NAMN05 Ԡ.N. ԠBUƥ ԠA00 ԠAK00 ԠDɠ ԠDP ԠS00 Ԡ ԠDP ԠGNA00 Ԡ00 ԠH00 ԠDN00 ԠMV ԠPSY ԠA AU0A-GS BUB-GS àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3NDƠASSGNMNԠABŠ+ UNDU+GA̠UNԠƠNPUԠDV UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG UNDU+9G.UNԠƠSԠDV(0Y SKNϠU+0SANGAKNUMB KNϠU+ASԠAKNUMBҠUSD KNUKNϠAKN. UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK DSàU+DSàGUNԠƠASԠAK DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+'$'-'ND'AG NƠU+5NҠPGAG(SԠƠPԩ NƠU+N̠AG(0SNPSSN NNŠU+3-(ƠNSMANDNPAGũ AҠU+NHSHSNG MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 .AUMN+0ASSGNMNԠABŠPN 0SVUMN+3àSAVD àUMN+6ADUMNUN--SUŠNŠUMNPN SUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ ƠUMN+5ؠԠB̠AG SNUMN+ƠSSAKƠASԠAK ŠUMN+UVANŠABŠPN UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV DUMN+-.DҠNԠ..NAM DɠUMN+3DDNANNGHŠNSANS SƠUMN+9ASԠSAMNԠAG SPUMN+3ASԠPANAG NDUMN+35NAMŠDDBSS6 PƠUMN+6UPUԠAG SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK àUMN+63MNANGHAA NMNԠUMN+NAMNԠDSUPԠG(0UPUԩ K06Dà06 KM5Dà-5 KM6Dà-6 KK3Ԡ300 SYPŠDƠPSY SԠNP'DƠPSY+' MұNP'DƠPSY+' PSZŠNP'DƠPSY+3' MSZŠNP'DƠPSY+' .3NP'DƠPSY+5' KDà N0DADP AŬA SADP DA.DP AŬA SA.DP DASYP AŬA DAA NA SAS NA SAMұ NA SAPSZ NA SAMSZ NA SA.3 DAPBUP AŬA SAPBUP DAA ADAK06 SAB DAKM6 SAMN DBPBUP ADBK6MVŠϠ DAMSGMVŠM SBMV DAK55SANDADNPUԠDV SAUNDGUNԠƠNPDV5 DAK66SANDADSԠDV SAUDGA̠UNԠƠSԠDV DAKSANDADPUNHDV SAUPUDGA̠UNԠƠPUNHDV DAK56 SANPNSPҠPAGŠNSNG MANA ADAK SANNŠ-(ƠNSMANDNPAGũ A SAGϠSԠMP-AD-GϠŠAG DAPAɠ.Ơ'NN'PAAMҠB SAMԱ DAKM5-5 SAMԲ DBPPNKPAAMҠSԠPҠM'NN' M00DABɠPAAMҠM'NN'SAMN SZASS MPM0+PAAMҽ0 PAK99 MPMŲMP-AD-GϠ M0SAMԱɠSŠNϠ'NN'PAAMB NB SZMԱBUMPPAAMҠABŠPҠBY SZMԲA̠5PAAMSPSSD? MPM00NԠY M03SB.PSYϠNDUԠPANGSYSM SAPSY(PSƠDSMìNGƠũ DB00B SSASKPƠDSM DBB SBDϠASԠAVAABŠ̠AN DADP̬ SADPDAAP̠SAԠAN DA.DP̬ SA.DPؠNA̠ABŠSAԠAN DAMK MANA ADAMK SAMNԠ(A-(DSϠBŠMVD DAMKADDҠƠ-ԠAB DB.DP̬ɠMVDϠAN SBMVŠMVŠ-ԠABŠϠMANPG DAUNDGUNԣƠNPUԠDV PAKDSK? SSYS MPM30N DBB DAPSYPANGSYSM SSASKPƠDSM DB6B DAK5 SZBSS MPM0+NϠSUŠAKASSGND M30SBSԠNAZŠƠSԠM SBà_. DƠ+5. DƠK3.ɯϠSAUS DƠUDGUNԠSԠ.ҠSԠDV DƠUNDSAUSD_. DƠG_. DAUNDG ANDKK3B300 SAUNDGA̠UNVԠƠSԠDV DAB00UNNDŽB(SԠɠSPANG ADAUDGUNԠƠSԠDV SANԠAPAGŠND SBAԠAԠNSԠDVŠADY SBà_. DƠ+. DƠK3.ԠAPAG DƠN. DƠKM_.ҠSKPNSNY SBàPNԠMPҠNMAN DƠ+5 DƠK DƠUD DƠHAD DƠK SBàSKPAN DƠ+ DƠK3 DƠN DƠK SBAK00AAŠAAK DAKNAKAAD SASKNϠSANGAK DADSàGA̠UNԠ SAUNԠGUNԠƠSԠAK DASNƠSSAK SANSԠƠSSAK DAUND.U.ƠNPUԠDV PAK MP+3 ҠB00SԠHϠBԠҠY SAUND A SAPƠSԠNԠϠUPU SA..NAZŠANN̠D DAK3 SA0SVSԠUMNUNҠSAVD3 SANƠSԠNN̠ADAG SANMNԠSԠNAMNԠDSNԠYԠUPU SB00SԠϠNPUԠANנAD SB00ŠԠϠHAVŠAADNPU A SAUƠUƽ- SBDN00NPUԠDϠNԠASSGN SBDNDMVŠNDϠD DAD PAKK3'' MPM0 M0DAK3NN̠ADMSSNG SAAҠSԠNHSH SBà_. DƠ+3. DƠK.BNGNNH DƠ+. ASà3NH_. SԠNPNAZSŬDSҠDSMSU DASԬɠSԠMŠ? SZA MPSԬɠN. DAPSY0DSMïDS- SSA MPSԬɠ BDSҠMïDS S7SBMұɠSԠMұ- SASS MPSԬɠDS DBKMïDS.BUҠSZŠ SBPSZŬ MBNB SBMSZŬ DBK3 SB.3ɠGA̠UNԠ3 MPSԬ B00Ԡ00 B0Ԡ0'A' B0Ԡ0'B' BԠ'' B5Ԡ5'M' B6Ԡ6'N' BԠ'' B00Ԡ00 K3Dà3 B5UK3 KDà BUK KDà BUK KDà B5UK M0DAND+ PAB6'N' MPM06 MPM0NN̠ADMSSNG SBH00NPUԠAHA. M06DB PBB5'ï' MPPPNMDNŠHNADϠPGNAM PBB5'' SS MPM0ҠNNAD SBH00NPUԠHAA DBASAVŠHAAҠN(B DA..(AA̠N̠D PBB0'B' MPMűϠSԠPUNHAPŠBԠN.. PBB'' MPMű6ϠSԠSUŠSNGB PBB0'A' MPMűϠSԠASSMABŠSNGBS PBB5'M' MPMŲ0ϠSԠMDABŠSNGBS PBB'' MPMű0ϠSԠABŠSNGB PBB5'ï' MPPPNM M0DAK MPM0+ҠNNN̠AD Mű0ҠB0..SԠABŠSNGBԠN.. MűSA.... MPM06- MűҠKK0SԠPUNHAPŠBԠN.. MPMű Mű6ҠBSԠSUŠSNGBԠN.. MPMű MűҠBSԠASSMBYSNGBԠN.. MPMű0ϠSԠABŠSNGB MŲ0ҠBSԠMDSNGBԠN.. MPMűϠSԠ'A'ANԠ'' MŲSAGϠSԠMP-AD-GϠAG MPM03 K3Dà3 K5Dà5 K6Dà6 KD,|à K56Dà56 K3Dà3 K99Dà99 KDà BUK KDà B0UK NNPԠN̠D PAɠDƠUND'NN'PAAMҠSԠP MԱNPPAAMҠSԠPN MԲNPPAAMҠUN GNP MKDƠ..DP.-ԠABŠADD. MKDƠ.DP.+DAAP̠ADD DP̠DƠDP̠ADDҠƠDAAP .DP̠DƠDPADDҠƠ-ԠAB PBUPDƠBUƥ KK0Ԡ00000 KK06ASàϠBANKS KK3ASà KK33ASàN. KMDà- KDà HADҠASàN--ASŠ0--UNŬ9 MSNP BƠNPàƠҠMSSAGŠBU MSGDƠ+ ASà ASà0 ASà0 ASà ASà5 ASàҠDDAԠUMN SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 PSSBŠPGAMNAMŠ PPNMDAKK3'' DBB NB SBMS DBPBUPɠ_. ADBK3. SABɠ. SAMS SZMS DAKK33'N.' NB.SԠPGҠNAMŠϠ'N.' SABɠ. SAMS SZMS DAKK06'' NB. SABɠ_. SAMS ANNAZAN MANU DAAB0000 DBPBUP NB SABɠDDNԽ00(NAMD DAKM-GN-DŬSZŽ5- ADBK5 SABɠSZŠƠMANPGAM A SADƠSԠ'$'-'NDf'AG SAN SASנSԠϠDŠGNANNPUԠADSƠNDD DBPBUP DAB ADBK ADAK6PBU+ϠPBU+6SԠϠ0 SBN00NAZŠϠ0 DAPPNKNDƠMMNAB DBPPNK.Ơ.B SBN00NAZŠ.B̠ABŠϠ0 DBNPƠNSPҠPAG MBNB ADBK SBNNŠ-(ƠNSMANDNPAGũ DAK99 DBPBUP ADBK0 SABɠPYSԠϠ99 NAZŠ-BԠN-NA̠ABŠϠ0 DA.DP SA.A.ABASŠ.Ơ--AB N0SBGNA00GԠNԠASSGNMNԠPN DAƠSԠNؠAB? SSASSYS MPN0N DA.A ANDKKB6 SA.AɠSԠ-BԠϠ0 DB.AYSSԠA(.A0 NB A SAB MPN0 KKԠ6 K6Dà6 K0Dà0 KMDà- N:HŠNGMUSԠBŠNHSD: KK36KK3KK3NPKK39KK0KK5 KK36Ԡ-000 KK3Ԡ-000 KK3Ԡ-3000 NP KK39Ԡ-5000 KK0Ԡ-6000 KK5Ԡ-000 N0U SBDɠD_--0 DAKM SAMNԠϠMVŠDS DAPPNK3MVDM DBPPNKMVDϠ BŬB DBBɠ(B.Ơ.N. SBMVŠNAZŠMP̠SAԠS. DADPDAAP̠SAԠAN NA SAϠNDƠASSɠABŠ.+ SASKB SASKԠSKԽSKB SASƠSƠ.N.0(PԠSԠSMNԩ SASP DADϠASԠAVAABŠMMYAN SAŠŽD SADDD SASKB SASKԠSKԽSKBD A SAUƠUƽ- SԴADD- SZDɠDɽD+ DANԠMN SBS00SABSHNSAN SBA00ASSGNM A SANƠ_. SBà. DƠ+3.ANSҠN̠ DƠK.SNP DƠ+. ASà3N_. PPNKDƠSB PPNKDƠMNàƠNDƠMMNAB PPNK3DƠKK36 PPNKDƠ.N. NAZŠϠ0 N00NP MANA.PBU+ϠPBU+6 ADAB SAԱPPN.M̬SƬSBƬSƬSPƬƬ A..ASԬDP̬.A.SGG PPNMSABɠ.M̬ԬYPƬ NB..B̠AB SZԱPPN. MPPPNM_. MPN00ɠ ԱPPNBSS-(UNԠƠDSBŠNAɠϠ0 NԠԠ0000 AԠ0000 MVŠNDϠDɠ DNDNP DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ MPDND SPà ANGSUN: SB.PSY SUԠNAGSҠ: 0DS MïDS - SPà .PSYNP DA0B SZASSà00? MPŠYS.MUSԠBŠ. ADA6B SZA(0+(60? MPŠN.MUSԠBŠ. SBMPBSAVŠB SBàYS.DSҠMàDS? DƠ+5 DƠD DƠDSKU DƠSA DƠDUM DASA ANDMASKMASKƠA̠BUԠBԠƠYP SZAƠZϬYP Š30SϠDS ANASŬYPŠ3SϠMïDS DBMPBSŠB MP.PSY ŠDAKMNDAS MP.PSY SPà KMDà- DŠDà3SAUSUSԠD DSKUԠGA̠UNԠƠDSK SAԠNPSAUSD DUMNP MASKԠ00MASKSA̠BUԠBԠƠYPŠD MPBNP ؠNA̠ABŠ ..DP.U ԠN׽ Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDABS Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDB Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDS Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DMAر Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DMN Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDMD Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DSGN Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDSN Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DAAN Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DAN Ԡ66MDB̬Ný0($ҽN׽ Ԡ0 ASàDP Ԡ66MDB̬Ný0($ҽN׽ Ԡ0 ASàDG Ԡ665MDB̬Ný0($ҽN׽5 Ԡ0 ASà3DG Ԡ665MDB̬Ný0($ҽN׽5 Ԡ0 ASà3DS Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DDN Ԡ505MPجNý00ҽ0N׽5 Ԡ0 ASà3MP Ԡ505MPجNý00ҽ0N׽5 Ԡ0 ASà3ѺNG Ԡ505MPجNý00ҽ0N׽5 Ԡ0 ASà3S Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàS Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàP Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàG Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàSN Ԡ36MANý(ҽN׽ Ԡ0 ASàSN Ԡ36MANý(ҽN׽ Ԡ0 ASàS Ԡ36MANý(ҽN׽ Ԡ0 ASàP Ԡ36MANý(ҽN׽ Ԡ0 ASàAN Ԡ36MANý(ҽN׽ Ԡ0 ASàS Ԡ36MANý(ҽN׽ Ԡ0 ASàAG Ԡ3MANý(ҽ0N׽ Ԡ0 ASàANH Ԡ35MANý(ҽ0N׽5 Ԡ0 ASà3AG Ԡ3MANý(ҽ0N׽ Ԡ0 ASàAAN Ԡ3MANý(ҽ0N׽ Ԡ0 ASàABS Ԡ3MANý(ҽ0N׽ Ԡ0 ASàAN Ԡ35MANý(ҽ0N׽5 Ԡ0 ASà3A Ԡ3MANý(ҽ0N׽ Ԡ0 ASàSGN Ԡ0MANý00ҽ0N׽ Ԡ0 ASàSNG Ԡ0MANý00ҽ0N׽ Ԡ0 ASàA Ԡ0MANã00ң0Nף Ԡ0 ASà0 Ԡ0MANý00ҽ0N׽ Ԡ0 ASà Ԡ05MANý00ҽ0N׽5 Ԡ0 ASà3 Ԡ3MNԬNý(ҽ0N׽B@< Ԡ0 ASà Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàAND Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàN Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàSS Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàABS Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàN Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASà Ԡ35MNԬNý(ҽ0N׽ Ԡ0 ASà3SGN DAAP̠SASHŠ .DP.U ԠN׽ NDN0 B  24170-80007 C S 0122 RTE/DOS FORTRAN IV SEGMENT 1             H0101 N ASMBҬ̬ìB HDN--N̠SGMN NAMN5N̠GUP ԠBUƥ ԠA00 ԠD Ԡ00 ԠM ԠS00 Ԡ ԠNS00 ԠNS0 ԠH00 ԠDN00 ԠDS00 ԠUMP ԠMV ԠA00 ԠS00 ԠZ00 Ԡ00 ԠSS00 AU0A-GS BUB-GS àU BSS50 .DPU+-ԠABŠADD DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. NƠU+5NҠPGAG(SԠƠPԩ ƠU+6ƠAG MPU+9UMPAN M̠U+30MDŠAG P̠U+3AVŠPGAMAN SƠU+3SNGBAKAN NƠU+N̠AG(0SNPSSN AҠU+NHAGSԠҠ'NDƠB' Ա̠U+5MƠƠPSSN SנU+6PSSNSH MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN 0SVUMN+3àSAVD AԠUMN+5 àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ NҠUMN+PҠϠMPDDϠN̠VA DUMN+9DϠABŠP(àƠASԠDϩ D̠UMN+6DMҠAG--S(ƠàADM DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG SNUMN+30ASԠSAMNԠNUMBҠAG SPUMN+3ASԠPANAG N̠UM)$N+3NUMàAG NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NƠUMN+NϠAGAG NנUMN+5 .PAKUMN+SԠHASNHHSNG ҠUMN+9BԠDŠDYP SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SNMUMN+6SAMNԠNAMŠ(SԠϠS SƠSAMNԠNAMũ ԱSDUSNMƠHASMANNG àUMN+63MNANGHAA S.UMN+SNGBAKAN ԲSDUMN+3PSSҠNYPN MPADUMN+PҠϠBGNƠMP.DϠBDY 3SDUMN+5PàNYPNSB̠P MUMN+HDSPNҠϠDϠMNA̠PA M3UMN+HDSPNҠϠDϠSPPAAM NMNԠUMN+NAMNԠDSUPUԠG(0UD DUMN+90DDBSS3 ԴSDUMN+9Ơ'('S SAMNԠNPUԠ BANHNNYNDN: Nƽ0--SNP Nƽ--SSN Nƽ--SM Nƽ3--NS0 NPUԠSAMNԠNUMBҠ SN00NP AҠNDϠBANKS DAB0 SAND+ SAND+ SAND+3 SAND+ SAND+5 DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N SN05U DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ DA PAK6 MPSN09 SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DB MBNB ADBK6 SSBSS MPSN05 SBU00UNNPUԠUMN SN0U A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SNؠMPSN00ɠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. SN09SZ MPSN0 ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ B00Ԡ00 K9Dà9 NU DBSP BŬB DBB SBSP DANƠN̠AG SZA MPSN3 SAԱ̠SԠGƠMAG SNPSASƠAҠSNG-BAKAG SA.ASԠASSGNMNԠABŠPҠϠ0 SAM̠AҠMDŠAG SBN00AMNŠNԠHA. SZASSSAMNԠNUMBҠSS? SBSN00YSNPUԠSAMNԠNUMB DA.A SASNASԠSAMNԠNUMBҠAG SZASS MPSN0 DAK DBA PB SB00 SN0U DAƠƠAGSԠ? SZAN ҠSNYS SB00ƠS DANƠNAGSԠ? SZA MPSNYSPSSNGNADS DAK0ҠYP DBàSUMNPҠPNSϠ? ADBKM SSB SB00GA̠SAMN SNSBN00AM.NԠHA. DAàSàAïҠ? PAB5 ASS MPSSNNϬϠSANHŠSAMN PASNSAMNԠNAD? MPSNP+NϬԠSABANKAD SZàSԠý DAK9YSSAMŔ*NԠN.NBANKAD SBM A MPSNPϠNPUԠNԠAD KDà ̠Ԡ000 SN3SASS MPSMϠSAMNԠMNAN PAK3 MPNS0 SAMNԠSAN SANSHŠSԠADƠA̠SAMNSDMNNGƠH SAMNԠYPŠSAPAMNԠSAMNԬADϠSAMN (DBYҠAHMàSAMNԠUNN(AND HŠPANDMNADBY'('ANDASNԠANAAY. SSNSBS00SAVŠ ANA(A SAԱSSSԠԱ SSñSBH00NPUԠHAA SSòDA PAB5ý? MPSS6YS PAB50ý(? MPSSøYS PAB5ý? MPSS9YS PAB5ý? MPSS÷YS PABý'"'? MPSS÷YS ҠB5ý? SZA MPSSñN SAԲSSSԠԲ0 SB00UPUԠNAMNԠD SS3SBDN00NPUԠDNA DA PAB5ý? MPSS5YS PAB5ý? MPSSA PAB50ý(? SZԲSSԲԲ+ B PAB5ý? BYSԲԲ- ADBԲSS SBԲSS MPSS3ϠHKNԠM SSôSB00SŠ DAԱSS SZA MPSSBASSGNMNԠSAMN SS0U NPUԠSYMB̠ ANA SANƠSԠN-AGAG NPUԠNAMŠ NPUԠPAND NPUԠM SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3 DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPUANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND SB00SŠ DAU PAAҠSMANAAY? MPSSBASSGNMNԠSAMN DAK SASנ..SH A DASƠU DBK MPUMPϠASƠPSS AҠԠ600U3(AAY SPҠDƠUMP KDà DPҠSASנPSSNSHASƠPSS SBà_. DƠ+3. DƠK.BNGN..ADPSSS DƠ+. ASà3NA_.ƯGϯDϯASƠSGMN BԠ SS5DAԲSS'('UNԠ0? SZA MPSS3N SB00SŠ DAK SASנ..SH SBS00SAVŠ ANA MPDASƠϠDϠPSS SS6SBH00NPUԠHA. DAD̠SàADMҠ? SZA MPSSòYS SS÷SB00SŠ MPSDGϠϠSAMNԠDNAN SSøA ADAԱSS SAԱSSԱԱ- SS9DAԱSS'('SD? SZA MPSS÷ϠDNYSAMNԠYP AҠDϠ0 SAD SAD+ SAD+ SBDS00NPUԠDGԠSNG SZASSDGSSD? MPSSòN MPSS6+YS SSADA PAK3 MPSSô MPSS3 SSBDBK50 UMPADBSPҠ(BàƠPSS MPBɠϠASSGNMNԠSAMN K50Dà50 K3Dà3 ԱSSBSS'('AG(0Ơ'('SD ԲSSBSS'('UNԠAҠ AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN :MPN00 ƠSԠ ϠUPUԠHŠBԠDŠҠANUNNDNA̠GϠ NY:Ơ(A0NϠBԠDŠUPU Ơ(ANN-ZϬUPUԠMP- ƽASSGNMNԠABŠPNҠƠUMPD-ϠSAMN 00NP SZASS MP0NϠBԠUPU DAMP'MP' DBKK0B00000 ADBƠASSGNMNԠABŠP SBM00UPUԠM DAԱ̠MƠƠPSSN PAG MP0 A SASPSԠASԠPANAG 0A SAԱ̠SԠGƠMAG SAƠSԠƠAG MP00ɠ GԠ30000MG SAMNԠMNAN SMU DASƠANYHNGϠBŠSUNG? SZAN MPS3YS SұDASNASԠSAMNԠHANUMBҠ? KKSZAN MPSҴ-YS SҲSASƠSԠASԠSAMNԠAG MPSNPϠNPUԠANנSAMN S3DAƠƠAG SB00ϠGNAŠDAYDUMP'S DBSƠ.. NB. DAP̠.SŠP̠NϠHŠAƠD SABɠ..ƠS MPSұ DBDàƠASԠDϠNYNDϠAB SҴSBɠSAVŠDϠABŠPN A PBDϠNDƠDϠABŠSAH? MPSҲYS DASNSHSSMNԠN.ADϠMNA? PAB MPS6YS SASƠSԠASԠSMNԠAG(.DϠM. S5DB ADBK5SԠɽ+5NNUŠSAH MPSҴ S6DBSƠASԠSMNԠAGSԠ? DAK30 SZBN SB00YS.DϠMNANGSMN DBD NB DAB SAM3 NB DAB SANҠNDؠ NB DAB SAM NB DAB SAMPADSԠSAMNԠƠPADD. UPUԠDϠMNANDŠ DADA DBNҠDA SBSA00 DBM3ADAM3 SBGAD00 DASA DBNҠSA SBSA00 DAKK60MANA SBA00 DBMADAM SBGAD00 DBM3 DABɠHKNAMŠAGƠ.A(SP-SZũ SSASS MPD0 HNSANԠ SBDɠAҠDɠBUҠϠ0 SB.A DAB ANDK ADAKM MANA SANנN׽-(ƠDSNDD SSASS MPؠDUMMYҠDNY DABDɠ.ƠSԠDƠDɠBU SAԱ DB.A ADBK 0DAB SAԱìɠSŠDDNϠDɠBU SZԱàBUMPDɠBUҠPҠBY NBBUMPDDàBY SZNנDDHAUSD? MP0N ؠU DADɠ(A_NSANԠM3 KK6SSASS MPD0ƠPSVŠ(NMNԩ DAKKƠNGAVŠ(DMNԩSZA SBA00 DAKK0SSA MPD03 D0DADBDBM3(ƠVAABŠSP-SZũ SBSA00 DAKK6SSB(ƠVAABŠSP-SZũ SBA00 DAKK60MANA(ƠVAABŠSP-SZũ SBA00 D0DAKK6SSASS(VA.ҠPS.SP-SZũ D03SBA00 DAMP DBMPADMP(BGNNNGƠDϠBDY SBM00 DAD ADAK5 SADDD+5ϠMNAŠDϠNY MPS5NNUŠSAH ɠNP KK0SSA K30Dà30 ԱàBSSDɠBUҠPN BDɠDƠD DAԠ6000 M SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 SAVŠà S00NP DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADNԠBŠNPU MPS00ɠ UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 MNԠD 00NP DANMNԠNAMNԠDUPUԠY? SZASSN MP00ɠYS DAPK AŬA DAAɠDƠPBU ADAK3 SAԱҠPBU+3 ADAK6 SAԲҠPBU+9 ADAK SA3ҠPBU+ DAK3 SAԲҬɠPBU+93(MANPGNDAҩ DAK DBSBƠMANPGAM? SZBYS SAԲҬɠPBU+9(BAYSUBPGAM DAB300B300(DNGH SA3ҬɠPBU+DNGH SZ3ҠPBU+ DAKB000(DNԽ00ƠNԽ SA3Ҭ DAKM3_. SAMNԠ.(PBU+0 DB3Ҡ.(PBU+35 ADBK. ADAԱҠ. SBMVŠ_. DB3ҠPBU+ ADBK5PBU+3 A SANMNԠNAMNԠDSUPUD SABɠ_. NB.PBU+3PBU+0 SABɠ_. SBSS00 SBS00UPUԠS DASBƠMANPGAM? SZAYS MP00ɠNϬ UPUԠϠ UPUԠADADDSSP B DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS A SBA00UPUԠ'NP' DASB DB.DP ADBB5 SBSA00UPUԠ'SB.A' A BNB SBZ00UPUԠ'DƠ+' DAPŠM SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMPSNG-BAKMPAN MP00ɠ KԠ000 ԱҠNPPBU+3 ԲҠNPPBU+9 3ҠNPPBU+ PŠԠ0000 MPԠ6000 SBԠ6000 B5Ԡ5 00Ԡ0000 SAԠ000 GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 DBԠ66000 NPUԠ(AHAAS NY:(ANUMBҠƠHAASϠBŠNPU ԠƠ(AHAASAŠNPUԠҠADMҠNUND A00NP SA0ANUMBҠƠHAS.ϠBŠNPU SZASS MPA A0DA0A ADAKMDMNԠ0BY SA0A SSA(AHASBNNPUԠ? MPAؠYS SBH00NϬNPUԠAHA. DAD̠SHA.ADMҠ? SZA AؠMPA00ɠYS MPA0 0AԠ0 SPà3 D$ASàD$ SAMNԠDNAN SDSB00SŠ SBS00SAVŠ A SAԴSDƠ'(' SBDN00NPUԠDNA DAD̠? SZAYS MPSD5+N SD0SB00SŠ DAK SASנSԠSHϠSANMD SBA00NPUԠHAS. DA.PAK SASNMSAVŠHŠSԠϠHAS. DAK SBA00NPUԠHŠNԠϠHAS. A SASנSԠSHϠDŠGNAԠMD DBSNM PBN'N' SS MPSDA DB.PAK PBD$'D$' SS MPSDA SAAҠSԠҠNMNAN SB DƠ+3 DƠK DƠ+ ASà3NHBNGNNH SDAU DBPAB SB3SD3SAԠADDҠƠPSSҠB SDDAB NB DBB PASNM SSSԠNDHAS.MAHD MPSD3 PB.PAK MPSD3DHHAS.ASϠMAHD SD3DB3SD ADBK SB3SD33+ MBNB ADBPB DAK0 KK6SSB SB00GA̠SAMN DB3SD MPSDϠYNԠNYҠMAH SDDB3SD.ƠMAHDPSS ADBK DAB SASPSנSAMNԠPSSҠSH SAԲSDԲPSSҠNYPN NB DAB ֶ AƬA ANDB3 SAԱSDԱNUMBҠƠHASMANNG DAB ANDB3(ASAMNԠYPŠHAHY PAK MPSDMUNԠSAMNԠV̽ PAK SS MPSDK SB00 ANA SDKU SBNS00SԠNNSPANHK DAԱSDN.ƠHAASMANNG SZASS MPSDŠNN MANA SA0A SBH00NPUԠAHA. SZ0AA̠DN? MP-NԠY SDŠUYS DAԲSDPSSҠDN PAPAB+3 MPSDUNN PAPAB+ MPSDSUBUN PAPB- MPSDPGAM DA3SD.ƠMAHDPSS MANA ADAYP̱ SSASS MPSDYP̱.G.3SD ADAK0 SSASKPƠYP̲..3SD SDU SB00MNԠDS SDU DAԲSD KK60MANA SSA MPSD9 SASנ..SH PAK MPSDD MANA ADAK6 SSASנ..ADůA MPDP+Sנ.G.ƯGϯDϯAS SBà_. DƠ+3. DƠK.BNGN..AD DƠ+.PSSS ASà3N3_. SDMSB00ϠUPUԠNAMNԠƠNԠYԠU DAK MPSDK SDDDAKM DBK MPUMPϠƠPSS KDà SD5SBDN00NPUԠDNA DA PAB5'' MPSD6 PAB50'(' SZԴSD PAB5'' ASS MPSD5 ADAԴSD SAԴSD SZA MPSD5 SBN00AMNŠNԠHA DA PAB5'' SS MPSD0 SB00 SŠ MPSS0ϠSAMNԠSAN SD6DAԴSD SZASS MPSD0Ơ'('S0 DA PAK3 MPSD0NDƠAD MPSD5 SD9DBK5 MPUMPϠ'SD9' YP̱DƠYPB K3Dà3 K3Dà3 K3Dà3 K0Dà0 KDà KDà KDà K6Dà6 KM3Dà-3 KM6Dà-6 A̠NSANS B5UK3 B50UK0 B5UK B5UK B5UK B60Ԡ60 B5UK6 B3Ԡ3 PKDƠBUƥ SPà3 PSSҠNY-PNSABŠ DSPҠABŠNYHHŠNGMA: 50 +0:HAұHAҲ +:HA3HAҴ +:PSSҠNY. +3:Ա(A H:HA'SAŠHŠSԠHASƠHŠPSS ԱNUMBҠƠHAASMANNG (ASAMNԠYPŠHAHY PABDƠ+ ASàUNàUNN KDà Ԡ000Ա(A0 ASàSUBҠSUBUN KDà Ԡ3000Ա6(A0 ASàDMŠDMNSN Dà Ԡ00Ա5(A0 ASàGϠGϠ Dà-9 ԠԱ0(A ASàA̠A KMDà- ԠԱ0(A ASàUUN K5Dà5 Ԡ00Ա(A ASàNԠNNU Dà6 Ԡ0Ա5(A ASàMMA KDà Ԡ00Ա(A ASà(( Dà- ԠԱ0(A ZASàԠ KMDà- Ԡ0Ա(A ASàADAD KMDà- ԠԱ0(A ASàBAKBAKSPA KDà Ԡ0Ա5(A ASàNDƠND Dà9 Ԡ0Ա3(A ASàɠԱ(A K0Dà0 Ԡ00Ա(A NU ASàNDND Dà ԠԱ0(A ASàSPSP Dà ԠԱ0(A ASàPAUSPAUS Dà3 Ԡ0Ա(A YPBU- ASàNŠNG KDà Ԡ00Ա3(A0 ASàA̠A K5Dà5 Ԡ0Ա0(A0 ASàDUBDUBŠPSN K6Dà6 Ԡ500Ա(A0 ASàMPMP KDà Ԡ00Ա3(A0 ASàGɠGA KDà Ԡ00Ա3(A0 ASàŠNA Dà9 Ԡ000Ա(A0 ASàMMMMN K0Dà0 Ԡ000Ա(A0 ASàUɠUVAN KDà B300U Ԡ300Ա(A0 ASàASSɠASSGN Dà Ԡ00Ա(A ASàDAADAA Dà5 ԠԱ0(A ASàPGPGAM K3Dà3 Ԡ00Ա3(A0 PBŠDƠ- DMA̠NSANS MMYNŠNSUNS ADAԠ000 UNNPUԠUMN U00NP 5cTRNA ADA SAàý- MPU00ɠ NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 SPà UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS B0UK3 KK0Ԡ00000 ұ0Ԡ0000 NDN T  24170-80008 C S 0122 RTE/DOS FORTRAN IV SEGMENT 2             H0101 P ASMBҬ̬ìB HDN--PSSNVAUAҠPMAYSGMN NAMN5PSSNVAUA Ԡ.N. ԠA00 ԠA00 ԠDA00 Ԡ030 Ԡ035 Ԡű NԠ ԠN Ԡ00 ԠG Ԡ ԠA00 ԠDN00 NԠS00 ԠAS ԠMNPS ԠMV ԠA00 NԠPB NԠPϱ00 NԠPU00 NԠPϲ00 ԠSP00 ԠZ00 Ԡ00 Ԡ.N AU0A-GS BU àU BSS50 DƠU+DԠUNNAG ̠U+NϠƠDSNSAK ԠU+39NϠDSNSAK MNԠU+-(DSMANϠBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN PҠUMN+PPAҠPY DUMN+9DϠABŠPN(àƠASԠDϩ YPŠUMN+BԠYPŠƠNVSN MUMN+MMD PԠUMN+3UNPNԠNMANPGAM. ҠUMN+9BԠDŠDYP SAV̠UMN+55NϠDSNSKNNYϠ SP̠UMN+5SAVŠP̠AԠBGNNGƠD SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDSSƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK àUMN+63MNANGHAA AàUMN+6AUMUA .AƠUMN+0 YPŠUMN+9 SYPŠUMN+SUŠYPŠƠNVSN 3ŠUMN+3NGҠMP̠ҠGϠϠD SKNUMN+5PNҠϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 ԱŠUMN+YPŠƠASƠNAM NYP,ŠUMN+ YPؠUMN+9YPŠƠNPUԠPϠ PDUMN+93PPAҠD PNUMUMN+9NUMBҠPANDSϠBŠPPPD SԠUMN+96 ԲŠUMN+9P̠AԠBGNNNGƠAS ԴNUMN+99SAKADDSSƠNVSNSU UNϠANGPNԠ NU APYPŠNGAVŠASAAGUNSS SAYPŠNƠNDDҠNVSND DAP SSASSƠUNPNԠSNGAVŬ MPPԬ MP00NAZŠPSSNVAUA DŠGNANUNS A̠HŠNGUNSAŠNSGMNԠN .ANDU .ҠU .NԠU P00U AA00U S00U NP DAS00 SAPԠSAVŠUNPNԠϠMANPG. SBàA̠NSGMNԠN DƠ+3ANDANSҠN̠Ϡ DƠK DƠ+ ASà3N ASSGNPAN A00NP SBGԲ00GԠMMDSƠPϠP. PANYPŠSYPŠNYPŠ? MPA0YSGNAŠADANDS. PAGƠGA̬ MPA0 SASYPŠSYPŠ_YPŠ(SUŠYPũ DANYPŠ(A_BԠYPŠƠNVSN PAGƠGA̬ MPA0 DBSKԠ(B_PNҠϠSAKNY SBN00GNAŠNVSND. A0SBSG00ADSUŠVAAB DASKNɠA..PNҠƠSNGVA. DBSKԬɠA..PNҠƠADNGVA. SBS00ƠԠSDUBŠҠMP.S MPNUNϠMANPGAM A0DAK55 SB00Ҡ-NV.ƠGA̠GA K55Dà55  ADD ADD00NPADDϠPPANDS. SBP00MAHYPSMMUŠƠNNN. SB00HKƠNԠMMUŠUDHP SBSG00SAԠDŠGNAN(AD DAYP PANԠƠNGҬ MPADD0HANDŠԠSPAAY. PAANϬSԠADDUNŠNAM. DB.AD PADB DB.ADD PAP DB.ADD SBS00MPŠANGSUN. MPNUNϠMANPGAM .ADDƠ.B+ANGADD .ADDDƠ.B+6DUBŠPSNADD .ADDDƠ.B+0MPؠADD ADD0DBSKN SBGAD00UPUԠNGҠADD MPNUNϠMANPGAM SUBAԠ SUB00NPSUBAԠPMNԠϠPP SBP00MAHYPSMMUŠƠNNN. DAYP PAAƠA̠PANDS SB00MMUŠHM SBSG00SAԠDŠGNAN(AD DAYP PAN MPSUB0HANDŠNGҠSPAAY. PAANϬSԠSUBAԠUNŠNAM DB.SB PADB DB.SUB PAP DB.SUB SBS00MPŠANGSUN MPSUB00 .SBDƠ.B+3ANGSUB .SUBDƠ.B+DUBŠPSNSUB .SUBDƠ.B+MPؠSUB SUB0DAKK60 SBA00UPUԠ'MANA' DBSKN SBGAD00UPUԠADDN--PPAND MPSUB00 KK60MANA NGAŠ NG00NPGN.DŠҠUNAYMNUS. SBGԱ00GԠPPANDYP. PAGSPPANDGA? MPP0YSҠ-AH.P.UD SBSG00NϬSAԠDŠGNAN(AD DAYPS PANԠSPANDNG? MPNG0YSHANDŠSPAAY. PAANϬSԠNGANUNŠNAM. MPNG0YSHANDŠSPAAY SBA00GԠMMDŠƠPAND DAM PAADDҠƠԠSANADDSSMP̬ MPNG03ANSҠAAYMNԠϠMP. DA.AƠNԬSŠƠԠSAMP ADAKƠYPŠDB̠ҠPؠAHҠHAN DAAɠASMPŠVAAB. SSAƠMP̬ MPNG0GNAŠSB..DMҠ..M NG03DAYP SBA00AAŠDB̠ҠPؠMP. DBSKԬɠSUŠƠSB.DҠҠ. SASKԬɠSAVŠMPDSNANNSAK SBS00GNAŠSB.DҠҠ. NG0DB..DMNASŠDB̠PAND DAYPŠ(AYPŠƠPAND PAP DB..M SBD00GNAŠSB.UN DBSKԬɠHSŠGNAŠDƠPAND SBSԠHANGŠSUԠMG.ϠVA. SBD00GNAŠD. MPNUNϠMANPGAM ..MDƠ.B+MPMNԠANGN(AB ..DMDƠ.B+DUBŠPSNNGAN ..MDƠ.B+MPؠNGAN KDà NG0DAKK60 SBA00UPUԠMANAҠNGҠNG. MPNUNϠMANPGAM NG0DB..MGNAŠSB..M SBD00A̠NGAN. MPNUNϠŠMANBDY. MUPY MPY00NPMUPYPPANDS SBP00MAHYPSMMUŠƠNNN. SB00HKƠNԠMMUŠUDHP SBSG00SAԠDŠGNAN(AD DAYP PANԠSԠMPYUNŠNAM DB.MPY PAA DB.MP PADB DB.MPY PAP DB.MPY SBS00MPŠANGSUN. MPNUNϠMANPGAM .MPYDƠ.B+5-PNԠMPY .MPDƠ.B̠ANGMPY .MPYDƠ.B+DUBŠPSNMPY .MPYDƠ.B+MPؠMPY DVDŠ DV00NPDVDŠN--PBYPPAND SBP00MAHYPSMMUŠƠNNN. DAYP PANԠƠNԠҠA̠PANDS SS PAA SB00ŠMMUAN SBSG00SAԠDŠGNAN(AD DAYP PANԠƠNGҬ MPDV0HANDŠSPAAY PAANϬSԠDVDŠUNŠNAM DB.DV PADB DB.DV PAP DB.DV SBS00MPŠANGSUN. MPNUNϠMANPGAM .DVDƠ.B+ANGDV .DVDƠ.B+9DUBŠPSNDV .DVDƠ.B+3MPؠDV DV0DAKK6 SBA00UPUԠ'B' DAKK0 SBA00UPUԠ'SSA' DAKK5 SBA00UPUԠ'MB' DB.DV SBS00UPUԠSB.DVDƠVAAB MPNUNϠMANPGAM .DVDƠ.B+6-PNԠDV KK6B KK0SSA KK5MB ANA̠SSHAN .ԠNPUPUԠDŠҠұ..Ҳ SBSUB00UPUԠDŠҠұ-Ҳ DAYP PAP MP.ԱPANGA̠ҠPؠAGS SBD00ADSԠDƠDB̠SU SBS00SԠSԽ0YPŠƠG.G. MP.ԬɠUN. .ԱDAK5Ҡ-MPؠGA̠ SB00.....G..G. K5Dà5 ANA̠SSҠUA̠ 6- .ŠNPUPUԠDŠҠұ..Ҳ SB00MMUŠPANDS SB.GŠGN.SAMŠDŠASҠұ.G.Ҳ MPNUNϠMANPGAM ANA̠UAS .ѠNPUPUԠDŠҠұ..Ҳ. SBBN00U.DŠHAԠSSAMŠҠѬN DAYP PANԠƠNGҠPANDS MP.ѲHANDŠSPAAY. PAGƠGA̠PANDS MP.ѱYS DAKKNϬUPUԠ'ASS' SBA00UPUԠNS. .ѱDAKK6 SBA00UPUԠ'MA' MP.3 .ѲDAKKUPUԠ'ASS' SBA00 DAKK9UPUԠ'A' SBA00 .3SBS00SԠSԽ0ANDG.YPŠG. MPNUNϠMANPGAM KK6MA KKASS KKASS KK9A ANA̠NԠUA̠ .NŠNPUPUԠDŠҠұ.N.Ҳ SBBN00U.DŠHAԠSSAMŠҠѬN DAYP PAGAŠPANDSGA? MP.NŲYSDN. PANԠAŠPANDSNG? SSYS MP.Nű DAKKUPUԠ'ASS' SBA00 .NűDAKK0UPUԠ'A' SBA00 .NŲSBS00SԠSԽ0YPŠƠG.G. MPNUNϠMANPGAM KK0A ANA̠GAҠHAN .GԠNPUPUԠDŠҠұ.G.Ҳ. SB00MMUŠPANDS SB.ԠU.SAMŠDŠASҠұ..Ҳ MPNUNϠMANPGAM ANA̠GAҠҠUA̠  .GŠNPUPUԠDŠҠұ.G.Ҳ SB.ԠU.SAMŠDŠASҠұ..Ҳ DAKK6 SBA00UPUԠ'MA' MP.GŬɠUN. GԠ30000M3GA BASŠƠѬNŠ BN00NPU.SԠPAԠƠѬNŠD. SBGԲ00GԠYPSƠPPANDS. PANYP SS MPBN0ƠYPSNԠSAMŬNԠGҠN PANԠƠNGҠPANDS MPBN03 PAGƠGA̠PANDS MPBN03 BN0SBSUB00UPUԠDŠҠұ-Ҳ SBD00ADSԠDPؠҠDB̠MP DAYP PAPؠƠMP SS MPBN0N DAҠUPUԠ'ҠMP+' ҠK DBS SBSA00 BN0DAKKUPUԠ'SZA' SBA00 MPBN00 KKSZA ҠԠ3000 BN03SB00HKϠSŠƠMMUŠHPS SBSG00SAԠDŠGNAN(AD DBYP PBNԠƠNGҠPANDS DAPAUPUԠ'PAPAND' PBGƠGA̠PANDS DAҠUPUԠ'ҠPAND' DBSKNɠPANDSN--PNSK SBSA00UPUԠNSUN MPBN00 UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN ҠԠ000 PAԠ5000 ADAԠ000 GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 ADMPSԠD D00NPADMPSԠDƠPجDB DBYP PBDB̠ƠPANDDUBŠ MPD0 PBPؠƠPANDMPج MPD0 MPD00 D0DBSԠGNAŠ'DAMP'ϠG DADASSԠDNAGS SBSA00 MPD00 PؠԠ50000M5MP DB̠Ԡ60000M6DUB SԠGA̠SUԠ S00NP ASϠGSҠSUԠ̠BŠSAKD SAS DBGGSҠYPŠGA SBYP MPS00ɠUN AԠ0000MA SAԠDŠGNAN SG00NP A SASԠSԽ0ƠPANSUԠS DBSKԬ SBD00ADPPAND MPSG00ɠUN. UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN SBԠ6000 PPAŠPANDS P00NPSԠUPPANDSҠBʠDŠGN SBGԲ00GԠYPSƠϠPPANDS PANYPŠAŠYPSAADYHŠSAM? MPP03PANDSƠSAMŠYPŠ-PSS DAKM5SAVŠNPNNSNMAN SAMNԠPGAMSAGŠAA DASNPS DBMNPS SBMV DAMA00SAVŠUNPNԠM SAPԠN. Ad640SԠYPŽ0ϠNDA SAYPŠNVYPŠNԠYԠDMND. MPSG.ƠBNGNNƠϠGNNVD. KM5Dà-5 MA00DƠ+ DAKM5SŠNPANSϠVAUS SAMNԠBŠVAYBYN DAMNPS DBSNPS SBMV P03DAYPŠYPŠƠPPAND PAGƠPANDSGA̬. MPP0 PANԠƠNGҬ MPP00ɠ PAAƠA̬ MPP00ɠ SB00MMUŠƠDB̠ҠP MPP00ɠ P0DAK5Ҡ-PAҠUSAH. SB00PANDS. K5Dà5 SGMNԠNPSϠBŠSAVD SNPSDƠ+ɠSGMNԠNPSϠBŠSAVD DƠSUB00 DƠ. DƠ.G DƠBN00 DƠP00 NSHANGSUNŠ S00NP SBD00UPUԠSB.UN DAYP PAAƠPANSHA̠PS MPS0SKPDƠMPDƠPAND. PANԠƠPANSNԠMPYDV MPS0UPUԠ'DƠ' SBA00AAŠMPҠDB̠ҠP SBSԠHANGŠSUԠM0ϠMPP SBD00UPUԠDƠMP. DBSKԬ SBD00DƠPPAND. S0DBSKN SBD00DƠN--PPAND. MPS00ɠUN. DAԠ6000 y6  24170-80009 C S 0122 RTE/DOS FORTRAN IV SEGMENT 2             H0101 Q GNAŠAD D00NP(BA..PNҠϠADNGVA. SZBS(B0? MPD0NϠ-PANDNԠAADYNGS DAA PAADDҠSADDSSNAUMUA? SS MPD05N DA.A PAAƠA̠AAY SS MPD005 DB.DDUPUԠSB.DD SBD00 DAKK0DƠA SBA00 MPD00 KK0Ԡ00000 KK3DAA D005DAKK3ƠNԠҠG SBA00UPUԠDAA D00DA.AƠSԠAýMƠGSS D0SAAàSԠAàMƠGS(S D05A SAAàAý0SNŠPANDNנNGS MPD00ɠUNPANDNGSS .DDDƠ.B+DUBŠAD NԠԠ0000MNG D0SB0DSAVŠ.AϠADNGDAUM DBA SZBSGSҠMPY? SBGS00NϬSŠԠNMP. DB0D SB.ASŠ.A SBGM00GԠMMDŠƠADNGDAUM. PANԠƠNGҬ MPD03UPUԠDA PAGƠGA̬ MPD03UPUԠDA PAAƠA̬ MPD0UPUԠDD MPD00ɠNԠANYNԠADAB.. 0DNP D03DADA SBA00UPUԠDAPAN. MPD05 D0DB.DD SBD00UPUԠSB.DD DB0D SBD00UPUԠDƠ D05SBGM00 MPD0SԠAý0ANDUN. SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 GNAŠSŠ S00NPASSUMŠMƠSUŬDRSԠSAM. SA.A SA0SԠSAVŠA..PҠϠSŠDS. SBԱSԠSAVŠA..PҠϠPجDB̠SU. SBGM00GԠMƠDSԠƠS SAԲSԠSAVŠMƠDSԠƠS PANԠƠNGҬ MPS0 PAGƠGA MPS0UPUԠ'SA'NSUN. PAAƠA̬ DB.DS PAPؠƠMPؠANSҬ DB. PADB̠ƠDUBŠANS DB.D SBD00GNAŠSB.UN DB0S SBD00GNAŠDƠDSNAN MPS0 .DSԠDƠ.B+DUBŠS .ҠDƠ.B+5MPؠANS .DҠDƠ.B+DUBŠPSNANS 0SԠNP ԱSԠNP ԲSԠNP SAԠ000 ADDҠԠ0000MADDSS S0DASA SBA00UPUԠ'SA'NSUN S0DB0SԠPNҠϠMP. SBAìɠƠAã0SŠ0SԠNSAK ASNŠGSSMPY SAAàSԠAàANDAà0. SAA DAԲSԠSMƠDSNAN PAPؠMP? MPS03YS PADB̠DUB? MPS03YS MPS00 S03DBԱS SBD00GNAŠDƠSUŠƠDB̠ҠP MPS00 GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. GNAŠNVSNDŠ N00NPNNY SAYPŠ(AYPŠϠBŠNVDϠAND SBԴN(BPN.ϠSKNԠNԠM. DAN00 SAPԠUNPNԠMN SG.ƠSBàBNGNSGMNԠƠ DƠ+3GNAŠNVSND. DƠK DƠ+ ASà3N HKMMUŠ 00NPADƠMM.NԠUD DAAàBUԠMAYBŠADVANAGUSϠG SZASSGSҠPANDNPƠSAK MP00 PASKԠƠPPANDSAADYNG. MP00 SB00SŠMMUŠPANDSAND MP00 MMUŠPANDS 00NPADHNMM.SUD. DAA SZASSƠNϠPANDSNGSS MP0GϠMMUŠPPANDS PASKNƠN--PPANDNG MP0GϠHANGŠAàϠSK. SBGS00NϬSŠPPANDBŠMM. 0DASKԬɠ(A_PPANDNSAK. DBSKNɠ(B_N--PPANDNSAK SBSKԬɠPPAND_(B SASKNɠN--PPAND_(A MP00ɠUN 0DASKԠUPDAŠAàϠSKԠSN SAAàMMUANPUSGSҠP. MP0NPƠSAK. SŠHҠPAND S00NPSŠHҠƠPPANDS. DBAàƠAà0HNSMŠPAND SZBSNGSS SBGS00SŠHŠPANDNAMP MPS00ɠUN.GSSNנMPY. GԠYPSƠPϠPANDS GԲ00NPGԠMƠϠPPANDS DBSKN SB00GԠMƠNԠϠPPAND SANYPŠANDSAVŠԠNNYP. SBGԱ00GԠMƠPPAND. MPGԲ00ɠUN GԠYPŠƠPPAND GԱ00NP DBSKԬ SB00GԠMƠPPAND SAYPŠANDSAVŠԠNYP MPGԱ00ɠUN NDYPŠ 00NPNDH(BA..P. SB.A DAAàHSSMƠP.NGSS PAADDҠSAàADD? DA.AƠYSPAŠAàH.A SZB(B0ƠPPANDNGSS SBGM00HMMDŠƠ. SAMSAVŠMƠPPANDNYP. MP00ɠUN GԠMMDŠ GM00NPƠMADDҠҠ.AHANGŠ. SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADDSS SAMYSSԠMAƠ.A DAMMAKŠSUŠUPDADMSN(A MPGM00ɠUN GNAŠSŠNMP GS00NPҠSNGAANDA-BNϠMPS DAAàYPŠƠMP̠NDD. SBA00AAŠMP DBA PBADDҠSADDSSBNGSDNMP? MPGS0YS SBS00NϬSŠNԬGҠA MPGS0 GS0DANԠMPAYMAKŠMƠMP.N SAAàANDSԠAàN. SBDM00 DA.ASŠGSҠNANNG SBS00ADDSSNMP. DAADD SBDM00HANGŠSMBAKϠADDSS. DA.AƠNSԠMƠMBNGADDSSD SBDA00NϠAƠƠMP̠A..NY. GS0DA.AAVŠ.AƠMP̠NAG. MPGS00ɠUN DNŠM s NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 NAZANSN 00DA̠SAVŠNϠƠDSNPAҠSK SASAV̠SAKNNY(USUAY0 DADNAZŠSAK(PAND SASKBSAKBUNDSϠASԠD SASKԠƠDϠABŠҠASԠD SASKNDAAP. A SAԠN.ƠDSNSAK SAAàAà0 SAAàAà0 SAGG0(N''P.AD A SAPҠNAZŠPYϠ-. SAPDNAZŠPDϠ-. SAASàSԠPVUSàϠ-ASAAG. NAZŠMP̠BASŠNAMS DAKM SAMNԠMVŠDS DAPPNKM. AŬA DAA DBKϠ. BŬB DBB SBMVŠMVŠ.N.Ϡ.NԠ. NYSN DBYPؠ(BYPŠƠNPUԠPSSN. A PBKMƠNPUԠPSSNSDϠNA SAGSԠG-. PBKM6ƠNPUԠPSSNSASSGNS. SAGSԠG-. DAMSAVŠMƠPSSBŠSAMN SAԱŠUNNNAMŠNԱ. DASP̠SAVŠP̠AԠBGNNNGƠPSSB SAԲŠSAMNԠUNND DAN PBKM5ƠNPUԠPSSNSGϠϠND SS PBKMƠNPUԠPSSNSDϠPAAM SBA00AAŠNGҠMP SB3ŠPSSBŠUSŠANDSAVŠA..P. DBYP PBKMƠNPUԠPSSNSANƬ MPűGϠSAK'('ANDNNUŠP. PBKM6ƠNPUԠP.SAASSGNMNԠSAŬ MP035PSSMSAADYSANND PBKMSAMŠASABVŠҠDϠN.PAAM. MP035 PBKM3SAMŠASABVŠҠAAYMN MP035NɯϠS. PBKMƠASUBUNŠA SS MP030 DA PAB50SàAԠPANHSS? MP035YS-PSSHAGS. DASBUPUԠSBNSUN SBA00 A BNBUPUԠDƠ+ SBZ00 DAP MAMAKŠPSVŠN MPA PPNKDƠ.N. KDƠ.N KMԠ- KMԠ- KM3Ԡ-3 KMԠ- KM6Ԡ-6 KMԠ- B50Ԡ50 NPUԠM 00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM MP00 ؠDBYPؠ(BYPŠƠNPUԠPSSN PBKM6ƠASSGNMNԠSAMNԬ MPPԬɠNSHD PBKMƠDϠNA̠PAAMҬ MPPԬɠNSHD PBKMƠA̠SAMNԬ MP6 PBKM3AAYMNԠNɯϠS SS MPSG.ƠNSHUPNSGMNԠ 6SB00NPUԠMNANGHAA. SZAƠM0 MPű0NϬMSSNGDM DASKԬɠ(APҠϠMP̠HADD. MPPԬɠԠMPVAUA ű0DAK53GA̠DMҠ SB00MSSNGPAND K53Dà53 PUSHSAK SAKSHŠPANDSAK.ԠSNHGHŬUS BנHŠDϠABŬANDGSADנ.HS UNŠSNDH(ADϠBŠSAKD. (A.AGNAYPԠHA (A.AɠҠSUB^lҠAAYH(Sԩ (A0ƠPANDSNGS(S. Ơ(A0HNYPŠMƠGSS (AAND(BAŠNԠDSYDBYHSSUBUN PU00NPPUSHSAKϠSAKPANDS. SB0PUSAVŠBGS. B ADB SBԠԽ- ADBSKB SBSKԠNנPҠϠPPANDNSK. PBSKԠƠPPNSHŠSAMŬ MPDPVƠDAAP̠V SZASSƠ(A0PANDSNGSS SBAàSϠSԠAàϠPNԠϠSAKNY. NB SBSKNNנPҠϠN--PPAND. SASKԬɠSŠPANDNSAK. DBYP SZASSƠ(A0PANDSNGSS SBAàSϠSԠAàYPŠƠG.NN DBA MBNB ADBSKN(BSKN-A. SSBƠ(B<0G.NNSB SBGS00SKNSϠGNAŠSŠNMP DB0PUSŠBGS. MPPU00ɠUN DPVƠDAK3 SB00 0PUNP PPSAK Pϱ00NPϠUNSAKANDDSADPANDS. DB ADBPNUMADDN.ƠNSϠBŠPPPD SBԠMSAKϠ. ADBSKB SBSKԠNנPҠϠPPANDNSK. NB SBSKNNנPҠϠN--PPAND. BNASŠGSҠPANDAS SBAàPPPDMSAKSԠAàAND SBAàAàϠ0. MPPϱ00ɠUN. PPSAK Pϲ00NPϠUNSAKANDDSAADPAS B ADB SB̠̽- ADBSKB SBSKԠNנPҠϠPPA B SBPҠNAZŠPDŠANDPҠF0. SBPD DB PBSAV̠SPAҠSAKMPY? SSYS SBSP00NϬUPDAŠPDPҠƠPP. MPPϲ00ɠUN. PAҠABŠ-3DNS D:HŠPA D:SPY D3:ADDSSƠUNŠϠGNAŠSD PB̠DƠ Ԡ5 Ԡ0PY0DŽ DƠA00 Ԡ53+ ԠPYDŽ DƠADD00 Ԡ55- ԠPYDŽ3 DƠSUB00 Ԡ0UNAY-(BANK KԠ0PYDŽ DƠNG00 Ԡ5 ԠPY9DŽ5 DƠMPY00 Ԡ5 ԠPY9DŽ6 DƠDV00 ASà ԠPY0DŽ DƠP00 ASàҠGA̠Ҭ K3Ԡ3PY3DŽ DƠ. ASàANGA̠AND ԠPYDŽ9 DƠ.AND ASàNϠGA̠NԬ Ԡ5PY5DŽ0 DƠ.N ASàԠANA̠SSHAN Ԡ6PY6DŽ DƠ. ASàŠANA̠SSҠUA̠Ϭ Ԡ6PY6DŽ DƠ. ASàѠANA̠UA̬ Ԡ6PY6DŽ3 DƠ. ASàNŠANA̠NԠUA̬ Ԡ6PY6DŽ DƠ.N ASàGŠANA̠GAҠҠUA̠Ϭ Ԡ6PY6DŽ5 DƠ.G ASàGԠANA̠GAҠHAN Ԡ6PY6DŽ6 DƠ.G NDN gn64006  24170-80010 C S 0122 RTE/DOS FORTRAN IV SEGMENT 3             H0101 I ASMBҬ̬ìB HDN3--ADŠPSSS NAMN35PSSSANG.. Ԡ.N. ԠA00 ԠD Ԡ00 ԠS00 ԠA00 ԠH00 ԠDN00 ԠUMP ԠHA ԠMPY ԠA00 Ԡ00 ԠZ00 ԠPU00 ԠP00 ԠS. ԠV00 AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠAN ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB DƠU+DԠUNNAG ̠U+3DNGH ̠U+NUMBҠƠDSNSAK ƠU+3NPUԽ0UPUԽAG P̠U+3AVŠPGAMAN SƠU+3SNGBAKAN SƠU+3MPؠNSANԠAG. P̠U+0SAVŠP̠AԠSAԠƠɯϠS AҠU+(A-GUNDM.. SנU+6PSSNSH Դ̠U+9 .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN àUMN+6ADUMNUN--SUŠNŠUMNPN NҠUMN+PNҠϠMPDDϠN.VA DUMN+9DϠABŠPN(àƠASԠDϩ D0UMN+0N.DSPҠNY(BASDNM DUMN+ DUMN+DMNSN D3UMN+3DMNSN3 .ŠUMN+9HDS(.A DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NƠUMN+NϠAGAG NנUMN+5 ҠUMN+9BԠDŠDYP SP̠UMN+5SAVŠP̠AԠBGNNNGƠD SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK 0̠UMN+6 àUMN+63MNANGHAA رUMN+65ASSGNABŠPNҠҠD. زUMN+66ASSGNABŠPNҠҠD. 3UMN+6ASSGNABŠPNҠҠD3.-AB Ա̠UMN+3 MPADUMN+PNҠϠBGNƠMP.DϠBDY Բ̠UMN+5 DADDUMN+6ADADDSS-AԠPNҠҠP MUMN+HDSPNҠϠDϠMNA̠PA M3UMN+HDSPNҠϠDϠSPPAAM 3̠UMN+9 N3U DBSנ..SH ADBSB DBB SBPSנPSSҠSH DAAҠ(AUNDM.. MPPS׬ɠϠPPҠSAMNԠPSS SAMNԠPSSҠSHABŠ SB̠DƠSנVAU DƠADP DƠPҠ DƠױ3 DƠײ DƠ35 DƠ״6 PSנNPPSSҠSH SUBԠ00U(SUBUNũ K6Dà6 ADPSSҠ ADPU A MPP0 ŠPSSҠ PҠU ANA P0SAƠSԠɯϠAG(0ADũ A SAS. SA SBH00NPUԠHAA DAB50'(' SBSԠ-S NPUԠNGҠVAABůNSANԠ SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3r(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD DAU PAAҠUAAY? SSYS SBV00AGVAAB SBA00HASSGN NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG DADA'DA' SBA00UPUԠ'DA.A' DAKK6'B' DBƠɯϠAG(0ADũ SZBSS DAKK65'BNB' SBA00UPUԠABSUŠNSUN DB.B. DA PAB5'' MPP03MAD SBD00UPUԠ'SB.B.' DA PAB5'' SS MP53GA̠DM SBH00NPUԠHA. DA SA MPP0 K6Dà6 KK6B KK65BNB P0U DBƠUPU? DAK6 SZBN SB00ŠDUPUԠNԠAD SZ SBH00NPUԠHAA ANA SAѠSԠUD A SBAD00UPUԠABS.DAA P06SBP00-NPUԠPA DAPŠM SBS00SABSHNSAN SBA00ASSGNM A SBA00UPUԠ'DƠ.A' DA.A SAS. P0U DA PAB5'ï' MPP0 SBU00UNNPUԠUMN A SAHAҠHAҽ0NAY MP00ɯϠSԠPSS P0DB.DA.(B.Ơ.DA. DAƠɯϠAG(0ADUũ SZA SBD00UPUԠDԠUNN DBS. SZBSS MP+ NB DAP SAB DBS SB.A.ASNG-BAK. SZBrSS MP+ NB DAP SABɠA(.AP B SBS DBS BŬB DBB ADBK MPBɠϠïҠS SԠDƠUMP P0DBѠSԠƠSԠUD DAK63 SZB SB00 MPP0 P03U DB.D.(B.Ơ.D. SBD00UPUԠDԠUNN AMNŠNԠHAAҠ SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN SZA MPPNԠMAԠSAMNԠN. NPUԠSAMNԠNUMBҠ AҠNDϠBANKS DAB0 SAND+ SAND+ SAND+3 SAND+ SAND+5 DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DA PAB5'' MP+ PAB5ï SS SBU00UNNPUԠUMN A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SZ PDAK SBA00UPUԠ'DƠ.A' MPP06 PDA PAB5'' MPP0ŠDNPU NPUԠNAMŠ SB00NPUԠM SZ8A MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPANDANAMŠ? SZB SB00N A DBU PBA MPP+UAAY DAK SB00MԠSPàNN-AAYҠSMNԠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ B0Ԡ0 B00Ԡ00 KDà KDà ѠNPSԠUDƠNN-0 KDà K63Dà63 D0:NUMBҠƠDSҠM N00NP DAU PAA SS MPNؠϠ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY NؠMPN00ɠ N06DBD SZB MPN0 DBD MPN0 UPUԠABSUŠDAA AD00NP DB000ҽ0ҠABSUŠDAA(ԠD SB SB00UPUԠHŠNSUN MPAD00ɠUN 000Ԡ0ABSUŠDAA AҠԠ600U3(AAY NN-NSANԠSԠ NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN KDà K5Dà5 ɯϠSAMNԠSԠPSSҠ 00UAD(Ҡ(S A QSA̠NUMBҠSYNAؠNSSAKD SADADDASԠADADDSSDNA.. SA̠DNGHƠASԠD DAP SASP̠SAVŠP̠ϠMPUŠDSZS 0SB00NPUԠNԠMNS 5DBàSAVŠMNANGHAҠNB SZASSSMMDŠ0? MP̱0YSDMҠASUSԠNPU PBB5NϬSàAN''? MP̲YSPSSMPDϠN 5ANϬHKHHҠAD PAƠŠSBNGPSSD SBNNԠƠNPUԬMUSԠBŠVAAB DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD DA.A(AA..PҠϠVAҠҠAAYNAM DBU SZBSSƠU0 MP̱5GA̠USAGŠƠNAM. PBAҠSNAMŠNSԠANAAY? SSYS MP0NϬNNUŠPSSNG. DB PBB50SAAYNAMŠSUBSPD? SSYS MP0NϬNNUŠPSSNG. DABM3A̠P.VA.ϠGԠAAY DBK3 MPA̠..A ADDҠԠ0000 AԠ0000MA KK3AS .MPYDƠ.B+5-PNԠMPY .D.DƠ.B+MADNYϠMҠ- .B.DƠ.B+9BNAYNYϠM ..DƠ.B+30DUBŠP.DAAɯϠҠM ..DƠ.B+3A̠DAAɯϠҠM ..DƠ.B+3NGҠɯϠҠM .AY.DƠ.B+33DUBŠAAYɯϠҠM .AY.DƠ.B+3A̠AAYɯϠҠM .AY.DƠ.B+35NGҠAAYɯϠҠM .DA.DƠ.B+36 DAԠ6000 DBԠ66000 SBԠ6000 MPԠ6000 KK60MANA KK6SSB KK6SSASS ױU 0SA0̠ϠԠN0. SA.ASŠ.AAND DAHAҠPDNGHA PAB5ANNԠBŠ'' MP53Ҡ53 DA SAHAҠUPDAŠHA GԠMMDŠ SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADD SAMYSSԠMAƠƠ.A DAMMAKŠSUŠUPDADMSN(A SAԱ̠SAVŠMMDŠNԱ DAU SAԲ̠SAVŠMUSAGŠNԲ PAAҠSMANAAYNAM? SSYS MP05NϬNNUŠPSSNG DA. SZAƠ.ŠS0A̠DMNSNSNS. MP03NϬGNAŠAAYSZŠA.D D0:NUMBҠƠMNSҠAAY :(AƠMNSNAAY DAU PAA ANASS MPNAؠNN-AAYϠ SAD0D0 DAM PAPؠMPؠ? SZD0YSD0 SBN00D0D0DDD3 NAؠU SB3̠SAVŠԠN3 MP05NNUŠPSSNG 03DADA DBر SBSA00UPUԠDASԠDMNSN. DAD SZASSƠD0MPYBYSNDDM. MP0ƠD0SKPMPY. DB.MPY SBD00UPUԠSB.MPY DBز SBD00UPUԠDƠDMNSN DAD3 SZASSƠD30MPYBYHDDM. MP0ƠD30SKPMPY. DB.MPY SBD00UPUԠSB.MPY DB3 SBD00UPUԠDƠDMNSN3 0DAKK3(A'AS' DBԱ PBPؠƠMMDŠSMP SBA00UPUԠ'AS'ϠMU.BY. DASA DBB3 SBZ00UPUԠSA+3 A SA3̠SԠ3̠SϠ'NP'̠BŠUPU. 05DAԱ PAPؠƠMPؠMNɯϠSԬ MP0UPUԠSB.AY. DBԲ̠N PBAҠƠNŠAAYBNGUPU MP0"6SԠAAYNYPNԠNM PANԠNϬSԠSNGŠMNԠNY DB.. PAG DB.. PADB DB.. PAA DB.. MP0 06PANԠSԠAAYNYPNԠϠM DB.AY. PAG DB.AY. PADB DB.AY. PAA 0DB.AY. 0SBD00UPUԠSBϠUNŠҠɯ DB0 SBD00UPUԠDƠMN DA3̠SZŠDƠNDD DBԲ PBAҠƠUAAY MP09UPUԠSZŠD DAB DBԱ PBPؠƠMPج 09SBAD00UPUԠSZŠDƠԠ MP̱NSHPSSNGDM ̱0PBB50PSSDMҠANDNNU. MP̱ DAHA PAB5ƠPVUSý'' MP9NNU SZASSƠSAԠƠS MP9 MP53HSŬSYNAؠ 9SBHA ̱DBàNNYAҠPSSNGMNԬ PBB5Sà''? MP̱3YSNנDANDMAHPANS. PBB5NϬSà''? MP0YSSANNԠMNS. 9PBB5SàAAGŠUN MP̲YSؠUPADADDSSPNS 53DAK53NϬNSUN: SB00GA̠DM K53Dà53 ̱SBSƠSԠϠNN-ZϠASAAG SB0̠SAVŠà'('N0̠AND SB00NPUԠNԠMNS. DBNԠ(BNAMŠAGƠNԠM PAPؠSSMMDŠMP? SZBSSANDSԠANSAN? SSNϠ-ԠSNԠAMPؠNSAN MP5YS-MPؠNSANԠNS. SAԱ̠SAVŠMMDŠƠNԠM. DA.A SAԲ̠SAVŠ.ANASŠM0. DA^c640 DB0 SA0̠SAVŠàUSԠNPUԠAND SBàSŠà'(' DAHAҠƠ'('PDDBY'' PAB5 MP53Ҡ53 SBHA SBN00SAԠANנDҠHŠ'(' DB0 SBàSŠNԠ. DAԲ SA.ASŠ.AϠNԠMƠNDD DAԱ SZASSƠMƠNԠMSZ MP̱0NNUŠHUԠSANNNGAGAN. SBA00HSŠHSASSGNS DAMADSMMD MP5ANDNNUŠHUԠUHҠSAN ̱3SBN00SAԠNנDҠ'' A(A- ADASKԠ(ASK-(SAԠMAHHũ DBBMSAHDNHŠSAK SBMP00MSK-ϠMAHH'(' MP0NNUŠPSSNGɯϠS. ̱5DAK SB00GA̠USAGŠƠNAM KDà NԠԠ0000MNG B6  24170-80011 C S 0122 RTE/DOS FORTRAN IV SEGMENT 3             H0101 J PSSMPDDϠN̠N. ̲DAHAҠSYNAؠHAҠBŠNDؽ PAB5ƠNԠAMMA SS MP53Ҡ53 SBNNԠN.VA.MUSԠNԠBŠNSAN SBV00UMUSԠBŠVAүN DBD(BPNSϠSԠDϠABŠD. ̲3PBDϠƠNŠDϠABŠHKD MP̲6NNUŠPSSNGMPDD. ADBKPNSϠN̠VAABŠD DABɠNDϠAB.ADA..PN PA.AϠ.ƠSAMŠASMPDD MP3N̠VAABŬҠ5. ADBK3HSŠKAԠN MP̲3DϠABŠNY. ̲6DA.APSSMPDDϠN̠N SANҠSAVŠPNҠϠN̠VA. SBN00SAԠNנDҠNA.D DANҠSŠ.AϠPNԠϠNҠVA SA.A DABM DBK MPA̠..A ײU DAB5MMASԠҠɽMU SBS DABMVAUAŠMNA̠PAAMҠAND SAԴ̠AG DBK5 MPA̠..A K5Dà5 3U SAMSŠPNҠNM SA.AA..PNҠϠPAAM SBAD00SAVŠMPҠM.PAAM A SAԴ DADPASSUMŠSPSZŠS NA DBB5 PBàSàAMMA? SSYS MP̲5 DABMVAUAŠSPSZŠPAAM SAԴ̠AG DBK6 A̠SBSנ..SH DBS BŬB DBB ADBK MPBɠϠ'S' K6Dà6 ״U ̲5SAM3SAVŠPNҠϠSP-SZŠNM3 SA.AA..PNҠϠPAAM SBAD00SAVŠMPҠSP-SZŠPAAM A SAԴ DAB5 SAHA0ҠɯϠSԠHAҠ'' SBSԠMAKŠSUŠà'' SBN00HŠSYNAؠMɯϠSAMN DASK ADABMKҠMAHNGPANHS DBBM(HAԠSASDϠBDY-KNG SBMP00DNHŠSAKMSK-. DAA ҠKK0SŠNMPAD.AɠPNNG SAMPADBGNNNGƠMPDDϠBDY SBD00UPUԠDϠMNAND MP0NNUŠPSSNGϠS SAԠ000 ̲DASKBؠUPADADDSSA..PNS ADABMNAZŠSAKPNҠ SA0̠SKB- ̲DA0̠MVŠSAKPNҠϠPNԠ ADABNԠSYNAؠMNԠSAKD. SA0 DBSK MBNB ADBA(B_SAKPNҠ-SAKP SSBSSHASSAKPBNPASSD? MP33YSDNŠHPSSNGS DBAɠNϬNNUŠϠؠUPADADD. PBB50SSYNAؠAԠPAN? MP̲9YSNDMAHNGGHԠPAN PBB5NϬSSYNAؠAGHԠPAN? MP3YS̠NADADDҠD. MP̲NϬMUSԠBŠDϠNҠVAҬSKP ̲9DBBSAHUPHŠSAKҠMAHNG SBMP00GHԠPANHSS. ADABM3PNSϠSYNAؠM.BŠ. SAԱ DBAɠSPVUSSYNAؠMNԠAN SSBSSMPDDϠN̠VAAB? MP3NϬؠUPADADD.'('. NANSԠADADDSSҠD SBA00NANNGDϠNAZAN. DAԱ̬ɠ(A.AɠϠDϠN̠VA. DBԱ̠(BSKDHHNANS(A 30ADBBMNԠSYNAؠB(BNSK PB0̠SNԠSYNAؠHŠ(ƠDϠBDY? MP3YSNSԠADADDSSҠBDY PABɠNϬSԠDNA̠ϠN.VA? MP3YS-PADN.VA. MP30NϬKAԠNԠSYNAؠNSK. 3DA0̠ADDSSƠDNSAK NANANNGPNҠϠADADD. SBA00NSԠADADDSSNϠA.. MP̲NNUŠNGUPADADDS. 3DAK5ҬDϠN̠VAAB SB00PADNMPDDϠNS. 33ASԠNUMBҠƠMNSSAKD SA̠NSAKϠ0. DASKBSԠSAKPPN SASK ؠMPP0DNŠPSSNGɯϠS GԠ30000M3GA PŠԠ0000M-DPSUDϠNY PؠԠ50000M5MP DB̠Ԡ60000M6DUB AAŠMP̠ϠDϠPSSN AD00NP DB.A ADBK DBB SSBSS MPADؠNԠMP B ADB.N. SB.N..N..N.- ADؠMPAD00ɠ DMA̠NSANS KDà K3Dà3 KDà K9Dà9 K3Dà3 K3Dà3 K3Dà3 K0Dà0 KDà KDà KDà KDà K5Dà5 K6Dà6 KMDà- KMDà- KM3Dà-3 KMDà- KM6Dà-6 A̠NSANS BUK B3UK3 B5UK3 B50UK0 B5UK B5UK B5UK B60UK B5UK6 BMUKM BMUKM BM3UKM3 BMUKM NSԠADADDSS A00NPNSԠADADDSSNϠA..  DAAɠ(AADDSSƠDNASSGN. NAABŠϠNANADADDSS DBP̠MPUŠADADDSSҠD ADB̠BYADDNGNGHƠPVUS SBP̠DϠPVUSADADDSS DBAɠAKŠDNGHƠNנD SB̠MASSGN.AB.ANDPAŠN DBP̠̠ҠUSŠNԠM. SBAɠNSԠADADDSSNϠA.. AؠMPA00ɠ NנD N00NPMPŠNϠҠPVUS DASP̠D(NDDNGH MANAANDSAԠNנD. ADAP SADADDɠSŠDSZŠNASSGNAB DAP̠NYҠADADD.ҠD DBDADDƠDADD0 SZBSSNϬNNU SAP̠YSSAVŠP̠AԠSAԠƠS SASP̠SAVŠBGNNNGƠNנD. PAŠɯϠSYNAؠNSAK DA PAB50SSYNAؠAԠPAN? MPP0YSSAK. PAB5NϬSSYNAؠAGHԠPAN? MPP0YSSAK. DA.ANϬSAKPNҠϠN̠VA ҠKK0(A_.A..APNSϠNԠVA P0SBPU00SAKSYNAؠƠɯϠSԠNSK DAPŠADMҠϠDPSVDϠN SBS00SABSHDUMMYA..NY SBA00ANDASSGNԠϠAB DA.ASAKNPƠɯϠS SBPU00SYNAجHŠA..PNҠϠHS DA.A NASAVŠPNҠϠDNASSGN SADADDABŠϠHDNԠADADDSS. DBKK0 UPUԠADADDSS DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.A HSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS NؠMPN00ɠASSGNMNԠABŠPN KK0Ԡ00000DƠA 00Ԡ0000AD.NDA MAHPANHSS MP00NPMAHPANNSAK SA0MPANƠPANϠBŠMAHD SBԱMPSAHUPSKS+DNS- BNAZŠPANUN MP0DA0MPDƠDSAKNY DAAɠNNSƠSAKD(SYNAة PAB50SSYNAؠ'('? NBYSUNԽUN+ PAB5NϬSSYNAؠ''? ADBBMYSUNԠUNԠ- SZBSSSUNԠ0? MPMP03YSNSHUP DA0MPNϬ ADAԱMPUPDAŠPNҠNSAK SA0MPPNԠϠNԠSYNAؠMN MANA ADASKB(A_SKB-PN SSASSHASBMƠSAKBNPASSD? MPMP0YSMSMAHDPANS. DA0MPNϬ MANA ADASKԠ(A_SKԠ-PN SSASSHASPƠSAKBNPASSD? MPMP0NϬNNUŠSAH MP0DAK9YSMSMAHDPANS SB00NϠUN MP03DA0MPUNPNҠϠSKD+ NA(PNSϠDҠA..PN MPؠMPMP00ɠҠADADDSSSANGD 0MPBSS ԱMPBSS àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ HNSANԠ 00NP SBDɠAҠDɠBUҠϠ0 DB.A DAB ANDB ADAKM MANA SANנN׽-(ƠDSNDD SSASS MPؠDUMMYҠDNY DABDɠ.ƠSԠDƠDɠBU SAԱ DB.A ADBK 0DAB SAԱìɠSŠDDNϠDɠBU SZԱàBUMPDɠBUҠPҠBY NBBUMPDDàBY SZNנDDHAUSD? MP0N ؠMP00ɠYS ԱàBSSDɠBUҠPN BDɠDƠD BԠ UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN UPUԠDϠMNANDŠ D00NPM.DŠҠɽMMM3 DADA DBNҠDA SBSA00 DBM3ADAM3 SBGAD00 DASA DBNҠSA SBSA00 DAKK60MANA SBA00 DBMADAM SBGAD00 DBM3 DABɠHKNAMŠAGƠ.A(SP-SZũ SSASS MPD0ƠVAABŠSP-SZ SB.A SB00ƠNSANԠSP-SZ DADɠ(A_NSANԠM3 SSASS MPD0ƠPSVŠ(NMNԩ DAKKƠNGAVŠ(DMNԩSZA SBA00 DAKK0SSA kMPD03 D0DADBDBM3(ƠVAABŠSP-SZũ SBSA00 DAKK6SSB(ƠVAABŠSP-SZũ SBA00 DAKK60MANA(ƠVAABŠSP-SZũ SBA00 D0DAKK6SSASS(VA.ҠPS.SP-SZũ D03SBA00 DAMP DBMPADMP(BGNNNGƠDϠBDY SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN DؠMPD00 0MҠBSS ұ0Ԡ0000MMYN KK0SSA KKSZA GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 ADAԠ000 UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 NPUԠM 00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA8U0.*00ASSGNM MP00 NDN3 0  24170-80012 C S 0122 RTE/DOS FORTRAN IV SEGMENT 4             H0101 L ASMBҬ̬ìB HDN--SPANSSGMN NAMN5SPANSPSSS Ԡ.N. ԠBUƥ ԠA00 ԠA00 ԠDG ԠS00 Ԡ00 ԠM Ԡ ԠA00 ԠH00 ԠDN00 ԠUMP ԠMV ԠA00 ԠS00 Ԡ00 ԠZ00 ԠPAK ԠPU00 ԠP00 ԠSS00 ԠS00 ԠV00 AU0A-GS BUB-GS àU BSS50 .DPU+ؠԠABŠADD SBƠU+6SUBPҠAG(0MANSŠSUBPG. .A.U+SUBSPԠNMANAG GU+9-AG(SԠƠSUBSPԠDUMMY ƠU+NA̠SAMNԠAG MU+3SԠMMNASSGNMNԠPN ̠U+NUMBҠƠDSNSAK MPU+9UMPAN M̠U+30MDŠAG NUGU+3N.ƠUVANŠGUPS P̠U+3AVŠPGAMAN YPƠU+YPŠSAMNԠAG MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ ŠUMN+UVANŠABŠPN ƠUMN+DNK DɠUMN+3DDNANNGHŠNSANS MUMN+ UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG N̠UMN+3NUMàAG(0ƠàSADGQԩ NSUMN+NUMBҠƠSUBSPS NԠUMN+3 PƠUMN+6UPUԠPAKAG .PAKUMN+SԠHASNHHSNG ҠUMN+9BԠDŠDYP SUMN+5SUBSPԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SKBUMN+60 SKԠUMN+6 àUMN+63MNANGHAA S.UMN+SNGBAKAN N̠UMN+NԠNKAN NMNԠUMN+NAMNԠDSUPUԠG(0UD MUMN+99ASԠMMNASSGNMNԠPN NDAPK AŬA SAPK DASM AŬA DAA SASM(AàƠ'UMP' MMAU DASPSנSAMNԠPSS ADASPB̠SPANSHAB DAA MPAɠANSҠN̠Ϡ PKDƠBUƥ SMDƠUMP SPANSHABŠ SPB̠DƠSPSנVAU DƠUNPҠ DƠSUBPҠ DƠPG3 DƠNPҠ DƠAPҠ5 DƠDBPҠ6 DƠPPҠ DƠGPҠ DƠPҠ9 DƠMPҠ0 DƠUPҠ DƠDMPҠ DƠM063 UNPҠU SUBPҠUUNP PGUUNP SBà_. DƠ+3.BNGN DƠK.UNPүSUBPүPG DƠ+.SGMN ASà3Nà_. ҠïҠSԠ ԠB DA PAB5'' MPMMAý SBƠAҠNA̠AG DBK SԠADBS+?M A SADGSԠDMMUVAG MPBɠϠSԯSM HANGŠNKS HANGŠA(.AA(Ʃ 00NP DA.A SAԱ SB00HNK DB SB.A SB00NKD DBԱ SB.A SB00NKD MP00ɠ Ա̠BSS NN-DUMMYNN-SUBPGAMSԠ NDS00NP SBNSUBԠNN-SUBPGAMS SBDUMKDUMMYHK SZA MPNDS00ɠ DAK3 SB00GA̠USŠƠDUMMYVAAB DUMMYHK DUMKNP DAKK(A-DUM ADAAԠ(AA-DUM MPDUMK KKԠ3000 NA̠ PҠANA SAƠSԠԠAG SBNM00NPUԠNAM SBS00AGSUBPGAM MPԠҠïҠS VAҠԠ00U(VAABŠҠNSANԩ NGҠ NPҠDAN MPYP0 A̠ APҠDAA MPYP0 DB̠Ԡ60000M6DUB DUBŠPSN DBPҠDADB MPYP0 NԠԠ0000MNG AԠ0000MA GԠ30000M3GA PؠԠ50000M5MP KK0ԠԠ0000 MPؠ PPҠDAP MPYP0 GA̠ GPҠDAG YP0Sԃ?AM̠M̠SԠϠHŠMDŠYPD DASƠASԠSAMNԠAG SZA MPYP06SԠSAMNԠƠPGAM YP0ANA SAYPƠSԠYPŠAG DANMNԠNAMNԠDUPUԠY? SZAYS SB00NϬUPUԠ SBNM00NPUԠNAM DA.A PASB SS MPYP05 DA.A ANDKK0 PAM̠HKҠMƠ-YPDUNN MPYP05 DAK3 SBMUNNNAMŠ-YPD MPYP06-3 YP05U DAM SBDM00DNŠM SBA00HASSGN DBU DAVA SZBSS MPYP09 YP0U A SAYPƠSԠYPŠAG MPNDMϠNPUԠDMNSN YP06U SBS00SAVŠ SBDN00NPUԠDNA DA ҠB'' SZA MPYP0YPŠNN-UNN SZ SBS00SAVŠ SB00SŠ ANA SASPSנSԠSPS׽ҠUNN SBà_. DƠ+3. DƠK.ϠSAMNԠD DƠ+. ASà3Nà.BNGNUNNPSS YP0SB00SŠ MPYP0 YP09DBA PBSAB MPYP0 SBDU00SԠUVAүN MPYP0 K3Dà3 BԠ SABԠ000 DNŠM NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 DNŠU NY:(ANנU DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU ]NMPDU00 KK6Ԡ SAVŠà S00NP DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADNԠBŠNPU MPS00ɠ SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 KM3Dà-3 B300Ԡ300 KDà KDà K3Dà3 K6Dà6 MNԠD 00NP DAPKɠDƠPBU ADAK3 SAԱҠPBU+3 ADAK6 SAԲҠPBU+9 ADAK SA3ҠPBU+ DAK3 SAԲҬɠPBU+93(MANPGNDAҩ DAK DBSBƠMANPGAM? SZBYS SAԲҬɠPBU+9(BAYSUBPGAM DAB300B300(DNGH SA3ҬɠPBU+DNGH SZ3ҠPBU+ DAKB000(DNԽ00ƠNԽ SA3Ҭ DAKM3_. SAMNԠ.(PBU+0 DB3Ҡ.(PBU+35 ADBK. DAԱҠ. SBMVŠ_. DB3ҠPBU+ ADBK5PBU+3 A SANMNԠNAMNԠDSUPUD SABɠ_. NB.PBU+3PBU+0 SABɠ_. SBSS00SAVŠAKANDSҠNUMBS SBS00UPUԠS DASB SZASS SB00UPUԠ MP00ɠ KԠ000 ԱҠNPPBU+3 ԲҠNPPBU+9 3ҠNPPBU+ K5Dà5 K5Dà5 KMDà- KK0Ԡ600 HNK 00NP DB.A DAB ANDKK0 PAA MP0U(.AA 0NB DAB SAN̠N̽G(B ؠMP00ɠ 0NB DBBɠ(BG(.A MP0 UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN UPUԠϠ 00NP SB00UPUԠADýP A SBA00UPUԠ'NP' DASB DB.DP ADBB5.AƠ'' SBSA00UPUԠ'SB.A' A BNB SBZ00UPUԠ'DƠ+' SBSSB00SԠUPSNGBAKMPAN MP00ɠ B5Ԡ5 SBԠ6000 MPԠ6000 SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 PŠԠ0000M-DPSUDϠNY SԠUPSNGBAKMPAN SSB00NP DAPŠM SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMPSNG-BAKMPAN MPSSB00ɠ UPUԠADADDSS  A00NP DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 SPà NPUԠPAND P00NP SB00NPUԠM SZA MPP00ɠ(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD KDà KDà SPà3 NPUԠNAMŠ NM00NP SBP00NPUԠPAND DAK DBNԠSPANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND MPNM00ɠ ƠNPHANGŠNKAG(NN-0ϠHANGũ NPUԠDMNSN NDMDA PAB50'(' MPDM0 DM0DAƠHANGŠNKAGSԠ? SZASS MPԠNϬϠ'ҠïҠS' A SAƠSԠHANGŠNKAG SB00HANGŠNK MPԠҠïҠS KDà DM98NSN DMPҠANA SADGSԠDMMUVAG SBNM00NPUԠNAM DM0SBDUMKDUMMYHK B SZA B SB0DM00ƠDUMMYSŠ- DAA SAԱDMԱA DA SAԲDMԲƬSAVŠ DA.A SAƠƽ.A SBNSUBԠNN-SUBPGAMAS DAU PAA SS MP+3 DAK5 SB00AAYNAMŠDND DAK DB PBB50'(' SS SB00AAYHUԠDAA DA0DM SBSP00NPUԠSUBSP DAS.. SADɠ. DAS.MVŠS-ABŠϠD SAD+. DAS3. SAD+.. DANSN.ƠSUBSPS AҬA AҬAҠ(ANS SBS00ϠSԠMNS DADMB6000 SA.A.SUBSPԠNMANAGS A SAUU0 SBA00ASSGNM SB00HANGŠNK DB SB.A.A DAA SBDU00DNŠUA DAԱDM DNŠBASŠADDSS NY:(APNҠϠBASŠADD.ƠAAY .APҠϠAAYNAM DB.A NB DBB ADBK SABɠBADD(.AA DAԲDM SAƠSŠ MPDM0 0DMBSSSԠ00(DUMMYҠ- ԱDMBSSSAVŠA ԲDMBSSSAVŠ DMԠ6000AԽ6(DMNSNMANNY. AҠԠ600U3(AAY B50Ԡ50 B5Ԡ5 AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHIA.ADGԬSŠN MPN00 UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ NPUԠNGҠVAABŠ V00NP SBV00NPUԠNGҠVAүN DAN SZASS(ANN-0MANSNSAN MPV00 DAK SB00NSANԠMUSԠNԠBŠPSN KDà NPUԠNGҠVAABůNSANԠ V00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG A MPV00 KDà KDà K9Dà9 K3Dà3 K39Dà39 B5Ԡ5 B0Ԡ0 B5Ԡ5 KKASà KK5ASà MԠ000AԽ(MMN àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà NPUԠSUBSPԠ ϠNPUԠHŠSUBSPԠSԠMHŠPNNG(ϠH SNG. NY:(A0ƠDMNSNSDUMMY (A.G.0ƠDMNSNNSANԠNG (A..0ƠDMNSNNGҠҠVAAB :NSNϊS.ƠSUBSPS S-ABŽPNSNϠHŠASSGNMNԠAB ҠHŠNSANSHMSVS SP00NP SA0SPSAVŠ(A A SAGAҠ-AG DAB50'(' SBSԠàS A SASSUBSPԠ0 SAS3SUBSPԠ30 SANSN.ƠSUBSPS0 SP0DA0SPSŠ(A SZA MPSP06 SBN00AMNŠNԠHAA SZASS MPSP06HAAҠSADG SBV00NPUԠNGҠVAAB DAA PADUM MPSP0 DAK39NN-DUMMYDMNSNVAAB SB00NAMŠUSDHDUMMYAAYNAM SP0ANA SAGSԠ-AG DBSKB DA̠ƠMSNSAK SZA MPSP0 SP05U DA.APҠƠDUMMY SBPU00SŠNϠSAK DAN SBA00AAŠMP DA.APҠƠMP SBPU00SŠNϠSAK A ADA.N.ϠASŠMP SA.N..N..N.- MPSP0 SP06SBN00NPUԠNG DA0SPSŠNY(A SZASS MPSP000 SSASS MPSP60.G.0 SP0SBA00ASSGNM SP0DA.A SPDBԱSPADDSSƠS ADBNSN.ƠSUBSP SABɠS(NS+(A SZNSNSNS+ DANS PAK3 MPSPN33 DA PAB5ý''? MPSP0YS SPSBP00-NPUԠPA SPؠMPSP00ɠ SP6DADɠNGҠUSԠNPU ADAKM(AD- MPSP SP0NB DAB PA.A MPSPMAHD NB PBSK MPSP05NDƠSAK MPSP0YNԠNY SPNB DABɠ.AƠMP MPSP 0SPBSSSAVŠNY(AVAU ԱSPDƠS DUMԠ5000AԽ5(AVŠHNDUMMYé NPUԠNGҠ N00NP SBDN00NPUԠDNA DAMMNGҠ? PAN MP+3 DAK6N SB00MNԠANNG DAK9 DBNԠSԠANSANԠ? SZBSS SB00N DADɠHŠNGҠUSԠNPU MPN00 K6Dà6 MMNPSSҠ MPҠANA SADGSԠDMMUVAG SBH00NPUԠHA. PAB5'' MPM0ý SBU00UNNPUԠUMN M0DAB5K3ADDҠƠM06 SASPSנSԠSAMNԠPҠSנϠM06 DAMSԠMMNASSɠPҠSԠ? SZA MPM06YS SBNM00NPUԠNAM DA.A SAƠƽ.A SAMMSԠMMNASSɠP MPM0 M0SBH00NPUԠHAA PAB5'' MPM0ý DAK SB00AB̠MMNNԠAD M06UϠPSSNAMŠNMMNBK DAMASԠMMNASSGNMNԠPN SA SBNM00NPUԠNAM M0DA.A SAMASԠMMNASSGNMNԠPN SBNDS00NN-DUMMYNN-SUBPGAMS SBN00NN-MMNS DA.A ANDKKB0 ҠM SA.A SAƠSԠAGϠHANGŠNK MPNDMϠNPUԠDMNSN KKԠ0 UVANŠPSSҠ K0Dà0 UPҠSBN0G0AMNŠNԠHA. DB PBB50'(' MPU0 DAK0 SB00 U0U DAK SAPƠSԠUPUԠ.PAKAGϠ U0SBH00NPUԠHAA PAB5 MPU0ýï PAB5 SS MPU0 SBH00NPUԠHAA PAB50 MP+ PAB5 MPU0- MPU0 DAP PAK MPU06Pƽ U0SZNUGNUGNUG+ DA PAB5ï MPU05ýï SBU00UNNPUԠUMN MPU0 U05DAK DBK6 MPSԠϠSAMNԠMNAN U06DAKK'' SAŬɠSŠNϠUVANŠAB MPU0 U0DAKK5'' DBP PBK MPU09Pƽ DAB5'' SA.PAK DAB0BANKHAA SBP00MNAŠPAK MPU0 U09B SBPƠSԠUPUԠAG MPU06+ NKD 00NP SAԱ SB00HNK DAԱ SABɠG(BԱ DAN̠(ANԠNK MP00ɠ ԱƠBSS NN-MMNSԠ N00NP DAK36 DBA PBM SB00GA̠USŠƠMMNNAM MPN00 K36Dà36 NN-SUBUNŠSԠ NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ K5Dà5 SUBԠ00U(SUBUNũ *NLHMNAŠPAK NPU:(AHAAҠϠBŠPAKD P00NP SBPAKPAKBANKNϠ.PAK A SAPƠSԠUPUԠPAKAG MPP00 NDN {N  24170-80013 C S 0122 RTE/DOS FORTRAN IV SEGMENT 5             H0101 N ASMBҬ̬ìB HDN5--AŠMMNGUPUVMS NAMN55̠MGPUVMS Ԡ.N. ԠA00 ԠA00 ԠDA00 Ԡ00 ԠM Ԡ ԠA00 ԠH00 ԠDN00 ԠMPY Ԡ00 ԠPU00 ԠP00 ԠV00 ԠPA ԠPA AU0A-GS BUB-GS àU BSS50 ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB GU+9-AG(SԠƠSUBSPԠDUMMY MU+3SԠMMNASSGNMNԠPN ̠U+NUMBҠƠDSNSAK NUGU+3N.ƠUVANŠGUPS P̠U+3AVŠPGAMAN SZŠU+MMNSZ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ D0UMN+0N.DSPҠNY(BASDNM DUMN+DMNSN DUMN+DMNSN D3UMN+3 ŠUMN+UVANŠABŠPN UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV ƠUMN+DNK DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+NUMBҠƠDMNSNS NSUMN+NUMBҠƠSUBSPS NԠUMN+3NAMŠAG NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP SUMN+5SUBSPuԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK àUMN+63MNANGHAA N̠UMN+NԠNKAN NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SBDN00NPUԠDNA SZA SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND MPSY00ɠ KDà KDà K3Dà3 NPUԠSԠMNԠ ϠNPUԠANMHAԠANBŠNANDHNAS ANDNSUŠHAԠHŠMHASNԠBNYPDASDUMMY ҠSUBPGAM 00NP SBSY00NPUԠSYMB SBNDS00NN-DUMMYNN-SUBPGAMS DAU PAA MP0UA SBV00AGVAAB B 0SBS ؠMP00ɠ 0SBSP00NPUԠSUBSPS SBA00HASSGNS DAK3 DBNSN.ƠSUBSPS MBNB(B-(B ADBNDN.ƠDMNSNS SSB SB00MŠSUBSPSHANDMNSNS DAS3 DBD SBMPY ADBS DAD SBMPY ADBS DAD0 SBMPY MP0 D0:NUMBҠƠDSҠM N00NP DAU PAA SS MPNؠ.Ϡ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY NؠMPN00ɠ N06DBD SZB MPN0 DBD MPN0 UPUԠADADDSSP 00NP B DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MP00 00Ԡ0000AD.NDA UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0Ԡ0000MMYN B600Ԡ600 KK0UB600 0NB DBBɠ(BG(.A MP0 PA.DƠPAҠABS.àƠPA AŠMMNMS 0ϠBSSSZŠƠMMNS N5U DAPA. AŬA DAA SAPA. DAMSԠMMNASSGNMNԠPN SAN̠NԠNK SA.A.AM SZASS MPGUNϠMMN A SA0ϠSZŠƠMMN0 MSBA00HASSGN SBN00D0:DSҠM HNK DB.A DAB ANDKK0 PAA MP0U(.A=A 0NB DAB SAN̠N̽G(B DA0 SBDA00DNŠAƽ0 DAU PAA SS MPM3 DAP SBDBA00DNŠBASŠADD. DB0 DAK SBM00UPUԠ'DƠ0' M3U DA0 ADAD0 SA0Ϡ00+D0 DAU SZASS SBV00AGVAAB DAN SA.A.ANԠNK PAM SS MPM DA0 SASZŠSZŠƠMMNS A SAM GUPUVANŠ GUU DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADNԠBŠNPU DANUGN.ƠUVANŠGUPS SZASS MPGŲϠASSGNSPAN DB DAB ANDKK0B00 PAKK6''ԠUSD MPGŲ DAKKï G0SABɠSŠNϠUVANŠAB ADBKM SBŠŽ- DAKK SABɠSŠNϠUVANŠAB G0SBS00UƽD-Šý A SAMƠSԠMMNAG G06SBH00NPUԠHAA DAK0 DB PBB50'(' SS SB00UVGUPNԠSAԠH'(' SBP00(A+U- SAPAҠ'('AN DAUƠUVABŠPҠAG SASUƠSAVŠU G0SBS00NPUԠSԠMNԠSZ DAA PAM MPGűAԽM G09DA PAB5'' MPG0ý SBP00-NPUԠPA PAB5 MPGűý PAB5 MPGű0ýï G0DAK SB00rGA̠M.ҠANUVGUP K0Dà0 KDà Gű0DAMƠANYMMNNGUP? SZASSYS MPGŲ6N GűSBP00(A+U- SAPAҠ'('AN DAMƠANYMMNNGUP SZASSYS MPG06N DASU SAUƠSŠU DAK0 SAàý GűSBS00NPUԠSԠMNԠSZ DAA PAM MPGŲ0AԽM DAS̠àƠNDŠƠNDAAY MANA ADA0G SAԱGŠԱ0-D0 SSA MPGŲMMNBASŠ..0 SBDA00DNŠA DAM SBDA00DNŠAԽM DAU PAA MP+3 SBV00AGVAAB MPGű5 DAP SBDBA00DNŠBASŠADD. DBԱG DAK SBM00UPUԠ'DƠԱ' Gű5U DAD0SZŠƠNDAAY ADAԱGŠBASŠƠNDAAY DBASAVŠN(B MANA ADASZŠ(ASZ-(D0+Ա SSA SBSZŠNנMMNSZ Gű6DA PAB5'' MPGűý SBP00-NPUԠPA SBBG00BANKUVANŠGUP SZASS(AƠUVGUPS MPGŲϠASSGNSPAN MPG0 KDà K0Dà0 MԠ000AԽ(MMN K0Dà0 KDà KK0Ԡ00 KK6Ԡ6000''ԠUSD KKԠ65ïҬï KKԠ5'ï' KMDà- KMDà- GűANA SAMƠSԠMMNAG DAS ADAA SA0GŠ0S+A MPG09 GŲ0DAS MANA ADA0G PAA MPGű60-SA DAK0 SB00MPSSBŠGUP GŲDAK SB00MMNBASŠ..0 GŲDAKKïҬï MPG0 GŲ6DANUGN.ƠUV.GUPS SZA MPGŲ GŲU A SAUƠSԠUƽ- DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MPASPàASSGNSPAN GŲSBS00UƽD-Ŭý SB00UPUԠADADDSSP DAP SASVP̠SAVŠP A SAMN.Ơ.APSNUVSAKB SAMҠM A ADAŠ(A- SAPBASŠ.ƠUVSAKAB SBH00NPUԠHAA PAB50'(' SS MPG06+UVGPNԠSAԠH'(' SBP00(A+U- SAPAҠ'('AN SBS00NPUԠSԠMNԠSZ DAS SAԱGŠԱS DA.A SAƠƽ.A DAD0 SAUMUPPҠM A SBSP00SAHUPҠSAK A SBDA00DNŠAƽ0 DA PAB5'' ASS MPG0ϠMANYHASNANPAND SAMƠSԠMMNAG G30U SBS00NPUԠSԠMNԠSZ DAD0SZŠƠSԠMN SAԴGŠԴD0 A SBSP00SAHUPҠSAK SZASS MPG3 ANA SAMƠSԠMMNAG DAS PAԱG MPG3ԱS DAK0 SB00SAMŠNAMŠHDNԠDSP. G3DA.A SAԲG DA SA.A SBA00HASSGN DBS(AA(Ʃ MBNB ADAB ADAԱG SANBASNנBAS DBԲGŠSŠ.A SB.A SBDA00DNŠAƽNBAS DBAb(A(BNBAS MANA ADAMSM..NBAS SSASS SBMYSSԠMNBAS ADBԴGŠ(BNBAS+D0(.A DAB MANA ADAUMSUM..NBAS+D0 SSAN SBUMYSSԠUMNBAS+D0 DA PAB5'' MPG30ý SBP00-NPUԠPA DA PAB5'' MPG3 PAB5ï MPG3 MPG0GA̠GUPSPAA G3SBP00(A+U- SAPAҠ'('AN SBBG00BANKUVANŠGUP DANUGN.ƠUVANŠGUPS SZASS MPGŴ6 G36DA PAB5 MPGŴýï G3SBH00NPUԠHAA PAB50'(' SS MPG06+GUPNԠSAԠH'(' SBP00(A+U- SAPAҠ'('AN DA SA3GŠ3 DAU SAPҠSAVŠU GŴ0SBS00NPUԠSԠMNԠSZ ANA SBSP00SAHUP SZASS MPGŴNԠNUPҠAB SAƠSAVŠPNҠN SAMƠSԠMMNAG DAS SAԱGŠԱS DA3G SAàSŠ DAP SAUƠSŠU MPG30 GŴDA PAB5'' MPGŴ0ý SBP00-NPUԠPA MPG36 GŴDAMƠMMNAGSԠ? SZASS MPGŴ6N A SAMƠSԠMMNAG DANUGN.ƠUVGUPS SZASS MPGŴ6MPY SBS00UƽD-Ŭý MPG3 GŴ6DAM MANA ADAUM ADAP SAP̠P̽P+UM-M SSA MPPVP̠V DBKM ADBŠ(B- GŴSBP DAMN.ƠPSNSAKAB SZASS MPGŲ6 DAPɠPKUPHŠPҠSŠԠN.A SA.A SBA00(AA(.A DBM MBNB ADAB ADASVP̠ADDP̠SAVD SAԱG SBDA00A(.AA(.A-M+SVP DAU PAA SS MPGŴ9 SB00UPUԠADADDSSP DAP SBDBA00DNŠBASŠADD A DBԱG SBM00'DƠBASŠADDҠƠAAY' GŴ9U DA SBDA00AԽ A ADAM SAMMM- B ADBPPP- MPGŴ PVDAK SB00P̠V KDà DAAMPSҠGUPUVAN MƠBSSMMNAG(0NϠMMNNGP SUƠBSSSAVŠU SVP̠BSSSAVŠP MBSSN.Ơ.APSNUVSAKB PBSSBASŠàƠUVSAKAB MBSSҠMԠƠUVGUP UMBSSUPPҠMԠƠUVGUP NBASBSSNנBASŠƠUVGUP PҠBSSSAVŠU 0GŠBSS ԱGŠBSS ԲGŠBSS 3GŠBSS ԴGŠBSS B5Ԡ5'ï' KK06ASàϠBANKS ASPàU SBà_. DƠ+3.BNGN DƠK.ASSGNSPANMS DƠ+. ASà3NG_. KDà MABASà PAɠNP BANKUVANŠGUP BANKHŠAAPAҠϠPA BG00NP DAPA. SAPA DBPAҠ''AN DAB PAMAB'' ADBKM BG0DAKK06BANKS NB SAB DAB MA ADAPA SSASS MPBG0(B..PA DA PAB5 MPBG06ýï BG0A ADANUG SANUGNUGNUG- BGؠMPBG00ɠ BG06DAKKïҬï SAPAɬ BG0DAPA PAD MPBG00 SZPA DAPAɬ PAKK06 MPBG0 ANDB3 DBKKï PAB5'' SBPAɬ DBKK'ïҠï' DAPAɬ PAMAB'' SBPAɬ MPBG0 B3Ԡ3 SAHUVANŠPNҠSAK NY:(A0NҠϠSAKƠNԠAADYNAB (ANVҠNҠHŠSAK :(A0ƠNϠMAHSŠ(APҠƠNYNASSɠAB SP00NP SA0SPSAVŠNY(A DAMN.ƠMSNSAK SZASS MPSP0MPY MANA SAԱSPԱ-M DBKM ADBŠ(B- SP0DAB PA.A MPSP0MAHD ADBKM(BNԠSAKAN SZԱSPSAKHAUSD? MPSP0N SP0DB0SPϠNҠNϠSAK? SZBYS MPSP06NϬϠ A ADAP SAPPP- DBϠASԠDàƠASSɠBŠ+ MBNB ADBA SSAP.G. MPDPVƠDAAP̠V DA.A SAPɠSŠ.ANϠSAK SZMMM+ SP06A SPؠMPSP00ɠ SP0DA.A MPSPؠϠ DPVƠDAK3 SB00DAAP̠V 0SPBSS ԱSPBSS NPUԠSԠMNԠANDSZŠ S00NP v SB00NPUԠSԠMN SBN00D0N.DPҠM MPS00ɠ SԠUƠà S00NP DA MANA ADAD SAUƠUƽD- DAK SAàý MPS00ɠ KMDà- (A'('Ҡ''ADDSS P00NP A ADAU ADAŠ(A+U- DBA ADBKM SBPAҠҠҠPN-UԠPUPS MPP00 NԠԠ0000 AҠԠ600U3(AAY ̠Ԡ000AԽ(AVŠàHNPG DUMԠ5000 DMA̠NSANS K3Dà3 K9Dà9 K3Dà3 K39Dà39 KDà KDà MASKNSANS A̠NSANS B50UK0 B5UK DNŠAԠ NY:(ANנA(.A DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 KKԠ0 DNŠBASŠADDSS NY:(APNҠϠBASŠADD.ƠAAY .APҠϠAAYNAM DBA00NP DB.A NB DBB ADBK SABɠBADD(.A(A MPDBA00ɠ KKԠ3000 NN-DUMMYNN-SUBPGAMSԠ Q NDS00NP SBNSUBԠNN-SUBPGAMS DAKK(A-DUM ADAAԠ(AA-DUM SZA MPNDS00ɠ DAK3 SB00GA̠USŠƠDUMMYVAAB B5Ԡ5 NPUԠSUBSPԠ ϠNPUԠHŠSUBSPԠSԠMHŠPNNG(ϠH SNG. NY:(A0ƠDMNSNSDUMMY (A.G.0ƠDMNSNNSANԠNG (A..0ƠDMNSNNGҠҠVAAB :NSN.ƠSUBSPS S-ABŽPNSNϠHŠASSGNMNԠAB ҠHŠNSANSHMSVS SP00NP SA0SPSAVŠ(A A SAGAҠ-AG SAS SASSUBSPԠ0 SAS3SUBSPԠ30 SANSN.ƠSUBSPS0 DA DBU SSB MP+5NN-UVGUPPSSNG PAB5'' MPSP00 PAB5 MPSP00 PAB50'('? MPSP0YS DAK SB00AAYNAMŠNԠD('' KDà SP0DA0SPSŠ(A SZA MPSP06 AMNŠNԠHAAҠ SBH00NPUԠHAA UNNPUԠUMN A ADA SAàý- DAN̠0ƠHA.ADGԬSŠN SZASS MPSP06HAAҠSADG SBV00NPUԠNGҠVAAB DAA PADUM MPSP0 DAK39NN-DUMMYDMNSNVAAB SB00NAMŠUSDHDUMMYAAYNAM SP0ANA SAGSԠ-AG DBSKB DA̠ƠMSNSAK SZA MPSP0 SP05U DA.APҠƠDUMMY SBPU00SŠNϠSAK DAN l SBA00AAŠMP DA.APҠƠMP SBPU00SŠNϠSAK A ADA.N.ϠASŠMP SA.N..N..N.- MPSP0 SP06SBN00NPUԠNG DA0SPSŠNY(A SZASS MPSP000 SSASS MPSP60.G.0 SP0SBA00ASSGNM SP0DA.A SPDBԱSPADDSSƠS ADBNSN.ƠSUBSP SABɠS(NS+(A SZNSNSNS+ DANS PAK3 MPSPN33 DA PAB5ý''? MPSP0YS SPSBP00-NPUԠPA SPؠMPSP00ɠ SP6DADɠNGҠUSԠNPU ADAKM(AD- MPSP SP0NB DAB PA.A MPSPMAHD NB PBSK MPSP05NDƠSAK MPSP0YNԠNY SPNB DABɠ.AƠMP MPSP 0SPBSSSAVŠNY(AVAU ԱSPDƠS NPUԠNGҠVAABŠ V00NP NPUԠNGҠVAABůNSANԠ SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB SBNSԠNGҠS SBNNԠNN-NSANԠS MPV00 NPUԠNGҠ N00NP SBDN00NPUԠDNA SBNSԠNGҠS DAK9 DBNԠSԠANSANԠ? SZBSS SBMN DADɠNLHHŠNGҠUSԠNPU MPN00 NN-SUBUNŠSԠ NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ K5Dà5 SUBԠ00U(SUBUNũ NGҠSԠ NSԠNP DAMMNGҠ? PAN MPNSԬɠYS DAK6N SB00MNԠANNG K6Dà6 NN-NSANԠSԠ NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN KDà SPà3 NDN5 %N  24170-80014 C S 0122 RTE/DOS FORTRAN IV SEGMENT 6             H0101 P ASMBҬ̬ìB HDN6--NNԯMԯBSNDƯɯND NAMN65PSSSGUP Ԡ$ND ԠA00 ԠDɠ ԠDA00 ԠD00 Ԡ00 ԠM ԠS00 Ԡ ԠA00 ԠDA ԠGNA00 Ԡ00 ԠH00 ԠDN00 ԠDS00 ԠUMP ԠA ԠA00 ԠS00 Ԡ00 ԠZ00 ԠPAK ԠPS00 ԠSU00 ԠSS00 ԠV00 AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠAN .DPU+ؠԠABŠADD UDU+5.U.ƠSԠDV NPU+ƠNSPҠPAG DϠU+5PҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+DԠUNNAG ƠU+0ҠAG(ƠMS00AD PNU+NN-0ϠŠPN MPU+9 P̠U+3AVŠPGAMAN SƠU+35SUBUNůUNNAG(SԠ AUNN SPƠU+36UNԠSAMNԠV NNŠU+3-(ƠNSMANDNPAGũ Ա̠U+5MƠƠPSSN Դ̠U+9'DAA''AS'AG .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AԠUMN+5ADDSSYP DUMN+9àƠASԠD D0UMN+0N.DSPҠNY(BASDNM DԠUMN+DGԠUN DɠUMN+3DDNNNGHŠNSANS MUMN+MMD UUMN+MUSAG SƠUMN+9ASԠSWAMNԠAG SNUMN+30ASԠSAMNԠNUMBҠAG SPUMN+3ASԠPANAG NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NנUMN+5NUMBҠƠDSNASSGNMNԠNY PƠUMN+6UPUԠPAKAG .PAKUMN+ ҠUMN+9BԠDŠDYP ϠUMN+5 SPSנUMN+56SAMNԠPSSҠSH àUMN+63MNANG.HAA S.UMN+SNGBAK. DUMN+90DDBSS3 N6U DAMP AŬA DAA SAMP̠(A'UMP' DASPSנSAMNԠPSSҠSH ADAKM5 ADAPB DAA MPAɠϠSAMNԠPSS MP̠DƠUMP SMADBMP MPBɠϠSԯSM SAMNԠPSSҠABŠ PB̠DƠ+SPSנVAU DƠNPҠ5 DƠNPҠ6 DƠMPҠ DƠBKSPҠ DƠNPҠ9 DƠPҠ0 DƠNDPҠ NDŠPSSҠ NPҠDAB00ؽҠND- MPB0 BAKSPAŠPSSҠ BKSPҠDAB00ؽҠBAK-SPA MPB0 B00Ԡ00 NDPSSҠ PҠDAB00ؽҠND B0SAԱBҠSAVŠ SBDN00NPUԠDϠNԠASSGN SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00GA̠PAND SBV00AGVAAB DAMMNGҠ? PAN ,MP+3 DAK6N SB00MNԠANNG DADA'DA' SBA00UPUԠ'DA.A' DAԱBҠ(ة ADAG+30000B SADɠDɽ30YY DAN SBS00SABSHNSAN SBA00ASSGNM DAADA SBA00'DAADA' DB.APŠ.Ơ'.AP' SBD00UPUԠDԠUNN SԠDBK MPSMϠ'S' KDà .APŠDƠ.B+39ҠNDBAKSPAŬҠND ԱBҠBSSSAVŠ ADAԠ000 AҠDϠ0 DNP A SAD SAD+ SAD+ MPD KDà K6Dà6 B50Ԡ50 B5Ԡ5 K9Dà9 K0Dà0 MAԠPSSҠ MPҠDAK SAPƠSԠUPUԠAG SBH00NPUԠAHA PAB50'('? MP+3YS DAK9 SBMSԠHAҠNN'(' DASNUNԠSAMNԠ'S.A SZASS MPMP NA DBA SZBSS DBP ADBKM SBA MPA SAPM MPSBD SBDS00NPUԠDGԠSNG DAD+ SADɠDɽD DA PAB0'H' MPMP9 PAB MPMP6 PAB5ï SS MPMP DA.PAK AƬA ANDB3 PAB5''? MP+3YS MP3U DAK0 SBMASԠHAҠNԠ'' A SAP DBK6 MPSMϠSAMNԠMNAN MPSB00NPUԠUMN SBPAKPAKHA. PAB5 MPMP3 DAPM SZA MPMP DAD ADAKM SADɠDɽD- SZA MPMPH.SNGNԠYԠHAUSD MPMPSNGHAUSD MP6SZPM MPMP MPDA PABý"? MPMPYS MPMPN MP9DBD SZB MPMP DAK0 PBD SSDԽ0 SB00MPYHSNG SZD MPMP K0Dà0 PMƠNPPMŠ""AG BԠ B00Ԡ00 B0Ԡ0'H' B5Ԡ5 UNPSSҠ NPҠSBH00NPUԠAHA. DBSBƠSUBPGAMAGSԠ? SB.A SZBSSYS MPNPNϬUNNMANPGAM SBN00UNHAND MPNP NPSBPM00PGAMMNANàA DAK SBM NPDAԱ̠MƠƠP. PAG SSGA MPUMP BNB SBSPSP NB MPSMGϠϠM .ҠDƠ.B+5MPؠANS .DҠDƠ.B+DUBŠPSNANS .DDDƠ.B+DUBŠAD DB̠Ԡ60000M6DUB KDà UNHAND N00NP DASƠSԠASUBUN SZASSNϬԠSAUNN MPNPYS PAKSƽ? MPNPYSSԠUNNUNN DAMP'MP' DBS SBM00UPUԠ'MPS' MPN NPDAP SASƠSAVŠP̠ƠSԠUN DBSB DAB ANDKK0B0000 PAN MPNP6M(SBƩN PAG MPNP6M(SBƩG PAA MPNP5MA DB.ҠMPؠҠUN PADB̠MDB̠? DB.DҠYS(BàƠDUBŠ SBD00UPUԠDԠUNN DAKK0'0' DBDA̠SԠAG.. SBM00UPUԠMMYNŠNS. MP+3 NP5DB.DD.ƠDUBŠADUN SBD00UPUԠDԠUNN DBSB SB.A.ASB ASS(A0ϠUPUԠ'DƠ.A' NP6DADA'DA' SBA00UPUԠA NPU DAMPɠ'MP' DBϠUN'NP'. SBM00'MPϬ' NؠMPN00ɠ KK0Ԡ00000 MPɠԠ6000 NԠԠ0000MNG UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN NNUŠPSSҠ NPҠDASPASԠPANAG ADASNASԠSAMNԠNUMBҠAG SASPSPSP+SN A SAS MPSԠïҠS MPԠ6000 HNSANԠ 00NP SBDɠAҠDɠBUҠϠ0 SBN00(A-(N.ƠDSNDD SSASS MPؠDUMMYҠDNY DABDɠ.ƠSԠDƠDɠBU SAԱ DB.A ADBK 0DAB SAԱìɠSŠDDNϠDɠBU SZԱàBUMPDɠBUҠPҠBY NBBUMPDDàBY SZNנDDHAUSD? MP0N ؠMP00ɠYS ԱàBSSDɠBUҠPN .BAD.DƠ.B+50PSUDϠ'BAD'UNϗ!N K6Dà6 KDà KK0Ԡ0000ϠAԠMD KMDà- KM5Dà-5 DAԠ6000 AԠ0000MA N00NP DB.A DAB ANDK ADAKM MANA SANנ(AN׽-(N.ƠDSND(.A MPN00 NDPSSҠ ASSGNADDSSSϠNSANS UPUԠNDDҠAD A̠NNDPASSANDANSҠN̠Ϡ K5Dà5 K30Dà30 KDà NDPҠU SBSU00UPUԠ'ND' DBDàƠASԠDϠNYNDϠAB DKSBN00SAVŠDϠABŠP PBDϠNDƠDϠABŠSAH? MPDK5YS DASNSHSSAMNԠADϠM? PAB MPDK3YS DBN00N00N00+5ϠNNUŠSAH ADBK5 MPDK DK3DAK30 SBMGA̠DϠMNA DK5U DBSN SZB SBD00DNŠAN DBP PBMP MPNDP DBSP PBK MPNDP0 DBԴ SZBSS MPNDP0 DAK SBM DAS. NA DBP SBA NDP0U DASBƠSUBPGAMAGSԠ? SA.A SZASSYS MPNDPNϬNԠASUBUNŠҠUNN SBN00UNHAND SBA00HASSGNS DAU DBSƠSԠAUNN? SZBNϬԠSASUBUN ҠVA DBA DAK6 SZB SBMUNNNAMŠNԠUSD SUBUNŠNAMŠUSD NDP3DADP NA SA.A.ADAAP̠SAԠADDSS NDPSBGNA00GԠNԠ.A SSASS MPNDP6NDƠASSGNMNԠAB HDAb8NDASSGNS DAB0 SAND SAND+ SAND+ SAND+3 SAND+ SAND+5 SBN00 SSASS MPD0NϠDD(DUMMYҠD DABND.ƠSԠDƠNDBU SAԱD DB.A ADBK D0DAB AƬA ANDB3 SAԱDɠSŠSԠHAҠNϠNDBU SZԱDBUMPNDBUҠàBY DAB ANDB3 SAԱDɠSŠNDHAҠNϠNDBU SZԱDBUMPNDBUҠàBY NBBUMPDDàBY SZNנDDHAUSD? MPD0NϬNNU D0SBA00HASSGNS DANנƠDSNNY ADAKM3 SSA MPNDPҠ-DNS DAN SZA MPNDP5NSAN PAU MPNDP9U0SAMNԠ MPNDP ԱDBSSNDBUҠPN K66Dà66 NDPDAK66 SBMPGAMUNNHUԠBDY A ADAP SAP̠P̽P- SB00 MPNDP0 NDP5DAN SZASS MPNDPNԽ0(NN-NSANԩ DAU PAVA SS MPNDPNNVAABůNSNA DAA PA MPNDPAԽ SB00UPUԠ.A.P SBD00AԽ̬A(.AP SB00HNSAN SB00UPUԠNSAN MPNDP NDP6U SB00UPUԠADýP DADP NA SA.A SBD00DNŠAN ANA SBAD00UPUԠNGҠ DB.BAD. DAƠƠSNMPAN SZA SBD00'SB.BAD.' DAұNDƠDB̠DSMAK SA SB00UPUԠD SBSS00SԠAKANDSҠNUMBS S>BS00UPUԠHŠASԠS DAƠƠS SZASS MPNP9 B NPADAKMԠ(A(A-000 SSA MPNP SZB(B(B+ MPNP NPADBB60(B000HDG BƬB SBN+ ADAK000 B NP6ADAKM00(A(A-00 SSA MPNP SZB(B(B+ MPNP6 NPADBB60(B00HDG ADBN+ SBN+ ADAK00 SBPD00PAKDGSϠAS SAN+0HUNԠDGS NP9SBAԠAԠNSԠDV DBK SBPNSԠ-PNԠAG DANDKàƠMSSAG SBPS00PNԠƠS SZ$ND DANN ADAKM SANN DAB00 ADAUD SAN SBAԠAԠNSԠDV SB DƠ+ DƠK3 DƠNϠPƠPAG DƠNN DANP MANA SANN BNGNSNDPASSANDANSҠN̠ϠԠ SBà_. DƠ+3.BNGN'SAP-UԠPN DƠK.ƠMANPGAM'SGMN DƠ+. ASà3N B60Ԡ60 KMԠDà-000 NNP B00Ԡ00 KMDà- K3Dà3 NDPSBAA00ASSGNADDҠϠVAABS MPNDP PGAMMNANàA PM00NP DB.DP ADBB6(B.Ơ'.' DASB'SB' SBSA00UPUԠ'SB.' A DBK SBZ00UPUԠ'DƠ+' DAK6 SAD DAN SBS00SABSHNSAN SBA00ASSGN'6'ϠDAAP A SBA00'DƠ6' MPPM00 NDPSBPM00PGMNANàA MPNDP3 K6Dà6 DUMԠ5000 NDP9DAA PA MPNDP PADUM MPNDP DA.A PASB MPNDPASUBUNŠNAM MVŠNDϠDɠ DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ DAND PAB00 SS MPNDP SBAԠAԠNSԠDV DAD SAUNAB DAD+ SAUNAB+ DAD+ SAUNAB+ DANDK3àƠMSSAG DBK9 SBPS00PNԠUԠUNDNDMSSAG SZƠƽ+ NP MPNDP NDPADAVA SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU SBD00DNŠ. DAP ADAD0 SAP̠P̽D0+P SSASSP̠V MPNDP PVDAK SB00P̠V KDà KK6Ԡ B6Ԡ6 ASà UNABASà9UNDND NDK3DƠUNAB ASà NҠASàNϠS NDKDƠN KM00Dà-00 K000Dà000 K00Dà00 GԠ30000M3GA SUBԠ00U(SUBUNũ VAҠԠ00U(VAABŠҠNSANԩ AҠԠ600U3(AAY ̠Ԡ000AԽ(AVŠàHNPG SABԠ000 DMA̠NSANS K9Dà9 K3Dà3 KM3Dà-3 MASKNSANS A̠NS#tANS B0UK3 B00USUBB00 B3Ԡ3 BԠDŠDYPŠMSԠPASS ұԠ60000NDƠPGAMDAADS BNDDƠND BDɠDƠD KDà KDà PAKDGS NY:(AϠDGԠDMA̠NUMBҠBNAZD :(AASɠUVANԠƠNY(A PD00NP B PD0ADAKM0(A(A-0 SSA MPPD0 SZB(B(B+ MPPD0 PD0ADAB(AUNԠDGԠNAS ADBB60(BN'SDGԠNAS BƬB ҠB(AN'SDGԠMGDHUNSDG MPPD00ɠ KM0Dà-0 K5Dà5 BUK5 SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 ASSGNADDSS ϠASSGNSAGŠϠASNGŠVAABŠҠAAY NPU:.APNSAԠHŠANDDAŠҠSAGŠASSGNMN UPU:SAGŠSASSGNDҠHŠMN(ƠNԠY ASSGNDPNDAԠBY.A AHMNԠHASSAԠSԠϠ̠ANDSAƠS ϠHŠMNSAVŠANHNHŠB UPUԠP̠BUMPDBYSZŠƠHŠMNԠҠAAY. AA00NP DANԠANAMŠ? SZAYS AAؠMPAA00 DAA PASAB SSNԠYԠASSGND MPAAؠAADYASSGND DAU PAVA MPAA0UVA PAA SSUA MPAAؠNHҠVAҠNҠAAY AA0SBD00DNŠAN DAP ADAD0SZŠƠMN SAP̠P̽P+D0 SSA MPPVP̠V MPAAؠϠ KMDà- UPUԠMPɠ 00NP DAMPɠ'MP' SBA00UPUԠ'MPɠ.A' MP00ɠ UPUԠNSANԠ 00NPUPUԠNԬAGPجҠDB DAD0NSAN. MANA SA0àHDSNG.ƠN.DSNNS. DABD SAԱàHDSADD.ƠNԠDϠU. 0DAԱìɠADPAԠƠNSANԠϠBŠU. SBAD00UPUԠD SZԱàADDSSƠNԠDϠUPU SZ0àNUMBҠƠDSԠϠUPU MP0ƠϬUPUԠMŠDS. MP00ɠƠϬDNŠUPUNGNS. 0àBSS ԱàBSS SBԠ6000 UPUԠABSUŠDAA AD00NP DB000ҽ0ҠABSUŠDAA(ԠD SB SB00UPUԠHŠNSUN MPAD00ɠUN 000Ԡ0ABSUŠDAA UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0Ԡ0000MMYN UPUԠADADDSS A00NP DA00NHFBDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NDN6 MH  24170-80015 C S 0122 RTE/DOS FORTRAN IV SEGMENT 7             H0101 R ASMBҬ̬ìB HDN--SAP-UԠSGMN NAMN5SAP5DS ԠBUƥ Ԡ ԠAK00 ԠGNA00 ԠMV ԠSAP AU0 BU àU BSS50 ..U+0 .DPU+-ԠBASŠADD. UPUDU+6 KNϠU+ASԠAKUSD DSàU+DSàGUNԠƠASԠAK MNԠU+-(DSMANDBŠMVD .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠP BUƠUMN+0SԠDƠSԠBU ƠUMN+5-ԠB̠AG KKԠ5 NDANK ANDKK35 SANK DANK ANDKK35 DAA SANK ϠSԠAƱϠ0N--AB DA.DP SA.A.ABASŠàƠ--B SAP0SBGNA00GԠNԠ.A DAƠSԠNؠB? SSASSYS MPSAPN DB.A ADBK DABɠ(ASԠϠHAS. ANDKKB5 SAB MPSAP0 SAPU SBAK00AAŠAAK A SASNNAZŠSҠ DANKɠBASŠADDҠƠSAPAA SAMVàMVŠM SAPDAKM6_. SAMN DAMVà.MVŠ6DS DBNK.NϠPBU SBMVŠ_. DAMV ADAK6 SAMVàBUMPMVŠMàBY6 DADSàGUNԠ ADAB500 SAND SBàANSҠN̠Ϡ DƠ+PNԠƠUNM DƠKŠUS DƠNDN̠NMAN NKDƠBUƥ DƠK6BUҠNGH DƠKNϠAK DƠSNSҠ SZSNBUMPSҠBY DASN PAK5DSSAPPD? SSYS MPSAPNԠY DAKM5_. SAMNԠ.MVŠABŠ DAؠ.SAPPDAA DBNKɠ. SBMVŠ_. DABNKSBANKS SABUƠSԠDƠSԠBUƠBANKS DA..PUNHDAPŠUD? SSASSYS MPSAP DAUPUD ADAB000 SAAD SB DƠ+3 DƠK3GNAŠAPŠAD DƠAD SAPU SBà_. DƠ+3.ANSҠN DƠK.ϠNDPASS DƠ+. ASà3N_. NKDƠSAPSAPAABASŠADD BNKSASà SNNPSҠ MVàNPMVŠMAN NDԠ50ŠDSàNBNAY ADàԠ00 B500Ԡ500 KDà K3Dà3 B000Ԡ000 KDà K6Dà6 KM6Dà-6 KM5Dà-5 KK35Ԡ NDPASSABSBUS ؠDƠ+BASŠADDҠƠB̠ϠMVŠϠSAP AA MAHNŠANGUAGŠNSUNABŠ MNS Ԡ0000060000660000000000003000 Ԡ000005000060000600000000 Ԡ00300006000000030 Ԡ006000060 Ԡ00000000360000 Ԡ000000030000000030 Ԡ000000300000000000000 Ԡ00000000000000 ASSNBYNSUNSYMB̠ABŠ SYMԱ Ԡ0503500005300305005 Ԡ30003500530 SYMԲ Ԡ00500006000060 Ԡ000550000560005 Ԡ5000550005000055 Ԡ500005; 3000050300 ASà0 Ԡ0055005056000553 Ԡ00055300505350055 Ԡ00505530050560050553 Ԡ00505350050005 Ԡ005056000553000553 Ԡ00505350060000 ASà0 Ԡ0055000550005 Ԡ005053500503005053 Ԡ5005000503000553 Ԡ000500505600005 Ԡ5000505500550 Ԡ53505000 NA̠UNNSYMB̠ABŠ S ASà.MP.DV.AD.SB..M.MPY ASà.DV.DD.DSԠ.Dɠ.D.D ASà.DD.ɠ.ɠ.Ҡ.ADD.SUB ASà.MPY.DV.ADD.SUB.MPY.DV ASà.DҠ.Ҡ..MAP.NҠ.D..B. ASà.......AY..AY..AY. ASà.DA..PAUS.SP.APŠ.DB̠..DM ASà..M.ɠ.DB̠.Pؠ.DPؠ.DN ASà9.NԠ.GϠ.BAD. MDŠƠMP̠ABŠ MD NP ASà....D.A. Ԡ000 BU BSS60ŠBU BU BSSADBU BUƴ BSS0 NDN   24170-80016 C S 0122 RTE/DOS FORTRAN IV SEGMENT 8             H0101 T ASMBҬ̬ìB NAMN5 HDN--NAMNԯԠDS Ԡ Ԡԥ ԠMV ԠSAP ԠBU AU0 BU àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3 UDU+5 UPUDU+6GA̠UNԠƠPUNHDV NPU+ GϠU+ADGϠAG(NN-0MANȘG UNDU+9.U.ƠSԠDV(0YSŠP SKNϠU+0SANGAKNUMB UNԠU+GA̠UNԠNUMBҠƠSԠAK SBƠU+6 NNŠU+3-(ƠNSMANDDNPAGũ SZŠU+MMNSZ MNԠU+-(DSMANDϠBŠMVD .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 BUƠUMN+0SԠDƠSԠBUƠSBANK HAD̠UMN+MN+ϠMN+50(PAGŠHADҩ PGNUMUMN+5PAGŠNBNAY ϠUMN+5 ؠUMN+BGNNNGƠNSANԠAB BASŠDƠSAPBASŠADDSSƠSAPAA NU DADBUƠDŠNDԠB. AŬA SADBU DABAS AŬA(AADDSSƠSAPAA DAAɠNMANPGAM. ADAADԠADDDSPAMNԠҠS SAADԠANDSŠBAKNAD. DAUNԠؠàN̠DSҠBNAY ҠB00 SADSàN̠DҠDSàNPU DAUPUD ҠB00 SAPUNàN̠DҠPUNHDUPU UPUԠNAMD DASKNϠDNŠDA SADA SB.ADADSNϠBU DBDBUƬɠ_. ADBB3. DABɠ. SAPAGű+.MVŠPGAMNAMj NB.ϠPAGŠHADҠN DABɠ.BU SAPAGű+. NB. DABɠ. SAPAGű+9_. DANPƠNSPҠPAG MANA SANNŠNNŽ-(ƠNSMANNG DASZŠSŠSZ DBDBUƬ ADBK SAB ADBK9MPUŠHKSUM SB SBHKSM DAKDNŠU SAU AƬA SABUƠDNGHGSNSԠD SB.ԠUPUSNAMD UPUԠNԠD DAàANSҠNԠϠSAԠƠBU SAB ADAB SAP DADBUƬ SAASS SBANS DBSBƠSHSASUBPGAM? SZBSS MPűNϬNNU DBϠNSԠSUBPGAMNYAN DADBUƬɠNϠNԠD ADAK6 SBA űU DAASSàSԠHKSMPAAMS SA SBHKSM DAB SAU SB.ԠUPUԠN ANA SAPGNUMPAGŠ UPUԠԠD(S DAK59 ADADBUƬ SABU SBS DA.DB̠SԠA SAA DAMK5 SAұ DAADԠSԠP SAP PB̠DBAɠNYNGAV? SSBSS MPADVP MBNBMAKŠPSV DAMK3 SAҲ NUSZàADԠNY DAPԬ SAì SZP SZҲ MPNU ANDKK ADAB SZD SAì MPADVԠAPPNDDN ADVPԠDAPԠSԠPԠϠNԠNY ADAB3 SAP ADVԠDA PABU SBS SZA SZұ MPPB DA.DPSԠAҠD NA SAA KϠDAA PA MPNA PADPADP? SZASԠAҠDAAP DAAɠMPUŠSN ANDB ADAA SASN DAAɠMPUŠMUSAG ANDK600 PAK00 MPPD NNԠDASNŠGϠϠNԠNY SAA MPK PDSZAMPUŠD DBA SSBSS MPNN MBNB DAàSԠDPN ADAB3 SAMP DSYMSZA DAANԠNY? PASN MPAPPD SZààADVSA DAAɠADSYMBS SAì MPDSYM APPDSZD DAMP ANDKK ADAB SAMP DAMP SA DAàBUƠD? PABU SBS MPK SŠNP DADSԠD SZASS MP.DB. A ADAD ADAB3 SAU AƬA DBDBUƬ SAB NBNDD DAU ADADBUƬ SAMP DAKK00 ADAD SAB ADBK NADAB NB PBMP MP MPN נDBDBUƬ ADBK SABɠ3 SB. SBSԠN MPSŬ NA̠SBS MP.DB. SԠNP DAK ADADBUƬ SA ASԠD SAD DAKKBBSSBUƠϠBANK DBDBUƬ ADBK60 SBMP DBDBUƬ AҠSAB NB PBMP MPSԬ MPA MPUŠHKSUM Ҷ HKSMNP DBDBUƬ NB DAB ADBK MŠADAB NB PB MPS MPM SҠDBDBUƬ ADBK SAB MPHKSM A̠SGMNԠNDϠPSSDB̠DS .DB.DANDNŠN̠D ADAUD SAN DAKM3SԠMVŠUN SAMN DAZZMVŠMPAAM DBYYMVŠϠPAAM SBMVŠMV DAKM0 SAMNԠϠMVŠ0DS DAMàMVŠM DBMàMVŠϠ SBMVŠMVŠPAGűϠHAD SBàANSҠN̠Ϡ'DB' DƠ+3 DƠK DƠ+ ASà3ND MàDƠPAGű PAGűASà0PAGŠ000PNAM MàDƠHAD KM0Dà-0 ADNMDAŠDŠ .ADNP SB DƠ+ DƠKUSԠDŠҠAD DƠDS DƠBU DƠBU DƠDA DƠDS MP.AD PUNHAPŠUPUԠϠADANDGϠŠ .ԠNP DA.. SSASS MPGHK SBàUPUԠNϠUSDPUNHUN DƠ+5 DƠKUSԠDŠҠ DƠPUN DƠBU DƠU GHKDAG SZASS MPND SBԥUPUԠϠDSKҠG DƠ+3 DƠBU DƠU NDԠMP.Ԭ ANSҠBKUNŠ  ANSNP NSDAB SAASSì NB SZASS PBP MPANS MPNS VAABSANDNSANS B3Ԡ3 BԠ B00Ԡ00 KDà KDà K6Dà6 KDà K9Dà9 KDà K59Dà59 K60Dà60 K00Ԡ00 K600Ԡ600 MK3Dà-3 KM3Dà-3 MK5Dà-5 .DB̠DƠ.B̠SAԠƠ.B ADԠDà9BASŠANƠS ASSàNPASSBƠP ұNPUNҠҠ.B̠AB ҲNPUNҠҠԠNY ANPUNԠDADDSSNABS DSԠԠ0 DAàNP DBUƠDƠBUƠBASŠADDSSƠ BUƠNPASԠADDҠƠBU DSàNP UԠԠ0NGHƠNNSUPUD PUNàNP PԠNPԠPN PҠNPPN BU̠Dà6BUƠNGH SNŠNPSAԠNԠNY MPNP MPNP àNPŠANPN DNPNUMBҠƠNS YYDƠ ZZDƠ+ ABŠƠNSANSϠBŠ SDNMMN BUƱԠ3PҠϠADàDƠDB̠ B5Ԡ5 BԠ NԠ00 KKBBԠ000 KK05Ԡ5053 KK0Ԡ0 KK05Ԡ500 KK05Ԡ500 KK06Ԡ6000 KK00Ԡ00000 KK3Ԡ300 KK60Ԡ60000 KK6Ԡ6 KK00Ԡ0060 KK50Ԡ5055 KK5Ԡ56 KK300Ԡ30060 KK30Ԡ300 KK00Ԡ0000 KK60Ԡ6000 KKԠ00 KKԠ0 NDN [$"$  24170-80017 C S 0122 RTE/DOS FORTRAN IV SEGMENT 9             H0101 V ASMBҬ̬B HDN9--NDDSYMB̠ABŬSAP-NSGMN NAMN95SAPBAK Ԡԥ ԠBUƥ Ԡƥ Ԡ.N. ԠA00 ԠAK00 ԠDɠ ԠS00 Ԡ ԠGNA00 Ԡ00 ԠMV ԠSAP ԠBU AU0 BU àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3 UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG SKNϠU+0SANGAKNUMB KNϠU+ASԠAKNUMBҠUSD KNUKNϠAKN. UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK DSàU+DSàGUNԠƠASԠAK DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. NƠU+5NҠPGAG(SԠƠPԩ NƠU+N̠AG(0SNPSSN NNŠU+3NϠƠNSSϠAҠPND AҠU+ MNԠU+-(DSMANDϠBŠMVD .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 BUƠUMN+0 .AUMN+0ASSGNMNԠABŠPN àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ ƠUMN+5ؠԠB̠AG SNUMN+ƠSSAKƠASԠAK ŠUMN+UVANŠABŠPN UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV DUMN+-.DҠNԠ..NAM DɠUMN+3DDNANNGHŠNSANS SƠUMN+9ASԠSAMNԠAG SPUMN+3ASԠPANAG PƠUMN+6UPUԠAG PGNUMUMN+5UNԠPAGŠHADNGNUMB SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK NUMN+0 NMNԠUMN+NAMNԠDSUPԠG(0UPUԩ K6Dà6 N9U DBPBUPGԠADDSSƠPBUƠNϠPBUP BŬB DBB SBPBUP DAAҠƠAҽ6UNM PAK6NH-HSYMB̠AB MPSBUSԠUPU.APHNGSUP NSUԠNDD DBױ BŬB(BB.P.DN.BUƠADDSS DBBɠ(BADDSSƠŠBU SBױNSԠNϠàA̠ҠPUNH SBײNSԠNϠԠA̠ҠG DAB000NDDNGH. SABɠSԠNGHNϠSԠD. A PASBƠƠSBƽ0MANPGAM. NASԠANSҠADDSSNDA. ADAKK0DDNԠ0NBS5-3 NB SABɠSԠNϠSNDD. NBHSSASϠHKSUM. SABɠSԠԠNϠHDD. A NBASԠDHHҠANSҠADD SABɠҠNԬS0.SԠԠND. DA..(AMPҠN̠D SSASSƠNGAVŬ MPGHKNϠ-SŠƠADANDGϠS. DAUPUDYS-PUNHNDDA. ҠB00SԠBԠNN̠D SAPUNàBNAYUPU. SB DƠ+5 DƠK DƠPUNàNBNAYNPUNHDV ױ!DƠBUƠSANGAԠŠBUҠAN DƠKҠAA̠ƠUҠDS. PUNHAҠ DAUPUD ADAB000SԠBԠNN̠D SAA̠AҠUPUԠUS SBàANDUPUԠHŠA. DƠ+3 DƠK3USԠDŽ3ҠAҠUPU DƠA UPUԠNDDϠADANDGϠŠ GHKDAGϠADANDGϠAG. SZASSƠ0NϠADANDGϠ. MPSYMB̠GϠϠSYMB̠ABŠUPUԠUN SBԥŠUԠNDD DƠ+3ADANDGϠ. ײNP DƠK SBƥ SYMB̠ABŠUPUԠUNŠ SYMB̠ABŠPGAM UPUSABŠƠANS ҠVAABSAAYSAND SAMNԠNUMBS SYMB̠DA..PNԠABŠƠԠS ANDK SZASS MPSB DBNPƠAԠP MBNBƠPAGŠAADY PBNN MPSPNNU DBNNŠNSMANNG ADBKM SBNNŠ-(NSMANNGNPAGũ SBàGϠϠPƠPAG DƠ+ DƠK3 DƠN DƠNN SPU DAK6NYPNԠ6SYMB SAAҠABŠUNŠSNNH SB DƠ+3 DƠK DƠ+ ASà3NH SAPBAKMANPGAM SBA SASNNAZŠSҠ DASBKBA&SŠADDҠƠSAPAA ANDKK35 DAA SAMVàMVŠϠAN DADSàGUNԠƠHŠASԠAK ADAB00BNAYMA SANDN̠NMAN SB0SBà_. DƠ+. DƠK.A̠àϠAD6DS DƠND.MAK'KN'S DƠ.B̠.'SN'NϠ.B DƠK6. DƠKNϠ. DƠSN_. DAKM6_. SAMNԠ. DASBK.MVŠHŠ6DSϠSAP DBMVà.AA SBMVŠ_. DAMV ADAK6 SAMVàBUMPSAPAABY6 SZSNBUMPSҠBY DASN PAKA̠SAPPDAABNMVDBAK SSYS MPSB0NԠY ASŠA̠AKS SBà_. DƠ+3.ϠASŠA DƠK5.PGAMAKS DƠKM_. MPMANUNϠPASS VAABSANDNSANS B00Ԡ00 B000Ԡ000 B000Ԡ000 KDà KDà K3Dà3 KDà K5Dà5 KDà K6Dà6 KMDà- KM6Dà-6 KK35Ԡ KK0Ԡ0000 NDԠ0ADNBNAYMA ABŠASà6SYMB̠AB PUNàԠ0 MVàNPMVŠϠAN SNNPSҠ SBKDƠ.B̠BASŠADDҠƠADBU SBKDƠSAPBASŠADDҠƠSAPAA A̠Ԡ00 N:HŠNGMUSԠBŠNHSD: KK36KK3KK3NPKK39KK0KK5 KK36Ԡ-000 KK3Ԡ-000 KK3Ԡ-3000 NP KK39Ԡ-5000 KK0Ԡ-6000 KK5Ԡ-000 BDɠDƠD KK3ASà KK33ASàN. XBBASà KM3Dà-3 K99Dà99 K05Dà05 KM3Dà-3 MSGDƠ+ ASà ASà5N. ASàҠDDAԠUMN ANNAZAN MANU DAKK3'' SAD DAKK33'N.' SAD+ DABB'' SAD+ DAKM3V SAMNԠ. DABDɠ.(PBU+35'N.' DBPBUP. ADBK3. SBMVŠV DAKM3 SAMNԠ. DAMSG(B+3'N.' DBPBUP. ADBK05 SBMVŠV SBAK00AAŠAAK DAKNAKAAD SASKNϠSANGAK DADSàG.UNԠ SAUNԠ.U.ƠSԠAK DASNƠSSAK SANS DA.. ANDK SZASS MPNPAG DBNN ADBKM SBNNŠ-(ƠNSMANDNPAGũ SB DƠ+ DƠK3ϠPƠGPAG DƠN DƠNN NPAGA SAPƠSԠNԠϠUPU SAN SASנSԠϠDŠGNANNPUԠADSƠNDD DAK3 SAàSŠUMNUN SANMNԠSԠNAMNԠAG SB00NPUԠUMN DAAB0000 DBPBUP NB SABɠDDNԽ00(NAMD DAKM-GN-DŬSZŽ5- ADBK5 SABɠSZŠƠMANPGAM A SAN DBPBUP DAB ADBK ADAK6PBU+ϠPBU+6SԠϠ0 SBN00NAZŠϠ0 DAPPNKNDƠMMNAB DBPPNK.Ơ.B SBN00NAZŠ.B̠ABŠϠ0 DBNPƠNSPҠPAG MBNB NB SBNNŠ-(ƠNSMANDNPAGũ DAK99 DBPBUP ADBK0 SABɠPYSԠϠ99 NAZŠ-BԠN-NA̠ABŠϠ0 DA.DP SA.A.ABASŠ.Ơ--AB N0SBGNA00GԠNԠASSGNMNԠPN DAƠSԠNؠAB? SSASSYS MPN0N DA.A ANDKKB6 SA.AɠSԠ-BԠϠ0 DB.AYSSԠA(.A0 NB A SAB MPN0 KKԠ6 PBUPDƠBUƥ KMDà- N0U SBDɠD_--0 DAKM SAMNԠϠMVŠDS DAPPNK3MVDM DBPPNKMVDϠ BŬB DBBɠ(B.Ơ.N. SBMVŠNAZŠMP̠SAԠS. DADPDAAP̠SAԠAN NA SAϠNDƠASSɠABŠ.+ SASKB SASKԠSKԽSKB SASƠSƠ.N.0(PԠSԠSMNԩ SASP DADϠASԠAVAABŠMMYAN SAŠŽD SADDD SASKB SASKԠSKԽSKBD A SAUƠUƽ- SADD- SZDɠDɽD+ DANԠMN SBS00SABSHNSAN SBA00ASSGNM A SANƠ_. SBà. DƠ+3.ANSҠN̠ DƠK.SNP DƠ+. ASà3N_. PPNKDƠSB PPNKDƠMNàƠNDƠMMNAB PPNK3DƠKK36 PPNKDƠ.N. K0Dà0 KDà NAZŠϠ0 N00NP MANA+*($.PBU+ϠPBU+6 ADAB SAԱPPN.M̬SƬSBƬSƬSPƬƬ A..ASԬDP̬.A.SGG PPNMSABɠ.M̬ԬYPƬ NB..B̠AB SZԱPPN. MPPPNM_. MPN00ɠ ԱPPNBSS-(UNԠƠDSBŠNAɠϠ0 K3Dà3 NԠԠ0000 AԠ0000 NDN9 ˀ*  24170-80018 C S 0122 RTE/DOS FORTRAN IV SEGMENT 10             H0101 O ASMBҬ̬ìB HDNA--ƯGϯDϯASƯA̠PSSS NAMNA5 ԠBUƥ Ԡ.N. ԠA00 ԠDA00 ԠD00 Ԡ00 ԠM ԠS00 Ԡ ԠH00 ԠDN00 ԠUMP ԠA00 Ԡ00 ԠZ00 ԠPU00 ԠP00 ԠS00 ԠV00 ԠA00 ԠASNM AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠAN ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+DԠUNNAG ƠU+6ƠAG ̠U+NUMBҠƠDSNSAK M̠U+30MDŠAG P̠U+3AVŠPGAMAN SƠU+3SNGBAKAN NƠU+N̠AG(0SNPSSN AҠU+(A-GUNDM.. Ա̠U+5MƠƠPSSN SנU+6PSSNSH Դ̠U+9 .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AGƠUMN+N.ƠAGUMNSNASUBPGAM ҠSAMNԠUNN 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ D̠UMN+6DMҠAG--S(ƠàADM DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG SWNUMN+30ASԠSAMNԠNUMBҠAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP SP̠UMN+5SAVŠP̠AԠBGNNNGƠD SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK ԱSƠUMN+6 ԱB̠UMN+6ƠSAMNԠNUMBS àUMN+63MNANGHAA DSNUMN+3DϠSAMNԠNUMBҠSAVD 0SƠUMN+3SAVŠASSɠPҠƠSMNԠUNàNAM ԲSƠUMN+5 NAU DAPK AŬA SAPK DAS AŬA DAA SASʠ(AàƠ'UMP' DBSנ..SH ADBSB DBB SBPSנPSSҠSH DAAҠ(AUNDM.. MPPS׬ɠϠPPҠSAMNԠPSS PSנNPPSSҠSH SʠDƠUMP SԠADBS MPBɠϠSʯDϯMA̲S SAMNԠPSSҠSHABŠ SB̠DƠ-6SנVAU DƠAP DƠPҠ DƠGP9 DƠGS60 DƠDPҠ DƠDϱ DƠDϲ3 DƠSPҠ DƠASƠ5 PKDƠBUƥ K0Dà0 K6Dà6 A̠PSSҠ APU SBSY00NPUԠSYMB DAK6 DBB0 PBND+5 SS SBM DBB0 SBND+5 DAND_ AƬAƠ. ҠND+. SADɠ. DAND+. AƬAƠ.(D+0 ҠND+3.(ND+035 SAD+. DAND+. AƬAƠ. ҠND+5. SAD+_ DBPK ADBK0(BàƠPGNAM DAD ҠB NB SZA MPA5 DAD+ ҠB NB SZA MPA5 DAD+ ҠB SZA MPA5 DAK5 SB00PGNAMŠSAMŠASADNAM K5Dà5 A5U DAU PASUB SS SBS00AGSUBPGAM A DBK56 MPSԠϠ'A̲' K56Dà56 SUBԠ00 00Ԡ0000AD.NDA GNAŠPGAMNANŠ GP00NPUPUԠDŠϠSAԠMANҠSUBPGAM UPUԠADADDSSP B DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS DBSB SB.A DAP SZB SBDA00A(SUBPNAMũP A SBA00UPUԠ'NP' DB.NҠGNAŠNYD: SBD00GNAŠ'SB.N' A(A_0ҠD DBSP UPUԠMMYNŠNSUN SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN GPؠMPGP00ɠUN 0MҠBSS ұ0Ԡ0000MMYN .NҠDƠ.B+ANSҠAUA̠PAAMS ͒ NPUԠDUMMYSԠ ϠPSSASԠDUMMYAGUMNS: SAMNԠUNNS SUBUNS UNNS A̠NAMSNHŠSԠAŠNDNϠHŠASSGNMN ABŠH: U0 AԽDUM AƽP ҠSAMNԠUNNSHŠDASSGNMNSAŠSAVD SϠHAԠHYANBŠSDAҠHŠSAMN UNNSPSSD. KDà D00NP DAB50'(' SBSԠàS A SAAGƠSԠN.ƠAGUMNS0 DAP SASP̠SAVŠ̠PGAMAN DAMMPؠҠDB̠? PAP SS PADB SZP̠YSBUMPP̠BY DBP SSB MPPVP̠V D0SBSY00NPUԠSYMB SB00N-ԠABŠHK DAN SZA MP+5 DAK6 DBA PBDUM SBMASƠNAMŠNSDUMMYS DAK DB.A PB0SƠASƠMAMŠNSDUMMYS SBM DAD ADAKM SBDP00DD- DBD DA.A NA DAA SABɠ(DA(.A NB DAA SABɠ(D+A(.A NB DAU SABɠ(D+U(.A NB DA.A SABɠ(D+3.A A SBDU00DNŠU(.A0 SZAGƠAGƽAG+ DAP SBDA00DNŠA(.AP DADUM SBDA00DNŠA(.ADUM SZP̠P̽P+ DAP SSA MPPVP̠V DA PAB5'' MPD0ý SBP00-NPUԠPA DؠMPD00ɠ KDà PVDAK SB00P̠V {NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SB00NPUԠM SZA MP+3 DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPANDANAMŠ? SZB SBM DAMYS(AMƠHŠPAND MPSY00ɠ KDà KDà K6Dà6 NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 KKԠ5 KK0Ԡ0000 -ԠABŠHK 00NP DA.A MANA ADADP SSANؠԠAB MP00ɠDP.G..A DB.A ADBK DAB ANDKKB5 ҠKK0B0000 SABɠSԠAƱ(.A SBA00ASSGNM MP00 ASNDƠASNM SAMNԠUNNPSSҠ SPҠU SBSY00NPUԠSYMB SB00-ԠABŠHK DBASN BŬB DBB DAD SAB NB DAD+ SAB NB DAD+ SAB DAM SAԱSƠSAVŠMƠS..NAM SAԴ̠SԠ'AS'AG DA.A SA0SƠSAVŠASSɠPҠƠS..NAM A SBDU00 SBD00NPUԠDUMMYS DA0SƠSŠASSɠPҠƠS..NAM SA.A SBD00A(.AP̬A(.A DAP SAԲSƠSAVŠ.ƠS..NP SBGP00GNAŠPGAMNAN DAB5'' SBSԠ-S A DBԱS SBMSŠMƠS..NAM DBK5 MPA̠ϠA̠.. K5Dà5 ASƠU SPDBD_. ADBK3. DABɠ.SŠASSɠP SA.A_. ADBKM_. DABɠ.SŠU SBDU00_. DBD_. NB. DABɠ.SŠA SBDA00_. DADɠV DB.A. NB. SABɠVSŠA DAD ADAK SADDD+ PADϠNDƠDϠB̠AHD? SS MPSPNԠY DA0S SA.A.AASSɠPҠƠSMNԠUNàNAM DAMP ҠKK0'MP' SBA00UPUԠA SBA00 DBU SZB MPSP SBS00AGSUBPGAM SP3U DAԲS SBDA00SԠS..NPàNϠA..ƠS.. A SAASNM DBK MPSԠïҠS SPPBVA SS MPSP5 DAK5 SBM DASUB SBDU00 MPSP3 SP5DAK5 SBM MPSP3 VAҠԠ00 KK0SSA KKSZASS UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN DNŠU NY:(ANנU DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU MPDU00 KK6Ԡi  B0Ԡ0 NPUԠSAMNԠNUMBҠ SN00NP AҠNDϠBANKS DAB0 SAND SAND+ SAND+ SAND+3 SAND+ SAND+5 DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DA PAB5'' MP+ PAB5ï SS SBU00UNNPUԠUMN A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SNؠMPSN00ɠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ B00Ԡ00 K6Dà6 KMDà- KK0Ԡ00000DƠA Ơ(PSSҠ PҠU SAԱ̠MƠVAUADVAU DAB5'' SBSԠ-S SBN00AMNŠNԠHAA SZA MPP6SAMNԠϠ DAKK0'SSA' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠN. DAMP'MP' SBA00UPUԠA DAB5'' SBSԠ-S SBSN00NPUԠSAMNԠN. DA PAB5'' MPP3ý PDA.A SAƠƽ.A MPUMP P3DAԱ̠MƠVAUADVAU PAG SS MPP DAK6 SBMGƠH3BANHS PDAKK'SZASS' SBA00UPUԠABS.NSUN DAMP'MP' SBA00UPUԠA SBSN00NPUԠSAMNԠN. MPP P6U DAK6 DBԱ̠MƠVAUADVAU PBG SS SBMAƠƠHSAMNԠϠ DAK5 DBSƠSNGAGSԠ? SZBN SB00GA̠ƠHNGA̠ DAKK6'SSASS' SBA00UPUԠABSNSUN DAPŠM SBS00SABSHNSAN SBA00ASSGNM DAMP'MP' SBA00UPUԠ'MP.A' DA.A SASƠSԠSNGAG SBN00AMNŠNԠHAA A SAM̠SԠMDŠAG NA SANƠSԠN̠AGҠSSN SBà_. DƠ+3. DƠK.ϠSAMNԠSAN DƠ+. ASà3N_. PŠԠ0000M-DPSUDϠNY KDà K5Dà5 K6Dà6 KK6SSASS UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN AMNŠNԠHAAҠ | N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN MPN00 UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ UPUԠMPɠ 00NP DAMPɠ'MP' SBA00UPUԠ'MPɠ.A' MP00ɠ DNŠAԠ NY:(ANנA(.A DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 KKԠ0 NPUԠNGҠVAABŠ V00NP SBV00NPUԠNGҠVAүN DAN SZASS MPV00 DAK SB00NSANԠMUSԠNԠBŠPSN KDà NPUԠNGҠVAABůNSANԠ V00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG A MPV00 K6Dà6 MDBK MPSԠϠ'M' MPԠ6000 SBԠ6000 GϠϠPSSҠ GPSBN00AMNŠNԠHAA SZAHA.ADG? MPGϲN SBSN00NPUԠSAMNԠNUMB DA.A SAƠƽ.A MPMGA̠MNAҠHK GϲDAD̠HA.AҠ? SZAYS MPGϴN SBV00NPUԠNGҠVAAB SB00UPUԠ'MPɬ.A' DA PAB5'' SS MP+3 SBB00NPUԠBANHS SBH00NPUԠHA A G3SA DA SASKB SASK MPUMP GϴSBB00NPUԠBANHS SBH00NPUԠAHAA PAB5ý? SS SBU00UNNPUԠUMN DAKM5 DBK0 A̠U SBSנ..SH DBK MPSԠϠS K0Dà0 GS6U SAԱGԠSAVŠ.AƠVAҠҠMP DASB'SB' DB.GϠADDҠƠ.G SBD00'SB.G' A DBԱB̠ƠSAMNS ADBK SBZ00'DƠP+N+' A DBԱGԠ.AƠVAҠҠMP SBSA00'DƠ.AƠVAҠҠMP' DA SAɠɽD G6SZ DAɬ SA.A.A(ɩ SZASS MPG3 A SBA00UPUԠ'DƠ.A' MPG6 ԱGԠNP .GϠDƠ.B+9MPUDGϠ SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 NPUԠBANHSԠ B00NP A SAԱB̠Ա0 SBH00NPUԠHA. DAB50'(' SBSԠ-S B0SBSN00NPUԠSAMNԠNUMB DA.A SBPU00SŠSMNԠN..ANSAK SZԱB̠NMNԠNUMBҠƠSMNԠNS. DA PAB5'' MPB0ý A SBPU00NҠ0NϠSAK SBP00-NPUԠPA BؠMPB00ɠ B0Ԡ0'D' BԠ'' KM5Dà-5 àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà NԠԠ0000MNG GԠ30000M3GA PؠԠ50000M5MP DB̠Ԡ60000M6DUB DUMԠ5000AԽ5(AVŠHNDUMMYé DMA̠NSANS KDà K3Dà3 KDà K3Dà3 K3Dà3 K3Dà3 K0Dà0 KDà KDà KDà K5Dà5 KMDà- KM6Dà-6 A̠NSANS B5UK3 B50UK0 B5UK B5UK B60UK B5UK6 ɠBSSSUPPMNAYND MPɠԠ6000 ̠Ԡ000 K3Dà3 K50Dà50 DϠPSSҠ DPҠUSŠ DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD SBH00NPUԠHAA PAB0'D' MPDPҴýD DAK SBMDϠMSSPD DPҴSBH00NPUԠHAA PAB'' MPDP6 DAK SBMDϠMSSPD DP6U DAK50 DBԱ̠MƠGƠP. PBG SBM A SAԱ SBSN00NPUԠSAMNԠNUMB DAK3 DBA PB SB00MUPDDNDSAMNԠN. DA.A SADSNDϠSAMNԠNUMBҠPҠSAVD SBV00NPUԠNGҠVAAB DBD DP5PBDϠASԠAVAABŠ MPDPҷ ADBK DAB PA.A MP+3 ADBK3 MPDP5 DAK5 SB00NSDDϠHSAMŠNҠVA DPҷU DAB5'' SBSԠàS DAD ADAKM5 SBDP00DD-5 DBD DADSN SABɠ(D.AƠSAMNԠNUMB ADBK DA.A SABɠ(D+.AƠNDؠVAAB DAKM DBK SBSנSԠ..SH DBK5 MPSԠϠD KMDà- K5Dà5 DϱU SBAD00AAŠMP̠ϠDϠP DBD ADBK3 SABɠ(D+3.AƠMNANGND DA PAB5ï MPDP9ýï DAKM DBK3 MPA̠..A KDà DϲU SBAD00AAŠMP̠ϠDϠP DPҸDBD NB SABɠ(D+.AƠNMNNGND ADBK3 DAP SABɠ(D+P MPMϠGA̠MNA DP9DADP NA(A.AƠHŠNGҠ MPDPҸ AAŠMP̠ϠDϠPSSN NY:(A.APNҠƠNԠNSԯNԠVAүMP AD00NP DB.A ADBK DBB SSBSS MPADؠNԠNԠMP B ADB.N. SB.N.:NLH.N..N.- ADؠMPAD00ɠ DAAP̠VנSԠ NPU:(AVAUŠƠNנD DP00NP SADD(A MANA ADA ADA̠(A+-D SSA MPDP00ɠ DAK3 SB00DAAP̠V NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 NDNA 8N  24170-80019 C S 0122 RTE/DOS FORTRAN IV SEGMENT 11             H0101 P ASMBҬ̬ìB HDNB--SPPAUSůASSGNDAAPSSS NAMNB5 Ԡ.N. ԠA00 ԠA00 ԠDɠ ԠD00 Ԡ00 ԠM ԠS00 ԠA00 ԠH00 ԠDN00 ԠUMP ԠMPY ԠA00 Ԡ00 ԠZ00 ԠPU00 ԠP00 ԠV00 AU0A-GS BUB-GS àU BSS50 DƠU+DԠUNNAG GU+9-AG(SԠƠSUBSPԠDUMMY ̠U+ƠDSNSAK P̠U+3AVŠPGAMAN SƠU+3MPؠNSANԠAG Դ̠U+90NϠ'DAA'SŠ'DAA'SS .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ D0UMN+0N.DSPҠNY(BASDNM DUMN+DMNSN DUMN+DMNSN D3UMN+3 DɠUMN+3DDNNNGHŠNSANS MUMN+MMD UUMN+MUSAG SPUMN+3ASԠPANAG N̠UMN+3NUMàAG(0Ơ9SADGɬ NDUMN+35NAMŠDDBSS6 NDUMN+NUMBҠƠDMNSNS NSUMN+NUMBҠƠSUBSPS NԠUMN+3NAMŠAG NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP SѥUMN+5SUBSPԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SPSנUMN+56SAMNԠPSSҠSH SKBUMN+60 SKԠUMN+6 àUMN+63MNANG.HAA ASSGNADDSS ϠASSGNSAGŠϠASNGŠVAABŠҠAAY NPU:.APNSAԠHŠANDDAŠҠSAGŠASSGNMN UPU:SAGŠSASSGNDҠHŠMN(ƠNԠY ASSGNDPNDAԠBY.A AHMNԠHASSAԠSԠϠ̠ANDSAƠS ϠHŠMNSAVŠANHNHŠB UPUԠP̠BUMPDBYSZŠƠHŠMNԠҠAAY. AA00NP DANԠANAMŠ? SZAYS AAؠMPAA00 DAA PASAB SSNԠYԠASSGND MPAAؠAADYASSGND DAU PAVA MPAA0UVA PAA SSUA MPAAؠNHҠVAҠNҠAAY AA0SBD00DNŠAN DAP ADAD0SZŠƠMN SAP̠P̽P+D0 SSASS MPAAؠϠ PVU DAK SB00P̠V KDà NBU DAMP AŬA DAA SAMP̠(A'UMP' DASPS ADAPB DAA MPA MP̠DƠUMP MADBMP MPBɠϠMS PB̠DƠ-SPSנVAU DƠSPP DƠPAUPҠ3 DƠASSP DƠDAAP5 SAVŠà S00NP DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADN݁ԠBŠNPU MPS00ɠ SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 MԠ000 KDà KDà DAAPSSҠ DAAPA SASנSԠϠDŠGNAN SAԲDAԠԲ0 A SAԴ̠SԠ'DAA'SS ADAD SAɠɽD-(NDƠDϠABũ DAA0U SBSY00NPUԠSYMB DAK DBA PBM SB00 DAK PBDUM SB00DUMMYUSDNDAAS DAU PAA MPDAԱ0 DAAU SB00NPUԠSԠMN SBAA00ASSGNADDSS DAAƠBASŠADDҠƠAAYҠMN ADASDSPMNԠƠAAYMNԠҠ0 SAɬɠݽA+S DAAB(B- ADBɠ(B- DA.A SABɠ-ݽ.A ADBKM DAD0NUMBҠƠDSPҠM SABɠ-ݽD0 ADBKM SBɠɽ-3 SBGDNDƠDAAAB DA PAB5 MPDAA0ý'' DAP SAԱDAԠSAVŠP DAB5'' SBSԠ-S A SAKBAҠKBAҽ0 DAD ADAK SAɠɽD+ DAKBAҠPAԠUNԠHAUSD? SZAYS MPDAA6N DAASBDN00NPUԠDϠNԠASSGN SZA MPDAA5M.N.0 NA SASƠSԠMPؠAG DAB50'(' SBSԠ-S MPDAA DAA5DAK DBN SZBSS MPDA+NAMŠNNSANoS DAM SA0DAԠMƠDAAMN DAKBA SZASS MPDA0KBAҽ0 DAA6DAԲDAԠANYHNGMANDBŠUPU? SZANϬϠPKUPNԠDAAMN MPDAAYSϠNSHUNԠAAY DA ADAKM3 SAɠɽ-3 PAG MPDAԲNDƠS DB DAB SAP̠SŠP ADBKM DAB SA.AASSGNMNԠPҠƠDAAMN ADBKM DAB SAԲDAԠSZŠƠAAYҠVAAB SBA00HASSGN DBM SB3DA PB0DA SS MPDAԠMDŠ SB00UPUԠADADDSSP DAADB3DA PB0DA SS MPDAԠMDŠ SB00UPUԠNSAN DAD0 MANA ADAԲDA SAԲDAԠԲԲ-D0(DSMANNG B ADBKBA SBKBAҠKBAҽKBA- SZBPAԠUNԠSS? MPDAA6N DA PAG MPDAԲNDƠS DA PAB5'' MPDAAϠNPUԠANHҠNSANԠMS DAԲUNDƠNSANԠS DAB5'' SBSԠ-S DAԱDA SAP̠SŠP SBH00NPUԠHAA PAB5Sý''? MPDAAPYS SB00UPUԠADADDSSP MPSԠïҠS DAA9DA PAB50'(' MPDAA DAAƠàƠAAYBAS MPDAA-(ɩA DA0DA PAB5'' MPDA0ý DA06ANA SAKBAҠKBAҽ MPDAA6 DA0DAD SAKBAҠKBAҽD- SBNSԠNGҠS MPDAA K3Dà3 DAԠDAK3 DBԱDA SBP̠7SŠP SB00 ̠Ԡ000 DAԱ0DAA PA MPDAԱ DAP SBDBA00DNŠBASŠADDҽP SB00AD.P A BNB SBZ00'DƠ+' DAԱU SBN00D0DSҠM SBAA00ASSGNADD. MPDAA9 0DAԠNPSAVŠMƠDAAMN ԱDAԠNPSAVŠP ԲDAԠNPSAVŠDSҠDAAMN 3DAԠNPMƠSԠMN ɠNPDAAABŠND GBSSPNҠϠNDƠB̠BYDAAPSS KBAҠBSSPAԠNDAҠNDAAPSS B50Ԡ50'(' B5Ԡ5'' B5Ԡ5'' B5Ԡ5'' DNŠBASŠADDSS NY:(APNҠϠBASŠADD.ƠAAY .APҠϠAAYNAM DBA00NP DB.A NB DBB ADBK SABɠBADD(.A(A MPDBA00ɠ D0:NUMBҠƠDSҠM N00NP DAU PAA SS MPNؠϠ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY SSB MPPV NؠMPN00ɠ N06DBD SZB MPN0 DBD MPN0 PAUSŠPSSҠ PAUPҠU ANA(A DB.PAUS(B.Ơ'.PAUS' MPPASԲ SPPSSҠ SPPA(A0 DB.SP(BU.Ơ'.SP' PASԲSAԱPAS SBԲPAS A SA3PASƠA̠DGS SADɠBNAYA̠DGԠSNG PAS3SBH00NPUԠHA. DAN SZA MPPASԴNN-DG DA ADABM0 SSASS MPPAS9DGԠ.G. ADAB0 DBD BƬB ҠB SADɠDɽD+à(BNAZD SZ3PASƠA̠DGS MPPAS3 PASԴU DAK69 DB3PAS ADBKM5 SSBSSSKPƠ..DGS SBMMŠHANDGS SBAUN00ASSGNUNԠN. DBԲPAS.Ơ'.PAUS'Ҡ'.SP' SBD00UPUԠDԠUNN DBK SBSPASԠPANAG MPMϠGA̠MNA PAS9DAK SBMNVADA̠DGS SBDɠNɽ0 MPPASԴ ԱPASBSS ԲPASBSS 3PASNPƠA̠DGS KM5Dà-5 BM0Ԡ-0 B0Ԡ0 K69Dà69 KDà ASSGNUNԠNUMBҠ AUN00NP DAD SZASS MPAUN0 DAN SBS00SABSHNSAN SBA00ASSGNM DADA'DA' SBA00UPUԠ'DA.A' MPAUN00ɠ AUN0DAA SBA00UPUԠ'A' MPAUN00 ASSGNPSSҠ ASSPDADA DBK SBZ00UPUԠ'DA+' DAKK66'SS' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠNUMB SZ AU A'D' SBA00UPUԠA(DƩ DAB'' SBSԠ-S SBH00NPUԠHAA DD-*($AB'' SBSԠ-S SBV00NPUԠNGҠVAAB DAK3 DBA PBDUM SBMGA̠USAGŠƠDUMMYVAAB DASA'SA' SBA00UPUԠA(SA SԠDBK MPMϠ'S' KDà UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN *  24170-80020 C S 0122 RTE/DOS FORTRAN IV SEGMENT 11             H0101 G NԠԠ0000MNG VAҠԠ00U(VAABŠҠNSANԩ AҠԠ600U3(AAY SABԠ000 DUMԠ5000 K9Dà9 K3Dà3 K3Dà3 K3Dà3 K3Dà3 K39Dà39 KM3Dà-3 KM6Dà-6 B0UK3 B60Ԡ60 B00Ԡ00 BԠ'' DAԠ6000 SAԠ000 BDɠDƠD KK66SS KDà K3Dà3 KDà KMDà- B5Ԡ5 BԠ .PAUSDƠ.B+3PAUS .SPDƠ.B+3SP NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SBNM00NPUԠNAM MPSY00ɠ NPUԠNGҠVAABŠ V00NP SBV00NPUԠNGҠVAүN SBNNԠNN-NSANԠS MPV00 NPUԠNGҠVAABůNSANԠ V00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG A MPV00 NPUԠSAMNԠNUMBҠ SN00NP SBNMAҠNDϠBANKS DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DA PAB5'' MP+ PAB5ï SS SBU00UNNPUԠUMN A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SNؠMPSN00ɠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ UPUԠNSANԠ 00NPUPUԠNԬAGPجҠDB DAD0NSAN. MANA SA0àHDSNG.ƠN.DSNNS. DABD SAԱàHDSADD.ƠNԠDϠU. 0DAԱìɠADPAԠƠNSANԠϠBŠU. SBAD00UPUԠD SZԱàADDSSƠNԠDϠUPU SZ0àNUMBҠƠDSԠϠUPU MP0ƠϬUPUԠMŠDS. MP00ɠƠϬDNŠUPUNGNS. 0àBSS ԱàBSS NPUԠSԠMNԠ ϠNPUԠANMHAԠANBŠNANDHNAS ANDNSUŠHAԠHŠMHASNԠBNYPDASDUMMY ҠSUBPGAM 00NP SBNDS00NN-DUMMYNN-SUBPGAMS DAU PAA MP0UA SBV00AGVAAB `B 0SBS ؠMP00ɠ 0SBSP00NPUԠSUBSPS SBA00HASSGNS DAK3 DBNSN.ƠSUBSPS MBNB(B-(B ADBNDN.ƠDMNSNS SSB SB00MŠSUBSPSHANDMNSNS DAS3 DBD SBMPY ADBS DAD SBMPY ADBS DAD0 SBMPY MP0 NPUԠSUBSPԠ ϠNPUԠHŠSUBSPԠSԠMHŠPNNG(ϠH SNG. NY:(A0ƠDMNSNSDUMMY (A.G.0ƠDMNSNNSANԠNG (A..0ƠDMNSNNGҠҠVAAB :NSN.ƠSUBSPS S-ABŽPNSNϠHŠASSGNMNԠAB ҠHŠNSANSHMSVS SP00NP SA0SPSAVŠ(A A SAGAҠ-AG DAB50'(' SBSԠàS A SASSUBSPԠ0 SAS3SUBSPԠ30 SANSN.ƠSUBSPS0 SP0DA0SPSŠ(A SZA MPSP06 SBN00AMNŠNԠHAA SZASS MPSP06HAAҠSADG SBV00NPUԠNGҠVAAB DAA PADUM MPSP0 DAK39NN-DUMMYDMNSNVAAB SB00NAMŠUSDHDUMMYAAYNAM SP0ANA SAGSԠ-AG DBSKB DA̠ƠMSNSAK SZA MPSP0 SP05U DA.APҠƠDUMMY SBPU00SŠNϠSAK DAN SBA00AAŠMP DA.APҠƠMP SBPU00SŠNϠSAK A ADA.N.ϠASŠMP SA.N..N..N.- MPS#P0 SP06SBN00NPUԠNG DA0SPSŠNY(A SZASS MPSP000 SSASS MPSP60.G.0 SP0SBA00ASSGNM SP0DA.A SPDBԱSPADDSSƠS ADBNSN.ƠSUBSP SABɠS(NS+(A SZNSNSNS+ DANS PAK3 MPSPN33 DA PAB5ý''? MPSP0YS SPSBP00-NPUԠPA SPؠMPSP00ɠ SP6DADɠNGҠUSԠNPU ADAKM(AD- MPSP SP0NB DAB PA.A MPSPMAHD NB PBSK MPSP05NDƠSAK MPSP0YNԠNY SPNB DABɠ.AƠMP MPSP 0SPBSSSAVŠNY(AVAU ԱSPDƠS NN-DUMMYNN-SUBPGAMSԠ NDS00NP SBNSUBԠNN-SUBPGAMS SBDUMKDUMMYHK SZA MPNDS00ɠ DAK3 SB00GA̠USŠƠDUMMYVAAB NPUԠNGҠ N00NP SBDN00NPUԠDNA SBNSԠNGҠS DAK9 DBNԠSԠANSANԠ? SZBSS SBMN DADɠHŠNGҠUSԠNPU MPN00 UPUԠABSUŠDAA AD00NP DB000ҽ0ҠABSUŠDAA(ԠD SB SB00UPUԠHŠNSUN MPAD00ɠUN 000Ԡ0ABSUŠDAA UNNPUԠUMN W U00NP A ADA SAàý- MPU00ɠ UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0Ԡ0000MMYN UPUԠADADDSS A00NP DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NN-SUBUNŠSԠ NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ K5Dà5 SUBԠ00U(SUBUNũ DUMMYHK DUMKNP DAKK(A-DUM ADAAԠ(AA-DUM MPDUMK KKԠ3000 NGҠSԠ NSԠNP DAMMNGҠ? PAN MPNSԬɠYS DAK6N SB00MNԠANNG K6@Dà6 NN-NSANԠSԠ NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN KDà NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 SPà NPUԠPAND P00NP SB00NPUԠM SZA MPP00ɠ(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD KDà KDà SPà3 NPUԠNAMŠ NM00NP SBP00NPUԠPAND DAK DBNԠSPANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND MPNM00ɠ àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN MPN00 SBԠ6000 AҠNDϠBANKS NMNP DAB0 SAND SAND+ SAND+ SAND+3 SAND+ SAc*($ND+5 MPNM NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 -SԠ MAԠNP DAB5'' SBSԠ-S MPMAԬɠ NDNB mU*  24170-80021 C S 0122 RTE/DOS FORTRAN IV SEGMENT 12             H0101 H ASMBҬ̬ìB HDNà--UNNSUBUNůPGAM NAMNì5 ԠBUƥ ԠA00 ԠDA00 Ԡ00 ԠM ԠS00 ԠH00 ԠDN00 ԠUMP ԠMV ԠA00 ԠS00 Ԡ00 ԠZ00 ԠP00 ԠSS00 AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠ. .DPU+ؠԠABŠADD ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+DԠUNNAG ̠U+NUMBҠƠDSNSAK MPU+9UMPAN M̠U+30MDŠAG P̠U+3AVŠPGAMAN SƠU+35SUBUNůUNNAG(SԠ AUNN BAD9ƠU+39NŠƠ9BADSASSUBүUNàNAM MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD AGƠUMN+N.ƠAGUMNSNASUBPGAM ҠSAMNԠUNN AGNUMN+AGUMNԠN.ϠSAVŠAG AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN DUMN+9DϠABŠPN(àƠASԠDϩ DɠUMN+3DDNANNGHŠNSANS MUMN+ UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NԠUMN+3 NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP ϠUMN+5SUBPGAMҠUNNUNAN SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SP̠UMN+5SAVŠP̠AԠBGNNNGƠD àUMN+63MNANGHAA S.UMN+SNGBAKAN NMNԠUMN+NAMNԠDSUPUԠG(0UD NàDAPK AŬA SAPK DAAɠ(ADƠPBU ADAK3 SAԱҠPBU+3 ADAK6 SAԲҠPBU+9 ADAK SA3ҠPBU+ DASPS PAK MPUNPҠUNN PAK MPSUBPҠSUBUN MPPGPGAM KDà DPVƠDAK3 SB00DAAP̠V DNŠGƠ NY:(ANנG(.A DG00NP DB.A NB SABɠG(.A(A MPDG00ɠ DNŠM NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 NŠƠBAD9HK BAD9àNP SBMNP00MVŠNDϠPBU DAKM9 SAMNԠMNԽ-9 DB9ҠBASŠADD.ƠUBSMŠUNS MNP0DAD PAB SS MPMNP0SԠNDHASNԠMAHD NB DAD+ PAB SS MPMNP03DHHASNԠMAHD NB DAD+ PAB MPMNP0A̠MAHD MPMNP05 MNP0NB MNP0NB MNP05NB SZMNԠA̠9MSHKS? MPMNP0NԠY MPBA;D9ìɠ UNNPSSҠ UNPҠANA SAS SUBUNŠPSSҠ SUBPҠDBSƠSԠSAMNԠƠPGAM? SZBN MP+3YS NSMDAK3 SB00NԠSԠSAMNԠƠPGAM SBNM00NPUԠNAM SBBAD9àϠHKHŠBAD9AB DB.A SBSBƠSԠSUBPGAMAG A SBDG00A(.A0 SB00UPUԠNAMNԠDS DAM̠MDŠAGSԠ? SZAN SBDM00DNŠM DA PAB5 MPSUBP6ýï SBD00NPUԠDUMMYS SUBPU DAP SAϠUNAN SBGP00GNAŠPGAMNAN SBSSB00SԠUPSNGBAKMP. DAAG SAAGNSAVŠN.ƠAGUMNS DAD SADDD MPSԠïҠS SUBP6DBSƠUNNS? DAK SZB SB00AUNNHNϠAGUMNԠS A SAAGƠN.ƠAGUMNS0 DAP SASP̠SAVŠP MPSUBP MNP0DAK5 SBMUBŠB.UԠASPGNAM SZBAD9ƠSԠNŠƠ9BAD'SAG MPBAD9ìɠ KM9Dà-9 K5Dà5 HŠ9UBSMŠBAYUNSN--AB 9ҠDƠ+ ASà3DB ASà3MP ASà3A ASà3SNG ASà3A ASà30 ASà3 ASà3 ASà3 SԠDBMP BŬB DBB ADBK MPBɠϠ'S' MP̠DƠUMP KDà PGAMSAMNԠPSfSҠ PGU DASƠSԠSAMN? SZASSYS MPNSMNϬ DAK3 SAԲҬɠPBU+93(MANPGNDAҩ SBN00AMNŠNԠHA. DA PAB5'ï' SS MPPG ANA SAàý MPPG6 PGU SBDN00ϠNPUԠPGAMNAM SZASKPƠM0 SBBAD9àϠHKHŠBAD9AB DA PAB50'(' MPPGý( PAB5'' MPPGý PG6U SB00MNԠD MPSԠïҠS PGDAPKɠADDҠƠPBU+9 ADAK9 SAԱPϠSAVŠPBUƠPN ADAK SAԲPϠDƠPBU+ PGSBN00AMNŠNԠHAA SZASS MPPG PG9DA PAB5'' SS MPPG3 SZԱP SBH00NPUԠAHAA PGAU DBԲPϠàƠPBU+ PBԱP MPPG3 MPPG PGSBDN00NPUԠDϠNԠASSGN DADɠDGԠSNGUSԠNPU SAԱPϬɠSŠNϠPBU SZԱPϠBUMPPBUƠPN DA PAB5 MPPGA MPPG9 PG3PAB5 MPPG6 SBH00NPUԠAHA MPPG6 PKDƠBUƥ ԱPϠBSSϠSAVŠPBUƠPN ԲPϠNPàƠPBU+ SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 UPUԠϠ 00NP SB00UPUԠADýP A SBA00UPUԠ'NP' DASB DB.DP ADBqB5.AƠ'' SBSA00UPUԠ'SB.A' A BNB SBZ00UPUԠ'DƠ+' SBSSB00SԠUPSNGBAKMPAN MP00ɠ B5Ԡ5 PŠԠ0000M-DPSUDϠNY SBԠ6000 MPԠ6000 SԠUPSNGBAKMPAN SSB00NP DAPŠM SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMPSNG-BAKMPAN MPSSB00ɠ MVŠNDϠPBU+35 MNP00NP DBB0 PBND+5 MP+ SBND+5 DAK6 SBM SBDNDMVŠNDϠD DAKM3_. SAMNԠ. DABDɠ.(PBU+35 DBPK ADBK3. SBMVŠ_. DAKM3_. SAMNԠ. DABDɠ.(B+3 DBMNPK BŬB DBB ADBK0 SBMVŠ_. MPMNP00ɠ K6Dà6 B0Ԡ0 MNPKDƠBUƥ K0Dà0 UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN MVŠNDϠDɠ DNDNP DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ MPDND MNԠD 00NP DANMNԠNAMNԠDUPUԠY? SZASSN MP00ɠYS DAK DBSBƠMANPGAM? SZBYS SAԲҬɠPBU+9(BAYSUBPGAM DAB300B300(DNGH SA3ҬɠPBU+DNGH SZ3ҠPBU+ DAKB000(DNԽ00ƠNԽ SA3Ҭ DAKM3_. SAMNԠ.(PBU+0 DB3Ҡ.(PBU+35 ADBK. DAԱҠ. SBMVŠ_. DB3ҠPBU+ ADBK5PBU+3 A SANMNԠNAMNԠDSUPUD SABɠ_. NB.PBU+3PBU+0 SABɠ_. SBSS00SAVŠAKANDSҠNUMBS SBS00UPUԠS DASB SZASS SB00UPUԠ MP00ɠ KԠ000 ԱҠNPPBU+3 ԲҠNPPBU+9 3ҠNPPBU+ GNAŠPGAMNANŠ GP00NPUPUԠDŠϠSAԠMANҠSUBPGAM SB00UPUԠADADDSSP DBSB SB.A DAP SZB SBDA00A(SUBPNAMũP A SBA00UPUԠ'NP' DB.NҠGNAŠNYD: SBD00GNAŠ'SB.N' A(A_0ҠD DBSP SBM00UPUԠDƠ-N- GPؠMPGP00ɠUN .NҠDƠ.B+ANSҠAUA̠PAAMS UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN K6Dà6 NPUԠDUMMYSԠ ϠPSSASԠDUMMYAGUMNS: SAMNԠUNNS SUBUNS UNNS A̠NAMSNHŠSԠAŠNDNϠHŠASSGNMN ABŠH: U0 AԽDUM AƽP ҠSAMNԠUNNSHŠDASSGNMNSAŠSAVD SϠHAԠHYANBŠSDAҠHŠSAMN UNNSPSSD. D00NP DAB50'(' SBSԠàS A SAAGƠSԠN.ƠAGUMNS0 DAP SASP̠SAVŠ̠PGAMAN DAMMPؠҠDB̠? PAP SS PADB SZP̠YSBUMPP̠BY DBP SSB MPPVP̠V D0SBSY00NPUԠSYMB DA.A MANA ADADP SSAN-ԠABŠ? MPD0NϬDP...A DB.A ADBK DAB ANDKKB5 ҠKK0B0000 SAB SBA00ASSGNϠDAAP D0U DAK6 DBA PBDUM SBM DAD ADAKM SBDP00DD- DBD DAA SABɠ(DA(.A NB DAA SABɠ(D+A(.A NB DAU SABɠ(D+U(.A NB DA.A SABɠ(D+3.A A SBDU00DNŠU(.A0 SZAGƠAGƽAG+W DAP SBDA00DNŠA(.AP DADUM SBDA00DNŠA(.ADUM SZP̠P̽P+ DAP SSA MPPVP̠V DA PAB5'' MPD0ý SBP00-NPUԠPA DؠMPD00ɠ PVDAK SB00P̠V KDà KKԠ5 KK0Ԡ0000 PؠԠ50000M5MP DB̠Ԡ60000M6DUB DUMԠ5000AԽ5(AVŠHNDUMMYé KDà K3Dà3 K5Dà5 K6Dà6 KDà KDà K9Dà9 KDà K3Dà3 KM3Dà-3 KMDà- B5Ԡ5 B50Ԡ50 B5Ԡ5 B300Ԡ300 BDɠDƠD NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SBNM00NPUԠNAM MPSY00ɠ DAAP̠VנSԠ NPU:(AVAUŠƠNנD DP00NP SADD(A MANA ADA ADA̠(A+-D SSASS MPDPVƠ+.G.DDAAP̠V MPDP00ɠ NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 SPà NPUԠPAND P00NP SB00NPUԠM SZA MPP00ɠ(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD KDà SPà3 NPUԠNAMŠ ^t NM00NP SBP00NPUԠPAND DAK DBNԠSPANDANAMŠ? SZB SBM DAMYS(AMƠHŠPAND MPNM00ɠ KDà AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN MPN00 UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ DNŠU NY:(ANנU DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU MPDU00 KK6Ԡ àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà DNŠAԠ NY:(ANנA(.A DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 KKԠ0 UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0<:6Ԡ0000MMYN UPUԠADADDSS A00NP DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NDN 0<  24170-80022 C S 0122 RTE/DOS FORTRAN IV SEGMENT 13             H0101 I ASMBҬ̬ìB NAMND5 HDND--DB̠DS Ԡ Ԡԥ ԠBU ԠSAP ԠBU AU0 BU àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG UNDU+9Pҽ0Pҽ0 SKNϠU+0SANGAKNUMB UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK NNŠU+3NϠƠNSSϠAҠPND .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 BUƠUMN+0SԠDƠSԠBUƠSBANK PGNUMUMN+5UNԠPAGŠHADNGNUMB NDUMN+5 ASSàUMN+53ASSBƠP ASSԱUMN+5 DŠUMN+55PD ؠUMN+56MPؠAG DɱUMN+5BԠ5D DɲUMN+5BԠ5D DAàUMN+59AKN NUMN+60NA̠DN DSàUMN+6 SNDUMN+6 PUNàUMN+63 MҠUMN+6MɠANDASɠPAAM NNSԠUMN+65NϠƠNSUNSNDB NàUMN+66ADDҠƠNԠDNBU PADDUMN+6PANDADDҠBASŠADDҠPN PҠUMN+6PN BUƱUMN+69 YàUMN+0PHASŠƠADNDAҠY NDUMN+DAANDAҠҠAD SNDUMN+DAANDAҠSNGҠAD SBUƠUMN+3ADDҠƠSԠDNSԠUPUD SSUMN+SGàƠNԠSND MPUMN+5 YàUMN+6 BUƱUMN+PҠϠADàDƠDB̠ B5UMN+ BUMN+9 NUMN+0 KKBBUMN+DUBŠBANK KK05UMN+ zKK0UMN+3 KK05UMN+ KK05UMN+5 KK06UMN+6 KK00UMN+ KK3UMN+ KK60UMN+9 KK6UMN+90 KK00UMN+9 KK50UMN+9 KK5UMN+93 KK300UMN+9 KK30UMN+95 KK00UMN+96 KK60UMN+9 KKUMN+9 KKUMN+99 ؠUPNA̠DS àԠ-3MPAYUSAG àDƠ+MPAYUSAG DBUƠDƠBUƠBASŠADDSSƠAD DBUƠDƠBUƠBASŠADDSSƠ BASŠDƠSAPBASŠADDSSƠSAPAA MNSDà0BASŠADDҠƠMAHNŠNS. DSYMDà6 DSYMDà5 ADԠDà9BASŠANƠS DMDԠDà30BASŠANƠMD ABNϠԠ-5 NDU DAì AŬA SAì SZ SZ MPNDNNUŠDNGNDԠBS ؠU DAì ADABASŬɠADDBASŠADDSSƠSAPAA SAìɠϠDSPAMNSABV. SZ SZABN MPؠNNU DAUNԠؠàN̠DSҠBNAY ҠB00 SADS DAUPUD ҠB00 SAPUN DASKNϠNAZŠSANGAKN. SADA SҬDNMANANDSUŠDUNŠ SBSUP DADBUƬ ADAB3 SABUƱ DBDBUƠSԠSBU DA..SNGSU? ANDB3B3 SZASS ADBB3NϬAҠSBU SBSBU B SBMPMP0 DA..ƠNԠSNGASSMBYDŬ ANDKDN'ԠSԠHAD SZA SBHADPNSHADNGSKPSNS ADSB.ADADNԠSҠNϠADBU DADBUƬ SAàSԠàDBU ADAB00 "BSԠBUƠND+Ϡ0 SBA AMDAìɠAMNŠSԠDƠD SZAD0?ŠSҠND? MPMP DADSԠYSASԠSҠNAK? NA PANS MPAM SZDSԠN:ADVANŠDS MPADGϠϠAD AMDADBUƬ ADAK6 SABUƱ DABUƱ SADA SZBUƱ DABUƱ SANS SZBUƱ DABUƱ ҠB00 SADS A SADSԠSԠDS MPAD MPҠDAìɠMPUŠN ANDBB DBKM5 ADBAUԠGҠHANHNBNNNG ADA SAN SAPҠSԠPҠҠSU DAìɠSUŠD? SSA MPSU SSBSSGNŠDAAD? MPDPPNϻGϠϠDAAPPUN DANàADVϠNԠD SA MPAMUNϠDAMSA SUàA SADɱ DBDBU NB DAMP0ƠSԠMŠHU SZASS SBASSàYSSԠASSàDBU+ B SBMPMP0 DBàSԠB NB SBANSANSҠSUŠD SBàSԠNԠDSA DADɱSUŠDNDD SSA SZMPMPƠDɱSN SSA MPAM DA..UPUԠSU? ANDKD SZA SBS MPAM K6Dà6 B00Ԡ00 K9Dà9 K5Dà5 BB̠DƠ.B̠BASŠANƠ.B DBUƠDƠBUƠBASŠADDSSƠS MPBSSMAKSHNSUŠàSP SKP ADNMDAŠDŠ .ADNP SB DƠ+ DƠK DƠDS DƠoBU DƠBU DƠDA DƠDS MP.AD KDà SKP ANSҠBKUNŠ ANSNP NSDAB SAASSì NB SZASS PBP MPANS MPNS SKP PPAANҠDAAKNGSGMNԠUNŠ DPPSZ DAìɠMPUŠNנSAGŠADDSSNA A̬ŬSAASKPSƠAGMVS MPADS ADVPSZ ADAìɠADDNϠADDSS DBASABNANSDASA SAASAASAUPDAD PBA MPY̲NNUŠSNGDAADS MBNB ADABSԠAA-B SAMP SZBSKPUPU SBMSŠDUPUԠ SBұASSԠBUҠϠBANK DAMP SSABANHϠPPҠSԠAD MPMNUS DBDSYMAD'BSS' ADBB SBAD DBMPADBSSPAND SԠDAASS SBASɲ SZASSàADUSԠASS SZASS DAASSìɠMAKŠASԠDGԠABANK ANDB5B5 SAASSì SZASS DAK9 SAUԠSDԠU DA..PNԠSNGƠBԠAS ANDK SZA SBSԠUԠPUԠS MPY MNUSDBDSYMAD"G" ADBK9 SBAD DBASAADGPAND MPSԠGàNNUSAԠS Y̲SZBUPUԠASAƠSAԠƠSԠD MPY̱ Y̠DAASASŠASAƠNԠD SABUƱ Y̱A SAY PNàSZàADVANŠADP DAàADPҠAԠSAԠƠNԠ? PAN MPAMYSGϠϠBGNNNGSGMN SZYàNϻMŠϠADNԠNDSNG? 8MPND DAìɠSŠNDSNG SASND DAKM5D-5SԠADYŠϠSԠM SAY SZàYSADVANŠPҠϠNԠSND DAàGϠϠBGNNNGUNŠƠP PANàAԠSAԠƠNԠD MPAM NDDBSNDSŠMSԠND DASND ANDKK60B60000 AƬA SAND BƬBҠAŠSNDԠϠNԠND SBSND PABBNDƠDAAND? MPNDGϠϠNDUN DBàSԠBϠà+GHNԠD- PAK5 NBHANDSDGH ƱDADBUƬɠSԠAϠMNUSBUƠND ADAK5 MBNBSKPƠAUGԠB ADBA SSB SBMYSSϠUPUԠANDN SZ SBұ SKP AҠDAADANDSŠUNŠ A SAND SAؠAҠ DAìɠADANDSŠDAA SAì SAMPSŠBԠSNG DBNDHANN̠PGAMBASDNND SZBSSASSMBYSNGANDND MP0SPA̠ҠAHNDVAU PBKD MPҲ PBK6D6 MP6 ANDKK00B00000AUAŠDɱ SADɱ DAìɠAUAŠD ANDKK06B6000 SAD PBK MPҴ SBNDSԠND5 ADADɱ SAMPSŠPAA̠BԠSNG DAìɠAUAŠ ANDBB AҬA SA DAìɠAUAŠM ANDB3B3 SAM ADAMP SAì BSԠDɲ0 SBDɲ SZàADVADP DBìɠADDAAD B̬ŬSBB0?AҠAG MPND SBPADD D0DAKK05SԠUAҽ'Ҡ'(B500 SABU+ ADB DADŠDŠ0? SZASS MPD SZàADVANŠŠP SBìɠSŠADNDD MSԠDBMҠHKM SZBSS MP5 DBKK0SԠUAҠ'à'(B0 SBBU+ MP5 DƠADBDɱMPŠADDSS SBì SBMPBԠSNG DBMҠMPUŠND NB SBND MPMS NDԠSZDɲSԠDɲHNAG SBPADD NB DBB MPD0 ADSԠNA DAA MPADVP K9Dà9 K6Dà6 B3Ԡ3 BԠ BԠ K5Dà5 SKP SUPNP DAKM5D-5 SAY DBDBUƬ ADBK SB SBSS A SANNS MPSUP NSHDB̠PSSNG NDSBM SBà_. DƠ+3. DƠK.BNGNNA̠SGMN DƠ+.ϠMVŠSAPPDAA ASà3N9_.BAK KDà SKP MNA̠ŠNDAҠUNŠ MNP DBSND NBƬBҠAŠSNDԠNŠND SZY MPN B̠MPŠPPAANƠSND SBSS DA PASSNҠSPA̠AS MPDB SZ SKP MPŠDB̠D DB̠DADBUƬɠMPUŠDNGH SABUƱSAVŠBUҠSANGADDSS MANA ADA SAUԠSŠҠUPUԠUN AƬAƠMAKŠSԠDB̠D SABUƱ DANNSԠMAKŠNDDB̠D ADAKK60B6000 SZBUƱ SABUƱ DBBUƱܬ(BADDSSƠNDDƠD ADBK(BADDSSƠHDƠD NBɠADAB NB PB MPSB MPNB SBɠSZBUƱ SABUƱ SB.ԠUPUԠDB̠D SBSUPNAZŠVAUS DAASADNNנDB̠AAB SZBUƱ SABUƱ MPM PUNHAPŠUPUԠϠADANDGϠŠ .ԠNP DA.. SSASS MPGHK SBàUPUԠNϠUSDPUNHUN DƠ+5 DƠK DƠPUN DƠBU DƠU GHKDAG SZASS MPND SBԥ DƠ+3 DƠBU DƠU NDԠMP.Ԭ UPUԠSԠUNŠ SԠNP DASBUƠANANSSAԠƠPNNG MA ADAASS DBUND SZBSUBMNGHҠY NA SAUԠUԽNGHƠPNNG SBSԱUPUԠBU SZNNŠPAGŠD MPSԬɠNϬ DANP MANA SANN SBԠPSNPNҠNNԠPAG SBHADPNSHADNGSKPSNS MPSԬɠ SԱNP DBSBU DAUND SZASSADVSAԠҠNϠN̠D NB SBMP SB DƠ+5 DƠK DƠUD MPNP DƠU MPSԱ ԠNP SBàSKPϠNԠPAGŠƠNŠPһ DƠ+SKPDN6NSƠY DƠB3 DƠN DƠKM6 MPԬ SKP KM6Dà-6 KDà SHDDƠMN+3SAԠADDҠƠPAGŠHADNG PGűDƠMN+5]SԠϠDGSƠPAGŠ PG3DƠMN+6NDϠDGSƠPAGŠ KMԠDà-000 B60Ԡ60 K000Dà000 KM00Dà-00 K00Dà00 KM0Dà-0 BԠ HADNPPNSHADNGSKPSNS SBұAҠBU DBSBUƠSAVŠSBU SBP DBSHDNנSAԠADDҠҠSNGPAG SBSBU DAPGNUMPAGŠNBNAY B PN0ADAKMԠ(A(A-000 SSA MPPN0 SZB(B(B+ MPPN0 PN0ADBB60(B000HDG BƬB SBPGű ADAK000 B PN06ADAKM00(A(A-00 SSA MPPN0 SZB(B(B+ MPPN06 PN0ADBB60(B00HDG ADBPGű SBPGű ADAK00 B PN0ADAKM0(A(A-0 SSA MPPN09 SZB(B(B+ MPPN0 PN09ADAB(AUNԠDG ADBB60(BN'SD BƬB ҠB SAPG3 SZPGNUMADVPAGŠNUMBҠUN DAK SAU SBSԱUPUԠHADNG DBP SBSBUƠSŠSBU SBàSKPNSAҠPNNG DƠ+HADҠN. DƠB3 DƠN DƠK MPHAD PPAŠSԠBUҠUNŠ ұNP DAKKBB DBSBU SBBBSAB NBADVANŠPN PBASԠBUҠNDD? MPұ MPSBBBNϻNNU ASԠDƠBU+PҠϠNԠAҠASԠƠBU SKP ASSMBYBUҠNSUNUNŠ 0DBDSYMYSAD"Ԡ"NϠASSB SBAD DBìɠNVԠDAADϠASɬAD DAASS SB6AS SZASS SZASS SZASS MPPN ҲSABU+ADDAADNϠASSB DBDSYMYSAD"ASà"NϠASSB ADBKD SBAD SZASS MPPN 6SBADNDADSYMB̠SNG MPPN ҴSBNDSԠND DBKK05SԠUAҠ'ؠ'(B500 SBBU+ SZASS MPDƱBANHƠDŽ0 SBADNVԠANDSŠD BAKDAì ANDBB MANAMPMNԠN SAN DBBB̠SAHNA̠ABŠҠMAH NSҠPAB MPND NB PBDBU MPG.DP MPNS G.DPDB.DP BNBSAHؠNA̠AB ԱDABɠMPUŠNԠNYàNP ANDBB ADAB SAP NB DABɠDN? PAN MPND DBPҠNϻA̠ABŠHKD? PB+3 MPND PBDP MPBYSSAMŠUNŠNנHKS MPԱDAAP NDNB SYMSBANSANSҠSNG MPDɱ NDDABB̠MPUŠANNNA MANASYMB̠ABŠƠNY ADAB SAB ADAB ADAB ADAAD SAB ADAB3MPUŠSAԠƠNԠNY SAP MPSYM 5DADŠYSDŠ0? SZASS MPD SBADADASSMBYDŠNϠASSB DAìɠNA̠DŠANDPANDNA ANDBB ADAMP SAMPSŠBԠSNG MPSS DƠDBDSYMYSADASSBƠH"DƠ" ADBK5D5 SBAD MPSS ASSBƠDƠMN+ DƱDBDSYMAD"DƠ" ADBK5 SBAD MPBAK SKP ^ ASSMBYNSUNDŠUNŠ ADNP DBMNSGԠSANGADDSS MAHPABɠNPUԠMAHSABŠNY? MP NBNϻGϠϠNԠADDSS MPMAHNNUŠHK ŠDAMNSMPUŠàHNAB MANA ADBA ADBB ADBDSYMMPUŠàƠSYMB̠NY NԠDAASSBƠNAZŠASSàP SAASS SנDABɠANSҠSYMB̠DϠASSB AŬAMVŠANYAG SAASSì DAB NBADVANŠANSҠANS SZASS SSANDƠNY? MPADɠYSUNϠMANPGAM MPS ADNP DAADSŠUNADDSSNAD SAAD MPN SKP SUPPYPANDSYMB̠UNŠ SSDBDɲBԠ5NDD SZBSS MPBH0 DAPADDɠYSADBASŠDƠNY SSAVAABŠSANSAN MPSH ANDBBANSŠASԠ3BS DBPADD ADBA SBP PAKASԠ3BS00? MPSHYSSŠNPADDPANDADD DBPADDNϻAD3DDƠNY ADBKD DAB SSASS MPSASS DBA MBNB'SMPMNԠD DAASS SBASɲNVԠϠASɠGUSS DAPADDɠDMNŠMDŠDŠƠADDSS A ANDBB ADADMDԠAŠNABŠMDŠSYMB DAA SABU+6S MPUPASS SHSZPADDNPADD DAPADD SAPADD DAؠNàPADDƠؽ(SPA̠ASũ PAK SZPADD NVԠDBPADDSŠASɠADDҠSHDԠN DAASS SBASɲ UPASSSZASS SZASS DAASSì ANDB5B5 SAASSìɠMAKŠNDZϠABANK DBMP3 SBASS MPM00 BH0DAMҠSKPPANDGàƠMMN SZAAN MPNV DAASAMPUŠDSANŠBNPAND MANAANDADADDSSS ADAPADD DBKK05B5053SAҠPPҠSGN SSA DBKK50B5055 SBASSì SSAMAKŠDSANŠABSU MANA SAB ANDKKB0DSANŠSSHAN? SZA MPNV ADBKK00B0060YSSŠNNԠ BƬBƠDSANŠANDBANK SZASS SBASSì DAB SZASS MPDɱ SASSANDKKB00 PAKK00B0000HKҠADNG MPSH SBANSANSҠSYMBS MPDɱ M00DBMҠM00UNŠADDSMMNSYMB SZBSS MPDɱ B ADBASSàBASS- DAB ADAB3SԠGHԠHAƠASԠDϠ"" SAB DɱDBDɱPGAMPASSSϠKUNSSBH SZBDɱANDؠAŠZϬHN MPKϠPN DB PBK B SB SZBSS MPPN KANDB3ANANSASԠDNPND SNGMASKGHԠHA PAB0 MPBKN DAKK5AD"+" DB SZBSS ADABAD"" SASSSAASSì SZASS MPPN BKNB ADBASS SBMP DAB ADAB3AD"+" DB SZBSS NAAD"" SAMP DAKK30AD"+" DB SZBSS ADAKK3AD"" MPSASS BSԠDƠMN+ B3Ԡ3 B3Ԡ3 B0Ԡ0 B3Ԡ3 BsԠ KDà KDà KM5Dà-5 ASAԠ0AUA̠SAGŠADDSS DSԠԠ UԠԠ0NGHƠNNSUPUD SKP PPAŬADANDPNԠSԠBUҠUNŠ PNԠDBMP DABS SBASɠANSAŠBԠDŠNϠAS DBASA DADBU ADAKD SBASɠANSAŠADDSSNϠAS DABU+SԠADNGHAAҠϠ- ANDKK6B6 SABU+ DA..PNԠSNGƠBԠAS ANDK SZA SBSԠUPUԠSԠBU SKP ŠNDAҠUNŠ SZNNSԠNMNԠNNS SZASANMNԠASA DASNDAŠSNDԠND AƬAҠSŠAԠGHԠND ANDKKB0 ADAND SASND SZYàBANHN-N-5 MPPN DAKM5D-5SԠY SAY DASNDAŠSNDԠ A SASS SZ DB SBSS MPPN SKP DAAϠASɠNVSNUNŠ ANGSUN:DB(DAAD DA(ADDSSAԠSAԠ SAGũ SBAS ASɠNP SAMP3 A SBSAḆ SBBUK MPASɬ ASɲNP SAMP3 A SBSAḆ SBSAB3 SBBUK MPASɲ BUKNP SBSAB̷ DAKMD- SAASSԱ ASɱA SBSAB3 SBSAB̷ SZASSԱ MPASɱ MPBUK SAḆNP ŬB A MPSAḆ SAB3NP SBSAḆ SBSAḆ SBSAḆ MP+`NLHSAB3 SAB̷NP AƬA SBSAB3 ADAKK300B30060 SAMP3 SZMP3 MPSAB̷ KMDà- BU̠Dà6BUƠNGH MP3BSS NDND N  24170-80023 C S 0122 RTE/DOS FORTRAN IV SEGMENT 14             H0101 J ASMBҬ̬ìB HDNŠ--PSSNVAUAҠSNDAYSGMN NAMNŬ5PSSNVAUAҠSGMN Ԡ Ԡ00 ԠA00 ԠA00 ԠA00 ԠDA00 ԠS00 ԠD ԠA00 ԠZ00 Ԡ00 AU0A-GS BUB-GS àU BSS50 .DPU+ؠNA DƠU+DԠUNNAG .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN DɠUMN+3DDNANNGHŠN MUMN+MMD UUMN+MUSAG NàUMN+33NAMŠHANGŠAG NDUMN+NUMBҠƠDMNSNS ҠUMN+9BԠDŠDYP .ҠUMN+50HDS(.A'SB0'AG SKԠUMN+59NDADDҠƠPANDSAK رUMN+65ASSGNABŠPNҠҠD. زUMN+66ASSGNABŠPNҠҠD. AàUMN+6AUMUA .AƠUMN+0 BADDҠUMN+ YPŠUMN+9 SKNUMN+5PNҠϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 NYPŠUMN+ YPؠUMN+9YPŠƠNPUԠP.ϠP.VA. PDUMN+93PPAҠD PNUMUMN+9NUMBҠƠPANDSϠBŠPPPD SàUMN+95 SԠUMN+96 AUAŠASSGNMNԠABŠADDSSS ҠNSNHŠABŠUSԠABVŠ ABԠDƠ.AND ABNϠDà- NŠU DAABԬɠADDDNA̠ABŠBAS ADA.DPADDSSϠDSPAMNSN SAABԬɠABŠABVŠANDNSԠNAB SZfAB SZABN MPN UMPϠDŠGNAҠ DAPD PAKƠPD MPP00PNNANPAN PAKƠPD MP.ҠGA̠ҠPAN PAK9ƠPDŠ9 MP.ANDGA̠ANDPAN PAK0ƠPDŠ0 MP.NԠGA̠NԠPAN SBA00HUƠAAYҠSUBUN DAUHSŬAAYҠSUBPG. PAAҠƠAAY MPAA00AAYN MPS00NϬMUSԠBŠSUBPGN KDà K0Dà0 AҠԠ600UҠAAY UNϠSGMNԠN NSB DƠ+3 DƠK DƠ+ ASà3N PNNAN P00UPNNANDŠGNA SB00MMUŠPANDS SBS00SŠPPƠNGSS SBGԲ00GԠYPSƠPPANDS DANYPŠ(A_YPŠƠP DBYPŠ(B_YPŠƠBAS PBNԠSBASŠNG? MPP0YS PBPؠNϬSBASŠMP? MPP03YS PBANϬSBASŠA? MPP0YS PBDB̠NϬSBASŠDUB? MPP05YS P0DAK5NϬ-GA̠PNNAN SB00 K5Dà5 P0B PANԠSPҠNG? DB.ɠYS MPP06 .ɠDƠ.B+3ɪ P03B PANԠSPҠNG? DB.ɠYS MPP06 .ɠDƠ.B+3ê .ɠDƠ.B+Ҫ P0B PANԠgSPҠNG? DB.ɠYS PAASPҠA? DB.ҠYS PADB̠SPҠDUB? DB.DYS MPP06 .ҠDƠ.B+5Ҫ .DDƠ.B+0ҪD KDà K9Dà9 .DɠDƠ.B+9D .DҠDƠ.B+D .DDDƠ.B+DD P05B PANԠSPҠNG? DB.DɠYS PAASPҠA? DB.DҠYS PADB̠SPҠDUB? DB.DDYS P06SZBSSƠ(BSS̠0NϠNAMŠAS MPP0SD-Ҡ-GA̠P. SBD00GNAŠSB.UN DAYP PAPؠƠMPج MPP0YS-AAŠMPҠDƠSU PADB̠ƠDUBŬ MPP0YSSAMŠASABV. DANYPŠN PADB̠ƠDUBŬ MPP0YSSAMŠASABV A SASԠSUԠ̠BŠNGSS MPP0GNAŠMANDҠƠA.S. P0SBA00AAŠMPҠDƠSU. SBSԠSAVŠ.AASS SBD00GNAŠDƠSU. P0DBSKԬ SBD00GNAŠDƠBAS. DBSKN SBD00GNAŠDƠP. DASB DB.0 SBSA00GNAŠSB0 MPN GA̠ҬAND .ҠU..PPANDS .ANDU.AND.PPANDS SB00MMUŠPANDSƠHPU SBGԲ00GԠYPSƠPϠPANDS. PANYPŠAŠBHPANDSƠSAMŠYP? SSYS MPN0NϠ-Ҡ-NDBHGPS. PAGAŠHYGA? SSYSPSS. MPN0NϠ-Ҡ-NDBHGPS. SBSG00SAԠDŠGNAN(AD DBPD PBKSPAN..? DAҠYS PBK9SPAN.AND.? DAANDYS DBSKNɠADPAND. SBSA00UPUԠ'Ҡ'Ҡ'AND' MPN ANDԠ000 ҠԠ3000 GA̠NԠ .NԠU.N.PPAND SBGԱ00GԠYPŠƠPPAND PAGSYPŠGA? MPN0YSGNAŠD. N0DAK56NϬҠ-PAҠUS SB00GA̠PAND. K56Dà56 N0SBSG00SAԠDŠGNAN(AD DAKK6 SBA00UPUԠMA MPN KK6MA AAYMNԠADDSS AA00UAAYNŠDŠGNA DAM SA5AASAVŠAAYM DABADD SAԱAASAVŠAAYBASŠADDSSD DAر SAԲAASAVŠPNҠϠSԠDMNSN DAز SA3AASAVŠPNҠϠSNDDM. DAPNUM MANA ADAND NA(AND+-PNUM SSASSƠ(A<0 MPAA0N DAK3YS-Ҡ-MŠSUBSPS SB00HANDMNSNS K3Dà3 DBԠ66000 ..MAPDƠ.B+6AAYMNԠADDSSAUA. ԲAANP 3AANP ԴAANP AA0DBSKԠANƠSԠSUBSPԬ SBԴAASAVŠ. AA5DBBɠ(BSԠSUBSP SZBSSƠSUBSPԠSNGSS MPAANNU SB.AHSŠMAKŠSUŠԠS SBA00NԠASUBPGAMNAM. DAK5 DBU PBSUB SB00 DBԴAAɠ(BSUBSPԠPN AASB00GԠSYP PANԠlSԠNG? MPAAYS PAGƠGA̠SUBSPԬ MPAA55Ҡ-GA̠NV.GA SASYPŠSUŠYPŠƠNVSN DANԠBԠYPŠƠNVSN DBԴAAANƠNVSNSU SBN00NVԠԠϠNG AASZԴAAPNSϠNԠSUBSP DBԴAA PBSàHAVŠA̠SUBSPSBNHKD? MPAA0YSNNUŠPSSNG MPAA5NϬNNUŠHKNGSUBSPS. AA0DAPNUM PAKƠHSSAVҠAUAN MPAA03 SBS00SŠGSSƠU. KKANAƠMNGҬ DB5AA PBAƠMA̬ DAK PBDB̠ƠMDB DAK3 PBPؠƠMMP DAK SAD DANԠNGҠNSAN SBS00 SBA00 DADB SBA00UPUԠDB3Ҡ DAKK9(A'A'ƠDM. DBPNUM PBKƠ3DM. DAKK(A'ANA' SBA00UPUԠ'A'Ҡ'ANA' DB..MAP SBD00UPUԠSB..MAP KK9A DBԱAA SBM00UPUԠDƠBASŠADDSS DBS AA0ADBKM SBSàPNSϠSAKàҠNԠSUB DBB SBD00UPUԠDƠҠ3SUBSPS DBS PBSKԠAŠA̠DƠSUBSPSUPU SSYS MPAA0NϬUPUԠNԠN DBԲAA SBD00UPUԠDƠSԠDMNSN DB3AA DAPNUM PAKƠ3DMNSNA SBD00UPUԠDƠSNDDMNSN MPAA06NSHUP K5Dà5 SUBԠ00 KDà ԱAANP 5AANP AA03SBSG00HANDŠVҠADDSSAUAN DAN SBS00SABSHNGҠNSANԠƠ- A SAD SBA00ASSGNԠϠAB DAADA SBA00GNAŠADA- DB5AA PBNԠƠNGҠV MPAA05YS PBGҠGA MPAA05YS PBAҠA DAKK3UPUԠ'AS' PBDB̠ҠDUB MPAA0 PBPؠҠMP DAKKUPUԠ'ASAS' SBA00 MPAA05 KK3AS KKASAS .MPYDƠ.B+5NGҠMUPY AA0DB.MPYUPUԠSB.MPY SBD00UPUԠDԠUNN DAN SBS00SABSHNGҠNSAN DAK3 SAD SBA00ASSGNԠϠAB DB.A SBD00UPUԠ'DƠ3' AA05DAADA DBԱAA SBM00GNAŠADABASŠƠV AA06DBADD SBYP SBA A SAAàSԠASAG SAS DB5AA SB.AƠSԠMƠAAYNϠ.A DBYPؠSAAYMNԠNɯϠS? PBKM3 MPAA0YSSŠADDSSNMP DB5AANϬ(BMƠAAY. PBPؠƠMPؠAAY MPAA0YS PBDB̠ƠDUBŠAAY MPAA0YS MPN AA0SBGS00SAVŠADDSSNMP SASԠSAVŠPNҠϠMP MPN AA55DAK55Ҡ55 SB00GA̠NVSNGA K55Dà55 GԠ30000M3GA KMDà- KM3Dà-3 ADAԠ000 B0Ԡ0 PؠԠ50000M5MP DB̠Ԡ60000M6DUB UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ}(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN UMPϠSUBPGAM S00USUBPGAMA̠GNA DAMSAVŠMƠSUBPGNAM SA0S DA. SAԱSSAVŠ.ҠҠSUBPGNAM DAN PAB0ƠNý''SPA̠ANG MPS03SUN.HANDŠSPAAY. SBS00MAKŠSUŠA̠GSSAŠSD DASB DBSì SBSA00UPUԠSBϠSUBPGNAM ANԠHҬPSSNGNA̠AY DBYPؠ(B_YPŠƠNPUԠPSSN. PBKMƠԠSASUBUNŠA̠SA MPS0PSSKŠN.G.ҠA. DB0S PBDB̠ƠUNNSDB̬ MPS0YS PBPؠƠUNNSPج MPS0YS S0DBPNUMNϠ-MUSԠBŠNԠGAҠSUB SBZ00UPUԠDƠ+N+ MPS0UPUԠAGUMNԠDS S0DBPNUMASϠDB̠ҠPؠUNNS NB SBZ00UPUԠDƠ+N+ DA0S SBA00AAŠDB̠ҠPؠSUԠMP SBSԠSAVŠPNҠϠUNNSU SBD00UPUԠDƠSU MPS0UPUԠAGUMNԠDS. S03DAԲSSŠƠA̠SϠSGNSGN DBAɠҠҠAND PB.NԠƠNNŠƠHS MPS09PSSA̠BYVAU. PBSìɠƠԠSINŠƠHM MPS35GNSPA̠ANGSUN. NA MPS03+NNUŠHKNG. S35SBS00MAKŠSUŠAGUMNSAŠSD DASB DBSìɠUPU SBSA00SBSGNSGNANDҠ. DAPNUM PAK3SHŠAYϠAGUMNS? MPS0YSUPUԠHҠDS. S0DAK59NϠ-Ҡ-NԠN.ƠAGS. SB00 K59Dà59 S06DAK60NϠ-Ҡ-AGUMNԠMDŠ SB00 K60Dà60 K3Dà3 NԠԠ0000MNG AԠ0000MA SBԠ6000 S0A SASԠSUԠ̠BŠNGSS S0DBSàUPUԠAGUMNԠDS ADBKM SBSàPNSϠNԠAGNSAK DBBɠ(B_A..PNҠϠAG. SBD00UPUԠDƠAGUMN DBS PBSKԠSNŠAGSԠUPU? MPSYSNSHUP. MPS0+NϬUPUԠNԠAGUMNԠD. S09DAPNUMPSSA̠BYVAUŠA.S. PAKSHŠAYNŠAG.? SSYS MPS0NϠ-Ҡ-NԠN.ƠAGS SBGԱ00GԠAGUMNԠYP. PANԠAGUMNԠMUSԠBŠNG MPS0 PAAҠA̻ MPS0 MPS06HSŬAG.MDŠ. KDà S0SBSG00UPUԠADAGUMN DASB DBSì PB.NԠƠԠS'N'UNN MPS3GNAŠN-NŠDNG SBSA00UPUԠSBUNN SDB.0NASŠNDD. DAԱS.ҠҠUNNNAM SZASS MPSƠ0NSHUP DASBƠNԠ0 SBSA00UPUԠSB0 SDB0S SBYPŠYPŠYPŠƠUNNSU MPN S3DAKK6N-NŠDNGҠ'N'6 SBA00UNNS'MA'. MPSNSHUP. 0SNP ԱSNP ԲSDƠ.AND DSPAMNSMBASŠƠDNA̠ABŠ HŠDҠƠ.AND.Ҭ..SGSG..AND.NԠMUSԠBŠHS .ANDԠ63ANDUNN .ҠԠ5ҠUNN ..SGԠ6SGNUNN SG..Ԡ33SGNUNN .NԠԠ6NԠUNN .0ԠҠSUBUNŠ0 .ؠԠ30ؠNVSNUNN .DBŠԠ5DBŠNVSNUNN .MPؠԠ05MPؠNVSNUNN .AԠԠAԠNVSNUNN .A̠Ԡ36A̠NVSNUNN .SNG̠Ԡ3SNG̠NVSNUNN SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 SYPŠNP SAԠDŠGNAN SG00NP A SASԠSԽ0ƠPANSUԠS DBSKԬ SBD00ADPPAND MPSG00ɠUN. GNAŠAD D00NP(BA..PNҠϠADNGVA. SZBS(B0? MPD0NϠ-PANDNԠAADYNGS DAA PAADDҠSADDSSNAUMUA? SS MPD05N DA.A PAAƠA̠AAY SS MPD005 DB.DDUPUԠSB.DD SBD00 GKDAKK0DƠA SBA00 MPD00 KK0Ԡ00000 KK3DAA D005DAKK3ƠNԠҠG SBA00UPUԠDAA D00DA.AƠSԠAýMƠGSS D0SAAàSԠAàMƠGS(S D05A SAAàAý0SNŠPANDNנNGS MPD00 .DDDƠ.B+DUBŠAD D0SB0DSAVŠ.AϠADNGDAUM DBA SZBSGSҠMPY? SBGS00NϬSŠԠNMP. DB0D SB.ASŠ.A SBGM00GԠMMDŠƠADNGDAUM. PANԠƠNGҬ MPD03UPUԠDA PAGƠGA̬ MPD03UPUԠDA PAAƠA̬ MPD0UPUԠDD MPD00 DAԠ6000 D03DADA SBA00UPUԠDAPAN. MPD05 D0DB.DD SBD00UPUԠSB.DD DB0D SBD00UPUԠDƠ D05SBGM00 MPD0SԠAý0ANDUN. 0DNP GNAŠSŠ S00NPASSUMŠMƠSUŬDSԠSAM. SA.A SA0SԠSAVŠA..PҠϠSŠDS. SBԱSԠSAVŠA..PҠϠPجDB̠SU. SBGM00GԠMƠDSԠƠS SAԲSԠSAVŠMƠDSԠƠS PANԠƠNGҬ MPS0 PAGƠGA MPS0UPUԠ'SA'NSUN. PAAƠA̬ DB.DS PAPؠƠMPؠANSҬ DB. PADB̠ƠDUBŠANS DB.D SBD00GNAŠSB.UN DB0S SBD00GNAŠDƠDSNAN MPS0 .DSԠDƠ.B+DUBŠS .DҠDƠ.B+DUBŠPSNANS .ҠDƠ.B+5MPؠANS AD uDҠԠ0000MADDSS SAԠ000 S0DASA SBA00UPUԠ'SA'NSUN S0DB0SԠPNҠϠMP. SBAìɠƠAã0SŠ0SԠNSAK ASNŠGSSMPY SAAàSԠAàANDAà0. SAA DAԲSԠSMƠDSNAN PAPؠMP? MPS03YS PADB̠DUB? MPS03YS MPS00 S03DBԱS SBD00GNAŠDƠSUŠƠDB̠ҠP MPS00 0SԠNP ԱSԠNP ԲSԠNP GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. GNAŠNVSNDŠ N00NPNNY SAYPŠ(AYPŠϠBŠNVDϠAND SBԴN(BPN.ϠSKNԠNԠM. DBBɠ(BPN.ϠA..NԠƠM. SB0NHHSϠBŠNVD. B3NS0ƠSUԠƠNV. SB3NSԠNGSS(ASSUMũ PADB̠SBԠƠYPŠDUB? MPN0YS PAPؠNϬSBԠƠYPŠMP MPN0YS MPN0NϠ-DN'ԠAAŠMP N0SBA00AAŠMP̠ϠHD SB3NSUԠƠNV.SAVŠ N0DASYPŠ(ASUŠYPŠƠNVSN. DBYPŠ(BBԠYPŠƠNVSN PAASSUŠA? PBNԠYSSBԠNG? MPN03SUŠNԠA̠ҠABVŠU DA0N SBS00SŠA̠ƠNGSS SA0NƠSŠDNŬUPDAŠPҠϠ MPN0 N03DB0NADNVSNS )U SBD00ƠPSSBŠANDNDD. N0BB0ASAGUN̠NAMŠSD SBԱNԱNҠDƠ++ԱN DASYPŠ(AYPŠƠSUŠƠNV. PANԠSSUŠYPŠNG? MPN05YS PAPؠNϬSSUŠYPŠMP MPN06YS PADB̠NϬSSUŠYPŠDUBŠP.? MPN0YS DAYPŠNϬԠMUSԠBŠA. PANԠSBԠYPŠNG? DB. PADB̠NϬSBԠYPŠDUB? DB.DB PAPؠNϬSԠMP? DB.MP MPN0GNAŠSԠƠANGS. N05DAYP PAABԠA? DB.A PAPؠBԠMP? DB.P PADB̠BԠDUB? DB.DB̠YS MPN0GNAŠSԠƠANGS. .DB̠DƠ.B+NVԠNGҠϠDUB .PؠDƠ.B+5NVԠNGҠϠMP .NԠDƠ.B+NVԠMPؠϠNG N06DAYP PANԠBԠNG? DB.NԠYS PADB̠BԠDUB? DB.DB̠YS PAABԠA? DB.A MPN0GNAŠSԠƠANGS. 0NBSS ԱNBSS 3NBSS YPŠBSS .DB̠DƠ.B+0NVԠMPؠϠDUB .DPؠDƠ.B+6NVԠDUBŠϠMP .DNԠDƠ.B+NVԠDUBŠϠNG N0DAYP PANԠBԠNG? DB.DNԠYS PAPؠBԠMP? DB.DPؠYS PAABԠA? DB.SNG N0SBԲNSAVŠNAMŠSD DAKƠDƠ+N+SNDD PB.A MPN09DƠ+ PB.SNG MPN09DƠ+ NA PB.DB MPN09DƠ+3 NA PB.MP MPN09DƠ+  PB.A MPN09+ PB. MPN09+ MPN ԲNBSS N09SAԱN DASB SBSA00UPUԠN-DԠNV.UN SS NSBD00UPUԠDԠNV.UN A DBԱN SZBƠB0DƠ+N+SNDD. SBZ00 DB3N SZBƠB0DƠSUԠSNDD. SBD00 DASYP PAN MPN0YSANGS.SMP DAԲN PA. MPN0YSANGSUNŠSMP DB0N SBD00GNAŠDƠƠSU DAԲN PA.MP SSYSGNAŠDƠ0 MPN0 DAA SBS00SABSHA̠NSAN SBDɠNSANԠS0. SBA00ASSGN0NSANԠϠA.. DB.APNҠϠA..NYҠNS. SBD00GNAŠDƠ0 N0DA3NUPDAŠPNҠNPAND SAԴNɠSAKϠPNԠϠNV.SU. SZAA0ƠSUԠSNGS(S MPN00 DAԴN SAAàUPDAŠA DAYP SAAàUPDAŠA MPN00 ԴNBSS SŠHҠPAND S00NPSŠHҠƠPPANDS. DBAàƠAà0HNSMŠPAND SZBSNGSS SBGS00SŠHŠPANDNAMP MPS00ɠUN.GSSNנMPY. GԠYPSƠPϠPANDS GԲ00NPGԠMƠϠPPANDS DBSKN SB00GԠMƠNԠϠPPAND SANYPŠANDSAVŠԠNNYP. SBGԱ00GԠMƠPPAND. hMPGԲ00ɠUN GԠYPŠƠPPAND GԱ00NP DBSKԬ SB00GԠMƠPPAND SAYPŠANDSAVŠԠNYP MPGԱ00ɠUN NDYPŠ 00NPNDH(BA..P. SB.A DAAàHSSMƠP.NGSS PAADDҠSAàADD? DA.AƠYSPAŠAàH.A SZB(B0ƠPPANDNGS SBGM00HMMDŠƠ. SAMSAVŠMƠPPANDNYP. MP00ɠUN GԠMMDŠ GM00NPƠMADDҠҠ.AHANGŠ. SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADDSS SAMYSSԠMAƠ.A DAMMAKŠSUŠUPDADMSN(A MPGM00ɠUN GNAŠSŠNMP GS00NPҠSNGAANDA-BNϠMPS DAAàYPŠƠMP̠NDD. SBA00AAŠMP DBA PBADDҠSADDSSBNGSDNMP? MPGS0YS SBS00NϬSŠNԬGҠA MPGS0 GS0DANԠMPAYMAKŠMƠMP.N SAAàANDSԠAàN. SBDM00 DA.ASŠGSҠNANNG SBS00ADDSSNMP. DAADD SBDM00HANGŠSMBAKϠADDSS. DA.AƠNSԠMƠMBNGADDSS SBDA00NϠAƠƠMP̠A..NY. GS0DA.AAVŠ.AƠMP̠NAG. MPGS00ɠUN 8p DNŠM NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 HKMMUŠ 00NPADƠMM.NԠUD DAAàBUԠMAYBŠADVANAGUSϠG SZASSGSҠPANDNPƠSAK MP00 PASKԠƠPPANDAADYNG MP00 SB00SŠMMUŠPANDSAND MP00 MMUŠPANDS 00NPADHNMM.SUD DAA SZASSƠNϠPANDSNGSS MP0GϠMMUŠPϠPANDS PASKNƠN--PPANDNG MP0GϠHANGŠAàϠSK SBGS00NϬSŠPPANDBŠM 0DASKԬɠ(A_PPANDNSAK. DBSKNɠ(B_N--PPANDNSAK SBSKԬɠPPAND_(B SASKNɠN--PPAND_(A MP00ɠUN 0DASKԠUPDAŠAàϠSKԠSN SAAàMMUANPUSGPAND MP0NPƠSAK. UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00 0MҠNP ұ0Ԡ0000MMYN NDN `^ZZ`  24170-80024 C S 0122 RTE/DOS FORTRAN IV SEGMENT 15             H0101 K ASMBҬ̬ìB HDNƠ--PSSNVAUAҠNSH-UPSGMN NAMNƬ5PSSNVAUAҠHDSG. Ԡ Ԡ00 ԠA00 ԠA00 ԠA00 ԠS00 ԠDA00 ԠD ԠZ00 ԠA00 Ԡ00 ԠMV Ԡ.N. Ԡ.N AU0A-GS BUB-GS àU BSS50 .DPU+ؠNA DƠU+DԠUNNAG MNԠU+-(DSMANDϠBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN YPŠUMN+ MUMN+MMD UUMN+MUSAG PԠUMN+3UNPNԠNMANPGAM. ҠUMN+9BԠDŠDYP SKԠUMN+59NDADDҠƠPANDSAK AàUMN+6AUMUA .AƠUMN+0 YPŠUMN+9 SYPŠUMN+SUŠYPŠƠNVSN 3ŠUMN+3NGҠMP̠ҠGϠϬD SKNUMN+5PNSϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 ԱŠUMN+YPŠƠASƠNAM NYPŠUMN+ YPؠUMN+9YPŠƠNPUԠP.ϠP.VA. ԲŠUMN+9P̠AԠBGNNNGƠAS ԴNUMN+99SAKADDSSƠNVSNSU AUAŠASSGNMNԠABŠADDSSS ҠNSNHŠABŠUSԠABVŠ ABԠDƠ. ABNϠԠ-6 NƠU DAABԬɠADDDNA̠ABŠBAS ADA.DPADDSSϠDSPAMNSN SAABԬɠABŠABVŠANDNSԠNAB SZAB SZABNϠABNҞϠ-6Ҡ6MSNAB MPN NSHPSSNVAUAN PSSNSHANDDNHSSGMN: YPŠ0SAMNԠUNN YPŠ-DϠSAMNԠMNA̠ҠSPSZŠPAAM YPŠ-5MPUDGϠϠNDؠPSSN YPŠ-ƠSAMNԠPSSN DAYPŠAG SSAƠNGAVŬ MPŷNSHPSSNGPSSN SZAƠZϬ MPŷNϠ-GNAŠNVSND SBMA00YS-NDNVYPŠANDGND SG.SBàSŠSGMNԠN DƠ+3ANDANSҠBAKϠ DƠK DƠ+ ASà3N KDà ŷDBԴN(BSAKàƠNVSU SBN00GNAŠD MPSG.UNϠN ŷDBSKԬɠƠSUԠSNGSS SZBSS MPŷ0YS-NNU SB.ANϠ-ƠSUԠSAN SBA00NA̠NAMŬAGAS DAK5Ҡ5.HSŠNNU. DBU PBSUB SB00 ŷ0DBYPؠYPŠƠPSSNVAUAD PBKMƠDϠMNA̠ҠSPPAAMҬ MP63PSSSPAAY. PBKM5ƠGϠϠNDؠPSSN MP63PSSHDϠMҠSPPA SZBSSƠSAMN MP6SAMNԠUNN DBSKԬɠ(BƠPSSNSU SZBSSUԠNGSS? MP6N. DAAàYPŠƠGS PAADDҠƠADDSS SS MPPԬ DAKK3YS SBA00UPUԠDAA DA.AƠ(AYPŠƠAAY MPPԬ KMDà- KM5Dà-5 K5Dà5 SUBԠ00UҠSUBUN 6DAK55Ҡ55- SB00GA̠NVSNGA K55Dà55 6DADA SBSA00UPUԠDASԠDƠSU. SBGԱ00GԠSUԠYP. PAPؠƠMPج SSYS MPPԬ DAK5Ҡ5- SB00MPؠƠPSSNGA K5Dà5 63DBSKԬɠSUԠƠPAAMҠNDؠPSSN. SZBƠSUԠNGSS MP6NϬNNU. DAAàYS PAADDҠƠADDSSNGSҬ SBD00ADNAAYMN. 6SBGԱ00GԠSUԠYP PAGƠGA̬ MP6Ҡ-GA̠GA̠NVSN. PANԠƠNGҬ SSYS MP65N. DASKԬɠ(A0ҠA..PҠϠSU SZAƠ0NNUŠPSSNG. MPPԬ MP66 65SASYPŠSԠSUŠYPŠƠNVSN. DANԠBԠYPŠƠNV.SNG DBSKԠPNҠϠNVSNSU. SBN00NVԠϠNG 66DASA DB3 SBSA00UPUԠSANSԠN.MP DA3ŠUNH(AA..P. MPPԬ 6SBGԱ00GԠYPŠƠSU PAԱŠƠSUԠSƠSAMŠYPŠASS.. MP6NNUŠPSSNG. PAGNϬƠSUԠSGA̬ MP6Ҡ-GA̠NVSN. SASYPŠSԠSUŠYPŠƠNVSN. DAԱŠBԠYPŠƠNVSN. PAGƠGA̠S..NAMŬ MP6ҬGA̠NVSNGA. DBSKԠPNSϠSUŠƠNVSN SBN00GNAŠNVSND. 6DBSKԬ SBD00ADSUԠƠPSSB DAԱŠ(AYPŠƠS..NAM. PANԠƠNG"Ҭ MP69 PAGƠGA̬ MP69 PAAҠA̬ MP69SAVŠMPSAND. DB.DҠNASŠDB̠S.. PAP DB.ҠƠMPؠS.. SBD00UPUԠSB.DҬҠSB. DAKK0 DBԲ SBM00UPUԠDƠSP̬ɠƠHADƠS A DBSKԬ SBSA00UPUԠDƠMP̠ƠSU 69DAKMSAVŠMPSUSDҠAS SAMNԠMVŠDS DAKMMP̠NAMŠPS AŬA DAA DBPPNKϠMP̠NAMŠGNAS BŬB DBB SBMVŠMVŠ.NԠϠ.N.. MPPԬ KDƠ.NԠBASŠƠMP̠NAMŠPS PPNKDƠ.N.BASŠƠMP̠NAMŠGNAS DAԠ6000 KMDà- KK3DAA UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN KK0Ԡ00000 UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00 0MҠNP ұ0Ԡ0000MMYN GԠ30000M3GA SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 f SAԠ000 GNAŠAD D00NP(BA..PNҠϠADNGVA. SZBS(B0? MPD0NϠ-PANDNԠAADYNGS DAA PAADDҠSADDSSNAUMUA? SS MPD05N DA.A PAAƠA̠AAY SS MPD005 DB.DDUPUԠSB.DD SBD00 DAKK0DƠA SBA00 MPD00 .ҠDƠ.B+5MPؠANS .DҠDƠ.B+DUBŠPSNANS D005DAKK3ƠNԠҠG SBA00UPUԠDAA D00DA.AƠSԠAýMƠGSS D0SAAàSԠAàMƠGS(S D05A SAAàAý0SNŠPANDNנNGS MPD00 .DDDƠ.B+DUBŠAD D0SB0DSAVŠ.AϠADNGDAUM DBA SZBSGSҠMPY? SBGS00NϬSŠԠNMP. DB0D SB.ASŠ.A SBGM00GԠMMDŠƠADNGDAUM. PANԠƠNGҬ MPD03UPUԠDA PAGƠGA̬ MPD03UPUԠDA PAAƠA̬ MPD0UPUԠDD MPD00 PؠԠ50000M5MP D03DADA SBA00UPUԠDAPAN. MPD05 D0DB.DD SBD00UPUԠSB.DD DB0D SBD00UPUԠDƠ D05SBGM00 MPD0SԠAý0ANDUN. 0DNP UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN OU GNAŠSŠ S00NPASSUMŠMƠSUŬDSԠSAM. SA.A SA0SԠSAVŠA..PҠϠSŠDS. SBԱSԠSAVŠA..PҠϠPجDB̠SU. SBGM00GԠMƠDSԠƠS SAԲSԠSAVŠMƠDSԠƠS PANԠƠNGҬ MPS0 PAGƠGA MPS0UPUԠ'SA'NSUN. PAAƠA̬ DB.DS PAPؠƠMPؠANSҬ DB. PADB̠ƠDUBŠANS DB.D SBD00GNAŠSB.UN DB0S SBD00GNAŠDƠDSNAN MPS0 .DSԠDƠ.B+DUBŠS 0SԠNP ԱSԠNP ԲSԠNP S0DASA SBA00UPUԠ'SA'NSUN S0DB0SԠPNҠϠMP. SBAìɠƠAã0SŠ0SԠNSAK ASNŠGSSMPY SAAàSԠAàANDAà0. SAA DAԲSԠSMƠDSNAN PAPؠMP? MPS03YS PADB̠DUB? MPS03YS MPS00 S03DBԱS SBD00GNAŠDƠSUŠƠDB̠ҠP MPS00 AԠ0000MA ADDҠԠ0000MADDSS GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. NԠԠ0000MNG DB̠Ԡ60000M6DUB MAHPANDYPS MA00NP DAYPŠYPŠƠPPAND PAGƠGA̬ MPA0Ҡ-G.NV.GA DBNYPŠEADYPŠƠN--PPAND PBGƠGA̬ MPA0Ҡ-G.NV.GA PANԠSYPŠN? MPMA0YSHNNYPŠYP. PBNԠSNYPŠN? MPMA0YSHNYPŠNYP. PAASYPŠA? MPMA0YSHNNYPŠYP. PBASNYPŠA? MPMA0YSHNYPŠNYP. PAPؠSYPŠP? MPMA0YSHNYPŠNYPŠDB. MA0SASYPŠNϬHNNYPŽPؠYPŽDB. SBANVԠYPŠPANDϠNYP SBYPŠMAKŠYPŠNYP DBSKԠPPANDϠBŠNVD MPMA03A̠NVSNSUBUN. MA0SBSYPŠNVԠNYPŠPANDϠYP SANYPŠMAKŠYPŠNYP DBSKNN--PPANDϠBŠNV. MA03SBN00GNAŠNVSND MPMA00 A0U6 GNAŠNVSNDŠ N00NPNNY SAYPŠ(AYPŠϠBŠNVDϠAND SBԴN(BPN.ϠSKNԠNԠM. DBBɠ(BPN.ϠA..NԠƠM. SB0NHHSϠBŠNVD. B3NS0ƠSUԠƠNV. SB3NSԠNGSS(ASSUMũ PADB̠SBԠƠYPŠDUB? MPN0YS PAPؠNϬSBԠƠYPŠMP MPN0YS MPN0NϠ-DN'ԠAAŠMP N0SBA00AAŠMP̠ϠHD SB3NSUԠƠNV.SAVŠ N0DASYPŠ(ASUŠYPŠƠNVSN. DBYPŠ(BBԠYPŠƠNVSN PAASSUŠA? PBNԠYSSBԠNG? MPN03SUŠNԠA̠ҠABVŠU VDA0N SBS00SŠA̠ƠNGSS SA0NƠSŠDNŬUPDAŠPҠϠMN MPN0 N03DB0NADNVSNSU SBD00ƠPSSBŠANDNDD. N0BB0ASAGUN̠NAMŠSD SBԱNԱNҠDƠ++ԱN DASYPŠ(AYPŠƠSUŠƠNV. PANԠSSUŠYPŠNG? MPN05YS PAPؠNϬSSUŠYPŠMP MPN06YS PADB̠NϬSSUŠYPŠDUBŠP.? MPN0YS DAYPŠNϬԠMUSԠBŠA. PANԠSBԠYPŠNG? DB.ؠYS PADB̠NϬSBԠYPŠDUB? DB.DBŠYS PAPؠNϬSԠMP? DB.MPؠYS MPN0GNAŠSԠƠANGS. N05DAYP PAABԠA? DB.AԠYS PAPؠBԠMP? DB.PؠYS PADB̠BԠDUB? DB.DB̠YS MPN0GNAŠSԠƠANGS. .PؠDƠ.B+5NVԠNGҠϠMP .DB̠DƠ.B+NVԠNGҠϠDUB .NԠDƠ.B+NVԠMPؠϠNG .DB̠DƠ.B+0NVԠMPؠϠDUB N06DAYP PANԠBԠNG? DB.NԠYS PADB̠BԠDUB? DB.DB̠YS PAABԠA? DB.A̠YS MPN0GNAŠSԠƠANGS. .DNԠDƠ.B+NVԠDUBŠϠNG .DPؠDƠ.B+6NVԠDUBŠϠMP DSPAMNSMBASŠƠDNA̠ABŠ .ؠԠ30ؠNVSNUNN .DBŠԠ5DBŠNVSNUNN .MPؠԠ05MPؠNVSNUNN .AԠԠAԠNVSNUNN .A̠Ԡ36A̠NVSNUNN .SNG̠Ԡ3SNG̠NVSNUNN 0NBSS ԱNBSS ԲNBSS 3NBSS N0DAYP PANԠBԠNG? DB.DNԠYS PAPؠBԠMP? DB.DPؠYS PAABԠA? DB.SNG̠YS N0SBԲNSAVŠNAMŠSD DAKƠDƠ+N+SNDD PB.A̠YS MPN09DƠ+ PB.SNG MPN09DƠ+ NA PB.DB MPN09DƠ+3 NA PB.MP MPN09DƠ+ PB.A MPN09+ PB. MPN09+ MPN KDà SBԠ6000 N09SAԱN DASB SBSA00UPUԠN-DԠNV.UN SS NSBD00UPUԠDԠNV.UN A DBԱN SZBƠB0DƠ+N+SNDD. SBZ00 DB3N SZBƠB0DƠSUԠSNDD. SBD00 DASYP PAN MPN0YSANGS.SMP DAԲN PA. MPN0YSANGSUNŠSMP DB0N SBD00GNAŠDƠƠSU DAԲN PA.MP SSYSGNAŠDƠ0 MPN0 DAA SBS00SABSHA̠NSAN SBDɠNSANԠS0. SBA00ASSGN0NSANԠϠA.. DB.APNҠϠA..NYҠNS. SBD00GNAŠDƠ0 N0DA3NUPDAŠPNҠNPAND SAԴNɠSAKϠPNԠϠNV.SU. SZAA0ƠSUԠSNGS(S MPN00 DAԴN SAAàUPDAŠA DAYP SAAàUPDAŠA MPN00 SŠHҠPAND S00NPSŠHҠƠPPANDS. DBAàƠAà0HNSMŠPAND SZBSNGSS SBGS00SŠHŠPANDNAMP MPS00ɠUN.GSSNנMPY. GԠYPŠƠPPAND GԱ00NP DBSKԬ SB00GԠMƠPPAND SAYPŠANDSAVŠԠNYP MPGԱ00ɠUN NDYPŠ 00NPNDH(BA..P. SB.A DAAàHSSMƠP.NGSS PAADDҠSAàADD? DA.AƠYSPAŠAàH.A SZB(B0ƠPPANDNGSS SBGM00HMMDŠƠ. SAMSAVŠMƠPPANDNYP. MP00ɠUN GԠMMDŠ GM00NPƠMADDҠҠ.AHANGŠ. SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADDSS SAMYSSԠMAƠ.A DAMMAKŠSUŠUPDADMSN(A MPGM00ɠUN GNAŠSŠNMP GS00NPҠSNGAANDA-BNϠMPS DAAàYPŠƠMP̠NDD. SBA00AAŠMP DBA PBADDҠSADDSSBNGSDNMP? MPGS0YS SBS00NϬSŠNԬGҠA MPGS0 GS0DANԠMPAYMAKŠMƠMP.N SAAàANDSԠAàeB@XHFBADBK DAB SABADҬɠPNSϠBASŠADDҠƠAAY NB A SADNAZŠDMNSNS3Ϡ0 SAD3 DAB SAԱAɠASSGNABŠPNҠҠD NB DAB SA.زɠASSGNABŠPNҠҠD NB DAB SA.3ɠASSGNABŠPNҠҠD3 DAԲADABŠADD SAԴA DBԱAؠABŠADD SB3A A06DBB DAB ANDKK0 ҠDUM SZASS MPA0A(ʩDUM ADBK DAB A0SAԴAɠDʽ0(ƠDUMҠD(ʩ SZԴABUMPDABŠPN SZ3ABUMPؠABŠPN DB3A SZʠN.ƠDMHAUSD? MPA06N DB5 NB DABɠ(AG(5 SAA MPA00ɠϠ SPà AҠDɠϠ0 SPà DɠNP A SAD SAD+ SAD+ SAD+3 MPDɬ SPà MVŠNDϠDɠ SPà DNDNP DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ MPDND SPà ASSGNM H  24177-80004 1442 S 0122 04FORTRAN IV COMPILER (10K AREA)             H0101  SPà A00NP A SASUBƠSԠ'SUB'AG SAAƱNAZŠAƱϠ0. DA..DPɠ(A.DP SA.A.ABASŠ.Ơ--AB DANԠSMANAMŠ? SZASSN SBDNDYSDɽND DAMSԠA-DSNG-BAKNY? PAKK.B0000 MPAɲYS A0SBGNA00GԠNԠASSGNMNԠPN SSASS MPAɱNDƠASSGNMNԠB̠AHD DB.A DABɠ(ASԠDƠASSGNMNԠNY ANDB ADA.M3 SSA MPA0Ҡ-DNS MA SANנN׽-(N.ƠDSNDD DABɠ(ASԠDƠASSGNMNԠNY ҠN SSA MPA0NԠ.N.N(.A ADBK DABDɠSԠDàƠD SAԱA DAƠN-N-ABŠ? SSAN MPAɱYS A05DAԱAɬ PAB A05NBSSNMNԠ"B"SKP. MPA0DDNԠMAHD SZԱA SZNנU̠ƠMAHD? MPA05 DANԠYS SZASSSMANSANԠ? MPAɲ DA.A ANDKK0B0000 ҠM SZA MPA0M.N.M(.A DA.A ANDB600(AU(.A PAU SZASS MPA0U.N.U(.AҠBUԠU0 A06SBA00HASSGN DASUBƠ'SUB'AGSԠ? SZAN MPAɱ0YS DAN.ɬɠNϠAGAGSԠ? SZAN MPA0YSDϠNԠAGM DAUUAGGD? SZAN MPA09ϠHKҠDUMMYM DASPƠUNԠSAMNԠV PAK... SSUABŠSAMN MPA0 DAA PADUM MPA0AԌXDUM A0AN:A0. PASPƠSPANSAMN? MPA0YS A0DAàý(? PAB50 MPAɱ3YSSUBPGAM SBV00NϬAGVAAB A0B SBN.ɬɠSԠNϠAGAG SB.A.ɠSԠSUBSPԠNMAN DAMMMA00 MPA00ɠ SPà A09PAA MPA0DϠNԠ-YPŠDUMMYAAY PASUB MPA0DϠNԠ-YPŠDUMMYSUB DAA PA̠AԽ? MPA0YS DAM PAKK.M? MPA0YS DAD SSA MPA0MP MPA0ϠAGMAS'SUB'Ơý( SPà AɱDABɠSԠϠHAS ANDKK6B0000 SAAƱSAVŠNAƱ(.A PAKK.0 MPA0 DAB ANDKKB5 PAԱAɬ MPA05SԠHAS.MAHD MPA0HYDN'ԠMAH SPà Aɱ3DADGDMMAGS? SZAN MPA0YSDMMҠUV. Aɱ0SBS00AGSUBPGAM MPA0 SPà AɱDA.A. PADMB6000 MPAɲ6SUBSPԠNMAN DANԠSԠANAMŠ? SZASSNϬԠSANSAN MPAɴ0YS SBN00(BN.DSҠASSGNMNԠNY AɱSBNנN.ƠDSNHSNY DA ADAB SAϠϽNנGNҠPAҠSAK SASKBBGNADDҠƠPAҠSAK DASK SA ADAB SASKԠASԠDàƠPAҠSAK DA MANA ADAN DBN SSA DB MBNB SB3Aɠ-(ƠDSϠBŠMVD DASKԠNDƠPANDSAK DBSPƠSPANV̠? SZBSS?N DAŠYS(ANDƠUVANŠB MANA ADASK SSASS MPDPVƠDAAP̠V Aɱ6DA DBA ADAN SBAɠ(+Nש(ʩ A ADA SAʠʽ- SZ3A MPAɱ6 DB.A A.. SAAƠ. DAU.Aƽ0ƠUSUB PASUB.SŠAƽ.A SS SBAƠ.. DA.A. PADMB6000 SS DASAB. SAAԠ.. DANԠNAMŠAG ҠMMMD ҠAԠADDSSYP ҠUMUSAG ҠGŠAG ҠNנN.ƠDSNHSASSɠNY SABɠSԠDNASSGNMNԠNY NB DAAƠADDSSD SABɠNDDNASSGNMNԠNY NB DABDɠSԠDàƠD SAԱA DAA PASAB MPA03 DA.M3(A-3 NBSSNMNԠ"B"SKP. A03DAKMAD:A-. ADAN MANA SANנN׽-(N.ƠDSNDD SZASS MPAɲ Aɲ0DAԱAɬ SABɠ. NB.MVŠDɠBUҠϠD(.A SZԱAɠ. SZNנ. MPAɲ0.. AɲA SAGSԠ-AG MPA06 SPà AɲDASKB SA.A.ANԠASSGNMNԠNY. DBKDSҠHSSNG-BAKM MPAɱ SPà Aɲ6DBMN.ƠSUBSPS B ADBK..3 MPAɱ SPà AɲDAԱAɬ PABSBANKS MPA30YS MPA0N SPà AɲDAԱA PAAK MPAɲ PAAK MPAɲ A30DAƠSԠNؠNA̠ABŠ? SSASS bc MPA06N DB.A SBԴAɠ.A NB SB5Aɠ.A+ NB SB6Aɠ.A+ DBDG SZBN MPA33YSϠASSGNϠDAAP DBUƠNUVGUP? SSBSSN MPA33YS DA.YƬɠYPŠSAMNԠAG SZA MPA36ԠSAYPŠSAMN DAàý( PAB50 MPA3 DA5Aɬɠ(AA(.A SZA MPAɴ PAƠԠAGS? SSN MPA3ԠAGS DAԴAɬ ANDK...(A(.A SZA MPA3(.A.N.0 A3DA6Aɬ ANDKKB5 ҠKK.0 SA6AɬɠSԠAƱ(.A MPA0 SPà A33DA6Aɬ ANDKK6B0000 PASUBAƱB00 MPA39YSAPPAҠNYP A35DAԴAɬ ANDK...(A(.A SZASS MPA3 DAK5 SB00 SPà A39DAԴAɬ ANDKK0MASKUԠMD SAM MPA35 SPà A3DAK... ҠԴAɬ SAԴAɬɠSԠ(.A A3DAAƱAƱ(.A0? SSAYS MPA0 DAԴAɬ ANDB0(AN(.A PAB0 DAB$ PAB.00 DAB3 PAB0 DAB5 SZASS MPA06NϠNAMŠHANGŠNDD SANDHANGŠSԠHAҠƠNAMŠADNGY SBDNDMVŠNDϠD MPA3ϠNNUŠSAHHNנNAM SPà A36DA6Aɬ ANDKKB5 ҠSUB SA6Aɬ DAԴAɬ ANDKK0MMDŠD PA.M̬ɠMDŠAGƠYPŠSAMN MPA3MDSMAHD DA6Aɬ ҠKK.0B00000. SA6AɬSԠAƱ(.AB0000 DAԴAɬ ANDK...(A(.A A3DBSUB SZA SBU(.ASϠSԠUSUB MPA0ϠSAHASSGNMNԠABŠAGAN SPà A3DAԴAɬ ҠK...SԠ(.A(SAMŠASDNԩ SAԴAɬ DAAƱ PAKK6B0000 MPAɴ9AƱB0000 PAKK.0 SSAƱ(.A MPA06AƱ(.A DAK33 SB00MPPҠUSŠƠSUBҠNAM SPà Aɴ0DABND SAԱAɠԱSԠDADDҠƠND BNB(B DAK.M6(A-6 SAԲA AɴDAԱAɬ PAB0 MPAɴHAҠSABANK SZԱA SZԲA MPAɴ6 SPà AɴBS ADBK(BN.ƠDSҠASSɠNY MPAɱ SPà Aɴ6NB MPAɴ SPà AɴDAԴAɬ ANDK...MASKUԠ(.A. SZA MPA3(.A MPA0(.A0 SPà Aɴ9SASUBƠSԠAG'SUB'AG MPA3 SPà (BN.ƠDSҠASSGNMNԠNY SPà N00NP DBK..3 DAM PAAM? NBYSA̠NSAN PADB̠M6? ADBBYSDUBŠPSNNSAN PAK.PؠM5? ADBK..3YSMP MPN00ɠ SPà GԠNԠASSGNMNԠPNҠ SPà NY:.AUNԠPNҠϠASSGNMNԠABŠNY Ԡ:.APNҠϠNԠNYNHŠASSGNMNԠAB (A.A-SKB(.G.0MANSPƠASSGNMNԠABŠAHD ƽ.A-DP(..0MANSNؠ.ABŬ .G.0MANSNASSGNMNԠABũ. SPà GNA00NP DB.A DAB ANDB(AN(.A ADBA SB.A.A.A+N(.A DADP MANA ADAB SAƠƽ.A-DP DASKB MANA ADA.A(A.A-SKB MPGNA00ɠ SPà DNŠAN SPà ϠDN: A(.AP̠(PSNԠANUNҩ A(.A SPà D00NP DA SBDA00DNŠA DAP SBDA00DNŠA MPD00 SPà HDANDASSGNS SPà D00NP SBNMAҠNDϠBANKS SBN00N׽(A-(N.ƠDSNNAMũ SSASS MPD0NϠDD(DUMMYҠD DABND.ƠSԠDƠNDBU SAԱD SBB.AP(B(.A+ D0DAB AƬA ANDB3 SAԱDɠSŠSԠHAҠNϠNDBU SZԱDBUMPNDBUҠàBY DAB ANDB3 SAԱDɠSŠNDHAҠNϠNDBU SZԱDBUMPNDBUҠàBY NBBUMPDDàBY SZNנDDHAUSD? MPD0NϬNNU D0SBA00HASSGNS MPD00ɠ SPà HNSANԠ SPà 00NP SBDɠAҠDɠBUҠϠ0 SBN00(A-(N.ƠDSNDD SSASS MP00ɠDUMMYҠDNY DABDɠ.ƠSԠDƠDɠBU SAԱ SBB.AP(B(.A+ 0DAB SAԱìɠSŠDDNϠDɠBUuY SZԱàBUMPDɠBUҠPҠBY NBBUMPDDàBY SZNנDDHAUSD? MP0N MP00ɠYS SPà (A-(N.ƠDSND(.A SPà N00NP DB.A DAB ANDB ADAKM MANA SANנ(AN׽-(N.ƠDSND(.A MPN00 SPà (B(.A+ SPà B.APNP DB.A ADBK MPB.AP SPà D0:NUMBҠƠMNSҠAAY SPà :(AƠMNSNAAY SPà NA00NP DAU PAA ANASS MPNA00ɠNN-AAYϠ SAD0D0 DAM PAK.PؠMP? SZD0YSD0 SBN00D0D0DDD3 MPNA00ɠ SPà AGSUBPGAM SPà S00NP DAU PAVA MPS06UVA PASUB MPS0 SBNUSԠNϠUSAGŠS DA.M3 SAMN DAASN SAASN DBBD S05DAB PAASN NBSSNMNԠ"B"SKP. MPS0NԠMAHD SZASN SZMN MPS05ϠMPAŠNԠHAAAS DASUB SAASN̬ɠSԠASNM SBDU00SԠUSUB DAK.5 SB00USN SPà S0DAKM9 SAMN DBBAD9 SBBAD9P S09DBBAD9P ADBK DAB ANDKK5B PAD NBSSNMNԠ"B~#"SKP. MPS0NԠMAHD DAB PAD+ SS MPS0NԠMAHD DABAD9P DAA SASS MPS NB DAB PAD+ SS MPS0NԠMAHD SDBBAD9PɠNAMŠMAHD DAB ANDKK0MD PAM SSMDSMAHD MPS0NԠMAHD SB.A SBA00HASSGNS MPS00 SPà SDAND+ PAB0 MPS S0SZBAD9P SZMN MPS09NNUŠSAH S0DBND+5 PBB0 MPS03 DAK.6(A6 SBMSUBUNŠNAMŠH6HAS S03DASUB SAUUSUB SBDU00DNŠU SBDUMKDUMMYHK SZASS MPS0ԠSDUMMY SBA00HASSGN DASUBƠAG-SUBҠAGSԠ? SZAN MPS0YS. DAA PA MPS00ɠԬSUBAADYDND S0AN:A0. DB.A NB SABɠA(.A0 MPS00ɠ SPà S0DAK6 DBSP PBK..3 SBMDUMMYAGSUBSPDNAS MPS00ɠϠ SPà S0DASUB SZASS MPS0 DA.A ANDB600 PASUB MPS00 MPS0 SPà S06DAA PADUM MPS0 DAK33 SB00VAABŠNAMDASSUBUN SPà àSԠ SPà NY:(AԠMNANGHA. SPà SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA SPà NN-NSANԠSVԠ SPà NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN SPà NN-SUBUNŠSԠ SPà NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ SPà NGҠSԠ SPà NSԠNP DAMMNGҠ? PAN MPNSԬɠYS DAK6N SB00MNԠANNG SPà NϠUSAGŠSԠ SPà NUSԠNP DAUSMNAMŠAADYUSD? SZASS MPNUSԬɠNϬ DAK.YSNAMŠAADYBNGUSD SB00 SPà DUMMYHK SPà DUMKNP DAKK(A-DUM ADAAԠ(AA-DUM MPDUMK SPà SAVŠà SPà S00NP DAàSAVŠUMNUN SA0SV SZSנSԠϠNA̠SANNנADNԠBŠNPU MPS00ɠ SPà SAMNԠNPUԠ SPà SNPSBS00ϠSԠSנ.N.0ҠSAN A SASƠAҠSNG-BAKAG SA.ASԠASSGNMNԠABŠPҠϠ0 SA.M̬ɠAҠMDŠAG SBN00AMNŠNԠHA. SZASSSAMNԠNUMBҠSS? SBSN00YSNPUԠSAMNԠNUMB DA.A SASNASԠSAMNԠNUMBҠAG sSZASS MPSN0UNԠADHNϠSAMN DAKAD:A. DBNDADHŠNUMBҠƠHŠAD. ADB.M3"SUBA":ADNUMBҠ-3. SSBSSSԠADƠSAMN? SBSMҠNϬGϠSSUŠDAGNSà. DAKAD:A. DBA PB SBSMҠGϠSSUŠDAGNSà. SN0DA.ƬɠƠAGSԠ? SZAN ҠSNYS SB00ƠS PAàBANKADNPU? MPSN6 PASNNϬSAMNԠNAD? MPSSNNϬϠSANHŠSAMN DAàADHŠASԠHAAҠAD. PAB5AAG-UN? MPSNYSGϠPNԠSUŠN. SBN00YSGԠHŠNԠHAA. DAàADHŠUMNPN. SZAUMNSHUBANK? MPSSNNϬGϠDNYHŠADYP. SZàSԠý SNSB.BUƠGϠADUSԠADBUҠ. DAK9YSSAMNԠN.NBANKAD SB00GϠSSUŠAMNA̠DAGNS. SPà SMҠNPNYPN. SA.BUƠSAVŠHŠDAGNSàNUMB. SBPS0.ɠGϠPNԠHŠAD. DA.BUƠSŠHŠDAGNSàNUMB. SBMDUBYDNDSAMNԠ SZNPƠSԠNϠPNԠAG MPSMҬɠUN. SPà SN6SZàSԠHŠUMNPNҠϠ. SB.BUƠGϠADUSԠADBUҠ. DAD.ADHŠADDSSƠADBU. SADPԠSԠHŠADBUҠPN. SBM0.ɠMVŠɠϠADBUҠҠPSSNG. ANAN:A. SANDNAZŠHŠADUN. MPSNPGϠPSSHŠUNԠAD. SPà .BUƠNPNYPN. DANDADHŠNUMBҠƠADSNBU. ADA.M3"SUBA":3. SSASSNNUANADS? MP.BUƬɠYSUN. DAD.NϬADADDSSƠADBU. SADPԠSԠHŠADBUҠPN. SBM0.ɠMVŠBANKADϠ. SBPS0.ɠPNԠHŠAD. SBM0.ɠMVŠHŠNԠADϠ. MP.BUƬɠUN. SPà ƠSԠ SPà ϠUPUԠHŠBԠDŠҠANUNNDNA̠GϠ NY:Ơ(A0NϠBԠDŠUPU Ơ(ANN-ZϬUPUԠMP- ƽASSGNMNԠABŠPNҠƠUMPD-ϠSAMN SPà 00NP SZASS MP0NϠBԠUPU DA.MP'MP' DBKK.0B00000. ADB.ƬɠASSGNMNԠABŠP SBM00UPUԠM DAԱ.ɠMƠƠPSSN PAG MP0 A PA.ɠGA̠""AGS? SASP.ɠSԠASԠPANAG 0A SAԱ.ɠSԠGƠ..M SA.ƬɠSԠƠAG MP00ɠ SPà DGNPDMMAG KNP ԱҠNPASԠADP SƠNPSAMNԠV̠AG SNŠNPMUSԠBŠ0NAY. AƱNPSAVŠAƱ(.A S.NPSNGBAKAN GNP-AG(SԠƠSUBSPԠDUMMY ƠNPNA̠SAMNԠAG ԴAɠNP.A 5AɠNP.A+ 6AɠNP.A+ SUBƠNPAG'SUB'AG ASNNP 0SVԠ0SAVŠ NPƠNPNϠPNԠAG BAD9PNPBAD9ABŠP SPà KM9Dà-9 K.M6Dà-6 .M3Dà-3 KDà K..3Dà3 K...Dà K...Dà K.0Dà0 B0Ԡ0 K.Dà KDà K5Dà5 K6Dà6 KDà KDà K9Dà9 K33DàN33 B3Ԡ3 BԠ B5Ԡ5 B50Ԡ50 B.00Ԡ00 K.6Dà6 K.5Dà5 K6Dà6 B0Ԡ0 B600Ԡ600 SABԠ000AԽ(S-ABSUNDND DMԠ6000AԽ6(DMNSNMANNY. KK03Ԡ000ϠAԠAԠD SBԠ6000 .MPԠ6000'MP' KK.Ԡ0000 KԠ000 DSHԠ005 K.PؠԠ50000MP KK0Ԡ0000ϠAԠMD KKԠ5 KK.0Ԡ00000 KK6Ԡ0000 KKԠ3000 BSASà N.ASàN D$.ASàD$ SPà ò.DƠò PS0.DƠPS00 .MɠDƠM00 NMN.DƠNMN ..BDƠ PDƠ+ SU.ɠDƠSU00 N.ɠDƠN Ա.DƠԱ .DƠ ASN̠DƠASNMàƠUNԠASƠNAM SS0.DƠSS00 SP.DƠSP .A.DƠ.A. .ƠDƠ .M̠DƠM ..DPDƠ.DP .YƠDƠYP BADҠDƠBADD BDɠDƠD AKDƠD+ AKDƠD+ .NàDƠN BNDDƠNDSԠDàƠND .NDDƠND ԱADƠرSAԠàƠ-AB .زDƠز .3DƠ3 .ҠDƠ. ԲADƠDSAԠàƠD-AB D.DƠSBU KDƠDP+5B'.AƠ' SPà BAD9ABŠ SPà BAD9ԠDƠ+ DƠD.B DƠ.P DƠ. DƠS.NG DƠ.A DƠ.0 DƠ. DƠ. DƠ. SPà 0BSSASSGNABŠPNҠҠD0.. 5BSSASSGNABŠPNҠҠAAY. 3ABSS-ABŠPN ԴABSSD-ABŠPN .ŠBSSHDS(.A ʠBSSMPND ԱAɠBSSMP ԲAɠBSSMP 3AɠBSS ƠBSSؠԠB̠AG ԱDBSSNDBUҠPN ԱàBSSDɠBUҠPN SNBSSASԠSAMNԠNUMBҠAG =NLHSPà SAMNԠSAN SPà SANSHŠSԠADƠA̠SAMNSDMNNGƠH SAMNԠYPŠSAPAMNԠSAMNԬADϠSAMN (DBYҠAHMàSAMNԠUNN(AND HŠPANDMNADBY'('ANDASNԠANAAY. N  24177-80005 1442 S 0122 05FORTRAN IV COMPILER (10K AREA)             H0101  SPà SSNDANDƠADSNBU PAK ASSN:A0SKP. MPSSNHNNUANADS PANPƠNϠPNԠAGS? SBPS0.ɠNϬPNԠ A SANPƠSԠNϠPNԠAG PANMN.ɠNAMNԠUPUԠY? SBSU.ɬɠUPUԠSU SSNSBS00SAVŠ DAK SANNGSԠNϠNPUԠAG SBA00.ɠNPUԠHAS DA.PAK PAN. SS MPSS DAK SBA00.ɠNPUԠHAS DB.ɠADHŠGA̠""AG. SZBPAԠƠGA̠""? MPSSàYSDϠANMA̠SAN. DA.PAK PAD$. MPò.ɠ'Ϡò' PADSH'D'? MPSSNNDSAMN. SSàDA0SV SAàSŠ A SANNGSԠNϠNPUԠAG SA$NDƠSԠ'ND'UDAG. ANA(A SAԱSSSԠԱ SSñSBH00NPUԠHAA SSòDA PAB5ý? MPSS6YS PAB50ý(? MPSSøYS PAB5ý? MPSS9YS PAB5ýïҠ? MPSSB PAB.ý'"'? MPSS÷YS ҠB5à''? SZA MPSSñN SAԲSSSԠԲ0 SB00NϬUPUԠ SS3SBDN00NPUԠDNA DA PAB5ý? MPSS5YS PAB5ýïҠ? MPSSA PAB50ý(? SZԲSSԲԲ+ BYSԲԲ- ADBԲSS PAB5ý""? SBԲSS MPSS3ϠHKNԠM SPà SSôDAԱSS SZA MP.ASSԬɠASSGNMNԠSAMN SS0BNBSԠNϠSSƠAG SBN.ɠSϠHŠSNϠDUPAcN. SBSY00NPUԠSYMB BSԠNϠSSƠAGϠ0. SBN. SBM00MVŠSԠADϠ DAU PAAҠSMANAAY? MP.ASSԬɠASSGNMNԠSAMN MPSPҠSAMNԠUNN SPà SS5DAԲSS'('UNԠ0? SZA MPSS3N SSŠSBH00NPUԠHA. PAB5'ï'? SSYS MPSSŠN. SBM00MVŠSԠADϠ MPDPҠϠDϠPSS. SPà SS6SBH00NPUԠHA. PAB5ï? MPSSBYS SSDDAD̠SàADMҠ? SZA MPSSòYS SS÷DA SSN3PAB5ï? MPSSBYS SBH00NPUԠAHA. MPSSN3 SPà SSøA ADAԱSS SAԱSSԱԱ- SS9DAԱSS'('SD? SZA MPSS÷ϠDNYSAMNԠYP SBD.ɠAҠDϠ0 SBDS0.ɠNPUԠDGԠSNG SZASSDGSSD? MPSSòN MPSSDYS. SPà SSASBM00MVŠSԠADϠ MPSSô SPà MVŠSԠADBAKϠɠ SPà M00NP DAƠGA̠ƠAGS? SZAN MPM0YS DAұSԠSԠADBUƠ. SADPԠSԠDPҠϠPԠϠSԠAD SBM0.ɠMVŠADMDPԠϠ DAK SAàSԠý M0A SASנSԠϠDŠGN. SASDGSԠSDAG MPM00 SPà M0SADP SBM0.ɠMVŠADMDPԠϠ DAàSŠ. SAàSŠ MPM0 SPà  SAMNԠDNAN SPà SSBSBM00MVŠDPԠϠ A SASנSԠϠDŠGN. SAԴSDƠ'(' NA SASDGSԠSDAG SBDN00NPUԠDNA DAD̠? SZAYS MPSD9 SD0SBM00MVŠSԠADϠ DAK SBA00.ɠNPUԠHAS. DA.PAK SASNMSAVŠHŠSԠϠHAS. SBH00NPUԠAHA. SA..PAKSAVŠHŠHA. SBH00.PAKNANSASԠHAS. DASNM PAà'' SS MPSD DA..PAKHŠHDHA. PAB50'(' MPSDƠϠ'ƠPSS' SDDBPAB SB3SD3SAԠADDҠƠPSSҠB SDDAB NB DBB PASNM SSSԠNDHAS.MAHD MPSD3 PB.PAK MPSD3DHHAS.ASϠMAHD SD3DB3SD ADBK...3PNԠϠƠHAASD. DABɠADHŠƠHAASD. AƬAƠSHԠHŠHAAҠUNԠϠ. ANDB3SAŠHŠHAAҠUN. SAASNVԠHAASϠDS. NANMNԠҠDDHAAS. NAPNԠϠNԠSAMNԠYP. ADBAUPDAŠHŠPN. SB3SD33+ MBNB ADBPB SDDAK.0(A0 SSB SB00GA̠SAMN DB3SD MPSDϠYNԠNYҠMAH SPà SDƠDASKàƠ'('PSS SA3SD SBU00ý- SDDB3SD.ƠMAHDPSS ADBK DAB SASPS.ɠSAMNԠPSSҠSH SAԲSDԲPSSҠNYPN NB DAB `4SA0A.SAVŠHŠSAMNԠYPŠVAU. AƬA ANDB3 MANASZASSMŠHANHAAS? MPSDANϬNNUŠPSSNG. SAԱSDYSSAVŠHŠNGAVŠND. ANAN:A(DD. SADM00NAZŠHŠVNDDUN. SBM00SŠHŠSNGADDSS-. SD6DBDM00ADHŠVNDDAG. SBADYҠHŠNԠD? SZM00YSNMNԠSNGADDSS. DAM00ɠADHŠMPASND. SZDM00NMNԠHŠVNDDAG. SBHGHDҠHAAҠN? AƬAƠYSSHԠHAAҠϠ. ANDB3SAŠHŠHAA. SANS00SAVŠHŠHAA. SBH00GϠGԠHŠNԠHAA. BN:B-. PANS00DSHŠHAAҠMAH? SSYSNNUŠPSSNG. MPSDNϬGϠSSUŠDAGNSà0. SZԱSDKYDMPD? MPSD6NϬNNUŠPSSNG. SDADA0A.ADHŠSAMNԠYPŠVAU. ANDB3(ASAMNԠYPŠHAHY PA.K MPSDMUNԠSAMNԠSUAB PAK. SS MPSDK SB00UPUԠNAMNԠDƠNDD ANA SDKSBNS00S.NN-SPANHK. DAԲSD PAPAB+3 MPԲSDɠUNN PAPSB MPԲSDɠSUBUN PAPP MPԲSDɠPGAM DA3SD.ƠMAHDPSS MANA ADAYP̱ SSASS MPSDYP̱.G.3SD ADAK.0 SSASKPƠYP̲..3SD SDSB00NϬUPUԠ MPԲSD SPà SD5SBDN00NPUԠDNA SD9DA SASNSN PAB5'ï' MPSDB PAB.ý'"'? MPSDBo6YS. PAB50'(' SZԴSD PAB5'' ASS MPSD5 ADAԴSD SAԴSD SZA MPSD5 SBN00AMNŠNԠHA PBB5''? SS MPSDB SBM00MVŠS.ADBAKϠ. SASNSN MPSS0ϠSAMNԠSAN SPà SDBAN:A0. SASNSN MPSD0 SPà SDMSB00UPUԠNAMNԠƠNSSAY DA.K MPSDK SPà SSNDANà'ND'AN SA3SD MPSD SPà AGVAABŠ SPà V00NP DAU PAVA SS SBNUS.ɠNϠUSAGŠS DAVA SBDU00DNŠU MPV00ɠ SPà DNŠM SPà NY:(ANנMMD SPà DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 SPà DNŠU SPà NY:(ANנU SPà DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU MPDU00 SPà DNŠAԠ SPà NY:(ANנA(.A SPà DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 SPà DNŠAƠ SPà NY:(ANנA SPà DA00NP SAAƠAƽ(A DB.A DAB ANDKK0΅ NB PAA MPDA0U(.AA DA0DAA SAB MPDA00 SPà DA0DBBɠ(BG(.A NB MPDA0 SPà SABSHNSANԠ SPà NPU:(AMDŠƠM SPà S00NP SAM DAKK0.B00000 SANԠNԽҠNSAN DAVA SAUSԠUVA MPS00ɠ SPà D0:NUMBҠƠDSҠM SPà N00NP DAU PAA SS MPN00ɠϠ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY SSB MPPVP̠V MPN00ɠ SPà N06DBD SZB MPN0 DBD MPN0 SPà PVDAK MP.ɠP̠V SPà UMP SPà UMPAN:A0. SASPɬɠSԠASԠPANAG SPà GA̠DϠMNAҠ SPà MANAN:A. SASƠSԠASԠSMNԠAG(.DϠM SPà ïҠSԠ SPà SԠAN:A0. SADGSԠDMMUVAG DAB5ï SBSԠàS DAұS SADPԠSԠDPҠϠSԠAD SBM0.ɠMVŠɠϠSԠAD ANA SAàý SAND.ɠƠADSNBUƽ SԙkASנSԠϠSAN SPà SAMNԠMNANMUSԠ SPà SAMNԠMNAN SPà DASƠANYHNGϠBŠSUNG? SZAN MPS3YS SұDASNASԠSAMNԠHANUMBҠ? SZAN MPS0YS SҲSASƠSԠASԠSAMNԠAG SAƠSԠHŠGA̠ƠAG. MPSPɠϠNPUԠANנSAMN SPà S3DA.ɬɠƠAG SB.ԬɠϠGNAŠDAYDUMP'S DBSƠ.. NB. DAP̠.SŠP̠NϠHŠAƠD SABɠ..ƠS MPSұ SPà S0DBDàƠASԠDϠNYNDϠAB SҴSBɠSAVŠDϠABŠPN A PBDϠNDƠDϠABŠSAH? MPSҲYS DASNSHSSMNԠN.ADϠMNA? PAB MPS6YS SASƠSԠASԠSMNԠAG(.DϠM. S5DB ADBK.5 MPSҴ SPà S6DBSƠASԠSMNԠAGSԠ? DAK30 SZBN SB00YS.DϠMNANGSMN DBD NB DAB SA.M3ɠM3 NB DAB SAN.ɠNDؠ NB DAB SA.MɠM NB DAB SAMPADSԠSAMNԠƠPADD. SBD00.ɠDϠMNANG DAD ADAK.5 SADDD+5ϠMNAŠDϠNY MPS5NNUŠSAH SPà SԠNN-SPANHK SPà NPU:(ASAMNԠYPŠHAHY SPà NS00NP KK6B SB$NDƠSԠ'$'-ND AG SASƠSAMNԠV̠AG ADAKM3. SSA MPNS DASP SZASS MPNS DAN SZA MPNS NA NS03SAN SB DƠ+3 DƠK DƠ+ ASà3ƴ. SPà NSŠDAS PAK. MPNS6Sƽ PASPƠSPANAG MPNSSƠUASUNԠSMNԠV MANA ADASPƠ(ASP-S KK6.SSASS MPNS0SPƠ.G.SƬSMNԠUԠƠD DASP KKSZASS MPMϠAŠMMNMS NS0DAS SASPƠSAVŠUNԠSMNԠV̠NSP ADAKM- SZA MPNS0SƠ.N. PA.DGɠ'DAA'SS MPNS0N DAS.YS NA DBP SBA NS0DASNASԠSAMNԠNUMB SA.A SZASS MPNS00ɠ DAS PAK. MPNS0MAԠSAMN DAK DBSPƠSAMNԠV̠AG MBNB ADBK...3(B3-SP SSBSS MPNS53.G.SP NS0DA.A ANDKK03.AԠDƠSAMNԠ PA MPNS00ɠUN. SBD00SԠA(.AP̬A(.A MPNS00ɠϠ SPà NS0DAB. SB00SAMNԠUԠƠD NSDASPɬɠASԠPANAG ADASNASԠSAMNԠNUMBҠAG KK65BNB SBSPɬ NSSZA MPNS0 DAK35 NS5SBMNϠPAHϠHSSAMN MPNS00ɠϠ SPà NS6DA3SD PAN MPNS0NDSAMN DAPŠM SBS00ϠSԠM SBA00ASSGNM DAMP'MP' SBA00'MP'.A DA.A SASƠSԠSNG-BAKAG DASNASԠSAMNԠAG MPNS SPà (AB(A(B SPà :(AMSԠSGNANԠPNƠPDU (BASԠSGNANԠPAԠƠPDU SPà MPYNP SAMPYԱSAVŠMUPAND DAKM6SԠUNҠϠ-6 SAMPYԲ AAҠNA̠PDU MPY0ŬSBSԠMUPҠB ADAMPYԱADDNMUPANDƠBԠS ANGSH BGH SZMPYԲSԠUN MPMPY0P MPMPYɠUN SPà ASSGNADDSS SPà ϠASSGNSAGŠϠASNGŠVAABŠҠAAY NPU:.APNSAԠHŠANDDAŠҠSAGŠASSGNMN UPU:SAGŠSASSGNDҠHŠMN(ƠNԠY ASSGNDPNDAԠBY.A AHMNԠHASSAԠSԠϠ̠ANDSAƠS ϠHŠMNSAVŠANHNHŠB UPUԠP̠BUMPDBYSZŠƠHŠMNԠҠAAY. SPà AA00NP DANԠANAMŠ? SZAYS MPAA00ɠUN. DAA PAB000SAB SSNԠYԠASSGND MPAA00ɠAADYASSGND DAU PAVA MPAA0UVA PAA SSUA MPAA00ɠNHҠVAҠNҠAAY AA0SBD00DNŠAN DAP ADAD0SZŠƠMN SAP̠P̽P+D0 KK0.SSA MPPVP̠V MPAA00ɠϠ SPà SԠUPSNGBAKMPAN SPà SSB00NP DAPŠ>M SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMP.ɠSNG-BAKMPAN MPSSB00ɠ SPà -SԠ SPà MAԠNP DAB5'' SBSԠ-S MPMAԬɠ SPà Ơ(PSSҠ SPà PҠDAKM.AD:A-. SB00PSSNVAUA SAԱ̠MƠVAUADVAU DAB5'' SBSԠ-S SBN00AMNŠNԠHAA SZA MPP6SAMNԠϠ DAKK0.'SSA' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠN. DAMP'MP' SBA00UPUԠA SBMAԠS SBSN00NPUԠSAMNԠN. DA PAB5'' MPP3ý PDA.A SA.ɬɠƽ.A MPNP.ɠGϠDMNŠPPҠMNAN. SPà P3DAԱ̠MƠVAUADVAU PAG SS MPP DAB5 SBMGƠH3BANHS PDAKK'SZASS' SBA00UPUԠABS.NSUN DAMP'MP' SBA00UPUԠA SBSN00NPUԠSAMNԠN. MPP SPà P6DAK6AD:A6. DBԱ̠MƠVAUADVAU PBG SS SBMAƠƠHSAMNԠϠ DAK5 DBSƠSNGAGSԠ? SZBN SB00GA̠ƠHNGA̠ DAK9AD:A9. DBàADHŠNԠHAA. P$pBB5NDƠAD? MPPYSGϠMNAŠHŠSAMN. DAKK6.'SSASS' SBA00UPUԠABSNSUN DAPŠM SBS00SABSHNSAN SBA00ASSGNM DAMP'MP' SBA00UPUԠ'MP.A' DA.A SASƠSԠSNGAG SBN00AMNŠNԠHAA A SAM̠SԠMDŠAG DA SAàSAVŠ DADP ADAK.M SAƠàƠADNBU MPSSNϠSAMNԠSAN SPà PSZàSԠ""Ϡ. SB00GϠSSUŠDAGNSà9. SPà GϠϠPSSҠ SPà GPSBN00AMNŠNԠHAA SZAHA.ADG? MPGϲN SBSN00NPUԠSAMNԠNUMB DA.A SA.ɬɠƽ.A MPMGA̠MNAҠHK. SPà GϲDAD̠HA.AҠ? SZAYS MPGϴN SBV00NPUԠNGҠVAAB DAMP SBA00UPUԠ'MPɬ.A' DA PAB5'' SS MPGϱ SBB00NPUԠBANHS SBH00NPUԠHA GϱAN:A0. G3SA DA SASKB SASK MPNP.ɠGϠDMNŠPPҠMNAN. SPà GϴSBB00NPUԠBANHS SBH00NPUԠAHAA PAB5ý? SS SBU00UNNPUԠUMN DAKM5 SB00PSSNVAUA SAԱGԠSAVŠ.AƠVAҠҠMP DASB'SB' DB.GϠADDҠƠ.G SBD00'SB.G' A DBԱB̠ƠSAMNS ADBK SBZ00 'DƠP+N+' A DBԱGԠ.AƠVAҠҠMP SBSA00'DƠ.AƠVAҠҠMP' DA SAɠɽD G6SZ DAɬ SA.A.A(ɩ SZASS MPG3 A SBA00UPUԠ'DƠ.A' MPG6 SPà NPUԠBANHSԠ SPà B00NP A SAԱB̠Ա0 SBH00NPUԠHA. DAB50'(' SBSԠ-S B0SBSN00NPUԠSAMNԠNUMB DA.A SBPU00SŠSMNԠN..ANSAK SZԱB̠NMNԠNUMBҠƠSMNԠNS. DA PAB5'' MPB0ý A SBPU00NҠ0NϠSAK SBP00-NPUԠPA MPB00ɠ SPà DϠPSSҠ SPà DPҠSBH00NPUԠHAA PAB0'D' MPDPҴýD DAK SBMDϠMSSPD DPҴSBH00NPUԠHAA PAB.'' MPDP6 DAK SBMDϠMSSPD DP6DA.KAD:A. SBNS00S.NN-SPANHK. DAK50 DBԱ̠MƠGƠ..M PBG SBMDϠNGƠSAMN A SAԱ̠SԠGƠ..AG SBSN00NPUԠSAMNԠNUMB DAK3_. DBAԠ.NN-̠S PB̠. SB00_. DA.A SADSNDϠSAMNԠNUMBҠPҠSAVD SBV00NPUԠNGҠVAAB DBD DP5PBDϠASԠAVAABŠ MPDPҷ ADBK DAB PA.A MPDP0 ADBK...3 MPDP5 SPà DP0DAyNLHK5AD:A5. SB00NSDDϠHSAMŠNҠVA SPà DPҷDAB5'' SBSԠàS DAD ADAKM5 SBDP00DD-5 DBD DADSN SABɠ(D.AƠSAMNԠNUMB ADBK DA.A SABɠ(D+.AƠNDؠVAAB DAKM SB00PSSNVAUA SBMAԠS DAKM SB00PSSNVAUA SBAD00AAŠMP̠ϠDϠP DBD ADBK...3 SABɠ(D+3.AƠMNANGND DA PAB5ï MPDP9ýï DAKM SB00PSSNVAUA SBAD00AAŠMP̠ϠDϠP DPҸDBD NB SABɠ(D+.AƠNMNNGND ADBK...3 DAP SABɠ(D+P MPMϠGA̠MNA. I`N  24177-80006 1442 S 0122 06FORTRAN IV COMPILER (10K AREA)             H0101  SPà DP9DADP NA(A.AƠHŠNGҠ MPDPҸ SPà AAŠMP̠ϠDϠPSSN SPà NY:(A.APNҠƠNԠNSԯNԠVAүMP SPà AD00NP DB.A ADBK(B.A+ DBB SSBSS MPAD00ɠNԠNԠMP B ADB.N. SB.N..N..N.- MPAD00ɠ SPà DAAP̠VנSԠ SPà NPU:(AVAUŠƠNנD SPà DP00NP SADD(A MANA ADA ADA̠(A+-D SSASS MPDPVƠ+.G.DDAAP̠V MPDP00ɠ SPà ADPSSҠ SPà ADPAN:A0. MPP0 SPà SDGNPSDAG ..PAKNPNDϠHAS.ƠPSSҠNAM 0A.NP-(ƠHASϠBŠNPUԩ $NDƠNP MPYԱNP MPYԲNP Ա̠NPMƠVAUADVAU ƠNPGƠAG àNPàSAVDNG ԱGԠNP S.ƠNP SNSNԠ000000 K.0ABSYP̲-YPBYPŠSAMNԠDNNAA. SPà K.MDà- KM6Dà-6 KM.Dà- KM5Dà-5 KMDà- KM3.Dà-3 K.Dà K...3Dà3 .KDà K.5Dà5 K3Dà3 K30Dà30 B.Ԡ'"' K35Dà35 KDà K50Dà50 K5Dà5 K5Dà5 B5Ԡ00005 K6Dà6 B0Ԡ0'D' KDà B.Ԡ'' KDà KK0Ԡ600ϠAԠUD B000Ԡ000 KK03.Ԡ000 MPԠ6000 K.DAԠ6000 KK0.Ԡ00000 KK5Ԡ0 MPɠԠ6000'MP' KKԠ0 KK6Ԡ SPà .DƠ M0.DƠM00 M0.DƠM00 ND.DƠND A00.DƠA00 P0.DƠP00 D.DƠD DS0.DƠDS00 N.DƠNƠNϠSSƠAG(ƠNԠ0 NUS.DƠNUS SPDƠSNP .ԠDƠ00 SKDƠ NàDƠNDSH YP̱DƠYPB NP.DƠNP .ASSԠDƠASSԠ.ƠASSGNMN D00.DƠD00DϠMNANGUN SPɠDƠSP .MDƠM .M3DƠM3 N.DƠNҠPҠϠMPDDϠN.VA .DGDƠDAG .ɠDƠ MP.DƠMP .GϠDƠ.B+9MPUDGϠ SPS.DƠSPS ұSԠDƠSBUƠSԠADBUҠ. SPà ԱSSBSS'('AG(0Ơ'('SD ԲSSBSS'('UNԠAҠ SNMBSSSAMNԠNAMŠ(SԠϠS SƠSAMNԠNAMũ ԱSDBSSNUMBҠƠHASMANNG ԲSDBSSPSSҠNYPN 3SDBSSPSSҠNY-PNSB̠P ԴSDBSSƠ'('S ɠBSSSUPPMNAYND MPADBSSPNҠϠBGNƠMP.DϠBDY ԱB̠BSSNUMBҠƠSAMNԠNUMBS DSNBSSDϠSAMNԠNUMBҠSAVD SKP PSSҠNY-PNSABŠ SPà DSPҠABŠNYHHŠNGMA: SPà 50 +0:HAұHAҲ +:HA3HAҴ +:PSSҠNY. +3:Ա(A SPà H:HA'SAŠHŠSԠHASƠHŠPSS ԱNUMBҠƠHAASMANNG (ASAMNԠYPŠHAHY SPà PABDƠ+ ASàUNàUNN DƠUNP }Ԡ000Ա(A0 ASàN SPà ASàSUBҠSUBUN PSBDƠSUBP Ԡ3000Ա6(A0 ASà3UN SPà ASàDMŠDMNSN DƠDMP Ԡ00Ա5(A0 ASà3NSN SPà ASàGϠGϠ DƠGP ԠԱ0(A SPà ASàA̠A DƠAP ԠԱ0(A SPà ASàUUN DƠNP Ԡ00Ա(A ASàN SPà ASàNԠNNU DƠNP Ԡ0000Ա(A ASàNU SPà ASàMMA DƠMP Ԡ00Ա(A ASàA SPà àASà(( DƠP ԠԱ0(A SPà ASàԠ DƠP Ԡ0Ա(A ASà SPà ASàADAD DƠADP ԠԱ0(A SPà ASàBAKBAKSPA DƠBKSP Ԡ0Ա5(A ASà3SPA SPà ASàNDƠND DƠNP Ԡ0Ա3(A ASà SPà ASàɠND DƠP Ԡ00Ա(A ASàND SPà NDSHASàNND Ԡ005"ï" DƠNDP ԠԱ0(A SPà ASàSPSP DƠSPP ԠԱ0(A SPà ASàPAUSPAUS DƠPAUP Ԡ0Ա(A ASà SPà YPBU- ASàNŠNG DƠNP Ԡ00Ա3(A0 ASàG SPà ASàA̠A DƠAP Ԡ0Ա0(A0 SPà ASàDUBDUBŠPSN DƠ7DBP Ԡ500Ա(A0 ASà6PSN SPà ASàMPMP DƠPP Ԡ00Ա3(A0 ASà SPà ASàGɠGA DƠGP Ԡ00Ա3(A0 ASàA YP̲U-NDƠYPŠSAMNS. SPà ASàŠNA DƠP Ԡ000Ա(A0 ASàNA SPà ASàMMMMN DƠMP Ԡ000Ա(A0 ASàN SPà ASàUɠUVAN DƠUP Ԡ300Ա(A0 ASàVAN SPà ASàASSɠASSGN DƠASSP Ԡ00Ա(A ASàGN SPà ASàDAADAA DƠDAAP ԠԱ0(A SPà ASàPGPGAM PPҠDƠPG Ԡ00Ա3(A0 ASàAM SPà PBŠDƠ- SKP ŠPSSҠ SPà PҠANAN:A. P0SAƠSԠɯϠAG(0ADũ A SAS. SA SBH00NPUԠHAA DAB50'(' SBSԠ-S SBP0.ɠNPUԠPAND DAU PAAҠUA? SSYS SBV00NϬAGVAүN SBA00HASSGN SBNSԠNGҠS DAK.DA'DA' SBA00UPUԠ'DA.A' DAKK6'B' DBƠɯϠAG(0ADũ SZBSS DAKK65'BNB' SBA00UPUԠABSUŠNSUN DB.B. DA PAB5'' MPP03MAD SBD00UPUԠ'SB.B.' DA PAB5'' SS MP53GA̠D1M SBH00NPUԠHA. DA SA MPP0 SPà P0DBƠUPU? DAK6 SZBN SB00ŠDUPUԠNԠAD SZ SBH00NPUԠHAA ANA SAѠSԠUD A SBAD00UPUԠABS.DAA P06SBP00-NPUԠPA DAPŠM SBS00SABSHNSAN SBA00ASSGNM A SBA00UPUԠ'DƠ.A' DA.A SAS. P0DA PAB5'ï' MPP0 SBU00UNNPUԠUMN A SAHAҠHAҽ0NAY. SB00ɯϠSԠPSS. P0DB.DA.(B.Ơ.DA. DAƠɯϠAG(0ADUũ SZA SBD00UPUԠDԠUNN DBS. SZBSS MPS NB DAP SABɠA(.AP MPSԠϠïҠS SPà P0DBѠSԠƠSԠUD DAK63 SZB SB00 MPP0 SPà P03DB.D.(B.Ơ.D. SBD00UPUԠDԠUNN SBN00AMNŠNԠHAA SZA MPPNԠMAԠSAMNԠN. SBSN00NPUԠSAMNԠN. SZ DA..KADD-N. P05SBA00UPUԠ'DƠ.A' MPP06 SPà PDA PAB5'' MPP0ŠDNPU SBNM00NPUԠNAM A DBU PBA MPP05UAAY DAK SB00MԠSPàNN-AAYҠSMNԠ SPà PAUSŠPSSҠ SPà PAUPҠDB.PAUS(B.Ơ'.PAUS' MPPASԲ SPà  SPPSSҠ SPà SPPDB.SP(B.Ơ".SP". AN:A0. PAƠPAԠƠAGA̠""? SASPɠNϬSԠASԠPANAG. PASԲSBԲPAS A SA3PASƠA̠DGS SADɠBNAYA̠DGԠSNG PAS3SBH00NPUԠHA. DAN SZA MPPASԴNN-DG DA ADAB.M0 SSASS MPPAS9DGԠ.G. ADA.K DBD BƬB ҠB SADɠDɽD+à(BNAZD SZ3PASƠA̠DGS MPPAS3 PASԴDAK69AD:A69. DB3PAS ADBKM5. SSBSSSKPƠ..DGS SBMMŠHANDGS SBAUN00ASSGNUNԠN. DBԲPAS.Ơ'.PAUS'Ҡ'.SP' SBD00UPUԠDԠUNN MP.ɠϠGA̠MNA SPà PAS9DAK. SBMNVADA̠DGS SBDɠNɽ0 MPPASԴ SPà NDŠPSSҠ SPà NPҠDAK6ؽҠND-. MPB0 SPà BAKSPAŠPSSҠ SPà BKSPҠDAB00ؽҠBAK-SPA MPB0 SPà NDPSSҠ SPà PҠDAϴ00ؽҠND B0SAԱBҠSAVŠ SB.VìɠNPUԠNGҠVAүN DADA SBA00'DA.A' DAԱBҠ(ة ADAG+30000B SADɠDɽ30YY DAN SBS00SABSHNSAN SBA00ASSGNM DAADA SBA00'ADA.A' qDB.APŠ.Ơ'.AP' SBD00UPUԠDԠUNN MPSԠïҠS SPà ASSGNUNԠNUMBҠ SPà AUN00NP DAD SZASS MPAUN0 DAN SBS00SABSHNSAN SBA00ASSGNM DADA'DA' SBA00UPUԠ'DA.A' MPAUN00ɠ SPà AUN0DAMP SBA00UPUԠ'A' MPAUN00 SPà MAԠPSSҠ SPà MPҠDB.ƬɠADHŠGA̠""AG. DAKAD:A. SZBUŠBANHƠGA̠""? SB00YSGϠSSUŠDAGNS. DAK SAPƠSԠUPUԠAG SBH00NPUԠHAA PAB50'(' MPMP0 DAK9 SBMMAԠNԠSAԠH'(' MP0DASN SZASS MPMP5 NA DBA SZBSS DBP ADBKM SBAɠAƠƠSԣP- MPA MP5SAPMƠ'PM'AG MPSB.DɠAҠDϠ0 SBDS0ɬɠNPUԠDGԠSNG DAD+ SADɠDɽD DA PAB.0'H' MPMP9 PAB'"'? MPMP6 PAB5ï SS MPMP DA.PAK AƬA ANDB3 PAB5'' MPMP DAK0 MP3SBMMAԠNԠNDDBY'' MPAN:A0. SAPƠSԠUPUԠAG MPSԠϠ'ï'SԠSM SPà MP6SZPMƠSԠPMŠAG MPSB00NPUԠUMN SBPAK PAB5 MPMP3HHSNGMND DAPM SZA MPMPg A ADAD SADɠDɽD- SZA MPMPH.SNGNԠYԠHAUSD MPMPSNGHAUSD SPà MPDA PAB'"' MPMPý'"' MPMP SPà MP9DBD SZB MPMPDɠNN-0 DAK..0(A0 PB.DԬɠDԽƠDGS SSDԽ0 SB00MPYDGԠSNGDɽ0.N.D SZDɠBHDɽDԽ0SԠDɽ MPMP SPà UNPSSҠ SPà NPҠSBH00NPUԠAHA. DBSBƠSUBPGAMAGSԠ? SB.A SZBSSYS MPNPNϬUNNMANPGAM SBN00UNHAND MPNP SPà NPSBPM00PGAMMNANàA DAK SBM NPDA.ƬɠGƠAGS? SZAN MP.ɠYSAנNϠAB. MPUMP.ɠ'ϠUMP' SPà UNHAND SPà N00NP DAS.ɬɠ(AS SZASSNϬԠSAUNN MPNPYS PAK..Sƽ? MPNPYSSԠUNNUNN DA.MPK'MP' DBS.ɬɠ(BS SBM00UPUԠ'MPS' MPN00ɠUN. SPà NPDAP SAS.ɬɠSƽP DBSB DAB AND.KK0B0000 PAN MPNP6M(SBƩN PAG MPNP6M(SBƩG PAA MPNP5MA DB.ҠMPؠҠUN PADB̠MDB̠? DB.DҠYS(BàƠDUBŠ SBD00UPUԠDԠUNN DAK.K0'0' DBDA̠SԠAG.àƠMPؠҠDB SBM00UPUMMYN MPNP SPà NP5DB.DD.ƠDUBŠADUN SBD00UPUԠDԠUNN NPDBSB SB.A.ASB ASS(A0ϠUPUԠ'DƠ.A' NP6DADA'DA' SBA00UPUԠA NPDA.MPɠ'MP' DBϠUN'NP'. SBM00'MPϬ' MPN00ɠ SPà NNUŠPSSҠ SPà NPҠDASPɠASԠPANAG ADASNASԠSAMNԠNUMBҠAG SASPɠSPSP+SN A SASɬ SBH00NPUԠHŠNԠHAA. DB.ƬɠADHŠGA̠""AG. DAK9AD:A9. SZBUŠBANHƠGA̠""? SBMYSMMNԠNVŠ"NP". MPSԠïҠS SPà ASSGNPSSҠ SPà ASSPDADA'DA' DBK SBZ00UPUԠ'DA+' DAKK66'SS' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠNUMB SZ A'D' SBA00UPUԠA(DƩ DAϱ'' SBSԠ-S SBH00NPUԠHAA DAK9'' SBSԠ-S SBV00NPUԠNGҠVAAB DAK3 DBA PBDUM SBMGA̠UASAGŠƠDUMMYVAAB DASA'SA' SBA00UPUԠA(SA MPSԠïҠS SPà A̠PSSҠ SPà APSBSY00NPUԠSYMB DAK..6(A6 DBB0 PBND+5 MPA̱ SBND+5 SBMPGAMNAMŠMŠHAN5HAS. A̱SBDNDMVŠNDϠD DAD PABƱ KK66SSSKP. MPA5 DAD+ PABƲ SS MPA5 DBD+ DAK5 PBB3 SB00PGNAMŠADNAM A5DAU PASUB SS SBS00AGSUBPGAM A A̲SB00PSSNVAUA MPS SPà ASSGNMNԠSAMNԠPSSҠ SPà ASSԠDA..K SB.NS0ɠSԠNN-SPàHK SB00NPUԠM SBNN.ɠNN-NSANԠS SBNSUBԠNN-SUBPGAMS DA.KM6(A-6 MPA̲ SPà --ABŠHK SPà 00NP DA.A MANA ADADP SSAN-ԠAB MP00ɠ DB.A ADBK DAB AND.KKB5 ҠKK0 SABɠSԠAƱ(.A SBA00ASSGNM MP00ɠ SPà SAMNԠUNNPSSҠ SPà SPҠDA.K3 SB.NS0ɠSԠNN-SPàHK SBSY00NPUԠSYMB SB00--ABŠHK DADɠ_. SAASNM. DAD+. SAASNM+.SԠUPASƠNAM DAD+. SAASNM+_. DAM SAԱSƠSAVŠMƠS..NAM SADA.ɬɠSԠ'AS'AG DA.A SA0SƠSAVŠASSɠPҠƠS..NAM A SBDU00U0 SBD00NPUԠDUMMYS DA0SƠSŠASSɠPҠƠS..NAM ~SA.A SBD00A(.AP̬A(.A DAP SAԲSƠSAVŠ.ƠS..NP SB.GP0ɠGNAŠPGAMNAN DAϷ5'' SBSԠ-S A DBԱS SBMSŠMƠS..NAM SB00PSSNVAUA SPDBD_. ADB.K3 DABɠ.SŠASSɠP SA.A_. ADBKM_. DABɠ.SŠU SB.DU0ɠ_. DBD_. NB. DABɠ.SŠA SBDA00_. DADɠV DB.A. NB. SABɠVSŠA DAD ADA..K SADDD+ PADϠNDƠDϠB̠AHD? SS MPSPNԠY DA0S SA.A.AASSɠPҠƠSMNԠUNàNAM DA.MPɠ'MP' SBA00UPUԠA SBA00HASSGNS DBU SZB MPSP SBS00AGSUBPGAM SP3DAԲS SBDA00SԠS..NPàNϠA..ƠS.. A SAASNMSԠASƠNAM MPSԠïҠS SPà SPPBVA SS MPSP5 DAK.5 SBMVAABŠUSDASSUBUN DASUB SBDU00SԠUSUB MPSP3 SPà SP5DAK5 SBMUSN MPSP3 SPà NDPSSҠ SPà ASSGNADDSSSϠNSANS UPUԠNDDҠAD A̠NNDPASSANDANSҠN̠Ϡ SPà NDPҠDB.ƬɠADHŠGA̠""AG. DAKAD:A. SZBUŠBANHƠGA̠""? SB00YSGϠSSUŠDAGNS. DBDBUƠƠDSP NNG NBBGNNNGƠSS. PBDBUҬDN'ԠUPUԠANH MPDK0BUҠAD. B SBDɠSԠNDƠBU+Ϡ0 SBU.ɠUPUԠASԠSSƠBU DK0DBDàƠASԠDϠNYNDϠAB DKSBԲSƠSAVŠDϠABŠP PBDϠNDƠDϠABŠSAH? MPDK5YS DASNSHSSAMNԠADϠM? PAB MPDK3YS DBԲSƠԲSƽԲS+5ϠNNUŠSAH ADBK..5 MPDK SPà DK3DAK.30(A30 SBMGA̠DϠMNA DK5DBSN SZB SBD00DNŠAƽP̠ҠSԣ. DBP PB.MPɠSNG-BAKMP. MPNDP DBSP PB..K MPNDP0UNԠSAMNԠUAB DBDA.ɬɠDAAASƠAGS? SZBSS MPNDPDN DAS.SNGBAKAN NA DBP SBA NDPDDAKAD:A. SBMGϠSSUŠDAGNSà. NDP0BN:B0. PBNP MPNDP DANN ADAK SSASS(A-(ƠNSMAND MPNDPàԠPAGŬPNԠHAD. NDPSBSKPɠSKPϠNS NDPBDASBƠSUBPGAMAGS? SA.A SZASSYS MPNDPNϬNԠASUBUNŠҠUNN SBN00UNHAND SBA00HASSGNS DAU DBS.ɬɠSԠAUNN? SZBNϬԠSASUBUN ҠVA DBA DAK6 SZB SBMUNNNAMŠNԠUSD SUBUNŠNAMŠUSD NDP3DADP NA SA.A.ADAAP̠SAԠADDSS NDPSBGNA00GԠNԠ.A SSASS MPNDP6NDƠASSGNMNԠAB TNLH SBD00HDASSGNS DANנƠDSNNY ADA...M3(A(A-3 SSA MPNDPҠ-DNS DAN SZA MPNDP5NSAN PAU MPNDP9U0SAMNԠ MPNDP $N  24177-80007 1442 S 0122 07FORTRAN IV COMPILER (10K AREA)             H0101  SPà NDPàSBԲPS.ɠZϠP--PAGŠAGHN SB.ɠԠPAGŬPNԠHAD.N: MPNDPBԲPS̠MUSԠBŠNN-NGAVŠNY SPà NDPDAK66 SBMPGAMUNNHUԠBDY A ADAP SAP̠P̽P- SB00UPUԠ..P MPNDP0 SPà NDP5DAU PAVA SS MPNDPNNVAABůNSNA DAA PA MPNDPAԽ SB00UPUԠ.A.P SBD00AԽ̬A(.AP SB00.ɠHNSAN SB0.ɬɠUPUԠNSAN MPNDP SPà NDP6SB00UPUԠAD.PP DADP NA SA.A SBD00DNŠAN ANA SBAD00UPUԠNGҠ DB.BAD. DA.ɬɠƠSNMPAN SZA SBD00'SB.BAD.' DAұNDƠDB̠DSMAK SA..ɬɠҽ SB0.ɬɠUPUԠD SBSS0ɬ SBS0.ɬɠUPUԠHŠASԠS AUPUԠPGAMSZ ADAP̠NDMA. SBHUPDUŠN-HUSANDSDG SBPSZ+SŠԠNUPUԠN. SBASɠNVԠSԠƠPGSZ SBPSZ+ϠASɠANDSŠԠN SAPSZ+9UPUԠN. DASZŠUPUԠMMNSZŠNDMA. SBHUPDUŠN-HUSANDSDG. SBMSZ+ANDSŠԠNUPUԠN. SBASɠNVԠSԠƠMSZ SBMSZ+ϠASɠANDSŠԠN SAMSZ+9UPUԠN. DAN-BANKS SAN+ DAASNϠASɠ'N' SAN+ DA.ɬɠƠS SZANϠ SBASɠNVԠϠDGԠAS DANPADHŠASԠNŠNGHPND. PAK9"UNDND"MSSAG? SBSKP.ɠYSGϠSKPAN. DBK. SB.PNɠSԠ-PNԠAG DANDKàƠMSSAG SBPS.0ɠPNԠԠU SZ$NɠSԠ$NDƠAG SPà ϠSԠAƱϠ0N--AB SPà DA.DPɠ(A.DP SA.A.ABASŠàƠ--B SAP0SBGNA00GԠNԠ.A DA.ƬɠSԠNؠB̠? SSASSYS MPSAPN DB.A ADBK DABɠ(ASԠϠHAS. AND.KKB5 SAB MPSAP0 SPà SAPBZ SBԲPS.ɠPƠPAGŠAG. DBNN SSBSSSKPƠNGAV BMAKŠԠNG. ADB.KM SBNN SBàϠԠAPAG DƠ+ DƠK3 DƠN DƠNN DANPƠNSPAG MANA SANNŠ-(ƠNSMANDNPAGũ SPà BNGNNDPASSANDANSҠN̠ϠԠ SPà SBà_. DƠ+3. DƠK.BNGNPASS DƠ+ ASà3ƴ._. SPà HUNPPDUŠN-HUSANDSDG. BNAY0. NP0ADAKMԠSUBAԠ0000. SSAƠPSVŬ MPNPN-DN. NBNMNԠ0000UN. MPNP0SUBAԠAGAN. SPà NPADBB.60ADD'BANK-0'NAS ADAKԠSŠBNAYVAUŠ MPHUɠUHҠNVSNAND. SPà NDPSB.AA0ɠASSGNADDҠϠVAABS MPNDP SPà PGAMMNANàA SPà PM00NP DBNDKàƠ DAK.SB'SB' SBSϗA00UPUԠ'SB.' A DBK SBZ00UPUԠ'DƠ+' DAK..6(A6 SAD DAN SBS00SABSHNSAN SBA00ASSGN6ϠDAAP A SBA00'DƠ6' MPPM00 SPà NDPSBPM00PGMNANàA MPNDP3 SPà NDP9DAA PA MPNDP PADUM MPNDP DA.A PASB MPNDPASUBUNŠNAM SBDNDMVŠNDϠD DAND PAK6 SS MPNDP DAD SAUNAB DAD+ SAUNAB+ DAD+ SAUNAB+ DANDK3àƠMSSAG DBK9 SB.PNɠSԠ-PNԠAG SBPS.0ɠPNԠUԠUNDNDMSSAG SZ.ɬɠƽ+ MPNDP SPà NDPADAVA SB.DU0ɠUVA. SBD00DNŠ. DAP ADAD0 SAP̠P̽D0+P SSA MPPVP̠V MPNDP SPà NVԠϠUҠASɠDGS SPà ASɠNP PASàUAS B NPADAKMԠ(A(A-000 SSA MPNP NBNMNԠ"B". MPNP SPà NPADBB..60(B000HDG BƬB SBN+ ADAK000 B NP6ADAKM00(A(A-00 SSA MPNP NBNMNԠ"B". MPNP6 SPà NPADBB..60(B00HDG ADBN+ SBN+ ADAK00 SBPD00.ɠPAKDGSϠAS SAN+ DBN+SԠϠDGS MPASɬɠ SPà NPUԠDUMMYSԠ z SPà ϠPSSASԠDUMMYAGUMNS: SAMNԠUNNS SUBUNS UNNS SPà A̠NAMSNHŠSԠAŠNDNϠHŠASSGNMN ABŠH: U0 AԽDUM AƽP SPà ҠSAMNԠUNNSHŠDASSGNMNSAŠSAVD SϠHAԠHYANBŠSDAҠHŠSAMN UNNSPSSD. SPà D00NP DAB50'(' SBSԠàS A SA.AGƬɠSԠƠAG0 DAP SASP̠SAVŠ̠PGAMAN DAMMPؠҠDB̠? PAP SS PADB SZP̠YSBUMPP̠BY DAP SSA MPPVP̠V D0SBSY00NPUԠSYMB SB00N-ԠABŠHK DAN SZA MPD0 DAK6 DBA PBDUM SBMDUBYDNDDUMMYVAABS D0DAKAD:A. DB.A PB0SƠASƠMAMŠNSDUMMYS SBMASƠNAMŠNSDUMMYS DAD ADA..M SBDP.0ɠDD- DBD DA.A NA DAA SABɠ(DA(.A NB DAA SABɠ(D+A(.A NB DAU SABɠ(D+U(.A NB DA.A SABɠ(D+3.A A SB.DU0ɠDNŠU(.A0 SZ.AGƬɠAGƽAG+ DAP SBDA00DNŠA(.AP DADUM SBDA00DNŠA(.ADUM SZP̠P̽P+ DAP SSA MPPVP̠V DA PAB5'' MPD0ý SBP00-NPUԠPA MPD00ɠ SPà ɯϠSAMNԠSԠPSSҠ SPà 00NPAD(Ҡ(4A NDSABU̠SAVŠAPŠNGHҠUS SSBSSUSҠNGHNHAS? MBNBYS ADAN MBNB SSASSDNGHUSҠUS? SBBU̠YSSŠUSҠUSԠNGH DABU DBBUAGԠGNA̠US SSBUSҠUSԠҠDS? MANAYSNGAŠAUA̠NGH SABU̠N MPԠNNUŠADPSSNG SPà AԠNP PSàMNDND--D? MP.50YS .6SSDAANϬNԠDADY? MPPN .3ADAAàYSADDAAD MPAԬ SPà NҠNP DABU̠US'SBUҠNGH ŬSSADS? MPNҬɠYS MANASZASSNϬHAAS MPԠDNŠƠUSԽ0 AS MPNҬ SPà NàNP SBSNGԠSAUS AҬSAUNԠADY? MPS.N BҬŬBҠYS SBSSŠNABD? MPNìɠYS DAD.9N DBNAUPU SB35ɬɠMSSAG HԠ33BHA SBAKHKҠAU MPN+ SPà MNDNP .AMNDUPUԠMMAND S.0BMNDADSAUSD BҬB BҬSBUSԠD MPԠYS .SàMNDàNϬNAŠUN BSZŠADҠ? MPMNDɠYSUN .5SSMND MP.5 SBSNGԠSAUS MPMND HKҠAPŠUNԠNAUϠ AKNP SBSNGԠSAUS ŬSBSSUNԠNAU? MPAKɠYS DAM3 DBMMA SB35ɬɠMSSAG HԠBHA MPAK+ SPà ԠDBDB0ADAҠMMAND .BBMNDUPUԠ .6ҝSàMNDàNAŠ .0SSMNDMPD? MP.0N MP.YS SPà àNP SBSNGԠSAUS AƬŬAҠSHԠ""ϠA0 SAAԠ"" MPԱYS MPìɠN HDMAGAPŠDVҠNGUA NҠHHŠҠMAGAPŠSԠDŠN(B.A̠ɯ NSUNSNHŠMAGAPŠDVҠAŠMDD NŠHŠGVNɯϠP. MDNNP SBMSDSAVŠSԠD DBNAGԠSANGPN MDɱDAɠGԠNSUN ANDDM6MASKUԠDSԠD ҠMSDMGŠNNנSԠD SAɠSAVŠ NB PBNANSHDDAAHANN? SZMSDYSBUMPSԠD PBN3ANSHDMMANDHANN? MPMDNɠYS MPMDɱN NDƠM.3DAAHANN̠NSUNS DƠM.9 DƠ.3 DƠM.3 DƠM. DƠ.3 DƠM.5 DƠM.9 DƠM.5 DƠM.50 DƠ.5 DƠ.50 DƠ.3 DƠM. DƠM. DƠM. DƠM. DƠM.6 DƠM. DƠ. DƠ.6 DƠ.9 DƠ. DƠ. NDƠM.MMANDHANN̠NSUNS DƠM. DƠM. DƠS. DƠS. DƠS. DƠS.0 DƠP DƠM.30 DƠM.5 DƠP DƠ.0 DƠM.5 DƠ.5 DƠ.0 DƠ.0 DƠ. DƠM.0 DƠM. DƠM.0 DƠM.0 DƠ. DƠ. DƠM. DƠ. DƠ.6 DƠ.B DƠ. DƠ.6 N3U HDNSANSMPAS. HDDSàDV UPNNY(AHDSHŠDSàADDSS/(BS5-DMN HŠDSàNDAND(BHDSHŠŠADDSS.BԠ5 Ơ(BSҠAANSҠϠŬ0ҠAANSҠϠDS. ԠSASSUMDHAԠDàHDSHŠNGAVŠANSҠNGH NDS. DSDNP SADADDҠSAVŠDSàAND SBŠŠADDSSS DADàԠN SZASSDUN MPDSDɠƠZ SSBSSUNDUP ANDNM6ϠU̠S SADàN DADADDҠAD A̬A̠DS ANDN.3S SADSãD ADADSB̠D DA0 SAA̠SAVŠ ANDDBAԠSԠD DB0PYNϠ(B ADADHNUPUԠDMADS ADMANKAGŠN̠D ҠDSàMPU SADS3 NAAND ҠNB00 SADSñS SADSô SADS5ɯ ADANB00 SADSòMMANDS DBŠSԠB0 MBϠPP B̠DNB DAA̠SԠB۲:0 AƬAƠϠPP S̠ADDSSP DADADDҠA A̬A̠AK S̠6NUMB A̠MVŠBԠ SҠ9SHԠHADAŠADDSSNϠ(A SADADD DBNM0SԠY SBA̠UN DSñA0AԠ SADSàN MPDSñŠAND AƬAƠDS SSASSUP MPDSñSPD DADADDҠUPU DSòA0DSàADDSS àMAҠUPU DAŠ AMAҠADDSS SàMAҠUPU DADàANS AMAҠNGHs<:6 SàDMAàNA DS3Sà0ANS SSDMAAԠ MP-MPNAG DSôA0AB ANDNB0B SZAS? MPDS6YS DAŠN SSASSAD? MPDS÷N DS5A0YS ANDDB3AUY SZASSANS? MPDS÷N DS6SZA̠YSYAGAN? MPDSñYS DAMNϬPN DBDSA'DS SB35ɬ DADSãS ADADB60DSàNUMB AƬAƠAND'' ADASASHN SABDAɠBU BMPU DADADD AƬAƠAS A ANDDB DVDB ADBDB60 SZASSAK MP+3 ADADB60NUMB AƬA Ҡ SABDAɠSŠ DAM5 DBBDA'دج' SB35ɬ MPAɠMNAŠADDUMP DS÷àDMAàANUP MPDSD ND _<  24184-80001 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 8  ASMBAB̬ì HDDHADDSàANDDUMDAGNS DAGNSàҠDHADDSàҠDUM NGUANADDSS SANGADDSS00B SHGSҠDUNGNGUAN BS0-5SԠDŠҠHŠɯϠHANN̠NANNGH YP BS6-SԠDŠҠHŠɯϠHANN̠NANNGH DAANAŠҠHŠDS HŠMMANDHANN̠NAŠBADSHŠN HGHҠSԠD BԠƠSԠϠZϬMAHNŠSA6.ƠSԠϠNŬ MAHNŠSA5ҠA BԠ3SPA BԠSԠϠZϠҠDMAHANN̠6. SԠϠNŠҠDMAHANN̠.(MAYNԠSԩ BԠ5SPA SHGSҠDUNGUN BS0-SPAS BԠƠSԠϠNŬAҠAKABŠAND PANAB BԠ3ƠSԠϠNŬUŠPAҠDSGNPGAM BԠSԠϠNŠҠMANUA̠NPUԠƠDVŠPAAMS BԠ5ƠSԠϠNŬSHNSԠNSS3ANDS5 BԠ6ƠSԠϠNŬSԠAKSN(SHN SANDS BԠƠSԠϠNŬPAԠASԠSN BԠƠSԠϠNŬPAԠASԠPANN VŠMS BԠ9ƠSԠϠNŬHAԠAҠAHSNƠH PGAM BԠ0ƠSԠϠNŬA̠NN-ҠMSSAGSҠH YPŠ̠BŠSUPPSSDPԠUN PANMSSAGSANDH. BԠƠSԠϠNŬA̠MSSAGSҠHŠYPŠ BŠSUPPSSD BԠƠSԠϠNŬHAԠAԠNDƠS. BԠ3ƠSԠϠNŬPNASԠPAN BԠƠSԠϠZϬPGAMH˔ASAҠAH BԠ5ƠSԠϠNŬPGAM̠MŠϠANDY HA G MPNGɠNGUŠPGAM G00B MPSAD G05BϠDNŠNDNGADDSSҠSϠDUMP DƠPNDNDNGANƠPGAM G0B NDƠHϬɠUNPN(ASUSD NUPԩ GB UNԠPAN(PADDSS PҠNP SAPNAPU ADB009UN MPPҬɠADDSS AU0AGSҠADDSS BUBGSҠADDSS àU0HSSYMB̠SUSDAԠA̠PAS HŠHŠMMANDHANN̠NUMB SSD HU0HSSYMB̠SUSDAԠA PASHŠHŠYP HANN̠NUMBҠSSD DàU0HSSYMB̠SUSDAԠA PASHŠHŠDAAHANN NUMBҠSSD DMAUDMAN̠HANN̠(Ҡ3 DMA6UDMA+DMANUPԠHANN̠(6Ҡ MSU500NUMBҠƠMAHNŠYSP MSND(5 MMSU65NUMBҠƠMAHNŠYSP MSND(6 SϠU0BNYADDSSҠSϠSԠUPU SZƠU0APPASHŠANŠDPNDS NHŠSҠSZ. BHKBSS BDBSS BNNԠBSS BPABSS BUADBSSPMAYBUҠADDSS BUAŠBSSSNDAYBUҠADDSS ÷Ԡ0 HAҠBSS NԠBSS H3NP HԠ0 ADBSS NSנBSS PNNP PNԠBSS PNԠBSS SAVŠBSS SҠBSS VԱBSS VԲBSS V3#BSS YؠBSS DñԠ0 DԠBSS DMƠBSSDMAҠNDA àBSSASԠҠNUMB NԠԠ0 AGBSS PԠ0 GBBSS GBBSS GB3BSS GBBSS GB5BSS GB6BSS SԠBSS KMSBSS AB̠BSS ABàԠ0 BPBSS BPBSS NԠBSS A̠BSS ADBSS AMBSSASԠDƠAVAABŠMMY MASKBSS MNԠBSSMSNDUN MNҠBSSYSHNMSND NUMPDà PNԠBSS PSԠBSS PASSBSSPASSNUMBҠSDH PAԠBSS PNԠBSS PNABSS PAGBSS PADBSS PSAVŠNP PSҠBSS PNԠBSS PNؠBSS S00BSS SPԠԠ0 SNBSSUNԠSNNUMB SҠBSSSҠHŠUNԠPAN ̠SA SAGBSS SHASBSS SAUSBSSDVŠSAUSSDH SƠBSSҠPNҠҠZϠƠN SUPPԠ MPBSS MPBSS MP3BSS MPBSS MP5BSS MŠBSS NԠԠ0 AKBSS VA̱BSS VA̲BSS VAUŠBSS NԠBSSPSVŠDUNԠ UNԠPAN D0DƠ DBSS DBSS D3BSS DBSS SKP D0Dà0 BDà B0UB DUB DDà ̠UD BԱUD BUD D3Dà3 B3UD3 DDà BԲUD BUD D5Dà5 D6Dà6 DDà BUD DDà B3UD B0UD D9Dà9 BUD9 D0Dà0 BUD0 DDà B3UD DDà BUD D3Dà3 B5UD3 DDà B6UD D5Dà5 BUD5 BԴDà6 B0UBԴ D6UBԴ DDà BUD DDà BUD D9Dà9 B3UD9 D0Dà0 BUD0 B{ 5Dà B6Dà D3Dà3 BUD3 B30Dà D5Dà5 B3UD5 B3Dà6 D6UB3 B33Dà DDà B3UD D9Dà9 B35UD9 D30Dà30 B36UD30 B3Dà3 B0Dà3 B5UB0 D3UB0 BDà33 BDà3 B3Dà35 BDà36 B5Dà3 B6Dà3 B50Dà0 B5Dà DDà B5UD B53Dà3 D3UB53 B5Dà B56Dà6 D6UB56 B5Dà B60Dà B6Dà9 B6Dà50 B63Dà5 B6Dà5 B00Dà6 B6UB00 D6UB00 B03Dà6 B0Dà6 DDà D9Dà9 D90Dà90 BԷԠ00 DUBԷ B35Ԡ35 B335Ԡ335 B336Ԡ336 B33Ԡ33 BԸԠ00 D56UBԸ B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 B00Ԡ00 BԠ BBԠ000 ÷Ԡ ƠԠ6 DԠ3 ŷԠ ƴ00Ԡ500 5000Ԡ55000 ƷԠ5 GԠ6 H00Ԡ00 HԠ MPɠԠ6000 SBSBұ NNԠ000 P00Ԡ00 P00Ԡ00 P5Ԡ5 P6Ԡ6 HԠԠ06003 HԲԠ0600 HàԠ000 YYԠ300 BԠ BԠ B3Ԡ3 BԠ B3Ԡ3 B30Ԡ0030 D00Dà00 B6000Ԡ6000 D000Dà000 D0UBԱ0 D66Dà66 D0UBԱ PAGŸԠ6000 030UD3 060UD6 00UD 009UD ѱ03UD0 ѱ3UD ѱ3UD3 ѱ35UD3 ѱUD ѱ69UD6 ѱ9UD ѱUD Ѳ63UD6 30UD3 Ѵ9UD Ѵ30UD3 Ѵ659UD6 Ѵ90Dà90 MMDà- MMUP6 MMDà- MM5Ԡ-5 MMDà- MM0Dà-0 MMDà- MM5Dà-5 MM6Dà-6 MM9Dà-9 MMDCà- MMԠ-60 MM50Dà-50 MM5Dà-5 MM56Ԡ-0 MM5Ԡ- MM60Dà-60 MM6UP00 MM0Dà-0 MM99Dà-99 MM00Dà-00 M56UP00 M5Dà-5 M000Dà-000 M0Dà-0 M936Dà-936 M6KԠ0000 ASZZASà00 ASDASàD ASZASà0 ASϠASà ASDDASàDD ASDZASàD0 ASDϠASàD ASZDASà0D ASDASàD ASZϠASà0 ASZASà0 ASϠASà BPҠDƠBUBŠBU BPSDƠBUB+0ADBU BPϠUPAGŸSAԠƠPDSNPGAM DMAנABS0000B+D MMSABS-MS MMMSABS-MMS ASԠASàS ASASàS ASASàS AS3ASàS3 ASASàS AS5ASàS5 AS6ASàS6 SKP BASŠPAGŠNKSANDPNS ADDɠDƠADD ADDSDƠNP+ BNɠDƠBNY NGDƠN NVPDƠNV NPDƠN ɠDƠ SɠDƠS YɠDƠY YɠDƠY DDDDƠD0 DNŠDƠAGANԠMPDSN HϠDƠHS ҠDƠ àDƠ ҠDƠ ҠDƠBN PɠDƠP PɠDƠP PDNɠDƠPDSN P00ADƠ00A P003ADƠ003A P00ADƠ00A P005ADƠ005A P006ADƠ006A P0ADƠPA P03ADƠP3A P03BDƠP3B P0ADƠPA P05ADƠP5A P03ADƠP3A P0ADƠPA P0ADƠPA P035ADƠP35A P035BDƠP35B P036ADƠP36A P00ADƠP0A P0ADƠPA P0ADƠPA P03ADƠP3A P03BDƠP3B P03àDƠP3 P0ADƠPA P0BDƠPB P0àDƠP P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P055ADƠP55A P063ADƠP63A P063BDƠP63B PAҠDƠPAP PAԲDƠPAԱ PAɠDƠPA PHKɠDƠPHK PMɠDƠM PM̠DƠM PPԱSBV PPԲSBV PPԴSBV PP5SBV5 PP6SBV6 PPԷMPDNŬ PP9SBV9 PPԱ0SBV0 PPԱMPV PPԱ5SBV5 PSɠDƠPS P3NɠDƠPU3N ұDƠN GNɠDƠGN NSɠDƠNS GɠDƠG SADDƠSA SBԸDƠSB ԠDƠBP VDƠVP VDƠVP VDƠVP V5DƠVP5 V6DƠVP6 V9DƠVP9 V0DƠVP0 VDƠVP V5DƠVP5 VA̠DƠVAU SԠDƠɠ DƠS DƠS DƠS3 DƠS DƠS5 HŠNGDSANDUASDMNŠHS SAUSSMMANDSSZS.HAԠMGH VAYBAUSŠƠDSGNHANGS. DBBԠUB0DSàBUSYB PBԠUBԱPAYҠB BԠUBԲŠNABDB ABBԠUB3ABԠB BԴNԠUSD ABԠUB5SҠADDSSNDNŠB BԠUB6ADNHBԠB(0NY DBԠUBԷDSàADYB BԸN HUS BԱADDSS SBԠUBԱ5SҠB HDK KUN HSUNŠSADHAUNԠƠMAHN YSUSDNHŠBGS. ԠUPDASHŠMSNDUN KNP KU ADBѱ696YSN56 DABPYϠBHGSS BAҠҠSUBSUNԠAS ADAMNҠKNMSNDUN SAMN ADAKMSHKMSNDUNԠV SSA MPK ADAѱ3YSN56 SAMN ANA ADAMNԠADUSԠMSàUN SAMN DAN NAADUSԠAMSNDUN SAN MPKHAUSԠUN HDAND ANDMNUMBҠGNA HSUNŠGN*($ASBԠPANS HŠDSKDAGNS.NϠAMSMADŠ SASA̠ANDMNSS. SHPANNA BUNHANGD UNŠUSS3MAHNŠYS ANDNP DABASŠADBAS ADAPMŠSUBAԠHŠPM SSASKPƠS̠PSV DABASŠPSBASŠNԠBGNUGH ŬADUBŠBASŠҠMAND SABASŠҠNԠY MPAND PMŠDà-3069 HSPMŠNUMBҠPSVY 306MSNSPA PANSN BASŠABS035B HDSK SK SԠHADANDGAHҠSAUS SKNP SBA̠SAVŠUN DASPԠSSPҠAK DBAKAKNUMB BƬB̠PSN PAD90SKPƠ3 B̬B̠GNŠYSUSD ADBSҠNUDŠS ñ6BàUPUԠ״ DBA̠SŠUN ADBѱYSN56 SBSAԠGAHҠSAUS MPSKɠ HDSA SA SAUSUN SAԠNP DASUPPA SZASSSUPPSSN MPSAԬɠƠSAUSHK ñ5AàNPUԠSAUSNϠA SASAUSSAVŠSAUS MPSAԬɠ KY*  24184-80002 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 9  HDPPҬBKSҬPNԬYKH PPNPUNŠϠPNԠP DAPN SBPNԠUPUԠMSSAG DAPNADHAԠD MPPP PԠҠMSSAGS USSSϬSҬBK HŠUNADDSSSUSDϠKUPHŠADDSSNGHAND NUMBҠƠHŠҠMSSAG ҠNP Ơ0DSABŠNUPS B ADB DAҬɠNDҠNUMBҠBASDNN ҲU PBAɠADDSSANDAB MPұUND NA PAҬ MP00BPGAMҬPAGŠ0MAYB PDU. MPҲ ұU ADAì ADAMM SA SBPNԠPNԠMSSAG DB ADBMM- SSBSKPƠҠNUMBҠGҠHAN6 SBHԠHKҠHA MPҬ BK ƠYSUPSSDUN ƠYNԠSUPSSDSKPNԠNSUNNUN USSS BKNP SBS ANDBԱ SZASYSUPSSD MPBKɠYS DABKN NA MPA S NPUԠSHGSҠϠA-GS SҠNP A MPSҬ PN AҠNUMB PNԠNP SAPSAV SBBK MPPNԬ DAPSAV DBA ADBPMɬɠMSSAGŠADDSS DBB ADAPM̬ɠMSSAGŠNGH DAA SBSϬɠUPUԠMSSAG MPPNԬ YK UNƠYNԠAVAABŠҠNN-ҠMSSAGS NMNԠUNADDSSƠPNUԠK YKNP DBYK NB SBSҠADSHGS ANDB6000 SZASYAVAAB MPYKiɠNϬABԠPNU MPBɠYS H SSHAԠBԠ(BԱAҠ USSS HԠNP SBBKYAVAAB? MPHN DA̠YS DB SBSϬɠPNԠBANKN HU SBS ANDBԱ SZAHA? MPHԬɠN DAàYS HԠ MPHԬ HDDNDNDNSҴ DN NVSDMA̠NGSϠAS AVAUŠNNPU NVԱSԠϠDGSN NVԲSNDϠDGSN DNNP BB- DPADAM000ASSUMŠNGҠSSHAN0000 NBUNԠUPHUSANDSPA SSASSSKPHNBGS MPDP ADAD000S BƬB ADBMM DPADAMM00 NBUNԠUPHUNDDSPA SSASSSKPHNBGS MPDP ADAD00S ADBASZZ SBVԱ BB- DP3ADAMM0 NBUNԠUPNSPA SSASSSKPHNBGS MPDP3 ADAD0S BƬB ҠB ҠASZZ SAVԲ MPDN DN SŠNŠDƠNVDAAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԲS SAA̬ɠNϠMSSAG MPDN DN SŠϠDSƠNVDASANGAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԱS DBA̠ SABɠDS NBN DAVԲMSSAG SAB MPDN SҴ NPUԠSHGSҠƠSAG0(SSS3 USŠS[DVSNƠSAG(SS5 SҴNP DASAGSAG? SZA MPSҴAN SBSҠYSUSŠSHGS MPSҴ SҴADAS00USŠSDVAU MPSҴ HDDHKHK HŠDHKUNŠSADAҠAAD. ԠMPASHŠADANDŠBUS. HŠHKUNŠSADAҠA. ԠHKSNYHŠSAUS. HŠؠANDZNSAŠUSDBYH HҠUNSϠDϠHҠSAUSHK. HŠPHKUNŠSADAҠAAD. ԠMPASHŠADBUҠϠAPAND. HŠHKUNŠSADAҠAAD. ԠHKSHŠHKSUMMDSҠN HŠADBU. HYMPAŠHŠUNԠSAUS(SAUSHH PDDSAUS(SHASBYANGHŠANUN. HŠUNSGVŠANMA̠UNƠNϠSA DD.ƠANҠUSHŠUNSGNAŠAN ҠMSSAGŠANDHKҠHAԠҠNNU. DHKNPϠHKҠSN ADANDϠMPAŠAD ANDŠBUS DADHKADUNADDSS SAHKSAVŠҠPSSBŠA MPASHŠBUADANDBUAŠBUSUSNGN ҠBUҠNGH. DABUADADSԠBUҠADDSS SAMP DABUAŠADSNDBUҠADDSS SAMP DAN MANA SAMP3SԠSZUN DMU DAMP PAMP MPD̠UA̠MPA DAMP3 ADANԠGNAŠAVŠAN ű0DBP03AADPN SBDNA̠NVԠUN DAMPɠADHAԠDSHUDB DBP03àADPN SBNPɠA̠NVԠANDMVŠUN $DAMPɠADHAԠDAUAYAS DBP03BADPN SBNPɠNVԠϠAS DANUMPDMN ADAMMPNUԠUN SZASS MPDAƠAVŠAԠAND SANUMP Ŵ3SBҠDAADؠSYYYYYYSHUD BŠZZZZZZ MPD DAU DBB3DAADؠSYYYYYYSHUD BŠZZZZZZ SBàSAVŠҠH SBS MPZGϠANAYZŠS D̠U SZMPUNԠUPBU SZMPADDSSSAND SZMP3HKҠMPN MPDM DAN AS ADAN AS ADAN AS MSNUMBҠƠDS DBN BS ADBN BS ADBAҠSZAYS ADBѴ303YS SBK MPؠBUSKAYNMA̠SAUSHK SKP HKNPϠHKҠSN NN-ADPANS ؠU DBѱ9YSN56 SBK SBANA̠ҠMPA SZASKPƠNϠ MPZPԠ DADMƠHKҠDMANԠNSHD SZASSSKPƠ MPUԠUNƠNϠUB SBSBԸ SBPPPNԠUNԠPANMSSAG SBDMѠPNԠDMAҠMSSAG UԠSBADDɬ UԠU DAMM5SԠUN SABHK SBSҠNPUԠSHGS SSA HԠHAԠƠBԠ5S SBPHKҠP MPHKɠUN ZU SBSBԸ SBPPPNԠUNԠPANMSSAG SBDMѠHKҠDMA SGUBANHKҠSAUSS SZASKPƠSAUSKAY SBPNԠPNԠUԠҠMSSAG DASƠHKҠBUҠS SZASKPƠNϠSUHS SBPN B SBSƠAҠUԠPNҠD MPU HDAN ANNPUNŠϠPMҠANA. DASUPPA SZASSSUPPSSN MPANɠƠSAUSHK DASAUS ҠSHASSA̠ASSHUDB ANDMASKAנDN'ԠAŠNDNS ADBѱ353YSN56 SZASS MPANɠVYHNGSN DASAUSADUNԠSAUS DBP035AANDADDSSҠBNAY SBBNɬɠNVԠϠBNAY DƠMMADNGϠHSMASK( DASHASADHAԠSAUSSHUDB DBP035BANDADDSSҠBNAY SBBNɬɠNVԠϠBNAY DƠMASKADNGϠMASK 35DAB35SAUSSؠSHUDBŠ SAàSAVŠҠH AMUSԠBŠNN-ZϠAԠHSPN MPANɠUN HDPDGN HŠPUNŠSADϠSŠ HŠSNUNYNUNSϠBŠSADV ҠSϠNNUŠN. PNP ADBѱYSN56 SBSҠNPUԠSHGS ANDBԱ3HKҠPAԠPAN SZASSSKPҠP MPPɠNϬNNU ADBD MPPҬɠPBAK DGN HSGDYSUPHŠBUҠHAנANDMDAA USSNԠASANGH USSBUADҠADDSS DGNNP DAN MANA SAMPNGAVŠDUN DABUAD SAMP DG̠U SBANDGԠANDMNUMB SAMP SZMPUNԠUPADDQ#SS SZMPUN MPDG DAN ASAS ADAN ASAS ADAN MSNUMBҠƠDS DBN BS ADBAҠSZAYS ADBDYSUSDUSDŠƠP SBK MPDGN HDDMҬDM HSŠUNSSԠUPDMAANDSAԠHŠDAAHANN. HŠDMҠUNŠSSUPAADNϠHŠNPU BUҠ(ADDSSNBUAŬUNԠNNԠ HŠDMנUNŠSSUPAŠMHŠUPU BUҠ(ADDSSNBUADUNԠNNԠ DMҠNPSԠUPDMAADPAN DADMAנADDMAMMANDD DM6AADMA6ϠDAAHANN DMAàDMAPPAŠϠADADDSS DABUA ҠBԱ5ҠNDNB DMBADMAUPUԠMMYADDSS DMàSàDMAPPAŠϠADUN DANԠADDUN MANASMPMNԠSUSDBYDMA DMDADMAUPUԠDUN DAAKM DBSPԠDV AƬA̠ADDSS PBD90 A̬A ADAS 30AàUPUԠUNNANDADDSSD DM6BSàDMA6àSAԠDMAHANN D05SàDàNAŠDAAANS MPDMҬɠUN DMנNP DADMAנADDMAMMANDD DM6àADMA6ϠDAAHANN DMŠàDMAPPAŠϠADADDSS DABUADAND DMƠADMAUPUԠMMYADDSS DMGSàDMAPPAŠϠADUN DANԠAND MANAUPUԠSMPMNԠ DMHADMADUN DAAKM DBSPԠDV AƬA̠ADDSS PBD90 A̬A ADAS ҠBԱ5 3AàUPUԠUNNANDADDSSD DM6DSàDMA6àSAԠDMAHANN D06ESàDàNAŠDAAANS MPDM׬ɠUN HDAD ADAND HSŠUNSAŠADϠNAZŠA DMAANSSϠANDMHŠDSK. HYASSUMŠHA HŠDUNԠSNN ADASSUMSBUҠADDSSNBUA ŠASSUMSBUҠADDSSNBUAD ADNP SBDMҠSԠUPDMAADPAN SBDMA SBAԠAԠҠADϠMP SBSAԠGԠSAUS DAADDDADAKŠAM? SZASKPƠYS MPADɠUN SABUAŬɠMAKŠSUŠMPAŠ̠A ANAS SAADAG DASHASPVNԠSAUS SASAUSPNU MPADɠUN ŠNP SBDMנSԠUPDMAŠPAN SBDMA SBAԠAԠҠŠϠMP SBSAԠGԠSAUS ANDPB DBSP PBD3 MPҲ SZA MPҲSHUDBŠS SBPP ŷSBҠPAYҠN SBADDɬ ҲDASAUSGԠSAUS ANDP5MASK SASAUSPAYҠB MPŬ HDA Aנ65MSNDSҠŠҠADϠMP AԠNP DAMM SAA ұSBSAԠGԠSAUS DAAAԠ DBBSND NPSҠK ANDDBB SZASSSKPƠDVŠSBUSY MPAԬɠ SZA̠DN'ԠAԠϠNG MPұ MPAԬɠUN HDDMA HSSNSHUDBŠADҠAHANSҠUSNGH DMA.ԠNNUUSYHKSҠHŠAGϠBŠSԠNH DMAHANN̠HŠMNNGHŠDAAANSҠAND HKNGҠVM. DMAԠNP DAMM0Aנ0MSNDS (MSNDSҠSԠASŠASS 5MSNDSҠANSҠƠ5SS AND3MSNDSSP SANԠSԠAK DBѱ3 ADBNԠADDDUN DMS̠U ADB030 SBHKNNUŠϠHKAG MPDMS MàNP DM6ŠàDMA6 DM6ƠSƠDMA6K̠DMAANS 06à DñàD DòSƠD MPMì HKNPUNSAUNDHKNGҠND ƠDMAPAN. MSUԠHNNԠGSPSV ADBѱ03 SBK DANԠHKҠMU SSASS MPUԠMŠU DM6GSSDMA6SKPƠDMADN MPHKɠNϠAGY.USԠUN MPDMAԬɠUN UԠU AנMŠϠAPAUNDAKADDSSNV DAN SZASSADNSAԠ? MPUԱN AYS SAN SAAD DABԱ5AנAԠASԠNY SANԠSNDSҠADϠMP UԲADB030 SBHK MPUԲ UԱU ANA SADMƠSAVŠҠAҠHK SBMàUB.BMBUԠADS DMʠADMAADUNԠDUN ADANԠMAKŠNϠPSVŠDUN ANDBMASKƠUPPҠHŠBS DBP03AADPNҠҠASɠS SBDNA̠NVԠUN MPDMAԬɠUNANDAԠҠVD DMѠNP SBYK MPDMѬ DBDMƠHKҠAUA̠ SZBSSSKPƠҠNDNSS MPDMѬɠԠƠNϠ A SADMƠAҠҠNDA DANԠADHŠPDDUN DBP03NXBADPNҠҠASɠS SBDNA̠NVԠUN ű3SBҠؠDSANSDYYYY PD MPDMѬɠUN HDHAҬDHAҬHAҬHNH3 HA GԠNԠNN-BANKHAA NԠSKPƠBUҠMPY HAҠNP HAұSZNԠDN? PP3SSN MPHAҬɠYS DABPAɠYD SZS MPS AƬAƠUSŠԠHA MPU SàBUSŠGHԠHA SBS SZBPABUMPDPN UԠANDB3 SAHAҠSAVŠ ҠB0SԠBANK SZASSSKPƠN MPHAұGNŠBANKS DAHA SZHA MPHAҬ DHA GԠDMA̠VAU SKPSNԠƠNԠDN DHAҠNP DAMM5UPPҠM DBVA̠PNSϠVAU DHұSAVA̲ SBVA̱ DAMM SADԠDԠ- ANAZŠϠZ DHҲSAVAUŠSŠVAU SBHAҠGԠNԠHAA MPDUԲDN ҠB5SHAA SZASSAMMA MPDUԱYSDN DAVA̲HK SBKVADYƠHAA MPDUԲBAD SADԠDԠ- DBVAUŠKBUD BƬBҠUP ADBVA̱ɠVAU ADBVA̱ ADAB MPDHҲNNU DUԱSZDHAҠNMA̠ DUԲDAVAUŠҠҠNDƠADBU MPDHAҬ HA GԠA̠VAU SKPSNԠƠNԠDN HAҠNP DAHA SADHAҠSԠUN DAMM56UPPҠM DBDDDPNSϠD0 MPDHұ KNPHK ADAHAҠVADY SSA MP+3&*<:6HAA ҠSBH3BADNPU MPK DAHA ADAMMҠM SSA MP SZK MPK HN NPUԠMY HNNP DADHAAҠUN DBBNABUҠADDSS SB0BɠYNPUԠDV SZASSŠZϠDSNPU? MPHN+YSYAGAN MA SANԠSAVŠHAAҠUN A SASԠAG- DABNA SABPASԠPN MPHN BNADƠBUB H3NP DAB3BADNPU SBPN MPH3 HDSU SU SԠUPUNԠSN SUƠNP SAP05AɠA SAP03AɠDHK SAP0AɠD SAP0AɠD MPSUƬ HDASK ASK ASKPAҠƠHŠSHSϠHANGŠAB ASKNP H5DAB5DϠYUSHϠHANGŠAB? SBPN SBHNNPUԠMKYBAD DABNAɠNPUԠBU ANDP00 ҠNN000BSSԠHAAҠN? SZASSSKPƠN MPASK ҠYY300BSSԠHAAҠY? SZA MPH5YAGAN SZASK MPASK HDSA SA BANSAUSUKY SAԠNP 69AàGԠSAUS SASAUSSAVŠ MPSAԬ j<  24184-80003 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 :  HDSA G000B SA HKSADҠANDSUSHASNנ SAԠà0àUNVYHNG DA0BAUAŠANƠASԠD ADAMMƠMMYBנYDVҠAND SAAMSŠԠNAM DAAS SBSU DAMM5S SABHKUN A SAS SADM SAN SAAK SAS SAN DAPɬɠDSAM SAPɬɠPND DADBԠDVŠADY ADABԠŠNABD SASHAS SAAD DAB33 SAMASK SBYKSYAVAAB? MPH0+N A H0SBPNԠDHADDSàANDDUMDAG. DAB6 SBPҠDVŠPAAMҠDMNAN SKPPAAMҠDMNANƠBԠ6SSԠANDSPԠANDN AŠNԠZ SBS ANDB6SBԠ6 SZASSS? MPS6NϠN DASPԠSSPҠAK SZASS MPS6NϠSPԠ0 DANԠA̠NUMBҠƠAKS SZA MPNŠSKPPAAMҠDMNAN S6NϠU AנMANUA̠NPUԠƠDVŠPAAMS SBSҠGԠSHGS ANDBԴ SZASSSKPƠBԠSS MPNPBGԠPAAMSAUMAAY GԠNUMBҠƠSSPҠAK H50BSBYKYAVAAB? MPH50AN DAB50 H50SBPNԠNҠNUMBҠƠSSP AK(3Ҡ90 H50ASBHNNPUԠN SBDHAҠGԠVAU SSDNŠҠ? MPH50BNԠDNŠ- DBNԠDN? SZB MPH50BNϬҠ(AADYPD PAD3A SS3 PAD90 SS90? MPH50BNϬ SASP GԠA̠NUMBҠƠAKS H5BSBYKYAVAABŠ? MPH5AN DAB5 H5SBPNԠNҠA̠NUMBҠƠAKS H5ASBHNNPUԠN SBDHAҠGԠVAU SSDNŠҠ? MPH5BNԠDNŠ- DBNԠDN? SZB MPH5BNϬҠ(AADYPD SAN MPN GԠSSPҠAK NPBB SBA NPSZA MPNPA SBPPUNԠPAN ŴSBҠUNABŠϠDMNŠƠSS SBADDɬ MPNPBYAGAN NPAU SBSA AƬA ANDB ADBA SZASҠ0? PAD9SҠ9? SZBSSSKPAҠSMŠVUN MPNPNNU DBD3 SZASKPҠ3SSPҠAK DBD9090SSPҠAK SBSP SBA DBP0A SBDNSԠUPMSSAG SBYK MPNA DAB HSBPNԠDVŠHASؠSS NAU SBYK MPNB DAB SBPNԠSԠAKPԠSHϠDN PSNPSSUN NBDAB HԠ GԠNUMBҠƠAKS DAB335 SAMASK DABPҠS SABUADUP DABPSBU SABUAŠPNS SBV6ɠDB0 Ԡ0000 Ԡ0 Ԡ003 SBVɠD Ԡ00 Ԡ0 Ԡ0 Ԡ6 SBV6ɠDB36 Ԡ000 Ԡ36 Ԡ003 ANASAԠHAK PU SAKVAABŠD SAKAVAABŠD SBVɠD;g(VAABũ Ԡ00 KԠ0 Ԡ0 Ԡ6 SBVɠD Ԡ00 Ԡ0 Ԡ0 Ԡ6 DABUAŬɠSԠDAD SZA MPDNŠAPAUND ANAAנ6SNDS SANԠҠAD SBVɠD(VAABũ Ԡ00 KAԠ0 Ԡ0 Ԡ6 AS SANԠAANŠAG DABUADHK SAMPS DABUAŠN SAMPDS DAMM0 SAMP3BUS P3DAMP PAMP SS MPDN SZMP SZMP SZMP3 MPP3 DAKN NAAK MPP DNŠU DAK SANԠA̠NUMBҠƠAKS DBP0A SBDNSUƠNMSSAG GԠNUMBҠƠPDAKS SBYK MPN DAB0 H0SBPNԠSԠAKPԠSHϠUP PSNPSSUN NàDAB0 HԠ SBYK MPN DAB HSBPNԠDVŠHASؠAKSH NGAŠPD NƠU A SAGB SAGB PSAAKSAԠHAK0 DBSPԠPSN AƬA̠AKN PBD90MMAND A̬A̠D 50AàUPUԠMMAND SBSAԠGԠSAUS ANDB SZA MPDNŠNԠPD SZGBA̠NUMB DAGB SZASAԠNנN? MPNGNϬNNUŠHSN DAAKYS DBP063A SBDN ANA SAGB NGU DAAK NA PAN SSDN MPPNNU DAGB SZASSSHŠANŠϠMP? MPDNŠN DAAK SBNDDUMPMSSAG MPDN NDNPMPŠN DBP063B SBDN SBYK MPND DAB63 H63SBPNԠؠϠYYYY MPND DNŠU DAGB SZASSSHŠANŠϠMP? MPNH DAAK ADAMMBAKUPNŠAK SBND NHA SAGB DAAK NA PAN SSDN MPPNNU DNŠDAGB SZASS SBYK MPN DAB6 H6SBPNԠNN NɠU SBYK MPND DAB SBPNԠSԠAKPԠSHϠDN PSNPSSUN NDDAB HԠ NŠU DAB33 SAMASK AGANU DBBK SBSH DB÷K SBSH DBD6K SBSH DBŷ0K SBSH DBƷK SBSH DBGK SBSH DBH3K SBSH űSBҠPASŠDSABŠAD BM SBA̠U PBKSZA̠UN MP- NB PBB6 MPAGAN MPPBK SHNP SBA DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠASŠKDU? SSN MPUԠYS SAA̬ɠSŠŠNN MPSHɠUN UԠDBB3AP̠AN DAHԠAP̠HA PSAB NB NA PBB00AP̠HASMP? SSHYS MPPNϬPA A SAMN SAMN SAPASSSA SAN DABP SABUADNAZŠBUAD ANA SASUPP BGNU ANAA_ SASNSAԠHSNN H3DAB3NA̠SAUS SBP DAHYP SBNVSNVԠANDS DASP PAD3SHSAHP0? MP5N SԠAKGN DA÷MMANDHANN̠NUMB SBNVP DAV3 SAP00AɠSԠUPŲ SAP003AɠSԠUP3 DAMM0AנSVNYMSNDS AKGNϠU SAN B ÷0Ơ ϱADB00 SBK DAN SSASS MPϲMŠU ÷SSàAKGN? MPϱNԠY NPԠHNGS NPS ÷3ƠàYSDS ÷SSàSԠAG? SSYS ϲSBŲƠҠSSAD-HANN̠ SԠSP DAM6KAנAԠƠM SANԠϠNDSP B 6ADB00 SBK DAN SSASS MP3MŠU ÷5SààSP0? MP6N ϴADB00 SBK DAN SSASS MP3MŠU ÷SààSP? MP5YS MPϴN 3SB3SàADHAGA-H. 5U B SBA SZA̠DAYAנ MP-SHHŠϠBŠS DAHԲ SABKNGUAN SAҠUSNA SBS ANDBԲSBԲS? SZAN SBYKYSSKaPƠYAVAAB MPSNϠABԠHK DSBYɬɠPPAŠSYMB̠AB HDABAKABŠNNS SBPN SBASKSHϠHANG? MPPAԠN H6DAB6YSNҠAKSSPAADBY MMAS SBPN SBHNNPUԠMKYBAD SSBDHAҠGԠDMA̠VAU MPSҠҠDN? SBSɬɠSŠNAB MPSNNU SDAN SZASSSKPƠ SBSɬɠDN MPD PAԠSBPAԲɠPPAŠPANAB HDABPANABŠNNS SBPN SBASKSHϠHANG? MPH3N H30DAB30YSNҠPANNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD PSSBHAҠGԠA̠VAU MPPSҠҠDN? SBPSɬɠSŠNAB MPPSNNU PSDAN SZASSSKPƠ SBPSɬɠDN MPPA H3DAB3 SBPNԠSԠSH DAB3 HԠ SBS ANDBԲ SZA MPH3 SNϠU SBS ANDB3 SZASBԠ3S? MPPDNɬɠYS DASNADSNNUMB ADASԠADDNPN SBAɠA̠SN DAHà000 ҠSNSNNUMB SASHԠHAԠBNSNS SBSҠHKҠHAԠAԠNDƠSN ANDB9 SZA SHԠNP SBSҠHKҠSԠPA ANDBԷ SZASKPƠNϠPA MPSAҠPAԠASԠS DBSNUNԠUPSNNUMB NB SBSN PBD6VŠSNS ANASS MPSA غADAPASSNMNԠPASSNUMB SAPASS SBYK MPHHH DAPASS DBP036ANVԠPASS SBDNNUMB DAB36 H36SBPNԠPASS HHHSBSҠHKҠHAԠAԠNDƠS ANDBԱ SZA HԠB MPN HSMPBGNUNSԠV SKP SADƠ+ DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 ASADƠ- NVS NVԠHANN̠NUMBҠϠASɠANDSŠN MSSAGSMHUGHM.NAZŠH HUGHH3ϠHANN̠SԠD NVSNP SAA̠SAVŠSԠD SBNVPɠNV DAV3ASԠSGNANԠDGS SAP00AɠS SAP003AɠN SAP00AɠMSSAGS SAP005A SAP006A DBSA SBGBSAVŠSԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBASAɠDN? MPSԠYS SZGB MPB S SԠHANN SԠU à0àNAZŠɯϠSYSM HƠHAҠHANN̠AG HSSH SS SBŲƠҠSSAD-HANN̠- H3ƠHYAGAN HSàH SB3SàADHAGA-H. H5SƠH H6SàH SS ŴSBҠSƠҠSàADHANN̠- HSƠHYAGAN HSSH HԠ5SSADHAGSԠNY SԠNUPԠAPABY DAH3 SAGB DASBSԠUPNUPԠAP SAH3 H9SàH!0.*SԠHANN̠ϠUS H0SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 6SBҠNϠNUPԠNHANN̠ MPH NNPNUPԠSUBUN Ơ0DSABŠNUPS DAGBAP̠HA SAH3 SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠNUPS DANDDNUPԠUҠAԠH PAADDSԠMMYAN SS 5SBҠNԠUNADDSS-H. HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NABŠNUPS NPSHUDNԠNUP NPH à0UNVYHNG DAGB SAH3 Ơ0 MPNVSɠYS ŲUN ŲNP ŲSBҠƠҠSSAD-HANN̠- MPŲ 3UN 3NP 3SBҠSàADHAGA-H. MP3 Z0  24184-80004 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 ;  HDS-SN SN HSSNSSMSԠNAŠUNNSUSNGSH ADSANDS. SҠUGB SNԠUGB DAYUGB3 NұUGB DADUGB5 SPԠUGB6 SNP DAAS SBSUƠUNԠSN DAҬɠؠUP SAAKAKNUMB DAB3NA SBPҠSAUS DADBԠDVŠADY ADABԠŠNABD SASHAS DAB335 SAMASK SBSAԠHK SBHKSAUS DAB35MASKƠADNHBԠSGNA SAMASK H5DAB5BUSYHKNS SBP A ô3A D÷3SàD SBSA D÷àD DADBԠDVŠADY ADABԠŠNABD ADADBBԠDVŠBUSY SASHAS SBHK DAB33S SAMASKMASK DASP PAD3 MPSA A SAA ÷AàAԠ ANDBԠADNHB SZASSBԠϠS MPH53 SZA̠DN'ԠAԠV MP÷ H53DAB53HKADNHBԠNS SBP DABԷAK ôA ÷6AàGԠSAUSUKY SASAUS DADBԠDVŠADY ADABԠŠNABD ADABԠADNHB SASHAS SBHK SAU HDABSҠADDSSHKNS SBP DASP PAD90 NAUSŠ9NSADƠ90 AƬA SASP BPVN SBMŠHANG DADBԠDVŠADY ADABԠŠNABD SASHAS SBSAԠGԠSAUS ANDH00SAŠSҠNUMB SAMPSAVŠNA̠SҠNUMB SADADSAVŠ( DADDSS ADABԸ PASP A SAMPMNԠSҠADDSS MPSAK SBSADADSAVŠDADDSS ADABԸ PASP A SAMPSԠUPNԠSҠVAU PAMPDN? MPSŠYS SàSZM SSK MPSDMŠU SAKA ANDH00 PADADS̠H? MPSàYSNNUŠKNGҠS PAMPNԠS? MPSBYSNNUŠKNGҠSS SDSBSAԠN ANDH00AS PAMPHAN MPSBK-MUSԠHAVŠBNPPAGANG DAMPSҠNԠUND AƬA DBP055A SBDN SBSBԸ SBPPUNԠPAN 55SBҠSҠؠMSSNGNSAUS SBADDɬ SŠSBSA SBHKAנP HKSҠAGMNG HDABSҠAGMNGHKNS SBP DASP PAD90 MPSZ90SSPҠAK DAMM99ҠNGDAY DBB00ҠASԠS MPSM SZDAMM9NGDAY DBƴ00ҠASԠS SMSADAY SBS B SBS SBSN SYA SSA MPS SZSNԠDN'ԠHANG MPSY SѠU SBSBԸ SBPPPNԠUNԠPAN DAB5SҠUNԠҠPHASŠMSSNG SBPN MPSV SؠANDH00 PAS SS MPSY SNDAMMDAYAԠAS NASZA35MSNDS MP- SBSA SSASS MPSU SBSBԸ SBPP 60SBҠSNDSҠKϠA MPSV SUANDH00SҠUN AƬA̧ PASҠ? MPS AƬA PA5000 MPS SBSBԸ SBPPPNԠUNԠPAN DAB6NԠSҠADDSS SBPN MPSV SԠDBSҠPPA BƬB SBDADҠNԠS PBSҠDN? MPSנYS SZS DADAYDAYϠGV NASZAMNMUMƠ360MSNDS MP-N6N3SPԠDVŠAND SBSAԠ5MSNDSN90SP SSASSDV MPSS SBSBԸ SBPPPNԠUNԠPAN 6SBҠSԠSҠKϠSN MPSV SSDAMM50DN'ԠAנMUHMŠHAN00 SASNԠMSNDSҠU̠S SPA SSASKPƠPHASŠ0 MPSAɠPHASŠ SZSN MPSPNNU MPSѠMŠU SAɠANDH00 PADAD MPSN SBSBԸ SBPP 56SBҠSҠUNҠHANGDBYS SҠUN SVSBADDɬ SנU SBHKAנP SҠADDSSNDNŠHK H33DAB33SҠADDSSNDNŠHK SBP DASP PAD90 MPS̠90SSPҠAK DAB00 SS S̠DAƴ00 SASҠASԠS SADAD B SBSҠSҠ0 SBSNԠDN'ԠHANG SKSBSA SZSN MPS SAAU SBSBԸ SBPPPNԠUNԠPAN DAB5SҠUNԠҠPHASŠMSSNG SAŠSBPN SHSBADDɬ MPSɠ SʠANDH00 SZA MPSK SANұ SAHDANұ ô6AàUPUԠSҠADDSS A SASN SABSBSAԠA SSA MPSAʠDSD SZSNԠS MPSABMNUS MPSAAN SAʠU ANDH00 PADAD SS MPSAB SAàSBSAԠAԠ SZSNԠ SSPHAS MPSAA SSA MPSA D÷SàDàSAԠAANS A SASN SADA SASAUSAԠҠA SSAHANGŠ MPD÷PHAS SZSN MPSAD MPSAA D÷àDàABԠANS ANDH00 AƬA PASҠADDSS? MPSA SBSBԸ SBPP DAB6NԠSҠADDSS MPSAŠ SAƠDASAUSSҠADDSS ANDABԠNDNŠU? SZA MPSAGYS SBSBԸ SBPPN 5SBҠNϠSҠADDSSNDN MPSH SAGDBS BƬB PBSҠDN? MPSɠYS SBDAD SZS SZNұ MPSAH SɠU DAB336 SAMASK SBHKAנP DAB33 SAMASK DAҬɠGԠSԠAKNAKAB SAұA SAұB SAұ SAұD SAұ SAұ SAұG SAұH SAұ SAұ SBVɠD60(VAABũ Dà6 ұABSS Dà0 Ԡ6 DAD6G ADABPҠSH SABUADDAA SBVɠD(VAABũ Dà ұBBSS Dà Ԡ6 DABP SABUAD DABPS SABUA SBVɠD60(VAABũ Dà6 ұàBSS bDà0 Ԡ6 DAD6N SANԠS SBDHKHKBUS SBVɠD(VAAB Dà ұDBSS Dà Ԡ6 DAD6 ADABP SABUAD DAD SANԠSS SBDHKHKBUS DABP SABUAD DABPS SABUA DASP PAD90 MPS SBVɠD569(VAABũ Dà56 ұŠBSS Dà9 Ԡ6 DAD56 ADABP SABUAD SBVɠD60(VAABũ Dà6 ұƠBSS Dà0 Ԡ6 DABP SABUAD SBVɠD569(VAABũ Dà56 ұGBSS Dà9 Ԡ6 DAD56U SANԠSS SBDHK DAD56 ADABP SABUAD SBVɠD60(VAABũ Dà6 ұHBSS Dà0 Ԡ6 DAD6N SANԠS SBDHK DABP SABUAD SƠU SBVɠD00(VAABũ Dà0 ұɠBSS Dà0 Ԡ6 DAMM5 SASN DBBP ADBD9 DAB SGNB SAB SZSN MPSG SBVɠD60(VAABũ Dà6 ұʠBSS Dà0 Ԡ6 DAD6N SANԠS SBDHK MPS HDBNY BNY NVԠAϠBNAYUSNGUNADDSSҠDN'ԠAŠMASK ANDSŠSUԠAԠADDSSNB(DS BNYNP SAMP5VAU SBMPADDSS DBBNYɠMASK DBB SZBNYSԠUPҠ DAMM5 SABNNԠSԠUPSԠNJ8DS BPSBBNANVԠDANDSŠ DAMP5SHԠVAU A SAMP5 B̠SHԠMASK SBBNàNVԠD SAMPɠSŠ SZMPSԠUPADDSS DAMP5SHԠVAU A̬A SAMP5 B̠SHԠMASK SZBNN MPBP SBBNANVԠASԠDANDSŠ MPBNY BNANP DAASDDBANK SSBSSSKPƠN MPBNZ DAMP5VAU SSASKPƠZ MPBNB DAASZ0BANK MPBNZ BNBDAASϠBANK BNZSAMPɠSŠD SZMPSԠUPADDSS MPBNAɠUN BNàNP SSBSKPƠZ MPBN B̠SHԠMASK DAASDDDD SSBSSSKPƠN MPBNì DAMP5SHԠVAU A SSASKPƠZ MPBN DAASDZD0 MPBNì BNŠDAASDϠD MPBNì BNƠB̠SHԠMASK DAMP5VAU SSBSKPƠZ MPBNH SSASKPƠZ MPBNG DAASZD0D MPBNì BNGDAASDD MPBNì BNHSSASKPƠZ MPBN A̠SHԠVAU SSASKPƠZ MPBN DAASZZ00 MPBNì BNנDAASZϠ0 MPBNì BNʠA̠SHԠVAU SSASKPƠZ MPBNK DAASZ0 MPBNì BNKDAASϠ MPBNì HDS-SN G000B SN HSSNSANDADSBAKPANS HKNGҠBADAKSҠMAGNA̠HADS. SNP DAAS SBSUƠUNԠSN DAP ҠD SAP SBSҠ ANDB5BԠ5S SZAS MPSɠUN A SAYؠSԠZϠNϠNA̠AK SAU SBYʠSԠAK DAMM0N SAPNؠPANS SBU DAM53SS SAMP DBPNؠADPANUN ADBPAPADDNABŠADDSS DAB SAPAԠSAVŠPANҠPHKUN DBBUAD SàU SAB NB SAB NB SAB NB SAB NB SZMPUNԠDNBYU MPSàNNU DAAK SAҲAS SAҲBUP SAҲàS SAҲDAND SAҲŠADS SAҲ SBVɠD00(VAABũ Dà0 ҲABSS Ԡ0 Ԡ6 DASP PAD3 MPSD SBVɠD666(VAABũ Dà66 ҲBBSS Dà6 Ԡ6 SBVɠD03(VAABũ Dà0 ҲàBSS Dà3 Ԡ6 SDU DABP SABUA SBVɠD00(VAABũ Dà0 ҲDBSS Dà0 Ԡ6 SBPHKɬɠHKBUҠ(SS0-3 DASP PAD3 MPS SBVɠD03(VAABũ Dà0 ҲŠBSS Dà3 Ԡ6 SBPHKɬɠHKBUҠ(SS3-63 SBVɠD666(VAABũ Dà66 ҲƠBSS Dà6 Ԡ6 SBPHKɬɠHKBUҠ(SS65-9 SŠU SZPNؠHAVŠA̠PANSBND? MPSBN SBYDNMNԠYؠANDHKҠND MPSANNU MPSɠUN Ԡ000000 Ԡ Ԡ55 Ԡ0555 Ԡ00 Ԡ0360 Ԡ65 Ԡ6336 Ԡ55555 Ԡ0 PAҠU PAPDƠPA HDS3-SN3 SN3 HSSNSANDADSBAKANDMDAA MANDMANSϠHKDAAANS PANS SKNԠUGB SAVŠUGB PԠUGB3 S3NP DAAS3 SBSUƠUNԠSN SBS DBM0 ANDB5 SZA DBMM6 SBSKN S3AU SBNSɬɠHSŠANDMAKANDS SBGGԠANDMDUN DABP SABUAD DABPS SABUA SBDGNGNAŠAANDMBU DANԠSAVŠAS SASAVŠAN+ ADABUAD ADAMM DBA NA SBA DAMM SAP S3BDABŠNS3 SBP SB DAN ANDB SZASKPƠVNMUPŠƠS SZN DABADNS3 SBP SBAD SBDHKHKҠS DASAV SAN SZPԠPAԠHŠMS MPS3B SZSKNԠSKPƠDN MPS3ANNU MPS3ɠUN HDGYDY HSUNŠGNASAANDMDUNԠBN AND03.HŠDUNԠ̠NԠND BYNDHŠNDƠAKNҠBŠUA̠Ϡ(MD6. GNP AU SBANDGԠAANDMNUMB A ANDBNԠ<0 SZASSZϠSNԠGA MPAƠZϬYAGAN SAN ԠU DAN ANDB PAD MPANԠ(MD6 DBSPԠADNUMBҠƠSSPҠAK MBNBNGAV ADBSҠAנҠHŠŠAŠN AƬAƠNVԠNԠϠSҠUN A̬A ANDB+SZƠHPƠA ADAB SSASKPƠϠNG MPGɠNGAVŠAMANSKAY DANԠADHSNDUNԠAND ASHAVŠ SAN MPԠANDSϠN SKP YDUNSUPYؠANDHKSҠMPN SԠNA̠AKS.ԠGVSASKPUNHN A̠AKSHAVŠBNVD. YDNP DBYؠADUNԠAKN NBUNԠԠUPBYN SBYؠANDSŠԠBAK MBMAKŠNSMPMN SBSҴADVŠSHGS ANDB6HKҠSDAKS SZASSSKPƠSHԠSԠUSD MPDYU̠S ADBD0HŠAŠNABŠNS MPDZ DYU ADBNԠHKҠNDƠDV DZU SSBSKPƠNԠDN SZYDUNԠUPUNADDSS(DNŠ MPYDɠUN YʠANSASHŠNUMBҠNYؠϠHŠDSD AKNUMBҠNAK YʠNP SBSҴADVŠSHGS ANDB6HKҠSDAKS SZASSSKPƠSHԠS MP DAY DBѴ9YSN56 ѠU ADAMM0HKҠYؠϠBG ADB06006YSN56 SSASSSKPƠKAY MPѠHSŬKPDUNG SAAKSAVŠPN SBA̠SAVŠUN MANAPPA ADAMMϠVSŠABŠUS DBPVS? SZB DAAKN DBA̠SŠUN c ADABPADDNABŠADDSS DAAɠADHŠDMHŠAB SAAKSԠBAKNϠAK SBK MPYʬɠUN נU DAYؠPPA MAϠVS ADANԠAKUS DBP SZB DAY SAAKSAGHԠPY DB303YSN56 SBK MPYʬɠUN BNUAKABŠBGN Dà06053 BPDƠ HDS-SN SN HSSNSHŠDVŠU̠ƠHK- SUMMDDAAҠS5.AHSҠSHKSUMMD SPAAY.HŠNŠSҠSUMSϠZ.H SԠϠDSSUMϠHŠAKNUMB.HŠN ϠDSSUMϠHŠSҠNUMB.AKSAŠUSDN ANAYNASNGHNDASNGDҠAHPASS. SNP DAAS SBSUƠUNԠSN SBS ANDB6SAVŠBԠ6ƠSH SAS00GSҠҠSANDS5 ANA SASAG A SAYؠSԠAKNŠD SAU SBYʠSԠUPAK DAAKS SAҴAUP SAҴBVAAB SAҴàS DAD0SԠUPN SANԠҠ3SS SBDGNGNAŠANDMDAA AS SASҠ0 SBGNɬɠGNAŠHKSUMS SBVɠD00(VAABũ Dà0 ҴABSS Dà0 Ԡ6 DASP PAD3 MPSB DAD3S SASҠ3 SBDGNGNAŠANDMDAA SBGNɬɠGNAŠHKSUMS SBVɠD03(VAABũ Dà0 ҴBBSS Dà3 Ԡ6 DAD66DUN SAlNԠ66 DAD6S SASҠ6 SBDGNGNAŠANDMDAA SBGNɬɠGNAŠHKSUMS SBVɠD666(VAABũ Dà66 ҴàBSS Dà6 Ԡ6 SBU SBYDUNԠUPYؠANDHKҠDN MPSANNU MPSɠUN HDS5-SN5 SN5 HSSNANDMYADSNŠSҠANDVS AKSҠANDHKSUM.HŠPANSPAD 9MS(Ҡ56MSSSHGSҠBԠ5SSԩ. SVKàUGB S5NP DAAS5 SBSUƠUNԠSN A SASVK DAD6N SANԠS S5ASBNSɬɠGNAŠAKANDS DAAK SA5A DAS SAS5A SBVɠD6(VAABũ Dà6 5ABSS S5ABSS Ԡ6 SBHK SZSVK DBSVK SBS ANDB5 ADBM56SHԠS? SZASSSKPƠYS ADBM936 SSBSKPƠDN MPS5A MPS5ɠUN HDHKHK HK HSUNŠHKSHŠBUSGNADBYGN ԠUSSBUAŠҠAPNҠANDHKSNŠS SŠGNҠADSPNƠHŠSҠMA HKNP DAHKSAVŠUNADDSSҠ SBHKMBUҠHKSUM SZASKPƠHKSUMK MPҠHKSUM DAMPGԠAKHKBAK PAAKHKҠPPҠAK SS MPҠNGAK DAMP3GԠSҠBAK PASҠHKҠPPҠS MPؠNϠBUҠSHKSAUS ҠU DAB3ADHKNS5 SAPN DAMPAD{HKSUM DBP05APN-HKSUM SBNPɠNVԠϠAS DAMPADAKHK DBP05BPN-AK SBNP DAMP3ADSҠHK DBP05àPN-S SBNPɠNVԠϠAS DAMP DBP05DPNԠAKNDMA SBDN DAMP3 DBP05ŠPNԠSҠNDMA SBDN Ŵ5DBB5BUҠHKSUMؠAK (YYYYSҠ(YY SBSƠSԠҠMSSAGŠPN SBàSAVŠҠH MPZGϠANAYZŠS HK MBUҠHKSUM HKNP SAHK DBѴ90-6690YSN56 SBK DBBUAŠADBUҠPN DAMM60+SZ SAMPSԠUNԠҠADDP DABɠADSԠD NB ADABɠMAKŠAKHK NB SAMPSAVŠAKHK DAB NB ADABɠMAKŠSҠHK NB SAMP3SAVŠSҠHK ADAMPHKSUMSϠA ѠU ADABɠADDUPA̠DS NB SZMPUNԠDNUN MP SAMPSAVŠHKSUM MPHKɠUN HDPHK PHKUN. HSUNŠHKSHŠNŠADBUҠ UAYHHŠDNPA. PHKNP DAPHKADUNADDSS SAHKSAVŠҠPSSBŠA DANԠADBUҠNGH ASASDVDŠBYGH AS(ҠGHԠUNԠP MANASMPMN SAMPSԠUNҠҠP DAPAԠADMPASND DBBUAŠADADBUҠADDSS BGNNNGƠHŠP PH̠+`NLHU PABɠHKҠMAHHBU NBSSUNԠUPBUҠADDSSANDSKP MPPHŠMS-MPA PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH SZMPUNԠU MPPH̠NԠDNŬNNUŠHKNG MPؠNϠBUҠSHKSAUS PHŠSBMPPNҠ-S DAPAɠSԠUP SAMPSHUDBŠPAԠƠҠMSSAG DABUA MANA ADAMPADNUMB MPű0 N  24184-80005 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 <  HDSB SB ƠBԠSSԠPAԠASԠPAN 5MSBŠPNG SBɠNPHK SBSҠBԠ ANDBԸ SZASS MPSBɬɠԠBԠ0 SZBHK MPSԸA DAMM55HM SABHKSԠUN MPSBɬɠ SԸAA SAS SADM MPPҬɠYAGAN HDGNNS GN HSUNŠNSUSHŠHKSUMSҠHŠŠBU. .AHSҠSHKSUMMDSPAAY .HŠNŠSҠSUMSϠZϠ(SMPMNԠ 3.HŠSԠϠDSSUMϠHŠAKNUMB .DSAND3SUMϠHŠSҠNUMB GNNP DAN AƬA A̬A ANDBAVŠHŠNUMBҠƠSS MANAMPMNԠҠSZ SAMP DAS SAMP DBBUADADADDSSƠSԠS G̠U DAMM5+SZ SAMP3UNԠҠUҠUNԠP DABɠGԠDZ MANAMAKŠMPMN ADAAKHSSUMSϠHŠAKNUMB NBUNԠUPBUҠADDSS SAB NBUNԠUPBUҠPN DABɠADD MANAHKDSMPMN ADAMPADDS NBUNԠUPϠSԠҠD SABɠSAVŠSNDHKD DAAK ADAMPADDNSҠNUMB SUMϠDAŠNA GƠU NBUNԠUPBUҠPN ADABɠADDNNԠDƠBU NB ADAB NB ADAB NB ADAB SZMP3HKҠDN MPGƠGԠNŠBU MANAHKSNGAV ADABɠSUBAԠUԠASKzD SAB NBUNԠϠBGNNNGƠNԠS SZMPUNԠUPSҠNUMB SZMPHKҠDNŠHNŠŠBU MPG̠NϬGϠDϠANHҠS MPGNɠUN UNŠϠPKAANDMAKANDSҠNUMB. AVSϠMAHNŠYSUNUND. NSNP NAU DBѲ63YSN5AND6 SBK SBANDGԠAANDMNUMB AƬAƠUSŠԠNBS A̬A ANDBAK<0 SAYؠSAVŠNAKNŠD MANSMPMN ADANԠANNԠBŠNN-SANԠAK SSASKPƠKAY MPNAHSŬYAGAN SBYɬɠANSAŠYʠNϠAK NSAU DBѴ6596YSN5AND6 SBK SBANDA̠ANDHŠMSϠG SBANDSVNGDBSҠS SBAND AҠDϠNԠUSŠBԠ0(NԠANDM ANDBSҠ< SASҠSAVŠSҠNUMB MANSMPMN ADASPԠSԠҠGA̠SҠNUMB SSASKPƠKAY MPNSAHSŬYAGAN MPNSɠUN HDSҬPAԱPS SҠNPMV DA SұSAPNԠSԠPN DAPNԬ ADAMM SAADAK NAAB SASҠNY MVŠDAADɠDN SASҬɠN DAADAND SASҠPA ADAMMVAU SAADA ADAD PAPNԬ BSSP MPMV DAVAU SASҬ SBVAU MPSҬ PA PPAŠPANAB PAԱNP ' DAMMϠNS̠BŠUSD SAPNA DAPAҠADDSS ADAMM0ƠS SAPADPAN DAP0AADDSS SAPSҠƠMSSAG PàDAMM5VŠPANSPҠN SAPN PBDBPS DAPAD SBNPɠNVԠϠAS SZPAD DBPS ADBD3 DABBϠASɠBANKS SAB NB SBPS SZPNԠHAVŠŠDNŠVŠY MPPBN SZPNAYSHAVŠŠDNŠNY MPPAԱɠYS DAƠ06 SAPSҬ SZPS MPP PSҠNPADD DAPS SASҠSԠUPUN DAPA MPSұ HDMSSAGŠABS àABS- ҠDƠ+ DƠH0MSSAGŠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠH0 NPH DƠH DƠű3 DƠH NPH5 NPH6 DƠH DƠH0 DƠH DƠH NPH3 DƠH DƠH5 DƠH6 DƠH DƠH30 DƠH3 DƠH3 DƠH33 DƠH3 DƠ35 DƠH36 DƠH3 DƠH0 NPH NPH DƠŴ3 DƠH DƠŴ5 NPH6 DƠŴ DƠH50 DƠH5 DƠH5 DƠH53 DƠ5 DƠ55 DƠ56 NP5 DƠ60 DƠ6 NP6 DƠH63 DƠH6 ҠDƠ MɠDƠ+MSSAGŠADDSSAB DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM _w DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM3 DƠM33 DƠM3 DƠM35 DƠM36 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM50 DƠM5 DƠM5 DƠM53 DƠM5 DƠM55 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 M̠DƠ+MSSAGŠNGHAB DƠ0 DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̷ DƠ̱0 DƠ̱ DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠ36 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴ DƠ̴5 DƠ̴6 DƠ̴ DƠ50 DƠ5 DƠ5 DƠ53 DƠ5 DƠ55 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 HDS6-SN6(PDSN G6000B PDSN PAҠDSGNSN HSSNASHŠPAҠϠDSGN HSNSԠANDHNUŠ. PDSNDAAS6 SBSUƠUNԠSN DABPϠSAԠƠKAA SABDSAGŠPN SAPS DAAMM MANAAM ADABԱ3 DBBK SSASS o{DBAM ADBMM SBBP DABPҠS SABUADUP DABPSPNS SABUA A SAAB SAPAMPND H3DAB3NҠNSUNS SBPN PDU SBHNNPUԠN A SAPAG DAD6MMNYUSD SADDAUԠAS SBPAKGԠPD MPH0ҠNNPU DBD PDUSAH PABɠDŠMAH MPPD3UND NB PBD SSҠ-BADPD MPPD H0DAB0UNDNDNSUN SBPN MPPD PD3U ADBD SBPNԠPD ADBU SBPNDHKҠAB DABɠPSSNSUN MPA PUԱAԬDAA PUԱDAPPԱ SADSŠANSҠV A SADDAUԠAS SAD3DAUԠAS SBHAҠGԠNԠHAA MPPU5BDN SBPUԱGHKҠMMA SBPUԱDPSSSԠDAK SAD SBPUԱDPSSSNDDS SAD3 DAPAGDN? SZASSSKPƠYS MPPUԱA MPPU5B PUԱBDAD3 PUԱƠSBBUD MPPD PUԱASBH3BADNPU MPPD PUԱDNP DAPAGDN? SZA MPPU5BYS SBPUԱؠNϬGԠNԠD MPPUԱDɠNNU PUԱؠNP SBDHAҠGԠNԠD SS MPPUԱج SBPUԱŠDNŠҠ? SZPAGDN MPPUԱجɠNNU PUԱŠNPDNŠҠ? DBNԠUMNSMANNG SZB MPPDҠ(AADYPD MPPUԱŬ PUԱGNPHKMMA ҠB5 SZASS MPPUԱGɠK MPPUԱA PUԱHNP SBHAҠGԠNԠHAA MPPUԱBDN SBPUԱGHKҠMMA MPPUԱHɠUN PUԲҬS׬SSS PUԲNP DAPPԲ SADSŠANSҠV SBHA SSSKPƠDN MPPUԱA MPPU3ʠ PU3GϬB PU3DAPP3ANSS SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS DAPNԠPD MANA ADABSԠB? SZASKPƠYS MPPU3AMUSԠBŠG SBPU3DSAHҠAB MPPU3BNԠH SZBPUND DABPɠADDSSD SZASSSKPƠPVUSYDND MPPU3 HDABDUPAŠAB SBPN MPPD PU3BSBPU3̠HKҠV PU3ŠDABDNԠAVAABŠAN SABPɠSŠADDSS PU3ʠDAD MPPUԱƠ PU3ASBPU3DGϬSAHAB MPPU3ƠDDNԠND SZBPUND PU3GDABP ANDB3 ҠMPɠ6000B SAD MPPU3 PU3ƠSBPU3̠HKҠV A SABPɠZϠADDSSD MPPU3G PU3DNPSAHAB DBABàNUMBҠƠABS PU3ɠSZBSS MPPU3DɠZϠABS DABP PAAB MPPU3HUND DABPSP ADAMMBAK SABPHUGH ADBMMDMNԠAB̠UN MPPU3 PU3HSZPU3DNMA MPPU3Dɠ PU3KNPGԠAB SBPUԱGHKMMA SBPAK MPPUԱA SAAB̠SAVŠAB DABP SABP MPPU3K PU3̠NPHKҠKSPAŠV SBPU3N SZAB DAAB SABP SZBP MPPU3̬ɠNMA̠ PU3NNP DAAB ASϠANSPҠAB ADABD ADAD DBBP MBNB ADBA SSBSS MPPU3MV MPPU3N PU3MDAB6V SBPN MPPD PUԴҬ׬DD PUԴDAPPԴ SADSŠANSҠV A SAD3DAUԠAKNUMB SADDAUԠSҠNUMB SBHAҠGԠNԠHAA MPPUԴàDN SBPUԱGHKҠMMA SBPUԴBPSSSԠDDUN SZD SAD DAPNԠS PAB3 MPPUԴAD(6 PAB6 MPPUԴAҠ(? SBPU6DYSMԠDUN MPPUԴD PUԴADAD SZASS MPPUԱAD0 ANDB PAD MPPUԱADMD6 PUԴDSBPUԴBPSSSNDDAK SAD3 SBPUԴBPSSHDDS SAD DAPAGDN? SZASSSKPƠYS MPPUԱA PUԴàDAD5 MPPUԱ PUԴBNP DAPAGDN? SZA MPPUԴàYS SBPUԱؠNϬGԠNԠD MPPUԴBɠUN PU5B PU5DAPP5 SADANSҠV ANA SAD3DAUԠNUMBҠƠҠPNS SBHA MPPU5BDN SBPUԱGHKMMA SBDHA MPPU5ADNŠҠ? SZDԠSKPNDAU SAD SBDHA SS MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SAD3 MPPU5B PU5ASBPUԱ SZDԠSKPNDAU SAD PU5BDAD MPPUԱƠ PU6DB PU6DAPP6 SADSŠANSҠV SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPNDAU SAD SBPU6D SBHA MPPU6ADNŠҠ? SBPU6B SBHA MPPUԱA ҠB03 SZA MPPUԱA DAD ҠBԱ SAD SBHA MPPU5BSHUDBŠDN MPPUԱA PU6ASBPUԱŠDNŠҠ? SBPU6B MPPU5B PU6BNP SZDԠSKPƠDAU SSK MPPUԱA SAD3 DABԱ5 ҠD SAD MPPU6B PU6àSBPUԱŠDNŠҠ? SZDԠSKPƠDAU SAD SBPU6D MPPUԱB PU6DNPHKD-MUSԠNԠBŠGA DADHAN0 SSAMUSԠB MPPUԱAPSV MANA ADAD0 SSA MPPUԱA MPPU6D PUԷN PUԷDAPPԷ PUԷGSADSŠANSҠV DBABàNUMBҠƠABS DABP NA SABP PUԷDSZBSSSAH MPPUԷBUNDNDABS DABP SZASS MPPUԷ DABP ADAMM SABP ADBMM MPPUԷD PUԷBSBHA MPPUԷƠNMA̠SA SBPU3K SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS SBPU3DSAHAB MPPUԷADDNԠND SZBPUND DABP SAPS PUԷƠDAD SBBUD MPPSԬɠSAԠUN PUԷàDBBP ADBMM DAB PUԷŠSAP00A H0DAB0UNDNDAB̬ SBPN MPPD PUԷADAAB MPPUԷ PU9H PU9DAPP9 SADSŠANSҠV A SADDAUԠVAU SBPUԱHKҠMMA SBHA SSK MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SADSŠVAU MPPUԱB PԱ0S PԱ0DAPPԱ0 SADSŠANSҠV DADBԠDVŠADY ADABԠŠNABD SADDAUԠSAUS DAB3 SAD3DAUԠMASK SBHA MPPU5B SBPUԱGHKҠMMA DAMM6 SAPN AZ SADSAUSAND SAD3MASK PԱ0BSBHA MPPUԱA BNBB PAB600 MPPԱ0 PAB6 MPPԱ0 PAB0D BSSB0A0 MPPUԱA PԱ0àASSBA0 PԱ0ŠANABA ҠDM A̠SAUS SADD DAB ҠD3M A̠MASK SAD3 SZPNԠDN? MPPԱ0BN SBHAҠYSBUҠMPY? SSYS MPPUԱANϬ DADPSN AҠSAUS SADAND DAD3MASK A SAD3 MPPU5B PԱ PԱSBHA SSSKPƠDN MPPUԱA DABD PABP MPPDNHNGϠAS ADAMM DAA SAA̠PVUSANSҠV AƬA ANDB3DUN MANA ADABD SABDBDBD-DUN DAA ANDB3 ҠBSԠB? SZASS MPPԱAYSB ҠB3 SZASKPƠG MPPD DABD ANDBGԠADDSS ADAPAGŸ6000B SAA̠ƠNDAB DAA̬ɠSHSAB SZADND? MPPDYS DABDɠSAHҠHҠNS SAMPMASKUSDϠSAHҠH DABDNS SAMPPN PԱàPABP MPPԱBNԠUND DAMP ADAMMGԠANSҠV DAA AƬA ANDB3GԠDUN MANA ADAMPADDSSADDSS-DUN SAMP DBMP PBMP MPPDANHҠNŠASUND MPPԱ PԱADABPSAHABŠҠAN NAHSAB PԱŠSABP DABP PABD MPPԱDUND DABP ADAMM MPPԱ PԱDSAMPKAAPN DABP SAA̠ADDSSƠAB ANDB3 ҠMPɠ6000B SAMPMASKUSDϠSAHҠH ANS SAA̬ɠZϠUԠAB DAMP MPPԱ PԱBANϠNŠUND DBA ADBMM SABɠAB̠0 dB@KSASP6 SBNNAZŠUN DADBԠ HAHUNƠN-NŠGH DAM5 DBAM5N-NŠGHԠSHUDBŠ. SBY.Ϭ DBSAԱ SBKSASP SBNNAZŠSԠUN DAM55 DBAM55PUSHADYHNPUSHUN. SBY.Ϭ HԠ55B DBSAԱ SBKSASP DAASMADD.ƠSPA̠ҠMSS. SANPAKSԠUN MPSBű ASMDƠ+ DAM6 DBAM6DVŠMMANDDDN'ԠK. SBY.Ϭɠ(Sԩ SBűU H5àHàSԠDVŠMMAND SBDAY SBDAY DBSAԱ SBKSASP9 A H6AH DAM5 DBAM5N-NŠGHԠSHUDBŠN SBY.Ϭ SBN DBSAԲ SBKSASP0 SBN DAM63PAŠGHԠNHPP.ADY DBAM63GHԠSHUDGϠU.MV SBY.ϬɠGHԠHNPSSUN. HԠ63B DBSAԱ SBKSASP SBN DAM55 DBAM55PSSADYHNPSSUN. SBY.Ϭ HԠ55B DBSAԲ SBKSASP SBN DAM65ASŠSAKҠVҠUN̠ADY DBAM65GHԠGSU.ҠԬHN SBY.ϬɠPSSUN HԠ65B DBSAԱ SBKSASP3 SBN DAM6PAŠADSNHPPҬPSS DBAM6ADYHNPSSUN SBY.Ϭ HԠ6B DBSAԲ SBKSASP SBN DAASBAADD.ƠAB SASABҠSHABԠBU DABԲ SAGNBԠPAKABԠB DASBԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. 5SBADàADAAD MPSBNDNDƠS ASBADƠ+ DAM0SBŠAND. DBAM0 SBY.Ϭ MPND SBNDU SBS09PNԠMSSAG? MPND DASM DBASM SBY.ϬɠPNԠMSG NDU SBSױ5SPAԠNDƠS? SBSױ3PAԠS? MPSBŬɠUN HDADAAD ADàNPADAAD YAGU NDDBANB SBADBPAKDAABUҠPN DAAMD SAADԠPAKMŠBUҠPN SBBƠAҠNPUԠBU DAMD SADԠPAKN.Ơ.ϠBŠAD H50SàHàNAŠAD N̠U A H5SàHHASAGMŠNY? MPDYSHKƠԠSA. NASZABUMPDAYUN MP-3NNUŠHKNGҠAG H5AHPKUPSAUSPUSDAA SAHSASAVŠ DYU H5àHàUNUNԠ DAHSAPKUPH.SAUS SSAAD-N-GA? MPNGYS A SSAND--AD? MPNGYS PKҠUPK SBKHPHKSAKҠSAUS SBAPŬɠPNԠPK MPYAG SPà NGU DAHSA ANDBԱHKSAUSB SZASSSAUSK? MPH53 SBPNƠPNԠNϠAG MPYAGN SPà H53àHàUNƠUN SBDUNADYADҠANDPSSUN MPNDNԠADY SPà DU SAADԬɠSAVŠMŠUN A SAADB H5àHàUNƠUN H5AHPKUPH.SAUS SSASSAD-N-GA? MPKàN.HKҠND--AD SAADBɠSAVŠDAAҠHS. SZADԠ)BUMPPNҠϠMŠDAA SZADBBUMPPNҠϠDAABU SZDԠNSHDHUMNS? MPN̠N. SBSKSKPY? DAM03 DBAM03ϠMANYUMNS. SBY.Ϭ MPSABҬɠAB SPà KàA SSAND--AD? MPADìɠUN.NSHD MPPKҠPK SPà3 DUNNPADYADҠANDPSSUN SBSKSKPY? DAM00PASŠADYHŠADҠAND DBAM00PSSUN SBY.Ϭ SBSױMԠҠHAS? Ԡ03000 SBABKAB? MPDUNɠUN HDPKMŠS PԠNPPKMŠS SBSNSԠSԠPAԠADD. SBS09PNԠSAԠMSG.? MPHAN. DASM3A DBASM3 SBY.Ϭ HAU DAB3 SAGNBԠPAKABԠB DAPAB SASABҠPAKABԠADD. DAPԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠDVŠADY DAAMDADD.ƠMŠDAABU SAADԠPAKPN DAMD50MA.N.ADSϠAD SBNSUSԠUPUNADDSSϠ+ DAMD3MA.N.PKS SBDDԠADAAD MPPKMDPAKMŠDAA SBSKSKPY? DAM DBAM3PKSҠAD SBY.Ϭ SBHKPŠHKƠANYPKS SBDUNHAԠϠADUSԠADS MPHAYAGAN PKMDU DADMPKM SAADԬɠSAVŠԠNBU SZADԠBUMPPNҠϠBU SBNKNSHDADNGA̠ADS? PҠU DAAMDADD.ƠMŠDAA SAADԠPAKPN DAD50 SBDNDA.N.ƠADSAD MANAMAKŠԠ(- SAPKM(-ADUN SANDN.ADSAD A ANPԠADAADԬɠADDNNԠVAU SZADԠBUMPPNҠϠBU SSAϠBG MPGMA.PNԠMA.MŠDD SZPKMNSHD? MPANPԠADDNԠPKM DBASAPAANDB A- NA ADBNDDVDŠϠNDAVAG SSBSS MP-3 SAPKMSAVŠAVAGŠVAU DBAMԠADD.ƠMŠABŠNSANS MA ADABɠHKҠSSHAN SSA MPòBGUNԠϠBG SBSKSKPY DAM3 DBAM3AV.PKMŠSSHANMN.MS SBY.Ϭ MPKPҠHKPKS òBGU NBBASϠNԠMŠNSAN DAPKMPKUPAV.PKM MANA ADABɠPPAŠϠHKҠG.HAN SSASSϠBG? MPKPҠNϬHKPKS GMA.U SBSKSKPY DAM DBAMAV.PKMŠGҠHANMA.MS SBY.Ϭ KPҠU SBHKPŠHKƠANYPKSPN MPPNHMANDMNAŠS. PABDƠ+ SBSKSKPY? DAM0 DBAM0PԠAND SBY.Ϭ MPND3 PNU SBS09PNԠMSSAG? MPND3 DASM3 DBASM3 SBY.ϬɠPNԠMSG ND3U SBSױ5HAԠAԠNDƠS? SBSױ3PAԠS?(HUSN MPPԬɠUN SKP KDYNPHKƠADY DADYA SANPAKҠADD. MPDYA- DYADƠ+ SBDUNADYADҠANDPSSUN SBDAY DYAàHàUNƠD A H~)60AHUNN-NŠGHԠN SBDAY DBSAԲ SBKSAHKSAUS MPKDYɠUN SPà3 AϠNPA..N. DAAԠ(-.UN ADAD0MAؠUMNS NA+ SBDASNVԠϠAS MPAϬɠUN SPà3 DASNPDàϠASɠNVSN DBSASHA̠5 ADAMD0 NB SSASSNSHDHDG MP-3N PBZϠSUPSSADNGZS DBSPAŠA̠0 BƬBƠPUԠSԠHAҠNϠHɠPSN. ADBNA̠ ADBANUDŠGHԠDàHA. MPDASɠUN SPà3 HKPŠNPHKN.PKS DAPKԠA̠PKS SZASSANYPKS? MPHKPŬɠUN DBPKԠA̠N.ƠPKS MBNB ADBD99 SSBGAҠHAN99 DAD99YSMA.ANNYBŠ99 SBDASNVԠMDàϠAS SBAM6+ɠSAVŠN.ƠPKS DAD50 SBNDA.N.ƠADSAD SBDASNVԠϠAS SBAM6+ɠSAVŠN.ƠADSAD SBSKSKPY DAM6N.PKS DBAM6N.ADSAD SBY.Ϭ MPHKPŬɠUN SPà3 NSUNPUNSUP SADԠPAKADUN A SAPKԠNAZŠPKUN MPNSUɠUN SPà3 NKNPUNHK SBABK SZDԠNSHDׯN.ADS? SSN MPNKɠUN SBKHPHPPҠMPYSAKҠU? MPNSUɠNϬPA KHPNPHKHSANDGNA̠SAUS H6AHPKUPUNԠ.BS AƬAGN.SAUSNŻHSNSB qSAHSSAUSK? MPSSBYS SBSKYSKP? DAM35 DBAM35HPPҠMPYSAKҠU SBY.Ϭ H6BàHàUNƠAD MPNKɠUN SPà SSBU SZGN.SAUSK? MPKHPɠYS DAASñASɠ SBBSԠBԠSHUDBŠS MPSABҬɠAB SPà3 DDԠNPADADMNG SAYSSAVŠN.PKS DDBNAZŠUN H6ASàHàNAŠAD DDU H63AHPKUPSAUSBS SSAAD-N-GAŠY? MPGYS H6SàHAGNBŠG? MPNGYS NBSZBMŠU? MPDDN SBPNƠPNԠNϠAG MPDDYAGAN NGU APUԠG(éBԠNPA SSASSGN? MPPKŠNϬPK SBSKSKPY? DAMG0ANDG DBAMHNAG SBY.Ϭ SBABKAB? MPDDPA PKŠU SBKHPHKSAKҠSAUS SZPKԠA̠PKS SZYSMA.PKSDD? MPDDN SZDDԠPNԠϠP+ MPNUN SPà GU BSBS BSBSSHԠMŠϠPPҠB-PN BSBS SBDMSAVŠPKMŠAԠ(-B-PN BNAZŠMŠUN DD3U H65AHPKUPSAUSBS NPMNG SSASSGNSHD? MPG0YS NBSZBMŠU? MPDD3N BPUԠNMA.UN G0U SBDM+SAVŠADM B H65AAHPKUPSAUSBS APUԠGNϠMSB SSASSG? MP+3N NBSZBMŠU MPH65AN NU H66àHàUNƠAD MPDDԬɠUN SPà3 NDNPA.N.ƠADSAD ADADԠAUAŠN.ADSAD SZASS NAPUԠNUNԠƠN MPNDɠUN HDADNGHMNGS ԠNPADNGHMNGS SBSNNAZŠSԠUN SBS09PNԠSAԠMSG.? MPUAN. DASMA DBASM SBY.Ϭ UAU DABԴ SAGNBԠPAKABԠB DAAB SASABҠPAKABԠADD. DAԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠDVŠADY DAMD0 SBNSU DAGU APKҠAD SBDDԠADADMNG MPDKADADK SBAPŬɠPNԠPK MPDAG DKU DADM+ SSAϠBG? MPGMAؠYS DBAMԠADD.ƠMŠNSANS ADBDBAS MANA ADABɠAUAŠVADUN SSAϠSMA MPGMNN MNU SBSKSKPY? DAM3 DBAM3AD"NGH"..MNMS SBY.Ϭ MPN GMNDADM+PKUPADMNG NBBUMPPNҠϠMŠAB MANA ADABɠAUAŠUN SSASSVAD? MPNYS GMAؠU SBSKSKPY? DAM DBAMAD"NGH".G.MAؠMS SBY.Ϭ MPN ABDƠ+ SBSKSKPY DAM DBAMԠAND SBY.Ϭ MPND DNU SBNK ҠU SBS09PNԠMSSAG? MPND DASM DBASM SBY.ϬɠPNԠMSG NDU SBSױ5HAԠAԠNDƠS? SBSױ3PAԠS?(VASN MPԬɠUN HDSANDADBԠS SBԠNPSANDADBԠS SBSNPAKPAԠSԠADD. SBS09PNԠSAԠMSG.? MPVAN. DASM5A DBASM5 SBY.Ϭ VAU DAB5 SAGNBԠABԠSH DASBAB SASABҠPAKABԠADD. DASBԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠADY DAMD0N.ADSϠAD SBNSUSԠUPUN DADMAH SZASSUSŠDMA? MP+3N SBDMAADADׯDMA MPDN SBADàADADׯϠDMA DNU NPSPA DAANB SAADBPAKNPUԠPN DAASDB SAASDAPAKSD.DAAPN DAMD0 SAA SASBԠPAK.UN SBNKHKN.Ơ. SSASSN.Ơ.K? MPSBԱYS SBPM5Ϡנ.AD MPSBN SBԱU SBS0HKSH MPSBԲHK. SB3DAMD0N..ϠHK SBBSԠPMBNAYS MPSBNNSHD SBԲSBK̠HKUMNS SBS0BNAYS? MPSBNNϬNSHD MPSB3YS SBABDƠ+ABԠADD. SBSK DAM5 DBAM5SBԠAND SBY.Ϭ MPND5 SBNU SBNKHKƠNSHD SBҠU SBS09PNԠMSSAG? MPND5 DASM5 DGB@ 7 ADB Z.7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN LDB IOIP INITIALIZE TEST I/O JSB ZISC INSTRUCTIONS HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * * * * * * * * * * * * 0.** * * * * * * * * * * HED BASIC I/O TESTS CH EQU 10B * TST00 EQU * NOP LDA USSC GET CELL LOCATION AND Z.77 JSB ZBIO DO BASIC I/O JMP TST00,I * ZBIO NOP CLC INTP,C TURN OFF ALL I/O LDB ZBIOD INITIALIZE BASIC I/O JSB ZISC INSTRUCTIONS * * INTERRUPT FLAG CHECK * ZBIO1 STF INTP CLF INTP SFC INTP RSS JMP *+3 E000 JSB ERMS,I E000 CLF 0-SFC 0 ERROR DEF ZBE00 SFS INTP JMP *+3 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR DEF ZBE01 STF INTP SFC INTP JMP *+4 CLF INTP TURN OFF INTS E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR DEF ZBE02 SFS INTP JMP *+3 CLF INTP TURN OFF INTERRUPTS JMP ZBIO2 CLF INTP TURN OFF INTS E003 JSB ERMS,I E003 STF 0-SFS 0 ERROR DEF ZBE03 JMP ZBIO2 * ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/ ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/ ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/ ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/ * * s30   24200-18004 1615 S 0122 2600 CRT TERM DIAG.              H0101 9 SKP * CARD FLAG CHECK * ZBIO2 EQU * ZBS21 STF CH ZBS22 CLF CH ZBS23 SFC CH RSS JMP *+3 E005 JSB ERMS,I E005 CLF CH-SFC CH ERROR DEF ZBE05 ZBS24 SFS CH JMP *+3 E006 JSB ERMS,I E006 CLF CH-SFS CH ERROR DEF ZBE06 ZBS25 STF CH ZBS26 SFC CH JMP *+3 E007 JSB ERMS,I E007 STF CH-SFC CH ERROR DEF ZBE07 ZBS27 SFS CH RSS JMP ZBIO3 E010 JSB ERMS,I E010 STF CH-SFS CH ERROR DEF ZBE10 JMP ZBIO3 * ZBE05 ASC 13,E005 CLF CH-SFC CH ERROR/ ZBE06 ASC 13,E006 CLF CH-SFS CH ERROR/ ZBE07 ASC 13,E007 STF CH-SFC CH ERROR/ ZBE10 ASC 13,E010 STF CH-SFS CH ERROR/ * * * * * * * * * * * * * * * * * * * * * SKP * INTERRUPT CONTROL * * ZBIO3 JSB ZTCJI SET JSB INSTRUCTION DEF ZB3E ZBS31 STF CH SET THE FLAG ZBS32 STC CH SET THE CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TI INTERRUPT NOP ZBS33 CLF CH RESET CH FLAG JMP ZBIO4 * ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ * ZB3E NOP CLF INTP TURN OFF INTS E004 JSB ERMS,I E004 DEF ZBE04 * * * * * * * * * * * * * * * * * * * * * * * * SKP * SELECT CODE SCREEN TEST * ZBIO4 LDB Z.10 START WITH LOWEST ADDRESS ZB40 LDA USSC GET SELECT CODE AND Z.77 CPB A IS IT THE CH? JMP Z.CLF+1 YES - SKIP TEST LDA Z.STF SET UP AND ZIOM IOR B STF INSTRUCTION STA Z.STF PUT IT IN PLACE LDA Z.CLF SET UP AND ZIOM IOR B CLF INSTRUCTION STA Z.CLF PUT IT IN LINE ZBS41 CLF CH CLEAR CHANNEL FLAG Z.STF STF CH EXECUTE STF CH INSTRUCTION ZBS42 SFC CH TEST CHANNEL FLAG JMP ZB41 Z.CLF CLF CH CLEAR TEST FLAG Y; CPB Z.77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT CHANNEL * ZBE11 ASC 14,E011 STF XX SET CARD FLAG// * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT CH FOR MESSAGE JSB ZN2AO STA ZBE11+5 LDA ZBTMP RETRIEVE NUMBER E011 JSB ERMS,I E011 DEF ZBE11 * * * * * SKP * CHECK INTERRUPT & HOLD OFF * ZBIO5 JSB ZTCJI DEF ZBI5 CLA SET UP STA ZBF5 FLAGS STA ZBI5 FOR TEST STA ZBTMP ZBS51 STC CH TURN ON ZBS52 STF CH CARD STF INTP AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCURR DEF *+1 * HERE JSB *+1,I * DEF *+1 * ZBF5 NOP * ISZ ZBTMP INT. SHOULD BE HERE ISZ ZBTMP CLF INTP TURN I/O SYSTEM OFF LDA ZBI5 DID IT INTERRUPT? SZA JMP *+4 E014 JSB ERMS,I E014 NO INT DEF ZBE14 JMP ZBIO6 ABORT REST OF SECTION LDA ZBTMP CHECK FOR CORRECT INTERRUPT CPA Z.2 ? JMP *+3 E026 JSB ERMS,I E026 INT EXECUTION ERROR DEF ZBE26 ZBS53 CLF CH TURN OFF CH FLAG JMP ZBIO6 GO TO NEXT SECTION * ZBD5 DEF ZBF5-1 ZBD5A DEF ZBF5+1 * ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/ ZBE13 ASC 12,E013 SECOND INT OCURRED/ ZBE14 ASC 06,E014 NO INT/ ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ ZBE26 ASC 13,E026 INT EXECUTION ERROR/ * * * * * SKP ZBI5 NOP CLF INTP TURN I/O SYSTEM OFF LDA ZBD5 CHECK TO SEE IF ALL CPA ZBF5 INSTRUCTION COMPLETED JMP *+3 YES E012 JSB ERMS,I E012 INT DURING HOLD OFF DEF ZBE12 LDA ZBD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA ZBI5 JMP ZBI5A E015 JSB ERMS,I E015 INT RTN ADDR ERROR DEF ZBE15 JMP ZBIO6 ZBI5A JSB ZTCJI SET SECOND INT TRAP DEF ZBT5 STF INTP TURN I/O SYSTEM ON JMP ZBI5,I CONTINUE TEST * * ZBT5 NOP CLF INTP TURN I/O SYSTEM OFF E013 JSB ERMS,I E013 SECOND INT OCURRED DEF ZBE13 * * * * * SKP * CLC CH AND CLC 0 * ZBIO6 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI61 ZBS61 STC CH SET CH CONTROL ZBS62 STF CH SET CH FLAG STF INTP TURN ON INTERRUPTS ZBS63 CLC CH CLEAR CH CONTROL NOP GIVE IT A CHANCE NOP CLF INTP TURN INTS OFF ZB60 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI62 ZBS64 CLF CH CLEAR CH FLAG ZBS65 STC CH SET CH CONTROL ZBS66 STF CH SET CH FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTS JMP ZBIO7 * * ZBI61 NOP CLF INTP TURN OFF INTS E016 JSB ERMS,I E016 CLC CH ERROR DEF ZBE16 JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS E017 JSB ERMS,I E017 CLC 0 ERROR DEF ZBE17 JMP ZBIO7 * ZBE16 ASC 9,E016 CLC CH ERROR/ ZBE17 ASC 9,E017 CLC 0 ERROR/ * * * * * * SKP * EXTERNAL & INTERNAL PRESET TEST * * ZBIO7 LDB ZS812 CHECK TO SUPPRESS JSB SWRT,I ? JMP H025 YES - SKIP PRESET TEST H024 JSB MSGC,I TELL OPERATOR DEF ZBM24 PRESS PRESET * ZBS71 CLF CH CLEAR CH FLAG STF INTP TURN ON INTS JSB ZTCJI SET TRAP CELL JSB INSTRUCTION DEF ZBI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLKF INTP TURN OFF ONTPS ZBS72 SFS CH CHECK CHANNEL FLAG INA NOT SET SO FLAG IT RAL MOVE TO NEXT FLAG LIB 0 CHECK I/O BUSS SZB SHOULD BE ZERO INA NOT SO FLAG IT RAL MOVE TO NEXT FLAG STF INTP CHECK CONTROL ON CARD NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTPS * * * * * * * * * * * * * * * * * * * * * * * * SKP ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL DEF ZBE22 RAR SLA,RSS JMP *+3 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR DEF ZBE23 RAR SLA,RSS JMP *+3 E020 JSB ERMS,I E020 FLAG NOT SET DEF ZBE20 RAR SLA,RSS JMP *+3 E021 JSB ERMS,I E021 DID NOT DIABLE INTS DEF ZBE21 H025 JSB MSGC,I TELL OPERATOR DEF ZBM25 BASIC I/O IS COMPLETE JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * * ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ ZBM25 ASC 08,H025 BI-O COMP/ SKP ZBIOD DEF *+1 DEF ZBS21 DEF ZBS22 DEF ZBS23 DEF ZBS24 DEF ZBS25 DEF ZBS26 DEF ZBS27 DEF ZBS31 DEF ZBS32 DEF ZBS33 DEF ZBS41 DEF ZBS42 DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * ZCEND EQU * * * * * * * * * * * * * * * * * * * *  * * * * * * * * * * HED BASE PAGE LINKS AND CONSTENTS ORG 126B OCT 104000 DSN ORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS TSTP DEF TSTD POINTER TO TESTS HDMP DEF HDMD POINTER TO HEADER MESSAGE STDA OCT 3777 STDB OCT 0 * ORG 150B HDMD EQU * ASC 11,START KDT DIAGNOSTIC/ * IOID EQU * DEF T.SC1 DEF TOSC1 DEF TOSC2 DEF TOSC3 DEF TOSC4 DEF TISC1 DEF TISC2 DEF TISC3 DEF TISC4 DEF TISC5 DEF TISC6 DEF OSCS1 DEF OSCEX DEC -1 * TSTD EQU * DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEF TST12 DEC -1 SKP B77 OCT 77 KDT EQU 10B SW2 OCT 4 CRLF OCT 6412 .5 OCT 5 .M4 OCT -4 .2 OCT 2 .40 OCT 40 .177 OCT 177 .377 OCT 377 D500 DEC 500 D2000 DEC 2000 .M1 DEC -1 .M10 OCT -10 DM17 DEC -17 DM25 DEC -25 DM28 DEC -28 DM35 DEC -35 CUDN OCT 13 CURT OCT 30 CULT OCT 31 CUUP OCT 32 CUCR NOP CUDR NOP CNTR NOP TMP NOP S128 OCT 10400 HED COMMON SUBROUTINES * OUTPUT TO KDT * * A2KDT NOP STA SAVE KEEP THE CHARACTER SSA,RSS IS IT A COMMAND? JMP *+4 NO-OUTPUT A REG T.SC1 OTA KDT YES-DO IT OTEX LDA SAVE RETRIEVE CHARACTER JMP A2KDT,I AND RETURN ALF,ALF UPPER CHR. FIRST AND .177 MASK OFF UNWANTED BITS SZA IS IT A CHARACTER JSB A1KDT YES - TRANSFER IT LDA SAVE DO OTHER HALF AND .177 MASK OFF UNWANTED BITS SZA IS IT A CHARACTER JSB A1KDT YES - TRANSFER IT JMP OTEX YES RETURN TO CALLER * SAVE NOP * * * * A1KDT NOP TOSC1 OTA KDT GIVE IT TO TERMINAL TOSC2 STC KDT,C *  CLA * TOSC3 SFC KDT *WAIT FOR JMP *+5 * INA,SZA * TRANSFERED JMP *-3 * E034 JSB ERMS,I REPORT TIME OUT DEF FTOM POINTER TO MESSAGE TOSC4 CLC KDT,C TURN CARD OFF JMP A1KDT,I * * FTOM ASC 10,E034 FLAG TIME OUT/ * * * PUT JSB IN TRAP CELL * TCJI NOP LDA USSC GET SELECT CODE AND B77 LDB JSBI GET JSB INSTRUCTION STB A,I PUT IT IN TRAP CELL LDA TCJI,I GET RETURN LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN * JSBI JSB 3B,I * SKP * OUTPUT DATA PATTERN TABLE * * IF CHR. IS POS. OUTPUT BOTH CHARACTERS * IF CHR. IS NEG. USE UPPER AS CHARACTER REP. COUNT * OPDPT NOP STB TMP SAVE POINTER AS ADDRESS CCB SET FOR 2 CHARACTERS LDA TMP,I GET CHRS. FROM TABLE CPA .M1 IS IT THE TERMINATOR JMP OPDPT,I YES-RETURN TO CALLER SSA,RSS NO-IS IT A MULTY CHR. OUTPUT JMP *+6 NO-SKIP SETUP IOR .377 * ALF,ALF * STA B * SET UP COUNT LDA TMP,I * AND .177 * JSB A2KDT INB,SZB OUTPUT AGAIN? JMP *-2 YES ISZ TMP NO-MOVE TO NEXT CHR. JMP OPDPT+2 DO IT * * KDT2A NOP TISC1 OTA KDT TISC2 STC KDT,C TISC3 SFC KDT JMP TISC4 LDB SW2 CHECK FOR ABORT JSB SWRT,I RSS JMP TISC3 LDA .5 WAIT FOR JSB TMRR,I SWITCH BOUNCE LDB SW2 JSB SWRT,I JMP *-2 JMP TISC5-1 TISC4 LIA KDT AND .177 MASK OFF PARITY BIT ISZ KDT2A ADJUST RETURN FOR DATA LDB OCMD RESTORE OUTPUT COMMAND TISC5 OTB KDT TISC6 CLC KDT,C TURN OFF CARD JMP KDT2A,I * * ICMD OCT 140000 INPUT ONLY COMMAND R*($SKP * PREPAIR TERMINAL WITH HOME UP AND EOF * * PREP NOP LDA OCMD OUTPUT COMMAND JSB A2KDT LDB HUEOF DO HOME-UP & EOF JSB OPDPT JMP PREP,I * OCMD OCT 120000 PRINT ONLY COMMAND * HUEOF DEF *+1 OCT 35 HOME-UP OCT 176037 4*EEOF OCT 177777 TERMINATOR * * WAIT 2 SECONDS THEN * CHECK SW. REG. BIT 1 FOR PAUSE * PAUSE NOP LDA D2000 PAUSE FOR 2 SECONDS JSB TMRR,I LDB SW1 SWITCH 1 UP? JSB SWRT,I y*   24200-18005 1615 S 0122 2600 CRT TERM DIAG.              H0101 9 JMP *-2 YES-LOOP JMP PAUSE,I NO-RETURN * SW1 OCT 2 * HED FUNCTIONAL TESTS * CHARACTER SET * TST01 EQU * * CS NOP JSB PREP PREPAIR TERMINAL LDA DM25 NUMBER OF LINES STA CNTR TO BE DISPLAYED LDA .40 FIRST CHARACTER CSL JSB A2KDT OUTPUT IT TO TERMINAL INA MOVE TO NEXT CHARACTER CPA MXCR IS THAT ALL? RSS YES JMP CSL NO-FINISH LINE ISZ CNTR LAST LINE RSS JMP *+4 YES-SKIP CRLF LDA CRLF NO-OUTPUT CRLF JSB A2KDT JMP CSL-1 NOW DO NEXT LINE JSB PAUSE JSB PREP CLEAR SCREEN JMP CS,I RETURN TO CONTROL * MXCR OCT 140 * SKP * MOS ?@ * TST02 EQU * * MOS NOP JSB PREP PREPAIR TERMINAL LDB DM25 DO 25 CURSOR DOWN'S STB CNTR REP COUNT LDB CDT CURSOR DOWN TABLE JSB OPDPT DO IT ISZ CNTR DO IT AGAIN? JMP *-3 LDA DM28 28 LINES STA CNTR LDA MOS@? CHARACTERS FOR FIRST LINE MOSL LDB DM35 70 CHARACTERS PER LINE JSB A2KDT INB,SZB LINE FINISHED JMP *-2 NO STA TMP YES ISZ CNTR JMP *+4 JSB PAUSE WAIT JSB PREP CLEAR SCREEN JMP MOS,I RETURN TO CONTROL LDA CRLF DO CRLF JSB A2KDT LDA MOS?@ SWAP ?@ CPA TMP ? LDA MOS@? YES JMP MOSL DO LOOP AGAIN * * MOS@? ASC 1,@? MOS?@ ASC 1,?@ * CDT DEF *+1 OCT 13 CURSOR DOWN COMMAND OCT 176177 FOLLOWED BY 4*RUBOUT OCT 177777 TERMINATOR SKP * DOT MATRIX * TST03 EQU * * DM NOP JSB PREP PREPAIR TERMINAL LDA DM25 NUMBER OF LINES STA CNTR DML LDB DM17 68 CHARACTERS V# LDA CR1 * JSB A2KDT * LDA CR2 * JSB A2KDT * OURPUT A LDA CR3 * LINE JSB A2KDT * LDA CR4 * JSB A2KDT * INB,SZB DONE WITH LINE? JMP DML+1 NO ISZ CNTR SCREEN FILLED JMP *+4 JSB PAUSE YES-WAIT JSB PREP CLEAR SCREEN JMP DM,I RETURN TO CONTROL LDA CR1 * LDB CR2 * STB CR1 * LDB CR3 * ROTATE STB CR2 * CHARACTERS LDB CR4 * STB CR3 * STA CR4 * LDA CRLF YES-DO A CRLF JSB A2KDT JMP DML DO IT AGAIN * CR1 OCT 116 ASC N CR2 OCT 043 ASC # CR3 OCT 132 ASC Z CR4 OCT 053 ASC + SKP * SPOW-EOL-EOF * TST04 EQU * * SEE NOP JSB PREP PREPAIR TERMINAL LDB SEEDP TEST PATERN FOR SEE JSB OPDPT OUTPUT DATA PATERN TABLE LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP1 OUTPUT FIRST OVERLAY JSB OPDPT LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP2 OUTPUT SECOND OVERLAY JSB OPDPT LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP3 OUTPUT THIRD PATERN JSB OPDPT LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP4 OUTPUT EOF JSB OPDPT JSB PAUSE WAIT FOR OBSERVATION JSB PREP CLEAR SCREEN JMP SEE,I RETURN TO CONTROL * * SEEDP DEF *+1 * * INITIAL PATERN * ASC 6,AAAAAABBBBBB OCT 6412,6412 ASC 3,DDDDDD OCT 6412,6412 ASC 6,AAAAAAEEEEEE OCT 6412,6412 ASC 6,AAAAAAFFFFFF OCT 6412,6412 ASC 3,FFFFFF OCT 177777 TERMINATOR * SKP * OVERLAY FOR B'S * SEEP1 DEF *+1 OCT 16415 HOME UP - RETURN ENABLES SPOW ASC 6, $$$$$$ OCT 177777 TERMINATOR * * CLEAR D'S * SEEP2 DEF *+1 OCT 6412,6412 2-LINES RELEASES SPOW ASC 3, OCT 177777 TERMINATOR * * OVERLAY FOR A'S AND EOL * SEEP3 DEF *+1 OCT 6412,6412 ASC 3,@@@@@@ OCT 176036 4*EEOL OCT 177777 TERMINATOR * * OVERLAY FOR A'S AND EOF * SEEP4 DEF *+1 OCT 6412,6412 ASC 3,###### OCT 176037 4*EEOF OCT 177777 TERMINATOR SKP * CURSOR CONTROL * TST05 EQU * * * CC NOP P JSB PREP PREPAIR TERMINAL LDB CCDP TEST PATERN JSB OPDPT OUTPUT DATA PATERN TABLE LDA CUCD SET UP STA TMP POINTER CCLP LDA TMP,I SZA,RSS END OF CONTROL LIST JMP ECL YES STA CUCR NO-SAVE CHARACTER ISZ TMP MOVE TO CURSOR CONTROL LDA TMP,I STA CUDR CURSOR DIRECTION CULP ISZ TMP MOVE TO REP COUNT LDA TMP,I SSA,RSS END OF REP COUNT? JMP CCLP YES STA CNTR NO - SAVE REP COUNT CUCLP LDB .M4 OUTPUT CLA NULL JSB A1KDT CHARACTER INB,SZB JMP *-3 LDA CUDR OUTPUT AND .177 CURSOR JSB A1KDT CONTROL ISZ CNTR IS THERE ANOTHER JMP CUCLP YES CC01 LDA CUCR OUTPUT CHARACTER JSB A1KDT JMP CULP TRY AAGAIN * ECL LDB CCP1 DO REST OF DIAPLAY JSB OPDPT JSB PAUSE WAIT FOR OBSERVATION JSB PREP CLEAR SCREEN JMP CC,I RETURN TO CONTROL SKP CCDP DEF *+1 OCT 175101 6*A OCT 6412,6412 OCT 5015 LF-CR OCT 177777 TERMINATOR * * CUCD DEF *+1 OCT 102 ASC B OCT 30 CURSOR RIGHT DEC -1 DEC -2 DEC -3 DEC -4 DEC -5 DEC -6 DEC -7 OCT 103 AS:C C OCT 13 CURSOR DOWN DEC -1 DEC -2 DEC -3 DEC -4 DEC -5 OCT 104 ASC D OCT 31 CURSOR LEFT DEC -6 DEC -9 DEC -8 DEC -7 DEC -6 DEC -5 DEC -4 OCT 105 ASC E OCT 32 CURSOR UP DEC -5 DEC -4 DEC -3 DEC -2 DEC -1 NOP TERMINATE LIST * CCP1 DEF *+1 OCT 35 HOME UP OCT 164012 24*LINE FEED OCT 176177 4*RUBOUT OCT 137040 66*SPACE OCT 172106 12*F OCT 142040 60*SPACE OCT 172107 12*G OCT 35 HOME UP OCT 175110 6*H OCT 34 HOME DOWN OCT 176177 4*RUBOUT OCT 15 ACTIVATE SPOW ASC 6, IIIIII OCT 177777 SKP * FULL KEYBOARD INPUT TEST * TST06 EQU * * FKI NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP FKI,I YES JSB PREP PREPAIR TERMINAL JSB FKIR CALL FOR DEF FKIH1 FIRST DEF FKIP1 LINE DEF FKIP1 * JSB FKIR NOP DEF FKIP2 DEF FKIP2 * JSB FKIR NOP DEF FKIP3 DEF FKIP3 * JSB FKIR NOP DEF FKIP4 4 DEF FKIP4 * JSB FKIR DEF FKIH5 DEF FKIP5 DEF FKIP5 * JSB FKIR NOP DEF FKIP6 DEF FKIP6 * JSB FKIR DEF FKIH7 DEF FKIP7 DEF FKIC7 * JSB FKIR DEF FKIH8 DEF FKIP8 DEF FKIC8 * * JSB PAUSE WAITE FOR OBSERVATION FKIEX JSB PREP CLEAR SCREEN JMP FKI,I RETURN TO CONTROL SKP FKIH1 ASC 10,INPUT THE FOLLOWING: OCT 177777 FKIP1 ASC 6,1234567890:- OCT 177777 * FKIP2 ASC 5,QWERTYUIOP OCT 177777 * FKIP3 ASC 5,ASDFGHJKL; OCT 177777 * FKIP4 ASC 5,ZXCVBNM,./ OCT a177777 * FKIH5 OCT 6412 ASC 3,SHIFT+ OCT 177777 FKIP5 ASC 6,!"#$%&'()*= OCT 177777 * * FKIP6 ASC 6,_@[\+^]<>? OCT 177777 * FKIH7 OCT 6412 ASC 3,CNTRL+ OCT 177777 FKIP7 ASC 2,HMX OCT 177777 FKIC7 OCT 4015 OCT 14040 OCT 177777 * FKIH8 OCT 6412 ASC 09,RBOT LF CR ESC OCT 177777 FKIP8 OCT 177777 FKIC8 OCT 77412 RBOT + LF OCT 06433 CR + ESC OCT 177777 * * SKP FKIR NOP LDB FKIR,I OUTPUT HEADER SZB IF THERE IS ONE JSB OPDPT LDA CRLF JSB A2KDT ISZ FKIR LDB FKIR,I OUTPUT REQUEST LINE CLE,ELB SET UPPER/LOWER FLAG STB PTR USE AS POINTER TO TABLE FKIL1 JSB TBL2A GET A CHARACTER FROM TABLE JMP FKIN1 NO MORE CPA .1SPC IF SPACE JMP FKIN1 SKIP IT JSB A2KDT LDA .2SPC JSB A2KDT LDA .2SPC JSB A2KDT JMP FKIL1 MOVE TO NEXT CHARACTER FKIN1 LDA CRLF JSB A2KDT ISZ FKIR LDB FKIR,I BET COMPAIR CHR. ISZ FKIR CLE,ELB SET UPPER LOWER FLG STB PTR SAVE AS TABLE POINTER FKIL2 JSB TBL2A GET A CHARACTER FROM TABLE JMP FKIR,I NO MORE CHARACTERS CPA .1SPC JMP FKIR,I STA TMP SAVE IT FOR COMPAIR LDA ICMD CALL FOR INPUT JSB KDT2A GO GET INPUT JMP FKIEX ABORT TEST CPA TMP WAS IT OK? JMP FKIO1 LDB FKIBD NO-OUTPUT CCE OCTAL JSB O2AS,I EQU. LDB FKIBD ADB .2 JSB OPDPT JMP *+3 FKIO1 LDB FKISP YES-OUTPUT 5 SPACES JSB OPDPT JMP FKIL2 SKP TBL2A NOP GET A CHARACTER FROM THE TABLE LDB PTR GET POINTER CLE,ERB ADJUST UPPER LOWER FLAG LDA B,I GET 2 CHARACTERS CPA .M1 IS IT THE TERMINATOR JMP TBL2A,I YEQS SEZ,RSS NO-IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND .177 MASK OFF UNWANTED BITS ISZ PTR MOVE TO NEXT CHARACTER ISZ TBL2A ADJUST CHARACTER RETURN JMP TBL2A,I * * * PTR NOP .1SPC OCT 40 .2SPC ASC 1, * FKIBD DEF *+1 NOP NOP NOP ASC 1, OCT 40 OCT 177777 * FKISP DEF *+1 OCT 175440 5*SPACE OCT 177777 SKP * FREE INPUT * TST07 EQU * * * FI NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP FI,I YES JSB PREP CLEAR SCREEN LDB FIH TELL OPERATOR TO JSB OPDPT INPUT ANY KEY LDA .M10 10 INPUTS PER LINE STA CNTR FIL LDA ICMD CALL FOR INPUT JSB KDT2A CALL FOR IT JMP FIEX ABORT TEST LDB A ADB M41 SSB * JMP FI1 *CHECK ADB M100 * FOR SSB,RSS * DISP.CHR. JMP FI1 * STA FIP+1 IT'S OK LDB FIP ECHO IT JSB OPDPT JMP FI2 DO IT AGAIN FI1 LDB FKIBD NO-OUTPUT CCE OCTAL JSB O2AS,I EQUIV. LDB FKIBD ADB .2 JSB OPDPT FI2 ISZ CNTR ALL FOR THIS LINE JMP FIL NO LDA CRLF YES DO RETURN LINE FEED JSB A2KDT JMP FIL-2 * FIEX JSB PREP CLEAR SCREEN JMP FI,I RETURN TO CONTROL * * FIP DEF *+1 NOP ASC 2, OCT 177777 * FIH DEF *+1 ASC 7,INPUT ANY KEY OCT 6412 OCT 177777 * M41 OCT -41 M100 OCT -100 SKP * ECHO * TST10 EQU * * ECHO NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP ECHO,I YES JSB PREP CLEAR SCREEN LDB ECHOM TELL OPERATOR HE IS JSB OPDPT IN ECHO MODE LDA ECHOC GET CARD ECHO COMMAND ? JSB KDT2A GO GET IT RSS JMP *-3 JSB PREP CLEAR SCREEN JMP ECHO,I RETURN TO CONTROL * * ECHOC OCT 160000 * ECHOM DEF *+1 ASC 15,ECHO MODE ANY INPUT IS ECHOED OCT 6412 OCT 177777 * * SKP * OSCILLATOR * TST11 EQU * * OSC NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP OSC,I YES JSB PREP PREPAIR TERMINAL * H030 JSB MSGH,I TELL OPERATOR TO SWITCH TO 110 DEF OSCM1 POINTER TO MESSAGE * LDA TOLZ1 OK NOW GET TOLERANCE LDB TOLZ2 JSB OSCC CHECK BOARD * H031 JSB MSGH,I TELL OPERATOR TO SWITCH TO 150 DEF OSCM2 * LDA TOLZ3 OK NOW GET TOLERANCE LDB TOLZ4 JSB OSCC CHECK BOARD * H035 JSB MSGH,I ALLOW OPERATOR TO DEF OSCM3 CHANGE BAUD RATE BACK JSB PREP CLEAR SCREEN JMP OSC,I RETURN TO CONTROL * OSCM1 ASC 15,H030 PUT TERMINAL IN 110 BAUD/ * OSCM2 ASC 15,H031 PUT TERMINAL IN 150 BAUD/ * OSCM3 ASC 13,H035 RETURN BAUD SWITCH TO ASC 10, ORIGINAL POSITION/ SKP * CHECK BOARD * OSCC NOP STA TOLZA SAVE TOLERANCE STB TOLZB LDA .M10 SET LOOP STA CNTR COUNT * OSCCL LDA OCMD SET OUTPUT JSB A2KDT MODE * JSB TCJI PUT JSB IN TRAP CELL DEF OSCCI LOCATION CCA SET OUT OF STA TMP TOLZ FLAG STF INTP TURN ON INTERRUPTS OSCS1 STC KDT,C START TRANSFER LDA TOLZA WAIT FOR INT. JSB TMRR,I ISZ TMP SHOW IN TOLZ NOP LDA TOLZB JSB TMRR,I ISZ TMP OUT OF TOLZ LDA TOLZA JSB TMRR,I * CLF INTP TURN OFF INTERRUPTS JSB ERMS,I LONG ENOUGH - ERROR DEF FTOM POINTER TO MESSAGE OSCEX CLC KDT,C TURN CARD OFF JMP OSCC,I SKP OSCCI NOP [A0.* INTERRUPTED CLF INTP TURN INTERRUPTS OFF LDA TMP SZA WAS IT IN TOLERANCE? JMP OSCE0 NO ISZ CNTR DO LOOP AGAIN? JMP OSCCL YES JMP OSCEX * OSCE0 SSA,RSS EARLY OR LATE JMP OSCE1 * E032 JSB ERMS,I EARLY ERROR DEF OSEM1 JMP OSCEX * OSEM1 ASC 08,E032 CLOCK FAST/ * OSCE1 EQU * E033 JSB ERMS,I LATE ERROR DEF OSEM2 JMP OSCEX * OSEM2 ASC 08,E033 CLOCK SLOW/ * TOLZA NOP TOLZB NOP TOLZ1 DEC 96 * 110 BAUD TOLZ2 DEC 7 * TOLZ3 DEC 70 $ 150 BAUD TOLZ4 DEC 6 $ SKP * DISPLAY ALLIGNMENT * TST12 EQU * * DA NOP JSB PREP PREPAIR TERMINAL LDA DM25 SET 25 LINES STA CNTR DAL LDB DADP OUTPUT E'S JSB OPDPT ISZ CNTR ALL LINES DONE? JMP *+4 JSB PAUSE YES JSB PREP CLEAR SCREEN JMP DA,I RETURN TO CONTROL LDA CRLF NO- DO A CRLF JSB A2KDT JMP DAL * * DADP DEF *+1 OCT 134505 71*E OCT 177777 FWAA EQU ZCEND END 0   24202-80001 A S 0122 2100A TTY MULTIPLEXOR TEST             H0101 %n ASMBAB G òUBNA̠ϠϠPSSҠHANN PҠU3BPHADҠHANN SPà HSPGAMSUSDϠADHŠɯϠPSS HUGHHŠNA̠PSSҠAD.ԠADS SNGŠHAASANDPASSSHMϠHŠɯ PSS"SBASàBNAYADҠNNŠƠH MMUNANHANNS. SPà PSàPҬàSAԠPHAD SSPҠAԠҠAHAA MP- APҠGԠHAAҠMPHAD SSòAԠҠɯϠPSSҠϠAK MP-PVUSHAA. Aò SàòàSԠAG MPPGԠNԠHAA ND ASMBABì̬ HD00AYMUPҠS GB SPà 00AYMUPҠS SPà NGUANAN00B SPà MPNGɠPAҠNGUAN SPà G00B MPSA SPà G05B DƠAMSԠDAVAABŠMMY SPà G0B àDƠNؠUVŠUNADDSS SPà ABŠƠSԠDSϠBŠMDD SPà SԠDƠ+ DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH30 DƠH3 DƠH3 DƠH5 DƠH6 DƠH DƠH50 DƠH5 DƠH53 DƠH5 DƠDH DƠH ASԠDƠ- SPà àABS- ҠDƠ+ DƠ0 DƠ0 DƠ03 DūGƠ0 DƠ05 DƠ06 DƠ0 DƠű0 DƠű DƠű DƠű3 DƠű DƠű5 DƠű6 DƠű DƠŲ0 DƠŲ DƠŲ DƠŲ3 DƠŲ DƠŲ5 DƠŲ6 DƠŲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠŴ0 DƠŴ DƠŴ DƠŴ DƠŷ DƠŷ SPà HԠDƠ HԠ0B HԠ0B HԠ03B HԠ0B HԠ05B HԠ06B HԠ0B HԠ0B HԠB HԠB HԠ3B HԠB HԠ5B HԠ6B HԠB HԠ0B HԠB HԠB HԠ3B HԠB HԠ5B HԠ6B HԠB HԠ30B HԠ3B HԠ3B HԠ33B HԠ3B HԠ35B HԠ0B HԠB HԠB HԠB HԠB HԠB SPà MMNNSANSANDSYMBS SPà KϠDà KHŠDà3 MSK3Ԡ300 MSK3Ԡ0000 MSKԠ0000 MSK6Ԡ600 SPà HAԠ06000 HBԠ0600 HԠԠ06003 HàԠ06000SDHANN AU0 BU HU0 SàU0 NԱNP NԲNP MPNP ñNP òNP SAVŠNP NSҠNPNNA̠SנG ϠNP DHNP SAVANP SAVBNP SPNP AԠ P00Ԡ00 A000Ԡ00 NDà- N5Dà-5 N50Dà-50 SPà ñDà-5 HñDà-5 òDà-93 HòDà-909 3Dà- H3Dà-0 ôDà-050 HôDà-30 5Dà-5 H5Dà-55 SPà NDԠADDSSS SPà Sױ3ɠDƠSױ3 ɠDƠ M5ɠDƠM5 NGDƠNG ҠDƠ ADDSDƠNP+ ʱSB+ YDƠ.0 ʲMP+ DƠ. 3MP+ DƠ.35 ʴMP+ DƠ. 5MP+ DƠ3 6MP+ DƠŴA SKP HDNGUAN G000B SPà NGUAN NGUSHADA NGUSɯϠHANN ADSNNA̠SHGS SPà NGà0 A0 SZA 33SBҬɠGA̠DAANɯϠBUS.SHUD ABŠZ.BUSDAANA-G. SAϠSAVŠSHGSҠNNS ANDABS0-5ƠS-G SASAVA SZASSSS-G0? ŷSBҬɠNԬPASŠNҠɯϠH. NPADADDSSBPSSUN. DA ANDMSK6 SZASS ŷSBҬɠNԬPASŠNҠSà NPADADDSSBPSSUN. DBSԠMDYɯϠNSUNS SBSP NGDBSPɠPP DABɠɯ ANDP00HANN ҠSAVA SAB PBASԬɠNSHD? MP+3YS SZSPN MPNG SPà Ԡ00HADAŠNAZD SPà A SANS Ԡ00NGUANMP SKP SA ADSAP̠HAS SPà SAԠà0 DBKH DAHԠADSAP̠HAS SԱSAB NB NA PBA000 SS MPSԱ MP.00GϠϠSԠS HDɯϠNAŠS ɯϠNAŠS SSNAŠN̠G SPà AGS SPà .00à0àDSABŠNS H0SƠH HSàH MPHPASS MPH3AGS? SPà HSSHPASS 03SBҬɠSSADϠSKPHɯϠAG MPHS SPà Q H3SSH MP0 0SBҬɠSàAUSDBADSKPHɯ MPHAGS 0SBҬɠSƠDDNԠSԠɯϠAG SPà HƠH H5SSH MPH6 MPH3 H6SàH 06SBҬɠSàADϠSKPHɯϠAG MP.0A H3SàH MP0 05SBҬɠSSAUSDBADSKPHɯ MP.0AGA 0SBҬɠƠDDNԠAҠɯϠAG SPà NUPԠNABŠANDDSABŠS SPà .0SƠ0 Sà0 MP.05PASS MP.06AGS? .05SS0 űSBҬɠSS0ADϠSKPHAG MP.0S .06SS0 MP0 ű0SBҬɠSà0AUSDBADSKPHAG MP.0S 0SBҬɠSƠ0DDNԠNABŠNUPS SPà .0Ơ0 SS0 MP. MP. .Sà0 űSBҬɠSà0ADϠSKPHAG MP.5A .Sà0 MPű ű3SBҬɠSS0AUSDBADSKPHAG MP.5A űSBҬɠƠ0DDNԠDSABŠNUPS SPà SԠNUPԠAPABY SPà .5Ơ0 DA5 SADH H5SàH H6SƠH NPɯϠNUPԠNԠPD NP MP. SPà 3SBҬɠƠ0DDNԠNHBԠɯϠN SPà .DAʱ SADH DAHA DBHB HSàH HSƠH SƠ0 SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH SPà ű5SBҬɠNϠɯϠNUPԠVD MP.5 SPà .0NP Ơ0_DSABŠNUPS H50SàH MP+ ŲSBҬɠAGƯƠSԠBYAK DAʲNԠUN SADH SƠ0 NPS-SHUDNԠNUP NP Ơ0DSABŠN DA.0 PAADDS SS ű6SBҬɠNUPԠADDSSSN SB.0HANGŠNY MP.5 SPà .Ơ0 űSBҬɠɯϠNUPԠAKDDNԠK SPà GA̠SԠDŠS SPà .5à0 HƠH A NA .PADH NA SASAV DASñ ANDP00 ҠSAV SASñ SñSƠS HSSH MP. DASAV B 3SBҬɠBADSPNDSGAY NԠSԠD GA̠DŠNA-G. .DASAV PAA MP.9 NA MP. SPà SԠN̠S SPà .9DA6 SADH DAHA DBHB H5SàH H53SƠH H5àHSHUDAҠN̠ SƠ0NAB NPS-SHUDNԠNUP NP MP.30 SPà ŴAƠ0 ŴSBҬɠàDDNԠAҠɯϠN̠ SPà .30DA3 SADH DAHA DBHB H9SàH H0SƠH à0SHUDAҠA̠N̠BS SƠ0NAB NPS-SHUDNԠN NP MP.0 SPà .35Ơ0 Ų0SBҬɠà0DDNԠAҠɯϠN MP.0B SPà NNA̠ANDNA̠PSԠS SPà .0DAHA DBHB HSàH SƠ0NABŠNS SPà H00HԠ00BPSSNNA̠ANDNA PSԠAND 4UN. SPà HSSHSAGS? MP+N Sà0YSSNԠSYSDSABD? ŲSBҬɠNNA̠PSԠDDNԠDSAB NUPS. MP.YS Sà0 MPŲ3 ŲSBҬɠNA̠PSԠDDNԠSԠAG MPH3 Ų3SBҬɠNA̠PSԠDDNԠSԠAG ANDNNA̠PSԠDDN DSABŠNUPS. MPH3 .DAʴ SADH DAHA DBHB SƠ0NABŠNS NPS-SHUDNԠNUP NP Ơ0 MPH3 SPà .Ơ0 ŲSBҬɠNA̠PSԠDDNԠA N̠B. SPà H3HԠ3BNSA̠ɯϠMPؠSԠNN SPà A MAADA-GA̠'S HBHADNMPؠUPUԠG PBA MP+PASS Ų5SBҬɠNA̠PSԠDDNԠS UPUԠGϠMAKSAŠ NPUԠGSDPPNGBS. PDDAA-A-G AUA̠DAA---B-G .50A HAHUPUԠA̠ZS H5BH PBA MP+PASS Ų6SBҬɠHҠUPUԠGҠNPUԠG PKNGUPBS. PDDAA-A-G AUA̠DAA---B-G MA H6AHUPUԠA̠'S HBH PBA MP+PASS 3SBҬɠHҠUPUԠGҠNPUԠG DPPNGBS. PDDAA-A-G AUA̠DAA---B-G SBSל3ɬɠPNS? MP.50YS DAH SADH MP.00NϬGϠϠNԠS HDDAAMNA̠ADYS DAAMNA̠ADYS SPà .00DAN SANԱ H5SàHUNND SBM5ɬɠDAY H9àHUNƠD SBM5ɬɠDAY SZNԱ MPH5PA SBSױ3ɬɠPNS? MP.00YS MP.300 HDPMUŠUPUԯNPUԠDAAS PMUŠUPUԯNPUԠDAAS SPà .300A H0AH HBH PBA MP+ 30SBҬɠPMUDUPUԯNPUԠDAA PDDAA-A-G AUA̠DAA---B-G SZA MPH0 SBSױ3ɬɠPNS? MP.300YS MP.00 HDAGSAGŠƠS AGSAGŠƯƠS SPà .00Ơ0DSABŠNS H6ƠH B SBɬɠAGS? MP+YS Ŵ0SBҬɠKDDNԠSԠAGҠAG SAGŠƠDDNԠS. SBSױ3ɬɠPNS? MP.00YS H3ƠH NP NP HSàH 35SBҬɠAGSAGŠƠDDNԠS SPà SBSױ3ɬɠPNS? MP.00YS MP.500PASS SPà HDSAҠS SAҠS SPà .500DAϠSԠPPҠ A SSABԠS MP.506HZ A SSABԠ0S MP.503HZ A SSABԠ9S MP.530HZ A SSABԠS MP.509HZ MP.550HZ SPà .50DAñ6HZ DBHñ MP.560 SPà .50DAf)ò3HZ DBHò MP.560 SPà .530DA3HZ DBH3 MP.560 SPà .50DAô9HZ DBHô MP.560 SPà .550DA5HZ DBH5 .560SAñBGNS SBò .56DAN50 SANԱ HƠH H9SSHSYNàSA MP- H3ƠH B SBMP .56SZMPPUN H30SSH MP.56PMAYP H3ƠH SZNԱ MP.56SNDAYP DAñMPAŠҠM DBMPPUN ADBA SSBSHUDBŠPSV ŴSBҬɠSAҠѠϠHGH DAòMPAŠUPPҠM DBMP ADBA SSBSSSHUDBŠNGAV ŴSBҬɠSAҠѠϠ SBSױ3ɬɠPNS? MP.56 MPNDNϬԠS HDND ND PVDSUNϠUVŠPGAM MNASDAGNS SPà NDMPì NؠHԠB MP- HDSUBUNS S SSHҠNNA̠ҠNA̠SHGSS SPà SҠNP AADS-G SA MP+ƠAUSŠNA̠S-G DANSҠƠA0USŠNNA̠S-G MPSҬɠUN SPà AGS AGSԠBŠMUԠN+ MUԠBŠAGSԠN+ SPà ԠNP HSSHAGS? MP+ MPԬɠYSN+ NBSZBN.MUԠY? MPHN.PA SZ NP MPԬɠYS.MUԠBŠAGN+ SPà Sױ3 SH3S--PNUNԠS SPà Sױ3NP DBSױ3 NB SBS ANDMSK3 SZA MPSױ3ɠ{G640PNUNԠS-N+ MPBɠNNU-N+ Sױ SHS--SUPPSSҠHAS SPà SױNP DBSױ NB SBS ANDMSK SZA MPSױɠSUPPSSҠHAS-N+ MPBɠHAԠN-N+ SKP M5 PVDS5-SNDMŠDAY SPà M5NP DAN5 SANԲ B MSZB MP- SZNԲ MPM MPM5 SPà PSҠHAS HŠUNADDSSSUSDϠKUPHŠADDSS ANDNUMBҠƠHŠҠMSSAG. SPà ҠNP SASAVA SBSAVB Ơ0 B ADB DAҠNDҠNUMBҠBASDNN PBAɠADDSSANDAB MP+3UND NA MP-3NNUŠSAH ADAàNMAZŠNUMB SAS SZNԲAYA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DBHԠDDHAԠAB ADBS DBBɠDDHAԠNB SB SBSױHAԠN? MP+ DASAVA DBSAVB ؠHԠ0YS MPҬɠN NԱNP NԲNPUNS SؠNP SPà AMUSԠDAVAABŠMMY ND 176   24203-80001 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A ASMBAB̬ì HDHP00AADGŠDSàMMYDAGNS DAGNSàҠMVNGHADDSKDVŠANDN NGUANADDSS SANGADDSS00B SHGSҠDUNGNGUAN BS0-5SԠDŠҠHŠɯϠHANN̠NANNGH YP BS6-SԠDŠҠHŠɯϠHANN̠NANNGH DAANAŠҠHŠDS HŠMMANDHANN̠NAŠBADSHŠN HGHҠSԠD BS-3SPA BԠSԠϠZϠҠDMAHANN̠6. SԠϠNŠҠDMAHANN̠.(MAYNԠSԩ BԠ5SPA SHGSҠDUNGUN BS0-SPAS(USDBYŠNS BԠƠSԠϠNŬAҠYNDҠABŠAND PANABŠANDҠSԠHADS BԠ3ƠSԠϠNŬUŠPAҠDSGNPGAM BԠƠSԠϠNŠANDBԠSԠϠNŬU ŠADDSSSԠ(S0 BԠ5ƠSԠϠNŬSHNSԠNSS3S5ANDS6 BԠ6ƠSԠϠNŬSԠYNDҠSN BԠƠSԠϠNŬPAԠASԠSN BԠƠSԠϠNŬMUPŠDVSAŠϠBŠSD BԠ9ƠSԠϠNŬHAԠAҠAHSNƠH PGAM BԠ0ƠSԠϠNŬA̠NN-ҠMSSAGSҠH YPŠ̠BŠSUPPSSDPԠUN PANMSSAGSANDH5 BԠƠSԠϠNŬA̠MSSAGSҠHŠYPŠ BŠSUPPSSD BԠƠSԠϠNŬHAԠAԠNDƠS.ƠN ADDNBԠ0ANDBԠAŠSԠϠZϬ MNGMSSAGS̠BŠPNDNSANDS5 BԠ3ƠSԠϠNŬPNASԠPAN BԠƠSԠϠZϬPGAMHASAҠAH BԠ5ƠSԠϠNŬPGAM̠MŠϠANDY HA G MPNGɠNGUŠPGAM G00B MPSAD G05BϠDNŠNDNGADDSSҠSϠDUMP DƠPNDNDNGANƠPGAM G0B NDƠHϬɠUNPN(ASUSD NUPԩ GB UNԠPAN(PADDSS PҠNP SAPNAPU ADBD9UN MPPҬɠADDSS AU0AGSҠADDSS BUBGSҠADDSS àU0HSSYMB̠SUSDAԠA̠PAS HŠHŠMMANDHANN̠NUMB SSD HU0HSSYMB̠SUSDAԠA PASHŠHŠYP HANN̠NUMBҠSSD DàU0HSSYMB̠SUSDAԠA PASHŠHŠDAAHANN NUMBҠSSD DMAàUDMAN̠HANN̠(Ҡ3 DMADUDMA+DMANUPԠHANN̠(6Ҡ SϠU0BNYADDSSҠSϠSԠUPU SZƠU0APPASHŠANŠDPNDS NHŠSҠSZ. ANBSS BDBSS BPABSS BUADBSSPMAYBUҠADDSS BUAŠBSSSNDAYBUҠADDSS ÷Ԡ0 HAҠBSS NԠBSS H3NP HԠ0 ADBSS NSנBSS PNNP PNԠBSS PNԠBSS SAVŠBSS SҠBSS VԱBSS VԲBSS V3BSS Y̠BSSYNDҠNUMB YؠBSS DñԠ0 DԠBSS DMƠBSSDMAҠNDA àBSSASԠҠNUMB SԠeBSSUSDNS5 6BSS AGBSS SAVŠBSS GBBSS GBBSS GB3BSS GBBSS GB5BSS GB6BSS HDNԠ0 HADԠ0BS-0HADNUMB HAGԠ0 SԠBSS KMSDà-000 AB̠BSS ABàԠ0 BPBSS BPBSS NԠBSS A̠BSS AMBSSASԠDƠAVAABŠMMY MNԠBSSMSNDUN MNҠBSSYSHNMSND NɠBSS NUMPDà PNԠBSS PSԠBSS PASSBSSPASSNUMBҠSDH PNԠBSS PNABSS PAGBSS PADBSS PSAVŠNP PSҠBSS SAԠBSS S00DƠS0 S0BSS S6NԠBSS SAV6BSS SNBSSUNԠSNNUMB SҠԠ0SҠHŠUNԠPAN ̠SA SAGBSS SHASBSS SAUSBSSDVŠSAUSSDH SƠBSSҠPNҠҠZϠƠN MPBSS MPBSS MP3BSS MPBSS MP5BSS UNSDƠUNA UNAԠ0 BSS3 UNàԠ UNԠԠ0 VA̱BSS VA̲BSS VAUŠBSS NԠBSSPSVŠDUNԠ UNԠPAN D0DƠ DBSS DBSS D3BSS DBSS SKP D0Dà0 BDà B0UB DUB DDà ̠UD BԱUD D3Dà3 B3UD3 DDà BԲUD BUD D5Dà5 D6Dà6 DDà BUD DDà B3UD B0UD D9Dà9 D0Dà0 DDà DDà D3Dà3 B5UD3 DDà B6UD D5Dà5 BUD5 BԴDà6 B0UBԴ DDà BUD DDà BUD D9Dà9 B3UD9 D0Dà0 BUD0 B5Dà B6Dà D3Dà3 BUD3 B30Dà D5Dà5 B3UD5 B3Dà6 B3eK3Dà DDà B3UD D9Dà9 B35UD9 D30Dà30 B36UD30 B3Dà3 B0Dà3 B5UB0 D3UB0 BDà33 D33UB BDà3 B3Dà35 D35UB3 BDà36 B5Dà3 B6Dà3 BDà39 D39UB B50Dà0 B5Dà B5Dà B53Dà3 B5Dà B55Dà5 B56Dà6 B5Dà B60Dà B6Dà9 B6Dà50 B6Dà5 B65Dà53 B66Dà5 B6Dà55 B0Dà56 BDà5 D60Dà60 B00Dà6 B6UB00 B03Dà6 B0Dà6 DDà D95Dà95 D05Dà05 B000Ԡ000 BԷԠ00 BԸԠ00 B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 B6Ԡ6 BԠ BBԠ000 ÷6Ԡ6 ƠԠ6 D6Ԡ36 DԠ3 Ʒ6Ԡ56 H6Ԡ6 HԠ HAԠ000 HBԠ00 HàUBԸ MPɠԠ6000 SBSBұ NNԠ000 P00Ԡ00 P00Ԡ00 P6Ԡ6 HԠԠ06003 HԲԠ0600 HàԠ000 YYԠ300 BԠ BԠ B3Ԡ3 BԠ B3Ԡ3 B30Ԡ0030 D00Dà00 DUBԷ D9Dà9 D0Dà0 D03Dà03 D56UBԸ D3Dà3 D35Dà35 D5UB9 B6000Ԡ6000 D000Dà000 D330Dà330 D0UBԱ0 D30Dà30 PAGŸԠ6000 MMDà- MMUP6 MMDà- MM5Ԡ-5 MMDà- MM0Dà-0 MM3Dà-3 MM6Dà-6 MM3Dà-3 MMԠ-60 MM56Ԡ-0 MM5Ԡ- MM6UP00 MM00Dà-00 MDà- M56UP00 M30Dà-30 M000Dà-000 M0Dà-0 M936Dà-936 ASD0ASà.0 ASZZASà00 BPҠDƠBUBŠBU BPSDƠBUB+0ADBU BPϠUPAGŸSAԠƠPDSNPGAM DMAנABS0000B+D AS0ASàS0 ASASàS ASASàS AS3ASàS3 ASASàS AS5ASàS5 AS6ASàS6 ASASàS SKP BASŠPAGŠNKSANDPNS ADDɠDƠADD ADDSDƠNP+ NGDƠN NVPDƠNV NPDƠN ɠDƠ YɠDƠY DDDDƠD0 DNŠDƠAGANԠMPDSN HϠDƠHS ҠDƠ àDƠ ҠDƠ AKŠDƠAKŠUSDNHK ҠDƠBN SKɠDƠSK PDNɠDƠPDSN P00ADƠ00A P003ADƠ003A P00ADƠ00A P005ADƠ005A P006ADƠ006A P00ADƠ00A P03ADƠP3A P03BDƠP3B P05ADƠP5A P0ADƠPA P03ADƠP3A P0ADƠPA P0ADƠPA P036ADƠP36A P00ADƠP0A P03ADƠP3A P0ADƠPA P05ADƠP5A P06ADƠP6A P0ADƠPA P0BDƠPB P0àDƠP P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P05ƠDƠP5 P053ADƠP53A P053BDƠP53B P05ADƠP5A P05BDƠP5B P056ADƠP56A P060ADƠP60A P06ADƠP6A P06BDƠP6B P065ADƠP65A P00ADƠP0A PAҠDƠPAP PAɠDƠGBUSDNPHK PHKɠDƠPHK PMɠDƠM PM̠DƠM PVʠDƠV PPԱSBV PPԲSBV PPԴSBV PP5SBV5 PP6SBV6 PPԷMPDNŬ PPԸSBV PP9SBV9 PPԱ0SBV0 PPԱ3SBV3 PPԱMPV PPԱ5SBV5 P3NɠDƠPU3N ұDƠN NHɠDƠNH NSɠDƠNS SADDƠSA ԠDƠBP VDƠVP VDƠVP VDƠVP V5DƠVP5 V6DƠVP6 VDƠVP V9DƠVP9 V0DƠVP0 V3DƠVP3 VDƠVP V5DƠVP5 VA̠DƠVAU ADɠDƠADA SԠDƠɠ DƠS <DƠS DƠS3 DƠS DƠS5 DƠS6 HŠNGDSANDUASDMNŠHS SAUSSMMANDSSZS.HAԠMGH VAYBAUSŠƠDSGNHANGSAND. YHKԠ060000YàHKMMAND YPPUD03NUMBҠƠYNDSPҠPAK DBUBԸDVŠAKBԠҠADDSSS Y̠U0ASԠYND PAԠԠ30000ANAŠPSNMMAND PSԠԠ030000PSNMMAND ADàUBԱ3ADMMAND NŠԠ050000 SPԠUDNUMBҠƠSSPҠAK SASUD0SAUSMMAND PàUDNUMBҠƠAKSPҠYND BUB9ŠKUԠBԠҠADDSSS AԠ0000ŠADDSSMMAND àUBԱŠMMAND ABԠUB0ANYҠB BԱDAAҠB PBBԠUBԲDVŠBUSYB BԠUB3AGGDYNDҠB NBԠUBԴADDSSҠB BԠUB5NDƠYNDҠB NBԠUB6NԠADYB BԷNԠUSD SBԠUBԸSKHKB SBԠUB9SKNMPŠB BԱ0ASSHUNNGB BԱASSUNSAŠB BԱADŠUNSAŠB VBԠUBԱ3VҠUN SBԠUBԱSԠSKB BԱ5ANNB SSԠUDSҠHŠSNDHDSAS SԠUDSҠHŠASԠHDSAS ԠUD5+SZƠDUNԠҠSԠHD ԠUD5+SZƠDUNԠҠASԠHD NBUH HDK KUN HSUNŠSADHAUNԠƠMAHN YSUSDNHŠBGS. ԠUPDASHŠMSNDUN KNP KU r ADBD9ADDNMAHNŠYSUSDH DABPYϠBHGSS BAҠҠSUBSUNԠAS ADAMNҠKNMSNDUN SAMN ADAKMSHKMSNDUNԠV SSA MPK ADAD3ADUSԠҠHSSN SAMN ANA ADAMNԠADUSԠMSàUN SAMN DAN NAADUSԠAMSNDUN SAN MPKHAUSԠUN HDAND ANDMNUMBҠGNA HSUNŠGNASBԠPANS HŠDSKDAGNS.NϠAMSMADŠ SASA̠ANDMNSS. SHPANNA BUNHANGD UNŠUSS6MAHNŠYS ANDNP DABASŠADBAS ADAPMŠSUBAԠHŠPM SSASKPƠS̠PSV DABASŠPSBASŠNԠBGNUGH ŬADUBŠBASŠҠMAND SABASŠҠNԠY MPAND PMŠDà-3069 HSPMŠNUMBҠPSVY 306MSNSPA PANSN BASŠABS035B HDSKSSSHSAԬMMDDADϬAD UNSϠDϠMMNYUDPANS. AHUNŠSAҠADDNGϠBHŠNUMB ƠMAHNŠYSUSD. SKNP DAY̠PUԠYNDҠNUMBҠUԠB SBDADϠGVNGHŠMMAND DAPSԠADMMANDҠPSN SKSBMMDSSUŠMMAND SBAD DAHAD ҠHDNSԠSUA AƬAƠHADNUMBҠϠԠHA ҠSҠPUGNSҠNUMB SBDADϠUPUԠHAD-S SBAD ADBD9ADDNYSUSDAY MPSŢK SSNP SHUSS DAY̠ADYNDҠNUMB SBDADϠPUԠUԠNDAAHANN DASS SASK ADBDADDNYSUSDAY DAPAԠADANAŠPSNMMAND MPSK SAԠNPSAUSHKUN DASASADHŠDUSAUSMMAND Dò3SàDìàSԠUPDAAHANN̠ҠNPU SBMMDUPUԠMMAND NPAנAM DñSàDàSAUSSHUDBŠBAK MPSABKAҠUҠYS SBPPPNԠUNԠPANMSSAG űSBҠNϠDàAGHŠHKNGSAUS SBHԠHKҠHA AUԠKAY SABKU D0AD SASAԠSAVŠA̠SAUS ANDNBMASKUԠBԠ5 SASAUSSAVŠSAUS ADBD3ADDNYSUSDAY MPSAԬɠUNSAUSNA MMDNP ҠUNԠPUGNUNԠNUMB 0A 0ààMAKŠSUŠNDŠSZ 03SàìàNנSԠND ADBD5ADDNYSUSDAY MPMMD DADϠNP D0AD D03SàDì ADBDADDNYSUSDAY MPDADϬ ADNPAԠNDAAHANN DAMM6AנASHԠUN ADBD APU D0SàD MPAD ADBD SSANA MPAP SBPPPNԠUNԠPANMSSAG Dñ3SSDàHKҠAGN MP63 űSBҠAŠDàAG MP+ 63SBҠNϠDàAG SBADDɬ MPAD HDASAHAS HŠASUNŠASҠUPϠ56MSNDS ҠHŠMMANDHANN̠AG.HNHŠAGSS ASASSAԠҠHŠSAUS ASNP DAM56Aנ56MSNDSҠSK"640 AؠU SANԠSԠAKUN ADBD3MAKŠUPҠNYYS ASDU SBK ADBDYSNHŠP 05SSàSKPƠSKDN MPAS SBSAԠA̠ҠSAUS SBK MPAS ASѠU DANԠHKK SSASKPHNMDU MPASDKPPNG SBMàPŠUԠHŠADS SBPPPNԠUNԠPANMSSAG ű0SBҠNϠàAG SBADDɬ MPASɠUN AHASNUGHMŠҠHAD SHNGϠU. AHNP DAAHADUNADDSS SAASSAVŠҠUN DAMMAנϠMSNDS MPA ASASMŠҠSҠSHNG U. ASUAH HDSKSHSS SKSHSS PMSBSKҠSH SBASҠAH SBHK HPDSAUS0 SKNP SBSKPMSK SBASAԠҠSKϠMP SKDASHAS SASAVŠSAVŠSAUS-PDҠH APAN SASHASPDSAUSҠSKS0 SBHKHKSAUS DASAV SASHASSŠPDSAUS MPSK SSU SHNP SBSHSHHADS SBAHAԠҠHADSϠSH DASH SASK MPSK 6   24203-80002 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDPPҬBKSҬPNԬYKH PPNPUNŠϠPNԠP DAPN SBPNԠUPUԠMSSAG DAPNADHAԠD MPPP PԠҠMSSAGS USSSϬSҬBK HŠUNADDSSSUSDϠKUPHŠADDSSNGHAND NUMBҠƠHŠҠMSSAG ҠNP Ơ0DSABŠNUPS B ADB DAҬɠNDҠNUMBҠBASDNN ҲU PBAɠADDSSANDAB MPұUND NA PAҬ MP00BPGAMҬPAGŠ0MAYB PDU. MPҲ ұU ADAì ADAMM SA SBPNԠPNԠMSSAG DB ADBMM- SSBSKPƠҠNUMBҠGҠHAN SBHԠHKҠHA MPҬ BK ƠYSUPSSDUN ƠYNԠSUPSSDSKPNԠNSUNNUN USSS BKNP SBS ANDBԱ SZASYSUPSSD MPBKɠYS DABKN NA MPA S NPUԠSHGSҠϠA-GS SҠNP A MPSҬ PN AҠNUMB PNԠNP SAPSAV SBBK MPPNԬ DAPSAV DBA ADBPMɬɠMSSAGŠADDSS DBB ADAPM̬ɠMSSAGŠNGH DAA SBSϬɠUPUԠMSSAG MPPNԬ YK UNƠYNԠAVAABŠҠNN-ҠMSSAGS NMNԠUNADDSSƠPNUԠK YKNP DBYK NB SBSҠADSHGS ANDB6000 SZASYAVAAB MPYKjɠNϬABԠPNU MPBɠYS H SSHAԠBԠ(BԱAҠ USSS HԠNP SBBKYAVAAB? MPHN DA̠YS DB SBSϬɠPNԠBANKN HU SBS ANDBԱ SZAHA? MPHԬɠN DAàYS HԠ MPHԬ HDDNDNDNSҴ DN NVSDMA̠NGSϠAS AVAUŠNNPU NVԱSԠϠDGSN NVԲSNDϠDGSN DNNP BB- DPADAM000ASSUMŠNGҠSSHAN0000 NBUNԠUPHUSANDSPA SSASSSKPHNBGS MPDP ADAD000S BƬB ADBMM DPADAMM00 NBUNԠUPHUNDDSPA SSASSSKPHNBGS MPDP ADAD00S ADBASZZ SBVԱ BB- DP3ADAMM0 NBUNԠUPNSPA SSASSSKPHNBGS MPDP3 ADAD0S BƬB ҠB ҠASZZ SAVԲ MPDN DN SŠNŠDƠNVDAAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԲS SAA̬ɠNϠMSSAG MPDN DN SŠϠDSƠNVDASANGAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԱS DBA̠ SABɠDS NBN DAVԲMSSAG SAB MPDN SҴ NPUԠSHGSҠƠSAG0(SSS3 USŠS[DVSNƠSAG(SS5S6 SҴNP DASAGSAG? SZA MPSҴAN SBSҠYSUSŠSHGS MPSҴ SҴADAS00US ADAUNԠSD DAAɠVAU MPSҴ HDDHKHK HŠDHKUNŠSADAҠAAD. ԠMPASHŠADANDŠBUS. HŠHKUNŠSADAҠA. ԠHKSNYHŠSAUS. HŠؠANDZNSAŠUSDBYH HҠUNSϠDϠHҠSAUSHK. HŠPHKUNŠSADAҠAAD. ԠMPASHŠADBUҠϠAPAND. HŠHKUNŠSADAҠAAD. ԠHKSHŠHKSUMMDSҠN HŠADBU. HYMPAŠHŠUNԠSAUS(SAUSHH PDDSAUS(SHASBYANGHŠANUN. HŠUNSGVŠANMA̠UNƠNϠSA DD.ƠANҠUSHŠUNSGNAŠAN ҠMSSAGŠANDHKҠHAԠҠNNU. DHKNPϠHKҠSN ADANDϠMPAŠAD ANDŠBUS DADHKADUNADDSS SAHKSAVŠҠPSSBŠA MPASHŠBUADANDBUAŠBUSUSNGN ҠBUҠNGH. DABUADADSԠBUҠADDSS SAMP DABUAŠADSNDBUҠADDSS SAMP DAN MANA SAMP3SԠSZUN DMU DAMP PAMP MPD̠UA̠MPA DAMP3 ADANԠGNAŠAVŠAN ű0DBP0AADPN SBDNA̠NVԠUN DAMPɠADHAԠDSHUDB DBP0àADPNҙ SBNPɠA̠NVԠANDMVŠUN DAMPɠADHAԠDAUAYAS DBP0BADPN SBNPɠNVԠϠAS DANUMPDMN ADAMMPNUԠUN SZASS MPDAƠAVŠAԠAND SANUMP ŴSBҠDAADؠSYYYYYYSHUD BŠZZZZZZ MPD DAU DBBDAADؠSYYYYYYSHUD BŠZZZZZZ SBàSAVŠҠH SBS MPZGϠANAYZŠS D̠U SZMPUNԠUPBU SZMPADDSSSAND SZMP3HKҠMPN MPDM DBNԠD9N BƬB ADBN BS ADBN ADBD6060YS SBK MPؠBUSKAYNMA̠SAUSHK SKP HKNPϠHKҠSN NN-ADPANS DBD3YSϠBŠUSD SBK ؠU SBANA̠ҠMPA SZASKPƠNϠ MPZPԠ DADMƠHKҠDMANԠNSHD SZASSSKPƠ MPUԠUNƠNϠUB SBPPPNԠUNԠPANMSSAG SBDMѠPNԠDMAҠMSSAG UԠSBADDɬ UԠSBSҠNPUԠSHGS SSA HԠHAԠƠBԠ5S HŠPUNŠSADϠSŠ HŠSNUNYNUNSϠBŠSADV ҠSϠNNUŠN. DBD SBSҠNPUԠSHGS ANDBԱ3HKҠPAԠPAN SZASSSKPҠP MPHKɠNϬNNU MPPҬɠPBAK ZU SBPPPNԠUNԠPANMSSAG SBDMѠHKҠDMA SBANHKҠSAUSS SZASKPƠSAUSKAY SBPNԠPNԠUԠҠMSSAG DASƠHKҠBUҠS SZASKPƠNϠSUHS SBPN B SBSƠAҠUԠPNҠD MPU HDAN ANNPUNŠϠPMҠANA. DASAUS ҠSHASSA̠ASSHUDB SZASS MPANɠVYHNGSN DASAUSADUNԠSAUS DBP06AANDADDSSҠAS SBNPɠNVԠϠA̠ANDMV DASHASADHAԠSAUSSHUDB DBP06BANDADDSSҠAS SBNPɠNVԠϠA̠ANDMV 6DAB6SAUSSؠSHUDBŠ SAàSAVŠҠH AMUSԠBŠNN-ZϠAԠHSPN MPANɠUN HDDGN DGN HSGDYSUPHŠBUҠHAנANDMDAA USSNԠASANGH USSBUADҠADDSS DGNNP DAN MANA SAMPNGAVŠDUN DABUAD SAMP DG̠U SBANDGԠANDMNUMB SAMP SZMPUNԠUPADDSS SZMPUN MPDG DBN BS ADBN BSBS ADBN BS ADBNԠN ADBD9YSUSDUSDŠP SBK MPDGN HDDMҬDM HSŠUNSSԠUPDMAANDSAԠHŠDAAHANN. HŠDMҠUNŠSSUPAADNϠHŠNPU BUҠ(ADDSSNBUAŬUNԠNNԠ HŠDMנUNŠSSUPAŠMHŠUPU BUҠ(ADDSSNBUADUNԠNNԠ DMҠNPSԠUPDMA7ADPAN DADMAנADDMAMMANDD DM6AADMADϠDAAHANN DMAàDMAàPPAŠϠADADDSS DABUA ҠBԱ5ҠNDNB DMBADMAàUPUԠMMYADDSS DMàSàDMAàPPAŠϠADUN DANԠADDUN MANASMPMNԠSUSDBYDMA DMDADMAàUPUԠDUN D05SàDì DM6BSàDMADàSAԠDMAHANN MPDMҬɠUN DMנNP DADMAנADDMAMMANDD DM6àADMADϠDAAHANN DMŠàDMAàPPAŠϠADADDSS DABUADAND DMƠADMAàUPUԠMMYADDSS DMGSàDMAàPPAŠϠADUN DANԠAND MANAUPUԠSMPMNԠ DMHADMAàDUN D06SƠDàMAKŠSUŠSѠSHGH DM6DSàDMADàSAԠDMAHANN MPDM׬ɠUN HDAD ADAND HSŠUNSAŠADϠNAZŠA DMAANSSϠANDMHŠDSK. HYASSUMŠHA HŠDUNԠSNN ADASSUMSBUҠADDSSNBUA ŠASSUMSBUҠADDSSNBUAD ADNP SAPN(UNԠPAN SBDMҠSԠUPDMAADPAN DAADàADADMMAND SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS MPADɠUN ŠNP SAPN(UNԠPAN SBDMנSԠUPDMAŠPAN DAàADŠMMAND SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS MPŬ HDDMA HSSNSHUDBŠADҠAHANSҠUSNGH DMA.ԠNNUUSYHKSҠHŠAGϠBŠSԠNH MMANDHANN̠HŠMNNGHŠDAAANSҠAND HÏKNGҠVM. DMAԠNP DAM30Aנ30MSNDS MUSԠAנMŠҠANY USANDNGSKS NSH SANԠSԠAK DMɠADMAàADUNԠDUN SAMPANDSAVŠԠҠMPASN DBD DMB̠U ADBD SBHKA̠AGHK DMʠADMAàADUNԠDUN PAMPHKҠSAԠƠPAN MPDMB̠ƠPANHASNԠSADDAA ANSҬP DBNԠADDUNԠAND ADBD3ADDNYSUSD HSANSUSDBYUNSHA MUSԠNUPԠHŠDMAANS. DMSPNP DMS̠U ADBD SBHKNNUŠϠHKAG MPDMS MàNP DM6ŠàDMAD DM6ƠSƠDMADK̠DMAANS 06à DñàD DòSƠD MPMì HKNPUNSAUNDHKNGҠND ƠPANAG. MSUԠHNNԠGSPSV ADBD3 SBK DANԠHKҠMU SSASS MPUԠMŠU 0SS MPHKɠNϠAGY.USԠUN DM6GSàDMADSKPƠDMANԠDN MPDNVYHNGSAGH DABԱ5ANSҠNԠMPŠB MPؠA̠DUNԠNV DNU DBD6ADDNYSUSDAY SBK MPDMAԬɠUN UԠU ANA DM6HSSDMADHKҠAGNDMAHANN ҠBԱ5ANSҠNԠMPŠB ؠU SADMƠSAVŠҠAҠHK SBMàUB.BMBUԠADS DMKADMAàADUNԠDUN ADANԠMAKŠNϠPSVŠD1UN ANDBMASKƠUPPҠHŠBS DBP03AADPNҠҠASɠS SBDNA̠NVԠUN MPDMAԬɠUNANDAԠҠVD DMѠNP SBYK MPDMѬ DBDMƠHKҠAUA̠ SZBSSSKPƠҠNDNSS MPDMѬɠԠƠNϠ SBSKPƠNԠMŠU űSBҠNϠMMANDAGNDMAPAN DBDM A SADMƠAҠҠNDA SSBSSSKPƠDMAAGASNԠS MPDMѬɠUN DANԠADHŠPDDUN DBP03BADPNҠҠASɠS SBDNA̠NVԠUN ű3SBҠؠDSANSDYYYY PD MPDMѬɠUN HDHAҬDHAҬHAҬHNH3 HA GԠNԠNN-BANKHAA NԠSKPƠBUҠMPY HAҠNP HAұSZNԠDN? PP3SSN MPHAҬɠYS DABPAɠYD SZS MPS AƬAƠUSŠԠHA MPU SàBUSŠGHԠHA SBS SZBPABUMPDPN UԠANDB3 SAHAҠSAVŠ ҠB0SԠBANK SZASSSKPƠN MPHAұGNŠBANKS DAHA SZHA MPHAҬ DHA GԠDMA̠VAU SKPSNԠƠNԠDN DHAҠNP DAMM5UPPҠM DBVA̠PNSϠVAU DHұSAVA̲ SBVA̱ DAMM SADԠDԠ- ANAZŠϠZ DHҲSAVAUŠSŠVAU SBHAҠGԠNԠHAA MPDUԲDN ҠB5SHAA SZASSAMMA MPDUԱYSDN DAVA̲HK ˁ SBKVADYƠHAA MPDUԲBAD SADԠDԠ- DBVAUŠKBUD BƬBҠUP ADBVA̱ɠVAU ADBVA̱ ADAB MPDHҲNNU DUԱSZDHAҠNMA̠ DUԲDAVAUŠҠҠNDƠADBU MPDHAҬ HA GԠA̠VAU SKPSNԠƠNԠDN HAҠNP DAHA SADHAҠSԠUN DAMM56UPPҠM DBDDDPNSϠD0 MPDHұ KNPHK ADAHAҠVADY SSA MP+3HAA ҠSBH3BADNPU MPK DAHA ADAMMҠM SSA MP SZK MPK HN NPUԠMY HNNP DADHAAҠUN DBBNABUҠADDSS SB0BɠYNPUԠDV SZASSŠZϠDSNPU? MPHN+YSYAGAN MA SANԠSAVŠHAAҠUN A SASԠAG- DABNA SABPASԠPN MPHN BNADƠBUB H3NP DAB3BADNPU SBPN MPH3 HDSU SU SԠUPUNԠSN SUƠNP SAP05AɠA SAP0Aɠ SAP03AɠDHK SAP036AɠD SAP0AɠS SAP05AɠD SAP06AɠD SAP060Aɠ MPSUƬ HDASK ASKPAҠƠHŠSHSϠHANGŠAB ASKNP H5DAB5DϠYUSHϠHANGŠAB? SBPN SBHNNPUԠMKYBAD DABNAɠNPUԠBU ANDP00 ҠNN000BSSԠHAAҠN? SZASSSKPƠN 4MPASK ҠYY300BSSԠHAAҠY? SZA MPH5YAGAN SZASK MPASK HDSA G000B SA HKSADҠANDSUSHASNנ SAԠà0àUNVYHNG DA0BAUAŠANƠASԠD ADAMMƠMMYBנYDVҠAND SAAMSŠԠNAM SBYKSYAVAAB? MPAGANN A H0SBPNԠHP00AADGŠDSàMMY DAGNS AGANU DBB6K SBSH DB÷6K SBSH DBD66K SBSH DBƷ6K SBSH DBH63K SBSH űSBҠAҠADҠDSAB BM SBA̠U PBKSZA̠UN MP- NB PBB6 MPAGAN MPPBK SHNP SBA DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠSŠH? SSYS MPűNϬŠHASNDD SAA̬ɠSŠŠNN SZA̠YNԠAN DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠSADҠH? SSN MPUԠYS SAA̬ɠSŠŠNN MPSHɠUN UԠDBB3AP̠AN DAHԠAP̠HA PSAB NB NA PBB00AP̠HASMP? SSYS MPPNϬPA A SADMSPSԠDϠN-P SAUNԠNAZŠUNԠNUMBҠϠZ SAMN SAMN SAPASSSA SAN DABP SABUADNAZŠBU_AD ANA SAN BGNU ANAA_ SASNSAԠHSNN H35DAB35NA̠SAUS SBP DAHYP SBNVSNVԠANDS DADñDAAHANN SBNVS DA÷MMANDHANN SBNVS B SBA SZA̠DAYAנ MP-SHHŠϠBŠS DAHԲ SABKNGUAN DAUNԠSAV SAGBUNԠNUMB A SASHAS HPSBSKɬɠA NPSKPBMS DAUNԠNMN NAUNԠNUMB PADDN? ASS MPHPNϬNNU HPSBSKɬɠSԠANNBS MPHPNԠADY B HP9SA MPHP0 NB A PBD SS MPHP9 HPSBPP DABMSSNGҠDUPAŠANN SA SBPN SBADDɬ MPHP HP0PBUN SS MPHP HPDAUN NA PAD SS MPHP DAGB SAUN SAҠUSNA SBS ANDBԲSBԲS? SZAN SBYKYSSKPƠYAVAAB MPSNϠABԠHK DSBYɬɠPPAŠSYMB̠AB HDABYNDҠABŠNNS SBPN SBASKSHϠHANG? MPPAԠN H6DAB6YSNҠYNDҠNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD SSBDHAҠGԠDMA̠VAU MPSҠҠDN? SBSҠSŠNAB MPSNNU SDAN SZASSSKPƠ K;SBSҠDN MPD PAԠSBPAԱPPAŠPANAB HDABPANABŠNNS SBPN SBASKSHϠHANG? MPHDN H30DAB30YSNҠPANNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD PSSBHAҠGԠA̠VAU MPPSҠҠDN? SBPSҠSŠNAB MPPSNNU PSDAN SZASSSKPƠ SBPSҠDN MPPA HDDAB6HSŠHADMDŻA0B3 ý0HN3 H6SBPN SBHN A SAHAG DABNA ANDP00 ҠHA000 SZASS MPHD ҠHB00 SZASS MPHD ҠHà00 SZA MPHD ANA SAHAG HDASS HDDAD SAHDN H3DAB3 SBPNԠSԠSH DAB3 HԠ SBS ANDBԲ SZA MPH3 SNϠU SBS ANDBԸSBԸS? SZASKPƠN SBYKYSSKPƠYAVAAB MPSSNϠAB H3DAB3NҠUNԠNUMB(0-3SPAAD BYMMAS SBPN SBHNNPUԠMKYBAD A SAUNàNUMBҠƠUNS0 DAUNS SAGB3PNҠҠUNԠNUMBS H3ASBHAҠGԠHAA MPH3BҠҠDN SAGB3ɠSŠUNԠNUMB ADAMMS SSAANGŠ0ѠؠѠ3 MPH3àK H3ŠSBH3BADNPU MPH3YAGAN H3àSZGB3BUMPPN SZUNàBUMPUN DAUNàPSSS dPADUҠNY MPH3DDN MPH3ANNU H3BDBNԠDNŠҠ? SZB MPH3Ҡ(AADYPD SZUNàBUMPUN SAGB3ɠSŠUNԠNUMB ADAMMS SSASSANGŠ0ѠؠѠ3 MPH3Š H3DU DAUNàS MANAUPNUMB SA6ƠUNS AZ SASHASPDSAUS DAUNSS SAGBUPPN H3ƠU DAGBɠADUNԠNUMB SAUN SBSAԠGԠSAUS DASAUS ANDNBԠSNԠADYBԠS? SZASKPƠN SBHKYSPNԠ SZGBNԠUNԠNUMB SZ6DN? MPH3ƠNϬNNU DAUNASHNUMB SAUN H33DAB33SԠSH SBPN DAB33 HԠ SBSҠSBԸS? ANDBԸ SZA MPH33N SSNϠU SBS ANDB3 SZASBԠ3S? MPPDNɬɠYS DASNADSNNUMB ADASԠADDNPN SBAɠA̠SN DAHà000 ҠSNSNNUMB SASHԠHAԠBNSNS SBSҠHKҠHAԠAԠNDƠSN ANDB9 SZA SHԠNP SBSҠHKҠSԠPA ANDBԷ SZASKPƠNϠPA MPSAҠPAԠASԠS DBSNUNԠUPSNNUMB NB SBSN PBDSؠSNS ANASS MPSA ADAPASSNMNԠPASSNUMB SAPASS SBYK MPHHH DAPASS DBP065ANVԠPASS SBDNNUMB DAB65 H65SBPNԠTRNPASS HHHSBSҠHKҠHAԠAԠNDƠS ANDBԱ SZA HԠB MPN HSMPBGNUNSԠV =gT   24203-80003 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A SKP SADƠ+ DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH5 ASADƠ- NVS NVԠHANN̠NUMBҠϠASɠANDSŠN MSSAGSMHUGHM.NAZŠH HUGHH3ϠHANN̠SԠD NVSNP SAA̠SAVŠSԠD SBNVPɠNV DAV3ASԠSGNANԠDGS SAP00AɠS SAP003AɠN SAP00AɠMSSAGS SAP005A SAP006A SAP00A DBSA SBGBSAVŠSԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBASAɠDN? MPSԠYS SZGB MPB S SԠHANN SԠU à0àNAZŠɯϠSYSM DAM0PUԠGA̠DS H5AHMMANDNA HƠHAҠHANN̠AG HSSH SS ŲSBҠƠҠSSADNHANN̠ H3ƠHYAGAN HSàH 3SBҠSàADHAGA-H. H5SƠH H6SàH SS ŴSBҠSƠҠSàADNHANN̠ HSƠHYAGAN HSSH 5SBҠSSADHAGSԠ-H. SԠNUPԠAPABY DAH3 SAGB DASBSԠUPNUPԠAP SAH3 H9SàHSԠHANN̠ϠUS H0SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN !}DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 6SBҠNϠNUPԠNHANN̠ MPH NNPNUPԠSUBUN Ơ0DSABŠNUPS DAGBAP̠HA SAH3 SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠNUPS DANDDNUPԠUҠAԠH PAADDSԠMMYAN SS ŷSBҠNԠUNADDSS-H. HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NABŠNUPS NPSHUDNԠNUP NPH à0UNVYHNG DAGB SAH3 Ơ0 MPNVSɠYS HDS0-SN0(AD UNŠϠŠADDSSSNHŠDSKAND HKUԠA̠HŠPANSHAԠHAVŠϠDϠH PAKADDSSNG. UNŠASKSҠVDŠSHϠBŠSԠNHŠDU. SPUGBANҠPɠANDDɠBS ҠUGBM ADNPNYҠŠADDSSUN DAAS0 SBSUƠUNԠSN DAD30+SZƠŠU̠YND SANԠDUNԠҠNŠAK DABP SABUADNAZŠBUҠADDSS DABPSADADBUҠADDSS SABUAŠSԠPN SBYKSYAVAAB? MPHAN DAB66YS SBPN HADAB66SԠVDŠSHPUSHUN HԠ PAŠŠKUԠBSNYNDҠZ PAŠDVŠYNDҠBSNYNDҠN AԠYNDҠZϠHNND. DABADŠKUԠB SASP SBDGNGNAŠBU SBADҠŠADDSSSNϠDSK DABԠAGGDAKB SASHASHAԠSAUSSHUDB DAD+SZƠADN SANԠS SBADҠADBAK DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 HDABYàHKNAD SAPN DADNŠS SBDAD DAYHKYàHKMMAND SBMMDUPUԠMMAND SBASAԠҠMPN SBHKHKSAUS A SASHASHAԠSAUSSHUDB ANA SAY̠SԠϠYNDҠN DAD30+SZƠŠU̠YND SAN DABSKNS0 SBP SBSKSKNS0 DADBADDVŠAKNDA SASP SBDGNGNAŠBU SBADҠŠNϠDSK SBYKSYAVAAB? MPHBN DAB6YS SBPN HBDAB6AҠVDŠSHPUSHUN HԠ ADANDHKҠDVŠYND A SASPNϠMŠBS DAD+SZ SANԠSԠDUNԠҠNŠS DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 HDABADDVŠAKNS0 SBAD DABԠAGGDAKB ҠNBԠNԠUND ҠAB SASHASHAԠSAUSSHUDB DADMƠMASKU ANDHDMADDNԠNSH SADMƠAG SBHKHKҠDVŠY. ŠANDHKҠŠKU A SAY̠SԠϠYNDҠZ DABSKNS0 SBP SBSKSKNS0 HDABŠPŢDAKNS0 SB DABԠAGGDAK ҠAB SASHAS DADMƠMASKU ANDHDMADDNԠNSH SADMƠAG SBHKHKSAUS ŠADDSSANDHKҠKU DABSKNS0 SBP SBSKSKNS0 SBDGNGNAŠBU DAD30+SZ SAN SBADAŠADDSSS DADMƠMASKU ANDHDMADDN SADMƠNSHAG SBHKHKSAUS A SASHASHAԠSAUSSHUDNMAYB SBYKSYAVAAB? MPHàN DAB66YS SBPN HàDAB66SԠVDŠSHPUSHUN HԠ A SAHADSԠHADZ ̠U SAY̠SԠNנYNDҠNUMB HŠNGPANSASKHA AUSSPSNҠMN. DABSKNS0 SBP SBSK SBDGNGNAŠBU SBASAԠҠSKMPN SBADҠŠANDADADDSSS DAD0+SZƠADBAKGHԠSS SAN SBADҠADBAK DAD30+SZƠŠU̠YND SAN ANANMNԠYND ADAY̠UNԠUPϠNԠYND PAYPPHKҠNDƠPAK SS MP̠NԠDNŬNSHPAK SBYKSYAVAAB? MPHDN DAB6YS SBPN HDDAB6AҠVDŠSHPUSHUN HԠ DAUNԠNV ADAB60UNԠNUMB SAP00AɠϠAS SAP00A SAP03A SBYKSYAVAAB? MPHŠN H0DAB0YS SBPN H$VŠDAB0UNKUNԠجPUSHUN HԠ H3DAB3UNԠؠNԠADYHKNS0 SBP SBSA DANBԠNԠADY ҠAB SASHASSԠHAԠSAUSSHUDB SBHK DAD+SZ SAN DAB5ŠNS0 SB DADMƠAנDMA ANDHϠN SADMƠNSH SBHKANDHKҠS NBU DAMM6PNԠVY SAҠ3SNDS SBYK MPH H0DAB0ADYUNԠ SBPN HƠDAM936 SANԠSԠMSNDUN ñ3ààSԠUP ñSàìàAGNHAD-AD NƠU ñSààSKPƠNԠADY MPñAGSS ADBD0 SBK DANԠHKҠMŠ SSAPNԠMSSAG MPN SZҠADYϠPN? MPHƠN MPNBYS ñBàANNBS DAB SZBSS SBPNԠMSSNGANNBS B A SAY SAHAD SAS DAB SBPҠSKNS0 SBSK SԠSԠSKB DASB ҠAB SASHASPDSAUS000B SBAS SBHKVYSAUS A SASHAS SZY̠HANGŠYNDҠNUMB DAB5 SBP SBSSADDSSDNS0 DAD+SZ SAN AҠNנDSMPSN. AAD̠SHנASAUSƠB DAB SAPNADNS0 SBDMҠSԠUPDMAADPAN DAADàADADMMAND SBMMDUPUԠMMAND SBDMA SBYK MPHG DAB HSBPNԠHn$"PSSPSԠHNPSSUN HGDAB HԠ SBSA HŠNGSԠVSHŠPPϠN SBHK MPADɠUN UNŠSADDSSSNϠDSKAND ADSHMBAKϠHK. ASDMAԠҠDMAPANS ADҠNP SBADAŠADDSS SBHKHKҠS MPADҬɠUN ADANP H36DAB36ŠADDSSNS0 SAPN SBDMנSԠUPDMAŠPAN DAAADŠADDSSMMAND ҠSPPUGNPɠANDDɠBS SBMMD SBDMA SBSAԠGԠSAUS MPADA ADBAKADDSSSANDMPA ADҠNP DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 H3DAB3ADAҠŠADDSSNS0 SBADADBAKDAAD SBDHKHKAD MPADҬɠUN MԠDUN-AVDBMBNGDV DGNNP DAD0+SZ SAN SBDGNGNAŠBU DAD30+SZ SAN MPDGN b$   24203-80004 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDS-SN SN HSSNNSSS ASAUSHK ADSADƠUSD. .ASK .ASAUSKNGҠPSNҠBUSY. AԠHŠNDƠHŠPAKASKSSSUD GϠϠHŠNԠ(NN-SANԠYNDҬ ANDSAUSSHKD. ASKSSSUDDUNGASKANDSAUSSHKD HŠNGPANSA PMDNHŠSԠYNDҠN HŠYNDҠAB. ANŠSҠŠSANGAԠAKZϬSҠZ AϠSҠŠSANGAԠAKZϬSҠSVN AADANDHKƠHŠDAA ANŠANDAAD AUҠSҠŠSANGNAKZ APSNPANϠUNϠAKZ AϠSҠYàHKƠAKZϬSҠSVN AADANDHKƠHŠUҠSS APSNPANϠMVŠϠAK(P- AϠDŠHAԠGNASANVUN AUҠSҠŠSANGAԠSҠ(SP-3 APSNPANϠUNϠAK(P- AADϠHKҠZϠ AADANDHKƠHŠSS SNP DAAS SBSUƠUNԠSN B SBSAG SBSHASHAԠSAUSSHUDB SBDMƠNϠDMASAԠSA SBSƠNϠNA̠S SBY SBHAD SBSҠHSPSASAԠSҠZ SBSAԠGԠSAUS SBHKHKҠS DABSKNS SBP SBSKSKNS SBSҠADSHGS ANDB000000BBԠ ҠB000000BANDBԠ SZASSSKPƠHҠSA SBADA̠ŠADDSSUN DR<AAS SBSUƠUNԠSN A SAY SAHAD SAS SASHASHAԠSAUSSHUDB DABSKNS SBP BMŠUSDSZ SBSKSKNS ANA SAY̠SAVŠYNDҠNUMB HŠNGPANSAŬ ASKHAԠAUSSPSNҠMN ANDASAUSPANMMDAY NGHHSHUDSŠA PSNҠBUSYSAUS. DABSKNS SBP B SBSK DAPBB SASHASHAԠSAUSSHUDB SBSAԠGԠSAUSHŠBUSY SBHKHKҠS BҠASMŠUN SBSHASHAԠSAUSNMAYS SBASAԠҠSKϠNSH DAYPPADSԠNN-SANԠYNDҠNUMB SAY HŠNGPANSASKHA AMPSϠMVŠHŠPSNҠBYND SMSANDASKDUNGASK. HŠSKNMPŠSAUSSHKD. DABSKNS SBP SBSKSKϠNN-SANԠYND SBASAԠҠSK DASBԠSKHK ҠABԠANY SASHAS SBHKHKҠS A SAHAD SAS DAҬɠGԠSԠYNDҠHA SAY̠ŠAŠADϠŠN. DABSKNS SBP SBSK SBSKSKHNASK SBASAנMPN SBHKHKSAUS A SASHASSAUSSNMAYZ HSSKUNSϠY̠0HAD0NDAUԠAS DABSKNS SBP SBSKSKɺ{NS DABP SABUAD DAD3+SZ SANԠSԠDUNԠҠHŠSS SBDGNGNAŠNנBU HŠNGPANDSHŠS ŠNHŠDSKNHADZϬSҠZ DAD+SZ SANԠSԠDUNԠҠNŠS B DAB5ŠNS SBŠŠNSԠS SBHKHKҠS HŠNGPANSAϠSҠNG ŠSANGAԠHADZϬSҠSVN DAD SASҠPANSASAԠSҠ DAB5ADDSSDNS SBP SBSS DAD+SZ ADABPҠNנBUҠADDSS SABUAD DAD56+SZ SANԠϠSҠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HŠNGPANSAAD ADBAKHŠNMANN NSҠZ. HŠDAASMPADHHAԠN. A SASҠNԠPSASAԠSҠZ DAB5ADDSSDNS SBP SBSS DAD+SZ SANԠSԠDUNԠҠNŠS DABP SABUADPUԠBUҠADDSSBAK DABPS SABUAŠSԠADADDSS SBASAԠҠSҠSHNG DAB6ADNS SBADA̠ADUN SBDHKHKҠSANDMPAŠBUS HŠNGPANADSBAKH NMANNNSSSVNAND GH HŠDAASMPADHHAԠN. DAD SASҠPANSASAԠSҠ DA'B5ADDSSDNS SBP SBSS DAD+SZ ADABP SABUADSԠϠSNDADŠADDSS DAD+SZƠADDUN ADABPS SABUA DAD56+SZƠϠS SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBDHKHKҠSANDMPAŠBUS HŠNGPANSANŠMMAND DBYAAD DAB5ADDSSDNS SBP SBSSADDSSDNS DAB60NŠNS SBP DANŠNŠMMAND SBMMDSSUŠMMAND SBAS SBHKHKSAUS DAB5ADDSSDNS SBP SBSSADDSSDNS DAB6ADAҠNŠNS SBAD SBDHKHKDAA HŠNGPANSAŠHA SASNAҠHŠNDƠAKZϠAND NNUSNϠHŠNԠAK DASP-3 SASҠSԠSҠNUMB DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠUҠSҠDUN DABP SABUAD DABPS SABUA SBDGNGNAŠBU SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAD SASҠSԠSҠSVN HSPANSKSBAKϠHADZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANDSAYàHKN SSSVNANDGH DABYàHKNS SAPN $DADHKSҠϠSS SBDADϠSҠUN DAYHKADYàHKMMAND SBMMDSSUŠMMAND SBASAԠҠMPN SBHKHKSAUS DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSSADDSSDNS HŠNGPANADSBAK HŠDAANBYHŠPVUS HŠDAASMPADHHAԠN. DAB6ADNS SBAD SBDHKHKҠSANDMPAŠBUS PSNϠMVŠϠHŠBMAK DAP-ADASԠAKNUMB SAHAD DAD SASҠSԠSҠϠSVN HŠNGSKMVSϠHŠBM AKƠHŠYND DAB5ADDSSDNS SBP SBSHMVŠϠHŠBMAK HSPANUPUSAPAҠƠDSϠH DAAHANN.ABUԠ50MSNDSAҠHŠSND SAPDAHDDSUPUԠϠSԠVUNAG. DABUAD B SBAɠSԠϠDSϠZ NA SBA DAD SANԠSԠDUN DAVSUMPϠSUBUN SADMSPSԠDMABAKAN SBAHAԠҠHADSHNG H50DAB50VUNNS SB SBHKHKҠVUN A SASHASHAԠSAUSNMAYS DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠDUNԠҠUҠSS SBDGNGNAŠBU SBASAԠҠSҠSHNG HŠNGŠSASNAҠH ŌYNDƠHŠYNDҠANDNNUS UN̠HŠNDƠYNDҠҠUS DAB5ŠNS SB MAKŠSUŠHAԠNDƠYNDҠҠUS DAH ANDDMƠANNMPŠDMAANSҠSK SADM DAD35+SZ SANԠSԠDUNԠҠHŠSS DABԠADNDƠYNDҠB ҠABԠҠNANYҠB SASHASHSSHAԠSAUSSHUDB SBHKHKҠS SԠMMANDBԠ ƠMSSNGYHKBMSADàANDNDƠYNDҠN'ԠU DAB SBP SBSKSKNS DAD+SZ SAN DABYàHKNS SAPN SBDMҠSԠUPDMANASŠԠSAD DAD30HKSҠ30 SBDADϠSS DAYHK SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS SBHKVYSAUS A SASHASSAUSSHUDNMAYBŠZ DAD SASҠSԠSҠϠSVN HSSKUNSϠHŠBMAK DAB5ADDSSDNS SBP SBSHUNϠBMAK HSPANSAADANDHKƠHŠS HAԠSHUDHAVŠBNZϠD. HŠPANHKSHAԠHŠDAUSNGH VUNASNԠNNϠHŠS. DAD30 SANԠSԠDUNԠҠNŠS DAVS SADMSPSԠϠNUPԠDMAANS SBAHAԠҠHADSHNG H5DAB5VUNHKNS SBAD A SAPAԠSԠPAND SBPHKɬ HŠNGADADSBAKHŠDAA NBYHŠPVUS. HŠDAASMPADtHHAԠN. DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠDUNԠҠUҠSS SBASAԠҠSҠSHNG DAB6ADNS SBADADAND MAKŠSUŠHAԠNDƠYNDҠҠUS DAH ANDDMƠANNMPŠDMAANSҠSK SADM DAD3+SZ SANԠSԠDUNԠҠHŠSS DABԠADNDƠYNDҠB ҠABԠҠNANYҠB SASHASHSSHAԠSAUSSHUDB SBDHKHKҠSANDMPAŠBUS A SASHASSAUSSHUDNMAYBŠZ PANϠMAKŠADDSSGSҠDN MAUA̠PSN. DAB5ADDSSDNS SBP DAD0 SBDADϠYNDҠNUMBҠU DAPAԠANAŠPSNPAN SBMMDSSUŠMMAND SBADAԠҠDAADϠG DAHAD ҠHDN SBDADϠHADU SBADAԠҠMPN SBASANDMPN PANHKSҠNԠUND DAD+SZ SANԠSԠDUNԠҠNŠS DAB6ADNS SBAD DANBԠNԠUND ҠABԠANY SASHASHAԠSAUSSHUDB SBHK A SASHASHAԠSAUSSHUDNMAYB SKϠYNDҠ0ANDHNSKϠSԠYND NYNDҠAB.AԠHADSҠ9ADN SҠANDVYNNS.HŠADMMANDSSSUD BŠHŠSKSMP. DBD0 DAҬɠSSԠNYNAB PAD0UA̠Ϡ0 BYS SBY̠Y̠0(Ҡ0 B [DABSKNS SBP SBSKPMU̠SK DAҬ SAY DAP- SAHAD DASP-3 SAS DABSKNS SBP SBSK DAB6ADNS SBAD SBDHKHKSAUSANDMPAŠBUS MPS VSSBPVʬ VʠNP A SADMSPSԠBAKϠN-P ADBDKPMNGAUA DAM56AנASHԠAԠҠHŠAG VҠU SSANASSDN'ԠHANGV MPVؠPNDAGS ADBDADDNYSUSDNP DM6ɠSSDMADSKPHNDMADN MPVҠBAKƠNԠDN SBKAԠҠNԠUSԠϠMŠUP DAVBԠVUNB ҠABԠANY SASHASHAԠSAUSSHUDB SBDADϠUPUԠNŠAD...A VؠU MPVʬɠUNϠDMA HDSҬPAԱPS SҠNPMV DA SұSAPNԠSԠPN DAPNԬ ADAMM SAADYND NAAB SASҠNY MVŠDAADɠDN SASҬɠN DAADAND SASҠPA ADAMMVAU SAADA ADAD PAPNԬ BSSP MPMV DAVAU SASҬ SBVAU MPSҬ PA PPAŠPANAB PAԱNP DAMMϠNS̠BŠUSD SAPNA DAPAҠADDSS ADAMM0ƠS SAPADPAN DAP0AADDSS SAPSҠƠMSSAG PàDAMM5VŠPANSPҠN SAPN PBDBPS DAPAD SBNPɠNVԠϠAS SZPAD DBPS ADBD3 DABBϠASɠBANKS SAB NB SBPS SZPNԠHAVŠŠDNŠVŠY MPPBN SZPNAYSHAVŠŠDNŠNY MPPAԱɠYS DAƠ06 SAPSҬ SZPS MPP PSҠNPADD DAPS SASҠSԠUPUN DAPA MPSұ HDS-SN G000B SNSGANZDASS YNDҠADVAN SH60--A̠YNDSM0Ϡ0 SH6--A̠YNDSNAB . . .PANGNA .GNAŠBUSҠAHƠHŠPANSNPA .SKPHSSNƠSH5 .. ..AKADVAN ..A̠AKSM0ϠP- ... ...BKADVAN ...AHAKSNASHŠBKS .... ....ŠDAABU .... .. ..AKADVAN ..A̠AKSM0ϠP- ... ...BKADVAN ...AHAKSADASH ...BKS .... ....ADAHBK .... ....HKDAAAD .... ... .. . . SVԠUGBUSDϠUNԠA̠M SVҠUGB SVKàUGB3 PAԠUGBVAABŠϠSAVŠUNԠPAN PNؠUGB5UNҠҠPANAB SNP DAAS SBSUƠUNԠSN A SASVԠZϠA̠MŠNSKS SASV SASVKàZϠSKUN SAYؠSԠZϠNϠNA̠YND S̠U SBYʠANSAŠYؠNϠY AA_0 SAHADPSNҠHADZϠAND SASҠSҠZ DASVԠMVŠSAVDUNSBAK SAMN DASV SAMN HSSKMVSHŠPSNҠNŠYND. HSŠSKSAŠMDANDHŠSUSPND. DBD3NUMBҠƠYSUSDSH DABSKNS SBP SBSK SBAS DAMN SASVԠSAVŠUNԠMSNDUN DAMN SASV SBHKHKҠS DASVK NAUNԠUPSKUN SASVK PAD9HAVŠŠDNŠU̠SKS SSYSPNԠUԠSKMNG MPNנNϬNNUŠN SBSҠADSHGS ANDBԱ SZASKPƠBԠA SBYK MPNנABԠPNU DASVԠADNUMBҠƠMSNDS SBMSVA̠NV DAVԲANS SAP053Aɠ DAV3MSSAG SAP053B H53DAB53AVAGŠMNMUMSKMŠ. SBPNԠPNԠUԠSKMŠMSSAG NנU SBSҠADSHGS ANDB5HKҠSHԠS SZASKPƠNG MPSHSHNSN HŠNGSNƠDŠYSHUGH A̠NPANSNHŠPANAB DABPҠADBUҠADDSS SABUADSԠŠAND SABUAŠADBUҠADDSSS DAMM0PANABŠSNNSNG SAPNؠSAVŠNUNҠD GNU DAM56+SZƠSҠDUNԠ SAMPSAVŠҠHŠASԠ̠P DBPNؠADHŠPANUN ADBPAPADDNHŠABŠADDSS DABɠADHŠPANϠA SAPAԠSAVŠԠҠHŠPHKUN DBBUADADHŠŠADDSS G̠U SAB NB SAB NB SAB NB SAB NB SZMPUNԠDNUNҠ(BYUҠ MPG̠NNUŠNƠNԠDN SKP HŠNGDŠSHŠPANNHŠBU NϠHŠNŠYND ϠUSŠHŠMNMUMMŠҠAHAKHŠAK SDVDDNϠHDSHHAŠN NHŠDҬSԬHDSND. B SBHADSԠHADϠZ SBSHASSԠSҠϠZ NHנU A SASҠSԠBKSASAԠSҠZ HSSKSSANנHAD DAB5ADDSSDNS SBP SBSHSKϠUNԠHAD HŠNGŠSҠH SԠHDƠHSAK DA SANԠSԠDUN SBAHAԠҠHADSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠASԠHDƠHSAK DAS SAS DAB5ADDSSDNS SBP SBSS DA SANԠSԠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠSNDHDƠHSAK DASS SAS DAB5ADDSSDNS SBP SBSS DA SANԠSԠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAHAD NAUNԠUPHADNUMB SAHADAND PAPàNNUŠNƠNԠNSHDHHŠYND ASSDNŬSKPU MPNHנŠNAHAK SKP HŠNGSNADSBAKHŠPANSAND MPASAHDHPA. AUҠSҠADSANGAԠSҠZ SҠMSAŠAVAABŠϠHKHŠDAA AUҠSҠADSANGAԠSҠGH SҠMSAŠAVAABŠϠHKHŠDAA AUҠSҠADSANGAԠSҠU SҠMSAŠAVAABŠϠHKHŠDAA HŠADANDHKSNSHDNVUNS SAHADSԠHADZ NHҠU A SASҠSAԠAԠSҠZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANSAAD HŠSԠHDƠHSAK DA SANԠSԠNGHƠSԠHD DAB6ADNS SBAD SBPHKHKҠBUҠMSMAH HSPANSAAD HŠASԠHDƠHSAK DAS SASҠSԠSҠNUMB DAB5ADDSSDNS SBP SBSS DAԠNGHƠASԠHD SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHK HSPANSAAD HŠSNDHDƠHSAK DASSԠSҠHŠSNDHDSAS SAS DAB5ADDSSDNS SBP'NLH SBSS DAԠDUNԠҠSԠHD SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHKHKҠBUҠS DAHAD NA SAHADUNԠUPHADNUMBҠAND PAPàHKҠNDƠYND SSSKPUԠƠDN MPNHҠNNUŠҠA̠AKS SZPNؠHAVŠA̠PANSBND MPGNNϬGϠBAKҠN SKP SHU SBYDUNԠUPYؠANDHKҠDN MPS̠P MPSɠUN Ԡ000000 Ԡ Ԡ55 Ԡ0555 Ԡ00 Ԡ0360 Ԡ65 Ԡ6336 Ԡ55555 Ԡ0 PAҠU PAPDƠPA FN   24203-80005 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDS3-SN3 SN3 SN3SGANZDASS GNAŠANDMYNDҠNUMBSAND ANDMHADANDSҠNUMBS . . .GNAŠAANDMDUN .(NԠBYNDNDƠYNDҠ .. .. ..GNAŠABUҠƠANDMDAA ..SŠADƠZϠNϠH ..SԠUNUSDD .. .. ..ŠBUҠϠDSK .. .. ... ...SSUŠSK ... ... ...ADBKBAK ...ADANDHKNŠAD ...NԠAMUPŠƠSҠSZ ... ... ...HKDAAAD ... ... .. .. . . SKNԠUGB PԠUGB SAVŠUGB3 S3NP DAAS3 SBSUƠUNԠSN SBSҠSHGSҠϠA ANDB5 DBM0UNԠҠNGVSN SZASKPƠNDDNGS DBMM6UNԠҠSHԠS SBSKN S3AU SBNHGԠANDMYNDҬHADNUMB SBNSàGԠANDMSҠNUMB HSSKMVSHŠPSNҠϠAANDM YNDҠANDHAD. DABSKNS3 SBP SBSKSAԠSKNSAY SBGGԠANDMDUN DABPҠADSԠBUҠPN SABUAD DABPSADSNDBUҠPN SABUA SBDGNGNAŠAANDMBU DANԠSAVŠAS SASAVŠAN+ ADABUADADDBASŠƠŠBU B {SBAɠSAVŠϠHKSҠZNG SBASAԠҠSKϠNSH SBHKHKҠS DAMMYUҠADS SAP S3AU HSŠSUPAGVNAAH ANDMDAA.HŠDUNԠMAYBŠM NŠDϠ03DS. DAB5ADDSSDNS3 SBP SBSHADDSSDNS3 DAB5ŠNS3 SBŠ̠UPHSNAAHUNK SBHKHKҠS DANԠHKҠSҠBUNDAY ANDB+SZƠHKҠVNSҠBUNDAY SZASKPƠVNMUPŠƠS SZNԠUNԠUPDUN HSSKSSHŠPPҠHAD DAB5ADDSSDNS3 SBP SBSHADDSSDNS3 HSADADSBAKHŠDAAN BYHŠPVUS. HŠDAASMPADHHAԠN. DAB6ADNS3 SBADADBAKUNK SBDHKHKҠS DASAV SAN SZPԠHKҠNUGHMS MPS3AYSMŠMŠADS SZSKNԠAŠŠDNŠHHSSN MPS3ANԠDNŬYANHҠPA MPS3ɠUN HDGYDY HSUNŠGNASAANDMDUNԠBN AND03.HŠDUNԠ̠NԠND BYNDHŠNDƠYND. GNP AU SBANDGԠAANDMNUMB A ANDBNԠ<0 SZASSZϠSNԠGA MPAƠZϬYAGAN ԠU SANԠSAVŠHSNDUN DBHADHKҠASԠHADNYND NB PBPàHKҠASԠHAD SSASԠHADMAYBŠUB MPGɠNԠNASԠAKNϠSA DBSPԠADNUMBҠƠSSPҠAK MBNBNGAV ADBSҠAנҠHŠŠAŠN AƬAƠNVԠNԠϠSҠUN A ANDB+SZƠHPƠA ADAB SSASKPƠϠNG MPGɠNGAVŠAMANSKAY DANԠADHSNDUNԠAND ASHAVŠ MPԠANDSϠN SKP YDUNSUPYؠANDHKSҠMPN SԠNA̠YNDS.ԠGVSASKPUNHN A̠YNDSHAVŠBNVD YDNP DBYؠADUNԠYNDҠN NBUNԠԠUPBYN SBYؠANDSŠԠBAK MBMAKŠNSMPMN SBSҴADVŠSHGS ANDB6HKҠSDYNDS SZASSSKPƠSHԠSԠUSD MPDYU̠S ADBD0HŠAŠNABŠNS MPDZ DYU ADBYPPHKҠNDƠPAK DZU SSBSKPƠNԠDN SZYDUNԠUPUNADDSS(DNŠ MPYDɠUN YʠANSASHŠNUMBҠNYؠϠHŠDSD YNDҠNUMBҠNY YʠNP SBSҴADVŠSHGS ANDB6HKҠSDYNDS SZASSSKPƠSHԠS MP DAY DBD39 ѠU ADAMM0HKҠYؠϠBG DBD SSASSSKPƠKAY MPѠHSŬKPDUNG ADABPADDNABŠADDSS DAAɠADHŠDMHŠAB SAY̠SԠBAKNϠYND MP נU DAY SAY̠SAGHԠPY DBD35 ؠSBK MPYʬɠUN  BNUAKABŠBGN Ԡ00000000 ABSY BPDƠ HDS-SN SNSGANZDASS YNDҠADVAN SH60--A̠YNDSM0Ϡ0 SH6--A̠YNDSNAB . . .ANDMNUMBҠGNA .GNASANנBUҠƠANDMDAA .ҠAHYND . .AKADVAN .A̠AKSM0ϠP- .. ..BKADVAN ..AHAKSNASH ..BKS ..HŠSHMŠUSDSHŠSAM ..ASHAԠƠHŠSN ..PANADSN ..GNANDPHKAK ..ABUԠHŠSAMŠAMUN ..ƠM. ... ...HKSUMBKSϠHAԠԠS ...UNUŠANDDNAB. ... ...ŠBKϠDSK ... .. . . . SNP DAAS SBSUƠUNԠSN SBSҠADSHGS ANDB6SAVŠBԠ6 DBS00 ADBUNԠSS5ANDS6 SAB ANAA SASAG A SAYؠSԠYNDҠNŠD S̠U SBYʠANSAŠYؠNϠY A SAHADPSNҠHADZϠAND SASҠSҠZ DBD3YSUSD HSSKAUSSPSNҠMN HŠNԠYND. DABSKNS SBP SBSKSKNS HŠNGSNƠDŠGNASH HKSUMMDANDMDAA. DAԠNGHƠSԠHD SANԠSԠDUN SBDGNGNAŠANDMBU A SASHASSAUSSHUDBŠZ SNU A SASҠHSPSASAԠSҠZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANSAŠ HŠSԠHDƠHSAK NԠANDSҠAŠSԠUP SBGNGNAŠHKSUMS DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠASԠHDƠHSAK DASԠSҠHŠASԠHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠNGHƠASԠHD SANԠSԠDUN SBGNGNAŠHKSUMS SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠMDDŠHDƠHSAK DASSԠSҠHŠHSHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠNGHƠMDDŠHD SANԠSԠDUN SBGNGNAŠHKSUMS SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAHAD NAUNԠUPAKNUMB SAHAD PAPàHKϠSŠƠDN SSSKPUԠHNDN MPSNNSHNŠYND SBYDUNԠUPYؠANDHKҠDN MPS̠NNUŠNϠNԠYND ASKϠHŠSԠNYNHŠYNDҠABŠPDSAH YàHKƠ6AND0SS.HŠNNZϠS UNS̠SUԠNANDƠYNDҠSAUSSHUDANYB ƠHŠSҠUNҠA̠ϠS.HŠZϠSҠUNԠ A̠ϠSUԠNANDƠYNDҠSAUSSHUDANYBԠ HŠSҠUNҠA̠ϠA. A SAHAD SAS DAҬ SAY DAB0D SBDHK DABԱD56 SBDHK DABԲD5 SBDHK DAB3D0 SBDHK DABԴD0 SBDHK DAB ҠAB SASHASPDSAUS AD0 SBDHK MPSɠUN DHKNP SANԠSAVŠNUMBҠƠSS DABSKNS SBP SBSKPMU̠SK DABYàHKNS SAPN DANԠNUMBҠƠSS SBDAD DAYHK SBMMDUPUԠYàHKMMAND SBASAԠҠMPN SBHKHKSAUS MPDHK HDGNNHNS GN HSUNŠNSUSHŠHKSUMSҠHŠŠBU. .AHSҠSHKSUMMDSPAAY .HŠNŠSҠSUMSϠZϠ(SMPMNԠ 3.HŠSԠϠDSSUMϠHŠYNDҠNUMB .DSAND3SUMϠHŠHADSҠNUMB GNNP DAN AƬA A ANDBAVŠHŠNUMBҠƠSS MANAMPMNԠҠSZ SAMP DAHAD ҠHDN AƬAƠHADNUMBҠϠԠSD ҠSҠPUGNSҠNUMB SAMP DBBUADADADDSSƠSԠS G̠U DAMM3+SZ SAMP3UNԠҠUҠUNԠP DABɠGԠD8&Z MANAMAKŠMPMN ADAY̠HSSUMSϠHŠYNDҠNUMB NBUNԠUPBUҠADDSS SAB NBUNԠUPBUҠPN DABɠADD MANAHKDSMPMN ADAMPADDHADS NBUNԠUPϠSԠҠD SABɠSAVŠSNDHKD DAY ADAMPADDNHADSҠNUMB SUMϠDAŠNA GƠU NBUNԠUPBUҠPN ADABɠADDNNԠDƠBU NB ADAB NB ADAB NB ADAB SZMP3HKҠDN MPGƠGԠNŠBU MANAHKSNGAV ADABɠSUBAԠUԠASԠD SAB NBUNԠϠBGNNNGƠNԠS SZMPUNԠUPSҠNUMB SZMPHKҠDNŠHNŠŠBU MPG̠NϬGϠDϠANHҠS B MPGNɠUN UNŠϠPKAANDMYNDҠANDHADNUMB AVSϠMAHNŠYSUNUND. NHNP NAU DBD33 SBK SBANDGԠAANDMNUMB AƬAƠUSŠԠHA ANDB3Y̠<56 SAYؠSAVŠNYNDҠNŠD MANSMPMN ADAYPPANNԠBŠANN-SANԠYND SSASKPƠKAY MPNAHSŬYAGAN SBYʠANSAŠYؠNϠY DBD5 SBK SBANDGԠAANDMNUMB AҬAҠϠMNAŠAN-S ANDBHAD< SAHADSԠHADNUMB MPNHɠUN UNŠϠPKAANDMSҠNUMB NSàNP NSAU SBANDA̠ANDHŠMS SB0.*ANDGԠHŠGDBSNGHԠND SBANDANԠNϠANHHADNUMB SBAND AҠDϠNԠUSŠBԠ0(NԠANDM ANDD5SҠ<6 SASҠSAVŠSҠNUMB MANSMPMN ADASPԠSԠҠGA̠SҠNUMB SSASKPƠKAY MPNSAHSŬYAGAN MPNSìɠUN Q0   24203-80006 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDS5-SN5 SN5 HSSNADSANDMSSANDVS HAԠHYAUAYAŠHŠSSUSD. HŠSԠUNSҠABUԠ50SKS AԠHŠNDƠAHSKAADSSSUDҠH NԠAVAABŠS.ASSNASHSADSMPDH NԠSKSSAD.HŠDAADSHKDASSN ASHŠSKSNAD. ANԠUGBSKNGHUN ZY̠UGB5HDSPVUSYNDҠNUMB ZHDSUGB6HDSPVUSHADS S5NP DAAS5 SBSUƠUNԠSN A SAANԠZϠSKNGHUN SASVԠZϠA̠MŠNSKS SASV SASVKàZϠSKUN SASHASHAԠSAUSSHUDB A- SAS DAD+SZƠHKNŠS SANԠSԠDUNԠҠNŠS S5àU DAY̠ADPVUSYNDҠNUMB SAZY̠ANDSAVŠԠҠHK DAHADADPVUSHADNUMB ҠHDN AƬAƠMVŠϠԠHA ҠSҠPUGNSҠNUMB SAZHDSANDSAVŠҠHK AKŠUUSDNHK SBNHGNAŠYNDҠANDHADNUMB SBNS DASVԠMVŠHŠUNS SAMN DASV SAMN HSSKMVSϠA ANDMYNDҠANDHAD. DABSKNS5 SBP DBD3 SBSKSAԠSK SBKAKŠAŠƠUN SZSԠSKPƠSԠM SBHKYSNԠSԠMŠHUGH SBASAԠҠSKMPN DAMNԠMVŠUNSBAK SASV DAMN SASV SBHK HSADADSNNŠS FMAANDMAN DAB6ADNS5 SBADGϠDϠAD A SASԠPPAŠҠP SBHK A SASԠS DAY̠ADYNDҠNUMB MANA ADAZY̠GԠSKNGH SSASKPƠNנPSV MANAABSUŠVAU ADAANԠADDϠA SAAN DASVK NAUNԠUPSKUN SASVK PADSKPƠNϠPN SSH.PNԠUԠMNG MPS5ŠNԠN SBS ANDBԱABԠ SZASSBԠSA MPS5ŠABԠPNU SBYK MPS5ŠABԠPNU DASVԠADA̠M SBMSVNVԠϠAS DBP05A DAVԱANS SABɠ NB DAVԲMSSAG SAB NB DAV3 SAB DAANԠADA̠NGH SBMSVNVԠϠAS DBP05B DAVԲANS SABɠ NB DAV3MSSAG SAB H5DAB5 SBPNԠAVAGŠANDMSKMŠ.. AVAGŠANDMSKNGH. S5ŠU DBSVKàADSKUN SBSҠSHGSҠϠA ANDB5 ADBM56SHԠS SZASSSKPƠYS ADBM936N SSBSKPƠDN MPS5àDϠANH MPS5ɠUN HDHKHK HK HSUNŠHKSHŠBUSGNADBYGN ԠUSSBUAŠҠAPNҠANDHKSNŠS SŠGNҠADSPNƠHŠSҠMA HKNP DAHKSAVŠUNADDSSҠ SBHKMBUҠHKSUM SZD<ASKPƠHKSUMK MPҠHKSUM DAMPGԠYNDҠHKBAK PAZY̠HKҠPPҠYND SS MPҠNGYND DAMP3GԠHADSҠBAK PAZHDS MPؠNϠBUҠSHKSAUS ҠU SBASPAUN DAZY̠S SAY̠Y DAZHDS AƬA ANDB3 SAHADHAD DAZHDS ANDB3 SASҠANDS A- SASԠSԠSԠAG DAB3ADHKNS5 SAPN DAAKŠS SAHKUN ұU DAMPADHKSUM DBP05APN-HKSUM SBNPɠNVԠϠAS DAMPADYNDҠHK DBP05BPN-YND SBNP DAMP3ADHADSҠHK DBP05àPN-HADANDS SBNPɠNVԠϠAS DAMP DBP05DPNԠYNDҠNDMA SBDN DAMP3 AƬA ANDB3 DBP05ŠPNԠHADNDMA SBDN DAMP3 ANDB3 DBP05ƠPNԠSҠNDMA SBDN 5DBB5BUҠHKSUMؠY YYYYYYHDSZZZZZZ SBSƠSԠҠMSSAGŠPN SBàSAVŠҠH MPZGϠANAYZŠS HK MBUҠHKSUM HKNP SAHK DBD330 SBK SBA DBBUAŠADBUҠPN DAM+SZ SAMPSԠUNԠҠADDP DABɠADSԠD NB ADABɠMAKŠYNDҠHK NB SAMPSAVŠYNDҠHK DAB NB ADABɠMAKŠHSADSҠHK NB SAMP3SAVŠHDSHK ADAMPHKSUMSϠA ѠU ADABɠADDUPA̠DS NB SZMPUNԠDNUN MP SAMPSAVŠHKSUM DBA MPHKɠUN HDS6-SN6 SN6 HSSNUNSMUPŠUNԠSԠƠAԠASԠϠUNS AŠPSN.HŠSKSVAP.HŠADHKSHŠSAM HAԠS5PMS. S6NP DAAS6 SBSUƠUNԠSN DAUNàNUMBҠƠUNS PADSԠNYN? MPS6NϠYSABԠS DANɠNUMBҠNAZD PAUNàAŠA̠NAZD? MPS6SԠYS DANɠNϬNSH ADAUNSNAZAN DAA SAUNԠNAZŠNԠUN SZN MPS6ɠUN S6SԠU A SAS6NԠZϠUN SASHASANDSAUS HKҠSDYND SBS6S A S6رU DBSAV6 ADBS00 ҠBɠҠHŠS'SGH SZSAV6 SZ6 MPS6ر SAMP SBS6S DAMP S6زU DBSAV6 ADBS00 SABɠSŠSUԠBAK SZSAV6 SZ6 MPS6ز DAD+SZ SANԠDUNԠ HSSNSMŠDPNDNԠANDMAYNԠBŠSNGŠYD S6̠U A SAGB6 SBNHSԠANDMY̠ANDHAD SBNSàSԠANDMS DABSKNS6 SBPҠSKNS6 SBS6S S6S̠U DASAV6ɠGNA SAUNԠUNԠNUMB SBSKPMSK SZSAV6NԠUN SZ6DN? MPS6S̠N SBS6S DBBPϠKAA S6̱USԠUPҠVADYHK DASAV6 SAB NB SZSAV6 SZ6 MPS6̱ SBS6S S6̠U DABSKNS6 SAPNSKNS6 DAM56 SANԠAנ56MSNDSҠAG DBD5 S6DU SBKUPDAŠM DBD0 09Sà MPñ0AGSS DAN SSASKPNMŠU MPS6D SBPPUNԠPAN DAB0NϠàAG SA SBPN MPS6̴ ñ0A SAANSAVŠANNBS B S6̲UAUAŠUNԠNUMB SABYSANNNGANNBS MPS6ƠGHԠϠ NB A PBD SS MPS6̲ SZGB6AנHŠNSNŠ DAGB6AHUNԠAҠHŠS PAD MPŲҠ-MSSNGANNB SBSA DASAԠASUNԠHUGH? SSA MPS6ƱYSPSSUN MPS6 ŲSBPP ŲSBҠMSSNGҠDUPAŠANN S6̴SBADDɬ MPS6 S6ƠSBUN S6ƱSBSA DAUNàHKVADYƠUNԠNUMB MANA SAGB DBBP S63U DAB PAUN MPS6K NB SZGB MPS63 MPŲNԠVADB S6KSBBɠDN'ԠAנSAMŠBԠAGAN SBHKHKSAUS DAB5S SBPҠHAD SBSHADDSSDNS6 DAB6ADNS6 SBADADNS6 SBHKHKSAUS SBS6HKHKBU SZ6DN? MPS6̠N SZS6NԠBUMPUN DBS6N SBS ANDB5SHNQS? ADBM56-56 SZASSSKPƠYS ADBM936-936 SSBDN? MPS6̠N DAUNAS SAUNԠUNԠNUMBҠҠNԠPASS S6NϠUYS ANA SANɠNɠ DAHAGSAGS SASSSKPƠYS MPS6ɠN DAHDNSH ҠDSUA SAHDN MPS6 S6HK HKSBUҠҠPPҠPSNANDDAA ANS S6HKNP DAS6HK SBHKMBUҠHKSUM SZASKPƠK MPSҠ DAMP PAY̠SYNDҠK? SSYS MPSҠNϬ DAMP3 AƬA ANDB3 DBA DAHAD ҠHDN PABSHADK? SSYS MPSҠNϬ DAMP3 ANDB3 PASҠSSҠK? MPؠYS SҠU H3DAB3 SAPNADHKNS6 MPұ S6SԠNP DAUNàNUMBҠƠUNS MANA'SMPMN SA6 DAUNSPNҠ SASAV6UNԠNUMBS MPS6SԬ HDPHKMSV PHKUN. HSUNŠHKSHŠNŠADBUҠ UAYHHŠDNPA. PHKNP DAPHKADUNADDSS SAHKSAVŠҠPSSBŠA DANԠADBUҠNGH ASASDVDŠBYGH AS(ҠGHԠUNԠP MANASMPMN SAMPSԠUNҠҠP DAPAԠADMPASND DBBUAŠADADBUҠADDSS BGNNNGƠHŠP PH̠U PABɠHKҠMAH*($HBU NBSSUNԠUPBUҠADDSSANDSKP MPPHŠMS-MPA PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH SZMPUNԠU MPPH̠NԠDNŬNNUŠHKNG MPؠNϠBUҠSHKSAUS PHŠSBMPPNҠ-S DAPAɠSԠUP SAMPSHUDBŠPAԠƠҠMSSAG DABUA MANA ADAMPADNUMB MPű0 SKP HSUNŠAKSHŠNUMBҠNHŠA-G DVDSBYANDPUSHŠASɠ(DMA̠ SUԠNϠVԱVԲANDV3(.ة MSVNP SAMPADNUMBҠƠMSNDS AƬA A̠DVDŠBY ANDB3NGA̠NUMBҠƠMSNDS SBDNNVԠNGҠϠDMA̠AS DAMPSAԠNANPA ANDBAVŠNYANPA BB_- MD̠ADAMM3SŠϠ0 NBUNԠUPNHSPA SSASSSKPƠNHSAUANDN MPMD ADBASD0MAKŠNϠ. SBV3S MPMSVɠUN *   24203-80007 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDMSSAGŠABS àABS- ҠDƠ+ DƠH0MSSAGŠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠű0 DƠű DƠű DƠű3 DƠű NPH5 NPH6 DƠH DƠH0 DƠŲ DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH30 DƠH3 DƠH3 DƠH33 DƠH3 DƠH35 DƠH36 DƠH3 DƠH0 DƠH DƠH DƠH3 NPH NPH5 NPH6 DƠŴ DƠH50 DƠH5 DƠ5 DƠH53 DƠH5 DƠH55 DƠH56 DƠH5 NPH60 NPH6 DƠH6 DƠ63 DƠ6 DƠH65 NPH66 NPH6 DƠH0 DƠH ҠDƠ MɠDƠ+MSSAGŠADDSSAB DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM3 DƠM33 DƠM3 DƠM35 DƠM36 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM50 DƠM5 DƠM5 DƠM53 DƠM5 DƠM55 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM66 DƠM6 DƠM0 DƠM M̠DƠ+MSSAGŠNGHAB DƠ0 DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̷ DƠ̱0 DƠ̱ DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠ36 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴ DƠ̴5 DƠ̴6 DƠ̴ DƠ50 DƠ5 DƠ5 DƠ53 DƠ5 DƠ55 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠ̷0 DƠ̷ HDS-SN(PDSN PDSN PAҠDSGNSN HSSNASHŠPAҠϠDSGN HSNSԠANDHNUŠ. PDSNDAAS SBSUƠUNԠSN DABPϠSAԠƠKAA SABDSAGŠPN SAPS DAAMM MANAAM ADABԱ3 DBBK SSASS DBAM ADBMM SBBP DABPҠS SABUADUP DABPSPNS SABUA A SAAB SASHASZϠPDSAUS SAS SADM SAHDN SAHAG H55DAB55NҠNSUNS SBPN PDU SBHNNPUԠN A SAPAG DADMMNYUSD SADDAUԠAS SBPAKGԠPD MPH0ҠNNPU DBD PDUQSAH PABɠDŠMAH MPPD3UND NB PBD SSҠ-BADPD MPPD H0DAB0UNDNDNSUN SBPN MPPD PD3U ADBD SBPNԠPD ADBU SBPNDHKҠAB DABɠPSSNSUN MPA PUԱAҬDSSS PUԱDAPPԱ SADSŠANSҠV A SADDAUԠAS SBPUԱHKҠMMA SBPUԱDPSSSԠDYND AƬA SAD SBPUԱDPSSSNDDHAD AƬA ҠD SAD SBPUԱDPSSHDDS ҠD SAD DAPAGDN? SZASSSKPƠYS MPPUԱA PUԱBDAD3 PUԱƠSBBUD MPPD PUԱASBH3BADNPU MPPD PUԱDNP DAPAGDN? SZA MPPUԱBYS SBDHAҠNϬGԠNԠD SS MPPUԱD SBPUԱŠDNŠҠ? SZPAGDN MPPUԱDɠNNU PUԱŠNPDNŠҠ? DBNԠUMNSMANNG SZB MPPDҠ(AADYPD MPPUԱŬ PUԱGNPHKMMA ҠB5 SZASS MPPUԱGɠK MPPUԱA PUԱHNP SBHAҠGԠNԠHAA MPPUԱBDN SBPUԱGHKҠMMA MPPUԱHɠUN PUԲŬ̬ҬSS PUԲNP DAPPԲ SADSŠANSҠV SBHA SSSKPƠDN MPPUԱA MPPU3ʠ PU3GϬB PU3DAPP3ANSS SADSŠANSҠV SBHADz MPPUԱA SBPU3KGԠAB SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS DAPNԠPD MANA ADAB5SԠB? SZASKPƠYS MPPU3AMUSԠBŠG SBPU3DSAHҠAB MPPU3BNԠH SZBPUND DABPɠADDSSD SZASSSKPƠPVUSYDND MPPU3 HDABDUPAŠAB SBPN MPPD PU3BSBPU3̠HKҠV PU3ŠDABDNԠAVAABŠAN SABPɠSŠADDSS PU3ʠDAD MPPUԱƠ PU3ASBPU3DGϬSAHAB MPPU3ƠDDNԠND SZBPUND PU3GDABP ANDB3 ҠMPɠ6000B SAD MPPU3 PU3ƠSBPU3̠HKҠV A SABPɠZϠADDSSD MPPU3G PU3DNPSAHAB DBABàNUMBҠƠABS PU3ɠSZBSS MPPU3DɠZϠABS DABP PAAB MPPU3HUND DABPSP ADAMMBAK SABPHUGH ADBMMDMNԠAB̠UN MPPU3 PU3HSZPU3DNMA MPPU3Dɠ PU3KNPGԠAB SBPUԱGHKMMA SBPAK MPPUԱA SAAB̠SAVŠAB DABP SABP MPPU3K PU3̠NPHKҠKSPAŠV SBPU3N SZAB DAAB SABP SZBP MPPU3̬ɠNMA̠ PU3NNP DAAB ASϠANSPҠAB ADABD ADAD DBBP MBNB ADBA SSBSS MPPU3M"V MPPU3N PU3MDAB6V SBPN MPPD PUԴDDD PUԴDAPPԴ SADSŠANSҠV SBPUԱHKҠMMA SBPUԱDPSSDDUN SAD DAPNԠS ҠB6 SZASSAD? SBPU6DYSMԠDUN DAPAGDN? SZASSSKPƠYS MPPUԱA MPPUԱB PU5B PU5DAPP5 SADANSҠV ANA SAD3DAUԠNUMBҠƠҠPNS SBHA MPPU5BDN SBPUԱGHKMMA SBDHA MPPU5ADNŠҠ? SZDԠSKPNDAU SAD SBDHA SS MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SAD3 MPPU5B PU5ASBPUԱ SZDԠSKPNDAU SAD PU5BDAD MPPUԱƠ PU6DB PU6DAPP6 SADSŠANSҠV SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPNDAU SAD SBPU6D SBHA MPPU6ADNŠҠ? SBPU6B SBHA MPPUԱA ҠB03 SZA MPPUԱA DAD ҠBԱ SAD SBHA MPPU5BSHUDBŠDN MPPUԱA PU6ASBPUԱŠDNŠҠ? SBPU6B MPPU5B PU6BNP SZDԠSKPƠDAU SSK MPPUԱA SAD3 DABԱ5 ҠD SAD MPPU6B PU6àSBPUԱŠDNŠҠ? SZDԠSKPƠDAU SAD SBPU6D MPPUԱB PU6DNPHKD-MUSԠNԠBŠGA DADHAN0 SSAMUSԠB MPPUԱAPSV MANA ADAD0 SSA MPPUԱA MPPU6D PUԷN PUԷDAPPԷ PUԷGSADSŠANSҠV DBABàNUMBҠƠABS DABP NA SABP PUԷDSZBSSSAH MPPUԷBUNDNDABS DABP SZASS MPPUԷ DABP ADAMM SABP ADBMM MPPUԷD PUԷBSBHA MPPUԷƠNMA̠SA SBPU3K SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS SBPU3DSAHAB MPPUԷADDNԠND SZBPUND DABP SAPS PUԷƠDAD SBBUD MPPSԬɠSAԠUN PUԷàDBBP ADBMM DAB PUԷŠSAP056A H56DAB56UNDNDAB̬ SBPN MPPD PUԷADAAB MPPUԷ PUԸSD PUԸDAPPԸ SADSԠUPANSҠV SBHA MPPUԱA SBPUԱGHKMMA SBDHA SSSHUDBŠDN MPPUԱA SBPUԱŠҠҠDN? SZDԠDAU? SSN MPPUԱAYS SAD MPPUԱB PU9D PU9DAPP9 SADSԠUPANSҠV DAD30 SADDAUԠAS SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPND SAD SBHA NP ҠB0SԠAD? SZASKPɷLƠYS MPPU9AN DABԱDVŠNDA PU9BҠD SAD SBHA SS MPPUԱA MPPUԱB PU9AҠBSԠAP? SZASKPƠYS MPPUԱANϬ DABԱ5PVŠNDA MPPU9B PԱ0SìH PԱ0DAPPԱ0S DBPN ADBMM0-0 SZBSSSKPƠS DAPPԱ3H SADSŠANSҠV A SADDAUԠVAU SBPUԱHKҠMMA SBHA SSK MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SADSŠVAU MPPUԱB PԱ PԱDABD PABP MPPDNHNGϠAS ADAMM DAA SAA̠PVUSANSҠV AƬA ANDB3DUN MANA ADABD SABDBDBD-DUN DAA ANDB3 ҠB5SԠB SZASS MPPԱAYSB ҠB SZASKPƠG MPPD DABD ANDBGԠADDSS ADAPAGŸ6000B SAA̠ƠNDAB DAA̬ɠSHSAB SZADND? MPPDYS DABDɠSAHҠHҠNS SAMPMASKUSDϠSAHҠH DABDNS SAMPPN PԱàPABP MPPԱBNԠUND DAMP ADAMMGԠANSҠV DAA AƬA ANDB3GԠDUN MANA ADAMPADDSSADDSS-DUN SAMP DBMP PBMP MPPDANHҠNŠASUND 20.*MPPԱ PԱADABPSAHABŠҠAN NAHSAB PԱŠSABP DABP PABD MPPԱDUND DABP ADAMM MPPԱ PԱDSAMPKAAPN DABP SAA̠ADDSSƠAB ANDB3 ҠMPɠ6000B SAMPMASKUSDϠSAHҠH ANS SAA̬ɠZϠUԠAB DAMP MPPԱ PԱBANϠNŠUND DBA ADBMM SABɠAB̠0 NA SAA̬ɠADDSS0SϠԠ̠B MPPDDND PԱP PԱUPDSN PԱP PԱDAPPԱANSҠV MPPUԷG PԱ5 PԱ5DAPPԱ5 SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBPU3DSAHAB MPPUԷADDNԠND- SZBPUND DABP ANDB3 ҠMPɠ6000B SAD SBHA MPPUԱA SBPUԱG SBDHAҠGԠNUMBҠƠMSϠPA SSK-SKP MPPUԱA SBPUԱŠDNŠҠ? SAD A SAD3 DAD5 SBBUD MPPD ?0   24203-80008 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A SKP VPAҬDSSS VPNP SBPNDHKҠAB DBVPɠD DAVP SAA DAB AƬA ANDB3 SAY̠YND DAB ANDB SASҠS DAB AƬA AƬA ANDB SAHADHAD SZVP DAVPɠD3 SZVP ANDB3PD SZA MPVPA VPHDAB5A SBP B SBSHADA SBAHAԠҠHADSϠSH VPƠDAVPɠNԠANSҠV SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB VPDDABS SBP B SBSKSK SBASAԠҠSK MPVP VPBҠB6 SZA MPVP DABDS ANDB3SAVŠHAD-S DBY SZBSS DBD03 ADBMMDMNԠY VPŠBƬB ҠB SAA̬ɠHANGŠD MPVPD VPàDABS ANDB3SAVŠHAD-S DBY NBNMNԠYND PBD03 B MPVP VPGNP PAPPԱ0SNԠANSҠVҠS MPVPGɠYS SBHKN MPVPG VPŬ̬ҬSS VPNP SBPNDHKҠAB DAVPɠD SZVP ANDB3PD ҠB SZA MPVPA DAB60 SBP B DANŠNŠD SBMMD SBAS VPGDAVP SBVPGHKSAUS MPVP VPAҠB3 SZA MPVP SBNHɬɠSANDMYNDҠANDHAD SBNSɬɠANDMS DAVP SAVP &MPVPD VPŠҠD6 SZA MPVPB DAVP SAVP MPVPH VPBҠB5 SZA MPVP A SAHAD SAS VPàSBS DBD95 ANDB3 SZASS MPVPDSҠ0Y̠95 DBD00 ADAMM SZASS MPVPDSҠY̠00 DBD05 ADAMM SZASҠY̠05 MPVPɠSҠ3DN VPDSBY DAB SBP SBSKSKNS DAD0 SANԠSS DAB6 SBAD SBHK MPVPàY VPƠSBSAԠS MPVPG VPDDD VPNP SBPNDHKҠAB DAVPɠD SAN SZVP DAVPɠD3 SZVP ANDB3PD ҠB6 SZA MPVPA DAB6D SBAD VPàDAVP SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB DAB5D SB MPVP VPBDABD SAPN B DAN AƬA A ANDB3SҠUN SANԠNUMBҠƠSS SBDAD DAYHKYàHKMMAND SBMMD SBAS MPVP VP5B VP5NP SBPNDHKҠAB DAVP5ɠD SAN SZVP5 DAVP5ɠD3 SANUMP SZVP5 SBDHKMPAŠBUS SZVP5 DAD SANUMP MPVP5 VP6DB VP6NP SBPNDHKҠAB DAVP6ɠD DBA ANDD3 SAN SZASS MPVP6ƠDUNԠ0 DAN MANA SANԠNԠ-N DABP SAA SSB MPVP6Aƽ VP6BSBANDƽ0 SBVP6ŠSŠNBUҬHKҠND MPVP6B VP6AB SSB Bý0ƽ SZVP6ýƽ DAVP6 VP6àSBVP6ŠSŠNBUҬHKҠND SZBSS MA MPVP6 VP6ŠNP SAA̬ɠSŠANBU SZA SZNԠDN? MPVP6ŬɠN VP6GSZVP6YS SZVP6 MPVP6ɠ VP6ƠSSB SZVP6 MPVP6G VPSD VPNP SBPNDHKҠAB DAVPɠD SZVP SAUNԠSŠUNԠNUMB SZVP MPVPɠ VP9D VP9NP SBPNDHKҠAB DAVP9ɠD DBA ANDD3B SAN A SSB DABPVŠAKNDA B SSB DADBDVŠAKNDA SASP SBADɬɠŠADDSS SZVP9 SZVP9 DAVP9 SBVPGHKSAUS MPVP9ɠ VP0S VP0NP SBPNDHKҠAB DAVP0ɠD SASHASPDSAUS SZVP0 SZVP0 SBHKHKSAUS A SASHASSԠPDSAUS MPVP0 VP3H VP3NP SBPNDHKҠAB DAVP3ɠHAԠD HԠ SZVP3 SZVP3 MPVP3 VPP VPSBPNDHKҠAB MPBPϬ VP5 VP5NP SBPNDHKҠAB DAVP5ɠNUMB%1ƠMSϠPA SZVP5 PAVP5ɠDN? MPV5AYS SZVP5 SZVP5 MPVP5ɠUMPϠAB V5AA SAVP5ɠSԠUN SZVP5 SZVP5 SZVP5 MPVP5 ANSҠVS PNSUSDBYANSҠVS DàABS-- DŠDƠ+ ASàAҠ0 ASàB ASàD ASàŠ3 ASàDB ASàDS5 ASàŠ6 ASàN ASàP0 ASàGϠ ASàHԠ ASàD3 ASàS ASàB5 ASàD6 ASàҠ ASàS0 ASàSà ASàSD ASàSҠ3 ASàD ASàP5 ASà̠6 ASàSԠ ASàԠ30 DƠDƠ ABŠƠPDS DŠGNAҠANSҠAB UàDƠ+ DƠPUԱA DƠPU5B DƠPUԴD DƠPUԲ DƠPU6DB DƠPUԱDS DƠPԱ DƠPUԷN DƠPԱP DƠPU3G DƠPԱ0H DƠPU9D DƠPUԱS DƠPU3B DƠPUԴD DƠPUԲ DƠPUԲS DƠPԱ0S DƠPUԸSD DƠPUԱS DƠPUԴD DƠPԱP DƠPUԲ DƠPUԲS DƠPԱ5 HDPAK PAK NPUԠϠHAASPAKDNϠNŠD SKPSN-Š PAKNP SBHAҠSԠHAA MPPAKɠ AƬAƠPSNϠԠHAA SAA̠SAV SBHAҠSNDHAA MPPAKɠ ҠA̠PAKGH SZPAK MPPAK HDBUDPND BUD ANSSDŠMDDD3ANDD HŠKAA. NNYANUMBҠƠDSϠANS BUDNP DBASAVŠUN ADBD0MPNҠϠNԠD SBA AƬAƠMDN ADAPN SABɠSŠNϠANSҠAA SBP3NɬɠHKҠV DAD0 BU̱NA DBAɠANS SBBDɠϠKAA SZBD PAA̠DN? MPBUDɠYS MPBU̱N PND HKSҠABԠ(B30 PNDNP SBS ANDB3 SZASSSB30? MPDNŬɠYSAB MPPNDɠNϬK HDMSSAGS SUP M0Ԡ06 ASà9H0HP00AADGŠDSàMMYDAGN ASà03S 0U+-M0-M0 MASàűAҠADҠNAB ̱U+-M-M MASà5ŲƠҠSSAD-HANN 00ABSS ̲U+-M-M M3ASà93SàADHAGA-HANN 003ABSS 3U+-M3-M3 MASà5ŴSƠҠSàAD-HANN 00ABSS ̴U+-M-M M5ASà5SSADHAGS-HANN 005ABSS 5U+-M5-M5 M6ASà6NϠNUPԠNHANN 006ABSS 6U+-M6-M6 MASà6ŷNGUNADDSS-HANN 00ABSS ̷U+-M-M M0ASà0ű0NϠMMANDAG ̱0U+-M0-M0 MASà09űAŠDAAAG ̱U+-M-M MASà6űNϠDAAAG(GNGSAUS ̱U+-M-M M3ASà0ű3 P3ABSS ASà0DSANSD P3BBSS ASà05PD ̱3U+-M3-M3 MASà5űNϠMMANDAG(USNGDMA ̱U+-M-M M5ASàH5ADDSSDN P5ABSS ̱5U+-M5-M5 M6ASà06H6V ̱6U+-M6-M6 MASà0HDUPAŠAB ̱U+-M-M M0ASà3H0UNDNDNSUN ̲0U+-M0-M0 MASà9ŲMSSNGҠDUPAŠANNB ̲U+-M-M MASà0HYàHKN PABSS ̲U+-M-M M3ASà09H3ADHKN P3ABSS ̲3U+-M3-M3 MASà09HYNDҠAB Ԡ06 PABSS0 ̲U+-M-M M5ASàH5SHϠAҠAB? ̲5U+-M5-M5 M6ASà0H6NҠYNDSSPAADBYMMAS ̲6U+-M6-M6 MASà09HPANAB Ԡ06 PABSS ̲U+-M-M M30ASà9H30NҠPANSSPAADBYMMAS 30U+-M30-M30 M3ASà0H3NPUԠ 3U+-M3-M3 M3ASà09H3SԠSH 3U+-M3-M3 M33ASà09H33SԠSH 33U+-M33-M33 M3ASà0H3NҠUNԠNUMBS(0-3SPAADBY ASà03MMAS 3U+-M3-M3 M35ASà09H35NA̠SAUS 35U+-M35-M35 M36ASàH36ŠADDSSN P36ABSS 36U+-M36-M36 M3ASàH3ADAҠŠADDSSNS0 3U+-M3-M3 M0ASà0H0ADYUN P0ABSS ̴0U+-M0-M0 MASà5HADDVŠAKNS0 ̴U+-M-M MASà6HŠPDAKNS0 ̴U+-M-M M3ASà05H3UN P3ABSS ASàNԠADYHKNS0 ̴3U+-M3-M3 MASà06HSKN PABSS ̴U+-M-M M5ASà0H5ŠN P5ABSS ̴5U+-M5-M5 M6ASà06H6ADN P6ABSS ̴6U+-M6-M6 MASà0ŴDAAD PABSS ASà0S PBBSS3 ASà06SHUDB PàBSS3 ̴U+-M-M M50ASà09H50VUNNS 50U+-M50-M50 M5ASà0H5Y P5ABSS ASà03HAD P5BBSS ASà0S P5àBSS ASà06DUN P5DBSS ASà03UN P5ŠBSS 5U+-M5-M5 M5ASà05BUҠHKSUM P5ABSS3 ASà03Y P5BBSS3 ASà0( P5DBSS ASà03HDS P5àBSS3 ASà0(H P5ŠBSS ASà0S P5ƠBSS ASà0 5U+-M5-M5 M53ASà5H53AVAGŠMNMUMSKM P53ABSS P53BBSS 53U+-M53-M53 M5ASà5H5AVAGŠANDMSKM P5ABSS3 ASà0NGH P5BBSS 5U+-M5-M5 M55ASàH55NҠNSUNS 55U+-M55-M55 M56ASà0H56UNDNDAB P56ABSS 56U+-M56-M56 M5ASàH5VUNHKNS 5U+-M5-M5 M60ASà0H60NŠN P60ABSS 60U+-M60-M60 M6ASàH6ADAҠNŠNS 6U+-M6-M6 M6ASàH6YPŠAҠHADS0BҠ3 ASà5ҠANAY0HN3 6U+-M6-M6 M63ASà063NϠDAAAG 63U+-M63-M63 M6ASà06SAUSS P6ABSS3 ASà06SHUDB P6BBSS3 6U+-M6-M6 M65ASà05H65PASS P65ABSS 65U+-M65-M65 M66ASà6H66SԠVDŠSHPUSHUN 66U+-M66-M66 M6ASàH6AҠVDŠSHPUSHUN 6U+-M6-M6 M0ASà0H0UNKUN P0ABSS ASà05PUSHUN ̷0U+-M0-M0 MASà6HPSSPSԠHNPSSUN ̷U+-M-M HDADD UNŠϠPNԠUԠHŠUNԠDSKADDSS ADDϠNP SBBKSYAVAAB? MPAUԠN DAY̠YSNVԠYNDҠNUMB DBP05AϠAS SBDNANDSŠNMSSAG DAHADNVԠHADNUMB ҠHDN DBP05BϠAS SBDNANDSŠNMSSAG D'ASҠNVԠSҠNUMB DBP05àϠAS SBDNANDSŠNMSSAG DANԠNVԠDUN DBP05DϠAS SBDNANDSŠNMSSAG DAUNԠNVԠUNԠNUMBҠϠAS ADAASZZ030060BANDSŠNMSSAG SAP05Ŭ H5DAB5Y̬HADS SBPNԠDUNԠؠUNԠ AUԠSBHԠAנHAS MPADDϬ HDNԬNV HŠNԠUNŠUSSNVԠϠNVԠHŠDN HŠAGϠA̠ANDMVSHŠHŠASɠDS HŠANSPDBYHŠBG. NԠNP SBMPSAVŠADDSSҠA̠DS SBNVԠNVԠAUA̠DϠA DAVԱADSԠD SAMP SZMPUNԠUPADDSS DAVԲ SAMP SZMP DAV3 SAMP MPNԬ HŠNVԠUNŠNVSHŠSNGŠDNHŠA G.ϠHŠASɠDS(A̠NVԱVԲANDV3. NVԠNP SAMP5SAVŠD DBADϠBAS A ANDD SSB ҠBԸNŠҠԠA̠DG ҠASZZ SAVԱ DAMP5GԠDBAK AƬA A̬A ANDBAVŠϠDGS DBASAVŠҠAH AƬA̠MSԠϠPSN ҠBҠHŠϠGH ANDB30 ҠASZZ SAVԲ DAMP5GԠDBAK ANDBAVŠASԠϠDGS DBA AƬA ҠB ANDB30 ҠASZZ SAV3SAVŠGHMSԠDGS MPNVԬɠUN HDY Y NVԠYNDҠABŠϠASɠANDSŠNMSSAG YԠNP DAP0ANAZ SAPNԠPN DAMM0- SASAV PADAԬɠYNDҠABŠPN DAA SBDNNVԠNUMB DAVԱUSŠGH ANDB3HAA AƬAƠ DBAVԱ DAVԲAND ANDP00 AƬAƠHAA ҠBƠVԲ SAPNԬɠҠS SZPNԠD DAVԲUS ANDB3GH AƬAƠHAA ҠB5ƠVԲ SAPNԬɠAND SZPNԠASɠMMA SZSAVŠҠSND DASAVŠD SSA MPP DBP0AMV ADBD9AS DABɠMMA ANDP00 ҠB0 SAB MPYԬ HDSK(PMNA̠SKS SKNP SAUNԠSԠUPUNԠNUMB SBSAԠGԠSAUS DASAUSSHS ANDNBԠUN SZAADY? MPSKɠN SBSKYSPMSK DAM56 SANԠAנ56MSNDSҠAG DBD SKU SBK DBD0 ò0Sà MPSK DAN SSASKPNMŠU MPSK SBPPUNԠPAN DAB0NϠàAG SA SBPN SBADDɬ MPSK SKU òAàGԠANNBS SAAN SBAS DAAN SZSK MPSK BUBDƠ HDN G000B N NGUSAHƠHŠHANNS NԠSBS SANSנSAVŠNGUANSHG ANDB SAHSAVŠYPŠSԠD DANSנADNGUANSHG AƬAƠSHԠGH A̬A̠Sؠ̠<ANS ANDB SAA̠SAVŠDAAHANN̠SԠD DBSB SBGBSAVŠSԠPN A SAAGAG- DBASB ASBGBSAVŠASԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBGBɠDN? MPàYS SZGBN MPB àU SZAGSKPƠNԠDN MPUԠDN SZA̠NMNԠSԠD DBS SBGBSAVŠSԠPN DBASàADASԠPN MPA UԠU SԠUPDMA DANSנADNGUANSHG ANDBԱ SZASKPҠDMA6 ANAHSSDMA SAA DBSD SBGBSԠUPPN DDBGBɠADADDSSMAB DABɠADVAUŠM ANDP6MASKƠBԠ0 ҠA̠ADDDMAHANN̠B SABɠSŠ PBASDɠDN? MPŠYS SZGBNϬNNU MPD ŠU Ԡ00AנҠSϠDUMP MP00B SBDƠ+ DƠDMA DƠD0 DƠD0 DƠD03 DƠD0 DƠD05 DƠD06 DƠDñ DƠDñ DƠDñ3 DƠDò DƠDò3 DƠDñ ASBDƠ- SàDƠ+ DƠ0 DƠ0 DƠ03 DƠ0 DƠ05 DƠ06 DƠ÷ DƠ09 DƠñ0 DƠñ DƠñ DƠñ3 DƠñ DƠò0 DƠò ASàDƠ- SDDƠ+ DƠDMA DƠDMB DƠDM DƠDMD DƠDM DƠDM DƠDMG DƠDMH 0 B@MPAYSAG ɠSB+ DƠ DɠSB+ DƠD SB0SBAԬ SBSBA+ SBSBA+ SBŲSB+ DƠ. ASԠDƠSPԠASԠPAAMҠAB ASԠDƠSPԠASԠPAAMҠAB PSNPSԠPAAMҠABŠPN SPԠBSS56SԠBUҠƠSԠDS BUADƠBUƠAYNPUԠBU NԠNPHASNNPUԠBU PSNPHAҠPSNNPUԠBU BUƠBSS33HAAҠYNPUԠBU MADƠM MADƠMG MABDƠMGB MGADƠMG MGADƠMG MG3ADƠMG3 MGADƠMG MADƠM MADƠM M5ADƠM5 M5ADƠM5 M6ADƠM6 M6ADƠM6 M6YADƠM6Y MADƠM MADƠM M0ADƠM0 ű0ADƠM0 MADƠM űADƠM űYADƠMY MɠABS ASà00ANP.S MGASàP MGAASà3 MGBASà MGASà9-Ơ0-Sà0 MGASà9-Ơ0-SS0 MG3ASà9-3SƠ0-Sà0 MGASà9-SƠ0-SS0 MASà? MASàNP? M5ASà5-5NɠSý M5ؠASà M6ASà-6ҽ M6ؠASà5ؠSB M6YASà3YYYYYY MASà5-DɠSý MؠASà M0ASà6-0NɠSý M0ؠASà MASà6-UɠSý MؠASà3ؠSB MYASàYY AADƠA AԠBSS6NDԠADDSSAB SPà3 SUBUNŠϠHKҠҠMSSAG MNP A AND0000 SZASSHKSHS SZMBHSԠ-UNP+ MPMɠHҠSԠ-UNP+ SPà3 SUBUNŠϠHKҠҠHA HԠNP A A SSAHKSH SZHԠSԠ-UNP+ MPHԬɠSԠ-UNP+ SPà3 SUBUNŠϠHKSH ñUPNP A A SSASSHKSH SZñUPSԠ-UNP+ MPñUPɠSԠ-UNP+ SPà3 SUBUNŠϠPAKSԠDŠNMSSAG GVNSԠDŠNA GVNMSSAGŠADDSSNB SϠNP SAԱSAVŠD ANDB SAԲSAVŠBS-0 DAԱ ANDB0MASKBS5-3 AƬA̠MVŠϠBԠPSN0- ҠԲMGŠBS-0 ҠA00ADDASɠP SABɠSŠNMSSAG NBSPMSSAGŠADDSS MPSϬɠUNP+ SPà3 SUBUNŠϠPAK6A̠DGԠDNMSSAG GVNDNA GVNMSSAGŠADDSSNB ϠNP AƠGHԠUSYBS5- SA3SAVŠADNNS ANDBKPNYBS3-0 SBSϠPUԠSԠHASNMSSAG DA3 A A̬A SBSϠPUԠNDHASNMSSAG DA3 AƬA A SBSϠPUԠ3HHASNMSSAG MPϬɠUNP+ SPà3 SUBUNŠϠSԠNDƠPASSUNS P0NP DAASSԠNDƠPASSUN SAMGASŠASɠSPASNHŠ SAMGA+DSSANGAԠ.MGA SAMGA+ SAMGB ASԠNDƠPASSUNԠ(DSPAY SAPA SAPB MPP0 SPà3 SAԠà0àUNVYHNG DAM6MNDԠADDSSNGAB SAԱҠUNPDNUPS: DBAAAԠ_DƠU0 DAUAA+_DƠU0+ SԱSABɠA+_DƠU0+ NB. ADA. SZԱ MPSԱUNUŠҠ6DS SBP0SԠNDƠPASSUNS A A SSAHKSH MPSPSԠ-NϠNDUYMSSAG DA. DBMA SBSԬɠAҠ-PNԠNDUYMSG. SPà0àUNVYHNG SPà3 SԠ:HKƠ0-Sà0MBNAN Ơ0 Sà0 SS MPSԲƠ0-Sà0MBNANK SBMҠ-HKҠMSSAG MPԱ.HNϠҠMSSAG DA. DBMGA SBSԬɠPNԠҠMSSAG Ա.HSBHԠHKҠҠHA HԠҠHA SPà3 SԠ:HKƠ0-SS0MBNAN SԲƠ0 SS0 MPS3Ơ0-SS0MBNANK SBMҠ-HKҠMSSAG MPԲ.HNϠҠMSSAG DA. DBMGA SBSԬɠPNԠҠMSSAG Բ.HSBHԠHKҠҠHA HԠҠHA SPà3 SԠ3:HKSƠ0-Sà0MBNAN S3SƠ0 Sà0 MPSԴSƠ0-SàMBNANK Ơ0UNƠNP.SYSM SBMҠ-HKҠMSSAG MP3.HNϠҠMSSAG DA. DBMG3A SBSԬɠPNԠҠMSSAG 3.HSBHԠHKҠҠHA HԠ3ҠHA SPà3 SԠ:HKSƠ0-SS0MBNAN SԴSƠ0 SS0 SS MPHKNSƠ0-SS0MBNANK Ơ0UNƠNP.SYSM SBMҠ-HKҠMSSAG MPԴ.HNϠҠMSSAG DA. DBMGA SBSԬɠPNԠҠMSSAG Դ.HSBHԠHKҠҠHA HԠҠHA SPà3 HKҠNנSԠPAAMҠBU HKNà0àUNVYHNG DBAS PBAS MPNԠBUҠMPY-GԠNנNPU A SSASSHKSH5 MPPàSԠ-DϠNP.PYHK. SPà3 NנNPUԠƠSԠPAAMҠAB NԠDBAS SBASԠSԠBUҠPN SBP0SԠNDƠPASSUNS A A SSASSHKSH MPNSԠ-NPUԠSBYY SHGSҠNPU SNԠ0000NA̠HA:Խ0000 SNANPUԠSԠD ANDBKPNYBS5-0 SZASS MPSN3DNŠƠ0 SBPԠPUԠSԠDŠNSԠBU MPSNSԠDŠNPUԠ Ԡ000HAԠҠNԠNPU:Խ000 MPSNNNU SN3DBAS PBAS MPSNNPUԠ:NϠSS Ԡ00NA̠HA:Խ00 MPPàGϠDϠNP.PYHK YPŠNPU NANA DBMA SBSԬɠPNԠA"?" NSBNPUԠNPUԠDN NSBGNàGԠNԠA̠DG AƬAҠMVŠԠϠBԠPS.5-3 SAԱSAVŠԠMPAY SBGNàGԠNԠA̠DG ҠԱMGŠHŠDGS SZA MPN3MAYBŠDNŠƠ0 DBAS PBAS MPҠNPUԠ:NϠSS MPPàDNŠƠ0 N3SBPԠADDSԠDŠϠSԠBU SS MPNGϠGԠNԠSԠD ҠDA. DBMA SBSԬɠPNԠ"NP?" MPNYAGAN SPà3 SUBUNŠϠNPUԠYPŠN NPUԠNP DA.3 DBBUA SBKYBDɠSϠA̠-HAAS SANԠSAVŠHAAҠUN PA.3 MPҠϠMANYHAASƠ3 B SBPSSԠPSNƠNԠHA MPNPUԬɠUNP+B_PS0 SPà3 SUBUNŠϠGԠNԠHAAҠNA(-0 GNàNP GNñDBPSHGԠHAAҠPSN PBN SBNPUԠNDƠBUҠ-NPUԠNנN SZPSSPHAҠPSN ŬBŠ_HAҠPSB_.ADDSS ADBBUAGԠADDSSNBU DABɠGԠDƠHAS SZSS AƬAƠŽ0GHԠUSYHAA ANDB3SAŠHAA PAMMA MPGNñGNŠƠAMMA PASPA MPGNñGNŠƠASPA ADAN60SPƠASɠP SSA MPҠ:<0 ADAN0 SSASS MPҠ: ADAB0 MPGNìɠUNP+ SPà3 SUBUNŠϠPUԠSԠDŠNANSԠBU ƠSàNԠ0HUAҠBUҠUNP+ ƠSàSAADYNBUҬAҠBUҠUNP+ SŠNSԠԠNHŠBUҠUNP+ PԠNP SAԱSAVŠSԠDŠNY ANDB0 SZANԠ0HU MPPԲ PԱDBAS SBASԠSԠPNS MPPԬɠUNP+ PԲDBAS SS P3NB PBAS MPP9NDƠBUҠ-NSԠNY DAB PAԱ MPPԱDUPAŠSԠD MANA ADAԱ SSASS MPP3NNUŠUN̠NSԠADDҠUND SBԲSAVŠNSԠADDSS DBASԠMVŠSԠƠBUҠDN PԴADBM DAB NB PBԲ MPP9 SAB ADBM MPPԴ P9DAԱ SABɠNSԠD SZASԠSPA SZP MPPԬɠUNP+ SKP HSSNHKSHAԠHHŠN̠ANDAG'S SԠҠAHSԠDŠGVNNHŠSԠBUҬHAԠN NUPԠUSHHŠNUPԠSYSM. ANUNPDNUPԠHŠSUSNAAP̠HA HԽ030.ؠSHŠSԠ:nDŠƠHŠBADS. HŠPAҠSHUDNԠNNU.HKHŠNSGNA̠N NHŠNAŠADNSԠ. Pàà0àUNVYHNG DAM6 SAԱԱ_-6 DB.PUԠ030ؠHASNA̠AP DAH30S:ؽ003... PñSAB NA NB PBB00 SS MPPñ DBASԠSԠAGN̠'S PòPBASԠA̠SԠDSNAB MPP3 DABɠGԠSԠDŠ ҠS0MSàؠNSUN SA+PUԠԠNN NPUŠ DAB ҠS0MSƠؠNSUN SA+PUԠԠNN NPUŠ NB MPPòDϠҠNԠSԠD P3DAH3000_03000 DBH30_0300 SZԱGVŠԠAHANŠϠNUP MP- SPà3 HSSNHKSAHƠHŠSԠDSGVNNHŠS BUҠNDVDUAY.HKDA: .HAԠAHSԠNUPS .HAԠANDNUPԠDSN'ԠUҠNAHS 3.HŠNNSƠHŠNA̠NUPԠGSҠAҠHŠNP. .HAԠNϠUNPDNUPSU. HŠNA̠NUPԠGSҠSNԠHKDƠSH3SS. NϠNUPSSUԠNҠ5. NԠNA̠NUPԠGSҠNNSSUSNҠ6. DUBŠNUPSSUSNҠANDSVAB à0àUNVYHNG DAH60 DB.PUԠ060ؠHASNA̠AP Pñ0SABɠS:ؽ003... NA NB PBB00 SS MPPñ0 DBAS PñSBPSNԠBUҠADDSS DAB SASàPDSԠHANN DA SASìɠAP̠_SBҠ(NDԩ DAS ҠS0 MSàSàNSUN SA+SŠNN NPU DAS ҠS0MSƠSàNSUN SA+SŠNN NPU DAH600A_06000 DBH60B_0600 SƠ0UNNNUPԠSYSM NPGVŠԠAHANŠϠNUP NP Ơ0Ҡ-NϠNUP SBMHKҠҠMSSAG MPPñNϠҠMSSAG DAS DBM5A SBSϠMҠMSSAG DA. DBM5A SBSԬɠPNԠҠMSSAG PñSBñUPHKSH MPPñ3SԠ-NϠҠHA B DASàA_PDSԠD HԠ5ҠHA Pñ3DAS Ҡ0àMàSìàNSUN SA+SŠNN NPU DAH600 ҠS SASìɠAP̠_060ؠ(ؽSé DBPS NBNԠSԠBUҠADDSS PBAS MPPò0NDƠBU MPPñNԠNDƠBUҠ-NNU SPà3 PDNUPԠUN ҠNP Ơ0UNƠNUPԠSYSM A A̬A SSAHKSH3 MPҲSԠ-DN'ԠHKN.N.G. A SAҠSAVŠNA̠NUPԠGS PAS MPҲNNSK SBMHKҠҠMSSAG MP.HNϠMSSAG DA DBM6AMҠMSSAG SB DAS DBM6YA SB DA. DBM6A SBSԬɠPNԠҠMSSAG .HSBñUPHKҠҠHA MPҲNϠҠHA DAҠA_NA̠NP.G. DBSàB_PDNNS sHԠ6ҠHA ҲDAD SASìɠAP̠_SBDҠ(NDԩ DAM6 SAԱ DAH600A_06000 DBH60B_0600 SƠ0UNNHŠNUPԠSYSM SZԱA MP- Ơ0K-NϠNDNUP MPPñ3NNU DҠNPҠ-NDNUP Ơ0UNNUPԠSYSM SBMHKҠҠMSSAG MPDҲNϠҠMSSAG DAS DBMAMҠMSSAG SBS DA. DBMA SBSԬɠPNԠҠMSSAG DҲB DAS HԠVABŠҠHA MP-Խ000ASԠD SPà3 HSSNSSA̠HŠAGSNSƠA̠SԠDS GVNNHŠSԠBUҬHNHKSHAԠHŠNUPSUҠAS PDHNHŠNUPԠSYSMSUNDN. Ҡ0SUSƠANPDNUPԠDSN'ԠU. ANUNPDNUPԠSUSNҠANVAB HAԠ. Pò0à0àUNVYHNG DB. DASBSԠA̠APSHA PòSABɠSBɠϠHŠUNPD NANUPԠUNS NB PBB00 SS MPPò DBM6SԠNP'SNHŠUN SBԱADDSSSƠA̠UNPD A DBUA SAB ADB. SZԱ MP-3 DBASԠSԠNSAGSҠAH Pò3DABɠSԠDŠGVNNH ҠS0SԠBU. SA+ NPSàNSUN DAB ҠS0 SA+ NPSƠNSUN NB PBAS SS MPPò3 DBAS Pò6SBPSNԠADDSSNSԠBU DAB SASàSԠDŠƠNԠPDN DASBŲ SASìɠAP̠_SB.Ҡ(NDԩ DASB0A_SBU0(NDԩ DBSBB_SBU0+(NDԩ SƠ0UNNNUPԠSYSM NP NP Ơ0Ҡ-NϠNUP SBM MPPòNϠҠMSSAG DAS DBű0AMҠMSSAG SBS DA. DBM0A SBSԬɠPNԠҠMSSAG PòSBñUP MPPò5NϠҠHA B DASàA_SàƠPDNUP HԠ0BҠHA SS .ҠNP Ơ0UNƠNUPԠSYSM Pò5DAS Ҡ0 SA+MàSìàNSUN NPUŠ DAS ADASB0 SASìɠAP̠_SBɠϠUNPD DBPS NBNԠADDSSNBU PBAS SSNDƠBUҠ-DN MPPò6NNU DBM6DNŠ-BUԠMAKŠSUŠAN SBԱUNPDNP.DSN'ԠU DASB0 DBSB SƠ0UNNNP.SYSM SZԱ MP- Ơ0UNƠNUPԠSYSM SPà3 NDƠPASS PDBMABSPNDƠPASSUN NԲDABɠNMSSAG NA ҠB0 SAB ANDB PAB SS MPDN DAB ADAB366 ҠBԱ SAB ANDD00 PAD5000 SS MPDN DAA00 SAB ADBM MPNԲ DNŠSZPASPDSPAYNDƠPASSUN SS SZPB NP A ANDŲ000 SZAHKSHS0 MPPHҠSԠ-NϠPMSSAG DA. DBMA SBSԬɠMNB@MMP6+YS SBSKɬ DAM6 DBM6 SBY.ϬɠS SBNHԬɠHŠUNADDSS 6HԠ6SN SBNHANGŠN SPà SԠN̠S SPà ҠDAHAAP̠HAS DBHB Pұ3SàPҠSԠN PұSƠP à0SHUDAҠA̠N̠BS SƠ0NAB NPSHUDN NPNUPԠH Pұ5ƠPҠAҠAG ASHG SSAAUϠNNUŠƠBԠ5S MPGD SBSKɬɠNԠS DAM DBMɷ SBY.ϬɠS DBHBAP̠HAS DAHA SƠ0 ŷHԠ SPà PSԠSԠ SPà Pұ6SàP MPű0+AGSԬNNU SBSKɬɠNԠS DAM0 DBMɱ0 SBY.ϬɠS SBNHԬ ű0HԠ0BPSԠDDNԠSԠAG DAHA DBHB PұSƠP PҲ0SàP NPSHUDN NPNUPԠH GDà0àUNVYHNG DAH PҲSAPҠSԠHANN̠AP̠HA ASנG AƠSHԠBԠ9 A̬A SSASSSKPƠS MPű+NԠSԬNNUŠAU SBSKɬɠUNSM-AU DAM DBMɱ SBY.ϬɠS űHԠBNDBɯ ASנGϠA MŬSSAYŠS? MPBɯϠYSPA MPGàNϬ SPà HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN SBSBұɠNUPԠUN ADDSDƠNP+ HDGà-DAASԠGàS GàNP DAN3Pɠ0MUSPDŠNԠN PҲAPҠDUPU SBDY PҲBƠPҠDAYƠNŠYŠNSSAY DANPɬPNDDSSDϬAҠ0 PҲ3AP SBDY PҲSSP MPű3+ SBSKɬ DAM3 DBMɱ3 SBY.Ϭ SBNHԬ ű3HԠ3BAGSSԠANDSHUDBŠ0 PҲ5APҬàBɠNϠA ANDMSKSԠBS-5 SZA SS MPű+ DBMA SBDAAMDYMSSAG SBSKɬ DAM DBMɱ SBY.Ϭ SBNHԬ űHԠBBɠSAUSN SPà DAN3Pɠ0.PNDDSSDϬAҠ PҲ6AP SBDY PҲSSP MPű5+ SBSKɬ DAM5 DBMɱ5 SBY.Ϭ SBNHԬ ű5HԠ5BAGSSԠANDSHUDBŠ0 P30APҬàBɠNϠA ANDMSKSԠBS-5 SZA SS MPű6+ DBMA6 SBDAAMDYMSSAG SBSKɬ DAM6 DBMɱ6 SBY.Ϭ SBNHԬ ű6HԠ6BBɠSAUSN SPà DANPɠMUSԠBŠUD P30BAP SBDY P30àƠPҠDAYƠNŠYŠNSSAY DANPɠ.PNDDSSDϬAҠ0 P3AP SBDY P3SSP MPű+ SBSKɬ DAM DBMɱ SBY.Ϭ SBNHԬ űHԠBAGSSԠANDSHUDBŠ0 P33APҬàBɠNϠA ANDMSKSԠBS-5 SZA SS MPŲ0+ DBMA0 SBDAAMDYMSSAG SBSKɬ DAM0 DBMɲ0 SBY.Ϭ SBNHԬ Ų0HԠ0BBɠSAUSSN SPà DAN5PɬPND.DSSDϬAҠ0 v P3AP SBDY P35SàP MPŲ+ SBSKɬ DAM DBMɲ SBY.Ϭ SBNHԬ ŲHԠBAGS0ANDSHUDBŠS P36APҬàBɠNϠA SSASԠBԠ5 MPŲ+ SBSKɬ DAM DBMɲ SBY.Ϭ SBNHԬ ŲHԠBBɠBԠ5SHUDBŠS SPà DANSԠA̠US P3AP SBDY PҴ0ƠPҠŠɯϠAGA DAN6PɬDSS.PNDDϬAҠ0 PҴAP SBDY PҴSàP MPŲ5+ SBSKɬ DAM5 DBMɲ5 SBY.Ϭ SBNHԬ Ų5HԠ5BAGS0ANDSHUDBŠS PҴ3APҬàBɠNϠA A̠SԠBԠ SSA MP35+ SBSKɬ DAM35 DBM35 SBY.Ϭ SBNHԬ 35HԠ35BBɠBԠSHUDBŠS SPà DANPɬDϠ.PNDDSSAҠ0 PҴAP SBDY PҴ5APҬàBɠNϠA A̬A̠SԠBԠ3 SSA MPŴ0+ SBSKɬ DAM0 DBMɴ0 SBY.Ϭ SBNHԬ Ŵ0HԠ0BBɠBԠ3SHUDBŠS SPà DANSԠA̠US PҴ6AP SBDY PҴƠPҠŠɯϠAGA DANPɬAҠ.PNDDSSDϠ0 P50AP SBDY P5SàP MPŴ3+ SBSKɬ DAM3 DBMɴ3 SBY.Ϭ SBNHԬ Ŵ3HԠ3BAGS0ANDSHUDBŠS P5APҬàBɠNϠA AҬAƠSԠBԠ SSA MPŴ6+ SBSKɬ DAM6 DBMɴ6 SBY.Ϭ SBNHԬ Ŵ6HԠ6BBɠBԠSHUDBŠS SPà 1ASנG A A̬A̠SHԠBԠ9 SSASS MP50+ SBSKɬɠUNSM-AU DAM50 DBM50 SBY.Ϭ 50HԠ50BNDG A MŬSSAYŠS? MPGàYS MPDPҠNϬ HDDPҠ-DGԠPSNԠS DPҠA SSAYŠS? MPH5+YSSKPYPU DAM5 DBM5 H5SBY.Ϭ DAP0SԠUN SADY P53àP DAN0Ѡ ҠN9PND P5APҠUNNGHԠDS DAN9PND P60APҠGHԠUNSN SBDYDAY DANUNƠGH P55AP SBDYDAY SZDY MPP53+ SPà ASנG A A̬A̠SHԠBԠ9 SSASS MP5+ SBSKɬɠUNSM-AU DAM5 DBM5 SBY.Ϭ 5HԠ5BNDDP A MŬSSAYŠS? MPDPҠYS MPMϠNϬ P0Ԡ0 DYNP SPà DYNPDAYABUԠS A SZA SS MPDY NP NP NP NP NP NP NP NP MPDY+ HDMϠ-MUPŠNŠPN MϠNP A SSAYŠS? MPH53+YSSKPYPU DAM53 DBM53 H53SBY.Ϭ DAP60SԠDAY SAN3 DAN0Ѡ P56AP ASנG MA ANDMSK ҠN9ANDPNDHSנGBS0-3 P5AP SZNԴDAYABUԠNŠMN MPP56+ SZN3 MPP56+ SPà ASנG A #A̬A̠SHԠBԠ9 SSASS MP5+ SBSKɬɠUNSM-AU DAM5 DBM5 SBY.Ϭ 5HԠ5BNDM A MŬSSAYŠS? MPMϠYS MPNDNϬ N3NP NԴNP P60Ԡ60 HDSVŠANDSUBUNS NDDAM DBMɷ SBY.Ϭɠ̠PAҠSԠSNSHD ŷHԠB MPSԱ SPà SUBUNS SPà BASàNPA̠AS ANDA00 DBA BSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì A000Ԡ D0060Ԡ30060ASɠPS SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBA000MDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD NBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG SPà SKNPHKSҠPNUԠSN Ơ0DSABŠNUPS DBSK ADBA0003MDYUNADDSS ASנGϠA A SSAPSUPPSSD? MPBɠYSSKPPNU MPSKɠNϬԠANDPN SPà NHɠNPƠBԠNSנGSԬDϠN SZNԲHAԠNSAYA SSS.ASԠSGNԠNNԲ SZNԱANDMSԠSGÒ'NԠNNԱ NP DBNH NBMDYUNADDSS A AƬA A SSANϠHAԠUSD? MPBɠYSSKP MPNHɬɠNϬNMA̠UN NԱԠ0 NԲԠ0UNS SPà DYNP DAP60 SZA MP- MPDY MSSAGS SPà SUP MASàű.ƠDDNԠAҠAGҠSS ASàAUSDSKPHAGA ̱U+-M-M MASàŲ.SàDDNԠSKPHAGA ̲U+-M-M M3ASà03.SƠDDNԠSԠAGҠSàAUSD ASà9SKPHAGS 3U+-M3-M3 MASàŴ.SSDDNԠSKPHAGS ̴U+-M-M M5ASà5.DDNԠNUP 5U+-M5-M5 M6ASà96.HŠUNADDSSSNԠ 6U+-M6-M6 MASà0H.PSSNNA̠ANDNA̠PSԬ ASà0HNPSSUN ̷U+-M-M M0ASàű0.NA̠PSԠDDNԠSԠH ASà03AG ̱0U+-M0-M0 MASàH.NDBɯ ̱U+-M-M M3ASà9ű3.PɬPNDDSSDϬAҠ0.AG ASàSSԠANDSHUDBŠA ̱3U+-M3-M3 MASà9ű.BɠSAUSSؠANDSHUD ASà5BŠ000000 ̱U+-M-M M5ASà9ű5.Pɠ0.PNDDSSDϬAҠ. ASà6AGSSԠANDSHUDBŠA ̱5U+-M5-M5 M6ASà9ű6.BɠSAUSSؠANDSHUD ASà5BŠ000000 ̱6U+-M6-M6 MASà9ű.Pɠ.PNDDSSDϬAҠ0. ASà6AGSSԠANDSHUDBŠA ̱U+-M-M M0ASà9Ų0.BɠSAUSSؠANDSHUD ASà5BŠ000000 ̲0U+-M0-M0 MASà9Ų.PɬPND.DSSDϬAҠ0. ASà6AGSAҠANDSHUDBŠS ̲U+-M-M MASà0Ų.Bɠ5SAҠANDSHUDBC<:6S ̲U+-M-M M5ASà9Ų5.PɬDSS.PNDDϬAҠ0. ASà6AGSAҠANDSHUDBŠS ̲5U+-M5-M5 M35ASà035.BɠSAҠANDSHUDBŠS 35U+-M35-M35 M0ASà9Ŵ0.PɬDϠ.PNDDSSAҠ0. ASàBɠ3SAҠANDSHUDBŠS ̴0U+-M0-M0 M3ASà9Ŵ3.PɬAҠ.PNDDSSDϠ0. ASà6AGSAҠANDSHUDBŠS ̴3U+-M3-M3 M6ASà0Ŵ6.BɠSAҠANDSHUDBŠS ̴6U+-M6-M6 M50ASàH50.NDG 50U+-M50-M50 M5ASà6H5.DSSHUDUNƠANDN 5U+-M5-M5 M5ASà6H5.NDDP 5U+-M5-M5 M53ASàH53.DSSHUDUNƠANDNHN ASà3BS0-3ƠHŠSH Ԡ6 ASà3GSҠAŠSԠANDS 53U+-M53-M53 M5ASà6H5.NDM 5U+-M5-M5 MASàH.DAASԠ59ADAGNSàHAS ASàBNMPD ̷U+-M-M AMUSԠDAVAABŠMMY ND m< !0 24222-80001 A S 0122 2100A MEMORY PROTECT TEST             H0101 e ASMBAB̬Ԭ HDHP00AMMYPԠDAGNS G00B SԱMPSҬ SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY SPà נMMYPGAMSABSANDNSANS SPà G0B PSBPDPAŠD SZV SZN SZNà(NŠ- PSBMDMVŠD SBSDSԠDŠƠSPA̠S DAN PANDSHSHŠND? MP+6YS AMPNMNԠHŠN SƠ0NABŠNS SàMPUNNMP NP MPNŬɠUŠSPA̠S SBPDPAŠDŠBŠNGP MP+ DƠҲ(BAKϠMANPGAM SPà BNԠDƠ+ NP SZBN+ MPBN+ ZDNP ZŠMP+ DƠZű ZƠDƠ+ MP+ DƠZŲ ZGNP MPZG ZHDƠ+ NP MP- AƠMP+ DƠAN ANNP MP- ʱSB+ DƠNԱ ʠàMP DAAɠDƠDAA ҠNP NDNP NàNPNŠ- NŠNP V̠NP SNP P00Ԡ00 P0Ԡ-0 AԠ ABNP ABDƠAB ABBSS0BMPAYSAGŠAA SPà SPA̠SԠPGAMHAԠSUDN A̠ƠMMY SPà ABNP ABDƠAB ABDANìɠNԠ ʲSANìɠNԠNϠҬNϠNԠ SàMPŠNԠϠPԠ DANŬɠNԠ SANŬɠNԠ àMPNԠNϠҬNϠNԠ Ơ0NԠ MPجɠNϠNԬPԠ SPà ؠDƠ+NϠNSAҠUNGSPA SBPDPGAM DAN DBŲ SBDAAɬ 33SBҬɠNϠNUPS MPP+ SPà PDNPPAŠD DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPPD SPà MDNPMVŠD DAP0 SA DAAB SAAB DBN DAB SAAB NB SZAB SZ MP-5 MPMD SPà SDNPSԠSPA̠D DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPSD SPà NԱNP Ơ0 AMP DBA PBʲSԠGA̠N? MPSԠYSNNUŠSPA̠S PBʠSԠGA̠N? MPPYSSPSԠKSϠYAGAN SBSSAVŠBMP SBPDPAŠD DAS DBV SBDAAɬɠNSUNNMSG AMP DB SBDAAɬɠVAN.NMSG DAN DBN SBDAAɬɠNŠ.NMSG 3SBҬɠGA̠NUP MPP+ SԠSBV AMP ADAA SƠ0NABŠNS SàMPUNNMP NP MPAɠUNϠSPA̠S SPà VؠNP AMP PAV̠V̠GK? MPVجɠYS SAS SBPD DAS DBV SBDAAɬɠNԠDAANMSG DAV DBVSԠDAA SBDAAɬɠNMSG 3SBҬɠVANGSҠN MPP+ SPà MMNABSANDNSANS SPà àABS- ҠDƠ+ҠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠű0 DƠű DƠű DƠű6 DƠű DƠŲ0 DƠŲ DƠŲ DƠŲ5 DƠŲ6 DƠŲ DƠ30 DƠ3 DƠ33 DƠ3 DƠŴ0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠŷ0 DƠŷ ҠDƠ SPà HԠDƠDDHAԠAB HԠ HԠ HԠ3 HԠ HԠ5 HԠ6 HԠ0B HԠB HԠB HԠ6B HԠB HԠ0B HԠB HԠB HԠ5B HԠ6B HԠB HԠ30B HԠ3B HԠ33B HԠ3B HԠ0B HԠ50B HԠ5B HԠ60B HԠ6B HԠ6B HԠ63B HԠ6B HԠ65B HԠ0B HԠB SPà MɠDƠMSSAGŠADDSSAB DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM0 DƠM DƠM DƠM6 DƠM DƠM0 DƠM DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM33 DƠM3 DƠM0 DƠM50 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM0 DƠM SPà M̠DƠMSSAGŠNGHAB DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̱0 DƠ̱ DƠ̱ DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲  DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ33 DƠ3 DƠ̴0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ̷0 DƠ̷ SPà SԠDƠ+ABŠƠSԠDSϠB DƠHMDD DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH30 DƠH3 DƠ DƠH DƠDH DƠHԷ ASԠDƠ- SPà A00ԠMMNNSANSANDSYMBS A0003Ԡ3 A000Ԡ00 MNԠ6 MN3Ԡ5 HԠԠ0600 ؠƠH 0Ơ0 A03Ԡ3 DŠԠ0000 ؠNP BDƠ+ Ԡ Ԡ Ԡ Ԡ3 Ԡ Ԡ5 Ԡ6 BؠԠ MN0Ԡ-0 MPؠMP+ DƠN NYNP NP NؠԠ000 Ԡ000 NNP NP NؠDƠ+ NP NP A0300Ԡ300 ANŠDƠA ANàDƠAN NDƠM3+ ŠDƠM3+3 VԠDƠM3+50 ŲDƠM33+9 VɠDƠM3+9 VSDƠM3+30 MPɠDƠMP SBɠDƠSB MSABSM+6 MDABSM+ MƱABSM+6 P0000Ԡ0000 HҠNP HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN HԷԠ0000 DHNP ϠNP SPNP ̠Ԡ ɠDƠ+ Ԡ006Ҭ SAɠDƠSA àDƠM0+3 V̠DƠM0+60 ɠDƠM0+9 MàDƠM50+w ŠDƠM50+5 NSԠDƠM50+3 MòDƠM5+3 ŲDƠM5+53 NSԲDƠM5+33 ZAԠ3 ZBԠ6 ZàԠ6 MPU5MMYP AU0AG BUBG HU0BNA̠VAUŠƠSԠD SPà SKɠDƠSKNDԠADDSSS SBSBұɠNUPԠUN ҠDƠ ADDSDƠNP+ ʱSB+ DƠNԱ ʲSB+ DƠNԲ ʴSB+ DƠNԴ 5SB+ DƠN5 6SB+ DƠN6 ʷSB+ DƠNԷ 9SB+ DƠN9 ʱ0SB+ DƠNԱ0 ʱSB+ DƠNԱ ʱ3SB+ DƠNԱ3 ʱSB+ DƠNԱ ʱ5SB+ DƠNԱ5 ʱ6SB+ DƠNԱ6 ʱSB+ DƠNԱ ʲ0SB+ DƠNԲ0 ʲSB+ DƠNԲ ʲSB+ DƠNԲ MɷDƠM MDƠ̷ MɱDƠM MDƠ̱ Mɱ3DƠM3 M3DƠ̱3 MɲDƠM MDƠ̲ M3DƠM3 M3DƠ3 M3DƠM3 M3DƠ3 MɴDƠM MDƠ̴ M53DƠM53 M53DƠ53 MɷDƠM MDƠ̷ ұDƠN SҠDƠSA HDNAZANPGAM HSPGAMSSAP ̠HASNA̠ɯϠANSANDMDSHŠPN ɯϠNSUNSNDVASHGS SPà G000B SAԠà0àUNVYHNG DBBDMNŠŠSZ SB PDBج ADBP00 DAB SBB PBB MP+3 ŷ0SBҬɠDSABŠHŠAD MPSA SAB DBج SZ DAB SBB PBB SS MPU SAB MPP UԠSBHҠHGHSԠMMYAN SPà DBA D`0AHԠAP̠HA SAB NB NA PBA000AP̠HASMP? SSYS MP-5NϬPA APKUPSDHANN̠M ANDA00BS0-5ƠH SAϠSHGS DBSԠMDYɯϠNSUNS SBSP ̠DBSP DAB ANDP00 Ҡ SAB PBASԬɠNSHD? MP+3YS SZSP MP ASHGϠA SSASKPƠBԠ5S0 MPBɯϠPAԠSԬMԠҬ SBSKɬ DA DB SBY.ϬɠUPUԠҬ HDBɯϠ-BASàɯϠS HSPGAMSSHŠPNҠɯ SPà SԠABYϠSԠANDAҠHŠHANN̠AG SPà BɯϠDAHAAP̠HAS DBHB HƠHAҠHANN̠AG HSSH SSƠDDNԠAҠAGҠSS űSBҬɠAUSDSKPHAGA H3SàH ŲSBҬɠSàNϠSKPHAGA HSƠH H5SàH SSSƠDDNԠSԠAGҠS 3SBҬɠAUSDSKPHAGS H6SSH ŴSBҬɠSSNϠSKPHAGS SPà SԠNUPԠAPABY SPà DASBSԠNUPԠAP SADH DAHAAP̠HAS DBHB HSàHSԠHANN̠ϠUS H9SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 5SBҬɠDDNԠNUP MP NNPNUPԠSUBUN Ơ0DSABŠNUPS DAHàAP̠HA SADH SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠN DANDDNUPԠUҠAԠH PAADDSԠMMAN? SS 6SBҬɠUNADDSSSN SBNHANGŠN SPà SԠN̠S SPà ҠDAHàAP̠HAS SADH DAHA DBHB HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NAB NPSHUDN NPNUPԠH Ơ0 HàH ASHG SSAAUϠNNUŠƠBԠ5S MPGD SBSKɬɠNԠS DAM DBMɷ SBY.Ϭ DBHB DAHA H0SàH H3ƠHAҠAG SƠ0 HHԠ SPà PSԠSԠ SPà HSSH ű0SBҬɠPSԠDDNԠSԠAG DAHA DBHB H5SƠH H6SàH NPSHUDN NPNUPԠH GDà0àUNVYHNG DAH SADHɠSԠAP̠HA ASנG AƬAҠSHԠBԠ SSASSSKPƠS MPH+NԠSԬNNUŠAU SBSKɬɠUNSM-AU DAM DBMɱ SBY.ϬɠS A HHԠBNDBɯ ASנGϠA A SSAYŠS? MPBɯϠYSPA HDMP HSPGAMSSHŠMMYPԠɯϠNSUNSH AANDBGSSHŠPSʼn@ԠSH MPNUPNGBUԠANGϠPԠMMYND UMPNUPԠGAŠM65DANDNDԠADDSSNGHUGH PDAAS SPà HSSNSSHŠSìABAAND BNSUNSҠHŠMPPN SPà MPϠNP DAʱ6SԠNԠADDSS SAMP DAN SAN AMP SƠ0 SàMP NP SAҠSAN Ơ0ŠNԠANDUN+ 6SBҬɠNϠNUPԬSàҠAMGH MPBҠHAVŠADҠNϠMPNSAD SPà NԱ6NP Ơ0 AMP DBA PB0ASԠƠ0? MP6YS PASAɠMPAŠV̠GHàSA SS 63SBҬɠNԠNԠNGHԠPAŬA BMPMGHԠHAVŠAD PBSA SS 6SBҬɠNԠNԠNGHԠPAŬB SPà BҠDAʱ SAMP DBN SBN BMP SƠ0 SàMP NP SBN Ơ0ŠNԠANDUN+ 65SBҬɠNϠNUPԬSìBMGH MPANBHAVŠADҠNϠMPNSAD SPà NԱNP Ơ0 AMP DBA PB0 MP65 SPà SԠHŠAANDBGSS SPà ANBDAʱSԠNԠADDSS SAMP DAN SAN SAN AMP SƠ0NABŠNS SàMPUNNMMP NP SABSHUDNԠNԠH SBAҠH Ơ0BUԠKH MPPS SPà NԱNPAANDBGSҠNԠUN Ơ0 AMPVANGSҠNNSϠA DAAɠNSUNϠA PA0GA̠N? MPPSԠYS DBMSPԠHŠ ]SBDAANSUNNϠMSG AMP DBMD SBDAAANNϠMSG DAN DBMƱ SBDAANŠNϠMSG űSBҬɠAANDBGSҠSԠAD SPà SԠABYƠPSԠϠUNƠMMYP SPà PSԠASנG SSASKPSԠƠAUϠS MPPV SBSKɬɠNԠS DAM3 DBMɱ3 SBY.Ϭ DAʲSԠNUPԠADDSS SAMP DAN SAN AMP SƠ0 SàMPUNNMP DAM SAM SZM3MŠUԠҠ5SNDS MP- SZM MP-3 SƠ0NABŠNS-SHUDAUS DAN SAN Ơ0 MPPVϠSԠK MNP MDà-50 M3NP SPà NԲNP Ơ0 űSBҬɠPSԠDDNԠUNƠMP SPà SԠҠMMYPԠϠNUPԠAND S̠A̠ϠPԠMMY SPà PVϠDAʱ5SԠN SAMP DAN SAN AMP SƠ0 SàMP A SAN Ơ0ŠNԠANDUN+ 60SBҬɠNϠNUP MP SPà NԱ5NP Ơ0 AMP DAA PA0 MP60 DAN PAN SS 6SBҬɠMPNԠANDVANUD SPà SԠNDԠUMPNUPԠGAŠM65D BYSNGAGϠANDUNGSBBNԬ.ƠGAŠSBAD PHASŠƠHŠNGNSUN̠BŠUDHHN HSASŠSA. SPà ɠDAʴ SAMP DAN SAN AMP SƠ0 SàMPUNNMP ANA SBBNԬɠSHUDNԠHŠANDUNA ANԠS Ơ0CŠNԠϠDSABŠMP űSBҬɠNϠNUP MPAPA SPà NԴNP Ơ0 SZA MP+3 ű6SBҬɠGAŠAD MPAPA AMP DAA PA0 MPű MPAPA SPà SԠNDԠADDSSNGHUGHPDAAS SPà APADA5 SAMPSԠNUPԠADDSS DAN SAN AMP SƠ0 SàMPUNNMP DAN SAN Ơ0NUPԠHŠANDUN MP SPà N5NP Ơ0 AMPV̠G DAAɠNSԠϠA PA0GA? SSYSPD Ų0SBҬɠNDԠADDSSNGHUGH SPà SԠAP̠NSUNS SPà ANɯϠNSUNUDNAP̠̠NԠUNƠMP AND̠NԠAUSŠANMPNUP SPà ɠDAؠSԠɯϠNSUNNAP SADHɠ̠(PNҩ DA6 SAMPSԠNԠADD DAN SAN AMP DAHA DBHB HSàHGNAŠN HSƠHHNUŠAP̠NS SƠ0 SàMPUNNMP NPҠ̠AUSŠN NP Ơ0 MPŲ SPà ANNɯϠNSUNUDNAP̠̠UNƠMP AND̠NԠAUSŠANMPNUP SPà NϠDAMPؠSԠNNɯϠNSUNNAP SADHɠ DAʷ SAMPSԠNԠN DAN SAN AMP H9SàHGNAŠNԠHN H0SƠHUŠAP̠NS SƠ0 SàMPUNNMP NPSHUDNԠH NɠƠ0NԠHŠS SPà ASנG AƬA SB@ 24236-80006 A S 0122 HP2883 DISC FILE DIAGNOSTIC             H0101  HDPHKMSV PHKUN. HSUNŠHKSHŠNŠADBUҠ UAYHHŠDNPA. NGHƠHŠPVS.MAHNŠYS UNԠNG96MAHNŠYS 0 60 560 6536 35 65 55 HŠDAGNSàSDSBUDHH PUNSNG.HSSPDSADUAŠNHŠ6 ϠAנHŠADANDHKƠNŠAK UҠNϠVUNS. NHŠ5HŠADANDHKPANAKS HŠVUNSGADSS. PHKNP DAPHKADUNADDSS SAHKSAVŠҠPSSBŠA DANԠADBUҠNGH ASASDVDŠBYGH AS(ҠGHԠUNԠP MANASMPMN SAMPSԠUNҠҠP DAPAԠADMPASND DBBUAŠADADBUҠADDSS BGNNNGƠHŠP PH̠U PABɠHKҠMAHHBU NBSSUNԠUPBUҠADDSSANDSKP MPPHŠMS-MPA PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH SZMPUNԠU MPPH̠NԠDNŬNNUŠHKNG MPؠNϠBUҠSHKSAUS PHŠSBMPPNҠ-S DAPAɠSԠUP SAMPSHUDBŠPAԠƠҠMSJ#SAG DABUA MANA ADAMPADNUMB MPű0 SKP HSUNŠAKSHŠNUMBҠNHŠA-G DVDSBYANDPUSHŠASɠ(DMA̠ SUԠNϠVԱVԲANDV3(.ة MSVNP SAMPADNUMBҠƠMSNDS AƬA A̠DVDŠBY ANDB3NGA̠NUMBҠƠMSNDS SBDNNVԠNGҠϠDMA̠AS DAMPSAԠNANPA ANDBAVŠNYANPA BB_- MD̠ADAMM3SŠϠ0 NBUNԠUPNHSPA SSASSSKPƠNHSAUANDN MPMD ADBASD0MAKŠNϠ. SBV3S MPMSVɠUN HDADD UNŠϠPNԠUԠHŠUNԠDSKADDSS ADDϠNP SBBKSYAVAAB? MPAUԠN DAY̠YSNVԠYNDҠNUMB ANDH DBP05AϠAS SBDNANDSŠNMSSAG DAHADNVԠHADNUMB DBP05BϠAS SBDNANDSŠNMSSAG DASҠNVԠSҠNUMB DBP05àϠAS SBDNANDSŠNMSSAG DANԠNVԠDUN DBP05DϠAS SBDNANDSŠNMSSAG DAUNԠNVԠUNԠNUMBҠϠAS ADAASZZ030060BANDSŠNMSSAG SAP05Ŭ H5DAB5Y̬HADS SBPNԠDUNԠؠUNԠ AUԠSBHԠAנHAS MPADDϬ HDNԬNV HŠNԠUNŠUSSNVԠϠNVԠHŠDN HŠAGϠA̠ANDMVSHŠHŠASɠDS HŠANSPDBYHŠBG. NԠNP SBMPSAVŠADDSSҠA̠DS S-MBNVԠNVԠAUA̠DϠA DAVԱADSԠD SAMP SZMPUNԠUPADDSS DAVԲ SAMP SZMP DAV3 SAMP MPNԬ HŠNVԠUNŠNVSHŠSNGŠDNHŠA G.ϠHŠASɠDS(A̠NVԱVԲANDV3. NVԠNP SAMP5SAVŠD DBADϠBAS A ANDD SSB ҠBԸNŠҠԠA̠DG ҠASZZ SAVԱ DAMP5GԠDBAK AƬA A̬A ANDBAVŠϠDGS DBASAVŠҠAH AƬA̠MSԠϠPSN ҠBҠHŠϠGH ANDB30 ҠASZZ SAVԲ DAMP5GԠDBAK ANDBAVŠASԠϠDGS DBA AƬA ҠB ANDB30 ҠASZZ SAV3SAVŠGHMSԠDGS MPNVԬɠUN HDMSSAGŠABS àABS- ҠDƠ+ DƠH0MSSAGŠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠű0 DƠű DƠű DƠű3 DƠű NPH5 NPH6 DƠH DƠH0 NPŲ NPH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH30 DƠH3 NPH3 NPH33 NPH3 DƠH35 DƠH36 NPH3 DƠH0 NPH NPH DƠH3 NPH NPH5 NPH6 DƠŴ DƠH50 DƠH5 DƠ5 DƠH53 DƠH5 DƠH55 DƠH56 DƠH5 NPH60 NPH6 DƠ6 DƠ63 DƠ6 DƠH65 NPH66 NPH6 DƠH0 DƠH ҠDƠ HDAK UNŠϠADANADDSSANDHK YNDҠANDHADMAH. AKNP DAB3ADADDSSNS SBP DAAKADUNADDSS SAHKSAVŠҠA DABPSADBUҠPN SABUAŠҠNPUԠPAN DADDUNԠҠADADDSS SAN SBDMҠSԠUPDMAAD DAADAADADADDSSMMAND SBMMDSSUŠMMAND SBDMAԠAԠҠDMAPANϠNSH SBSAԠA̠ҠSAUS AKDABUAŬɠADSԠDAD PAY̠MPAŠҠYNDҠNUMB SS MPNMNϠMPAŬ DABPSɠADSNDDAD AƬAƠGHԠUSYHADNUMB ANDB3AVŠNYHADNUMB PAHADSHUDMAHHAD MPؠADDSSKHKHҠS NMU DABPSɠADSԠDADN DBP0A SBNPɠNVԠϠA̠ANDS DABPSɠADSNDDNBU DBP0B SBNPɠNVԠANDS DBBADDSSADASؠYYYYYY SBSƠSԠҠPN MPZGϠANAYZŠS HDS-SN(PDSN PDSN PAҠDSGNSN HSSNASHŠPAҠϠDSGN HSNSԠANDHNUŠ. PDSNDAAS SBSUƠUNԠSN DABPϠSAԠƠKAA SABDSAGŠPN SAPS DAAMM MANAAM ADABԱ3 DBBK SSASS DBAM ZADBMM SBBP DABPҠS SABUADUP DABPSPNS SABUA A SAAB SASHASZϠPDSAUS SAS SADM H55DAB55NҠNSUNS SBPN PDU SBHNNPUԠN A SAPAG DADMMNYUSD SADDAUԠAS SBPAKGԠPD MPH0ҠNNPU DBD PDUSAH PABɠDŠMAH MPPD3UND NB PBD SSҠ-BADPD MPPD H0DAB0UNDNDNSUN SBPN MPPD PD3U ADBD SBPNԠPD ADBU SBPNDHKҠAB DABɠPSSNSUN MPA PUԱAҬDSSSҬ PUԱDAPPԱ SADSŠANSҠV A SADDAUԠAS SAD3 SBHAҠGԠNԠHAA MPPU5BDN SBPUԱGHKҠMMA SBPUԱDPSSSԠDYND SAD SBPUԱDPSSSNDDHAD AƬA SAD3 SBPUԱDPSSHDDS ҠD3 SAD3 DAPAGDN? SZASSSKPƠYS MPPUԱA MPPU5B PUԱBDAD3 PUԱƠSBBUD MPPD PUԱASBH3BADNPU MPPD PUԱDNP DAPAGDN? SZA MPPU5BYS SBPUԱؠNϬGԠNԠD MPPUԱD PUԱؠNP SBDHAҠGԠNԠD SS MPPUԱج SBPUԱŠDNŠҠ? SZPAGDN MPPUԱجɠNNU PUԱŠNPDNŠҠ? DBNɶUMNSMANNG SZB MPPDҠ(AADYPD MPPUԱŬ PUԱGNPHKMMA ҠB5 SZASS MPPUԱGɠK MPPUԱA PUԱHNP SBHAҠGԠNԠHAA MPPUԱBDN SBPUԱGHKҠMMA MPPUԱHɠUN PUԲASŬì̬SSSSԬAA PUԲNP DAPPԲ SADSŠANSҠV SBHA SSSKPƠDN MPPUԱA MPPU3ʠ PU3GϬB PU3DAPP3ANSS SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS DAPNԠPD MANA ADAB5SԠB? SZASKPƠYS MPPU3AMUSԠBŠG SBPU3DSAHҠAB MPPU3BNԠH SZBPUND DABPɠADDSSD SZASSSKPƠPVUSYDND MPPU3 HDABDUPAŠAB SBPN MPPD PU3BSBPU3̠HKҠV PU3ŠDABDNԠAVAABŠAN SABPɠSŠADDSS PU3ʠDAD MPPUԱƠ PU3ASBPU3DGϬSAHAB MPPU3ƠDDNԠND SZBPUND PU3GDABP ANDB3 ҠMPɠ6000B SAD MPPU3 PU3ƠSBPU3̠HKҠV A SABPɠZϠADDSSD MPPU3G PU3DNPSAHAB DBABàNUMBҠƠABS PU3ɠSZBSS MPPU3DɠZϠABS DABP PAAB MPPU3HUND DABPSP ADAMMBAK SABP HUGH ADBMMDMNԠAB̠UN MPPU3 PU3HSZPU3DNMA MPPU3Dɠ PU3KNPGԠAB SBPUԱGHKMMA SBPAK MPPUԱA SAAB̠SAVŠAB DABP SABP MPPU3K PU3̠NPHKҠKSPAŠV SBPU3N SZAB DAAB SABP SZBP MPPU3̬ɠNMA̠ PU3NNP DAAB ASϠANSPҠAB ADABD ADAD DBBP MBNB ADBA SSBSS MPPU3MV MPPU3N PU3MDAB6V SBPN MPPD PUԴDDD PUԴDAPPԴ SADSŠANSҠV SBPUԱHKҠMMA SBPUԱؠNϬGԠNԠD SAD DAPNԠS ҠB6 SZASSAD? SBPU6DYSMԠDUN DAPAGDN? SZASSSKPƠYS MPPUԱA MPPUԱB PU5B PU5DAPP5 SADANSҠV ANA SAD3DAUԠNUMBҠƠҠPNS SBHA MPPU5BDN SBPUԱGHKMMA SBDHA MPPU5ADNŠҠ? SZDԠSKPNDAU SAD SBDHA SS MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SAD3 MPPU5B PU5ASBPUԱ SZDԠSKPNDAU SAD PU5BDAD MPPUԱƠ PU6DB PU6DAPP6 SADSŠANSҠV SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPNDAU SAD SBPU6D SBHA MPPU6ADNŠҠ? SBPU6B SBHA MPPUԱA ҠB03 SZA MPPUԱA DAD ҠBԱ SAD SBHA MPPU5BSHUDBŠDN MPPUԱA PU6ASBPUԱŠDNŠҠ? SBPU6B MPPU5B PU6BNP SZDԠSKPƠDAU SSK MPPUԱA SAD3 DABԱ5 ҠD SAD MPPU6B PU6àSBPUԱŠDNŠҠ? SZDԠSKPƠDAU SAD SBPU6D MPPUԱB PU6DNPHKD-MUSԠNԠBŠGA DADHAN0 SSAMUSԠB MPPUԱAPSV MANA ADAD0 SSA MPPUԱA MPPU6D PUԷN PUԷDAPPԷ PUԷGSADSŠANSҠV DBABàNUMBҠƠABS DABP NA SABP PUԷDSZBSSSAH MPPUԷBUNDNDABS DABP SZASS MPPUԷ DABP ADAMM SABP ADBMM MPPUԷD PUԷBSBHA MPPUԷƠNMA̠SA SBPU3K SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS SBPU3DSAHAB MPPUԷADDNԠND SZBPUND DABP SAPS PUԷƠDAD SBBUD MPPSԬɠSAԠUN PUԷàDBBP ADBMM DAB PUԷŠSAP056A H56DAB56UNDNDAB̬ SBPN MPPD PUԷADAAB MPPUԷ PUԸSD PUԸDAPPԸ SADSԠUPA2NSҠV SBHA MPPUԱA SBPUԱGHKMMA SBDHA SSSHUDBŠDN MPPUԱA SBPUԱŠҠҠDN? SZDԠDAU? SSN MPPUԱAYS SAD MPPUԱB PU9A PU9DAPP9 SADSԠUPANSҠV A SADDAUԠAS SBPUԱHKҠMMA SBHA NP ҠB0SԠAD? SZASKPƠYS MPPU9AN DABԱDVŠNDA PU9BSAD SBHA SS MPPUԱA MPPUԱB PU9AҠBSԠAP? SZASKPƠYS MPPUԱANϬ DABԱ5PVŠNDA MPPU9B PԱ0SìH PԱ0DAPPԱ0S DBPN ADBMM0-0 SZBSSSKPƠS DAPPԱ3H SADSŠANSҠV A SADDAUԠVAU SBPUԱHKҠMMA SBHA SSK MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SADSŠVAU MPPUԱB PԱ PԱSBHA SSSKPƠDN MPPUԱA DABD PABP MPPDNHNGϠAS ADAMM DAA SAA̠PVUSANSҠV AƬA ANDB3DUN MANA ADABD SABDBDBD-DUN DAA ANDB3 ҠB5SԠB SZASS MPPԱAYSB ҠB SZASKPƠG MPPD DABD ANDBGԠADDSS ADAPAGŸ6000B SAA̠ƠNDAB DAA̬ɠSHSAB SZADND? MPPDYS DABDɠSAHҠHҠNS SAMPMASKUSDϠSAHҠH DABDNS SAMPPN PԱàPABP MPPԱBNԠUND DAMP ADAMMGԠANSҠV DAA AƬA ANDB3GԠDUN MANA ADAMPADDSSADDSS-DUN SAMP DBMP PBMP MPPDANHҠNŠASUND MPPԱ PԱADABPSAHABŠҠAN NAHSAB PԱŠSABP DABP PABD MPPԱDUND DABP ADAMM MPPԱ PԱDSAMPKAAPN DABP SAA̠ADDSSƠAB ANDB3 ҠMPɠ6000B SAMPMASKUSDϠSAHҠH ANS SAA̬ɠZϠUԠAB DAMP MPPԱ PԱBANϠNŠUND DBA ADBMM SABɠAB̠0 NA SAA̬ɠADDSS0SϠԠ̠B MPPDDND PԱP PԱUPDSN PԱP PԱDAPPԱANSҠV MPPUԷG PԱ5 PԱ5DAPPԱ5 SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBPU3DSAHAB MPPUԷADDNԠND- SZBPUND DABP ANDB3 ҠMPɠ6000B SAD SBHA MPPUԱA SBPUԱG SBDHAҠGԠNUMBҠƠMSϠPA SSK-SKP MPPUԱAύB@< SBPUԱŠDNŠҠ? SAD A SAD3 DAD5 SBBUD MPPD _B ,< 24236-80007 A S 0122 HP2883 DISC FILE DIAGNOSTIC             H0101  SKP VPAҬDSSSҬ VPNP SBPNDHKҠAB DBVPɠD DAVP SAA SBY̠YND SZVP DAVP ANDB3 SASҠS DAVP AƬA ANDB3 SAHADHAD SZVP DAVPɠD SZVP ANDB3PD SZA MPVPA DAB5A SBP SBSS MPVP VPAҠB3 SZA MPVPB VPDDABS SBP B SBSKSK SBASAԠҠSK DAVPɠNԠANSҠV SBVPGHKSAUS MPVPɠ VPBҠB6 SZA MPVP SZBSSDS DBD03 ADBMMDMNԠY VPŠSBA̬ɠHANGŠD MPVPD VPàҠB SZA MPVP NBS PBD03 B MPVP VPGNP PAPPԱ0SNԠANSҠVҠS MPVPGɠYS SBHKN MPVPG VPԠDAHAD NANMNԠHAD PAD0DϠNԠDŠNUMBҠ9 MPVPנNMNԠY̠ANDAҠHAD VPؠAƬA SZA SAA̬ɠSŠHAD-S A SAS MPVPD VPנDAY NANMNԠY PAD03DϠNԠDŠNUMBҠ0 A SAA̬ɠSŠY AAҠHAD MPVP VPASŬì̬SSSSԬAA VPNP SBPNDHKҠAB DAVPɠD SZVP ANDB3PD ҠB SZA MPVPA DAD+SZƠAS SAN DAB60ADDSSSKPNS SBP SBDMҠSAԠDMA n DAADSKADDSSSKPMMAND SBMMDSSUŠMMAND SBDMAԠAԠҠDMAϠNSH SBSA VPZDAVP SBVPGHKSAUS MPVP VPAҠB3 SZA MPVP SBNHɬɠSANDMYNDҠANDHAD SBNSɬɠANDMS DAVP SAVP MPVPD VPŠҠD6 SZA MPVPB DAVP SAVP MPVPD VPBҠB5 SZA MPVP SASҠ VPàSBS ANDB3 PAB3 MPVPɠSҠ3DN ANDB SZASS MPVPD DAD9SҠY̽HAD9 SAHAD DAD MPVP VPDSAHADSҠ0Y̽3HAD0 DAD3 VPؠSAY DAB SBP B SBSKSKD SBASAԠҠSK SBHK MPVPàY VPƠҠB33 SZA MPVPH DAB6 SBP B DAA̠ABAŠMMAND SBMMDSSUŠABA SBAҠAԠҠABAŠϠNSH VPʠSBSA MPVPZ VPHҠD SZA MPVP SASUPPSS MPVP VPɠҠD3 SZA MPVP NAS SASUPP MPVP VPנҠB5 SZA MPVPY DAD+SZƠA SAN DAB3 SBP SBDMҠSԠUPDMA DAADAADADDSSMMAND SBMMDSSUŠMMAND SBDMAԠAԠҠDMAϠMP SBSA MPVPZ VPYDAVPASԠUP SAHKUNADDSS MPAKɬ VPDDD VPNP SBPNDHKҠAB DAVPɠD SAN SZVP DAVPɠD3 \ SZVP ANDB3PD ҠB6 SZA MPVPA DAB6D SBAD VPàDAVP SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB DAB5D SB MPVP VPBDABD SAPN B DAN AƬA A ANDBSҠUN SAN SBDAD DAYHKYàHKMMAND SBMMD SBAS MPVP VP5B VP5NP SBPNDHKҠAB DAVP5ɠD SAN SZVP5 DAVP5ɠD3 SANUMP SZVP5 SBDHKMPAŠBUS SZVP5 DAD SANUMP MPVP5 VP6DB VP6NP SBPNDHKҠAB DAVP6ɠD DBA ANDD3 SAN SZASS MPVP6ƠDUNԠ0 DAN MANA SANԠNԠ-N DABP SAA SSB MPVP6Aƽ VP6BSBANDƽ0 SBVP6ŠSŠNBUҬHKҠND MPVP6B VP6AB SSB Bý0ƽ SZVP6ýƽ DAVP6 VP6àSBVP6ŠSŠNBUҬHKҠND SZBSS MA MPVP6 VP6ŠNP SAA̬ɠSŠANBU SZA SZNԠDN? MPVP6ŬɠN VP6GSZVP6YS SZVP6 MPVP6ɠ VP6ƠSSBSԠ SZVP6DB0 MPVP6G VPSD VPNP SBPNDHKҠAB DAVPɠD SZVP SAUNԠSŠUNԠNUMB SZVP MPVPɠ VP9A VP9NT6P SBPNDHKҠAB DBVP9 DAD6+SZ SAN A SSB DABPVŠAKNDA B SSBSS MPVP9A B DAY̠HANGŠYNDҠNUMB PAD0 SBY SZY DADB VP9AҠY SAY SBAɬ SBADɬɠŠADDSS SZVP9 SZVP9 DAVP9 SBVPGHKSAUS MPVP9ɠ VP0S VP0NP SBPNDHKҠAB DAVP0ɠD SASHASPDSAUS SZVP0 SZVP0 SBHK A SASHASSԠPDSAUS MPVP0 VP3H VP3NP SBPNDHKҠAB DAVP3ɠHAԠD HԠ SZVP3 SZVP3 MPVP3 VPP VPSBPNDHKҠAB MPBPϬ VP5 VP5NP SBPNDHKҠAB DAVP5ɠNUMBҠƠMSϠPA SZVP5 PAVP5ɠDN? MPV5AYS SZVP5 SZVP5 MPVP5ɠUMPϠAB V5AA SAVP5ɠSԠUN SZVP5 SZVP5 SZVP5 MPVP5 ANSҠVS PNSUSDBYANSҠVS DàABS-- DŠDƠ+ ASàAҠ0 ASàB ASàD ASàŠ3 ASàDB ASàDS5 ASàŠ6 ASàN ASàP0 ASàGϠ ASàHԠ ASàA3 ASàS ASàB5 ASàD6 ASàAS ASàS0 ASàSà j{ASàSD ASàSҠ3 ASàD ASàP5 ASà̠6 ASàA ASàà30 ASàSS3 ASàSԠ3 ASàԠ33 ASàA3 ASàԠ35 DƠDƠ ABŠƠPDS DŠGNAҠANSҠAB UàDƠ+ DƠPUԱA DƠPU5B DƠPUԴD DƠPUԲ DƠPU6DB DƠPUԱDS DƠPԱ DƠPUԷN DƠPԱP DƠPU3G DƠPԱ0H DƠPU9A DƠPUԱS DƠPU3B DƠPUԴD DƠPUԲAS DƠPUԲS DƠPԱ0S DƠPUԸSD DƠPUԱS DƠPUԴD DƠPԱP DƠPUԲ DƠPUԲA DƠPUԲ DƠPUԲSS DƠPUԲS DƠPUԱ DƠPUԲA DƠPԱ5 HDPAK PAK NPUԠϠHAASPAKDNϠNŠD SKPSN-Š PAKNP SBHAҠSԠHAA MPPAKɠ AƬAƠPSNϠԠHAA SAA̠SAV SBHAҠSNDHAA MPPAKɠ ҠA̠PAKGH SZPAK MPPAK HDBUDPND BUD ANSSDŠMDDD3ANDD HŠKAA. NNYANUMBҠƠDSϠANS BUDNP DBASAVŠUN ADBD0MPNҠϠNԠD SBA AƬAƠMDN ADAPN SABɠSŠNϠANSҠAA SBP3NɬɠHKҠV DAD0 BU̱NA DBAɠANS SBBDɠϠKAA SZBD PAA̠DN? MPBUDɠYS MPBU̱N PND HKSҠABԠ(B30 PNDNP SBS ANDB3 SZASSSB30? MPDNŬɠYSAB MPPNDɠNϬK HDMSSAGŠABS(NNUD MɠDƠ+MSSAGŠADDSSAB DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM3 DƠM33 DƠM3 DƠM35 DƠM36 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM50 DƠM5 DƠM5 DƠM53 DƠM5 DƠM55 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM66 DƠM6 DƠM0 DƠM M̠DƠ+MSSAGŠNGHAB DƠ0 DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̷ DƠ̱0 DƠ̱ DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠ36 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴ DƠ̴5 DƠ̴6 DƠ̴ DƠ50 DƠ5 DƠ5 DƠ53 DƠ5 DƠ55 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠ̷0 DƠ̷ HDMSSAGS SUP M0Ԡ6 ASàH0DSàŠDAGNS 0U+-M0-M0 MASà09űPԠAD ̱U+-M-M MASà5ŲƠҠSSAD-HANN 00ABSS ̲U+-M-M M3ASà93SàADHAGA-HANN 003ABSS 3U+-M3-M3 MASà5ŴSƠҠSàAD-HANN 00ABSS ̴U+-M-M M5ASà5SSADHAGS-HANN 005ABSS 5U+-M5-M5 M6ASà6NϠNUPԠNHANN 006ABSS 6U+-M6-M6 MASà6ŷNGUNADDSS-HANN 00ABSS ̷U+-M-M M0ASà0ű0NϠMMANDAG ̱0U+-M0-M0 MASà09űAŠDAAAG ̱U+-M-M MASà6űNϠDAAAG(GNGSAUS ̱U+-M-M M3ASà0ű3 P3ABSS ASà0DSANSD P3BBSS ASà05PD ̱3U+-M3-M3 MASà5űNϠMMANDAG(USNGDMA ̱U+-M-M M5ASàH5ADDSSDN P5ABSS ̱5U+-M5-M5 M6ASà06H6V ̱6U+-M6-M6 MASà0HDUPAŠAB ̱U+-M-M M0ASà3H0UNDNDNSUN ̲0U+-M0-M0 MASàŲADDSSADAS PABSS3 ASà03AND PBBSS3 ̲U+-M-M MASà0HYàHKN PABSS ̲U+-M-M M3ASà09H3ADHKN P3ABSS ̲3U+-M3-M3 MASà09HYNDҠAB Ԡ06 PABSS0 ̲U+-M-M M5ASàH5SHϠAҠAB? ̲5U+-M5-M5 M6ASà0H6NҠYNDSSPAADBYMMAS ̲6U+-M6-M6 MASà09HPANAB Ԡ06 PABSS: ̲U+-M-M M30ASà9H30NҠPANSSPAADBYMMAS 30U+-M30-M30 M3ASà0H3NPUԠ 3U+-M3-M3 M3ASà09H3SԠSH 3U+-M3-M3 M33ASà6H33ŠDVŠAKNS0 33U+-M33-M33 M3ASà5H3ADPDAKNS0 3U+-M3-M3 M35ASà09H35NA̠SAUS 35U+-M35-M35 M36ASàH36ŠADDSSN P36ABSS 36U+-M36-M36 M3ASà0H3ADADDSSN P3ABSS 3U+-M3-M3 M0ASà0H0NABŠUN P0ABSS ̴0U+-M0-M0 MASà5HADDVŠAKNS0 ̴U+-M-M MASà6HŠPDAKNS0 ̴U+-M-M M3ASà05H3UN P3ABSS ASàNԠADYHKNS0 ̴3U+-M3-M3 MASà06HSKN PABSS ̴U+-M-M M5ASà0H5ŠN P5ABSS ̴5U+-M5-M5 M6ASà06H6ADN P6ABSS ̴6U+-M6-M6 MASà0ŴDAAD PABSS ASà0S PBBSS3 ASà06SHUDB PàBSS3 ̴U+-M-M M50ASà09H50VUNNS 50U+-M50-M50 M5ASà0H5Y P5ABSS ASà03HAD P5BBSS ASà0S P5àBSS ASà06DUN P5DBSS ASà03UN P5ŠBSS 5U+-M5-M5 M5ASà05BUҠHKSUM P5ABSS3 ASà03Y P5BBSS3 ASà0( P5DBSS ASà03HDS P5àBSS3 ASà0(H P5ŠBSS ASà0S P5ƠBSS ASà0 5U+-M5-M5 M53ASà5H53AVAGŠMNMUMSKM P53ABSS P53BBSS 53U+-M53-M53 M5ASà5H5AVAGŠANDMSKM P5ABSS3 ASà0NGH P5BBSS 5U+-M5-M5 M55ASàH55NҠNSUNS 55U+-M55-M55 M56ASà0H56UNDNDAB P56ABSS .k56U+-M56-M56 M5ASàH5VUNHKNS 5U+-M5-M5 M60ASà0H60ADDSSSKPN P60ABSS 60U+-M60-M60 M6ASà0H6ABAŠN P6ABSS 6U+-M6-M6 M6ASà6SҠMSSNGNS 6U+-M6-M6 M63ASà063NϠDAAAG 63U+-M63-M63 M6ASà06SAUSS P6ABSS3 ASà06SHUDB P6BBSS3 6U+-M6-M6 M65ASà05H65PASS P65ABSS 65U+-M65-M65 M66ASà5H66SԠMAԠSHNUN P66ABSS ASà05PUSHUN 66U+-M66-M66 M6ASà6H6AҠMAԠSHNUN P6ABSS ASà05PUSHUN 6U+-M6-M6 M0ASà09H0DSABŠUN P0ABSS ̷0U+-M0-M0 MASà6HPSSPSԠHNPSSUN ̷U+-M-M HDY Y NVԠYNDҠABŠϠASɠANDSŠNMSSAG YԠNP DAP0ANAZ SAPNԠPN DAMM0- SASAV PADAԬɠYNDҠABŠPN DAA SBDNNVԠNUMB DAVԱUSŠGH ANDB3HAA AƬAƠ DBAVԱ DAVԲAND ANDP00 AƬAƠHAA ҠBƠVԲ SAPNԬɠҠS SZPNԠD DAVԲUS ANDB3GH AƬAƠHAA ҠB5ƠVԲ SAPNԬɠAND SZPNԠASɠMMA SZSAVŠҠSND DASAVŠD SSA MPP DBP0AMV ADBD9AS DABɠMMA ANDP00 ҠB0 SAB MPYԬ HDSZ PMSKUNDҠGHԠDŠNDNS SZNP SAY̠SAVŠYNDҠNUMB SBDADϠUPUԠYNDҠNUMB DAPSԠSKMMAND ҠUNԠUNԠNUMB øA øààMAKŠSUŠNDŠSZ B SBA ø3SàìàSԠND DøSSDàHKDAAHANN̠AGN MPDøN DøBDàUPU Dø3SàDìàHAD-S MPSZB DøSSDàHKAGANN MPSZAN Dø5BDàUPU Dø6SàDìàHAD-S SZBSBADAԠҠDAAHANN SBASAԠҠMMANDHANN MPSZ SZASZA̠AVD MPDøNDSSP DASZUS SAADADUN MPSZZϠPԠ BUBDƠ HDN G000B N NGUSAHƠHŠHANNS NԠSBS SANSנSAVŠNGUANSHG ANDB SAHSAVŠYPŠSԠD ADAMM5 SSA HԠB DANSנADNGUANSHG AƬAƠSHԠGH A̬A̠SؠANS ANDB SAA̠SAVŠDAAHANN̠SԠD ADAMM5 SSA HԠB DBSB SBGBSAVŠSԠPN A SAAGAG- DBASB ASBGBSAVŠASԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBGBɠDN? MPàYS SZGBN MPB àU SZAGSKPƠNԠDN MPUԠDN SZA̠NMNԠSԠD DBS SBGBSAVŠSԠPN DBASàADASԠPN MPA UԠDANSנADNGUvANSHG. ANDBԱHKҠ5Ҡ6 SZASKPƠ6 MPSY DAMMMS DBMMS MPSSY SYU DAMMS DBMS SSYU SAKMSSԠNUMBҠƠYSPҠMSND SBKSàSԠNUMBҠƠYSPҠS SԠUPDMA DANSנADNGUANSHG ANDBԱ SZASKPҠDMA6 ANAHSSDMA SAA DBSD SBGBSԠUPPN DDBGBɠADADDSSMAB DABɠADVAUŠM ANDP6MASKƠBԠ0 ҠA̠ADDDMAHANN̠B SABɠSŠ PBASDɠDN? MPŠYS SZGBNϬNNU MPD ŠU Ԡ00AנҠSϠDUMP MP00B SBDƠ+ DƠDMA DƠD0 DƠD0 DƠD03 DƠD0 DƠD05 DƠD06 DƠDñ DƠDñ DƠDñ3 DƠDñ DƠDò DƠDò3 DƠDø DƠDø DƠDø3 DƠDø DƠDø5 DƠDø6 ASBDƠ- SàDƠ+ DƠ0 DƠ0 DƠ03 DƠ0 DƠ05 DƠ06 DƠ÷ DƠø DƠø DƠø3 ASàDƠ- SDDƠ+ DƠDMA DƠDMB DƠDM DƠDMD DƠDM DƠDM DƠDMG DƠDMH DƠDM DƠDM DƠDMK DƠDM6A DƠDM6B DƠDM6 DƠDM6D DƠDM6 DƠDM6 DƠDM6G DƠDM6H DƠDM6 ASDDƠ- PNDU ND HFBBH -> 24237-80001 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # ASMBAB̬ì HDADGŠDSàMMYDAGNS DAGNSàҠMVNGHADDSKDVŠANDN NGUANADDSS SANGADDSS00B SHGSҠDUNGNGUAN BS0-5SԠDŠҠHŠɯϠHANN̠NANNGH YP BS6-SԠDŠҠHŠɯϠHANN̠NANNGH DAANAŠҠHŠDS HŠMMANDHANN̠NAŠBADSHŠN HGHҠSԠD BԠƠSԠϠZϬMAHNŠSA6.ƠSԠϠNŬ MAHNŠSA5ҠA BԠ3SPA BԠSԠϠZϠҠDMAHANN̠6. SԠϠNŠҠDMAHANN̠.(MAYNԠSԩ BԠ5SPA SHGSҠDUNGUN BS0-SPAS(USDBYŠNS BԠƠSԠϠNŬAҠYNDҠABŠAND PANABŠANDҠSԠHADS BԠ3ƠSԠϠNŬUŠPAҠDSGNPGAM BԠƠSԠϠNŠANDBԠSԠϠNŬU ŠADDSSSԠ(S0 BԠ5ƠSԠϠNŬSHNSԠNSS3S5ANDS6 BԠ6ƠSԠϠNŬSԠYNDҠSN BԠƠSԠϠNŬPAԠASԠSN BԠƠSԠϠNŬMUPŠDVSAŠϠBŠSD BԠ9ƠSԠϠNŬHAԠAҠAHSNƠH PGAM BԠ0ƠSԠϠNŬA̠NN-ҠMSSAGSҠH YPŠ̠BŠSUPPSSDPԠUN PANMSSAGSANDH5 BԠƠSԠϠNŬA̠MSSAGSҠHŠYPŠ BŠSUPPSSD BԠƠSԠϠNŬHAԠAԠNDƠS.ƠN ADDNBԠ0ANDBԠAŠSԠϠZϬ ތ MNGMSSAGS̠BŠPNDNSANDS5 BԠ3ƠSԠϠNŬPNASԠPAN BԠƠSԠϠZϬPGAMHASAҠAH BԠ5ƠSԠϠNŬPGAM̠MŠϠANDY HA G MPNGɠNGUŠPGAM G00B MPSAD G05BϠDNŠNDNGADDSSҠSϠDUMP DƠPNDNDNGANƠPGAM G0B NDƠHϬɠUNPN(ASUSD NUPԩ GB UNԠPAN(PADDSS PҠNP SAPNAPU ADBDUN MPPҬɠADDSS AU0AGSҠADDSS BUBGSҠADDSS àU0HSSYMB̠SUSDAԠA̠PAS HŠHŠMMANDHANN̠NUMB SSD HU0HSSYMB̠SUSDAԠA PASHŠHŠYP HANN̠NUMBҠSSD DàU0HSSYMB̠SUSDAԠA PASHŠHŠDAAHANN NUMBҠSSD DMAàUDMAN̠HANN̠(Ҡ3 DMADUDMA+DMANUPԠHANN̠(6Ҡ MSU500NUMBҠƠMAHNŠYSP MSND(5 MMSU65NUMBҠƠMAHNŠYSP MSND(6 SϠU0BNYADDSSҠSϠSԠUPU SZƠU0APPASHŠANŠDPNDS NHŠSҠSZ. ANBSS BDBSS BPABSS BUADBSSPMAYBUҠADDSS BUAŠBSSSNDAYBUҠADDSS ÷Ԡ0 HAҠBSS NԠBSS : H3NP HԠ0 ADBSS NSנBSS PNNP PNԠBSS PNԠBSS SAVŠBSS SҠBSS VԱBSS VԲBSS V3BSS Y̠BSSYNDҠNUMB YؠBSS DñԠ0 DԠBSS DMƠBSSDMAҠNDA àBSSASԠҠNUMB SԠBSSUSDNS5 6BSS AGBSS SAVŠBSS GBBSS GBBSS GB3BSS GBBSS GB5BSS GB6BSS HDNԠ0 HADԠ0BS-0HADNUMB HAGԠ0 SԠBSS KMSBSS AB̠BSS ABàԠ0 BPBSS BPBSS NԠBSS A̠BSS AMBSSASԠDƠAVAABŠMMY MNԠBSSMSNDUN MNҠBSSYSHNMSND NɠBSS NUMPDà PNԠBSS PSԠBSS PASSBSSPASSNUMBҠSDH PNԠBSS PNABSS PAGBSS PADBSS PSAVŠNP PSҠBSS SAԠBSS S00DƠS0 S0BSS S6NԠBSS SAV6BSS SNBSSUNԠSNNUMB SҠԠ0SҠHŠUNԠPAN ̠SA SAGBSS SHASBSS SAUSBSSDVŠSAUSSDH SƠBSSҠPNҠҠZϠƠN MPBSS MPBSS MP3BSS MPBSS MP5BSS UNSDƠUNA UNAԠ0 BSS3 UNàԠ UNԠԠ0 VA̱BSS VA̲BSS VAUŠBSS NԠBSSPSVŠDUNԠ UNԠPAN D0DƠ DBSS DBSS D3BSS DBSS SKP D0Dà0 BDà B0UB DUB DDà ̠UD BԱUD D3Dà3 B3UD3 DDà BԲUD BUD D5Dà5 D6Dà6 DDà BUD DDà B3UD B0UD D9Dà9 D0Dà0 DDà DDà D3Dà3 B5UD3 DDà B6UD D5Dà5 BUD5 BԴDà6 B0UBԴ D6UBԴ DDà BUD DDà BUD D9Dà9 B3UD9 D0Dà0 BUD0 B5Dà B6Dà D3Dà3 BUD3 B30Dà DUB30 D5Dà5 B3UD5 B3Dà6 B33Dà DUB33 DDà B3UD D9Dà9 B35UD9 D30Dà30 B36UD30 B3Dà3 B0Dà3 B5UB0 D3UB0 BDà33 BDà3 B3Dà35 BDà36 B5Dà3 B6Dà3 BDà39 B50Dà0 B5Dà B5Dà B53Dà3 B5Dà B55Dà5 B56Dà6 B5Dà B60Dà B6Dà9 B6Dà50 B6Dà5 B65Dà53 B66Dà5 B6Dà55 B0Dà56 BDà5 D5Dà5 B00Dà6 B6UB00 B03Dà6 B0Dà6 DDà D95Dà95 D05Dà05 B000Ԡ000 BԷԠ00 BԸԠ00 B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 BԠ BBԠ000 ÷Ԡ ƠԠ6 DԠ3 ŷԠ ƷԠ5 GԠ6 HԠ HAԠ000 HBԠ00 HàUBԸ MPɠԠ6000 SBSBұ NNԠ000 P00Ԡ00 P00Ԡ00 P6Ԡ6 HԠԠ06003 HԲԠ0600 HàԠ000 YYԠ300 BԠ BԠ B3Ԡ3 BԠ B3Ԡ3 B30Ԡ0030 D00Dà00 DUBԷ D9Dà9 D0Dà0 D03Dà03 D56UBԸ D3Dà3 D35Dà35 D5UB9 B6000Ԡ6000 D000Dà000 D03Dà03 D0UBԱ0 D30Dà30 PAGŸԠ6000 MMDà- MMUP6 MMDà- MM5Ԡ-5 MMDà- MM0Dà-0 MM3Dà-3 MM6Dà-6 MM3Dà-3 MMԠ-60 +MM56Ԡ-0 MM5Ԡ- MM6UP00 MM00Dà-00 MDà- M56UP00 M30Dà-30 M000Dà-000 M0Dà-0 M936Dà-936 ASD0ASà.0 ASZZASà00 BPҠDƠBUBŠBU BPSDƠBUB+0ADBU BPϠUPAGŸSAԠƠPDSNPGAM DMAנABS0000B+D MMSABS-MS MMMSABS-MMS AS0ASàS0 ASASàS ASASàS AS3ASàS3 ASASàS AS5ASàS5 AS6ASàS6 ASASàS SKP BASŠPAGŠNKSANDPNS ADDɠDƠADD ADDSDƠNP+ NGDƠN NVPDƠNV NPDƠN ɠDƠ YɠDƠY DDDDƠD0 DNŠDƠAGANԠMPDSN HϠDƠHS ҠDƠ àDƠ ҠDƠ AKŠDƠAKŠUSDNHK ҠDƠBN SKɠDƠSK PDNɠDƠPDSN P00ADƠ00A P003ADƠ003A P00ADƠ00A P005ADƠ005A P006ADƠ006A P00ADƠ00A P03ADƠP3A P03BDƠP3B P05ADƠP5A P0ADƠPA P03ADƠP3A P0ADƠPA P0ADƠPA P036ADƠP36A P00ADƠP0A P03ADƠP3A P0ADƠPA P05ADƠP5A P06ADƠP6A P0ADƠPA P0BDƠPB P0àDƠP P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P05ƠDƠP5 P053ADƠP53A P053BDƠP53B P05ADƠP5A P05BDƠP5B P056ADƠP56A P060ADƠP60A P06ADƠP6A P06BDƠP6B P065ADƠP65A P00ADƠP0A PAҠDƠPAP PAɠDƠGBUSDNPHK PHKɠDƠPHK PMɠDƠM PM̠DƠM PVʠDƠV PPԱSBV PPԲSBV PPԴSBV PP5SBV5 PP6SBV6 PPԷMPDNŬ PPԸSBV PP9SBV9 PPԱ0SBV0 PPԱ3SBV3 PPԱMPV PPԱ5SBV5 P3NɠDƠPU3N ұDƠN N$HɠDƠNH NSɠDƠNS SADDƠSA ԠDƠBP VDƠVP VDƠVP VDƠVP V5DƠVP5 V6DƠVP6 VDƠVP V9DƠVP9 V0DƠVP0 V3DƠVP3 VDƠVP V5DƠVP5 VA̠DƠVAU ADɠDƠADA SԠDƠɠ DƠS DƠS DƠS3 DƠS DƠS5 DƠS6 HŠNGDSANDUASDMNŠHS SAUSSMMANDSSZS.HAԠMGH VAYBAUSŠƠDSGNHANGSAND. YHKԠ060000YàHKMMAND YPPUD03NUMBҠƠYNDSPҠPAK DBUBԸDVŠAKBԠҠADDSSS Y̠U0ASԠYND PAԠԠ30000ANAŠPSNMMAND PSԠԠ030000PSNMMAND ADàUBԱ3ADMMAND NŠԠ050000 SPԠUDNUMBҠƠSSPҠAK SASUD0SAUSMMAND PàUDNUMBҠƠAKSPҠYND BUB9ŠKUԠBԠҠADDSSS AԠ0000ŠADDSSMMAND àUBԱŠMMAND ABԠUB0ANYҠB BԱDAAҠB PBBԠUBԲDVŠBUSYB BԠUB3AGGDYNDҠB NBԠUBԴADDSSҠB BԠUB5NDƠYNDҠB NBԠUB6NԠADYB BԷNԠUSD SBԠUBԸSKHKB SBԠUB9SKNMPŠB BԱ0ASSHUNNGB BԱASSUNSAŠB BԱADŠUNSAŠB VBԠUBԱ3VҠUN SBԠUBԱSԠSKB BԱ5ANNB SSԠUDSҠHŠSNDHDSAS SԠUDSҠHŠASԠHDSo AS ԠUD5+SZƠDUNԠҠSԠHD ԠUD5+SZƠDUNԠҠASԠHD SSƠUD3SҠHŠSNDUHSAS SƠUD6SҠHŠHDUHSAS SƠUD9SҠHŠASԠUHSAS ƠUD3+SZƠDUNԠҠSԠUH ƠUD3+SZƠDUNԠҠASԠUH NBUH HDK KUN HSUNŠSADHAUNԠƠMAHN YSUSDNHŠBGS. ԠUPDASHŠMSNDUN KNP KU ADBD6ADDNMAHNŠYSUSDH DABPYϠBHGSS BAҠҠSUBSUNԠAS ADAMNҠKNMSNDUN SAMN ADAKMSHKMSNDUNԠV SSA MPK ADADADUSԠҠHSSN SAMN ANA ADAMNԠADUSԠMSàUN SAMN DAN NAADUSԠAMSNDUN SAN MPKHAUSԠUN HDAND ANDMNUMBҠGNA HSUNŠGNASBԠPANS HŠDSKDAGNS.NϠAMSMADŠ SASA̠ANDMNSS. SHPANNA BUNHANGD UNŠUSS3MAHNŠYS ANDNP DABASŠADBAS ADAPMŠSUBAԠHŠPM SSASKPƠS̠PSV DABASŠPSBASŠNԠBGNUGH ŬADUBŠBASŠҠMAND SABASŠҠNԠY MPAND PMŠDà-3069 HSPMŠNUMBҠPSVY 306MSNSPA PANSN BASŠABS035B HDSKSSSHSAԬMMDDADϬAD UNSϠDϠMMNYUDPANS. AHUNŠSAҠADDNGϠBHŠNUMB ƠMAHNŠYSUSD. SKNP DAY̠PUԠYNDҠNUMBҠUԠB SBDADϠGVNGHŠMMAND DAPSԠADMMANDҠPSN SKSBMMDSSUŠMMAND SBAD DAHAD ҠHDNSԠSUA AƬAƠHADNUMBҠϠԠHA ҠSҠPUGNSҠNUMB SBDADϠUPUԠHAD-S SBAD ADBDADDNYSUSDAY MPSK SSNP SHUSS DAY̠ADYNDҠNUMB SBDADϠPUԠUԠNDAAHANN DASS SASK ADBDADDNYSUSDAY DAPAԠADANAŠPSNMMAND MPSK SAԠNPSAUSHKUN DASASADHŠDUSAUSMMAND Dò3SàDìàSԠUPDAAHANN̠ҠNPU SBMMDUPUԠMMAND DñSàDàSAUSSHUDBŠBAK MPSABKAҠUҠYS SBPPPNԠUNԠPANMSSAG űSBҠNϠDàAGHŠHKNGSAUS SBHԠHKҠHA AUԠKAY SABKU D0AD SASAԠSAVŠA̠SAUS ANDNBMASKUԠBԠ5 SASAUSSAVŠSAUS ADBDADDNYSUSDAY MPSAԬɠUNSAUSNA MMDNP ҠUNԠPUGNUNԠNUMB 0A 0ààMAKŠSUŠNDŠSZ 03SàìàNנSԠND ADBDADDNYSUSDAY MPMMD DADϠNP D0AD D03SàDì ADBD MPDADϬ ADNPAԠNDAAHANN DAMM6AנASHԠUN ADBD9 APU D0SàD MPAD ADBD5 SSANA MPAP SBPPPNԠUNԠPANMSSAG Dñ3SSDàHKҠAGN MP63 űSBҠAŠDàAG MP+ 63SBҠNϠDàAG SBADDɬ MPAD HDASAHAS HŠASUNŠASҠUPϠ56MSNDS ҠHŠMMANDHANN̠AG.HNHŠAGSS ASASSAԠҠHŠSAUS ASNP DAM56Aנ56MSNDSҠSK AؠU SANԠSԠAKUN ADBD5MAKŠUPҠHŠNYYS ASDU SBK DBDGHԠYSNHŠP 05SSàSKPƠSKDN MPAS SBSAԠA̠ҠSAUS SBK MPAS ASѠU DANԠHKK SSASKPHNMDU MPASDKPPNG SBMàPŠUԠHŠADS SBPPPNԠUNԠPANMSSAG ű0SBҠNϠàAG SBADDɬ MPASɠUN AHASNUGHMŠҠHAD SHNGϠU. AHNP DAAHADUNADDSS SAASSAVŠҠUN DAMMAנϠMSNDS MPA ASASMŠҠSҠSHNG U. ASUAH HDSKSHSS SKSHSS PMSBSKҠSH SBASҠAH SBHK HPDSAUS0 SKNP SBSKPMSK SBASAԠҠSKϠMP SKDASHAS SASAVŠSAVŠSAUS-PDҠH APAN SASHASPDSAUSҠSKS0 SBHKHKSAUS DASAV SASHASSŠPDSAUS MPSK SSU <:6 SHNP SBSHSHHADS SBAHAԠҠHADSϠSH DASH SASK MPSK < .= 24237-80002 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # HDPPҬBKSҬPNԬYKH PPNPUNŠϠPNԠP DAPN SBPNԠUPUԠMSSAG DAPNADHAԠD MPPP PԠҠMSSAGS USSSϬSҬBK HŠUNADDSSSUSDϠKUPHŠADDSSNGHAND NUMBҠƠHŠҠMSSAG ҠNP Ơ0DSABŠNUPS B ADB DAҬɠNDҠNUMBҠBASDNN ҲU PBAɠADDSSANDAB MPұUND NA PAҬ MP00BPGAMҬPAGŠ0MAYB PDU. MPҲ ұU ADAì ADAMM SA SBPNԠPNԠMSSAG DB ADBMM- SSBSKPƠҠNUMBҠGҠHAN SBHԠHKҠHA MPҬ BK ƠYSUPSSDUN ƠYNԠSUPSSDSKPNԠNSUNNUN USSS BKNP SBS ANDBԱ SZASYSUPSSD MPBKɠYS DABKN NA MPA S NPUԠSHGSҠϠA-GS SҠNP A MPSҬ PN AҠNUMB PNԠNP SAPSAV SBBK MPPNԬ DAPSAV DBA ADBPMɬɠMSSAGŠADDSS DBB ADAPM̬ɠMSSAGŠNGH DAA SBSϬɠUPUԠMSSAG MPPNԬ YK UNƠYNԠAVAABŠҠNN-ҠMSSAGS NMNԠUNADDSSƠPNUԠK YKNP DBYK NB SBSҠADSHGS ANDB6000 SZASYAVAAB MPYKjɠNϬABԠPNU MPBɠYS H SSHAԠBԠ(BԱAҠ USSS HԠNP SBBKYAVAAB? MPHN DA̠YS DB SBSϬɠPNԠBANKN HU SBS ANDBԱ SZAHA? MPHԬɠN DAàYS HԠ MPHԬ HDDNDNDNSҴ DN NVSDMA̠NGSϠAS AVAUŠNNPU NVԱSԠϠDGSN NVԲSNDϠDGSN DNNP BB- DPADAM000ASSUMŠNGҠSSHAN0000 NBUNԠUPHUSANDSPA SSASSSKPHNBGS MPDP ADAD000S BƬB ADBMM DPADAMM00 NBUNԠUPHUNDDSPA SSASSSKPHNBGS MPDP ADAD00S ADBASZZ SBVԱ BB- DP3ADAMM0 NBUNԠUPNSPA SSASSSKPHNBGS MPDP3 ADAD0S BƬB ҠB ҠASZZ SAVԲ MPDN DN SŠNŠDƠNVDAAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԲS SAA̬ɠNϠMSSAG MPDN DN SŠϠDSƠNVDASANGAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԱS DBA̠ SABɠDS NBN DAVԲMSSAG SAB MPDN SҴ NPUԠSHGSҠƠSAG0(SSS3 USŠS[DVSNƠSAG(SS5S6 SҴNP DASAGSAG? SZA MPSҴAN SBSҠYSUSŠSHGS MPSҴ SҴADAS00US ADAUNԠSD DAAɠVAU MPSҴ HDDHKHK HŠDHKUNŠSADAҠAAD. ԠMPASHŠADANDŠBUS. HŠHKUNŠSADAҠA. ԠHKSNYHŠSAUS. HŠؠANDZNSAŠUSDBYH HҠUNSϠDϠHҠSAUSHK. HŠPHKUNŠSADAҠAAD. ԠMPASHŠADBUҠϠAPAND. HŠHKUNŠSADAҠAAD. ԠHKSHŠHKSUMMDSҠN HŠADBU. HYMPAŠHŠUNԠSAUS(SAUSHH PDDSAUS(SHASBYANGHŠANUN. HŠUNSGVŠANMA̠UNƠNϠSA DD.ƠANҠUSHŠUNSGNAŠAN ҠMSSAGŠANDHKҠHAԠҠNNU. DHKNPϠHKҠSN ADANDϠMPAŠAD ANDŠBUS DADHKADUNADDSS SAHKSAVŠҠPSSBŠA MPASHŠBUADANDBUAŠBUSUSNGN ҠBUҠNGH. DABUADADSԠBUҠADDSS SAMP DABUAŠADSNDBUҠADDSS SAMP DAN MANA SAMP3SԠSZUN DMU DAMP PAMP MPD̠UA̠MPA DAMP3 ADANԠGNAŠAVŠAN ű0DBP0AADPN SBDNA̠NVԠUN DAMPɠADHAԠDSHUDB DBP0àADPNҙ SBNPɠA̠NVԠANDMVŠUN DAMPɠADHAԠDAUAYAS DBP0BADPN SBNPɠNVԠϠAS DANUMPDMN ADAMMPNUԠUN SZASS MPDAƠAVŠAԠAND SANUMP ŴSBҠDAADؠSYYYYYYSHUD BŠZZZZZZ MPD DAU DBBDAADؠSYYYYYYSHUD BŠZZZZZZ SBàSAVŠҠH SBS MPZGϠANAYZŠS D̠U SZMPUNԠUPBU SZMPADDSSSAND SZMP3HKҠMPN MPDM DAN AS ADAN AS ADAN AS MSNUMBҠƠDS DBN BS ADBN BS ADBAҠSZAYS ADBD5YSUSDUSDŠƠP SBK MPؠBUSKAYNMA̠SAUSHK SKP HKNPϠHKҠSN NN-ADPANS DBDUNԠƠYSUSD SBK ؠU SBANA̠ҠMPA SZASKPƠNϠ MPZPԠ DADMƠHKҠDMANԠNSHD SZASSSKPƠ MPUԠUNƠNϠUB SBPPPNԠUNԠPANMSSAG SBDMѠPNԠDMAҠMSSAG UԠSBADDɬ UԠSBSҠNPUԠSHGS SSA HԠHAԠƠBԠ5S HŠPUNŠSADϠSŠ HŠSNUNYNUNSϠBŠSADV ҠSϠNNUŠN. DBD3 SBSҠNPUԠSHGS ANDʙBԱ3HKҠPAԠPAN SZASSSKPҠP MPHKɠNϬNNU MPPҬɠPBAK ZU SBPPPNԠUNԠPANMSSAG SBDMѠHKҠDMA SBANHKҠSAUSS SZASKPƠSAUSKAY SBPNԠPNԠUԠҠMSSAG DASƠHKҠBUҠS SZASKPƠNϠSUHS SBPN B SBSƠAҠUԠPNҠD MPU HDAN ANUSS9YSƠSAUSMAHSSHAS ANNPUNŠϠPMҠANA. DASAUS ҠSHASSA̠ASSHUDB SZASS MPANɠVYHNGSN DASAUSADUNԠSAUS DBP06AANDADDSSҠAS SBNPɠNVԠϠA̠ANDMV DASHASADHAԠSAUSSHUDB DBP06BANDADDSSҠAS SBNPɠNVԠϠA̠ANDMV 6DAB6SAUSSؠSHUDBŠ SAàSAVŠҠH AMUSԠBŠNN-ZϠAԠHSPN MPANɠUN HDDGN DGN HSGDYSUPHŠBUҠHAנANDMDAA USSNԠASANGH USSBUADҠADDSS DGNNP DAN MANA SAMPNGAVŠDUN DABUAD SAMP DG̠U SBANDGԠANDMNUMB SAMP SZMPUNԠUPADDSS SZMPUN MPDG DAN ASAS ADAN ASAS ADAN MSNUMBҠƠDS DBN BS ADBAҠSZAYS ADBDYSUSDUSDŠƠP SBK MPDGN HDDMҬDM 1HSŠUNSSԠUPDMAANDSAԠHŠDAAHANN. HŠDMҠUNŠSSUPAADNϠHŠNPU BUҠ(ADDSSNBUAŬUNԠNNԠ HŠDMנUNŠSSUPAŠMHŠUPU BUҠ(ADDSSNBUADUNԠNNԠ DMҠNPSԠUPDMAADPAN DADMAנADDMAMMANDD DM6AADMADϠDAAHANN DMAàDMAàPPAŠϠADADDSS DABUA ҠBԱ5ҠNDNB DMBADMAàUPUԠMMYADDSS DMàSàDMAàPPAŠϠADUN DANԠADDUN MANASMPMNԠSUSDBYDMA DMDADMAàUPUԠDUN D05SàDì DM6BSàDMADàSAԠDMAHANN MPDMҬɠUN DMנNP DADMAנADDMAMMANDD DM6àADMADϠDAAHANN DMŠàDMAàPPAŠϠADADDSS DABUADAND DMƠADMAàUPUԠMMYADDSS DMGSàDMAàPPAŠϠADUN DANԠAND MANAUPUԠSMPMNԠ DMHADMAàDUN D06SƠDàMAKŠSUŠSѠSHGH DM6DSàDMADàSAԠDMAHANN MPDM׬ɠUN HDAD ADAND HSŠUNSAŠADϠNAZŠA DMAANSSϠANDMHŠDSK. HYASSUMŠHA HŠDUNԠSNN ADASSUMSBUҠADDSSNBUA ŠASSUMSBUҠADDSSNBUAD ADNP SAPN(UNԠPAN SBDMҠSԠUPDMAADPAN DAADàADADMMAND SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS MPADɠUN ŠNP SAPN(UNԠPAN SBDMנSԠUPDMAŠPAN DAàADŠMMAND SBϦMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS MPŬ HDDMA HSSNSHUDBŠADҠAHANSҠUSNGH DMA.ԠNNUUSYHKSҠHŠAGϠBŠSԠNH MMANDHANN̠HŠMNNGHŠDAAANSҠAND HKNGҠVM. DMAԠNP DAM30Aנ30MSNDS MUSԠAנMŠҠANY USANDNGSKS NSH SANԠSԠAK DMɠADMAàADUNԠDUN SAMPANDSAVŠԠҠMPASN DBD DMB̠U ADBD6 SBHKA̠AGHK DMʠADMAàADUNԠDUN PAMPHKҠSAԠƠPAN MPDMB̠ƠPANHASNԠSADDAA ANSҬP DBNԠADDUNԠAND ADBDADDNYSUSD HSANSUSDBYUNSHA MUSԠNUPԠHŠDMAANS. DMSPNP DMS̠U ADBD3 SBHKNNUŠϠHKAG MPDMS MàNP DM6ŠàDMAD DM6ƠSƠDMADK̠DMAANS 06à DñàD DòSƠD MPMì HKNPUNSAUNDHKNGҠND ƠPANAG. MSUԠHNNԠGSPSV ADBD0 SBK DANԠHKҠMU SSASS MPUԠMŠU 0SS MPHKɠNϠAGY.USԠUN DM6GSàDMADSKPƠDMANԠDN MPDNVYHNGSAGH DABԱ5ANSҠNԠMPŠB MPؠA̠DUNԠNV DNU DBDADDNYSUSDAY SBK MPDMAԬɠUN  UԠU ANA DM6HSSDMADHKҠAGNDMAHANN ҠBԱ5ANSҠNԠMPŠB ؠU SADMƠSAVŠҠAҠHK SBMàUB.BMBUԠADS DMKADMAàADUNԠDUN ADANԠMAKŠNϠPSVŠDUN ANDBMASKƠUPPҠHŠBS DBP03AADPNҠҠASɠS SBDNA̠NVԠUN MPDMAԬɠUNANDAԠҠVD DMѠNP SBYK MPDMѬ DBDMƠHKҠAUA̠ SZBSSSKPƠҠNDNSS MPDMѬɠԠƠNϠ SBSKPƠNԠMŠU űSBҠNϠMMANDAGNDMAPAN DBDM A SADMƠAҠҠNDA SSBSSSKPƠDMAAGASNԠS MPDMѬɠUN DANԠADHŠPDDUN DBP03BADPNҠҠASɠS SBDNA̠NVԠUN ű3SBҠؠDSANSDYYYY PD MPDMѬɠUN HDHAҬDHAҬHAҬHNH3 HA GԠNԠNN-BANKHAA NԠSKPƠBUҠMPY HAҠNP HAұSZNԠDN? PP3SSN MPHAҬɠYS DABPAɠYD SZS MPS AƬAƠUSŠԠHA MPU SàBUSŠGHԠHA SBS SZBPABUMPDPN UԠANDB3 SAHAҠSAVŠ ҠB0SԠBANK SZASSSKPƠN MPHAұGNŠBANKS DAHA SZHA MPHAҬ DHA GԠDMA̠VAU SKPSNԠƠNԠDN DHAҠNP DAMM5UPPҠM DBVA̠PNSϠVAU DHұSAVA̲ 7?SBVA̱ DAMM SADԠDԠ- ANAZŠϠZ DHҲSAVAUŠSŠVAU SBHAҠGԠNԠHAA MPDUԲDN ҠB5SHAA SZASSAMMA MPDUԱYSDN DAVA̲HK SBKVADYƠHAA MPDUԲBAD SADԠDԠ- DBVAUŠKBUD BƬBҠUP ADBVA̱ɠVAU ADBVA̱ ADAB MPDHҲNNU DUԱSZDHAҠNMA̠ DUԲDAVAUŠҠҠNDƠADBU MPDHAҬ HA GԠA̠VAU SKPSNԠƠNԠDN HAҠNP DAHA SADHAҠSԠUN DAMM56UPPҠM DBDDDPNSϠD0 MPDHұ KNPHK ADAHAҠVADY SSA MP+3HAA ҠSBH3BADNPU MPK DAHA ADAMMҠM SSA MP SZK MPK HN NPUԠMY HNNP DADHAAҠUN DBBNABUҠADDSS SB0BɠYNPUԠDV SZASSŠZϠDSNPU? MPHN+YSYAGAN MA SANԠSAVŠHAAҠUN A SASԠAG- DABNA SABPASԠPN MPHN BNADƠBUB H3NP DAB3BADNPU SBPN MPH3 HDSU SU SԠUPUNԠSN SUƠNP SAP05AɠA SAP0Aɠ SAP03AɠDHK SAP036AɠD SAP0AɠS SAP05AɠD SAP06AɠD SAP060Aɠ MPSUƬ HDSA G000B SA HKSADҠANDSUSHASNנ SAԠà0àUNVYHNG DA0BAUAŠANƠASԠD ADAMMƠMMYBנYDVҠAND SAAMSŠԠNAM SBYKSYAVAAB? MPAGANN A H0SBPNԠADGŠDSKMMYDAGNS AGANU DBBK SBSH DB÷K SBSH DBD6K SBSH DBŷ0K SBSH DBƷK SBSH DBGK SBSH DBH3K SBSH űSBҠPASŠDSABŠAD BM SBA̠U PBKSZA̠UN MP- NB PBB6 MPAGAN MPPBK SHNP SBA DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠASŠKDU? SSN MPUԠYS SAA̬ɠSŠŠNN MPSHɠUN UԠDBB3AP̠AN DAHԠAP̠HA PSAB NB NA PBB00AP̠HASMP? SSYS MPPNϬPA A SADMSPSԠDϠN-P SAUNԠNAZŠUNԠNUMBҠϠZ SAMN SAMN SAPASSSA SAN DABP SABUADNAZŠBUAD ANA SAN BGNU ANAA_ SASNSAԠHSNN H35DAB35NA̠SAUS SBP DAHYP SBNVSNVԠANDS DADñDAAHANN SBNVS DA÷MMANDHANN SBNVS B SBA P~SZA̠DAYAנ MP-SHHŠϠBŠS DAHԲ SABKNGUAN DAUNԠSAV SAGBUNԠNUMB A SASHAS HPSBSKɬɠA NPSKPBMS DAUNԠNMN NAUNԠNUMB PADDN? ASS MPHPNϬNNU HPSBSKɬɠSԠANNBS MPHPNԠADY B HP9SA MPHP0 NB A PBD SS MPHP9 HPSBPP DABMSSNGҠDUPAŠANN SA SBPN SBADDɬ MPHP HP0PBUN SS MPHP HPDAUN NA PAD SS MPHP DAGB SAUN SAҠUSNA SBS ANDBԲSBԲS? SZAN SBYKYSSKPƠYAVAAB MPSNϠABԠHK DSBYɬɠPPAŠSYMB̠AB HDABYNDҠABŠNNS SBPN SBASKSHϠHANG? MPPAԠN H6DAB6YSNҠYNDҠNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD SSBDHAҠGԠDMA̠VAU MPSҠҠDN? SBSҠSŠNAB MPSNNU SDAN SZASSSKPƠ SBSҠDN MPD PAԠSBPAԱPPAŠPANAB HDABPANABŠNNS SBPN SBASKSHϠHANG? MPHDN H30DAB30YSNҠPANNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD PS=1SBHAҠGԠA̠VAU MPPSҠҠDN? SBPSҠSŠNAB MPPSNNU PSDAN SZASSSKPƠ SBPSҠDN MPPA HDDAB6HSŠHADMDŻA0B3 ý0HN3 H6SBPN SBHN A SAHAG DABNA ANDP00 ҠHA000 SZASS MPHD ҠHB00 SZASS MPHD ҠHà00 SZA MPHD ANA SAHAG HDASS HDDAD SAHDN H3DAB3 SBPNԠSԠSH DAB3 HԠ SBS ANDBԲ SZA MPH3 SNϠU SBS ANDBԸSBԸS? SZASKPƠN SBYKYSSKPƠYAVAAB MPSSNϠAB H3DAB3NҠUNԠNUMB(0-3SPAAD BYMMAS SBPN SBHNNPUԠMKYBAD A SAUNàNUMBҠƠUNS0 DAUNS SAGB3PNҠҠUNԠNUMBS H3ASBHAҠGԠHAA MPH3BҠҠDN SAGB3ɠSŠUNԠNUMB ADAMMS SSAANGŠ0ѠؠѠ3 MPH3àK H3ŠSBH3BADNPU MPH3YAGAN H3àSZGB3BUMPPN SZUNàBUMPUN DAUNàPSSS PADUҠNY MPH3DDN MPH3ANNU H3BDBNԠDNŠҠ? SZB MPH3Ҡ(AADYPD SZUNàBUMPUN SAGB3ɠSŠUNԠNUMB ADAMMS SSASSANGŠ0ѠؠѠ3 MPH3Š H3DU DAUNàS $NLH MANAUPNUMB SA6ƠUNS AZ SASHASPDSAUS DAUNSS SAGBUPPN H3ƠU DAGBɠADUNԠNUMB SAUN SBSAԠGԠSAUS DASAUS ANDNBԠSNԠADYBԠS? SZASKPƠN SBHKYSPNԠ SZGBNԠUNԠNUMB SZ6DN? MPH3ƠNϬNNU DAUNASHNUMB SAUN H33DAB33SԠSH SBPN DAB33 HԠ SBSҠSBԸS? ANDBԸ SZA MPH33N SSNϠU SBS ANDB3 SZASBԠ3S? MPPDNɬɠYS DASNADSNNUMB ADASԠADDNPN SBAɠA̠SN DAHà000 ҠSNSNNUMB SASHԠHAԠBNSNS SBSҠHKҠHAԠAԠNDƠSN ANDB9 SZA SHԠNP SBSҠHKҠSԠPA ANDBԷ SZASKPƠNϠPA MPSAҠPAԠASԠS DBSNUNԠUPSNNUMB NB SBSN PBDSؠSNS ANASS MPSA ADAPASSNMNԠPASSNUMB SAPASS SBYK MPHHH DAPASS DBP065ANVԠPASS SBDNNUMB DAB65 H65SBPNԠPASS HHHSBSҠHKҠHAԠAԠNDƠS ANDBԱ SZA HԠB MPN HSMPBGNUNSԠV N /A 24237-80003 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # SKP SADƠ+ DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH5 ASADƠ- NVS NVԠHANN̠NUMBҠϠASɠANDSŠN MSSAGSMHUGHM.NAZŠH HUGHH3ϠHANN̠SԠD NVSNP SAA̠SAVŠSԠD SBNVPɠNV DAV3ASԠSGNANԠDGS SAP00AɠS SAP003AɠN SAP00AɠMSSAGS SAP005A SAP006A SAP00A DBSA SBGBSAVŠSԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBASAɠDN? MPSԠYS SZGB MPB S SԠHANN SԠU à0àNAZŠɯϠSYSM DAM0PUԠGA̠DS H5AHMMANDNA HƠHAҠHANN̠AG HSSH SS ŲSBҠƠҠSSADNHANN̠ H3ƠHYAGAN HSàH 3SBҠSàADHAGA-H. H5SƠH H6SàH SS ŴSBҠSƠҠSàADNHANN̠ HSƠHYAGAN HSSH 5SBҠSSADHAGSԠ-H. SԠNUPԠAPABY DAH3 SAGB DASBSԠUPNUPԠAP SAH3 H9SàHSԠHANN̠ϠUS H0SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN !}DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 6SBҠNϠNUPԠNHANN̠ MPH NNPNUPԠSUBUN Ơ0DSABŠNUPS DAGBAP̠HA SAH3 SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠNUPS DANDDNUPԠUҠAԠH PAADDSԠMMYAN SS ŷSBҠNԠUNADDSS-H. HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NABŠNUPS NPSHUDNԠNUP NPH à0UNVYHNG DAGB SAH3 Ơ0 MPNVSɠYS HDS0-SN0(AD UNŠϠŠADDSSSNHŠDSKAND HKUԠA̠HŠPANSHAԠHAVŠϠDϠH PAKADDSSNG. UNŠASKSҠVDŠSHϠBŠSԠNHŠDU. SPUGBANҠPɠANDDɠBS ҠUGBM ADNPNYҠŠADDSSUN DAAS0 SBSUƠUNԠSN DAD30+SZƠŠU̠YND SANԠDUNԠҠNŠAK DABP SABUADNAZŠBUҠADDSS DABPSADADBUҠADDSS SABUAŠSԠPN SBYKSYAVAAB? MPHAN DAB66YS SBPN HADAB66SԠVDŠSHPUSHUN HԠ PAŠŠKUԠBSNYNDҠZ PAŠDVŠYNDҠBSNYNDҠN AԠYNDҠZϠHNND. DABADŠKUԠB SASP SBDGNGNAŠBU SBADҠŠADDSSSNϠDSK DABԠAGGDAKB SASHASHAԠSAUSSHUDB DAD+SZƠADN SANԠS SBADҠADBAK DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 HDABYàHKNAD SAPN DADNŠS SBDAD DAYHKYàHKMMAND SBMMDUPUԠMMAND SBASAԠҠMPN SBHKHKSAUS A SASHASHAԠSAUSSHUDB ANA SAY̠SԠϠYNDҠN DAD30+SZƠŠU̠YND SAN DABSKNS0 SBP SBSKSKNS0 DADBADDVŠAKNDA SASP SBDGNGNAŠBU SBADҠŠNϠDSK SBYKSYAVAAB? MPHBN DAB6YS SBPN HBDAB6AҠVDŠSHPUSHUN HԠ ADANDHKҠDVŠYND A SASPNϠMŠBS DAD+SZ SANԠSԠDUNԠҠNŠS DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 HDABADDVŠAKNS0 SBAD DABԠAGGDAKB ҠNBԠNԠUND ҠAB SASHASHAԠSAUSSHUDB DADMƠMASKU ANDHDMADDNԠNSH SADMƠAG SBHKHKҠDVŠY. ŠANDHKҠŠKU A SAY̠SԠϠYNDҠZ DABSKNS0 SBP SBSKSKNS0 HDABŠPŢDAKNS0 SB DABԠAGGDAK ҠAB SASHAS DADMƠMASKU ANDHDMADDNԠNSH SADMƠAG SBHKHKSAUS ŠADDSSANDHKҠKU DABSKNS0 SBP SBSKSKNS0 SBDGNGNAŠBU DAD30+SZ SAN SBADAŠADDSSS DADMƠMASKU ANDHDMADDN SADMƠNSHAG SBHKHKSAUS A SASHASHAԠSAUSSHUDNMAYB SBYKSYAVAAB? MPHàN DAB66YS SBPN HàDAB66SԠVDŠSHPUSHUN HԠ A SAHADSԠHADZ ̠U SAY̠SԠNנYNDҠNUMB HŠNGPANSASKHA AUSSPSNҠMN. DABSKNS0 SBP SBSK SBDGNGNAŠBU SBASAԠҠSKMPN SBADҠŠANDADADDSSS DAD0+SZƠADBAKGHԠSS SAN SBADҠADBAK DAD30+SZƠŠU̠YND SAN ANANMNԠYND ADAY̠UNԠUPϠNԠYND PAYPPHKҠNDƠPAK SS MP̠NԠDNŬNSHPAK SBYKSYAVAAB? MPHDN DAB6YS SBPN HDDAB6AҠVDŠSHPUSHUN HԠ DAUNԠNV ADAB60UNԠNUMB SAP00AɠϠAS SAP00A SAP03A SBYKSYAVAAB? MPHŠN H0DAB0YS SBPN H$VŠDAB0UNKUNԠجPUSHUN HԠ H3DAB3UNԠؠNԠADYHKNS0 SBP SBSA DANBԠNԠADY ҠAB SASHASSԠHAԠSAUSSHUDB SBHK DAD+SZ SAN DAB5ŠNS0 SB DADMƠAנDMA ANDHϠN SADMƠNSH SBHKANDHKҠS NBU DAMM6PNԠVY SAҠ3SNDS SBYK MPH H0DAB0ADYUNԠ SBPN HƠDAM936 SANԠSԠMSNDUN ñ3ààSԠUP ñSàìàAGNHAD-AD NƠU ñSààSKPƠNԠADY MPñAGSS ADBB SBK DANԠHKҠMŠ SSAPNԠMSSAG MPN SZҠADYϠPN? MPHƠN MPNBYS ñBàANNBS DAB SZBSS SBPNԠMSSNGANNBS B A SAY SAHAD SAS DAB SBPҠSKNS0 SBSK SԠSԠSKB DASB ҠAB SASHASPDSAUS000B SBAS SBHKVYSAUS A SASHAS SZY̠HANGŠYNDҠNUMB DAB5 SBP SBSSADDSSDNS0 DAD+SZ SAN AҠNנDSMPSN. AAD̠SHנASAUSƠB DAB SAPNADNS0 SBDMҠSԠUPDMAADPAN DAADàADADMMAND SBMMDUPUԠMMAND SBDMA SBYK MPHG DAB HSBPNԠHf$"PSSPSԠHNPSSUN HGDAB HԠ SBSA HŠNGSԠVSHŠPPϠN SBHK MPADɠUN UNŠSADDSSSNϠDSKAND ADSHMBAKϠHK. ASDMAԠҠDMAPANS ADҠNP SBADAŠADDSS SBHKHKҠS MPADҬɠUN ADANP H36DAB36ŠADDSSNS0 SAPN SBDMנSԠUPDMAŠPAN DAAADŠADDSSMMAND ҠSPPUGNPɠANDDɠBS SBMMD SBDMA SBSAԠGԠSAUS MPADA ADBAKADDSSSANDMPA ADҠNP DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 H3DAB3ADAҠŠADDSSNS0 SBADADBAKDAAD SBDHKHKAD MPADҬɠUN MԠDUN-AVDBMBNGDV DGNNP DAD0+SZ SAN SBDGNGNAŠBU DAD30+SZ SAN MPDGN %$ 0 ; 24237-80004 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # HDS-SN SN HSSNNSSS ASAUSHK ADSADƠUSD. .ASK .ASAUSKNGҠPSNҠBUSY. AԠHŠNDƠHŠPAKASKSSSUD GϠϠHŠNԠ(NN-SANԠYNDҬ ANDSAUSSHKD. ASKSSSUDDUNGASKANDSAUSSHKD HŠNGPANSA PMDNHŠSԠYNDҠN HŠYNDҠAB. ANŠSҠŠSANGAԠAKZϬSҠZ AϠSҠŠSANGAԠAKZϬSҠSVN AADANDHKƠHŠDAA ANŠANDAAD AUҠSҠŠSANGNAKZ APSNPANϠUNϠAKZ AϠSҠYàHKƠAKZϬSҠSVN AADANDHKƠHŠUҠSS APSNPANϠMVŠϠAK(P- AϠDŠHAԠGNASANVUN AUҠSҠŠSANGAԠSҠ(SP-3 APSNPANϠUNϠAK(P- AADϠHKҠZϠ AADANDHKƠHŠSS SNP DAAS SBSUƠUNԠSN B SBSAG SBSHASHAԠSAUSSHUDB SBDMƠNϠDMASAԠSA SBSƠNϠNA̠S SBY SBHAD SBSҠHSPSASAԠSҠZ SBSAԠGԠSAUS SBHKHKҠS DABSKNS SBP SBSKSKNS SBSҠADSHGS ANDB000000BBԠ ҠB000000BANDBԠ SZASSSKPƠHҠSA SBADA̠ŠADDSSUN DR<AAS SBSUƠUNԠSN A SAY SAHAD SAS SASHASHAԠSAUSSHUDB DABSKNS SBP BMŠUSDSZ SBSKSKNS ANA SAY̠SAVŠYNDҠNUMB HŠNGPANSAŬ ASKHAԠAUSSPSNҠMN ANDASAUSPANMMDAY NGHHSHUDSŠA PSNҠBUSYSAUS. DABSKNS SBP B SBSK DAPBB SASHASHAԠSAUSSHUDB SBSAԠGԠSAUSHŠBUSY SBHKHKҠS BҠASMŠUN SBSHASHAԠSAUSNMAYS SBASAԠҠSKϠNSH DAYPPADSԠNN-SANԠYNDҠNUMB SAY HŠNGPANSASKHA AMPSϠMVŠHŠPSNҠBYND SMSANDASKDUNGASK. HŠSKNMPŠSAUSSHKD. DABSKNS SBP SBSKSKϠNN-SANԠYND SBASAԠҠSK DASBԠSKHK ҠABԠANY SASHAS SBHKHKҠS A SAHAD SAS DAҬɠGԠSԠYNDҠHA SAY̠ŠAŠADϠŠN. DABSKNS SBP SBSK SBSKSKHNASK SBASAנMPN SBHKHKSAUS A SASHASSAUSSNMAYZ HSSKUNSϠY̠0HAD0NDAUԠAS DABSKNS SBP SBSKSKɺ{NS DABP SABUAD DAD3+SZ SANԠSԠDUNԠҠHŠSS SBDGNGNAŠNנBU HŠNGPANDSHŠS ŠNHŠDSKNHADZϬSҠZ DAD+SZ SANԠSԠDUNԠҠNŠS B DAB5ŠNS SBŠŠNSԠS SBHKHKҠS HŠNGPANSAϠSҠNG ŠSANGAԠHADZϬSҠSVN DAD SASҠPANSASAԠSҠ DAB5ADDSSDNS SBP SBSS DAD+SZ ADABPҠNנBUҠADDSS SABUAD DAD56+SZ SANԠϠSҠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HŠNGPANSAAD ADBAKHŠNMANN NSҠZ. HŠDAASMPADHHAԠN. A SASҠNԠPSASAԠSҠZ DAB5ADDSSDNS SBP SBSS DAD+SZ SANԠSԠDUNԠҠNŠS DABP SABUADPUԠBUҠADDSSBAK DABPS SABUAŠSԠADADDSS SBASAԠҠSҠSHNG DAB6ADNS SBADA̠ADUN SBDHKHKҠSANDMPAŠBUS HŠNGPANADSBAKH NMANNNSSSVNAND GH HŠDAASMPADHHAԠN. DAD SASҠPANSASAԠSҠ DA'B5ADDSSDNS SBP SBSS DAD+SZ ADABP SABUADSԠϠSNDADŠADDSS DAD+SZƠADDUN ADABPS SABUA DAD56+SZƠϠS SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBDHKHKҠSANDMPAŠBUS HŠNGPANSANŠMMAND DBYAAD DAB5ADDSSDNS SBP SBSSADDSSDNS DAB60NŠNS SBP DANŠNŠMMAND SBMMDSSUŠMMAND SBAS SBHKHKSAUS DAB5ADDSSDNS SBP SBSSADDSSDNS DAB6ADAҠNŠNS SBAD SBDHKHKDAA HŠNGPANSAŠHA SASNAҠHŠNDƠAKZϠAND NNUSNϠHŠNԠAK DASP-3 SASҠSԠSҠNUMB DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠUҠSҠDUN DABP SABUAD DABPS SABUA SBDGNGNAŠBU SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAD SASҠSԠSҠSVN HSPANSKSBAKϠHADZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANDSAYàHKN SSSVNANDGH DABYàHKNS SAPN $DADHKSҠϠSS SBDADϠSҠUN DAYHKADYàHKMMAND SBMMDSSUŠMMAND SBASAԠҠMPN SBHKHKSAUS DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSSADDSSDNS HŠNGPANADSBAK HŠDAANBYHŠPVUS HŠDAASMPADHHAԠN. DAB6ADNS SBAD SBDHKHKҠSANDMPAŠBUS PSNϠMVŠϠHŠBMAK DAP-ADASԠAKNUMB SAHAD DAD SASҠSԠSҠϠSVN HŠNGSKMVSϠHŠBM AKƠHŠYND DAB5ADDSSDNS SBP SBSHMVŠϠHŠBMAK HSPANUPUSAPAҠƠDSϠH DAAHANN.ABUԠ50MSNDSAҠHŠSND SAPDAHDDSUPUԠϠSԠVUNAG. DABUAD B SBAɠSԠϠDSϠZ NA SBA DAD SANԠSԠDUN DAVSUMPϠSUBUN SADMSPSԠDMABAKAN SBAHAԠҠHADSHNG H50DAB50VUNNS SB SBHKHKҠVUN A SASHASHAԠSAUSNMAYS DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠDUNԠҠUҠSS SBDGNGNAŠBU SBASAԠҠSҠSHNG HŠNGŠSASNAҠH ŌYNDƠHŠYNDҠANDNNUS UN̠HŠNDƠYNDҠҠUS DAB5ŠNS SB MAKŠSUŠHAԠNDƠYNDҠҠUS DAH ANDDMƠANNMPŠDMAANSҠSK SADM DAD35+SZ SANԠSԠDUNԠҠHŠSS DABԠADNDƠYNDҠB ҠABԠҠNANYҠB SASHASHSSHAԠSAUSSHUDB SBHKHKҠS SԠMMANDBԠ ƠMSSNGYHKBMSADàANDNDƠYNDҠN'ԠU DAB SBP SBSKSKNS DAD+SZ SAN DABYàHKNS SAPN SBDMҠSԠUPDMANASŠԠSAD DAD30HKSҠ30 SBDADϠSS DAYHK SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS SBHKVYSAUS A SASHASSAUSSHUDNMAYBŠZ DAD SASҠSԠSҠϠSVN HSSKUNSϠHŠBMAK DAB5ADDSSDNS SBP SBSHUNϠBMAK HSPANSAADANDHKƠHŠS HAԠSHUDHAVŠBNZϠD. HŠPANHKSHAԠHŠDAUSNGH VUNASNԠNNϠHŠS. DAD30 SANԠSԠDUNԠҠNŠS DAVS SADMSPSԠϠNUPԠDMAANS SBAHAԠҠHADSHNG H5DAB5VUNHKNS SBAD A SAPAԠSԠPAND SBPHKɬ HŠNGADADSBAKHŠDAA NBYHŠPVUS. HŠDAASMPADtHHAԠN. DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠDUNԠҠUҠSS SBASAԠҠSҠSHNG DAB6ADNS SBADADAND MAKŠSUŠHAԠNDƠYNDҠҠUS DAH ANDDMƠANNMPŠDMAANSҠSK SADM DAD3+SZ SANԠSԠDUNԠҠHŠSS DABԠADNDƠYNDҠB ҠABԠҠNANYҠB SASHASHSSHAԠSAUSSHUDB SBDHKHKҠSANDMPAŠBUS A SASHASSAUSSHUDNMAYBŠZ PANϠMAKŠADDSSGSҠDN MAUA̠PSN. DAB5ADDSSDNS SBP DAD0 SBDADϠYNDҠNUMBҠU DAPAԠANAŠPSNPAN SBMMDSSUŠMMAND SBADAԠҠDAADϠG DAHAD ҠHDN SBDADϠHADU SBADAԠҠMPN SBASANDMPN PANHKSҠNԠUND DAD+SZ SANԠSԠDUNԠҠNŠS DAB6ADNS SBAD DANBԠNԠUND ҠABԠANY SASHASHAԠSAUSSHUDB SBHK A SASHASHAԠSAUSSHUDNMAYB SKϠYNDҠ0ANDHNSKϠSԠYND NYNDҠAB.AԠHADSҠ9ADN SҠANDVYNNS.HŠADMMANDSSSUD BŠHŠSKSMP. DBD0 DAҬɠSSԠNYNAB PAD0UA̠Ϡ0 BYS SBY̠Y̠0(Ҡ0 B [DABSKNS SBP SBSKPMU̠SK DAҬ SAY DAP- SAHAD DASP-3 SAS DABSKNS SBP SBSK DAB6ADNS SBAD SBDHKHKSAUSANDMPAŠBUS MPS VSSBPVʬ VʠNP A SADMSPSԠBAKϠN-P ADBD6KPMNGAUA DAM56AנASHԠAԠҠHŠAG VҠU SSANASSDN'ԠHANGV MPVؠPNDAGS ADBD5ADDNYSUSDNP DM6ɠSSDMADSKPHNDMADN MPVҠBAKƠNԠDN SBKAԠҠNԠUSԠϠMŠUP DAVBԠVUNB ҠABԠANY SASHASHAԠSAUSSHUDB SBDADϠUPUԠNŠAD...A VؠU MPVʬɠUNϠDMA HDSҬPAԱPSҬASK SҠNPMV DA SұSAPNԠSԠPN DAPNԬ ADAMM SAADYND NAAB SASҠNY MVŠDAADɠDN SASҬɠN DAADAND SASҠPA ADAMMVAU SAADA ADAD PAPNԬ BSSP MPMV DAVAU SASҬ SBVAU MPSҬ PA PPAŠPANAB PAԱNP DAMMϠNS̠BŠUSD SAPNA DAPAҠADDSS ADAMM0ƠS SAPADPAN DAP0AADDSS SAPSҠƠMSSAG PàDAMM5VŠPANSPҠN SAPN PBDBPS DAPAD SBNP"ɠNVԠϠAS SZPAD DBPS ADBD3 DABBϠASɠBANKS SAB NB SBPS SZPNԠHAVŠŠDNŠVŠY MPPBN SZPNAYSHAVŠŠDNŠNY MPPAԱɠYS DAƠ06 SAPSҬ SZPS MPP PSҠNPADD DAPS SASҠSԠUPUN DAPA MPSұ ASK ASKPAҠƠHŠSHSϠHANGŠAB ASKNP H5DAB5DϠYUSHϠHANGŠAB? SBPN SBHNNPUԠMKYBAD DABNAɠNPUԠBU ANDP00 ҠNN000BSSԠHAAҠN? SZASSSKPƠN MPASK ҠYY300BSSԠHAAҠY? SZA MPH5YAGAN SZASK MPASK HDS-SN G000B SNSGANZDASS YNDҠADVAN SH60--A̠YNDSM0Ϡ0 SH6--A̠YNDSNAB . . .PANGNA .GNAŠBUSҠAHƠHŠPANSNPA .SKPHSSNƠSH5 .. ..AKADVAN ..A̠AKSM0ϠP- ... ...BKADVAN ...AHAKSNASHŠBKS .... ....ŠDAABU .... .. ..AKADVAN ..A̠AKSM0ϠP- ... ...BKADVAN ...AHAKSADASH ...BKS(6ҠU ...BKS(5 .mv... ....ADAHBK .... ....HKDAAAD .... ... .. . . SVԠUGBUSDϠUNԠA̠M SVҠUGB SVKàUGB3 PAԠUGBVAABŠϠSAVŠUNԠPAN PNؠUGB5UNҠҠPANAB SNP DAAS SBSUƠUNԠSN A SASVԠZϠA̠MŠNSKS SASV SASVKàZϠSKUN SAYؠSԠZϠNϠNA̠YND S̠U SBYʠANSAŠYؠNϠY AA_0 SAHADPSNҠHADZϠAND SASҠSҠZ DASVԠMVŠSAVDUNSBAK SAMN DASV SAMN HSSKMVSHŠPSNҠNŠYND. HSŠSKSAŠMDANDHŠSUSPND. DBD3NUMBҠƠYSUSDSH DABSKNS SBP SBSK SBAS DAMN SASVԠSAVŠUNԠMSNDUN DAMN SASV SBHKHKҠS DASVK NAUNԠUPSKUN SASVK PAD9HAVŠŠDNŠU̠SKS SSYSPNԠUԠSKMNG MPNנNϬNNUŠN SBSҠADSHGS ANDBԱ SZASKPƠBԠA SBYK MPNנABԠPNU DASVԠADNUMBҠƠMSNDS SBMSVA̠NV DAVԲANS SAP053Aɠ DAV3MSSAG SAP053B H53DAB53AVAGŠMNMUMSKMŠ. SBPNԠPNԠUԠSKMŠMSSAG NנU SBSҠADSHGS 1ANDB5HKҠSHԠS SZASKPƠNG MPSHSHNSN HŠNGSNƠDŠYSHUGH A̠NPANSNHŠPANAB DABPҠADBUҠADDSS SABUADSԠŠAND SABUAŠADBUҠADDSSS DAMM0PANABŠSNNSNG SAPNؠSAVŠNUNҠD GNU DAM56+SZƠSҠDUNԠ SAMPSAVŠҠHŠASԠ̠P DBPNؠADHŠPANUN ADBPAPADDNHŠABŠADDSS DABɠADHŠPANϠA SAPAԠSAVŠԠҠHŠPHKUN DBBUADADHŠŠADDSS G̠U SAB NB SAB NB SAB NB SAB NB SZMPUNԠDNUNҠ(BYUҠ MPG̠NNUŠNƠNԠDN SKP HŠNGDŠSHŠPANNHŠBU NϠHŠNŠYND ϠUSŠHŠMNMUMMŠҠAHAKHŠAK SDVDDNϠHDSHHAŠN NHŠDҬSԬHDSND. HSSAGYSAPPABŠNBHHŠ5AND6 B SBHADSԠHADϠZ SBSHASSԠSҠϠZ NHנU A SASҠSԠBKSASAԠSҠZ HSSKSSANנHAD DAB5ADDSSDNS SBP SBSHSKϠUNԠHAD HŠNGŠSҠH SԠHDƠHSAK DA SANԠSԠDUN SBAHAԠҠHADSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ ]cHŠASԠHDƠHSAK DAS SAS DAB5ADDSSDNS SBP SBSS DA SANԠSԠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠSNDHDƠHSAK DASS SAS DAB5ADDSSDNS SBP SBSS DA SANԠSԠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAHAD NAUNԠUPHADNUMB SAHADAND PAPàNNUŠNƠNԠNSHDHHŠYND ASSDNŬSKPU MPNHנŠNAHAK SKP HŠNGSNADSBAKHŠPANSAND MPASAHDHPA. HŠADSAGYϠMNMZŠANYSDN ҠHŠ5ANDHŠ6. HŠSHMŠҠAHAKҠHŠ6S AUҠSҠADSANGAԠSҠZ SҠMSAŠAVAABŠϠHKHŠDAA AUҠSҠADSANGAԠSҠGH SҠMSAŠAVAABŠϠHKHŠDAA AUҠSҠADSANGAԠSҠU SҠMSAŠAVAABŠϠHKHŠDAA HŠADANDHKSNSHDNVUNS HŠSHMŠҠAHAKҠHŠ5S AHŠSҠADSANGAԠSҠZ 6SҠMSAŠAVAABŠϠHKHŠDAA AHŠSҠADSANGAԠSҠNN 6SҠMSAŠAVAABŠϠHKHŠDAA AHŠSҠADSANGAԠSҠSB 6SҠMSAŠAVAABŠϠHKHŠDAA AHŠSҠADSANGAԠSҠH 6SҠMSAŠAVAABŠϠHKHŠDAA HŠADANDHKSNSHDN3VUNS SAHADSԠHADZ NHҠU A SASҠSAԠAԠSҠZ DAB5ADDSSDNS SBP SBSHADDSSDNS DANSנNGUANSHGS ANDBԱ SZASKPƠ6 MPNHS HSPANSAAD HŠSԠHDƠHSAK DA SANԠSԠNGHƠSԠHD DAB6ADNS SBAD SBPHKHKҠBUҠMSMAH HSPANSAAD HŠASԠHDƠHSAK DAS SASҠSԠSҠNUMB DAB5ADDSSDNS SBP SBSS DAԠNGHƠASԠHD SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHK HSPANSAAD HŠSNDHDƠHSAK DASSԠSҠHŠSNDHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠDUNԠҠSԠHD SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHKHKҠBUҠS MPNHԠADVANŠϠNԠAK SNҠHŠ5 NHSU HSPANSAAD HŠSԠUHƠHSAK DAƠNGHƠSԠUH SANԠSMԠDUN DAB6ADNS SBAD SBPHKHKҠBUҠS HSPANSAAD HŠASԠUHƠHSAK DASƠSҠHŠASԠUHSAS SAS DAB5ADDSSDNS SBP SBSS DAƠNGHƠASԠUH SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHKHKҠBUҠS HSPANSAAD HŠHDUHƠHSAK DASƠSҠHŠHDUHSAS SAS DAB5ADDSSDNS SBP SBSS DAƠNGHƠASԠUH SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHKHKҠBUҠS HSPANSAAD HŠSNDUHƠHSAK DASSƠSҠHŠSNDUHSAS SAS DAB5ADDSSDNS SBP SBSSADDSSDNS NGHSAMŠASPVUS DAB6ADNS SBAD SBPHKKҠSAUSҠBUҠS NHԠU DAHAD NA SAHADUNԠUPHADNUMBҠAND PAPàHKҠNDƠYND SSSKPUԠƠDN MPNHҠNNUŠҠA̠AKS SZPNؠHAVŠA̠PANSBND MPGNNϬGϠBAKҠN SKP SHU SBYDUNԠUPYؠANDHKҠDN MPS̠P MPSɠUN Ԡ000000 Ԡ Ԡ55 Ԡ0555 Ԡ00ZXT Ԡ0360 Ԡ65 Ԡ6336 Ԡ55555 Ԡ0 PAҠU PAPDƠPA Z 1E 24237-80005 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # HDS3-SN3 SN3 SN3SGANZDASS GNAŠANDMYNDҠNUMBSAND ANDMHADANDSҠNUMBS . . .GNAŠAANDMDUN .(NԠBYNDNDƠYNDҠ .. .. ..GNAŠABUҠƠANDMDAA ..SŠADƠZϠNϠH ..SԠUNUSDD .. .. ..ŠBUҠϠDSK .. .. ... ...SSUŠSK ... ... ...ADBKBAK ...ADANDHKNŠAD ...NԠAMUPŠƠSҠSZ ... ... ...HKDAAAD ... ... .. .. . . SKNԠUGB PԠUGB SAVŠUGB3 S3NP DAAS3 SBSUƠUNԠSN SBSҠSHGSҠϠA ANDB5 DBM0UNԠҠNGVSN SZASKPƠNDDNGS DBMM6UNԠҠSHԠS SBSKN S3AU SBNHGԠANDMYNDҬHADNUMB SBNSàGԠANDMSҠNUMB HSSKMVSHŠPSNҠϠAANDM YNDҠANDHAD. DABSKNS3 SBP SBSKSAԠSKNSAY SBGGԠANDMDUN DABPҠADSԠBUҠPN SABUAD DABPSADSNDBUҠPN SABUA SBDGNGNAŠAANDMBU DANԠSAVŠAS SASAVŠAN+ ADABUADADDBASŠƠŠBU B {SBAɠSAVŠϠHKSҠZNG SBASAԠҠSKϠNSH SBHKHKҠS DAMMYUҠADS SAP S3AU HSŠSUPAGVNAAH ANDMDAA.HŠDUNԠMAYBŠM NŠDϠ03DS. DAB5ADDSSDNS3 SBP SBSHADDSSDNS3 DAB5ŠNS3 SBŠ̠UPHSNAAHUNK SBHKHKҠS DANԠHKҠSҠBUNDAY ANDB+SZƠHKҠVNSҠBUNDAY SZASKPƠVNMUPŠƠS SZNԠUNԠUPDUN HSSKSSHŠPPҠHAD DAB5ADDSSDNS3 SBP SBSHADDSSDNS3 HSADADSBAKHŠDAAN BYHŠPVUS. HŠDAASMPADHHAԠN. DAB6ADNS3 SBADADBAKUNK SBDHKHKҠS DASAV SAN SZPԠHKҠNUGHMS MPS3AYSMŠMŠADS SZSKNԠAŠŠDNŠHHSSN MPS3ANԠDNŬYANHҠPA MPS3ɠUN HDGYDY HSUNŠGNASAANDMDUNԠBN AND03.HŠDUNԠ̠NԠND BYNDHŠNDƠYND. GNP AU SBANDGԠAANDMNUMB A ANDBNԠ<0 SZASSZϠSNԠGA MPAƠZϬYAGAN ԠU SANԠSAVŠHSNDUN DBHADHKҠASԠHADNYND NB PBPàHKҠASԠHAD SSASԠHADMAYBŠUB MPGɠNԠNASԠAKNϠSA DBSPԠADNUMBҠƠSSPҠAK MBNBNGAV ADBSҠAנҠHŠŠAŠN AƬAƠNVԠNԠϠSҠUN A ANDB+SZƠHPƠA ADAB SSASKPƠϠNG MPGɠNGAVŠAMANSKAY DANԠADHSNDUNԠAND ASHAVŠ MPԠANDSϠN SKP YDUNSUPYؠANDHKSҠMPN SԠNA̠YNDS.ԠGVSASKPUNHN A̠YNDSHAVŠBNVD YDNP DBYؠADUNԠYNDҠN NBUNԠԠUPBYN SBYؠANDSŠԠBAK MBMAKŠNSMPMN SBSҴADVŠSHGS ANDB6HKҠSDYNDS SZASSSKPƠSHԠSԠUSD MPDYU̠S ADBD0HŠAŠNABŠNS MPDZ DYU ADBYPPHKҠNDƠPAK DZU SSBSKPƠNԠDN SZYDUNԠUPUNADDSS(DNŠ MPYDɠUN YʠANSASHŠNUMBҠNYؠϠHŠDSD YNDҠNUMBҠNY YʠNP SBSҴADVŠSHGS ANDB6HKҠSDYNDS SZASSSKPƠSHԠS MP DAY DBD3 ѠU ADAMM0HKҠYؠϠBG ADBD6 SSASSSKPƠKAY MPѠHSŬKPDUNG ADABPADDNABŠADDSS DAAɠADHŠDMHŠAB SAY̠SԠBAKNϠYND MP נU DAY SAY̠SAGHԠPY DBD9 ؠSBK MPYʬɠUN  BNUAKABŠBGN Ԡ00000000 ABSY BPDƠ HDS-SN SNSGANZDASS YNDҠADVAN SH60--A̠YNDSM0Ϡ0 SH6--A̠YNDSNAB . . .ANDMNUMBҠGNA .GNASANנBUҠƠANDMDAA .ҠAHYND . .AKADVAN .A̠AKSM0ϠP- .. ..BKADVAN ..AHAKSNASH ..BKS(6ҠU ..BKS(5 ..HŠSHMŠUSDSHŠSAM ..ASHAԠƠHŠSN ..PANADSN ..GNANDPHKAK ..ABUԠHŠSAMŠAMUN ..ƠM. ... ...HKSUMBKSϠHAԠԠS ...UNUŠANDDNAB. ... ...ŠBKϠDSK ... .. . . . SNP DAAS SBSUƠUNԠSN SBSҠADSHGS ANDB6SAVŠBԠ6 DBS00 ADBUNԠSS5ANDS6 SAB ANAA SASAG A SAYؠSԠYNDҠNŠD S̠U SBYʠANSAŠYؠNϠY A SAHADPSNҠHADZϠAND SASҠSҠZ DBD3YSUSD HSSKAUSSPSNҠMN HŠNԠYND. DABSKNS SBP SBSKSKNS HŠNGSNƠDŠGNAvcSH HKSUMMDANDMDAA. DAԠNGHƠSԠHD SANԠSԠDUN SBDGNGNAŠANDMBU A SASHASSAUSSHUDBŠZ SNU A SASҠHSPSASAԠSҠZ DAB5ADDSSDNS SBP SBSHADDSSDNS DANSנNGUANSHGS ANDBԱHKҠ5Ҡ6 SZASKPƠ6 MPSSGϠϠSNҠSנMAHNS HSPANSAŠ HŠSԠHDƠHSAK NԠANDSҠAŠSԠUP SBGNGNAŠHKSUMS DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠASԠHDƠHSAK DASԠSҠHŠASԠHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠNGHƠASԠHD SANԠSԠDUN SBGNGNAŠHKSUMS SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠMDDŠHDƠHSAK DASSԠSҠHŠHSHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠNGHƠMDDŠHD SANԠSԠDUN SBGNGNAŠHKSUMS SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS MPS SSUSNҠSנMAHN HSPANSAŠ HŠSԠUHƠHSAK DAƠNGHƠSԠUH SANԠSԠDUN SBGNGNAŠHKSUM DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠASԠUHƠHSAK DASƠSҠHŠASԠUHSAS SAS DAB5ADDSSDNS SBP SBSS DAƠNGHƠASԠUH SANԠSԠDUN SBGNGNAŠHKSUM SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠHDUHƠHSAK DASƠSҠHŠHDUHSAS SAS DAB5ADDSSDNS SBP SBSS DAƠDUNԠҠHSUH SANԠSԠDUN SBGNGNAŠHKSUM SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠSNDUHƠHSAK DASSƠSҠHŠNDUHSAS SAS DAB5ADDSSDNS SBP SBSS NGHSAMŠASPVUS SBGNGNAŠHKSUM SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS SԠU DAHAD NAUNԠUPAKNUMB SAHAD PAPàHKϠSŠƠDN SSSKPUԠHNDN MPSNNSHNŠYND SBYDUNԠUPYؠANDHKҠDN MPS̠NNUŠNϠNԠYND ASKϠHŠSԠNYNHŠYNDҠABŠPDSAH YàHKƠ6AND0SS.HŠNNZϠS UNS̠SUԠNANDƠYNDҠSAUSSHUDANYB ƠHŠSҠUNҠA̠ϠS.HŠZϠSҠUNԠ A̠ϠSUԠNANDƠYNDҠSAUSSHUDANYBԠ HŠSҠUNҠA̠ϠA. A SAHAD SAS DAҬ SAY DAB0D SBDHK DABԱD56 SBDHK DABԲD5 SBDHK DAB3D0 SBDHK DABԴD0 SBDHK DAB ҠAB SASHASPDSAUS AD0 SBDHK MPSɠUN DHKNP SANԠSAVŠNUMBҠƠSS DABSKNS SBP SBSKPMU̠SK DABYàHKNS SAPN DANԠNUMBҠƠSS SBDAD DAYHK SBMMDUPUԠYàHKMMAND SBASAԠҠMPN SBHKHKSAUS MPDHK HDGNNHNS GN HSUNŠNSUSHŠHKSUMSҠHŠŠBU. .AHSҠSHKSUMMDSPAAY .HŠNŠSҠSUMSϠZϠ(SMPMNԠ 3.HŠSԠϠDSSUMϠHŠYNDҠNUMB .DSAND3SUMϠHŠHADSҠNUMB HŠGNUNŠAKSHŠNGMSҠUN 3YSNYAND 5YSPҠS HAUNԠP56MŠA̠PҠSҠ0 HAUNԠP59MŠA̠PҠSҠ639 HAUNԠP53MŠA̠PҠSҠ55 HŠDSKDAGNSàSDSBUDHA UNԠPϠAנHŠ6ϠŠAAKNNY ϠVUNSƠHŠDSK. GNNP DAN AƬA A ANDBAVŠHŠNUMBҠƠSS MANAMPMNԠҠSZ SAMP DAHAD ҠHDN AƬAƠHADNUMBҠϠԠSD ҠSҠPUGNSҠNUMB SAMP DBBUADADADDSSƠSԠS G̠U DAMM3+SZ SAMP3UNԠҠUҠUNԠP DABɠGԠDZ MANAMAKŠMPMN ADAY̠HSSUMSϠHŠYNDҠNUMB NBUNԠUPBUҠADDSS SAB NBUNԠUPBUҠPN DABɠADD MANAHKDSMPMN ADAMPADDHADS NBUNԠUPϠSԠҠD SABɠSAVŠSNDHKD DAY ADAMPADDNHADSҠNUMB SUMϠDAŠNA GƠU NBUNԠUPBUҠPN ADABɠADDNNԠDƠBU NB ADAB NB ADAB NB ADAB SZMP3HKҠDN MPGƠGԠNŠBU MANAHKSNGAV ADABɠSUBAԠUԠASԠD SAB NBUNԠϠBGNNNGƠNԠS SZMPUNԠUPSҠNUMB SZMPHKҠDNŠHNŠŠBU MPG̠NϬGϠDϠANHҠS B MPGNɠUN UNŠϠPKAANDMYNDҠANDHADNUMB AVSϠMAHNŠYSUNUND. NHNP NAU DBD SBK SBANDGԠAANDMNUMB AƬAƠUSŠԠHA ANDB3Y̠<56 SAYؠSAVK640ŠNYNDҠNŠD MANSMPMN ADAYPPANNԠBŠANN-SANԠYND SSASKPƠKAY MPNAHSŬYAGAN SBYʠANSAŠYؠNϠY DBD5 SBK SBANDGԠAANDMNUMB AҬAҠϠMNAŠAN-S ANDBHAD< SAHADSԠHADNUMB MPNHɠUN UNŠϠPKAANDMSҠNUMB NSàNP NSAU SBANDA̠ANDHŠMS SBANDGԠHŠGDBSNGHԠND SBANDANԠNϠANHHADNUMB SBAND AҠDϠNԠUSŠBԠ0(NԠANDM ANDD5SҠ<6 SASҠSAVŠSҠNUMB MANSMPMN ADASPԠSԠҠGA̠SҠNUMB SSASKPƠKAY MPNSAHSŬYAGAN MPNSìɠUN :6 2 @ 24237-80006 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # HDS5-SN5 SN5 HSSNADSANDMSSANDVS HAԠHYAUAYAŠHŠSSUSD. HŠSԠUNSҠABUԠ50SKS AԠHŠNDƠAHSKAADSSSUDҠH NԠAVAABŠS.ASSNASHSADSMPDH NԠSKSSAD.HŠDAADSHKDASSN ASHŠSKSNAD. ANԠUGBSKNGHUN ZY̠UGB5HDSPVUSYNDҠNUMB ZHDSUGB6HDSPVUSHADS S5NP DAAS5 SBSUƠUNԠSN A SAANԠZϠSKNGHUN SASVԠZϠA̠MŠNSKS SASV SASVKàZϠSKUN SASHASHAԠSAUSSHUDB A- SAS DAD+SZƠHKNŠS SANԠSԠDUNԠҠNŠS S5àU DAY̠ADPVUSYNDҠNUMB SAZY̠ANDSAVŠԠҠHK DAHADADPVUSHADNUMB ҠHDN AƬAƠMVŠϠԠHA ҠSҠPUGNSҠNUMB SAZHDSANDSAVŠҠHK AKŠUUSDNHK SBNHGNAŠYNDҠANDHADNUMB SBNS DASVԠMVŠHŠUNS SAMN DASV SAMN HSSKMVSϠA ANDMYNDҠANDHAD. DABSKNS5 SBP DBD SBSKSAԠSK SBKAKŠAŠƠUN SZSԠSKPƠSԠM SBHKYSNԠSԠMŠHUGH SBASAԠҠSKMPN DAMNԠMVŠUNSBAK SASV DAMN SASV SBHK HSADADSNNŠS FMAANDMAN DAB6ADNS5 SBADGϠDϠAD A SASԠPPAŠҠP SBHK A SASԠS DAY̠ADYNDҠNUMB MANA ADAZY̠GԠSKNGH SSASKPƠNנPSV MANAABSUŠVAU ADAANԠADDϠA SAAN DASVK NAUNԠUPSKUN SASVK PADSKPƠNϠPN SSH.PNԠUԠMNG MPS5ŠNԠN SBS ANDBԱABԠ SZASSBԠSA MPS5ŠABԠPNU SBYK MPS5ŠABԠPNU DASVԠADA̠M SBMSVNVԠϠAS DBP05A DAVԱANS SABɠ NB DAVԲMSSAG SAB NB DAV3 SAB DAANԠADA̠NGH SBMSVNVԠϠAS DBP05B DAVԲANS SABɠ NB DAV3MSSAG SAB H5DAB5 SBPNԠAVAGŠANDMSKMŠ.. AVAGŠANDMSKNGH. S5ŠU DBSVKàADSKUN SBSҠSHGSҠϠA ANDB5 ADBM56SHԠS SZASSSKPƠYS ADBM936N SSBSKPƠDN MPS5àDϠANH MPS5ɠUN HDHKHK HK HSUNŠHKSHŠBUSGNADBYGN ԠUSSBUAŠҠAPNҠANDHKSNŠS SŠGNҠADSPNƠHŠSҠMA HKNP DAHKSAVŠUNADDSSҠ SBHKMBUҠHKSUM SZD<ASKPƠHKSUMK MPҠHKSUM DAMPGԠYNDҠHKBAK PAZY̠HKҠPPҠYND SS MPҠNGYND DAMP3GԠHADSҠBAK PAZHDS MPؠNϠBUҠSHKSAUS ҠU SBASPAUN DAZY̠S SAY̠Y DAZHDS AƬA ANDB3 SAHADHAD DAZHDS ANDB3 SASҠANDS A- SASԠSԠSԠAG DAB3ADHKNS5 SAPN DAAKŠS SAHKUN ұU DAMPADHKSUM DBP05APN-HKSUM SBNPɠNVԠϠAS DAMPADYNDҠHK DBP05BPN-YND SBNP DAMP3ADHADSҠHK DBP05àPN-HADANDS SBNPɠNVԠϠAS DAMP DBP05DPNԠYNDҠNDMA SBDN DAMP3 AƬA ANDB3 DBP05ŠPNԠHADNDMA SBDN DAMP3 ANDB3 DBP05ƠPNԠSҠNDMA SBDN 5DBB5BUҠHKSUMؠY YYYYYYHDSZZZZZZ SBSƠSԠҠMSSAGŠPN SBàSAVŠҠH MPZGϠANAYZŠS HK MBUҠHKSUM HKNP SAHK DBD03 SBK SBA DBBUAŠADBUҠPN DAM+SZ SAMPSԠUNԠҠADDP DABɠADSԠD NB ADABɠMAKŠYNDҠHK NB SAMPSAVŠYNDҠHK DAB NB ADABɠMAKŠHADSҠHK NB SAMP3SAVŠHDSHK ADAMPHKSUMSϠA ѠU ADABɠADDUPA̠DS NB SZMPUNԠDNUN MP SAMPSAVŠHKSUM DBA MPHKɠUN HDS6-SN6 SN6 HSSNUNSMUPŠUNԠSԠƠAԠASԠϠUNS AŠPSN.HŠSKSVAP.HŠADHKSHŠSAM HAԠS5PMS. S6NP DAAS6 SBSUƠUNԠSN DAUNàNUMBҠƠUNS PADSԠNYN? MPS6NϠYSABԠS DANɠNUMBҠNAZD PAUNàAŠA̠NAZD? MPS6SԠYS DANɠNϬNSH ADAUNSNAZAN DAA SAUNԠNAZŠNԠUN SZN MPS6ɠUN S6SԠU A SAS6NԠZϠUN SASHASANDSAUS HKҠSDYND SBS6S A S6رU DBSAV6 ADBS00 ҠBɠҠHŠS'SGH SZSAV6 SZ6 MPS6ر SAMP SBS6S DAMP S6زU DBSAV6 ADBS00 SABɠSŠSUԠBAK SZSAV6 SZ6 MPS6ز DAD+SZ SANԠDUNԠ HSSNSMŠDPNDNԠANDMAYNԠBŠSNGŠYD S6̠U A SAGB6 SBNHSԠANDMY̠ANDHAD SBNSàSԠANDMS DABSKNS6 SBPҠSKNS6 SBS6S S6S̠U DASAV6ɠGNA SAUNԠUNԠNUMB SBSKPMSK SZSAV6NԠUN SZ6DN? MPS6S̠N SBS6S DBBPϠKAA S6̱USԠUPҠVADYHK DASAV6 SAB NB SZSAV6 SZ6 MPS6̱ SBS6S S6̠U DABSKNS6 SAPNSKNS6 DAM56 SANԠAנ56MSNDSҠAG DBD5 S6DU SBKUPDAŠM DBD 09Sà MPñ0AGSS DAN SSASKPNMŠU MPS6D SBPPUNԠPAN DAB0NϠàAG SA SBPN MPS6̴ ñ0A SAANSAVŠANNBS B S6̲UAUAŠUNԠNUMB SABYSANNNGANNBS MPS6ƠGHԠϠ NB A PBD SS MPS6̲ SZGB6AנHŠNSNŠ DAGB6AHUNԠAҠHŠS PAD MPŲҠ-MSSNGANNB SBSA DASAԠASUNԠHUGH? SSA MPS6ƱYSPSSUN MPS6 ŲSBPP ŲSBҠMSSNGҠDUPAŠANN S6̴SBADDɬ MPS6 S6ƠSBUN S6ƱSBSA DAUNàHKVADYƠUNԠNUMB MANA SAGB DBBP S63U DAB PAUN MPS6K NB SZGB MPS63 MPŲNԠVADB S6KSBBɠDN'ԠAנSAMŠBԠAGAN SBHKHKSAUS DAB5S SBPҠHAD SBSHADDSSDNS6 DAB6ADNS6 SBADADNS6 SBHKHKSAUS SBS6HKHKBU SZ6DN? MPS6̠N SZS6NԠBUMPUN DBS6N SBS ANDB5SHNSu? ADBM56-56 SZASSSKPƠYS ADBM936-936 SSBDN? MPS6̠N DAUNAS SAUNԠUNԠNUMBҠҠNԠPASS S6NϠUYS ANA SANɠNɠ DAHAGSAGS SASSSKPƠYS MPS6ɠN DAHDNSH ҠDSUA SAHDN MPS6 S6HK HKSBUҠҠPPҠPSNANDDAA ANS S6HKNP DAS6HK SBHKMBUҠHKSUM SZASKPƠK MPSҠ DAMP PAY̠SYNDҠK? SSYS MPSҠNϬ DAMP3 AƬA ANDB3 DBA DAHAD ҠHDN PABSHADK? SSYS MPSҠNϬ DAMP3 ANDB3 PASҠSSҠK? MPؠYS SҠU H3DAB3 SAPNADHKNS6 MPұ S6SԠNP DAUNàNUMBҠƠUNS MANA'SMPMN SA6 DAUNSPNҠ SASAV6UNԠNUMBS MPS6SԬ HDPHKMSV PHKUN. HSUNŠHKSHŠNŠADBUҠ UAYHHŠDNPA. NGHƠHŠPVS.MAHNŠYS UNԠNG96MAHNŠYS 0 60 560 6536 35 65 55 HŠDAGNSàSDSBUDHH PUNSNG.HSSPDSADUAŠNHŠ6 CXϠAנHŠADANDHKƠNŠAK UҠNϠVUNS. NHŠ5HŠADANDHKPANAKS HŠVUNSGADSS. PHKNP DAPHKADUNADDSS SAHKSAVŠҠPSSBŠA DANԠADBUҠNGH ASASDVDŠBYGH AS(ҠGHԠUNԠP MANASMPMN SAMPSԠUNҠҠP DAPAԠADMPASND DBBUAŠADADBUҠADDSS BGNNNGƠHŠP PH̠U PABɠHKҠMAHHBU NBSSUNԠUPBUҠADDSSANDSKP MPPHŠMS-MPA PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH SZMPUNԠU MPPH̠NԠDNŬNNUŠHKNG MPؠNϠBUҠSHKSAUS PHŠSBMPPNҠ-S DAPAɠSԠUP SAMPSHUDBŠPAԠƠҠMSSAG DABUA MANA ADAMPADNUMB MPű0 SKP HSUNŠAKSHŠNUMBҠNHŠA-G DVDSBYANDPUSHŠASɠ(DMA̠ SUԠNϠVԱVԲANDV3(.ة MSVNP SAMPADNUMBҠƠMSNDS AƬA A̠DVDŠBY ANDB3NGA̠NUMBҠƠMSNDS SBDNNVԠNGҠϠDMA̠AS DAMPSAԠNANPA ANDBAVŠNYANPA BB_- MD̠ADAMM3SŠϠ0 N0.*BUNԠUPNHSPA SSASSSKPƠNHSAUANDN MPMD ADBASD0MAKŠNϠ. SBV3S MPMSVɠUN {0 3 @ 24237-80007 A S 0122               H0101  HDMSSAGŠABS àABS- ҠDƠ+ DƠH0MSSAGŠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠű0 DƠű DƠű DƠű3 DƠű NPH5 NPH6 DƠH DƠH0 DƠŲ DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH30 DƠH3 DƠH3 DƠH33 DƠH3 DƠH35 DƠH36 DƠH3 DƠH0 DƠH DƠH DƠH3 NPH NPH5 NPH6 DƠŴ DƠH50 DƠH5 DƠ5 DƠH53 DƠH5 DƠH55 DƠH56 DƠH5 NPH60 NPH6 DƠH6 DƠ63 DƠ6 DƠH65 NPH66 NPH6 DƠH0 DƠH ҠDƠ MɠDƠ+MSSAGŠADDSSAB DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM3 DƠM33 DƠM3 DƠM35 DƠM36 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM50 DƠM5 DƠM5 DƠM53 DƠM5 DƠM55 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM66 DƠM6 DƠM0 DƠM M̠DƠ+MSSAGŠNGHAB DƠ0 DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̷ DƠ̱0 DƠ̱ DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠ36 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴ DƠ̴5 DƠ̴6 DƠ̴ DƠ50 DƠ5 DƠ5 DƠ53 DƠ5 DƠ55 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠ̷0 DƠ̷ HDS-SN(PDSN PDSN PAҠDSGNSN HSSNASHŠPAҠϠDSGN HSNSԠANDHNUŠ. PDSNDAAS SBSUƠUNԠSN DABPϠSAԠƠKAA SABDSAGŠPN SAPS DAAMM MANAAM ADABԱ3 DBBK SSASS DBAM ADBMM SBBP DABPҠS SABUADUP DABPSPNS SABUA A SAAB SASHASZϠPDSAUS SAS SADM SAHDN SAHAG H55DAB55NҠNSUNS SBPN PDU SBHNNPUԠN A SAPAG DADMMNYUSD SADDAUԠAS SBPAKGԠPD MPH0ҠNNPU DBD PDUQSAH PABɠDŠMAH MPPD3UND NB PBD SSҠ-BADPD MPPD H0DAB0UNDNDNSUN SBPN MPPD PD3U ADBD SBPNԠPD ADBU SBPNDHKҠAB DABɠPSSNSUN MPA PUԱAҬDSSS PUԱDAPPԱ SADSŠANSҠV A SADDAUԠAS SBPUԱHKҠMMA SBPUԱDPSSSԠDYND AƬA SAD SBPUԱDPSSSNDDHAD AƬA ҠD SAD SBPUԱDPSSHDDS ҠD SAD DAPAGDN? SZASSSKPƠYS MPPUԱA PUԱBDAD3 PUԱƠSBBUD MPPD PUԱASBH3BADNPU MPPD PUԱDNP DAPAGDN? SZA MPPUԱBYS SBDHAҠNϬGԠNԠD SS MPPUԱD SBPUԱŠDNŠҠ? SZPAGDN MPPUԱDɠNNU PUԱŠNPDNŠҠ? DBNԠUMNSMANNG SZB MPPDҠ(AADYPD MPPUԱŬ PUԱGNPHKMMA ҠB5 SZASS MPPUԱGɠK MPPUԱA PUԱHNP SBHAҠGԠNԠHAA MPPUԱBDN SBPUԱGHKҠMMA MPPUԱHɠUN PUԲŬ̬ҬSS PUԲNP DAPPԲ SADSŠANSҠV SBHA SSSKPƠDN MPPUԱA MPPU3ʠ PU3GϬB PU3DAPP3ANSS SADSŠANSҠV SBHADz MPPUԱA SBPU3KGԠAB SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS DAPNԠPD MANA ADAB5SԠB? SZASKPƠYS MPPU3AMUSԠBŠG SBPU3DSAHҠAB MPPU3BNԠH SZBPUND DABPɠADDSSD SZASSSKPƠPVUSYDND MPPU3 HDABDUPAŠAB SBPN MPPD PU3BSBPU3̠HKҠV PU3ŠDABDNԠAVAABŠAN SABPɠSŠADDSS PU3ʠDAD MPPUԱƠ PU3ASBPU3DGϬSAHAB MPPU3ƠDDNԠND SZBPUND PU3GDABP ANDB3 ҠMPɠ6000B SAD MPPU3 PU3ƠSBPU3̠HKҠV A SABPɠZϠADDSSD MPPU3G PU3DNPSAHAB DBABàNUMBҠƠABS PU3ɠSZBSS MPPU3DɠZϠABS DABP PAAB MPPU3HUND DABPSP ADAMMBAK SABPHUGH ADBMMDMNԠAB̠UN MPPU3 PU3HSZPU3DNMA MPPU3Dɠ PU3KNPGԠAB SBPUԱGHKMMA SBPAK MPPUԱA SAAB̠SAVŠAB DABP SABP MPPU3K PU3̠NPHKҠKSPAŠV SBPU3N SZAB DAAB SABP SZBP MPPU3̬ɠNMA̠ PU3NNP DAAB ASϠANSPҠAB ADABD ADAD DBBP MBNB ADBA SSBSS MPPU3M"V MPPU3N PU3MDAB6V SBPN MPPD PUԴDDD PUԴDAPPԴ SADSŠANSҠV SBPUԱHKҠMMA SBPUԱDPSSDDUN SAD DAPNԠS ҠB6 SZASSAD? SBPU6DYSMԠDUN DAPAGDN? SZASSSKPƠYS MPPUԱA MPPUԱB PU5B PU5DAPP5 SADANSҠV ANA SAD3DAUԠNUMBҠƠҠPNS SBHA MPPU5BDN SBPUԱGHKMMA SBDHA MPPU5ADNŠҠ? SZDԠSKPNDAU SAD SBDHA SS MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SAD3 MPPU5B PU5ASBPUԱ SZDԠSKPNDAU SAD PU5BDAD MPPUԱƠ PU6DB PU6DAPP6 SADSŠANSҠV SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPNDAU SAD SBPU6D SBHA MPPU6ADNŠҠ? SBPU6B SBHA MPPUԱA ҠB03 SZA MPPUԱA DAD ҠBԱ SAD SBHA MPPU5BSHUDBŠDN MPPUԱA PU6ASBPUԱŠDNŠҠ? SBPU6B MPPU5B PU6BNP SZDԠSKPƠDAU SSK MPPUԱA SAD3 DABԱ5 ҠD SAD MPPU6B PU6àSBPUԱŠDNŠҠ? SZDԠSKPƠDAU SAD SBPU6D MPPUԱB PU6DNPHKD-MUSԠNԠBŠGA DADHAN0 SSAMUSԠB MPPUԱAPSV MANA ADAD0 SSA MPPUԱA MPPU6D PUԷN PUԷDAPPԷ PUԷGSADSŠANSҠV DBABàNUMBҠƠABS DABP NA SABP PUԷDSZBSSSAH MPPUԷBUNDNDABS DABP SZASS MPPUԷ DABP ADAMM SABP ADBMM MPPUԷD PUԷBSBHA MPPUԷƠNMA̠SA SBPU3K SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS SBPU3DSAHAB MPPUԷADDNԠND SZBPUND DABP SAPS PUԷƠDAD SBBUD MPPSԬɠSAԠUN PUԷàDBBP ADBMM DAB PUԷŠSAP056A H56DAB56UNDNDAB̬ SBPN MPPD PUԷADAAB MPPUԷ PUԸSD PUԸDAPPԸ SADSԠUPANSҠV SBHA MPPUԱA SBPUԱGHKMMA SBDHA SSSHUDBŠDN MPPUԱA SBPUԱŠҠҠDN? SZDԠDAU? SSN MPPUԱAYS SAD MPPUԱB PU9D PU9DAPP9 SADSԠUPANSҠV DAD30 SADDAUԠAS SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPND SAD SBHA NP ҠB0SԠAD? SZASKPɷLƠYS MPPU9AN DABԱDVŠNDA PU9BҠD SAD SBHA SS MPPUԱA MPPUԱB PU9AҠBSԠAP? SZASKPƠYS MPPUԱANϬ DABԱ5PVŠNDA MPPU9B PԱ0SìH PԱ0DAPPԱ0S DBPN ADBMM0-0 SZBSSSKPƠS DAPPԱ3H SADSŠANSҠV A SADDAUԠVAU SBPUԱHKҠMMA SBHA SSK MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SADSŠVAU MPPUԱB PԱ PԱDABD PABP MPPDNHNGϠAS ADAMM DAA SAA̠PVUSANSҠV AƬA ANDB3DUN MANA ADABD SABDBDBD-DUN DAA ANDB3 ҠB5SԠB SZASS MPPԱAYSB ҠB SZASKPƠG MPPD DABD ANDBGԠADDSS ADAPAGŸ6000B SAA̠ƠNDAB DAA̬ɠSHSAB SZADND? MPPDYS DABDɠSAHҠHҠNS SAMPMASKUSDϠSAHҠH DABDNS SAMPPN PԱàPABP MPPԱBNԠUND DAMP ADAMMGԠANSҠV DAA AƬA ANDB3GԠDUN MANA ADAMPADDSSADDSS-DUN SAMP DBMP PBMP MPPDANHҠNŠASUND 20.*MPPԱ PԱADABPSAHABŠҠAN NAHSAB PԱŠSABP DABP PABD MPPԱDUND DABP ADAMM MPPԱ PԱDSAMPKAAPN DABP SAA̠ADDSSƠAB ANDB3 ҠMPɠ6000B SAMPMASKUSDϠSAHҠH ANS SAA̬ɠZϠUԠAB DAMP MPPԱ PԱBANϠNŠUND DBA ADBMM SABɠAB̠0 NA SAA̬ɠADDSS0SϠԠ̠B MPPDDND PԱP PԱUPDSN PԱP PԱDAPPԱANSҠV MPPUԷG PԱ5 PԱ5DAPPԱ5 SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBPU3DSAHAB MPPUԷADDNԠND- SZBPUND DABP ANDB3 ҠMPɠ6000B SAD SBHA MPPUԱA SBPUԱG SBDHAҠGԠNUMBҠƠMSϠPA SSK-SKP MPPUԱA SBPUԱŠDNŠҠ? SAD A SAD3 DAD5 SBBUD MPPD ?0 4 A 24237-80008 A S 0122 CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 # SKP VPAҬDSSS VPNP SBPNDHKҠAB DBVPɠD DAVP SAA DAB AƬA ANDB3 SAY̠YND DAB ANDB SASҠS DAB AƬA AƬA ANDB SAHADHAD SZVP DAVPɠD3 SZVP ANDB3PD SZA MPVPA VPHDAB5A SBP B SBSHADA SBAHAԠҠHADSϠSH VPƠDAVPɠNԠANSҠV SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB VPDDABS SBP B SBSKSK SBASAԠҠSK MPVP VPBҠB6 SZA MPVP DABDS ANDB3SAVŠHAD-S DBY SZBSS DBD03 ADBMMDMNԠY VPŠBƬB ҠB SAA̬ɠHANGŠD MPVPD VPàDABS ANDB3SAVŠHAD-S DBY NBNMNԠYND PBD03 B MPVP VPGNP PAPPԱ0SNԠANSҠVҠS MPVPGɠYS SBHKN MPVPG VPŬ̬ҬSS VPNP SBPNDHKҠAB DAVPɠD SZVP ANDB3PD ҠB SZA MPVPA DAB60 SBP B DANŠNŠD SBMMD SBAS VPGDAVP SBVPGHKSAUS MPVP VPAҠB3 SZA MPVP SBNHɬɠSANDMYNDҠANDHAD SBNSɬɠANDMS DAVP SAVP &MPVPD VPŠҠD6 SZA MPVPB DAVP SAVP MPVPH VPBҠB5 SZA MPVP A SAHAD SAS VPàSBS DBD95 ANDB3 SZASS MPVPDSҠ0Y̠95 DBD00 ADAMM SZASS MPVPDSҠY̠00 DBD05 ADAMM SZASҠY̠05 MPVPɠSҠ3DN VPDSBY DAB SBP SBSKSKNS DAD0 SANԠSS DAB6 SBAD SBHK MPVPàY VPƠSBSAԠS MPVPG VPDDD VPNP SBPNDHKҠAB DAVPɠD SAN SZVP DAVPɠD3 SZVP ANDB3PD ҠB6 SZA MPVPA DAB6D SBAD VPàDAVP SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB DAB5D SB MPVP VPBDABD SAPN B DAN AƬA A ANDB3SҠUN SANԠNUMBҠƠSS SBDAD DAYHKYàHKMMAND SBMMD SBAS MPVP VP5B VP5NP SBPNDHKҠAB DAVP5ɠD SAN SZVP5 DAVP5ɠD3 SANUMP SZVP5 SBDHKMPAŠBUS SZVP5 DAD SANUMP MPVP5 VP6DB VP6NP SBPNDHKҠAB DAVP6ɠD DBA ANDD3 SAN SZASS MPVP6ƠDUNԠ0 DAN MANA SANԠNԠ-N DABP SAA SSB MPVP6Aƽ VP6BSBANDƽ0 SBVP6ŠSŠNBUҬHKҠND MPVP6B VP6AB SSB Bý0ƽ SZVP6ýƽ DAVP6 VP6àSBVP6ŠSŠNBUҬHKҠND SZBSS MA MPVP6 VP6ŠNP SAA̬ɠSŠANBU SZA SZNԠDN? MPVP6ŬɠN VP6GSZVP6YS SZVP6 MPVP6ɠ VP6ƠSSB SZVP6 MPVP6G VPSD VPNP SBPNDHKҠAB DAVPɠD SZVP SAUNԠSŠUNԠNUMB SZVP MPVPɠ VP9D VP9NP SBPNDHKҠAB DAVP9ɠD DBA ANDD3B SAN A SSB DABPVŠAKNDA B SSB DADBDVŠAKNDA SASP SBADɬɠŠADDSS SZVP9 SZVP9 DAVP9 SBVPGHKSAUS MPVP9ɠ VP0S VP0NP SBPNDHKҠAB DAVP0ɠD SASHASPDSAUS SZVP0 SZVP0 SBHKHKSAUS A SASHASSԠPDSAUS MPVP0 VP3H VP3NP SBPNDHKҠAB DAVP3ɠHAԠD HԠ SZVP3 SZVP3 MPVP3 VPP VPSBPNDHKҠAB MPBPϬ VP5 VP5NP SBPNDHKҠAB DAVP5ɠNUMB%1ƠMSϠPA SZVP5 PAVP5ɠDN? MPV5AYS SZVP5 SZVP5 MPVP5ɠUMPϠAB V5AA SAVP5ɠSԠUN SZVP5 SZVP5 SZVP5 MPVP5 ANSҠVS PNSUSDBYANSҠVS DàABS-- DŠDƠ+ ASàAҠ0 ASàB ASàD ASàŠ3 ASàDB ASàDS5 ASàŠ6 ASàN ASàP0 ASàGϠ ASàHԠ ASàD3 ASàS ASàB5 ASàD6 ASàҠ ASàS0 ASàSà ASàSD ASàSҠ3 ASàD ASàP5 ASà̠6 ASàSԠ ASàԠ30 DƠDƠ ABŠƠPDS DŠGNAҠANSҠAB UàDƠ+ DƠPUԱA DƠPU5B DƠPUԴD DƠPUԲ DƠPU6DB DƠPUԱDS DƠPԱ DƠPUԷN DƠPԱP DƠPU3G DƠPԱ0H DƠPU9D DƠPUԱS DƠPU3B DƠPUԴD DƠPUԲ DƠPUԲS DƠPԱ0S DƠPUԸSD DƠPUԱS DƠPUԴD DƠPԱP DƠPUԲ DƠPUԲS DƠPԱ5 HDPAK PAK NPUԠϠHAASPAKDNϠNŠD SKPSN-Š PAKNP SBHAҠSԠHAA MPPAKɠ AƬAƠPSNϠԠHAA SAA̠SAV SBHAҠSNDHAA MPPAKɠ ҠA̠PAKGH SZPAK MPPAK HDBUDPND BUD ANSSDŠMDDD3ANDD HŠKAA. NNYANUMBҠƠDSϠANS BUDNP DBASAVŠUN ADBD0MPNҠϠNԠD SBA AƬAƠMDN ADAPN SABɠSŠNϠANSҠAA SBP3NɬɠHKҠV DAD0 BU̱NA DBAɠANS SBBDɠϠKAA SZBD PAA̠DN? MPBUDɠYS MPBU̱N PND HKSҠABԠ(B30 PNDNP SBS ANDB3 SZASSSB30? MPDNŬɠYSAB MPPNDɠNϬK HDMSSAGS SUP M0Ԡ06 ASàH0ADGŠDSàMMYDAGNS 0U+-M0-M0 MASà09űDSABŠAD ̱U+-M-M MASà5ŲƠҠSSAD-HANN 00ABSS ̲U+-M-M M3ASà93SàADHAGA-HANN 003ABSS 3U+-M3-M3 MASà5ŴSƠҠSàAD-HANN 00ABSS ̴U+-M-M M5ASà5SSADHAGS-HANN 005ABSS 5U+-M5-M5 M6ASà6NϠNUPԠNHANN 006ABSS 6U+-M6-M6 MASà6ŷNGUNADDSS-HANN 00ABSS ̷U+-M-M M0ASà0ű0NϠMMANDAG ̱0U+-M0-M0 MASà09űAŠDAAAG ̱U+-M-M MASà6űNϠDAAAG(GNGSAUS ̱U+-M-M M3ASà0ű3 P3ABSS ASà0DSANSD P3BBSS ASà05PD ̱3U+-M3-M3 MASà5űNϠMMANDAG(USNGDMA ̱U+-M-M M5ASàH5ADDSSDN P5ABSS ̱5U+-[M5-M5 M6ASà06H6V ̱6U+-M6-M6 MASà0HDUPAŠAB ̱U+-M-M M0ASà3H0UNDNDNSUN ̲0U+-M0-M0 MASà9ŲMSSNGҠDUPAŠANNB ̲U+-M-M MASà0HYàHKN PABSS ̲U+-M-M M3ASà09H3ADHKN P3ABSS ̲3U+-M3-M3 MASà09HYNDҠAB Ԡ06 PABSS0 ̲U+-M-M M5ASàH5SHϠAҠAB? ̲5U+-M5-M5 M6ASà0H6NҠYNDSSPAADBYMMAS ̲6U+-M6-M6 MASà09HPANAB Ԡ06 PABSS ̲U+-M-M M30ASà9H30NҠPANSSPAADBYMMAS 30U+-M30-M30 M3ASà0H3NPUԠ 3U+-M3-M3 M3ASà09H3SԠSH 3U+-M3-M3 M33ASà09H33SԠSH 33U+-M33-M33 M3ASà0H3NҠUNԠNUMBS(0-3SPAADBY ASà03MMAS 3U+-M3-M3 M35ASà09H35NA̠SAUS 35U+-M35-M35 M36ASàH36ŠADDSSN P36ABSS 36U+-M36-M36 M3ASàH3ADAҠŠADDSSNS0 3U+-M3-M3 M0ASà0H0ADYUN P0ABSS ̴0U+-M0-M0 MASà5HADDVŠAKNS0 ̴U+-M-M MASà6HŠPDAKNS0 ̴U+-M-M M3ASà05H3UN P3ABSS ASàNԠADYHKNS0 ̴3U+-M3-M3 MASà06HSKN PABSS ̴U+-M-M M5ASà0H5ŠN P5ABSS ̴5U+-M5-M5 M6ASà06H6ADN P6ABSS ̴6U+-M6-M6 MASà0ŴDAAD PABSS ASà0S PBBSS3 ASà06SHUDB PàBSS3 ̴U+-M-M M50ASà09H50VUNNS 50U+-M50-M50 M5ASà0H5Y P5ABSS ASà03HAD P5BBSS d ASà0S P5àBSS ASà06DUN P5DBSS ASà03UN P5ŠBSS 5U+-M5-M5 M5ASà05BUҠHKSUM P5ABSS3 ASà03Y P5BBSS3 ASà0( P5DBSS ASà03HDS P5àBSS3 ASà0(H P5ŠBSS ASà0S P5ƠBSS ASà0 5U+-M5-M5 M53ASà5H53AVAGŠMNMUMSKM P53ABSS P53BBSS 53U+-M53-M53 M5ASà5H5AVAGŠANDMSKM P5ABSS3 ASà0NGH P5BBSS 5U+-M5-M5 M55ASàH55NҠNSUNS 55U+-M55-M55 M56ASà0H56UNDNDAB P56ABSS 56U+-M56-M56 M5ASàH5VUNHKNS 5U+-M5-M5 M60ASà0H60NŠN P60ABSS 60U+-M60-M60 M6ASàH6ADAҠNŠNS 6U+-M6-M6 M6ASàH6YPŠAҠHADS0BҠ3 ASà5ҠANAY0HN3 6U+-M6-M6 M63ASà063NϠDAAAG 63U+-M63-M63 M6ASà06SAUSS P6ABSS3 ASà06SHUDB P6BBSS3 6U+-M6-M6 M65ASà05H65PASS P65ABSS 65U+-M65-M65 M66ASà6H66SԠVDŠSHPUSHUN 66U+-M66-M66 M6ASàH6AҠVDŠSHPUSHUN 6U+-M6-M6 M0ASà0H0UNKUN P0ABSS ASà05PUSHUN ̷0U+-M0-M0 MASà6HPSSPSԠHNPSSUN ̷U+-M-M HDADD UNŠϠPNԠUԠHŠUNԠDSKADDSS ADDϠNP SBBKSYAVAAB? MPAUԠN DAY̠YSNVԠYNDҠNUMB DBP05AϠAS SBDNANDSŠNMSSAG DAHADNVԠHADNUMB ҠHDN DBP05BϠAS SBDNANDSŠNMSSAG DASҠNVԠSҠNUMڂB DBP05àϠAS SBDNANDSŠNMSSAG DANԠNVԠDUN DBP05DϠAS SBDNANDSŠNMSSAG DAUNԠNVԠUNԠNUMBҠϠAS ADAASZZ030060BANDSŠNMSSAG SAP05Ŭ H5DAB5Y̬HADS SBPNԠDUNԠؠUNԠ AUԠSBHԠAנHAS MPADDϬ HDNԬNV HŠNԠUNŠUSSNVԠϠNVԠHŠDN HŠAGϠA̠ANDMVSHŠHŠASɠDS HŠANSPDBYHŠBG. NԠNP SBMPSAVŠADDSSҠA̠DS SBNVԠNVԠAUA̠DϠA DAVԱADSԠD SAMP SZMPUNԠUPADDSS DAVԲ SAMP SZMP DAV3 SAMP MPNԬ HŠNVԠUNŠNVSHŠSNGŠDNHŠA G.ϠHŠASɠDS(A̠NVԱVԲANDV3. NVԠNP SAMP5SAVŠD DBADϠBAS A ANDD SSB ҠBԸNŠҠԠA̠DG ҠASZZ SAVԱ DAMP5GԠDBAK AƬA A̬A ANDBAVŠϠDGS DBASAVŠҠAH AƬA̠MSԠϠPSN ҠBҠHŠϠGH ANDB30 ҠASZZ SAVԲ DAMP5GԠDBAK ANDBAVŠASԠϠDGS DBA AƬA ҠB ANDB30 ҠASZZ SAV3SAVŠGHMSԠDGS MPNVԬɠUN HDY Y NVԠYNDҠABŠϠASɠANDSŠNMSSAG YԠNP DAP0ANAZ SAPNԠPN DAMM0- SASAV PADAԬɠYNDҠABŠPN DAA SBDNNVԠNUMB DAVԱUSŠGH ANDB3HAA AƬAƠ DBAVԱ DAVԲAND ANDP00 AƬAƠHAA ҠBƠVԲ SAPNԬɠҠS SZPNԠD DAVԲUS ANDB3GH AƬAƠHAA ҠB5ƠVԲ SAPNԬɠAND SZPNԠASɠMMA SZSAVŠҠSND DASAVŠD SSA MPP DBP0AMV ADBD9AS DABɠMMA ANDP00 ҠB0 SAB MPYԬ HDSK(PMNA̠SKS SKNP SAUNԠSԠUPUNԠNUMB SBSAԠGԠSAUS DASAUSSHS ANDNBԠUN SZAADY? MPSKɠN SBSKYSPMSK DAM56 SANԠAנ56MSNDSҠAG DBD SKU SBK DBD ò0Sà MPSK DAN SSASKPNMŠU MPSK SBPPUNԠPAN DAB0NϠàAG SA SBPN SBADDɬ MPSK SKU òAàGԠANNBS SAAN SBAS DAAN SZSK MPSK BUBDƠ HDN G000B N NGUSAHƠHŠHANNS NԠSBS SANSנSAVŠNGUANSHG ANDB SAHSAVŠYPŠSԠD DANSנADNGUANSHG AƬAƠSHԠGH A̬A̠SؠANS ANDB SAA̠SAVŠDAAHANN̠SԠD DBSB SBGBSAVŠSԠPN A SAAGAG- DBASB ASBGBSAVŠASԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBGBɠDN? MPàYS SZGBN MPB àU SZAGSKPƠNԠDN MPUԠDN SZA̠NMNԠSԠD DBS SBGBSAVŠSԠPN DBASàADASԠPN MPA UԠDANSנADNGUANSHG. ANDBԱHKҠ5Ҡ6 DBMMS5 SZASSSKPƠNԠ6 DBMMMS6 SBKMSSԠNUMBҠƠYSPҠM-S SԠUPDMA DANSנADNGUANSHG ANDBԱ SZASKPҠDMA6 ANAHSSDMA SAA DBSD SBGBSԠUPPN DDBGBɠADADDSSMAB DABɠADVAUŠM ANDP6MASKƠBԠ0 ҠA̠ADDDMAHANN̠B SABɠSŠ PBASDɠDN? MPŠYS SZGBNϬNNU MPD ŠU Ԡ00AנҠSϠDUMP MP00B SBDƠ+ DƠDMA DƠD0 DƠD0 DƠD03 DƠD0 DƠD05 DƠD06 DƠDñ DƠDñ DƠDñ3 DƠDò DƠDò3 DƠDñ ASBDƠ- SàDƠ+ DƠ0 DƠ0 DƠ03 DƠ0 DƠ05 DƠ06 DƠ÷ DƠ09 DƠñ0 DƠñ DƠñ DƠñ3 DƠêB@< DƠò0 DƠò ASàDƠ- SDDƠ+ DƠDMA DƠDMB DƠDM DƠDMD DƠDM DƠDM DƠDMG DƠDMH DƠDM DƠDM DƠDMK DƠDM6A DƠDM6B DƠDM6 DƠDM6D DƠDM6 DƠDM6 DƠDM6G DƠDM6H DƠDM6 ASDDƠ- PNDU ND )B 5E 24240-80001 A S 0122 2000C TSB FILE INTERFACE PACKAGE             H0101 O ASMBҬ̬ìجBSBDS-MŠNAŠPAKAG NAMDP6 NԠD̬DҬDYPDPS NԠDPSDPN NԠDDSDDN NԠD̬DPҬDSB Ԡ Ԡ.N HŠSBDS-MŠNAŠPAKAGŠ(DPSUSDϠASSS GNADBYHŠSBŠHANDҠ(SBH.DPNANSASS ƠNYPNSHHANBŠASSDBYHҠASSMBYANGUAG ҠMPҠANGUAGŠ(.G.ANSUBUNŠAS. HŠVAUSUNNSNANDNHSPAKAGŠAנAUSҠ ASSSBHSNAGA̠BASS(..ŠANDDNUMBҩ AHҠHANNAPHYSA̠BASS(..AUANGSSƠGVN DSANDNSNGND--DANDND--ŠMAKS. HNVҠPSSBŬHŠSAMŠPHSPHYASUSDASHAԠNAND NHŠ000àMŠSHADBASàSYSM. HDŠSUP D̠-SBDS-MŠSUP D̠NP DAD SADɠSAVŠUNADD. MPD+ SPà3 ADNԠ00000000 DɠNPSBDS-MŠSUP SB.N APDƠADN A SAMANSԠMA.ŠN. DADɠUNADD. SANADPAKҠ"ҠUN" DAD̠GNA̠UNADD. MA ADADɠA.N.ƠPAAMS SSANVAD? SB6YS SZASSϠ? SB6YS MANA ADADMA.N.ƠPAAMS SSAϠMANY? SB6YS MANA ADAD SAMAN+MAMUMŠN. MANA SANDرNDؠҠN.ƠPSSBŠS SBPSԠPSԠƠHSSNԠSԠA DAD DBAԱADD.ƠɯϠABS SBSZAҠU ANA SANϠNAZŠŠN. KNƠUHKNԠ DBAPADD.ƠŠPAA,qMҠAB ADBNϠŠN. ADBMD DABɠPKUPPNҠϠŠNAM SASNSAHŠNAM SAנŠAD SB DƠ+ DƠD SNDƠNԱSAHŠNAM DƠNS DANS SZASSŠPSN? SB9 SB DƠ+ DƠD DƠD DƠGB DƠD נDƠNԱŠAD DƠD0 DAGB+ SSASSDAA? SB9N DAGB+ SSADS? SB9N DAGB+ PAB5SPA̠ŠBԠHKPAN? SSYS SB9 DAMD3 SAMVԠN.ƠDSϠMV DASNSUŠNAM DBNϠŠN. ADBANԠADD.ƠŠNAMŠABŠ(DS. DBBɠPNԠϠDSDN SBMVBƠMVŠBU ANA SABɠDPN NB DAN ADAMDAUAŠDSDB ANDD3 NA ADAASBAADD.ƠSAԯNDBU.ADD. DAAɠADD.ƠDSDɯϠBU. SABɠDAAMPN NB DAGB+ŠSZŠNDS SABɠŠSZ DAGB+DSZ NB SABɠSAVŠDNGH SZNϠBUMPŠN. SZNDرNSHDHA̠PSSBŠ? MPKNƠNϬHKNԠ DAMAN+MA.N.ƠS SAMAN MPDNUN HDҠSUP DҠ-SBDS-MҠSUP DҠNPSBDS-MҠSUP DAD SADҠSAVŠUNADD. MPD+ ANԠ0 DҠNP SB.N DƠAN DAD SANADPAKUNADD DBDҠG aNA̠.ADD. SBKNPA Dà DAANADD.ƠҠN.NUSҠAA BNB SBKMVADBU.AA? SSN MPDNUN A SAANAҠҠADD. SBҷ HDYPŠUNN DYP-SBDS-MYPŠUNN DYPNPSBDS-MYPŠUNN DADYP SADYSAVŠ.ADD MPDY+ YPPAUYPŠPAAMS APNԠ0ADD.ƠYPŠŠN. APDɠԠ0ADD.ƠDAAM DYNP SB.N DƠYPPA DADY SANADPAKUNADD. DBDYPGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà DAAPDɠADD.ƠDAAM BNB SBKMVADBU? SBҷN DAAPNɠYPŠŠN. SZASS SB3 SSA MANA SBKNϠHKŠN. B SBGD+ NNUGԠNԠD.N. SBYP SBGDҠGԠDSDŠD MPàPHYSA̠ND-- ANA SBKGH? MPàYS DBBɠPNҠϠDAAM DABɠSԠDƠDAAM PA MP PA MP ANDHB PAB000HKBԠ9.SNG? MPSàYS MPNUMàDAUԠSNUMB àDAAPNɠYPŠŠUS SSAGNŠ'S? MPVAҠN DAGD+ SZAG.D..P.AADYSAVD? MPDSAVYS DAMD SAMVԠN.DSϠMV DAPNԠPNҠϠN ADAD3BASϠDN.(SUũ DBAGDADD.ƠG.DPBU.(DSNAN SBMVBƠSAVŠGNA̠D..P. DSAVUD..P.SAVD SBNDPNMNԠD..P. B DANϠŠN. MPNNGԠNԠDN. VAҠUVAD SZYPŠYPŠ àSZYPŠYPŠ3 SàSZYPŠYPŠ NUMàSZYPŠYPŠ DAYP SAAPDɬɠPAKYP DAGD+G.D..P. SZASSSԠD..P.? MPDNNϬUN DAMD SAMVԠN.DSϠMV DAAGDSU DBPNԠPNҠϠN ADBD3DSNAN SBMVBƠSԠϠGNA̠D..P. MPDN AGDDƠGD GDɠԠ00GNA̠D..P.ҠYPѠ(+ YPŠԠ0MPSAGŠҠYPŠUS HDPSԠUNN DPSԠ-SBDS-MPSԠUNN DPSԠNPSBDS-MPSԠUNN DADPS SADPϠSAVŠ.ADD. MPDP+ PSPAU DPϠNP SB.N DƠPSPA DADP SANADSAVŠUNADD. DBDPSԠGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà0 SBPSԠPSԠA̠BUS MPDN SPà PSԠNPPSԠA̠BUS DAMDMA.N.ƠBUS SAPSرPSԠNDؠ ANA PSNؠUPSԠNԠBU SBPSԱPSԠBU DAPSBNBU.N. NA SZPSرNSHD? MPPSNؠN MPPSԬɠUN SPà PSԱNPPSԠBU SAPSBNBUҠN. DBAԠADD.ƠɯϠAB ADBABASϠPPҠABŠN. DBBɠPNԠϠɯϠAB DABɠŠAG SZASSMUSԠ? MPPSԱɠNϬUN NB DABɠŠN.ҠHSBU NB DBBɠSҠN. SBSàŠŠS DBAŠNv. ADBANԠADD.ƠŠNAMŠAB DBBɠADD.ƠŠNAM SBNAMŠŠNAM DAPSBNBUҠN. ADAASBAADD.SAԯNDBU.ADDSSS DAAɠPKUPDSDBU.ADD SABADŠŠBUҠADD. SBŠŠ DBAԠADD.ƠɯϠAB ADBPSBNDSDBU.N. DBBɠPNԠϠDSD A SABɠSԠ"MUSԠ"AG MPPSԱɠUN PSBNԠ0PSԠBUҠN. PSرԠ0PSԠNDؠ HDPNԠSNG DPS-SBDS-MPNԠSNG DPSNPSBDS-MPNԠSNG DADPS SADPSSAVŠ.ADD. MPDPS+ PSPAUPNԠSNGPAAMS APSNԠ0ADD.ƠPNԠSNGŠN. APSNԠ0ADD.ƠPNԠSNGDN. APSS̠Ԡ0ADD.ƠPNԠSNGNGH APSBƠԠ0ADD.ƠPNԠSNGBU DPSNP SB.N DƠPSPA DADPS SANADPAKUNADD. DBDPSGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà DAAPSS̬ɠSNGNGH SZASS SBұ0 SSA SBұ0 MANA ADAMAS̠MA.SNGNGH SSA..? SBұ0N DAAPSNɠŠN. DBAPSNɠDN. SBANHKŠAND'D.N. SPà SBGDҠGԠDSDŠD SB5 SBKSѠHKSUNA̠ASS DAAPSS̬ɠSNGNGH NA ASA.N.DSNSNG MANA SAMVԠN.DSϠMV MANA NANUDŠSNGD SBKGHHKƠNUGHM MPBADGNԠNUGHM DAAPSS̬ɠSNGNGH ҠB000SԠSNGNDA DBNDPPNҠϠNԠD.. SABɠPAKSNGNGHNDA NB DAAPSBƠSNGSUŠBU SBMVMMVŠHMASK SBNDPSAVŠPNҠϠNԠDAAM SBUNDPUPDAŠNԠDP A SAPԬɠSԠŠAGҠHSBU ANA SBKGHHKƠMҠҠNDA MPDNUN DAҠҠNDA SANDPɠPAK MPDNUNϠUS SPà BADGUBADNGH DADNϠDN. SZASUNA? SBҴN NDUPSSNԠD SBNDPNMNԠDɠPN DANϠŠN. BAGϠGԠD.N.MN MPANɠGԠNԠD SPà3 NDPNPNMNԠNԠDAAMPN DBPNԠPNԠϠN ADBD3 SZBɠBUMPDN. NB DAPBPNԠϠSAԠƠɯϠBU SABɠSԠDAAMPN MPNDP SPà UNDPNPUPDAŠNԠD..P. DBPNԠADD.ƠŠNAMŠAB ADBD DANDPPNҠϠNԠDAAM SABɠUPDAŠNY MPUNDPɠUN SPà KSѠNPHKSUNA̠ASS DBPNԠPNҠϠN ADBD DADN SZASSSUNA? MPSAàYS ADBMD SABɠSԠ.N. NB DAPBPNҠϠɯϠBU. SABɠSԠNԠD..P. SAàUS.ASS DBBɠPKUPNԠD..P. SBNDPSAVŠ MPKSѬɠUN HDPNԠNUMB DPN-SBDS-MPNԠNUMB DPNNPSBDS-MPNԠNUMB DADPN SADPNSA]VŠ.ADD. MPDPN+ PNPAUPN-N.PAAMS APNNԠ0ADD.ƠPNԠN.ŠN. APNNԠ0ADD.ƠPNԠN.'D.N. APNBƠԠ0ADD.ƠPNԠN.BU DPNNP SB.N DƠPNPA DADPN SANADPAKUNADD. DBDPNGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà3 DAAPNNɠŠN. DBAPNNɠDN. SBANHKŠAND'D.N. SPà SBGDҠGԠDSDŠD MP5?HKƠVAD SBKSѠHKSUNA̠ASS DAAPNBƬɠSԠDNUSҠBU. PAMD? MPPƠPNԠ PAMD? MPPҠPNԠ SZASS.P.Z? MPNUMKYSNUMBҠK ANDHBԠSAVŠHGHBS SZASSDN? SBҸNϬ ҠHBԠMP.NYHGHBS SZASSDN? SBҸNϬ NUMKUNUMBҠK DAMD SAMVԠN.DSϠMV MANA SBKGHHKƠNUGHM MPBADGNԠNUGHM DBNDPD..P.(DSNAN DAAPNBƠ(SUũ SBMVMMVŠHMASK SBNDPSAVŠNԠDP SBUNDPUPDAŠNԠDP A SAPԬɠSԠ"MUSԠ"AG PҠUPNԠ ANA SBKGHHKƠMҠҠMAK MPDNNϠMNSHD DA MPҠPAK SPà PƠUPNԠ ANA SBKGHMҠƠMAK? MPNDN DA ҠUND--ŠҠD DBBɠPKUPNԠD..P. SABɠDAAMPN A SAPԬɠSԠ"MUSpԠ"AG MPDNNSHD SPà 5?UHKƠVAD DAAPNBƬɠSԠDNUSҠBU. PAMDVAD? MPDNN SB5 HDADSNG DDS-SBDS-MADSNG DDSNPSBDS-MADSNG DADDS SADSSAVŠ.ADD. MPDS+ DSPAUAD-SNGPAAMS ASNԠ0ADD.ƠADSNGŠN. ASNԠ0ADD.ƠADSNGDN. ASGԠ0ADD.ƠADSNGNGH ASBƠԠ0ADD.ƠADSNGBU DSNP SB.N DƠDSPA DADS SANADPAKUNADD. DBDDSGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà DAASGADD.ƠSNGNGHBU BNB SBKMHKŠMS SBҷ DAASNɠŠN. DBASNɠDN. SBANHKŠDN. SPà SBAɠHKŠDNDAS PAB000SNGDAA? SSYS SB3 DANDPɠPKUPDAAM AND̸B SAASGɠPAKSNGNGHNUSҠBU. NA ASA.N.DSϠMV SAB MANA SAMVԠN.DSϠMV DAASBƠADD.ƠUSҠBUҠҠSNG SBKMHKŠMS SBҷ DANDPNԠD..PN NA DBASBƠUSҠBUҠҠSNG DDàUDADMMN SBMVMMVŠHMASK SANDPSAVŠPNҠϠNԠD.. SBUNDPUPDAŠNԠDP MPDNUN SPà AɠNPHKŠANDDNDA SBGDҠGԠDSD-D SB5 SBKSѠHe640KSUNA̠ASS ANA SBKGHABSUŠ? MPBADGYS DANDPɠNԠDP PA SB5 PA MPBADG ANDHBԠSAVŠSNGNDA MPAɬɠUN HDADNUMB DDN-SBDS-MADN. DDNNPSBDS-MADNUMB DADDN SADNSAVŠ.ADD. MPDN+ DNPAUAD-N.PAAMS ANNԠ0ADD.ƠADN.ŠN. ANNԠ0ADD.ƠADN.DN. ANBƠԠ0ADD.ƠADN.BU DNNP SB.N DƠDNPA DADN SANADPAKUNADD. DBDDNGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà3 DAANNɠŠN. DBANNɠDN. SBANHKŠDN. SPà SBAɠHKŠDNDA PAB000SNG? SB3YS DAMD SAMVԠN.DSϠMV DAANBƠUSҠBUҠADD. DBD SBKMHKŠMS SBҷ DANDPNԠD..PNҠ(SUũ DBANBƠUSҠBUҠ(DSNAN MPDDàMMN-ADUN 6 6 D 24240-80002 A S 0122 2000C TSB FILE INTERFACE PACKAGE             H0101 P HDADŠNGH D̠-SBDS-MADŠNGH D̠NPSBDS-MADŠNGH DAD SADƠSAVŠ.ADD. MPD+ PAU ANԠ0ADD.ƠADNGH.M. ABƠԠ0ADD.ƠADNGHBU DƠNP SB.N DƠPA DAD SANADPAKUNADD. DBD̠GNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà DAABƠBUҠҠNGH DBD SBKMVADBU? SBҷN DAANɠŠN.DSD SBKNϠHKŠN ADAANԠPNҠϠŠNAMŠPNS DBAɠPNԠϠDSDN ADBD5 DABɠŠNGH(NDS SAABƬɠPAKUSҠBU NB DABɠDNGH SZAB SAABƬɠPAKND.D.ƠUSҠBU. MPDNUNϠUS HDŠPNҠS DPҠ-SBDS-MŠPNҠS DPҠNPSBDS-MŠPNҠS DADP SADPSAVŠ.ADD. MPDP+ PPAU ANԠ0ADD.ƠŠSԠŠN. ANԠ0ADD.ƠŠSԠDN. DPNP SB.N DƠPPA DADP SANADPAKUNADD. DBDPҠGNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà DAANɠŠN DBANɠDN. SZBSS SBҲ SBANHKŠANDDN. DBAANSҠŠN. ADBANԠPNҠϠŠNAMŠABŠPN DBBɠPNԠϠDSDN ADBD5 DADNϠDN. MANA ADABɠMA.ŠSZ SSA..? SBҲN ADBMD DADN ϠDN. SABɠUPDAŠ.N.NN DANϠŠN. ADAMD ANDD3A.BUҠN. NA ADAASBAADD.ƠSAԯNDPNS DAAɠPNԠϠɯϠBU.SA NB SABɠUPDAŠDPNN MPDNUNϠUS HDSAMB DSB̠-SBDS-MSAMBŠMASKSUP DSB̠NPSBDS-MSAMBŠMASK DADSB SADSBSAVŠ.ADD. MPDSB+ ASMSKԠ0ADD.ƠSAMBŠMASK DSBNP SB.N DƠASMSK DADSB DBDSB̠GNA̠.ADD. SBKNPAHKN.ƠPAAMS Dà SANADPAKUNADDSS DBASMSK DABɠSԠDƠMASK NB ADABɠNDDƠMASK NB ҠBɠ3DDƠMASK SZA ҠHB SASMASKPAKADŠSAMBŠMASK MPDNUNϠUS SMASKԠ0SAMBŠMASKҠA̠AD HDGNA̠UNS GDҠ-GԠDSDŠD N: AŠN. B0-GԠDN.MŠNAMŠAB (+NN-Zϩ-DSDDN. : P+ƠҠDSDD P+VADDN. APNҠϠɯϠBU BPNҠϠŠNAMŠABŬ DSDDN.NPPҠBU. GDҠNPGԠDSDŠD SADSNSAVŠDSDŠN ADAANԠADD.ƠN DAA SAPNԠPNҠϠN SZBGԠ'D.N.AADY? MPGNYS DBPNԠPNҠϠN ADBD3 DBBɠPKUPDSDD.N. GNUGԠDN. SBDSNDSDD.N. DBPNԠPNҠϠN ADBD5 DAD SNDSDD.N. MANA ADABɠŠNGH SSA..? MPNVNNϬNVADD.N. DADSNDSDŠN. ADAMD ANDD3 NA SABɠԠBAS SAB ADBAԠGNA̠ DBBɠDSD SBPԠPNҠϠɯϠAB NB DABɠŠN. PADSNDSDŠN? MPKDNYSHKDSDD.N. D̠UAD DABɠԠBAS SBPSԱPSԠHS DBPNԠPNҠϠN SBNAMADDSDŠNAM DADSNDSDD.N. ŬAA.S.N.(MU.BY ADAMD SASàADDSDS DBBɠԠBAS ADBASBAADD.ƠSAԯNDBUƠADD.B DBBɠPKUPPNҠϠDSDBU SBBADADŠBU.ADD. SB DBPԠPNҠϠ NB DADSNDSDŠN. SABɠŠN.N NB DASàADŠS.N. SABɠ.S.N.N DNàUDSDDN.N DABɠԠBAS ADAASBAADD.ƠSAԯNDBU.ADD. DAA SAPBPNҠϠɯϠBU DBPNԠPNҠϠN SZGDҠP+ NVNUNVADUN MPGDҬɠUN SPà KDNUHKƠDSD.N.N NB DABɠ.S.NBU NAA.DN. AS(DV.BY PADSNDSD.N.N? MPDNàYS MPD̠ADDSD-D DSNԠ0DSDŠN. DSNԠ0DSDDN. SKP MVBƠ-MVŠAAYSƠDS N: ASUŠADD. BDSNANADD. MVԠ(-N.ƠDSϠMV : N.ƠDSMVD ANDƠSUŠADD.+ BNDƠDSNANADD.+ MVBƠNPMVŠBUS SAMVADSAVŠADD.ƠSUŠAAY MVMҠDAMVADɠPKUPDMSUŠAAY SABɠPUԠԠNDSNANAAY SZMVADBUMPPNS NB SZMVԠNSHD? MPMVMҠNϬMVŠM DAMVADNDSUŠADD.+ MPMVBƬɠUN MVADԠ0MVŠADD. MVԠԠ0MVŠUN SPà3 MVMNPMVŠHSAMBŠMASK SAMVADSAVŠADD.ƠSUŠAAY MVMŠDAMVADɠPKUPDMSUŠAAY ҠSMASKSAMBŠMASK SABɠPUԠԠNDSNANAAY SZMVADBUMPPNS NB SZMVԠNSHD? MPMVMŠNϬMVŠM DAMVADNDSUŠADD.+ MPMVMɠUN SKP KM-HKŠMS N: ASANGADDSSƠŠϠBŠHKD. BNGH(NDSƠBUҠϠBŠHKD. : BSAMŠASNY P+NVADBUҠAA. P+VADBUҠAA. ASANGADD.ƠŠϠBŠHKD ҠVŠADD.ƠGNA̠ASND. KMNPHKŠMS AU SZASSҠƠ0Ҡ MPKMɠ0SϠ PAD MPKMɠSϠ A̬ŬSAA SS MPADVADVŠADD. DAAɠGԠNԠADD.NNDԠHAN MPAANDPSS. ADU SAADSAVŠŠADD. MA ADAUMAUSҠMMYA SSASS.G.SԠUSҠD? MPKMɠNϬUN DAAD ADABAU\AŠNA̠ADD. MANA ADAUMAUSҠMM.ASԠDADD. SSAϠBG? MPKMɠYS DAAD SZKMVADBUҠAA MPKMɠUN ADԠ0 SKP SZ-SŠZSNϠAGVNBU N: AN.ƠDSϠA BSANGADDSS : A0 BNDƠBU+ SZNPSŠZS MANA SASZؠSAVŠN.DSϠA A SABɠAҠD NBBUMPPNҠϠBU SZSZؠNSHD? MP-3N MPSZɠUN SZؠԠ0NDؠUN SPà3 KGH-HKNGHƠNSԠVSMND N: AN.ƠDSϠNS PBPNҠϠSAԠƠDSDɯϠBU. PNԠPNҠϠSAԠƠDSDŠNAMŠAB : P+NԠNUGHM P+NUGHM BPNԠϠADD.ƠNԠD..P. KGHNPHKNGH DBPNԠPNҠϠSAԠƠN ADBDBASϠNԠD..PN ADABɠAà"ND"ƠDSDBU. ADBD DBBɠPKUPDNGH ADBPBPNҠϠNDƠHSBU. MANA ADAB SSASSDSD".."AUA? SZKGHYSP+ DBPNԠPNҠϠN ADBD MPKGHɠUN SKP ANNPHKŠAND'D.N. SBKN SSB SBҲ SBDNϠPAKDN. MPANɠUN SPà3 KNϠNPHKŠN. SANϠPAKŠN. SSA SBұ SZASS SBұ MANA ADAMANMA.ŠN.SԠUP SSA.G.MA.SԠUP? SBұYS DAN rMPKNϬ SPà3 KNPANPHKN.ƠPAAMS MB ADBAA.N.PAA.PASSD PBKNPAɠVADN.? SSYS SB6 SZKNPAP+ MPKNPAɠUN SKP ŠNP SB DƠ+ DƠD DƠD BADDƠB DƠD56 NAMDƠNԱ DƠS MPŬɠUN DԠ0-ADDŠD SàԠ0ADŠS SPà ŠNPŠ SB DƠ+ DƠD5Š DƠD BADDƠB DƠD56 NAMDƠNԱ DƠS MPŬ DԠ0 SàԠ0 SKP ұNP DAD SB ҲNP DAD SB 3NP DAD3 SB ҴNP DAD SB 5NP DAD5 SB 6NP DAD6 SB ҷNP DAD SB ҸNP DAD SB 9NP DAD9 SB ұ0NP DAD0 SB DNU A SB ҠNP DBANҠPAAM SZBSSASҠDSԠUP? MPPҠNϬPNԠԠANDMNA SAANɠPAKҠN. DB ADBMD3 DBBɠPKUP.ƠҠ(NP MPNADɠUNϠANGPGAM PҠU SAB SZASSDN'ԠPNԠҠ0 MPNADɠUNϠANGPGAM ADBMD0 SSBSS.G.0 SBAYS ADAA060 SSBSS.G.0 ADAA00YS SAMSɠMSSAGŠNS SB DƠ+5 DƠDPNԠҠMSSAG DƠMD DƠMS0 DƠM0 SB DƠ+ DƠD6MNAŠPIGAM MP MS0ASàSBDS-MŠNAŠҠN. MSɠԠ0 M0ABS-MS0 A060ASà0 A00Ԡ0000 MDԠ HDNSANSANDVAABS AU0 BU MAGUMAMUMNGHƠSNGS UMAU00BUSҠMMYASԠDADD. UMAU5BUSҠMMYSԠDADD. MD0Dà-0 MDDà- MDDà- MD3Dà-3 MDDà- MDDà- D0Dà0 DDà DDà D3Dà3 DDà D5Dà5 D6Dà6 DDà DDà D9Dà9 D0Dà0 DDà DDà D5Dà5 DDà DDà D56Dà56 ƠDà- ҠDà- B5Ԡ55 ̸BԠԠ3 HBԠԠ00 B000Ԡ000 HBԠԠ0000 MAS̠ABSMAGMAMUMSNGNGH NϠԠ0ŠN. NDرԠ0GNA̠NDؠ BɠԠ0ɯϠABŠBAS MANԠ00MAMUMŠN. NSԠԠ0N.SS. NDPԠ0NԠDAAMPN PNԠԠ0PNҠϠŠNAMŠAB PBԠ0PNҠϠɯϠBU PԠԠ0PNҠϠɯϠAAB DNϠԠ0DN. NADԠ0UNADDSS HDBUS ANԠDƠANԱ-ADD.ƠŠNAMŠAB ANԱDƠNԱ DƠNԲ DƠN3 DƠNԴ DƠN5 DƠN6 DƠNԷ DƠNԸ SPà AԠDƠAԱ-ADD.ƠɯϠAB AԱDƠԱ DƠԲ DƠ3 DƠԴ SPà ASBADƠASB-ADD.ƠSAԯNDɯϠBU.ADD. ASBDƠB DƠB DƠB3 DƠB DƠB+56 SKP NԱԠ0000000ŠNAMŠAB NԲԠ0000000 N3Ԡ0000000 NԴԠ0000000 N5Ԡ0000000 N6Ԡ0000000 NԷԠ0000000 NԸԠ0000000 SKP ɯϠAB ԱԠ000 ԲԠ00.*000 3Ԡ000 ԴԠ000 SPà3 ɯϠBUS GBƠUGNA̠ɯϠBU BBSS56 BBSS56 B3BSS56 BBSS56 NDADU ND 0 7 D 24245-80001 A S 0122 HEWLETT-PACKARD COM- MERCIAL SUBROUTINES             H0101 gv N̬B SUBUNŠASB UNN-ϠNVԠANAAYMASɠϠAMA(BDé. à ANGSUN- à A̠ASB(ADʬASԬKADKAũ à SUBUNŠASB(ADʬASԬKADKAũ DMNSNAD(KAD(A( N׽ KN׽K+N- (AD(Nש-0B (AD(Nש-35B33 3SԽAD(Nש-3B KAD(KNשA(Sԩ GϠϠ5 KAD(KNש000B 5(N-ASԩ6 6N׽N+ GϠϠ UN ND ND$ ASMBҬ̬BԬ SUBUNŠAA3 UNN-ϠNVԠMAMA(NŠHAAҠPҠDϠA3 MA(HŠHAASPҠD. ANGSUN A̠AA3(ADʬASԬKADKHAҩ NAMAA3 NԠAA3 Ԡ.N PASBSS6 AA3NP SB.NҠANSҠPAAMS DƠPAS AMADSԠADDSS ADAPAS ADAPAS+ SAADD AMKADSԠADDSS ADAPAS+3 ADAPAS+ SAKADD DAPAS+ɠMDUN MANA NA ADAPAS+ MANA SADH DAPAS+5MBGNNNGANDNDNGADDSSS SAHAҠƠNVSNAB SAHұ ADAD0 SAAS AA3ADAADDҬ SBAA3BNVԠSԠHAAҠϠPSN ADAD-0HAұ(PSN-0600 MPYD600 SAKADDҬ SZDH MP+ MPAA3DƠDUNԠGSϠZϬPAKBANKS SZADD DAADDҬ SBAA3BNVԠNDHAAҠϠPSN MPYD0HAҲPSN+0 ADAKADDҬ SAKADDҬ SZDH MP+ MPAA3ŠƠDUNԠGSϠZϬPAKBANKS SZADD DAADDҬ SBAA3BNVԠ3DHAAҠϠPSN ADAKADDPҬ SAKADDҬ SZADD SZKADD SZDH MPAA3A MPAA3 PAKBANKSHNDUNԠAHSZ AA3DDABANK SBAA3B MPYD0 ADAKADDҬ SAKADDҬ AA3ŠDABANK SBAA3B ADAKADDҬ SAKADDҬ MPAA3 SUBUNŠHHSAHSAUSҠSPDAAY ƠBDàHAASAGANSԠASPDHAA.ƠԠS UNDHŠHAAҠSPDSNVDϠSAV PSNNHŠAAY.ƠNԠUNDHŠAVŠPSN ƠHŠBANKHAAҠSUND. AA3BNP PAHAҬ MPAA3 SZHA DBHA PBAS SS MPAA3B+ DAHұ SAHA DABANK MPAA3B+ AA3àDAHұ MANA ADAHA DBHұ SBHA MPAA3B ADDҠNP KADDҠNP DHNP HAҠNP HұNP ASԠNP BANKԠ000 ND N̬B SUBUNŠAD à UNN-NVSADMAMAԬNŠDGԠPҠD ϠDMA̠MAԬGH-USDNŠDGԠPҠD. à ANGSUN- à A̠AD(ADʬASԬNҩ SUBUNŠAD(ADʬASԬNҩ DMNSNAD( SAŠHŠSGNNSGN SGN0 A̠NZN(ADASԬSGN N׽ SԽAD(Nש àSSԠSSHANZ (Sԩ33 SSԠUA̠ϠANBDàBANK 3(S-000B5 SSԠSSHAN-03 (S+0366 SԠҠNDNAԠHSHAA NҽN GϠϠ SԠSԠUA̠ϠANBDàZ 5SԽ000B NVԠHAAҠϠSDMA̠UVAN 6AD(Nש(S+0356 Ơ(N-ASԩ99 N׽N+ GϠϠ ƠHŠSGNSNGAVŬMAKŠHŠASԠDMA̠DGԠNGAV 9(SGN-0 0AD(ASԩ-AD(ASԩ- UN: ND ND$ ASMBҬ̬BԬ SUBUNŠA3A UNN-ϠNVԠMA3MA(HŠHAASPҠDAS ADBYHŠAA3SUBUNŠϠAMA(NŠHAAҠPҠD ANGSUN A̠A3A(ADʬASԬKADKHAҩ NAMA3A NԠA3A Ԡ.N PASBSS6 A3ANP SB.NҠPKUPPAAMS DƠPAS AMADSԠADDSS ADAPAS ADAPAS+ SAADD AMKADSԠADDSS ADAPAS+3 ADAPAS+ SAKADD DAPAS+ɠMDUN MANA NA ADAPAS+ MANA SADH A3AADAADDҬ B SSAƠNUMBҠSNGAVŬMAKŠԠPSV MPA3AB DVD600 ADAD0 MPA3AB+ A3ABADAD3000 DVD600 SAHAұ SBA3AàPKUPPPҠBDàHAA SAKADDҬ SZKADD DAHAұHAҲ(A3NG-(N-06000 ADAD-0 MPYD600 MANA ADAADDҬ BNVԠNDHAA DVD0 SAHAҲ SBA3AàPKUPPPҠBDàHAA SAKADDҬ SZKADD BNVԠ3DHAA DAHAұHA3A3NG-(N-0600-(N0 ADAD-0 MPYD600 MANA SAHAұ DAHAҲ MPYD0 MANA ADAHAұ ADAADDҬ SBA3AàPKUPPPҠBDàHAA SAKADDҬ SZADD SZKADD SZDH MPA3AA MPA3A A3AàNPNDPPҠBDàDNHA ADAPAS+5AAYUSNGAGSҠASND DA0 MPA3Aì ADDҠNP KADDҠNP DHNP HAұNP HAҲNP ND N̬B SUBUNŠAY(ADʬASԬKAY DMNSNAD( NAY0 N׽AS 0SԽAD(Nש+NAY NAYSԯ0 SԽS-0NAY (Sԩ03030 0SԽS+0 NAYNAY- 30AD(NשS N׽N- (N-ʩ000 0KAYNAY UN ND ND$ N̬B SUBUNŠDADD(ADʬASԬKADKKASԬNҩ DMNSNAD(KAD( ؽ- A̠NSGN(ADASԬSGN A̠NSGN(KADKASԬKSGN SGNSGNKSGN KN׽KAS-AS+ (KN-K00 0N׽ KAD(KNשSGNAD(Nש+KAD(KNש KN׽KN+ (N-ASԩ5 5N׽N+ GϠϠ A̠AY(KADKKASԬKNש (KNש30 0A̠(KADKKASԬ9 NҽKAS A̠NSGN(ADASԬSGNNש A̠NSGN(KADKASԬKSGNKNש UN 3KAD(KASԩKAD(KASԩ+KN KN׽K 36KAD(KNש9-KAD(KNש (KN-KASԩ300 3KN׽KN+ GϠϠ36 0KSGN-KSGN GϠϠ ND ND$ N̬B SUBUNŠDDV(ADʬASԬKADKKASԬNҩ DMNSNAD(KAD( A̠NSGN(ADASԬSGN A̠NSGN(KADKASԬKSGN SPANAS-+ KSԽK- K׽K-SPAN (KAS-KS-SPAN9000 0(Kש9090 A̠(KADK׬KSԬ0 SԽ (AD(Sԩ (S-ASԩ09090 0SԽS+ GϠϠ 90NҽKAS 9A̠NSGN(ADASԬSGNNש A̠NSGN(KADKASԬKSGNKNש UN HGHAD(Sԩ KPUԽK+AS-S KSPKAS+S-AS- KMKS MUԽ(0KAD(KM+KAD(KM+HGH NUϽMU (MUԩ30300 30KAD(KPUԩNU KPUԽKPU+ (KM-KSP333 3AKAS-SPAN BSGNKSGN A̠NSGN(KADABKNש GϠϠ9 3KMKM+ GϠϠ 0KN׽KM+ N׽S KAD(KNשKAD(KNש-MUԪAD(Nש KN׽KN+ (N-ASԩ N׽N+ GϠϠ A̠AY(KADKMKN-KNש (KNש503030 50KAD(KMKAD(KM+0KN MUԽ- NUϽNU- GϠϠ0 ND ND$ N̬B SUBUNŠDA à UNN-NVSADMDMA̠MAԬGH-USDN DGԠPҠDϠAMAԬNŠHAAҠPҠD. à ANGSUN- à A̠DA(ADʬASԬNҩ SUBUNŠDA(ADʬASԬNҩ DMNSNAD( SԠSGNҠNϠZNŠƠSGNƠDMA̠AAYPSV ҠҠZN(NGAVũƠDMA̠AAYNGAV. SGN (AD(ASԩ SGN AD(ASԩ-AD(ASԩ- N׽ 3SԽAD(Nש ƠDMA̠DGԠSSSHANZϠҠGAҠHAN ҠUA̠Ϡ0SԠҠNDNNҠAԠSNԠHAA BNGNVD (Sԩ5 (S-0655 5NҽN GϠϠ 6AD(Nש56S-03 (N-ASԩ99 N׽N+ GϠϠ3 9A̠NZN(ADASԬSGNNש UN ND ND$ N̬B SUBUNŠDD(ADʬASԬKADKKASԩ DMNSNAD(KAD( ؽ5600B A̠NZN(ADASԬNSGN NDUMP000B MNY000B NZSP0 KN׽KAS N׽AS KSԽKAD(KNש (KSԩ3333 33(KS-000B9 3(KS-000B303 3(KS-55500B (KS-5600B NDUMPKS MNYKS 9NZSPKN 0(N-ʩ66 6KSԽAD(Nש KAD(KNשKS N׽N- (NZSP9 9(KSԩ353636 36(K2S-000B33 3(KS-65500B55 5NZSPKN- GϠϠ 35(KS-000B55 KN׽KN- (KN-K A̠NZN(ADASԬNSGNKSԩ (N-ʩ9 A̠(KADKKASԬة GϠϠ30 9(NSGN-3 KSԽKAD(KASԩ (KS-6000B353 3(KS-5500B363 6KAD(KAS-000B 5KAD(KASԩ000B 3(NZSP3030 A̠(KADKNZSPNDUMP KAD(NZSPMNY 30UN ND ND$ N̬B SUBUNŠDMPY(ADʬASԬKADKKASԬNҩ DMNSNAD(KAD( KSԽK-AS+- (KSԩ000 0NҽKAS UN 0A̠NSGN(ADASԬSGN A̠NSGN(KADKASԬKSGN YK- A̠(KADKSԬY0 SԽ 5(AD(Sԩ3030 30(S-ASԩ3 3SԽS+ GϠϠ5 A̠(KADKKASԬ0 0A̠NSGN(ADASԬSGNNש UN KMK MUԽKAD(KM (MUԩ505060 50(KM-KASԩ555 5KMKM+ GϠϠ 5A̠AY(KADKSԬKASԬKNש YSGNKSGN A̠NSGN(KADKASԬYKNש GϠϠ0 60KAD(KM0 KN׽KM+S-AS N׽S 6KAD(KNשMUԪAD(Nש+KAD(KNש KN׽KN+ (N-ASԩ65050 6N׽N+ GϠϠ6 ND ND$ ASMBҬ̬BԬ SUBUNŠDPAK UNN-NMANNDMAԬNŠDGԠPҠD SPAKDNϠDMAԬUҠDGSPҠD. ANGSUN- A̠DPAK(ADʬASԬKADK NAMDPAK NԠDPAK Ԡ.N PASBSS5 DPAKNP SB.NҠPKUPPAAMS DƠPAS AMADSԠADDSS ADAPAS ADAPAS+ SAADD A'*($MADASԠADDSS ADAPAS ADAPAS+ SAAS AMKADSԠADDSS ADAPAS+3 ADAPAS+ SAKADD DPAàDAADDҠƠHSSHŠASԠҠNY PAASԠHAAҠϠANSAŬAԠHS MPDPA3ASSGNHAAҠANDSŠHU ANSAN DAD-SԠND SADH A DPAñDBADDҬɠMGŠHAAҠNϠAGS Ҡ SZDHSHAAҠUNԠZ MPDPAôNϬPSSNԠHAA SAKADDҬɠYSSŠPAKDD SZKADD SZADD MPDPA DPAòDBD5PAKSԠƠDHNS Ҡ SZDH MPDPA5 SAKADDҬ SZKADD DPA3DAADDҬ SAKADDҬ MPDPAK DPAôSZADD A DBADDҠƠADDҠASԬPAKSԠƠD PBASԠHNSANDSŠNA̠DGԠAN MPDPAòNASԠD(..UNPAKD MPDPAñ DPA5A MPDPAò ADDҠNP ASԠNP KADDҠNP DHNP ND N̬B SUBUNŠDSUB(ADʬASԬKADKKASԬNҩ DMNSNAD(KAD( A̠NSGN(ADASԬ0ة A̠DADD(ADʬASԬKADKKASԬNҩ A̠NSGN(ADASԬ0ة UN ND ND$ V* 8 D 24245-80002 A S 0122 HEWLETT-PACKARD COM- MERCIAL SUBROUTINES             H0101 hv ASMBҬ̬BԬ SUBUNŠDUNPK UNN-NMANNDMAԬUҠDGSPҠD SUNPAKDNϠDMAԬNŠDGԠPҠD. ANGSUN- A̠DUNPK(ADʬASԬKADK NAMDUNPK NԠDUNPK Ԡ.N PASBSS5 DUNPKNP SB.NҠPKUPPAAMS DƠPAS AMADSԠADDSS ADAPAS ADAPAS+ SAADD AMADASԠADDSS ADAPAS ADAPAS+ SAAS AMKADSԠADDSS ADAPAS+3 ADAPAS+ SAKADD DUNDAADDҠƠHSSASԠҠNYHAAҠ PAASԠBŠANSADSŠHUԠANSAN MPDUN3 DAD-SԠHAAҠUNԠASND SADH DAADDҬ SAHA DUNDAHAҠGH-USYDG A SAHA ANDD5AԠDG PAD5ƠԠSUA̠ϠA̠NSDSAD MP+3 SAKADDҬ SZKADD SZDHA̠HAASPSSDҠHSD? MPDUNNϬPSSN SZADDҠYSPKUPNԠD MPDUN DUN3DAADDҬ SAKADDҬ MPDUNPK ADDҠNP ASԠNP KADDҠNP DHNP HAҠNP ND N̬B àSUBUNŠBAS àUNN-ϠNVԠANAAYMAMA(BDéϠAS. à àANGSUN- à àA̠BAS(ADʬASԬKADKAũ à SUBUNŠBAS(ADʬASԬKADKAũ DMNSNAD(KAD(A( N׽ KN׽K+N- DϠɽ6 (AD(Nש-A(ɩ3 NNU KAD(KNש0B GϠϠ5 3KAD(KNש+3B (KAD(KNש-B55 5(N-ASԩ6 6N׽N+ GϠϠ UN ND ND$ ASMBҬ̬BԬ NAM̬ NԠ Ԡ.N ̠MMA̠SUBUNŠPAKAG A̠(ADʬASԬNH HŠDSAD(ʩHUGHAD(ASԩ AŠDHHŠHAAҠAԠANNH. ADADDSSƠNGҠAAY AD+ADDSSƠ AD+ADDSSƠAS AD+3ADDSSƠNH ADBSS ̠NP SB.NҠANS DƠADPAAMS AGԠMNUSNŠN(A ADAAD+ɠAUM- ADAADAŠADDSSƠAD(ʩ SAAD MPUŠDDH DAAD+ɠGԠVAUŠƠ MANAANDMAKŠMNUS(-ʩ ADAAD+ɠAS-+ NAAUMDDH SZASS MPNG0---NGAVŠ SSAN0--Z-- NGANAN0--MAKŠDDHN. MANA0---AND SASŠ-DDHNAUMB N׽ DAAD+3ɠGԠ̠HAA-NH AD(NשNH MŠSAADɠSŠ̠HAAҠNAD(Nש SŠƠNנSSSHANAS. ƠYSN׽N+ANDGϠBAKҠM. ƠNϬ. SZADNASŠVŠADDSSANDDASŠ. NBSZBHKƠɠSSSHANAS MPMŠNϬGϠBAKҠM. MP̬ɠYS....... ND N̬B UNNG UNN-ASADAADMANAAYANDNVSԠϠAA NUMB.HSSAUNNSUBPGAM. UNNG(ADʬASԬSHԩ DMNSNAD( ANGSUN- à G(ADʬASԬSHԩ A̠NZNŠϠSAŠHŠSGN A̠NZN(ADASԬNSGN GԽ0.0 N׽ SԽAD(Nש ƠSԠSNGAVŬGϠϠ3 (Sԩ3 ƠSԠSABANKGϠϠANDPAŠGԠHBDàZ (S-000B55 SԽ000B ƠSԠSSSHANANBDàZϬSԠGԠϠZϠANDUN 3(S-000B566 5GԽ0.0 UN HrSŬAUAŠA̠VAU 6GԱ(S+0356 GԽ0.0G+GԱ NMNԠNנANDSԠҠMŠMNSϠBŠNVD N׽N+ (N-ASԩ NϠMŠMNSϠBŠNVD-MUPYBYSHԠAҠANDSԠSGN GԽGԪSH A̠NZN(ADASԬNSGNSԩ (NSGN-99 GԽ-G 9UN ND ND$ N̬B UNNMP UNN-ϠVAAB-NGHDMA̠MAԠDAADSAŠMPAD. HŠSUԠSSԠϠANGAVŠNUMBҬZϬҠAPSVŠNUMB.HS SAUNNSUBPGAM. à ANGSUN- à MP(ADʬASԬKADKKASԩ UNNMP(ADʬASԬKADKKASԩ DMNSNAD(KAD( AҠANDSAVŠSGNSNADANDKADDS A̠NSGN(ADASԬSGN A̠NSGN(KADKASԬKSGN KSԽKAS+-AS- (K-KSԩ MP-KSGN KN׽K 3(KAD(KNש55 (KN-KSԩ6 6KN׽KN+ GϠϠ3 KN׽KS+ HASH0 KSԽ HASHHASH+AD(KSԩ MPAD(KSԩ-KAD(KNש (MP9 (KSGNSGN0 0MP MPSGNMP GϠϠ5 9KN׽KN+ (KS-ASԩ33 KSԽKS+ GϠϠ 3(SGNKSGNHASH055 SŠSGNSNADANDKADDS 5A̠NSGN(ADASԬSGNNש A̠NSGN(KADKASԬKSGNKNש UN ND ND$ N̬B SUBUNŠMV UNN-MVSDAAMNŠAAYϠANHҠAAY à ANGSUN- à A̠MV(ADʬASԬKADK SUBUNŠMV(ADʬASԬKADK DMNSNAD(KAD( N׽ KN׽K+N- KAD(KNשAD(Nש (N-ASԩ33 N׽N+ GϠϠ 3UN ND ND$ N̬B UNNNMP UNN-ZϠVAAB-NGHDAADSAŠMPADANDHŠSUԠS SԠϠANGAVŠNUMBҬZϬҠAPSVŠNUMB.HSSAUNN SUBPGAM. à ANGSUN- à NMP(ADʬASԬKADK UNNNMP(ADʬASԬKADK DMNSNAD(KAD( N׽ KN׽K+N- NMPAD(Nש6-KAD(KNש6 (NMP33 N׽N+ (N-ASԩ3 3UN ND ND$ N̬B SUBUNŠNSGN UNN-NGAŠHŠSGNANDUNHADŠASϠHAԠH SGNS.ASϬMDYHŠSGNASSPD. à ANGSUN- à A̠NSGN(ADʬNSNDS SUBUNŠNSGN(ADʬNSNDS DMNSNAD( NDS SԽAD(ʩ (Sԩ NDS- (NSSԩ35 (NS335 3SԽ-S- 5AD(ʩS UN ND ND$ N̬B SUBUNŠNZN(ADʬNZNDZ DMNSNAD( SԽAD(ʩ (Sԩ000 0(S-000B (NZ-33 AD(ʩ6000B 3NDZ UN 0(S-6000B30 NDZ5+(S-096096 (NDZ-5 (NZ-53 3AD(ʩS+096(NZ-NDZ GϠϠ 30NDZ (NZ-3 3SԽ5000B GϠϠ3 ND ND$ ASMBҬ̬BԬ SUBUNŠPAK UNN-NMANNAMAԬNŠHAAҠPҠD SPAKDNϠAMAԬϠHAASPҠD. ANGSUN- A̠PAK(ADʬASԬKADK NAMPAK NԠPAK Ԡ.N PASBSS5 PAKNP SB.NҠANSҠPAAMS DƠPAS AMADSԠADDSS ADAPAS ADAPAS+ SAADD DAPAS+ɠMDUN MANA NA ADAPAS+ MANA SAAD AMKADSԠADDSS ADAPAS+3 ADAPAS+ SAKADD PAKDAADDҬɠSPUԠBANKHAAS ANDB00ANDPAKHAASPҠD DB0 SZAD MP+3 A SAAD SZADD DAADDҬ ANDB00 AƬA ADA SAKADDҬ SZADD SZKADD SZAD MPPAK MPPAK ADDҠNP AD̠NP KADDҠNP ND N̬B SUBUNŠPU UNN-NVSHŠHŠPNƠAA̠VAABŬVAҬϠANBD NGҠNUMBҬHA-ADUSNGASSPDANDPASHŠSUԬA DMA̠PNԠAGNMNԬNANAAY.AN-ZNŠSPADVҠH -DҬGHMSԠPSNNHŠAAYƠVAҠSNGAV. à ANGSUN- à A̠PU(ADʬASԬVAҬADSԬN SUBUNŠPU(ADʬASԬVAҬADSԬN DMNSNAD( DSADANA̠PNƠNUMB DGԽABS(VAҩ+ADS DGSH(DGԩ ƠHŠNUMBҠƠPASϠUNAŠSGAҠHANZϬUNA ADNGY (N N׽ 3DGSH(DGS0.0 (N-N9 9N׽N+ GϠϠ3 N׽AS DGԽH(DGS0.0 AUAŠBDàNG AD(Nש56(DGS-0.0DGԩ-03 DGSDG (N-ʩ665 5N׽N- GϠϠ 6(VAҩ A̠NZN(ADASԬNש UN ND ND$ ASMBҬ̬BԬ SUBUNŠUNPA UNN-NMANNAMAԬϠHAASPҠDS UNPAKDNϠAMA.NŠHAAҠPҠD. ANGSUN- A̠UNPA(ADʬASԬKADK NAMUNPAì NԠUNPA Ԡ.N PASBSS5 UNPAàNP SB.NҠPKUPPAAMS DƠPAS AMADSԠADDSS ADAPAS ADAPAS+ SAADD DAPAS+ɠMDUN MANA NA ADAPAS+ MANA SAAD AMKADSԠADDSS ADAPAS+3 ADAPAS+ SAKADD PAKDAADDҬɠNVԠSԠHAA ANDB00 ADAB00 SAKADDҬ SZKADD DAADDҬɠNVԠNDHAA ANDB3 AƬA ADAB00 SAKADDҬ SZKADD SZADD SZAD MPPAK MPUNPAì ADDҠNP AD̠NP KADDҠNP ND ASMBҬ̬BԬ UNNH UNN-UNASHŠANA̠PNƠA A̠NG MA-H(PS NAMHŬ NԠH Ԡ.N PASBSS HŠNP SB.NҠPKUPPAAMS DƠPAS DAPAS SZPAS DBPAS SAMANHHGHPNƠMANSSA DA ANDB00 SAMAN̠נPNƠMANSSA DA ANDB3 SA MPABƠPNNԠZϠҠNGAVŬ SZASSUNZϠVAUŠҠPSSN MPAB ASDVDŠBYϠMVŠSGN SAPPPNN ADAD-3ƠHŠPNNԠS3ҠGA SZASSUNANSUNNSSAY MPNM SSASS MPNM DAPDMNŠƠHŠBNAYPNԠS ADAD-5NHŠHGHҠנMANSSA SZA MPH̱ H0SAND DAPSHԠPNNԠ ASMAKNGSGN0 ADAND BNAYPNԠAԠGHҠƠBԠ0 DB0NHGHMANSSANϠSHS DAMANHUDZϠנMANSSAAND MPHŬɠSŠPNN H̱SSASS MPDBNAYPNԠNנMANSSA DBMANHPMNSSAYSHNGN SBH̲HGHMANSSA {*($SBMANHSŠUNADHGHMANSSA AZϠנMANSSAANDUN MPH0 DDAPPMNSSAYSHNGN ADAD-3נMANSSA DBMAN SBH̲ DAנMANSSASUNADHGH MPH0MANSSAMANSHŠSAM ABAZϠנANDHGHMANSSASAND BUN MPHŬ NMDAMAN̠NϠUNANNSSAYS MPH0UNUNHANGD SUBUNŠH̲ HŠPUPSŠƠH̲SϠUNAŠHŠANA PNƠAA̠NUMBҠBYSԠSHNGH NUMBҠGHԠUN̠HŠANSDSADDAND HNSHNGԬHUSNGHŠANA̠PA ƠHŠNUMBҠHZS H̲NP SANDؠSԠNDؠϠNGAVŠƠ BSSHSUD SZND MP- SAND BS SZND MP- MPH̲ MANHNP MAN̠NP PNP NDؠNP ND N* 9 E 24246-80001 A S 0122 EXTENDED ASSEMBLER FLOATING POINT             H0101 Z ASMBAB̬ԬìZ HDHPAP-P<"AU"-"P"VSNA̠9 ϠASSMBŠHSŠSUŠAPSҠNDDAHMàUNԠ6 MAHNSUSŠHSN̠SAMNԬ'ASMBZAB̬ԠHPAP-ؠAU'. ҠHҠ6MAHNSUSŠHŠNG'ASMBNAB̬ԠHPAP-'. MPAYANDAGGN (PAAYADAҠ AHPASS G00006B NAMŠBSS(PK BASƠBSSBASŠPAGŠAG PҠBSSҠPAGŠNUMBҠ(ASԩ. NҠBSSԠUN N.BSSN.ƠN'S NàBSSGƠNԠB NVBSSNB̠UN NGBSS GBSSA̠AG(0NϠ. PBSSPAԠUN ѠBSSAGҠSԠSAŠAҠP SUPBSSSUPUNSAG APŠBSSAPŠUN USŠBSSSKPASSMB.-N''ANG BSBSSGSSSV SPà SAGBSS3ҠPASS3MB. SԠBSSSԯUN̠AGD. SNBSSS.N.N ASMBSSN̠SA.AG HDBSSHADҠAG(NGH PNBSSԯNGH(PASSG(PASS ASSMBYPNAGS AGBSS5ABSBNSԬ̬B SԠBSSNANS''AG(NZҠ0 SSBSS-ƠPN. NàBSSNŠ-PAGŠNS PASSBSSPASSAG0PASSPSPS3 NBSSҠUN PNBSSPGAM'NUN SPà GMBSS'MVŠUN' SYMPBSSSYMB̠NGà(S SAVBBSS SNBSSSAŠNGPDůPANDAB( NVԠUNàASN DPUN.ASN-DMA̠PNN DNԠUNVASNANHAҠUN SDSGUNVASN-SAVŠSGNƠMANSSA SPà SԠBSSSԠHAA ASԠBSS PNҠBSSPNSAԠASԠҠU.HA. SPà3 SPDB SZB MPYP- HԠB MPASN+ɠϠASMB SPà BSS 000ADDV 000SԠDV 0003BNAYUPUԠDV 000KYBADNPUԠDV SPà DƠؠAAVA̠MMY BSSAAVA̠MMY SPà MAG̠NPNϠMAGAPŠDVҠƠHS'NSZ 000MAG.APŠDV SPà MPMPYPŠANAŠKYBADNYPN. BSS6ASɠNVSNSAG. SPà VA0UMP+ASN-MSԠSGNANԠ3. VA0SUMP+ASN PASNUVA0SNUMBҠPNҠSAV(HP. VA̱UMP+3ASN-MDDŠ3. VA̱SUMP+ASN VAUUMP+5ASN-ASԠSGNANԠ3. VAUSUMP+6ASN DNԠUVA̱SASN SPà 000BKYBADSNYPN. SPà HԠB YPŠDB+BSAND.NPUԠNSU. DA+AKYBADNSU. MP+ DƠASMB+ ̠NPKYBADN̠SA.AG SB0BɠKYBADNPU SB0BɠSANDADNPU SPà MAGAPŠUNŠADDSSS SPà BSPҠDƠBSPPSNAPŠ(BAKSPAũ ADDƠDADAD ԠDƠԠŠAD PNDDƠPNDNDANDPSNAP PKBSSASԠHAAҠPKDUP. MAGAUSNMԠHAAҠUN. NBBSS NàBSS ؠBSS MDŠUؠASNMDŠƠNVSN SPà NG5'SAŠADNHPUNS SPà àBSSàAG SGNBSS SUMPBSSUNNNGSUMҠHP MBSSN.ƠMSNPAND ԠBSSHP(+BUMP SPà DSGBSS(ASN AGBSS BYGBSSBYŠAG(Bé AѠBSS رBSS(ASN NSVBSS NԠBSS SBSS SҠBSS SUM.BSS SVSԠBSS SYMɠBSSADDҠNҠҠSYMBB̠(SYMK PUSYMɠASNANA̠PNN B̠BSSASԠDADDSSƠSYMB̠AB DŠBSSPDŠYP NSԠBSSPDŠMA DDAA ZDƠPN-NAM+NA̠AҠNGH YABSSAG-NAMŠAҠNGHҠAPASS DƠAG(Y+ HDҠDƠ+ ASàPAG ASɠBSS3DS.ƠNVDD.NS. ASà3PAԠƠHAD BSSHADҠBU NUMàNSANS ...Dà3569 .0BԠ0 .Dà .Dà356035055 Dà6 .3BԠ3ZNƠYP àԠ000000000000000000 Ԡ63600600000000000060006 .00BU+00B NHU+963B .6U+0600B MDGDƠ+(ASN Dà-000-00-0- PDGDƠ+(ASN Dà000000 ..MDà---3--5-6- MDà-5-6-0-9-3-3-6--53-5 Dà-5-5-6-3 DDUM+0DؠDŽ5B ҠDAGNSS DASàPSDDSYNMVSNUN ƠASàƠҠNZҠN SPà MSàNSANS AԠ550000060030060 BNKU.+(3Dé DABS-MP--(MP+ DƠB+5D+ DƠPBU+D+ DƠB+D+3 DƠBU+D+ DƠB+6D+5 DƠB+3D+6 .HñDƠH+ DƠH+ SADDƠPBU+3 NDSBDƠPNDPSS HD.DƠHD+9àƠPAGŠHAD BɠDƠB UBDƠBU UBPDƠPBU HNDƠHA3HN DƠHA55++ DƠAԠ+ DƠHB+3 DƠH30++ DƠNMP+5 ̠Ԡ50555355556(+-. ѠԠ5UA̠SGN( NDƠYZSԠNƠàNS. NAMɠDƠNAMŠ(PK DƠMP+5+ DƠPԠ+ SDƠS ױ0Ԡ6000ADDҮ7SSMASKS UMSKԠ000300053 MSKUUMSK+MASKҠҠBS .ƠԠ06 DƠ+ADDҠƠ àASà5ŠҠBà .AԠ000305AB SPà SUBUNŠNKS SHԱDƠSHԲ ASNDƠASNP DƠASMB BNNDƠBN HPDƠH NSҠDƠNS SԠDƠS MVŠDƠMV PKDƠP SYMKDƠSYM NDԠDƠN PԠDƠPS GԠDƠGS A̠DƠAԠNƠAHA̠UN PB59DƠPBU+59NϠABSBNAYHKSUM SVANPҠAԠUS SVBNP .U... AGԠ000000SYSMPAGŠԠAGD. B9DƠB+9 BƷDƠB+ BƸDƠB+ BƱDƠB+ BUƱDƠBU+ BUƲDƠBU+ BU3DƠBU+3 PBU6DƠPBUƷ .99Dà99 PASSԠ000000PASSSUŠAG. SKP PASSNAZҠ ZPԠDƠ+5PNSAԠZϠD SPà NԠNP SPà AҠPASSDPND.MP. SPà DBNAMɠGԠSAԠƠAҠAA DAY SBSM NPҠ0(USDBYZPԠϩ ADSԠSAMNԠ SPà SBAPN.ɠ(SԠAPŠNUMBҠϠ. GSBSA DAD PA.+3'HD'SA? MPHYS SZNҠSԠԠPAAMҠUN DBAG SZBABSASS'Y? MPH0YS SBPNSԠPN0 PA.+(3NAM? MPHɱ--YS- NϠNAMҠG H0DAD+5'N' SBP DAAG SZAABSU? MPNԬɠ MPHɱ. HSBNSԬɠGϠϠHDSB MPG ABSUŠASSMBY H0PA...G? MP+ DA+5(000B SAPNSԠPN000 MPH0 SBHPɠVAUAŠPAND 6 MPNԬɠҠ- SBPN SZN MPNԬ AABŠASSMBY (HSSHɱ- SPà SZN HɱDAPASS SZAPASS? MPNԬɠ PSSNAMŠҠBNAYD DBBɠ(ҠBANKSƠNϠNAMũ DASN+GԠPSNƠPAND SZASNAMŠPSN? SBGAGԠPANDADD. SB+(NϠMVŠNK DA...+(5 DBSADADDҠƠPBU+3 SBMVŬ NPNƠPGNAM(M- MPNԬ SԠAPŠUNŠ SPà APN.DƠAPN SKP ADASAMNԠ SANP DAP SZASSAŠŠPANGASA? MPԠNϠ- SZPYSAŠŠDN? MPZPN ԠDBB DA.+0 SBSMSԠɯϠBUƠϠBANKS BNSASà MPADɠGϠϠMAGAPŠAD BDBUB DA.+50 SDVSB0BɠGϠϠAD SZAA0? MPԬɠGϠϠMAGAPŠ PASNNנAPŠ? MPBN! SASNSԠSN0(ҠNנAPũ SBAPN.ɠNMNԠHŠHADҠAPŠNUMB. DAPASSPASSAG DBMAG̠MAGAPŠAG SZASSPASS? SZBSSYS-SMAGAPŠBNGUSD? MPàNϠ-SKPND--Š. SPà ŠND--ŠNMAGAPŠ SPà SBMAG̬ɠϠMAGAPŠDV Ԡ NP SB SPà SPHŠҠAPŠHANGŠ SPà àA ADAAP DBAP HԠ5B MPBNS+ SPà ؠNPNYPN. HԠ0B A SAMAG̠AҠHŠMԠAGD. MPجɠUN. SPà z'P'PSSNG ZPSZѠSԠPPASS? MPԠYSADSAMN A SAѠSԠѠ- ANA SAPNҠSԠPNҽ MP SANSAMNԠ(ANGH HSZSNBUMPS.N. BNBϠB SBPNҠSԠPNҠ ADB0ADDAϠB SASN SPà SԠHASNGSA.ϠBANKS SPà BS ADBUB DABNS SA ̠A(NҠҠPPSSҩ SABYGҠPUNHBYŠAG SASN+3 SAS SZASMN̠SA.? MP+N. DA...+YSSԠSԠD SBSԬɠSԠHŠSA. MPSAɠ HKAB̠AA SBPKUPPKUPNԠHAһBUMPPN PA+? MPHɲ-YS- SAB̠PSN? PABNK MPHS50-YS- SBB̠SԠҠGA̠HA DASԠ-K-SԠҠNUMàSԠHA ADAM+(- SSASSHANZ? MPHS0YS ADAM(-5N. SSAB? MPHBN-0 HS0SBPKUPGԠNԠAB̠HA PABNKNDƠAB? MPHS9-YS SBB̠-NϬSԠҠGAY MPHS0-K SԠҠGA̠HA.NAB̠ HYAŠ'(+- B̠NP ADAM+6(-6 SSASSGҠHANԠ55? MPB̬ɠYSGA ADA...+6( SSASSHANԠ? MPB̬ɠYSGA ҠԠ HBDAD+'SY' SBP MPHS0 AB̠PS-PSSҠ HS9DAPN ADA..M+(-SԠAB̠NGH SASN+3 PSSPDŠ HS50SBPKɠSAHҠPD MPHSҠҠ SBPKUPGԠN?5ԠHAҠ(_+5 PABNKBANK? MP+YS? PA+MMA? SBBPKUPYS-GԠNԠNN-BANK MP-5GԠNԠHA. SԠҠPDŠNGHGA̠ DBPN MBNB(PNSϠBNKNGPDũ ADBSN+ PB..M+3(- MPHS5NGHK(3 DAD ADAM+(-60BD- SSASSM-P? MPHS5YS ҠPSSҠҠPDŠ DAD SBP HSҠDASA DBUS PB.SKPDŠBAUSŠƠZN? MPPNYS-GϠPNԠHŠSAMN. ANDױ0SADUSԠMNԠN? SZASSƠԠSDN'ԠBUMPPNҠPUNH. MPHɲ-'SMNԬSKPUPUԠB. DAPASS SZASS SBAB̠NSԠAB̠ҠPDŠ SBUԠϠB SBSԬ SZPNBUMPN.N MPԠADNԠSA. HɲDA...+(3MAKP. SBSԬ MPԠADNԠSAMN PKUPPANDNHNԠ HS5DBD PB.3BSHSZN? MPZNYS DAUSŠGԠ''USŠAG PA.SKPASSMBNG? PB.SԠAN'ND'? SSYS-DN'ԠSKP MPHɲ+GϠNANDPNԠHŠSAMN SBBPKUPGϠSKPBANKSƠNSSAY. ADBM+(-3SԠҠPN<3 ASԠA0 SAGAҠA̠AG SSBSKPƠDUԠƠANG DAPNҠPNҠϠA SASN+PNDPSN SZAPANDPSN? SԠҠA̠ SBPKUPYS-GԠSԠHA. DBAGGԠ'ABS'AG PAѠSHŠPANDAA? SZBYA-SHSAN'ABS'ASSMBY? MPSAɠYSԠMADҠH. SBPKUPn/GԠHŠA̠YPŬN. DBSN+GԠPANDPN ADB.+ADD SBSN+SԠPNҠϠA̠VAU SAGSԠ.AG(A̠YPũ MPSAɠԠMSAH SPà PSS'Z''N'Ҡ''DS.. SPà ZNDANSԠGԠNS.MA(HASƠHAҠN B SZASSSNSԠ0?(SԠƩ? MPZN3YS PBUSŠUSŠ0? MPZNYS-GϠNHPSSNG. ZNҠDAƠNϠ-Ҭ'ŠNAN''GP. SBPҠPNԠ'' MPZN3+ SPà ZNBNBSԠB PASԠS''HAAҠMAHD? MBNBYS-SԠB- ZN3SBUSŠSԠ'US'AG BN:B0. PBPNPAԠANG? MPPNN. SBPYS-ҬSԠP0. MPZN SPà PNANASԠUPҠNϠNSԬNϠ'NPN MPHɲ+GϠϠSԠANDNNU SKP SKP'A'NS NSNP SADSGSԠNSϠSKPNϠN. AA0ҠNŠD SB0BɠPN SZDSGSԠN MP-3NԠDN MPNSɠYS. NDNUM.ƠHASNAM MSYMNP SBSAVB SBPN ASAԠN SADSGZϠϠN SAS HɴSAASԠAS DASAVB SBG PA+? MPHɴ3YS PABNKNDƠSYMB? MP+-YS- ADAM+6(-6 Ԡ0SSA MPHɴ ADA...+6( SSAMNA? MPHɴN SԠUPҠԠ SPà DAPN SBGA  DADSGN.ƠSYMBSϠA MPMSYMɠ Hɴ3DADSG PA...S''AN? SBPҠNϬ HɴSZDSGBUMPN. SZSAVB DAS MPHɴ SKP PNԠҠDAGNSà PҠNP SZNBUMPҠUN DBBNS SAD+ɠҠDAG. SBD+5ɠBANKS SBB9ɠBANKUԠàND. DASN SBBNNɠNVԠS.N. DAAS+ҠUSŠN SABƷɠH DAAS+DAGNS SABƸ SBSSA. SBPPAG DASNGԠSAMNԠNGH ADAPDG+3(+0 DBD+ SBPNԠPN DAN+ADHŠUNԠPAGŠNUMB. SAPҠSAVŠԠҠHŠNԠҠPN. SBS MPPҬɠ SPà PPAGDƠPG SPà SԠSH5ҠHAԠNҠN SNPPASSHA DA000BADHŠSԠNYPN. PA0003BSANAS33BNGUSD? DAPASSS. BSHSϠBG. SSBSSSKPƠ5N. MPS PA...SKPƠPASS. HԠ55BPASSҠHA MPS PKUPNԠHAҬADDϠPNҠ PKUPNP DAPN SBG SZPN MPPKUP SAHҠNN-BANKHAҬSԠPNҠAԠԠ BPKUPNP SBPKUP PABNKBANK? MP-YS-GԠNԠHA. BN:B-. ADBPNҠNϠ-SԠPNҠϠASԠNN-BANK SBPN MPBPKUP PUNHANDSԠUPҠSԠ UԠNP A0ϠA BNBϠB SBB A={0ϠA DBBNSBANKSϠB MPUԬɠ MVŠHASMSYMB̠ABŠ -ANANSSԠDƠSYMB̠NY -BNANSDSNANADD. -HMV5NANSGNADD. MAB̠NP A AND...+6(ҠN.ƠDS. SASUMP PA...+( ANASSN:ASKP. Ҡ... SBMVŬ HMV5NP MPMAB̬ MASUŠSYMB̠ANDS SYMPSYMB̠HAҠUN SYMP+SYMB̠PSN MSYMSNP SBMSYM SASYMP SBSYMP+ MPMSYMS PUԠSANGPSN.ƠPANDNϠPNҠ SPNҠNP DASN+P.PSN. SAPN MPSPNҬ PN++'A'ϠPNҠ NP(SPN+ ADAPN NA SAPN MPSPN+ MVŠHAS.ϠABUҠMASɠ BUҠADD.NBG. SPà VNP DA...+5 SBMVŬ DƠAS MPV SԠUPANDPNԠ'M'DAG.ҠPANDҠ PҠNP DAD+6'M' SBP MPPҬ SԠUPҠVAUANƠPANDNHHAMMA SGA. HPɠNP A SBHP MPHPɬ SZHP MPHPɬ SԠҠAB̠PSNԠANDNSԠNSYMB̠AB SԠԠ.DŠBŠNSN. AB̠NP DASN+3GԠAB̠NGH SZASSAB̠PSNԠ? MPAB̬ɠ-N-DN SASYMPSԠHAҠUN DBUB SBSYMP+SԠAB̠ADD. A DBG SBAѠSAVŠG SAGG_0 DBAGABS.AG SZBABS.ASSMBY? MP+5-YS DBBASƠ-N--.ASSY. SZBNBASŠPAGŠ? NA-YS-SԠA NA-NϠSԠA DBPN SBNSҬɠNSԠAB̠NϠSYMB̠AB NPҠ DBA SBGSŠG MPAB̬ SKP PNԠUPUԠANDUNԠNS PNԠNP SASAVB+SAVŠHAҠUN SBSAVBSAVŠBUҠGN SZNàND MPɠPAG?-N DA000BADHŠSԠDVŠNYPN. PA0003BSANAS33BNGUSD? DAPASSYSADHŠPASSAG. ŬSAASBԠ0SԠN?SHԠԠϠ"". SZAYSSHSHŠPUNHPASS(? SSNϬSKP. SB000BɠYSGϠSSUŠAN-D. DAM+ SANàSԠNŠUNԠ5 SZN+BUMPPAGŠN. ŠҠDMA̠N. DAN+NV.PAGŠN. SBBNN SԠUPPAGŠHADҠ DAà'' SAAS DAPDG+3UPUԠ0HAS. DBPASS BSSBSHSASԠPASS? ADA...+3(SԠUPҠHAD SBSHSASԠPASS? ADAHD DBHDҠADDҠƠBU SB0BɠϠPNԠDV DA..M+(-SKPNS SBNS. ɠDASAVB+ DBSAVB SB0BɠPNԠDV MPPNԬɠPNԠ SKP GԠBUҠADDSSƠM GANP ADA..MA-ϠA ŬA ADAUB SZUPPҠADD? MANANϠ-MPMNԠ. SAAϠB MPGA SԠMMYϠGVNVAUŠ SMNP MANASԠVAUŠҠUN SADSG HFBDASMɠGԠPAAMҠϠBŠSDNAA SAɠ-PAŠPAAMҠNMMY NB SZDSG MP-3 SZSM MPSM UPUԠADүAҠ ADNP AAD SA MPADɠ SԠҠADҠUPUԠ DAM+SԠҠ6"U SASUMP Ԡ300A- DBZPԠZϠPN SB03BɠPNH SZSUMPZS MP- MPADɠ SKP `H :K 24246-80002 A S 0122 EXTENDED ASSEMBLER FLOATING POINT             H0101 [ BNAYUPUԠUNŠ SPà BàNP SASAVB+SAVŠ'NBY DAPASSSԠPASSN. Ԡ0PASS? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. SPà UPUԠAD SPà H60DAN AƬAƠAŠ SANԠSŠNԠNUPPҠPBU DBAG SZBSSABS.ASSMBY? MPH6-N- SPà UPUԠABSUŠMAԠ SPà AƬA ADA...+( MA-N.ƠDS DBUBP SB03BɠGϠPUNH A SANԠSԠNԽ0 MPBìɠ SPà UPUԠAABŠMAԠ SPà H6DASVSԬɠPSNMANNGANBS AƬA SZN MP- A SASVSԬɠSŠ.BYS SPà SԠ.DDŠ(D SPà PBBASƠƠBASƽSKP DB.+SԠU.PAGŠND.(00B ADB+SԠà'0' ADBPBU+SԠMAND SBPBU+ SBPNHGϠPUNH MPBìɠAND SPà PSSABNAYUPUԠD SPà H66DAN SZASԠDƠD? MPHɷ0+-N- SPà SԠUPҠAABŠ SPà DBPNPNϠBG DAAG SZAABS.ASSMBY? MPH6-YS- SBPBU+3SԠDB̠ADD. SAPBU+SԠPBU+0 DA...+3( SANԠSԠNԠ DAD+ SASҠSԠSҽ(PBU+ DB..M+(-5 SBNԠSԠNԽ-5 DAM+9(-5 MPHɷ0 SPà SԠUPҠABSUŠ SPà H6SBPB59ɠPAŠADADDҠNϠHKSUM SBPBU+ADADD.ϠPBU+ DAD+ ADA..M+(- SASҠSԠSҠ(PBU+ DAM+(-5 Hɷ0SANBSԠNBҠDUN SPà Hɷ0+ SPà DBAGGԠ'A'AG SZBSSAABŠUPU? MPHɷ+3YS SPà ABSUŠUPUԠ SPà DANS SASҬɠSŠNSԠNBN.. SZSҠBUMPS ADAPB59ɠUPDAŠHKSUM SAPB59 SASҬɠHKSUMϠDNGNS SZNԠUPDAŠN HɷSZNBSHSHŠASԠD? MPBìɠN- MPH60YS-GϠϠPUNH SPà AABŠPSSҠ SPà DANԠ(Hɷ+3 PA..M+NԽ-5? MPHɷ-YS-SԠUPADDSSS SPà SŠ.BYŠUPDA SPà SZPBU+(Hɷ+6UPDAŠƠDAADS DASVSԬ AƬA ҠSAVB+àBY SASVSԬ SZNԠBYŠDU? MPHɷ6-N- DB..M+-YS-(-5 SBNԠSԠNԠϠ-5 A SASVSԬ DANB NASZASHUD"NB"BŠNMND? SZNB Hɷ6DBNS SBSҬ SZS SZN DASAVB+àBY PA...+(5DNS? SS MPHɷϠԠS SZNԠBUM.DUN DASUMP SASҬ SZS ANDױ0+ҠUPPҠ6BSƠSUMP BSBSAҠҠBSƠNS BSBS Ҡ''BϠA SANS SZNBBUMPNB MPHɷ MPH60 SPà HɷDAS SASVS SBSVSԬɠAҠàBYŠD SZS SZN MPHɷ+6 SPà PKUPASYMB̠ϠBŠPND 'A'HASDSNANADDSS F@ SPà MBNKNP DBNVGԠB̠NYAN MBNB SPà SNDADD.ϠMVŠNKAG SPà SBHMV5 SPà MVŠBANKSϠBU SPà DBBNS SBUB SBBUƱ SBBUƲ DBUBADD.ƠBUƠϠB SBMAB̠MVŠSYMB̠ϠPNԠBU MPMBNKɠԠH SPà PUNHABNAYD SPà PNHNP DBPASSGԠPUNHUԠAG SBSSASPUNHNGUSD? MPPNHɠNϬԠMUNŠH SPà MPUŠHKSUM SPà DBUBP DAPBU AƬA MANA SANB NA SAGMSŠHKSUMN AA SAPBU+AҠHKSUMS NBNMNԠHŠDADDSS. ADAɠADDϠHKSUM SZGMDN? MP-3-N SAPBU+-YS-SŠSUM SPà GϠϠSYSPUNH SPà DANBNGHƠBU DBUBP'NƠBU SB03B A SAPBU SPà ԠH SPà MPPNH SPà GԠANPANDHA. SPà GàNP SBGA SB+5 DBSADDҠƠ'S'ϠBG Ԡ00 Ԡ0A SBMVŬ NP(M-5 DAS MPGì SPà GԠBàDŠANDSԠàHAҠ SPà BàDŠNASԠHAҠNB. SPà DDNP DBBNS SZASSABSUŠ.? MPDIDɠYSDN SASAVBSAVŠàD PA...+SԠUԠ? ADA..MYSSԠ. ADA-PNԠϠ..HA. DB0ɠPKԠUP DABYG SZASS DASAVBPKUPàDŠƠNSSAY. MPDDɠUN SPà PSSHŠ'D'NGHŠSԠD ƠANAHMàPAҠ SPà AؠSBSԬɠGϠϠSԠSԠD DA.+(0B SADŠD A SANSԠAҠNS DAG SZAA̠PSN? MPAҠYS DA.A+SԠUPҠND.B DBA+MASK(00000B SBHP NP AZSZPNBUMPANUN SBSUM.SAVŠPANDVAU DB.+3SԠPAAMҽ MPHɬɠGϠNϠMMƠPSS SPà AҠDASVAPKUP DBSVBA̠N MPAZMK SPà HɠDƠH SKP BNAY(PUNHUPUԠBUҠ SPà PBUƠԠ000000000000000 ASà3 PBUƷԠ000000000000000000000000 Dà99 Ԡ000000000000000000000000000000000000 BSS3 Ԡ000000ADҠBUҠV. SPà NԠUPBUƠD(BKNԠҠBN.D. SPà .NԠ0006'N' .ZԠ0003'Z' SPà APNNPNYPN. DAAPŠADHŠAPŠNUMB. ŬNAN:ŽNMNԠAPŠNUMB. SAAPŠSŠHŠUPDADAPŠNUMB. SBBNN DAAS+ SAHD+SŠNHADҠBU. MPAPNɠUN. SKP PASSNDPSSҠ [nSPà PNԠSYMB̠ABŠ SPà HB00DAAG+(G SZASS MPHB0ABŠNԠUSD-NSHPASS DA05BAAVA.MMY SANVϠNV HBؠDANVɠSԠSԠDƠNY SZASSMPD? MPHB0YS-GϠϠNSHPASS SBMBNKMVŠASYMB̠ϠBUƠHUBU+ SPà GԠANND.HA. SPà DANV Ԡ AND...+6( PA...+6A̠NY? MPHBYYS. SBDD SBBU3 SPà GԠVAUŠƠSYMB̠ SPà BN:B-. ADBSUMP(N.ƠDSNNY ADBNV DA ŬNBN:Ž0NMNԠ"B". SBNV SBBNN SPà SŠASɠVAUŠNϠBU SPà DBD+(BU+ SBV DBUBSԠPNԠPAAMS DA.+( SBPNԠPN MPHBؠNYDN. SPà HBYDASUMPN.DSNNY ADANV+ADDҠƠNY SANVADDҠƠNԠNY MPHB SPà SPND SPà HB0SBNDSBɠSŠUԠPASS(SKPNԬ. DA000BADHŠPNԠDVҠADDSS. DBAG+ADHŠPUNHAG. PA0003BSANAS33NYBNGUSD? SZBSSASHŠPUNHPNSD? ASSNϬN:A0SKP. SSYSSKP. PAMAG̠SAMԠUNԠBNGUSD? HԠBNϬHAԠAԠNDƠPASS. SPà NҠHŠϠSAԠPASSSҠ3 SԠҠPUNHUPU SPà SZBPASS? MPPASSYS DAAG+SԠAG SZAS? MPUϠPASS3 SZSԠSԠHŠSԠAGϠ"UN". DAAG+ADHŠ""PNAG. ҠSSNUDŠHŠ""PNAG. B0BADHŠSNSŠSHGS. SSBSSS(5SԠN? SZAYSŠ""AND""NԠSD? ASSNϬN:A0SKP. MPUYSDϠPASSSNY. DBPASSADHŠPASSSUŠAG. SBSSSPASSMM? PAMAG̠NϻSAMԠUNԠNԠBNGUSD? MPASMBؠYSNNUŠԠPDU. SBMAG̬ɠNϬGϠSŠHŠUNԠ. Ԡ00000Š"ND--"USԠD. NP"ND--AP"UN. SBؠGϠDSASSAŠHŠMԠUN. SPà NDƠPASSPUNŠHŠ SPà AN:A0. ASMBؠSAAGAҠHŠSYSMPAGŠԠAG. PAMAG̠SAMԠUNԠBNGUSD? MPSPN0-SKPNDUN. SBMAG̬ɠGϠϠ'ND'UN Ԡ3 DASSADHŠSS-NŠAG. SZASASS-NŠϠ? DA..M+ MPSP SKP PASSSBBSPҬɠGϠϠBASPAŠUN SPà UPUԠAD SPà SBADGϠϠADҠUPUԠUN SPà SԠPASSAG(ҠPASS SPà DASAGHKҠMBNDPASS3 SZASSSԠN? ANANϠ-SԠPASS(ҠPASS HB0SAPASSSԠPASSAG SPà SԠҠABSUŠASSMBY SPà DAAG SZASSABSUŠASSY? MPHN+5ɠNϬPSS'NAM''N'AND'' HBDA SZASSASN.SA.MKYBAD? MP+3N SAASMSԠSADAG SSSKPSAD SPà SBSAADN̠SAMN SKP SAԠPASS  SPà HSBN MPH+5ҠNN DA...+SԠPAAM SBSԬ SPà ADNԠSAMN SPà SBSAADNԠSAMN SPà SԠMNMNàDSҠPSSYPŠ SPà DAD PA.'ND'? MP"(ϠUũ PA.+3(BHD? MP50 PA.9(35BP? MP5 DBNS PA.+6(BSԯUN? MP5 PA.+(0BSUPUNS? MP56 PADDNDDDM.(Dة? MPNUMPYS ADA..M+(-3 SSABG MPHôYS ADA..M+3(- SSA(MNԬԠҠAԠMA? MPH3YS PA...+3'U'? MPUPYS PA.SKP? MPNSԬɠϠSKP PA.SP? MPNSԬɠϠSP PA...+'BSS'? MPBSSPYS ADA..M+(-3 SSA(ԬDàҠASà? MPNUMPYS ADAM+5(-3 SSASSM-P? MPMҠYS DAD Z PA.6BNGҠAH? MPH÷0YS.. PA.BNDDSHԠA? MPHø0YS... PA.+(NPҠϠ? MPH30YS PA+3(3SàҠSS? MPHòYS PA.+5(ABS? MPHò6YS PA.+(3'NAM'? MPH3 AND..M+6(0 PA̠ɯϠ? MPPҠYS SPà PSSMMYNŠNSUNS SPà DANS DBG SZBA̠PSN? MPHYYS AND..M+NϬAҠDSBƠ'NS' SANS DA.A+(ɩ DBA+(00000ND.MASK SBHPɠGϠVAUAŠPAND MPHñŠҠ HؠSBSUM.PNDVAU BSԠPAAMҽ0 H̠SBMSAVŠHŠSԠPAAM DBSUM.GԠHŠPANDVAU SPà .DŠSNà SPà SZAABS? MPHñN ADBM+3(-6 A0BADHŠSNSŠSHGS. AƬAƠSHԠBԠϠBԠ0. AƬSASB.P.ADDSSƠBϠBŠAD? ADB.ԠYS"SUBA":M-000B. SSBB? MPHñN DBAG SZBSSABS.ASS'Y? SBPҠPAND HñDASUM. DBD PB.+(6D? MPHñ DA PA...+(B.P.? MP+3YS SZAABSU? MPHñ5N SPà SԠҠPAND03 SPà DASUM. ADAױ0 SSASS MP.SP DANSԠA ANDUMSK+3(5UN.B SANS MPHñ SPà .ԠԠ600 SPà SԠҠPNDANDNSҠNSAMŠPAGŠ SPà .SPDA PA...+(B.P.à? MP+YSҠ(ϠHñ3 DAPN ANDױ0 Ԡ300MANA ADASUM. ANDױ0 Ԡ003SZASS MP+3 DAD+'V'(M-'Hñ3' SBP DAױ0+SPUPPҠ6BS ANDSUM.BS SASUM. HñDA PA...+(B.P.à? MPHñ5+ DASUM.NϬGԠADDҠ ANDױ0+SAŠHŠ0BԠADDSS. MPHñNSԠNϠNS. SPà Hñ5PA...+3?( MPHñ DB...+(5(Hñ5+Hũ SBBYG DBPASS PB...+SԠPASSANŠ? MPHñ+3YSGϠϠSԠADD.NϠNS ADA..M HñҠNS SANSԠSԠADҠAG SPà SԠUPҠDD SPà DA SBDD(Hñ+3 SPà NUPUԠABNAYD SPà SBSAVB BNB SBB SPà UPUԠANŠҠSNG SPà DBSAVBàHA. DAMGԠHŠSԠPAAM SBSԬ SZPN MPH+(Ϡ'H03' SPà A̠PSSNG SPà HYSASSSBƠNSԠNDàA̠PSSB MPHZNϬ AND..M+AҠSBƠNS SANS SBPԬ MPHZ+Ҡ MPH SPà HZSBPҠ'M' HñŠASԠPAAMҠ0 SAMSAVŠ MPHñ SPà PSS'ABS'PDŠ SPà Hò6SBHPɠGϠVAUAŠPAND MPHPD SBNS MPHPDK.. SPà PSSSàҠSS SPà HòDASN+PNҠϠPAND DB0AϠB SBMSYM ADA..M SZA MPHPD DAASԠS'' PA.A+(éPSN? SSYSSKP. MPHPDN SPà ''ϠBԠ9(àBԩƠɯϠNSԠ SPà DANS ҠUMSK+(000 SANS MPHPD SPà UPUԠBNDANDҠSԠNŠ SPà H30SBU SBSԬɠ(H30+Hũ SPà ADDϠPG.N.N. SPà SZPNBUMPANN MPH+(ϠH03 SPà MNԬԠANDAHMAϠSҠ SPà H3DBAG SZBABS.ASS'Y? MP39YSҠAADYND PA..MNϬSԠAHMAϠ? MPNSԬɠGϠϠAHP 39ANAϠA MPH+3(ϠH0 SPà GBҠP-PSSҠ SPà HôBUPUԠA SBBàD SBNSԬɠUMPϠԠSUBU. MPH+(H0 SPà 50DAPASS PA...PUNHNYPASS? MPH+YS-GϠϠNԠSAMN SBNSԬɠϠHADҠSUBUN DASԠADHŠSԯUN̠AG. SZASSUNSԠSD? SBKŠSPAŠϠBMƠPAG MPH+ 5SBNSԬɠϠPSB MP39 5DAAG+ADHŠSNGAG("". SZAASSNGSPD? SBSԠSԠSԯUN̠AG MP39 56SBSUPSԠSUPUNSAG MP39 SPà PASS'U'PSSҠ SPà UPSBHPɠVA.PAND BҠS DAPN SASUMPSAVŠPNVAU SBPNSԠPN0 DA...+(SԠ'U' SBSԬ DASUMPPAŠPNVAU SAPN MP.Hñ+ɠ(H03 SKP Z H÷0DAGGԠA̠AG SZAAŠASPSN? SBA̬ɠYSGϠϠA̠PSS SBUԠUPUԠHŠAHNSUN MPAؠGϠPSSHŠ'D'PN.. SPà Hø0SBHPɠGϠVAUAŠHŠUN MPHøBADUNԠ ADBMB- SSBBGҠHAN6? PBMN.SB0? SBPҠYS'SAN'M'Ҭ. SPà DASUMPGԠHŠSHԠҠAŠUN.. AND.+3MASKUԠSԠBS HøADANSԠMAKŠUPHŠNA̠NSUN SANS MPH30GϠANDUPUԠHŠNSUN SPà HøASԠUNԠҠ6BԠSHԠA MPHø SKP PASSAND3NDPSSҠ SPà "B SBBàASԠU DAAG SZAABS.ASSMBY? MPH55YS SBNDԬɠNϬGϠPSSASƠANY SPà sPUNH'ND'D SPà DA+5ҠNԠ(000 SANԠSԠDUN DASN+PNSϠPAND(ƠANY SAPBU+3ADƠNϠUNADDSS SZASS.ADD.PSN? MPH5+-N-. SPà PSS.ADD. SPà SBHPɠGϠVAUAŠPAND MPH5-- SBPBU+3SŠADD. BNBSԠB ADA..M SZASS.? MPH5+GϠϠBԠSԠUP NBҠDԠB.P.BԠSUP PA...B.P.? MP+YS(ϠH55M- SBPҠPAND-NԠAAB. H5A B ADB0A+BϠB(M-'H55' ADB+3SԠà5 SBPBU+ H55DAPASS SASSPASSND? MP+5N-NDƠPASS3. DAAG SZASSSKP'ND'PUNHƠABSASS'Y. SBPNH SBADUPUԠA ANASԠA(H5+ DBBNSBANKSҠìND. SBSԬ SBSSԠҠSH5HA SBNDSBɠPNԠҠUNԠ SPà SԠPASSANDASSYND SPà DBAG+ADHŠSԠAG("". DAPASS SZBASHŠSԠAGSԠϠS? ASSAASNDƠPASS3? MPASMB-YA-GϠϠNDƠPASSUNS SASԠSԠHŠSԯUN̠AGϠ"S". SPà NDƠPASSHAԠHŠ SPà PAMAG̠SAMԠUNԠBNGUSD? HԠ3BNDPASS3 SPà SAԠNԠPASSHŠ SPà USBBSPҬɠGϠϠBAKSPAŠMAGAPŠP. DA...+( MPHB0 SPà ԯDïASàPSSҠ SPà NUMPSBSPNҠSԠPNҽPANDPSN. A SA+SԠƍnPAS0 DAD PA...+6( MPAS H06DBPNҠPNSAԠSԠHƠNUMB SBSGN B SBN NB SB SPà SԠHAAҠҠMNAҠ SPà H0DAPN SBG SAM PA+MMA? MPHűYS PABNKBANK? MPHűYS SPà UPDAŠHA.N(NéANDPSN.PN(é SPà DBD PB...+(9? MPHű0+YS PBDD'D'? MPHűYS DB...+(NԠA PA+6PD? SBàYSSԠà PA.A+3''? Hű0SBàYSSԠàҠUSŠASASNMD SZNà(M-6 SZPNҠBUMPPN MPH0 HűDB.+SԠB3ҠDؠMD MPHű0 SPà SԠUPVAUŠҠSԠANDҠPUNH SPà HűDAD B PA...+(9? MP+3YS DBàNԠ Ԡ5BB ADBN DASGN SBASNɠNV. ASԠA0 SANS SBSUMPSŠVAU DAVAUSAVŠASԠSGPAԠƠ'D' SASGN HűSBNU DA ASSASà0Ҡ? MPHŲ0NϬS3Ҡ DAMN- PABNK MPH+ԠNBANK SZPNҠBUMPPN SBBPKUPSAHҠNԠNN-BANK MPH06 SPà HŲ0DASUMP SANSԠVAUŠϠNS DB PB.+Sý3? MPHŲYS-SԠSUMPҠ3DD A HŲSAàSԠàҠNԠS MPHű SPà HŲDASGN SASUMPVAUϠSUMP DA.+ҠSNGý MPHŲ SKP PSSASàHŠ SPà ASҠDA...+(ND.'AS' SBHPɠGϠVAUAŠDNGH MPH30Ҡ SZAVAUŠABS.? MPHPD-Nϻ ADBM+3(-9VA.NSUMP00 SSBSSVA.? MPHPD-YS DAPN SA DASUMP Ԡ300MANA SANàVAU(MP.ϠN SPà PKUPDSANDSŠNϠPGAM SPà SBSBBUMP ԠAA SAS SBBUMP SANS SPà UPUԠASɠHAAS SPà SBNU A SAS SZN MPSB MPH+(H03DNŬPKUPNԠSAMN SPà BUMPïGԠHAҠ SPà BUMPNP SZ DA SBG MPBUMP SKP PSSɯϠGUPHŠ AMԠ05000 Ԡ00 Ԡ300 SPà PҠDASN+SPAND SZAPSN? MPPYS! DADŠNϠPAND PA+'H'? MPHPD SPà PANDҠԠHŠ SPà SBPҠ(HPD- HPDA SAMSԠSԠPAAMҽ0 MPHñ+3 SPà PDA.A+SԠҠ'' DBUMSK+(000 SBHP MPѠҠ SZAA0? MPҠN- DAYS DBNSԠADBGSҠHNS.YP ADAP-MASKSԠMŠҠA̠NSS. PBAMSNSҠAAMNS. SSYSSKPNԠMASK<3B ADAP-NϠDϠSNDMASKN 24247-80002 A S 0122 4K ASSEMBLER FLOATING POINT             H0101  PUNHABNAYD PNHNP DBAG+ SZBSSPUNHAGN? MPPNHɠNϠ-ԠH. MPUŠHKSUM DBUBP DAPBU AƬA MANA SANB NA SAGMSŠHKSUMN AA SAPBU+AҠHKSUMS SZBUMP.ADD. ADAɠADDϠHKSUM SZGMDN? MP-3-N SAPBU+-YS-SŠSUM GϠϠSYSPUNH DANBNGHƠBU DBUBP'NƠBU SB03B A0ϠA SAPBUƠAҠDUNԠS ԠH MPPNH PUNHSԠANDBUMPNNҠ NŠNP SBSAVBSAVŠASɠ.NDA Ԡ60ϠB SBBàPUNH DBSAVBPKUP.ND. A0ϠA SBSԬɠPN SZPNBUMPN.N. MPNŬ PASS'U'PSSҠ UPSBHPɠVA.PAND BҠS DAPN SASUMPSAVŠPNVAU SBPNSԠPN0 DA...+(SԠ'U' SBSԬ DASUMPPAŠPNVAU SAPN MP.Hñ+ɠ(H03 BUMPìGԠHA. BUMPNP SZ DA SBG MPBUMP GԠANPANDHA. GàNP SBGA SB+5 DBSADDҠƠ'S'ϠBG Ԡ00 Ԡ0A SBMVŬ NP(M-5 DAS MPGì   ԯDïASàDUPUԠ NUԠNP DA+SԠPASSAG SZA MP+N Ԡ0A SA+SԠSԠPASSAG ASSAҠAANDSKP DA...+3(SԠҠSԠ(M- DBBNS SBSԬ AA0 Ԡ60B SBB SZPNBUMPNN MPNUԬ BSSPSSҠ BSSPSBHPɠVA.PAND MP.Hñɠ Ԡ6003B0? MP.HñɠYS BB0 SBB AA0 DBBNSNϠ.ND. SBSԬ DASUMPPKUPBKNGHҠPN ADAPN SAPN MP.Hñ+ɠ .HñDƠH+ DƠH+ ҠPSSҠ PNP DA+5(MPPɩҠ$SNG SB$GϠϠүGP-P. SABS+3SԠSV0 DABS+SϠA SAPNSԠPNϠMAN.UN MPPɠԠP(USDAԠ-5 P-PàҠҠANDG $NP SA+SԠүG.NS. DABAS DBPN SZAŠŠNBASŠPAG? SBBS-YSSAVŠHŠVA.NB.P.NN. DABS+3SVϠA SZASSŠŠNHŠMANPGAM? NP-YS-ԠƠNP -SAVŠ'NNҠVAUŠƠNGP SSAŠŠNASNSԠBYANG? SBGSԠSAVŠàNҠNGSAVҠN. A SABASƠAҠBASŠPAGŠND.AG. MP$ GPSSҠ GPNP DAנGԠPAAMҠ$N SB$GϠϠP-P. A SABS+3SԠSV- fGϠANDVAUAŠPAND SBHP MPGP SBPN DBAG+3G SZBSS MPGP PA....? MPGPɠYS SBPҠPAND MPGP BPSSҠ BPNP DAAGABS.ASS'Y? SZASS-YS MP+-NϬK DAD+3'' SBP MPBPɠҠ DBPN DABAS SZAŠŠNBASŠPAG? MPBPɠYS- DABSN-SԠNNҠϠASԠVAUŠ- SAPN-SԠҠBASŠPAGŠ- SZBASƠSԠB.P.AG. DABS+3SV SZAŠŠNMANPGAM SBGSԠN-GϠPSSNNҠVAU SZASSVAUŠƠNN. נSBBS+(SƠHŬ'ŠNMANPA ANA SABS+3SԠSV MPBPɠ GԠBàDŠANDSԠàHAҠ BàDŠNASԠHAҠNB. DDNP DBBNS SZASSABSUŠ.? MPDDɠYSDN SASAVBSAVŠàD PA...+SԠUԠ? ADA..MYSSԠ. ADA-PNԠϠ..HA. DB0ɠPKԠUP DABYG SZASS DASAVBPKUPàDŠƠNSSAY. MPDDɠUN SAVŠHGHSԠVAUŠƠPN GSԠNP DABS+VAUŠƠASԠADDSSϠ'A' MANA ADAASԠPNVA.Ϡ'A' SSASSASԠADD.GA? SBBS+NϬUSŠPNҠH-VAUŠSAV ANAϠ'A' MPGSԬ SPà PSSHŠ'D'NGHŠSԠD ƠANAHMWàPAҠ AؠSBSԬɠGϠϠSԠSԠD DA.+(0B SADŠD A SANSԠAҠNS DA.A+SԠUPҠND.B DBA+MASK(00000B SBHP NP SBSUM.SAVŠVAU ADBNS SBNS DBSUM.VAU ADBM+3-6 SZASSSVAUŠABSU? SSBYSSVAUžB? MPA5N Z DAAG+3GԠ''AG SZASKPƠABSUŠASSMBY SBPҠ'M'M A A5SZPNBUMPNUN SBDDDDŠҠB SBD SBBàPUNH DBD DA...+3SԠPAAM MPHN+ɠNDAHMAϠP. BNAY(PUNHUPUԠBUҠ PBUƠBSS66DS NԠUPBUƠD(BKNԠҠBN.D. SKP PASSNDPSSҠ HB00DAAG+(G SZASSPNԠHŠSYMB̠AB??? MPHB0ABŠNԠUSD DA05BAAVA.MMY SANVϠNV HBؠDANVɠSԠSԠDƠNY SZASSNSHD? MPHB0DN. SBMBNKMVŠSYMB̠ϠBU-BU+ DANVɠGԠN.NDAҠHAҪ Ԡ AND...+6( SBDD SBBU+3 GԠVAUŠƠSYMB̠ DBSUMP(N.ƠDSNNY ADB..M ADBNV SBNV DA SZNV ŠSԠŠ0ҠA̠NV. SBBNN SŠASɠVAUŠNϠBU DBD+(BU+ SBV DBUBSԠPNԠPAAMS DA.+( SBPNԠPN MPHBؠNYDN. HB0SBNDSBɠPNԠҠUNԬ. HԠBNDPASS SPà NҠHŠϠSAԠPASSSҠ3..... SPà DAAG+PUNHAG SZAPASS? MP+5YS DAAG+SԠAG SZAS? MPUϠPASS3 MPASMBؠGϠϠNDƠHPAP SBAD(M-5SAԠPASS DASAG SZASSMBNDPASS3 ANANϠ-SԠҠPASS(PASSG SAPASSSԠPASSAG SԠҠABSUŠASSMBY DAAG SZASSABSUŠASSY? MPHN+ɠNϬPUNHNAMNԬAND HBDA SZASSASN̠SA.NDMKYBD? MP+3NϠ-GϠϠSPN SAASMSԠSASAG SSSKPSA SBSAADN̠SAMN SAԠPASS HSBN MPH+5ҠNN DA...+SԠPAAM SBSԬ SBSAADNԠSAMN DADŠSԠMNMNàҠDŠYPŪ PA.'ND'? MP"(ϠUũ ADA..M+(-3 SSABG MPHôYS ADA..M+3(- SSA(MNԬԠҠAԠMA? MPH3YS PA...+3'U'? MPUPYS PA...+'BSS'? MPBSSPYS ADA..M+(-3 SSA(ԬDàҠASà? MPNUMPYS ADAM+5(-3 SSASSM-P? MPMҠYS DAD Z PA.6BNGҠAH? MPH÷0YS.. PA.BNDDSHԠA? MPHø0YS... PA.+(NPҠϠ? MPH30YS PA+3(3SàҠSS? MPHòYS PA.+5(ABS? MPHò6YS PA.+(3'NAM'? MPH3 AND..M+6(0 PA̠ɯϠ? MPPҠYS DA.A+(ɩ DBA+(00000ND.MASK SBHPɠGϠVAUAŠPAND MPHñҠ SBSUM.(ANDŠSN'' SZAABS? MPHñN ADBM+3(-6 SSBB? MPHñN DBAG SZBABS.ASS'Y? MPHñYS SBPҠPAND HñDASUM. DBD PB.+(6D? MPHñ DA PA...+(B.P.? MP+3YS SZAABSU? MPHñ5N DASUM.SԠҠPANDB ADAױ0 SSASS MP+5 DANSԠA ANDUMSK+3(5UN.B SANS MPHñ DAàSԠҠAPANDNSAMŠPAGŠASNS. PA...+(B.P.à? MP+YSҠ(ϠHñ3 DAPN ANDױ0 Ԡ300MANA ADASUM. ANDױ0 Ԡ003SZASS MP+3 DAD+'V'(M-'Hñ3' SBP DAױ0+SPUPPҠ6BS ANDSUM.BS SASUM. HñDA PA...+(B.P.à? MPHñ5+ DASUM.NϬGԠADDҠ MPHñNSԠNϠNS. Hñ5PA...+3?( MPHñ DB...+(5(Hñ5+Hũ SBBYG DBPASS PB...+SԠPASSANŠ? MPHñ+3YSGϠϠSԠADD.NϠNS ADA..M HñҠNS SANSԠSԠADҠAG DAàSԠUPPAAMSҠ'DD' SBDD(Hñ+3 SBN MPH+(Ϡ'H03' PSS'ABS'PDŠ Hò6SBHPɠGϠVAUAŠPAND MPHPD SBNS MPHPDK.. PSSSàҠSS HòDASN+PNҠϠPAND DB0AϠB SBMSYM ADA..M SZA MPHPD DAASԠS'' PA.A+(éPSN? MP+YS MPHPDN DANSԠҠϠ''BԠƠɯϠNSҠ ҠUMSK+(000 SANS MPHPD UPUԠBNDANDҠSԠNŠ H30SBU SBSԬɠ(H30+Hũ SZPNBUMPANN MPH+(ϠH03 MNԬԠANDAHMAϠSҠ H3DBAG SZBABS.ASS'Y? MP+3YSҠAADYND PA..MNϬSԠAHMAϠ? MPHA3YSGϠϠAHPS. ANAϠA MPH+3(ϠH0 GBҠP-PSSҠ HôBUPUԠA SBBàD SBNSԬɠUMPϠԠSUBU. MPH+(H0 SPà Z H÷0SBUԠUPUԠHŠAHNSUN MPAؠGϠPSSHŠ'D'PN.. SPà Hø0SBHPɠGϠVAUAŠHŠUN MPHøBADUNԠ ADBMB- SSBBGҠHAN6? PBMN.SB0? SBPҠYS'SAN'M'Ҭ. SPà DASUMPGԠHŠSHԠҠAŠUN.. AND.+3MASKUԠSԠBS HøADANSԠMAKŠUPHŠNA̠NSUN SANS MPH30GϠANDUPUԠHŠNSUN SPà HøASԠUNԠҠ6BԠSHԠA MPHø SPà PASSAND3NDPSSҠ "B SBBàASԠU DAAG SZAABSASS'Y? MPH55YSSKP'ND'P. PUNH'ND'D DA+5ҠNԠ(000 SANԠSԠDUN DASN+PNSϠPAND(ƠANY SAPBU+3(ADƠNϠUNADD. SZASS.ADD.PSN? MPH5v-N- PSS.ADD. SBHPɠGϠVAUAŠPAND MPH5-- SBPBU+3SŠADD. BNBSԠB ADA..M SZASS.? MPH5+GϠϠ̠BԠSUP NBPSNBҠB.P.SUP PA...B.P.? MP+YS(ϠH55M- SBPҠPAND-NԠAAB. H5A B ADB0A+BϠB(M-'H55' ADB+3SԠà5 SBPBU+ H55DAPASS SASSPASSND? MP+5N-NDƠPASS3. DAAG SZASSSKP'ND'PUNHƠABSASS'Y. SBPNH SBADUPUԠA ANASԠA(H5+ DBBNSBANKSҠìND. SBSԬ SBSSԠҠHԠDUNGPUNHPASS SBNDSBɠPNԠҠUNԠ DAPASSSԠҠPASSAND'ASMB'ND. ASSANDƠPASS3? MPASMBؠYSGϠϠNDƠHPAP DAAG+NϬGԠSԠAG SZASSSSԠPD? MPASMBؠNϠGϠϠNDƠHPAP HԠ3BNDPASS3NDƠPASSHAԠ UDA.+SAԠNԠPASSHŠ SAPASSSԠҠSԠPASS(AG DAAG SZASSABSUŠASSMBY SBHN+5ɠN-GϠHKҠUND.N'S. MPHBSAԠPASS3. ԯDïASàPSSҠ NUMPSBSPNҠSԠPNҽPANDPSN. A SA+SԠPAS0 DAD PA...+6( MPAS H06DBPNҠPNSAԠSԠHƠNUMB SBSGN B SBN NB SB H0DAPNҠSԠHAAҠҠMNAҠ SBG SAM PA+MMA? MPHűYS PABNKBANK? MPHűYS UPDAŠxHA.N(NéANDPSN.PN(é DBD PB...+(9? MP+6YS DB...+(NԠA PA+6PD? SBàYSSԠà PA.A+3''? SBàYSSԠà SZNà(M-6 SZPNҠBUMPPN MPH0 HűDADŠSԠUPPAAMSҠSԯPUNH B PA...+(9? MP+3YS DBàNԠ Ԡ5BB ADBN DASGN SBASNɠNV. ASԠA0 SANS SBSUMPSŠVAU HűSBNU DA Ԡ0G MP+ý DAMN- PABNK MPH+ԠNBANK SZPNҠBUMPPN SBBPKUPSAHҠNԠNN-BANK MPH06 DASUMP(M- SANSԠVAUŠϠNS A SAàSԠý0 MPHű PSSASàHŠ ASҠDA...+(ND.'AS' SBHPɠGϠVAUAŠDNGH MPH30Ҡ SZAVAUŠABS.? MPHPD-Nϻ ADBM+3(-9VA.NSUMP00 SSBSSVA.? MPHPD-YS DAPN SA DASUMP Ԡ300MANA SANàVAU(MP.ϠN SBSBBUMPPKUPDSANDSԠNϠPGA ԠAA SAS SBBUMP SANS SBNUԠUPUԠASɠHAAS A SAS SZN MPSB MPH+(H03DNŬPKUPNԠSAMN PSSɯϠGUPHŠ AMԠ05000 Ԡ00 Ԡ300 PҠDASN+SPAND SZAPSN? MPPYS! DADŠNϠPAND PA+'H'? TnMPHPD SBPҠ(HPD-PANDҠԠ HPDA MPHñ+3 PDA.A+SԠҠ'' DBUMSK+(000 SBHP MPѠҠ SZAA0? MPҠN- DAYS DBNSԠADBGHNSҠYP ADAP-PMMASKҠA̠NSS PBAMSNSҠA'AM' SSYSSKPNԠMASK ADAP-NϠPMSNDMASK DBSUMPSŠBGS SSASԠҠVAUŠB MP+VA̾6 DAD+'V'ADDҠV SBP ѠB ADBNSԠ(H5+ SBNS MPHPD ҠSBPҠ'M'Ҡ-.ɯϠADD. MP SKP ASMBؠA SASMSԠAGҠNϠ HԠBNDƠNMA̠HPAPHŠ ASSMBYSASH. -NDMAN00B ASMBDA+SANDADNPUԠNS.ϠA B0ϠB NҠHŠƠSNDVAKYS SB̠BϠKYBADAG SASDV ASMBA DBSM SZBSMS0NNMA̠SA SB0BɠGϠϠԠƠNԠNMA DBNAMɠSԠUPϠAҠHPAPAGAA DAZ SBSM NP SԠҠPSSBŠMBNDPASS3 DA0BPNԠDVҠN Ҡ03BPUNH SZAAŠHYHŠSAM? DA...+N-SԠSAG3 SASAG A SANà-ϠNŠN SAASMSԠN.SA.G SBSAADPNԠN̠SAMN DABUƠSԠҠ'ASMB'NN̠SM. MANA ADABU+ PAA(55BASMB? MPBYS SҠDAD+'S'ҠUNŠSHŠ SBP HԠ66BN̠SA. ʜ MPASMBSAԠUMP ҠDAؠGԠ'?'DAGNS MPS+ SԠҠN̠PNS(AB̬Ҭԩ BDA...+(5 SAPNҠSԠPNҠ5 SBPKUPGԠNԠHAҠ(B+ PABNKDNŠ? MPGYS SZASSHAҽ0? MPGYS0K PA+MMA? SS-YS- MPSҠ-N- SBBPKUPSKPUHҠBANKS DBY+BGADDҠƠAG PA.AA? MPGN-YS PA.A+B? NB PA.A+5̠? ADB...+YS PA.A+6Ҡ? ADB...+YS PA.A+Ԡ? ADB...+3YS PA.A+? MPGNҠYSGN PA.ƠSƠPN? MPGNҠYSGNҠPN PA.ؠ? MPGNҠYSGN PBY+SKPƠANPNASUND MPSҠҬNϠMAH SAɠSԠPNAG GNҠSZPNҠBUMPPNҠϠNԠHAA. MPB+GϠҠNԠPKUP .ƠԠ06 SԠҠMPAABYAMNGHŠPNS GDBAG(G-3SUMPDϩ DAAG+3ҠAG SZBSSAAGN? Ҡ.A+6N-VSŠҠAGSNG SZASҠAGSԠY? MPSҠNϠ--AANDҠBHNҠ DBAG+PUNHAG(AG0 ADBAG+SԠAG PBàBHN? SS-YS-AVŠSAGAN SASAG-N-AҠSAG ADBAG+ԠAGSԠ? SZBSS MPSҠҠ-NϠUPUԠPN SAPBUƠAҠDUNԠNPUNHBU SAPBU+0BAҠ'M'UN SԠADDVҠADD.N'SA'ƠNSSAY DB̠GԠSAGBS SZBSSSNKYBAD? MP+3N SASNYSSԠSN. SAND.NPUԠADDSSNB(̠G SBSDV ƠABS.ASS'Y.MVŠ }HFBAƠAVAABŠ MMYϠSAԠƠANPSSS (ҠNԬԬMANDAH.MAS DANGԠAAVA̠ҠABSASSMBS DBAGGԠASSBYAG SZBSSAABŠASSMBY? MP+3YS.. SA05BSԠABSAƠAVA̠MM. MP+3ANDGԠU PA05BƠ.SASԠK? MPҠNϬ'SNGSPGHԠN DA05BGԠAƠAVAABŠ MANA ADA06BA-ANנNA NAANנSYMB̠B̠NGH AҠSYMB̠ABŠ DB05BAƠSYMB̠B̠ϠB SBSM Ԡ0SԠϠZ SKP H ?P 24247-80003 A S 0122 4K ASSEMBLER FLOATING POINT             H0101  MV:MVSASNGƠHAAS NMMY. NKAG:AN.ƠHASϠMVŠ BDSNANADDSS ̠SBMVŬɠ +SUŠADDSS +UN ADD.UŠƠSASNԠ 'SMP.ƠSASNGHԠ MVѠNP SZAHAAҠUNԽ0? MP+ SBPҠYS'M' SZMV MPMVѬɠԠH MANAGԠHAҠUN SAGM+3-A Ԡ60SԠUPDSNAN Ԡ30 B SBGM+ DBMVѬ Ԡ60SԠUPSUŠ Ԡ30 B SBGM+ SZMV $DBGM+NנMVŠHŠHAAҠ Ԡ065_0B DAɠBɠϠA Ԡ0Ž0? Ԡ.A ANDUMSK+MASK ҠBSƠANANSHA.ϠBŠMVD. SAGM DBGM+DSԠϠB Ԡ065_0B DAɠBɠϠA Ԡ0Ž0? Ԡ.A ANDUMSK ҠGM HA.NנNAHHҠHAƠƠDS.D. SNŠ'SNGHԠŠMAYHAVŠϠAŠ Ԡ0Ž0? Ԡ.A SAɠAϠB Nנ'SNKBUMPUNSANDPD SZGM+ SZGM+ SZGM+3 MP$ MPMVѬ SKP NS:ADDNYϠHŠSYMB̠ABŬנHAU NKAG:AYPŠBVAUŠNNPUԠ (UPUԩSYMPN.ƠHAS.SYMNNYA ̠SBɄNSҬɠ +ҠN('S'Ҡ'DD'PND +NMA̠N NSѠNP SAرSAVŠYP SBNAM+3SAVŠVAU SBSYMK MPNS AND...+6GԠàVAU DBNG SZBSSNNYP? MPNSYN NSѱPA.AAB? MPNSàYS PA.+B.P.? MPNSàYS DAD+9'N' MPNS NSYDBؠGԠUNԠ B SSBSSNYPN? MPNSGN SZAYS-SԠNAADY? MPNS-YS-'DD' DANAM+3 SAVA0ɠSԠVAUŠNϠNY DAرGԠYP DB0̠YPŠϠ'B' MPNSѱ NSGPA...+3? MP+YSS DAD+NϬ'DD' NSؠSBP MPNSѬɠUԠH PAرAŠBH'S? MPNSѬɠYSAKŠ'DD' MP-5GϠϠҠPN NSDAر ԠAƬA ADANAMŠYPŠNSԠD SANAMŠƠNY DBNAM ADBMP+ SBVA0SԠM DA06BAAVA̠MM. MANA ADASYMɠSԠҠSYMB̠B ADAMP+V SSA MP+3N DAD+'S'ABŠV MPNSؠ'S' DANAM+3MVŠVAU SAɠUP DANAM DB0ɠADDNY(M+6 SBSYMɬɠϠSYMB PAVA0 MPNSؠ NA SZSYM MP-6 NSàDAàYPŠϠ'A' AƬAƠPSN ҠMP+ SAMP+ɠSԠNYPNԠYP NSؠSZNS MPNSѬ SYMK:KUPSY&MB̠ABŠNYנHAU NKAG:NPUԻSYMPNϠHASSYMNA ƠNAM..UPUԻAYPŬBVAUŪ ̠SBSYMKɠ +UND.SYMB̠Ԡ +NMA̠N SYMѠNP ANAZŠNAM( SANAMŠ0ϠSԬBANKS DABNSHҠDS SANAM+ SANAM+ DASYMPN.ƠHAS ADA..M+5(-6 SSA MP+5 SYMB̠ϠNGPNԠDAG.SԠNGH5 DAD+'SY' SBP DA...+(5 SASYMP DASYMP(M-5 DBSYMP+ADD.ƠSԠHA. SB+ DBNAM Ԡ00MBNB SBMVŬ NP(SԠAԠ- DASYMPN.ƠHAS. ASSŠNUMBҠ NADSNNY- SAMP+NϠMP+ NA SAMP+3ANDMP+3 ԠAƬA A ADANAMŠSԠNUMBҠƠDS SANAMŠϠMPAŠSԠDS DA05BNH SASYMɠSYMBABADD.UN PDANAM SAVAUSԠNAMŠADD.N. DASYM SAMP+SAVŠAƠSYMB.B.NY DASYMɬ Ԡ003SZASS MPSYMѬ SAؠSAVŠSԠDƠNY ANDUMSK+(03 PANAMŠMPAŠSԠDS MP+6 A AND.+3(BMASKN.DSNNY ADASYM P3SASYMɠBUMPADD.N MPP DAMP+(M-6 ADASYMɠSԠMԽA- SAVA0ƠSYMABNY SZSYMɠBUPADDҠNҠ(M+ DASYM PAVA0NDƠNY? MP+YS SZVAUN DASYMɬɠMPAŠNԠHAS. PAVAU MP-MPAŠNԠ DDAMP+3NԠUA ADAMP+SԠAƠNԠNY MPP3HKNԠSYMABNY DAؠGԠSԠNYD(M- ԠAƬA AND.+3(B DBSYMɬɠBVAU SZSYM MPSYMѬ SKP ASN-NVԠANASɠNUMBҠϠBNAY -NY:ANANSPSNƠSԠHA. B(ҩNANSN.ƠHAS. B(UPPҩ:MD(Bש 0A̠ DDMA̠ ANGDMA̠ -Ԡ:+ҠUNNGA̠ HAAҠҠV. +NMA̠UN MDŽ0ҠVAUŠNA MDŽVAUŠNAANDB ASNPNP SASYMɠHAҠPS.NSYM DAMSK AND MANA SADNԠHAҠUNԠNDN DA AƬŬAƠPSNHŠMD ANDMSK SAMDŠSԠMDŠNMD ASANGҠNVSN? MPASNNϠ-GϠϠANGPԠUN SBNGGϠϠNGҠNVSN NMSZASNPSԠUPҠNMA̠UN MPASNPɠ ANGPNԠPSSNGSASHŠ ASNA SAVA0AҠNUMBҠSS SAVA̱ SADPAҠD.VנS A SADSGSԠSGN(-Ҡ+ SANVԠSԠAGҠSGNNSԠPSN. DAA+ SADNԠSԠDNԠ00000B DNSBNVԠNVԠAHAA MPDN3NNDGԠUN SZDNԠBUMPA.UN DADP SZAV? MPDVYS DAVA0NϬMUPYVAUŠBY0 DBVA̱ANDADDHŠNנDG ŬB A ŬB AVAUŠMSH SZSS SSAV? MPDVYS ADAVA0 ADBVA̱VAUŠMS5H SBHKADDϠ'A'ƠŽ ŬB AVAUŠMS0. SZSS SSAV? MPDVYS ADBNVԠNAYADDASԠDGԠϠNUM SBHKƠVBUMPVA̱ SSAV? MPDVYS SBVA̱SAVŠUNԠVAU SAVA0 MPDN DN3PA+6DàPN?(NNDG.MNVԩ MPDN5YS PA.A+3''? MP+3YS ؠDAD+3N-GԠ'' MPV+GϠϠҠDAG SZDNԠASԠHAA? MPDHPNϠ-GϠϠPSSPNN DN5DADN SSASSSHSASNDD.PN? MPؠYS A SADNԠAҠUNҠҠDGSAҠ. SS DVSZDPBUMPVנDGԠUN DNSZDNԠASԠHAA? MPDNN-GԠNԠHA. SPà PSSPNNԬƠPSNԬAND NSHHŠNUMB(NMAZŬé DHPDBDN MBSSBNBSSASADàPNԠPSN? BNϬAҠB ADBDP SBDPSԠUNԠUNԠҠDàPNN DADSG SANàSAVŠSGNƠMANSSA ANϠ-NNUŠPSSNG DBS PB.A+3SPNNԠH? SBNGYS-VAUAŠ ADADPA+VנHAS SAdDPSԠVAUŠƠDMA̠PNN DAVA0 ҠVA̱ SZASSSVAUŠ0? MPUNDƠYSNMA̠ԠMASN DA.3SԠP3 DBVA̱ SPà NMAZŠHŠNUMB(NVA0VA̱ SPà DHPSAPSAVŠBNAYPNNԠVAU DAVA0 DHPSSASBԠ50? MPDHP3N-GϠSHԠHMA̠BAK ŬB A SAVA0 A ADAP MPDHPSUBAԠMP DHP3ŬASHԠVAUŠGH B SAVA0SAVŠHŠUNԠVAU SBVA̱ SZP NP DADP ŬSZASS MPDHPؠDNŠƠPNNԽ0 SSASPNNԠPSV? MPDHP6NϠ-GϠϠDVDŠBY0 ADA..MYS-MUPYNUMBҠBY0H SADPDPDP- DA.+ ADAP SAPPP+3 DAVA0 ŬASHԠVAUŠGH B ŬA B ADBVA̱ SBHKV? ADAVA0 MPDHPGϠBAKϠ-NMAZ DVDŠNUMBҠNVA0VA̱VA̲BY0 DHP6NA SADPDPDP+ DA..M+ ADAP SAPPP-3 SPà GϠϠDVDŠBY0HŠ SPà DAVA̱ SBDVD SBHK SAVA̱ DAVA0 SBDVD ADBVA̱ SBHK MPDHP DVDNPDVDŠBY0UN SANVԠSAVŠVAUŠϠBŠPSSD DVDŠ'A'BY0 SUԠNAANDB(ASԠSG. DAM+ SAMP-6ϠMP DBNH A ŬSBHKҠANHҠADD ADANV A B SZMPA̠DN? MP-5NϠ-NNU ݑ ADB0 MPDVDɠԠHŠDVDŠUN SԠUPGDMA̠SUԠ ҠԠMNVSN DHPؠDAVA̱ DBVA0 ADA.00BUNDHŠASԠSGN.D SZSKPƠŽ0 ŬNBBUMPB SSBSSVA0<0? MP+N BҬŠYSԠASAPҠƠ SZPBUMPPNN NP ANDUMSK SADSGAҠנBSƠ'A'ANDSAV SZNàSSGNƠMANSSA+ MPDHҴNϬGϠPSSNG.MANSSA DHԠSBVA0 DAP DBP AND.6AҠҠBS SZAPSVŠV? PA.6MAYBŬNG.V? PB.6MAYBŬSPN-00B? MPDH3YSASϠHҠVS.. DAPGԠHŠPNNԠAGAN A̠PSN ANDMSKAҠBS5- ADADSGADDNHŠASԠSG.PA UNDƠSAVA̱SAVŠASԠSGN.PAԠƠVAU DBVA̱GԠD DAVA0GԠMSԠSGN. MPNMGϠUԠHŠNMA̠ SPà DH3SSBSSSԠAYANUND? MPVؠN AYSSԠN.Z SAVA0AҠVA0 MPUND DHҴMANASAԠGNGMPMN MB SZSKPƠŽ0 ŬNBBUMPB ANDUMSK SADSGSAVŠASԠSGNANԠBS ŬB DA..M SSBSSASN0.APҠƠ? MP+N ADAPYS SAPSUBAԠMPNN. SS BSԠB MPDH HKҠVנM'B' HKNP SZV? ŬNAYSBUMP'A'AҠ'' MPHK NVԠ-NVԠANASɠHA. ϠBNAY. -MDŠ0A̻SŠDMA̠ -+UNƠNN-NUMBà NVԠNP DASYMɠGԠPS'N.ƠHAA SBGàGԠHAA SZSYMɠBUMPPS'N DBMD SZBA̠NVSN? DB..M+NϠ-SԠҠD.NV ADB..M+6ƠA̠B-H ADAM+-60B+A SSASVAUŠSSHANZ? MPNVҲYS ADB0NϠ-ADDNMAؠDGԠVAU. SSBSԠAVADNUMB? MPNVؠYS-GϠϠԠHN.NA. NVҲDASԠNϠ-SԠҠ+Ҡ- PA+3PUS? MPNVҴYS PA+5NϠ-SԠMNUS? ASSYS MPNVԬɠNϠ-AKŠ+ SADSG NVҴA SZNVԠHASSGNBNNUNDB? MPؠYS-''ԠMASN NVؠSANV SZNV MPNVԬ NG-NVԠASNGƠASɠ HASϠANA(MDŽ0 ҠDMA̠NG. -ƠHҠHANAADNGSGNҠ NUMBҠSUND''ԠSAKN -'V'ԠƠV. NGNP B SBDSGSԠSGNAGҠPUS SBNVԠSԠSԠHAҠAG(ҠSGNHK NNYA0(USDҠHŠNA̠VAU. NGSAVAUSSAVŠUNԠVAU SBNVԠNVԠAHAA MPؠҠ-NNNUM DAVAUS ŬA SBVSԠSԠMSAҠV DBMDŠNϠV SZBMDŠA ADAVAUSNϠ-5MSA('SDMA̩ SBVSԠSԠ(Ҡ0MSAҠV ADANVԠNϠ-ADDNNנDG SZV? MPVؠYS SZDNԠASԠHAҠNSNG? MPNGNϠ-GԠANH SZBSSMDŠA? MPNG6YS-K PAA+SNUMBҠ+Ҡ-36 MPNG6YS-K SSASSGNNG? MPVؠYS-V NG6SZDSGSSGNNGAV? MANAYS-MPMNԠA. MPNGɠ SԠZϠBԠAND''BԠҠVנ VSԠNP AMSNYVAUŠƠ'A' SZSASSV? MPVSԬɠNϠ-UN VؠDAD+GԠ'V'ҠҠDAGNS SBP MPASNPɠAVŠVAҠ HDHPAP(AABŠPN3MAH96 PSSMMNDAANS MѠSBSPN SASԠSԠSԠ(U0. DBPN SBMSYMSMAS.SYMB̠-SԠSYMPSYMN SBSPN+-AGNPN DBPBU+0B SBS DBS PB+MMA? MPHMYS PBBNK MPHM'SBANK PB̠ԠPAN? SS(? MPHN+ɠҠSԠPASS SBBPKUPSKPBANKS SBMP+SAVŠPN SBMSYMMASUŠMNGH SAMPSAVŠNUMBƠHAS SBSPN+-AGNPN DAS PA+ԠPAN? SS? MPHN+ɠSԠPASS SAPK DBMP DAAS ADB..MNGH-ϠBG PA5.A+A? SSYS-SKP ADB+NϬSԠҠD. DAMP+ SBASN MPHNɠҠ ADAPBU+0BBUMPMMNNGH SAPBU+0B NS HM3DA...+SԠýMMN DBSVAUŠϠB SBNSҬɠNSԠSYMB NPҠ DAPK PABNKBANK? MPHNɠYSԠϠHA3 PA+MMA? SSYS SBPKUPGԠNԠHA SBNDSSԠҠMNAN MPM+ HMSZPBU+0B SBPKSAVŠS MPHM3 PSS''DAAN PSBSPNҠSԠPNҠϠPANDPSN DBPN SBMSYMS SBSPN+ DBNҠVAUŠϠB DA...+3(ԠND. SBNSҬɠGϠϠNS MP+Ҡ SZNҠBUMPԠN DAS SBNDSSԠҠMNAN MPP+ PSS'N'DAAN NPDA.0B SANGSԠ'N'P.AG SBSPNҠSԠPNҠϠPAND NPDBPN SBMSYMSPS'NPNҠϠNԠNYPN SBSPN+ DA.0B B SBNSҬɠGϠNSԠAN'N'PN NP DASԠ-AGNPN SBNDSSԠҠMNAN MPNP NDSNPSԠҠMNAN PABNKƠMNԠҠ MPHA55 PA+MMA? SSYS MPHN+ɠNϬҠ SBBPKUPSANϠNԠHA. MPNDS HA55ŠA SANGAҠ'N'PàAG MPHNɠԠHŠMNYP. AHMàMAϠPSSҠ AԠSBSYMK SSҠN(UNDƩ MP+NMA̠'N DAD+0'UN' SBP BSԠB0 ADB+'SB'NSUNMASK SBNS DA...+3(A SBBàPUNH DB+'' A MPA MVŠNԠNAMSADDSSϠPUNHBU. ƠUNDNDPNԠDAGNS. HNPNP DA.0BҠ"N"YPŠ0B SANG DAM(-55NSD DB+5(000BDSPҠNY SBN A SANG MPHNP SPà PUNHBNAYUPUԠҠAABŠPGAMS (NAMNԬANDԠDSNY UPUԠ'NAM'D NMPDA+ SANԠSԠBKNԠ9 DA+ SAPBU+SԠ.DN.DŠ00 SBPSԠUNS DAPNN DBBS SAPBU+6SԠMANPG.NGH SBPBU+SԠBASŠPAGŠNGH SԠҠ'G'NԠBYNDMANPGAM DBBS+(GS MANA ADABS+(GS SSASSSGVAUŠG? SBPBU+6YSHANGŠMANPG.NGH SBPNHGϠϠPUNH'NAM'D UPUԠ'N'D SBHNPGϠϠ'N'MVůSԠN. PSS''DH DAN PA... MPHN+3ɠԠNNҽ DAM+(-00NSD DB+(00B3DSPҠNY SBN MPHN+3 SPà NԠNP SAN.SAVŠSYMB̠UN SBBS+SAVŠDUNԯNY DA05BAAVA̠MM. SANVNVGADDҠƠNY NAZŠҠNԠBNAYUPUԠMAGŠ HرDASAD SABSBSDSԠADDҠNBN. DAA+00000B DBNG SZBNԠP? AҠYSSԠà SAPBU+SԠà DA+ SANԠSԠBKNԠ3 DA0 N. SANàNàDUN HزDANV SZASSNDƠAB? MPH9YS AƬAƠN-PKUPSYMB̠YP B SBBS+AҠAGҠB.P.SԠNNԠ. DBNG AҬA SZBSSAŠŠPSSNGHŠNԠABŠNYS MPH3N... AҬSAA̠HKҠN MPHر HNAҬAҠN AND...+6(ADDNY ADANV-NGH SANV-ϠNV MPHز PSSNDƠABŠ H9DAN PAN.ANYSYMBS? SSN SBPNHGϠϠPUNH A SANԠAҠDUNԠƠNϠSYMB̠U MPNԬɠ H3SASSSHSANԠNY? MPHNN.. A̬A̠SԠҠNA̠UN SASS MP+3 AҬA MPHN H5SZNàNDƠBND? MP+3N SBPNHGϠϠPUNH MPHر PAŠUNԠԠҠNԠSYMB̠NϠBNAYD DANV MANA SAHMV5G.ADD.ϠMVŠNK DBBS DABNS SABSɠSԠDS.AAϠBANKS SZBS SABS DA+AVŠASԠHAƠƠAS SZBS-DSԠD0 ADABS+NSԠB.P.̠AGƠPSN SABS DANV SBMAB̠MVŠHASϠBN SZPBU+BUMPN.ƠNSN. DASUMPN.DSNSYMBàNY ADANV SANVUPDAŠNV(SYMB̠PNҩ ADA..M DB0ɠNYVAUŠϠB DANG SZASSNYPN? ADBBSɠNϬSԠԠDNA SZA SZBS SBBSɠSŠNϠD SZBSUPDAŠBS(DPNҩ DAN ADABS+ SANԠUPDAŠDUN MPHز HرANDHSMSKAVŠANBS NLHSSAB.P.AAB? SZBS+YSSԠHŠAG SZAHASNYPNԠBNDND? MPH5YSGϠPUԠNϠHŠPUNHBU NԠҠDAGNSàUNŠ DANVɠNϬGԠHŠSYMBϠADDҠҠDAG. SBMBNKMVŠASYMB̠ϠBUƠHUBU+ DA...+(5 SASNSԠNנSAŠNGH DAD+9'N' SBPҠPNԠҠDAG. DANV A MPHN+ SPà HSMSKԠ0000ҠANBԠMASKU ؠU ND N @R 24247-80004 A S 0122 4K ASSEMBLER FLOATING POINT             H0101  SAԠPASSHŠ SBN MP+ HA3SBSA DAD PA. MPHB00ϠND ADA..M+-3 SSA MPHA6үBG PAPDG+3(BNAM? MPHA63YS. ADA..M+(-3 SSA'M''N'Ҡ''? MPHA60 PA...+'U'? MPHA56ϠU SBAB̠SԠҠAB̠D DADŠPDŠNDA PA...+6( MPHA5ϠAS Z PA.6BNGҠAH(HADAũ? MPHA39GϠNSHHSNSUN PA...+5(6AHMA? MPHA60YS ADAMDG+3(-0 SSAԠҠD? MPHA0YS. Ԡ003BSS? MP+5ϠBSSP HA3BANAϠADDϠPN NMNԠPGAMN.N. ADAPN(HA3B+ SAPN MPHA3 PSSBSS SBHPɠVA̠PAND(M-5 MPHA3 DABϠA MPHA3B+ PSSAHMàMAϠ HA3DA+6(PD SAMP+ DBDàƠMP+(ҩ SBSYMP+.ƠSYMB DA...+3(ԠàD SASYMPN.ƠHAS. DBPASS SZB MPHN+6ɠϠ'A'UN DBNҠ.NUMB SBNSҬ SS-SKPN SZNҠBUMPԠN HA39DA...+( MPHA3B+ PSSԠANDDà HA0A SANB SAMP SBSPNҠSԠPNҽPANDPSN PKUPANDAMNŠAHAAҠ SBPKUP(HA0+ASHA PA+|MMA? MP+YS PA+6PD? MPHA PA.A+3''? MPHA PABNKBANK? MPHA+5YS MPHA0+(HA SԠԠPԠAGSKPBANKSҠNԠHAҠ A(M- SAMP SBBPKUP MPHA+3 ԠPԠSԠҠNUMBҠUSNGBH.ANDŠ HADAMP SZMP SZASS SZNB(HA+3 MPHA0+(ϠHA NDƠNUMàPSUD-PPSSҠ SZNB(HA+5 DANB MPHA3B+ PSSASà(GԠVAUŠƠN HA5DA...+('AS'ND.ҠHP SBHPɠVAUAŠPAND MPHA3B SZA MPHA55-NԠABS.VA. ADBM+3(-9 DASUMP SSBSKPƠDS MPHA3B+ HA55SZPNҠԠ DAD+6'M' SBPҠϠPNԠҠDAG. MPHA3 PSSUPSUDϠ HA56SBHPɠVAUAŠPAND MPHA3Ҫ PA...+3(Ԡ? DA...+(5SԠҠNN-PNH SAMPN SBMP+ Ԡ60BNB SBMSYMSGϠϠMAS.SYMB̬SԠSYMPSYMN DAMP DBMP+ SNDAB̠ϠABŠ SBNSҬ NP MPHA3 MNԬԠANDAHMAϠP. HA60DBAG SZBSSABS.ASS'Y? MPNSԬɠUMPϠUN HA63DAD+3''(-5HA6- MPHA55+ϠP BҠGPàUMPS  HA6SBNSԬɠGϠϠSUBUN MPHA3 PNԠҠUNԠAԠNDƠAPASS SPAŠϠBMƠPAGŠ N.NŬҠANDSUNŠNS SԠN̠SAMNԠAG- PNP DANANYS? SZASS MP+6NP. SBBNNɠGϠNVԠ DAAS+ DBAS+ MP+3 'N'ҠSUP DABNS DBD+5'N' SAB+ SBB+3 DA.+(NϠƠHASNMSSG. DBBBUƠADD SBPNԠPNԠDAG. DBN A SANàNAZŠNŠUN SAASMSԠN.SA.G NBSZBNDƠPAG? SB0BɠNϬԠPAG A SANSԠҠN. SASNSԠS.N.N MPP BDƠ+ ASà0000S M-PPSSҠ MҠA NAZŠAGS SANà0HNŠAPPAS SAMBS-ƠBG BS-ƠAG SAMP+BS-3ƠSGƠASG SANSVUSDϠAUMUAŠHŠD SAAG SASԠAҠHAҠS SAԠHŠҠAHNנDŠ ƠDANSԠUNPAKHŠM-PD HŠMAԠS:BS-3ƠSGƠASG0ƠH BS-ƠBGƠAG0ƠNH BS-0AUA̠BԠD AND+AԠP-D SAAѠSAVŠԠ(+ DADŠHSSHŠGUPNUMB. Ԡ300MAKŠSU''SBGGҠHANHŠAS ADAAGA(ASԠGP-(PSNԠGP SSA MPϠSUNŠSK ƠPSGPSGϠŠANHANGŠԠANDMAYBŠK DAD PA.+9( MP+HANGŠҠGUPANDPD MҠDAD SBPҠUN MPHPD DA.+(5HANGŠHŠGUP(M- SADŠϠ MVŠBS-5ƠPDŠϠBSAND-0 DAA AND+6SԠABB SASAVŠNB. ҠA ԠMVŠϠBSϠAND5-3 AҬSAMVŠBԠ0 NABԠ. Ԡ3AƬAҠAŠԠ3ϠBS-0 ҠPUԠNHŠABB MP+ ϠDAD SAAGSԠASԠGPϠPSNԠGP DANSԠHKGSҠNSSNY AND+3GԠBS- ҠM PA+3ƠUA̬H'SAGS MPMҠNNSSNY. SAMNנGSϠGS HSŠHKGUPNSSNY DANS AND+BS-3 ҠMP+ PA+ƠUA̠HŠAŠDS MPMҠMDNԠGUPS. SAMP+ DAAѠHKҠA'' Ԡ003SZASS SZN Nנ''HŠDŠNϠUNԠDŠSϠAҠ ҠNSV SANSV DASN+GԠHŠNԠHAAҠ ADA...+(3 SAPNҠPNSAԠPSNNԠPD SBPKUP PABNKƠSϠŠAŠDN. MP+ PA+MMA? MP+ MPM SBPKɠGԠHŠNԠPDŠ MPHPD MP ϠNSHSԠŻƠUSDANDNASGSԬADD0 ϠHŠD. DAMP+(M- ԠAƬA Ԡ003SZASS Ҡ.+(0B DBN Ԡ6003SZBSS A ҠNSV SANS MP_HPD SԠUN:PAAMS: ƠA0ҠBàDŠ A0U̠NŠ ANϠNS.NϠ'N. ANϠNSUN A3MMNԠ ANϠS.NUM.NϠSA. A5PNԠN̠SA. SѠNP SBSAVB SASAVB+ DBPASS PB...PUNHPASSAN? MPSѬɠYS- PA...+N̠SAMN? MPHɸYS SZBSSPASS? MPSѬɠYS DAPDG+3(0 DBB SBSMGϠAҠSԠ0HASƠϠBU. ASà DASAVB+ PA...A? MPHɸYS PA...+A? MPHɸ0-YS- DBSAVBNVԠHŠNSUN SBB+9 DANS Š0ϠŠBԠҠԠNV. SBBNN DBD+5(B+6SŠNS.NϠBUҩ SBV NVԠ'N.NҬSŠNϠBUƠ Hɸ0DAPN Š0ϠŠBԠҠԠNV. SBBNN DBD+6PNBUƠN DA...+(5 SBMVŬ ABS-AS DASAVB+ PA...+3A? MPHɸ NVԠSN.N.ANDSŠNϠBUƠ HɸDASN ŠϠŠBԠҠDàNV. SBBNN DAAS+ SAB DAAS+ SAB+ ADUSԠSA.NGHҠHA(ҠSSBUҠ DASNSAMNԠNGH DBSAVB+ PB...+(3SԠAMAK? MPH9YS.. HɷBGԠSHS BҬB BҬB SBPNԠSGNƠBSH3 SABMSSAGŠNGH ADAM+(-53 ҠPN SSASSSKPƠNGHKANDS3 DB.+(5NGH iADB...+3(+ SB0BϠA HɸADA.+(6NGH+6 DBB SBPNԠPNԠAN MPSѬɠ H9DBD+3(B+SUPϠSԠAMMN SBMVŬɠMVŠԠVҠAAYS DƠBU DASNGԠSA.NGH ADAM+NGH-6 MPHɷ SKP VAUAŠHŠPANDD PAAMS: AMDҠPAAMҠ ɽNDԠGA̠ ýAҠҠHDGA(ɯϩ 0NϠMDҠANBŠUSD 'AS'PDŠ BMASKUSDƠɠҠàMD. NNYAMD.PAAMҠ(ɬì0NNŬASé BMASKNSSAYҠɠҠàMD ҠDƠàSAԠƠ5DAҠAA HѠNP SAAG SBA AҠHPPAAMSNԬìSGNSUMPM.. DA...+(5 DBҠSAԠƠAҠAA DA...+(5 SBSM NP SZSGNSԠSGN+(++-- SBSPNҠGԠPANDPN SZASS MPHDҪNϠPAND SBGàGԠHŠSԠHAAҠ PA+3PUS? MPHD3+YS PA+5MNUS? MPHD3YS MPHD3+3N PSSANASSK'' HD6ANASԠA PASYMPSHŠ''AN? SSYS-GD MPHDNϠ-'SAN ADABASƠSԠAUNԠANYP. DB.A PBAGSHSANABSUŠASSMBY? AYSSԠA0. DBPNPGNNҠϠBG MPHD50+ HPPPSSNGHŠ HD30DAPK PA+SԠPKҠA MPHD36MMAGϠϠSԠMDS PABNK QMPHD0BNK BNBSԠ'SGN'Ҡ+ PA+3PUS? SSYS PSSSGNSHŠ HD3BSԠ'SGN'Ҡ- SBSGN(HD3+ SZPN PKUPNԠSԠƠHAS.NBUҠ SBBPKUPGԠPSNƠNԠNN-BNKHA.HD3+3 SAPK SBPASNSAVŠPNҠҠASNN SBMSYMSMAS.SYMB̬SԠSYMPSYMN ADAPN SAPN SԠҠNUMàҠSYMBàSԠ DAPKSԠHAҠƠSԠϠAҠSNG DBS SBPKSAVŠHA.ҠAҠS PA+ASSK? MPHD6Ϡ''P ADAM+(-5 Ԡ0SSASS MPHD50PSSHŠSYMB ADAPDG+3(0 SSA MPHD50PSSHŠSYMB PSSNUMàSԠHŠ DBSYMP ADB..M DAASԠSBASԠ- PA.A+HA? MP+ ADB+0BSԠ'B'Ҡ'ASN'UNŠ DAPASN SBASN MPHѬɠҠ MPHD6+AGNANSHŠVAU SԠNMANNGMMAƠGA -USSAGANDA -ƠàҠɬSԠԠBԠNNSU.USNGAѠASMASK HD36DBAG SZBSSSMMAGA MPHD3-N- PB...+'AS'? MPHD0-YS- SZPNҠPNԠϠHA.NGMMA SBBPKUPSAHҠNN-BANK SBMSYMMASUŠSYMB PA...HAҠSYMB? MP+3YS HD3SBPҠPAND MPHD0 DAS PABNKBANKMNA? MP+-YS- MPHD3-N- DAASԠHAҠϠA DBàGԠHŠANAG PAAGɯ? PB.+3YSSPANDNA? MPHD3ҠƠNϠ''Ҡ''ҠԠP DANS ҠAѠSԠɠҠàB SANS DAD PA+SƠҠ?(5 (MPHD3-YS- HD0DASUMPSUMϠAHPMNAN DBD SSASԠSUMP MPHD+ DA SZASSAB? MPHD.N. VAUŠSAABŬSԠҠVADY DAԠS.N. SZASSAND? MPHD+-YS- PA...G'̠? SS-YS-SKP MPHDNϬ. PB...G? MPŠYS HKҠUNDYPŠҠD(ASϠDŽB ADBMDG+(- SSBD<3B? MPHDYS ADB..M+5-6 SSBSSDž0B? MPHD.. ŠDA PA...+3NA? MPHDYS NMA̠ԠMHPHŠ HDDA SAà.DŠNAAND DBSUMPSUMNBGN SZH MPHѬ HDDBMSԠҠMŠHAN''M ADB.+(6 NG.PANDKƠABSPDŠ PB.+5('ABS'ҠԠM? MPHD-YS- HPҠԠHŠ HDDAD+6'M' SBPҠҠPN MPHѬ PSSSYMBàMHŠ HD50SBSYMK MPHD60 SBSAVBSAVŠVAUŠUNDNB(HD50+ AND.+6GԠ'NYPŠMAG. SZASSàVAU? MPHD6-N- SԠҠNA̠U(ý5 PA...+ý5? DA...+3YSSԠҠ DB SZBSS SA PAàSԠҠSAMŠ.YP SSSAM MPHD-DN DBSGNUPDAŠSGNSAVҠHŠ ADB SB HD6DASAVBVAUϠA SZMUPDAŠNϠƠMS DBSGN SSBSSGNNGAV? MANA-YS-MPMN ADASUMP-UPDAŠUNNNGSUM SASUMP W=MPHD30 HD6DAD+0'UN'ԠHŠNUNDNDSYM. MPHD+ϠP SPà PDŠANDPSUD-PABŠ PԠԠ0505005006000ABSADA Ԡ050066000053060300ADBA Ԡ055060300055603000AүAS Ԡ0560600005560300ANDAS Ԡ053003060500ASïB Ԡ50605005605000BүBS Ԡ560500350BSBSS Ԡ5030653005030600AB Ԡ50363300506500ůA Ԡ5066005500600B Ԡ563053050300 Ԡ550653000530030MA Ԡ5506000556300MBM Ԡ5603M NDƠM Ԡ50065000500656000PAPB Ԡ0500053000DïD Ԡ5060360056500AN DƠNP Ԡ506056005600BND Ԡ506035005530AU Ԡ506055005305005B DƠP Ԡ505000060500500HԯA Ԡ60500650065050000BMA Ԡ5606650056066600NANB Ԡ5506300053550636000үSZ Ԡ555006600053066000MPSB Ԡ60066000600666000DADB Ԡ6505006000650MBNAM Ԡ500300503500NP Ԡ50500600530AG DƠGP Ԡ5050066005500B DƠP Ԡ5060603005050603300A̯A Ԡ5060605005050605300B̯B Ԡ5350005505550600SSSZ Ԡ550650005506550300SïSS Ԡ550650005506500SASB Ԡ55530055553030SïSS Ԡ5530650055306600SSASSB Ԡ550600055066000SASB Ԡ555000055305000SïS Ԡ55300055306500SϯSZA Ԡ553066005506000SZB Ԡ5000B DƠBP Z Ԡ5306000006000DVDD Ԡ3506000650560000DSԯMPY Ԡ05360000005350000AS̯AS Ԡ636000006350000S̯S Ԡ5600000550000̯ Ԡ30060500030530605060ADDV Ԡ355006050033060500MPSB Ԡ35030050035030050د Ԡ5550030000506505000SPAM N Ԡ53006DV DƠHA3 Ԡ006DD DƠHA3 Ԡ35006DS DƠHA3 Ԡ650506MPY DƠHA3 Ԡ0NDƠAB SKP PK:PDŠABŠKUP-ADYHAU ANGSUN:̠SBPKɠ +ҠUN +NMA̠UN UPUԠVAUS:VAUŠNAG.AND'D' NS.MAԠNBAND'NS' PѠNP SBBPKUPGԠPDŠPSN SBSN+ A SAMP+6AҠMP+6 DABGϠAG SBGAGԠPDŠADDSS SB+ DA...+(3 DBNAM+ SBMVŬ NPMVŠGNH DBNAM+AƠPDŠB DAɠ(M+ NB PAMP+5HKSԠHAS. MPK ʠADB...+( DA SZANDƠAB? MP-N DADҠԠSHŠ SBP MPPѬɠ KDAɠHKASԠHAҠƠPD ANDUMSK PAMP+6MPAŠ MP+PDŠUNDSKP MPʠNԠUNDYNԠNY DA ANDUMSK+SԠAD NB DB SBNSԠNSUNMA SADŠVAUŠƠD SZP MPPѬ BNAYϠASɠNVSNUNŠ ANUMBҠϠBŠNVD Š0NVԠϠA̠ ŠNVԠϠDMA̠ BNѠNP DBV+3NԠàƠBU SBSYM B SBVAUSSAԠUPP DBA+3(30060SԠBUҽASɠ0'S SBAS SBAS+ SBAS+ SZSԠŠBԠ(0A̠DMA̩ MPDàNVSN DB..M+5(-6 SBDN Ԡ66ŬA SAVAU A ASGNBԠSSHDG SBDPK DAVAU Ԡ3AƬA SAVAU AND...+6(MASKDG SZDNԠND MP-6 MPBNѬ DPKNP ADASYMɬ SZVAUS MP+ ԠAƬA SASYMɬ MPDPK SASYMɬ SZSYM A SAVAUS MPDPKɠ DB..M+(-3D.NVSNN SBDN DBMDG SBVA0 DBPDG SBVA̱ DB0AHFBϠB SZSYM DPҠASS NA(M+3 ADBVA0ɠUNԠN.ƠMSGԠ0N SSBSS MP-3 ADBVA̱ɠ<0NSŠVAU SBDPKPAKDG SZVA̱ SZVA0 SZDN MPDPҠUNҠ0N- DA SBDPK MPBNѬ SKP H AR 24248-80001 C S 0122 RTE/DOS RELOCATABLE LIBRARY-FLOATING PT             H0101 =16 ? JMP CASEA YES ADA K7 SSA,RSS X>=.125 ? JMP CASEB YES ADA K8 SSA,RSS X>=.00005 ? JMP CASEC YES CASED LDA X LDB X+1 ABS(ANS)=X CKNEG STA X LDA SGN SSA WAS X<0 JMP COMP YES LDA X JMP EXIT COMP LDA X JSB ..FCM EXIT JSB $LIBX DEF TDB DEC 0 CASEA LDA K1 LDB K1+1 ABS(ANS)=1 JMP CKNEG CASEB LDA X LDB X+1 JSB .PWR2 DEF D1 JSB EXP NOP STA F STB F+1 F=EXP(2*X) FAD K1 STA T STB T+1 T=F+1 LDA F LDB F+1 FSB K1 FDV T JMP CKNEG ABS(ANS)=(F-1)/T CASEC LDA X LDB X+1 FMP A STA F STB F+1 F=A*X FMP F STA F2 STB F2+1 F2=F**2 FAD D STA T STB T+1 T=F2+D LDA C LDB C+1 FDV T FAD B FMP F2 FAD A STA T STB T+1 T=A+F2*(B+C/T) LDA F LDB F+1 FDV T JMP CKNEG ABS(ANS)=F/T M5 DEC -5 K7 DEC 7 K8 DEC 8 K1 DEC 1. A DEC 5.7707801636 B DEC .01732867951 C DEC 14.1384114018 D DEC 349.6699888 D1 DEC 1 TDB NOP DEC 12 NOP SGN OCT 0 X BSS 2 O T BSS 2 F BSS 2 F2 BSS 2 END ASMB,R,B,L,F NAM .RTOR,6,0,0,0,0,0,0,0 ENT .RTOR EXT ALOG,EXP EXT $LIBR,$LIBX * * REAL TIME EXECUTIVE RE-ENTRANT LIBRARY ROUTINE * * * CALL.. * * JSB .RTOR (RESULT FLOATING) * DEF BASE (FLOATING) * DEF POWER (FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES BASE**POWER. * .RTOR NOP JSB $LIBR DEF TDB LDA TDB+2,I STA BASE ISZ TDB+2 LDB TDB+2,I STB PWR ISZ TDB+2 DLD PWR,I PICK UP POWER STA PWR STB PWR+1 DLD BASE,I PICK UP BASE STA BASE STB BASE+1 LDB PWR SZA,RSS BASE=0 ? JMP BZER YES SZB,RSS POWER=0 ? JMP PZER YES SSA BASE<0 ? JMP FAIL YES LDB BASE+1 JSB ALOG JMP FAIL+2 FMP PWR JSB EXP JMP FAIL+2 JMP EXIT ANS=EXP(POWER*ALOG(BASE)) BZER SZB SSB POWER<=0 ? JMP FAIL YES CLB NO JMP EXIT ANS=0 FAIL LDA ASCII LDB ASCII+1 JSB $LIBX DEF TDB DEC 0 PZER LDA E1 ANS=1 LDB E1+1 EXIT JSB $LIBX DEF TDB DEC 1 ASCII ASC 2,04UN E1 DEC 1. TDB NOP DEC 7 NOP BASE BSS 2 PWR BSS 2 END ASMB,R,B,L,F NAM TAN,6,0,0,0,0,0,0,0 ENT TAN EXT .PWR2,..FCM,.IENT,.CHEB,FLOAT EXT $LIBR,$LIBX * * REAL TIME EXECUTIVE RE-ENTRANT LIBRARY ROUTINE * * * CALLING SEQUENCE.. * * DLD X (FLOATING,RADIANS) * JSB TAN (RESULT FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES TAN(X) * TAN NOP JSB $LIBR DEF TDB FMP FOPI STA X STB X+1 X=4*X/PI FAD K1 JSB .PWR2 DEF DM2 JSB .IENT JMP FAIL  JSB FLOAT JSB ..FCM JSB .PWR2 DEF D2 FAD X STA X STB X+1 X=X-4*ENTIER((X+1)/4) FSB K1 STA FLAG SSA X<1 ? JMP ELSE1 YES LDA K2 NO LDB K2+1 FSB X Y=2-X BOTH1 STA Y STB Y+1 FMP Y FMP K2 FSB K1 JSB .CHEB DEF COEFF FMP Y STA Y STB Y+1 Y=Y*CHEBY(2*Y**2-1) LDA FLAG SSA X<1 JMP ELSE2 YES LDA K1 NO LDB K1+1 FDV Y JMP EXIT ELSE1 LDA X LDB X+1 JMP BOTH1 Y=X FAIL LDA ASCII LDB ASCII+1 JSB $LIBX DEF TDB DEC 0 ELSE2 LDA Y LDB Y+1 EXIT JSB $LIBX DEF TDB DEC 1 ASCII ASC 2,09OR DM2 DEC -2 D2 DEC 2 FOPI DEC 1.273239545 4/PI K1 DEC 1. K2 DEC 2. COEFF DEC 1.4458E-8 DEC 2.013766E-7 DEC 2.804816E-6 DEC 3.906637E-5 DEC 5.4417038E-4 DEC 7.586101578E-3 DEC .10675392857 DEC 1.7701474227 OCT 0 TDB NOP DEC 8 NOP FLAG OCT 0 X BSS 2 Y BSS 2 END ASMB,R,B,L,F NAM EXP,6,0,0,0,0,0,0,0 ENT EXP EXT .IENT,FLOAT,.PWR2 EXT $LIBR,$LIBX * * REAL TIME EXECUTIVE RE-ENTRANT LIBRARY ROUTINE * * * CALL.. * * DLD X (FLOATING) * JSB EXP (RESULT FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES EXPONENTIAL OF X. * EXP NOP JSB $LIBR DEF TDB FMP L2E STA F STB F+1 F=X*LOG2(E) JSB .IENT JMP FAIL ERROR IF EXPO(F) >=15 STA INT INT=ENTIER(F) JSB FLOAT STA TMP STB TMP+1 TMP=ENTIER(F) LDA INT ADA M124 SSA,RSS F>=124 ? JMP FAIL YES, ERROR ADA E244 F<-120 ? SSA JMP ZER YES, ANS=0 LDA F LDB F+1 [ FSB TMP STA F STB F+1 F=F-ENTIER(F) FMP F STA F2 STB F2+1 F2=F**2 FAD A STA TMP STB TMP+1 TMP=F**2+A LDA B LDB B+1 FDV TMP STA TMP STB TMP+1 TMP=B/TMP LDA C LDB C+1 FMP F2 FAD D FSB F FSB TMP STA TMP TMP=-F+D+C*F**2-TMP STB TMP+1 LDA F LDB F+1 FDV TMP FAD HLF ISZ INT INT=INT+1 NOP JSB .PWR2 DEF INT JMP EXIT ANS=(.5+5/TMP)*2**INT FAIL LDA ASCII LDB ASCII+1 JSB $LIBX DEF TDB DEC 0 ZER CLA CLB EXIT JSB $LIBX DEF TDB DEC 1 ASCII ASC 2,07OF M124 DEC -124 E244 DEC 244 A DEC 87.417497202 B DEC 617.9722695 C DEC .03465735903 D DEC 9.9545957821 L2E DEC 1.4426950409 LOG BASE 2 OF E HLF DEC .5 TDB NOP DEC 10 NOP INT BSS 1 F BSS 2 TMP BSS 2 F2 BSS 2 END ASMB,R,B,L,F HED <> NAM RSFLG,7 * ENT RSFLG,#RSFG EXT .ENTR * * * THIS ROUTINE IS USED BY CERTAIN BASIC DEVICES SUBROUTINES TO * SET A FLAG(#RSFG). THIS FLAG IS INTEROGATED BY 'CALSB' WHICH IS * THE BASIC SUBROUTINE PARAMETER PASSING MODULE. IF THIS * FLAG IS SET BY CALLING THIS ROUTINE THEN BASIC WILL * PERFORM A SAVE RESOURCES TERMINATION. IF THIS ROUTINE IS NOT * CALLED (WHICH IS THE NORMAL CASE) THEN BASIC WILL PERFORM A * SERIAL RE-USABLE TERMINATION. * * THE ROUTINES THAT NEED TO CALL THIS ROUTINE ARE DEFINED AS * THOSE THAT STORE VARIABLES LOCALLY OR MODIFY THEMSELVES IN * ANY WAY WHAT-SO-EVER. AN EXAMPLE OF THIS WHERE A USER CALLS * A DEVICE SUBROUTINE TO STORE A DEVICE LOGICAL UNIT NUMBER * LOCALLY FOR USE BY SUBSEQUENT SUBROUTINE CALLS. * * RSFLG NOP JSB .ENTR DEF RSFLG CLA,INA SET FLAG FOR SAVE RESOURCE 640STA #RSFG TERMINATION JMP RSFLG,I * #RSFG DEC -1 END g6 B P 24248-80002 B S 0122 RTE/DOS RELOCATABLE LIBRARY-FLOATING PT             H0101 r ASMBҬB̬ HDMAG.APŠUNNUSS NAMMAGP NԠƬҬԬDSA̬SԬSB Ԡ.NҬ SKP UN.NPUN-NŠNUMBҠPAAM. ƠNPNYPN. SB.NҠ"A"HN(PAAM. DƠUN. DAUN.ɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AƬŬAƠSHԠHŠ""BԠϠ5. MPƬɠUN. SPà .UNԠNPUN-NŠNUMBҠPAAM. ҠNPNYPN. SB.NҠ"A"HN(PAAM. DƠ.UN DA.UNԬɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. ANDB0000SAVŠHŠҠBSNY. ŬSZAŠHŠANYS? AŬAҠYSSϠMAKŠ"A"NGAV. MPҬɠNϬUN. SPà U.5NPUN-NŠNUMBҠPAAM. ԠNPNYPN. SB.NҠ"A"HN(PAAM. DƠU.5 DAU.5ɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AƬŬAƠSHԠHŠ""BԠϠ5. A̬ŬA̠SHԠHŠ""BԠϠ5. MPԬɠUN. SPà UNɠNPUN-NŠNUMBҠPAAM. DSNPNYPN. SB.NҠ"A"HN(PAAM. DƠUN DAUNɬɠADHŠUN-NŠNUMB. SASԠGA̠UN SBàɯϠSAUS DƠ+5 DƠSAàSAUSUSԠD DƠS DƠSA.DUMMY DƠSA.DUMMY AU00000BDNSHŠADDSSƠ"A". SBASŠHŠGN"A"ҠUN. AŬAMVŠHŠMDŠ̟AG. MPDSɠUN. SPà UN.ƠNPUN-NŠNUMBҠPAAM. A̠NPNYPN. SB.NҠ"A"HN(PAAM. DƠUN. DAUN.ƬɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AҬŠSHԠHŠ"A"BԠϠ5. MPA̬ɠUN. SPà U.0NPUN-NŠNUMBҠPAAM. SԠNPNYPN. SB.NҠ"A"HN(PAAM. DƠU.0 DAU.0ɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AƬAƠSHԠHŠ"S"BԠϠ5. A̬ŠSHԠHŠ"S"BԠϠ5. MPSԬɠUN. SPà U.NPUN-NŠNUMBҠPAAM. SBNPNYPN. SB.NҠ"A"HN(PAAM. DƠU. DAU.ɠADHŠUN-NŠNUMB. DBSBDADNDSANDBYD SBSA.GϠUŠHŠUS. MPSBɠUN. SPà SA.NPNYPN. SZASHŠUN-NŠZ(0? SSANϠ-SԠNGAVŠ? MPSA.ɠYS-UN ANDB0000SAVŠHŠUNԠNUMBҠNY. BU0000BDNSHŠADDSSƠ"B". ҠBNUDŠHŠPAND. SASԠSUPHŠUSԠD. SB DƠ+3 DƠD DƠS MPSA.ɠUN. SPà3 BGN"A̠SAG". SPà SAàDà3 DŠDà3 DSDԠ000600 SBDԠ000500 SԠԠ0USԠD SPà NDƠ"A̠SAG". SPà ND ASMBҬB̬ HDANSҠPAAMS NAM.NҬ6 NԠ.NҬ.NP Ԡ$BҬ$B ?SPà ANGSUNS: SUBUNŠA: SBSUB DƠ+(N+ AG AG . . . AGN UYUNS: PAMBSSM SUBҠNP SB.N DƠPAM PVGDUNS: PAMBSSM SUBҠNP SB$B NP SB.NP DƠPAM 3-NANԠUNS: PAMBSSM SUBҠNP SB$B DƠDB SB.NP DƠPAM SADB+ SPà .NPNP SB$B NP DA.NP SA.N DAD- MPNN .NҠNP SB$B NP A NNԠSAA DB.NҬɠBSUBҠ-M SBDS MBBM-SUBҠ- ADB.NҠBM+ ADBAàBM-Ҡ-NANԠҠPV SBMPS ADBDSԠBSUBҠ+ ADBMN DAɠAA̠+ SAS DA0ɠGԠUNADDSS SAɠSSNDԠBԠNUNAD. SAUNSAVŠҠ-NANԠPGS DASŠAA MANAA-A̠- ADASŬɠAN+ SA MANAA-N- ADAMPSAM-N SSA DBMPSBMN(MN+ SZ.NҠBUMPUNAD. MBNB PNBSZBSSDNŠ? MP SZSŠADVANŠPN DASŬɠGԠPAAM NDA̬ŬSAASԠB MPND SADSԬ SZDS MPP NDҠDA0 MPND ԠDAUN SB$B DƠ.N MNDà- DSԠBSS SŠBSS MPSBSS AàBSS UNBSS ND ASMBҬB̬ NAM.UN60000000 NԠ.UN Ԡ$BҬ$B xԠ.ZB A̠MŠUVŠPVGDBAYUN NҠHBנPAԠƠAANGPNԠNUMB. UNHAPNNԬBנMANSSA. .UNNP SB$B NP SB.ZBDŠDS$BҬؠAS DƠ DAMVŠAGUMNԠϠA ANDMASK̠GԠPNNԠBS MBSUBA ADB0M MBB SAAҠPSNSԠSGN.ƠMNUS ҠSPPUԠNABS. ԠSB$B DƠ.UN MP.UN MASK̠Ԡ3 SPԠ600 ND ASMBҬB̬ NAM.PAK60000000 NԠ.PAK Ԡ$BҬ$B Ԡ.ZB A̠MŠUVŠPVGDBAYUN NҠHASGND3BԠMANSSANAB. ԠHAANGPNԬNMAZDNUMBҠNAB. A:SB.PAK ؠBSS(NANSPNNԩ ҠAN. SBSSԠSDVŠSYSMY SAPANYS!SԠB DAԱ0ɠADAHASɠD PANƠSDŠAN-D MPNKYSGϠHKNŠUN PAԠSDŠAMD MPMGϠSԠSAUSϠP--M PANSDŠAAAGŠUN DBN3SԠBϠ-3ҠSA PBN3ƠNGϠϠSA PSBSA̠SA SBԱ0ɠSԠBNԠϠSPA̠HAA DAԱ MSZASSANYMSN̠? MPPNԱNϬGϠPN SSANŠSPANG? MPSPAŠ-YS B SBԱɠAҠMSN SS SPAŠDAN ԠSAԱ0ɠSAVŠDŠҠSA MPUPԠUPUԠHAA SA̠NP SBԱ0ɠSAVŠSA̠NGH ANASԠA ҠԴɠADDNNNSƠԠ SAԴɠSAVŠNԴ DANƠADAN-DHA PBNSSA̠NGH- MPUPԠYSUPUԠAN-DNSD PDAMASKADADŠHAA MPUPԠUPUԠHAA SA̱SZԱ0ɠASԠSA̠DN?? MPPNϬNNUŠNԠSA DAԴɠS AҬŬAԴ SAԴɠD MPSA̬ɠUNϠNNA̠PSSNG NKDAԱɠNMN NANS SAԱɠSPAD DBMSԠSA̠NGHϠ SBSA̠GϠSA SBNSGϠNMNԠNŠUN MPP+NNU MSBPMSԠSAUSϠP--M DBN3SԠSA̠NGHϠ3 MPPGϠSA PMNP ASԠN SA5ɠUN DAԴɠGԠSAUSD ҠB00SԠBԠ6N SAԴɠSŠNSAUSD MPPMɠUN NSNP DAԴɠGԠSAUSD ANDMSKMVŠBԠ6 SAԴɠSŠSAUSD DA5ɠGԠUNԠN NAPSNANDNMN SA5ɠSԠNנNŠUN PA.59ASԠNŠƠPAG?? MPSKPGϠSŠƠN-DϠUPU PA.60 MPYZYSSԠϠP--PAG MPNSɠUN YZSBPMSԠSAUSϠP--M DBN3SԠSA̠ҠAUϠ SBSA̠GϠDϠSA MPNSɠUN SKPSBSԠSA̠MSYSM?? BSSSԠB0HNSKP MPNSɠUN SBSA̠GϠUPUԠAN-D MPYZUN PNԱPAԱɠBUҠADDҠ0 MPMP̠-YSGϠSԠANSMSSNG PAԱ3ɠHAҠNDؽ0? MPUԠ-YSGϠUPUԠAAGŠUN DAԱɠGԠUNԠHAҠBҠADDSS SZԱɠNDؠҠNԠHA. ŬANVԠϠDADDSS DAAɠGԠUNԠD SZSSANDPSNPPҠHA. AƬAƠNϠBS ANDMMASKƠHGHBS PANSHAҠAUN MPSAҠYSSKPSS PAMSHAҠAMD MPSAҠYSSKPSS PANƠSHAҠANŠD MPSAҠYSSKPSS PAB̠SHAAҠAB DAP3YSSԠSϠ̠UPUԠAD SAB ADBM0HAҠGA SSBSԠ DAB00A"" ADBM00ƠҠAS SSBSSASɠSԠ ADAM0UPPҠAS SAҠSAԱ0ɠSԠHAҠҠYPŠHK SZԱ3ɠASԠHA? MPUPԠNϬSKPSS PAAנYSԠA? MPMP̠YSSKP- RPAB00SASԠHAҠA"" DABANKYSADBANKҠBPҠPN UPԠҠDA AA0 AA0 SñSà0 PNԲSZ.5 MPԴ MP̠DAԱ3ɠGԠMANNGHAAҠUN DBԱɠGԠUSҠ.HAүDUN SSBSSUSҠ.ҠDS? B00Ԡ00-YSNVԠSDUŠ(AS SAԱ3 DA.3GԠHA.UNԠM MBSSBNBHAS..? .59Dà59ŬSAAҪ MBNB-YSSԠNGAV ADBA MBSSBNBSS.UNԠM? BNB-YSSԠUNԠM ADBԱ3ɠSUBAԠSDU MP3 UԠSAԱ DA6ɠGԠMP.MN SAԱɠSԠԠ DANADAAAGŠUN MPԠGϠUPU NGNP ҠA SA3SԠNANS. SAϸ ADAB00ADDϠNSҠSϠ06 SAϱS SA6N SAAA SAAA ADAB00ADD00ϠNSҠSϠ0 SAϲSԠNSàNS ADAB000ADD000SϠNSҠ03 SAϷS SASñN ADAB3000 SA5SԠNàNS ADAB000ADD000ϠNSҠSϠ0 MPNG SSԠS P+ƠSYSMY P+ƠNԠSYSMY SSԠNP BS ADBUABɠ SBD56SYSM BƠNS ADBD56 ADBABGUA PBԱɯ SSDV SZSSԠNMNԠUNADD MPSSԬɠUN AA0 B̠U..+ AנԠ3 NƠU..+0NŠD ԠԠPAGb640 NUN NŠԠ3000 B000Ԡ000 B3000Ԡ3000 MSKԠ6 DAԠ000 P3Ԡ3 .3Dà3 N3Dà-3 N3Dà-3 NDà- M.0Ԡ-0 M0Ԡ-0 MUB M00U0B AU0 BU B00U..+ MU..+5 MU..+6 MU..+ ABU.+5 UABU.+ PGU.+33 3U.+69 ԴU.+0 5U.+ 6U.+ ԷU.+3 9U.+5 Ա0U.+6 ԱU.+ ԱU.+ Ա3U.+9 ԱU.+0 ND u6 j x 24263-80001 C S 0122 2100A HP2605 CONSOLE PRINTER DIAGNOSTIC             H0101 U ASMBAB̬Ԭ HDNSŠPNҠDAGNS G SUP 605NNSŠPҠDAGNS B 0 SԱNAŠS NAŠMNG 33PPŠPN PNԠHSPA̠DS 55MDMNG 66YPNG YPŠ-PNԠBAK -HZNA̠AGNMN 0SUPPSSNNҠMSSAGS SUPPSSA̠MSSAGS HAԠAҠMPŠSԠY 3PNUNԠS SUPPSSҠHAS 5HAԠAҠAHS AU0 BU MPNƠNAZ GB DƠN MPS BSS DƠAM BSS DؠDƠؠUNҠH SҠà0àNAZŠNUP Ơ0 DAM60 SANN SBSGGԠSHGS MPSS SUNŠN SSѠSBSGGԠSHGS ANDBԱ0 SZASSSUPPSSNN-ҠMSSAGS? SBMSNϠ-NDƠSԠMSSAG SBSG ANDBԱ3 SZAPNASԠSԠ? MPSSYS SBSG ANDBԱ5 SZAHAԠAҠAHSԠ? HԠBYS DAS PANASԠSԠ(SԠ MPSS-YS MA-(S+ SAMPSP-SHԠUN ADAN MANA SAMSԠSHԠUN SBSGGԠS.G. AҠP-SH SZMPS MP- SSAҬSANDNԠSԠP.B MPSS3 SZMS MP-3KPSNG SBSG ANDBԱ SZAHAԠAҠMPŠSԠ? MPDجɠYSHA SSDBM SBMS SBSG MPSS SS3DAMSԠMSԠND ADAN SAS SLBSG ANDBԱ0 SZASUPPҠNNҠMSS. MPSSYS DADSUPNԠSԠUPMSS. ADAS DAA SBMSS SSDADԠSԠS ADAS DAA SAS DADSANSҠϠS ADAS DAA MPA ؠHԠB MPS NAŠS Sà0àNAZŠNUP SƱSƠ0SԱ SS HԠBSKPAҠS ƱƠ0 SS HԠBSKPAҠ SñSà0 HԠ3BƠDDNԠAҠҠSàDD NPNԠAUSŠSKP SSSS0 SS HԠBSSAUSDSKPHAGA SƲSƠ0 SS HԠ5BSKPAҠS SòSà0 SS HԠ6BSƠDDNԠSԠAGҠS NPAUSDSKP SSSS0 HԠBSSAUSDNϠSKP NPHAGS DBNɠSԠNPUԠNUPԠS B3B0àPVNԠSàϠNAB.K SñSà0 ñà0 SƠ0UNNNUP S3SƠ0 NPMUSԠNԠNUP NP SòSà0 NPMUSԠNԠNUP NP DADNNKNUP SABϠNԱ SƴSƠ0 NPMUSԠNUP NP HԠ0BADϠNUP ԱƠ0UNƠNUP òà0 DADNԠS SABNUPԠNK BSԠDAAB BB0HZ-S A AA0 ANDHD SZA HԠBDAABUҠҠHZS BDAABU BB0HN-S A AA0 ANDHD PAHD SS HԠBDAABUҠҠHN-S S3Sà0àSԠKţNABŠ B BB0 SSBSHUDNԠBŠS HԠ3BKNABŠƠS NPBYSàҠNPU MPSSѠUN NԱNPNUP Ơ0UNƠNUP DADNŠNK SABNUP SƠ0UNNNUP NPSHUDNԠNUP NPƠAGBUҠGԠS MPԱUN DNDƠNԱ ҠNUPԠNDNY AGBUҠNԠSԠBYNUPԠAKNDG NŠNP Ơ0UNƠNUP HԠ6BAGBUҠADϠGԠS MPԱUN DNŠDƠN NAŠMNGS SDADNNKNUP SABϠNԲ DAMàMŠM SAM à0àNAZŠNUP SƠ0UNNNUP DANϠS A3A0UPU DAHSP AA0 S5Sà0 S5Sà0 MPԲNϠNUP SZMҠSKPAGNԠSԠű MP-3 ԲƠ0UNƠNUP DADN SAB SB MPSSѠUN ԲSZSàҠNϠNUPԠű3 MPԲ NUP NԲNP SZS SZS DAM ADAMנM SSAϠASԠ? MPԲYS SZS DAM ADAHM SSASSϠSנ? MPԲYS Ơ0UNƠNUP DADN SAB MPSSѠUN DNDƠNԲ MàNP36MS MNP.MS HMNP.MS PPŠPNԠS S3SBND DAM3PS SAPSàPSNUN DAHSPPS SASHSANGHA 3SBHԠHAAҠU SZPSàSKPNASԠPNԠPSN MP3 SBNDNŠD DAM3S SAPSàPSNUN DASH PAHSASԠHAA? MPSSѠYSUN NANMN SASHSAԠHA. MP3NԠN 3PAHSASԠH.(NSUNũ? MP33YS NANԠHAA MP3 33DAHSPSAԠSUN MP3KPPNNG PNԠHSPA̠DS SSBND DAM3PSԠPSNUN SAPS DAHSMSԠҠASŠD ԴSBH SZPSàASԠPSN? MPԴN SBND SBNNϠSԠNŠDHUԠ. DAM3SԠUP SAPSàSNDN DAHSM Դ3SBH SZPSàASԠPSN MPԴN SBND DAM0ϠUPUԠSԠ0SP.D SAPS AҠNU̠D Դ5SBH NANԠD SZPSàSԠHŠ0-H MPԴ5N NASKPDŠNנN SBHԠUPUԠ̠K DAMҠHŠNԠDS SAPS DAHSϠNUŠH̠N Դ6SBH NANԠD SZPSàASԠHA MPԴ6N DAHD̠UPUԠD SBH DAHŠUPUԠ SBH SBND MPSSѠUN ԴPAHNASԠNSUN MP+3YS NAN MPԴUN DAHSM MPԴUN ԴPAHNASԠNSUN MP+3YS NAN MPԴ3UN DAHSM MPԴ3UN SSM 24? ? SSA,RSS ADA HEAD1 YES - HEAD 1 OR HEAD 3 SSA,RSS  STA HD/SC IF >24 SAVE NEW SECTOR # LDA DADDR GET FIXED DISC BIT AND DB100 LDB HD/SC LOAD HEAD AND SECTOR SZA ADB HEAD2 ADD HEAD 2 BIT STB HD/SC SAVE HEAD/SECTOR ADDRESS LDB D.10 SET RETRY COUNTER STB FAIL FOR 10 TRIES LDA TRK# OUTPUT TRACK NUMBER .DDR1 OTA DC FOR SEEK OPERATION STC DC,C LDA SEEK IOR DRIVE CLC CC CLEAR PREVIOUS COMMAND OTA CC OUTPUT SEEK COMMAND STC CC,C TO COMMAND CHANNEL SFS DCD+ JMP *-1 LDA HD/SC OTA DC OUTPUT HEAD/SECTOR STC DC,C TO DATA CHANNEL SFS CC WAIT FOR JMP *-1 SEEK RECORD COMPLETE LDA DMACW OTA 6 OUTPUT DMA CONTROL WORD CLC 2 II LDB CORE OUTPUT BUFFER ADDRESS OTB 2 STC 2 LDB WORDC OUTPUT WORD COUNT OTB 2 JSB STAT CHECK STATUS LDA READ. (A) = READ COMMAND LDB CORE READ OPERATION REQUESTED? SSB,RSS LDA WRITE NO: (A) = WRITE COMMAND IOR DRIVE CLC CCC OTA CC OUTPUT READ/WRITE COMMAND SSB,RSS IF OUTPUT, PRESET STF DC DATA CHANNEL FLAG SSB  IF INPUT, CLEAR STC DC,C THE FLAG AND SET CONTROL STC 6,C START DMA STC CC,C START READ/WRITE OPERATION SFS CC WAIT FOR READ/WRITE JMP *-1 TO COMPLETE STF 6 TURN OFF DMA JSB STAT CHECK STATUS CLC DC CLC CCC CLC 6,C JMP DISCD,I RETURN * *** CHECK DISC STATUS * * STAT NOP STC DC,C SET TO CHECK DRIVE 0 CLA SET TO CHECK DRIVE 0 IOR DRIVE OTA CC OUTPUT STATUS COMMAND CLC CC STC CC,C TO COMMAND CHANNEL SFS DC JMP *-1 LIA DC GET DISC STATUS CLC DC SLA,RSS ANY ERRORS? JMP STAT,I NO ISZ FAIL TRIED 10 TIMES? JMP .DDR1-1 NO TRY AGAIN DRV1 EQU * HLT 11B YES - IRRECOVERABLE ERROR JMP *-1 JMP DNTRA,I FOR INITIALIZATION DNTRA DEF DINTR SPC 5 * *** NON-SLEEP RELOAD ENTRY POINT * ORG 3000B CLB CLEAR CLC 0,C ALL ISZ 1 DEVICES JMP *-2 JSB CLD,I CLEAR DISCS JMP *+1,I DEF LDR6 CLD DEF CLDSC * ** DISC STATUS ROUTINE * DISST NOP P4 CLC DC CLC CC STC DC,C, CLA IOR SDRIV OTA CC STC CC,C SFS DC JMP *-1 LIA DC CLC DC CLC CC SLA,RSS JMP DISST,I NO ERRORS STA SDST SAVE STATUS XOR FSEEK FIRST SEEK? SZA,RSS JMP DISST,I YES LDA SDST NO - SOMETHING ELSE IS WRONG LSR 6 SLA,RSS IS DISC READY? JMP DISST,I YES LDA .+15 LDB DBUSA JSB TTY35 DISC IS NOT READY JMP CONTR,I CONTR DEF INCOM DBUSA DEF *+1 OCT 5104 ASC 7,ISC NOT READY FSEEK OCT 40001 SDST OCT 0 SDRIV OCT 0 * * BUFFER FOR TRACKS * TRKTB BSS 36 HED MAG TAPE DRIVER CMND EQU 0 DATA EQU 0 XMTD NOP STA BUFL SAVE BUFFER ADDRESS STB BUFA AND LENGTH MTDM1 EQU * JSB XSTIN GET STATUS SLA CONTROLLER BUSY? JMP XS.1 YES, CONTINUE XT.13 CLC DATA CLEAR CONTROL BIT XT.16 CLC CMND - ON BOTH CHANNELS LDA SL0 NO XT.1 OTA CMND SELECT UNIT # JSB XATCK INSURE TAPE UNIT IN ATUO LDA XMTD,I FETCH OPERATION CODE AND DB7 USE LOAWER 3 BITS CPA DB7 STATUS REQUEST? JMP ERR.1 YES, STATUS IN B STA XABS NO LDA DB110 ISSUE CLEAR JSB XCMND COMMAND LDA XABS ISZ XMTD RETURN POINT ADA XBASE LOOK UP PROCESSOR IN TABLE JMP 0,I CALL PROCESSOR * XBASE DEF *+1,I COMMAND PROCESSOR ENTRY DEF XREAD POINT TABLE DEF XWRTE DEF XWEOF DEF XREW DEF XPOS DEF XRES DEF XGAP SPC 5 5 XRES LDA DB105 REWIND/STANDBY CCE,RSS XREW LDA DB101 REWIND COMMAND CCE JSB XCMND INITIATE COMMAND EXECUTION JSB XSTIN GET STATUS JMP XIT1 * ** TAPE POSITIONING ROUTINE * * ENTR WITH COMMADNS STORED IN BUFA AND BUFL * XPOS LDB BUFL GET FILE COUNT LDA DB200 JSB XABS SET FLAGS, COMMANDS AND OUNT JMP XP.1 # FILES = 0 DO RECORES XP.5 CCA,SEZ,CCE,RSS JSB XP.2 BACK WARDS MOTION JSB XSPCE FORWARD SPACE JMP XP.5 REAEAT UNTIL FILE ISZ XCNTR FINISHED? JMP XP.5 NO, LOOP LDA BUFL RAL,CLE,SLA,ELA ISZ BUFA SLA,ARS SKIP JMP XIT XP.1 LDB BUFA PROCESS RECORDS CLA JSB XABS SET FOR FWD/REV RECORD SPACING JMP XIT NO RECORD, EXIT XP.0 CCA,SEZ,CLE,RSS JSB XP.2 YES, GO CHECK FOR "BOT" JSB XSPCE FORWARD SPACE SL0 ALR SELECT UNIT 0 COMMAND ISZ XCNTR FINISHED? JMP XP.0 NO, LOOP * XIT ISZ XMTD JSB XSTIN GO LOAD THE MT STATUE ERR.1 ISZ XMTD XIT1 LDA BUFL XT.4 CLC CMND CLEAR MT COMMAND CONTROL BIT JMP XMTD,I XP.2 NOP JSB XSTIN GET STATUS RAL SSA,RSS MT UNIT AT SOT? JMP XP.2,I NO, RETURN SEZ YES, FILE SKIPPING" ISZ XCNTR CNT=-1? JMP XIT1 NO, TRIED TO CORSS SOT JMP XP.1 YES, DO RECORD SPACING SPC 3 XABS NOP SET UP ROUTINE SSB,RSS ADA .+3 FORWARD SPACE COMMAND SSB IF # IS . 0 SET FOR ADA DB41 BACKSPACE COMMAND STA XWNEC CLE,SSB,RSS GET -ABS(#) FOR CNT CMB,CCE,INB,SZB IS THE MT TO BE MOVED? ISZ XABS YES, EXIT TO P+2 STB XCNTR JMP XABS,I XSPCE NOP CLE,SSA IS TAPE MOTION BACKWARDS JSB XEOTC LDA XWNEC JSB XCMND SPACE RAL,SLA EOF MARK? ISZ XSPCE YES CCE,SSA NO, IS THE TAPE AT SOT? JMP XIT1 YES JMP XSPCE,I NOPE XSTIN NOP GET TAPE STATUS XS.1 LIA CMND LDB 0 (B)=STATUS ALF,ALF (A)= STATUS SHIFTED 8 BITS JMP XSTIN,I * ** WRITE 4" BLANK TAPE * XGAP JSB XWNEC CHECK FOR WRITE RING JSB XEOTC CHECK FOR END OF TAPE LDA DB15 COMMAND JSB XCMND JMP XIT * ** WRITE END OF FILE * XWEOR LDA DB41 BACKSPACE RECORD COMMANDP JSB XCMND EXECUTE COMMAND JMP RWEOF XWEOF JSB XWNEC CHECK FOR WRITE XT.12 CLF DATA RWEOF LDA DB215 WRITE FILE MARK CODE JSB XCMND RBR,SLB,RBL PARITY OR TIMING ERROR CO OCCUR JMP XWEOR YES, GO BACKSPACE JSB XEOTC NO JMP XIT II SPC 3 XWRTE JSB XWNEC CHECK FOR WRITE ENABLED JSB XEOTC CHECK FOR END OF TAPE JSB XCNTR GET NEG # WORDS ADA .-1 ADD 1 FOR RECORD LENGTH STA XWNEC SAVE WORD COUNT LDA DB31 WRITE RECORD COMMEND JSB XCMND GO INTIATE WRITE SEQUENCE XT.9 STC DATA,C INITIALIZE DATA CHANNEL ADB BUFA BUFFER ADDRESS - 1 LDA BUFL FIRST WRITTEN WORD IS BUFL XOUT INB STEP BUFFER POINTER XT.20 SFC CMND JMP XT.5 XT.2 SFS DATA WAIT FOR JMP XT.20 DATA FLAG XT.3 OTA DATA,C WRITE RECORD HEADER WORD LDA 1,I GET NEXT WORD ISZ XWNEC DONE JMP XOUT NO, LOOP XT.5 CLC DATA INITIATE END OF RECORD SEQUENCE XT.10 SFS CMND WRITE COMPLETE? JMP XT.10 NO, CONTINUE JSB XSTIN YES, GET STATUS RBR,SLB PARITY OR TIMING ERROR? CLE,RSS YES JMP XIT NO LDA DB41 BACKSPACE JSB XCMND LDA DB15 JSB XCMND GAP JMP XEOTC+1 RETRY SPC 3 3 XREAD JSB XEOTC READ LDA DM3 SET RETRY STA XSPCE COUNTER TO -3 JSB XCNTR GET NEG # OF WORDS STA XCNTR XRERD CCA,CCE ADA BUFA BUFFER ADDRESS -1 STA XWNEC CLA STA XABS INITIALZE RECORD LENGTH COUNTER LDA DB23 REA D CHARACTERS CODE JSB XCMND INITIATE READ RECORD SEQUENCE XT.11 STC DATA,C INITIALIZE DATA CHANNEL LDB XCNTR LOAD NEG WORD COUNT JSB XWAIT WAIT FOR 1ST WORD STA XABS SAVE RECOTD LENGTH JSB XWAIT WAIT FOR NEXD OR EOR ISZ XWNEC STEP BUFFER POINTER STA XWNEC,I *** THIS WORD CHENGED *** INB,SZB,RSS END OF BUFFER? RSS END OF BUFFER OR NO COMPARE JMP XLOOP SZB END OF BUFFER JMP MTDER NO, NO COMPARE XT.50 CLC DATA YES, START EOR SEQUENCE XT.8 SFS CMND READ FUNTION COMPLETE? JMP XT.8 NO JSB XSTIN YES, RESTORE STATUS SSA WAS NA =EOF" READ?  JMP XIT1 YES, RETURN TO P+2 RBR,SLB,RBL PARITY OR TIMING ERROR RSS YES JMP XENDR NO NOISE ISZ XSPCE HAVE WE TRIED 3 TIMES? CLE,RSS NO JMP XSHRT YES LDA DB41 BACKSPACE JSB XCMND JMP XRERD TRY AGAIN XSHRT LDA BUFA RECORD CMA,INA && ADA XWNEC < 5 ADA DM5 SSA WORDS? JMP XREAD YES JMP ERR.1 NO * * RECORD < BUFFER LENGTH, GET TAPE LENTGTH IN USER'S BUFFER ** XENDR LDA XABS GET TAPE RECORD LENGTH SZA,RSS IS LENGTH ZERO? JMP NOISE YES, ASSUME TAPE NOISE LDB BUFL GET UER BUFFER LENGTH STB BUFA SAVE USER REQUEST SSA JMP XEND2 2 SSB ARS JMP XEND1 * XEND2 SSB,RSS ALS CMA,INA XEND1 STA BUFL SAVE TAPE LEGTH FOR USER SSB,RSS USER LENGTH CMB,INB YES ADA 1 NO CMB,INB SSA,RSS RECORD LENGTH > USER REQUEST? STB BUFL YES, STORE USER REQUEST LENGTH LDA BUFL LDB BUFA GET ORIGINAL REQUEST SSB CMA,INA YES, NEGATE ACTUAL LENGTH STA BUFL NO JMP XIT CONTINUE READ PROCESSING SPC 3 XWAIT NOP XLOOP SFC CMND END OF RECORD? JMP XT.50 YES XT.46 SFS DATA NO, NEXT WORD READY? JMP XLOOP NOP XT.43 LIA DATA,C YES, LOAD DATA WORD JMP XWAIT,I SPC 3 XCNTR NOP LDA BUFL USER'S BUFFER LENGTH CCE,SSA WORDS? JMP XCNTR,I YES CMA,INA,SZA,RSS JMP XIT DONE IF REQUEST =0 ARS JMP XCNTR,I SPC 3 XWNEC NOP JSB XSTIN GET STATUS RAR,SLA UNIT READY? JMP XS.1 NO RBR,CLE,RBR YES SLB,RSS WRITE ENABLED? JMP XWNEC,I YES LDA .+19 NO LDB WNEA OUTPUT JSB TTY35  MESSAGE HLT 33B HALT JSB XATCK CHECK FOR AUTO JMP XWNEC+1 SPC 3 XCMND NOP ii XT.14 OTA CMND OUTPUT COMMAND XS.0 LIB CMND LOAD STATUS WORD RBR,RBR RBR,SLB REQUEST REJECTED JMP REJCT YES XT.7 STC CMND,C NO INITIATE EXECUTION CCB,SEZ,CLE READ OR WRITE? JMP XCMND,I YES, RETURN XT.15 SFS CMND JMP XT.15 JSB XSTIN GET STATUS JMP XCMND,I * ** CHECK FOR TAPE UNTI IN AUTO * XATCK NOP P JSB XSTIN GET STATUS CLE,SLB,RSS UNIT IN AUTO? JMP XATCK,I YES LDA .+25 OUTPUT LDB MTLMA JSB TTY35 HLT 44B HALTLH JMP XATCK+1 SPC 3 REJCT LDB DB110 LOAD CLEAR COMMAND O.B OTB CMND OUTPUT IT XT.6 STC CMND,C INITIATE IT XT.0 SFS CMND COMPLETED? JMP XT.0 NO JMP XT.14 YES SPC 3 3 XEOTC NOP P JSB XSTIN GET STATUS ALF,CLE,RAR SHIFT "EOT" TO A0 SLA AT "EOT? JMP XIT1 YES JMP XEOTC,I NOPE * * SKP * * MAG TAPE DRIVER CONFIGUARTION * ENTER WITH THE LOAWER MAG TPAE SELECT COEE IN B * MTDIN NOP STA MTSCD SAVE SELECT CODE LDB CON1A GET STARTING POINTER MTDI1 LDA 1,I GET INSTRUCTION AND DM64 MASK OUTPUT OLD SELECT CODE IOR MTSCD MERGE IN NEW SLEECT CODE STA 1,I SAVE IT INB BE CPB CON2A FINISHED DATA CHANNEL? ISZ MTSCD YES, BUMP SELECT DOE CPB CON3A FINISHED COMMAND CHANNEL? JMP MTDIN,I YES JMP MTDI1 NO CON1 DEF XT.3 DEF XT.43 DEF XT.5 DEF XT.50 DEF XT.13 DEF XT.2. DEF XT.46 DEF XT.9 DEF XT.11 DEF XT.12 2 CON2 DEF XS.1 DEF XS.0 DEF XLOOP P~ DEF XT.20 DEF XT.15 5 DEF XT.0 DEF XT.10 DEF XT.8 DEF XT.14 S DEF XT.1 DEF XT.7 DEF XT.6 DEF O.B DEF XT.4 DEF XT.16 CON3 EQU * DB101 OCT 101 DB105 OCT 105 5 DB110 OCT 110 DB200 OCT 200 DB215 OCT 215 BUFL NOP BUFA NOP MTSCD NOP MTDER CLC 0,C HLT 11B JMP MTDM1 WNEA DEF *+1 OCT 512725 ASC 8,RITE NOT ENABLED OCT 6400 MTLMA DEF *+1 OCT 5103 ASC 11,HANGE MAG TAPE TO AUTO OCT 6400 CON1A DEF CON1,I CON2A DEF CON2,I CON3A DEF CON3,I DM64 DEC -64 HED SYSTEM CONSOLE CONFIGURATOR (D) * ** ENHANCMENT FOR REV D * SC?? NOP CHECK PRESENT CONFIGURATION LDA FILLC IS IT THE SAME AS THE CPA FILLR SYSTEM BEING LOADED? JMP SC??,I YES, EXIT CLA NO, HAS THE CONSOLE BEEN CPA SCFIG CONFIGURED YET? JSB SCFIG NO, CONFIGURE IT NOW LDA FILLC IN ANY CASE SET THE BASE STA FILLR LOCATION IN THE SYSTEM CLA AND SET THE CONFIGURATOR STA SCFIG FLAG JMP SC??,I AND EXIT * * SCFIG NOP CCA ASSUME TTY SYSTEM CONSOLE STA FILLC LDA .+38 SEE IF OPERATOR AGREES LDB CMSG WITH ASSUMPTION JSB TTY35 CLA NOW GET RESPONSE JSB TTY35 JSB GETC,I WANT FIRST CHARACTER JMP CER1 IF ANY CPA NO WAS IT NO? JMP NODLY YES, IT WAS NO CPA YES NO, WAS IT YES? JMP DELAY BAD ASSUMPTION CONSOLE IS A HP 2762A * CER1 LDA .+8 OUT PUT ERROR MESSAGE LDB COMER ??? JSB TTY35 JMP SCFIG+1 AND TRY AGAIN * DELAY LDA .-6 SET UP FOR HP 2762A STA FILLC NODLY JMP SCFIG,I EXIT * * YES OCT 131 NO OCT 116 GETC DEF GETCR * CMSG DEF *+1 OCT 6412 ASC 17,IS THE SYSTEM CONSOLE AN HP 2762A? OCT 6412 COMER DEF *+1 OCT 6412 ASC 2,??? OCT 6412 yNLHHN  24285-80002 1534 S 0122 TSB/F LOADER UTILITY (2000/F)             H0101  HED * LOADER-SYSTEM LINKAGE TABLE * * *** LOADER-SYSTEM LINKAGE TABLE * * * * CONTENTS FILLED IN FROM TSB SYSTEM TAPE ON PAPER TAPE * LOADS, FROM DISC ON DISC LOADS. * ORG 4000B JMP LDR INITIATE LOADING SEQUENCE LSLTB EQU * LIBRA BSS 1 SYSTEM LIBRARY PROGRAM ORIGIN COM6 BSS 1 ADDRESS OF SYSTEM LIBRARY DISC * ADDRESSES. INCRE BSS 1 LENGTH OF TTY TABLE TTYDA BSS 1 ADDRESS OF USER DISC ADDRESS ?MASK BSS 1 ADDRESS OF USER MASK ?BHED BSS 1 => START OF LOGICAL BUFFER ?BSTR BSS 1 => END OF LOGICAL BUFFER ?BGIN BSS 1 => START OF PHYSICAL BUFFER ?BEND BSS 1 => END OF PHYSICAL BUFFER ?ID BSS 1 ADDRESS OF ID-NAME SWPIA BSS 1 ADDRESS OF USER-DEPENDENT ITEMS SWPLN BSS 1 LENGTH OF SWAP AREA SWPAA BSS 1 CORE ADDRESS OF SWAP AREA DATE BSS 1 ADDRESS OF HOUR OF YEAR TIME BSS 1 ADDRESS OF TENTHS OF SECONDS YEAR BSS 1 ADDRESS OF YEAR TSBLA BSS 1 SYSTEM START-UP DISC ADDRESS MGSLE BSS 1 MAG TAPE SLEEP PMAIN BSS 1 START OF UTILITY PWRFL BSS 1 POWER FAIL INTERRUPT CODE HED UTILITY CONTROL MAIN EQU * LDA .+24 LDB TITLE "2000E UTILITY PROGRAM" CR-LF,LF JSB ASR35,I INCOM LDA .+3 LDB STAR PRINT * JSB ASR35,I I CLA INPUT COMMAND JSB ASR35,I JSB CLEAR,I CLEAR ALL DISC DRIVES * * SCAN BUFFER FOR COMMAND * JSB GETCA,I GET FIRST CHARACTER JMP CERR NONE ALF,ALF SAVE IT STA ADR1 JSB GETCA,I GET SECOND CHARACTER JMP CERR NONE IOR ADR1 STA ADR1 STORE COMMAND LDA CBUF LOAD ADDRESS OF COMMANDS STA ADR2 SAVE IT LDA .-7 SET COUNT FOR 7 COMMANDS. STA CNT2 LDA ADR1 LOAD COMMAND CLB CLEAR COMMAND NUMBER CPZzA ADR2,I COMPARE COMMAND JMP SCAN FOUND IT. INB NOPE - TRY AGAIN ISZ ADR2 NEXT COMMAND ISZ CNT2 DONE? JMP *-5 NO * CERR LDA .+8 LDB COMRI,I ??? (D) JSB ASR35,I JMP INCOM INPUT COMMAND AGAIN * * SCAN: COMMAND HAS BEEN FOUND * SEARCH FOR FIRST PARAMETER * * SCAN STB INDEX SAVE COMMAND NUMBER * JSB GETCA,I JMP *+4 NO PARAMETER CPA COMMA RSS JMP *-4 NO-NEXT CHAR * * PARAMETER HAS BEEN FOUND * GO TO CORRECT COMMAND * LDA TBAD LOAD ADDRESS OF COMMAND JUMP TABLE ADA INDEX ADD INDEX OF COMMAND JMP 0,I I * TBAD DEF *+1,I COMMAND JUMP TABLE DEF LOADA DEF COPY DEF SLOAD DEF SDUMP ** DEF FORMA DEF PACK DEF DLOAD * CBUF DEF CTABL CTABL ASC 7,LOCOSLSDFOPADL LOAD,COPY,SLOAD,ETC. * * HED *A LOAD ROUTINE ** * * LOAD DISCS FROM MAGNETIC TAPE * AND INITIATE OPERATION OF TSB * LOAD JSB GETCA,I JMP LDR NONE - PAPER TAPE JSB BBSP,I JSB OCTLA,I CHECK FOR OCTAL INTEGER JSB SCHKA,I CHECK SELECT CODE STA MTFLG SET MAG TAPE FLAG JSB MGTPC,I CONFIGURE MAG TAPE * JSB MGTP,I OCT 3 REWIND TAPE * * LOAD DISCS FROM TAPE * * LDA .-5 LOAD ID AND LABEL STA WORD,I LDB TBUFU& JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I LDA B100 LDB TBUF JSB DISC,I LDA B111 READ LDB B100 EQUIPMENT TABLE JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I JMP LDR14 GO BUILD ADT * B377 OCT 377 DISCA OCT 0 DRP OCT 0 TCNT OCT 0 MGTP DEF MGTDR MGTDR EQU XMTD MGTPC DEF MTDIN ADR1 OCT 0 * d 4 HED * TSB LOADER * * *** MAIN LOADING SEQUENCE * * * BEGIN HERE FOR NORMAL LOADING SEQUENCES. * LDR JSB SCFGI,I CONFIGURE THE SYSTEM CONSOLE (D) CLB SET STB SLEPT INITIALIZE SLEEP FLAG (D) CLC 0,C I/O ISZ 1 TO JMP *-2 NULL STATE CLA ZERO STA SYSLF DIRECTORY TRACK STA SYSLF+1 COUNTERS STA SDRVA,I JSB LSTAT,I MAKE SURE DISC IS READY LDA .12 ASK LDB LBRYA JSB ASR35,I IF LIBRARY CLA JSB ASR35,I EXISTS? JSB GETCA,I ANSWER GIVEN? JMP ERR1 NO CPA Y YES, 'Y'? JMP LDR5 YES, ASSUME 'YES' CPA N NO, 'N'? ?J JMP LDR1 YES, ASSUME 'NO' ERR1 LDA .15 LDB ILINA TRY JSB ASR35,I AGAIN JMP LDR+1 (D) LDR1 LDA .20 ASK LDB SYSDA FOR JSB ASR35,I SYSTEM CLA ID JSB ASR35,I CODE * * CONVERT SYSTEM ID CODE * JSB INTGA,I GET SYSTEM ID CPB B5.7 NONE? JMP ID1 STB SYID1 LDA M128 OUTPUT STA WORD,I ID AND LABEL LDA B100 TO DISC LDB SYIDT JSB DISC,I JMP ID2 ID1 LDA .15 LDB ILINA JSB ASR35,I JMP LDR1 * * *** SYSTEM GENERATION * * * CREATE NASCENT EQUIPMENT TABLE * ID2 LDA M16 SET DIRECTORY LENGTH STA DIREC FOR TWO DUMMY ENTRIES LDA EQTLN ZERO STA TEMP0 OUT CLB THE REST LDA EQTA LDR2 INA OF THE STB 0,I ISZ TEMP0 EQUIPMENT TABLE JMP LDR2 CLA SET STA TEMP1 FOR LDA B11 DISC SELECT CODE STA TEMP2 LDA SETDS SET DISC ENTRY STA DTBL CCB STB MTFLG SET FLAG TO 'SYSGEN' MODE JMLP LDR14 * *** INITIATE PAPER TAPE RELOAD * * * PRIMARY USE IS FOR LINKING A NEW SYSTEM (FOR EXAMPLE, A * SYSTEM UPDATE) WITH THE LIBRARY OF A CURRENT SYSTEM. * LDR5 LDA B11 FAKE DTBL ENTRY STA DTBL FOR DISC DRIVER LDA M256 READ STA WORD,I EQUIPMENT LDA DEQTA TABLE LDB CEQTA FROM JSB DISC,I DISC 0 * *** BEGIN EMERGENCY LOADING SEQUENCE * * * ENTRY IS TO HERE WHEN ATTEMPTING TO RELOAD THE SYSTEM * USING THE EQUIPMENT TABLE IN CORE (I.E., SYSTEM WAS * HALTED BY OTHER THAN THE 'SLEEP' ROUTINE). * * LDR6 CLA SET FLAG TO STA MTFLG 'PAPER TAPE RELOAD' STA SYSLF ZERO COUNTERS FOR STA SYSLF+1 DIRECTORY TRACKS LDA ADLEN READ AND M128 STA WORD,I ADT LDB ADTBA ADB BIT15 FROM LDA ADLOC JSB DISC,I DISC LDA ADLEN RECOVER THE JMP LDR18 SYSTEM TRACKS SKP * * *** BUILD ADT * * * CREATE AN ADT ENTRY OF ZERO SECTORS FOR EACK AVAILABLE * TRACK (THE TRACK LENGTH WILL BE FILLED IN BELOW). THE * ENTRY FOR TRACK 0, DISC 0 AND A TERMINATING PSEUDO- * ENTRY BOUND THE ADT. * LDR14 LDA ADTBA CREATE LDB DISCN STB 0,I FIRST INA CLB STB LBAD NO BAD TRACKS STB 0,I ADT INA STA TEMP1 ENTRY LDA M202 INITIALIZE STA TEMP2 ADT ENTRIES LDA M6144 SET LENGTH OF TRACK TO TEST STA WORD,I LDA DISCN STA TEMP3 LDR15 LDA TEMP3 ADA B200 STA TEMP3 SAVE DISC ADDRESS OF CURRENT TRACK JSB DNTR,I FORMAT DISC TRACK JMP LD.15 ISZ LBAD BAD TRACK JMP LDR15 BAD TRACK IGNORE LD.15 EQU * * LDA TEMP3 STA TEMP1,I I ISZ TEMP1 CREATE CLB STB TEMP1,I ZERO-LENGTH ISZ TEMP1 ADT ENTRY ISZ TEMP2 ALL TRACKS CONSIDERED?X JMP LDR15 NO LDA TEMP1 YES CCB APPEND STB 0,I INA TERMINAL CLB STB 0,I PSEUDO-ENTRY CMA RECORD -# ADA ADTBA OF WORDS STA ADLEN IN ADT LDB LBAD ANY BAD TRACKS? SZB,RSS JMP LDR18 NO LDA LBAD LDB LBDMS S JSB NMOTA,I YES - TELL OPERATOR ABOUT THEM LDA .+22 LDB LBDMA LDA ADLEN RESTORE (A) (D) * *** RECOVER TRACKS * * * ALL ADT ENTRIES WITH ZERO SECTORS ARE RECOVERED * AS FULL TRACKS. THIS PICKS UP ALL SYSTEM TRACKS ON * PAPER TAPE RELOADS AND RETURNS THEM TO THE POOL OF * TRACKS AVAILABLE FOR LOADING BELOW. * ENTER WITH (A) = -#ENTRIES IN ADT. * LDR18 ADA .4 SET ENTRY COUNTER ARS (SKIPPING FIRST STA TEMP0 AND LAST ENTRIES) LDA ADTBA LOAD ADDRESS INA OF SECOND WORD LDR19 ADA .2 OF ENTRY LDB 0,I IS LENGTH SZB,RSS 0 SECTORS? JMP LDR21 YES LDR20 ISZ TEMP0 NO, DONE? JMP LDR19 NO JMP LDR23 YES LDR21 CCB LOAD ADB 0 ENTRY'S LDA 1,I DISC ADDRESS JSB ISOTA,I GET TRACK LENGTH INB IN SECTORS STA 1,I RESTORE TO LDA 1 FULL TRACK JMP LDR20 * *** CLAIM DISC TRACKS * * * CLAIM TRACKS FOR THE SYSTEM AND USER SWAPPING. THE * ADT ENTRIES ARE SET TO LENGTH ZERO RATHER * THAN BEING REMOVED. * LDR23 JSB NPRTA,I GET NUMBER OF PORTS LDA .-21 STA TEMP0 LDB TRKTA CLA TRACK TABLE STA 1,I INB ISZ TEMP0 TO ZEROS JMP *-3 LDA .-21 GET ONE LOADER TRACK STA TEMP0 LDA TRKTA FOUR SYSTEM TRACKS, STA TEMP1 LDR24 CLA FOUR SYSTEM LIBRARY TRACKS, JSB GTTRA,I STA TEMP1,I AND 16 ISZ TEMP1 HEDR OCT 6412 ASC 10,2000E LOADER/UTILITY OCT 6412 EOTM OCT 5105 ASC 5,ND OF TAPE OCT 6400 CHKSM OCT 51030j ASC 7,HECKSUM ERROR OCT 6400 DATER OCT 5104 ASC 3,ATE? ILDTE OCT 5111 ASC 6,LLEGAL DATE OCT 6400 TIMER OCT 5124<<<< ASC 3,IME? ILTIM OCT 5111 ASC 6,LLEGAL TIME OCT 6400 LABOR ASC 9,LOAD/DUMP ABORTED OCT 6412 SYSL OCT 5123 ASC 12,YSTEM LIBRARY OVERFLOW OODSP OCT 5117 ASC 9,UT OF DISC SPACE SYID# OCT 6412 ASC 9,SYSTEM ID NUMBER? HED * UTILITY ROUTINES * ERRIN LDA L.20 OUTPUT LDB LABOA TERMINATION JSB ASRDA,I MESSAGE HLT 1 * IRRECOVERABLE JMP *-1 * HALT * *** GET A COMPLETE TRACK * * * * SEARCH ADT FOR A FULL TRACK. IF NONE FOUND, TERMINATE * LOADING. IF FOUND, RETURN WITH DISC ADDRESS IN (A). IF * (A) = -1 UPON ENTRY, DELETE TRACK'S ADT ENTRY, ELSE SET * ITS SECTOR COUNT TO ZERO. * GTTRK NOP STA LTMP1 SAVE FLAG LDB L.2 SET ADB ADLEN ENTRY COUNTER BRS SKIPPING LAST STB LTMP2 PSEUDO-ENTRY LDB ADTBF (B) WILL HOLD ENTRY ADDRESSES GTTR1 LDA 1,I LOAD ENTRY'S DISC ADDRESS JSB ISOTL GET TRACK LENGTH INB IN SECTORS CPA 1,I ALL OF TRACK AVAILABLE? JMP GTTR2 YES INB NO ISZ ULTMP2 MORE ADT ENTRIES? JMP GTTR1 YES JMP ERR5A,I NO GTTR2 CLA CLAIM STA 1,I TRACK ADB LM1 LOAD LDA 1,I DISC ADDRESS ISZ LTMP1 REMOVE ENTRY? JMP GTTRK,I NO STA LTMP2 YES ADB L.2 ELIMINATE LDA 1 JSB MOVUP ENTRY LDA LTMP2 RETRIEVE JMP GTTRK,I DISC ADDRESS * *** ISOLATE TRACK LENGTH * * * * ENTER WITH A DISC ADDRESS IN (A). RETURN WITH THE LENGTH * IN SECTORS OF THE REFERENCED TRACK IN (A). * ISOTL NOP LDA D48 JMP ISOTL,I * *** BUILD AN INTEGER * * * SEARCH THE INPUT STRING FO AN INTEGER. IF FOUND, RETURN * WITH IT IN (B). IF NO DIGITS ARE FOUND OR THE INTEGER * OVERFLOWS 16 BITS, RETURN WITH 32767 IN (B). * * INTGR NOP ,, CCA SET 'NO DIGITS' STA LTMP5 FLAG CLA INITIALIZE TO ZERO INTG1 STA LTMP6 STORE PARTIAL RESULT JSB GETCR MORE CHARACTERS? JMP INTG2 NO JSB DIGCK YES, DIGIT? JMP INTG2 NO STA LTMP5 YES, SAVE IT LDA LTMP6 MULTIPLY PARTIAL MPY L.10 RESULT BY 10 CLE ADD IN ADA LTMP5 NEW DIGIT SEZ,SZB,RSS SSA OVERFLOW? RSS YES JMP INTG1 NO LDB INF REPLACE WITH JMP INTGR,I MAXIMUM INTEGER INTG2 LDB LTMP6 LOAD INTEGER ISZ LTMP5 ANY DIGITS FOUND? JMP INTGR,I YES LDB INF NO, LOAD ILLEGAL INTEGER JMP INTGR,I * *** CONVERT TWO-DIGIT INTEGER * * * * SEARCH THE INPUT RECORD FOR A TWO-DIGIT INTEGER NOT TO * EXCEED -(TWODG,I UPON ENTRY). IF FOUND, RETURN TO (P+2) * WITH INTEGER IN (B), ELSE EXIT TO ERROR ROUTINE. * TWODG NOP JSB GETCR FETCH JMP ERR7A,I AND JSB DIGCK VERIFY JMP ERR7A,I DIGIT CLB MULTIPLY MPY L.10 BY 10 STA LTMP1 AND SAV&E JSB GETCR FETCH JMP ERR7A,I AND JSB DIGCK VERIFY JMP ERR7A,I DIGIT ADB LTMP1 COMBINE WITH PRIOR RESULT LDA 1 ADA TWODG,I INTEGER ISZ TWODG TOO SSA LARGE? JMP TWODG,I NO JMP ERR7A,I YES * *** READ FROM PAPER TAPE * * * RETURN WITH A WORD FROM PAPER TAPE IN (B). IF (E)=1 UPON * ENTRY, READ ONLY THE NEXT FRAME. IF (E)=0 UPON ENTRY, * COMBINE THE NEXT TWO FRAMES INTO A 16-BIT RESULT * * READ NOP CLB,CME READ1 STC PHI/O,C READ SFS PHI/O A JMP *-1 CHARACTER CLC PHI/O INCLUSIVE OR MIB PHI/O INTO (B) SEZ,RSS SECOND CHARACTER TO BE READ? JMP READ,I NO BLF,CLE,BLF YES,MOVE FIRST CHARACTER JMP READ1 TO HIGH PART OF (B) * *** VALIDATE ADDRESS * * * ENTER WITH AN ADDRESS IN (B). VERIFY THAT THIS ADDRESS * LIES WITHIN AN AREA OF CORE CONTAINING TSB SYSTEM CODE. * IF THIS IS NOT THE CASE, HLT 55 OCT WITH THE * OFFENDING ADDRESS IN (A). * ADVAL NOP STB LTMP1 SAVE ADDRESS CLE BELOW ADB MAXAD PROTECTED SEZ LOADER? JMP ADVA1 NO ADB SYSTA YES, IN MAIN PART SSB,RSS OF SYSTEM? JMP ADVAL,I YES ADB MAXBA NO, BELOW SSB,RSS UNUSED SWAP AREA JMP ADVA1 NO JMP ADVAL,I NO ADVA1 LDA L.17 YES LDB BDADA PRINT JSB ASRDA,I ERROR LDA LTMP1 DISPLAY ADDRESS HLT 55B WAIT FOR REREAD ATTEMPT JMP L46A,I * *** FIND ADT POSITION * * * SEARCH THE ADT FOR THE FIRST ENTRY WHOSE DISC ADDRESS IS * EQUAL TO OR EXCEEDS THE DISC ADDRESS IN LTMP4. RETURN * WITH A POINTER TO THIS ENTRY IN (B). * FADTP NOP LDA LTMP4 2'S COMPLEMENT CMA,CLE,INA DISC ADDRESS STA LTMP0 SAVE IT LDB ADTBF INITIAL ADT POINTER FADT1 ADA 1,I FIRST ADTV ENTRY >= SEZ TRACK DISC ADDRESS? JMP FADTP,I YES LDA LTMP0 NO, TRY ADB L.2 NEXT ENTRY JMP FADT1 * * *** ELIMINATE ADT ENTRY * * * ENTER WITH THE ADDRESS OF THE SCRATCHED ADT ENTRY IN (A) * AND (B). MOVE THE TABLE BELOW IT OVER IT AND DECREMENT * THE ADT LENGTH BY 2. * MOVUP NOP STA SOURC SAVE SOURCE ADDRESS ADB LM2 SAVE STB DEST DESTINATION ADDRESS ADA ADLEN COMPUTE CMA,INA NUMBER OF ADA ADTBF ENTRIES CMA,INA TO BE ARS MOVED STA MCNTN MOVU1 DLD SOURC,I MOVE DST DEST,I ENTRY LDA SOURC UPDATE STA DEST ADA L.2 ADDRESSES STA SOURC ISZ MCNT DONE? JMP MOVU1 NO ISZ ADLEN YES, REDUCE TABLE LENGTH ISZ ADLEN BY ONE ENTRY JMP MOVUP,I * *** CHECK FOR A DIGIT * * * ENTER WITH A CHARACTER IN (A). IF IT IS A DIGIT, RETURN * TO (P+2) WITH THE BINARY DIGIT IN (A) AND (B)< OTHERWISE * RETURN TO (P+1) WITH THE CHARACTER IN (A). * DIGCK NOP LDB 0 ASCII ADB LD72 72 OCT OR SSB,RSS GREATER? JMP DIGCK,I YES ADB LB12 NO, ASCII 57 OCT SSB OR LESS? JMP DIGCK,I YES LDA 1 NO ISZ DIGCK JMP DIGCK,I * *** FETCH INPUT CHARACTER * * * RETURN TO (P+2) WITH THE NEXT NON-BLANK CHARACTER FROM * THE INPUT RECORD IN (A). IF A CARRIAGE RETURN IS FOUND, * RETURN TO (P+1) WITH IT IN (A). * GETCR NOP LDB BADDR LOAD CHARACTER POINTER ISZ BADDR ADVANCE IT CLE,ERB LOAD LDA 1,I WORD SEZ,RSS ADJUST AS ALF,ALF NECESSARY AND LB377 MASK OFF CHARACTER CPA BLANK BLANK? JMP GETCR+1 YES, IGNORE IT CPA LB15 NO, CARRIAGE RETURN? JMP GETBP YES - BACK UP AND EXIT ISZ GETCR ZG NO, EXIT JMP GETCR,I TO (P+2) GETBP CCB B ADB BADDR BACK UP BUFFER POINTER STB BADDR JMP GETCR,I * *** GET NUMBER OF PORTS * * * REQUEST THE NUMBER OF AVAILABLE PORTS. CHECK FOR A * RESPONSE BETWEEN 1 AND 8. A SIMPLE CARRIAGE RETURN * IMPLIES A FULL SYSTEM OF 8 PORTS. * NBPRT NOP LDA L.18 REQUESTS{ LDB MNBPA JSB ASRDA,I NUMBER CLA JSB ASRDA,I OF PORTS JSB GETCR GET CHARACTER JMP NBPR2 CR JSB DIGCK DIGIT? JMP NBPR1 NO STA LTMP1 YES JSB GETCR CARRIAGE RETURN FOLLOWS? JMP NBPR3 YES JSB DIGCK DIGIT? JMP NBPR1 NO STA LTMP2 YES LDA LTMP1 FORM NUMBER MPY L.10 ADA LTMP2 STA LTMP1 JSB GETCR CARRIAGE RETURN? JMP NBPR3 YES NBPR1 LDA L.15 NO, OUTPUT LDB ILINL ERROR JSB ASRDA,I MESSAGE JMP NBPRT+1 TRY AGAIN NBPR2 LDA L.16 RSS NBPR3 LDA LTMP1 CMA,INA,SZA,RSS ZERO? JMP NBPR1 YES LDB 0 ADA L.16 NO SSA GREATER THAN 16? JMP NBPR1 YES STB NPORT SAVE-# OF PORTS JMP NBPRT,I * * CONVERTT SUBCHANNEL TO DISC ADDRESS * FSUB NOP CLE ERB,RBR SEZ,RSS S ADB F1000 STB 0 JMP FSUB,I, F100 OCT 100  * ** TAPE ERROR * TPERR LDA .+22 TIMING OF LDB TAPEA PARITY JSB ASRDA,I ERROR JMP ERRIN EOFER LDA .+38 END OF FILE LDB EOFMA AL JSB ASRDA,I I JMP ERRNA,I ERRNA DEF ERRIN * EOFMA DEF EOFM TAPEA DEF TAPER EOFM OCT 6412 ASC 18,UNEXPECTED END-OF-FILE/END-OF-TAPE TAPER OCT 5124 ASC 18,APE CANNOT BE READ * * CHECK DISC LABEL * LABCK NOP LDB PTBF B=> 2ND WORD INB BE LDA PSYST SAVE POINTER. STA LTEMP LDA B,I B@< A= 2ND WORD CPA LTEMP,I IS IT A TIME SHARE DISC? RSS JMP LBCK2 NO. LDA .-3 YES. SET COUNTER. STA LTEMP+1 INB BUMP POINTERS. ISZ LTEMP LBCK1 LDA B,I LOAD NEXT LABEL WORD. CPA LTEMP,I CHECK IF SYSTEM DISC. RSS JMP LABCK,I NO. EXIT. INB BUMP. ISZ LTEMP ISZ LTEMP+1 DONE? JMP LBCK1 NO. LBCK2 LDA .+18 YES. SYSTEM DISC! LDB LBCK4 OUTPUT "NOT A USER DISC" JSB ASRDA,I MESSAGE. JMP INCMP,I * ** OUTPUT A NUMBER TO USERS BUFFER * NUMOT NOP IOR .+60B OUTPUT NUMBER. ALF,ALF F IOR .+15B ADD ON CR. STA B,I JMP NUMOT,I I * * ?B  24285-80004 1534 S 0122 TSB/F LOADER UTILITY (2000/F)             H0101  SKP DRV# NOP CCCNT NOP SEEEK OCT 30000 CLDSC NOP LDA .-4 STA CCCNT CLEAR 4 DISC DRIVES CLA STA DRV# CLER1 JSB .STAT ISZ DRV# ISZ CCCNT JMP CLER1 LDA .-4 STA CCCNT CLA STA DRV# CLER2 EQU * CLA OTA DC STC DC,C LDA SEEEK IOR DRV# CLC CC OTA CCCo STC CC,C SFS DC JMP *-1 1 CLA OTA DC STC DC,C SFS CC JMP *-1 JSB .STAT ISZ DRV# ISZ CCCNT JMP CLER2 JMP CLDSC,I .STAT NOP CLA A* IOR DRV# STC DC,C CLC CCC OTA CC STC CC,C SFS DC JMP *-1 LIA DCD JMP .STAT,I HED * CONSTANTS, TEMPORARIES, ETC * PHI/O EQU 13B LM2 DEC -2 LM1 DEC -1 LD72 OCT -72 L.2 DEC 2 L.16 DEC 16GG LB12 OCT 12 L.10 DEC 10 LB15 DEC 13 L.15 DEC 15 L.17 DEC 17 L.18 DEC 18 L.20 DEC 20 D48 DEC 48 LB377 OCT 377 INF OCT 77777 BLANK OCT 40 MAXAD OCT 140100 SYSTA ABS 37700B-SSYST MAXBA ABS SSYST-2000B SSYST EQU 14000B ADTBF DEF ADTBL ADT BUFFER ADDRESS ASRDA DEF TTY35 L46A DEF LDR46 ERR5A DEF ERR5 ERR7A DEF ERR7 LABOA DEF LABOR LTMP0 BSS 1 LTMP1 BSS 1 LTMP2 BSS 1 LTMP4 BSS 1 LTMP5 BSS 1 f LTMP6 BSS 1 DEST BSS 1 1 SOURC BSS 1 MCNT BSS 1 BADDR BSS 1 BDADA DEF BADAD MNBPA DEF MNBPT ILINL DEF ILIN BADAD OCT 5111 ASC 7,LLEGAL ADDRESS OCT 6400 SYMSA OCT 6412 ASC 6,SYSTEM ID? LBMSA OCT 6412 ASC 6,DISC LABEL: LBCK4 DEF LBCK5 LBCK5 OCT 6412 CR-LF ASC 8,NOT A USER DISC PTBF DEF TBUFR PSYST DEF TSSYS INCMP DEF INCOM SBC1 DEF SUBC1 PSUB DEF SUBCK CHANL BSS 1 IPTBF DEF TBUFR,I LBCK6 DEF *+1 OCT 6412 CR-LF ASC 7,NOT A SYS DISC BSLD DEF BSLDR BSLDI DEF BSLDR,I PLDTK DEF LDRTK MD128 DEC -128 P52 DEC 52 DMK DEC -6144 4V DM203 DEC -203 OP200 OCT 20:0 OP100 OCT 100 DM256 DEC -256 PWORD DEF WORDC TSBL DEF TSBLA,I PLIBR DEF LIBRA PDIS DEF DISCD PDNTR DEF DINIT BDRA DEF BADDR UPMSP DEF *+1 OCT 6412 CR-LF ASC 12,INSERT CARTR IN SUBCH 1 OCT 6412 CR-LF ASC 11,PRESS 'RUN' WHEN READY OCT 6412 CR-LF LBCK7 DEF LBCK8 LBCK8 OCT 6412 CR-LF ASC 7,DISC STILL UP HED ** UTILITY ROUTINES ** * ** BACK SPACE BUFFER POINTER * XBSP NOP CCA A ADA BDRA,I STA BDRA,I JMP XBSP,I * * * * ** LOAD SYSTEM START-UP * INIT NOP LDA DM256 STA PWORD,I LDA TSBL,I LDB PLIBR,I CCE ELB,RBR JSB PDIS,I JMP INIT,I, * * ** CHECK USER DISC FLAG * FCHEK NOP LDB PTBF,I GET USER DISC FLAG. SSB,RSS IF =0, RETURN. JMP FCHEK,I OTHERWISE OUTPUT LDA .+16 ERROR MESSAGE. LDB LBCK7 JSB ASRDA,I JMP INCMP,I * * * HED ** DLOAD ** * * DLOAD,<0 OR 1> * DLOAD JSB INTGR GET SUBCHANNEL STB CHANL SAVE IT. ADB .-2 SSB,RSS 0 OR 1? JMP SBC1,I NO. OUTPUT MESSAGE. LDB CHANL YES. CHECK STATUS ON JSB PSUB,I REQUESTED DISC. JSB FSUB FORM DISC ADDRESS. LDB .-5 READ LABEL ON REQUESTED DISC. STB PWORD,I I? LDB IPTBF JSB PDIS,I JSB LBLCK CHECK LABEL FOR SYSTEM DISC. * LDB CHANL SUBCH. 0 OR 1? SZB,RSS JMP DLOD1 SUBCH. 0. START UP. * LDB DMK SUBCH#1. INITIALIZE DISC. STB PWORD,I SET WORD COUNT. LDB DM203 SET TRACK COUNT. STB LTEMP CLA SET FOR TRACK 0. JMP *+3 DDLD LDA LTEMP+1 COMPUTE TRACK NR. ADA OP200 AND STA LTEMP+1 SAVE IT. LDB PTBF INITIALIZE TRACK. IOR OP100 JSB PDNTR,I I NOP NORMAL RETURN. 6 ISZ LTEMP ERROR RETURN. DONE? JMP DDLD NO. LDB DMK YES. DUMP SYSTEM TO SUBCH#0. STB PWORD,I SET TO TRANSFER 6144 WORDS. LDB DM203 SET TO TRANSFER 203 TRACKS. STB LTEMP CLA SET TRACK POINTER TO TRACK 0. JMP *+3 DLOOP LDA LTEMP+1 COMPUTE TRACK NUMBER ADA OP200 AND STA LTEMP+1 SAVE IT. LDB IPTBF READ TRACK FROM JSB PDIS,I SUBCH.1 LDA LTEMP+1 SET DISC ADDRESS TO IOR OP100 SUBCH.0 LDB PTBF WRITE TRACK TO JSB PDIS,I SUBCH.0 ISZ LTEMP DONE? JMP DLOOP NO. LDA P52 YES. DISC DUMP COMPLETE. LDB UPMSP OUTPUT JSB ASRDA,I MESSAGE. CLF 0 0 HLT 33B * JSB CLDSC CLEAR ALL DISCS. DLOD1 LDA PLDTK,I IS LOADER TRACK ADDRESS SZA GENERATED? JMP BSLD,I YES. START UP. LDA MD128 NO. LOAD PART OF SYSTEM LOADER STA PWORD,I FROM SUB 0, TRACK 0, SECTOR 1 CLA,INA TO GET DISC ADDRESSES. ADA OP100 LDB BSLDI I JSB PDIS,I JMP BSLD,I START UP. * * * * * CHECK LABEL FOR SYSTEM DISC. * LBLCK NOP P LDB PTBF SET POINTERS. INB BE LDA PSYST STA LTEMP LDA .-4 SET COUNTER. STA LTEMP+1  LBLC1 LDA B,I LOAD NEXT WORD. CPA LTEMP,I CHECK IF SYSTEM DISC. RSS JMP LBLC2 NO. OUTPUT ERROR MESSAGE. INB YES. ISZ LTEMP ISZ LTEMP+1 DONE? JMP LBLC1 NO. JMP LBLCK,I YES. LBLC2 LDA .+16 OUTPUT "NOT A SYS DISC" LDB LBCK6 MESSAGE. JSB ASRDA,I JMP INCMP,I * * HED * CONSTANTS, TEMPORARIES, ETC * SKP . EQU 526B THIS MUST BE IN THE SAME POSITION * AS THE SYSTEM DOT TABLE SPC 2 ORG .-29 DEC -29,-28,-27,-26,-25,-24,-23,-22,-21 DEC -20,-19,-18,-17,-16,-15,-14,-13,-12,-11 DEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 DEC 0,1,2,3,4,5,6,7,8,9,10 DEC 11,12,13,14,15,16,17,18,19,20 DEC 21,22,23,24,25,26,27,28,29,30 DEC 31,32,33,34,35,36,37,38,39,40 DEC 41,42,43,44,45,46,47,48,49,50 M16 EQU .-16 M10 EQU .-101 M4 EQU .-4 M2 EQU .-2 .2 EQU .+2 .4 EQU .+4 .7 EQU .+7 .8 EQU .+8 .12 EQU .+12 .13 EQU .+13 .15 EQU .+15 .17 EQU .+17 .20 EQU .+20 .24 EQU .+24 .26 EQU .+26 COMMA EQU .+54B DB7 EQU .+7 DB15 EQU .+15B DB23 EQU .+23B DB31 EQU .+31B DB41 EQU .+41B DM5 EQU .-5 DM3 EQU .-3 HED COPY ROUTINE ORG 10000B * * COPY,, * * COPY FROM FIRST SUBCHANNEL TO SECOND * COPY JSB INTGI,I GET FIRST SUBCHANNEL JSB SUBCK VALID SUBCHANNEL? STB SUB1 SAVE IT JSB FSUBB,I FORM BASIC DISC ADDRESS STA DISC1 SAVE IT. JSB XBKSP,I JSB GETCH,I GET NEXT CHARACTER JMP CERRA,I ALL OUT, ERROR CPA COMMA COMMA? RSS YES JMP *-4 NO JSB INTGI,I GET SECOND SUBCHANNEL JSB SUBCK VALID? STB SUB2 SAVE IT JSB FSUBB,I I STA DISC2 SAVE IT * * CHECK DISC STATUS * * LDA DISC1 SET WORKING DISC ADDRESSES STA DAD1 FOR SOURCE LDA DISC2 STA DAD2 FOR DEST. LDA X203 SET TRACK COUNT STA TCNTA,I LDA X6144 STA WORDA,I COPY1 LDA DAD1 READ LDB TBFI SOURCE JSB DISCL,I DISC LDA DAD2 WRITE LDB TBUFA DESTINATION JSB DISCL,I LDA DAD1 GO ADA XB200 TO STA DAD1 NEXT LDA DAD2 TRACK ADA XB200 STA DAD2 ISZ TCNTA,I DONE? ? JMP COPY1 NO * LDA .+18 LDB COPMS "COPY COMPLETEI" JSB T35DR,I JMP INCMA,I * * * HED ** SELECTIVE LOAD ** * * SLOAD,,, * * SLOAD JSB SLDP * JSB GETCH,I GET NEXT CHAR. JMP CERRA,I NONE FOUND. CPA COMMA COMMA? RSS FOUND COMMA JMP SCHK1 NO - ERROR JSB INTGI,I GET FILE CPB INF1 FILE # OK? JMP CERRA,I NO * SPACE OVER INDICATED # OF FILES (N-1) * * LDA B SZA IF FILE NR=0 OR CPA .+1 =1 THEN JMP SL1 NO SPACING. ADA .-1 DECREMENT FILE NR. CLB JSB MGTPA,I SPACE TO CORRECT FILE OCT 4 JMP EFA,I JMP TPE,I * SL1 CLA,INA SET SELECTIVE FLAG STA SFLGA,I LDB .-5 STB WORDA,I SZA,RSS SELECTIVE LOAD? JMP SL6 NO. LDA DISC1 YES. READ DISC LABEL. LDB TBFI JSB DISCL,I JSB FCKP,I CHECK USER DISC FLAG. SL6 LDA .-5 READ LABEL FROM TAPE. LDB TRTBA JSB MREAD LDA DISC1 LDB TRTBA JSB DISCL,I LDA .-3 LDB TRTBA LENGTHS JSB MREAD LDA .-3 STA WORDA,I LDA DISC1 OUTPUT LENGTHS TO DISC INA LDB TRTBA A JSB DISCL,I DLD TRTB1,I LOAD DIRECTORY LENGTHS DST DL1 * LDA TRTBL READ STA WORDA,I IN STA ADTTA,I LDB TBUFA JSB MREAD LDA DISC1 OUTPUT ADA .+2 ADT LDB TBUFA TO JSB DISCL,I * DLD TRTBL+1 SAVE DST D1L DIRECTORY LENGTHS LDA D203 INPUT LDB TRTBA STB LTEMP JSB MREAD D * LDA D203 SCAN STA TCNTA,I TABLE LDA DISC1 STA DISC2 * SL4 LDA LTEMP,I LOAD LENGTH SZA,RSS ZERO? JMP SL2 YES ASL 7 # OF WORDS STA LTEMP+1 ADA gX3072 LONGER THAN 3072? SZA,RSS JMP SL3 SSA JMP SL3 LDA X3072 INPUT STA WORDA,I LDB TBUFA FIRST JSB MREAD TRACK LDA DISC2 DISC LDB TBUFA JSB DISCL,I LDA LTEMP+1 INPUT ADA X3072 TRACK CMA,INA 2ND STA WORDA,I LDB TBUFA PART JSB MREAD TRACK LDA DISC2 DUMP ADA .+24 TO LDB TBUFA JSB DISCL,I JMP SL2 SL3 LDA LTEMP+1 READ CMA,INA FROM STA WORDA,I MAG LDB TBUFA TAPE JSB MREAD * LDA DISC2 DUMP LDB TBUFA JSB DISCL,I * SL2 LDA DISC2 GO TO ADA XB200 NEXT STA DISC2 TRACK ISZ LTEMP ISZ TCNTA,I JMP SL4 * * * NOW READ DIRECTORIES * LDA DL1 LOAD STA WORDA,I LDB TBUFA FIRST JSB MREAD DIRECTORY TRACK LDA DISC1 DUMP ADA XB200 LDB TBUFA JSB DISCL,I * LDA DL2 CHECK 2ND TRACK SZA,RSS IF ZERO JMP SL5 IT'S NOT THERE STA WORDA,I LDB TBUFA JSB MREAD D LDA DISC1 DUMP ADA XB400 LDB TBUFA TO DISC JSB DISCL,I SL5 EQU * LDA SFLGA,I IS IT SELECTIVE? SZA,RSS JMP LD53A,I NO - IT'S FROM LOADER * JSB MGTPA,I REWIND OCT 3 JMP INCMA,I HED ** SELECTIVE DUMP ** * * SDUMP,,, * SDUMP JSB SLDP LDA SUB1 SZA,RSS CANNOT SELECTIVELY DUMP SYSTEM JMP SUBC1 OUTPUT "INVALID SUBCH.". JSB GETCH,I SEARCH FOR FILE # JMP CERRA,I NONE FOUND. CPA COMMA COMMA? RSS YES JMP SCHK1 NO - ERROR JSB INTGI,I GET FILE CPB INF1 FILE # OK? JMP CERRA,I NO * * SPACE OVER N-1 FILyES LDA B SZA IF FILE NR=0 OR CPA .+1 =1, THEN JMP SD3 NO SPACING. ADA .-1 DECREMENT FILE NR. CLB JSB MGTPA,I SPACE TO CORRECT FILE OCT 4 JMP EFA,I I JMP TPE,I * * NOW DUMP DISC * SD3 EQU * CLA,INA SET STA SFLGA,I FOR SELECTIVE LDA .-5 STA WORDA,I OUTPUT ID AND LABEL TO TAPE LDA DISC1 LDB TBFI JSB DISCL,I JSB PLABC,I CHECK LABEL. LDA .-5 5 LDB TBUFA A JSB MWRIT LDA .-3 INPUT STA WORDA,I ADT LENGTH AND LDA DISC1 DIREC TRACK INA LENGTHS LDB TBFI JSB DISCL,I LDA .-3 LDB TBUFA A JSB MWRIT LDA SFLGA,I SELECTIVE SZA,RSS JMP SD31 LDA SUB1 COMPUTE MPY .+14 DIRECTORY ADA XB100 LOCATION STA DRPA,I LDA TBUFA SET LENGTH INA LDA 0,I LDB DRPA,I FOR FIRST STA 1,I DIRECTORY TRACK LDA DISC1 SET DISC ADA XB200 ADDRESS LDB DRPA,I FOR FIRST DIRECTORY ADB .+6 TRACK STA 1,I INB LENGTH & ADDRESS LDA TBUFA OF SECOND ADA .+2 LDA 0,I STA 1,I TRACK LDA DISC1 ADA XB400 ADB .+6 STA 1,I * SD31 EQU * LDA TBUFA,I INPUT ADT. STA WORDA,I LDA DISC1 ADA .+2 LDB TBFI JSB DISCL,I * * LDA TBUFA SET STA LTEMP+1 ADT LDA WORDA,I POINTERS CMA,INA ADA LTEMP+1 STA LTEMP LDA DISC1 18 STA DSCA,I JMP SD2 GO TI SLEEP * HED ** FORMAT DISC ** * * FORMAT, * FORMA JSB INTGI,I GET SUBCHANNEL JSB SUBCK VALID? SZB,RSS IF SUBCHAN=0 THEN INVALID JMP SUBC1 f SUBCHANNEL ZERO INVALID STB SUB1B: JSB FSUBB,I FORM DISC ADDRESS STA DISC1 * CLA STA BAD CLEAR BAD TRACKS COUNT STA ADLEN ADT LENGTH = 0 LDA ADTT INITIALIZE ADT TABLE POINTER STA ADTP LDA D203 SET TRACK COUNTER STA TCNTA,I LDA DISC1 SAVE DISC ADDRESS STA DAD1 LDA X6144 STA WORDA,I FORM1 LDA DAD1 LOAD DISC ADDRESS LDB TBUFA JSB DINIT GO TO INITIALIZE JMP .ADT. * BAD TRACK LDA TCNTA,I ADA D200]]]O SSA A JMP DISBD DISC IS BAD - DONT USE IT ISZ BAD ADD 1 TO BAD TRACK COUNT FORM2 LDA DAD1 GO TO NEXT TRACK ADA XB200 STA DAD1 ISZ TCNTA,I I JMP FORM1 NO JMP FORM3 YES - LABEL DISC * * TRACK IS OK SO SET ADT ENTRY * .ADT. LDA TCNTA,I ADA D200 THEN NO ADT ENTRY SSA JMP FORM2 LDA DAD1 -- OK - FORM ENTRY LDB XD48 OF 48 SECTORS DST ADTP,I SAVE ENTRY ISZ ADTP ISZ ADTP LDA ADLEN COUNT WORDS IN ADLENGTH ADA .-2 STA ADLEN JMP FORM2 * FORM3 LDA DAD1 DUMMY CLB END DST ADTP,I ENTRY LDA ADLEN ADA .-2 STA ADLEN STA WORDA,I LDA DISC1 TO ADA .+2 THE LDB ADTT DISC JSB DISCL,I * * OUTPUT DIRECTORY * LDA .-16 OUTPUT STA WORDA,I LDA DISC1 ENTRY ADA XB200 LDB PSEUD DIRECTORY JSB DISCL,I * LDA ADLEN OUTPUT STA TRBLA,I LENGTH LDA .-16 TABLE STA TRTB1,I TO CLA DISC STA TRTB2,I LDA .-3 STA WORDA,I LDA DISC1 18 INA LDB TRTBA JSB DISCL,I * FORM4 EQU * LDA .+14 ASK FOR . LDB SYMSF SYSTEM ID? JSB T35DR,I I CLA ** JSB T35DR,I, JSB INTGI,I GET INTEGER CPB INF1 IS THERE ONE? JMP FORM4 STB SYSLI YES FORM5 LDA .+14 LDB LBMES "DISC LABEL: " JSB T35DR,I CLA A* JSB T35DR,I * LDB INBFR CHECK IF LABEL="SYSTEM" LDA SYSTP STA LTEMP LDA .-3 3 STA LTEMP+1 FORM6 LDA B,I CPA LTEMP,I RSS JMP FORM7 INB ISZ LTEMP ISZ LTEMP+1 JMP FORM6 JMP FORM5 * FORM7 LDA INBFR MOVE STA MOVES LABEL LDA LBBUF TO ADA .+2 LABEL STA MOVED BUFFER LDB .-3 JSB MOVEW LDA DISC1 LDB .-5 OUTPUT LABEL TO TRACK 0 SECTOR 0 STB WORDA,I LDB LBBUF JSB DISCL,I * * OUTPUT # OF BAD TRACKS * LDA BAD OUTPUT LDB BADMS # JSB NMOTP,I * LDA .+22 LDB BDMSA MESSAGE JSB T35DR,I * JMP INCMA,I BDMSA DEF *+1 OCT 6412 ASC 9,# OF BAD TRACKS = BSS 1 BADMS DEF *-1 1@ * ** TRACK 0,1,2 IS BAD DISC CANNOT BE USED * DISBD LDA D44 OUTPUT BAD LDB DBADA DISC JSB T35DR,I MESSAGE JMP INCMA,I D44 DEC 44 DBADA DEF DDBAD SYSTP DEF TSSYS+1 * * ** PSEUDO ENTRY FOR DISC DIRECTORY * PSEUD DEF DIRBF HED * SUBROUTINES * *S * * SELECTIVE LOAD AND DUMP * PREPARATION * SLDP NOP JSB INTGI,I GET SUBCHANNEL JSB SUBCK VALID? STB SUB1 JSB FSUBB,I FORM DISC ADDRESS STA DISC1 SAVE IT JSB XBKSP,I Iu JSB GETCH,I JMP CERRA,I CPA COMMA COMMA? RSS YES JMP SUBC1 NOPE - ERROR JSB INTCK GET SC STA 1 JSB SCHEK JSB CONMG,I JSB MGTPA,I OCT 3 REWIND TAPE * :[* JMP SLDP,I * * * SUBROUTINE TO CONVERT CHAR STRING TO NUMBER * INTCK NOP CLA INITIALIZE TOTAL STA NUM INT2 EQU * JSB GETCH,I LOAD CHARACTER JMP INT1 NO CHARS ADA M70B SUBTRACT OCT 70 (ASC 8) SSA,RSS  JMP INT1 NOT OCTAL ADA .+10B ADD 10B (I.E. 8) SSA JMP INT1 NON- NUMERIC * * * DIG IT IN A Am * LDB NUM BLS,BLS MULTIPLY BLS BY 8 ADB 0 ADD NEW DIGIT STB NUM SAVE NEW TOTAL JMP INT2 CONTINUE INT1 JSB XBKSP,I BACK UP ONE CHARACTER LDA NUM LOAD NUMBER JMP INTCK,I RETURN * * CHECK NUMBER FOR VALID SUBCHANNEL * SUBCK NOP P STB 0 SAVE # IN A ADA .-4 SSA VALID? JMP SUBC2 * * INVALID SUBCHANNEL * SUBC1 EQU * LDA .+20 "INVALID SUBCHANNEL". LDB INVLA JSB T35DR,I JMP INCMA,I RE-INPUT COMMAND SUBC2 STB LTEMP CLA,INA RBR,SLB CHECK STATUS ON REQUESTED DISC RSS CLA STA DDRVA,I JSB DDSTA,I LDB LTEMP JMP SUBCK,I DDRVA DEF SDRIV DDSTA DEF DISST * * CHECK FOR VALID SELECT CODE * SCHEK NOP STA 1 SAVE IT IN B ADB .-10B SUBTRACT 10B SSB JMP SCHK1 ERROR - TOO SMALL ADB M67B SUBTRACT 67B SSB,RSS JMP SCHK1 ERROR - TOO LARGE JMP SCHEK,I OK - RETURN * SCHK1 LDA .+22 LDB SCERA "INVALID SELECT CODE" JSB T35DR,I I JMP INCMA,I RE-INPUT COMMAND * SCERR NOP MAG. TAPE S.C. IS INVALID. SCR1 LDA .+222 LDB SCERA JSB T35DR,I LDA .+22 LDB SCERM "RE-INPUT SELECT CODE JSB T35DR,I CLA JSB T35DR,I JSB INTCK CONVERT SC STA 1 ADB .-10B VALID? SSB JMP SCR1 ADB M67B SSB,RSS JMP SCR1 JMP SCERR,I OK- RETURN LBBUF DEF SYSLI LABEL SYSLI NOP BUFFER LABEL ASC 1,TS BSS 3 SKP SKP * MAG TAPE SLEEP * * SLEEP EQU * CLF 0 LDA .+14 LDB MAGTP "SELECT CODE?" JSB T35DR,I CLA JSB T35DR,I JSB OCTIN,I CHECK FOR OCTAL INTEGER STA 1 ADB .-10B IS SELECT CODE VALID? SSB JSB SCERR NO. ADB M67B SSB,RSS JSB SCERR NO. * * SELECT CODE IS OK * JSB CONMG,I CONFIGURE MAG TAPE DRIVER * * MAG TAPE IS READY * JSB MGTPA,I OCT 3 REWIND TAPE * * DUMP TO MAG TAPE * CLA STA SFLGA,I CLEAR SELECTIVE FLAG * * DUMP EQUIPMENT TABLE TO TAPE * * LDA .-5 OUTPUT ID AND LABEL TO TAPE STA WORDA,I LDA XB100 LDB TBFI INPUT FROM DISC JSB DISCL,I LDA .-5 LDB TBUFA A JSB MWRIT LDA XB111 LENGTH LDB XB100 ADDRESS JSB MWRIT * LDA IDTTA SET UP TO DUMP STA IDTRA ID TRACKS LDA IDTRL STA IDTLA LDA .-4 FOUR TRACKS STA TCNTA,I I MSLP2 LDA IDTRL,I GET SZA,RSS JMP MSLP1 ZERO => EMPTY STA WORDA,I READ LDA IDTRA,I ID LDB TBFI TRACK JSB DISCL,I LDA WORDA,I OUTPUTU LDB TBUFA IT JSB MWRIT MSLP1 ISZ IDTRL NEXT ISZ IDTRA TRACK ISZ TCNTA,I DONE? JMP MSLP2 NO * * NOW PREPARE LIBRARY * FOR SYSTEM DISC * LDA ADLEN INPUT STA WORDA,I ADT LDA ADLOC CU LDB TBFI JSB DISCL,I * LDB TBUFA STB LTEMP LDB X203 STB TCNTA,I LDB TRTBA CLEAR LDA .+48 TRACK MSLP3 STA 1,I TABLE INB ISZ TCNTA,I I HFBJMP MSLP3 * MSLP6 LDA LTEMP,I LOAD ADT ENTRY AND XDMSK CPA XB100 RSS YES JMP MSLP4 LDA LTEMP,I CLB LSR 7 GET TRACK # ADA TRTBA COMPUTE ISZ LTEMP IN TRACK TABLE LDB LTEMP,I LOAD LENGTH OF TRACK SZB,RSS IF ZERO - IGNORE JMP MSLP5-1 CMB,INB ADB .+48 STB 0,I STORE IN TRACK TABLE MSLP5 ISZ LTEMP JMP MSLP6 BACK FOR MORE * * MSLP4 LDB XB100 CLEAR ADB .+13 TRACK LDA 1,I TABLE CLB UP LSR 7 TO ADA TRTBA LAST STA LTEMP DIRECTORY LDB TRBLA TRACK CLA A* MSP13 EQU * STA 1,I CPB LTEMP JMP MSP14 INB JMP MSP13 MSP14 LDA X203 LDB TRTBA A JSB MWRIT * * NOW START DUMPING * THE TRACKSK * LDA XB100 STA DSCA,I INITIALIZE DISC ADDRESS JSB DLIB DUMP THE LIBRARY LDA XB100 SET DIRECTORY STA DRPA,I JSB DDRC DUMP DIRECTORY * CH  24285-80005 1534 S 0122 TSB/F LOADER UTILITY (2000/F)             H0101  SKP * * NOW DUMP ALL USER DISCS * MSP0 EQU * LDA DRPA,I CPA DRD32 JMP MSP12 ADA .+14 POINTER TO STA DRPA,I NEXT DISC ADA .+6 FORM LDA 0,I BASIC SZA,RSS DISC ADDRESS JMP MSP0 IF 0 THEN NONEXISTENT DISC AND XDMSK STA DSCA,I * LDA ADLEN INPUT STA WORDA,I ADT CLA STA TRTBA,I SET NEW ADT LENGTH=0 LDA ADLOC LDB TBFI JSB DISCL,I * LDA TBUFA EXTRACT ADT STA LTEMP FOR THIS DISC MSP4 LDA LTEMP,I CPA .-1 END OF TABLE? JMP MSP2 YES - NO ADT FOR THIS DISC AND XDMSK IS INTRY CPA DSCA,I FOR THIS DISC? JMP MSP3 YES ISZ LTEMP ISZ LTEMP JMP MSP4 MSP3 LDA LTEMP NOW LOOP STA LTEMP+1 FOR END MSP6 ISZ LTEMP ISZ LTEMP LDA LTEMP,I I CPA .-1 END OF TABLE? JMP MSP5 AND XDMSK IS IT FOR THIS CPA DSCA,I JMP MSP6 YES MSP5 LDA LTEMP COMPUTE # OF WORDS CMA,INA IN THIS ADT SECTION ADA LTEMP+1 1 STA WORDA,I STA TRTBA,I LDA DSCA,I OUTPUT ADA .+2 ADT LDB LTEMP+1 TO JSB DISCL,I DISC LDB DRPA,I DUMP ADT LDA 1,I AND MSP2 EQU * * STA TRTB1,I DIRECTORY ADB .+7 TRACK LDA 1,I LENGTHS STA TRTB2,I TO LDA .-3 TAPE STA WORDA,I OUTPUT LDA DSCA,I ADT AND DIRECTORY STA DISC1 INA TRACK LDB TRTBA LENGTHS JSB DISCL,I TO JMP SD3+2 DISC * SD2 EQU * LDA WORDA,I OUTPUT ADT LDB LTEMP+1 TO MAG TAPE JSB MWRIT * * NOW FROM TRACK TABLE * * LDB X203 INITIALIZE STB 9TCNTA,I TABLE LDB TRTBA LDA .+48 STA 1,I INB ISZ TCNTA,I JMP *-3 3 CLA TRACKS 0,1,2 STA TRTBA,I STA TRTB1,I STA TRTB2,I * LDB LTEMP (LTEMP)=> DISC ADDRESS ADB .-2 PSEUDO ENTRY. STB LTEMP MSP8 LDA LTEMP,I A=DISC ADDRESS ISZ LTEMP LTEMP=> LENGTH LDB LTEMP,I B=LENGTH SZB,RSS =0? JMP MSP17 YES. LEAVE IT 0. AND PD77,I NO. ISOLATE SECTOR ADDRESS. ADA B REMAINDER OF TRACK AVAILABLE? CPA .+48 RSS CLB NO. PUT 48 INTO TABLE. CMB,INB YES. SET PROPER NUMBER. ADB .+48 MSP17 STB LTEMP+2 LDB LTEMP GET ADB .-1 ADDRESS STB LTEMP LDA 1,I AND XM64 ISOLATE TRACK PART STA LTEMP+3 LSR 7 AND XB377 ISOLATE TRACK ADA TRTBA COMPUTE TRACK ADRESS LDB LTEMP+2 STB 0,I STORE LENGTH * * LDB LTEMP GET NEXT ADB .-2 ADT ENTRY LDA 1,I BACK AND XM64 SAME TRACK? CPA LTEMP+3 3J JMP *-4 STB LTEMP NEW TRACK ADB .+2 END OF ADT? CPB LTEMP+1 RSS YES. JMP MSP8 NO. * MSP7 LDA D203 OUTPUT LDB TRTBA TRACK JSB MWRIT * JSB DLIB DUMP LIBRARY TRACKS JSB DDRC DUMP DIRECTORIES LDA SFLGA,I SELECTIVE DUMP? SZA,RSS JMP MSP0 NO. JSB MGTPA,I YES. REWIND. OCT 3 JMP INCMA,I * SKP * * ALL USER PROGRAMS AND FILES * HAVE BEEN DUMPED TO MAG TAPE * NOW DUMP SYSTEM * THE FIRST RECORD IS: * DEC -5 * SEG1L DEC -1024 * SEG1A DEF ORG1 * SEG2L DEC -6144 * ; SEG2A DEF ORG2 * SEG3L DEC -6144 * SEG3A DEF ORG3 * SEG4L DEC -20 * SEG4A DEF ORG4 * MSP12 EQU * LDA .-9 LDB SEGT JSB MWRIT * LDA SEG1L INPUT STA WORDA,I FIRST LDA SEG1D,I DISC LDB TBFI JSB DISCL,I JSB WRTTP WRITE TAPE LDA SEG2L READ STA WORDA,I SEGMENT LDA SEG2D,I TWO LDB TBFI JSB DISCL,I JSB WRTTP WRITE TO TAPE LDA SEG3L READAx STA WORDA,I SEGMENT LDA SEG3D,I THREE LDB TBFI JSB DISCL,I JSB WRTTP LDA SEG4L OUTPUT LDB SEG4A LOADER JSB MWRIT TABLE * * NOW GET SYSTEM OVERLAYS * LDA X128 STA WORDA,I LDA COM6A,I LIBRARY STA LTEMP LDA LTEMP,I LDB SLOLI JSB DISCL,I LDA WORDA,I LDB SLOLA JSB MWRIT LDA SLOLA LDB 0,I INB STB DTMP0 INA STA XADR1 ISZ LTEMP MSP11 LDA XADR1,I IN STA WORDA,I IN LDA LTEMP,I LDB TBFI JSB DISCL,I JSB WRTTP WRITE ISZ LTEMP ISZ XADR1 ISZ DTMP0 JMP MSP11 * JSB MGTPA,I EOF OCT 2 JMP EFA,I I JMP TPE,I JSB MGTPA,I REWIND OCT 5 & STANDBY * * SLEEP IS COMPLETE * LDA .+18 LDB SLCOM "SLEEP COMPLETE" JSB T35DR,I * JMP MAINA,I * * DUMP LIBRARY TRACKS * DLIB NOP LDA X2030 STA TCNTA,I LDA TRTBA STA LTEMP MSLP8 LDA LTEMP,I SZA,RSS ZERO LENGTH? JMP MSLP7 ASL 7 COMPUTE LENGTH STA LTEMP+1 ADA X3072 SSA,RSS JMP MSLP9 MSPL2 LDA LTEMP+1 dd CMA,INA STA WORDA,I MSPL1 EQU * LDA DSCA,I INPUT LIBRARY TRACK LDB TBFI JSB DISCL,I LDA WORDA,I LDB TBUFA TO TAPE JSB MWRIT LDA LTEMP+1 ADA WORDA,I STA LTEMP+1 SZA,RSS JMP MSLP7 CMA,INA A& STA WORDA,I LDB TBFI LDA DSCA,I, ADA .+242 JMP MSPL1+2 MSLP7 LDA DSCA,I GO ADA XB200 TO STA DSCA,I NEXT ISZ LTEMP TRACK ISZ TCNTA,I ALL DONE? JMP MSLP8 NO JMP DLIB,I YES * MSLP9 SZA,RSS JMP MSPL2 LDA X3072 2 STA WORDA,I JMP MSPL1 1e SKP * * DUMP DIRECTORY TRACKS * DDRC NOP LDA DRPA,I LOAD LDA 0,I DIRECTORY STA WORDA,I FROM LDA DRPA,I DISC ADA .+6 DISC STA DRPA,I LDA 0,I LDB TBFI JSB DISCL,I * LDA WORDA,I LDB TBUFA TO MAG TAPE JSB MWRIT * ISZ DRPA,I LDA DRPA,I CHECK 2ND LDA 0,I TRACK SZA,RSS ZERO LENGTH => EMPTY JMP MSPL9 STA WORDA,I LDA DRPA,I ADA .+6 LDA 0,I LDB TBFI JSB DISCL,I * LDA WORDA,I LDB TBUFA JSB MWRIT MSPL9 EQU * JSB MGTPA,I OCT 2 JMP EFA,I I JMP TPE,I * LDA DRPA,I ADA .-7 DIRECTORY STA DRPA,I JMP DDRC,I * * WRITE SEGMENT TO TAPE * WRTTP NOP LDA WORDA,I LDB TBUFA JSB MWRIT JMP WRTTP,I * MREAD NOP PW JSB MGTPA,I OCT 0 JMP EFA,I JMP TPE,I JMP MREAD,I * MWRIT NOP JSB MGTPA,I OCT 1 JMP EFA,I JMP TPE,I xx JMP MWRIT,I * * INITIALIZE DISC DATA * DINIT NOP P STA DINT1 SET DISC LDA INITC DRIVER STA WRTA,I FOR INITIALIZATION LDA ERRT * STA ERRTA,I LDA DINT1 JSB DISCL,I GO TO DISC DRIVER LDA WRTC RESET TO STA WRTA,I NORMAL WRITE LDA HLT11 STA ERRTA,I JMP DINIT,I * DINTR ISZ DINIT ERROR RETURN JMP *-6 INITC OCT 110000 WRTC OCT 10000 ERRT RSS mm ERRTA DEF DRV1 HLT11 HLT 11B * ** MOVE BLOCK OF MEMORY ROUTINE * * MOVEW NOP SSB,INB,RSS JMP MOVEW,I LDA MOVES,I STA MOVED,I ISZ MOVES ISZ MOVED JMP MOVEW+1 * ** MOVE BACKWARDS * MOVEB NOP SSB,INB,RSS JMP MOVEB,I LDA MOVES,I STA MOVED,I LDA MOVES ADA .-1 STA MOVES LDA MOVED ADA .-1 STA MOVED JMP MOVEB+1 MOVES NOP MOVED NOP * * DINT1 NOP WRTA DEF WRITE NMOTP DEF NUMOT SEGT DEF *+1 DEC -5 SEG1L DEC -1024 SEG1A DEF ORG1 SEG2L DEC -6144 4| SEG2A DEF ORG2 SEG3L DEC -6144 4 SEG3A DEF ORG3 SEG4L DEC -21 SEG4A DEF ORG4 SEG1D DEF DEQTA SEG2D DEF LDRTT SEG3D DEF LDRTT+1 ORG1 EQU 0 ORG2 EQU 14000B ORG3 EQU ORG2+6144 ORG4 EQU 4000B WORDA DEF WORDC C MAINA DEF MAIN X203 DEC -203 D203 EQU X203 XM64 DEC -64 MAGTP DEF .MGTP OCTIN DEF INTCK SLCOM DEF .SLCM TBUFA DEF TBUFR TRTBA DEF TRTBL DSCA DEF DISCA DRPA DEF DRP TBFI DEF TBUFR,I TRBLA DEF TRTBL TRTB1 DEF TRTBL+1 TRTB2 DEF TRTBL+2 XB377 OCT 377 X3072 DEC -3072 X128 DEC -128 D200 DEC 200 PD77 DEF D.77 INTGI DEF INTGR COM6A DEF COM6 XB200 OCT 200 XADR1 NOP SUB1 NOP ,, SUB2 NOP DISC1 NOP DISC2 NOP DAD1 NOP DAD2 NOP COPMS DEF .CPMS INCMA DEF INCOM ADTTA DEF ADTTT TCNTA DEF TCNT INBFR DEF INBUF GETCH DEF GETCR XBKSP DEF XBSP CERRA DEF CERR FSUBB DEF FSUB CONMG DEF MTDIN DISCL DEF DISCD T35DR DEF TTY35 MGTPA DEF MGTDR TPE DEF TPERR EFA DEF EOFER SCERA DEF .SCER SCERM DEF .SCEM XB400 OCT 400 LD53A DEF LDR53 XB100 OCT 100 BAD NOP ADTT DEF ADp^TBL Ln SFLGA DEF SFLAG ADTP NOP X6144 DEC -6144 XD48 DEC 48 M67B OCT -67 INF1 OCT 77777 DL1 NOP DL2 NOP SYMSF DEF SYMSA LBMES DEF LBMSA M70B OCT -70 NUM NOP INVLA DEF INVLD XB111 OCT -111 XDMSK OCT 100100 DRD32 DEF 100B+42 SLOLA DEF SLOL DTMP0 OCT 0 SLOLI DEF SLOL,I PLABC DEF LABCK FCKP DEF FCHEK TRTBL BSS 204 PLBCK DEF LABCK FCHKP DEF FCHEK .MGTP OCT 6412 ASC 6,SELECT CODE? .SLCM OCT 5123 ASC 7,LEEP COMPLETE INVLD OCT 6412 ASC 9,INVALID SUBCHANNEL .CPMS OCT 6412 ASC 7,COPY COMPLETE .SCER OCT 6412 ASC 10,INVALID SELECT CODE .SCEM OCT 6412 ASC 10,RE-INPUT SELECT CODE DDBAD OCT 6412 ASC 10,TRACK 0,1, OR 2 BAD OCT 6412 ASC 10,CANNOT USE THIS DISC SLOL EQU TRTBL HED PACK USER DISC ROUTINE PACK JSB PINT,I GET SUBCHANNEL NUMBER (D) JSB PSBCK,I VALID? IS DISC READY? (D) SZB,RSS (D) JMP PINVL,I ZERO NOT ALLOWED (D) JSB FSUBP,I GET DISC ADDRESS STA PDISC SAVE DISC ADDRESS * LDA .-5 READ LABEL FROM DISC. STA WORDD,I LDA PDISC LDB PTBFI JSB DISCP,I JSB FCHKP,I CHECK USER DISC FLAG. JSB PLBCK,I CHECK LABEL FOR USER DISC. * LDA .-3 READ STA WORDD,I LENGTHS TABLE LDA PDISC FROM DISC INA LDB PDLNI JSB DISCP,I * LDA PADLN READ STA WORDD,I ADT LDA PDISC FROM ADA .+2 DISC STA PDLOC LDB PTBFI JSB DISCP,I I LDA PTBUF SET POINTERS STA PADR CMA,INA A& ADA PADLN END POINTER CMA,INA STA PADEN * PAC1 LDB PADR CPB PADEN JMP PACKE E INB LDA 1,I GET LENGTHS SZA,RSS JMP PAC2 FULL CPA .+48 JMP PAC2 EMPTY ADB .-1 PACK STB PADR TRACK LDA 1,I AND PM64 GET TRACK ADDRESS STA PDAD SAVE IT LDA PADLN OUTPUT STA WORDD,I ADT LDA PDLOC TO LDB PTBUF DISC JSB DISCP,I * LDA STAB SET TABLE POINTERS STA LTEMP+3 STA LTEMP+4 LDA PDAD STA LTEMP+1 STA LTEMP+2 LDA PDRL1 LOAD FIRST DIRECTORY TRACK STA WORDD,I LDA PDISC ADA P200 LDB PTBFI I JSB DISCP,I CLA STA DFLAG SET FLAG TO SAY TRACK 1 PAC7 CLA STA LTEMP+6 SET NO CHANGE FLAG LDB WORDD,I CMB,INB COMPUTE END OF TABLE ADB PTBUF PAC3 CPB PTBUF DONE? JMP PAC4 YES ADB .-2 B=> DISC ADR OF ENTRY LDA 1,I AND PM64 GET TRACK PART CPA PDAD RIGHT TRACK? JMP PAC5 YES ADB .-6 NO JMP PAC3 PAC5 LDA 1,I GET DISC ADDRESS STA LTEMP+3,I AGAIN LDA LTEMP+1 ASSIGN NEW ADDRESS STA 1,I INB LDA 1,I GET LENGTH ARS,ARS ARS,ARS ARS,ARS ARS CMA,INA UPDATE ADA LTEMP+1 TABLE STA LTEMP+1 ISZ LTEMP+3 STA LTEMP+3,I ISZ LTEMP+3 ISZ LTEMP+6 WRITE DIRECTORY BACK ADB .-7 JMP PAC3 * PAC4 LDA LTEMP+6 SZA,RSS JMP PAC6 NO CHANGE TO DIRECTORY LDA DFLAG SZA JMP PAC48 WE'VE DONE BOTH TRACKS LDA PDISC WRITE ADA P200 DIRECTORY OUT LDB PTBUF JSB DISCP,I PAC42 EQU * LDA PDRL2 STA WORDD,I LDA PDISC ADA P400 LDB PTBFI JSB DISCP,I ISZ DFLAG JMP PAC7 PAC6 LDA DFLAG SZA JMP PAC41 JMP PAC42 PAC2 INB JMP PAC1+1 PAC48 LDA LTEMP+6 SZA,RSS JMP PAC41 LDA PDISC ADA P400 LDB PTBUF JSB DISCP,I * PAC41 LDA LTEMP+4 DONE? CPA LTEMP+3 JJ JMP PAC8 YES DLD LTEMP+4,I NO CMB,INB ADB LTEMP+2 CLA ASL 7 STB WORDD,I LDB LTEMP+2 READ LSL 10 FROM LSR 3 DISC ADB PTBFI TO LDA LTEMP+4,I CORRECT JSB DISCP,I NEW ISZ LTEMP+4 POSITION LDA LTEMP+4,I STA LTEMP+2 ISZ LTEMP+4 JMP PAC41 * PAC8 LDA LTEMP+2 WRITE CMA,INA PACKED ADA PDAD TRACK ASL 7 TO STA WORDD,I DISC LDA PDAD LDB PTBUF JSB DISCP,I * LDA PADLN READ STA WORDD,I ADT LDA PDLOC TABLE LDB PTBFI JSB DISCP,I LDB PTBUF PAC81 LDA PDAD CMA,CLE,INA ADA 1,I SEZ JMP *+3 HH ADB .+2 JMP PAC81 * STB LTEMP+1 IS ENTRY LDA 1,I ON THIS AND PM64 TRACK CPA PDAD JMP PAC82 YES * LDA PDAD IS TRACK ADA .+48 CPA LTEMP+2 JMP PAC83 YES LDB PADLN NO ADB .-2 MAKE STB PADLN ROOM FOR CMB NEW ADB PTBUF ENTRY STB PMVD,I ADB .-2 STB PMVS,I CMB ADB LTEMP+1 JSB PMVB,I JMP PAC84 * PAC82 ADB .+2 SEARCH LDA 1,I FOR ENTRY NOT ON THIS TRACK AND PM646 CPA PDADA JMP PAC82 STB PMVS,I ADB PADLN STB PMVD,I LDB PTBUF CMB,INB B ADB PMVD,I LDA PDAD ADA .+48 CPA LTEMP+2 CLA,RSS LDA .+2 ADA LTEMP+1 STA PMVD,I JSB PMVW,I LDA PMVD,I CMA,INA ADA PTBUF STA PADLN LDA PDAD ADA .+48 CPA LTEMP+2 JMP PAC83 * PAC84 LDB LTEMP+2 O CMB,INB ADB PDAD ADB .+48 LDA LTEMP+2 DST LTEMP+1,I * * PAC83 LDA PADLN CMA,INA ADA PTBUF FQ STA PADEN ISZ PADR ISZ PADR JMP PAC1 * * PACKE LDA PADLN OUTPUT STA WORDD,I ADT LDA PDLOC TO LDB PTBUF DIS JSB DISCP,I LDA .-3 STA WORDD,I LDA PDISC OUTPUT INA LENGTHS LDB PDLNA TO JSB DISCP,I DISC * * SECTOR PACK COMPLETE * NOW PACK TRACKS * LDA PTBUF SET STA PADR POINTERS STA PADRT CMA,INA ADA PADLN CMA,INA STA PADEN * PAK11 LDB PADR LOAD INB TRACK LDA 1,I LENGTH SZA,RSS JMP PAK1 PSEUDO ENTRY. ADB .-1 NOT FULL. STB PADR UPDATE ADB .+2 POINTERS STB PADRT PAK22 INB LDA 1,I LOAD TRACK LENGTH SZA,RSS JMP PAK2 CPA .+48 JMP PAK2 CMA,INA GET LENGTH ADA .+48 OF TRACK CMA,INA STA PADDL LDB PADR INB WILL ADA 1,I IT FIT? SSA JMP PAK2 NO * STA LTEMP+1 SAVE LENGTH LEFT LDA PADR,I SAVE STA LTEMP+2 NEW DISC ADDRESS LDA PADRT,I SAVE AND PM64 STA PADRT,I STA LTEMP+3 CURRENT TRACK ADDDRESS LDA PADRT T* INA SET LDB .+48 TRACK STB 0,I EMPTY LDB PADR LENGTH LDA LTEMP+1 UPDATE CMA,INA ADA .+48 DISC STA LTEMP+4 4 LDA PADR,I ADDRESS AND PM64 ADA LTEMP+4 STA PADR,I INB LEFT LDA LTEMP+1 STA 1,I SZA A JMP PAK3 NOT FULL * LDA PADR FULL STA PMVD,I SO ADA .+2 DELETE STA PMVS,I DELETE ENTRY LDB PTBUF CMB,INB ADB PADLN ADB PMVS,I JSB PMVW,I LDA PADLN ADA .+2 STA PADLN STA WORDD,I WRITE PAK3 LDA PDLOC ADT LDB PTBUF TO JSB DISCP,I DISC * LDA PADDL READ ASL 7 IN TRACK STA WORDD,I LDA LTEMP+3 LDB PTBFI JSB DISCP,I LDA LTEMP+2 OUTPUT LDB PTBUF TO JSB DISCP,I NEW LOCATION LDA LTEMP+3 SET CMA,INA MODIFICATION ADA LTEMP+2 VALUE STA LTEMP+4 * UPDATE DIRECTORIES * CLA STA DFLAG LDA PDRL1 READ IN STA WORDD,I FIRST DIRECTORY TRACK LDA PDISC ADA P2000 LDB PTBFI JSB DISCP,I LDB PDRL1 CMB,INB ADB PTBUF PAK5 CPB PTBUF DONE? JMP PAK7 YES ADB .-2 LOAD LDA 1,I DISC ADDRESS AND PM646 CPA LTEMP+3 ON OLD TRACK? JMP PAK6 YES PAK61 ADB .-6 JMP PAK5 PAK6 LDA 1,I ADA LTEMP+4 MODIFY ADDRESS STA 1,I JMP PAK61 PAK7 LDA DFLAG SZA JMP PAK71 SECOND TRACK ISZ DFLAG LDA PDISC ADA P200 LDB PTBUF JSB DISCP,I OTPUT DIRECTORY LDA PDRL2 STA WORDD,I INPUT LDA PDISC 2ND ADA P400 DIRECTORY LDB PTBFI TRACK JSB DISCP,I LDB PDRL2  JMP PAK5-2 PAK71 LDA PDISC OUTPUT ADA P400 TO LDB PTBUF DISC JSB DISCP,I LDA PADLN RELOAD STA WORDD,I ADT LDA PDLOC LDB PTBFI JSB DISCP,I LDA PADLN CMA,INA ADA PTBUF STA PADEN JMP PAK11 * PAK2 LDB PADRT END OF ADT? ADB .+2 CPB PADEN JMP PAK1 YES STB PADRT T] JMP PAK22 PAK1 XB@ END ADDRESS SZA,RSS JMP IODP,I YES RETURN s+ LDB A ADB M60 IS IT GREATER 60 WORDS SSB,RSS ? LDA B60 YES SET ONE BLOCK STA IOCT SAVE COUNT ALF,ALF MOVE TO UPPER HALF LDB B2 GET FLAG JSB IOD,I OUTPUT COUNT LDA IODAD SET STARTING ADDRESS STA IOCKM SET CHECKSUM LDB IODAD MOVE IT UP BY COUNT ADB IOCT STB IODAD CLB JSB IOD,I OUTPUT STARTING ADDRESS IOD2 LDA IOADD,I GET CONTENTS CLB JSB IOD,I AND OUTPUT IT ADA IOCKM ADD TO CHECKSUM STA IOCKM ISZ IOADD MOVE TO NEXT ADDRESS CCA ADA IOCT SUBTRACT 1 FROM COUNT STA IOCT SZA IS THAT ALL? JMP IOD2 NO LDA IOCKM YES CLB JSB IOD,I OUTPUT CHECKSUM JMP IOD1 DO NEXT SECTION SKP * THE FOLLOWING ARE I O ROUTINES USED * BY THE PROGRAM IN THE CENTRAL COMPUTER. * LIA NOP LIA SC JMP LIA,I * LIB NOP LIB SC JMP LIB,I * OTA NOP OTA SC JMP OTA,I * OTB NOP OTB SC JMP OTB,I * STCC NOP STC SC,C JMP STCC,I * CLCC NOP CLC SC,C JMP CLCC,I * SFS NOP SFS SC JMP SFS,I ISZ SFS JMP SFS,I * SFC NOP SFC SC JMP SFC,I ISZ SFC JMP SFC,I * CLF NOP CLF SC JMP CLF,I * WSFS NOP STA WSFSA SAVE A CLA JSB SFC JMP *+4 INA,SZA JMP *-3 JMP *+2 ISZ WSFS LDA WSFSA RESTORE A JMP WSFS,I RETURN WSFSA NOP SKP * * CONSOLE CHECK ROUTINE * CNCK NOP C.SFC SFC SC ANY FLAG FROM OPERATOR? JMP *+3 YES ISZ CNCK NO RETURN P+2 JMP CNCK,I CLA SET INTERRUPT AGAIN JSB CID,I CLA JMP CNCK,I RETURN P+1 * CLCLD NOP CLC [SC,C CLEAR LOAD DEVICE FOR PRIORITY JMP CLCLD,I * ERMS0 CLA,CLE TELL OPEDRATOR OF LOADING CROSS LINK ERROR LDB IODLE GET POINTER TO MESSAGE JSB FMTO,I HLT 60B WAIT FOR OPERATOR JMP IODRS RESTART LOADER * ERMS1 CLA,CLE REPORT CROSS LINK ERROR LDB IODEM GET POINTER TO MESSAGE JSB FMTO,I OUTPUT IT JMP RSTRT,I * * * BUF2A NOP CLE,ERB ADJUST UPPER/LOWER LDA B,I GET 2 CHARACTERS SEZ,RSS IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND B377 MASK UNWANTED BYTE JMP BUF2A,I RETURN * * A2BUF NOP STA A2BSV SAVE THE CHARACTER SLB,INB BET OPPSITE CHARACTER ADB M2 JSB BUF2A ALF,ALF MOVE TO UPPER IOR A2BSV ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED ALF,ALF YES STA B,I STORE IT JMP A2BUF,I RETURN * A2BSV NOP SKP IOCT NOP IOSC NOP IOD NOP IODSV NOP IODVR NOP IODF NOP IODCT NOP LNKPG NOP IOADD NOP IODAD NOP IOCKM NOP IOEAD NOP RSTRT NOP IOIJB JSB *+1,I NOP SFC. SFC SC CLCC. CLC SC,C * B2 OCT 2 B7 OCT 7 B12 OCT 12 B60 OCT 60 B77 OCT 77 B177 OCT 177 B377 OCT 377 B700 OCT 700 M1 OCT -1 M2 OCT -2 M3 OCT -3 M4 OCT -4 M10 OCT -10 M60 OCT -60 M100 OCT -100 * CR OCT 15 LF EQU B12 RC OCT 170017 REQUEST COMING TNW OCT 170360 TRANSMIT NEXT WORD SKP IODSC DEF *+1,I DEF LIA+1 DEF LIB+1 DEF OTA+1 DEF OTB+1 DEF STCC+1 DEF CLCC+1 DEF SFS+1 DEF SFC+1 DEF CLF+1 OCT 1 * IODPL DEF *+1 DEF D875 DUMP ROUTINE DEF O875 CONSOLE ROUTINE DEF P875 LINE PRINTER DEF L875 LOADER DEF X875 RESTART LOCATION DEF IN875 INTERRUPT LOCATION DEF D662 DUMP ROUTINE DEF O662 CONSOLE ROUTINE DEF P662 LINE PRINTER DEF L662 LOADER DEF X662 RESTART LOCATION DEF IN662 INTERRUPT LOCATION * IODM DEF *+1 OCT 6412 ASC 14,START I-O PROCESSOR LOADER ASC 01,// * CRLKM DEF *+1 ASC 19,DIAG. CONFIGURATOR CROSS LINK PROGRAM/ IOCEM DEF *+1 ASC 08,CHECKSUM ERROR/ IOPTM DEF *+1 ASC 23,LOAD DIAGNOSTIC CONFIGURATOR IN PHOTO READER, ASC 05,PRESS RUN/ IODLE DEF *+1 ASC 22,CROSS LOAD ERROR (PRESS RUN TO START AGAIN)/ IODEM DEF *+1 ASC 09,CROSS LINK ERROR/ SKP ORG 2000B * CLC INTP,C TURN OFF I/O JMP RSTRT,I RESTART PROGRAM * * * 1=FIRST TIME * 2=NEXT RECORD COUNT * 0=NEXT WORD * -1=END-OF TRANSMISSION (LOADING) * D875 NOP STA IODSV SAVE A SZB OUTPUT WORD? JMP D875A NO ALF,ALF YES DO IT JSB OTA JSB STCC TRANSFER IT JSB WSFS WAIT FOR ACCEPTANCE JMP ERMS0 REPORT TIME OUT ALF,ALF MOVE TO OTHER HALF JSB OTA DO IT JSB STCC JSB WSFS JMP ERMS0 LDA IODSV RESTORE A REG. JMP D875,I RETURN D875A SSB END OF TRANS? JMP D875B SLB,RSS RECORD COUNT? JMP D875+4 YES CLB SET TO LINK UP JSB OTB JSB STCC JSB SFS WAIT INDEFINATELY JMP *-1 JMP D875,I D875B CLA JSB OTA JSB STCC JSB WSFS WAIT FOR FLAG JMP *+2 JMP *-5 NOT DONE CLC INTP,C TURN OFF I/O SKP X875 EQU * CLA JSB CLF JSB CNCK CHECK FOR CONSOLE INTERUPT JSB IC875 PASS FLAG TO LINK JSB SFS WAIT FOR ANY FLAG JMP *-3 JSB LIA GOT ONE GET DATA STA IODSV SAVE INPUT CPA M1 FALSE END? JMP X875 YES n AND B377 CHECK IF CONTROL WORD SZA JMP ERMS1 NOT LINK ERROR LDA IODSV SZA,RSS JMP ERMS1 ZERO ISNT ALLOWED EITHER SSA,RSS IS IT A CONTROL WORD? JMP ERMS1 NO THEN ERROR RAL SSA LOADER? JMP .L875 YES RAL NO SSA LINE PRINTER? JMP .P875 YES RAL NO SSA CONSOLE OUTPUT? JMP .O875 YES RAL NO SSA CONSOLE INPUT? JMP .I875 YES JMP ERMS1 NONE OF THE ABOVE SO ERROR * * IN875 NOP CLF 0 TURN OFF INTERRUPTS JMP X875+6 * IC875 NOP JSB CLCC JSB STCC JMP IC875,I SKP .O875 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA CLEAR STA IOCT COUNT CLA JSB .R875 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB COD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JSB STCC JMP X875 RETURN FOR MORE * * .I875 EQU * CLA JSB .R875 GET COUNT CPA M1 INT. REQUEST ONLY? JMP N1875 YES SSA CANT BE NEG JMP ERMS1 OR ERROR STA IOCT SAVE COUNT CLA RESPOND TO COUNT JSB .R875 SZA MUST BE ZERO JMP ERMS1  JSB CLF LDA IOCT RESTORE COUNT LDB FWA GET BUFFER FOR INPUT STF 0 TURN ON INTERRUPTS JSB CID,I GO INPUT IT CLF 0 TURN OFF INTERRUPTS STA IODSV SAVE COUNT CMA,INA MAKE IT NEG. STA IODCT FOR COUNTER LDB FWA SET BUFFER POINTER RBL STB IOADD SZA,RSS ANY INPUT JMP CR875 NO - RESPOND WITH CR N0875 LDB IOADD GET A BYTE JSB BUF2A JSB .R875 OUTPUT IT CPA M1 END OF TRANSFER JMP EX875 YES SZA ACCEPTED JMP ERMS1 NO ISZ IOADD MOVE TO NEXT BYTE ISZ IODCT DONE? JMP N0875 NO CR875 LDA CR YES JSB .R875 OUTPUT IT LDB A CHANGE HANDS CLA CPB O875+5 CONSOLE OUTPUT CONTROL WORD? JMP CR875+1 YES CPB CR ? JMP CR875+1 YES CPB LF ? JMP CR875+1 CPB M1 TERMINATOR RSS JMP ERMS1 NONE SO ERROR JSB .R875 GET LAST TERMINATOR CPA M1 SHOULD BE -1 JMP EX875 JMP ERMS1 NO SO ERROR EX875 CLA RESPOND TO LAST WORD JSB OTA JSB STCC JMP X875 WAIT FOR MORE * N1875 CLA JSB CID,I CALL FOR INTERRUPT JMP EX875 SKP * CONSOLE CROSS LINK (12875) DRIVER * O875 ABS *-EC875 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+O.875+CSLO OUTPUT CONTROL WORD ABS OR875-* ROUTINE ABS JSB+.OUT DUMP BUFFER OCT 110000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+O.875+CSLO END OF OPERATION CLC SC,C PUT CARD IN RECEIVE MODE ABS JMP+CSLO+100000B RETURN O.875 EQU *-O875 OR875 NOP OTA SC TRANSFER CHARAC640TER STC SC,C SFS SC WAIT FOR RETURN ABS JMP+*-1-O875+CSLO LIA SC GET DATA ɐ6   24296-18013 1627 S 0122 CROSS LINK              H0101  ABS JMP+*-6-O875+CSLO+100000B NO RETURN OCT 0,0 * * I875 NOP ABS STA+COT SAVE COUNT AND ABS STA+BFA BUFFER ADDRESS ABS STA+*+6-I875+CSLI ABS JSB+SETP SETUP COUNT AND BUFFER POINTER ABS JSB+O.875+CSLO OUTPUT CONTROL WORD ABS IR875-* ABS JSB+.IN LOAD BUFFER OCT 104000 CONTROL WORD NOP COUNT NOP NO MORE NOP NO INTERRUPT INST ABS STA+CSLI-1 SAVE A REG CCA SEND ABS JSB+O.875+CSLO END OF OPERATION ABS LDA+CSLI-1 RESTORE A REG CLC SC,C LEAVE CARD IN RECEIVE MODE ABS JMP+CSLI+100000B RETURN IR875 NOP CLA ABS JSB+O.875+CSLO OUTPUT REQUEST ABS JMP+*-3-I875+CSLI+100000B EC875 EQU * SKP .P875 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA CLEAR STA IOCT COUNT CLA JSB .R875 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB LPD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JSB STCC JMP X875 RETURN FOR MORE * * * LINE PRINTER CROSS LINK (12875) DRIVER * P875 ABS *-EP875 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+P.875+LPTR OUTPUT CONTROL WORD ABS PR875-* ROUTINE ABS JSB+.OUT @ DUMP BUFFER OCT 120000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+P.875+LPTR END OF OPERATION CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RETURN P.875 EQU *-P875 PR875 NOP OTA SC TRANSFER CHARACTER STC SC,C SFS SC WAIT FOR RETURN ABS JMP+*-1-P875+LPTR ABS JMP+*-5-P875+LPTR+100000B NO RETURN EP875 EQU * SKP * CROSS LINK ROUTINE FOR LOADER * .L875 CLA JSB .R875 REQUEST A REG. STA .875A SAVE IT CLA JSB .R875 REQUEST B REG. STA .875B SAVE IT CLA JSB .R875 SHAKE HANDS SZA IS HIS HANDS DURTY? JMP ERMS1 YEP LDA .875A RESTORE A LDB .875B RESTORE B JSB DRI,I GO TO DRIVER STA .875A SAVE A STB .875C SAVE B LDB .875B GET ORIGINAL SSB IF REWIND OR FF JMP *+4 DO A CLC SC,C ON LOAD DEVICE SZB IF READING LEADER SZA OR TRAILER RSS JSB CLCLD CLEAR LOAD DEVICE JSB .R875 TRANSMIT A SZA DID HE GET IT? JMP ERMS1 NO LDA .875C JSB .R875 TRANSMIT B CPA M1 DID HE GET IT? RSS JMP ERMS1 NO JSB STCC TERMINATE TRANSMISSION JMP X875 RETURN AND WAIT .875A NOP .875B NOP .875C NOP * .R875 NOP JSB OTA JSB STCC TRANSMIT IT JSB WSFS WAIT FOR REWPONSE JMP ERMS1 NONE SO ERROR JSB LIA GET THE DATA JMP .R875,I YES RETURN SKP * LOADER CROSS LINK (12875) DRIVER * L875 ABS *-LE875 ABS STA+L875A+LD SAVE A & B REGISTERS ABS STB+L875B+LD ABS JSB+LR875+LD OUTPUT CONTROL WORD OCT 140000 SZA IS RETURN 0 ABS JMP+LH875+LD A NO THEN LINK ERROR ABS JSB+LR875+LD OUTPUT A-REG. L875A EQU *-L875 NOP SZA RETURN 0? ABS JMP+LH875+LD NO THEN LINK ERROR ABS JSB+LR875+LD OUTPUT B-REG. L875B EQU *-L875 NOP SZA IS RETURN 0 ABS JMP+LH875+LD NO THEN ERROR ABS JSB+LR875+LD REQUEST A NOP ABS STA+L875A+LD ABS JSB+LR875+LD REQUEST B NOP ABS STA+L875B+LD ABS JSB+LR875+LD OUTPUT TERMINATOR DEC -1 ABS LDA+L875A+LD ABS LDB+L875B+LD ABS JMP+LD+100000B RETURN * LH875 EQU *-L875 OCT 106073 ERROR HALT CCA ABS JMP+LD+L875+100000B RETURN EOF * LR875 EQU *-L875 NOP ABS LDA+*-1-L875+LD+100000B ABS ISZ+*-2-L875+LD OTA SC STC SC,C SFS SC ABS JMP+*-1-L875+LD LIA SC ABS JMP+LR875+LD+100000B RETURN LE875 EQU * SKP D662 NOP STA IODSV SAVE A REG SZB IS IT A WORD JMP D662A NO JSB OTA OUT PUT WORD JSB WSFS WAIT FOR COMPLETION JMP ERMS0 JSB LIA CPA TNW RSS JMP ERMS0 REPORT ERROR LDA IODSV RESTORE A REG JMP D662,I GOOD RETURN D662A SSB IS IT END OF TRANS JMP D662C YES ALF,ALF CMA,INA MAKE COUNT NEG STA IODCT AND SAVE IT SLB,RSS FIRST TIME THROUGH JMP D662+4 NO NORMAL WORD D662B JSB CLCC PUT CARD IN RECEIVE MODE JSB SFS WAIT FOR FIRST FLAG JMP *-1 JSB LIA GET DATA CPA RC IS REQUEST COMMING? JMP *+2 JMP D662B NO WAIT FOR START LDA TNW GET TRANSMIT NEXT RECORD JSB OTA TRANSMIT IT JSB WSFS NOW WAIT ONLY SHORT TIME JMP ERMS0 JSB LIA GET DATA CPA M2 SECOND WORD -2? JMP *+2 YES JMP D662B NO TRY AGAIN LDA TNW TRANSMf]IT NEXT WORD JSB OTA JSB WSFS WAIT FOR IT JMP ERMS0 JSB LIA GET DATA CPA B2 IS IT +2? JMP *+2 YES JMP D662B NO TRY AGAIN LDA TNW TRANSMIT NEXT WORD JSB OTA JSB WSFS WAIT FOR RESPONSE JMP ERMS0 NONE SO ERROR JSB LIA DISCARD DATA LDA TNW TRANSMIT NEXT WORD JSB OTA JSB WSFS WAIT FOR IT JMP ERMS0 NO RESPONSE SO ERROR JSB LIA DISCARD DATA JMP D662,I RETURN SKP D662C LDA RC GET REQUEST COMMING JSB OTA OUTPUT IT JSB WSFS WAIT FOR COMPLETION JMP *+4 NO MORE FLAGS SO CONTINUE JSB LIA GOT A FLAG SO GET THE DATA CLA SEND DUMMY JMP *-5 CLC INTP,C TURN OFF I/O X662 EQU * JSB LIA DUMY LOAD JSB CLCC PUT CARD IN RECEIVE JSB CNCK CHECK FOR CONSOLE INTERRUPT JSB OTA PASS INTERRUPT ON JSB SFS WAIT FOR FLAG JMP *-3 JSB LIA GET DATA STA IODSV SAVE IT CPA M1 TERMINATOR? JMP X662 YES AND B377 SZA IS IT A CONTROL WORD? JMP ERMS1 NO ERROR LDA IODSV SZA,RSS JMP ERMS1 SSA,RSS IS IT A CONTROL WORD? JMP ERMS1 NO THEN ERROR RAL SSA LOADER? JMP .L662 YES RAL NO SSA LINE PRINTER? JMP .P662 YES RAL NO SSA CONSOLE OUTPUT? JMP .O662 YES RAL NO SSA CONSOLE INPUT? JMP .I662 YES JMP ERMS1 NONE OF THE ABOVE SO ERROR * * IN662 NOP CLF 0 TURN OFF INTERRUPTS JMP X662+6 SKP .O662 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA ~ CLEAR STA IOCT COUNT CLA JSB .R662 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB COD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JMP X662 RETURN FOR MORE * SKP * .I662 EQU * CLA JSB .R662 GET COUNT CPA M1 INT. REQUEST ONLY? JMP N1662 YES SSA CANT BE NEG JMP ERMS1 OR ERROR STA IOCT SAVE COUNT CLA RESPOND TO COUNT JSB .R662 SZA MUST BE ZERO JMP ERMS1 NOT SO ERROR JSB STCC SET INTF TO INTERRUPT LDA IOCT RESTORE COUNT LDB FWA GET BUFFER FOR INPUT STF 0 TURN ON INTERRUPTS JSB CID,I GO INPUT IT CLF 0 TURN OFF INTERRUPTS STA IODSV SAVE COUNT CMA,INA MAKE IT NEG. STA IODCT FOR COUNTER LDB FWA SET BUFFER POINTER RBL STB IOADD SZA,RSS ANY INPUT JMP CR662 NO - RESPOND WITH CR N0662 LDB IOADD GET A BYTE JSB BUF2A JSB .R662 OUTPUT IT CPA M1 END OF TRANSFER JMP EX662 YES SZA ACCEPTED JMP ERMS1 NO ISZ IOADD MOVE TO NEXT BYTE ISZ IODCT DONE? JMP N0662 NO SKP CR662 LDA CR YES JSB .R662 OUTPUT IT LDB A CHANGE HANDS CLA CPB O662+5 CONSOLE OUTPUT CONTROL WORD? JMP CR662+1 YES CPB CR ? JMP CR662+1 YES CPB LF ? JMP CR662+1 CPB M1 TERMINATOR RSS JMP ERMS1 NONE SO ERROR JSB .R662 GET LAST TERMINATOR CPA M1 SHOULD BE -1 JMP EX662 JMP ERMS1 NO SO ERROR EX662 CLA RESPOND TO LAST WORD JSB OTA JMP X662 WAIT FOR MORE * N1662 CLA JSB CID,I CALL FOR INTERRUPT JMP EX662 SKP * CONSOLE CROSS LINK (12662) DRIVER * O662 ABS *-EC662 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+O.662+CSLO OUTPUT CONTROL WORD ABS OR662-* ROUTINE ABS JSB+.OUT DUMP BUFFER OCT 110000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+O.662+CSLO END OF OPERATION CLC SC,C PUT CARD IN RECEIVE MODE ABS JMP+CSLO+100000B RETURN O.662 EQU *-O662 OR662 NOP CLC SC,C PUT CARD IN RECEIVE LIB SC CLEAR FLAG OTA SC TRANSFER CHARACTER SFS SC WAIT FOR RETURN ABS JMP+*-1-O662+CSLO LIA SC GET RETURN WORD ABS JMP+*-7-O662+CSLO+100000B NO RETURN OCT 0 * * I662 NOP ABS STA+COT SAVE COUNT AND ABS STA+BFA BUFFER ADDRESS ABS STA+*+6-I662+CSLI ABS JSB+SETP SETUP COUNT AND BUFFER POINTER ABS JSB+O.662+CSLO OUTPUT CONTROL WORD ABS IR662-* ABS JSB+.IN LOAD BUFFER OCT 104000 CONTROL WORD NOP COUNT NOP NO MORE NOP NO INTERRUPT INSTRUCTION ABS STA+CSLI-1 SAVE A REG. CCA SEND ABS JSB+O.662+CSLO END OF OPERATION ABS LDA+CSLI-1 RESTORE A REG. CLC SC,C LEAVE CARD IN RECEIVE MODE ABS JMP+CSLI+100000B RETURN IR662 NOP CLA SEND NEXT WORD ABS JSB+O.662+CSLO OUTPUT REQUEST ABS JMP+*-3-I662+CSLI+100000B EC662 EQU * SKP .P662 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA CLEAR STA IOCT COUNT CLA JSB .R662 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB LPD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JSB STCC JMP X662 RETURN FOR MORE * * * LINE PRINTER CROSS LINK (12662) DRIVER * P662 ABS *-EP662 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+P.662+LPTR OUTPUT CONTROL WORD ABS PR662-* ROUTINE ABS JSB+.OUT DUMP BUFFER OCT 120000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+P.662+LPTR END OF OPERATION CLC SC,C PUT CARD IN RECEIVE MODE ABS JMP+LPTR+100000B RETURN P.662 EQU *-P662 PR662 NOP CLC SC,C PUT CARD IN RECEIVE LIB SC CLEAR THE FLAG OTA SC TRANSFER CHARACTER SFS SC WAIT FOR RETURN ABS JMP+*-1-P662+LPTR ABS JMP+*-6-P662+LPTR+100000B NO RETURN EP662 EQU * SKP * CROSS LINK ROUTINE FOR LOADER * .L662 CLa A JSB .R662 REQUEST A REG. STA .662A SAVE IT CLA JSB .R662 REQUEST B REG. STA .662B SAVE IT CLA JSB .R662 SHAKE HANDS SZA ARE HIS HANDS DURTY? JMP ERMS1 YEP LDA .662A RESTORE A LDB .662B RESTORE B JSB DRI,I GO TO DRIVER STA .662A SAVE A STB .662C SAVE B LDB .662B GET ORIGINAL REQUEST SSB IF REWIND OR FF JMP *+4 CLEAR LOAD DEVICE SZB OR IF LOOKING FOR LEADER OR SZA TRAILER RSS JSB CLCLD CLEAR THE LOAD DEVICE JSB .R662 TRANSMIT A SZA DID HE GET IT? JMP ERMS1 NO LDA .662C JSB .R662 TRANSMIT B CPA M1 DID HE GET IT? RSS JMP ERMS1 NO JSB OTA TERMINATE TRANSMISSION JMP X662 RETURN AND WAIT .662A NOP .662B NOP .662C NOP * .R662 NOP JSB CLCC PUT CARD IN RECEIVE JSB OTA TRANSMIT IT JSB WSFS WAIT FOR REWPONSE JMP ERMS1 NONE SO ERROR JSB LIA GET RETURN DATA JMP .R662,I YES RETURN SKP * LOADER CROSS LINK (12662) DRIVER * L662 ABS *-LE662 ABS STA+L662A+LD SAVE A & B REGISTERS ABS STB+L662B+LD ABS JSB+LR662+LD OUTPUT CONTROL WORD OCT 140000 SZA IS RETURN 0 ABS JMP+LH662+LD NO THEN LINK ERROR ABS JSB+LR662+LD OUTPUT A-REG. L662A EQU *-L662 NOP SZA RETURN 0? ABS JMP+LH662+LD NO THEN LINK ERROR ABS JSB+LR662+LD OUTPUT B-REG. L662B EQU *-L662 NOP SZA IS RETURN 0 ABS JMP+LH662+LD NO THEN ERROR ABS JSB+LR662+LD REQUEST A NOP ABS STA+L662A+LD ABS JSB+LR662+LD REQUEST B NOP ABS STA+L662B+LD ABS JSB+LR662+LD OUTPUT TERMINATOR DEC -1 ABS LDA+%M640L662A+LD ABS LDB+L662B+LD ABS JMP+LD+100000B RETURN * LH662 EQU *-L662 OCT 106073 ERROR HALT CCA ABS JMP+LD+L662+100000B RETURN EOR * LR662 EQU *-L662 NOP ABS LDA+*-1-L662+LD+100000B ABS ISZ+*-2-L662+LD CLC SC,C PUT CARD IN INPUT LIB SC CLEAR FLAG OTA SC TRANSFER DATA SFS SC WAIT FOR IT ABS JMP+*-1-L662+LD LIA SC ABS JMP+LR662+LD+100000B LE662 EQU * * FWAA EQU * SKP %B377 EQU 7147B CNSLO EQU 7327B CNSLI EQU 7354B LNPTR EQU 7404B LDVR EQU 7431B BFR EQU 1166B BFA EQU 1165B CNT EQU 1164B COT EQU 1163B ISZ EQU 36000B LDA EQU 62000B LDB EQU 66000B ADA EQU 42000B ADB EQU 46000B STA EQU 72000B STB EQU 76000B AND EQU 12000B IOR EQU 32000B XOR EQU 22000B CPA EQU 52000B CPB EQU 56000B JSB EQU 16000B JMP EQU 26000B SETP EQU 741B .IN EQU 765B .OUT EQU 1031B CSLI EQU CNSLI-6000B CSLO EQU CNSLO-6000B LPTR EQU LNPTR-6000B LD EQU LDVR-6000B END 46   24296-80001 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 |ASMB,A,B,L,C HED DIAGNOSTIC CONFIGURATOR (DSN 000200) ORG 2 SUP A EQU 0 B EQU 1 SC EQU 0 INTP EQU 0 SWREG EQU 1 DMA2 EQU 2 DMA6 EQU 6 MPRT EQU 5 JMP 130B GO TO START OF PRETEST OCT 106077 REP 15 OCT 106077,106077,106077,106077 * * LINK TABLE * START JMP CFIG,I GO DIRECT TO CONFIGURATION DRI DEF LDVR DATA RECORD INPUT COD DEF CNSLO CONSOLE OUTPUT DRIVER LPD DEF LNPTR LINE PRINTER DRIVER CID DEF CNSLI CONSOLE INPUT DRIVER FWA OCT 130 FIRST WORD OF AVBL. MEMORY LWA DEF LWAA LAST WORD OF AVBL. MEMORY DLP DEF LOAD DIAG. LOADER PROGRAM DEC -252 1 MILSEC. TIME COUNT DRISC OCT 0 DATA RECORD INPUT SELECT CODE CODSC OCT 0 CONSOLE OUTPUT SELECT CODE LPDSC OCT 0 LINE PRINTER SELECT CODE CIDSC OCT 0 CONSOLE INPUT SELECT CODE CTO NOP COMPUTER TYPE/OPTIONS NOP USER CARD TYPE AND SELECT CODE MEM NOP MEMORY SIZE JSB DLP,I GO TO DIAG. LOADER PROGRAM WAIT DEF TMR 1 MILL SEC TIMER ROUTINE SWRC DEF SWR CHECK SWITCH REG D2AS DEF D2ASC DECIMAL TO ASCII CONVERSION O2AS DEF O2ASC OCTAL TO ASCII CONVERSION AS2N DEF ASC2N ASCII TO BINARY CONVERSION DSN OCT 000200 CONF. SERIAL NUMBER FMTO DEF FMTR FORMATTED OUTPUT SKP * ONLY SINGLE OPERATION INSTRUCTIONS ARE TESTED. * IT IS ASSUMED THAT COMBINATIONS AFTER INITIAL * TEST WILL WORK(NOT NECESSARILY TRUE BUT NECESSARY). * * INSTRUCTIONS ARE TESTED IN THE FOLLOWING SEQUENCE: * * RSS SOS SOC STO CLO CLE SEZ CCE CME * * CLA CCA CPA SZA STA LDA INA CMA SSA SLA (B-REG INCLUSIVE) * * STA B,I STB A,I LDA B,I LDB A,I CPA B,I CPB A,I * * JMP (BP) JSB (BP) JSB (BP),I TO (BP) * * GENERAL MEMORY TEST (FIRST 4K ONLY) * * AND XOR IOR ISZ ADA ADB * * MEMORY ADDRESS, PATTERN & WORST CASE TEST (ABOVE 4K ONLY) * * CURRENT PAGE / BASE PAGE JMP LDA STA CPA JSB * * ALS ARS RAL RAR ALR ALF (BITS 8-6) * * ALS ARS RAL RAR ALR ALF (BITS 2-0) * * ELA ERA (BITS 8-6) ELA ERA (BITS 2-0) * * * ANY ERROR ENCOUNTERED WILL BE INDICATED BY * A HALT 66B (102066) ERH EQU 66B * REFER TO LISTING AT THE M-REG. ADDRESS FOR DETAILS IF * A HALT OCCURS. * FOR REFERENCES (BP) = BASE PAGE AND (CP) = CURRENT PAGE SPC 5 * ARITHMETIC SETTING OF E & O REGISTERS (INA ADA INB ADB) * * EXTEND & OVERFLOW REGISTER RESULTS * * * AD* MEM TO REG. = REG. OVF EXT * + + + 0 0 * + + - 1 0 * + - + 0 1 * - + + 0 1 * - + - 0 0 * + - - 0 0 * - - - 0 1 * - - + 1 1 SKP * PRE-TEST PART A (BP) * CLC INTP,C GENERATE CRS RSS HLT0 HLT ERH RSS FAILED OR I/O CAUSED SKIP * STA DISN SAVE A-REG. FOR LATER STB DIBP SAVE B-REG FOR LATER ALSO CLA STA SWRX CLEAR S-REG. FLAG IF RESTART. STA BIOSC CLEAR BASIC I/O SELECT CODE * PTLP STO START HERE IF PRE TEST LOOP SOC SOS HLT ERH STO / SOC / SOS CLO SOS SOC HLT ERH CLO / SOS / SOC CLE SEZ,RSS SEZ HLT ERH CLE / SEZ,RSS / SEZ CCE SEZ SEZ,RSS HLT ERH CCE / SEZ / SEZ,RSS CME SEZ,RSS SEZ HLT ERH CME / SEZ / SEZ,RSS SKP * PRE-TEST PART A (BP) * CLA CCB STA TMPA STB TMPB CPA B0 SZA HLT ERH CLA/CPA/SZA SZB CPB B0 HLT ERH CCB/CPB/SZB CPA M1 HLT ERH CPA CPB B0 HLT ERH CPB LDA TMPB LDB TMPA SZA CPA B0 HLT ERH STB/LDA CPB B0 SZB HLT ERH STA/LDB SOS SEZ HLT ERH E / O SET INB SOS SEZ HLT ERH E / O SET INA SEZ SOC HLT ERH E NOT SET / O SET CLE SZB SZA HLT ERH INA/INB CPB B1 RSS HLT ERH INB SKP * PRE-TEST PART A (BP) * CCA CLB STA TMPA STB TMPB CPA M1 SZA,RSS HLT ERH CCA/CPA/SZA,RSS SZB,RSS CPB M1 HLT ERH CLB/CPB/SZB,RSS CPA B0 HLT ERH CPA CPB M1 HLT ERH CPB LDA TMPB LDB TMPA SZA,RSS CPA M1 HLT ERH STB/LDA CPB M1 SZB,RSS HLT ERH STA/LDB SOS SEZ HLT ERH E / O SET INA SOS SEZ HLT ERH E / O SET INB SEZ SOC HLT ERH E NOT SET / O SET CLE SZB,RSS SZA,RSS HLT ERH INA/INB CPA B1 RSS HLT ERH INA SKP * PRE-TEST PART A (BP) * LDA ALT0 LDB ALT1 STA TMPA STB TMPB CPA ALT0 RSS HLT ERH LDA/CPA CPB ALT1 RSS HLT ERH LDB/CPB LDA TMPB LDB TMPA CPA ALT1 RSS HLT ERH LDA/STB CPB ALT0 RSS HLT ERH LDB/STA INA INB CPA ALT1A RSS HLT ERH INA CPB ALT0A RSS HLT ERH INB SKP * PRE-TEST PART A (BP) * CLA CCB CMA CMB CPA ;M1 SZB HLT ERH CMA / CMB SSA SSB HLT ERH SSA / SSB SLA SLB HLT ERH SLA / SLB CMA CMB CPB M1 SZA HLT ERH CMA / CMB SSB SSA HLT ERH SSA / SSB SLB SLA HLT ERH SLA / SLB LDA ALT0 LDB ALT1 CMA CMB CPA ALT1 RSS HLT ERH CMA CPB ALT0 RSS HLT ERH CMB SKP * PRE-TEST PART A (BP) * * CHECK SWITCH REGISTER I/O * LDA SWRX CHECK IF SWREG HAS SZA BEEN CHECK BEFORE JMP NXT00 YES SKIP CHECK LIA SWREG GET AND STA SWRX SAVE S-REG. LDA ALT0 TRY ALTERNATING PATTERNS OTA SWREG LIA SWREG CPA SWRX STILL ORIGINAL? LDA ALT0 YES 2116/5 FORCE SKIP CPA ALT0 RSS HLT ERH LDA ALT1 OTHER PATTERN OTA SWREG LIA SWREG CPA SWRX STILL ORIGINAL? LDA ALT1 YES 2116/5 FORCE SKIP CPA ALT1 RSS HLT ERH CCA TRY OUTPUTING OTA SWREG ALL ONE'S LIA SWREG NOW GET IT BACK CPA SWRX 2115/2116? JMP *+11 OPERATOR MUST SET S-REG. LIA SWREG GET IT AGAIN CPA M1 DID IT ECHO THE 1'S? RSS HLT ERH NO CLA TRY OUTPUTING OTA SWREG B0 'S LIA SWREG GET IT BACK SZA OK HLT ERH NO JMP NXT00 YES HLT 20B 2115/2116 OPERATOR MUST SET S-REG. LIA SWREG GET IT CPA M1 IS IT ALL ONES RSS HLT ERH NO INFORM OPERATOR HLT 21B OPERATOR MUST CLEAR S-REG. NXT00 EQU * LIA SWREG GET IT AGAIN SZA DID IT ECHO THE 0'S HLT ERH NO SOS SEZ HLT ERKH E O SET SKP * PRE-TEST PART A (BP) * LDA DTMPB LDB DTMPA STA B,I STB A,I CPA TMPA RSS HLT ERH STA B,I/STB A,I CPB TMPB RSS HLT ERH STA B,I/STB A,I LDA B,I LDB A,I CPA TMPA RSS HLT ERH LDA B,I CPB TMPB RSS HLT ERH LDB A,I LDA A,I LDB B,I CPA B,I RSS HLT ERH CPA B,I/LDA A,I CPB A,I RSS HLT ERH CPB A,I/LDB B,I SKP * PRE-TEST PART A (BP) * JMP *+2 HLT ERH JMP (BP) JMP *+4 HLT ERH JMP (BP) JMP *+4 HLT ERH JMP (BP) JMP *-2 HLT ERH JMP (BP) * CLA STA JB0 STA JB1 LDA HLT0 LDB HLT0 JSB *+2 JBR0 HLT ERH JSB (BP) JB0 NOP LDA *-1 CPA DJBR0 RSS HLT ERH JSB (BP) RETURN ADDRESS LDA HLT0 JSB *+2,I JBR1 HLT ERH JSB (BP),I DEF *+3 HLT ERH JSB (BP),I HLT ERH JSB (BP),I JB1 NOP LDA *-1 CPA DJBR1 RSS HLT ERH JSB (BP),I RETURN ADDRESS SKP * PRE-TEST PART A (BP) * * GENERAL MEMORY TEST * COVERS 4K MEMORY (2 TO 7677) * EXCEPT THIS ROUTINE * GMTS EQU * CLB START WITH ADDRESS INB INB TWO L00 LDA B,I GET CURRENT CONTENTS CPA B,I DID IT LOAD OK? RSS HLT ERH NO FAILED ON LOAD STA TMPA OK SAVE ORIGINAL CONTENTS CCA STA B,I PUT ALL M1 IN LOCATION CPA B,I DID IT STORE? RSS HLT ERH NO FAILED ON STORE CLA PUT 0 IN LOCATION STA B,I CPA B,I DID IT STORE? RSS HLT ERH NO FAILED ON STORE LDA ALT0 PUT ALTERNATING PATTERN IN LOACTION STA B,I CPA B,I DID IT STORE? RSS HLT ERH NO LDA ALT1 TRY OPPSITE PATTERN STA B,I CPA B,I DID IT STORE? RSS HLT ERH NO LDA TMPA RESTORE ORIGINAL CONTENTS STA B,I CPA B,I DID IT GO BACK? RSS HLT ERH NO INB MOVE TO NEXT LOCATION CPB GMTSA GOT TO THIS PROGRAM LDB GMTEA YES SKIP OVER THIS SECTION CPB B7700 DONE THIS 4K? RSS JMP L00 NO DO NEXT LOCATION GMTE EQU * SKP * PRE-TEST PART A (BP) * CCA AND B0 SZA HLT ERH AND LDA ALT0 AND ALT1 SZA HLT ERH AND LDA ALT1 AND ALT0 SZA HLT ERH AND CCA AND ALT0 CPA ALT0 RSS HLT ERH AND CCA AND ALT1 CPA ALT1 RSS HLT ERH AND * CLA XOR B0 SZA HLT ERH XOR XOR ALT0 CPA ALT0 RSS HLT ERH XOR XOR ALT1 CPA M1 RSS HLT ERH XOR XOR ALT0 CPA ALT1 RSS HLT ERH XOR XOR ALT1 SZA HLT ERH XOR CCA XOR M1 SZA HLT ERH XOR SKP * PRE-TEST PART A (BP) * CLA IOR B0 SZA HLT ERH IOR IOR ALT0 CPA ALT0 RSS HLT ERH IOR IOR ALT1 CPA M1 RSS HLT ERH IOR CLA IOR ALT1 CPA ALT1 RSS HLT ERH IOR IOR ALT0 CPA M1 RSS HLT ERH IOR SKP * PRE-TEST PART A (BP) * CLA CLB STA TMPA L01 CPA B100K RSS JMP *+5 SOC SEZ *($ HLT ERH E SET / O NOT SET CLO SOS SEZ HLT ERH E / O SET INA SZA,RSS JMP NXT01 INB SZB,RSS HLT ERH INA ISZ TMPA RSS HLT ERH ISZ CPA TMPA RSS HLT ERH ISZ / INA CPB A JMP L01 HLT ERH ISZ / INB NXT01 SEZ SOC HLT ERH E NOT SET / O SET CLE INB SEZ SOC HLT ERH E NOT SET / O SET CLE SZB HLT ERH INB ISZ TMPA HLT ERH ISZ SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART A (BP) * CLA CCB ADA B1 SOS SEZ HLT ERH E / O SET ADB B1 (q*   24296-80003 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | SEZ SOC HLT ERH E NOT SET / O SET CLE CPA B1 SZB HLT ERH ADA/ADB CCA CLB ADB B1 SOS SEZ HLT ERH E / O SET ADA B1 SEZ SOC HLT ERH E NOT SET / O SET CLE CPB B1 SZA HLT ERH ADA/ADB CLA CCB ADA M1 SOS SEZ HLT ERH E / O SET ADB M1 SEZ SOC HLT ERH E NOT SET / O SET CLE CPA M1 RSS HLT ERH ADA CPB M2 RSS HLT ERH ADB CCA CLB ADB M1 SOS SEZ HLT ERH E / O SET ADA M1 SEZ SOC HLT ERH E NOT SET / O SET CLE CPA M2 RSS HLT ERH ADA CPB M1 RSS HLT ERH ADB LDA ALT0 LDB ALT1 ADB ALT1 SOC SEZ HLT ERH E SET / O NOT SET CLO ADA ALT1A SEZ SOC HLT ERH E NOT SET / O SET CLE CPB ALT0 SZA HLT ERH ADA/ADB LDA ALT1 LDB ALT0 ADA ALT0 SOS SEZ HLT ERH E / O SET ADB ALT1A SEZ SOC HLT ERH E NOT SET / O SET CLE CPA M1 SZB HLT ERH ADA/ADB SKP * PRE-TEST PART A (BP) * * * CALCULATE MEMORY SIZE & RUN MEMORY ADDRESS AND PATTERN ON * MEMORY ABOVE 4K-IF MEMORY>4K. * LDB B10K START WITH 8K ADB B3 MOVE TO ADDRESS 3 L02 CLA CLEAR WRAPAROUND STA 3B LDA ALT0 TRY TO STA B,I WRITE PATTERN THERE CPA 3B DID IT WRAPAROUND JMP NXT02 YES - NO MEMORY CPA B,I DID THE PATTERN STORE? JMP *+5 YES.MEMORY IS THERE CLA NO.SHOULaD CPA B,I BE ALL JMP NXT02 0'S HLT ERH NOT 0.SOMETHING'S WRONG ADB B10K MOVE UP 4K SSB,RSS DONE 32K? JMP L02 NO NXT02 LDA B CHANGE HANDS ADA M10K BACK UP ONE STEP CLE CLO CPA B3 ONLY 4K? JMP NXT05 YES - SKIP MEMORY TESTS AND B70K ELIMINATE LOWER 2 BITS ADA B7700 POINT TO BINARY LOADER ADA M1 OTA SWREG DISPLAY MEMORY SIZE SEZ SOC HLT ERH E NOT SET / O SET CLE STA LADD LWAM LDA B7700 SET FWAM STA FADD SKP * * QUICK MEMORY ADDRESS TEST * LDA FADD L03 STA A,I STORE IN EACH CPA LADD LOCATION OF AVAILABLE JMP *+3 MEMORY THE ADDRESS INA OF THAT LOCATION JMP L03 LDA FADD L04 CPA A,I VERIFY MEMORY RSS CONTENTS HLT ERH MEMORY ADDRESS FAILURE CPA LADD JMP *+3 GO ON TO MEMORY PATTERN TEST INA JMP L04 * * * QUICK MEMORY PATTERN TEST * CCA START WITH 177777 L05 LDB FADD L06 STA B,I WRITE PATTERN INB IN A REG IN CPB LADD AVAILABLE MEMROY RSS JMP L06 LDB FADD L07 CPA B,I COMPARE PATTERN READ RSS TO PATTERN WRITTEN HLT ERH MEMORY PATTERN FAILED INB CPB LADD RSS JMP L07 CPA ALT1 DONE 125252 YET? JMP NXT03 YES CPA ALT0 LDA ALT1 SZA,RSS LDA ALT0 CPA M1 CLA JMP L05 NXT03 EQU * SKP * PRE-TEST PART A (BP) * * WORST CASE PATTERN TEST * LDA FADD LDB FADD L08 STA TMPA AND B140 WRITE CPA B140 WORST CLA CASE SZA PATTERN CCA STQA B,I IN MEMORY CPB LADD JMP NXT04 INB LDA TMPA INA JMP L08 NXT04 LDA FADD LDB FADD L09 STA TMPA AND B140 NOW CPA B140 COMPARE CLA PATTERN SZA CCA CPA B,I RSS HLT ERH MEMORY PATTERN FAILED CPB LADD JMP NXT05 CONTINUE LDA MHLT FILL UNUSED MEMORY STA B,I WITH HALTS INB LDA TMPA INA JMP L09 SKP * PRE-TEST PART A (BP) * * PROGRAM COMES HERE FROM CURRENT PAGE * * BPJP0 JMP *+2,I HLT ERH JMP (BP),I (TO BP) DEF *+3 HLT ERH JMP (BP),I (TO BP) HLT ERH " " JMP *+2,I HLT ERH JMP (BP),I (TO CP) DEF CPJP0 HLT ERH JMP (BP),I (TO CP) HLT ERH " " BPJP1 JMP *+2,I HLT ERH JMP (BP),I (TO CP) DEF CPJP1 HLT ERH JMP (BP),I (TO CP) HLT ERH " " * BPJB0 NOP LDA *-1 CPA DJBR2 RSS HLT ERH JSB (BP) FROM CP RETURN ADDRESS LDA HLT0 JSB *+2,I JBR5 HLT ERH JSB (BP),I TO CP DEF CPJB0 HLT ERH JSB (BP),I TO CP HLT ERH JSB (BP),I TO CP * * END OF PRE-TEST PART A (BP) SKP * * STORAGE AND CONSTANTS * B0 OCT 0 B1 OCT 1 B2 OCT 2 B3 OCT 3 B4 OCT 4 B5 OCT 5 B6 OCT 6 B7 OCT 7 B10 OCT 10 B17 OCT 17 B37 OCT 37 B40 OCT 40 B54 OCT 54 B60 OCT 60 B70 OCT 70 B77 OCT 77 B140 OCT 140 B170 OCT 170 B177 OCT 177 B777 OCT 777 B7700 OCT 7700 B6.5K OCT 6500 B10K OCT 10000 B70K OCT 70000 B100K OCT 100000 M1 OCT -1 M2 OCT -2 M10K OCT -10000 M17 OCT 177760 M77 OCT 177700 M70K OCT 107777 D8K3 OCT 10003 D32K3 OCT 70003 TMPA OCT -1 TMPB OCT 0 SVA NOP SVdB NOP FADD NOP LADD NOP DISN NOP DIBP NOP SWRX NOP BIOSC NOP SCX NOP IBUFP NOP APTRN OCT 172525 ALT0 OCT 125252 ALT0A OCT 125253 ALT1 OCT 052525 ALT1A OCT 052526 SKP CFIG DEF CFRG CHSC DEF CKSC ISCR DEF ISC MDVR DEF MVDVR CFM DEF CFMEM MSG DEF MSGR IBUFD DEF IBUF CNST DEF CNTS CNSC DEF CVSC DTMPA DEF TMPA DTMPB DEF TMPB GMTSA DEF GMTS GMTEA DEF GMTE DJBR0 DEF JBR0 DJBR1 DEF JBR1 DJBR2 DEF JBR2 DTMC DEF TMC DTMI DEF TMI DLDVR DEF LDVR DCO DEF CNSLO LPDV DEF LNPTR MHLT OCT 106075 * * CFMPJ JSB *+1 NOP CLF INTP CLC 5B,C TURN OFF MEMORY PROTECT CLB JMP *-4,I RETURN * DEFT DEF *+1,I OCT 101,102,103,104,106,107 OCT 121,122,123,124,125,127 DEF DTMC DEF LDMXA DEF FMTBF DEF M1 * DMABT OCT 160000 SKP CPTOT DEF CPTT * CPTT DEC -252 OCT 0 DEC -309 OCT 10000 16A DEC -309 OCT 20010 16B DEC -309 OCT 30010 16C DEC -246 OCT 40000 15A DEC -246 OCT 50010 14A DEC -246 OCT 60210 14B DEC -252 OCT 70033 2100 DEC -203 OCT 100133 21MX XETC DEC -1573 OCT 110133 21XE DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 SKP SKP CFCTP DEF *-3,I ASC 4,2116,_ ASC 4,2116,_ ASC 4,2116,_ ASC 4,2115,_ ASC 4,2114,_ ASC 4,2114,_ ASC 4,2100,_ ASC 4,21MX M,_ ASC 4,21MX E,_ * CFDNA DEF *+1 ASC 05, NO DMA, _ CFDIV DEF *+1 ASC 04, DMA, _ CFMNA DEF *+1 ASC 05,NO MPRT, _ CFMIV DEF *+1 ASC 04,MPRT, _ * CFMTB DEF *+1 DEF CFMS0 DEF CFMS1 DEF CFMS2 DEF CFMS3 DEF CFMS4 DEF CFMS5 DESF CFMS6 DEF CFMS7 * CFMS0 ASC 2,4K _ CFMS1 ASC 2,8K _ CFMS2 ASC 3,12K _ CFMS3 ASC 3,16K _ CFMS4 ASC 3,20K _ CFMS5 ASC 3,24K _ CFMS6 ASC 3,28K _ CFMS7 ASC 3,32K _ CFMS DEF *+1 ASC 04,MEMORY/ SKP SKP CCSDY NOP HLT 71B NO DEVICE CLA STA CODSC STA CIDSC JMP CCSDY,I * CSLDY DEF *+1 * OCSDY NOP PSEUDO CONSOLE DRIVER CLA CLB ABS JMP+CSLO+100000B * CNSLD DEF *+1 CD531 DEF O531 DEF *-* CD587 DEF O587 DEF *-* CD966 DEF O966 DEF C966 DEF OCSDY DEF CCSDY DEF OCSDY DEF CCSDY DEF OCSDY DEF CCSDY DEF OCSDY DEF CCSDY DEF CNSLO MAINTAIN CURRENT DRIVER FOR LINK DEF *-* * * ICSDY NOP PSEUDO CONSOLE INPUT DRIVER CLA (MUST BE 21 WORDS AFTER OCSDY) CLB OCT 106071 ABS JMP+CSLI+100000B SKP LPDF DEF *+1 DEF OLP67 DEF OLPXX LPDYD REP 5 DEF OLPDY DEF LNPTR * * OLPDY NOP ABS STA+BFR SAVE A ABS LDA+LPTR GET RETURN ADDRESS ABS STA+CSLO PUT IT IN CONSOLE ABS LDA+BFR RESTORE A ABS JMP+CSLO+1 * * DINDD DEF DINDT * LDDY DEF LDDY0 * LDDY0 NOP PSEUDO LOADER DRIVER OCT 106072 CCA SET EOT IF RUN IS PRESSED ABS JMP+LD+100000B * REP 6 OCT 106075 MEMORY HALT SKP * START OF PRE-TEST PART B (CP) * NXT05 CLA OTA SWREG CLEAR S-REG. SOS SEZ HLT ERH E / O SET LDA HLT0 HALT IF CURRENT PAGE/ LDB HLT0 BASE PAGE DOESN'T WORK JMP *+1 LDB .ALT1 LDA ALT0 RSS OCT 1 USED IN CPU TYPE CALCULATION STA .TMPA STB TMPB CPA .ALT0 RSS HLT ERH LDA (BP) / CPA (CP) CPB ALT1 RSS HLT ERH LDB $"(CP) / CPB (BP) LDB .TMPA LDA TMPB CPA .ALT1 RSS HLT ERH STB (BP) CPA (CP) CPB ALT0 RSS HLT ERH STA (CP) / CPB (BP) SKP * PRE-TEST PART B (CP) JMP *+2 HLT ERH JMP (CP) JMP *+4 HLT ERH JMP (CP) JMP *+4 HLT ERH JMP (CP) JMP *-2 HLT ERH JMP (CP) * JMP BPJP0 HLT ERH JMP (CP) TO (BP) CPJP0 JMP *+2,I HLT ERH JMP (CP),I (TO BP) DEF BPJP1 HLT ERH JMP (CP),I (TO BP) HLT ERH " " " CPJP1 JMP *+2,I HLT ERH JMP (CP),I (TO CP) DEF *+3 HLT ERH JMP (CP),I (TO CP) HLT ERH " " * CLA STA .JB0 STA .JB1 STA BPJB0 STA CPJB0 LDA HLT0 LDB HLT0 JSB *+2 JBR3 HLT ERH JSB (CP) .JB0 NOP LDA *-1 CPA DJBR3 RSS HLT ERH JSB (CP) RETURN ADRESS LDA HLT0 JSB *+2,I JBR4 HLT ERH JSB (CP),I DEF *+3 HLT ERH JSB (CP),I HLT ERH JSB (CP),I .JB1 NOP LDA *-1 CPA DJBR4 RSS HLT ERH JSB (CP),I RETURN ADDRESS LDA HLT0 JSB BPJB0 JBR2 HLT ERH JSB (BP) CPJB0 NOP LDA *-1 CPA DJBR5 RSS HLT ERH JSB (BP),I TO CP RETURN ADDRESS SKP * PRE-TEST PART B (CP) * LDA SRGP1 1000100100100111 LDB SRGP2 1001100000100000 ALS 1001001001001110 }($   24296-80004 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | BRS 1100110000010000 ARS 1100100100100111 BLR 0001100000100000 ALS 1001001001001110 BLF 1000001000000001 RAR 0100100100100111 BLS 1000010000000010 ARS 0010010010010011 RBR 0100001000000001 ALR 0100100100100110 BLS 0000010000000010 RAL 1001001001001100 BLF 0100000000100000 ARS 1100100100100110 RBL 1000000001000000 ALR 0001001001001100 BRS 1100000000100000 ALF 0010010011000001 RBL 1000000001000001 RAL 0100100110000010 BRS 1100000000100000 ALS 0001001100000100 RBR 0110000000010000 RAR 0000100110000010 BLR 0100000000100000 ALF 1001100000100000 BLS 0000000001000000 CPA SRGP2 RSS HLT ERH SRG INST A-REG. CPB SRGP3 RSS HLT ERH SRG INST B-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDB SRGP1 1000100100100111 LDA SRGP2 1001100000100000 BLS 1001001001001110 ARS 1100110000010000 BRS 1100100100100111 ALR 0001100000100000 BLS 1001001001001110 ALF 1000001000000001 RBR 0100100100100111 ALS 1000010000000010 2BRS 0010010010010011 RAR 0100001000000001 BLR 0100100100100110 ALS 0000010000000010 RBL 1001001001001100 ALF 0100000000100000 BRS 1100100100100110 RAL 1000000001000000 BLR 0001001001001100 ARS 1100000000100000 BLF 0010010011000001 RAL 1000000001000001 RBL 0100100110000010 ARS 1100000000100000 BLS 0001001100000100 RAR 0110000000010000 RBR 0000100110000010 ALR 0100000000100000 BLF 1001100000100000 ALS 0000000001000000 CPB SRGP2 RSS HLT ERH SRG INST B-REG. CPA SRGP3 RSS HLT ERH SRG INST A-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDA SRGP1 1000100100100111 LDB SRGP2 1001100000100000 OCT 0020 ALS 1001001001001110 OCT 4021 BRS 1100110000010000 OCT 0021 ARS 1100100100100111 OCT 4024 BLR 0001100000100000 OCT 0020 ALS 1001001001001110 OCT 4027 BLF 1000001000000001 OCT 0023 RAR 0100100100100111 OCT 4020 BLS 1000010000000010 OCT 0021 ARS 0010010010010011 OCT 4023 RBR 0100001000000001 OCT 0024 ALR 0100100100100110 OCT 4020 BLS 0000010000000010 OCT 0022 RAL 1001001001001100 OCT 4027 BLF 0100000000100000 OCT 0021 ARS 1100100100100110 OCT 4022 RBL a 1000000001000000 OCT 0024 ALR 0001001001001100 OCT 4021 BRS 1100000000100000 OCT 0027 ALF 0010010011000001 OCT 4022 RBL 1000000001000001 OCT 0022 RAL 0100100110000010 OCT 4021 BRS 1100000000100000 OCT 0020 ALS 0001001100000100 OCT 4023 RBR 0110000000010000 OCT 0023 RAR 0000100110000010 OCT 4024 BLR 0100000000100000 OCT 0027 ALF 1001100000100000 OCT 4020 BLS 0000000001000000 CPA SRGP2 RSS HLT ERH SRG INST A-REG. CPB SRGP3 RSS HLT ERH SRG INST B-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDB SRGP1 1000100100100111 LDA SRGP2 1001100000100000 OCT 4020 BLS 1001001001001110 OCT 0021 ARS 1100110000010000 OCT 4021 BRS 1100100100100111 OCT 0024 ALR 0001100000100000 OCT 4020 BLS 1001001001001110 OCT 0027 ALF 1000001000000001 OCT 4023 RBR 0100100100100111 OCT 0020 ALS 1000010000000010 OCT 4021 BRS 0010010010010011 OCT 0023 RAR 0100001000000001 OCT 4024 BLR 0100100100100110 OCT 0020 ALS 0000010000000010 OCT 4022 RBL 1001001001001100 OCT 0027 ALF 0100000000100000 OCT 4021 BRS 1100100100100110 OCT 0022 RAL 1000000001000000 OCT 4024 BLR 0001001001001100 OCT 0021 ARS 1100000000100000 OCT 4027 BLF 0010010011000001 OCT 0022 RAL 1000000001000001 OCT 4022 RBL 0100100110000010 OCT 0021 ARS 1100000000100000 OCT 4020 BLS 0001001100000100 2u OCT 0023 RAR 0110000000010000 OCT 4023 RBR 0000100110000010 OCT 0024 ALR 0100000000100000 OCT 4027 BLF 1001100000100000 OCT 0020 ALS 0000000001000000 CPB SRGP2 RSS HLT ERH SRG INST B-REG. CPA SRGP3 RSS HLT ERH SRG INST A-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDA SRGEP 0111010001110010 LDB SRGEP 0111010001110010 ERA 0011101000111001 0 ELB 0 1110100011100100 ERA 0001110100011100 1 ELB 1 1101000111001001 ERA 1000111010001110 0 ELB 1 1010001110010010 ERA 1100011101000111 0 ELB 1 0100011100100100 ERA 1110001110100011 1 ELB 0 1000111001001001 ERA 0111000111010001 1 ELB 1 0001110010010011 ERA 1011100011101000 1 ELB 0 0011100100100111 ERA 0101110001110100 0 ELB 0 0111001001001110 ERB 0 0011100100100111 ELA 1011100011101000 0 ERB 1 0001110010010011 ELA 0111000111010001 1 ERB 1 1000111001001001 ELA 1110001110100011 0 ERB 1 0100011100100100 ELA 1100011101000111 1 ERB 0 1010001110010010 ELA 1000111010001110 1 ERB 0 1101000111001001 ELA 0001110100011100 1 ERB 1 1110100011100100 ELA $ 0011101000111001 0 ERB 0 0111010001110010 ELA 0111010001110010 0 CPA SRGEP RSS HLT ERH SRG E-REG ERROR CPB SRGEP RSS HLT ERH SRG E-REG ERROR SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDA SRGEP 0111010001110010 LDB SRGEP 0111010001110010 OCT 0025 ERA 0011101000111001 0 OCT 4026 ELB 0 1110100011100100 OCT 0025 ERA 0001110100011100 1 OCT 4026 ELB 1 1101000111001001 OCT 0025 ERA 1000111010001110 0 OCT 4026 ELB 1 1010001110010010 OCT 0025 ERA 1100011101000111 0 OCT 4026 ELB 1 0100011100100100 OCT 0025 ERA 1110001110100011 1 OCT 4026 ELB 0 1000111001001001 OCT 0025 ERA 0111000111010001 1 OCT 4026 ELB 1 0001110010010011 OCT 0025 ERA 1011100011101000 1 OCT 4026 ELB 0 0011100100100111 OCT 0025 ERA 0101110001110100 0 OCT 4026 ELB 0 0111001001001110 OCT 4025 ERB 0 0011100100100111 OCT 0026 ELA 1011100011101000 0 OCT 4025 ERB 1 0001110010010011 OCT 0026 ELA 0111000111010001 1 OCT 4025 ERB 1 1000111001001001 OCT 0026 ELA 1110001110100011 0 OCT 4025 ERB 1 0100011100100100 OCT 0026 ELA 1100011101000111 1 OCT 4025 ERB 0 1010001110010010 OCT 0026 ELA 1000111010001110 1 OCT 4025 ERB 0 1101000111001001 OCT 0026 ELA 0001110100011100 1 OCT 4025 ERB 1 1110100011100100 OCT 0026 ELA 0011101000111001 0 OCT 4025 ERB 0 0111010001110010 OCT 0026 ELA 0111010001110010 0 ^CPA SRGEP RSS HLT ERH SRG E-REG ERROR CPB SRGEP RSS HLT ERH SRG E-REG ERROR SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * BIOT EQU * LDA SWRX AND B77 STA BIOSC SAVE IT SZA,RSS IS THERE ONE? JMP BIOEX NO SKIP BASIC I/O AND B70 CHECK OVER 7B SZA,RSS HLT ERH BIO0 LDB BIOSD UPDATE I/O INSTRUCTIONS LDA B,I CPA M1 END OF LIST JMP BIO1 YES - START EXECUTION AND M77 MASK OLD SC OFF IOR BIOSC ADD NEW SC STA B,I PUT IT BACK IN PLACE INB MOVE TO NEXT INSTRUCTION JMP BIO0+1 BIO1 LDB B3 SET TRAP CELLS LDA IHLT TO INTERRUPT HALT STA B,I CPB B77 END JMP *+3 YES INB JMP *-4 CLC INTP,C GENERATE CRS TO ALL I/O SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * STF INTP TOGGLE INTERRUPT CLF INTP FLAG TO CLEAR SFC INTP IS IT CLEARED? HLT ERH NO - ERROR SFS INTP IS IT NOT SET RSS HLT ERH NO - ERROR STF INTP SET INTERRUPT FLAG SFS INTP IS IT SET? HLT ERH NO - ERROR SFC INTP IS IT NOT CLEARED? RSS HLT ERH NO - ERROR CLF INTP TURN FLAG OFF BS01 STF SC TOGGLE INTERFACE BS02 CLF SC CARD FLAG TO CLEAR BS03 SFC SC IS IT CLEARED? HLT ERH NO - ERROR BS04 SFS SC IS IT NOT SET? RSS HLT ERH NO - ERROR BS05 STF SC SET CARD FLAG BS06 SFS SC IS IT SET HLT ERH NO - ERROR BS07 SFC SC IS IT NOT CLEAR? RSS HLT ERH NO - ERROR JSB BIOI SET INTERRUPT RETURN VX DEF BIOR1 INTERRUPT TO ERROR BS08 STF SC SET THE FLAG BS09 STC SC AND CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TO INTERRUPT NOP JMP *+3 BIOR1 NOP HLT ERH INTERRUPT CANT BE TURNED OFF CLC INTP,C GENERATE CRS SKP * PRE-TEST PART B (CP) * * BSIC I/O TEST * BS10 CLC SC,C RESET SC FLAG AND CONTROL LDB B10 START WITH LOWEST ADDRESS BIO2 CPB BIOSC IS IT THIS SELECT CODE JMP BIO3 YES - SKIP CHECK LDA .STF SET UP IOR B INSTRUCTIONS STA *+2 BS11 CLF SC CLEAR SC FLAG NOP BS12 SFC SC CHECK SC FLAG HLT ERH NOT CLEAR THEN ERROR BIO3 CPB B77 IS THAT THE LAST? JMP *+3 YES - MOVE TO NEXT TEST INB NO - MOVE TO NEXT SC JMP BIO2 AND CHECK IT CLC INTP,C CREATE CRS INCASE OF PRIV. INT. JSB BIOI SET INTERRUPT LINK DEF BIOI0 CLA CLEAR FLAGS STA BIOJD STA BIOI0 STA TMPA BS13 STC SC TURN ON BS14 STF SC CARD STF INTP AND INTP'S STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCUR DEF *+1 * HERE JSB *+1,I * DEF *+1 * BIOJD NOP * ISZ TMPA INT. SHOULD BE HERE ISZ TMPA CLF INTP TURN I/O SYSTEM OFF BS15 CLC SC,C RESET SC FLAG AND CONTROL LDB BIOI0 DID IT INTERRUPT? SZB,RSS HLT ERH NO - ERROR LDB TMPA RETURN CORRECTLY CPB B2 RSS HLT ERH NO - ERROR SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * JSB BIOI DEF BIOR2 BS16 STC SC \ CONTROL ON BS17 STF SC FLAG UP STF INTP TURN ON INTERRUPTS BS20 CLC SC CLEAR SC CONTROL NOP GIVE IT A CHANCE NOP * NOP * JMP *+3 BIOR2 NOP HLT ERH CONTROL NOT CLEARED CLF INTP TURN INTP'S OFF JSB BIOI DEF BIOR3 BS21 STC SC TURN CONTROL ON STF INTP TURN INTP'S ON CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP * NOP * JMP *+3 BIOR3 NOP HLT ERH BS22 CLC SC,C TURN OFF DEVICE BIOEX CLC INTP,C TURN OFF ALL I O LDA SWRX CHECK IF AUTOMATIC MODE AND B7700 SZA JMP CFGR YES GO TO CONFIGURATION LDA SWRX CHECK IF LOOP AND B10K SZA JMP PTLP YES LOOP LDA SWRX RESTORE S-REG. OTA SWREG LDA DISN AND A & B REG LDB DIBP HLT 77B WAIT FOR CONFIGURATION INFORMATION * CFRG CLC INTP,C TURN OFF ALL I/O STA DISN STB DIBP LIA SWREG GET SWITCH REGISTER STA SWRX JMP CFGR GO TO CONFIGURATION SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * BIOI0 NOP CLF INTP TURN I/O SYSTEM OFF LDB BIOJD CHECK TO SE IF ALL CPB BIOD0 INSTRUCTIONS COMPLETED RSS HLT ERH NO - ERROR LDB BIOD1 CHECK RETURN ADDRESS CPB BIOI0 * JMP *+3 * INB * CPB BIOI0 * RSS * HLT ERH * JSB BIOI SET ERROR IF SECOND INTP DEF BIOE STF INTP TURN I/O SYSTEM ON JMP BIOI0,I CONTINUE TEST * BIOD0 DEF BIOJD-1 BIOD1 DEF BIOJD+1 * * BIOI NOP LDB BIOI,I ISZ BIOI STB 3B LDB JSBI. BSSTB STB SC JMP BIOI,I * * BIOE NOP HLT ERH SECOND INTkERRUPT OCCURED JMP BIOE,I * SKP .ALT0 OCT 125252 .ALT1 OCT 052525 SRGP1 OCT 104447 1000100100100111 SRGP2 OCT 114040 1001100000100000 SRGP3 OCT 000100 SRGEP OCT 072162 011010001110010 .TMPA NOP .TMPB NOP DJBR3 DEF JBR3 DJBR4 DEF JBR4 DJBR5 DEF JBR5 .STF STF 0 JSBI. JSB 3B,I IHLT OCT 106077 * * BIOSD DEF *+1,I DEF BS01 DEF BS02 DEF BS03 DEF BS04 DEF BS05 DEF BS06 DEF BS07 DEF BS08 DEF BS09 DEF BS10 DEF BS11 DEF BS12 DEF BS13 DEF BS14 DEF BS15 DEF BS16 DEF BS17 DEF BS20 DEF BS21 DEF BS22 DEF BSSTB DEF M1 SKP * START OF CONFIGURATION SECTION * CFGR CLA STA 3B CLEAR WRAPAROUND LDB D8K3 TRY FOR 8K LDA APTRN GET ALTERNATING PATTERN COZ0 STA B,I STORE IT CPA 3B DID IT WRAPAROUND? JMP COZE YES CPA B,I DID IT STORE? RSS JMP COZE NO STB MEM YES - SAVE SIZE CPB D32K3 REACHED 32K? JMP COZE YES ADB B10K NO - MOVE TO NEXT 4K JMP COZ0 COZE LDA MEM GET PREVIOUS MEMORY SIZE AND B70K ISOLATE SIZE ONLY STA MEM SET MEMORY SIZE IN BASE PAGE CLB DETERMINE IF DMA IS AVAILABLE STC DMA2 PREPARE DMA FOR COUNT LDA APTRN GET PATTERN OTA DMA2 OUTPUT IT LIA DMA2 INPUT IT IOR DMABT ADD UPPER BITS CPA APTRN DOES IT COMPARE? LDB B4 YES-THEN DMA IS AVAILABLE STB CTO AND ADD BIT TO OPTIONS CCB DETERMINE IF MEMORY PROTECT IS AVAILABLE LDA B3 SET MEMORY PROTECT OTA MPRT FENCE AT 3 LDA CFMPJ SET JSB IN STA MPRT TRAP CELL LDA 2 GET ORIGINAL CONTENTS STF INTP TURN ON INTERRUPTS <:6STC MPRT,C TURN ON MEMORY PROTECT STA 2 VIOLATE FENCE CLF INTP TURN OFF INTERRUPTS FOR NO MPRT CCA SET TO FLASH S-REG. OTA SWREG SFC INTP CHECK IF IN TROUBLE RSS JMP *+5 NO ISZ TMPA YES - WAIT FOR OPERATOR TO JMP *-4 PRESS HALT-PRESET-RUN CMA (FLASH S-REG.) JMP *-7 CLC MPRT,C TURN OFF MPRT LDA B40 SZB DO WE ADD MPRT BIT? CLA NO IOR CTO STA CTO UPDATE OPTIONS LDA 4 RESTORE TRAP CELL HALT STA MPRT SKP * DETERMINE COMPUTER TYPE * LDA APTRN GET PATTERN FOR SWITCH REGISTER OTA SWREG OUTPUT IT LIB SWREG GET IT BACK CPA B DID IT COME BACK? JMP CF40X YES - THEN 2114/2100/21MX $<  24296-80005 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | LDA MEM NO - THEN 2116/2115 ALF,RAR IF MEMORY AND B7 IS SZA OVER 8K CLA,INA,RSS THEN 2116 LDA B4 NO THEN 2115 JMP CFCT CONFIGURE IT CF40X CLB CHECK FOR EAU OTB SWREG (CLEAR SWR) OCT 101100 RRR 16 INSTRUCTION SZA,RSS DID IT ROTATE? JMP *+3 YES THEN 2100/21MX LDA B6 NO THEN 2114 JMP CFCT CONFIGURE IT LIB DMA6 IF I/O BUS LDA B7 (SET 2100) SZB IS NOT ZERO INA THEN 21MX CPA B7 WAS IT 2100? JMP *+3 YES - SKIP TIMER IT DOES FUNNY THINGS OCT 100060 OR IF TIMER INA THEN 21XE CFCT RAL (MPY BY 2 - TWO WORDS PER ENTRY) ADA CPTOT ADD POINTER TO TABLE LDB A,I GET TIMING CONSTANT STB DTMC,I PUT IT IN UPPER ROUTINES STB 110B AND IN BASE PAGE INA MOVE TO LDA A,I COMPUTER TYPE AND STANDARD OPTIONS IOR CTO ADD CALCULATED OPTIONS STA CTO PUT BACK IN BASE PAGE LINK AREA LDA CFCT-2 GET 21XE MICRO TIMER INSTRUCTION CPB XETC IS THIS THE XE TIME CONSTANT? STA DTMI,I YES PUT MICRO INSTRUCTION IN TIMER ROUTINE * LDA SWRX SZA,RSS MANUAL? JMP SWRCF YES SKP * DETERMINE & CONFIGURE CONSOLE INTERFACE DRIVER * LDA SWRX GET SWR AGAIN AND B77 ISOLATE CONSOLE SELECT CODE STA CODSC UPDATE BASE PAGE SC STA CIDSC SZA IS THERE A CONSOLE? JMP *+3 YES THEN DETERMINE INTERFACE LDA CSLDY NO GET DUMMY CONSOLE JMP CF531+1 JSB CHSC,I CHECK AND SAVE SELECT CODE STA SVA SAVE IT FOR I-O LIST UPDATE LDA DCO CHECK IF LINK HAS BEEN LOADED LDB A,I GET FIRST WORD SSB IF BIT 15 SET {dTHEN JMP CF531+1 LINK IS LOADED LDB CFSCD GET POINTER TO SELECT CODE JSB ISCR,I INITIALIZE I-O INSTRUCTIONS CLC INTP GENERATE CRS TO INTERFACE CFSC1 CLF SC CLEAR THE FLAG CFSC2 SFS SC IF FLAG RSS IS STILL JMP CF587 SET THEN 12587 LDA CFMRS IF IT CLEARED THEN 12531/12966 CFSC3 OTA SC OUTPUT MASTER RESET CFSC4 SFS SC IF FLAG RSS IS SET JMP CF966 THEN 12966 CFSC5 LIA SC CHECK IF 77 STORED CPA B77 JMP CF531 YES THEN 12531 LDA SWRX NO - RESTORE S-REG. OTA SWREG AND LDA DISN A-REG. AND LDB DIBP B-REG. HLT 22B INFORM OPERATOR OF ERROR JMP CFRG START CONFIGURATION OVER CF531 LDA CD531 GET POINTER TO 12531 LDB DCO AND DRIVER ROUTINE AREA JSB MDVR,I MOVE CONSOLE DRIVER INTO PLACE DEC -45 (NUMBER OF WORDS TO BE MOVED) JMP CFOP GO TO OUTPUT COMPUTER OPTIONS CF587 LDA CD587 GET POINTER TO 12587 JMP CF531+1 CF966 LDA CD966 GET POINTER TO 12966/8 JMP CF531+1 * CFMRS OCT 150077 CFSCD DEF *+1,I DEF CFSC1 DEF CFSC2 DEF CFSC3 DEF CFSC4 DEF CFSC5 DEF M1 SKP * AUTOMATIC CONFIGURATION * CFOP LDA SWRX GET LOADER SELECT CODE AND TYPE ALF,ALF RAL,RAL AND B777 SZA,RSS IS IT CONVERSATIONAL? JMP CFCON YES STA 111B PUT IT IN BASE PAGE AND B77 JSB CHSC,I CHECK AND SAVE SELECT CODE LDA SWRX GET POINTER TO LOADER ALF AND B7 ADA DINDD LDA A,I SZA VALID DEVICE? JMP *+3 YES HLT 72B NO - TELL OPERATOR LDA LDDY USE PSEUDO LOADER WITH HALT LDB DLDVR GET LOCATION JSB MDVR,I AND MOVE IT ABS LDVR-7700B LDA LPDYD PUT JSB TO CONSOLE LDB LPDV IN LP DRIVER JSB MDVR,I DEC -21 JSB CFM,I MOVE UTILITIES AND DRIVERS CLA LDB SWRX ELB CLB SEZ ANY REQUEST? LDA DISN YES - GET IT SEZ LDB DIBP * CFLDR STA SVA SAVE A & STB SVB B - REG. CCB SET TO REWIND SZA,RSS SHOULD I? JSB DRI,I YES LDA SVA RESTORE REGISTERS LDB SVB JMP 120B GO TO LOADER SKP * MANUAL CONFIGURATION * * SWRCF LDA CTO GET OPTIONS FOR DISPLAY OTA SWREG HLT 0 WAIT FOR COMPUTER TYPE AND OPTIONS LIA SWREG SZA,RSS IF NO INPUT SKIP UPDATE JMP SWRCS STA CTO SET THEM IN PLACE ALF,RAL AND B37 GET COMPUTER TIMING ADA CPTOT LDB A,I STB DTMC,I STB 110B LDA CFCT-2 GET 21XE MICRO TIMER INSTRUCTION CPB XETC IS THIS THE 21XE TIME CONSTANT? STA DTMI,I YES PUT INSRTUCTION IN TIMER ROUTINE * SWRCS CLA CLEAR SWITCH REGISTER OTA SWREG HLT 1 WAIT FOR CONSOLE LIA SWREG STA SWRX SAVE SWITCH REGISTER SZA IS THERE A CONSOLE JMP SWRCN YES STA SCX NO CLEAR SELECT CODE STA CODSC STA CIDSC LDA CSLDY PUT DUMMY IN CONSOLE DRIVER LDB DCO JSB MDVR,I MOVE IT INTO LOCATION DEC -45 JMP SWRLP CONTINUE WITH LINE PRINTER SWRCN ALF,ALF DETERMINE RAL,RAL CONSOLE AND B7 TYPE RAL ADA CNSLD STA TMPA INA LDB A,I LDA SWRX PICK UP PARAMETERS SZB ARE ANY REQUIRED JSB B,I YES UPDATE DRIVER LDA SWRX UPDATE SELECT CODE AND B77 JSB CHSC,I CHECK AND SAVE SELECT ,CODE STA CODSC STA CIDSC LDA TMPA,I MOVE DRIVER INTO LOCATION LDB DCO (CNSL DEF) JSB MDVR,I DEC -45 SKP SWRLP CLA CLEAR SWITCH REGISTER OTA SWREG HLT 2 WAIT FOR LP LIA SWREG STA SWRX STA LPDSC SZA,RSS IS THERE A LP JMP CFLPD NO - USE DUMMY AND B77 YES JSB CHSC,I CHECK AND SAVE SELECT CODE STA LPDSC LDA SWRX GET LP TYPE ALF,ALF RAL,RAL AND B7 ADA LPDF GET POINTER TO LP DRIVER LDA A,I LDB LPDV JSB MDVR,I MOVE LP DRIVER INTO LOCATION DEC -21 JMP *+5 CFLPD LDA LPDYD USE JSB TO CONSOLE LDB LPDV JSB MDVR,I MOVE DRIVER L.P. INTO PLACE DEC -21 * LDA MEM GET CALCULATED MEMORY OTA SWREG OUTPUT IT HLT 3 WAIT FOR OPERATOR LIA SWREG GET INPUT AND B70K MASK OFF LOWER BITS STA MEM SKP CLA CLEAR SWITCH REGISTER OTA SWREG HLT 4 WAIT FOR LOADING DEVICE LIA SWREG GET LOADER SELECT CODE AND TYPE AND B777 STA 111B PUT IT IN BASE PAGE AND B77 JSB CHSC,I CHECK AND SAVE SELECT CODE LDA 111B GET POINTER TO LOADER ALF,ALF RAL,RAL AND B7 ADA DINDD LDA A,I SZA VALID DEVICE? JMP *+3 YES HLT 72B NO - TELL OPERATOR LDA LDDY USE PSEUDO LOADER WITH HALT LDB DLDVR GET LOCATION JSB MDVR,I AND MOVE IT ABS LDVR-7700B JSB CFM,I MOVE UTILITIES AND DRIVERS CLA CLB OTA SWREG CLEAR S-REG HLT 77B CONFIGURATION COMPLETE JMP CFLDR GO TO LOADER SKP * CONVERSATIONAL CONFIGURATION * CFCON CLA DO A CR/LF JSB COD,I LDA CTO GET COMPUTER TYPE ALF AND B17 ALS,ALS MPY BY 4 ADA CFCTP CONVERT TO MESSAGE POINTER STA *+2 JSB MSG,I OUTPUT COMPUTER TYPE TO CONSOLE NOP (NO INPUT WITH IT) LDA CTO GET OPTIONS AND B4 LDB CFDNA DMA NOT AVAILABLE SZA LDB CFDIV DMA IS AVAILABLE CLA,CLE OUTPUT MESSAGE TO CONSOLE JSB FMTO,I LDA CTO SKIP MEMORY PROTECT MESSAGE ALF AND B17 CPA B4 IF IT'S A 15 JMP CFMZM YES SKIP MESSAGE CPA B5 OR IF IT'S A 14 JMP CFMZM YES SKIP MESSAGE LDA CTO NOW MEMORY PROTECT AND B40 LDB CFMNA MPRT NOT AVAILABLE SZA LDB CFMIV MPRT IS AVAILABLE CLA,CLE JSB FMTO,I OUTPUT MESSAGE TO CONSOLE CFMZM LDA MEM GET MEMORY SIZE ALF AND B7 ADA CFMTB LDB A,I CLA,CLE JSB FMTO,I AND OUTPUT IT TO THE CONSOLE CLA,CLE LDB CFMS JSB FMTO,I CLA DO CR-LF JSB COD,I SKP * ASK FOR LINE PRINTER * CFDOD CLA STA LPDSC CLEAR SELECT CODE JSB MSG,I "LINE PRINTER TYPE + SC..." DEF DOTDM JSB CNST,I SEARCH FOR DEVICE DEF DOTDT JMP CFDOD NOT FOUND TRY AGAIN STA TMPA SAVE POINTER CPA LPDYD NONE? JMP CFDLP YES - SKIP SELECT CODE JSB CNSC,I CONVERT SELECT CODE JMP CFDOD ERROR TRY AGAIN STA SCX SAVE FOR MOVE STA LPDSC AND PUT IT IN BASE PAGE CFDLP LDA TMPA LDB LPDV JSB MDVR,I MOVE DRIVER INTO LOCATION DEC -21 CLA DO CR/LF JSB COD,I CFDIN JSB MSG,I "DIAG. INPUT DEVICE + SC.." DEF DINDM JSB CNST,I SEARCH FOR DEVICE DEF DINDP JMP CFDIN NOT FOUND TRY AGAIN STA TMPA JSB CNSC,I CONVERT SELECT CODE JMP CFDIN ERROR TRY AGAIN STA SCX SAVE FOR MOVE LDB TMPA BLF RBL,RBL IOR B ADD TYPE FOR BASE PAGE STA DRISC LDA TMPA ADA DINDD LDA A,I GET POINTER TO DRIVER LDB DLDVR JSB MDVR,I MOVE LOADER INTO POSITION ABS LDVR-7700B CLA DO CR-LF JSB COD,I SKP JSB MSG,I READY INPUT DEVICE DEF LDVRY,I (NO INPUT) CLA JSB COD,I DO CR/LF CFSN0 JSB MSG,I "DIAG. SERIAL NUMBER.." DEF DGSNM CCA,CLE LDB IBUFD JSB AS2N,I STA SVA SAVE SERIAL NUMBER LDA B,I CHECK NEXT CHARACTER FOR ZERO SEZ,RSS ALF,ALF AND B177 STA SVB SZA,RSS IS IT? JMP CFSN1 YES JUST USE SERIAL NUMBER CPA B54 IS IT A COMMA? RSS JMP CFSN0 NO SO TRY AGAIN CCA,SEZ,CME YES INB MOVE TO NUMBER JSB AS2N,I CONVERT BIT PATTERN STA SVB SAVE IT LDA B,I SEZ,RSS ALF,ALF AND B177 SZA IS IT END OF BUFFER? JMP CFSN0 NO SO TRY AGAIN CFSN1 CLA STA SCX CLEAR SELECT CODE FOR MOVE JSB CFM,I MOVE DRIVERS AND UTILITIES TO LAST PAGE LDA SVA GET SERIAL NUMBER LDB SVB JMP CFLDR * REP 104B OCT 106075 MEMORY HALT SKP * MOVE UTILITY AND DRIVERS TO UPPER MEMORY * CFMEM NOP LDB DEFT UPDATE ALL ADDRESS POINTERS PTUD LDA B,I CPA M1 END OF LIST JMP *+6 YES AND M70K MASK OLD ADDRESS IOR MEM ADD NEW ADDRESS STA B,I INB MOVE TO NEXT ADDRESS JMP PTUD CLA NO SC UPDATE STA SCX LDA B6.5K A = FROM ADDRESS LDB MEM B = TO ADDRESS SZB,RSS IS A MOVE NECESSARY JMP *+4 NO G ADB A JSB MVDVR ABS 6500B-7700B JMP CFMEM,I NO RETURN * * MOVE DRIVER INTO LOCATION AND UPDATE SELECT CODE * MVDVR NOP STA FROM SAVE FROM LOCATION STB TO SAVE TO LOCATION LDA MVDVR,I GET NUMBER OF ISZ MVDVR WORDS TO BE MOVED STA MVCNT MVDV0 LDA FROM,I GET WORD LDB FROM,I CPB IOGM3 IS IT SWR REF? JMP MVDV1 YES - SKIP SC AND IOGM0 SZA,RSS IS IT A HALT JMP MVDV1 YES - SKIP SELECT CODE LDA FROM,I AND IOGM1 CPA IOGM2 IS IT AN IO INSTRUCTION ADB SCX YES - ADD SELECT CODE MVDV1 STB TO,I PUT IT IN PLACE ISZ FROM INCREMENT ADDRESSES ISZ TO FOR NEXT WORD ISZ MVCNT ALL WORDS MOVED? JMP MVDV0 NO JMP MVDVR,I * IOGM0 OCT 700 IOGM1 OCT 172076 IOGM2 OCT 102000 IOGM3 LIA 1,C TO NOP FROM NOP MVCNT NOP SKP * INITIALIZE SELECT CODE * ISC NOP LDA B,I CPA M1 END OF LIST? JMP ISC,I YES CPA M2 INCREMENT SELECT CODE RSS JMP *+3 NO ISZ SVA YES JMP *+4 BUT SKIP UPDATE OF M2 AND M77 MASK OFF OLD SELECT CODE ADA SVA ADD NEW ONE STA B,I PUT IT BACK IN PLACE INB MOVE TO NEXT ONE JMP ISC+1 * * CHECK AND SAVE SELECT CODE * CKSC NOP STA SCX SAVE SELECT CODE CLE,ERA CLE,ERA CLE,ERA SZA,RSS JMP *+3 LDA SCX RESTORE SELECT CODE JMP CKSC,I RETURN HLT10 HLT 10B SELECT CODE INPUT ERROR JMP *-1 (NOT RECOVERABLE) SKP * OUTPUT MESSAGE + CALL FOR INPUT * MSGR NOP CLA,CLE LDB MSGR,I OUTPUT MESSAGE ELB,CLE,ERB CLEAR BIT 15 SZB SKIP OUTPUT IF NO MESSAGE JSB FMTO,I LDB MSGR,I IS THIS A MESSAGE ONgLY SSB ? JMP MSGX YES - EXIT LDA N10 CLEAR LDB IBUFD BUFFER STB TMPA CLB STB TMPA,I ISZ TMPA INA,SZA JMP *-3 LDA D20 CALL FOR INPUT LDB IBUFD JSB CID,I SZA,RSS IF NO INPUT TRY AGAIN JMP MSGR+1 LDA IBUFD SET POINTER RAL FOR GET BLOCK (GETB) STA IBUFP MSGX ISZ MSGR JMP MSGR,I RETURN * N10 DEC -10 D20 DEC 20 IBUF OCT 0,0,0,0,0,0,0,0,0,0 NOP SKP * * TABLE SEARCH ROUTINE * CNTS NOP JSB GETA GET FOUR CHARACTERS LDB CNTS,I ISZ CNTS CNTS0 LDA B,I START SEARCH CPA M1 END OF LIST? JMP CNTS,I YES-ERROR RETURN CPA SVA DO THE FIRST TWO CHR'S COMPAR? JMP *+5 YES INB NO MOVE TO CNTS1 INB NEXT BLOCK INB JMP CNTS0 INB LDA B,I CPA SVB DO THE NEXT TWO CHR'S COMPARE? JMP *+2 JMP CNTS1 NO INB YES LDA B,I GET NEXT WORD ISZ CNTS RETURN P+3 JMP CNTS,I * SKP * GET 4 ASCII CHARACTERS (FROM CONSOLE INPUT BUFFER) * IN A & B REG. THEN SKIP TO COMMA OR EOL * GETA NOP CLA CLEAR CHARACTERS FIRST STA SVA STA SVB JSB GETCH FIRST CHARACTER JMP GETAE ALF,ALF STA SVA JSB GETCH SECOND CHARACTER JMP GETAE IOR SVA STA SVA JSB GETCH THIRD CHARACTER JMP GETAE ALF,ALF STA SVB JSB GETCH FOURTH CHARACTER JMP GETAE IOR SVB STA SVB JSB GETCH WAIT FOR COMMA OR EOL RSS JMP *-2 GETAE LDA SVA GET THE FOUR CHARACTERS LDB SVB JMP GETA,I RETURN * GETCH NOP LDB IBUFP CLE,ERB LDA B,I SEZ,RSS 640 ALF,ALF <>6   24296-80006 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | AND B177 SZA,RSS EOL? JMP GETCH,I YES ISZ IBUFP NO MOVE TO NEXT CHARACTER CPA B54 COMMA? RSS YES ISZ GETCH ADJUST RETURN IF NOT A COMMA OR EOL JMP GETCH,I SKP * CONVERT SELECT CODE * CVSC NOP JSB GETA GET ASCII INPUT SZB IF MORE THAN 2 JMP CVSC,I THEN ERROR SZA,RSS IF NO INPUT JMP CVSC,I THEN ERROR ALF,ALF JSB CVSCC CHECK IT JMP CVSC,I NOT A NUMBER RAL,RAL OK RAL SAVE IT SZA,RSS CAN'T BE ZERO JMP CVSC,I STA CVSCT LDA SVA JSB CVSCC CONVERT SECOND NUMBER JMP CVSC,I NOT A NUMBER IOR CVSCT ADD FIRST NUMBER ISZ CVSC ADJUST GOOD RETURN JMP CVSC,I RETURN * CVSCC NOP STA B AND B170 CPA B60 MUST BE A NUMBER RSS JMP CVSCC,I NOT SO RETURN WITH ERROR LDA B AND B7 ISZ CVSCC ADJUST RETURN JMP CVSCC,I RETURN * CVSCT NOP SKP DOTDM ASC 15,LINE PRINTER (NO.,SC)........_ * DOTDT ASC 2,2610 DEF OLPXX ASC 2,2614 DEF OLPXX ASC 2,2767 DEF OLP67 ASC 2,9866 DEF OLP67 ASC 2,2607 DEF OLPXX ASC 2,2618 DEF OLPXX ASC 2,2617 DEF OLPXX ASC 2,2613 DEF OLPXX ASC 2,2778 DEF OLPXX ASC 2,LINK DEF LNPTR ASC 2,NONE DEF OLPDY DEC -1 SKP DINDM ASC 15,DIAG. INPUT DEVICE (NO.,SC).._ LDVRY ASC 13,READY DIAG. INPUT DEVICE/ DGSNM ASC 15,DSN(,SEQ.DIAG.EXECUT.)......._ * DINDP EQU * ASC 2,2748 OCT 0 ASC 2,2758 OCT 0 ASC 2,2737 OCT 0 ASC 2,7970 OCT 1 ASC 2,7900 OCT 2 ASC 2,7901 OCT 2 ASC 2,7905 OCT 3 ASC 2,7920 OCT 3 ASC N2,2644 OCT 4 ASC 2,2645 OCT 4 ASC 2,LINK OCT 7 DEC -1 * DINDT EQU * DEF PT PAPER TAPE DEF MG MAG TAPE DEF DS 7900/1 DISC DEF DF 7905 DISC DEF CT 2644 CARTRIDGE TAPE DEF *-* DEF *-* DEF LDVR MAINTAIN CURRENT DRIVER (LINK) SKP SKP * 12531-12880 TTY-KDT-PTM * O531 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS OR531-* ABS JSB+.OUT DUMP BUFFER OCT 120000 CONTROL WORD FOR 12531-12880 NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED CLC SC,C TURN CARD OFF ABS JMP+CSLO+100000B OR531 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-O531+CSLO ABS JMP+*-5-O531+CSLO+100000B OCT 0,0,0,0,0 * * I531 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS IR531-* ABS JSB+.IN LOAD BUFFER OCT 160000 CONTROL WORD FOR 12531-12880 NOP NO MORE CONTROL WORDS STC SC,C LEAVE CARD IN INPUT MODE CLC SC,C TURN CARD OFF ABS JMP+CSLI+100000B IR531 NOP STC SC,C I/O 1 SFS SC I/O 2 ABS JMP+*-1-I531+CSLI LIA SC I/O 4 ABS JMP+*-5-I531+CSLI+100000B SKP * 12587 1 CHR BUFFER BOARD * O587 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORD ABS OR587-* LIA SC CHECK FOR NOT BUSY RAL,RAL SSA ABS JMP+*-3-O587+CSLO ABS JSB+.OUT DUMP BUFFER OCT 160410 CONTROL WORD FOR 12587 NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED OTA SC OUTPUT NULL CLC SC,Ck TURN CARD OFF ABS JMP+CSLO+100000B OR587 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-O587+CSLO ABS JMP+*-5-O587+CSLO+100000B * I587 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORD ABS IR587-* LIA SC CHECK FOR NOT BUSY RAL,RAL SSA ABS JMP+*-3-I587+CSLI ABS JSB+.IN LOAD BUFFER OCT 141410 CONTROL WORD FOR 12587 OCT 2000 SBA FOR 2616 TERMINAL NOP NO MORE CONTROL WORDS LIA SC SET FOR INTERRUPT CLC SC,C TURN CARD OFFF ABS JMP+CSLI+100000B IR587 NOP LIA SC I/O 0 STC SC,C I/O 1 SFS SC I/O 2 ABS JMP+*-1-I587+CSLI LIA SC I/O 4 ABS JMP+*-6-I587+CSLI+100000B * SKP * 12966 128 CHR BUFFERED BOARD * C966 NOP ALF ROTATE BAUD RATE INTO POSITION AND B17 MASK OFF OTHERS STA B LDA IX966 AND M17 IOR B STA IX966 LDA OX966 AND M17 IOR B STA OX966 JMP C966,I * O966 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS OR966-* ABS JSB+.OUT DUMP BUFFER OX966 OCT 040740 CONTROL WORD 2 (INTF CONTROL) OC966 EQU *-O966 OCT 50077 CONTROL WORD 1 (BUFFER FLAGS RESET) OCT 030056 CONTROL WORD 3 (CHR-FRM CONTROL) NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED ABS JMP+CSLO+100000B NOW EXIT O.966 EQU *-O966 OR966 NOP OTA SC I/O+1 CLC SC,C I/O+2 LIA SC CHECK FOR BUFFER EMPTY ALF,ALF MOVE TO BUFFER EMPTY SSA,RSS IS IT EMPTY? ABS JMP+*-3-O966+CSLO NO KEEP CHECKING ABS LDA+CSLO+OC966 GET CONTROL WORD 1 OTA SC ABS JMP+CSLO+O.966+100000B RETURN FOR ANOTHER BYTE SKP I966 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS IR966-* ABS JSB+.IN LOAD BUFFER IX966 OCT 040140 CONTROL WORD 2 (INTF CONTROL) OCT 50077 CONTROL WORD 1 (RESET BUFFER FLAGS) OCT 030076 CONTROL WORD 3 (CHR-FRM CONTROL) NOP NO MORE CONTROL WORDS STC SC,C SET FOR INPUT CLC SC,C TURN CARD OFF ABS JMP+CSLI+100000B IR966 NOP STC SC I/O+1 LIA SC I/O+2 SSA,RSS I/O+3 ABS JMP+*-2-I966+CSLI ABS JMP+*-5-I966+CSLI+100000B SKP * LINE PRINTER OUTPUT * OLP67 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER RSS NO CONTROL WORDS ABS RLP67-* LIA SC CHECK IF DEVICE IS READY SLA,RSS ABS JMP+*+3-OLP67+LPTR OCT 106076 NOT READY TELL OPERATOR ABS JMP+*-4-OLP67+LPTR ABS JSB+.OUT DUMP BUFFER NOP NO CONTROL WORDS OCT 12 NORMAL LINE FEED CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RLP67 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-OLP67+LPTR ABS JMP+*-5-OLP67+LPTR+100000B * * OLPXX NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER RSS NO CONTROL WORDS ABS RLPXX-* LIA SC CHECK IF DEVICE IS READY SSA ABS JMP+*+3-OLPXX+LPTR OCT 106076 NOT READY TELL OPERATOR ABS JMP+*-4-OLPXX+LPTR ABS JSB+.OUT DUMP BUFFER NOP NO CONTROL WORDS OCT 100001 FORM CONTROL (1LF) CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RLPXX NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-OLPXX+LPTR ABS JMP+*-5-OLPXX+LPTR+100000B SKP * PAPER TAPE LOADER DRIVER * PT EQU * * * PTRD EQU *-PT NOP SSB READ OR FORWARD SPACE? ABS JMP+LD+*-PT+3 REWIND OR FORWARD SPACE ABS JSB+LD+PTFW READ WORD ABS JMP+LD+PTRD+100000B SLB REWIND? ABS JMP+LD+PTRD+100000B YES EXIT RBR,SLB FILE FORWARD? RSS ABS JMP+LD+PTRD+100000B NO PTFF EQU *-PT CLB ABS LDA+LD+PTCX ANY COUNT REMAINING SSA,RSS ? ABS JMP+LD+*-PT+3 NO ABS JSB+LD+PTFW YES PICK WORDS UP ABS JMP+LD+PTFF INB SZA,RSS INB ABS JSB+LD+PTFW SZA EOF OR EOT? SSA ABS JMP+LD+PTRD+100000B YES RETURN ABS JMP+LD+PTFF NO DO MORE SKP PTFW EQU *-PT NOP SZB,RSS READ WORD? ABS JMP+LD+PTW YES SLB,RSS ABS JMP+LD+*-PT+3 READ NEXT RECORD PTRS EQU *-PT STC SC,C NO START READER CLB,RSS SEARCH FOR FIRST BYTE ABS LDB+%M10-6000B SET NULL COUNT TO 10 ABS JSB+LD+PTRB WAIT FOR BYTE SZA ANY DATA YET? ABS JMP+LD+*-PT+6 YES CONTINUE INB,SZB NO EOT YET? ABS JMP+LD+*-PT-4 NO TRY NEXT BYTE INB ABS STB+LD+PTCX SET EOF REACHED ABS JMP+LD+PTFW+100000B YES RETURN WITH EOT ALF,ALF PUT COUNT IN UPPER BYTE ABS STA+LD+PTDOT SAVE IT ABS JSB+LD+PTRB READ NEXT BYTE SZA NEXT BYTE SHOULD BE ZERO ABS JMP+LD+PTEX NOT SO EXIT ABS LDA+LD+PTDOT RETRIEVE COUNT LDB A BLF,BLF INB CMB ABS STB+LD+PTCX ABS JMP+LD+PTFW+100000B OK RETURN SKP PTRB EQU *-PT NOP ABS LDA+%M10-6000B SET TIME OUT ABS STA+LD+PTDLT CLA,CLE SFS SC READER READY WITH BYTE RSS ABS JMP+LD+PTLD YES READ IT INA,SZA IS FIRST DELAY OVER? ABS JMP+LD+PTRB+4 NO CHECK IT AGAIN ABS ISZ+LD+PTDLT YES IS SECOND DELAY OVER? ABS JMP+LD+PTRB+3 NO RESTART FIRST DELAY PTEX EQU *-PT CLC SC,C YES - STOP READER CCA INDICATE END OF FILE SZB IS IT REALY END OF TAPE? ABS JMP+LD+PTFW+100000B YES OCT 106074 NO - TAPE TORN OR GATE DOWN ABS JMP+LD+PTRS TRY AGAIN PTLD EQU *-PT LIA SC GET BYTE STC SC,C START NEXT READ ABS JMP+LD+PTRB+100000B PTW EQU *-PT ABS JSB+LD+PTRB GET A BYTE ALF,ALF PUT IT IN UPPER HALF ABS STA+LD+PTDOT SAVE IT ABS JSB+LD+PTRB READ NEXT HALF ABS IOR+LD+PTDOT PUT THEM TOGETHER ABS ISZ+LD+PTCX DECREMENT REMAINDING COUNT NOP ABS JMP+LD+PTFW+100000B RETURN SKP * DUMPS TO PAPER TAPE IN * ABSOLUTE BINARY FORMAT * DUMPS FROM LOCATION 2B TO FWA * AND LWA TO N7700 * PTD EQU *-PT LIA 1,C GET SELECT CODE ABS IOR+%BT15-6000B BUILD INSTRUCTIONS ABS IOR+LD+PTDI ABS STA+LD+PTDIO+6 SFS (1022XX) ABS IOR+LD+PTDI+1 ABS STA+LD+PTDIO+4 OTA (1026XX) ABS STA+LD+PTDL+1 ABS IOR+LD+PTDI+2 ABS STA+LD+PTDIO+5 STC,C (1037XX) PTDL EQU *-PT ABS LDA+LD+PTDC PTCX EQU *-PT NOP OTA (ALSO STORAGE FOR RDR) ABS JSB+LD+PTDLT LEADER OUTPUT LDA 105B LAST ADDRESS ABS LDB+%B2-6000B FIRST ADDRESS PTD0 EQU *-PT ABS STB+BFR ABS STA+BFA PTD1 EQU *-PT ABS LDA+BFR CHECK IF DONE BY CMA,INA BFR > BFA ABS ADA+BFA SZA,RSS ? ABS JMP+LD+PTDX YES DO NEXT SECTION LDB A ABS ADB+%M60-6000B IS IT GREATER THAN 60 WORDS SSB,RSS ? ABS LDA+%B60-6000B YES SET ONE BLOCK ABS STA+CNT SAVE COUNT ALF,ALF MOVE TO UPPER HALF ABS JSB+LD+PTDOT OUTPUT COUNT ABS LDA+BFR GET STARTING ADDRESS ABS STA+COT SET CHECKSUM rZ ABS JSB+LD+PTDOT OUTPUT STARTING ADDRESS PTD2 EQU *-PT ABS LDA+BFR+100000B GET CONTENTS OF ADDRESS ABS JSB+LD+PTDOT FOR OUTPUT ABS LDA+COT ADD TO CHECKSUM ABS ADA+BFR+100000B ABS STA+COT ABS ISZ+BFR MOVE TO NEXT ADDRESS CCA ABS ADA+CNT SUBTRACT 1 FROM COUNT ABS STA+CNT SZA IS THAT ALL? ABS JMP+LD+PTD2 NO ABS LDA+COT YES ABS JSB+LD+PTDOT OUTPUT CHECKSUM ABS JMP+LD+PTD1 DO NEXT BLOCK SKP PTDX EQU *-PT ABS LDA+LD+PTDMA GET MAX ADDRESS ABS IOR+LDMXA-6000B ABS CPA+BFA WAS THIS THE SECOND PART? ABS JMP+LD+PTDEN YES LDB 106B INB LWA+1 ABS JMP+LD+PTD0 * PTDEN EQU *-PT ABS JSB+LD+PTDLT TRAILER OUTPUT HLT 77B ABS JMP+LD+PTDL DO IT AGAIN * * OUTPUT LEADER TRAILER * PTDLT EQU *-PT NOP ABS LDB+%NE2-6000B CLA ABS JSB+LD+PTDOT INB,SZB ABS JMP+LD+*-PT-3 ABS JMP+LD+PTDLT+100000B * PTDOT EQU *-PT NOP ABS JSB+LD+PTDIO ABS LDA+LD+PTRB ABS JSB+LD+PTDIO ABS JMP+LD+PTDOT+100000B * PTDIO EQU *-PT NOP ALF,ALF ABS STA+LD+PTRB ABS AND+%B377-6000B OCT 0 OTA SC OCT 0 STC SC,C OCT 0 SFC SC ABS JMP+LD+PTDIO+100000B ABS JMP+LD+*-PT-2 * * PTDI EQU *-PT OCT 2200 OCT 400 OCT 1100 PTDC EQU *-PT OCT 110000 PTDMA EQU *-PT OCT 7700 * OCT 0,0,0,0,0 SPACE HOLDERS ABS JMP+LD+PTD GO TO PUNCH ROUTINE SKP * MAG TAPE LOADER DRIVER * MG EQU * * MGLR EQU *-MG NOP SZB,RSS READ A WORD? ABS JMP+LD+MGW YES ABS STB+LD+MGBF+1 SSB,RSS READ A RECORD? ABS JMP+LD+MGLR0 YES SLB,RSS REWIND? ABS JMP+LD+*-MG+4 ABS JSB+LD+MGRDY NO WAIT FOR READY ABS LDB+LD+MGRW GET REWIND COMMAND ABS JSB+LD+MGOC DO 0.*IT ABS JSB+LD+MGRDY WAIT FOR READY ABS LDB+LD+MGFSF GET FILE FORWARD COMMAND ABS LDA+LD+MGBF+1 GET REQUEST RAR,SLA DO FILE FORWARD? ABS JSB+LD+MGOC YES ABS JMP+LD+MGLR+100000B RETURN MGLR0 EQU *-MG ABS JSB+LD+MGRDY WAIT FOR READY ABS LDA+LD+MGWC GET DMA WORD COUNT STC DMA2 OTA DMA2 ABS LDA+LD+MGAD GET ADDRESS FOR DMA ABS ADA+LDMXA-6000B ABS STA+LD+MGDA SAVE IT FOR LATER ABS IOR+%BT15-6000B ADD INPUT BIT FOR DMA CLC DMA2 OTA DMA2 ABS LDA+LD+MGDC1 GET DMA CONTROL WORD OTA DMA6 ABS LDB+LD+MGRC GET READ COMMAND ABS JSB+LD+MGOC DO IT ABS JSB+LD+MGRDY CHECK IF READ WAS OK ABS LDA+LD+MGBF+1 CMA,SLA,INA REVERSE SENSE CLA BLF,BLF MOVE TO EOF BIT OF STATUS SSB CHECK FOR EOT ABS JMP+LD+MGLR+100000B YES RETURN WITH END OF FILES MGW EQU *-MG ABS LDA+LD+MGDA+100000B GET A WORD FROM BUFFER ABS ISZ+LD+MGDA MOVE POINTER TO NEXT WORD ABS JMP+LD+MGLR+100000B RETURN SKP MGOC EQU *-MG NOP OTB SC+1 OUTPUT COMMAND LIA SC+1 RAR,RAR RAR,SLA REJECTED? ABS JMP+LD+*-MG-4 YES TRY AGAIN STC SC+1,C DO COMMAND ABS CPB+LD+MGRC WAS IT A READ RSS ABS JMP+LD+*-MG+3 NO STC SC,C START DATA CHANNEL STC DMA6,C START DMA SFS SC+1 WAIT FOR COMPLETION ABS JMP+LD+*-MG-1 STF DMA6 CLC DMA6,C TURN OFF DMA MGDC1 EQU *-MG CLC SC,C AND INTERFACE CLC SC+1,C 0   24296-80007 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | ABS JMP+LD+MGOC+100000B * MGRDY EQU *-MG NOP ABS LDA+LD+MGSU GET UNIT SELECT OTA SC+1 LIA SC+1 LDB A SAVE STATUS ABS AND+LD+MGSM MASK STATUS SZA,RSS WAS IT REJECTED ABS JMP+LD+MGRDY+100000B NO RETURN ABS AND+LD+MGRC SZA ANY ERRORS? OCT 106074 YES TELL OPERATOR ABS JMP+LD+MGRDY+1 TRY AGAIN * MGRW EQU *-MG OCT 101 MGWC EQU *-MG DEC -60 MGAD EQU *-MG ABS LDVR-6500B+MGBF MGDA EQU *-MG NOP MGFSF EQU *-MG OCT 203 MGRC EQU *-MG OCT 23 MGSU EQU *-MG OCT 1400 MGSM EQU *-MG OCT 3451 MGBF EQU *-MG SKP * DISC LOADER DRIVER * DS EQU * * * DSSR EQU *-DS NOP SZB READ A WORD? ABS JMP+LD+*-DS+3 NO ABS JSB+LD+DSW YES ABS JMP+LD+DSSR+100000B RETURN ABS STB+LD+DSBR SAVE B-REG SSB,RSS READ AND SEARCH? ABS JMP+LD+DSR YES CLA SLB,RSS REWIND? ABS JMP+LD+*-DS+6 ABS STA+LD+DSW FORCE FF IF USED ABS STA+LD+DSNCY CYLINDER ABS STA+LD+DSCY ABS STA+LD+DSNHS HEAD & SECTOR ABS STA+LD+DSHS RBR,SLB ANY FILE FORWARDS RSS ABS JMP+LD+DSSR+100000B NO MORE RETURN ABS LDB+LD+DSW CHECK IF IN READ ABS STA+LD+DSW CLEAR FOR NEXT ONE SZB DO A FF? ABS JMP+LD+DSSR+100000B NO RETURN ABS JMP+LD+DSR+2 YES * DSR EQU *-DS SLB,RSS FIRST READ? ABS JMP+LD+DSSR+3 NO ABS LDA+LD+DSNCY SET NEXT ABS STA+LD+DSCY CYLINDER ABS LDA+LD+DSNHS AND ABS STA+LD+DSHS HEAD AND SECTOR ABS JSB+LD+DSRD READ IT ABS JSB+LD+DSW GET CYLINDER ABS CPA+%M1-6000B END OF FILES? ABS JMP+LD+DSSR+100000B YES ABS STA+LD+DSNCY NO SAVE IT ABS JSB+LD+DSW GET NEST HEAD AND SwECTOR ABS STA+LD+DSNHS CLA ABS STA+LD+DSW ABS LDB+LD+DSBR CHECK IF JUST FF SSB ABS JMP+LD+DSSR+100000B YES RETURN ABS JSB+LD+DSW CHECK ADDRESS ABS ADA+LD+DSDMC ABS ADA+LDMXA-6000B SSA OK? OCT 106073 NO TELL OPERATOR ABS JMP+LD+DSSR+3 GET COUNT AND CONTINUE SKP DSRD EQU *-DS NOP ABS LDA+LD+DSCY OTA SC CYLINDER STC SC,C ABS LDA+LD+DSSK SEEK COMMAND OTA SC+1 STC SC+1,C SFS SC ABS JMP+LD+*-DS-1 WAIT FOR ACCEPTANCE ABS LDA+LD+DSHS OTA SC HEAD AND SECTOR STC SC,C SFS SC+1 ABS JMP+LD+*-DS-1 ABS JSB+LD+DSST CHECK FOR ACCEPTANCE ABS LDA+LD+*-DS-5 SET UP DMA ABS IOR+LD+DSRC CLC AT END OF TRANSFER OTA DMA6 CLC DMA2 ABS LDA+LD+DSDMC GET BUFFER ADDRESS ABS ADA+LDMXA-6000B ADD PAGE ABS STA+LD+DSDA ABS IOR+%BT15-6000B OTA DMA2 STC DMA2 ABS LDA+LD+DSDMC DMA COUNT OTA DMA2 ABS LDA+LD+DSRC READ COMMAND OTA SC+1 STC SC,C STC DMA6,C STC SC+1,C SFS SC+1 ABS JMP+LD+*-DS-1 ABS JSB+LD+DSST DID IT READ OK ABS LDB+LD+DSCY ANY CYLINDER? ABS LDA+476B GET BOOT POINTER SZB TO FILES ABS JMP+LD+*-DS+4 YES ABS STA+LD+DSNCY NO SET FIRST CYLINDER ABS STA+LD+DSCY ABS JMP+LD+DSRD+1 NOW TRY AGAIN ABS LDA+LD+DSHS UPDATE HEAD AND SECTOR INA ABS CPA+LD+DSHS0 ABS LDA+LD+DSHS. ABS CPA+LD+DSHS1 CLA ABS STA+LD+DSHS SZA,RSS UPDATE CYLINDER? ABS ISZ+LD+DSCY YES ABS JMP+LD+DSRD+100000B SKP DSW EQU *-DS NOP ABS LDA+LD+DSDA READ NEW SECTOR? ABS CPA+LDMXA-6000B ? ABS JSB+LD+DSRD YES ABS LDA+LD+DSDA+100000B NOW GET WORD ABS ISZ+LD+DSDA MOVE POINTER TO NEXT ONE ABS JMP+LD+DSW+100000B * DSST EQU *-DS NOP STF DMA6 TURN OFF DMA ABS LDA+%B7-6000B SET TO CLEAR ALL STATUS ABS ADA+%M1-6000B CLC SC CLC SC+1 OTA SC+1 STC SC+1,C SFS SC ABS JMP+LD+*-DS-1 SZA ALL STATUS CLEARED ABS JMP+LD+DSST+3 NO CLEAR NEXT ONE LIA SC GET STATUS CLC DMA6,C TURN OFF DMA INTERRUPT CLC SC,C AND INTERFACE CLC SC+1,C SLA,RSS ABS JMP+LD+DSST+100000B OCT 106074 ABS JMP+LD+DSRD+1 TRY AGAIN * DSHS0 EQU *-DS OCT 30 DSHS1 EQU *-DS OCT 430 DSHS. EQU *-DS OCT 400 DSBR EQU *-DS NOP DSNCY EQU *-DS NOP DSNHS EQU *-DS NOP DSCY EQU *-DS NOP DSHS EQU *-DS NOP DSDA EQU *-DS NOP DSSK EQU *-DS OCT 30000 DSRC EQU *-DS OCT 20000 DSDMC EQU *-DS DEC -128 SKP * DISC LOADER DRIVER * * DF EQU * * DFSR EQU *-DF NOP SZB READ A WORD? ABS JMP+LD+*-DF+3 NO ABS JSB+LD+DFW YES ABS JMP+LD+DFSR+100000B RETURN ABS STB+LD+DFBR SAVE B-REG SSB,RSS READ AND SEARCH? ABS JMP+LD+DFR YES CLA SLB,RSS REWIND? ABS JMP+LD+*-DF+6 ABS STA+LD+DFW FORCE FF IF USED ABS STA+LD+DFNCY CYLINDER ABS STA+LD+DFCY ABS STA+LD+DFNHS HEAD & SECTOR ABS STA+LD+DFHS RBR,SLB FILE FORWARD RSS ABS JMP+LD+DFSR+100000B NO MORE RETURN ABS LDB+LD+DFW CHECK IF IN READ MODE ABS STA+LD+DFW CLEAR FOR NEXT ONE SZB DO A FF? ABS JMP+LD+DFSR+100000B NO RETURN ABS JMP+LD+DFR+2 YES * DFR EQU *-DF SLB,RSS FIRST READ? ABS JMP+LD+DFSR+3 NO ABS LDA+LD+DFNCY SET NEXT ABS STA+LD+DFCY CYLINDER ABS LDA+LD+DFNHS AND ABS STA+LD+DFHS T HEAD AND SECTOR ABS JSB+LD+DFRD READ IT ABS JSB+LD+DFW GET CYLINDER ABS CPA+%M1-6000B END OF FILES? ABS JMP+LD+DFSR+100000B YES ABS STA+LD+DFNCY NO SAVE IT ABS JSB+LD+DFW GET NEST HEAD AND SECTOR ABS STA+LD+DFNHS CLA ABS STA+LD+DFW ABS LDB+LD+DFBR CHECK IF FF ONLY SSB ABS JMP+LD+DFSR+100000B YES RETURN ABS JSB+LD+DFW CHECK ADDRESS ABS ADA+LD+DFDMC ABS ADA+LDMXA-6000B SSA OK? OCT 106073 NO TELL OPERATOR ABS JMP+LD+DFSR+3 GET COUNT AND CONTINUE SKP DFRD EQU *-DF NOP ABS JSB+LD+DFST CHECK STATUS ABS LDA+LD+DFSK GET SEEK COMMAND CLC SC SET TO OUTPUT COMMAND OTA SC,C SFS SC ABS JMP+LD+*-DF-1 WAIT FOR ACCEPTANCE ABS LDA+LD+DFCY GET CYLINDER OTA SC,C SFS SC ABS JMP+LD+*-DF-1 WAIT FOR ACCEPTANCE ABS LDA+LD+DFHS OTA SC,C HEAD AND SECTOR STC SC SFS SC ABS JMP+LD+*-DF-1 ABS JSB+LD+DFST CHECK FOR ACCEPTANCE ABS LDA+LD+*-DF-5 SET UP DMA ABS AND+%B177-6000B USE SC ONLY OTA DMA6 CLC DMA2 ABS LDA+LD+DFDMC GET BUFFER ADDRESS ABS ADA+LDMXA-6000B ADD PAGE ABS STA+LD+DFDA ABS IOR+%BT15-6000B OTA DMA2 STC DMA2 ABS LDA+LD+DFDMC DMA COUNT OTA DMA2 ABS LDA+LD+DFRC READ COMMAND CLC SC SET TO OUTPUT COMMAND OTA SC,C STC DMA6,C STC SC SFS SC ABS JMP+LD+*-DF-1 ABS JSB+LD+DFST DID IT READ OK ABS LDB+LD+DFCY ANY CYLINDER? ABS LDA+476B GET BOOT POINTER SZB TO FILES ABS JMP+LD+*-DF+4 YES ABS STA+LD+DFNCY NO SET FIRST CYLINDER ABS STA+LD+DFCY ABS JMP+LD+DFRD+1 NOW TRY AGAIN ABS LDA+LD+DFHS UPDATE HEAD AND SECTOR INA ABS CPA+%B60-6000B CLA ABS STA+LD+DFHS e SZA,RSS UPDATE CYLINDER? ABS ISZ+LD+DFCY YES ABS JMP+LD+DFRD+100000B SKP DFW EQU *-DF NOP ABS LDA+LD+DFDA READ NEW SECTOR? ABS CPA+LDMXA-6000B ? ABS JSB+LD+DFRD YES ABS LDA+LD+DFDA+100000B NOW GET WORD ABS ISZ+LD+DFDA MOVE POINTER TO NEXT ONE ABS JMP+LD+DFW+100000B * DFST EQU *-DF NOP STF DMA6 TURN OFF DMA ABS LDA+LD+DFSTR SET TO GET STATUS CLC SC OTA SC,C STC SC SFS SC ABS JMP+LD+*-DF-1 LIA SC,C GET STATUS CLC DMA6,C TURN OFF DMA INTERRUPT ALF,ALF ABS AND+LD+DFB37 SZA ABS CPA+LD+DFB37 ABS JMP+LD+*-DF+3 OCT 106074 ABS JMP+LD+DFRD+1 TRY AGAIN ABS LDA+LD+DFFM CLC SC OTA SC,C SFS SC ABS JMP+LD+*-DF-1 ABS JMP+LD+DFST+100000B RETURN SKP DFB37 EQU *-DF OCT 37 DFBR EQU *-DF NOP DFNCY EQU *-DF NOP DFNHS EQU *-DF NOP DFCY EQU *-DF NOP DFHS EQU *-DF NOP DFDA EQU *-DF NOP DFSK EQU *-DF OCT 1000 DFSTR EQU *-DF OCT 1400 DFRC EQU *-DF OCT 2400 DFFM EQU *-DF OCT 7700 DFDMC EQU *-DF DEC -128 SKP * CARTRIDGE TAPE UNIT (2644) DRIVER * ASSUMES INTF. 12966/8 EXT BAUD RATE * CT EQU * CTLR EQU *-CT NOP SZB READ A WORD? ABS JMP+*+3-CT+LD ABS JSB+LD+CTINW YES READ IT AND ABS JMP+LD+CTLR+100000B RETURN ABS STB+LD+CTX SAVE B REG. SSB,RSS READ RECORD? ABS JMP+LD+CTLR0 YES SLB,RSS REWIND? ABS JMP+LD+CTFF NO SKIP TO FILE FORWARD CHECK ABS JSB+LD+CTCMD YES REWIND TAPE OCT 33 "ESC" OCT 46 "&" OCT 160 "P'" OCT 60 "0" OCT 103 "C" OCT 21 DC1 OCT 040340 TERMINATOR ABS JSB+LD+CTINW  WAIT FOR RESPONCE ABS CPA+LD+CT.S OK? RSS ABS JMP+LD+CTDRE NO - REPORT ERROR CTFF EQU *-CT ABS LDA+LD+CTX FILE FORWARD? RAR,SLA RSS ABS JMP+LD+CTLR+100000B NO - RETURN ABS LDA+LD+CTWT GET WAIT TIME ABS JSB+TMR-6000B NOW GO WAIT ABS JSB+LD+CTCMD YES - DO A FILE FORWARD OCT 33 "ESC" OCT 46 "&" OCT 160 "P'" OCT 62 "2" OCT 103 "C" OCT 21 DC1 OCT 040340 TERMINATOR ABS JSB+LD+CTINW WAIT FOR RESPONSE ABS CPA+LD+CT.S OK? ABS JMP+LD+CTLR+100000B YES RETURN CTDRE EQU *-CT OCT 106074 DEVICE ERROR ABS LDB+LD+CTX RESTORE B REG ABS JMP+LD+CTLR+1 TRY AGAIN SKP CTLR0 EQU *-CT ABS JSB+LD+CTCMD READ ONE RECORD OCT 33 "ESC" OCT 46 "&" OCT 160 "P'" OCT 62 "2" OCT 122 "R" OCT 21 DC1 CTCW4 EQU *-CT OCT 040340 TERMINATOR ABS JSB+LD+CTINW NOW GET ONE WORD ABS CPA+LD+CTRS END OF FILE? ABS JMP+LD+CTLR1 YES - REPORT IT ABS JSB+LD+CTINW ABS JSB+LD+CTINB ABS JSB+LD+CTCMD READ THE DATA OCT 21 DC1 OCT 040340 TERMINATOR ABS JSB+LD+CTINW READ RECORD COUNT ON TAPE ABS AND+%B377-6000B CHECK IF SECOND BYTE IS 0 SZA ?? CCB INDICATE EOF LDA B GET COUNT AND ABS JMP+LD+CTLR+100000B RETURN CTLR1 EQU *-CT ABS LDA+LD+CTX SECOND EOF? CMA,SLA,INA CLA NO ABS JMP+LD+CTLR+100000B OK RETURN SKP CTCMD EQU *-CT NOP ABS LDA+LD+CTCW0 MASTER RESET INTF. OTA SC,C ABS LDA+LD+CTCW1 INTF CONTROL (OUTPUT) OTA SC,C ABS LDA+LD+CTCW2 CHAR FRAME CONTROL CTCM0 EQU *-CT  OTA SC,C ABS LDA+LD+CTCMD+100000B GET A CHATACTER ABS ISZ+LD+CTCMD MOVE TO NEXT WORD OTA SC,C OUTPUT CHARACTER ABS CPA+LD+CTCW4 END OF LIST? ABS JMP+LD+CTCMD+100000B YES RETURN STC SC,C NO SFS SC WAIT FOR TRANSFER ABS JMP+*-1-CT+LD ABS LDA+LD+CTCW3 RESET BUFFER EMPTY ABS JMP+LD+CTCM0 DO NEXT WORD * CTINW EQU *-CT NOP ABS JSB+LD+CTINB READ A BYTE ALF,ALF PUT IT IN UPPER HALF WORD STA B ABS JSB+LD+CTINB READ SECOND BYTE IOR B ADD FIRST ABS JMP+LD+CTINW+100000B RETURN * * CTINB EQU *-CT NOP LIA SC GET DATA SSA,RSS VALID DATA? ABS JMP+*-2-CT+LD ABS AND+%B377-6000B ABS JMP+LD+CTINB+100000B * * CTX EQU *-CT NOP CTWT EQU *-CT DEC 1000 ONE SECOND CTRS EQU *-CT OCT 17015 36+15 CT.S EQU *-CT OCT 51415 CTCW0 EQU *-CT OCT 150077 CTCW1 EQU *-CT OCT 040700 CTCW2 EQU *-CT OCT 030003 CTCW3 EQU *-CT OCT 050077 SKP REP 276B OCT 106075 MEMORY HALT SKP LWAA EQU *-1 JMP LOADS RESTART FOR SERIAL EXECUTRION LDMXA ABS *-1 * * * * FORMATTED OUTPUT * * CALL: * * CLA * CLE * LDB * JSB FMTO,I * * LDB * JSB FMTO,I * * * OR * * CLA,INA * LDB * JSB FMTO,I * SKP FMTR NOP SZA ISS0.* THIS A NUMBER OUTPUT? JMP FMTNU YES LDA FMTR0+1 GET CONSOLE JSB RAR,ELA SET FOR COD,I OR LPD,I STA FMTR0+1 PUT IT IN PLACE FOR EXECUTION FMTR0 CCA INDICATE IT'S FROM THE FORMATTER JSB COD,I LDA BUFFR SAVE FORMAT POINTER STA FMTPS LDA FMTCH GET LAST CHARACTER JMP FMTR,I RETURN * FMTC LDB FMTPS CHECH TO RESTOR FORMAT POINTER LDA BUFFR CONVET POINTER ADA %M6 TO CHECK CLE,ERA IF NUMBER OUTPUT CPA FMTBF IS IT? STB BUFFR YES JSB BUF2A NO GET NEXT CHARACTER NOP STA FMTCH SAVE CHARACTER CPA SLASH IS IT A LINE TERMINATOR? JMP SLO2 YES CPA LAROW IS IT A SUPPRESS CR-LF? JMP SLO2+1 YES CPA NUMB IS IT A NUMBER REQUEST? JMP SLO2+1 YES JMP SLO1+2 NO OUTPUT THE CHARACTER * * OUTPUT A NUMBER TO THE BUFFER * Z>0   24296-80008 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2100 SERIES COMPUTER             H0101 }FMTNU STA BUF2A SAVE OCT OR INT FLAG LDA B CHANGE HANDS LDB FMTCH GET LAST CHARACTER? CPB NUMB IS IT A NUMBER OUTPUT? RSS JMP FMTR,I NO RETURN TO CALLER LDB FMTBF YES GET LOCATION FOR NUMBER CLE POSITION FOR UPPER BYTE ISZ BUF2A IS IT OCTAL OR INTEGER JMP *+3 OCTAL JSB O2ASC OCTAL CONVERSION RSS JSB D2ASC INTEGER CONVERSION LDB FMTBF POINT TO NUMBERS JMP FMTR0 OUTPUT THEM * SLASH OCT 57 LAROW OCT 137 NUMB OCT 43 FMTPS NOP FMTCH NOP FMTBF DEF *+1 OCT 0,0,0 SKP * OCTAL TO ASCII CONVERSION * CALL: * * CLE = UPPER OR CCE = LOWER * LDA * LDB * JSB O2AS,I * * * O2ASC NOP ENTER ELB SET-UP BUFFER POINTER STB BUFFR SAVE IT LDB %M6 NUMBER OF ASCII CHARACTERS STB CCNT SAVE COUNT CLB,INB SET MASK FOR FIRST CHARACTER RAL ROTATE IT IN STA D2ASC SAVE RESULT AND B MASK UNWANTED BITS O2AS1 AND %B7 MASK OFF UPPER BITS ADA %B60 ADD ASCII NUMBER JSB A2BUF PUT IT IN THE BUFFER JMP O2ASC,I RETURN IF ALL DONE LDA D2ASC RETRIEVE NUMBER RAL,RAL ROTATE FOR NEXT CHARACTER RAL STA D2ASC JMP O2AS1 AND DO IT * * * THE ABOVE ROUTINE DOES NOT ELIMINATE LEFT ZEROS SKP * DECIMAL TO ASCII CONVERSION * * CALL: * * CLE = UPPER OR CCE = LOWER * LDA * LDB * JSB D2AS,I * * * D2ASC NOP ELB SET-UP BUFFER POINTER STB BUFFR SAVE IT LDB %M6 SET CHR COUNT STB CCNT SAVE IT LDB A SAVE NUMBER SSA  IS IT NEGATIVE? CMA,INA YES - MAKE IT POSITIVE STA ASC2N SAVE FOR STORAGE LDA %B40 GET SPACE IF POSITIVE SSB WAS IT? LDA %B55 NO GET MINUS SIGN JSB A2BUF ADD IT TO BUFFER NOP JSB DIV CONVERT NUMBER DEC -10000 OUTPUT 10000 CHARACTER DEC -1000 OUTPUT 1000 CHARACTER %NE2 DEC -100 OUTPUT 100 CHARACTER DEC -10 OUTPUT 10 CHARACTER %M1 DEC -1 OUTPUT 1 CHARACTER * * DIV NOP ENTER LDA ASC2N GET NUMBER CLB ZERO COUNT DIV0 ADA DIV,I SUBTRACT DIVISOR SSA WAS IT LESS THAN DIVISOR? JMP DIV1 YES - THEN OUTPUT IT INB NO - INCREMENT THE COUNT STA ASC2N AND SAVE RESULTS JMP DIV0 DO IT AGAIN DIV1 LDA B ADA %B60 MAKE IT ASCII JSB A2BUF ADD IT TO BUFFER JMP D2ASC,I RETURN IF ALL NUMBERS DONE ISZ DIV MOVE TO NEXT NUMBER JMP DIV+1 DO IT * * THE ABOVE ROUTINE DOES NOT ELIMINATE LEFT ZEROS SKP * ASCII CONVERSION * * CALL: * CLA <=INTEGER CCA=OCTAL * LDB * CLE * JSB AS2N,I * 7 SSA,RSS ? JMP ASC1 YES ADA %B10 NO - RESTORE NUMBER RBL,RBL MOVE NUMBER UP RBL JMP ASC2 * INTCV BLS FORM ADA B BINARY BLS,BLS EQUIVALENT ASC2 ADB A ADD NEW NUMBER JMP ASC0 DO NEXT CHARACTER * ASC1 LDA D2ASC GET NUMBER CCB MOVE BUFFER POINTER BACK 1 ADB BUFFR CHARACTER CLE,ERB SET UPPER OR LOWER JMP ASC2N,I RETURN TO CALLER SKP * SWITCH REGISTER CHECK * SWR NOP ENTER SWITCH REG CHECK LIA SWREG GET EXTERNAL REGISTER AND B MASK OUT UNWANTED BITS SZA,RSS ANY BITS UP ISZ SWR YES RETURN P+2 JMP SWR,I RETURN TO CALLER * * * 1 MILLSEC. TIMER * TMR NOP ENTRY 1 MILLSEC CLOCK CMA,INA NEGATE TIME WANTED LDB TMC GET TIME COUNT INB,SZB IS TIME UP? TMI JMP *-1 NO TRY AGAIN INA,SZA YES IS THERE MORE TIME? JMP *-4 YES DO LOOP GAIN JMP TMR,I RETURN TO CALLER * TMC DEC -252 1 MILSEC. TIME OUT COUNT * * * DEVICE DRIVER ROUTINES * SETUP NOP CMA NEGATE COUNT STA CCNT SAVE FOR USE AS COUNTER RBL MAKE POINTER IN TO BYTE STB BUFFR KEEP IT LDB JBF2A GET STANDARD OUT PUT FRAM BUFFER SSA,RSS IS IT FORMAT STRING? LDB JFM2A YES GET CHR FROM FORMAT ROUTINE STB SLO1 LDA SETUP,I GET OTA FOR CONTROL WORDS ISZ SETUP STA SETOT PUT IT IN PLACE STA SETIN FOR OUTPUT AND INPUT LDA SETUP,I GET LOCATION OF I/O ROUTINE ADA SETUP ISZ SETUP  STA AIO JMP SETUP,I AND RETURN * JFM2A JMP FMTC AIO NOP SKP * INPUT TO BUFFER AS REQUIRED * IN NOP LDA IN,I OUTPUT CONTROL WORDS ISZ IN SZA,RSS ANY TO OUTPUT? JMP *+3 NO SETIN NOP YES OUTPUT IT JMP *-5 ISZ CCNT CHECK IF INPUT REQ. WAS ZERO? RSS JMP IN,I YES - EXIT ISZ IN SKIP INTERRUPT INSTRUCTION IN1 JSB AIO,I GET A CHARACTER AND %B177 NO MASK OFF BIT 7 CPA %B177 IS IT A RUBOUT? JMP RBOUT YES CPA %B15 IS IT A CARRIAGE RETURN? JMP IN2 YES JSB A2BUF NO - ADD CHARACTER TO BUFFER RSS RSS BUFFER FULL JMP IN1 LDA COUNT GET INPUT COUNT JMP IN,I RETURN TO CALLER * RBOUT JSB ICRLF DO A RETUEN LINE FEED LDA COUNT RESTORE LDB BUFFA COUNT AND BUFFER JMP CNSLI+1 NOW TRY AGAIN * IN2 LDA CCNT DETERMINE COUNT ADA COUNT JSB ICRLF DO RETURN LINE FEED JMP IN,I RETURN TO CALLER * ICRLF NOP STA SWR SAVE A REG CLA JSB CNSLO LDA SWR RESTORE A REG JMP ICRLF,I SKP * OUT BUFFER TO DEVICE * OUT NOP LDA OUT,I GET CONTROL WORD ISZ OUT SZA,RSS ANY? JMP *+3 NO SETOT NOP YES OUTPUT IT JMP *-5 DO NEXT ONE SLO1 NOP GET A CHATACTER FROM BUFFER OR FMTR JMP SLO2 END OF BUFFER DO CR/LF AND %B177 CPA %B177 WAS IT A RUBOUT? JMP SLO2+1 YES CPA %B15 IS IT A CARRIAGE RETURN? JMP SLO1 YES IGNORE IT CPA %B12 IS IT A LINE FEED? RSS JMP *+3 NO JSB OCRLF YES DO IT JMP SLO1 JSB AIO,I OUTPUT CHARACTER JMP SLO1 NO DO NEXT CHARACTER SLO2 JSB OCRLF NOW OUTPUT CR/LF CLA ISZ OUT  JMP OUT,I RETURN TO CALLER * * OUTPUT CARRIAGE RETURN + LINE FEED * OCRLF NOP LDA %B15 GET CARRIAGE RETURN LDB OUT,I CHECK IF STANDARD LF CPB %B12 ? JSB AIO,I OUTPUT IT LDA OUT,I GET LINE FEED COMMAND JSB AIO,I OUTPUT IT LDA %B377 GET RESPONSE TIME JSB TMR GO TO 1 MILLSEC TIMER JMP OCRLF,I RETURN SKP * GET A CHARACTER FROM THE BUFFER INTO A REG. * CALL: * * JSB BUF2A * * * BUF2A NOP LDB BUFFR GET NEXT CHARACTER ADDRESS JSB GETFC GET CHARACTER ISZ BUFFR MOVE BUFFER TO NEXT CHARACTER ISZ CCNT NO COUNT THIS CHARACTER ISZ BUF2A SET GOOD RETURN JMP BUF2A,I * * PUT A CHARACTER IN A REG. INTO BUFFER * CALL: * * LDA * JSB A2BUF * * * A2BUF NOP LDB BUFFR GET BUFFER POINTER JSB PCIB PUT CHARACTER IN BUFFER ISZ BUFFR MOVE TO NEXT CHARACTER ISZ CCNT IS THAT ALL ISZ A2BUF NO JMP A2BUF,I RETURN TO CALLER * * GET A CHARACTER FROM FORMAT STRING * GETFC NOP CLE,ERB ADJUST UPPER/LOWER LDA B,I GET 2 CHARACTERS SEZ,RSS IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND %B377 MASK UNWANTED BITS JMP GETFC,I RETURN * * PUT A REG. INTO BUFFER * PCIB NOP STA BUF2A SAVE THE CHARACTER SLB,INB GET OPPSITE CHARACTER ADB %M2 JSB GETFC ALF,ALF MOVE INTO UPPER IOR BUF2A ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED? ALF,ALF YES STA B,I STORE IT JMP PCIB,I RETURN TO CALLER SKP * CONSTANTS AND STORAGE * %B2 E/ OCT 2 %B7 OCT 7 %B10 OCT 10 %B12 OCT 12 %B15 OCT 15 %B40 OCT 40 %B55 OCT 55 %B60 OCT 60 %B121 OCT 121 %B126 OCT 126 %B177 OCT 177 %B377 OCT 377 %M2 OCT -2 %M6 OCT -6 %M10 OCT -10 %M60 OCT -60 %M72 OCT -72 %BT15 OCT 100000 * H77LD LDA 120B REPLACE HLT 77B WITH JSB * LDSN NOP LDSNX NOP LDBP NOP LDBPS NOP * COUNT NOP INITIAL BUFFER COUNT CCNT NOP WORKING BUFFER COUNT BUFFA NOP INITIAL BUFFER ADDRESS BUFFR NOP WORKING ADDRESS POINTER SKP * PROGRAM LOADER SECTION * * INITIAL START IS FROM 120B * A-REG = SERIAL NUMBER DESIRED * = 0 = LOAD NEXT CONSECUTIVE PROGRAM * * B-REG = BIT PATTERN FOR SERIAL EXECUTION (SET =RUN IT) * * AT COMPLETION OF THE LOAD * THE A-REG. IS SET TO THE CURRENT DSN. * IF RUN IS PRESSED THE PROGRAM DOES A JMP 100B. * LOAD NOP ENTRY FOR START OR CONTINUATION CLC INTP,C TURN ALL OFF STA CCNT SAVE A-REG LDA LOAD CPA %B121 IS THIS A RESTART JMP LOADP YES * LOADS LDB LDBP NO - ANY MORE SZB FOR SERIAL EXECUTION JMP LOADX LDB LDBPS GET ORIGINAL SELECTION STB LDBP LDA LDSN GET SERIAL NUMBER SZA,RSS JMP HLT77-1 DONT LOOP JMP LODRW REWIND DEVICE LOADX CLA READ NEXT CONSECUTIVE PROGRAM LDB H77LD REPLACE HLT 77B INSTRUCTION JSB LOADB OTA SWREG CLEAR S-REG. LDB LDBP CHECK TO EXECUTE IT CLE,ERB STB LDBP SEZ ?? JMP 100B EXECUTE THE PROGRAM JMP LOADS NO MOVE TO NEXT ONE * LOADP LDA CCNT RESTORE A-REG STA LDSN SAVE IT STB LDBPS SAVE BIT PATTERN STB LDBP LODRW CCB GET REWIND (SKIP 1 FILE) SZA REWIND? JSB DRI,I YES LDA LDSN RESTORE SERIAL4 NUMBER LDB LDBPS SERIAL EXECUTION? SZB ? JMP LOADX+1 YES DO IT JSB LOADB LOAD AN ABS FILE OTA SWREG CLEAR S-REG. LDA DSN GET CURRENT SERIAL NUMBER HLT77 HLT 77B LOAD OK JMP 100B YES START EXECUTION SKP LOADB NOP STA LDSNX SAVE REQUEST STB LDRXX SET INSTRUCTION FOR HLT 77B CLB,INB,RSS DON'T CHECK FOR EOT LDRR LDB %B2 LOOK FOR END OF TAPE JSB LDVR READ FIRST RECORD SZA,RSS EOF? JMP LOADB,I YES NORMAL RETURN SSA,RSS EOT? JMP *+5 LDA LDSN RESTORE ORIGINAL A AND B REG. LDB LDBPS OCT 106070 WAIT FOR OPERATOR JMP 120B START ALL OVER ALF,ALF RETURN IS A = COUNT CMA,INA MAKE IT NEGATIVE STA CCNT SAVE COUNT CLB JSB LDVR READ ADDRESS STA BUFFA THIS WORD IS THE STORE ADDRESS STA COUNT INITIALIZE CHECKSUM LDRL CLB JSB LDVR READ A WORD STA BUFFR SAVE WORD ADA COUNT ADD WORD STA COUNT TO CHECKSUM LDA BUFFA GET CURRENT ADDRESS LDB LDSNX GET SERIAL NUMBER SZB,RSS JMP *+7 NO DSN SKIP CHECK CPA %B126 IS THIS ADDRESS 126B CPB BUFFR YES IS IT THIS DSN? JMP *+4 YES LDRFF LDB %M2 NO GET FILE FORWARD JSB LDVR JMP LDRR-1 START READING AGAIN CMA,INA IS THE ADDRESS IN THE ADA LDMXA PROTECTED AREA SSA,RSS ? JMP *+3 HLT 55B JMP LDRFF YES - TRY NEXT FILE LDA BUFFR GET CONTENTS FOR MEMORY CPA HLT77 CHECK FOR HLT LDRXX NOP YES REPLACE WITH LDA JSB 107B,I INST STA BUFFA,I PUT IT IN MEMORY ISZ BUFFA MOVE TO NEXT LOCATION ISZ CCNT IS THAT ALL? JMP LDRL NO CLB JSB LDVR READ CHECKSUM FROM F4%0.*ILE CPA COUNT DOES CHECKSUM AGREE? JMP LDRR READ NEXT RECORD HLT 11B TELL OPERATOR OF CHECKSUM ERROR JMP LDRR READ NEXT RECORD SKP * CONSOLE OUTPUT AND INPUT AND LINE PRINTER OUTPUT * CNSLO NOP OCT 0,0,0,0,0,0,0,0,0,0 OCT 0,0,0,0,0,0,0,0,0,0 CNSLI NOP OCT 0,0,0,0,0,0,0,0,0,0,0 OCT 0,0,0,0,0,0,0,0,0,0,0,0 LNPTR NOP OCT 0,0,0,0,0,0,0,0,0,0 OCT 0,0,0,0,0,0,0,0,0,0 * * LOADER DRIVER (DIAGNOSTIC INPUT DEVICE * * B = +1 READ TO FIRST RECORD * A = 0 NEXT FILE * A = # SERIAL NUMBER OF FILE * B = +2 READ NEXT RECORD * B = 0 READ A WORD OF THE RECORD * B = -1 REWIND AND FILE FORWARD * B = -2 REWIND ONLY * B = -3 FILE FORWARD ONLY * LDVR NOP * * RETURN * A = 0 END OF FILE * A = -1 END OF TAPE (FILES) * A = +# RECORD COUNT * * REP 246B OCT 106075 MEMORY HALT SKP BFR EQU BUFFR-6000B BFA EQU BUFFA-6000B CNT EQU CCNT-6000B COT EQU COUNT-6000B ISZ EQU 36000B LDA EQU 62000B LDB EQU 66000B ADA EQU 42000B ADB EQU 46000B STA EQU 72000B STB EQU 76000B AND EQU 12000B IOR EQU 32000B XOR EQU 22000B CPA EQU 52000B CPB EQU 56000B JSB EQU 16000B JMP EQU 26000B SETP EQU SETUP-6000B .IN EQU IN-6000B .OUT EQU OUT-6000B CSLI EQU CNSLI-6000B CSLO EQU CNSLO-6000B LPTR EQU LNPTR-6000B LD EQU LDVR-6000B PTMA EQU 7677B-LDVR-PTDMA-1 IF ANY OF THESE GO MGMA EQU 7677B-LDVR-MGBF-60 NEGATIVE -THE ALLOWED DSMA EQU 7677B-LDVR-DSDMC AREA HAS BEEN EXCEEDED DFMA EQU 7677B-LDVR-DFDMC AND MUST BE CORRECTED CTMA EQU 7677B-LDVR-CTCW3 * END 0   24297-80001 A S 0122 3260A/12566B CARD READER DIAGNOSTIC             H0101  ASMBABì̠0309ADAGNSà(SGP HD360A566BDAGNSà9-9000 GB PMYMPNƠNGUŠHAY BSS HԠB HԠ5B G00B SNDMPNԬɠNGUŠHUԠAY NP DƠY. SUP G0B NƠMPNɬ SPà AU0 BU MMDU0 SGU YU0B SPà AGBSS AGBSS BGBSS N00BSS N0BSS UNԠBSS BUƠBSS NBUƠBSS NNԠBSS SAUBSS B0BSS B05BSS MҠBSS MSBSS SPà AԠNP MMDàNP GNP DMAñNP NԠNP PSNP NYNP NUMBNP SPà HSԠDƠS SNDDƠN BƠDƠB SԠDƠNN NBҠDƠNB ADDDƠNұ ADDDƠNҲ ADD3DƠN3 ADDDƠNҴ NԠDƠNZ NɠDƠSYY MSG09DƠ.MS09 PHɠDƠPHA PSɠDƠPSA YàDƠSA SKPɠDƠSKP SNDƠSN SPà ADSBADD ADSBADD AD3SBADD3 ADSBADD SPà DDà DDà D0Dà0 D5Dà5 DDà DDà D6Dà6 DDà D30Dà30 D3Dà3 NSDà- NDà- NDà- NDà- N6Dà-6 N5Dà-5 N3Dà-3 N6Dà-6 SPà B3Ԡ3 B0KԠ0000 H55Ԡ0055 SPԠ0000 SPà NNŠU Ԡ0 Ԡ Ԡ Ԡ Ԡ0 Ԡ0 Ԡ0 Ԡ00 Ԡ00 Ԡ36 Ԡ Ԡ Ԡ3 Ԡ Ԡ Ԡ3 Ԡ Ԡ Ԡ Ԡ33 Ԡ35 Ԡ36 Ԡ33 Ԡ35 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ0 NϠU  Ԡ Ԡ Ԡ P Ԡ0 Ԡ3 Ԡ36 Ԡ SKP ADSHGSҠNϠ"A" SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NANSHŠUNԠSHSNGS "B"-NNSAŠUNHANGDMNY SPà SGANP ASG MPSGA SPà PNҠHKUNŠ SPà UN:P+-HŠSN'ԠAPNҠNHŠSYSM P+-HŠSAPNҠNHŠSYSM SPà YKNP SAAGSAVŠHŠNNSƠ"A" DBNY SZBSS SZYK DAAGSŠHŠ"A"GS MPYK SPà SH5HKUNŠ SPà S5KNP SBSGAADHŠSHGSҠAND SSASS-HKSH5 MPS5Kɠ'SNԠSԬ DASAUVŠHŠASԠSAUSAKN DBNUMB-ANDHŠASԠS'SNUMB HԠ6BSP! MPS5K SPà ADPSNԠAԠP SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NNSAŠS "B"-NNSAŠUNHANGDMNY SPà ADPNP AMMDADHŠSAUSANDHK SSA-HŠADPSNԠB MP-'SSԬA MPADP SKP SԠUNŠ SPà A:"A"-Ơ0HŠSԠPASSD -ƠHŠSԠAD "B"-NANSHŠPDSAUS UN:"A"-UNAD "B"-S SPà SԠNP SBBGHDHŠPDSAUS SZNUMBNMNԠHŠS'SNUMB SZASSASHŠSԠN MPSԲNϬHKSH5 SBSGAADHŠSޮHGSҠAND A̬A̠-HKҠSH3 SSASԠSԠ? MPSԱYSDN'ԠPNԠҠSŠS DANYHKHŠNϠYPGAMAG SZASԠSԠ? MPSԴYSSŠHŠMSSAG SBSNɠHŠSAYPNԠH DBBG-ҠMSSAG DASAUADBHSAUSANDPN SBPSɬɠ-HM DAAԠHKHŠANSҠUN SZASԠZϠ? SBHSԬɠNϬSԠHŠNUMBҠANSD DAGHKHŠMPAŠAG SZASS-GAMAG MPS0ԠASN'ԠSԬSPAŠNŠN SBPHɬɠ-ANDPNԠBHDS S0SBSKPɬɠSPAŠNŠN SԱSBSGAADHŠSHGSҠAND A̠-HKSH SSASSSԠSԠ? MPSԲNϬHKSH5 DBNUMBADHŠS'SNUMBҠANDS DASAU-SAUS HԠ55B SԲSBS5KHKSH5 ASԠHŠMPAŠPGAMAG SAG-ANDHŠANSҠHAA SAAԠ-UN MPSԬɠ SԴDASAUADHŠUNԠSAUS DBAԠADHŠANS'SHAA BƠ-UNԠANDPSNԠҠH B̬B̠-SԠMSSAGŠD ҠBPUԠNϠHŠD DBNUMBPUԠNHŠS'SNUMBҠ ҠB SABUƬɠSŠԠNHŠҠMSSAG DBGHKHŠMPAŠAG SZBSSSԠSԠ? MPS5N DBUNԠGԠHŠHAA'SNUMB MB-ANDSUBAԠHŠSANG ADBN00-UN MBNB BƠPSNHŠUNԠANDS B̬B̠-ԠNHŠMSSAG ҠB SABUƬɠSŠԠNHŠSԠD SZBUƠADVANŠHŠBU'SPN DAB0a5ɠADHŠNŠHAA AƬAƠPSNԠϠHŠUPPҠHA ҠB0ɠ-ƠHŠDANDNSԠH MPS6-ҠHAA S5SZBUƠADVANŠHŠBU'SPN ANϠMPAŠS S6SABUƬɠSŠHŠSNDDƠH SZBUƠ-MSSAGŠANDADVANŠHŠPN SZNԠNMNԠHŠҠUN MPSԱHKHŠN̠SHS SPà SAUSADUNŠ SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NANSHŠUNԠSAUS "B"-NNSUNHANGDMNY SPà SASNP AMMDADHŠSAUS ANDSPMASKƠA̠BSBUԠAND5 SASAUSAVŠHŠSAUS MPSAS SPà SԠPNGUNS SPà SAVADNP SZPSSԠHŠPGAM'SPNGAG MPSAVADɠ-ANDSAVŠHŠSANGADDSS MP--ƠHŠS'SUN SPà PNNP SBSGAADHŠSHGSҠAND A̬A̠-HKSH3 SSASԠSԠ? MPN0YS DAPSNϬKAԠHŠPAG SZAASԠSԠBŠ? MPPNɠNϬGϠϠHŠNԠS MPYìɠYSSAԠV N0ASԠHŠPGAM'SPAG SAPS MPSAVAD SPà ҠBUҠAҠUNŠ SPà A:"A"-NANSHŠBU'SS.A. "B"-NNSNԠSGNAN UN:"A"-NNSAŠS "B"-""" SPà ҠNP DBN3SԠHŠBU'SNGHN SBN00-DS B SBAɠAҠHŠD NAADVANŠHŠBU'SPN SZN00NMNԠHŠUN MP-3NSHANGHŠBU MPҬ SKP G000B SAԠà0 DADMAñSԠHŠDMA'SN̠D A6B DABƠSԠHŠҠBU'S SABUƠ-PN SBҠAҠHŠҠBU ASԠHŠBUS SANUMBHŠSԠNUMB SANԠHŠҠUN SPà -ϠHANN̠SԠSN SPà SBSAVADSԠHŠUN'SPS.A. SƠMMDSԠHŠMMANDHANN̠AG ƠMMDAҠHŠMMANDHANN̠AG SàMMD-ANDHK ASS'SNԠAҬHŠSԠAD AHŠSԠPASSD BPDNϠSAUS SBSԠ( SSMMDHKHŠMMANDAG ASS'SNԠSԬHŠSԠPASSS AHŠSԠAD BPDNϠSAUS SBSԠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. SƠMMDSԠHŠMMANDHANN̠AG SSMMD-ANDHK ASS'SNԠSԬHŠSԠAD AHŠSԠPASSD BPDNϠSAUS SBSԠ(3 SàMMDSԠAҠ? ASSNϬHŠSԠPASSS AHŠSԠAD BPDNϠSAUS SBSԠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. DAADSԠHŠAP̠ҠAN SAMMDìɠ-NAŠNUP SàMMDSԠHŠN̠ANDHŠAG SƠMMD-NHŠHANN S00SƠ0UNNHŠNUPԠSYSM NP AƠHŠPGAMUSHS MPNԱ3-NSUNHŠSԠAD NұNPHŠNMA̠NUPԠ-NY 0Ơ0AҠHŠNUPԠSYSM DAADSԠHŠNA'SHANN̠AP SAMMDìɠ-̠ҠANYMUɠNUPS S0SƠ0UNNHŠNUPԠAGAN NP AHŠSԠPASSD MPNԱ3 NҲNPMUɠNUPԠ-NYPN 00à0àAҠHŠNUPԠSYSM AHŠSԠAD NԱ3U 0à0àSԠA̠HŠN̠BUS BPDNϠSAUS SBSԠ(5 SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. à6BMAKŠSUŠHAԠHŠDMAHANN SƠ6B-SAD àB DANSSԠHŠSNGŠDBU'S AB SàB DANANSҠNYNŠDUԠ AB DAAD3SԠHŠDMA'SAP SA6B DAADSԠHŠNA'SHANN SAMMDìɠ-AP Sà6BSAԠHŠDMA SàMMDSAԠHŠANS SƠMMD S0SƠ0SԠHŠNUP NP AƠHSSNƠHŠPGAM SZNUMB-SUDHNNH MPN00-HANN̠NUPD N3NPHŠDMA'SNUPԠ-NY 0Ơ0AҠHŠNUPԠSYSM AHŠSԠPASSS MPN0 NҴNPHŠNA'S-NY 03Ơ0AҠHŠNUPԠSYSM AHŠSԠAD N0à6BUNƠHŠDMA SƠ6BZϠHŠDUN àMMD BPDNϠSAUS SBSԠ(6 SBPNHKҠASԠPUS SZNUMBNMNԠHŠSԠNUMB MPN05 N00à6BUNƠHŠDMA SƠ6BZϠH(DUN àMMD BPDNϠSAUS SBSԠ( SBPNHKҠASԠPUS SPà SAUSANDANSҠSԠSN SPà N05U SBSAVADSԠHŠUN'SPS.A. SBSASADHŠSAUSANDHK A̠-BԠ(PҠN SSASԠSԠ? ASSYSHŠSԠAD ANϬHŠSԠPASSD BPDSAUSSNN SBSԠ( SBPNHKҠASԠPUS MPN0 MDDADPSԠHŠSԠNUMBҠUN SANUMB AAҠHŠҠUN SAN DABƠSԠHŠҠBU'S SABUƠ-PN SBҠAҠHŠҠBU N0SBSAVADSԠHŠUN'SPS.A. HԠBAԠҠHŠPA SBSASADHŠSAUSANDHK A̠-BԠ(PҠN SSASԠSԠ? ASSYSHŠSԠPASSS ANϬHŠSԠAD DBSPPDSAUSS(NP SBSԠ(9 DASAUADHŠSAUSAGAN SSASHŠAADPSNԠ? ASSYSHŠSԠPASSS ANϬHŠSԠAD DBSPPDSAUSS(NP SBSԠ(0 DAD3PԠϠANSҠ3HAAS SBANS( DASԠHŠS.A.ƠHŠHAAҠS DBN3HŠNUMBҠƠHAAҠNS SBMPҠ( SBSASADHŠSAUSANDHKH SSA-ADPSNԠSAUSB ASS'SSԬHŠSԠAD A'SN\SԬHŠSԠPASSD DBB0KPDSAUSS(N SBSԠ(3 SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠB DAD5PԠϠANSҠ5HAAS SBANS( DASNDHŠS.A.ƠHŠHAAҠS DBN5HŠNUMBҠƠHAASNS SBMPҠ(5 SBPNHKҠHŠSԠPUS SBSAVADSԠHŠUN'SPS.A. HԠ3BAԠҠHŠPA DAD3PԠϠANSҠ3HAAS SBANS(6 DASԠHŠS.A.ƠHŠHAAҠS DBN3HŠNUMBҠƠHAASNS SBMPҠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠBAԠҠHŠPA DAD5PԠϠANSҠ5HAAS SBANS( DASNDHŠS.A.ƠHŠHAAҠS DBN5HŠNUMBҠƠHAASNS SBMPҠ(9 SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠ5BAԠҠHŠPA DAD3PԠANSҠ3HAAS SBANS(0 DASԠHŠS.A.ƠHŠHAAҠS DBN3HŠNUMBҠƠHAASNS SBMPҠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠ6BAԠҠHŠPA DAD5PԠϠANSҠ5HAAS SBANS( DASNDHŠS.A.ƠHŠHAAҠS DBN5HŠNUMBҠƠHAASNSԆ SBMPҠ(3 SBPNHKҠASԠPUS SBYKSHŠAY? SS MPN0YS DANԠHKHŠҠUN SZASSASHŠANYS? MPN0N HԠ56BYSSP SS N0HԠBNMA̠PGAMHA SBSGAADHŠSHGSҠAND AƠ-HKSH SASԠSԠ? MPMDSKPHŠSԠGHԠSS MPSAԠSAԠAMPŠY SPà DAAANSҠ SPà A:"A"-NANSHŠPSVŠNUMBҠƠHAAS PDϠBŠANSD "B"-NANSHŠMAMUMNUMBҠƠHAAS BŠANSD(NGVũ UN:"A"-NNSAŠS "B"-""" SPà ANSNP SAUNԠSԠHŠPDHAAҠUN MASԠHŠMAMUMANSҠUN AS SAN00 N0SBSASADHŠSAUSANDHK A̬SA-ADPSNԠSAUS MPNHŠADASHŬHKNAB NSBYKHKҠHŠY SS MPN3HŠSNŬPNԠ NHԠ50BAԠҠHŠPA MPN0HKAGAN N3DADPNԠPҠƠҠNϠAD DBMSG09-PSN SBY MPN NSSASSHKHŠMŠNABŠ(Pҩ MPNNϠPҠN DAN3AҠHŠNPUԠBU SAN0 DBNBҠSԠHŠS.A.ƠHŠBU SBB05 DAH55ADHŠ̠DHԠ55B N5SABɠPADHŠNPUԠBU NBMVŠHŠPN SZN0NMNԠHŠUN MPN5 SàMMDàSAԠHŠADҠANDNA DANSԠHŠPAN'SM <:6SAMS BSԠHŠAGAԠM SBM SàMMDHKHŠAG MPN'SSԬNNU NBSZBNMNԠHŠAԠM MP-3HKHŠAGAGAN NASZA MP- SZA MPN03+NϠAG N6A SAM NSàMMDAԠҠHŠNA'SAG MPN'SSԬNNU SBSASADHŠSAUSANDHK SSASS-HŠADPSNԠSAUS MPN9HŠASN'ԠN SZMҠNMNԠHŠM MPNHKHŠAGAGAN SZMSNMNԠHŠM'SMUP MPN6SԠHŠMҠUN SZAԠNMNԠHŠANSҠUN SBADPAԠҠHŠADϠAV àMMDàSPHŠAD MPN03 NAMMDàADNHŠHAA ANDB3 SAB05ɠSŠHŠHAAҠNH SZB05-BUҠANDMVŠ'SPN g<  24297-80002 A S 0122 3260A/12566B CARD READER DIAGNOSTIC             H0101  SZAԠNMNԠHŠANSҠUN SZN00DDHŠMAMUMUNԠ? MPNNϬADHŠNԠHAA N9DAUNԠMPAŠHŠPDUNԠ PAAԠ-HŠANSDUN MPN0HYMAH N03SBADPAԠҠHŠADϠAV àMMDàSPHŠAD AHŠSԠAD DBSPPDSAUSƠ(NP SBS MPANS N0ASԠHŠHAAҠANS SAAԠ-UN SBADPAԠҠHŠADϠAV SZNUMBNMNԠHŠSԠNUMB àMMDàSPHŠAD MPANS SPà HAAҠMPAŠ SPà A:"A"-NANSHŠS.A.ƠHŠHAAҠMPAŠS "B"-NANSHŠNUMBҠƠHAASNHŠS UN:"A"-NNSAŠS "B"-""" SPà MPҠNP SBUNԠSԠHŠPDHAAҠUN SBN00 SAB05SԠHŠSԠBU'SS.A. DBNBҠSԠHŠNPUԠBU'SS.A. SBB0 N0DAB05ɠADHŠNŠHAA PAB0ɠMPAŠHNPUԠHAA MPNԱHYMPA BHYDN'ԠMPAŬSԠH SBGPGAM'SMPAŠAG A DBB0KPDSAUSƠ(N SBS MPMPҬ NԱSZB05ADVANŠHŠBU'SPNS SZB0 SZUNԠNMNԠHŠS'SUN MPN0 SZNUMBNMNԠHŠS'SNUMB MPMPҬ SPà NBƠBSS66 G000B SPà BҠBSS3 SKP MSSAGŠUPUԠSN SPà PNҠUNŠ SPà A:"A"-NANSHŠPSVŠHAAҠUNԠƠHŠN "B"-NԍANSHŠPNԠBU'SS.A. SPà Y.NP SBPBUƠSԠHŠPNԠBU'SS.A. SABADHŠHAAҠUNԠN"B" SZNNԠNMNԠHŠPAGŠNŠUN SS MPN3SKPϠHŠNԠPAG N0MBNBSZBNVԠϠANGAVŠUNԠAND MPNԴ-Ơ0UPUԠAN-D ASԠHŠUNԠϠSKPN SASKNԠ-N MPNԱ NԴSBHNԠSԠHŠHAAҠUN DBH̠ADHŠDHAƠNDA NԲDAPBUƬɠADHŠDMHŠBU SSBSSHHHAƠƠHŠDNԠ? AƬAƠHŠUPPҬGԠNϠPSN ANDB3MASKUԠHŠPGHԠBS ҠDŠPUԠNHŠMMANDDŠAND SBMMD-HŠGHHBԬHNUPUԠ B̬SBHANGŠHŠHAƠNDAҠAND SZPBUƠ-ADVANŠHŠBUҠPNҬ -ԠASHŠҠHAƠAS SZHNԠNMNԠHŠHAAҠUN MPNԲPNԠHŠSԠƠHŠN DAANADHŠAAGŠUND SBMMD-ANDUPUԠ BSԠ"B"ҠNGHŠUN ASԠHŠNŠSKPUNԠҠA SASKNԠ-SNGŠNŠSKP MPNԱUPUԠANŠD N3DAN6SԠHŠNŠDUNԠ SASKNԠ-SؠNS DAN6SԠHŠPAGŠNŠUN SANN NԱDANDADHŠNŠMMANDDŠAND SBMMD-UPUԠ SZSKNԠNMNԠHŠSKPUN MPNԱSPAŠANHҠN SZBSSHKHŠHAAҠUN MPN5'SNSHDUN SZNNԠNMNԠHŠPAGŠNŠUN MPN0GϠPNԠHŠN N5à.Y MPY. SKP MMDNPHŠ-ϠUPUԠUNŠҠH 0A.Y ñA.Y-t_PN òSà.Y 3SS.Y MP- MPMMD NDU SPà SKP̠NPSPAŠNŠN A SBY MPSKP̬ SPà BNAYϠDMA̠NVSN SPà A:A-NANSHŠBNAYNUMBҠϠBŠNVD B-NANSHŠPNҠDGԠNMAN Š-AҬSSHŠHAAҠUNԠBU -SԬAVSHŠHAAҠUNԠBUҠASS UN:A-S B-S SPà VԠNP SAB0HDHŠNUMBҠҠNVSN DAN ADAB SAB0 BS SBB03 BAҠSԠDGԠNDA SBB00SԠDGԠNDA SZ MP+ SBNԠAҠHŠNŠBUҠUN DBSBƠSԠHŠMSSAGŠBU SB.BƠ-PN DAB0VŠHŠNUMB SZASSHKҠAZϠNUMB MPDZADHŠZϠNUMBҠNHŠBU NԲDBNSԠHŠDD-VNDGԠSUN SBDNԠ: NԲBAҠHŠDGԠBU SBDGBUƠ: DAB0GԠNUMBҠҠNVSN NԲ3ADAB0ɠADDNVSNAҠϠHŠN. SSASGN+? MPNԲNϬHANGŠAS SAB0YSSAVŠHŠNUMBҠAND SZDGBUƠ-ADVANŠHŠPN MPNԲ3 NԲDBB00SԠҠHŠSԠDG SBNBSԠ? MPNԲ5 SBB00YSSԠSԠDGԠNDA SSASSSHŠSԠDGԠZϠ? ASSNϬAҠHŠBANKNDA SSYSNNUŠNMAY SABNKSԠHŠBANKNDA NԲ5SZB0ADVANŠHŠNVSNPN DBDGBUƠGԠDG SZBSSDGԠ0? MPNԲ6YSHKHŠBANKNDA BNϬAҠBANKNDA 5 SBBNK NԲ6DADGBUƠGԠHŠDG DBBNKSHŠBANKNDAҠSԠ? SZBSS ҠASMSKNϬVAYHASɠMASK SZDNԠDDҠVNDG MPNԲVNSŠԠMPAY DBSAVADDGԠVNDG BƬBƠPAKVN-DDDGS ҠB SASAVASAVŠHŠASԠϠASɠDGS SBSAMBNSԠDGSNN SZB03ASԠϠDGS? MPNԲNϬGϠBAK ANA SABNKSŠHŠBANKNDA DANDAUԠNUMBҠƠPD SAB03-DGS. DASAVAASԠASɠDGSNVD MPVԬ NԲSASAVASAVŠHŠVNDG MPNԲNVԠHŠDDDG DZANASԠHŠBANKNDA SABNK DANSԠHŠDAUԠNUMBҠ SAB03-PDDGSҠNVSN DAASMSKGԠHŠASɠZϠHAA SBSAMBSŠԠNHŠMSSAGŠBU MPVԬ SPà NŠBUҠADNGUN SPà SAMBNP SA.BƬɠNҠHASɠHA'SN"A" SZ.BƠGϠϠNԠϠHA.ANS NP SZNԠNMNԠNŠPSNUN MPSAMB SKP SNϠNP DAMSGNSԠHŠMSSAGŠBU'SPN SA.B DANUMBGԠHŠSԠNUMB DBN SBVԠNVԠADNNŠBU DAD0PNԠHŠS'SNUMB DBMSG00 SBY BSԠHŠMSSAGŠHAA SBNԠ-UNҠANDBUҠPN SBMSGN DBSB SB.B MPSNϬ SPà PNԠHŠGDANDBADHAAS SPà PHAҠNP DAMSGàSԠHŠMSSAGŠBU'SPN SA.B DBN00ADHŠSANGHAA DAUNԠ-UNԠANDSUBAԠHŠNUMB MA-ƠHAASMPAD ADAB MANA DBNSԠHŠNUMBҠƠDGS Š-NVSN SBVԠNVԠHŠNUMBҠϠAS DADPNԠHŠNUMBҠƠH DBMSG0-HAA SBY DBPHҠSԠHŠMSSAGŠBUҠPN SB.B DAB0ɠADHŠHAAҠN SBBNϠNVԠSŠNHŠMSSAG DBPH+SԠHŠPNҠϠHŠN SB.BƠ-MSSAGŠBU DAB05ɠADHŠNŠHAA SBBN DASBƠSŠHŠMSSAGŠBU SA.BƠ-PN ASԠHŠMSSAGŠHAA SANԠ-UN DAD30PNԠHŠNŠHAA DBMSG05 SBYɠGDAND DAD30PNԠHŠHAAҠN DBMSG0 SBY MPPHAҬ SKP BNAYNUMBҠNVSN SPà A:"A"-NANSHŠBNAYNUMBҠҠNVSN ϠAS "B"-NNSNԠSGNAN UN:"A"-NNSAŠS "B"-""" SPà BNϠNP AƬAƠPSNHŠNUMBҠN"A" SBBN0AԠHŠMSB AƬAƠPSNHŠϠDGS ҠB-HNNVԠHMϠASɠAND ҠASZ-SŠHMNHŠMSSAG SBSAMB-BU DAB0VŠHŠSHDNUMB SBBN0AԠHŠNԠMSB ҠASMSKNVԠHSDGԠϠAS BSAVŠ"B'S"SBN"" ҠSPAŠPUԠNHŠSPAŠANDS SBSAMB-HŠHAAҠNHŠBU DAB0VŠHŠSHDNUMB SBBN0AԠHŠNԠϠMSB AҠA0-A5 A(ŽB0A5--A0(ŽA0 BҠB0-B5 B(ŽA0B5--B0(ŽB0 AƬAƠPSNHŠϠDGS ҠBNVԠHMϠASɠAND ҠASZ-SŠHMNHŠMSSAG SBSAMB-BU ASŠHŠNԠDGԠANDA A-SPAŠNHŠMSSAGŠBU ҠSPAŠPUԠNHŠSPAŠANDNV ҠASMSK-HŠDGԠϠASɠANDS SBSAMB-NHŠMSSAGŠBU DAB0VŠHŠSHDNUMB SBBN0GԠHŠϠSB AƬAƠPSNHŠϠDGSAND ҠB-NVԠϠASɠHNS ҠASZ-HMNHŠMSSAGŠBU SBSAMB MPBNϬ BN0NP DBAHDHŠNUMBҠN"B" A̬A̠PSNHŠNԠϠDGS B̠-ƠHŠNUMB SAB0SAVŠHŠNUMBҠҠNԠM ANDDMASKƠA̠BSBUԠ0 SAAGHDUN̠ DABADHŠNNSƠ"B" ANDDMASKƠA̠BUԠBԠ0 DBAGVŠHŠSNDMSB MPBN0 SPà .YU0 HNԠBSS DNԠBSS DGNԠBSS DGBUƠBSS NԠBSS PBUƠBSS SKNԠBSS SAVABSS B00BSS B0BSS B0BSS B0BSS B09BSS SPà ASZԠ30060 ASMSKԠ60 ANԠ305 DŠԠ3000 H̠Ԡ555 NDԠ30 Ԡ00000 Dà-0000 Dà-000 Dà-00 Dà-0 Dà- ZDà0 B03Dà- BNKDà DDà SPà NԠDƠZ .BƠDƠB SSDƠ.MS0+0 DƠ.MS0+ MSG0DƠ.MS0 MSG0DƠ.MS0 MSG03DƠ.MS03 MSG0DƠ.MS0 MSG05DƠ.MS05 MSG0DƠ.MS0 MSGNDƠ.MS00+3 MSGàDƠ.MS0+6 MSG00DƠ.MS00 PHҠDƠ.MS0+0 DƠ.MS05+0 SBƠDƠB SBUƠDƠB SSDƠ.MS0+9 DƠ.MS0+U HҠDƠ.MS03+6 SPà SUP MMAASà .MS00ASà5SԠ .MS0ASàPDSAUSS: .MS0ASà3S'SSAUSS: .MS03ASà5ANSDHAA(S .MS0ASà5HAAҠN .MS05ASà5NŠHAA .MS06ASàN .MS0ASàP .MS0ASàNN .MS09ASàPҠƠҠNϠADPSN .MS0ASà9HAAҠ SPAŠASà SPà BƠBSS6 SKP PNԠHŠSAUSUNŠ SPà A: "B"HŠPDSAUS SPà PSANPSԠUPANDPNԠHŠSAUS SBBGHDHŠSAUSMPAY DASSSԠHŠBU'SPN SA.B SZBS'B'Z MPN06NϬADHŠMSSAGŠBU DB.MS0ADHŠMSSAGŠH"NN" SBA NA DB.MS0+ SBA MPN0 N06DBBGVŠHŠSAUS SBDSSADHŠPDSAUS N0DASSSԠHŠBU'SPN SA.B DBSAUVŠHŠSAUSDUS SBDSS-AKNADԠNHŠMSSAG DAD6PNԠHŠPDSAUS DBMSG0 SBY DADPNԠHŠS'SSAUS DBMSG0 SBYɠ-HAVŠBN DASBƠSԠHŠ.B SA.B AAҠHŠMSSAGŠHAA SANԠ-UN DBSS+AҠHŠMSSAGŠBUS SAB DBSS+ SAB MPPSA SKP SAUSMSSAGŠBUҠAD SPà A:"A"-NNSAŠNSGNAN "B"-NANSHŠUNԠS'SSAUS UN:"A"-NNSAŠS "B"-""" SPà DSSNP SSBSHŠMŠNABŠBԠSԠ? MPN0YS AADUҠNU̠HAASN SBSAMB-HŠMSSAGŠBU MPNԱ N0DA.MS0ADHŠMŠNABŠMNMN SBSAMB-ANDSŠԠNHŠBU DAMMAMAԠHŠMSSAG SBSAMB NԱB̠PSNHŠSAUSD SSBSHŠADPSNԠBԠSԠ? MPNԲYS DA.MS0SŠ"NN"NHŠMSSAG SBSAMB-BU DA.MS0+ SBSAMB MPDSS NԲDA.MS06ADHŠADPSNԠMNMN SBSAMB-ANDSŠԠNHŠBU MPDSS SPà SԠHŠNUMBҠƠHAASANSD SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NNSAŠS "B"-""" SPà SԠNP DAAԠADHŠNUMBҠƠHAAS DBHҠSԠHŠMSSAGŠBU'S SB.BƠ-PN DBNSԠHŠNUMBҠƠDGSN Š-HŠNUMB SBVԠNVԠԠANDSŠ DAD30PNԠHŠNUMBҠƠHAAS DBMSG03-HAԠŠANSD SBY BAҠHŠBU SBHҬ MPSԬ SKP PGAMNAZANSN SPà SYYSBSGAADHŠSHGSҠAND ANDB3-HKҠHŠY'SS.. SZAASHŠNŠND? MPN6YSNNU HԠBNϬSPANDAԠҠH MPSYY-PAҠϠNҠN N6SASYSԠHŠY'SS.. HԠBSPANDAԠҠHŠPA MPN5-ϠNҠHŠHҠS..'S NZASԠHŠNϠYPGAMAG SANY N5SBSGAADHŠSHGS SABHDԠMPAYN"B" ANDB3MASKHŠ5SB'S SZAASHŠASԠDŠND MPN0YSNNU HԠ3BNϬSPANDԠHkPA MPN5SԠHŠSHGS N0SAS566SAVŠHŠ566'SSԠD SAMMDàSAVŠHŠHANN'SADDSS SPà DAB0KSԠHŠN̠DҠH ҠS566-DMAHANN SADMAñ A6B-HŠ566BM-UԠAD DANDNGUŠA̠ɯϠNSUNS MANA-BNSAԠANDND DBDSԠS.A.ҠNGUAN ADAB SAN0SԠHŠANSUN NPNBADVANŠADDSSPN DABɠADAN SSASSSԠҠɯϠNSUN MPNɠNԠɯϬGԠNԠNSUN ANDMSKMAKŠSUŠ'SNԠANND SZA-NSUN MPNɠASNDԬGԠNԠNSUN DABɠADHŠ-ϠNSUNAND ADAS566-ADDHŠSԠDŠϠ SABɠSŠHŠAN NɠSZN0NMNԠPG.ANUN MPNPMŠPG.NS.ϠHK DASD+SŠHŠS..0NSUNS MANA DBSD ADAB SAN0SԠHŠANUN NԲDABɠGԠHŠ-ϠNSUN SABƱ DAA ANDB.MMAKŠHŠS..0 SABƱɠSŠHŠNSUN NBGԠHŠNԠN SZN0 MPNԲ DASD+SԠHŠ-ϠANSƠH MANA-YADNS-ϠN- DBSD+-SUNS ADAB SAN0SԠHŠNUMBҠƠNSUNS NԴDABɠGԠHŠ-ϠNSUN SABƱHDSPGAMAN DAA ANDB.MMASKUԠHŠSԠD ҠSYNSԠHŠNנSԠD SABƱɠSŠHŠNSUN NBADVANŠHŠBU'SPN SZN0NMNԠHŠUN MPNԴ DABɠ<:6GԠHŠ-ϠNSUN SABƱHDSPGAMAN DAA ANDB.MMASKUԠHŠSԠD NAPUԠNASԠDŠƠ SABƱɠSŠHŠNSUN SPà HԠ0NAZANMPŠHA DAàADAUMPϠHŠMAN SASND-PGAMNAN00B AAҠHŠUMPNAN SAPMY-B MPSD0ɠUMPϠHŠMANPGAM àMPYì SPà N0BSS S566BSS SYBSS BƱBSS SPà B3Ԡ3 B.MԠ00 B0KԠ0000 MSKԠ0036 SPà DSԠDƠYK NDDƠND SDDƠSD0 DƠSD DƠND0 SD0U DƠSA DƠ00 DƠ0 DƠ0 DƠ0 DƠ03 DƠS00 DƠS0 DƠS0 SDU DƠ0 DƠñ DƠò DƠ3 DƠN5 ND0U ND 8<  24298-80001 A S 0122 12K SIO SYSTEM DUMP              H0101  ASMBAB̬Ԭ HDMASҠSϠDUMP---A̠DVS(ש G5000B SɠϠDUMP PUPS:HSPGAMPDUSANDABSU BNAYAPŠƠHŠSYSMNPUԯ UPUԠDVSANS5ANDH SϠNKAGŠAA. SPà -PNAYAPGAMMNGSYSM MAYBŠDUMPDNNUNH HŠS0DVS. PAN:-SDUMP-SADDAҠHŠAPPPA S0DVSHAVŠBNADDAND NGUD.(HŠPGAMMNGSYSM .G.DҬASSMBҬANPASS .SHUDBŠADDB PANG-SDUMP-ƠHŠSYSMS ϠBŠDUMPDHS0. SPà SDUMPDUMPSNABSUŠMAԠH AA:50-006-0AND (06+Ϡ(ة6ҠH S0DVSANDNKAGŠAA. -ƠSH5HŠPGAMMNG SYSMSϠBŠDUMPD.HSAAS: 6-00050Ϡ(05- SPà SDUMPUSSHŠPUNHUPUԠDV ANDDVҠƠS0BYNNG AN03. SDUMPSUDSANGAԠAN :(MP3 (3DƠSDUMP MUPŠPSƠHŠDUMPUPU MAYBŠBANDBYSANGSDUMP AԠHŠNDƠAHUPUԠPHAS. G MP3ɠSANG DƠSDUMPPN SDUMPSBGGNAŠAD AHKSHSҠSGNB SSAƠSH5DUMPSYSM MPSYSM DA.0DUMP DB.05ANSAND5 SBPNHA DAA0DUMP DBA0ANS0-0. SBPN_HA SPà DBA06 A ADA000B PA0006B NB DAA06 SBPNHA06.(AAVAABŠMMY DVҠDA06BGԠAAVA.MMY ANDMDUŠSAŠMDUŠADDSSAND ҠM6ADD6BϠGԠA SAҠDUMPNGS0. DA06BSԠ(ASANG NAADDSSƠS0PAKAG. SBPNHADUMPS0DVҠPAKAG MPA̠ϠGNAŠA. DUMPPGAMMNGSYSM(SH5 SYSMDA.0DUMPANSHUGH B(05- ADB0005B SBPNHA SPà MPDV A̠SBGGNAŠA. SPà HԠBHAԠ-NDƠDUMP. MPSDUMPSAԬPAԠDUMP. SUBUN-PNHA(PUNHABSUŠBK ANGSUN:(AAƠBK (BAƠBK (P-SBPNHA (P+-(UN PNHANP SAԱSAVŠSԠANDASԠD SBԲADDSSSƠBK. PDAM.SԠ3-ASNDؠ SA3NGBU. DAԱSԠBU+ҠADADDSS SABUƱɠƠUNԠBK. SAKSUMNAZŠHKSUMD. ANAZ SABUƬɠDUN DABUƠSԠԴADDSS ADA.0ƠD3ƠBU SAԴҠSNGDS. PDAԱɠSŠUNԠDMMMY SAԴɠBKNBU. SZԴADDϠBUҠADDSS. ADAKSUMADDDϠUMUAD SAKSUMHKSUM SZBUƬɠUNԠDSDNBU. DAԱHKҠNDƠBK. PAԲ MPP3YSAA. SZԱNϬADDϠBKADDSS. SZ3NDؠBUҠUN  . MPPBUҠNԠYԠD. P3DAKSUMBUҠD.SԠHKSUMN SAԴɠASԠDNBU. DABUƬɠPSND AƬAƠDUNԠ SABUƬɠUPPҠHAAҠND. AƬAƠPSNADD3 ADA.03A̠DNGHS MANANGAVŠҠUPU. DBBUƠ(BADD.ƠBU. SB03Bɠ---PUNHD---. DAԱHKAGANҠMPN PAԲPUNHNGBK. MPPNHAɠYS. MPPNϬSԠNԠD. SUBUN:G(ADүAҠGNAҩ A:(PSBG (P+-UN- GPDUSAPPMAY0NHS ƠBANKAPŠ(D-AMS GNP DBM. DABU SAԱ AZ SAԱɠPUNH SZԱBU NBSZB MP-3 DAM.PUNH DBBUƠBU SB03Bɠ(Z-D DAM. DBBUƠMS. SB03B MPGɠ. MPAYSAG ԱԠ0 ԲԠ0 3Ԡ0 ԴԠ0 .0Dà .03Dà3 .0Ԡ .05Dà5 M.Dà- SPà KSUMԠ0 MDUŠԠ0000 M6Ԡ6 A0Ԡ0 A0Ԡ0 A06Ԡ06 SPà PUNHBU BUƠDƠBU BUƱDƠBU+ BUҠBSS30 S.NDU ND +  24299-80001 A S 0122 12K SIO TTY DRIVER              H0101 y ASMBAB̬Ԭ HDSϠPAA̠PNҠDVҠ(ש SYSMNPUԯUPUԠDVҠ ҠHŠASҠ3335YPŠ(KYBADADҠAND PNүPUNHUNS. HSDVҠPVDSҠA̠U(ɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: NPUԠ0Y. SԠUPUԠ0Y. PUNHUPUԠ03Y.P KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0NGHNDS(-SMPMNԩ BNAYDS (BSANGADDSSƠDAABU. (PSB0Bɠ(ؠDSGNASϠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɩҠDS (BNAYANSMDϠBU. N:Ơ(AZϬHNANND--AP NDNSUDMHŠNPU. HSSDNDASADNUMBҠ NSUVŠD-AMSNPUԠB HŠSԠNN-ZϠDAAHAAҠ AD.HŠDNUMBҠSH NGAVŠNSANԠAԠAB̠--. (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. BNAY:HŠSԠHAAҠƠA BNAYDNANSHŠDUNԠ HŠNŠD.HSVAUŠDMNS HŠNUMBҠƠDSANSMDUP HŠBUҠNGHNHŠANGSUN. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. BNAY:HŠDVҠUPUSUҠ( D-AMSϠMNAŠABNAYD. HŠNGHƠABNAYDSH NGHN"A"UPNNYϠHŠDV. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNүPUNHANDH ADҠUN.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y.HŠSHGS SSԠϠNANHŠADDSSƠHŠUN. BԠ5ƠSנSAҠҠASҠ33UNS. BԠ5ƠSנSSԠҠASҠ35UNS HNAS33UNԠSUSDANS0BAND 03BNANHŠSAMŠNYPNԠADDSS. HSSNSASDAҠH NAZANSMPD. G0000B MP+ɠSԠSANGPN DƠ.YNAND3. SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. ANDM.SAŠɯϠADDSS SABSԠNB DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DAY.KADHŠSHPN. SSA MPA35 ODA0B SA03B DAMP SAY.+3 DBA33 ANSDAB SANDج SZND NB PBND MPN MPANS A35DAAS35ASҠ35 DBAS33 SAPU SBU NDA+3AD:AHԠB SA0000BHŠNGUAҠSNԠSAAB. DBY.KAD:BSHPNS. HԠB(BɯϠADD. MP- SPà AS33Ԡ0000PUNHANDPN AS35Ԡ0000PUNHNYMMAND M.ԠɯϠADDҠMASK .Ԡ00 SKP MPMPY.P+ SPà NDؠDƠY.P+ A33DƠ+ SBY.P B ADBY. DBB SB MPU MPY.+ NDԠDƠ SKP GK+005B SPà Y.KNPKYBADNPUԠNY SBBUƠSԠBU SBBUSADDSS DBY.KAKŠNYPNԠADDSSAND SBY.ɠSŠNԠPN DBNԠAD:B-6. SBUNԠSԠHŠNŠUN. DBDA.SԠNSUNNNPUԠSN MP. SPà Y.ɠNPNPUԠNY SBBUƠSԠBU SBBUSADDSS DBDB.SԠNSUNϠNPUԠNY. .SBY.PϠPVDŠHAAҠPNNG. ŬSSASԠŽҠASɠMDŬSKP ASŬSAAS.SԠŽ0BNAYNVԠ MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. DAԠNAZŠND--AP SAàUN. ASԠHA.NPUԠUN SAHòϠZ. SPà HAAҠNPUԠSN SPàCp .3SB.ϠUԠMMANDSԠN̬ҠG. AŬSAAMVŠSAUSBԻBNAY? ANDMMVŠAҠBSƠAS. SZBSSƠNϠDAAYԠANDHAҠ0 SZAHKҠND--AP. MP.6HSŠPSSHA. SZàNDؠND--APŠUN MP.3NϠ- MP.3ND--APŠ-GϠϠԠSN. SPà BNAYDNGHSN SPà .6SZƠASɠMDŬGϠ MP.AMNŠHA. SZBƠNԠSԠHA.ƠBNAY MP.DGϠϠPAKHAA. SABNVԠDD BSNGHϠHAS. ADBNGSUBAԠG.BUҠNGH. ŬSSBSSƠDNGHGAҬ MP.USŠG.BUҠNGH. SABNVԠϠHASAGAN BSANDSԠNGAV MBNBҠHAA SBHñND. MP.GϠϠHA.PAKNGSN. SPà HAAҠAMNANSN-AS SPà .PAN.ƠHA.SUNDŬGN MP.3ؠ.GԠNԠHA. PAMƠHA.SUB-UԬG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBƠDAA-NAG-(N-D MP.3ؠUDNPUԠNԠHA. .BNBSԠDAA-NAGϠSAY SB.ϠDBNGANSMD. SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠHAҠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SAHAҠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.ϠSŠDAA-NAG. SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSZSSBUҠD-ƠBNAY MP.3MDŬGϠϠԠSN. .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-DDŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DAHAҠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SPà Ԡ(MPNSN SPà .3DAHòSԠAHAAҠUN. SZSSƠBNAYDNPUԬ ASNVԠϠDS MPY.ɬɠԠHUGHNPUԠNY. SPà .ϠNP ҠY.PNUDŠHŠMMANDD. .3AYUPUԠHŠMMANDD. U3AY .3SàYàSԠNANDAҠAG .33SSYAԠUN̠ADY MP.33 .3AYàNPUԠHŠHAA. MP.ϬɠUN SPà N.Ԡ00005 SKP SԠANDPUNHUPUԠSN SPà GK+055B Y.PNPUPUԠPUNHNY SBBUƠSAVŠSANGADDSSƠBU DBY.PADNYPNԠANDS SBY.ϠNԠPN DBPUԠGԠPUNHD SBY.PSԠNUPUԠUN MPU SPà PUԠԠ0000 SPà Y.ϠNPUPUԠSԠNY SBBUƠSAVŠSANGADDSSƠBU. DBUԠGԠSԠD SBY.PSԠNUPUԠUN SZUNԠNMNԠNŠUNԬSKP60 ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠSKPϠNԠPAG UؠSAB UԱŬSSB BSŬSB-BNAYSԠŽ0NVԠ HAS.ŠASKP MBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDM3SAŠHAA. SZASɠMD? ҠM00YSNUDŠV̠B. SB.ϠGϠUPUԠHŠHAA. B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BSZSSN:B-BNAYMD? DBM.YSAD:B-. SBàSŠHŠHAAҠUN. ASZSSƠBNAYMDŬGϠϠUPU MP.6D-AMS. DANUPU SB.ϠUN(ASɠMDũ. MP.5GϠSSUŠAN-DHAA. SPà M00Ԡ00000MASKҠADDNGAҠBS. M.Dà-D-AMŠUPUԠUN. SPà PAGŠSABSAVŠAGS DASKPADPAGŠSPANGUN ADAUNԠADDMANNGNS SAàSAVŠA̠NSϠSKP DANԠADPAGŠNŠUN SAUNԠSŠNŠUN ŬSSN:ŽSKP. UԠASZN:A0BNAYMD? .5DANƠADNŠDHAA .6SB.ϠUPUԠNŠD SZàNMNԠNDSUPU MPUԠPA SSBHUGH-SŠƠ(AZ MPY.ϬɠYS-UN SZUNԠԠHŠNŠUN. MPUԱGϠPNԠHŠN. SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGUY.KHDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU M3Ԡ3MASKҠ-BԠHAA UԠԠ30000 DA.Ԡ60000NSUNϠPN DB.Ԡ0000NSUNϠNPUԠNY. UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSNNDAҠAG àԠ0NDؠDҠND--AP HAҠUàHDSUPPҠHA.ҠPAKNG BANKŠASɠSPAŠ(BANK NԠ0005ASɠUND NƠԠ000ASɠNŠDD MԠ000 BU0000B UNԠDà-6 NԠDà-6 SKPDà-6 N.Ԡ0000N-DD. SPà NGSNGAVŠNSANԠҠD-AMŠUN SPà ԠDà-0NDƠAPŠUNҠ SPà YU5B SKP SYSMNKAGŠABŠS-UPSN SPà G000B DƠY.ɠNPUԠ DƠY.ϠSԠUPUԠ DƠY.PPUNHUPUԠ DƠY.KKYBADNPUԠ SPà G0006B DƠY.K-..A.ƠAVAABŠMMY. RT0.*Ԡ000000 SPà G0000B HԠ0BàSԠHAԠNPҠA̠. HԠ05BSԠHAԠNPҠA̠̠!!!!!! SPà ND U0   24300-80001 A S 0122 12K SIO 2605 CONSOLE PRINTER DRIVER             H0101 t ASMBAB̬Ԭ HDHP605ASϠPNNGNSŠDVҠ SYSMNPUԯUPUԠDVҠ ҠHŠHP605APNNGMNA HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNBGUŠSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHòϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. SABƠ ADBM3BASŠAS SSBSSSԠ ADAM0BUPPҠAS BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-DDŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDM4NADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANSHAAҠAAAGŠUN DBM3YSSԠB-3 PANDSHAAҠANŠD DBMYSSԠB- PAMSAAҠAMUS DBM3YSSԠB-3 PAMSAUϠPAGŠԠSGNA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- M3Dà-3 M3Dà-3 MԠ SAVŠBSS NԠBSS P3Dà3 SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBP3HK SSBSS MP+3VAD DBP3PN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SBY.KHK SAB ADBM0BHAҠ<0? SSBNϠSKPNԠNS DAP00BYSSԠHAҠϠA"" ADBM00BHAҠUPPҠASŠAS SSBSSNϬSKPNԠNS. ADAM0BYSSԠϠUPPҠAS DBY.K SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SSSKPҠNŠD PAGŠDAMADAMDNSAN SB.0Z SSBHUGHSŠƠ(AZ MPY.ϬɠUN MPUԱGϠϠPNԠNԠN .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 P00BԠ00 M0BԠ-0 M3BԠ-3 M00BԠ-00 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠVO*($ƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSNNDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 SPà SPà SPà SKP SYSMNKAGŠABŠS-UPSN SPà SPà ND "*   24301-80001 A S 0122 12K SIO 2767 LINE PRINT+R DRIV+R             H0101 ! ASMBAB̬Ԭ HDSϠNŠPNҠDVҠ(HP6 G MP3 DƠNԠNAZANAN G0B DƠNPPGAMSAԯԠAN SPà KŠU0000B SKP GK+6000B SPà NԠANGUŠHŠDV ANDA SA DAñM ANDP00AND ҠS SAHAH DAò ANDP00AND Ҡ SAHSàH DA3 ANDP00AND Ҡ SAH3SSH DAô ANDP00AND Ҡ SAHàH DA5 ANDP00 Ҡ SAH5 HԠBHNHA MPN SPà AԠ P00Ԡ00 ñA0 òSà0 3SS0 ôà0 5A0 SKP G06B ABSK+0B GK+55B SPà NPNPNY MANA SA SSAHAAҠUNԠҠMMAND? MPBDHAҠUN SAB DAAADYPAGŠ SZBSSSMMANDNŠSPAŠҠPG? UADAANŠSPA SBUAUPUԠAND MPNPɠԠDV SPà BDADAD0 SSASSHAҠUNԠ0? MPP+N DAD0YSSԠϠ0 MPNP+ PDBB B̬ŬSBBSBUҠADDSSND? MPPYSHNԠV HUԠDABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS BSAVŠHAAҠADDSSNB ANDA3 SAUAMPSAV ADAAM0 SSAHAҠ<0? MPѠYS ADAAM00N SSAHAҠ3? MP+3N ѠDAб  A00YSGԠSYMB SS DAUAPAŠHAA SBUAUPUԠϠPN NBNMNԠHAAҠADDSSAND ŬBSHBAKϠBUƠADDSS SZԠASԠHAAҠU? MPHUԠN MPUAYSPNԬSPAŠAND SPà UANPUPUԠHAASANDMMANDS SAMP H5A0 SZAPNҠNԠADYҠBUSY? MP-YS DAMP HA0 HSà0 H3SS0UPUԠMP? MP-NϬHANGNH Hà0YSADDHŠSNGAND MPUAɠԠNDY SPà AԠ AԠ A3Ԡ3 BU ԠNP D0Dà0 AM0Ԡ-0 A00Ԡ00 AM00Ԡ-00 MPNP ND w   24303-80001 A S 0122 12K SIO 2610/2614 PRINTER DRIVER             H0101 #v ASMBAB̬Ԭ HDSϠHP60AHP6ANŠPNҠDVҠ ANGSUN: SB0B ANDNҠH (AVA̠MAԠDŠ(-Ϡ- (ANGHƠBUҠNHAASAND (BADDSSƠBU MAMUMNŠNGH:3HAAS-NYHŠS 3HAASNHŠBUҠ̠BŠPNDƠM HAN3HAASAŠUSD. VA̠MAԠDSSPNDϠVA̠MA N̠APŠHANNSNHŠPN.HŠSANDAD HANN̠ASSGNMNSAŠASS: DŠAPŠHANN̠UNN ------------------------ 00SNGŠSPA -SKPϠPƠNԠPAG -SKPϠNԠHAƠPAG -33SKPϠNԠUAҠPAG -SKPϠNԠSHPAG NŠHAԠABUҠNGHƠ0SANŠD VA̠MAԠMMANDS<-AŠGND. G0000B MP3 DƠNŠNAZANAN SPà G0B DƠNP SPà KŠU0000B SKP GK+06000B SPà NŠAADNHANN̠ADDSSM AND.SHGSҠAND SASŠNB DA̷MAH AND. ҠAND SA.S DA̸MSàH AND. ҠAND SA.S DA9MSSH AND. ҠAND 9SA.9S HԠBH MPN SPà .Ԡ .Ԡ00 ̷A0 ̸Sà0 9SS0 SKP G0006B ABSK+00B SPà GK+055B SPà NPNPNY MANAMNGAVŠHAҠUNԠҠPSMAԠNԠ SAԠSAVŠNGAVŠHAAҠUNԠҠVԠMAԠMMAND SSASSHKMD MPVà(AZϠҠPSVŠSVԠMAԠMMAND ADAøDHKҠHAAҠUNԠ SSASS MP.NŠNGHK DAMDNŠϠNG-SԠϠHAAS MPNP+ SPà .DBBɠHNԠV .B̬ŬSBBSBUҠADDSSND? MP.YS:HADDSS .3DABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS-HANGŠHAAS BSAVŠHAAҠADDSSNB AND3MASKƠUPPҠHAA SBPNԠUPUԠϠPNҠBU NBNMNԠHAAҠADDSS ŬBANDNVԠϠBUҠADDSSANDUPPүҠAG SZԠNMNԠANDSԠHAAҠUN MP.3HNԠHAA DAMADNDƠMSSAGŠD SBPNԠANDUPUԠϠPN DAMADSNGŠSPAŠMMAND .5SBPNԠANDUPUԠϠPN MPNPɠUN SPà VàSZASS MP.5- SAB ADA. PBDñ DA. ADBM.5 SSB MP.5 MPNP SPà PNԠNPUNŠϠANSMԠHAAҠҠMMANDϠPN .A0UPUԠHAA .Sà0 .9SS0HKƠHAAҠUPUԠMP MP-N--SϠA MPPNԬɠYS--SϠUN SPà NSANSANDMASKS 8 SPà øDDà3MAMUMHAAҠUN 3Ԡ3HAAҠMASK .Ԡ0003 MԠ000 .Ԡ0000 MDDà-3SSMAMUMHAASϠ M0Ԡ-00USDϠHKƠHAAҠGMA M3Ԡ-0USDϠHKƠHAAҠGMA M.5Dà-5 DñDà SPà MPAYSAG ԠNPUMNUNԠҠPNҠHANN̠S SPà ASSMBYPAAMS SPà BUANƠBGS SPà ND ֲ  24306-18004 2026 S C0122 &SADD STRING ADD             H0101 !ASMB NAM SADD,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18004 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *FUNCTION - ADDS TWO CHARACTER STRING FIELDS OF *ARBITRARY LENGTH. THE RESULT IS SET IN THE SECOND *FIELD. * *CALLING SEQUENCE * CALL SADD(JSTR,JBEG,JEND,KSTR,KBEG,KEND,IERR) * *WHERE *JSTR NAMES A ONE-DIMENSIONAL STRING INTEGER ARRAY *IN A2 FORMAT CONTAINING THE FIRST CHARACTER STRING *FIELD TO BE ADDED. *JBEG IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *IFTEGER EXPRESSIGN IFDICATIFG THE FIRST CHARACTER *IN JSTR TO BE ADDED. *JEND IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *INTEGER EXPRESSION INDICATING THE LAST CHARACTER IN *JSTR TO BE ADDED. *KSTR NAMES A ONE-DIMENSIONAL STRING INTEGER ARRAY *CONTAINING THE DATA TO WHICH THE DATA IN JSTR IS *ADDED.IT WILL CONTAIN THE RESULT IN A2 FORMAT *FOLLOWING ADDITION. *KBEG IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *INTEGER EXPRESSION GIVING THE POSITION OF THE FIRST *CHARACTER IN KSTR TO BE ADDED. *KEND IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *INTEGER EXPRESSION GIVING THE POSITION OF TE LAST *CHARACTER IN KSTR TO BE ADDED. *IERR IS AN INTEGER USED AS AN ERROR INDICATOR. *IERR IS SET IF AN INVALID CHARACTER IS ENCOUNTERED *OR IF OVERFLOW OCCURS. * ENT SADD EXT .ENTR,SA2DE,SDEA2,S.GET,SPUT EXT SSIGN,SFILL,SCARY PARAM BSS 7 SADD NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM CLA STA IERR JSB SA2DE CONVERT JSTR TO D2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR LDA IERR SZA IFVALID CHAR? JMP ERR1 IF SO JSB SA2DE CONVERT KSTR TO D2 DEF *+5 DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF IERR LDA IERR INVALID CHAR? SZA JMP ERR2 IF SO JSB SSIGN MAKE NEW SIGN OF JSTR POS. DEF *+5 DEF PARAM,I DEF PARAM+2,I DEF ONE JSIGN=1 IF JSTR>=0, DEF JSIGN -1 IF JSTR<0 JSB SSIGN MAKE NEW SIGN OF KSTR POS. DEF *+5 DEF PARAM+3,I DEF PARAM+5,I DEF ONE KSIGN=1 IF KSTR>=0 DEF KSIGN -1 IF KSTR<0 LDA KSIGN ISIGN=KSIGN*JSIGN MPY JSIGN STA ISIGN LDA PARAM+2,I KNOW=KLAST-JLAST+J CMA,INA ADA PARAM+1,I ADA PARAM+5,I STA KNOW LDB PARAM+4,I IS KNOWJLAST? CMA,INA ADA JNOW SSA,RSS JMP CARY IF SO ISZ JNOW JNOW=JNOW+1 JMP E14 ADD NEXT 2 CHARS CARY JSB SCARY PERFORM CARRY ON KSTR DEF *+5 DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF KNOW KNOW=THE CARY LDA KNOW KNOW NOT=0?(CARRY OVERFLOW?) SZA JMP FILL IF SO BETA JSB SSIGN IF NO OVERFLOW DEF *+5 RE-ENTER ORIGINAL SIGN IN JSTR DEF PARAM,I DEF PARAM+2,I DEF JSIGN DEF JNOW JSB SSIGN RE-ENTER ORIGINAL SIGN IN KSTR DEF *+5 DEF PARAM+3,I DEF PARAM+5,I DEF KSIGN DEF KNOW EPS JSB SDEA2 CONVERT JSTR TO A2 FORMAT DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR JSB SDEA2 CONVERT KSTR TO A2 FORMAT DEF *+5 DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF IERR JMP SADD,I RETURN ERR1 CCA IERR=-1 STA PARAM+6,I JSB SDEA2 CONVERT JSTR TO A2 FORMAT DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR JMP SADD,I ERR2 CCA IERR=-1 STA PARAM+6,I JMP EPS FILL SSA KNOW>0?(POSITIVE CARRY?) JMP CMPL JSB SFILL IF SO LEFT FILL KSTR WITH 9'S DEF *+5 DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF NINE ERR3 LDA PARAM+5,I IERR=KLAST STA PARAM+6,I JMP BETA CMPL JSB S.GET ADD THE CARRY TO KSTR(KLAST) DEF *+4 KTEST=KSTR(KLAST) DEF PARAM+3,I DEF PARAM+5,I DEF KTEST LDA KTEST KTEST=KTEST+KNOW ADA KNOW STA KTEST JSB SPUT KSTR(KLAST)=KTEST DEF *+4 DEF PARAM+3,I DEF PARAM+5,I DEF KTEST LDA PARAM+4,I KNOW=K STA KNOW GET JSB S.GET SUBTRACT EACH NUMBER IN KSTR FROM 9 DEF *+4 KTEST=KSTR(KNOW) DEF PARAM+3,I DEF KNOW DEF KTEST LDA KTEST KTEST=9-KTEST CMA,INA ADA NINE STA KTEST JSB SPUT KSTR(KNOW)=KTEST DEF *+4 DEF PARAM+3,I DEF KNOW DEF KTEST LDA PARAM+5,I IS KNOW0 IF JSTR>KSTR * *CALLING SEQUENCE * JSCOM(JSTR,J,JLAST,KSTR,K,IERR) * * JSCOM COMPARES CORRESPONDING CHARACTERS IN * JSTR AND KSTR FROM LEFT TO RIGHT, STARTING WITH * JSTR(J) AND KSTR(K). JSCOM TERMINATES WHEN JSTR * AND KSTR DO NOT MATCH OR WHEN JSTR(JLAST) HAS BEEN * COMPARED * *ERROR CONDITIONS* * IF ANY CHARACTER IN JSTR OR KSTR TO BE COMPARED * IS NOT A VALID PRINTABLE ASCII CHARACTER * NER IS SET TO THE POSITION OF THE CURRENT * CHARACTER IN JSTR. * A VALID PRINTABLE ASCII CHARACTER IS ANY * CHARACTER WITH A CODE C SUCH THAT 37340 6-22-79 ASCJ EQU * 6-22-79 LDB JTEST JTEST A VALID CHARACTER? ADB N40 (39340 6-22-79 ASCK EQU * 6-22-79 LDB KTEST KTEST A VALID CHARACTER? ADB N40 SSB JMP ERR IF NOT, ERROR LDB KTEST ADB N173 SSB,RSS JMP ERR L2 EQU * 6-22-79 LDA KTEST JSCOM=JTEST-KTEST CMA,INA ADA JTEST SZA IS JSCOM=0? JMP JSCOM,I IF NOT, RETURN ISZ JNOW JNOW=JNOW+1 LDB JNOW JNOW>JLAST? CMB,INB  ADB PARAM+2,I SSB JMP JSCOM,I IF SO, RETURN JMP GET ELSE COMPARE NEXT CHARACTERS ERR CLA,INA JSCOM=1 LDB JNOW IERR=JNOW STB PARAM+5,I JMP JSCOM,I RETURN JNOW BSS 1 KNOW BSS 1 JTEST BSS 1 KTEST BSS 1 N40 OCT -40 N173 OCT -173 N240 OCT -240 6-22-79 N340 OCT -340 6-22-79 END END$ +  24306-18008 2026 S C0122 &SDCAR              H0101 kASMB NAM SDCAR,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18008 * RELOC: 24306-60001 * * * ****************************************************************** * * * * * *FUNCTION - SDCAR PERFORMS THE SAME FUNCTION SCARY, *EXCEPT DCARY OPERATES ON A CHARACTER STRING IN D1 FORMAT * *CALLING SEQUENCE - CALL SDCAR(JSTR,J,JLAST,KARRY) *WHERE J AND JLAST INDICATE THE FIRST AND LAST WORDS IN JSTR * TO BE CARRIED * ENT SDCAR EXT .ENTR PARAM BSS 4 SDCAR NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM CLA NCARY=O STA NCARY LDA PARAM+2,I JNOW=JLAST STA JNOW GET LDB JNOW JCHAR=JSTR(JNOW) ADB PARAM LDA 1,I STA JCHAR LDA NCARY JTEST=JCHAR+NCARY ADA JCHAR MPY ONE DIV TEN STA NCARY NCARY=JTEST/10 STB JTEST JTEST=JTEST-10*NCARY SSB,RSS IS JTEST<0? JMP PUT IF N0T ADB TEN JTEST=JTEST+10 STB JTEST ADA NEG1 NCARY=NCARY-1 STA NCARY PUT LDA JNOW JSTR(JNOW)=JTEST ADA PARAM STB 0,I LDA JNOW JNOW=JNOW-1 ADA NEG1 STA JNOW LDB PARAM+1,I REG B=-J CMB,INB ADA 1 SSA,RSS IS JNOW-J0? SSA JMP ERR1 IF NOT SZA,RSS JMP ERR1 IF NOT JSB SA2DE CONVERT JSTR TO D2 FORMAT DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR LDA IERR NON-NUMERIC CHAR IN JSTR? SZA JMP ERR2 IF SO JSB SA2DE CONVERT KSTR TO D2 FORMAT DEF *+5 DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF IERR LDA IERR NON-NUMERIC CHAR IN KSTR? SZA JMP ERR3 IF SO JSB SSIGN SAVE SIGN OF JSTR IN JSIGN AND DEF *+5 CLEAR SIGN DEF PARAM,I DEF PARAM+2,I DEF ONE DEF JSIGN JSB SSIGN SAVE SIGN OF KSTR IN KSIGN AND DEF *+5 CLEAR SIGN DEF PARAM+3,I DEF PARAM+5,I DEF ONE DEF KSIGN JSB SFILL FILL KSTR WITH ZEROS TO THE LEFT DEF *+5 DEF PARAM+3,I OF THE LENGTH OF THE JCARD FIELD DEF KLOW (FROM KSTR(KLOW)TO KSTR(KSTRT)) DEF KSTRT DEF ZERO LDA PARAM+1,I JFRST=J STA JFRST E1 JSB S.GET JTEST=JSTR(JFRST) DEF *+4 DEF PARAM,I DEF JFRST DEF JTEST LDA JTEST IS JTEST>0? SSA JMP LOOP SZA JMP A3 IF SO LOOP LDA PARAM+2,I IS JFRST0? JMP NEWPT SZA,RSS JMP NEWPT RESUB LDA BKM SUBTRACT PRODUCT OF MULT AND INA STA KNOW DIVISOR FROM DIVIDEND LDA JFRST KNOW=BKM+1 STA JNOW KNOW IS POINTER TO DIVIDEND SUB JSB S.GET JNOW=JFRST DEF *+4 JNOW IS POINTER TO DIVISOR DEF PARAM,I DEF JNOW JTEST=JSTR(JNOW) DEF JTEST LDB KNOW KTEST=KSTR(KNOW) ADB PARAM+3 LDA 1,I STA KTEST LDA MULT KTEST=KTEST-MULT*JTEST MPY JTEST CMA,INA ADA KTEST STA KTEST LDB KNOW KSTR(KNOW)=KTEST ADB PARAM+3 STA 1,I LDA KNOW STA KNOW1 ISZ KNOW KNOW=KNOW+1 LDA PARAM+2,I IS JNOW=0?(THE CARRY=KNOW) SSA,RSS JMP NEWPT IF SO LDA KNOW IF NO,KSTR(BKM)=KSTR(BKM)+10*KNOW MPY TEN LDB BKM ADB PARAM+3 ADA 1,I STA 1,I CCA MULT=-1 STA MULT LDA NQUO NQUO=NQUO-1 ADA NEG1 STA NQUO JMP RESUB NEWPT LDA NQUO KSTR(BPUT)=NQUO LDB BPUT ADB PARAM+3 STA 1,I ISZ BPUT BPUT=BPUT+1 LDA BSTOP IS BKM=KLAST? CMA,INA ADA KNOW SSA,RSS JMP SD2D1,I IF SO, RETURN ISZ KNOW ELSE KNOW=KNOW+1 ISZ BNOW BNOW=BNOW+1 JMP GET BNOW BSS 1 KNOW BSS 1 KTEST BSS 1 END END$ 3  24306-18014 2026 S C0122 &SFILL STRING FILL             H0101 ]`ASMB NAM SFILL,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18014 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *SFILL FILLS A SPECIFIED AREA (FROM J THRU JLAST) IN A STRING *ARRAY WITH A SPECIFIED CHARACTER (JCD). * ENT SFILL EXT .ENTR,SPUT PARAM BSS 4 SFILL NOP JSB .ENTR DEF PARAM LDA PARAM+1,I STA JNOW JNOW=J ONE JSB SPUT PUT JCD DEF *+4 DEF PARAM,I JSTR DEF JNOW DEF PARAM+3,I PARAM LDB PARAM+2,I CMB,INB REG B=-JLAST ADB JNOW REG B=JNOW-JLAST SSB,RSS JMP SFILL,I JNOW-JLAST<0,RETURN ISZ JNOW JNOW=JNOW+1 JMP ONE JNOW BSS 1 END END$ h  24306-18015 2026 S C0122 &SGET STRING GET             H0101 79ASMB NAM SGET,7 24306-60001 REV.2026 791207 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18015 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *SGET PICKS UP A CHARACTER FROM A SPECIFIED POSITION IN AN ARRAY *SGET PICKS UP THE CHARACTER IN JSTR(J) AND RETURNS IT IN JHOLD. * ENT SGET EXT .ENTR AR EQU 0 JSTR NOP J NOP JHOLD NOP SGET NOP JSB .ENTR TRANSFER DEF JSTR PARAMETERS CCA ADA J,I J-1 CLE ERA GET WORD VALUE AND SET E-REG IF ODD ADA JSTR GET EFFECTIVE ADDRESS LDA AR,I LOAD PROPER WORD OF JSTR SEZ,RSS EVEN OR ODD? ALF,ALF EVEN AND B377 GET CORRECT CHARACTER STA JHOLD,I STORE JMP SGET,I B377 OCT 000377 END END$ ASMB,R,L *SGET PICKS UP A CHARACTER FROM A SPECIFIED POSITION IN AN ARRAY *SGET PICKS UP THE CHARACTER IN JSTR(J) AND RETURNS IT IN JHOLD. * NAM SGET,7 ENT SGET EXT .ENTR AR EQU 0 JSTR NOP J NOP JHOLD NOP SGET NOP JSB .ENTR TRANSFER DEF JSTR PARAMETERS CCA ADA J,I J-1 CLE ERA GET WORD VALUE AND SET E-REG IF ODD ADA JSTR GET EFFECTIVE ADDRESS LDA AR,I LOAD PROPER WORD OF JSTR SEZ,RSS EVEN OR ODD? ALF,ALF EVEN AND B377 GET CORRECT CHARACTER STA JHOLD,I STORE JMP SGET,I B377 OCT 000377 END END$     24306-18016 2026 S C0122 &SMOVE STRING MOVE             H0101 opASMB NAM SMOVE,7 24306-60001 REV.2026 791206 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18016 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *SMOVE MOVES DATA FROM ONE STRING ARRAY TO ANOTHER. *SMOVE MOVES DATA FROM JSTR(J) THRU JSTR(JLAST) TO KSTR(K) THRU *KSTR(K+JLAST-J) * ENT SMOVE EXT .ENTR,SGET,SPUT PARAM BSS 5 SMOVE NOP JSB .ENTR DEF PARAM LDA PARAM+1,I REG A=J STA JNOW JNOW=J ONE LDB PARAM+1,I CMB,INB REG B=-J ADB PARAM+4,I REG B=K-J ADB JNOW REG B=K+JNOW-J STB KNOW KNOW=K+JNOW-J JSB SGET GET JCHAR DEF *+4 DEF PARAM,I JSTR DEF JNOW DEF JCHAR JSB SPUT PUT JCHAR DEF *+4 DEF PARAM+3,I KSTR DEF KNOW DEF JCHAR LDB PARAM+2,I CMB,INB REG B=-JLAST ADB JNOW REG B=JNOW-NLAST SSB,RSS JMP SMOVE,I JNOW-JLAST<=0,RETURN ISZ JNOW JNOW=JNOW+1 JMP ONE JNOW BSS 1 KNOW BSS 1 JCHAR BSS 1 END END$   24306-18017 2026 S C0122 &SMPY STRING MULTIPLY             H0101 ASMB NAM SMPY,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18017 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *FUNCTION - MULTIPLY ONE CHARACTER STRING FIELD OF *ARBITRARY LENGTH BY A SECOND CHARACTER STRING AND *PLACE THE RESULT IN THE SECOND STRING * *CALLING SEQUENCE *CALL SMPY(JSTR,J,JLAST,KSTR,K,KLAST,NER) * *ERROR CONDITIONS *IF KSTR DOES NOT HAVE ENOUGH POSITIONS TO ALLOW FOR *ITS EXTENSION NER=KLAST AND SMPY TERMINATES *IF JSTR OF KSTR CONTAINS A NON-NUMERIC CHAR IN OTHER *THAN THE LAST POSITION,NER=-1 * ENT SMPY EXT .ENTR,SA2DE,SSIGN,SFILL EXT S.GET,SDCAR,SDEA2,SD2D1,SD1D2 PARAM BSS 7 SMPY NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM CLA STA IERR LDA PARAM+2,I CMA KSTRT=K-JLAST+J-1 ADA PARAM+1,I ADA PARAM+4,I STA KSTRT ADA KSTRT BLOW=2*KSTRT-KLAST-1 LDB PARAM+5,I BLOW IS 1ST POSITION IN KSTR CMB AFTER CONVERSION TO D1 ADA 1 STA BLOW SSA BLOW<0?(OVERFLOW?) JMP ERR1 IF SO SZA BLOW=0?(OVERFLOW?) JMP *+2 JMP ERR1 IF SO JSB SA2DE CONVERT JSTR TO D2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR LDA IERR ILLEGAL CHAR? SZA JMP ERR2 IF SO JSB SA2DE CONVERT KSTR TO D2 DEF *+5 DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF IERR LDRA IERR ILLEGAL CHAR? SZA JMP ERR3 IF SO JSB SSIGN PICK UP SIGN OF JSTR,SEJ JSTR>=0 DEF *+5 DEF PARAM,I DEF PARAM+2,I DEF ONE DEF JSIGN IF JSTR>=0,JSIGN=1,ELSE JSIGN=-1 JSB SSIGN PICK UP SIGN OF KSTR,SET KSTR>=0 DEF *+5 DEF PARAM+3,I DEF PARAM+5,I DEF ONE DEF KSIGN IF KSTR>=0,KSIGN=1,ELSE KSIGN=-1 CCA IY=K-1 ADA PARAM+4,I STA IY JSB SFILL LEFT FILL KSTR WITH 0 DEF *+5 DEF PARAM+3,I DEF KSTRT DEF IY DEF ZERO LDA PARAM+1,I JFRST=J STA JFRST E25 JSB S.GET JTEST=JSTR(JFRST) DEF *+4 DEF PARAM,I DEF JFRST DEF JTEST LDA JTEST JTEST>O? SSA JMP AGAIN SZA JMP E47 IF SO AGAIN LDA PARAM+2,I JFRST-JLAST>=O?(JSTR=0?) CMA,INA ADA JFRST SSA,RSS JMP FILL IF SO ISZ JFRST JFRST=JFRST+1 JMP E25 FILL JSB SFILL FILL KSTR WITH 0 DEF *+5 DEF PARAM+3,I DEF BLOW DEF PARAM+5,I DEF ZERO E40 JSB SSIGN RESTORE SIGN OF JSTR DEF *+5 DEF PARAM,I DEF PARAM+2,I DEF JSIGN DEF JNOW E41 JSB SDEA2 CONVERT JSTR TO A2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR JSB SDEA2 CONVERT KSTR TO A2 DEF *+5 DEF PARAM+3,I DEF BLOW DEF PARAM+5,I DEF IERR JMP SMPY,I RETURN E47 JSB SD2D1 CONVERT KSTR TO D1 DEF *+5 DEF PARAM+3,I DEF KSTRT DEF PARAM+5,I DEF DIFF LDA PARAM+4,I CALCULATE WORD ADDRESS ADA DIFF FOR INDICES FOR D1 FORMAT: STA BKM BKM=K+DIFF LDA PARAM+5,I BLAST=KLAST+DIFF ADA DIFF STA BLAST LDA KSTRT BSTRT=KSTRT+DIFF ADA DIFF STA BSTRT E48 LDB BKM MULT=KSTR(BKM) ADB PARAM+3 LDA 1,I STA MULT SZA,RSS MULT=0? JMP E50 IF SO SSA,RSS MULT>0? JMP E60 IF SO E50 LDA BLAST BKM-BLAST>0? CMA,INA ADA BKM SSA,RSS JMP CARY IF SO ISZ BKM BKM=BKM+1 JMP E48 CARY JSB SDCAR RESOLVE CARRIES IN KSTR DEF *+5 DEF PARAM+3,I DEF BSTRT DEF BLAST DEF KNOW JSB SD1D2 CONVERT KSTR TO D2 DEF *+5 DEF PARAM+3,I DEF KSTRT DEF PARAM+5,I DEF DIFF LDA JSIGN IY=JSIGN*MSIGN MPY KSIGN STA IY JSB SSIGN MAKE IY SIGN OF KSTR DEF *+5 DEF PARAM+3,I DEF PARAM+5,I DEF IY DEF KNOW JMP E40 E60 LDB BKM KSTR(BKM)=0 ADB PARAM+3 CLA STA 1,I LDA PARAM+2,I KNOW=BKM+JFRST-JLAST CMA,INA ADA JFRST ADA BKM STA KNOW LDA JFRST JNOW=JFRST STA JNOW E62 JSB S.GET **START OF INNER LOOP** DEF *+4 JTEST=JSTR(JNOW) DEF PARAM,I DEF JNOW DEF JTEST KTEST=KSTR(KNOW) LDB KNOW KTEST=KSTR(KNOW) ADB PARAM+3 LDA 1,I STA KTEST LDA MULT *******HEART OF ALGORITHM******* MPY JTEST ITEST=MULT*JTEST+KTEST ADA KTEST LDB KNOW ADB PARAM+3 KSTR(KNOW)=ITEST STA 1,I ISZ KNOW KNOW=KNOW+1 LDA PARAM+2,I JNOW-JLAST>=0? CMA,INA ADA JNOW SSA,RSS JMP E50 IF SO ISZ JNOW JNOW=JNOW+1 JMP E62 **END OF INNER LOOP** ERR1 LDA PARAM+5,I NER=KLAST STA PARAM+6,I JMP SMPY,I RETURN ERR2 CCA NER=-1 STA PARAM+6,I CONVERT JSTR TO A2 JSB SDEA2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR JMP SMPY,I ERR3 CCA NER= -1 STA PARAM+6,I JMP E41 ZERO OCT 0 ONE OCT 1 IERR OCT 0 KSTRT BSS 1 BLOW BSS 1 JSIGN BSS 1 IY BSS 1 JFRST BSS 1 JTEST BSS 1 KSIGN BSS 1 KTEST BSS 1 JNOW BSS 1 KNOW BSS 1 BKM BSS 1 BLAST BSS 1 DIFF BSS 1 MULT BSS 1 BSTRT BSS 1 END END$ V  24306-18018 2026 S C0122 &SPUT STRING PUT             H0101 SRASMB NAM SPUT,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18018 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *SPUT DEPOSITS A CHARACTER IN A SPECIFIED POSITION IN AN ARRAY. *SPUT DEPOSITS NCHAR IN JSTR(J) * ENT SPUT EXT .ENTR JSTR BSS 3 SPUT NOP CALL SPUT(JSTR,J,NCHAR) JSB .ENTR TRANSFER DEF JSTR PARAMETERS LDA JSTR+2,I LOAD VALUE OF JCHAR. AND LOW STA JSTR+2 SAVE VALUE OF JCHAR. LDB JSTR+1,I LOAD VALUE OF J. CCA ADB 0 CLE,SLB IF J IS ODD INTEGER,SKIP. CCE J IS EVEN INTEGER. BRS DIVIDE BY TWO TO GET WORD VALUE. ADB JSTR CREATE EFFECTIVE ADDRESS. LDA 1,I LOAD EFFECTIVE WORD. SEZ,RSS ALF,ALF AND HI MASK OUT EFFECTIVE BITS AND IOR JSTR+2 ADD JCHAR. SEZ,RSS ALF,ALF STA 1,I STORE NEW WORD VALUE. JMP SPUT,I LOW OCT 377 HI OCT 177400 END END$ &  24306-18019 2026 S C0122 &SSIGN GET THE SIGN             H0101 0ASMB NAM SSIGN,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18019 * RELOC: 24306-60001 * * * ****************************************************************** * * * * * *FUNCTION - INTERROGATE THE SIGN AND RETURN WITH A *CODE AS TO WHAT THE SIGN IS. ALSO, MODIFY THE SIGN *AS SPECIFIED. * *CALLING SEQUENCE - CALL SSIGN(JSTR,J,JNEW,JOLD) *WHERE JSTR NAMES THE ONE-DIMENSIONAL STRING INTEGER ARRAY THAT IS *TO BE CONVERTED *JBEG IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *INTEGER EXPRESSION DEFINING THE FIRST CHARACTER *POSITION IN JSTR TO BE CONVERTED. *NEWS CONTAINS THE CODE FOR THE NEW SIGN. * +1 - POSITIVE, 0 - OPPOSITE OF ORIGINAL SIGN, -1 - NEGATIVE *NOLDS IS SET TO THE CODE OF THE ORIGINAL SIGN. * +1 - NON-NEGATIVE, -1 - NEGATIVE * ENT SSIGN EXT .ENTR,S.GET,SPUT PARAM BSS 4 SSIGN NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM CLA,INA STA PARAM+3,I JOLD=1 JSB S.GET GET JSTR(J) DEF *+4 DEF PARAM,I DEF PARAM+1,I DEF JTEST LDA JTEST SSA,RSS IS JTEST>=0 JMP CONT IF SO CCA IF NOT JOLD=-1 STA PARAM+3,I IF NOT JOLD=-1 CONT LDA PARAM+2,I MPY JTEST SSA JMP SWTCH SZA JMP PUT IF JNEW*JTEST>O PUT JSTR(J) LDA PARAM+2,I CMA,INA IF JNEW*JTEST=0 SSA,SZA JMP PUT AND JNEW<=0 OR SWTCH LDA JTEST IF JNEW*JTEST<0 CMA THEN JTEST=-JTEST-1 STA JTEST PUT JSB SPUT PUT JSTR(J) DEF *+  4 DEF PARAM,I DEF PARAM+1,I DEF JTEST JMP SSIGN,I RETURN JTEST BSS 1 END END$    24306-18020 2026 S C0122 &SSUB STRING SUBTRACT             H0101 řASMB NAM SSUB,7 24306-60001 REV.2026 791205 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18020 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *FUNCTION - SUBTRACT ONE CHARACTER STRING FIELD OF *ARBITRARY LENGTH FROM A SECOND CHARACTER STRING AND *PLACE THE RESULT IN A SECOND STRING * *CALLING SEQUENCE *CALL SSUB(JSTR,J,JLAST,KSTR,K,KLAST,NER) * ENT SSUB EXT .ENTR,SA2DE,SDEA2,SSIGN,SADD PARAM BSS 7 SSUB NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM CLA STA IERR JSB SA2DE CONVERT JSTR TO D2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR LDA IERR ILLEGAL CHAR IN JSTR? SZA JMP ERR1 IF SO JSB SSIGN CHANGE SIGN OF JSTR DEF *+5 DEF PARAM,I DEF PARAM+2,I DEF ZERO DEF IY JSB SDEA2 CONVERT JSTR TO A2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR JSB SADD ADD JSTR TO KSTR DEF *+8 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF PARAM+3,I DEF PARAM+4,I DEF PARAM+5,I DEF PARAM+6,I JSB SA2DE CONVERT JSTR TO D2 DEF *+5 DEF PARAM,I DEF PARAM+1,I DEF PARAM+2,I DEF IERR JSB SSIGN CHANGE SIGN OF JSTR DEF *+5 DEF PARAM,I DEF PARAM+2,I DEF ZERO DEF IY OUT JSB SDEA2 CONVERT JSTR TO A2 DEF *+5 DEF PARAM,I DEF PARAM+1,  I DEF PARAM+2,I DEF IERR JMP SSUB,I RETURN ERR1 CCA STA PARAM+6,I JMP OUT NER=-1 ZERO OCT 0 IY BSS 1 IERR OCT 0 END END$   24306-18021 2026 S C0122 &SZONE ZONE             H0101 ASMB NAM SZONE,7 24306-60001 REV.2026 791206 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18021 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *SZONE FINDS THE ZONE-PUNCH OF A CHARACTER AND SETS *A CODE TO INDICATE WHAT THE NEW ZONE IS. *CALLING SEQUENCE: CALL SZONE(JSTR,JBEG,NEZ,NOZ) *JSTR=STRING INTEGER ARRAY CONTAINING THE CHARACTER *JBEG=POSITION OF THE CHARACTER IN JSTR *NEZ=CODE FOR NEW ZONE *NOZ=CODE INDICATING THE ORIGINAL ZONE OF THE CHARACTER *ZONE CODES FOR NEZ AND NOZ ARE: *ZONE 1 (12-ZONE): A-I *ZONE 2 (11-ZONE): J-R AND - *ZONE 3 (0-ZONE): /S-Z *ZONE 4 (NO-ZONE): 0-9 AND + *MORE THAN 4: SPECIAL CHARACTERS *IF NEZ=2 AND JSTR(JBEG)='0' OR '+' THEN JSTR(JBEG) IS SET TO '-' *IF NEZ=4 AND JSTR(JBEG)='-' OR '+' THEN JSTR(JBEG) IS SET TO '0' * ENT SZONE EXT .ENTR,SGET,SPUT PARAM BSS 4 SZONE NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM JSB SGET CALL SGET(JSTR,JBEG,NCHAR) DEF *+4 DEF PARAM,I DEF PARAM+1,I DEF NCHAR LDA NCHAR NCHAR A-Z? ADA N101 STA TEST SSA JMP NOALF ASCII CODE<101 ADA N32 SSA,RSS JMP SPEC ASCII CODE>132 LDA TEST NCHAR IS A-Z;TEST=NCHAR-101 CLB DIV NINE INA STA PARAM+3,I NOZ=ZONE CODE OF NCHAR (TEST19) STB TEST TEST=(NCHAR-101)MOD9. CPA THREE NCHAR 0-ZONE? JMP *+2 JMP ONE ISZ TEST IF SO, INCREMENT MOD JMP ONE NOALF LDA NCHAR NCHAR 0-9? r ADA NSXTY SSA JMP SPEC ASCII CODE<61 ADA N1 STA TEST ADA N11 SSA,RSS JMP SPEC ASCII CODE>71 LDA FOUR NCHAR IS 0-9,TEST=NCHAR-60 (0-9) STA PARAM+3,I NOZ=ORIGINAL ZONE CODE (4) LDA NCHAR NCHAR='0'? CPA SIXTY JMP ZERO IF SO JMP ONE SPEC LDA FIVE NCHAR IS SPECIAL CHAR STA PARAM+3,I NOZ=ORIGINAL ZOME CODE (5) LDA NCHAR NCHAR='-'? CPA FFIV JMP MIN IF SO CPA FTHRE JMP PLUS CPA FSVN NCHAR='/'? JMP SLASH IF SO JMP SZONE,I IF NOT, RETURN ONE LDA PARAM+2,I NEW ZONE CODE 5? ADA NFIVE SSA,RSS JMP SZONE,I IF SO,NO CHANGE,RETURN LDA PARAM+2,I NEZ=3? CPA THREE JMP *+2 JMP OK LDA TEST IF SO, NCHAR(MOD 9)=0? SZA JMP OK LDA FSVN IF SO, NCHAR='/' STA NCHAR JMP PUT OK LDB ADDR GIVE NCHAR NEW ZONE ADB PARAM+2,I PICK UP BASE FROM ATAB NDXED BY NEZ LDA 1,I ADA TEST ADD NCHAR(MOD 9) STA NCHAR REPLACE NCHAR WITH NEW ZONE PUT JSB SPUT CALL SPUT(JSTR,JBEG,NCHAR) DEF *+4 DEF PARAM,I JSTR DEF PARAM+1,I JBEG DEF NCHAR JMP SZONE,I RETURN ZERO LDA PARAM+2,I CPA TWO NEZ=2? JMP *+2 JMP SZONE,I IF NOT, RETURN LDA FFIV IF SO NCHAR='-' STA NCHAR JMP PUT MIN LDA TWO STA PARAM+3,I NOZ=2 (11-ZONE FOR '-') LDA PARAM+2,I NEZ=4? CPA FOUR JMP *+2 JMP SZONE,I IF NOT, RETURN CZER LDA SIXTY STA NCHAR IF SO NCHAR='0' JMP PUT PLUS LDA FOUR STA PARAM+3,I NOZ=4 (12-ZONE CODE FOR '+') LDA PARAM+2,I NEZ=4? CPA FOUR JMP CZER IF SO JMP ZERO SLASH LDA THREE STA PARAM+3,I NOZ=3 CLA STA TEST /=1ST CHAR,0-ZONE JMP ONE $ ADDR DEF ATAB ATAB OCT 0 OCT 101 OCT 112 OCT 122 OCT 61 N101 OCT -101 N32 OCT -32 NINE DEC 9 NSXTY OCT -60 N11 OCT -11 FOUR OCT 4 FIVE OCT 5 NFIVE OCT -5 NCHAR OCT 0 TEST OCT 0 TWO OCT 2 FFIV OCT 55 FTHRE OCT 53 N1 OCT -1 FSVN OCT 57 THREE OCT 3 SIXTY OCT 60 END END$   24306-18022 2026 S C0122 &S.GET KATAKANA GET             H0101 1pASMB NAM S.GET,7 24306-60001 REV.2026 791207 * * ******************************************************************* * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED. * NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR * TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN * CONSENT OF HEWLETT-PACKARD COMPANY. ******************************************************************* * * * SOURCE: 24306-18022 * RELOC: 24306-60001 * * * ****************************************************************** * * * * *S.GET PICKS UP A CHARACTER FROM A SPECIFIED POSITION IN AN ARRAY *S.GET PICKS UP THE CHARACTER IN JSTR(J) AND RETURNS IT IN JHOLD. * ENT S.GET EXT .ENTR,SGET JSTR NOP J NOP JHOLD NOP S.GET NOP JSB .ENTR TRANSFER DEF JSTR PARAMETERS * JSB SGET DEF *+4 DEF JSTR,I DEF J,I DEF JHOLD,I * LDB JHOLD,I STB A ALF,ALF SSA ADB HIBYT STB JHOLD,I JMP S.GET,I * * A EQU 0 B EQU 1 HIBYT OCT 177400 END iB  24306-80001 A S 0122 DOS-M STRING ARITH.PKG.              H0101 \ ASMBҬ UNN-ADDSϠHAAҠSNGDS ABAYNGH.HŠSUԠSSԠNHŠSND D. ANGSUN A̠SADD(SҬBGNDKSҬKBGKNDҩ H SҠNAMSAN-DMNSNA̠SNGNGҠAAY NAMAԠNANNGHŠSԠHAAҠSNG DϠBŠADDD. BGSANNGҠNSANԬNGҠVAABŬ ƈGҠPSSGNƈDAƈGHŠSԠHAA NSҠϠBŠADDD. NDSANNGҠNSANԬNGҠVAABŬ NGҠPSSNNDANGHŠASԠHAAҠN SҠϠBŠADDD. KSҠNAMSAN-DMNSNA̠SNGNGҠAAY NANNGHŠDAAϠHHHŠDAANSҠS ADDD.Ԡ̠NANHŠSUԠNAMA NGADDN. KBGSANNGҠNSANԬNGҠVAABŬ NGҠPSSNGVNGHŠPSNƠHŠS HAAҠNKSҠϠBŠADDD. KNDSANNGҠNSANԬNGҠVAABŬ NGҠPSSNGVNGHŠPSNƠԈŠAS HAAҠNKSҠϠBŠADDD. ҠSANNGҠUSDASANҠNDA. ҠSSԠƠANNVADHAAҠSNUND ҠƠVנUS. NAMSADD NԠSADD Ԡ.NҬSADŬSDASGԬSPU ԠSSGNS̬SAY PAAMBSS SADDNP SB.NҠANSҠPAAMS DƠPAAM A SA SBSADŠNVԠSҠϠD DƠ+5 DƠPAAM DƠPAAM+ DƠPAAM+ DƠ DA SZAƈVADHA? MPұƠS SBSADŠNVԠKSҠϠD DƠ+5 DƠPAAM+3 DƠPAAM+ DƠPAAM+5 DƠ DAҠNVADHA? SZA MPҲƠS SBSSGNMAKŠNנSGNƠSҠPS. DƠ+5 DƠPAAM DƠPAAM+ DƠNŠSGNƠSҾ0 DƠSGN-ƠS<0 SBSSGNMA[KŠNנSGNƠKSҠPS. DƠ+5 DƠPAAM+3 DƠPAAM+5 DƠNŠKSGNƠKSҾ0 DƠKSGN-ƠKS<0 DAKSGNSGNKSGNSGN MPYSGN SASGN DAPAAM+ɠKN׽KAS-AS+ MANA ADAPAAM+ ADAPAAM+5 SAKN DBPAAM+ɠSKNASMB,L,C,R,B HED DVR71 12967 PHYSICAL LEVEL DRIVER 8/1/74 NAM DVR71,0,0 ENT I.71,C.71 ENT P.710,P.711,P.712,P.713 ENT P.714,P.715,P.716,P.717 EXT $TIME,$PCOM **************************************************** * 12967 SYNCHRONOUS I/F COMMAND SET * **************************************************** * * * MASTER RESET-REST * * BIT MEANING * * 15,14,13,12 1,0,0,0 * * CAUSES SMI TO COMPLETELY RESET TO ITS * * IDLE STATE(AS AFTER A CLC 0). * * * **************************************************** * DATA STATUS RESET-DSET * * BIT MEANING * * 15,14,13,12 1,0,0,1 * * 11,10,9,8 NOT USED * * 7,6,5,4,3,2 NOT USED * * 1 1=RESET DATA ERROR * * 0 1=RESET PARITY ERROR * * * **************************************************** * ARM STATUS INTERRUPT-ARMI * * BIT MEANING * * 15,14,13,12 1,0,1,0 * * 11,10,9,8,7,6,5,4 NOT USED * * 3 SECONDARY RLS ARM * * 2 RCV LINE SIGNAL ARM * * 1 CLEAR TO SEND ARM * * 0 DATA SET READY ARM * * IF BIT=1 INTERRUPT WHEN LINE=0,IF BIT=0 * * INTERRUPT WHEN LINE=1. * * * **************************************************** * MASK STATUS INTERRUPT-MSKI * * BIT MEANING * * 15,14,13,12 1,0,1,1 * * 11,10,9,8,7,6,5 NOT USED * * 4 RING MASK * * 3 SECONDARY RLS MASK * * 2 RCV LINE SIGNAL MASK * * 1 CLEAR TO SEND MASK * * 0 DATA SET READY MASK * * IF BIT=1 ENABLE LINE INTERRUPT,IF BIT=0 * * DISABLE LINE INTERRUPT. * * * **************************************************** * CONTROL-CTRL * * BIT MEANING * * 15,14,13,12 1,1,0,0 * * 11,10,9,8,7,6 NOT USED * * 5 1:DMA USED FOR DATA * * 0:PROGRAMMED I/O USED* * 4 1:PARITY ENABLE * * 0:DISABLE PARITY * * 3 1:ODD PARITY,0:EVEN * * 2 1:SRQS MODEM CTRL ON * * 0:SRQS OFF * * 1 1:DTR MODEM CTRL ON * * 0:DTR OFF * * 0 1:RQS ON-TRANS MODE * * 0:RQS OFF-RCV MODE * * * **************************************************** * START-STRT * * BIT MEANING * * 15,14,13,12 1,1,1,0 * * START A TRANS OR RCV OPERATION ONCE THE * * MODEM HAS BECOME READY. * * * **************************************************** * STOP * * BIT MEANING * * 15,14,13,12 1,1,1,1 f * * STOP A TRANS OR RCV OPERATION AS A NORMAL* * ENDING OR TO ABORT IN CASE OF ERROR. * * * **************************************************** * * * INTERFACE STATUS WORD * * BIT MEANING * * 15 0:DATA TRANSFER * * 1:UNUSUAL CONDITION * * 14 1:MODEM STAT REQUEST * * 13 1:DATA ERROR COND * * 12 1:RECEIVE PARITY COND* * 11 1:DATA REQ CONDITION * * 10 NOT USED * * 9 1:RING LINE INTERRUPT* * 8 1:SRLS LINE INTERRUPT* * 7 1:RLS LINE INTERRUPT * * 6 1:CLS LINE INTERRUPT * * 5 1:DSR LINE INTERRUPT * * 4 1:RING LINE ON * * 3 1:SRLS LINE ON * * 2 1:RLS LINE ON * * 1 1:CLS LINE ON * * 0 1:DSR LINE ON * * * * * **************************************************** A EQU 0 B EQU 1 SC EQU 0 **************************************************** * * * COMPLETION SECTION * * * **************************************************** C.71 EQU * NOP CLA SUCCESSFUL COMPLETION LDB $EQ14,I TRANSMISSION LOG JMP C.71,I RETURN **************************************************** * * * p5 INTERRUPT CELLS * * * **************************************************** * P.710 EQU * NOP CLF 0 DISABLE INTERRUPTS JSB SAVE SAVE REGISTERS LDA UEQT ADDRESS USERS EQT JSB SETQ SET EQT LDA USC ADDRESS USERS SELECT CODE PCOMM JSB SETIO SET I/O INSTRUCTIONS JSB STAT INPUT STATUS LDB LSIT JMP LSWCH LINE STATE * * * P.711 EQU * NOP CLF 0 JSB SAVE LDA UEQT+1 JSB SETQ LDA USC+1 JMP PCOMM * * P.712 EQU * NOP CLF 0 JSB SAVE LDA UEQT+2 JSB SETQ LDA USC+2 JMP PCOMM * * P.713 EQU * NOP CLF 0 JSB SAVE LDA UEQT+3 JSB SETQ LDA USC+3 JMP PCOMM * * * * P.714 EQU * NOP CLF 0 JSB SAVE LDA UEQT+4 JSB SETQ LDA USC+4 JMP PCOMM * * P.715 EQU * NOP CLF 0 JSB SAVE LDA UEQT+5 JSB SETQ LDA USC+5 JMP PCOMM * * P.716 EQU * NOP CLF 0 JSB SAVE LDA UEQT+6 JSB SETQ LDA USC+6 JMP PCOMM * * P.717 EQU * NOP CLF 0 JSB SAVE LDA UEQT+7 JSB SETQ LDA USC+7 JMP PCOMM **************************************************** * * * INITIATION SECTION * * * **************************************************** I.71 EQU * NOP CLF 0 DISABLE INTERRUPT SYSTEM CLB STB RTX SET RETURN INDEX FOR I.70 STB SAVA ZERO RETURN CODE LDB I.71 SAVE RETURN ADDRESS STB EXIT STA SCODE SAVE SELECT CODE LDB $EQ17,I LDA $EQ9,I GET REQUEST AND SFAR SAVE FUNCTION AND REQUEST CPA .103 INITIALIZE REQUEST? JMP I.71B YES SZB,RSS IF LOGICAL LINKAGE PRESENT --PROCEED CPA P03$ CLEAR REQUEST JMP I.71A YES ISZ SAVA NO INVALID JMP RTRN I.71B EQU * LDB $EQ11,I GET EXTENSION ADDRESS STB $EQ17,I LINK WITH LOGICAL INB LDA B,I GET EQT19 STA $EQ6,I SAVE IN CONTROL WORD CLA STA EQT3 INSURE EQT RESET STA $EQ5,I CLEAR LINE STATE STA $EQ16,I CLEAR TIMER FLAGS LDA $EQ1 GET BASE EQT ADDRESS ADB P07$ COMPUTE EQT26 STA B,I SAVE AS TIMER ID(DVR71) ADB P04$ COMPUTE EQT30 STA B,I SAVE AS TIMER ID (LOGICAL) * * BUILD BASIC CONTROL WORD * LDA $EQ6,I GET PARAMETER WORD(EQT19) AND .60 ISOLATE PARITY RAR POSITION PARITY SZA PARITY OFF? IOR .20 NO IOR CTRL CONTROL WORD STA $EQ6,I STORE WORD IN EQT6 * I.71A EQU * LDA $EQ1 JSB SETQ SET EQT * LDA EQT4,I SET AND LBYT$ STATUS TO STA EQT4,I ZERO JSB SETU SET UNIT RELATED CONSTANTS LDA SCODE JSB SETIO SET I/O INSTRUCTIONS JSB STAT FIND BOARD STATUS LDA EQT9,I AND SFAR ISOLATE FUNCTION AND REQUEST CPA P03$ CLEAR REQUEST JMP C0 YES AND M17$ CPA P01$ READ REQUEST JMP READ YES CPA P02$ WRITE REQUEST JMP WRITE YES CPA P03$ CONTROL REQUEST JMP CONTL YES ISZ SAVA INDICATE ERROR JMP RTRN **************************************************** * * * READ REQUEST INITIATION * *  * **************************************************** READ EQU * JSB LCHK CHECK FOR LINE OPEN, DATA SET RDY CCB INDICATE INITIATION CALL JSB EQT22,I CALL LOGICAL READ JMP READ1 COMPLETE JSB DRCTV EVALUATE DIRECTIVE BITS JMP RTRN * READ1 EQU * LDA P04$ INDICATE IMMEDIATE COMPLETION STA SAVA JMP RTRN **************************************************** * * * WRITE REQUEST INITIATION * * * **************************************************** WRITE EQU * JSB LCHK CHECK FOR LINE OPEN,DATA SET RDY CCB INDICATE INITIATION CALL JSB EQT23,I CALL LOGICAL WRITE JMP READ1 COMPLETE JSB DRCTV EVALUATE DIRECTIVE BITS JMP RTRN **************************************************** * * * CONTROL REQUEST INITIATION * * * **************************************************** CONTL EQU * CLA CCB INDICATE INITIATION CALL JSB EQT24,I CALL LOGICAL CONTROL JMP READ1 COMPLETE JSB DRCTV EVALUATE DIRECTIVE BITS LDA EQT9,I ALF,ALF RAL,RAL AND M77$ ISOLATE FUNCTION CODE ADA N04$ SSA,RSS FUNCTION LT 5 JMP CNTL1 NO-INVALID ADA CNTLT YES-CALCULATE TABLE ADDRESS LDA A,I JMP A,I PROCESS BY FUNCTION CODE * * CNTL1 EQU * ISZ EQT4,I INDICATE INVALID REQUEST JMP READ1 * * * CONTROL TRANSFER TABLE * DEF C0 CLEAR DEF READ1 INITIALIZE(NO ADDITIONAL PROCESSING) DEF C2 LINE OPEN DEF C3 LINE CLOSE CNTLT DEF * * * CLEAR REQUEST * C0 EQU * ) LDA $EQ17,I SZA SKIP DEQUEUE IF NOT LINKED JSB DQT DEQUE TIMERS LDA REST MASTER RESET JSB OTA CLEAR I/F CLA STA $EQ17,I BREAK LINKAGE JMP READ1 * * LINE OPEN REQUEST * C2 EQU * LDA EQT10,I PARAMETER 1 CPA P01$ RECEIVE? JMP CRCV YES CPA P02$ SEND? JMP CSND YES ISZ EQT4,I INDICATE INVALID REQUEST JMP READ1 RETURN TO DOS CRCV EQU * LDA EQT19,I SSA FULL DUPLEX? JMP CSND YES LDA EQT6,I LOAD BASIC CONTROL WORD IOR P02$ JSB OTA SET DATA TERMINAL READY LDA EQT5,I CPA P03$ LINE=LINE OPEN SEND? JMP C21 YES C20 EQU * LDA MSKI IOR P01$ JSB OTA MASK DSR INTERRUPT LDA ARMI JSB OTA ARM DSR DOWN(INTERRUPT ON UP) JMP C22 CSND EQU * LDA EQT6,I IOR P03$ JSB OTA SET DTR AND RQS LDA EQT19,I SSA FULL DUPLEX? JMP C20 YES LDA MSKI IOR P02$ JSB OTA MASK CLS INTERRUPT LDA ARMI JSB OTA ARM CLS DOWN(INT ON UP) JMP C22 C21 LDA MSKI IOR P02$ MASK CLS INTERRUPT JSB OTA LDA ARMI IOR P02$ ARM CLS=1 JSB OTA C22 LDA P01$ LINE=AWAITING OPEN STA EQT5,I JSB STC TURN ON BOARD JMP RTRN * * LINE CLOSE REQUEST * C3 EQU * LDA REST JSB OTA MASTER RESET LDA MSKI IOR P01$ JSB OTA MASK DSR INTERRUPT LDA ARMI IOR P01$ INTERRUPT ON DSR DOWN JSB OTA CLA LINE=CLOSE STA EQT5,I JSB STC TURN ON BOARD JMP RTRN * **************************************************** * * * SET UNIT RELATED DATA  * * * **************************************************** SETU EQU * NOP LDA $EQ3,I GET UNIT & SELECT CODE ALF,ALF RAL,RAL POSITION UNIT FIELD AND P07$ ADA UTBL CALCULATE TABLE ENTRY LDB $EQ1 STB A,I SAVE EQT ADA P08$ OFFSET TO NEXT TABLE LDB SCODE STB A,I SAVE SELECT CODE JMP SETU,I * UTBL DEF *+1 UEQT BSS 8 HOLDS EQT FOR UNIT 0-7 USC BSS 8 HOLDS SC FOR UNIT 0-7 * * **************************************************** * * * SET EQT TABLE * * * * A=ADDRESS OF EQT * * * **************************************************** SETQ EQU * NOP STA EQTB SAVE EQT ON BASE PAGE ADA P02$ CPA EQT3 ALREADY SET JMP SETQ,I YES STA EQT3 INA STA EQT4 FILL INA TABLE STA EQT5 INA STA EQT6 ADA P03$ STA EQT9 INA STA EQT10 ADA P04$ STA EQT14 INA STA EQT15 INA STA EQT16 INA LDA A,I LINK TO EXTENSION INA STA EQT19 INA STA EQT20 ADA P02$ LDB A,I STB EQT22 INA LDB A,I STB EQT23 INA LDB A,I STB EQT24 ADA P03$ STA EQT27 ADA P04$ STA EQT31 JMP SETQ,I RETURN **************************************************** * * * DRIVER TIMER START * * * **************************************************** TIMIN EQU * B=PROCESSOR ADDRESSd640 NOP A=TIME INTERVAL STA EQT27,I SAVE VALUE LDA EQT16,I GET TIMER FLAGS ERA,RAL PHYSICAL TIMER BIT TO E IOR P01$ SET IT STA EQT16,I LDA EQT27,I GET VALUE SEZ INITIATE REQUEST CMA,INA NO-INDICATE RESET STB EQT27,I SAVE PROCESSOR ADDRESS LDB EQT27 ADB N01$ PASS EQT26 AS TIMER BLOCK JSB $TIME JMP TIMIN,I * * TIMER #1(AND ONLY) * TIMA DEF *+1 NOP CLF 0 CLB,INB JSB TIMOF JSB STAT GET BOARD STATUS LDA TIMA+1 RETURN ADDRESS STA LTIM LDA P02$ STA RTX INDICATE TIMER RETURN JMP LSIE START RECEIVE * **************************************************** * * * TIME OFF * * INITIAL SETUP FOR TIMEOUT * * A=EQT * * B=TIMER FLAG MASK * <*6   24307-18072 1515 S 0122 DVR71 FOR 12967A ASYNCH MODEM INTERFACE             H0101 >* * **************************************************** TIMOF EQU * NOP STB TMOF1 SAVE TIMER TYPE JSB SETQ SET EQT LDA EQT3,I AND M77$ GET SELECT CODE JSB SETIO SET I/O INST. LDA TMOF1 CMA AND EQT16,I CLEAR TIMER IN PROGRESS STA EQT16,I JMP TIMOF,I * TMOF1 NOP * * **************************************************** * * * LINE CHECK * * * **************************************************** LCHK EQU * NOP LDA EQT5,I LOAD LINE STATE SZA,RSS LINE CLOSE? JMP LCHK1 YES LDA STWD LOAD BOARD STATUS CMA COMPLIMENT DSR AND P01$ ISOLATE DSR RAR,RAR POSITION FOR LINE ERROR *NOTE-DSR=DOWN INDICATES LINE ERROR JMP LCHK,I LCHK1 EQU * ISZ EQT4,I INVALID REQUEST JMP READ1 IMMEDIATE COMPLETION **************************************************** * * * DIRECTIVE EVALUATOR * * * * A= DIRECTIVE BITS (15-8), OUTPUT DATA (7-0) * * 15-START READ * * 14-START WRITE * * 13-NO OPERATION * * * * B= TIMER REQUEST * * <0-INITIATE/UPDATE VALUE * * =0-NO REQUEST * * >0-CANCEL REQUEST * * * * * **************************************************** MDRCTV EQU * NOP STA DRCTA SAVE DIRECTIVES SZB,RSS TIMING REQUEST JMP DRCT1 NO LDA EQT16,I YES SSB CANCEL REQUEST JMP DRCT2 NO * YES ELA,CLE,ERA CLEAR IN PROGRESS BIT CLB INDICATE CANCEL JMP DRCT3 DRCT2 EQU * SSA TIMER IN PROGRESS CMB,INB YES-INDICATE RESET IOR B15$ SET IN PROGRESS BIT DRCT3 EQU * STA EQT16,I UPDATE FLAGS STB A LDB LTIMA STB EQT31,I SET PROCESSOR TO LOGICAL TIMER LDB EQT31 ADB N01$ PASS EQT30 AS TIMER BLOCK JSB $TIME DRCT1 EQU * LDA DRCTA RAL,SLA START READ JMP SREAD YES RAL,SLA START WRITE JMP SWRIT YES SSA NOP JMP RTRN YES LDA DRCTA NO DIRECTIVES JMP DRCTV,I RETURN * DRCTA NOP * * **************************************************** * * * START READ * * * **************************************************** SREAD EQU * LDA EQT5,I CPA P04$ LINE=SEND? JMP SRD3 YES LDA EQT6,I BASIC CONTROL WORD IOR P02$ DTR SET,RQS OFF JSB OTA LDA MSKI IOR P05$ MASK ON RLS,DSR JSB OTA LDA EQT19,I SSA FULL DUPLEX? JMP SRD1 YES LDA STWD ARS,SLA CLS HIGH? JMP SRD2 YES SRD1 LDA P08$ LINE=PREP TO RCV#3 STA EQT5,I LDA ARMI IOR P01$ ARM RLS=0,DSR=1 JSB OTA JSB STC TURN ON BOARD JMP RTRN SRD2 LDA P07$ LINE=PREP TO RCV#2 STA EQT5,I LDA ARMI IOR P05$ ARM RLS=1,DSR=1 JSB OTA LDA N02$ DELAY 200MS LDB TIMA TIMER#1 JSB TIMI]+N START TIMER JSB STC TURN ON BOARD JMP RTRN SRD3 LDA RBYT$ PAD CHAR JSB OTA LDA P06$ LINE=PREP TO RCV#1 STA EQT5,I JSB STC TURNON JMP RTRN **************************************************** * * * START WRITE * * * **************************************************** SWRIT EQU * LDA EQT5,I CPA P03$ LINE OPEN SEND? JMP SWRT1 YES CPA P09$ LINE=RECEIVE? RSS YES JMP SWRT0 LDA STOP STOP INPUT JSB OTA SWRT0 EQU * LDA EQT6,I BASIC CONTROL WORD IOR P03$ RQS=1,DTR=1 JSB OTA LDA MSKI IOR P03$ MASK ON CLS,DSR JSB OTA LDA ARMI IOR P01$ ARM CLS=0,DSR=1 JSB OTA LDA P05$ LINE EQUAL TO PREPARE TO SEND STA EQT5,I LDA DRCTA SAVE 1ST CHAR AND RBYT$ STA EQT15,I JSB STC TURN ON BOARD JMP RTRN RETURN SWRT1 EQU * LDA P05$ LINE=PREP TO SEND STA EQT5,I SWRT2 EQU * LDA ARMI IOR P03$ ARM CLS=1, DSR=1 JSB OTA LDA STRT START TRANSMIT JSB OTA LDA DRCTA SAVE 1ST CHAR AND RBYT$ STA EQT15,I JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS **************************************************** * * * LOGICAL TIMER * * * **************************************************** LTIMA DEF LTIM * LTIM EQU * NOP CLF 0 LDB B15$ JSB TIMOF CLEAR TIMER FLAG LDA P02$ STA RTX INDICATE TIME RETURN LDA B15$ INDICATE LOGICAL TIMER LDB LSTT PROCESS LSWCH JADB EQT5,I BY LDB B,I LINE JMP B,I STATE LSTT DEF *+1 DEF RTRN 0-CLOSED DEF RTRN 1-AWAITING OPEN DEF RTRN 2-LINE OPEN RCV DEF RTRN 3-LINE OPEN SEND DEF LSTB 4-SEND DEF LSTB 5-PREPARE TO SEND DEF LSTD 6-PREPARE TO RCV#1 DEF LSTD 7-PREPARE TO RCV#2 DEF LSTD 8-PREPARE TO RCV#3 DEF LSTD 9-RECEIVE * LSIT DEF *+1 DEF DCTRL 0-CLOSED DEF LSIA 1-AWAITING OPEN NOP 2-LINE OPEN RCV DEF DIOS 3-LINE OPEN SEND DEF LSIB 4-SEND DEF LSIC 5-PREPARE TO SEND DEF LSID1 6-PREPARE TO RCV#1 DEF LSID2 7-PREPARE TO RCV#2 DEF LSIE 8-PREPARE TO RCV#3 DEF LSID3 9-RECEIVE * LSIA EQU * LDA STWD BOARD STATUS AND P03$ ISOLATE CLS,DSR SLA,RSS IS THIS AN UNUSUAL LINE STATE? JMP LSIA1 YES THEN GO HANDLE IT CPA P01$ RECEIVE OPEN? INA YES STA EQT5,I SAVE LINE STATE JMP DCTRL COMPLETE LSIA1 EQU * SZA,RSS IF NO CONTROL JMP LSIA2 THEN DO NOT RECONFIGURE THE BOARD LDA MSKI INA MASK ON DSR JSB OTA AND GO OUTPUT IT LDA ARMI AND GO ARM DSR INTERUPT TO 1 JSB OTA OUTPUT THE ARMING COMMAND LSIA2 EQU * JSB STC SET CONTROL ON THE BOARD JMP RTRN AND RETURN TO USER LSIB EQU * JSB BSTAT CHECK BOARD STATUS LSTB EQU * LDB P01$ INDICATE CONTINUATION JSB EQT23,I CALL LOGICAL WRITE JMP LSIB1 COMPLETE JSB DRCTV CONTINUE,EVALUATE DIRECTIVES LDA DRCTA DATA WORD AND RBYT$ PREPARE FOR OUTPUT JSB OTA JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSIB1 EQU * LDA BSTW SZA COMPLETION BY ERROR? JMP DIOS X YES,STOP IO LDA RBYT$ PUT OUT PAD JSB OTA TO GET LAST CHAR OUT LDA P03$ LINE=LINE OPEN SEND STA EQT5,I JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSIC EQU * LDA STWD SSA,RSS DATA REQUEST? JMP LSIC1 YES AND P03$ CPA P03$ ERROR? JMP SWRT2 NO,START OUTPUT LDA B14$ YES,INDICATE ERROR JMP LSTB LSIC1 EQU * LDA P04$ LINE=SEND STA EQT5,I LDA EQT15,I FIRST CHAR JSB OTA OUTPUT CHAR JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSID1 EQU * LDA STOP STOP TRANSMIT JSB OTA JMP LSIDD LSID2 EQU * LDA EQT16,I LOAD TIMER FLAGS WORD ARS,ALS CLEAR BIT 0 PHYSICAL TIMER FLAG STA EQT16,I AND STORE THE WORD BACK INTO THE EQT CLA INDICATE TIMER TURN OFF LDB EQT27 LOAD PHYSICAL TIMER BUFFER ADDRESS ADB N01$ DECREMENT IT JSB $TIME GO DO TURN OFF LSIDD EQU * LDA STWD SLA DSR DOWN? JMP SREAD NO LSER EQU * LDA B14$ YES,LINE ERROR JMP LSTD LSID3 EQU * JSB BSTAT FIND BOARD STATUS O5 MIA SC INPUT DATA TRAC1 NOP TRACE POINT 1 LSTD EQU * LDB P01$ INDICATE CONTINUE JSB EQT22,I CALL LOGICAL RECEIVE JMP DIOR COMPLETE JSB DRCTV CONTINUE,EVALUATE DIRECTIVES JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSIE EQU * LDA STWD SLA,RSS DSR DOWN? JMP LSER YES LDA P09$ LINE=RECEIVE STA EQT5,I LDA ARMI IOR P05$ ARM RLS=1, DSR=1 JSB OTA LDA STRT START RECEIVE JSB OTA LDA EQT20,I LOAD SYNC CHAR JMP LSTD GIVE IT TO LOGICAL **************************************************** * *2 * SAVE REGISTERS * * * **************************************************** SAVE EQU * NOP STA SAVA A STB SAVB B ERA,ALS E SOC INA O STA SAVEO CLA,INA STA RTX INDICATE INTERRUPT LDA SAVE ADA N03$ CALCULATE INTERRUPT ENTRY LDA A,I STA EXIT SAVE RETURN ADDRESS JMP SAVE,I **************************************************** * * * BOARD STATUS CHECK * * * **************************************************** BSTAT EQU * NOP CLB INITIALIZE STATUS RETURN LDA STWD BOARD STATUS WORD SSA,RSS DATA REQUEST ONLY? JMP LOK YES ALF AND P03$ ISOLATE PARITY AND DATA SZA,RSS PARITY OR DATA ERROR? JMP LINE NO IOR DSET RESET ERROR BITS JSB OTA ADB P02$ INDICATE DATA ERROR LINE EQU * LDA EQT5,I ARS INA AND STWD ISOLATE RELEVENT LINE BITS SLA,RSS DSR HIGH? JMP LERR NO,LINE ERROR ARS SZA,RSS OTHER LINE FAULT(CLS,RLS)? LERR EQU * ADB P04$ YES,LINE ERROR BLF,BLF POSITION STATUS BLF LOK EQU * LDA B STATUS RTRN IN A STA BSTW SAVE STAT WORD JMP BSTAT,I **************************************************** * * * COMPLETION NOTIFICATION * * * **************************************************** DIOR EQU * LDA EQT5,I CPA P06$ LINE=PREP TO RCV#1? JMP DIOS YES CCB FIX FOR LINE OPEN RCV ~CPA P09$ LINE=RECEIVE? JMP DSIO JMP DLNE DIOS EQU * CLB FIX FOR LINE OPEN SEND DSIO EQU * LDA STOP STOP I/O JSB OTA DLNE EQU * ADB P03$ STB EQT5,I SET LINE STATE DCTRL EQU * JSB DQT DEQUE TIMERS LDA EQTB JSB $PCOM JMP RTRN RETURN TO DOS * **************************************************** * * * COMMON RETURN * * * **************************************************** RTRN EQU * LDA RTX DETERMINE RETURN TYPE SZA,RSS JMP RTRN2 I.71 SLA,RSS JMP RTRN3 LOGICAL TIMER RTRN0 EQU * P.71 LDA SAVEO RESTORE CLO SLA,ELA E STF 1 O LDA SAVA A LDB MPTFL TEST MEMORY PROTECT SZB,RSS IS IT ON? JMP RTRN1 YES LDB SAVB RESTORE B STF 0 ENABLE INTERRUPT SYSTEM JMP EXIT,I RTRN1 EQU * LDB SAVB RESTORE B STF 0 ENABLE INTERRUPTS STC 5 TURN ON MEMORY PROTECT JMP EXIT,I RTRN2 EQU * LDA EQT14,I STA SAVB TRANSMISSION LOG JMP RTRN0 RTRN3 EQU * STF 0 ENABLE INTERRUPTS JMP LTIM,I **************************************************** * * * DEQUEUE TIMERS * * * **************************************************** DQT EQU * NOP LDA EQT16,I LOAD TIMER FLAGS SZA,RSS TIMER IN PROGRESS? JMP DQT,I NO SSA,RSS LOGICAL TIMER IN PROGRESS JMP DQT1 NO ELA,CLE,ERA YES STA EQT16,I CLEAR FLAG CLA LDB EQT31 ADB N01$ JSB $TIME DQT1 EQU *  LDA EQT16,I SLA,RSS DVR71 TIMER ACTIVE? JMP DQT,I NO,DONE ARS,ALS YES,CLEAR STA EQT16,I CLEAR FLAG LDB EQT27 ADB N01$ CLA JSB $TIME CANCEL REQUEST JMP DQT,I * **************************************************** OTA EQU * NOP O1 OTA SC TRAC2 NOP TRACE POINT 2 JMP OTA,I * **************************************************** STC EQU * NOP O2 STC SC JMP STC,I * **************************************************** STAT EQU * NOP O3 CLC SC O4 LIA SC TRAC3 NOP TRACE POINT 3 STA STWD JMP STAT,I * **************************************************** * * * SET I/O INSTRUCTIONS * * * **************************************************** SETIO EQU * NOP CPA LAST ALREADY CONFIGURED? JMP SETIO,I YES STA LAST SAVE CURRENT SC ADA MIA STA O5 FORM MIA INST ADA P64$ FORM LIA INST STA O4 ADA P64$ FORM OTA INST STA O1 ADA P64$ FORM STC INST IOR CFLAG INCLUDE THE CLEAR FLAG BIT STA O2 IOR B11$ FORM CLC INST STA O3 JMP SETIO,I * **************************************************** * * * EQT LINKAGE TABLE * * * **************************************************** EQT3 NOP UNIT/SELECT CODE EQT4 NOP STATUS EQT5 NOP LINE STATE EQT6 NOP I/F CONTROL WORD EQT9 NOP CONWD EQT10 NOP PARAMETER 1 EQT14 NOP TRANSMISSION LOG EQT15 NOP SAVE FIRST CHAR FOR O/P EQT16 NOP TIMER FLAGS EQT19 NOP BOARD PARAMETERS EQT20 NOP EQT22 NOP LREAD X640EQT23 NOP LWRIT EQT24 NOP LCNTL EQT27 NOP DVR71 TIMER PROCESSOR ADDRESS EQT31 NOP LOGICAL TIMER PROCESSOR ADDRESS * * BASE PAGE CONSTANTS * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P64$ EQU #+12 M17$ EQU #+13 M77$ EQU #+15 RBYT$ EQU #+17 OCT 377 LBYT$ EQU #+18 OCT 177400 * * BASE PAGE VARIABLES * ## EQU 202B EQTB EQU 300B ADDRESS OF EQT ENTRY $EQ1 EQU ##+1 $EQ3 EQU ##+3 $EQ5 EQU ##+5 $EQ6 EQU ##+6 $EQ9 EQU ##+9 $EQ11 EQU ##+11 $EQ14 EQU ##+14 $EQ16 EQU ##+16 $EQ17 EQU ##+17 B15$ OCT 100000 B14$ OCT 40000 B11$ OCT 4000 * ARMI OCT 120000 CTRL OCT 140000 DSET OCT 110000 MSKI OCT 130000 REST EQU B15$ STOP OCT 170000 STRT OCT 160000 * EXIT NOP BSTW NOP CFLAG OCT 1000 CLEAR FLAG BIT LAST NOP MIA MIA SC MPTFL EQU 271B MEMORY PROTECT FLAG RTX NOP SAVA NOP SAVB NOP SAVEO NOP SCODE NOP SFAR OCT 17777 STWD NOP .20 OCT 20 .60 OCT 60 .103 OCT 103 * END o6   24307-18073 1446 S 0122 DOS DVR15 7261A CARD READER             H0101 b ASMBҬB̬ HDHP6ADSDVҠ-DVұ5 NAMDVұ5 NԠ.5.5 SPà HP6ADSDVҠ5 NANSN SPà .5NP SBSϠNGUŠ BƬSBSAUSK--PK? MPKYS BҬBҠƠNԬ SSBSBSSSAUSNDD-AD? SZԴɠNϠ-SԠҠNԠADY KDBԴɠADSAUS DA9ɠADN̠D ANDD3SAŠUSԠD. PAD3N̠US? MP3YS-GϠGԠSUBUNN SAASNϠ-ADUS? MPADYSNNU. MP.5ɠ SPà B00Ԡ00 B600Ԡ600 B300Ԡ300 SPà 3DA9ɠADN̠D ANDB300SAŠHŠUNND. PAB00HPPҠS? MPHPҠYS PAB00NGB? MPB̠YS PAB600DYNAMàSAUS? MPDYSAYS-SԠԠUP. SZASԠAҠUSԠ? MPANϠ-ԠHŠUS. SAԱɠYS-AҠANS.G MPAANDMPNUN. DYSADANԠGԠNUMBҠƠPAAMS. PADSԠUҠ? MPKSAYS-PSS ADADN̠ѠNDND. MP.5ɠ KSADAԴɠGԠSAUSD. DBԱɠANDADDSS. ANDHAƠMASKUԠUNK. SABɠSŠԠAAY MPAMPNUN. SPà ADSAԱɠAҠANSMSSNG PAԱɠZϠBUҠNGH? MPSKPYSGϠHKHŠMD. AD0SBҠADY? MPA3NϠ-GϠϠ DAN0NAZ SAԱ3ɠPKA̠UN ADDA3ɠGԠSԠD ANDBBYMASKNGUԠUNK. DMAADMA`ASSGNDMA DABUADADHŠNNA̠BUҠADDSS. DMAàDMA-PPAŠHŠADDSSGS. DMA3ADMA-UPUԠHŠBUҠADDSS. DAN9ADHŠDUN DMASàDMA-PPAŠDMADUN DMA5ADMA-UPUԠHŠDUN ұSàҬàSSUŠAPKMMANDϠHŠ. DMA6SàDMAàAVAŠDMA DMAàDMAAҠDMA A PA.5PKAUŠY? MP.NYSGϠϠNNUANUN. MP.5ɠNϬUNSUSSU̠NAN SPà A3DAD3SԠҠҠNԠADY MP.5ɠUN SPà B̠DAB0BԠ3 MPҲ HPҠDADBԠ SBҠADY? MPA3NϠ-GϠϠ ҲAҠUNNB SZASS0U'SSAPSD? MPAYS-GϠϠMMDAŠMPN DDàNϠ- D3Dà3BUN DDàM AUN DBN0AԠ50MSS NB SZDNŠANG? MP-N MPҲHAԠB SPà SKPDA9ɠADN̠D ANDB00SAŠHŠMDŠB. SZAMDŠBNAY? MPAD0YSGϠSKPD ADADSԠҠMMDAŠMPN MP.5ɠUN SPà BUADDƠ.BUƬɠNNA̠BUҠҠDMA SPà N9Dà-9 B00Ԡ00 B000Ԡ000 B00Ԡ00 B300Ԡ300 SKP NGUANSN SPà SϠNP ҠSàNGU SA+U àҠAҠ SPà ҠB5000 SAұNGU ҠB500Ҡ SADSA SA+ BҠADҠSAUS ҠB300 SAҲ SPà DAHANSAVŠASSGND SAԱɠDMAH0-CANCEL REQUEST * * * ***************************************************** DRCTV EQU * NOP JSB STC ENABLE BOARD STA DRCTA SAVE DIRECTIVES SZB,RSS TIMING REQUEST JMP DRCT1 = NO LDA $EQ16,I YES SSB CANCEL REQUEST JMP DRCT2 NO ELA,CLE,ERA CLEAR IN PROGRESS BIT CLB INDICATE CANCEL JMP DRCT3 DRCT2 EQU * SSA TIMER IN PROGRESS CMB,INB YES/INDICATE RESET IOR B15$ SET IN PROGRESS BIT DRCT3 EQU * STA $EQ16,I UPDATE FLAGS STB A LDB LTIMA SET PROCESSOR TO STB EQT31,I LOGICAL TIMER LDB EQT31 ADB N01$ PASS EQT30 AS TIMER JSB $TIME CALL TIMER DRCT1 EQU * LDA DRCTA RAL,SLA START READ JSB SREAD YES RAL,SLA START WRITE JSB SWRIT YES SSA NOP JSB RTRN YES LDA DRCTA NO DIRECTIVES JMP DRCTV,I RETURN * DRCTA NOP * ***************************************************** * * * START READ * * * ***************************************************** SREAD EQU * NOP LDA $EQ5,I CPA RECV LINE STATE = RECEIVE JMP SRD1 YES LDB EQT19,I FULL DUX SSB SYSTEM JMP C2B YES LDA $EQ15,I NO AND RCVON REMOVE STA $EQ15,I TRANSMIT JSB RCVI BIT LDA P08$ NEXT STA $EQ5,I STATE JMP TEST PR TO RCV #3 * SRD1 EQU * JSB STAT START INPUT JMP STATB * * A ***************************************************** * * * START WRITE * * * ***************************************************** SWRIT EQU * NOP JSB CLC TURN OFF INTERRUPTS LDB $EQ5,I GET PREVIOUS STATE LDA PSND SET LINE STATE EQUALS STA $EQ5,I PREPARE TO SEND LDA DRCTA GET CHARACTER AND RBYT$ MASK OFF BITS STA EQT35,I SAVE CHARACTER FOR O/P CPB SEND PRIOR STATE SEND? JMP SWRT1 YES/BYPASS TURNAROUND JMP C2C SWRT1 EQU * JSB STOUT START OUTPUT LDA SEND LINE STATE STA $EQ5,I EQUALS SEND JSB STAT GET I/F STATUS CLA JMP LDID1 ***************************************************** * START OUTPUT * ***************************************************** STOUT EQU * NOP LDA EQT35,I GET PENDING CHAR. JSB OTA O/P TO INTERFACE JSB STC ENABLE INTERRUPTS JMP STOUT,I ***************************************************** * * * * * LOGICAL TIMER * * * * * ***************************************************** LTIMA DEF LTIM LTIM EQU * NOP  JSB CLC TURN OFF BOARD LDB B15$ JSB TIMOF SET UP FOR TIMER OFF JSB STAT I/P BOARD STATUS LDA P02$ STA RTX INDICATE TIMER RETURN LDA P08$ LDB LSTT PROCESS LSWCH ADB $EQ5,I BY LDB B,I LINE JMP B,I STATE LSTT DEF *+1 DEF LSTA 0-CLOSED DEF LSTB 1-AWAITING RING DEF LSTB 2-AWAITING OPEN DEF LSTB 3-IDLE DEF LSTD 4-PREPARE TO SEND DEF LSTD 5-SEND DEF LSTD 6-PRE TO RCV#1 FLUSH WRITE DEF LSTD 7-PRE TO RCV#2 BUFFER EMPTY DEF LSTC 8-PRE TO RCV#3 DELAY DEF LSTC 9-RECEIVE DEF LSTB 10-AUTO SPEED * LSIT DEF *+1 DEF LSIA 0-CLOSED DEF LSIB 1-AWAITING RING DEF LSIC 2-AWAITING OPEN DEF LSIA 3-IDLE DEF LSII 4-PREPARE TO SEND DEF LSID 5-SEND DEF LSIE 6-PR TO RCV #1 DEF LSIF 7-PR TO RCV #2 DEF LSIH 8-PR TO RCV #3 DEF LSIG 9-RECEIVE DEF LSIK 10-AUTO SPEED * * LSTA EQU * NOP LDA $EQ15,I FORCE FINAL INTERRUPT IOR B10$ FROM 2 SEC TIMER AFTER AND RCVON DATA SET READY STA $EQ15,I GOES DOWN LSIA EQU * LDA CLR CLEAR IOR B15$ INTERFACE JSB OTA JSB CLC TURN OFF BOARD JSB DONE * * LSIB EQU * AND S$CE ISOLATE RINGING BIT SZA,RSS SET JMP LSIB1 NO JSB CLC YES/TURN OFF BOARD JSB DONE COMPLETE LSIB1 EQU * JSB STC ENABLE jINTERRUPTS JSB RTRN * * LSIC EQU * NOP CLF 0 INHIBIT SYSTEM INTERRUPTS LDA EQT25,I SSA,RSS DEVICE INTERRUPT JMP RTRNI NO AND DEVBT STA SWORD SAVE INTERRUPT BITS IOR B13$ OUTPUT REF WORD JSB OTA LDA $EQ15,I IS THE ALF BOARD SSA RECEIVING JMP LSIC1 NO/TRANSMIT CLA GET BOARDS CCB STATUS JSB BSTAT BOARD STATUS GOOD JMP RTRNI NO LDA $EQ6,I LINE ALF OPEN SSA REQUEST JMP NOIN YES LDA RECV NEXT STATE STA $EQ5,I RECEIVE JMP TEST NOIN LDA $EQ6,I REMOVE LINE AND RCVON OPEN BIT STA $EQ6,I LDA $EQ10,I SSA AUTO SPEED JMP NOIN3 YES LDA RECV LINE STATE RECEIVE NOIN2 STA $EQ5,I JSB CLC DISABLE BOARD JSB RTRN COMPLETE NOIN3 LDA AUTOS NEXT STATE ISZ C.74 AUTO SPEED JMP NOIN2 LSIC1 EQU * CLA TEST BOARD CLB,INB STATUS JSB BSTAT BOARD STATUS GOOD JMP RTRNI NO LDA $EQ6,I LINE ALF OPEN SSA REQUEST JMP NOIN1 YES LDA SEND NEXT STATE STA $EQ5,I SEND JSB STOUT START OUTPUT (OCT 15, 1974) JSB STAT I/F STATUS JMP LSID RETURN TO LOGICAL NOIN1 LDA $EQ6,I REMOVE LINE AND RCVON OPEN BIT STA $EQ6,I LDA SEND NEXT STATE JMP NOIN2 SEND RTRNI EQU * CLA,INA RETURN TO DOS STA SAVA WITH NOT READY JMP TEST * * <:6 LSII EQU * LDA SEND LINE STATE STA $EQ5,I EQUALS SEND LSID EQU * CLA WRITE INTERRUPT ENTRY LSTD EQU * CLB,INB WRITE TIMER ENTRY JSB BSTAT TEST BOARD STATUS NOP LDID1 EQU * CLF 0 INHIBIT SYSTEM INTERRUPTS LDB $EQ1 WHILE IN LOGICAL DRIVER STB EQTB EQT BASE LDB $EQ5,I LINE STATE JSB EQT23,I CALL LOGICAL WRITE JSB DONE COMPLETE STA EQT35,I STB EQT36,I TEMP STORAGE FOR LOGICAL TIMER RAL,SLA IS IT READ JMP LSID2 YES RAR NO JSB DRCTV CHECK FOR TIMER CLB STB EQT36,I LDA EQT25,I STATUS WORD SSA DEVICE INTERRUPT ON JMP TBRAK YES ALF,ALF BREAK RAL CONDITION SSA ON JMP LSID YES RAR,RAR BUFFER SLA HALF FULL V BOARD JMP *+3 YES CHANGES :W<  24307-18076 1605 S 0122 DVR74-ASYNC IF              H0101  SSA,RSS BUFFER FULL OCT 15, 1974 JMP SWRT1 NO/OUTPUT CHARACTER CLA RESET BUFFER CLB,INB HALF FULL JSB BSTAT NOP LSID2 LDA PRCV1 WAIT UNTIL STA $EQ5,I BUFFER EMPTY JMP TEST * * LSIE EQU * LDA EQT25,I STATUS WORD SSA DEVICE INTERRUPT ON JMP TBRAK YES ALF,ALF RAL BREAK CONDITION SSA ON JMP LSID YES SLA,RSS BUFFER EMPTY JMP TEST CLA RESET BUFFER CLB,INB EMPTY JSB BSTAT NOP LDA EQT35,I CHECK FOR DIRECTIVE LDB EQT36,I AND TIMER JSB DRCTV DIRECTIVE LDA SEND NO DIRECTIVE STA $EQ5,I OUTPUT WORD JSB SWRIT * LSIK EQU * CLA AUTO SPEED INTERRUPT LSTB EQU * CLB JSB BSTAT PROCESS BOARD STATUS NOP CLF 0 INHIBIT INTERRUPTS LDB $EQ1 SET EQT STB EQTB BASE LDB $EQ5,I GOOD-INDICATE CONTINUE JSB EQT24,I CALL LOGICAL CONTROL JMP LSIK1 COMPLETE JSB DRCTV CHECK DIRECTIVES JMP TEST LSIK1 EQU * LDA IDLE LINE STATE STA $EQ5,I EQUALS IDLE JSB DONE * LSIF EQU * LDA EQT25,I STATUS WORD ALF,ALF BUFFER SSA,RSS EMPTY ON JMP TEST NO LDA $EQ15,I AND RCVON RESET TX BIT STA $EQ15,I TO COMPLETE JSB DONE * * LSIG EQU * CLA W RECEIVE INTERRUPT LSTC EQU * CCB JSB BSTAT CHECK STATUS JMP TRBRK LINE ERROR SSA TIMEOUT JMP TRBRK TIMER REQUEST JMP STATB NO LSIG1 EQU * CLF 0 INHIBIT SYSTEM INTERRUPTS LDB $EQ1 WHILE IN LOGICAL DRIVER STB EQTB EQT BASE LDB $EQ5,I CALL LOGICAL JSB EQT22,I READ ENTRY JSB DONE COMPLETE STATA JSB DRCTV CHECK DIRECTIVE JSB STAT GET DATA & STATUS STATB LDA FRED DATA WORD SSA,RSS VALID DATA JMP TEST NO RAL MOVE SPECIAL CHAR BIT SSA,RSS SPECIAL CHARACTER JMP SETBT NO/ TURN ON 12 MOVEB RAR RIGHT POSITION AND RB1T$ MASK OFF BITS JMP LSIG1 PASS TO LOGICAL SETBT IOR B12$ SPECIAL BIT ON JMP MOVEB TEST EQU * ISZ C.74 CONTINUE JSB RTRN RETURN * LSIH EQU * CLF 0 LDA EQT25,I STATUS WORD SSA,RSS DEVICE INTERRUPT JMP RTRNI NO AND S$CC DATA SET READY ON SZA,RSS YES JMP LSIG NO/TELL LOGICAL LDA EQT25,I STATUS WORD AND P02$ CARRIER DOWN YET? SZA,RSS JMP C2E YES JMP TEST NO/WAIT FOR CARRIER DOWN * TBRAK EQU * JSB CLC INHIBIT INTERRUPTS LDB EQT19,I SECONDARY RBL CHANNEL SSB,RSS ON JMP SET10 NO AND P09$ SBB & DSR CPA P08$ DSR ON JMP *+2 YES JMP SET10 NO/LINE ERROR LDA $EQ6,I RX STATUS WORD ALF,ALF BREAK TEST RAR,SLA BIT ON JMP TEST YES LDA $EQ6,I NO/SET BREAK BIT IOR B09$ FIRST TIME STA $EQ6,I THROUGH CLA TELL IOR B12$ LOGICAL JMP LDID1 * SET10 EQU * LDA $EQ15,I TRANS CONTROL WORD ALF LINE RAL ERROR SSA PREVIOUS JMP *+5 YES LDA $EQ15,I NO/SET IOR B109$ LINE ERROR & DONE STA $EQ15,I BIT JMP LSID TELL LOGICAL JMP TEST * TRBRK EQU * SSA TIMING REQUEST JMP TLOG YES LDA $EQ15,I LINE ERROR ALF DETECTED RAL PREVIOUSLY SSA JMP TLOG YES LDA $EQ15,I NO IOR B109$ SET LINE ERROR STA $EQ15,I AND DONE BIT TLOG JSB CLC INHIBIT BOARD INTERRUPTS LDA SOMEW GET ERROR BIT JMP LSIG1 TELL LOGICAL * DONE EQU * NOP LDA $EQ6,I REMOVE AND DUNBT BREAK STA $EQ6,I BIT LDA $EQ15,I TX CONTROL WORD ALF BIT 10 ON RAL SSA YES JMP DONE3 LINE ERROR LDA $EQ15,I SET BIT 9 IOR B09$ DONE BIT STA $EQ15,I ALF WE SSA ARE JMP DONE1 TRANSMITTING DONE2 EQU * LDA $EQ15,I TX CONTROL WORD AND ERRBT REMOVE BIT 10 STA $EQ15,I JSB CLC INHIBIT INTERRUPTS JSB DQT DEQUE TIMERS LDA IDLE RETURN ENTRY POINT STA $EQ5,I POINT JSB RTRN DONE3 EQU * JSB STC FORCE FINAL INTERRUPT JSB STF FOR LINE ERROR T/O LDA $EQ15,I AND ERRBT REMOVE ERROR BIT 10 STA $EQ15,I JSB DQT DEQUE TIMERS LDA IDLE RETURN ENTRY STA $EQ5,I POINT JMP TEST * *  DONE1 EQU * LDA PRCV2 RETURN STA $EQ5,I ENTRY POINT LDA $EQ15,I REMOVE AND DUNBT COMPLETE STA $EQ15,I BIT JMP TEST * SAVE EQU * NOP CLA,INA STA RTX INDICATE INTERRUPT LDA SAVE ADA N03$ CALCULATE LDA A,I RETURN ADDRESS STA EXIT JMP SAVE,I * INTON EQU * NOP LDB N01$ INTERRUPT STB IFLAG SYSTEM CLB ON SFC 0 STORE STB IFLAG ZERO JMP INTON,I ***************************************************** * * * COMMON RETURN * * * ***************************************************** * RTRN EQU * NOP LDA $EQ15,I COMPLETE ALF,ALF BIT RAR ON SLA,RSS DISABLE BOARD INTERRUPTS JSB STC ENABLE INTERRUPTS LDA RTX DETERMINE SZA,RSS RETURN TYPE JMP RTRN1 I.74 SLA,RSS JMP RTRN0 LOGICAL TIMER RTRN2 EQU * LDB $EQ14,I GET XMISSION LOG LDA SAVA LOAD RTN CODE ISZ IFLAG INT SYSTEM ON? STF 0 ENABLE INTERRUPTS JMP C.74,I * RTRN1 EQU * LDA SAVA LOAD RTN CODE ISZ IFLAG INT SYSTEM ON? STF 0 ENABLE INTERRUPTS JMP I.74,I RTRN0 ISZ IFLAG INT SYSTEM ON? STF 0 JMP LTIM,I *  ***************************************************** * * * DEQUEUE TIMERS * * * ***************************************************** DQT EQU * NOP LDA $EQ16,I LOGICAL TIMER SSA,RSS IN PROGRESS JMP DQT1 NO ELA,CLE,ERA YES STA $EQ16,I CLEAR FLAG CLA LDB EQT31 ADB N01$ JSB $TIME CANCEL REQUEST DQT1 EQU * JMP DQT,I * ***************************************************** * BOARD STATUS CHECK * * B=-1 READ, 0 CONTROL, +1 WRITE * * P+1 BAD STATUS, P+2 GOOD STATUS * * * ***************************************************** BSTAT EQU * NOP STA COMP CLEAR COMPOSITE STATS ADB STATX LDA EQT19,I FULL DUX SYSTEM SSA ADB P06$ YES/NEW TABLE AND S$SBB ISOLATE SEC CHANNEL RAL,RAL XOR P01$ IF NOT SET FAKE IT IOR EQT25,I AND B,I CPA B,I CHECK STATUS JMP BST1 OK LDA P04$ BAD ADA COMP UPDATE STA COMP INDICATE LINE ERROR BST3 EQU * LDA EQT25,I AND DEVBT IOR B13$ JSB OTA ADB P03$ GET MASK LDA EQT25,I AND M40$ SZA,RSS DATA ERROR JMP *+3 NO ISZ COMP ISZ COMP LDA EQT25,I AND BREAK BREAK ON SZA,RSS YES JMP *+2 NO ISZ COMP LDA COMP GET COMPOSITE STATUS AND B,I SAVE SELECTED BITS ALF,ALF POSITION ALF FOR STA B LOGICAL LDA FRED AND RBYT$ IOR B FORM COMPOSITE STA SOMEW STORE COMPOSITE LDA CLR JSB OTA REGRP EQU * LDA SOMEW JMP BSTAT,I * BST1 EQU * ISZ BSTAT RETURN +2 JMP BST3 * * STATX DEF *+2 RSTAT OCT 12 -1-READ VALUE OCT 12 0-CONTROL VALUE OCT 31 +1-WRITE VALUE OCT 16 READ VALUE(TIMEOUT,LINE & DATA ERROR) OCT 16 CONTOL(TIMEOUT,LINE & DATA ER) OCT 15 WRITE(TIMEOUT,LINE ERROR,BREAK) FSTAT OCT 10 -1-READ OCT 10 0-CONTROL OCT 30 +1-WRITE OCT 16 READ OCT 16 CONTROL OCT 15 WRITE ***************************************************** * * CONFIGURE BOARD FOR RECEIVE * ***************************************************** RCVI EQU * NOP LDA $EQ6,I RESET IOR B15$ INTERFACE JSB FDON FULL DUX STSTEM IOR M40$ SBA ON JSB OTA LDA DEVR RESET ENABLE JSB OTA WORD LDA CLR RESET JSB OTA STATUS LDA EQT34,I OUTPUT CHARACTER JSB OTA FRAME CONTROL JMP RCVI,I ****************************************************B* * * * CONFIGURE BOARD FOR SEND * * * ***************************************************** SNDI EQU * NOP LDA $EQ15,I RESET IOR B15$ INTERFACE JSB OTA LDA DEVST RESET ENABLE JSB OTA WORD LDA CLR RESET JSB OTA STATUS LDA EQT34,I CHARACTER FRAME CONTROL AND ECHO ECHO BIT OFF JSB OTA LDA EQT19,I SECONDARY CHANNEL RAL BIT SSA,RSS ON JMP SNDI,I NO LDA P01$ YES IOR B13$ OUT PUT SBB JSB OTA BIT EQUALS ONE JMP SNDI,I NOP FDON EQU * NOP LDB EQT19,I IS IT FULL DUX SSB NO IOR M200$ KEEP CA ON JMP FDON,I * ***************************************************** OTA EQU * NOP O1 OTA SC JMP OTA,I * ***************************************************** STC EQU * NOP O2 STC SC JMP STC,I * ***************************************************** CLC EQU * NOP O3 CLC SC JMP CLC,I * ***************************************************** STAT EQU * NOP O3A CLC SC O4 LIA SC,C STA EQT25,I O2A STC SC O4A LIA SC STA FRED JMP STAT,I * v **************************************************** STF EQU * NOP O5 STF SC JMP STF,I * ***************************************************** * SETIO EQU * * * ***************************************************** NOP CPA LAST ALREADY CONFIGURED JMP SETIO,I YES STA LAST NO ADA CLCO FORM CLC INSTRUCTION STA O3 STA O3A ADA N4K FORM STC INSTRUCTION ADA B09$ STA O2 STA O2A ADA N64$ FORM OTA INSTRUCTION XOR B09$ STA O1 ADA N64$ FORM LIA INSTRUCTION STA O4 STA O4A LDA LAST ADA STFO FORM STF INSTRUCTION STA O5 JMP SETIO,I TBL0 DEF *+1 OCT 0 EXTERNAL CLOCK OCT 3 110 BAUD OCT 4 134.5 BAUD OCT 5 150 BAUD JSB BAUDB 220.BAUD OCT 6 300 BAUD JSB BAUDB 440 BAUD OCT 7 600 BAUD JSB BAUDB OCT 11 1200 BAUD JSB BAUDB 1760 BAUDX OCT 13 2400 BAUD OCT 14 3600 BAUD OCT 15 4800 BAUD OCT 16 7200 BAUD OCT 17 9600 BAUD BAUDB ISZ SAVA JSB RTRN ***************************************************** * * * EQT LINKAGE TABLE * * * ***************************************************** EQT19 NOP BOARD PARAMETERS EQT20 NOP CHAR FRAME CONTROL EQT21 NOP EQT22 NOP LREAD EQT23 NOP LWRIT EQT24 NOP LCNTL EQT25 NOP I/F BOARD STATUS EQT27 NOP DVR74 TIMER PROCESSOR EQT31 NOP LOGICAL TIMER PROCESSR EQT34 NOP COUNTER FOR NULL O/P EQT35 NOP FIRST CHARACTER O/P EQT36 NOP TIMER STORAGE * * BASE PAGE CONSTANTS * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 N05$ EQU #-5 N06$ EQU #-6 N07$ EQU #-7 N08$ EQU #-8 N09$ EQU #-9 N10$ EQU #-10 N64$ EQU #-11 P00$ EQU # P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P10$ EQU #+10 P17$ EQU #+11 P64$ EQU #+12 M17$ EQU #+13 M37$ EQU #+14 M77$ EQU #+15 M177$ EQU #+16 RBYT$ EQU #+17 OCT377 LBYT$ EQU #+18 OCT177400 M3777 EQU #+19 OCT 3777 M1777 EQU #+120 OCT177700 * BASE PAGE VARIABLES ## EQU 202B $EQ1 EQU ##+1 $EQ3 EQU ##+3 UNIT SELECT CODE $EQ4 EQU ##+4 STATUS $EQ5 EQU ##+5 LINE STATE $EQ6 EQU ##+6 RX CONTROL WORD $EQ9 EQU ##+9 CURRENT I/O REQUEST $EQ10 EQU ##+10 PARAMETER 1 $EQ11 EQU ##+11 PARAMETER 2 $EQ14 EQU ##+14 TRANSMISSION LOG $EQ15 EQU ##+15 TX CONTROL WORD $EQ16 EQU ##+16 TIMER FLAGS $EQ17 EQU ##+17 EXTENSION LINK AOPEN EQU P02$ AWAITING OPEN ARING EQU P01$ AWAITING RING AUTOS EQU P10$ B09$ OCT 1000 B10$ OCT 2000 B109$ OCT 3000 B11$ OCT 4000 B12$ OCT 10000 B13$ OCT 20000 B14$ OCT 40000 B15$ OCT 100000 BREAK OCT 100 CDOFF OCT 177677 CLCO CLC 0 CLOSE EQU P00$ CLOSED CLR OCT 50077 COMP K<:6NOP DEVR OCT 10012 DEVBT OCT 37 DEVST OCT 10033 DUNBT OCT 176777 ECHO OCT 177757 EQTB EQU 300B ERRBT OCT 171777 EXIT NOP FRED NOP DATA CHARACTER IDLE EQU P03$ IDLE IFLAG NOP INCD OCT 103 LAST NOP MPTFL EQU 271B MEMORY PROTECT FLAG M20$ OCT 20 M40$ OCT 40 M60$ OCT 60 M100$ OCT 100 M200$ OCT 200 M400$ OCT 400 M700$ OCT 700 N4K OCT 174000 PRCV1 EQU P06$ PRE TO RCV#1 PRCV2 EQU P07$ PRE TO RCV#2 PRCV3 EQU P08$ PRE TO RCV#3 PSND EQU P04$ PREPARE TO SEND RB1T$ OCT 4377 RCVON OCT 173777 RECV EQU P09$ RECEIVE RHOLD NOP RTX NOP SAVA NOP SCODE NOP SEND EQU P05$ SEND SOMEW NOP SPEC OCT 60400 STFO STF 0 SWORD NOP S$SBB EQU B14$ SECONDARY RECEIVE S$CC EQU P08$ DATA SET READY S$CE EQU P02$ RINGING TBT1 NOP TCONT OCT -400 TCON1 NOP END N<  24308-80001 1432 S 0122 01DOS III RELOCATING LOADER             H0101  ASMB̬جìNҬB HDDS-ɠANGADҠ(ADҩ3ϸBANUAY9 NAMADҬ30 Ԡ NԠAD SUP HŠDSàPANGSYSMANGADҠSUSD AŠBNAYPGAMSϠABSUŠDŠHAԠAŠϠBŠUNN HŠUSҠAAƠHŠSYSM.HŠAABŠBNAYMAYM MHŠD..S.ASSMBҬANANDҠAG.HSŠBNAY PGAMSMAYBŠADDMBNAYAPSBBNAYŠҠUS SPD(S. PGAMSANBŠMADŠϠBŠMADŠUPƠA-MAN-PGAMH HUԠPGAMSGMNS.PGAMSANBŠMADŠϠUNUND N̠Ơ-DBUG-UN.USDANAABŠBNAY BAYUNSAŠAUMAAYAPPNDDϠHŠNDƠH PGAMS.ASHPYƠ-DBUG-SHA̠BŠAPPNDDϠAH SGMNԠBYHŠADҠƠHŠDBUGPNSSD.ϠNSU HAԠHŠSGMNԬAS̠AS-MAN-UNSUNDҠN̠ -DBUG- HŠABSUŠDŠSPADNHŠDSàMMDAYNG HŠNDƠHŠASԠUSҠ.HŠABSUŠDŠANNԠD HŠUSҠAAŠSZ.HŠBASŠPAGŠNKAGSƠANYA UDAŠPADNHSŠSSƠDSàAKHH HŠ-MAN-Ҡ-SGMN-ҠHŠPGAM. HŠUSҠDYSUPDADҠAHPGAM-MAN- -SGMN-ANDHŠUSҠAABUNDAYVAUŠSUPDAD. HDDSàPANGSYSMANGAD HŠANGADҠPMSSVA̠ADNGPNSND VA :PGAD(̬MNϬP H ̠SSNDAYNPUԠDVŠGA̠UN.Ơ NԠSPDHNNPUԠMBNAANY. ƠHNMBNANDUSҠSNY ƠNԠ0ҠHNMBNUSҠSAND PAPҠAPŠMGA̠UNԠ MSSԠUPUԠDVŠGA̠UNԠNUMB.ƠN ESPDHN6SASSUMD. NSNϠDBUGDBUGPN.0SASSUMMMDƠN SPD. ϠSUNԯBASŠPAG NKNGPN.0S ASSUMDƠNԠSPD. PSPGAMBUNDSPN.0S ASSUMDƠNԠSPD. HDDSàPANGSYSMANGAD HŠAABŠADҠUNNSASS: (.PSSNGƠN̠NPUԠSPDS(NUDS BBNAYŠANDSPDUSҠS (.PSSNGBNAYPGAMSNPUԠMHŠSNDAY NPUԠDV. (3.SAHAABŠBAYϠAMPԠϠSASY UNDNDNA̠NS. (.GNAŠABSUŠDŠNDSàҠMANANDSGMNS ANDUPDAŠUSҠDYANDUS-KAABUNDAY. ϠABSAŠGNADBYHŠANGADҠHN NUNNGNAMANDNԯԠDSƠHŠAABŠBNAY PGAMSNUSҠŬBBNAYSANDPGAMSNPUԠVA SNDAYNPUԠDV.HŠABSAŠ: (.DNԠABŠҠPGAMNAMŠNAMŠNS (.ADҠSYMB̠ABŠҠNԯԠNS DNԠABŠMA(D D:D-NAMŠ D:D-NAMŠ3 D3:D3-NAMŠ5USAGŠAG D:D-BԱ5SDSààAGMҠMMNNGH D5:D5-DSàADDSS D6:D6-(5MANSUBUNŠ(6-0YP D:D-DSàNGHUSҠMANDNԠADDҠҠSGMNS ADҠSYMB̠ABŠMA(Sԩ D:SԱ-NAMŠ D:SԲ-NAMŠ3 D3:S3-NAMŠ5DNA D:SԴ-DNԠADDSS D5:S5-BPNKADDSS PGAMYPSHAԠMAYBŠADD: 0:ADASUSҠMANAABŠBNAYPGAMS 3:USҠMANAABŠBNAY>PGAM :DVŠDVҠAABŠBNAYPGAMS 5:USҠSGMNԠAABŠBNAYPGAMS 6:AABŠANBAYPGAMS :AABŠUSҠBNAYUYPGAMS UPNMPNƠABŠGNANMSP(AND( ABVŬAHKSMADŠҠANYUNDNDNA̠NS. ƠHŠAŠANYHSŠMAYBŠNDMSNDAYNPU DVŠҠUSҠŬҠUSҠMAYSPYHAԠADNGSϠAK PAŠHUNDNDNAS. ASAHSMADŠNUSҠDYҠMANPGAM NAMŠANDSGMNԠNAMSϠBŠADD.ƠDUPAŠNAMSUҬ HŠADҠSABD.HŠABSUŠDŠҠMANSGNAD ANDPADNDS.HŠUSҠDYSUPDADHHŠN ŠNYANDHŠUSүKAABUNDAYVAUŠSUPDAD.H ABSUŠDŠҠUSDSGMNSAŠGNADANDŠNAM SNDNϠDY. ҠDAGNSS 0-HKSUM 0-GA̠D 03-MMYV 0-BASŠPAGŠNKAGŠV 05-SYMB̠ABŠV 06-MANҠSGMNԠNAMŠAADYNUSҠҠSYSDY 0-DUPAŠNYPNS 0-NϠANSҠADDSSPSN 09-DUԠƠSUN ̱0-UԠƠDYҠKDSàSPA ̱-PGAMDNԠV ̱-SPDŠNԠNUSҠDY ̱3-PGAMNAMŠDUPAN ̱-BASŠPAGŠNGHNN-Z ̱5-SGMNԠADDBŠMAN ̱6-PGAMVAY ̱-GA̠BAYD ̱-GA̠BASŠPAGŠBUND ̱9-GA̠MANPGAMBUND HDDS-ɠADҠ-NA̠PSSNG PSSPGPAAMS ADҠDABɠNPUԠUN SZA ҠM300SԠҠVAABŠBNAYNP SAPGMN NB DABɠSԠUPUԠUN SZASS MP+3]SSANDADUNԠ6 ҠM600SԠŠBS SASU NB DABɠNϠDBUGDBUGPN SADBG NB DABɠUNԯBASŠPAGŠNKPN SAP NB DABɠBUNDSNϠBUNDSSPAN PA. MPSBNDYS-SԠPGAMBUNDS DASMANϠ-SŠSYSMBUNDS SAUMAASDAU DASMA SAUMA DASBA SAUBA DASBA SAUBA SUPPSSSYSMSAHPN ADDASSGHKSYSMSAHAG PAASN MP0NϬSϠK SASAVSSSAVŠSSAG AAҠSSAGNBASŠPAG DBSS SBBPS SԠUPSԬDNԬBASŠPAGŠABS 0DAPGGԠNDBUNDƠAD SABPBU DAUBAAƠUSҠBASŠPAG SAB SAPB MANAAƠUSҠBASŠPAGŠBUҠ SABP ADAUBAƠUSҠBASŠPAGŠAVAABŠ+ SABPƠBASŠPAGŠNKAGS ADABPBUƠSAԠƠBASŠPAGŠNKBUҽ SABPNDNDƠUSҠBASŠPAGŠBU NASԠADҠSYMB̠ABŠADDSS SABS SAPS DABPBU MANA ADAUBA SANBPBƠMNGBASŠPAGŠBUҠADDSS DAN6SԠPGAMDNԠABŠADDSS ADASMA SABDN SAPDN DABPAҠBASŠPAGŠNKAGŠBU MANA SADNԠSԠAҠUN DBBPBUƠSԠAҠBUҠADDSS A SABɠAҠAN NBNMNԠBUҠADDSS SZDNԠSKP-DNŠANG MP-3GϠAҠNԠAN VYHAԠHŠSSUNԠDSàAA SԠNA̠DSàPNS SBàUSԠKAKMS DƠ+5 DƠ. DƠDSKADSԠKAKADDSS DƠҠASԠKAKADDSS DƠMPSSAKADDSS DADSKADHKƠ3KAKSAVAAB MANA ADA SAB ADAN SSA MPDHA-NԠ3KAKS DA NA AƬA SADMMASԠGA̠KAK+ DADSKAD MANA ADAҠƠSAHAKSAVAAB ASDVDŠAANHA ADADSKAD AƬAƠAKADDSS SADSKSSSԠBNSAH AƬAƠGHԠUSY DBSYSSàMPAŠSYSSàϠUSҠS PBUDS MP+MPAŠSϠUSҠNԠNSYS DADSϠGԠASԠAKAVAAB ANDM3 NA MANAMAKŠNG SADSKM DAUDNSUSҠDSàNԠAVAABŠԯS SADSKABAKSҠADDSS NAZŠDNԠSԠABS PUԠàNYNS SBNSԠNAZŠS SBSؠSԠUNԠSԠADDSSS NP SBNDؠNAZŠPGAMDNԠS SBDؠSԠUNԠDNԠADDSSS NP DAAàPUԠàNϠS SASԱ DAA+ SASԲ DAA+ SAS3 A SASԴ SAS5 DAS SAPS HDDS-ɠADҠ-(PASSNPUԠAABS PSSBNAABŠS DABNSHKƠANYBBNAYPGAMS SZASS MPN̠N SADSKAD PABNàHKƠANYSD MPN̠N DABNàMPUŠSSUSDNUN ANDM3AK SAUN DABN AƬA ANDM3 NA SA BN0SBàHKƠNԠAKHDSBNAY SHDƠ+5DAA DƠ.6 DƠ.AKS DƠҠSANGAK DƠSԠAUA̠AK DASԠHKƠSANGAUA PA MPBN0YS-SϠBNAYAK SZASSZϠNDASNDƠDS MPBN30NϠMŠBNAYAKS SA SS BN0SZҠNMNԠAK DAUNԠUPDAŠUMUAVŠSҠ ADAS SAUN MPBN0GϠHKNԠAK BN30AADSYSMDS SAPN DA.ADSYSMDS SADS ANAYS SADҠSԠBNSAHAG SBSYMB̠SԠSԠANDDNԠMBNAA PSSUSҠAABŠS NPASԠDSàDNϠAD SAD DAPGMNHKƠUSҠSPAPҠAP SZASSϠBŠNPU MPN50NϬSϠGϠAD N̠DAPԠHKƠŠϠBŠNDM SZASSSYSMYP MPN0MAYB-SϠMAKŠUHҠHK DASYSYYS ҠM00SԠHϠB SAMP MPN0GϠUPUԠMSSAG N0DABAHMPAŠBAHANDSYSYDV PASYSY ҠM00SԠHϠB SAMP DABAHHKƠBAHSSYSYP PASYSY SSYS MPN05N N0SBàUPUԠMSSAG: DƠ+5-NҠŠNAM(SҠ DƠ. DƠ. DƠMS DƠ. N05SBàUSԠNPUԠMBAHҠSYS DƠ+5 DƠ.ADUS DƠMPN̠D DABDƠDAABDAABUҠADDSS DƠNHAAҠUN SZBSSSKP-NPUԠN MPN̠GϠϠADNԠN̠NPU MBNB SBNGPMSAVŠNGNPUԠUN DADA`B ŬA SAPMBUƠSԠNPUԠBUƠHAҠADD DADAABHKƠNPUԠS PASSH MPN50YS-SϠDN N0SBGPGԠNŠN̠PAAM SAMNSAVŠMNAҠAG PASSH MPN50 SBàHKƠŠNUSҠDY DƠ+ DƠ. DƠPBUƠADDSSƠŠNAM DƠUNԠƠSSN SADSKADSAVŠAKSҠADDҠƠ A SAD DAUN SZA MPN30 DAұPNԠUNDNDŠҠD SB DA.5PNԠUNDNDŠNAM DBDPB SBSYU MPABԠABԠAD N30SBPG̠HKƠPGAMSSPD SBSҠADUSҠDS SBSYMB̠NҠNԯ-PGAMDNS DAMNGԠMNANSYMB PASSHŠNDƠPAAMS? MPN50YS DANGPM SZASSNDƠSAMN? MPN̠YS-ADNԠSAMN MPN0GϠϠPSSNԠPAAM MSASàNҠŠNAM(SҠ SKP SYMB̠UNŠADSUSҠŠҠBNŠANDADDSHS PGAMSϠHŠPGAMSԠANDA̠NԯԠϠHŠS. HŠPNSSϠNҠA̠PGAMSMHŠGҠUS HSŠSPD.ASϠSBNAAAKADDSSSDMND HNSSNGAKBUNDASAHҠHANNMNNG. ANGSUN: PҠϠNNGS DSKADSANGAKSҠƠ UNԠSSN PNԠ0ƠA̠PGAMSNŠϠBŠADD NƠSPàPGAMSNŠϠBŠADD PSԠPGAMNAMSSԠƠPGAMSϠBŠADD (PNԠNԠZϩ DҠ0ƠUSҠ ƠBNAA SYMB̠NP D6ASYMB̠SԠUPUNADDSSҠBK SBSUPUN DADSKAD SADSKNMSԠNA̠NAMDүS SABKADSԠNA̠DSàADDSS SBBKNPUԠSԠBKƠD SYM0BAҠDSPGAM SB.PGUN SBHGԠDYP PA.NAMŠD? SSYS MP DAPNԠHKPGAMSSPDAG SZASSSKP-YS MPSYM50 MANA SADNԠSԠPGNPS DAPAD SAAMADSԠSAHADDSS SYM0DBUA̠"B"PNNG ADB.PGAMNAM DAAMADɠHKƠNAMŠNPSԠAB PAB SSNAMŠNAB MPSYM30NԠUNԠPGNAM SZAMAD NB DAAMAD PAB SSNAMŠ3NAB MPSYM30+NԠUNԠPGNAM SZAMAD NB DAB ANDM PAAMAD MPSYM50PGAMNPSԠAB MPSYM30+ SYM30SZAMADNҠPSԠADDSS SZAMADNҠPSԠADDSS SZAMADNҠPSԠADDSS SZDNԠNҠPGUN MPSYM0GϠYNԠPGAMNPS SYM0SBSKPSKPVҠSԠƠD SBH PA.5NDD? MPSYM5 MPSYM0N-SϠSKPVҠSԠƠD SYM50SBNAMPSSNAMD SYM0SBSKPSKPVҠSԠƠD SBH PA.NԠD? MPSYNԠPSSNYD PA.3DB̠D? MPSYDB̠YS-NDMA PA.ԠD? MPSYԠPSSA̠D PA.5NDD? SS MPҠGA̠DYP SBNDPSSNDD DA.PGGԠDS~NPG ADA.ADDMŠҠSԠƠND B(ҠDVDũ DV.MPUŠSSNPGAM SZBMDS NA SAS DADɠSŠAKSҠMANSG SZASS DASԠGԠUNԠPGSҠUN DBDҠADҠBAKADDN? SZBAD MANABAKAD-MPMNԠSS SAD SYM5SBSKPSKPSԠƠNDD MPSYM0PSSNԠPGAM SYDB̠SBDB̠PSSDB̠D MPSYM0 SYNԠASSN SYԠA SBN.ԠPSSNԯԠDS MPSYM0 SԠNPSSPGAM .PGNPDSPGAM SKP PSSABŠBNAYNPU N50DA.SԠҠSYSMDS SADS DADSKSSSԠSAHAAASDSàADDSS SADSKADҠUPUNGAABS DAPGMNHKƠANYNPUԠMSNDAY SZASSNPUԠDV MPDBN-GϠHKBAYPGAM ANDM PA. MPDBNϠPAPҠAPŠϠBŠADD ADNBNAYAABŠNPUԠMSNDAYDVŠAND SŠNPAKDMAԠNϠDS. NAMDSAŠNDNϠPGNAMŠNAMŠABŠANDNԯ AŠNDNϠADҠSYMB̠AB. N60A SAPGSԠADNGAG DAN SADNԠNAZŠDBUƠUN DBAABU SBUADNAZŠDBUƠPN SBBU̠AҠDBU ASԠҠSԠUPUԠBU SAABG SAS DAPDN SASDNԠƠHKSUM DAPSԠSAVŠNDƠSԠAB SASS DADSKAD SASDSK ADDA.0PNԠ-ADAP-NSYSY DBMSD SBSYU SBàSUSPNDPGAM DƠ+ DƠ. DAB SZA MPDBGϠϠHKƠADBAY ASԠԠAGϠGNŠ SAG DNSBàADNPUԠMNDAYNPUԠDV DƠ+5DVŠNϠBU DƠ. DƠPGMN DƠBU DƠ. ANDM0 ŬSZANDƠůAP? M0Ԡ0-YS(ŠNSUN SZSZBàNGH0? MPSҠYSSϠGϠPSSD DAGNϬSϠHKNDƠAP SZA MPDNGϠADNNԠD MPADUPUԠ-AD-ANDADND SҠASԠԠAGVAD SAG DBABU SBUA̠NAZŠBUƠPN DAN SANԠNAZŠBUƠUN SBHGԠDYPŬHKVADY SAMPSAVŠDYP DAUA̬ɠMPUŠHKSUM DBUA ADB. ADAB NB SZDN MP-3 DBUA̠MPUDAUA̠HKSUM? NB PAB SSYS- MPHKҠ-HKSUM DAMPSŠDYP DBPG PA.YPŠNAMD? MPNAMҠYS SZB MPNMҠDUԠƠSUN PA.YPŠNԠD? MPNҠYS PA.3YPŽDB̠D? MPDBҠYS PA.YPŠԠD? MPҠYS PA.5 MPND ҠDA0GA̠D MPAB NMҠDA09DUԠƠSUN MPAB HKҠDA0 SBҠUPUԠϱMSSAG DASDNԠSŠDNԠSԠABS SAPDNԠHҠNA̠SA ۇB@< DASS SAPS DASDSK SADSKAD SBSԠSԠSMUADND--AP MPN60YNNGPGAMAGAN SDSKNPSAVDDSàADDSS SSԠNPSAVDNDƠSԠAB SDNԠNPSAVDNDƠDNԠAB MSDDƠ+ ASà5ADAP SPà NAMҠSZBSS MPNMҠDUԠƠSUN B SBDSNԠAҠDSàSGMNԠUN SBNGAҠDSàSGMNԠUNԠAG SBPGSԠPGNԠADNG DADSKADSԠDSàADDSSƠNAMD 5B  24308-80002 1432 S 0122 02DOS III RELOCATING LOADER             H0101  SADSKNMҠDYNY. SBNAMPSSNAMD UҠSBDԠPAKDUPUԠϠDS MPDNGϠADNԠD SPà DBҠSBDB̠PSSDB̠D MPUҠUPUԠDB̠DϠDS SPà NҠASS ҠA SBN.ԠPSSNԯԠDS MPUҠUPUԠDϠDS SPà NDҠA SAPG SANG SBDԠŠNDDNDS SBNDPSSNDD MPDN SKP DԠPAKSHŠNNSƠBUƠNϠDBUƠANDDUMPS DBUƠHNԠNANSDSƠAABŠNPU. DԠNP DBABUƠGԠADDSSƠBU SBMP DABUƠGԠDNGH AƬA MANA SAN DDAMPɠGԠDMBUƠAND SAUADɠSԠDNϠDBU SZDN MPG SBDDUԠUPUԠƠBUҠU SS G̠SZUADNҠDBUƠADDSS SZMPNҠBUƠADDSS SZN MPDGϠMVŠNԠD DANGSԠNDAG SZASSSKPƠNDDAD MPMAKHKҠV DADNԠHKƠANYDAANBU PAN SS SBDDUԠUPUԠNDDϠDS DAD6ɠHKPGAMYKP ANDM PA.5 MPMAKUSҠSGMNԠ-SϠHKҠV DADSN SADɠSŠSҠUNԠNDN HKƠAABŠBNAYDSAVAABŠKAKSPA MAKDADMMAؠ+ PADSKADUN MPDHA-UԠƠKAKS MPDԬɠUN DMNP MPNP SKP UPDAŠSԬHKҠUNDNDԠ ADBAYUNSƠNSSAY DBDADBG SZASSNҠDBUƠNϠS MPNDBGNϠDBUGPN DADB̲HASDBUGBNNDNS? SZA MPNDBGYS-DϠNԠ-N SBNS SBS MP+ MP- DAHDŠSԠ-DBUG--NAMŠNϠSԠANDDN SASԱ DAHD+ SASԲ DAHD+ ANDM SAS3 AAҠBASŠPAGŠNKADDSS SASԴ SAS5 DAS SAPS SADB̲SԠҠDBUGAADYNS NDBGA SAN AD̠SBNS SBS MPD DAA PASԱ SS MPD DAA+ PASԲ SS MPD DAS3 ANDM PAA+ SS MPD A SASԴ DAGHKGԠNKҠà ANDϱ SAS5 DAS3 ANDM SAS3 MPAD+ DؠA SAS5 DAS3 ANDM SAS3 DASԴ SSA MP+3 SZA MPAD+ SZN A SASԴ MPAD+ D̠DAN SZASS MPMAN SBNSԠN.SԠNY SBSؠGԠNԠS MPMANNϠUNDNS:GϠAD DASԴɠHKƠUNDND PAN SSYS:SAHBAY MP-5YNԠS A SAN SADSN DA.SԠҠSYSMDS SADS SBBSADUSDBAYUNS DANԠGԠBUNSADD SZANNŬSϠDNŠADNGUNS MPD SBSؠSԠUNDNDNAS SSUNDNDԠUND MPMANNϠUNDNDԠUND GHKSBàSUSPNDAD DƠ+ sDƠ. DABɠHKƠ:GϬPN SZA MP NB DABɠHKƠNSPD SZASS MPN60GϠNPUԠMSNDAYDV ҠM300 SAPGMNSԠNPUԠGA̠UN MPN60GϠNPUԠMSNDAYDV ŠPA.HKƠMŠSϠBŠNPU MPƱ0YS PA.HKƠϠGNŠUNDNS MPMANYS MPGHKGԠ:GϠNPU Ʊ0SZP MPN BSSAHSANAABŠBAYҠND PGAMSNԠYԠSASDBYHҠAABŠBNAYNPUS. BSNP DABSSԠUNADDSSҠBK SBSUPUN A SAGN DADṢSԠ MANABAYUNS SAB DAM060SԠMAؠBAYSS SAUNԠϠ6000B DADSBSԠNA̠BAYAKS SABKADDSàADDSS SADSKNMSԠNA̠NAMDүS DSBBKNPUԠSԠBKƠAABS BSBHGԠDYP PA.HKƠNAMŠD SS MPBҠNVADBAYD SBNSԠHKƠUNDNSPSN SBS MPBK6 DASԴɠHKSԴҠ- PAN SSSKP--MŠUNDNSPSN MP-5SԠDND--YNԠS DAGNҠHKƠADNG SZAYS MPSKPGϠSKPSԠƠD SBNAMPSSNAMD SKPSBSKPSKPSԠƠD SBHGԠNԠDYP NNMPA.NԠD? MPNҠYS-SϠPSSNԠD PA.3DB̠D? MPDBҠYS-SϠPSSDB̠D PA.ԠD? MPҠYS-SϠPSSԠD PA'.5NDD? MPNDҠYS-SϠPSSNDD BҠDAұ MPAB ұASàBADBAY DBҠDAGNҠADNG? SZASS SBDB̠YS-PSSDB̠D MPSKPNϠ-SKPSԠƠD NҠASS ҠA SANGSԠNԯԠAG DAUA̬ɠGԠNSNNԯ ANDM3 MANA SAMNSԠSYMB̠UN DAGNҠGԠUYPGAMADNGAG SZASSNԠADNG MPPNؠPSSNԯԠD DANGGԠNԯԠAG SZASSSKP-N MPSKPGNҠԠD PNؠSBBUMPNMNԠ SBBUMPNAMŠADDSS NSYMBDAUA̬ɠGԠNAM SABU SBBUMP DAUA̬ SABU+ SBBUMP DAUA̬ SABU+ SBBUMP SBSANSANSԠҠNAM MPNزNAMŠNԠNS DAGNҠGԠUYADNGAG SZAADNG MPSANؠNԠADNG DANGGԠNԯԠAG SZASSPSSN MPN3SԠԠDNA DASԴɠGԠNԯԠҠSԠNY SZASSSKP-UNDND MPNNDGNŠUYNYPN NرDAD SASԴɠSԠSԴBAYN MPNNDSԠҠNDƠD NزDANGGԠNԯԠAG SZA MPNشPSSNYPN SBSSԠMAKŠSԠNY A SASԴɠSԠSԴϠUNDƠ A SAS5ɠAҠBPNKADDSSD N3DABU+ SAS3ɠSԠDNA̠NϠS NNDDANGGԠNԯԠAG SZA SBBUMP SZMNSKP-A̠SYMBSPSSD MPNSYMBPSSNԠSYMB MPSKPGϠϠNԠD NشDAGNҠGԠADNGuAG SZASKP-ADNG MPNNDGN-NԠNԠNS SBSSԠSԠNAMŠNϠS A SAS5ɠAҠBPNKADDSS MPNرNNUŠPSSNGNԠPN SANؠDASԴɠGԠNԯԠNYAG SSASSSKP-UNDND MPNNDGNŠDND DADSKNMSŠDSàADDSSϠSA SABKADƠNAMD A SAGN MPDGϠϠADUYPGAM NDҠDAGNҠGԠBAYADNGAG SZASKP-ADNG MPMŠSKPVҠNDD SBUPNAMUPDAŠNAMDƠNSSAY ASԠU̠ADNGAGGN SAGN SZNԠNMNԠU̠PGADDG MŠSBSKPSKPVҠNDD SBNSԠNAZŠS DSBSؠSԠSԠADDSSS MPNDSԠҠDN DAS3 ANDM SAS3 MPDGϠAҠN NDSZBPSSDA̠BUNS? MPBN-GԠNԠN MPBK6YS-UN BNP SANSAHSҠANNYNSԠNDNA ϠNAMŠNBU. UN: (N+-NDƠS (N+-NAMŠUNDNS.UN'SԠADDSSS PNԠϠHSNY SANNP SBNSԠNAZŠS NؠSBSؠSԠSԠADDSSS MPSANɠNDƠSԠUN DABUƠHKƠNAMŠSAM? PASԱ SSYS MPNؠN-YNԠNY DABU+HKƠNAMŠ3SAM? PASԲ SSYS MPNؠN-YNԠNY DAS3ɠHKƠNAMŠ5SAM ANDM SABU+3 DABU+ ANDM PABU+3 SSYS MPNؠN-YNԠNY SZSAN'qNҠԠADDSS MPSANɠ(N+UN SSԠSSUNԠNAMŠNϠS SSԠNP DABUƠSŠNAMŠNϠS SASԱ DABU+ SASԲ DABU+ ANDM SAS3 DAS SAPSԠSԠNנNDƠS MPSSԬɠUN HDNAMDPSS HSUNŠPSSSAABŠNAMDS. ԠSASSUMDHAԠ"H"HASBNADAND HASUNDADYPŠ.NADDNH BUҠPNҠSPNNGϠHŠNDDN HŠD. HŠVAABSMUSԠHAVŠP-DVAUS: DSؠ-""ҠSYSMDS "3"ҠUSҠDS DSKNM-DSàADDSSƠNAMD GH-DNGH(MHUNũ UNNS: .HKSϠSŠƠNAMŠSAADYNDN AB A.ƠSϬABSHҠ3. B.ƠNԬASANDNԠNYASS: D-HAASƠNAM D-HAAS3ƠNAM D3-HAAҠ5ƠNAM D-MMNNGH(BԠ5SԠ MUSҠDSé D5-DSàADDSS D6-PGAMYP D-Z .HKSϠSŠƠPGAMHASANYBASŠPAG AAD A.ƠSϬABSHҠ. B.ƠNԬUNSNMAY. NAMNP GԠNMANMNAMD SBBUMP SBBUMP DAUA̬ɠNAM. SANAMHAAS SBBUMP DAUA̬ɠNAM. SANAM3HAAS3 SBBUMP DAUA̬ɠNAM- ANDM SANAM5HAAҠ5 SBBUMP DAUA̬ SANP̠PGAMNGH SBBUMP DAUA̬ SANBP̠BASŠPAGŠNGH SBBUMP :DAUA̬ SAN̠MMNNGH SBBUMP DAUA̬ SANYPŠPGAMYP SAHҠDUPAŠDNԠNY SBND NDSBD MPNND DAGNҠGNŠHKƠDUPA SZASSNAMSƠADNGM MPNDBAY DANAM PAD SS MPND DANAM3 PAD SS MPND DBNAM5 DAD3 ANDM PAB SS MPND DAұ3DUPAŠPGAMNAM SB DA.5 DBD SBSYU MPABԠ-ҠAB AŠDNԠNY NNDDANAMNSԠPGAMNAM SAD DANAM3 SAD DANAM5 SAD3 ANSԠMMNNGH DBDS SB DAMSGN(BԠ5SԠƠMUSҠDSé ADAN SAD DADSKNMDSàADDSS SAD5ɠNAMD DBNP SSBSSSAVŬƠPGAMASMPD A SAH DANYPŠGԠPGAMYPŠMNAMD ANDM DBGHƠBSD(NAMNGH9 PBN9ŠPGAMYPŠ3 DA.3 SZASSƠPGAMYPŠ0 DA.3ŠPGAMYPŠ3 DBNP ADBN SZBSSƠA̠PGAMNGH0 DA.6ŠPGAMYPŠ6 SAD6ɠSԠNנPGAMYPŠNDN A SAD SAMAàNAZŠMAؠàҠDB DADNԠNMNԠDNԠABŠPN SAPDN DBNBP̠ANYBASŠPAGŠAAD? SZBSS MPNAMɠN-UN DAұYS-NԠADҠ MPABؠAB NAMNP NAM3NP NAM5NP NP̠NP NBP̠NP N̠NP NYPŠNP DSKNMNP HDDB̠DPSS HSUNŠPSSSAABŠDB̠DS. ԠSASSUMDHAԠ"H"HASBNADAND HASUNDADYPŠ3.NADDNH BUҠPNҠSPNNGϠHŠNDDN HŠD. NŠVAABŠMUSԠHAVŠAP-DVAU: MAà-MAؠANADDSSSNAY SԠϠZϠNHŠNAMD PSS UNN: ϠMPUŠHŠNGHƠHŠUNԠPGAM. HSVAUŠSSDN"H"USD UPDAŠHŠNAMDƠHŠPGAMBNG ADDASMPD. DB̠NP DAUA̬ɠSAVŠNGHƠUNԠD ANDM SAMP SBBUMP SBBUMP DBUA̬ɠGԠUNԠANADDSS DAMAàSԠGAҠHANUNԠMA MANAANADDSS? ADAB SSA MPDB̬ɠN-SKP DAMPYS-MPUŠNנPGAM ADABNGH SAH SBMAàSԠNנMAؠàADD MPDB̬ HDNԯԠDPSS HSUNŠPSSSAABŠNԠ DS.ԠSASSUMDHAԠ"H"HASBN ADANDHASUNDDYPŠҠ.N ADDNHŠBUҠPNҠSPNNGϠH SNDDNHŠBU. P-DVAUS: "A"GSҠ-ϠƠԠD -ƠNԠD UNNS: .HKSϠSŠƠNԯԠNAMSAŠNS A.YSN:ƠSԴϬҠ(DUPNԩ ƠSԴϬSԠSԴϠD ƠSԴ<ϬҠ5(SG BŠMANƠMAN HSŠSԠSԴ D :ƠMANVNNUŠPSS ƠSGMNԠSԴ<ϬN. ƠSGMNԠSԴϬNDD NYƠNԠNAM.ƠMAN SԠDϠDƠDNNG PGAM. B.NϻN:PUԠNSԬSԠSԴϠD :PUԠNSԬSԠSԴϠ0 ƠNԠSGMNԻϠMP- MNԠƠDƠSGMN N.ԠNP SANGSAVŠNԯԠAG DAUA̬ɠSԠUNҠϠ-NAMS ANDM3ND MANA SAN SBBUMPBUMPBUҠPNҠϠSAԠ SBBUMPSYMB̠NAM SAVNMDAUA̬ɠSAVŠSYMB̠NAMŠNBU SABU SBBUMP DAUA̬ SABU+ SBBUMP DAUA̬ ANDM SABU+ SBBUMPPSNPNҠϠNԠNAM SBNSԠSAHSԠҠNAM NԠSBS MPNNԠ-NԠUND DABU PASԱ SS MPN DABU+ PASԲ SS MPN DAS3 ANDM PABU+ SS MPN NAMŠUNDNS DANGNԠҠ? SZASS MPԱԠPSSNG DASԴɠDADDSSAADYASSGND? SZASS MPSDAN-SԠDADDSS SSASS MPDUPYS-DUPNYPNԠ DAD6 ANDM PA.3 SS MPSDA DAұ5 MPAB DUPDA0DUPAŠNYPNԠ SB DA.5UPUԠNAMŬHNAB DBSԱ SBSYU MPAB SDADADSԠADDSSƠDNYN SASԴɠSԴ MPNԱ NAMŠNԠUNDNS NNԠDABUƠPUԠSYMB̠NAMŠNS SASԱ DABU+ SASԲ DABU+ SAS3 AAҠBPNKNS SAS5 DASԠNMNԠSԠPN SAPS DANGSԠSԴADNGϠD SZAYP: MPSDAƠNԬSԴD DAD6ɠƠԬSԴ-DƠSGMN ANDM0ƠMAN DBD PA.5 MBSS B SBSԴ ԱDAD6ɠUHҠPSSNGNSSAY ANDMPGAMNANNGԠSA PA.5SGMN SS MPNԱHS.NϠHŠN DADSAVŠDADDSSƠSGMN SAMAN DASԴɠHASSPNDNGNYBN SZADND? SSA MPNԱN-SKP SADNԠYS-SԠϠGԠD'SҠPG SBDؠDNNGN MPҠ(SHUDNDԩ DAD6ɠSPGAMNANNGNYPN SSASSASUBUN? MPNMNYS-SԠҠNԠMAN ANDMNϠ-SԠAMAN? PA.3 BSSYSMP-ҠMAN NMNB SBMP DAMANSŠDNԠNYƠPGAM SADNԠNANNG. SBD MP SZMPASPGAMNANNGNԠAMAN? MPNԱN-GԠNԠSYMB DASԴɠYS-SԠDADDSSƠMAN SADɠNϠDƠSGMN NԱDANGƠNԬBUMPPNҠPAS SZAAABŠADDSS SBBUMP SZNԠDNŠHA̠SYMBSND? MPSAVNMN-PSSNԠNAM MPN.ԬɠYS-UN HDNDDPSS HSUNŠPSSSAABŠNDDS. ԠSASSUMDHAԠ"H"HASBNOB@CAD SBDנSSUŠADHUԠAԠҠBUA SBN̠SԠҠBAԠҠAUSԠB MPNNAM DUNPDSàGA̠UNԠ àԠ0000HUԠA MNDNP ABGNPABBUҠAG SPà3 DSKADHUԠA DנNP DAAABUƠƠABG0SԠҠNPU DBABGNϠABUƠHNS SZBABG0. DAABBUƠƠABG0SԠҠNPU SABUƠNϠBBUƬHNS SZBABG0. A SAABG SB DƠ+ DƠN DƠMND BUƠNPSԠMABG DƠ. DƠ DƠS MPD׬ AABUƠDƠABU ABBUƠDƠBBU ABUƠBSS BBUƠBSS SPà3 NPUԠAABŠD N̠NP DADSKDNMNԠDS SBNDAMPUŠNԠDSàADDSS SADSKDBAKNϠAKS SBGS SBA DABUƠNAZŠAABŠNPU SAUA̠BUҠPNS DAN SAN SZDSNԠNMNԠSҠAD SBDנNAŠNԠAD MPN̬ SPà3 AԠҠUNԠDSàANSҠϠMP AԠNP SB DƠ+5 DƠN3SAUSUS DƠDUGA̠UNԠSPDAԠNAM DƠSA DƠG SSAƠBUSY MPA+P MPAԬ N3Dà-3 SAԠNP GNP SPà3 GԠAKSҠMUNԠDSàADDSS GSNP SABSAVŠUNԠDSàADDSS ANDM3 SASԠSҠNנBS DAB AƬA ANDM3 SAҠAKNUPPҠBS MPGS SԠNPUNԠHDSàSҠ ҠNPUNԠDSàAK SPà3 NԠDSàADDSS NDANP SBDSKAADDSSNMAY DBDҠƠADNMNԬ SZBSSNנDSàADDSSS MPNDAɠN"A" SABƠBAKADNMNԬ ANDM3SԠHKϠS SZAƠNנAK MPNDAN-VAUŠNBSK BƬBƠYS-DMNԠBAK ADBNAKS BƬBƠAŠϠHGHBS NDADABUPDAŠN MPNDA SKP GNDGNASHŠDYNYҠHŠPGAMADD. GNDNP A SAPG DAMANSԠADDSSҠD SADN SBD MP DAD SBUDNAMŠϠDY DAD SBUDNAMŠ3ϠDY DAD6ɠGԠYP ANDM DBDVҠADNGDVS? PB. DA.YS-SԠϠYPŠ ҠM00SԠ-P-B SAB DAD3ɠNAMŠ5 ANDM ҠB SBUDNAMŠ5PYPŠϠDY DADSKMN SBUDMANDSàADDҠϠDY DAPP DBPYP PB.5 DABSPAD ADABSSDP SABU MANA ADAP ADA. ANDM600 AƬA A SABU+MANƠSS DAPB PB.5 DABSBAD SABU+נBAS MANA ADAB ADA. ANDM600 AƬA A ADABU+A̠ƠSS SBUDNUMBҠƠSSϠDY DABU SBUDנMANADDҠϠDY DAP SBUDHGHMANADDҠϠDY DABU+ SBUDנBASŠADDSSϠDY DAB SBUDHGHBASŠADDҠϠDY DBDVҠƠADNGɯϠDVSND PB..ؠAND.ؠNYPNS MPDVADҠDYNY DAPN SBUDPMAYNYADDSSϠD DAP SBUDASԠDADDSSϠDY DVNDBNԠHKƠBGNNNGƠNנS PBN MPGNDɠNנSҠBGUNUN DANԠHKƠMҠANH ADA.0DYNY SSA MPGNDɠMҠANHҠNYUN A SBUDSԠANHҠDYNYSG DBN SBMPSԠZϠUPUԠUN PBN MPGND A SBUDUPUԠZϠϠDҠBU SZMP MP-3UPUԠANHҠZϠϠBU MPGNDɠUN BYNPSԠBҠPGADADDSS DVADSAHSHŠSԠҠHŠ.ؠ. NYPNSҠHŠɯϠDVҠBNG ADD. HSŠVAUSAŠHNSDN DS0ƠHŠDYNY DVADDADɠNDHŠؠNUMBҠM ANDMHŠDVؠNAM.S AƬAƠHŠASɠؠNMP. SAMP DAD3 AƬA ANDM ҠMP SAMP SBNSԠSAHS DVұSBS MPDVҲ DASԱ PADà.? MPP PADà.? SS MPDVұ SBDVSHKҠԠ SABYSԠ.ؠADDSS MPDVұ PSBDVSHKҠԠ SAPNԠSԠ.ؠADDSS MPDVұ DVҲDAPN SBUDUPUԠD0-. DABY SBUDUPUԠD-. MPDVN DVSNP DASԲɠؠMAH? PA=MP SS MPDVұN DAS3 ANDM PAUBNK5HAHҠBANK? SS MPDVұN DAS5ɠGԠBPNK ADABPԠMPUŠABSUŠADDSS ADABPBU DAA MPDVSɠUNHADDSSN"A" DàASà. DàASà. UDSSDYNSNDSGMNԠBU ANDSԠNDSàHNԠBMSU. UDNP SAUAɬɠSŠDNϠDBU SZUAɠNҠBUҠADD SZNԠNҠUN MPUDɠUN-NԠU SBSҠSԠUSҠDSàAGNBASŠPAG DADSKD DBABU SBDSKϠŠSҠƠDY DBABU SBUAɠSԠNנUNԠBUƠADD SBBU̠AҠBU DASNŠUNԠDSàADDSS SADSKD ANDM3 SZASSN MPDHAUԠƠDYSPA DAN SANԠSԠUNԠBUƠUN MPUDɠUN SKP ABDϠPUSUԠUNԠABSUŠDŠDҠHŠPGAM BNGADD. ƠDSNUNԠSҬԠSNSD. ƠDDSNԠԠNUNԠSҬHŠUNԠS SUPUԠANDHŠNנSҠADN. ADDNAYHŠAŠHKSҠMMYVנANDMMY VAP ANGSUN: DAMES DID NOT COMPARE LDB OPNTP POINTER TO LAST ENTRY ADB WPOTE BIAS TO NEXT ENTRY IN O.T. JMP CKNOE CHECK NEXT OPEN ENTRY OPNTP OCT 0 OPEN TABLE POINTER SKP SKP * CKCLM - CHECK CORE LIMITS * ENTER: * A = STARTING ADDRESS OF CORE TO BE CHECKED. * B = LENGTH (IN WORDS) OF BUFFER TO BE CHECKED. * EXIT: * B = SAME AS ENTRY * P+1 = INVALID BUFFER AREA. * P+2 = VALID BUFFER AREA. * A = STARTING ADDR. OF CORE TO BE CHECKED * OR EFFECTIVE ADDR. IF ORIGINAL WAS INDIRECT. * CKCLM NOP CHECK CORE LIMITS EFFA1 EQU * SZA,RSS ERROR IF 0 OR 1 JMP CKCLM,I 0, SO ERROR CPA D1 JMP CKCLM,I 1, SO ERROR RAL,CLE,SLA,ERA RSS JMP EFFAD VALID, EFFECTIVE ADDR. LDA A,I GET NEXT ADDR. IN INDIRECT CHAIN JMP EFFA1 AND PROCESS IT. EFFAD EQU * STA CORAD SAVE CORE ADDR. CMA ADA UMFWA USER MEMORY FWA SSA,RSS .GE. 1ST USER WORD? JMP CKCLM,I NO, RETURN LDA CORAD ADA B CALCULATE FINAL ADDR. CMA,INA ADA UMLWA USER MEM. LAST WORD ADDR. SSA TOO BIG? JMP CKCLM,I YES LDA VALSU VALID SETUP FLAG SZA,RSS VALID SETUP? JMP CKLMR NO, CHECK-LIMIT RETURN LDA CORAD STARTING ADDR. OF BUFFER CMA,INA ADA OPNTE END OF OPEN TABLE BUFFER SSA START .GT. END OF OPEN TABLE? JMP CKLMR YES, CHECK-LIMIT RETURN LDA CORAD STARTING ADDR. OF BUFFER ADA B NO OF WDS. IN BUFFER CMA,INA ADA OPNTB START OF OPEN TABLE SSA END .LE. START OF OPEN TABLE? JMP CKCLM,I NO, ERROR CKLMR EQU * CHECK-LIMIT RETURN LDA CORAD ISZ CKCLM VALID BUFFER AREA JMP CKCLM,I RETURN CORAD OCT 0 SKP * CMPAR - COMPARE FIqLE NAMES * ENTER: * A = ADDRESS OF FILE NAME REQUESTED. * B = ADDRESS OF FILE NAME TO BE COMPARED. * EXIT: * P+1 = NAMES DO NOT COMPARE * P+2 = NAMES COMPARE * CMPAR NOP COMPARE FILE NAMES STA AFLNM ADDR. OF FILE NAME LDA MD5 NUMBER OF CHARS TO COMPARE(-) STA CPRNC STORE COUNT CLE RESET 1ST/2ND FLAG COM2C EQU * LDA B,I PICK UP 2 CHAR. IN WORD REQ. SEZ,RSS LEFT CHAR? ALF,ALF YES, SHIFT INTO POSITION AND L8BT STRIP LOW 8 BITS STA COM1C SAVE TO COMPARE 1 CHAR. LDA AFLNM,I PICK UP 2 CHAR. IN WORD TO COMP. SEZ,RSS LEFT CHAR? ALF,ALF YES, SHIFT INTO POSITION AND L8BT STRIP LOW 8 BITS CPA COM1C ARE 2 CHAR'S. EQUAL RSS EQUAL SO FAR JMP CMPAR,I RETURN NAMES DO NOT COMPARE ISZ CPRNC FINISHED? JMP *+3 NO ISZ CMPAR P+2 JMP CMPAR,I RETURN SEZ,CME,RSS CHECK 2ND CHAR.? JMP COM2C YES ISZ AFLNM BUMP POINTER TO REQUESTED NAME INB BUMP POINTER TO NAME TO BE COMP. JMP COM2C-1 AFLNM OCT 0 ADDR. OF FILE NAME COM1C OCT 0 TEMP. FOR COMPARE 1 CHAR. CPRNC OCT -5 (-) NO. OF CHARS TO COMPARE SKP * ASDEC - ASCII TO DECIMAL CONVERSION * ENTER: * A = ASCII CHAR TO BE CONVERTED IN LO 8 BITS: * EXITS: * P+1 = NO. NOT BETWEEN 0 AND 9 INCLUSIVE * P+2 = VALID NUMBER * A = CONVERTED NUMBER * ASDEC NOP ASCII TO DEC. CONVERSION AND L8BT SAVE ONLY RIGHT CHAR. ADA MB60 BIAS TO NO. 0 SSA IS NO. .GE. TO ZERO? JMP ASDEC,I NO, ERROR ADA MD10 BIAS FOR NO. 9 SSA,RSS LESS THAN 10? JMP ASDEC,I NO, ERROR ADA D10 RESTORE NO. ISZ ASDEC P+2 JMP ASDEC,I RETURN SKP * T.STS - CONVERbR<:6T TRACK/SECTOR TO SECTORS * ENTER: * A = T/S TO BE CONVERTED * EXIT: * A = TOTAL SECTORS * B IS SAVED * T.STS NOP T/S TO SECTORS STA T.STM SAVE T/S TO BE CONVERTED STB T.STM+1 SAVE B FOR EXIT AND L8BT STRIP SECT. NO. STA T.STM+2 SAVE SECTOR NO. LDA T.STM T/S ALF,ALF PUT TK. NO. IN LO 8 BITS AND L8BT STRIP TK. NO. LDB SECTR JSB MPY CALC. TOTAL SECTORS/TRACK SZB OVERFLOW? JSB ER23 YES, INVALID ARGUEMENT ADA T.STM+2 ADD REMAINING SECTORS LDB T.STM+1 RESTORE B JMP T.STS,I RETURN T.STM OCT 0,0,0 TEMP. STORAGE SPC 1 * STT.S - SECTORS TO TRACK/SECTOR * ENTER: * A = TOTAL SECTORS TO BE CONVERTED <  24309-80004 1523 S 0122 DOS EFMP $EX30 (NON EAU)              H0101 -* EXIT: * A = TRACK/SECTOR * B IS SAVE * STT.S NOP SECT. TO T/S STB T.STM+1 SAVE B FOR EXIT CLB JSB DIV CALC. NO. TRKS. PLUS REMAINDER DEF SECTR SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR ALF,ALF SAVE NO. TRACKS IN HI 8 BITS ADA B INCLUDE NO. SECTORS LDB T.STM+1 RESTORE B JMP STT.S,I RETURN SKP * STZ - STORE ZEROS INTO A BUFFER (STSPC STORES SPACES) * ENTER: * A = (-) NO. OF WORDS TO CLEAR * B = STARTING ADDR. OF 1ST WORD * EXIT: * A = 0 * B = POINTER TO END-OF-BUFFER + 1 * STZ NOP STORE ZEROS STA STZX1 SAVE NO. WORDS TO MOVE,(-). CLA STA B,I PACK W/ ZEROS INB BUMP POINTER TO BUFFER ISZ STZX1 FINISHED? JMP *-3 NO JMP STZ,I RETURN STZX1 OCT 0 INDEX REG SKP * GRTXX - GENERAL READ FOR DISC TRACK X SECTOR X * ENTER: * A = TRACK/SECTOR * B = ADDRESS OF BUFFER * GNS = NO. OF SECTORS TO MOVE * GSC = SUB CH. * EXIT: * BUFFER TRANSFERRED FROM DISC * GRTXX NOP GENERAL READ TRACK X SECT. X STB GBUF SAVE BUFFER LOC. LDB REQCD READ REQUEST CODE JSB GRWSU GENERAL R/W SETUP JMP GRTXX,I RETURN SPC 1 GRWSU NOP GENERAL R/W SETUP STB REQC SAVE REQUEST CODE STA DRWBF PACK T/S * CHECK TO INSURE T/S DOES NOT OVERFLOW JSB T.STS ADA GNS CALC. LAST TK. TO BE ACCESSED CMA,INA STA DRWBF+2 SAVE TEMPORARILY LDA SECTR SECT./TK. LDB D200 JSB MPY CALC. ABSOLUTE SECTORS LDB GNS NO. SECT. TO TRANSFER CLE THIS IS A 16 BIT ARITHMETIC COMPARE ADA DRWBF+2 CALC. OVERFLOW IF ANY SEZ,RSS OVERFLOW? ADB A YES, TRANSFER UP TO MAX AVQAILABLE LDA D128 WORDS/SECT. JSB MPY CALC. NO. WDS. TO TRANSFER STA DRWBF+2 NO. WORDS TO TRANSFER LDB GSC SUB CH. TO BE USED JSB CKDRI CHECK DRIVE LDA ADRWB ADDR OF R/W BUFFER LDB REQC REQUEST CODE OCT 0 FOR DEBUGGING JSB $DISC OCT 0 FOR DEBUGGING JMP GRWSU,I RETURN ADRWB DEF DRWBF DRWBF EQU * DISC R/W BUFF. OCT 0 DISC T/S GBUF OCT 0 ADDR. OF I/O BUFF. OCT 0 WORD COUNT SPC 1 * CKDRI - CHECK DRIVE NO. * ENTER: * B = DESIRED SUB CH. * EXIT: * CUDSC PACKED * CRFLG SET IF NECESSARY * CUDLA SET IF NECESSARY CKDRI NOP CHECK DRIVE LDA CUDSC CURRENT SUB CH. OCT 0 FOR DEBUGGING STB CUDSC CUR. USER DISC SUB CH. CPB SYSSC SYSTEM SUB CH? RSS YES ISZ CRFLG SET DVR FLAG TO USER DISC ARS CALC. DRIVE NO. BRS CALC. DRIVE NO. CPA B SAME DRIVE? JMP *+3 YES LDA L8BT NO STA CUDLA FORCE LAST T/S TO BE MAX JMP CKDRI,I SPC 3 * GWTXX - GENERAL WRITE FOR DISC TRACK X SECTOR X * ENTER: * SAME AS GRTXX * EXIT: * SAME AS GRTXX * GWTXX NOP GENERAL WRITE TRACK X SECT. X STB GBUF SAVE BUFFER LOC. LDB REQCD+1 WRITE REQUEST CODE JSB GRWSU GENERAL R/W SETUP JMP GWTXX,I RETURN GSC OCT 0 SUB CH. FOR GENERAL R/W GNS OCT 0,0 NO. SECT, NO. WORDS TO XFER REQC OCT 0 REQUEST CODE SKP * RTXSX - READ TRACK X SECTOR X INTO $BUF. * ENTER: * TRKIO = TRACK NO. * SECIO = SECTOR NO. * EXIT: * TK X SEC X PUT INTO $BUF. * RTXSX NOP READ TK X SECT X LDB TRKIO GET TRACK NO. BLF,BLF PUT TK. NO. IN HI BITS STB DRWBF LDB REQCD READ RTSXX EQU * LDA SECIO GET SECTOR NO. IOR DRWBF PACK SECT. NO. STA DRWBF SAVE T/S LDA A$BUF ADDR. OF I/O BUFF. STA DRWBF+1 LDA D128 WORDS/SECT. STA DRWBF+2 LDA ADRWB ADDR. OF CALL BUFFER JSB $DISC CLA STA XFLG CLEAR INVALID SUB CH. FLAG RETURN JMP RTXSX,I RETURN A$BUF DEF $BUF REQCD EQU D1 SPC 3 * WTXSX - WRITE TRACK X SECTOR X FROM $BUF * ENTER: * TRKIO = TRACK NO. * SECIO = SECTOR NO. * EXIT: * TRACK X SECTOR X ON DISC FROM $BUF * WTXSX NOP WRITE TK. X SECT. X LDB TRKIO GET TRACK NUMBER BLF,BLF PUT TK. NO. IN HI 8 BITS STB DRWBF SAVE IT TEMP. LDB WTXSX STB RTXSX PACK RETURN ADDR. LDB REQCD+1 WRITE JMP RTSXX SKP *GETDE - GET DIRECTORY ENTRY * ENTER: * B = ADDR OF OPEN TABLE ENTRY * EXIT: * CNAME = ADDR OF DIRECTORY ENTRY * TRKIO = TRACK OF DIRECTORY SECTOR * SECIO = SECTOR OF DIRECTORY ENTRY * GETDE NOP STB ANAME SAVE ADDR OF NAME ADB D9 INCREMENT TO DIREC ENT T/S FIELD LDA B,I GET DIREC ENTRY T/S JSB PRETS PREPARE T/S FOR I/O LDB PAKSC GET SUBCHANNEL CLA READ SWITCH JSB PRWIO READ DIRECTORY SECTOR LDB A$BUF GET ADDR OF $BUF STB CNAME STORE IT NDIRE EQU * LDA ANAME GET ADDR OF FILE NAME JSB CMPAR EQUAL TO CURRENT ENTRY ? RSS NO JMP GETDE,I YES, RETURN LDB CNAME GET ADDR OF CURRENT ENTRY ADB D9 INCREMENT TO NEXT ENTRY STB CNAME STORE NEW ADDR JMP NDIRE CONTINUE CNAME BSS 1 ADDR OF ENTRY ANAME BSS 1 ADDR OF DESIRED FILE NAME SPC 3 * CNVDA - CONVERT DECIMAL TO ASCII * ENTER: * A = DECIMAL VALUE TO CONVERT(0-999) * B = ADDR OF ASCII OUTPUT * EXIT: * q FIRST 3 BYTES OF ADDR GIVEN IN B = ASCII VALUE CNVDA NOP STA DECVL SAVE DECIMAL VALUE STB ASCVL SAVE ADDR OF OUTPUT CLB CLEAR HI DIVIDEND JSB DIV DIVIDE BY 100 DEF D100 STB DECVL SAVE REMAINDER IOR AMASK CONVERT QUOTIENT TO ASCII(100'S) ALF,ALF STA ASCVL,I STORE 1ST ASCII CHARACTER(100'S) CLB CLEAR HI DIVIDEND LDA DECVL INIT LO DIVIDEND JSB DIV DIVIDE BY 10 DEF D10 STB DECVL SAVE REMAINDER IOR AMASK CONVERT QUOTIENT TO ASCII(10'S) XOR ASCVL,I STA ASCVL,I STORE 2ND ASCII CHARACTER(10'S) LDA DECVL GET REMAINDER(1'S) IOR AMASK CONVERT TO ASCII CHARACTER ALF,ALF LDB ASCVL ADB D1 STA B,I STORE 3RD ASCII CHARACTER(1'S) JMP CNVDA,I RETURN DECVL BSS 1 DECIMAL VALUE SAVE AREA ASCVL BSS 1 ADDR OF OUTPUT AREA AMASK OCT 60 MASK FOR CONVERSION SPC 3 * CNPND - CONVERT PACK NUMBER TO DECIMAL * ENTER: * A = ADDR OF 3RD CHAR OF PACK NAME * EXIT: * P+1 = NOT DECIMAL * P+2 = DECIMAL * A = DECIMAL PACK NO. * DPNO = DECIMAL PACK NO. * CNPND NOP STA PNADR SAVE ADDR OF PACK NO. LDA A,I GET FIRST CHAR ALF,ALF JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DPNO STORE RESULT LDA PNADR,I GET 2ND CHAR JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DECPN SAVE RESULT LDA DPNO CALCULATE INTERMEDIATE RESULT LDB D10 JSB MPY ADA DECPN STA DPNO SAVE INTERMEDIATE RESULT LDB PNADR GET 3RD CHAR ADB D1 LDA B,I ALF,ALF JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DECPN SAVE RESULT LDA DPNO CALCULATE FINAL RESULT LDB D1u0 JSB MPY ADA DECPN STA DPNO SAVE RESULT ISZ CNPND P+2 JMP CNPND,I RETURN PNADR BSS 1 ADDR OF PACK NO. DPNO BSS 1 DECIMAL TOTAL DECPN BSS 1 DECIMAL VALUE SPC 3 * CKSPC - CHECK FOR SUFFICIENT FILE SPACE * ENTER: * PNEAD = ADDR OF PACK NO. ENTRY * NOSEC = NO. SECTORS * EXIT: * P+1 = INSUFFICIENT SPACE * P+2 = SUFFICIENT SPACE * CKSPC NOP LDA PNEAD GET ADDR OF PACK NO. ENTRY ADA D3 INCREMENT TO LAST SECTOR ALLOCATED LDB A,I GET LAST SECTOR ALLOCATED CMB,INB COMPUTE TOTAL SECTORS UNUSED ADA MD2 ADB A,I STB SECLF SAVE COUNT OF UNUSED SECTORS LDA NOSEC GET NO. OF SECTORS NEEDED CMA,INA ADA SECLF SSA ENOUGH SECTORS AVAILABLE ? JMP CKSPC,I NO, RETURN P+1 ISZ CKSPC YES, P+2 JMP CKSPC,I RETURN SECLF BSS 1 NO. OF UNUSED SECTORS SPC 3 * STPNO - STORE PACK NO ENTRY OFFSET * ENTER: * A = ADDR OF OPEN TABLE ENTRY * PNEAD = ADDR OF PACK NO. ENTRY * EXIT: * PACK NO. OFFSET STORED IN OPEN TABLE ENTRY * STPNO NOP STA OTEAD SAVE OPEN TABLE ENTRY ADDR ADA D2 INCREMENT TO PACK NO. OFFSET FIELD LDA A,I GET PACK NO. OFFSET AND H8BT ZERO IT LDB OTEAD ADB D2 STA B,I STORE IT LDA OPNTB GET START OF OPEN TABLE CMA,INA ADA PNEAD GET START OF PACK NO. ENTRY CLB CALCULATE OFFSET JSB DIV DEF D4 LDB OTEAD GET OPEN TABLE ENTRY ADB D2 INCREMENT TO PACK NO. OFFSET FIELD XOR B,I STA B,I STORE PACK NO. OFFSET JMP STPNO,I RETURN OTEAD BSS 1 ADDR OF OPEN TABLE ENTRY SPC 3 * SFSTS - STORE FIRST T/S OF THE FILE * ENTER: * A = ADDR OF OPEN TABLE ENTRY(REL SECTOR OFFSET IN 4TH WORD) * > PNEAD = ADDR OF PACK NO. ENTRY * * EXIT: * STARTING T/S STORED IN OPEN TABLE ENTRY * SFSTS NOP STA OTEAD SAVE OPEN TABLE ENTRY ADDR LDA PNEAD,I GET STARTING T/S OF PCAK NO. JSB T.STS CONVERT TO SECTORS LDB OTEAD GET OPEN TABLE ENTRY ADDR ADB D3 INCREMENT TO SECTOR FIELD ADA B,I ADD REL SECTOR OFFSET ADA MD1 ADJUST TO STARTING REL SECTOR JSB STT.S CONVERT TO T/S STA B,I STORE STARTING T/S IN OPEN TABLE JMP SFSTS,I RETURN SPC 3 *PRETS - PREPARE TRACK/SECTOR *ENTER: * A = TRACK/SECTOR *EXIT: * TRKIO = TRACK NO. * SECIO = SECTOR NO. PRETS NOP STA TSTMP SAVE THE T/S ALF,ALF SHIFT TRACK NO. TO RIGHT MOST BYTE AND L8BT ZERO LEFT MOST BYTE STA TRKIO STORE TRACK NUMBER LDA TSTMP GET THE T/S AND L8BT ZERO LEFT MOST BYTE STA SECIO STORE SECTOR NUMBER JMP PRETS,I RETURN TSTMP OCT 0 TEMPORARY SPC 3 *PRWIO - PREPARE FOR READ/WRITE *ENTER: * A = 0(READ)/1(WRITE) * B = SUBCHANNEL NO. *EXIT: * TRK X SEC X ON DISC FROM $BUF PRWIO NOP STA RWSWH SAVE READ/WRITE SWITCH CPB SYSSC SYSTEM SUBCHANNEL RSS YES JSB CKDRI NO, CHECK THE DRIVE LDB RWSWH GET READ/WRITE SWITCH SZB READ ? JMP WXX NO JSB RTXSX YES, READ THE RECORD JMP PRWIO,I RETURN WXX EQU * JSB WTXSX WRITE THE RECORD JMP PRWIO,I RETURN RWSWH OCT 0 TEMPORARY SPC 3 * CKPNT - CHECK FOR AN AVAILABLE ENTRY OR AN EXISTING ENTRY * ENTER: * A = 0(CHECK FOR AN AVIALABLE ENTRY) * = 1(CHECK FOR AN EXISTING ENTRY) * B = PACK NO.(IGNORED IF A IS NOT 1) * EXIT: * P+1 = NO ENTRY AVAILABLE/NO ENTRY FOUND * P+2 = ENTRY FOUND/ENTRY AVAILABLE * $PNEAD = ADDR OF FOUND/AVAILABLE ENTRY * PAKSC = PACK SUBCHANNEL OF FOUND ENTRY * CKPNT NOP SZA CHECK FOR AN AVAILABLE ENTRY JMP CKEXE NO LDB NXPTL GET NEXT AVAILABLE ENTRY ADDR CPB FTRBE END OF PACK NO. ENTRIES ? JMP CKPNT,I YES, RETURN P+1 STB PNEAD NO, STORE NEXT ENTRY ADDR ISZ CKPNT P+2 JMP CKPNT,I RETURN CKEXE EQU * LDA OPNT1 GET START OF OPEN TABLE FILE ENTRY CKXPN EQU * CPA NXOTL END OF OPEN TABLE ACTIVE ENTRIES ? JMP CKPNT,I YES, RETURN P+1 ADA D10 INCREMENT TO PACK NO. CPB A,I EQUAL TO REQUESTED PACK NO. ? JMP PNFND YES ADA D6 INCREMENT TO NEXT ENTRY JMP CKXPN CONTINUE SEARCH PNFND EQU * ADA D2 INCREMENT TO SUBCHANNEL FIELD LDB A,I GET SUBCHANNEL STB PAKSC STORE PACK SUBCHANNEL ADA MD10 BACK UP TO PACK NO. ENTRY NO. FIELD LDB A,I GET PACK NO. ENTRY NO. LDA B TRANSFER TO 'A' FOR 'AND' AND L8BT CLEAR MEANINGLESS BITS LDB D4 JSB MPY CALC. OFFSET ADA OPNTB CALCULATE ENTRY ADDR STA PNEAD STORE PACK NO ENTRY ADDRESS ISZ CKPNT P+2 JMP CKPNT,I RETURN PNEAD BSS 1 PACK NO. ENTRY ADDR SPC 3 * MVPNT - MOVE PACK NO. TABLE * ENTER: * A = OFFSET IN LO 8 BITS OF PACK NO. ENTRY * WHICH HAS HAD AN OPEN TABLE FILE ENTRY DELETED * EXIT: * UPDATED PACK NO. TABLE(IF NEEDED) * MVPNT NOP AND L8BT CLEAR LEFT BYTE STA OFFST SAVE PACK NO. OFFSET LDB OPNT1 GET FIRST OPEN TABLE ENTRY NXOTE EQU * CPB NXOTL END OF ENTRIES JMP UPNTB YES ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I GET PACK NO. OFFSET AND L8BT CLEAR LEFT BYTE CPA OFFST EQUAL TO OFFSET OF DELETED FILE ENTRY JMP MVPNT,I YES, RETURN ADB D14 NEXT OPEN TABLE ENTRY JMP NXOTE CONTINUE UPNTB EQU * LDA OFFST GET DELETED OFFSET STA OFFS1 STORE IT LDB D4 JSB MPY ADA OPNTB UNXEN EQU * ADA D4 INCREMENT TO NEXT ENTRY CPA NXPTL END OF PACK NO. ENTRIES ? JMP UNXPT YES STA SVPNA SAVE PACK NO. ENTRY ADDR LDB A SAVE ADDR OF CURRENT ENTRY TO MOVE ADB MD4 BACK TO FIRST WORD OF NEW ENTRY TO USE STB NEADR STORE ADDR OF NEW ENTRY MNXWD EQU * LDB A,I MOVE WORD STB NEADR,I LDB NEADR INCREMENT TO NEXT WORD ADB D1 STB NEADR CPB SVPNA ENTRY MOVED ? JMP UDONE YES ADA D1 INCREMENT TO NEXT WORD JMP MNXWD MOVE NEXT WORD UDONE EQU * LDB OFFST GET DELETED OFFSET ADB D1 INCREMENT STB OFFS1 SAVE OFFSET TO CHANGE LDB OPNT1 GET START OF OPEN TABLE FILE ENTRIES CNXOT EQU * CPB NXOTL END OF OPEN TABLE ENTRIES JMP CKMPN YES ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I GET PACK NO. AND L8BT CLEAR LEFT BYTE CPA OFFS1 OFFSETS EQUAL ? RSS YES JMP INXOT NO LDA B,I GET PACK NO. AND H8BT CLEAR RIGHT BYTE STA B,I STORE LDA OFFST GET NEW OFFSET XOR B,I STA B,I STORE NEW OFFSET INXOT EQU * ADB D14 INCREMENT TO NEXT OPEN TABLE ENTRY JMP CNXOT GO CHECK NEXT ENTRY CKMPN EQU * LDA OFFST GET OFFSET TO CHANGE ADA D1 INCREMENT STA OFFST STORE LDA SVPNA GET PACK NO. ENTRY ADDR. JMP UNXEN CONTINUE UNXPT EQU * LDA NXPTL UPDATE NEXT PACK NO. ENTRY ADDR ADA MD4 STA NXPTL JMP MVPNT,I RETURN OFFST BSS 1 OFFSET TO CHANGE OFFS1 BSS 1 NEW OFFSET SVPNA BSS 1 CURRENT PACK NO. ENTRY ADDR NEADR BSS 1 NEW ENTRY ADDR SPC 3 * SVPNS - SAVE ARGUEMENTS FOR PACK NO. SEARCH * EXIT: SEARCH ARGUMENTS SAVED * SVPNS NOP LDA MD9 NO. OF WORDS TO SAVE STA MOVCT SAVE MOVE COUNT LDA ATRKI ADDR OF ARGUMENTS TO SAVE LDB ASRCS ADDR OF SAVE AREA JSB MOVE SAVE THE ARGUMENTS JMP SVPNS,I RETURN P+1 ASRCS DEF SRCSV ADDR OF SAVE AREA SRCSV BSS 9 SAVE AREA SPC 3 * REPNS - RESTORE ARGUMENTS FOR PACK NO. SEARCH * EXIT: SEARCH ARGUMENTS RESTORED * REPNS NOP LDA MD9 NO. OF WORDS TO RESTORE STA MOVCT SAVE MOVE COUNT LDA ASRCS GET ADDR OF SOURCE LDB ATRKI GET ADDR OF RESTORE AREA JSB MOVE RESTORE THE ARGUMENTS CLA READ LDB PAKSC GET THE SUBCHANNEL JSB PRWIO RESTORE $BUF JMP REPNS,I RETURN P+1 SPC 3 * EXIT: * A = CHECKSUM * CKSUM NOP LDB OPNTB GET START OF OPEN TABLE(1ST PN ENTRY) CCA START AT -1 PNLOP EQU * CPB NXPTL END OF PN ENTRIES ? JMP SUMOE YES XOR B,I COMPUTE CHECK SUM ADB D1 INCREMENT TO NEXT CHECK SUM WORD JMP PNLOP CHECK FOR END OF PN ENTRIES SUMOE EQU * LDB OPNT1 GET START OF OPEN TABLE ENTRIES DELOP EQU * CPB NXOTL END OF OPEN TABLE ENTRIES ? JMP CKSUM,I YES ADB D2 INCREMENT TO FIRST CHECK SUM WORD XOR B,I COMPUTE CHECK SUM INB INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D6 INCREMENT TO SECOND CHECK SUM WORD XOR B,I COMPUTE CHECK SUM INB INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D2 INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D4 INCREMENT TO NEXT OPEN TABLE ENTRY JMP DELOP  NO HED MULTIPLY AND DIVIDE ROUTINES * MPY - MULTIPLY TWO SIXTEEN BIT NUMBERS * ENTER : * A = MULTIPLICAND * B = MULTIPLIER * * EXIT : * A = LEAST SIGNIF. VALUE * B = MOST SIGNIF. VALUE * IFZ MPY NOP STB MULPL STORE MULTIPLIER OCT 100200 MULTIPLY DEF MULPL ADDR OF MULTIPLIER JMP MPY,I XIF SPC 3 IFN MPY NOP STA MPYTM SAVE MULTIPLICAND LDA MD16 MAX NO. OF SHIFTS STA MPYX1 CLA INITIALIZE PRODUCT NXTBT EQU * CLE,ELA ELB SEZ,CLE ADA MPYTM SEZ INB ISZ MPYX1 JMP NXTBT JMP MPY,I MPYTM OCT 0 TEMP. STORAGE MPYX1 OCT 0 INDEX REG. XIF * DIV - DIVIDE A 32 BIT NUMBER BY A 16 BIT NUMBER * ENTER: * A = LEAST SIGNIF. VALUE OF DIVIDEND * B = MOST SIGNIF. VALUE OF DIVIDEND * CONTENTS OF 'DIV' = ADDR OF ADDR OF DIVISOR * * EXIT: * A = QUOTIENT * B = REMAINDER * RETURN P+2 * IFZ DIV NOP STB SCRTH SAVE HIGH DIVIDEND LDB DIV,I GET ADDR OF DIVISOR LDB B,I GET DIVISOR STB MULPL STORE FOR DIVIDE LDB SCRTH RESTORE HIGH DIVIDEND OCT 100400 DIVIDE DEF MULPL ADDR OF DIVISOR ISZ DIV P+2 JMP DIV,I RETURN MULPL OCT 0 DIVISOR SCRTH OCT 0 TEMP XIF SPC 3 IFN DIV NOP STB TEMPP SAVE HI DIVIDEND LDB DIV,I GET ADDR OF DIVISOR LDB 1,I GET DIVISOR ISZ DIV BUMP RETURN SZB,RSS ZERO DIVISOR JMP OVFLO YES CLE,SSB SET B TO ABS AND E TO SIGN CMB,CME,INB STB PLUSD STORE POSITIVE DIVISOR CMB,INB STB MIND STORE NEGATIVE DIVISOR LDB M16 STB COUNT INITIALIZE COUNTER LDB MD2 STB SIGNN EB@<:6XT OPEN TABLE ENTRY ADA WPOTE ADD SIZE OF ENTRY ADA MD1 CMA,INA ADA OPNTE ROOM FOR NEW ENTRY ? SSA YES JSB ER18 NO LDB ARG4,I GET PACK NO. SSB,RSS TRY ALL PACKS ? JMP SOPNT NO LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR JMP GFSPN SOPNT EQU * CLA,INA SEARCH FOR ACTIVE ENTRY LDB ARG4,I GET PACK NO. JSB CKPNT PACK NO. IN TABLE RSS NO JMP SPNE1 YES CLA SEARCH FOR AVAILABLE ENTRY JSB CKPNT ENTRY AVAILABLE ? JSB ER16 NO CLA NEW ENTRY SWITCH STA PNESW STORE SWITCH GFSPN EQU * LDA ARG4,I GET PACK NO. JSB GETPN PACK NO. AVAILABLE ? l<  24309-80010 1523 S 0122 DOS EFMP $EX31              H0101  JSB ER6 NO SRCFL EQU * STB SVAEN SAVE ENTRY ADDR JSB SVPNS SAVE PACK NO. SEARCH ENVIRONMENT LDB SVAEN RESTORE ENTRY ADDR ADB D3 INCREMENT TO T/S OF DIRECTORY LDA B,I GET T/S START OF EFMP DIRECTORY LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S JMP CSET1 NO SPNE1 EQU * CLA,INA NO NEW ENTRY SWITCH STA PNESW STORE SWITCH CSET1 EQU * JSB SETD1 SET UP FOR EFMP SEARCH JSB SRCDR SEARCH FOR FILE RSS FILE NOT FOUND JMP BLFTE FILE FOUND LDA ARG4,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JSB ER3 NO JSB REPNS RESTORE PACK NO. SEARCH ENVIRONMENT JSB GTNPN YES, SEARCH FOR NEXT PACK NO. JSB ER6 NO PACK NO. AVAILABLE JMP SRCFL PACK NO. AVAILABLE BLFTE EQU * STB OCFPO OPEN/CLOSE FILE POSITION ADB D6 LDA B,I SECURITY CODE CPA ARG6,I VALID? RSS YES JSB ER7 CLA STA B,I CLEAR FOR IN CORE LDB ARG4,I GET PACK NO. SSB,RSS TRY ALL PACKS ? JMP MOVEN NO CLA,INA SEARCH FOR ACTIVE ENTRY SWITCH LDB DPNO GET PACK NO. JSB CKPNT PACK NO. IN TABLE JMP SFAVE NO CLA,INA NO NEW ENTRY SWITCH STA PNESW STORE SWITCH JMP MOVEN SFAVE EQU * CLA SEARCH FOR ENTRY SWITCH JSB CKPNT IS AN ENTRY AVAILABLE ? JSB ER16 NO LDA MD4 MOVE COUNT STA MOVCT STORE MOVE COUNT LDA ADPNE SOURCE ADDR LDB PNEAD DESTINATION ADDR JSB MOVE MOVE PACK NO. ENTRY FROM DUMMY TO REAL CLA NEW ENTRY USED SWITCH STA PNESW STORE SWITCH MOVEN EQU * LDA MXWPE MAX. WDS/ENTRY CMA,INA STA MOVCT NO. WDS TO MOVE LDA OCFPO O/C ,FILE POSITION(SOURCE) LDB NXOTL NEXT O.T. LOC.(DESTINATION) JSB MOVE INSERT NEXT ENTRY LDB NXOTL GET NEW OPEN TABLE ADDR ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I ZERO PACK NO OFFSET AND H8BT STA B,I STORE IT LDA NXOTL GET ADDR OF OPEN TABLE ENTRY JSB STPNO STORE PACK NO. OFFSET IN ENTRY LDA NXOTL GET ADDR OF OPEN TABLE ENTRY JSB SFSTS STORE STARTING T/S IN ENTRY LDB NXOTL GET ADDR OF OPEN TABLE ENTRY ADB D9 INCREMENT TO DIREC ENTRY T/S FIELD LDA TRKIO GET TRACK ALF,ALF SHIFT TRACK TO LEFT XOR SECIO GET DIRECTORY ENTRY SECTOR NO. STA B,I STORE DIRECTORY ENTRY T/S IN OPEN TABLE INB INCREMENT TO PACK NO. FIELD LDA DPNO GET PACK NO. STA B,I PACK NO. INB JSB GTRBN GET TRB NO. STA B,I TRB NO. LDA PAKSC PACK SUB CH. INB STA B,I INB CLA STA B,I T/S CUR. IN CORE ADB MD5 LDA B,I "HRA" ON DISC ADB D7 STA B,I "HRA" IN CORE LDB NXOTL NEXT O.T.LOC. JSB CKMRN CHECK MAX. RECD. NO. STA B,I NEXT RECORD BEING PROCESSED ADB D2 STB NXOTL UPDATE NEXT O.T. LOC. LDB PNESW GET PACK NO. ENTRY SWITCH SZB NEW ENTRY USED ? JMP EFCON NO LDB NXPTL GET ADDR OF NEXT PACK NO. ENTRY ADB D4 UPDATE ADDR FOR NEW ENTRY STB NXPTL STORE NEW ADDR JMP EFCON RETURN TO MAIN SPC 1 OTMFL EQU * "OPEN" TEMP FILE LDB ARG3 ADDR. OF FILE NAME JSB CKOPN CHECK IF FILE ALREADY OPEN JSB ER8 NOT IN DIR. FROM CREATE STB OCFPO SAVE FILE POSITION IN O.T. ADB D10 INCREMENT TO PACK NO. FIELD CLA PN000 CPA B,I PACK NO. = 0 ? RSS - YES JSB ER8 NO LDB OCFPO GET ADDR OF START OF ENTRY JSB GTRBN GET TRB NO. ADB D11 STA B,I TRB NO. LDB OCFPO POSITION IN O.T. JSB CKMRN CHECK MAX. RECD. NO. STA B,I STARTING R.N. JMP EFCON RETURN TO MAIN SPC 1 CKMRN NOP CHECK MAX. RECD. NO. LDA ARG5,I RCDNO SSA JSB ER10 ADB D4 CMA,INA ADA B,I FILE LENGTH(IN RECORDS) SSA .GT. FILE SIZE? JSB ER10 YES LDA ARG5,I RCDNO ADB D10 POINT TO NEXT R.N. BEING ACC. SZA START AT EOF? JMP CKMRN,I NO INB LDA B,I "HRA" IN CORE ADB MD1 INA JMP CKMRN,I RETURN HED CLOSE FUNCTION * * CLOSE FUNCTION * FUN05 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3,I PICK UP 1ST WORD SZA CLOSE ALL FILES? JMP CLSIT NO, CLOSE ONLY ONE * CLOSE ALL FILES NXCLS EQU * NEXT CLOSE LDA OPNT1 START OF O.T. CMA ADA NXOTL NEXT O.T. LOC SSA .GE. (FINISHED)? JMP EFCON YES, RETURN TO MAIN LDB OPNT1 START OF O.T. STB ARG3 STORE ADDR OF FILE NAME JSB CLOS1 CLOSE 1ST ONE AND REPACK JMP NXCLS NEXT CLOSE SPC 1 CLSIT EQU * CLOSE IT LDB ARG3 ADDR. OF FILE NAME JSB CKOPN CHECK IF OPEN JSB ER11 FILE NOT OPEN JSB CLOS1 CLOSE THIS FILE ONLY JMP EFCON RETURN TO MAIN SKP * CLOS1 - CLOSE 1 FILE * ENTER: * B = ADDR. OF FILE NAME * EXIT: * FILE CLOSED (REMOVED FROM O.T.) AND * WORK AREA REPACKED IF NECESSARY (ALL * TRB'S WILL BE POSTED IF W.A. IS REPACKED) * CLOS1 NOP CLOSE 1 FILE STB OCFPO+1 O/C FILE POSITION ADB D12 INCREMENT TO SUBCHANNEL FIELD kLDA B,I GET SUBCHANNEL STA PAKSC INIT PACK SUBCHANNEL ADB MD2 BACK UP TO PACK NO. FIELD LDA B,I GET PACK NO. SZA,RSS PN000 ? JMP DISRP YES LDB OCFPO+1 GET OPEN TABLE ENTRY JSB GETDE GET DIRECTORY ENTRY LDB CNAME GET ADDR OF DIRECTORY ENTRY STB OCFPO STORE ADDR LDB OCFPO+1 ADDR OF OPEN TABLE ENTRY ADB D11 LDA B,I TRB NO. LDB D3 ADA MD1 JSB MPY CALC. BIAS ADA FTRBE START OF TRB'S LDB A ADA D2 LDA A,I TRB POINTER TO O.T. CPA OCFPO+1 THIS TRB FOR THIS FILE? JSB POSTW POST IF NECESSARY LDB OCFPO+1 POINTER TO FILE IN O.T. ADB D8 LDA B,I H.R.N. WRITTEN ON DISC ADB D7 CMA,INA ADA B,I H.R.N. ACCESSED IN CORE ELA SAVE SIGN OF "A" LDA B,I H.R.N. ACCESSED IN CORE LDB OCFPO POINTER TO FILE IN $BUF ADB D8 SEZ UPDATE OLD HRN?(NEW .GT. OLD?) STA B,I YES LDA ARG4,I USER STATUS CODE ADB MD1 STA B,I UPDATE USER STATUS CODE CLA,INA WRITE LDB PAKSC GET SUBCHANNEL JSB PRWIO WRITE UPDATED DIRECTORY ENTRY LDB OCFPO+1 POINTER TO FILE IN O.T. ADB D2 INCREMENT TO PACK NO. OFFSET FIELD LDA B,I GET PACK NO. OFFSET STA SVPNO SAVE THE PACK NO. OFFSET ADB MD2 BACK UP TO START OF ENTRY JSB MOVOT MOVE OPEN TABLE LDA SVPNO GET PACK NO. OFFSET JSB MVPNT UPDATE PACK NO. TABLE JMP CLOS1,I RETURN DISRP EQU * LDB OCFPO+1 POINTER TO FILE IN O.T. STB FILPO INITIALIZE POINTER JSB POST JSB RPWKA REPACK WORK AREA JMP CLOS1,I RETURN SKP * MOVOT - MOVE OPEN TABLE AND UPDATE TRB POINTERS * ENTER: * B = STARTING ADDR. OF ENTRY TO BE * fQ DELETED IN O.T. * EXIT: * OPEN TABLE AND TRB TRIPLET'S REPACKED * MOVOT NOP MOVE O.T. AND MODIFY TRB TRIPLET STB MVOT1 SAVE POINTER TO O.T. ADB WPOTE WORDS/O.T. ENTRY CMB,INB ADB NXOTL NEXT O.T. LOCATION LDA MVOT1 SZB,RSS ANY ENTRIES TO MOVE? JMP NOMOV NO CMB,INB STB MOVCT NO. OF WDS TO MOVE ADA WPOTE SOURCE ADDR. LDB MVOT1 DESTINATION ADDR. JSB MOVE STB NXOTL UPDATE NEXT O.T. LOC. RSS NOMOV EQU * NO MOVE STA NXOTL UPDATE NEXT O.T. LOC. LDA NOTRB NO. TRB CMA,INA STA MVOTX INITIALIZE INDEX LDB FTRBE ADB D2 MOVNA EQU * MOVE NEXT ADDR. LDA B,I PICK UP POINTER TO O.T. ENTRY CPA MVOT1 JMP CLRIT CLEAR IT CMA,INA ADA MVOT1 SSA,RSS .GE. TO ENTRY MOVED? JMP MVNTR NO LDA B,I POINTER TO OLD ENTRY IN O.T. ADA MWPOT BIAS BACK 1 ENTRY STA B,I RESTORE IT MVNTR EQU * MOVE TO NEXT TRB ADB D3 BIAS TO NEXT TRB TRIPLET ISZ MVOTX FINISHED? JMP MOVNA NO, MOVE NEXT ADDR. JMP MOVOT,I RETURN CLRIT EQU * CLEAR IT CLA STA B,I CLEAR THIS POINTER JMP MVNTR MOVE TO NEXT TRB HED OPEN/CLOSE ROUTINES * GTRBN - GET TRB NUMBER AND CHECK IT * ENTER: * ARG7 = ADDR. OF DESIRED TRB NO. * EXIT: * A = TRB NO. * B IS SAVED * GTRBN NOP GET TRB NO. LDA ARG7,I TRB NO SSA INVALID? JMP GTRB1 YES CMA,INA ADA NOTRB MAX. NO. TRB'S SSA .GT.? JMP *+3 YES LDA ARG7,I JMP *+2 GTRB1 EQU * CLA SZA,RSS INVALID 0? INA YES JMP GTRBN,I RETURN OCFPO OCT 0,0 OPEN/CLOSE FILE POSITION MVOT1 OCT 0 TEMP LOC. FOR MOVE O.T. MVOTX OCT 0 INDEX FOR MOVE O.T. SPC 3 * RPDIS - REPACK 1 DISC ENTRY * ENTER: * A = STARTING T/S OF NEXT DATA AREA * B = FILE POSITION * DISSC = DESIRED SUBCHANNEL * EXIT: * A = (-) NO. SECT. MOVED * P+1 = UPDATED LAST FILE ONLY * P+2 = UPDATED OTHER THAN LAST FILE * RPDIS NOP REPACK 1 DISC ENTRY JSB T.STS CONV. TO SECT. STA RPSTS LAS DATA FILE SECTOR+1 STB RPLOC FILE LOC. ADB D3 LDA B,I T/S IN WORK AREA JSB T.STS CONVERT TO SECTORS STA CFILS CURRENT FILE STARTING SECTOR INB LDA B,I FILE LENGTH (IN RECORDS) INB LDB B,I RECORD LENGTH (IN WORDS) JSB MPY CALC. FILE LENGTH IN WORDS JSB DIV CALC. FILE LENGTH IN SECTORS DEF D128 SOC OVERFLOW ? JSB ER23 YES, ERROR SHOULD NOT OCCUR SZB OVERFLOW TO ANOTHER SECTOR ? INA YES STA FILSI FILE SIZE(IN SECT.) I. E. DELTA CMA,INA STA FILSI+1 SAVE (-) VALUE CMA,INA ADA CFILS CURRENT FILE STARTING SECTOR STA NFILS STARTING SECT. FOR NEXT FILE CMA ADA RPSTS LAST FILE START SSA LAST FILE ? JMP RPD1 YES INA STA NSLTM NO. SECT LEFT TO MOVE LDA NOTRB NO. OF TRB'S LDB TRBSZ JSB MPY CALC. NO. SECT. IN TOTAL TRB STA BUFSZ SAVE TOTAL TRB SIZE (IN SECTORS) RPAKM EQU * CMA,INA ADA NSLTM NO. SECT. LEFT TO MOVE LDB NSLTM STA NSLTM SSA,RSS MORE TO BE MOVED THAN BUFF. SIZE ? LDB BUFSZ YES SZB,RSS FINISHED ? JMP RPD1-1 YES STB GNS NO. SECT. FOR GENERAL R/W LDA DISSC DESIRED SUBCHANNEL STA GSC SUBCHANNEL FOR GENERAL R/W LDA NFILS NEXT FILE SECTOR JSB STT.S  CONV. TO T/S LDB TRBUF BUFFER ADDR JSB GRTXX READ LDA CFILS CURRENT FILE SECTOR JSB STT.S CONV. TO T/S LDB TRBUF JSB GWTXX WRITE LDA CFILS CURRENT FILE SECTOR (ABSOLUTE) ADA GNS NO. SECT. MOVED STA CFILS LDA NFILS NEXT FILE SECTOR (ABSOLUTE) ADA GNS NO. SECT. MOVED STA NFILS LDA BUFSZ TOTAL SIZE OF TRB (IN SECTORS) LDB NSLTM NO. SECT. LEFT TO MOVE SSB,RSS FINISHED ? JMP RPAKM NO, REPACK MORE ISZ RPDIS P+2 RPD1 EQU * LDA FILSI+1 (-) NO. OF SECT. MOVED JMP RPDIS,I RETURN RPSTS OCT 0 REPACK STARTING T/S RPLOC OCT 0 REPACK STARTING LOC. DISSC OCT 0 BUFSZ OCT 0 TOTAL SIZE OF TRB (IN SECTORS) CFILS OCT 0 CURRENT FILE STARTING SECTOR FILSI OCT 0,0 FILE SIZE NFILS OCT 0 NEXT FILE SIZE NSLTM OCT 0 NO. SECTORS LEFT TO MOVE HED INITIALIZE FUNCTION FUN07 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3,I GET PACK NUMBER JSB CKPN CHECK PACK NUMBER FOR EQUAL OR LESS THAN 999 SSA IS PACK NUMBER POSITIVE ? JSB ER15 NO SZA,RSS SYSTEM PACK DESIRED ? JSB ER15 YES JSB GETPN SEARCH FOR THE DESIRED PACK NUMBER JSB ER6 PACK NUMBER NOT AVAILABLE STB DIRPT SAVE DIRECTORY ADDRESS ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S STA STRTS SAVE T/S ADB D1 INCREMENT TO FILE SIZE LDA B,I GET THE FILE SIZE STA FILSZ SAVE FILE SIZE LDA ARG4,I GET NUMBER OF DIRECTORY ENTRIES REQUESTED SSA POSITIVE ? JSB ER29 NO ADA D1 ADD ONE FOR EFMP'S OWN DIRECTORY ENTRY LDB MXWPE JSB MPY CALC. TOTAL WDS. NEEDED FOR DIRECTORY JSB DIV CALC. TOTAL SECT. NEEDED FOR DIRECTORY DEF D126 AMOUNT OF SECT USED PER TRAK7905 SOC OVERFLOW ? JSB ER29 DIRECTORY SIZE IS TOO LARGE SZB OVERFLOW TO ANOTHER SECTOR ? INA YES STA DIRSZ SAVE DIRECTORY SIZE CMA,INA TWO'S COMPLEMENT ADA FILSZ CALCULATE SPACE REMAINING BEYOND DIRECTORY SSA SPACE FOR DIRECTORY IN EFMP FILE ? JSB ER29 NO LDB DIBUF GET EFMP DIRECTORY BUFFER ADDRESS ADB D3 INCREMENT TO DIRECTORY SIZE FIELD LDA DIRSZ GET DIRECTORY SIZE STA B,I INITIALIZE DIRECTORY SIZE INB INCREMENT TO FILE SIZE FIELD LDA FILSZ GET FILE SIZE STA B,I INITIALIZE FILE SIZE ADB D4 INCREMENT TO LAST ALLOCATED SECTOR FIELD LDA DIRSZ CALCULATE LAST ALLOCATED SECTOR STA B,I INITIALIZE LAST ALLOCATED SECTOR LDA A$BUF GET ADDRESS OF $BUF STA A$BSV SAVE ADDR OF $BUF LDA DIBUF GET ADDRESS OF WRITE BUFFER STA A$BUF STORE IT FOR WRITE ROUTINE LDA TRKIO GET TRACK NO. STA SVTRK SAVE TRACK NO. LDA SECIO GET SECTOR NO. STA SVSEC SAVE SECTOR NO. LDA STRTS GET T/S WRITE ADDRESS JSB PRETS PREPARE IT FOR I/O LDA D1 WRITE INDICATOR LDB PAKSC GET CURRENT SUBCHANNEL JSB PRWIO WRITE FIRST SECTOR OF EFMP FILE LDA A$BSV GET ADDR OF $BUF STA A$BUF RESTORE THE ADDRESS OF $BUF LDB DIRPT GET DIRECTORY ADDRESS ADB D2 INCREMENT TO TYPE FIELD ISZ B,I CHANGE FROM BINARY TO ASCII LDA SVTRK GET TRACK NO. STA TRKIO RESTORE TRACK NO. LDA SVSEC GET SECTOR NO. STA SECIO RESTORE SECTOR NO. LDA D1 WRITE INDICATOR LDB PAKSC GET CURRENT SUBCHANNEL JSB PRWIO WRITE BACK DOSM ENTRY FOR THE PACK@ NUMBER JMP EFCON RETURN TO MAIN FNAM1 BSS 1 FNAM2 BSS 1 FNAM3 BSS 1 FDRSZ BSS 1 FLSIZ BSS 1 RESV1 BSS 1 RESV2 BSS 1 RESV3 BSS 1 LSTSA BSS 1 EODM BSS 1 DIBUF DEF FNAM1 A$BSV BSS 1 SAVE FOR $BUF ADDR DIRSZ BSS 1 DIRECTORY SIZE DIRPT BSS 1 DIRECTORY ENTRY POINTER STRTS BSS 1 EFMP STARTING T/S FILSZ BSS 1 EFMP SIZE SVTRK BSS 1 TRACK SAVE AREA SVSEC BSS 1 SECTOR SAVE AREA HED MISCEL. MOVE NOP JSB MASUB DEC 1 POST NOP JSB MASUB DEC 2 POSTW NOP JSB MASUB DEC 3 CKVSU NOP JSB MASUB DEC 4 CRPN0 NOP JSB MASUB DEC 6 CKPN NOP JSB MASUB DEC 7 SVPNS NOP JSB MASUB DEC 8 CKNAP NOP JSB MASUB DEC 9 SETD1 NOP JSB MASUB DEC 10 SETD2 NOP JSB MASUB DEC 11 GETDE NOP JSB MASUB DEC 12 REPNS NOP JSB MASUB DEC 13 MVPNT NOP JSB MASUB DEC 16 GETPN NOP JSB MASUB DEC 17 CKOPN NOP JSB MASUB DEC 18 SRCDR NOP JSB MASUB DEC 19 GTNPN NOP JSB MASUB DEC 20 CKDSP NOP JSB MASUB DEC 21 CKCLM NOP JSB MASUB DEC 22 CKPNT NOP JSB MASUB DEC 24 PKDIR NOP JSB MASUB DEC 25 T.STS NOP JSB MASUB DEC 26 STT.S NOP JSB MASUB DEC 27 STZ NOP JSB MASUB DEC 28 GRTXX NOP JSB MASUB DEC 29 GWTXX NOP JSB MASUB DEC 30 CKSPC NOP JSB MASUB DEC 31 STPNO NOP JSB MASUB DEC 32 SFSTS NOP JSB MASUB DEC 33 PRETS NOP JSB MASUB DEC 34 PRWIO NOP JSB MASUB DEC 35 MPY NOP JSB MASUB DEC 36 DIV NOP JSB MASUB DEC 37 SKP ER2 EQU * OCT 0 LDA D2 JSB ERR ER3 EQU * OCT 0 <:6 LDA D3 JSB ERR ER4 EQU * OCT 0 LDA D4 JSB ERR ER5 EQU * OCT 0 LDA D5 JSB ERR ER6 EQU * OCT 0 LDA D6 JSB ERR ER7 EQU * OCT 0 LDA D7 JSB ERR ER8 EQU * OCT 0 LDA D8 JSB ERR ER9 EQU * OCT 0 LDA D9 JSB ERR ER10 EQU * OCT 0 LDA D10 JSB ERR ER11 EQU * OCT 0 LDA D11 JSB ERR ER14 EQU * OCT 0 LDA D14 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER16 EQU * OCT 0 LDA D16 JSB ERR ER17 EQU * OCT 0 LDA D17 JSB ERR ER18 EQU * OCT 0 LDA D18 JSB ERR h<  24309-80011 1523 S 0122 DOS EFMP $EX31              H0101 ER19 EQU * OCT 0 LDA D19 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER24 EQU * OCT 0 LDA D24 JSB ERR ER25 EQU * OCT 0 LDA D25 JSB ERR ER26 EQU * OCT 0 LDA D26 JSB ERR ER29 EQU * OCT 0 LDA D29 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR SKP A EQU 0 B EQU 1 . EQU 53B SECTR EQU 116B SYSSC EQU 155B H8BT EQU 75B INVCH EQU 75B SPC 1 MD12 DEC -12 MD10 EQU .-10 MD8 EQU .-8 MD7 EQU .-7 MD5 EQU .-5 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D5 EQU .+5 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D9 EQU .+9 D10 EQU .+10 D11 DEC 11 D12 DEC 12 D14 DEC 14 D15 DEC 15 D16 DEC 16 D17 DEC 17 D18 DEC 18 D19 DEC 19 D23 DEC 23 D24 DEC 24 D25 DEC 25 D26 DEC 26 D29 DEC 29 D126 DEC 126 7905 D128 DEC 128 MXWPE DEC 9 WORDS/DIRECTORY ENTRY PNESW BSS 1 PACK NO. ENTRY SWITCH WPOTE DEC 16 WORDS/OPEN TABLE ENTRY MWPOT DEC -16 NEG. WORDS/OPEN TABLE ENTRY TWTRB OCT 0 TOTAL WORDS IN ALL TRB'S AARG1 DEF ARG1 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 ARG5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 END   24309-80012 1523 S 0122 DOS EFMP $EX32              H0101 ASMB,R,B,L,C,X $EX32 7905 HED EFMP EXEC MODULE NAM $EX32,1,0 7905 ENT $EX32 EXT ERROR, EFCON EXT AINVC,NSUWA,FTRBE,CNAME,PNEAD,OPNTB EXT TRBSZ,ARQP1,NOPAS,EBIAS,GTNXE,DPNO,PN EXT PAKSC,MOVCT,APN00,GSC,GNS EXT MASUB,SRCDR,A$BUF **************************************************** 7905 * * 7905 * REV 4-21-75 * 7905 * * 7905 **************************************************** 7905 SPC 3 $EX32 EQU * NOP DUMMY LDB MD8 STB MOVCT NO. WORDS TO MOVE LDA ARQP1 ADDR. OF SOURCE LDB AARG1 ADDR. OF DEST. JSB MOVE MOVE THE ARGS. LDA ARG2,I FUNCTION NO. ADA AJMPT JMP A,I EXECUTE PROPER FUNCTION AJMPT DEF JMPTB-6,I JMPTB EQU * DEF FUN06 DEF EFCON DEF FUN08 FUNCTION 8 DEF FUN09 DEF FUN10 DEF EFCON DEF EFCON DEF FUN13 HED READ FUNCTION * * READ FUNCTION * FUN06 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY JSB CKINL CHECK AND INITIALIZE PARA. AND TRB READ1 EQU * LDB RFLPO READ-FILE POSITION JSB CALAV CALCULATE ALL NECESSARY VALUES JSB CKEOF CHECK IF END-OF-FILE JSB ER21 END-OF-FILE JSB CKRNO CK. RECORD NO. IN CORE JMP READ2 DESIRED R.N. OUT OF RANGE OF TRB JSB CALMV CALC. NO. WDS. TO MOVE LDB ARG5 DESTINATION BUFFER JSB MOVE LDB RFLPO READ FILE POSITION ADB D14 LDA DESRN DESIRED R.N. INA STA B,I UPDATE N.R. TO BE PROCESSED  JMP EFCON RETURN TO MAIN READ2 EQU * JSB PST1T POST IF NECESSARY JSB RDTS READ DESIRED T/S JMP READ1 SPC 3 * CALMV - CALC. MOVE ADDR. * ENTER: * VALUES FROM CALAV * EXIT: * A = POINTER TO CORRECT TRB * CALMV NOP CALC. MOVE ADDR LDA RLGTH RECORD LENGTH IN WORDS CMA,INA STA MOVCT PACK NO. OF WDS. TO MOVE LDA STRNO STARTING RECD. NO. CMA,INA ADA DESRN DESIRED RECD. NO. LDB RLGTH JSB MPY CALC. RECORD LENGTH IN WORDS OCT 0 OCT 103001 FOR DEBUGGING ADA STRPO STARTING RECORD POSITION JMP CALMV,I RETURN HED WRITE FUNCTION * * WRITE FUNCTION * FUN08 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY CLA STA DESRN+1 INITIALIZE FLAG JSB CKINL CHECK AND INITIALIZE PARA. AND TRB WRIT1 EQU * LDB RFLPO READ-FILE POSITION JSB CALAV CALC. ALL NECESSARY VALUES JSB CKEOF CHECK IF END-OF-FILE JMP EOFWR END-OF-FILE WRITE WRIT3 EQU * JSB CKRNO CHECK RECORD NOS. IN CORE JMP RNXTS OUT-OF-RANGE, READ NEXT T/S JSB CALMV CALC. MOVE ADDR. LDB A DESTINATION LDA ARG5 SOURCE JSB MOVE "WRITE" PROPER RECORD LDB CTRBP CURRENT TRB POINTER INB CLA,INA STA B,I SET "MUST BE WRITTEN" FLAG LDB RFLPO READ FILE POSITION ADB D15 LDA DESRN DESIRED RECD. NO. CMA,INA ADA B,I HIGHEST RECD. NO. WRITTEN IN CORE SSA DESIRED .GT. HIGHEST? JMP UDHRW YES, UPDATE HRW IN CORE WRIT2 EQU * ADB MD1 LDA DESRN DESIRED R.N. INA STA B,I NEXT RECORD TO BE ACCESSED CMA,INA ADA FINRN FINAL RECD. NO. SSA NEXT .GT. FINAL(LAST RCD WRT) JSB PST1T YES, POST 1 TRB JMP EFCON Đ RETURN TO MAIN UDHRW EQU * UPDATE HI RECD. WRITTEN IN CORE LDA DESRN DESIRED R.N. STA B,I BUMP "HRW" INTO CORE JMP WRIT2 SPC 1 EOFWR EQU * END-OF-FILE WRITE ATTEMPT LDB RFLPO READ-FILE POINTER ADB D4 LDA DESRN DESIRED R.N. CMA,INA ADA B,I FILE SIZE SSA .GT. ABSOLUTE EOF? JSB ER21 YES, END-OF-FILE ADB D11 LDA DESRN+1 SZA INSERT ZEROS PASS? JMP INSZR YES LDA B,I "HRW" IN CORE INA CPA DESRN WRITE NEXT HIGHEST RECORD? JMP WRIT3 YES * ZEROS MUST BE INSERTED IN BETWEEN RECORDS LDB DESRN REAL DESIRED R.N. STB DESRN+1 SAVE AS FLAG STA DESRN "HRW"+1 IS TEMP. DESIRED INSZR EQU * JSB CKRNO CHECK IF R.N. IN CORE JMP RNXTS NOT IN CORE, READ IT LDA DESRN "DESIRED" CMA ADA DESRN+1 REAL SSA,RSS "DESIRED" .GE. REAL? JMP INSZ1 NO LDA DESRN+1 REAL DESIRED R.N. STA DESRN RESTORE IT CLA STA DESRN+1 RESET FLAG JMP WRIT1 INSZ1 EQU * JSB CALMV CALC. MOVE ADDR. STA B LDA RLGTH RECORD LGTH. (IN WORDS) CMA,INA JSB STZ FILL 1 RECORD W/ ZEROS LDB CTRBP CURRENT TRB POINTER INB CCA STA B,I SET "MBW" FLAG LDB RFLPO READ-FILE POSITION ADB D14 ISZ B,I NEXT RECD BEING PROCESSED INB ISZ B,I "HRW" IN CORE ISZ DESRN BUMP "DESIRED" R.N. JMP WRIT1 RNXTS EQU * READ NEXT T/S JSB PST1T POST IF NECESSARY JSB RDTS READ DESIRED T/S JMP WRIT1 HED GENERAL READ/WRITE ROUTINES CKINL NOP CHECK INITIALIZATION PARAMETERS LDA ARG3 ADDR. OF F.N. JSB NAM0? CHECK IF ZERO LDB ARG3 ADDR. OF F.N. JSB CKOPN  FILE OPEN? JSB ER11 NO STB RFLPO READ-FILE POSITION ADB D14 LDA ARG4,I RECORD NO. SSA,RSS BACKSPACE? JMP CKN2 NO ADA B,I NEXT RECORD TO BE PROCESSED SSA JSB ER13 SZA,RSS JSB ER13 JMP CKN1 CKN2 EQU * SZA,RSS SEQUENTIAL R/W? LDA B,I YES, GET NEXT RCD. TO BE PROCESSED CKN1 EQU * STA DESRN PACK DESIRED R.N. LDA RFLPO FILE POSITION ADA D5 LDB A,I RECORD LENGTH (IN WORDS) LDA ARG5 BUFFER AREA JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF-LIMITS LDB RFLPO FILE POSITION ADB D11 LDA B,I TRB NO. ADA MD1 LDB D3 JSB MPY ADA FTRBE START OF TRB ENTRIES STA CTRBP CURRENT TRB POSITION LDB CTRBP CUR. TRB POINTER ADB D2 STB CKIN1 SAVE POINTER TO FILE TEMPORARILY LDA B,I CPA RFLPO THIS TRB FOR THIS FILE? JMP CKN3 YES JSB PST1T POST IF NECESSARY LDA RFLPO STA CKIN1,I INITL. TRB FOR THIS FILE CKN3 EQU * LDB RFLPO READ-FILE POSITION JMP CKINL,I RETURN CKIN1 OCT 0 TEMP STROAGE SPC 3 * CKEOF - CHECK IF ATTEMPTED WRITE AFTER END-OF-FILE * EXIT: * P+1 = END-OF-FILE * P+2 = VALID POSITION * CKEOF NOP CHECK FOR END-OF-FILE LDB RFLPO READ-FILE POSITION. ADB D15 LDA B,I HIGHEST R.N. WRITTEN INTO CORE SZA 1ST PASS? JMP *+5 NO ADB MD7 LDA B,I HIGHEST R.N. WRITTEN ONTO DISC SZA,RSS 1ST PASS? JMP CKEOF,I YES, EOF CMA ADA DESRN DESIRED R.N. SSA IS DES. R.N. .LT. HRW? ISZ CKEOF YES, P+2 JMP CKEOF,I NO, END-OF-FILE RETURN SPC 3 * CKRNO - CHECK IF R.N. IN CORE * EXIT: * P+1 = READ NEXT T/S * .  P+2 = RECORD NO. IN CORE * CKRNO NOP CHECK IF R.N. IN CORE LDB RFLPO READ-FILE POSITION ADB D13 LDA B,I T/S CUR. IN CORE SZA,RSS 1ST TIME THRU? JMP CKRNO,I YES, READ NEW T/S LDA DESRN DESIRED R.N. CMA ADA STRNO "START" R.N. SSA,RSS DES. .LT. START? JMP CKRNO,I YES, READ NEXT T/S LDA DESRN DESIRED R.N. CMA,INA ADA FINRN "FINAL" R.N. SSA DES. .GT. FINAL? JMP CKRNO,I YES, READ NEXT T/S ISZ CKRNO P+2 JMP CKRNO,I RETURN SPC 3 RDTS NOP READ DESIRED T/S LDA DESRN DESIRED R.N. ADA MD1 LDB RLGTH JSB MPY JSB DIV DEF D128 SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR STA B SAVE NO. SECT TO REACH R.N. LDA RFLPO READ-FILE POSITION ADA D3 LDA A,I PICK UP STARTING T/S JSB T.STS CONV. TO SECTORS ADA B DESIRED NO. SECT TO REACH R.N. JSB STT.S CONV. BACK TO T/S LDB TRBSZ NO. OF SECT/TRB STB GNS NO. SECT. FOR GENERAL R/W LDB RFLPO READ-FILE POSITION ADB D13 STA B,I UPDATE NEW T/S IN CORE ADB MD1 LDB B,I SUB. CH. NO. STB GSC SUB. CH. FOR GENERA R/W LDB CTRBP,I PICK UP POINTER TO O.T. JSB GRTXX READ T/S W/ DESIRED R.N. LDB RFLPO READ-FILE POSITION * REINITIALIZE PART OF TRIPLET BECAUSE OF POSSIBLE POSTING LDA CTRBP CUR. TRB POINTER ADA D2 STB A,I POINTER TO FILE IN O.T. JMP RDTS,I RETURN SPC 3 PST1T NOP POST 1 TRB IF NECESSARY LDB CTRBP CURRENT TRB POSITION JSB POSTW POST WRITE IF NECESSARY JMP PST1T,I RETURN DESRN OCT 0,0 DESIRED RECORD NO. RFLPO OCT 0 READ-FILE POSITION (WRITE ALSO) SKP * CALA3V - CALC. ALL VALUES PERTINENT TO READ/WRITE ROUTINES * ENTER: * B = FILE POSITION IN OPEN TABLE * EXIT: * RLGTH = RECORD LENGTH (IN WORDS) * STRNO = STARTING RECORD NO. FOR CURRENT T/S * STRPO = STARTING RECORD NO. POSITION * FINRN = FINAL RECORD NO. FOR CURRENT T/S * CALAV NOP CALC. ALL VALUES FOR R/W ROUTINES STB CALPO FILE POSITION FOR THIS ROUTINE ADB D5 LDB B,I RECORD LENGTH (IN WORDS) STB RLGTH LDB CALPO FILE POSITION ADB D13 LDA B,I T/S CURRENTLY IN SZA,RSS 1ST PASS? ADB MD10 YES,BIAS BACK TO START T/S LOC LDA B,I T/S "CURRENTLY IN" JSB T.STS CONV. TO SECT. STA B LDA CALPO FILE POSITION ADA D3 LDA A,I STARTING T/S FOR THIS FILE JSB T.STS CONV. TO SECTORS CMA,INA ADA B CALC. DELTA SECTORS STA DELTS SAVE DELTA SECTORS ADA TRBSZ TRB SIZE (IN SECT.) LDB D128 JSB MPY JSB DIV DEF RLGTH SZA,RSS JSB ER26 RECORD LENGTH .GT. 1 TRB SOC OVERFLOW? LDA MAXRC MAX. RECORD NO. STA FINRN SAVE FINAL RECORD NO. LDA DELTS DELTA SECTORS LDB D128 JSB MPY JSB DIV DEF RLGTH SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR INA SZB INA STA STRNO STARTING RECORD NO. CMB,INB SZB ADB RLGTH RECD. LENGTH (IN WORDS) ADB CTRBP,I CUR. TRB POSITION STB STRPO STARTING RECORD POSITION JMP CALAV,I RETURN CALPO OCT 0 FILE POSITION RLGTH OCT 0 RECORD LENGTH (IN WORDS) DELTS OCT 0 DELTA SECTORS FINRN OCT 0 FINAL RECORD NO. STRNO OCT 0 STARTING RECORD NO. STRPO OCT 0 STARTING RECORD POSITION CTRBP OCT 0 CURRENT TRB POSITION HED RESET FUNCTION * * RESET FUNCTION * FUN09 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3 ADDR OF FILE NAME JSB NAM0? CHECK NAME LDB ARG3 ADDR. OF FILE NAME JSB CKOPN OPEN? JSB ER11 NO STB REST1 SAVE OPEN TABLE ENTRY ADDR. ADB D10 INCREMENT TO PACK NO. LDA ARG4,I GET REQUESTED PACK NO. SSA,RSS PACK # = -1;SCAN ALL PACKS 7905 CPA B,I PACK NO.'S EQUAL ? RSS YES JSB ER15 NO JSB POST POST TRB LDB REST1 GET OPEN TABLE ENTRY ADDR ADB D10 INCREMENT TO PACK NO. LDA B,I GET PACK NO. SZA,RSS PN000 ? JMP CRINC YES ADB D2 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET THE SUBCHANNEL STA PAKSC INITIALIZE SUBCHANNEL LDB REST1 GET OPEN TABLE ENTRY ADDR JSB GETDE READ DIRECTORY ENTRY LDB CNAME GET ADDR OF ENTRY ADB D8 BIAS TO "HRA" ON DISC LDA ARG5,I RECORD NO. STA B,I CHANGE "HRA" ON DISC JSB CNGRN CHANGE RECORD NO. CLA,INA WRITE INDICATOR LDB PAKSC SUBCHANNEL JSB PRWIO WRITE BACK DIRECTORY ENTRY JMP EFCON RETURN TO MAIN CRINC EQU * CHANGE RECORD IN CORE JSB CNGRN CHANGE RECORD NO. JMP EFCON RETURN TO MAIN SPC 1 CNGRN NOP CHANGE RECORD NO. LDA ARG5,I RESET RECORD NO. SSA VALID? JSB ER10 NO CMA,INA LDB REST1 GET ADDR OF OPEN TABLE ENTRY ADB D15 INCREMENT TO HRA IN CORE FIELD ADA B,I "HRA" SSA .LE.? JSB ER10 NO LDA ARG5,I RESET RECORD NO. STA B,I RESET RECORD ADB MD7 BIAS TO "HRA" ON DISC STA B,I CHANGE "HRA" ON DISC ADB D6 INCREMENT TO NXT RECD FIJELD CMA,INA ADA B,I SSA RESET NO. < NXT RECD TO PROCESS ? JMP CNGRN,I NO SZA,RSS JMP CNGRN,I NO LDA ARG5,I GET RESET NO. INA INCREMENT FOR NEXT RECD TO PROCESS STA B,I STORE NEW NEXT RECD TO PROCESS VALUE JMP CNGRN,I REST1 OCT 0,0,0 SECT. NO. HED STATUS FUNCTION * * STATUS FUNCTION * FUN10 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3,I STATUS FUNCTION NO. SSA JSB ER23 CMA,INA ADA NOSTF NO. OF STATUS FUNCTIONS SSA .GT. MAX NO.? JSB ER23 LDA ARG3,I FUNCTION NO. SZA,RSS JSB ER23 ADA ASTAT ADDR.OF STATUS FUNCTION TABLE JMP A,I ASTAT DEF *,I DEF STAT1 DEF STAT2 DEF STAT3 DEF STAT4 DEF STAT5 DEF STAT6 DEF STAT7 NOSTF ABS *-ASTAT-1 NO. OF STATUS FUNCTIONS SPC 3 STAT1 EQU * FILE DIRECTORY INFORMATION JSB POST JSB STAPN SEARCH FOR PACK NO. JMP S1PAK SYSTEM PACK JSB SRCD2 FILE FOUND? JSB TNXTP NO STA1A EQU * STB SFILP STATUS-FILE POSITION LDA ARG7 ADDR. OF STATB LDB MXWPE MAX. WDS/ENTRY INB JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF- LIMITS LDA SFILP STATUS-FILE POSITION LDB MXWPE MAX. WDS/ENTRY CMB,INB STB MOVCT NO. OF WORDS TO MOVE LDB ARG7 ADDR. OF STATB INB JSB MOVE MOVE DIR. INFO. TO STATB+1 ADB MD3 CLA STA B,I CLEAR SECURITY CODE LDA ARG5,I PAKNO SSA,RSS ALL PACKS? JMP EFCON NO, RETURN TO MAIN LDA DPNO GET PACK NO. STA ARG7,I PACK STATB JMP EFCON RETURN TO MAIN S1PAK EQU * JSB TFOPN CHECK IF TEMP. FILE OPEN JMP STA1A SFILP OCT 0 STATUS-FILE PO;SITION SPC 1 TFOPN NOP CHECK IF TEMP. FILE OPEN LDB ARG4 ADDR OF FILE NAME JSB CKOPN CHECK IF FILE OPEN JSB ER3 NOT OPEN ADB D10 LDA B,I PACK NO. SZA SYSTEM PACK? JSB ER3 NO ADB MD10 JMP TFOPN,I RETURN SPC 3 STAT2 EQU * OPENED FILE? LDB D2 NO. WDS TO CHECK JSB CKSLM CHECK STATUS LIMITS LDB ARG4 ADDR. OF FILE NAME JSB CKOPN CHECK IF OPEN CLA,INA,RSS NOT OPEN CLA STB SFILP POINTER TO O.T. LDB ARG7 ADDR. OF STATB INB STA B,I PACK OPEN STATUS SZA STORE PACK NO. IF OPEN JMP EFCON RETURN TO MAIN LDB SFILP POINTER TO O.T. ADB D10 LDA B,I PACK NO. STA ARG7,I STORE PACK NO. JMP EFCON RETURN TO MAIN SPC 3 STAT3 EQU * SECURITY CODE CHECK LDB D2 NO. WDS. TO CHECK JSB CKSLM CHECK STATUS LIMITS JSB STAPN STATUS PACK NO. SEARCH JMP STA3A SYSTEM PACK JSB SRCD2 FILE FOUND? JSB TNXTP GET NEXT PACK NO. LDA DPNO GET THE DECIMAL VALUE OF PACK NO. STA ARG7,I PACK STATB JMP STA3B STA3A EQU * STA ARG7,I STORE PACK NO. JSB TFOPN CHECK IF TEMP. FILE OPEN STA3B EQU * LDA ARG7 ADDR. OF STATB INA LDA A,I SECURITY CODE TO BE CHECKED ADB D6 BIAS TO EXISTING S.C. CPA B,I DOES SECURITY CODE CHECK? CLA,RSS YES CLA,INA LDB ARG7 ADDR. OF STATB ADB D2 STA B,I PACK SECURITY CODE STATUS JMP EFCON RETURN TO MAIN SPC 3 STAT4 EQU * NO. SECT. LEFT IN FILE LDB D2 NO. WDS. TO CHECK JSB CKSLM CHECK STATUS LIMITS LDB ARG4 ADDR. OF FILE NAME JSB CKOPN CHECK IF OPEN JMP CKDIS CHECK <:6IF FILE ON DISC ADB D10 LDA B,I PACK NO. SZA TEMP. FILE CURRENTLY OPEN? JMP CKDIS-1 NO, POST BEFORF CHECKING CPA ARG5,I TEMP. FILE REQUESTED? RSS YES JMP CKDIS CHECK DISC STA ARG7,I STORE PACK NO. ADB D5 LDA B,I HIGHEST RECORD ACCESSED IN CORE ADB MD11 STA4A EQU * CMA,INA ADA B,I FILE LENGTH (IN RECORDS) INB LDB B,I RECORD LENGTH (IN WORDS) JSB MPY JSB DIV DEF D128 SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR LDB ARG7 ADDR. OF STATB INB STA B,I PACK NO. SECT. LEFT INTO STATB+1 JMP EFCON RETURN TO MAIN JSB POST CKDIS EQU * CHECK IF FILE ON DISC t<  24309-80013 1523 S 0122 DOS EFMP $EX32              H0101  JSB STAPN SEARCH FOR PACK NO. JSB ER6 JSB SRCD2 FILE FOUND ? JSB TNXTP GET NEXT PACK NO. LDA DPNO GET THE DECIMAL VALUE OF PACK NO. STA ARG7,I PACK STATB ADB D8 LDA B,I HIGHEST RECORD ACCESSED ON DISC ADB MD4 JMP STA4A SPC 1 CKSLM NOP CHECK STATUS LIMITS LDA ARG7 ADDR. OF STATB JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF-LIMITS JMP CKSLM,I SPC 3 STAT5 EQU * SECTORS LEFT ON PACK LDB D2 NO. WDS. TO CHECK JSB CKSLM LDA ARG5,I PAKNO SSA JSB ER15 JSB ST6PN STATUS SEARCH FOR P.N. JMP S5PAK SYSTEM PACK ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S JSB PRETS PREPARE T/S FOR I/O CLA READ LDB PAKSC GET SUBCHANNEL JSB PRWIO READ FIRST SECTOR OF EFMP PACK NO. LDB A$BUF GET ADDR OF DIRECTORY ENTRY ADB D4 INCREMENT TO SIZE FIELD LDA B,I GET SIZE ADB D4 INCREMENT TO LSA FIELD LDB B,I GET LSA CMB,INB CALCULATE SECTORS UNUSED ADA B STA5A EQU * LDB ARG7 ADDR. OF STATB INB STA B,I PACK NO. SECT. LEFT INTO STATB+1 JMP EFCON RETURN TO MAIN S5PAK EQU * LDB SYSSC GET SYSTEM SUBCHANNEL STB PAKSC STORE SUBCHANNEL JSB SETD2 SET UP FOR DOS-M DIR. LDB APN00 GET ADDR OF NAME JSB SRCD3 SEARCH DIRECTORY JMP STA5B NO PN000 ADB D4 LDA B,I FILE LENGTH (IN SECTORS) LDB NSUWA NO. SECT. USED IN W/A CMB,INB ADA B CALC. NO. SECT. LEFT IN W/A JMP STA5A STA5B EQU * CLA JMP STA5A SPC 3 STAT6 EQU * NAME OF NTH. FILE LDA ARG4 POINTER TO NAME BUFFER LDB D3 JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF-LIMITS LDA ARG5,I PAKNO SZA,RSS JSB ER15 SSA JSB ER15 LDA MD3 NO. OF WDS TO CLEAR LDB ARG4 POINTER TO NAME BUFFER JSB STZ JSB ST6PN SEARCH FOR P.N. JSB ER15 BRANCH DOES NOT OCCUR LDA ARG7,I DESIRED FILE NO. "N" SZA,RSS JSB ER23 SSA JSB ER23 CLA,INA STA ENTNO ENTRY NO. IN DIRECTORY LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S JSB SETD1 SET UP FOR EFMP SEARCH CCB NO COMPARE SWITCH STB NOPAS STORE SWITCH JSB SRCD3 SEARCH DIRECTORY JSB ER21 END-OF-FILE STB ADRFL ADDR. OF FILE LDA AINVC POINTER TO INVALID CHAR. JSB CMPAR COMPARE NAMES JMP *+2 JMP STA6A LDA ENTNO CURRENT DIR. ENTRY NO. CPA ARG7,I DESIRED FILE POSITION? JMP *+3 ISZ ENTNO BUMP DIR. ENTRY NO. JMP STA6A LDA MD3 STA MOVCT NO. WDS. TO MOVE LDA ADRFL ADDR. OF FILE IN $BUF LDB ARG4 DESTINATION BUFFER JSB MOVE INSERT FILE NAME OF NTH FILE ADB MD1 LDA B,I 5TH CHAR, LO 8 BITS AND H8BT SAVE ONLY 5TH CHAR STA B,I RESTORE IT JMP EFCON RETURN TO MAIN ADRFL OCT 0,0 ADDR. OF FILE STA6A EQU * LDA SRCDR GET RETURN ADDR ADA MD1 SET TO ORIGINAL ADDR STA SRCDR STORE UPDATED RETURN ADDR JMP EBIAS GET NEXT ENTRY SPC 3 STAT7 EQU * LDA ARG4,I GET SUBCHANNEL SSA NEGATIVE ? JSB ER23 YES CMA,INA ADA SCCNT SSA LEGAL VALUE FOR SUBCHANNEL JSB ER23  NO LDA ARG4,I GET THE SUBCHANNEL STA PAKSC STORE SUBCHANNEL LDA ARG7,I GET ENTRY NUMBER SZA,RSS ZERO ? JSB ER23 YES SSA NEGATIVE JSB ER23 YES CLA,INA STA ENTNO INITIALIZE COUNTER JSB SETD2 SET UP FOR DOS-M SEARCH CCB STB NOPAS NO COMPARE SWITCH JSB SRCD3 SEARCH DIRECTORY JSB ER21 END OF DIRECTORY LDA PN CPA B,I 1ST TWO CHARS OF NAME EQUAL 'PN' ? RSS YES JMP GTNX1 NO ADB D2 INCREMENT TO 3RD WORD OF NAME LDA B,I GET TYPE FILED AND L7BT CLEAR MEANINGLESS BITS CPA B13 ASCII ? JMP AINIT YES CPA B12 BINARY ? JMP NINIT YES JMP GTNX1 NO AINIT EQU * CLA INITIALIZED INDICATOR RSS NINIT EQU * CLA,INA UNINITIALIZED INDICATOR STB SVDEA SAVE ENTRY ADDR LDB ARG4 GET ADDR OF RETURN BUFFER STA B,I STORE INDICATOR LDA SVDEA RESTORE ADDR ADA MD1 BACK UP TO 3RD CHAR JSB CNPND IS IT DECIMAL ? JMP GTNX1 NO LDB ENTNO GET ENTRY NO. CPB ARG7,I EQUAL TO REQUESTED NO. ? JMP SRET1 YES INB INCREMENT COUNTER STB ENTNO GTNX1 EQU * LDA SRCDR GET RETURN ADDR ADA MD1 SET TO ORIGINAL ADDR STA SRCDR STORE UPDATED RETURN ADDR JMP GTNXE GET NEXT ENTRY SRET1 EQU * LDB ARG5 GET ADDR OF RETURN BUFFER STA B,I STORE PACK NO. JMP EFCON RETURN SVDEA BSS 1 SAVE ADDR OF ENTRY ENTNO BSS 1 ENTRY NO. SPC 3 STAPN NOP LDA ARG4 GET ADDR OF FILE NAME JSB NAM0? CHECK NAME GARG5 EQU * LDA ARG5,I GET PACK NO JSB CKPN CHECK PACK NO SZA,RSS PN000 ? JMP STAPN,I YES LDA ARG5,IW GET PACK NO. JSB GETPN PACK NO. AVAILABLE ? JSB ER6 NO STB SVDEA SAVE DIRECTORY ENTRY ADDR JSB SVPNS SAVE PACK NO. SEARCH ENVIRONMENT LDB SVDEA RESTORE DIRECTORY ENTRY ADDR ISZ STAPN P+2 JMP STAPN,I RETURN ST6PN NOP LDA ST6PN GET RETURN ADDR STA STAPN STORE RETURN ADDR JMP GARG5 CHECK PACK NO. SRCD2 NOP LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR SNXTD EQU * ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD STORE ITIN PACK NO. ENTRY STA B,I JSB SETD1 SET UP FOR EFMP SEARCH LDB ARG4 GET ADDR OF FILE NAME JSB SRCD3 FILE NAME FOUND ? JMP SRCD2,I NO, RETURN P+1 ISZ SRCD2 P+2 JMP SRCD2,I RETURN TNXTP NOP LDA ARG5,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JSB ER3 NO JSB REPNS RESTORE PACK NO. SEARCH ENVIRONMENT JSB GTNPN PACK NO. AVAILABLE ? JSB ER6 NO JMP SNXTD YES HED CHANGE FILE NAME * * CHANGE FILE NAME * FUN13 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY JSB CKNAP CHECK NAME AND PACK NO. LDA ARG3 GET ADDR OF CURRENT FILE NAME ADA D3 GET ADDR OF NEW FILE NAME JSB NAM0? CHECK NEW NAME LDA ARG4,I GET PACK NO. SSA TRY ALL PACKS ? JMP SANPN YES SZA,RSS PN000 ? JMP CNINC YES LDB ARG3 GET CURRENT FILE NAME JSB CKOPN IS IT OPEN ? JMP CKPN1 NO STB CFNEN SAVE OPEN TABLE FILE ENTRY ADDR LDA ARG4,I GET PACK NO. ADB D10 INCREMENT TO PACK NO. FIELD CPA B,I PACK NO.'S EQUAL ? RSS YES JMP CKPN1 NO LDB ARG3 GET ADDR OF NEW FILE NAME ADB D3 JSB CKOPN DUPLICATE ENTRY ? RSS NO JSB ER2 YES JSB SETD1 SET UP FOR EFMP LDB CFNEN GET OPEN TABLE ENTRY ADDR ADB D12 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET SUBCHANNEL STA PAKSC STORE SUBCHANNEL ADB MD10 BACK UP TO PACK NO. OFFSET FIELD LDA B,I GET PACK NO. OFFSET AND L8BT CLEAR THE LEFT BYTE LDB D4 JSB MPY CALC. THE DISPLACEMENT ADA OPNTB CALCULATE ADDR OF PACK NO. ENTRY STA PNEAD STORE THE PACK NO. ENTRY ADDR LDB ARG3 GET ADDR OF NAME ADB D3 JSB SRCD3 SEARCH FOR DUPLICATE RSS NO DUPLICATE JSB ER2 DUPLICATE LDB CFNEN GET ADDR OF OPEN TABLE ENTRY JSB GETDE GET DIRECTORY ENTRY LDB CNAME GET ADDR OF DIRECTORY ENTRY CINAD EQU * JSB CNGNM CHANGE NAME IN DIRECTORY ENTRY CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO WRITE NEW NAME LDB CFNEN GET OPEN TABLE ENTRY ADDR JSB CNGNM CHANGE NAME IN OPEN TABLE JMP EFCON RETURN CKPN1 EQU * CLA,INA CHECK FOR PACK NO. LDB ARG4,I GET PACK NO. JSB CKPNT PACK NO. IN TABLE ? RSS NO JMP SRCD1 YES SANPN EQU * LDA ARG4,I GET PACK NO. JSB GETPN PACK NO. AVAILABLE ? JSB ER6 NO SVPNN EQU * STB SVDEA SAVE DIRECTORY ENTRY ADDR JSB SVPNS SAVE PACK NO. SEARCH ENVIRONMENT LDB SVDEA RESTORE DIRECTORY ENTRY ADDR ADB D1 GET ADDR OF 3RD AND 4TH CHARS OF NAME STB APNSV SAVE ADDR OF 3RD CHAR OF PACK NO. LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR OF DUMMY PACK NO. ENTRY ADB D2 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S SRCD1 #EQU * JSB SETD1 SET UP FOR EFMP LDB ARG3 GET ADDR OF NEW NAME ADB D3 JSB SRCD3 SEARCH FOR DUPLICATE RSS NO DUPLICATE JSB ER2 DUPLICATE LDB ARG3 GET CURRENT FILE NAME JSB SRCD3 NAME FOUND ? RSS NO JMP CTCOP YES LDA ARG4,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JSB ER3 NO JSB REPNS RESTORE PACK NO. SEARCH ENVIRONMENT JSB GTNPN PACK NO. AVAILABLE ? JSB ER6 NO JMP SVPNN YES CTCOP EQU * STB DEAD1 SAVE DIRECTORY ENTRY ADDR ADB D6 INCREMENT TO SECURITY FIELD LDA ARG5,I GET SECURITY IN PARM LIST CPA B,I EQUAL ? RSS YES JSB ER7 NO LDA ARG4,I GET PACK NO. SSA,RSS ALL PACKS ? JMP CNOD NO LDB ARG3 GET CURRENT NAME JSB CKOPN FILE OPEN ? JMP CNOD NO LDA DPNO GET PACK NO. ADB D10 INCREMENT TO PACK NO. FIELD CPA B,I PACK NO.'S EQUAL ? RSS YES JMP CNOD NO LDB ARG3 GET ADDR OF NEW NAME ADB D3 JSB CKOPN CHECK FOR DUPLICATE IN OPEN TABLE RSS NO DUPLICATE JSB ER2 DUPLICATE LDB DEAD1 GET DIRECTORY ENTRY ADDR JMP CINAD CNOD EQU * LDB DEAD1 GET DIRECTORY ENTRY ADDR JSB CNGNM CHANGE NAME CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO WRITE NEW NAME JMP EFCON RETURN CNINC EQU * CHANGE NAME IN CORE LDB ARG3 ADDR. OF FILI NAME JSB CKOPN CHECK IF FILE OPEN JSB ER3 NOT OPEN STB DEAD1 SAVE OPEN TABLE ENTRY ADDR ADB D10 LDA B,I PACK NO. SZA TEMP FILE? JSB ER3 NO LDB ARG3 GET ADDR OF NEW NAME ADB D3 JSB CKOPN DUPLICATE OPEN :RSS NO JSB ER2 YES LDB DEAD1 GET DIRECTORY ENTRY ADDR JSB CNGNM CHANGE NAME JMP EFCON RETURN TO MAIN SPC 1 SPC 1 CNGNM NOP CHANGE NAME LDA MD2 STA MOVCT NO. WDS. TO MOVE LDA ARG3 ADDR. OF SOURCE ADA D3 JSB MOVE MOVE NAME LDA A,I 3RD WD. OF NAME (SOURCE) AND H8BT STRIP 5TH. CHAR. STA TCSTR LDA B,I 3RD WD. OF DESTINATION AND L8BT STRIP LO 8 BITS IOR TCSTR STA B,I REPACK 3RD. WD. OF ENTRY JMP CNGNM,I RETURN TCSTR BSS 1 TEMP. STORAGE DEAD1 BSS 1 ADDR OF DIRECTORY ENTRY ADPNE DEF DPNE ADDR OF DUMMY PACK NO. ENTRY DPNE BSS 4 DUMMY PACK NO. ENTRY CFNEN BSS 1 ADDR OF OPEN TABLE ENTRY APNSV BSS 1 ADDR OF PACK NO. HED MISCEL. MOVE NOP JSB MASUB DEC 1 POST NOP JSB MASUB DEC 2 POSTW NOP JSB MASUB DEC 3 CKVSU NOP JSB MASUB DEC 4 NAM0? NOP JSB MASUB DEC 5 CKPN NOP JSB MASUB DEC 7 SVPNS NOP JSB MASUB DEC 8 CKNAP NOP JSB MASUB DEC 9 SETD1 NOP JSB MASUB DEC 10 SETD2 NOP JSB MASUB DEC 11 GETDE NOP JSB MASUB DEC 12 REPNS NOP JSB MASUB DEC 13 CNPND NOP JSB MASUB DEC 15 GETPN NOP JSB MASUB DEC 17 CKOPN NOP JSB MASUB DEC 18 SRCD3 NOP JSB MASUB DEC 19 GTNPN NOP JSB MASUB DEC 20 CKCLM NOP JSB MASUB DEC 22 CMPAR NOP JSB MASUB DEC 23 CKPNT NOP JSB MASUB DEC 24 T.STS NOP JSB MASUB DEC 26 STT.S NOP JSB MASUB DEC 27 STZ NOP JSB MASUB DEC 28 GRTXX NOP JSB MASUB DEC 29 PRETS NOP JSB MASUB DEC 34 PRWIO NOP JSB MASUB 00.* DEC 35 MPY NOP JSB MASUB DEC 36 DIV NOP JSB MASUB DEC 37 SKP ER2 EQU * OCT 0 LDA D2 JSB ERR ER3 EQU * OCT 0 LDA D3 JSB ERR ER6 EQU * OCT 0 LDA D6 JSB ERR ER7 EQU * OCT 0 LDA D7 JSB ERR ER9 EQU * OCT 0 LDA D9 JSB ERR ER10 EQU * OCT 0 LDA D10 JSB ERR ER11 EQU * OCT 0 LDA D11 JSB ERR ER13 EQU * OCT 0 LDA D13 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER21 EQU * OCT 0 LDA D21 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER26 EQU * OCT 0 LDA D26 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR HED CONSTANTS AND VARIABLES A EQU 0 B EQU 1 . EQU 53B L7BT EQU 73B L8BT EQU 74B H8BT EQU 75B SCCNT EQU 156B SYSSC EQU 155B MXWPE DEC 9 WORDS/DIRECTORY ENTRY MD11 DEC -11 MD10 EQU .-10 MD8 EQU .-8 MD7 EQU .-7 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D5 EQU .+5 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D9 EQU .+9 D10 EQU .+10 D11 DEC 11 D12 DEC 12 D13 DEC 13 D14 DEC 14 D15 DEC 15 D21 DEC 21 D23 DEC 23 D26 DEC 26 D128 DEC 128 B12 EQU D10 BINARY B13 EQU D11 ASCII MAXRC DEC 32767 MAX. RECORD NO. AARG1 DEF ARG1 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 ARG5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 END 0   24309-80014 1523 S 0122 DOS EFMP $EX33              H0101 ASMB,R,B,L,C,X $EX33 7905 HED EFMP EXEC MODULE NAM $EX33,1,0 7905 ENT $EX33 EXT $SYIO,$WAIT EXT ERROR, EFCON EXT A$BUF,SECIO,TRKIO,NOPAS,EBIAS,SRCDR EXT AINVC,FLNGH,NOTRB,NSUWA,NXTFP,MOVCT EXT STSWA,TRBUF,TRBSZ,ARQP1,APN00,DPNO EXT PAKSC,NOSEC,PNEAD,OPNTB,GSC,GNS EXT NXPTL,GSC,GNS EXT MASUB **************************************************** 7905 * * 7905 * REV 4-21-75 * 7905 * * 7905 **************************************************** 7905 SPC 3 $EX33 EQU * NOP DUMMY LDB MD8 NO. OF ARGS. TO MOVE STB MOVCT LDA ARQP1 ADDR. OF SOURCE LDB AARG1 ADDR. OF DESTINATION JSB MOVE MOVE ARGS. LDA ARG2,I FUNCTION NO. CPA D11 JMP FUN11 CPA D12 JMP FUN12 JMP EFCON HED REPACK FUNCTION * * REPACK FUNCTION * FUN11 EQU * JSB CKVSU CHECK FOR VALID SETUP LDA ARG3,I PAKNO JSB CKPN CHECK PACK NO. SZA,RSS JSB ER15 JSB GETPN PACK NO. AVAILABLE ? JSB ER6 NO LDA ADPNE ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR SVNXT EQU * STB SVAEN SAVE ADDR OF ENTRY JSB SVPNS SAVE SEARCH ENVIRONMENT LDB SVAEN RESTORE ADDR OF ENTRY ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S IN PACK NO. ENTRY JMP REPAK GO REPACK RPNXT EQU * LDA ARG3,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JMP EFCON NO, RETURN JSB REPNS RESTORE SEARCH ENVIRONMENT JSB GTNPN PACK NO. AVAILABLE ? JMP EFCON NO, RETURN JMP SVNXT YES REPAK EQU * REPACK THIS PACK JSB POST POST ALL TRB'S JSB SETD1 SET UP FOR EFMP DIR. LDB AINVC ADDR. OF INVALID CHAR. NAME JSB SRCD1 SEARCH DIRECTORY JMP RPNXT REPACK NEXT PACK ADB D3 LDA PNEAD GET ADDR OF PACK NO. ENTRY LDA A,I GET STARTING T/S JSB T.STS CALCULATE T/S OF 1ST DESTROYED DATA ADA B,I ADA MD1 JSB STT.S STA RPNTS REPACK NEXT T/S FNXVF EQU * FIND NEXT VALID FILE JSB GTSDE GET A SINGLE DIRECTORY ENTRY JMP UDNAT NO MORE IN DIR. STB RPFPO REPACK-FILE POSITION LDA AINVC ADDR OF INVALID CHAR JSB CMPAR THIS FILE INVALID? RSS NO JMP FNXVF YES LDB RPFPO FILE POSITION JSB CALFS CALC. FILE SIZE STA NOSTM NO. OF SECT. TO MOVE LDA PAKSC GET SUBCHANNEL STA CPCSC COPY CURRENT SUB CH. STA CPDSC COPY DESIRED SUB CH. LDA RPNTS NEXT T/S FOR DATA JSB T.STS CONV TO SECT STA CPNXS COPY NEXT "T/S" LDB PNEAD ADDR OF PACK NO. ENTRY LDA B,I GET STATING T/S LDB RPFPO FILE POSITION ADB D3 JSB T.STS CONV. TO SECT. STA STSEC SAVE STARTING SECTOR ADA B,I SECTOR OF DATA TO BE MOVED ADA MD1 STA CPCTS COPY CURRENT "T/S" LDA STSEC GET STARTING SECTOR CMA,INA CALCULATE NEW STARTING REL SECTOR ADA CPNXS ADA D1 STA B,I UPDATE DIRECTORY ENTRY JSB CPMOV COPY-MOVE DATA CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO UPDATE DIRECTORY ENTRY LDB RPFPO ADDR. OF THIS FILE NAME JSB CKOPN 8 CHECK IF OPEN JMP RPMVE NOT OPEN ADB D12 LDA B,I SUB CH. IN O.T. CPA PAKSC SAME AS FILE BEING MOVED ? RSS YES JMP RPMVE ADB MD2 BACK UP TO PACK NO. FIELD LDA DPNO GET PACK NO. CPA B,I SAME PACK NO. ? RSS YES JMP RPMVE NO ADB MD7 LDA RPNTS NEW T/S FOR THIS FILE STA B,I UPDATE NEW T/S RPMVE EQU * LDA RPNTS NEXT DATA T/S JSB T.STS CONV. TO SECT. ADA NOSTM+1 NO. OF SECT. MOVED JSB STT.S CONV. BACK TO T/S STA RPNTS UPDATE NEXT DATA T/S JMP FNXVF FIND NEXT VALID FILE SPC 1 UDNAT EQU * UPDATE NEXT AVAIL. T/S LDA PNEAD ADDR OF PACK NO. ENTRY LDA A,I GET STARTING T/S JSB PRETS PREPARE T/S FOR I/O CLA READ LDB PAKSC SUBCHANNEL JSB PRWIO READ 1ST SECTOR LDA RPNTS CALCULATE LAST USED SECTOR JSB T.STS STA RPNTS LDA PNEAD CALCULATE STARTING SECTOR LDA A,I JSB T.STS CMA,INA ADA RPNTS CALCULATE NEW RELATIVE ENDING SECTOR LDB A$BUF ADB D8 STA B,I UPDATE LAST SECTOR ALLOCATED FIELD IN CORE CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO UPDATE DISC DIRECTORY LSA * REPACK DIRECTORY. DATA HAS BEEN REPACKED JSB SETD1 SET UP FOR EFMP DIR LDB AINVC ADDR. OF INVALID CHAR. JSB SRCD1 SEARCH DIRECTORY JSB ER23 JUMP SHOULD NEVER OCCUR LDA SECIO INITIALIZE TRACK AND SECTOR FOR REPACKED DIRECTORY STA NXSEC LDA TRKIO STA NXTRK ALF,ALF XOR SECIO STA NXSID NEXT SECT. TO BE USED IN DIR. CMB,INB ADB A$BUF CALC. BIAS IN $BUF CMB,INB ADB TRBUF BIAS 2ND DIR. TO BE USED STB NXLID NEXT LOC. TO BE USED IN DIR. CLB,INB L STB GNS NO. SECT. TO READ LDB PAKSC SUBCHANNEL STB GSC LDB TRBUF ADDR OF TRB JSB GRTXX READ SAME SECT. AS $BUF TO TRB LDB TRBUF ADB D128 STB E2BP1 END OF 2ND. BUF. PLUS 1 GNXVF EQU * JSB GTSDE GET NEXT DIR. ENTRY JMP RPEOD REPACK EOD STB RPFPO SAVE FILE POSITION IN $BUF LDA AINVC ADDR. OF INVALID CHAR. JSB CMPAR THIS FILE DISTROYED? RSS NO JMP GNXVF YES LDA NXLID NEXT LOC. IN DIR. (IN TRBUF) ADA MXWPE MAX. WDS./ENTRY CMA,INA ADA E2BP1 END OF TRBUF+1 SSA,RSS .LE.(ROOM FOR THIS ENTRY)? JMP RPDOK YES CCA STA NXLID,I PACK EOS FLAG JSB WTRBD WRITE DIR. IN TRBUF RPDOK EQU * REPACKED DIR. OK SO FAR LDA MXWPE MAX. WDS./ENTRY CMA,INA STA MOVCT NO. WDS. TO MOVE LDA RPFPO FILE POSITION IN $BUF (SOURCE) LDB NXLID FILE POSITION IN TRBUF (DEST.) JSB MOVE MOVE DIR. ENTRY STB NXLID UPDATE NEXT LOC. IN TRBUF LDA TRKIO GET TRACK OF CURRENT ENTRY ALF,ALF XOR SECIO GET SECTOR OF CURRENT ENTRY CPA NXSID CURRENT ENTRY SAME AS NEW ENTRY JMP GNXVF YES LDB NXLID GET ADDR OF FILE NAME ADB MD9 JSB CKOPN IS FILE OPEN ? JMP GNXVF NO ADB D12 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET SUBCHANNEL CPA PAKSC SAME SUBCHANNEL AS FILE BEING REPACKED ? RSS YES JMP GNXVF NO ADB MD2 BACK UP TO PACK NO. FIELD LDA DPNO GET PACK NO. CPA B,I SAME PACK NO. ? RSS YES JMP GNXVF NO ADB MD1 BACK UP TO DIRECTORY ENTRY T/S FIELD LDA NXSID GET NEW DIRECTORY ENTRY T/S STA B,I STORE NEW DIRECTORY ENTRY T/S IN OPEN TABLE JMP GNXVF GET NEhXT VALID FILE SPC 1 RPEOD EQU * REPACK EOD FLAG LDA TRBUF EOD FLAG AT WORD ONE OF 7905 CPA NXLID OF A SECTOR 7905 RSS YES 7905 JMP RPNO. NO 7905 STB TEMP SAVE THE B-REG 7905 LDA NXSID READ PREVIOUS SECTOR 7905 ADA MD1 7905 STA NXSID 7905 LDB TRBUF GET BUFFR ADDR 7905 JSB GRTXX READ SECTOR 7905 LDA E2BP1 CALCULATE END OF DIRECTORY 7905 ADA MD2 FOR THIS SECTOR 7905 STA NXLID RESET POINTER 7905 LDB TEMP RESET B-REG 7905 RPNO. EQU * 7905 CLA STA NXLID,I PACK EOD FLAG JSB WTRBD WRITE DIR. FROM TRBUF JMP RPNXT REPACK NEXT PACK TEMP NOP 7905 SPC 1 WTRBD NOP WRITE DIR. CONTAINED IN TRBUF CLB,INB STB GNS NO. SECT. TO WRITE LDB PAKSC SUBCHANNEL STB GSC LDB TRBUF ADDR. OF TRB LDA NXSID SECT. IN TRB JSB GWTXX GENERAL WRITE LDA NXSEC GET SECTOR INA INCREMENT TO NEXT SECTOR STA NXSEC STORE NEW SECTOR CMA,INA ADA SECTR SZA END OF TRACK ? JMP GNTSD NO STA NXSEC YES, SECTOR 0 LDA NXVTRK GET CURRENT TRACK INA INCREMENT TO NEXT TRACK STA NXTRK STORE NEW TRACK GNTSD EQU * LDA NXTRK UPDATE NXSID FIELD ALF,ALF XOR NXSEC STA NXSID LDA TRBUF STA NXLID REINTIALIZE NEXT LOC. IN TRBUF JMP WTRBD,I RETURN SPC 1 GTSDE NOP LDA AGSDR GET RETURN ADDR STA SRCDR STORE RETURN ADDR CCA NO COMPARE SWITCH STA NOPAS STORE SWITCH JMP EBIAS GET NEXT DIRECTORY ENTRY GTSDR EQU * JMP GTSDE,I END OF DIRECTORY ISZ GTSDE P+2 JMP GTSDE,I RETURN P+2 AGSDR DEF GTSDR SPC 1 NXSID OCT 0 NEXT SECT.(IN TRBUF) NXLID OCT 0 NEXT AVAIL. LOC. IN TRBUF E2BP1 OCT 0 START OF 2ND SECT. IN TRBUF SVAEN BSS 1 SAVE FOR ENTRY ADDR ADPNE DEF DPNE ADDR OF DUMMY PACK NO. ENTRY DPNE BSS 4 DUMMY PACK NO. ENTRY STSEC BSS 1 STARTING SECTOR NXSEC BSS 1 NEW SECTOR FOR REPACKED DIRECTORY ENTRY NXTRK BSS 1 NEW TRACK FOR REPACKED DIRECTORY ENTRY RPFPO OCT 0 FILE POSITION RPNTS OCT 0 REPACKED NEW T/S HED COPY FUNCTION * * COPY FUNCTION * FUN12 EQU * JSB CKVSU CHECK IF VALID SETUP JSB POST POST ALL TRB'S LDA ARG3 POINTER TO FILE NAME JSB NAM0? NAME =0? LDB ARG3 POINTER TO FILE NAME JSB CKOPN CHECK IF FILE OPEN JSB ER11 FILE NOT OPEN STB CPFPO COPY-FILE POSITION ADB D3 LDA B,I T/S OF DATA JSB T.STS CONV TO SECT. STA CPCTS CURRENT DATA "T/S" STA CPCTS+1 ADB D7 LDA B,I CURRENT P.N. STA CPCPN ADB D2 LDA B,I SUB CH. STA CPCSC CURRENT SUB CH. CLA CPA CPCPN PN000 ? JMP NSCOD NO SECURITY CODE ADB MD10 LDA B,I GET OFFSET AND L8BT CLEAR LEFT BYTE LDB D4 JSB MPY ADA OPNTB CALCUALTE ADDR STA PNEAD STORE ADDR LDA CPFPO SET UP SUB CHAN FOR BFMP FILE SEARCH ADA D12 LDA A,I STA PAKSC JSB SETD1 SET UP FOR EFMP DIR. JSB SRCD1 SEARCH DIRECTORY JSB ER3 FILE NOT IN DIR. ADB D6 LDA B,I SECURITY CODE RSS NSCOD EQU * CLA STA SCODE SAVE IT FOR LATER COPY LDA ARG4,I PACK NO. SSA,RSS CMA,INA ADA D999 SSA TOO BIG? JSB ER15 YES LDA ARG4,I PACK NO. SSA CMA,INA STA DPNO STORE PACK NO LDA ARG4,I PACK NO. SZA,RSS JMP CPTOS COPY FROM PACK TO SYST. SSA JMP CPSTD COPY SYST. TO PACK * COPY PACK TO PACK * COPY TO SYST. PACK FIRST JSB GETPN GET SPECIAL PACK NO. RSS DESIRED DEST. PACK NOT AVAIL. JMP DPAVL DESIRED DESTINATION PACK AVAIL. JSB GPN00 JSB CLSTM CALC. NO. SECTORS TO MOVE LDA AGETD GET RETURN ADDR STA CPMOV PACK RETURN ADDR LDA MTRBS MAX. SECT. TO MOVE/READ-WRITE JMP CPYMR COPY MORE SECTORS AGETD DEF GETD * COPY SYST. PACK TO DEST. PACK GETD JSB GETDP GET DESTINATION PACK JSB ER22 * CREATE FILE ON DEST. PACK DPAVL EQU * DEST. PACK AVAILABLE LDA PAKSC GET SUBCHANNEL STA CPDSC SAVE SUBCHANNEL ADB D3 INCREMENT TO STARTING T/S FIELD LDA ADPNE ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR LDB B,I GET STARTING T/S STB A,I STORE STARTING T/S IN PACK NO. ENTRY JSB SETD1 SET UP FOR EFMP FILES LDB CPFPO FILE POSITION JSB SRCD1 SEARCH DIRECTORY RSS NO DUPLICATES JSB ER2 DUPLICATE FILE NAME STB NXTFP SAVE NEXT FILE LOC. LDB CPFPO OPEN-FILE POSITION JSB CALFS CALC. FILE=  SIZE(IN SECTORS) STA NOSEC SAVE SECTORS REQUIRED STA CPNSF SAVE SECTORS REQUIRED JSB CKSPC SPACE AVAILABLE ? JSB ER4 NO LDB CPFPO SET UP SECURITY CODE IN OPEN TABLE ADB D6 LDA SCODE STA B,I LDA MXWPE SIZE OF ENTRY TO CREATE LDB CPFPO ADDR OF ENTRY TO COPY JSB CKDSP DIRECTORY ENTRY CREATED ? RSS NO JMP CLRSC YES LDB CPFPO CLEAR SECURITY CODE IN OPEN TABLE ADB D6 STB CPFPO CLB STB CPFPO,I STB SCODE CLEAR SECURITY CODE SZA NO FILE SPACE ? JSB ER24 NO JSB ER4 YES CLRSC EQU * LDB PNEAD GET ADDR OF DUMMY PACK NO. ENTRY STB PNSAV SAVE ADDR CLA,INA SEARCH FOR EXISTING ENTRY LDB DPNO GET PACK NO. JSB CKPNT IS PACK NO. ACTIVE ? JMP NOCPN NO LDA PNEAD GET ADDR OF ACTIVE ENTRY ADA D3 INCREMENT TO LSA FIELD LDB PNSAV GET ADDR OF DUMMY ENTRY ADB D3 INCREMENT TO LSA FIELD LDB B,I GET UPDATED LSA STB A,I UPDATE ACTIVE ENTRY WITH NEW LSA NOCPN EQU * LDB PNSAV GET ADDR OF DUMMY ENTRY STB PNEAD RESTORE ADDR LDB CPFPO CLEAR SECURITY CODE IN OPEN TABLE ADB D6 CLA STA B,I STA SCODE CLEAR SECURITY CODE LDB PNEAD GET ADDR OF PACK NO. ENTRY LDA B,I GET STARTING T/S JSB T.STS CONVERT TO SECTORS ADB D3 INCREMENT TO LSA FIELD ADA B,I ADD LSA TO REL. STARTING SECTOR LDB NOSEC GET SIZE OF LAST FILE CREATED CMB,INB COMPUTE STARTING RELATIVE SECTOR ADA B STA CPNXS STORE STARTING T/S STA CPNXS+1 STORE STARTING T/S LDA ARG4,I PAKNO SSA,RSS JMP CPTOD COPY TO DESTINATION PACK * COPY FROM SYSTEM PACK TO DEST. PACK * (FOR SYST. TO DESTm. PACK COPY) LDB SYSSC GET SYSTEM SUBCHANNEL STB PAKSC STORE SUBCHANNEL JSB SETD2 SET UP FOR DOS-M SEARCH LDB APN00 GET ADDR OF NAME JSB SRCD1 SEARCH DIRECTORY JSB ER23 NOT FOUND JSB CLWAP CALC. WORK AREA PARAMETERS LDA CPNXS+1 NEXT "T/S" FOR DEST. PACK STA CPNXS JSB CPMOV COPY-MOVE SYST. TO DEST. JMP EFCON RETURN TO MAIN SPC 1 CPSTD EQU * COPY SYST. TO DEST. PACK LDB CPFPO FILE POSITION ADB D10 INCREMENT TO PACK NO. FIELD CLA CPA B,I PN000 ? JMP GETD GET DEST. PACK JSB ER3 * COPY FROM SYST. PACK TO DEST. * (FOR PACK TO PACK COPY) CPTOD EQU * COPY TO DESTINATION LDA CPCPN CURRENT P.N. JSB GETPN GET PACK NO. RSS PACK NOT AVAILABLE JMP GOCPY SOURCE AND DEST AVAIL.,GO COPY JSB GPN00 JMP *+3 MRTOD EQU * MORE TO MOVE LDB PAKSC STB CPDSC DEST. PACK SUB CH. LDA SYSSC SYSTEM SUB CH. STA CPCSC CURRENT SUB CH. LDA BWATS BEGINNING OF FREE W/A T/S STA CPCTS CURRENT "T/S" FOR W/A LDA CPNXS+1 NEXT "T/S" FOR DEST. PACK STA CPNXS NEXT "T/S" TO MOVE LDA NOSTM+1 NO. OF SECT. MOVED LAST TIME STA NOSTM NO. OF SECT. TO MOVE THIS TIME JSB CPMOV MOVE W/A TO DESTINATION LDA CPALF ALL SECT. XFERED FLAG SSA FINISHED? JMP EFCON YES, RETURN TO MAIN INA STA CPNSF NO. SECT. LEFT TO MOVE STA NOSTM NO. OF SECT. TO MOVE JSB GETSP GET SOURCE PACK JMP CPYT TERMINATE LDB PAKSC STB CPCSC CURRENT SUB CH. LDA CPNSF NO. SECT. LEFT IN FILE STA NOSTM NO. SECT. TO MOVE THIS TIME JSB CLSTM CAL. IF NO. SECT. DIFFERENT LDA CPNXS+1 NEXT "T/S" OF DEST. PACK ADA NOSTM+1 NO. SECT. MO@(<:6VED LAST TIME STA CPNXS+1 LDA CPCTS+1 CURRENT SOURCE PACT "T/S" ADA NOSTM+1 NO. OF SECT. MOVED LAST TIME STA CPCTS+1 STA CPCTS CURRENT "T/S" TO MOVE LDA BWATS BEGINNING FREE W/A T/S STA CPNXS NEXT "T/S" TO MOVE LDA *+4 STA CPMOV PACK RETURN ADDR. LDA MTRBS MAX. TRB SECT. JMP CPYMR MOVE FROM SOURCE TO W/A DEF *+1 RETURN ADDR. JSB GETDP GET DESTINATION PACK JSB ER22 JMP MRTOD COPY W/A TO DEST. PACK SPC 1 CPTOS EQU * COPY TO SYST. PACK JMP SPN00 GO SEARCH FOR PN000 CKPN0 EQU * CLA CLEAR PACK NO. USED SWITCH STA PNESW STORE SWITCH CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 M<  24309-80015 1523 S 0122 DOS EFMP $EX33              H0101  JSB CKPNT ENTRY FOUND ? JMP CKDPN NO LDA CPFPO GET OPEN TABLE ENTRY ADDR ADA D2 INCREMENT TO PACK NO. OFFSET FIELD LDB A,I GET PACK NO. OFFSET STB PNOFF SAVE IT ADA MD2 START OF OPEN TABLE ENTRY JSB STPNO STORE NEW PACK NO. OFFSET LDA PNOFF GET OLD OFFSET JSB MVPNT UPDATE PACK NO. TABLE CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 JSB CKPNT UPDATE 'PNEAD' FOR PN000 JSB ER16 BRANCH NEVER OCCURS JMP MOVDA MOVE DATA CKDPN EQU * LDA CPFPO GET OPEN TABLE ADDR ADA D10 INCREMENT OT PACK NO. FIELD LDB A,I GET PACK NO. STB PNOFF SAVE PACK NO. CLB NEW PACK NO. IS 0 STB A,I STORE NEW PACK NO. CLA,INA SEARCH FOR EXISTING ENTRY LDB PNOFF GET OLD PACK NO. JSB CKPNT CAN OLD PACK NO. ENTRY BE USED FOR PN000? RSS YES JMP GPNE NO CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 JSB CKPNT UPDATE 'PNEAD' FOR PN000 JSB ER16 ERROR NEVER OCCURS JMP MVPNE INIT REAL PACK NO. ENTRY GPNE EQU * CLA SEARCH FOR AVAILABLE ENTRY JSB CKPNT ENTRY AVAILABLE ? JMP NENTA NO CLA,INA SET PACK NO. USED SWITCH STA PNESW STORE SWITCH MVPNE EQU * LDA MD4 SIZE OF PACK NO. ENTRY(-) STA MOVCT LDA ADPNE ADDR OF SOURCE(DUMMY PACK NO. ENTRY) LDB PNEAD ADDR OF REAL PACK NO. ENTRY JSB MOVE MOVE PACK NO. ENTRY JMP MOVDA GO MOVE DATA NENTA EQU * LDA CPFPO GET OPEN TABLE ENTRY ADDR ADA D10 INCREMENT TO PACK NO. FIELD LDB PNOFF GET OLD PACK NO. STB A,I RESTORE ORIGINAL PACK NO. JSB ER16 NO SPN00 EQU * JSB GPN00 JMP CONTU CONTINUE GPN00 NOP  CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 JSB CKPNT ENTRY FOR PN000 EXIST ? RSS NO JMP SUWAP YES LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD USE DUMMY ENTRY LDA SYSSC GET SYSTEM SUBCHANNEL STA PAKSC STORE SUBCHANNEL JSB SETD2 SET UP FOR DOS-M SEARCH LDB APN00 GET ADDR OF NAME JSB SRCD1 PN000 EXIST ? JMP CPN00 NO ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S STB SVAEN SAVE DIREC ENTRY ADDR LDB PNEAD GET PACK NO. ENTRY ADDR STA B,I STORE STARTING T/S IN PACK NO. ENTRY STA STSWA STORE STARTING T/S LDB SVAEN RESTORE DIREC ENTRY ADDR INB INCREMENT TO FILE SIZE FIELD LDA B,I GET FILE SIZE LDB PNEAD GET PACK NO. ENTRY ADDR INB INCREMENT TO FILE SIZE FIELD STA B,I STORE FILE SIZE LDA SECTR GET DIRECTORY SIZE ADA MD1 INB INCREMENT TO DIREC SIZE FIELD STA B,I STORE DIRECTORY SIZE CLA LSA INB INCREMENT TO LSA FIELD STA B,I STORE LSA IN PACK NO. ENTRY CLA SET NO. SECT. USED TO 0 STA NSUWA JMP SUWAP CPN00 EQU * JSB CRPN0 CREATE PN00 SUWAP EQU * JSB CLWAP CALC. WORK AREA PARAMETERS JMP GPN00,I RETURN CONTU EQU * LDA NSUWA NO. SECT. USED IN W/A CMA,INA ADA FLNGH CALC. NO. AVAILABLE SECT. CMA ADA CPNSF NO. SECT. IN FILE SSA,RSS W/A .GE. FILE SIZE? JSB ER17 NO JMP CKPN0 GO CHECK FOR A PACK NO. ENTRY MOVDA EQU * LDA SYSSC SYST. SUB CH. STA CPDSC DESIRED SUB CH. JSB CPMOV MOVE SECTORS LDA CPFPO GET OPEN TABLE ENTRY ADDR JSB STPNO STORE NEW PACK NO. OFFSET LDB CPFPO FILE POSITION IN O.T. ADB D3 LDA BWATS BEGINNING WORK AREA "T/S" JSB STT.S CONV. TO T/S STA B,I NEW T/S ADB D6 CLA STA B,I CLEAR DIRECTORY ENTRY T/S FIELD INB STA B,I NEW PACK NO. ADB D3 STA B,I FORCE CUR. T/S TO ZERO ADB MD1 LDA SYSSC SYST. SUB CH. STA B,I NEW SUB CH. LDA NSUWA NO. SECT. USED IN W/A ADA CPNSF NO. SECT. IN FILE STA NSUWA UPDATE NEW NO. LDB PNEAD GET PACK NO. ENTRY ADDR ADB D3 INCREMENT TO LSA FIELD STA B,I STORE NEW LSA LDA PNESW GET PACK NO. ENTRY USED SWITCH SZA,RSS NEW ENTRY USED ? JMP EFCON NO LDA NXPTL UPDATE ADDR OF NEXT PACK NO. ENTRY ADA D4 STA NXPTL JMP EFCON RETURN TO MAIN SPC 1 GOCPY EQU * COPY PACK TO PACK LDA PAKSC GET SOURCE FILE SUBCHANNEL STA CPCSC SET UP SUBCHANNEL FOR COPY LDA CPCTS+1 GET DISC ADR. OF SOURCE STA CPCTS SET UP DISC ADR FOR COPY LDA CPNSF NO. OF SECT. IN THIS FILE STA NOSTM NO. OF SECT. TO MOVE JSB CPMOV MOVE JMP EFCON RETURN TO MAIN SPC 1 CPYT EQU * COPY TERMINATE LDA DPNO DESIRED PACK NO. JSB GETPN GET SPECIAL PACK NO. JSB ER22 ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S STA DPNE STORE STARTING T/S LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR JSB SETD1 SET UP FOR EFMP DIR LDB CPFPO ADDR. OF FILE NAME JSB SRCD1 SEARCH DIRECTORY JSB ER22 ADB D8 CLA STA B,I "HRA" ON DISC CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO UPDATE DIRECTORY ENTRY JSB ER22 SKP CPMOV NOP COPY MOVE LD({A NOTRB NO. OF TRB'S LDB TRBSZ JSB MPY STA MTRBS MAX. TRB SIZE CPYMR EQU * COPY MORE CLB STB NOSTM+1 INITIALIZE NO. SECT. MOVED THIS TIME CMA,INA ADA NOSTM NO. SECT LEFT TO MOVE LDB NOSTM STA NOSTM UPDATE NO. LEFT TO MOVE SSA,RSS LDB MTRBS GET SMALLER OF TWO SZB,RSS FINISHED? JMP CPMOV,I YES STB GNS NO. SECT. TO XFER LDA CPCSC CURRENT SUB CH. STA GSC LDA CPCTS CURRENT T/S JSB STT.S CONV. TO T/S LDB TRBUF START OF I/O AREA JSB GRTXX READ SECTORS LDA CPDSC DESIRED DISC STA GSC LDA CPNXS NEXT "T/S" JSB STT.S CONV. TO T/S LDB TRBUF START OF I/O AREA JSB GWTXX WRITE DESIRED SECTORS LDA CPCTS CURRENT T/S ADA GNS NO. SECT. MOVED STA CPCTS UPDATE CURRENT T/S LDA CPNXS NEXT "T/S" ADA GNS NO. SECT. MOVED STA CPNXS UPDATE NEXT "T/S" LDA NOSTM+1 NO. OF SECT. MOVED THIS TIME ADA GNS NO. SECT. MOVED STA NOSTM+1 LDA MTRBS MAX. TRB SECTORS LDB NOSTM NO. SECT. LEFT TO MOVE SSB,RSS FINISHED? JMP CPYMR+2 NO, COPY MORE JMP CPMOV,I RETURN SPC 3 * CALFS - CALCULATE FILE SIZE (IN SECTORS) * ENTER: * B = STARTING ADDR. OF FILE * EXIT: * A = FILE SIZE (IN SECTORS) * CALFS NOP CALC. FILE SIZE ADB D4 LDA B,I FILE LENGTH (IN RECORDS) INB LDB B,I RECORD LENGTH (IN WORDS) JSB MPY JSB DIV DEF D128 SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR SZB OVERFLOW? INA YES, ADD 1 FULL SECTOR JMP CALFS,I RETURN SPC 1 CLSTM NOP CAL. NO. SECT. TO MOVE LDA NOTRB NO. OF TRB'S LDB TRBSZ ^@ JSB MPY STA MTRBS MAX. TRB SECTORS LDA NSUWA NO. SECT. USED IN W/A CMA,INA ADA FLNGH DOS-M FILE LENGTH (OF W/A STA B CMA ADA MTRBS CALC. LENGTH OF WORK AREA LEFT SSA,RSS FILE LENGTH .LT. MAX. SECTORS. STB MTRBS SAVE SMALLEST NO. SECT. TO WRITE LDA B WORK AREA LEFT CMA ADA CPNSF NO. OF SECT. IN FILE TO COPY SSA,RSS W/A .GE. FILE LENGTH STB NOSTM NO. OF SECT. TO MOVE AT 1 TIME STA CPALF COPY-ALL FLAG * CPALF = (-), ALL RECORDS COPIED * = (+), NO. OF RECORDS YET TO COPIED-1 LDA SYSSC SYST. SUB CH STA CPDSC PACK DESIRED SUB CH. JMP CLSTM,I RETURN SPC 3 CLWAP NOP CALC. WORK AREA PARAMETERS LDB PNEAD GET PACK NO. ENTRY ADDR LDA B,I GET STARTING T/S JSB T.STS CONV. TO SECT. ADA NSUWA NO. SECT. USED IN W/A STA CPNXS STARTING "T/S" IN W/A STA BWATS BEGINNING FREE W/A "T/S" INB LDA B,I FILE LENGTH(IN SECTORS) STA FLNGH LDB CPFPO FILE POSITION IN W/A JSB CALFS CALC. FILE SIZE (IN SECT.) STA CPNSF SAVE NO. SECT. IN FILE STA NOSTM NO. SECT. TO MOVE JMP CLWAP,I RETURN SPC 1 GETDP NOP GET DESTINATION PACK LDA DPNO DESIRED PACK NO. JSB GETPN GET PACK NO. JMP *+3 PACK NOT AVAILABLE ISZ GETDP P+2, PACK AVAILABLE JMP GETDP,I RETURN JSB $SYIO DEC 2 WRITE OCT 1 L.U. DEF MS1 INSERT DESTINATION PACK ABS LM1 DEF *+2 JMP $WAIT HLT 76B JSB RCORT READ C OR T JMP GETDP,I P+1, TERMINATE JMP GETDP+1 CONTINUE SPC 1 GETSP NOP GET SOURCE PACK LDA CPCPN JSB GETPN GET PACK NO. JMP *+3 PACK NOT AVAILABLE ISZ GETSP P+2, PACK AVAILABLE JMP GETSP,I RETURN JSB $SYIO DEC 2 WRITE OCT 1 L.U. DEF MS2 INSERT SOURCE PACK ABS LM2 NO. WORDS DEF *+2 JMP $WAIT HLT 76B JSB RCORT READ C OR T JMP GETSP,I P+1, TERMINATE JMP GETSP+1 CONTINUE SPC 1 RCORT NOP READ C OR T JSB $SYIO DEC 2 WRITE OCT 1 L.U. DEF MS3 ENTER C OR T ABS LM3 DEF *+2 JMP $WAIT JSB $SYIO DEC 1 READ OCT 401 DEF MS4 ABS LM4 DEF *+2 JMP $WAIT LDA MS4 C OR T AND H8BT CPA T JMP RCORT,I P+1, TERMINATE CPA C RSS JMP RCORT+1 INVALID, REPEAT ISZ RCORT P+2 JMP RCORT,I CONTINUE C OCT 041400 T OCT 052000 MS1 ASC 19,INSERT DESTINATION PACK AND PRESS RUN. LM1 EQU *-MS1 MS2 ASC 17,INSERT SOURCE PACK AND PRESS RUN. LM2 EQU *-MS2 MS3 ASC 7,ENTER C OR T. LM3 EQU *-MS3 MS4 OCT 0 LM4 EQU *-MS4 CPCSC OCT 0 CURRENT SUB CH. CPCTS OCT 0,0 CURRENT "T/S" (IN SECTORS) CPDSC OCT 0 DESIRED SUB CH. CPNXS OCT 0,0 NEXT FILE SECT. MTRBS OCT 0 MAX. TRB SECTORS NOSTM OCT 0,0 NO. SECT. LEFT TO MOVE SPC 1 BWATS OCT 0 BEGINNING FREE W/A "T/S" CPALF OCT 0 COPY-ALL FLAG,(-)FIN,(+)SEC.LF-1 CPCPN OCT 0 CURRENT PACK NO. CPFPO OCT 0 COPY-FILE POSITION IN O.T. CPNSF OCT 0,0 NO. OF SECT. IN THIS FILE SCODE OCT 0 SECURITY CODE PNOFF OCT 0 PACK NO. OFFSET PNSAV BSS 1 PACK NO. ENTRY ADDR PNESW BSS 1 PACK NO. ENTRY USED SWITCH HED MISCEL. MOVE NOP JSB MASUB DEC 1 POST NOP JSB MASUB DEC 2 CKVSU NOP JSB MASUB DEC 4 NAM0? NOP JSB MASUB DEC 5 CRPN0 NOP JSB MASUB DEC 6 CKPN NOP  JSB MASUB DEC 7 SVPNS NOP JSB MASUB DEC 8 SETD1 NOP JSB MASUB DEC 10 SETD2 NOP JSB MASUB DEC 11 REPNS NOP JSB MASUB DEC 13 MVPNT NOP JSB MASUB DEC 16 GETPN NOP JSB MASUB DEC 17 CKOPN NOP JSB MASUB DEC 18 SRCD1 NOP JSB MASUB DEC 19 GTNPN NOP JSB MASUB DEC 20 CKDSP NOP JSB MASUB DEC 21 CMPAR NOP JSB MASUB DEC 23 CKPNT NOP JSB MASUB DEC 24 T.STS NOP JSB MASUB DEC 26 STT.S NOP JSB MASUB DEC 27 GRTXX NOP JSB MASUB DEC 29 GWTXX NOP JSB MASUB DEC 30 CKSPC NOP JSB MASUB DEC 31 STPNO NOP JSB MASUB DEC 32 PRETS NOP JSB MASUB DEC 34 PRWIO NOP JSB MASUB DEC 35 MPY NOP JSB MASUB DEC 36 DIV NOP JSB MASUB DEC 37 SKP ER2 EQU * OCT 0 LDA D2 JSB ERR ER3 EQU * OCT 0 LDA D3 JSB ERR ER4 EQU * OCT 0 LDA D4 JSB ERR ER6 EQU * OCT 0 LDA D6 JSB ERR ER11 EQU * OCT 0 LDA D11 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER16 EQU * OCT 0 LDA D16 JSB ERR ER17 EQU * OCT 0 LDA D17 JSB ERR ER22 EQU * OCT 0 LDA D22 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER24 EQU * OCT 0 LDA D24 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR HED CONSTANTS AND VARIABLES A EQU 0 B EQU 1 . EQU 53B L8BT EQU 74B H8BT EQU 75B SECTR EQU 116B SYSSC EQU 155B MD10 EQU .-10 MD9 EQU .-9 MD8 EQU .-8 MD7 EQU .-7 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 I0.*D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D10 EQU .+10 D11 DEC 11 D12 DEC 12 D15 DEC 15 D16 DEC 16 D17 DEC 17 D22 DEC 22 D23 DEC 23 D24 DEC 24 D128 DEC 128 D999 DEC 999 MXWPE DEC 9 AARG1 DEF ARG1 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 ARG5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 END m0   24312-80001 A S 0122 12K SIO HP7970 MAG TAPE DRIVER             H0101 t ASMBAB̬ HDKSϠHP90DVҠ G0006B DƠMD-ASԠDAVAABŠMMY DƠMDDVҠNYPN SPà DVҠNAZANSN SPà PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNADɯ ADDSSҠHŠ90MAGAPŠDV. SPà UNƠHSSNSBGUNAԠAN: SPà (MP3 (3DƠ.M SPà HSHS00-05ɯϠADDSS SPà HSSNSASDAҠHŠNAZAN SMPD. SPà G0000B MP00003BɠSԠSANG DƠ.MԠPNԠNAND3 SPà KŠU0000BKMMYSZŠVSN SPà GK+06000B SPà NGUŠɯ0NSUNS SPà NGHԠ00B SPà SSנU0BSNSŠSHGSҠADDSS. .MԠASSנGԠDAAHANN̠ADDSS SAUNSSAVŠHŠSHPNS. AND. SABSAVŠDAAHANN̠ADDSSNB ADAM.0"SUBA":S..-0B. SSASHANN̠NUMBҠ<0B? MPNGYSGϠSAԠNGUAN. ADAMAH"SUBA":S..-0B. SSASSSHANN̠NUMBҠ6B? MPNGYSGϠSAԠNGUAN. SPà DAñADAAàNSUNS ADAB SAM.3 SPà DAòADAAàNSUNS ADAB SAM.3 SPà DAôàDAANSUNS ADAB SAM.5 SAM.50 SAM.3 SPà DA5SSDAANSUNS ADAB SAM. SAM.6 SPà DAñSàDAAàNSUNS ADABNUDŠHŠHANN̠NUMB. SAM.9SŠHŠNSUN. SAM.SŠHŠNSUN. 5SPà DAñ3ƠDAANSUN. ADABNUDŠHŠHANN̠NUMB. SAM.SŠHŠNSUN. SPà DA6AMNDNSUNS ADAB SAS. SPà DA÷BMNDNSUNS ADAB SAS.0 SPà DAøSàMNDNSUNS ADAB SAP SAM.0SŠHŠNSUN. SPà DA9SSMNDNSUNS ADAB SAM.0 SAM. SPà DAñ0AMNDNSUNS ADAB SAM. SAM. SPà DAñSàMNDàNSUNS ADAB SAM. SAM.6 SPà DA0BMNDNSUN. ADAB SA.B SPà DA3àMNDNSUN. ADAB SAM. SAM.6 SPà DAUNSADHŠSHPNS. A̬A̠SHԠBԠϠBԠ0. SAA̠SMAMUMUNԠ3? MPNGYSһSA. A̠SHԠUNԠMAMUMϠ-0. AND.3SAŠHŠMAMUMUNԠNUMB. PA.3AŠHŠU(MԠUNS? MPSPYSMNAŠNGUAN. DBS0NϬADHŠS0MMAND. SBS3SԠUNԠ3ϠBŠUNԠ0. PADòAŠHŠH(3MԠUNS? MPSPYSMNAŠNGUAN. SBS̲NϬMAKŠUNԠUUNԠ0. PADñAŠHŠ(MԠUNS? MPSPYSMNAŠNGUAN. SBS̱NϬMAKŠUNԠUUNԠ0. SPà SPHԠBNDƠDVҠNGUAN. SPà DA.S̱ADHŠSԠUNԠMMAND. SAS̱SŠHŠMMAND. DA.S̲ADHŠSԠUNԠMMAND. SAS̲SŠHŠMMAND. DA.S35ADHŠSԠUNԠ3MMAND. SAS3SŠHŠMMAND. MP.M SPà .Ԡ M.0Ԡ-0 MAHԠ-60 UNSNP .S̱Ԡ0000SԠUNԠMMAND. .S̲Ԡ0000SԠUNԠMMAND. .S3Ԡ0000SԠUNԠ3MMAND. SPà ɯϠNSUNS SPà 0BMND ñADAA òADAA 3àMND ôàDAA 5SSDAA 6AMND ÷BMND øSàMND 9SSMND ñ0AMND ñSàMND ñSàDAA ñ3ƠDAA SPà NDƠASABŠNAZANSN SPà .P.̠U005BDVҠNGH. GK+035B-.P. SPà ..A.ƠSϠMԠDVҠMUSԠBŠ66B. SPà ..A.ƠSϠMԠDVҠMUSԠBŠ<ط35B. SKP ANGSUN:(ůAD SPà DANGD MSDƠ+ ASà9D̠BŠPNDAS ASàAD. HDBUƠASà9Š:D: ASàNUMBҠƠBYS: SKP NSANSANDSAGŪ SPà AU0-A-GS. AM0KDƠDM0KDMA̠NVABŠADDSS. BU-B-GS. BԠ B3Ԡ3 BԠ BԠ BKԠ00UPPҠBSMASK. B3KԠ36K-DSMԠMASK. BM0Ԡ-0ASɠ0ϠBANKNV.D. BNKSԠ000ASɠBANKS. BSҠԠBAKSPAŠDD. BYBUƠDƠHDBU+30ADDSSƠNVDBYŠUN. BYNԠNP BYԠNP MNDUBMAGAPŠMMANDHANN. NҠNP N נABS0000B+DAADMAN̠D(90. Z נABS60000B+DAADMAN̠D(3030. DDà DDà D6Dà6 D66Dà66 DDà DM6Dà-6 DM0Dà-0 D3Dà3 D3Dà3 DM0KDà-0000DMA̠NVSNAB. Dà-000 Dà-00 Dà-0 DMDà- DM5Dà-5 DM6Dà-6 DM0Dà-0 DM60Dà-60 DAAU0BMAGAPŠDAAHANN. DàNP DMAU DMA6U6 NԠDà-6 ̱NP ̲NP BUƠDƠHDBU+ADDSSƠNVDŠUN. NԠNP SƠԠ03ADSPAŠŠD. SҠUB3ADSPAŠDD. .HBUƠDƠHDBU BUƠDƠNDDNPUԠBU. BNKԠ0000 SԠDƠSA NNԠNP MNԠNP MأBYDƠMS+3ADDҠƠNVDMAؠN.BYS BUZDƠBU+ .BUƠDƠBUҠNŠUPUԠBU. BUƠDƠBU BUҠBSS0 DBYԠԠ000DDBYŠSAUSBԠҠ3030. BUƠDƠHDBU+ADDSSƠNVDDUN. NԠNP N נԠ0NDMMANDDŠ(90. Z נԠ0HNDMMANDDŠ(3030. ƠԠ3MAGAPŠADMMAND. S0Ԡ00SԠUNԠ0MMAND. SSנUSHGS. ABŠDƠ+BNAY--HؠNVSN. B60Ԡ606663665 D5Ԡ6660 Ԡ000300506 MPNP UPPҠNP DNԠNP ASɠDƠԱ AB̷DƠԲ AB9DƠ3 ASɠϠBDàNVSN ԱU Dà69039005 Dà93909659 Dà0356 Dà99660 Dà93995969999 Dà0000903 Dà566930 Dà3333 AK(BDϠASɠNVSN ԲU ASà535690-9 ASà50:SԠ0-9 ASà5UVYZ-0-9 ASà5+-KMNP30-39 ASà5$'A0-9 ASà5BDGH?.50-59 ASà(<ޠ60-63 9AK(BDéϠASɠNVSN 3U ASà.<(+0- ASà!$50-5 ASà--?60-6 ASà:'"0- ASàABDGH0- ASàKMNPD0-D ASàSUVYZ0- ASà035690- SKP MHUB NԠU0 DMAANDSԠDŠASSGNMNS-MDVҠ(UPUԩ DMA̠U3DMA-M- DMAHUDMA+DMA-M-HGH DHMU3BMDAAHANN HMUDHM+MMMANDHANN BADҠNPBGNAD DYԠ3MADYMMAND ױàABS0000B+DHM UPUԠUNŪ PUԠNP ƠN ASNVԠHAҠUNԠϠDS SBBADҠSAVŠBUҠADDSS SAB MҠDAױàMDMAD ADMAH àDMA̠PPAŠDMAҠS.A. DABADҠADDSSƠBU ADMA̠BGNƠUPU MBNB SàDMA BDMA KM.U AHM AҬAҠ0SԠAD5SԠVS SSA HԠ3 DADYADYD KM.U AHM KM.3U SàHM KM.0U SàDHMàSAԠMDAAHAN SàDMAHàSAԠDMA KM.U SSHM MP- KM.5U àHM KM.6U AHMMSAUS AҬSABԠSԠVSŬ HԠ SƠDMAH MPPUԬ KNŠBSS00 NDU DAHA SANԠNŠMŠNY ASABŠNGUANSN SPà ASSנGԠMAGAPŠDAAHANN̠S.. ANDBSAŠBS0-5. DB0à0àNSUN. ADBA SBM.3 DB3Sà0àNSUNS. ADBA SBM.3 NBBUMPϠMAGAPŠMMANDHANN. SBM. SBM. DB÷SƠ0NSUN(3030NY. ADBA Z SBM.0 DB.נDMAN̠D. ADBA SB NABUMPϠMAGAPŠMMANDHANN. DBñA0NSUNS. ADBA SBM. SBM. DBòSS0NSUN. ADBA SBM.6 DBôTZXTB0NSUN. ADBA SBM. DB5A0àNSUNS. ADBA SBM.5 SBM.9 SBM. DB6Sà0NSUN. ADBA SBD HԠBND--NGUANHA. MPNDPAԠNGUAN. SKP BԠMASKҠBS0-5. 0à0 ñA0 òSS0 3Sà0 ôB0 5A0 6Sà0 ÷SƠ0 øA0 N .נABS0000B Z .נABS60000B YNUYNAZAN DAHA SAN+ SZYSԠYAG DANK SAAMPԠYDV DAYNK SASԠSԠNKAG ASS ANDBGԠYSԠD SZASSƠZ DAYD̠USŠDAU ASS MP+ɠNGUŠY NKԠ6000 YNKԠ000NKHUSϠDV YD̠Ԡ5SԠDŠҠSYSMY KMNUKMNAZAN DAHA SAN+ ASS ANDBSAŠSԠD(ҩ SZASS DAKMSàGԠDAUԠƠZ DB. ADBA SBױàDϠDMAN̠D DB3Sà0 ADBA SBKM.0 NANҠSԠD NB SBKM.3 DB0à0 ADBA SBKM.5 DBñA0 ADBA SBKM. SBKM.6 DBøA0 ADBA SBKM. DBòSS0 ADBA SBKM. HԠB MPSA KMSàԠ3DAUԠSԠD SPà ND ƩZ  24313-80002 A S 0122               H0101  ASMBABì HDHANGŠ---PAHADҠϠPDAA33 HSPGAMPMSHŠNGUNNS .DMNSŠSZ .NGUSPAHADҠҠPPҠSàN360AMAK SNSŠADADҠ(ƠSDNSHGSҩ 3.MVSPAHADADҠNϠPDAA .NGUSMBԠ00(ƠSDNSHGSҩ 5.ANSSN̠ϠNŠMB HAԠ5NDASMBԠNGUANDAAϠBŠND HAԠ6NDASMBԠDNA̠ϠBŠND G MP+ DƠSA G00B SAԠU BDMNŠŠSZ ADBKK DABɠGԠVAU MAPA̠BS SABɠSŠNנVAU PABɠDDDHANG MP+YS MPNDN-ŠSZŠNB MA SABɠSŠGNA̠VAU MPSA+YNԠKMDU NDU ADBN6$ADUSԠϠPDAA SB ASS ANDB SZASSVAUŠND MPMVŠN-AVŠUNŠASNGUD DBS ADBA SB0 DBSS ADBA SBұ DBA ADBA SBҲ MVŠU DAN6$ SAUN DBS DAB SAŬɠMVŠϠPDAA NB SZ SZUN MPMV+3 A ASSנAҠSHGSҠҠPAAMS HԠ5B ASS ANDB SZASSNGUANDSD MPHԷ6 DBS ADBA SBM6ɠNGUŠɯϠNSUNS NB ;SBM SBM5 DBSS ADBA SBPɬ DBA ADBA SBM NA DBA ADBA SBM9 SBM DBA ADBA SBM3 SBM0 DBS ADBA SBM HԷ6U AAҠSHGSҠҠDNA ASS HԠ6B MPBԬɠNKϠMB PɠDƠP M0DƠM.0 MDƠM. M3DƠM.3 MDƠM. M5DƠM.5 M6DƠM.6 MDƠM. MDƠM. M9DƠM.9 BU KKDà096 N6$Dà-6 BԠ SàSà0 SSSS0 AA0 AàA0 AA0 SàSà0 ŠNP UNԠNP SŠDƠPAH BԠDƠMB 0DƠ.0 ұDƠ. ҲDƠ. HDHP360ABNAYPAHADҪ HSPGAMADSBNAYPAHSMHŠHP360AMAKSNS ADAD.HŠNPUԠMAԠSASS BS0-5DAA BS6AG 0PAKDAA SŠADDSS SŠDAA 3HKSUM HŠPGAMASSMBSDAA6BSAԠAMŠANDSSHŠAG BSҠAN.ƠNϠADDSSSNPUԠDAA̠BŠSD AԠHŠASԠADDSSND.HNDAASSDHŠADDSS SNMND.HŠHKSUMSHŠSUMMANƠHŠDAA DS(6BSNPU. HAԠDSMANNG 0ADPSNԠSAUS0HŠNPUNG HKSUM GDAD HNPPANGPAHDKSAVŠHKS$UMZϬADADS DBGS(HKSUMVYԠAD̠N DDVAUŠƠBGSҠҠHKSUMANDAD MPŠVAN.NŻHŠHKSUMSHUDNԠNDN A̠SNŠHSNDASNDƠADƠHSSHUD UҠPUԠANAADDSSNYNHŠADPҠϠH HKSUM. G300B PAHU DҠUB A SASUMAҠHKSUM A SADҠDASSMBYAA .0U SàDҬàADAHA .U SSD MP- .U ADҬ SAMPSAVŠHAҦSAUS ANDKSAŠ6BS DBD BƬ BBSHԠASSMBYD6 ADBAMGŠNPU DAMP SSASSADPSN HԠ0N SBDYS-SAVŠASSYD ANDK300MASKYPŠBS SZASSYPŠSPD MP.0N-KPADNG ADAK00YS SSAADDSS MPؠYS SZADAA MPHKN-NDƠNPUԬGϠHDKSUM SBADDҬɠSŠDAA SZADDҠNҠADDSS SS ؠU SBADDҠSԠNAGŠADDSS ADBSUMAUMUAŠHKSUM SBSUM MP.0- HKU PBSUMGDKSUM SS HԠN HԠBYS MPADDҬɠNK SUMNP DNP ADDҠNP MPNP KԠ K00Dà- K300Ԡ300 HDMBԪ G00B SPà VSN0 SPà MBԠU DԠUDAUԠDNA̠. DAAU0BAPŠDAAHANN. SPà HŠADҠNSHŠDVŠSDAASUNԠ0. SPà PANGAUS: SPà .HŠADҠNDSHŠAPŠBŠADNG. SPà .HŠADҠADSHŠSHGSҠҠHŠDNA PSNNŠƠHŠPGAMϠBŠADD.(N:H ADҠDSNԠDϠAN.D.NAMŠSAH.ԠHNSKPS HAԠPGAMANDADS.DNAS-3AŠSVDAND MUSԠNԠBŠSPD.ƠHŠSHGSҠS0A DAUԠƠSASSUMD.HSDAUԠMAYBŠHANGDBY DNGHŠ"D"SAMNԠAND-ASSMBNGҠBY NNGHŠNGAVŠƠHŠDSDDAUԠNAN "DA".HŠDAUԠMUSԠNԠBŠҠ3. SPà 3.PAYSNUNANDMDUSAŠGND.ƠA PAYҠUSDUNGADNGHŠADҠHAS(HԠ. HŠPAҠMUSԠADHŠSANGADDSSϠYAGAN. SPà .ƠHŠAŠNϠADNGSHŠADҠMSϠA GDHAԠ(HԠ0B.HŠHAԠSNHŠ-A-GSҬ-B- NANSA""ANDAUMPϠHŠSANGADDSSSN AN.UNBGNSBYPUSHNGUN(HŠ""N-B- SNPDASANP. SKP SNS: SPà BAUSŠHŠADҠSNY6DSNGAN SNSAŠPADNSPAN: SPà .ԠSNԠPDAGANSԠS-DSUN.PGAMS HHADNHŠSAMŠAA̠DSY. SPà .HŠPAҠMUSԠPUSHBH-NA̠PS-AND -NNA̠PS-BŠPUSHNG-UN-ϠASSUŠHAԠH NUPԠSYSMHASBNUND. SPà 3.ƠANҠHAԠ(HԠUSHŠPAҠMUS ADHŠSANGADDSSƠHŠADҠ(AND-NABŠԩ BŠPUSHNG-UN-. SPà .HŠPAҠMUSԠNԠNҠ(NҠHŠDAUԠA̠ҩ ANDNA̠HHDSHŠNUMBҠƠMDUSNŠ MS.HŠND--ŠMAKƠŠSNԠDD! AUŠϠBSVŠ7HSSN̠AUSŠHŠADҠ "AD"ŠMHŠAABŠMDUŠŠ(Š. PANSUNPDABŬANDHŠADҠMAYBŠDSYD. SPà 5.SMAYHŠDAUԠDNA̠MUSԠNԠBŠҠ3. HSŠMDUSAŠSVDҠSYSMUSŬANDUNPDAB PAN̠SUԠƠHYAŠADҠBYHŠPA. SPà 6.DUNGNMA̠PANAUMPϠHŠSANGADDSS ƠHŠDSDPGAMSPADNAN.SNŠHS AKSPAŠBŠHŠPGAMSADDHŠPGAMS MUSԠNԠADNϠANҠHŠUMP̠BŠDSYD. SPà .SNŠHŠUMPNANSADԠUMPH SANGADDSSƠA̠PGAMSϠBŠADDBYHSAD MUSԠBŠNHŠBASŠPAG. SKP DAS0נSԠUNԠ0 M.0U AMNDAND M.U SàMNDàNDAP. BSSנGԠDNA̠NUMBҠƠPGAM. MBŬNBSZBSSMAKŠ<0PSԠ--. DBDAԠUSŠDAUԠƠSG0. SBPGSAVŠҠUN. ADDAƠUPU M.3U AMNDADMMAND M.U AMNDAND AҬAҠS AҬSAҠ. MPADDKPYNGUN̠.K. M.5U SàMNDàSAԠAP. M.6U SàDAAàNAZŠDAAHANN. DAPGGԠPGDN̠NҠ-0ƠAD. BSZMŬNBSS-B-_DAADMASK. MPDAAҠDAADSKPN. DBADSAPSԠD SBPҠNAZŠADDSSPN. DBMASK-B-_PSԠàMASK(S.A.NY. DAAҠSZSZAƠDAADANDNԠADNG MPADGNŠHŠD. M.U SàMNDPSԠDҠ(DAADAND MPDNŠADNGAԠҠDAA PSSDAA(|ҠAPŠϠSP. MP-3 M.U ADAAàGԠDMAP SAPҬɠANDSŠ. SBSSƠDSϠBŠSAVD SZPҠBUMPADDSSPN. ŬBSHԠSůNϠSŠMASK. MPPUNҠNԠD. DNŠBNA̠SHԬ--_ƠŠUS ADPSԠD0ƠDAA. SAPҠSAVŠDAAADADDҠƠPS. DBPGGԠPGAMDNA̠UN. DAS.A.GԠPGAMSANGADDSS. SZMŠƠHSASDAAD SZASSҠNNUANPSԠD MPZSԠSKPNA̠PSԠàSPS. ҠMPNA̠PSԠìNUDŠUMP NBSZBSSϠSANGADDSS.ƠHS SASUҠPGSŠHŠUMP. ŠPŠUԠ--AUSDBYNBSZB. ZSԠSSBƠŠHAVN'ԠUNDUҠPGY MPAD-UPDAŠPGADNԠ. M.9U AMNDUҠPGҠPSԠDƠN ANDMASKNŬHKҠPAY SZAҠND--. HԠҠHA.NԠPD SZBSSSԠPSԠàƠNԠPGAM? MPAD-NϬUPDAŠPGNNU. DAHԷ0YSSŠNA̠HA. MPMPAGϠϠ. SKP NSANSANDSAG. SPà AU0-A-GSҠADDSSDNN. ADSADƠS.A. MNDUDAA+MAGAPŠMMANDHANN̠S.. DAԠABS-DԠ-(PGAMDNA̠DAUԩ. HԷ0HԠ0BNA̠HAԠ(GDHAԩ. MASKԠ6PSԠDADMASK. MASKԠ0MAGAPŠSAUSMASK. PGNPPGAMDNA̠UN. ƠԠ3MԠADNŠDMMANDD. S0נԠ50MԠSԠ0NDMMANDD. SSנUSHGADDSSDNN. SPà HŠNGϨ*($DSMUSԠBŠNGUUSANDHҠD MUSԠNԠBŠHANGD. SPà S.A.BSSPGSAԠADDҠ(NPSԠé. PҠBSSMVNGPүDAAàADADD. SPà ND *   24313-80003 A S 0122               H0101  ASMBABì HDHANGŠ---MBԠϠPDAA33 HSPGAMPMSHŠNGUNNS .DMNSŠSZ .NGUSMBԠ(ƠSDNSHGSҩ 3.MVSMBԠϠPDAA G MP+ DƠSA G00B SAԠU BDMNŠŠSZ ADBKK DABɠGԠVAU MAPA̠BS SABɠSŠNנVAU PABɠDDDHANG MP+YS MPNDN-ŠSZŠNB MA SABɠSŠGNA̠VAU MPSA+YNԠKMDU NDU ADBN6$ADUSԠϠPDAA SB ASS ANDB SZAVAUŠND MPNGYS-NGUŠMB MVŠU DAN6$ SAUN DBS DAB SAŬɠMVŠϠPDAA NB SZ SZUN MPMV+3 HԠB MP-HASA NGU DBS ADBA SBM6ɠNGUŠɯϠNSUNS NB SBM SBM5 DBSS ADBA SBPɬ DBA ADBA SBM NA DBA ADBA SBM9 SBM DBA ADBA SBM3 SBM0 DBS ADBA SBM DA ADAK6MDƠS.A. SAADS.ɠSŠNNGUDMB MPMV K6Ԡ6 PɠDƠP M0DƠM.0 MDƠM. M3DƠM.3 MDƠM. M5DƠM.5 M6DƠM.6 MDƠM. MDƠM. M9DƠM.9 BU KKDà096 N6$Dà-6 BԠ SàuSà0 SSSS0 AA0 AàA0 AA0 SàSà0 ŠNP UNԠNP SŠDƠMB BԠDƠMB ADS.DƠADSA HDMBԪ G00B SPà VSN0 SPà MBԠU DԠUDAUԠDNA̠. DAAU0BAPŠDAAHANN. SPà HŠADҠNSHŠDVŠSDASUNԠ0. SPà PANGAUS: SPà .HŠADҠNDSHŠAPŠBŠADNG. SPà .HŠADҠADSHŠSHGSҠҠHŠDNA PSNNŠƠHŠPGAMϠBŠADD.(N:H ADҠDSNԠDϠAN.D.NAMŠSAH.ԠHNSKPS HAԠPGAMANDADS.DNAS-3AŠSVDAND MUSԠNԠBŠSPD.ƠHŠSHGSҠS0A DAUԠƠSASSUMD.HSDAUԠMAYBŠHANGDBY DNGHŠ"D"SAMNԠAND-ASSMBNGҠBY NNGHŠNGAVŠƠHŠDSDDAUԠNAN "DA".HŠDAUԠMUSԠNԠBŠҠ3. SPà 3.PAYSNUNANDMDUSAŠGND.ƠA PAYҠUSDUNGADNGHŠADҠHAS(HԠ. HŠPAҠMUSԠADHŠSANGADDSSϠYAGAN. SPà .ƠHŠAŠNϠADNGSHŠADҠMSϠA GDHAԠ(HԠ0B.HŠHAԠSNHŠ-A-GSҬ-B- NANSA""ANDAUMPϠHŠSANGADDSSSN AN.UNBGNSBYPUSHNGUN(HŠ""N-B- SNPDASANP. SKP SNS: SPà BAUSŠHŠADҠSNY6DSNGAN SNSAŠPADNSPAN: SPà .ԠSNԠPDAGANSԠS-DSUN.PGAMS HHADNHŠSAMŠAA̠DSY. SPà .HŠPAҠMUSԠPUSHBH-NA̠PS-AND -NNA̠PS-BŠPUSHNG-UN-ϠASSUŠHAԠH NUPԠSYSMHASB NUND. SPà 3.ƠANҠHAԠ(HԠUSHŠPAҠMUS ADHŠSANGADDSSƠHŠADҠ(AND-NABŠԩ BŠPUSHNG-UN-. SPà .HŠPAҠMUSԠNԠNҠ(NҠHŠDAUԠA̠ҩ ANDNA̠HHDSHŠNUMBҠƠMDUSNŠ MS.HŠND--ŠMAKƠŠSNԠDD! AUŠϠBSVŠHSSN̠AUSŠHŠADҠ "AD"ŠMHŠAABŠMDUŠŠ(Š. PANSUNPDABŬANDHŠADҠMAYBŠDSYD. SPà 5.SMAYHŠDAUԠDNA̠MUSԠNԠBŠҠ3. HSŠMDUSAŠSVDҠSYSMUSŬANDUNPDAB PAN̠SUԠƠHYAŠADҠBYHŠPA. SPà 6.DUNGNMA̠PANAUMPϠHŠSANGADDSS ƠHŠDSDPGAMSPADNAN.SNŠHS AKSPAŠBŠHŠPGAMSADDHŠPGAMS MUSԠNԠADNϠANҠHŠUMP̠BŠDSYD. SPà .SNŠHŠUMPNANSADԠUMPH SANGADDSSƠA̠PGAMSϠBŠADDBYHSAD MUSԠBŠNHŠBASŠPAG. SKP DAS0נSԠUNԠ0 M.0U AMNDAND M.U SàMNDàNDAP. BSSנGԠDNA̠NUMBҠƠPGAM. MBŬNBSZBSSMAKŠ<0PSԠ--. DBDAԠUSŠDAUԠƠSG0. SBPGSAVŠҠUN. ADDAƠUPU M.3U AMNDADMMAND M.U AMNDAND AҬAҠS AҬSAҠ. MPADDKPYNGUN̠.K. M.5U SàMNDàSAԠAP. M.6U SàDAAàNAZŠDAAHANN. DAPGGԠPGDN̠NҠ-0ƠAD. BSZMŬNBSS-B-_DAADMASK. MPDAA;ҠDAADSKPN. DBADSAPSԠD SBPҠNAZŠADDSSPN. DBMASK-B-_PSԠàMASK(S.A.NY. DAAҠSZSZAƠDAADANDNԠADNG MPADGNŠHŠD. M.U SàMNDPSԠDҠ(DAADAND MPDNŠADNGAԠҠDAA PSSDAAҠAPŠϠSP. MP-3 M.U ADAAàGԠDMAP SAPҬɠANDSŠ. SBSSƠDSϠBŠSAVD SZPҠBUMPADDSSPN. ŬBSHԠSůNϠSŠMASK. MPPUNҠNԠD. DNŠBNA̠SHԬ--_ƠŠUS ADPSԠD0ƠDAA. SAPҠSAVŠDAAADADDҠƠPS. DBPGGԠPGAMDNA̠UN. DAS.A.GԠPGAMSANGADDSS. SZMŠƠHSASDAAD SZASSҠNNUANPSԠD MPZSԠSKPNA̠PSԠàSPS. ҠMPNA̠PSԠìNUDŠUMP NBSZBSSϠSANGADDSS.ƠHS SASUҠPGSŠHŠUMP. ŠPŠUԠ--AUSDBYNBSZB. ZSԠSSBƠŠHAVN'ԠUNDUҠPGY MPAD-UPDAŠPGADNԠ. M.9U AMNDUҠPGҠPSԠDƠN ANDMASKNŬHKҠPAY SZAҠND--. HԠҠHA.NԠPD SZBSSSԠPSԠàƠNԠPGAM? MPAD-NϬUPDAŠPGNNU. DAHԷ0YSSŠNA̠HA. MPMPAGϠϠ. SKP NSANSANDSAG. SPà AU0-A-GSҠADDSSDNN. ADSADƠS.A. MNDUDAA+MAGAPŠMMANDHANN̠S.. DAԠABS-Dԟ -(PGAMDNA̠DAUԩ. HԷ0HԠ0BNA̠HAԠ(GDHAԩ. MASKԠ6PSԠDADMASK. MASKԠ0MAGAPŠSAUSMASK. PGNPPGAMDNA̠UN. ƠԠ3MԠADNŠDMMANDD. S0נԠ50MԠSԠ0NDMMANDD. SSנUSHGADDSSDNN. SPà HŠNGϠDSMUSԠBŠNGUUSANDHҠD MUSԠNԠBŠHANGD. SPà S.A.BSSPGSAԠADDҠ(NPSԠé. PҠBSSMVNGPүDAAàADADD. SPà ND V    24313-80004 A S 0122               H0101  ASMBAB̬ HDMAPϠKM09033 KMMAP HSPGAMPVDSHŠAPABYƠUPUNGHŠSYSM ADMAPSANDMMYABSϠHŠKM090ҠHS SYSMSHUԠY.HŠPGAMPASAYUPU UNŠNHŠMAPPGAM.ANYHANGSϠMAP̠U HANGSϠKMMAP. NGUAN-HŠPGAMAPSSHGSҠNPUS ϠNGUŠHŠKMDV.ADDSS0000SHŠNGUAN NYPN.HԠNDASSUSSU̠NGUAN. NGUANSHUDBŠPMDAҠNA̠ADNY. PAN- .ADKMMAPUSNGMB .NGUŠKMMAPƠNSSAY 3.USŠMBԠϠADNMA̠ŠD .HԠ0 5.PSSUNANDSԠBS0ANDNHŠSHGS. N-HŠPGAMASHŠSHGSҠUPNSA UPSϠHŠBSMUSԠBŠSԠDUNGAPŠAD. 6.HԠ0 .PSSUN .HԠ0 9.DNNSƠMGS 0.AԠANSPDBYMGSҬPAHHŠNG MSB+ M+DƠKMMAP+(000 .SԠPM .PSSUN 3.PSSSAԠAԠKM .SYSMADNG̠PDASNMA̬ҠAHHԠ0PSS UN 5.PҠϠNANGMANGADVANŠMϠSA ADMAPS. G0000B MPKMN KMAPU NP DBKMAPGԠ.ADDSS ADBYϠSԠϠYUN SBA ADAND SANSԠUPϠUNNDԠHUԪ#Y A SAHAҠSԠHAҠUN NB SBA NA ANDPND ҠSBɠMSB+ SAB DANKDԠDƠKY NB SABɠSŠNY+ DBKMAP ADBMAP SBKMAPSԠUNMMAP DA.N SANŠSԠPN A SAҠSԠԯGHԠAG SBSAAMŠADVAN MPKMAP KYU NP PAƠAAGŠUNNŠD MPKYYS ANDK3ҠBSNY SZҠԠҠGH MPKYGH AƬAƠ SANŬɠSAVŠ MPNɠUN KYU ҠNŬɠMGŠHԠHA SANŬɠSŠNNŠBU SZNŠBUMPUN SZHAҠBUMPHAAҠUN A SAҠSԠԠGHԠNDAүɬ9 MPN KYU DAHA ASNVԠϠAUA̠HAҠUN DB.N SBNŠSԠPN SBSAUPUԠN A SAHAҠSԠHAҠUN A SAҠSԠԯGHԠNDA MPN ҠDà-ԠGHԠNDA NNP PNDԠ SBɠԠ6000NSANԠҠSB0 NKDƠKY NDҠԠ00000 ƠMAPHANGSHŠNԠϠVAABŠMUSԠHANGŪ YϠԠ3SԠϠYUNŠNMAP MAPԠ6ADDSSNMAPHŠYUPUԠBGNS ƠԠ6 HAҠNP ANSAŠUN(GHԠBYũ ANANSDŠϠBŠANSAD BNANSADDSSƠANSANAB ABŠNANSHAASPҠD ԠBYŠҠVNGHԠҠDD % AҠU NP ANDK3SԠBSNY SBAԱSAVŠABŠADDSS BNPNB SASSSԠDDVN DBAԲVN-SԠUPSH SBA3 ASA ADAAԱMPUŠADDSS DAA A3NPAƬA(VNNP(DD ANDK3UNBS MPAҬ AԱNP AԲAƬA SKP SAU NP SASA SBSB SSAPƠM MPSԱYS DASP+N DBSP SBPԬɠUPUԠSPA+PNԠS DASA SZASSSKP MPSԲYS ASNVԠϠDUN MANAN DBSB SBP SAP DAKMA SAYPԠSԠSGPN S3U DAPԬ AƬA SBSؠNVԠԠBYŠϠBD AƬA SAS DAPԬ SBSؠNVԠGHԠϠBD ADAS SAYPԬɠSŠNUPUԠAA SZYPԠNҠPN SZPԠNҠPN SZPDN MPS3N S5U DASA DBKMA SBPԬɠUPUԠN SԲU SZNԠNDƠPAG MPSAɠN SԱUYS-PƠM DAADV+ DBADV SBPԬɠPUԠAMŠADVAN DAM60 SANԠSԠNŠUN MPSA SؠU NP ANDKUSŠBS ADAN0N-0 SSAVAD AN-DAU AS(N NAMAKŠԠDD DBAS SBAҠANSAŠASɠBD MPSج KMADƠKN YPԠNP PԠDƠPU SANP SBNP SàNP NԠDà-60 M60Dà-60 SPŠDƠ+ Dà0 Ԡ600000 P3 Ԡ00000 Ԡ00B ADVDƠ+ Dà0 Ԡ60300ñ P3 Ԡ00000 Ԡ00B NSANSANDSAGŪ SPà AU0-A-GS. AM0KDƠDM0KDMA̠NVABŠADDSS. BU-B-GS. BԠ B3Ԡ3 BԠ BԠ BKԠ00UPPҠBSMASK. B3KԠ36K-DSMԠMASK. BM0Ԡ-0ASɠ0ϠBANKNV.D. BNKSԠ000ASɠBANKS. N0Dà-3 KԠ K3Ԡ3 PԠNP PNP DDà DDà D6Dà6 D66Dà66 DDà DM6Dà-6 D3Dà3 D3Dà3 DM0KDà-0000DMA̠NVSNAB. Dà-000 Dà-00 Dà-0 DMDà- DM5Dà-5 DM6Dà-6 DM0Dà-0 DM60Dà-60 DAAU0BMAGAPŠDAAHANN. DàNP DMAU DMA6U6 SԠDƠSA NNԠNP SSנUSHGS. MPNP UPPҠNP DNԠNP ASɠϠBDàNVSN ASɠDƠԱ ԱU Dà69039005 Dà93909659 Dà0356 Dà99660 Dà93995969999 Dà0000903 Dà566930 Dà3333 SKP MHUB NԠU0 DMAANDSԠDŠASSGNMNS-MDVҠ(UPUԩ DMA̠U3DMA-M-C DMAHUDMA+DMA-M-HGH DHMU3BMDAAHANN HMUDHM+MMMANDHANN BADҠNPBGNAD DYԠ3MADYMMAND ױàABS0000B+DHM UPUԠUNŪ PUԠNP ƠN ASNVԠHAҠUNԠϠDS SBBADҠSAVŠBUҠADDSS SAB MҠDAױàMDMAD ADMAH àDMA̠PPAŠDMAҠS.A. DABADҠADDSSƠBU ADMA̠BGNƠUPU MBNB SàDMA BDMA KM.U AHM AҬAҠ0SԠAD5SԠVS SSA HԠ3 DADYADYD KM.U AHM KM.3U SàHM KM.0U SàDHMàSAԠMDAAHAN SàDMAHàSAԠDMA KM.U SSHM MP- KM.5U àHM KM.6U AHMMSAUS AҬSABԠSԠVSŬ HԠ SƠDMAH MPPUԬ KNŠBSS00 .NŠDƠ+ NŠNP BSS66 BԠMASKҠBS0-5. 0à0 ñA0 òSS0 3Sà0 ôB0 5A0 6Sà0 ÷SƠ0 øA0 .נABS0000B KMNUKMNAZAN ASS ANDBSAŠSԠD(ҩ SZASS DAKMSàGԠDAUԠƠZ DB. ADBA SBױàDϠDMAN̠D DB3Sà0 ADBA SBKM.0 NANҠSԠD NB SBKM.3 DB0à0 ADBA SBKM.5 DBñA0 ADBA SBKM. SBKM.6 DBøA0 ADBA SBKM. DBòSS0 ADBA SBKM. HԠB KMSàԠ3l $"DAUԠSԠD SPà ND $   24313-80005 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMMK33 G50B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A   ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ6 ND   24313-80006 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMMK33 G50B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A H  ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ6 ND   24313-80007 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMM6K33 G350B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A ț  ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ36 ND Z   24313-80008 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMMK33 G550B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ( HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A !  ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ56 ND \   24313-80009 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMM3K33 G50B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A   ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ6 ND   24315-18001 1624 S 0122 MEMORY REFERENCE DG              H0101 :ASMB,A,B,L,C HED 2100 SERIES COMPUTER MEMORY REFERENCE TEST ORG 126B OCT 101100 DIAGNOSTIC SERIAL NUMBER * ******************************************************************* * * MEMORY REFERENCE INSTRUCTION GROUP DIAGNOSTIC * * RUNS IN 4K MEMORY * * TELETYPE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR NOT REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 101100 * * 1. LOAD MRG DIAGNOSTIC. * * 2. SET P REGISTER TO 100. * * 3. SELECT PROGRAM OPTIONS IN THE SWITCH REGISTER: * *************** SWITCH REGISTER OPTIONS *************************** * * BIT MEANING * * 0-11 RESERVED * 12 CLEAR TO HALT 102077 AT END OF PASS. * SET TO LOOP ON DIAGNOSTIC * 13-15 RESERVED * * 4. PRESET(INT. & EXT. IF PRESENT) AND RUN. * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 102000 ERROR HALT * 102077 END OF PASS * 106075 UNEXPECTED HALT(LOCATIONS 3472 THRU 6477) * 106077 UNEXPECTED HALT(LOCATIONS 2 THRU 77) * ******************************************************************* SKP * THE FOLLOWING SOURCE LINES ARE SUPPRESSED * UNL SUPPRESS SOURCE LISTING * ORG 2 * REP 62 106077 HALTS IN CORE * OCT 106077 LOC 2 THRU 77 * ORG 3472B * REP 3005B * OCT 106075 LOC 3472 THRU 6477 UNL ORG 2 REP 62 OCT 106077 ORG 3472B REP 3005B OCT 106075 LST RESUME SOURCE LISTING SPC 3 * THE FOLLOWING IS A SIMPLE LOOP WHICH CAN BE USED TO CHECK THE * SWITCH REGISTER,HLT INSTRUCTION & JMP INSTRUCTION PRIOR TO * EXECUTION OF THE MRG DIAGNOSTIC. * THIS PROGRAM MUST BE MANUALLY LOADED VIA THE FRONT PANEL. * * 00010 ORG 10B * 00010 102501 LPO LIA 1 * 00011 102000 HLT 0 * 00012 102601 OTA 1 * 00013 024010 JMP LPO SPC 3 ORG 100B  JMP 130B HED BASIC TESTS ORG 130B * * CHECK SIMPLE ALTER-SKIP INSTRUCTIONS * START RSS HLT 0 RSS FAILED * CLA SZA HLT 0 CLA/SZA FAILED * CLA SZA,RSS RSS HLT 0 CLA/SZA,RSS FAILED * CLB SZB HLT 0 CLB/SZB FAILED * CLB SZB,RSS RSS HLT 0 CLB/SZB,RSS FAILED * * CHECK CPA INSTRUCTION * CLA CPA .0 RSS HLT 0 CLA/CPA .0 FAILED * CLA CPA M1 HLT 0 CLA/CPA M1 FAILED * CCA CPA M1 RSS HLT 0 CCA/CPA M1 FAILED * CLA,INA SZA,RSS HLT 0 CLA,INA/SZA,RSS FAILED * CLA,INA CPA .1 RSS HLT 0 CLA,INA/CPA .1 FAILED * * CHECK LDA & CPA INSTRUCTIONS * LDA .0 CPA .0 RSS HLT 0 LDA .0/CPA .0 FAILED * LDA M1 CPA M1 RSS HLT 0 LDA M1/CPA M1 FAILED * LDA EVEN1 CPA EVEN1 RSS HLT 0 LDA EVEN1/CPA EVEN1 FAILED * LDA ODD1 CPA ODD1 RSS HLT 0 LDA ODD1 /CPA ODD1 FAILED * CLA CPA M1 HLT 0 CLA/CPA M1 FAILED * LDA EVEN1 CPA ODD1 HLT 0 LDA EVEN1/CPA ODD1 FAILED * * * CHECK STA INSTRUCTION * CLA STA T1 CPA T1 RSS HLT 0 CLA/STA T1/CPA T1 FAILED * CCA STA T1 CPA T1 RSS HLT 0 CLA/STA T1/CPA T1 FAILED * LDA EVEN1 STA T1 CPA T1 RSS HLT 0 LDA EVEN1/STA T1/CPA T1 FAILED * LDA ODD1 STA T1 CPA T1 RSS HLT 0 LDA ODD1/STA T1/CPA T1 FAILED * * * CHECK AND INSTRUCTION * CCA AND M1 CPA M1 RSS HLT 0 CCA/AND M1/CPA M1 FAILED * 1 CLA AND M1 SZA HLT 0 CLA/AND M1/SZA FAILED * CLA AND .0 SZA HLT 0 CLA/AND .0/SZA FAILED * CCA AND .0 SZA HLT 0 CCA/AND .0/SZA FAILED * * CHECK IOR INSTRUCTION * CLA IOR .0 SZA HLT 0 CLA/IOR .0/SZA FAILED * CLA IOR M1 CPA M1 RSS HLT 0 CLA/IOR M1/CPA M1 FAILED * CCA IOR M1 CPA M1 RSS HLT 0 CCA/IOR M1/CPA M1 FAILED * CCA IOR .0 CPA M1 RSS HLT 0 CCA/IOR .0/CPA M1 FAILED * * CHECK XOR INSTRUCTION * CLA XOR .0 SZA HLT 0 CLA/XOR .0/SZA FAILED * CCA XOR .0 CPA M1 RSS HLT 0 CCA/XOR .0/CPA M1 FAILED * CLA XOR M1 CPA M1 RSS HLT 0 CLA/XOR M1/CPA M1 FAILED * CCA XOR M1 SZA HLT 0 CCA/XOR M1/SZA FAILED * * CHECK CPB INSTRUCTION * CLB CPB .0 RSS HLT 0 CLB/CPB .0 FAILED * CLB CPB M1 HLT 0 CLB/CPB M1 FAILED * CCB CPB M1 RSS HLT 0 CCB/CPB M1 FAILED * CLB,INB SZB,RSS HLT 0 CLB,INB/SZB,RSS FAILED * CLB,INB CPB .1 RSS HLT 0 CLB,INB/CPB .1 FAILED * * CHECK LDB & CPB INSTRUCTIONS * LDB .0 CPB .0 RSS HLT 0 LDB .0/CPB .0 FAILED * LDB M1 CPB M1 RSS HLT 0 LDB M1/CPB M1 FAILED * LDB EVEN1 CPB EVEN1 RSS HLT 0 LDB EVEN1/CPB EVEN1 FAILED * LDB ODD1 CPB ODD1 RSS HLT 0 LDB ODD1/CPB ODD1 FAILED * CLB CPB M1 HLT 0 CLB/CPB M1 FAILED * LDB EVEN1 CPB ODD1 HLT 0 JSB SR1A,I .P3 HLT 0 JSB,I FAILED .P4 LDA SR1A,I CPA .ADR3 .ADR3 = DEF .P3 RSS HLT 0 JSB,I FAILED - BAD RETURN ADDRESS * NOP ***** MODULE LOOP SPC 3 JMP PG1 GOTO END OF PAGE 0 HLT 0 JMP FAILED SPC 3 M1 DEC -1 M2 DEC -2 .0 DEC 0 .1 DEC 1 EVEN1 OCT 52525 ALL EVEN BITS 1'S ODD1 OCT 125252 ALL ODD BITS 1'S K1 OCT 52524 PMAX OCT 77777 BIT12 OCT 10000 BIT15 OCT 100000 HLT0 HLT 0 H7077 OCT 107077 T1 NOP TEMPORARY STORAGE ADDR1 DEF X1 ADDR3 DEF P3 ADDR4 DEF P4 JR1 JMP RTN1 JR2 JMP RTN2 JR3 JMP RTN3 JR4 JMP RTN4 A EQU 0 A REGISTER B EQU 1 R B REGISTER * ADDR2 DEF RA3-1 ADDRY DEF RA4-1 ADDR7 DEF Z1 IA1 DEF IR1 IA2 DEF *+1,I DEF IR2 IA3 DEF RA3 IA4 DEF *+1,I DEF RA4 IA5 DEF M1 IA6 DEF IA5,I IA7 DEF EVEN1 IA8 DEF IA7,I IA9 DEF T1 IA10 DEF IA9,I K7 DEC 14397 * IR11 DEF RA11 IR12 DEF RA12 IR13 DEF X13 IR14 DEF X14 ADR13 DEF P13 ADR14 DEF P14 * .P1 DEF TBL.1 .P2 DEF TBL.2 K10 OCT 015366 K11 OCT 051463 K12 OCT 162411 T2A DEF T2 JMP1A DEF JMP1 SR1A DEF SR1 .ADR3 DEF .P3 P99A DEF P99 FCA DEF 2 FIRST CORE ADDRESS LCA DEF 3677B LAST CORE ADDRESS (2K) * JSB7 NOP SUBROUTINE FROM PAGE 1 JMP *+2,I RETURN TO PAGE 1 HLT 0 JMP,I FAILED DEF P9 JMP5 JMP *+2,I GO BACK TO PAGE 1 HLT 0 JMP DEF P6 SPC 3 ORG 1777B PG1 NOP HED INDIRECT ADDRESSING TO BASE PAGE LDA K11A,I K11 = DEF K11, K11 = 051463 CPA TBL.2 TBL.2 = 051463 RSS HLT 0 LDA,I FAILED * LDB K10A,I K10A, = DEF K10, K10 = 015366 CPB TBL.1 TBL.1 = 015366 RSS HLT 0 LDB,I FAILED * LDA TBL.1 TBL.1 = 015366 CPA K10A,I K10A = DEF K10, K10 = 015366 RSS HLT 0 CPA,I FAILED * LDB TBL.2 TBL.2 = 051463 CPB K11A,I K11A = DEF K11, K11 = 051463 RSS HLT 0 CPB,I FAILED * LDA EVEN1 STA T1A,I T1A = DEF T1 CPA T1 RSS HLT 0 STA,I/CPA FAILED * LDB ODD1 STB T1A,I T1A = DEF T1 CPB T1 RSS HLT 0 STB,I/CPB FAILED * CCA STA T1 ISZ T1A,I T1A = DEF T1 HLT 0 ISZ,I FAILED - DID NOT SKIP LDA T1 SZA HLT 0 ISZ,I FAILED - T1 NOT 0 * CLA IOR K11A,I K11A = DEF K11, K11 = 051463 CPA TBL.2 TBL.2 = 051463 RSS HLT 0 q IOR,I FAILED * CCA XOR K12A,I K12A = DEF K12, K12 = 162411 CPA TBL.1 RSS HLT 0 XOR,I FAILED * CCA AND K10A,I K10A = DEF K10, K10 = 015366 CPA TBL.1 TBL.1 = 015366 RSS HLT 0 AND,I FAILED * JMP JMP5A,I JMP5A = DEF JMP5 HLT 0 JMP,I FAILED * P6 CLA STA JSB7 JSB7 _ NOP JSB JSB7A,I JSB7A = DEF JSB7 P7 HLT 0 JSB,I FAILED P9 LDA JSB7 CPA P7A P7A = DEF P7 RSS HLT 0 JSB,I FAILED - BAD RETURN ADDRESS * NOP ***** MODULE LOOP HED REGISTER INTERACTION TESTS * THIS SECTION CHECKS THAT ALL OTHER REGISTERS REMAIN UNCHANGED * WHEN A MEMORY REFERENCE INSTRUCTION IS EXECUTED. * CLB CLE CLO LDA M1 M1 = 177777 SZB HLT 0 LDA - B CHANGED SEZ HLT 0 LDA - E CHANGED SOC HLT 0 LDA - OV CHANGED CPA M1 RSS HLT 0 CPA FAILED SZB HLT 0 CPA - B CHANGED SEZ HLT 0 CPA - E CHANGED SOC HLT 0 CPA - OV CHANGED * CLA CLE CLO LDB EVEN1 EVEN1 = 052525 SZA HLT 0 LDB - A CHANGED SEZ HLT 0 LDB - E CHANGED SOC HLT 0 LDB - OV CHANGED CPB EVEN1 RSS HLT 0 CPB FAILED SZA HLT 0 CPB - A CHANGED SEZ HLT 0 CPB - E CHANGED SOC HLT 0 CPB - OV CHANGED * LDA ODD1 ODD1 = 125252 CCB CCE STO STA T1 SEZ,RSS HLT 0 STA - E CHANGED SOS HLT 0 STA - OV CHANGED CPB M1 RSS HLT 0 STA - B CHANGED CPA T1 RSS HLT 0 STA FAILED * LDB EVEN1 EVEN1 = 052525 CLeA CLE CLO STB T1 SZA HLT 0 STB - CHANGED SEZ HLT 0 STB - E CHANGED SOC HLT 0 STB - OV CHANGED CPB T1 RSS HLT 0 STB FAILED * CLO CLE CLA CLB JMP *+2 HLT 0 JMP FAILED SZA HLT 0 JMP - A CHANGED SZB HLT 0 JMP - B CHANGED SEZ HLT 0 JMP - E CHANGED SOC HLT 0 JMP - OV CHANGED * CLA STA X99 X99 _ NOP CCA CCB STO CCE JSB *+2 P99 HLT 0 JSB FAILED X99 NOP SEZ,RSS HLT 0 JSB - E CHANGED SOS HLT 0 JSB - OV CHANGED CPA M1 RSS HLT 0 JSB - A CHANGED CPB M1 RSS HLT 0 JSB - B CHANGED LDA X99 CPA P99A P99A = DEF P99 RSS HLT 0 JSB - BAD RETURN ADDRESS * CLA CLB ADA M1 < E, OV, A CHECKED ELSEWHERE> SZB HLT 0 ADA - B CHANGED * CLA CLB ADB ODD1 < E, OV, B CHECKED ELSEWHERE> SZA HLT 0 ADB - A CHANGED * CLA CLB CLO CLE IOR EVEN1 EVEN1 = 052525 XOR ODD1 ODD1 = 125252 AND M1 M1 = 177777 SZB HLT 0 IOR OR XOR OR AND - B CHANGED SOC HLT 0 IOR OR XOR OR AND - OV CHANGED SEZ HLT 0 IOR OR XOR OR AND - E CHANGED CPA M1 RSS HLT 0 IOR/XOR/AND - RESULT NOT 177777 * CCA STA T1 T1 _ 177777 CLA CLB CLE CLO ISZ T1 HLT 0 ISZ FAILED - DID NOT SKIP SZA HLT 0 ISZ - A CHANGED SZB HLT 0 ISZ - B CHANGED SEZ HLT 0 ISZ - E CHANGEaD SOC HLT 0 ISZ - OV CHANGED * NOP ***** MODULE LOOP HED INDIRECT ADDRESSING VIA A & B REGISTERS LDA IA5 IA5 = DEF M1, M1 = 177777 LDA A,I CPA M1 RSS HLT 0 LDA A,I FAILED * LDB IA7 IA7 = DEF EVEN1, EVEN1 = 052525 LDA B,I CPA EVEN1 RSS HLT 0 LDA B,I FAILED * LDB IA5 IA5 = DEF M1, M1 = 177777 LDB B,I CPB M1 RSS HLT 0 LDB B,I FAILED * LDA IA7 IA7 = DEF EVEN1, EVEN1 = 052525 LDB A,I CPB EVEN1 RSS HLT 0 LDB A,I FAILED * CLB STB T1 T1 _ 0 LDA IA9 IA9 = DEF T1 STA A,I LDB T1 CPB T1 RSS HLT 0 STA A,I FAILED * CLA STA T1 T1 _ 0 LDB IA9 IA9 = DEF T1 STB B,I LDA T1 CPA T1 RSS HLT 0 STB B,I FAILED * CLA STA T1 T1 _ 0 CCA A _ 177777 LDB IA9 IA9 = DEF T1 STA B,I LDB T1 CPB M1 RSS HLT 0 STA B,I FAILED * CLB STB T1 T1 _ 0 CCB B _ 177777 LDA IA9 IA9 = DEF T1 STB A,I LDA T1 CPA M1 RSS HLT 0 STB A,I FAILED * LDA IA9 IA9 = DEF T1 STA T1 CPA A,I RSS HLT 0 CPA A,I FAILED LDB IA9 IA9 = DEF T1 STB T1 CPB B,I RSS HLT 0 CPB B,I FAILED * LDA IA9 IA9 = DEF T1 STA T1 LDB IA9 CPA B,I RSS HLT 0 CPA B,I FAILED CPB A,I RSS HLT 0 CPB A,I FAILED * LDA IA7 IA7 = DEF EVEN1 ADA EVEN1 EVEN1 = 052525 STA T1 LDA IA7 ADA A,I CPA T1 RSS HLT 0 ADA A,I FAILED * LDB IA5 IA5 = DEF M1 ADB M1 M1 = 177777 STB T1 LDB IA5 ADB B,I CPB T1 RSS HLT 0 ADB B,I FAILED * CLA LDB IA5 IA5 = DEF M1, M1 = 177777 ADA B,I CPA M1 RSS HLT 0 ADA B,I FAILED * CLB LDA IA7 IA7 = DEF EVEN1, EVEN1 = 052525 ADB A,I CPB EVEN1 RSS HLT 0 ADB A,I FAILED * LDA IA5 IA5 = DEF M1, M1 = 177777 IOR A,I CPA M1 RSS HLT 0 IOR A,I FAILED * CLA LDB IA7 IA7 = DEF EVEN1, EVEN1 = 052525 IOR B,I CPA EVEN1 RSS HLT 0 IOR B,I FAILED * LDA IA5 IA5 = DEF M1, M1 = 177777 AND A,I CPA IA5 RSS HLT 0 AND A,I FAILED * LDA EVEN1 EVEN1 = 052525 LDB IA5 IA5 = DEF M1, M1 = 177777 AND B,I CPA EVEN1 RSS HLT 0 AND B,I FAILED * * CHECK CMB INSTRUCTION BEFORE TESTING XOR A,I * LDB EVEN1 B _ 052525 CMB CPB ODD1 RSS HLT 0 CMB FAILED CMB CPB EVEN1 RSS HLT 0 CMB FAILED * LDB IA5 IA5 = DEF M1, M1 = 177777 CMB LDA IA5 XOR A,I CPA B RSS HLT 0 XOR A,I FAILED * LDA EVEN1 EVEN1 = 052525 LDB IA5 IA5 = DEF M1, M1 = 177777 XOR B,I CPA ODD1 RSS HLT 0 XOR B,I FAILED * LDA IR11 IR11 = DEF RA11 JMP A,I HLT 0 JMP A,I FAILED * RA11 LDB IR12 IR12 = DEF RA12 JMP B,I HLT 0 JMP B,I FAILED * RA12 CLA STA X13 X13 _ NOP *($$*   24315-18004 1624 S 0122 MEMORY REFERENCE DG              H0101 = LDA IR13 IR13 = DEF X13 JSB A,I P13 HLT 0 JSB A,I FAILED X13 NOP CPA IR13 RSS HLT 0 JSB A,I FAILED - A REG. CHANGED LDB ADR13 ADR13 = DEF P13 CPB X13 RSS HLT 0 JSB A,I FAILED - BAD RETURN ADDR * CLB STB X14 X14 _ NOP LDB IR14 IR14 = DEF X14 JSB B,I P14 HLT 0 JSB B,I FAILED X14 NOP CPB IR14 RSS HLT 0 JSB B,I FAILED - B REG. CHANGED LDB ADR14 ADR14 = DEF P14 CPB X14 RSS HLT 0 JSB B,I FAILED - BAD RETURN ADDR * LDA K1 STA T1 T1 = K1 = 052524 LDA IA9 IA9 = DEF T1 ISZ A,I RSS HLT 0 ISZ A,I FAILED - IT SKIPPED LDB T1 CPB EVEN1 EVEN1 = 052525 RSS HLT 0 ISZ A,I FAILED - T1 NOT 052525 * CCB STB T1 T1 = 177777 LDB IA9 IA9 = DEF M1, M1 = 177777 ISZ B,I HLT 0 ISZ B,I FAILED - DID NOT SKIP LDA T1 SZA HLT 0 ISZ B,I FAILED - T1 NOT 0 * NOP ***** MODULE LOOP HED ITERATIVE TESTS * THESE TESTS TRY TO FIND INTERMITTANT ERRORS * * LDA/CPA ITERATIVE TESTS * CLB LP1 LDA EVEN1 A=052525 CPA EVEN1 RSS HLT 0 LDA/CPA FAILED ISZ B JMP LP1 * CLB LP2 LDA ODD1 A=125252 CPA ODD1 RSS HLT 0 LDA/CPA FAILED ISZ B JMP LP2 * * LDB/CPB ITERATIVE TESTS * CLA LP3 LDB EVEN1 B=052525 CPB EVEN1 RSS HLT 0 LDB/CPB FAILED ISZ A JMP LP3 * CLA LP4 LDB ODD1 B=125252 CPB ODD1 RSS HLT 0 LDB/CPB FAILED ISZ A JMP LP4 * * LDA/STA/CPA ITERATIVE TESTS * CLB LP5 LDA EVEN1 A=052525 STA T1 CPA T1 RSS HL.QT 0 LDA/STA/CPA FAILED ISZ B JMP LP5 * CLB LP6 LDA ODD1 A=125252 STA T1 CPA T1 RSS HLT 0 LDA/STA/CPA FAILED ISZ B JMP LP6 * * LDB/STB/CPB ITERATIVE TESTS * CLA LP7 LDB EVEN1 B=052525 STB T1 CPB T1 RSS HLT 0 LDB/STB/CPB FAILED ISZ A JMP LP7 * CLA LP8 LDB ODD1 B=125252 STB T1 CPB T1 RSS HLT 0 LDB/STB/CPB FAILED ISZ A JMP LP8 * * AND ITERATIVE TESTS * CLB LP9 LDA EVEN1 AND ODD1 SZA HLT 0 AND FAILED ISZ B JMP LP9 * CLB LP10 LDA EVEN1 AND EVEN1 CPA EVEN1 RSS HLT 0 AND FAILED ISZ B JMP LP10 * CLB LP11 LDA ODD1 AND ODD1 CPA ODD1 RSS HLT 0 AND FAILED ISZ B JMP LP11 * * IOR ITERATIVE TESTS * CLB LP12 LDA EVEN1 IOR ODD1 CPA M1 RSS HLT 0 IOR FAILED ISZ B JMP LP12 * CLB LP13 LDA ODD1 IOR EVEN1 CPA M1 RSS HLT 0 IOR FAILED ISZ B JMP LP13 * CLB LP14 LDA EVEN1 IOR EVEN1 CPA EVEN1 RSS HLT 0 IOR FAILED ISZ B JMP LP14 * CLB LP15 LDA ODD1 IOR ODD1 CPA ODD1 RSS HLT 0 ISZ B IOR FAILED JMP LP15 * * XOR ITERATIVE TESTS * CLB LP16 LDA EVEN1 XOR EVEN1 SZA HLT 0 XOR FAILED ISZ B JMP LP16 * CLB LP17 LDA ODD1 XOR ODD1 SZA HLT 0 XOR FAILED ISZ B JMP LP17 * CLB LP18 LDA EVEN1 XOR ODD1 CPA M1 RSS HLT 0 XOR FAILED ISZ B JMP LP18 * * ADA ITERATIVE TESTS * CLB _ LP19 CLE CLO LDA EVEN1 ADA ODD1 052525 + 125252 = 177777 CPA M1 RSS HLT 0 SUM NOT 177777 SEZ HLT 0 E NOT 0 SOC HLT 0 OV NOT 0 ISZ B JMP LP19 * CLB LP20 STO OV=1 CCE E=1 LDA ODD1 ADA EVEN1 125252 + 052525 = 177777 CPA M1 RSS HLT 0 SUM NOT 177777 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ B JMP LP20 * CLB LP21 CLE E=0 CLO OV=1 LDA EVEN1 052525 + 052525 = 125252 ADA EVEN1 CPA ODD1 RSS HLT 0 SUM NOT 125252 SEZ HLT 0 E NOT 0 SOS HLT 0 OV NOT 1 ISZ B JMP LP21 * CLB LP22 CLE E=0 CLO OV=0 LDA ODD1 125252 + 125252 = 052524 ADA ODD1 CPA K1 RSS HLT 0 SUM NOT 052524 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ B JMP LP22 * * ADB ITERATIVE TESTS * CLA LP23 CLE E=0 CLO OV=0 LDB EVEN1 ADB ODD1 052525 + 125252 = 177777 CPB M1 RSS HLT 0 SUM NOT 177777 SEZ HLT 0 E NOT 0 SOC HLT 0 OV NOT 0 ISZ A JMP LP23 * CLA LP24 CCE E=1 STO OV=1 LDB ODD1 ADB EVEN1 125252 + 052525 = 177777 CPB M1 RSS HLT 0 SUM NOT 177777 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ A JMP LP24 * CLA LP25 CLE E=0 CLO OV=0 LDB EVEN1 ADB EVEN1 052525 + 052525 = 125252 CPB ODD1 RSS HLT 0 SUM NOT 125252 G2 SEZ HLT 0 E NOT 0 SOS HLT 0 OV NOT 1 ISZ A JMP LP25 * CLA LP26 CLE E=0 CLO OV=0 LDB ODD1 ADB ODD1 125252 + 125252 = 052524 CPB K1 RSS HLT 0 SUM NOT 052524 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ A JMP LP26 * * JSB ITERATIVE TEST * CLB LP27 CLA STA Z2 Z2 _ NOP JSB *+2 JSB FAILED - DID NOT JUMP Z1 HLT 0 Z2 NOP LDA Z2 CPA ADDR7 ADDR7 = ADDRESS Z1 RSS HLT 0 JSB FAILED - BAD RETURN ADDRESS ISZ B JMP LP27 * * ADA & ISZ ITERATIVE TEST * CLA STA T1 ADA K7 000000 + 034075 * 65K = 000000 ISZ T1 JMP *-2 SZA HLT 0 ADA OR ISZ FAILED * * ADB & ISZ ITERATIVE TEST * CLB STB T1 ADB K7 000000 + (64K) * 034075 = 000000 ISZ T1 JMP *-2 SZB HLT 0 ADB OR ISZ FAILED * NOP ***** MODULE LOOP HED SOME DATA PATTERN TESTS * LDA/CPA - ALL OF CORE - 1ST 2 PAGES * LDB FCA 1ST CORE ADDRESS = 000002 PT1 LDA B,I CPA B,I RSS HLT 0 LDA/CPA FAILED: B = ADDRESS CPB LCA LAST CORE ADDRESS = 003677 JMP PT2 INB NEXT CORE ADDRESS JMP PT1 CONTINUE * * LDB/CPB/STB/CPB - ALL OF CORE - 1ST 2 PAGES * PT2 LDA FCA 1ST CORE ADDRESS = 000002 PT3 LDB A,I CPB A,I RSS HLT 0 LDB/CPB FAILED: A = ADDRESS STB A,I CPB A,I RSS HLT 0 STB/CPB FAILED: A = ADDRESS CPA LCA LAST CORE ADDRESS = 003677 JMP PT4 INA NEXT CORE ADDRESS JMP PT3 CONTINUE * * ADA - ADB - IOR - XOR - AND USING TABLE VALUES * PT4 LDB TBLA FWA TABLE PT5 STB A1A v[ ARG 1 ADDRESS INB STB A2A ARG 2 ADDRESS INB STB SUMA SUM ADDRESS INB STB IORA IOR RESULT ADDRESS INB STB XORA XOR RESULT ADDRESS INB STB ANDA AND RESULT ADDRESS LDA A1A,I ADA A2A,I CPA SUMA,I RSS HLT 0 ADA FAILED LDB A1A,I ADB A2A,I CPB SUMA,I RSS HLT 0 ADB FAILED LDA A1A,I IOR A2A,I CPA IORA,I RSS HLT 0 IOR FAILED LDA A1A,I XOR A2A,I CPA XORA,I RSS HLT 0 XOR FAILED LDA A1A,I AND A2A,I CPA ANDA,I RSS HLT 0 AND FAILED LDB ANDA INB CPB TBLE RSS END OF TABLE JMP PT5 * NOP ***** MODULE LOOP SPC 3 * END OF DIAGNOSTIC CYCLE * LIA 1 AND BIT12 SZA,RSS HLT 77B END OF PASS HALT JMP START DO AGAIN SPC 3 A1A NOP ARGUMENT POINTER A2A NOP ARGUMENT POINTER SUMA NOP SUM POINTER IORA NOP IOR RESULT POINTER XORA NOP XOR RESULT POINTER ANDA NOP AND RESULT POINTER K10A DEF K10 K11A DEF K11 T1A DEF T1 K12A DEF K12 JMP5A DEF JMP5 JSB7A DEF JSB7 P7A DEF P7 * TBLA DEF TBL.1 1ST TABLE ADDRESS TBL.1 OCT 15366 ARG 1 - 1ST PAIR OCT 127541 ARG 2 OCT 145127 SUM OCT 137767 IOR RESULT OCT 132627 XOR RESULT OCT 5140 AND RESULT TBL.2 OCT 51463 ARG 1 - 2ND PAIR OCT 31465 OCT 103150 OCT 71467 OCT 60006 OCT 11461 TBL.3 OCT 161271 ARG 1 - 3TH PAIR OCT 25636 ARG 2 OCT 7127 SUM OCT 165677 IOR RESULT OCT 144447 XOR RESULT OCT 21230 AND RESULT TBL.4 OCT 105560 ARG 1 - 4TH PAIR OCT 133410 OCT 41170 OCT 137570 OCT 36170 ɵ$"OCT 101400 TBL.5 OCT 141655 ARG 1 - 5TH PAIR OCT 35334 OCT 177211 OCT 175775 OCT 174561 OCT 1214 TBL.6 OCT 175752 ARG 1 - 6TH PAIR OCT 137257 OCT 135231 OCT 177757 OCT 42505 OCT 135252 TBL.7 OCT 32047 ARG 1 - 7TH PAIR OCT 41163 OCT 73232 OCT 73167 OCT 73124 OCT 43 TBL.8 OCT 66144 ARG 1 - 8TH PAIR OCT 143106 OCT 31252 OCT 167146 OCT 125042 OCT 42104 TBL.9 OCT 122241 ARG 1 - 9TH PAIR OCT 45032 OCT 167273 OCT 167273 OCT 167273 OCT 0 TB.10 OCT 156336 ARG 1 - 10TH PAIR OCT 146755 OCT 125313 OCT 156777 OCT 10463 OCT 146314 TBLE DEF * LWA TABLE * T2 NOP TEMPORARY STORAGE SR1 NOP SUBROUTINE FROM BASE PAGE JMP .P4 GO BACK JMP1 JMP JMP2 GO BACK TO BASE PAGE * END K2$   24316-18001 1431 S 0122 24316A 2100 SER ALT SKIP DIAGNOSTIC             H0101 ?ASMB,A,B,L,C HED 2100 SERIES COMPUTER ALTER-SKIP TEST ORG 2B * ******************************************************************* * * * DIAGNOSTIC CHECKS ALTER-SKIP INSTR GROUP * * DIAGNOSTIC ASSUMES THE FOLLOWING TESTS HAVE BEEN RUN * * MEMORY REFERENCE GROUP DSN 101000 * * RUNS IN 4K OF MEMORY * * TELETYPE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR NOT REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 101001 * * OPERATING INSTRUCTIONS: * * 1. LOAD ASG DIAGNOSTIC. * * 2. SET P REGISTER TO 100. * * 3. SELECT PROGRAM OPTIONS: * * *************** SWITCH REGISTER OPTIONS *************************** * * BIT MEANING * * 0 LOOP BACK TO REPEAT A FAILING INSTRUCTION * BUT HALT 76 BEFORE EXECUTION * 1-11 RESERVED * 12 CLEAR TO HALT 102077 AT END OF PASS.(A REGISTER = * PASS COUNT) SET TO LOOP ON DIAGNOSTIC. * 13-15 RESERVED * * * 4. PRESS PRESET(INT. & EXT. IF PRESENT), AND RUN. * SKP *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 10200X X= 1, A OR B ERROR; =2, E ERROR; =4, SKIP ERROR * A = ACTUAL A OR B RESULT * B = EXPECTED A OR B RESULT * E = ACTUAL E RESULT * 102000 ERROR DISPLAY HALT * A = FAILING INSTR CODE * B = ORIGINAL VALUE IN A OR B * E = ORIGINAL VALUE IN E * 10204X CLE,CCE,CME,SEZ,RSS ERROR (X=O-6) * 102076 HALT BEFORE REPEATING ERROR CONDITION * 102077 END OF PASS HALT. A REG. = PASS # * 103000 UNEXPECTED CHANGE IN A REG * 103001 UNEXPECTED CHANGE IN B REG * 106077 UNEXPECTED TRAP CELL HALT * * ******************************************************************* * SKP * UNL * REP 62 FILL TRAP CELLS * OCT 106077 LOC 2 THRU 77 UNL REP 62 OCT 106077 LST  ORG 100B JMP START ORG 126B OCT 101001 DIAGNOSTIC SERIAL NO ORG 130B JMP START JMP START SPC 3 PATA DEF PAT1 PAT1 OCT 0 OCT 177777 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 PATE DEF * SPC 3 AAB NOP ACTUAL A OR B REG RESULT ARG NOP ORIGINAL CONTENTS IN A OR B REG. EAB NOP EXPECTED A OR B REG RESULT EE NOP EXPECTED E REGISTER RESULT ESKP NOP EXPECTED SKIP FLAG (0=NO SKIP) IE NOP INITIAL CONTENTS OF E REGISTER PCA NOP PASS COUNT PT NOP DATA POINTER SKPEI NOP SKIP ERROR INDICATOR: 0=ERROR BIT0 OCT 1 BIT1 OCT 2 BIT2 OCT 4 BIT3 OCT 10 BIT5 OCT 40 BIT6 OCT 100 BIT7 OCT 200 BIT8 OCT 400 BIT9 OCT 1000 BIT11 OCT 4000 BIT12 OCT 10000 BIT15 OCT 100000 B3 OCT 3 B11 OCT 11 B20 OCT 20 B21 OCT 21 B31 OCT 31 B41 OCT 41 B73 OCT 73 B300 OCT 300 .0 OCT 0 .1 OCT 1 M1 DEC -1 M2 DEC -2 A1400 OCT 1400 A2001 OCT 2001 A4000 OCT 4000 I0001 OCT 100001 PATX OCT 43210 DATA FOR NON WORKING REGISTER .0X EQU 00 B EQU 1 B REGISTER SPC 3 * EXECUTE & CHECK ROUTINE FOR ALTER SKIP INSTRUCTIONS * E.C NOP LDB INSTR B _ INSTRUCTION LDA ESKP CPA .0 TEST EXPECTED SKIP JMP NSE NO SKIP EXPECTED STB INSTX SKIP EXPECTED JSB INITT INITIALIZE JMP *+2 JUMP OVER REPEAT HALT RPTS HLT 76B HALT BEFORE REPEAT INSTX NOP EXECUTE ALTER SKIP INSTRUCTION ISZ SKPEI DID NOT SKIP - STEP INDICATOR JMP E.C2 NSE JSB INITT INITIALIZE JMP *+2 JUMP OVER REPEAT HALT RPTNS HLT 76B HALT BEFORE REPEAT INSTR NOP EXECUTE ALTER SKIP INSTRUCTION JMP *+2 OK - IT DID NOT SKIP ISZ SKPEI UNEXPECTED SKIP - STEP I]NDICATOR E.C2 STA AAB ASSUME ACTUAL A OR B IS A REG. LDA INSTR AND BIT11 CPA BIT11 TEST REGISTER INVOLVED JMP E.C4 ACTUAL REG. IS B CPB PATX JMP E.C5 LDA INSTR ERROR: UNEXPECTED CHANGE IN B OCT 103001 HALT: T_103001, A_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C4 LDA AAB RESTORE A REGISTER RESULT STB AAB WORKING REGISTER IS B CPA PATX JMP E.C5 LDB INSTR ERROR: UNEXPECTED CHANGE IN A OCT 103000 HALT: T_103000, B_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C5 CLB INITIALIZE POSSIBLE HALT CODE ISZ SKPEI CHECK SKIP INDICATOR - IT SHOULD JMP *+2 HAVE BEEN -2 ADB BIT2 WAS -1: SKIP OR NO SKIP ERROR LDA EAB CPA AAB COMPARE ACTUAL & EXPECTED A OR B JMP *+2 REGISTER RESULTS ADB BIT0 A OR B REGISTER ERROR LDA .0 SEZ LDA M1 A _ ACTUAL E REG: -1 IF NOT 0 CPA EE CHECK ACTUAL & EXPECTED E RESULT JMP *+2 ADB BIT1 E REGISTER RESULT ERROR CPB .0 JMP E.C,I B=0, NO ERRORS, RETURN P+1 * * ERROR HALT & DISPLAY 1 * ADB HLT0 STB HLTI A _ ACTUAL A OR B REG. RESULT LDA AAB B _ EXPECTED A OR B REG. RESULT LDB EAB E _ ACTUAL E REGISTER RESULT HLTI HLT .0X T _ 10200X * * 2ND DISPLAY HALT * LDA IE CCE E _ ORIGNAL E REG. CONTENTS CPA .0 A _ ALTER SKIP INSTRUCTION CLE B _ ORIGINAL A OR B REG. CONTENT LDA INSTR T _ 102000 LDB ARG HLT0 HLT 0 * E.C9 LIA 1 AND BIT0 CPA .0 SWITCH 0 CLEAR JMP E.C,I DON'T LOOP REPEAT ON ERROR LDA ESKP BEFORE REPEATING, CHECK THE CPA .0 EXPECTED SKIP INDICATOR AGAIN JMP E.C3 JSB INITT REINITIALIZE JMP RPTS DO AGAIN - SKIP EXPECTEDV E.C3 JSB INITT JMP RPTNS DO AGAIN - NO SKIP EXPECTED * INITT NOP LDB M2 STB SKPEI RESET SKIP INDICATOR TO -2 LDA IE CCE CPA .0 CLE INITIALIZE E REGISTER LDA INSTR AND BIT11 CPA BIT11 JMP INIT1 LDA ARG A REG. INSTRUCTION LDB PATX A_ARG, B_043210 JMP INITT,I INIT1 LDA PATX B REG. INSTRUCTION LDB ARG A_043210, B_ARG JMP INITT,I SPC 3 START CLC 0,C TURN EVERYTHING OFF CLA STA PCA RESET END OF PASS COUNT * SOP RSS HLT 40B RSS FAILED * CLE SEZ CLE HLT 41B SEZ COMBINATION FAILED * CLE SEZ,RSS JMP *+2 CLE HLT 42B SEZ,RSS COMBINATION FAILED * CCE SEZ,RSS CCE HLT 43B SEZ,RSS COMBINATION FAILED * CCE SEZ JMP *+2 CCE HLT 44B SEZ COMBINATION FAILED * CLE CME CLE SEZ,RSS CME HLT 45B SEZ,RSS COMBINATION FAILED * CCE CME CCE SEZ CME HLT 46B SEZ COMBINATION FIALED SPC 3 LDA A2001 START WITH OCTAL 2001 X1 STA INSTR SAVE NEXT INSTRUCTION LDA .0 X2 STA IE FOR E = 0,1 LDB PATA X3 STB PT FOR 9 DATA PATTERNS LDA B,I STA ARG ARG _ NEXT DATA PATTERN STA EAB ASSUME EAB = ARG LDB .0 STB ESKP ASSUME NO SKIP EXPECTED LDA IE STA EE ASSUME EE = IE LDA INSTR AND A1400 CPA BIT8 STB EAB CLA OR CLB: EAB _ 0 LDB M1 CPA A1400 STB EAB CCA OR CCB: EAB _ 177777 CPA BIT9 JMP *+2 JMP X4 LDA ARG XOR M1 CMA OR CMB: STA EAB EAB _ 1'S COMPLIMENT OF ARG X4 LDA INSTR AN+D B41 CPA BIT5 JMP *+2 JMP X5 NOT SEZ LDA IE CPA .0 STB ESKP SEZ & E=0: ESKP _ -1 JMP X6 X5 CPA B41 JMP *+2 JMP X6 NOT SEZ,RSS LDA IE CPA M1 STB ESKP SEZ,RSS & E=1: ESKP _ -1 X6 LDA INSTR LDB .0 AND B300 CPA BIT6 STB EE CLE: EE _ 0 LDB M1 CPA B300 STB EE CCE: EE _ -1 CPA BIT7 JMP *+2 JMP X7 NOT CME LDA IE XOR M1 CME: STA EE EE _ 1'S COMPLIMENT OF IE X7 LDA INSTR AND B31 CPA B31 JMP *+2 JMP X8 NOT SS*,SL*,RSS LDA EAB AND I0001 CPA I0001 SS*,SL*,RSS & BIT15 = BIT0 = 1: STB ESKP ESKP _ -1 JMP X12 X8 LDA INSTR AND B21 CPA B21 JMP *+2 JMP X9 NOT SS*,RSS LDA EAB AND BIT15 CPA BIT15 STB ESKP SS*,RSS & BIT 15=1: ESKP _ -1 JMP X10 X9 CPA B20 JMP *+2 JMP X10 NOT SS* LDA EAB AND BIT15 CPA .0 STB ESKP X10 LDA INSTR SS* & BIT15=0: ESKP _ -1 AND B11 CPA B11 JMP *+2 JMP X11 NOT SL*,RSS LDA EAB AND BIT0 CPA BIT0 STB ESKP SL*,RSS & BIT0=1: ESKP _ -1 JMP X12 X11 CPA BIT3 JMP *+2 JMP X12 NOT SL* LDA EAB AND BIT0 CPA .0 STB ESKP SL* & BIT0=0: ESKP _ -1 X12 LDA INSTR AND BIT2 CPA .0 JMP X13 NOT IN* LDA EAB CPA M1 STA EE IN* & REG=177777: EE _ -1 ADA .1 STA EAB IN*: EAB _ EAB+1 X13 LDA INSTR AND B3 CPA B3 JMP *+2 JMP X14 NOT SZ*,RSS LDA EAB CPA .0 JMP X15 STB ESKP SZ*,RSS & REG NOT 0: ESKP _ -1 JMP X15 X14 CPA BIT1 JM$"P *+2 JMP X15 NOT SZ* LDA EAB CPA .0 STB ESKP SZ* & REG=0: ESKP _ -1 X15 LDA INSTR AND B73 CPA BIT0 STB ESKP RSS: ESKP _ -1 JSB E.C GO EXECUTE & CHECK LDB PT ADB .1 CPB PATE JMP *+2 JMP X3 NEXT DATA PATTERN LDA IE ADA M1 CPA M1 JMP X2 REPEAT FOR E=1 LDA INSTR ADA .1 INSTR _ INSTR + 1 CPA A4000 ADA A2001 MAKE 6001 IF 4000 CPA BIT12 JMP EOP END OF PASS IF 10000 JMP X1 ELSE DO NEXT INSTRUCTION SPC 3 EOP LDA PCA STEP END OF PASS COUNT ADA .1 STA PCA LIA 1 AND BIT12 CPA BIT12 JMP SOP LDA PCA HLT 77B END OF PASS HALT JMP SOP GO AROUND AGAIN * END $   24317-18001 1431 S 0122 24317A 2100 SER SHFT ROTATE DIAGNOSTIC             H0101 .ASMB,A,B,L,C HED 2100 SERIES COMPUTER SHIFT-ROTATE TEST ORG 2B * ******************************************************************* * * * DIAGNOSTIC CHECKS SHIFT-ROTATE INSTR GROUP * CHECKS INSTRS & CONDITIONS AFFECTING OVERFLOW REG. * * DIAGNOSTIC ASSUMES THE FOLLOWING TESTS HAVE BEEN RUN * * MEMORY REFERENCE GROUP DSN 101000 * ALTER-SKIP GROUP DSN 101001 * * RUNS IN 4K MEMORY * * TELETYPE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR NOT REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 101002 * * OPERATING INSTRUCTIONS: * * 1. LOAD SRG DIAGNOSTIC. * * 2. SET P REGISTER TO 100. * * 3. SELECT PROGRAM OPTIONS: * *************** SWITCH REGISTER OPTIONS *************************** * * BIT MEANING * * 0 LOOP BACK TO REPEAT A FAILING INSTRUCTION * BUT HALT 76 BEFORE EXECUTION * 1-11 RESERVED * 12 CLEAR TO HALT 102077 AT END OF PASS(A = PASS COUNT). * SET TO LOOP ON DIAGNOSTIC. * 13-15 RESERVED * * * 4. PRESS PRESET(INT. & EXT. IF PRESENT) AND RUN. * SKP * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 10200X X= 1, A OR B ERROR; =2, E ERROR; =4, SKIP ERROR * A = ACTUAL A OR B RESULT * B = EXPECTED A OR B RESULT * E = ACTUAL E RESULT * 102000 ERROR DISPLAY HALT * A = FAILING INSTR CODE * B = ORIGINAL VALUE IN A OR B * E = ORIGINAL VALUE IN E * 10204X OVERFLOW INSTR ERROR (X=ERROR #) * 10205X OVERFLOW ERROR FROM ARITHMETIC OPERATION WITH A REG * 10206X OVERFLOW ERROR FROM ARITHMETIC OPERATION WITH B REG * 102076 HALT BEFORE REPEATING ERROR CONDITION * 102077 END OF PASS HALT(A = PASS COUNT) * 103000 UNEXPECTED CHANGE IN A REG * 103001 UNEXPECTED CHANGE IN B REG * 106077 UNEXPECTED TRAP CELL HALT * ******************************************************************* SKP * UNL * REP 62 FILL TRAP CELLS * OCT 106077 LOC 2 THRU 77 UNL REP 62 OCT 106077 LST ORG 100B JMP START ORG 126B OCT 101002 DIAGNOSTIC SERIAL NO ORG 130B JMP START JMP START SPC 3 A EQU 0 B EQU 1 BIT0 OCT 1 BIT1 OCT 2 BIT2 OCT 4 BIT3 OCT 10 BIT4 OCT 20 BIT5 OCT 40 BIT6 OCT 100 BIT9 OCT 1000 BIT11 OCT 4000 BIT12 OCT 10000 BIT15 OCT 100000 .5 DEC 5 .6 DEC 6 .8 EQU BIT3 B100 EQU BIT6 PATX OCT 173567 FIXED PATTERN FOR NON WORKING SOVFC OCT 77777 M1 OCT 177777 PCA NOP PASS COUNT IE NOP INITIAL CONTENTS OF E REG ARG NOP ORGINAL A OR B REG PATTERN EAB NOP EXPECTED A OR B REG RESULT AAB NOP ACTUAL A OR B REG RESULT EE NOP EXPECTED E REGISTER RESULT PTI NOP PATTERN POINTER PT1 NOP TABLE 1 POINTER PT2 NOP TABLE 2 POINTER REG NOP BIT11 OF INSTRUCTION ESKP NOP EXPECTED SKIP FLAG (0= NO SKIP) J NOP COLUMN 4 INDEX K NOP COLUMN 1 INDEX KX NOP COLUMN 1 FIELD EE1 NOP EXPECTED E AFTER 1ST SHIFT OR ROTATE EAB1 NOP EXPECTED A OR B AFTER 1ST SHIFT PT1X NOP TEMPORARY STORAGE FOR PT1 CLE NOP BIT 5 OF INSTRUCTION SLAB NOP BIT 3 OF INSTRUCTION TBL5A DEF TBL5 TBL6A DEF TBL6 PATA DEF PAT1 FWA PATTERNS PATE DEF P0020 LWA PATTERNS TBL1A EQU PATE FWA TABLE 1 TBL2A DEF P1020 FWA TABLE 2 SITA DEF SIT FWA SPECIAL INSTRUCTION TABLE SIT6A DEF SIT6 ADDR. OF 1ST ELA INSTR. IN TBL. SITE DEF SIT+8 LWA SPECIAL INSTRUCTION TABLE SPC 3 * EXECUTE & CHECK ROUTINE FOR SHIFT ROTATE INSTRUCTIONS * E.C NOP LDB INSTR B _ INSTRUCTION LDA ESKP SZA < TEST EXPECTED SKIP JMP E.C1 SKIP EXPECTED JSB INITT INITIALIZE RSS SKIP OVER REPEAT HALT RPTNS HLT 76B HLT BEFORE REPEAT INSTR NOP EXECUTE SHIFT ROTATE INSTRUCTION RSS NO SKIP EXPECTED ISZ SKPEI UNEXPECTED SKIP - STEP INDICATOR JMP E.C2 E.C1 STB INSTX PUT INSTRUCTION IN LINE JSB INITT INITIALIZE RSS SKIP OVER REPEAT HALT RPTS HLT 76B HLT BEFORE REPEAT INSTX NOP EXECUTE SHIFT ROTATE INSTRUCTION ISZ SKPEI DID NOT SKIP - STEP INDICATOR E.C2 STA AAB ASSUME ACTUAL A OR B IS A REG. LDA INSTR AND BIT11 SZA TEST REGISTER INVOLVED JMP E.C4 ACTUAL REG. IS B CPB PATX ACTUAL REG. IS A JMP E.C5 LDA INSTR ERROR: UNEXPECTED CHANGE IN B OCT 103001 HALT: T_103001, A_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C4 LDA AAB RESTORE A REG RESULT STB AAB ACTUAL REGISTER IS B REGISTER CPA PATX JMP E.C5 LDB INSTR ERROR: UNEXPECTED CHANGE IN A OCT 103000 HALT: T_103000, B_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C5 CLB INITIALIZE POSSIBLE HALT CODE ISZ SKPEI CHECK SKIP INDICATOR - IT SHOULD RSS HAVE BEEN -2 ADB BIT2 WAS -1: SKIP OR NO SKIP ERROR LDA EAB CPA AAB COMPARE ACTUAL & EXPECTED A OR B RSS REGISTER RESULTS ADB BIT0 A OR B REGISTER ERROR CLA,SEZ CCA A _ ACTUAL E REG: -1 IF NOT 0 CPA EE CHECK ACTUAL & EXPECTED E RESULT RSS ADB BIT1 E REGISTER RESULT ERROR SZB,RSS JMP E.C,I B=0, NO ERRORS, RETURN P+1 * * ERROR HALT & DISPLAY 1 * ADB HLT0 FORM HALT 10200X INSTRUCTION STB HLTI STORE IT IN LINE LDA AAB A _ ACTUAL A OR B REG. RESULT LDB EAB % B _ EXPECTED A OR B REG. RESULT HLTI HLT .0X E _ ACTUAL E RESULT, T_10200X * * 2ND DISPLAY HALT * LDA IE CLE,SZA CCE E _ ORGINAL E REG. CONTENTS LDA INSTR A _ SHIFT ROTATE INSTRUCTION LDB ARG B _ ORGINAL A OR B REG. CONTENTS HLT0 HLT 0 T _ 102000 * E.C9 LIA 1 AND BIT0 SZA,RSS SWITCH 0 CLEAR JMP E.C,I DON'T LOOP REPEAT ON ERROR LDA ESKP BEFORE REPEATING, CHECK THE SZA EXPECTED SKIP INDICATOR AGAIN JMP E.C3 JSB INITT REINITIALIZE JMP RPTNS DO AGAIN - NO SKIP EXPECTED E.C3 JSB INITT JMP RPTS DO AGAIN - SKIP EXPECTED * INITT NOP LDB M2 STB SKPEI RESET SKIP ERROR INDICATOR TO -2 LDA IE CLE,SZA CCE INITIALIZE E REGISTER LDA INSTR AND BIT11 SZA JMP INIT1 LDA ARG A REGISTER INSTRUCTION LDB PATX A_ARG, B_043210 JMP INITT,I INIT1 LDA PATX B REGISTER INSTRUCTION LDB ARG A_043210, B_REG JMP INITT,I * M2 DEC -2 SKPEI NOP SKIP ERROR INDICATOR: 0 = ERROR .0X EQU 0 SPC 3 * SUBROUTINE TO UPDATE EAB WHEN J OR K IS 5 OR 6 * GIVEN J OR K IN B * SC1 NOP CLA CPB .5 IF J OR K = 5, LDA BIT15 EAB _ EAB + BIT15 * IE CPB .6 IF J OR K = 6 LDA BIT0 EAB _ EAB + BIT0 * IE AND IE IOR EAB STA EAB JMP SC1,I SPC 3 * SUBROUTINE TO CHANGE EE WHEN J OR K IS 5 OR 6 * GIVEN J OR K IN B * SC2 NOP CLA CPB .5 IF J OR K IS 5, LDA BIT0 THEN EE _ BIT0 * ARG CPB .6 IF J OR K IS 6, LDA BIT15 THEN EE _ BIT15 * ARG SZA,RSS JMP SC2,I IF NEITHER 5 OR 6, LEAVE AND ARG EE UNCHANGED SZA CCA MAKE EE -1 IF NOT 0 STA EE JMEP SC2,I SPC 3 START CLC 0,C TURN EVERYTHING OFF CLA STA PCA RESET END OF PASS COUNT SPC 3 * GROUP 0: NOP * SOP CLA STA ESKP ESKP _ 0 STA INSTR INSTR _ 0 G0.2 STA IE FOR IE _ 0,1 STA EE EE _ IE LDB PATA G0.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG JSB E.C GO EXECUTE & CHECK INSTRUCTION LDB PTI INB CPB PATE CCA,RSS JMP G0.1 NEXT I CPA IE RSS JMP G0.2 NEXT IE SPC 3 * GROUP 4: CLE * CLA STA ESKP ESKP _ 0 STA EE EE _ 0 G4.3 STA REG FOR REG _ 0,1 IOR BIT5 STA INSTR INSTR _ REG + BIT5 CLA G4.2 STA IE FOR IE _ 0,1 LDB PATA G4.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG JSB E.C EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP G4.1 NEXT I CPA IE RSS JMP G4.2 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G4.3 NEXT REG SPC 3 * GROUP 2: SLA - SLB * CLA G2.3 STA REG FOR REG _ 0,1 ADA BIT3 STA INSTR INSTR _ REG + BIT3 CLA G2.2 STA IE FOR IE _ 0,1 STA EE EE _ IE LDB PATA G2.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP G2.1 NEXT I CPA IE RSS JMP G2.2 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G2.3 NEXT REG SPC 3 * GROUP 6: CLE,SLA - CLE,SLB *  CLA STA EE EE _ 0 G6.3 STA REG FOR REG _ 0,1 ADA BIT5 ADA BIT3 STA INSTR INSTR _ REG + BIT3 + BIT5 CLA G6.2 STA IE FOR IE _ 0,1 LDB PATA G6.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP G6.1 NEXT I CPA IE RSS JMP G6.2 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G6.3 NEXT REG SPC 3 * GROUP 1: COL4 * CLA STA ESKP ESKP _ 0 G1.4 STA REG FOR REG _ 0,1 CLA G1.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA G1.2 STA J FOR J _ 0,7 ADA BIT4 ADA REG STA INSTR INSTR _ REG + BIT4 + J LDB PATA G1.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB ASSUME EAB = TBL1(I,J) LDA IE STA EE ASSUME EE = IE LDB J JSB SC1 CHECK EAB FOR J = 5 OR 6 LDB J JSB SC2 CHECK EE FOR J = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G1.1 NEXT I ADA J CPA .8 CCA,RSS JMP G1.2 NEXT J CPA IE RSS JMP G1.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G1.4 NEXT REG SPC 3 * GROUP 10: COL1 * CLA STA ESKP ESKP _ 0 G10.4 STA REG FOR REG _ 0,1 CLA G10.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G10.2 STA K FOR K _ 0,7 STB KX So KX _ K*2**8 ADB BIT9 ADB REG STB INSTR INSTR _ REG + BIT9 + KX LDB PATA G10.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB EAB _ TBL1(I,K) LDA IE STA EE EE _ IE LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 LDB K JSB SC2 CHECK EE FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G10.1 NEXT I LDB KX ADB B100 ADA K CPA .8 CCA,RSS JMP G10.2 NEXT K CPA IE RSS JMP G10.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G10.4 NEXT REG SPC 3 * GROUP 3: SLA,COL4 - SLB,COL4 * CLA G3.4 STA REG FOR REG _ 0,1 CLA G3.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA G3.2 STA J FOR J _ 0,7 ADA BIT3 ADA BIT4 ADA REG STA INSTR INSTR _ REG + BIT4 + BIT3 + J LDB PATA G3.1 STB PTI FOR I - 1,7 LDA B,I STA ARG ARG _ PAT(I) AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) LDA IE STA EE EE _ IE LDA PT1,I STA EAB EAB _ TBL1(I,J) LDB J JSB SC1 CHECK EAB FOR K = 5 OR 6 LDB J JSB SC2 CHECK EE FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G3.1 NEXT I ADA J CPA .8 CCA,RSS JMP G3.2 NEXT J CPA IE RSS JMP G3.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G3.4 NEXT REG SPC 3 * GROUP 5: CLE,COL4 * CLA STA ESKP ESKP _ 0 G5.4 STA REG FOPR REG _ 0,1 CLA G5.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA G5.2 STA J FOR J _ 0,7 ADA BIT5 ADA BIT4 ADA REG STA INSTR INSTR _ REG + BIT5 + BIT4 + J LDB PATA G5.1 STB PTI FOR I _ 0,7 LDA B,I STA ARG ARG _ PAT(I) CLA STA EE EE _ 0 LDA PT1,I STA EAB IAB _ TBL1(I,J) LDB J JSB SC2 CHECK EE FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G5.1 NEXT I ADA J CPA .8 CCA,RSS JMP G5.2 NEXT J CPA IE RSS JMP G5.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G5.4 NEXT REG SPC 3 * GROUP 7: CLE,SLA,COL4 - CLE,SLB,COL4 * CLA G7.4 STA REG FOR REG _ 0,1 CLA G7.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE POINTER CLA G7.2 STA J FOR J _ 0,7 ADA BIT5 ADA BIT4 ADA BIT3 ADA REG INSTR _ REG + BIT5 + BIT4 STA INSTR + BIT3 + J LDB PATA G7.1 STB PTI FOR I _ 0,7 LDA B,I STA ARG ARG _ PAT(I) AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) LDA PT1,I STA EAB EAB _ TBL1(I,J) CLA STA EE EE _ 0 LDB J JSB SC2 CHECK IE FOR J = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G7.1 NEXT I ADA J CPA .8 CCA,RSS JMP G7.2 NEXT J CPA IE RSS JMP G7.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G7.4 NEXT REG SPC 3 * GROUP 14: COL1,CLE * CLA g STA EE EE _ 0 STA ESKP ESKP _ 0 G14.4 STA REG FOR REG _ 0,1 CLA G14.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G14.2 STA K FOR K _ 0,7 STB KX KX _ K*2**8 ADB BIT5 ADB BIT9 ADB REG STB INSTR INSTR _ REG + BIT9 + BIT5 + KX LDB PATA G14.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB EAB _ TBL1(I,K) LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G14.1 NEXT I LDB KX ADB B100 ADA K CPA .8 CCA,RSS JMP G14.2 NEXT K CPA IE RSS JMP G14.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G14.4 NEXT REG SPC 3 * GROUP 12: COL1,SLA - COL1,SLB * CLA G12.4 STA REG FOR REG _ 0,1 CLA G12.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G12.2 STA K FOR K _ 0,7 STB KX KX _ K*2**8 ADB BIT9 ADB BIT3 ADB REG STB INSTR INSTR _ REG + BIT9 + BIT3 + KX LDB PATA G12.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA IE STA EE EE _ IE LDB K JSB SC2 CHECK EE FOR K = 5 OR 6 LDA PT1,I STA EAB EAB _ TBL1(I,K) LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * EAB) JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G12.1 NEXT I LDB KX ADB B100 ADA K CPA .8 <:6CCA,RSS JMP G12.2 NEXT K CPA IE RSS JMP G12.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G12.4 NEXT REG SPC 3 * GROUP 16: COL1,CLE,SLA - COL1,CLE,SLB * CLA STA EE EE _ 0 G16.4 STA REG FOR REG _ 0,1 CLA G16.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G16.2 STA K FOR K _ 0,7 STB KX KX _ K*2**8 ADB BIT9 ADB BIT5 ADB BIT3 ADB REG INSTR _ REG + BIT9 + BIT5 STB INSTR + BIT3 + KX LDB PATA G16.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB EAB _ TBL1(I,K) LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * EAB) JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G16.1 NEXT I LDB KX ADB B100 ADA K CPA .8 CCA,RSS JMP G16.2 NEXT K CPA IE RSS JMP G16.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G16.4 NEXT REG SPC 3 <  24317-18002 1431 S 0122 24317A 2100 SER SHFT ROTATE DIAGNOSTIC             H0101 .* GROUP 11: COL1,COL4 * GROUP 13: COL1,CLE,COL4 * GROUP 15: COL1,SLA,COL4 - COL1,SLB,COL4 * GROUP 17: COL1,CLE,SLA,COL4 - COL1,CLE,SLB,COL4 * CLA G11.7 STA REG FOR REG _ 0,1 CLA G11.6 STA IE FOR IE _ 0,1 CLA G11.5 STA SLAB FOR SLA OR SLB _ 0,1 CLA G11.4 STA CLE FOR CLE _ 0,1 LDB TBL2A STB PT2 RESET TABLE 2 POINTER LDB TBL1A STB PT1X INITIALIZE TABLE 1 POINTER CLA CLB G11.3 STA K FOR K _ 0,7 STB KX K _ K*2**8 CLA G11.2 STA J FOR J _ 0,7 LDB PT1X STB PT1 RESET TABLE 1 POINTER ADA REG ADA BIT9 ADA KX ADA CLE ADA BIT4 ADA SLAB INSTR _ REG + BIT9 + KX + CLE STA INSTR + BIT4 + SLAB + J LDB PATA G11.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB1 EAB1 = EXPECTED A OR B RESULT CLA AFTER 1ST SHIFT OR ROTATE LDB K CPB .5 EAB1 _ TBL1(K,I) LDA BIT15 + BIT15 * IE IF K=5 CPB .6 + BIT0 * IE IF K=6 LDA BIT0 AND IE IOR EAB1 STA EAB1 LDB SLAB STB ESKP SZB,RSS JMP G11.C AND BIT0 XOR BIT0 STA ESKP ESKP _ SLAB * CMPL(BIT0 * EAB1) G11.C LDA IE STA EE1 EE1 _ EXPECT E AFTER 1ST SHIFT CLA LDB K ASSUME EE1 = IE CPB .5 LDA BIT0 CPB .6 EE1 _ BIT0 * ARG IF K=5 LDA BIT15 EE1 _ BIT15 * ARG IF K=6 SZA,RSS JMP G11.A AND ARG SZA CCA STA EE1 G11.A LDA CLE IF CLE =1, EE1 _ 0 CLB SZA STB EE1 LDA EE1 EE _ EE1 IF J NOT 5 OR 6 STA EE CLA LDB J IF J=5, EE _ BIT0 * EAB1 CPB .5 LDA BIT0 IF J=6, EE _ BIT15 * EAB1 CPB .6 LDA BIT15 SZA,RSS JMP G11.B AND EAB1 SZA CCA STA EE G11.B LDA PT2,I ASSUME EAB _ TBL2(I,J,K) STA EAB LDB J CLA IF J=5, CPB .5 EAB _ EAB + BIT15* EE1 LDA BIT15 CPB .6 IF J=6 LDA BIT0 EAB _ EAB + BIT0 * EE1 AND EE1 IOR EAB STA EAB CLA LDB K CHECK K: CPB .5 LDA TBL5A IF K=5, A _ TABLE 5 ADDRESS CPB .6 LDA TBL6A IF K=6, A _ TABLE 6 ADDRESS SZA,RSS JMP G11.Z K NOT 5 OR 6 ADA J ADDRESS IN TBL LDA A,I BIT MASK = F(J) AND IE IOR EAB STA EAB EAB _ EAB + BITS * IE G11.Z JSB E.C GO EXECUTE & CHECK ISZ PT2 STEP TABLE POINTERS ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G11.1 NEXT I ADA J CPA .8 CLA,INA,RSS JMP G11.2 NEXT J LDB PT1 STB PT1X ADJUST TABLE 1 POINTER LDB KX ADB B100 ADA K CPA .8 RSS JMP G11.3 NEXT K LDA CLE ADA BIT5 CPA BIT5 JMP G11.4 NEXT CLE BIT LDA SLAB ADA BIT3 CPA BIT3 JMP G11.5 NEXT SLA OR SLB BIT CCA CPA IE RSS JMP G11.6 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G11.7 NEXT REG SPC 3 * SPCEIAL GROUP: ERA, ELA, ERB, ELB WITH D/E FIELD =0 * EXPECT RESULT IN E SAME AS INSTRUCTION WITH D/E FIELD = 1 * EXPECT NO CHANGE IN A OR B. * CLA STA ESKP ESKP _ 0 LDA .5 STA J J = 5 FOR ERA OR ERB LDB SITA SG.3 STB PT2 NEXT ADDR. IN SPEC. INSTR. TLB LDA PT2,I STA INSTR NEXT INSTRUCTION CLA SG.2 STA IE FOR IE _ 0,1 LDB [PATA SG.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG LDB J JSB SC2 GET EE JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP SG.1 NEXT DATA PATTERN CPA IE RSS JMP SG.2 NEXT IE LDA .6 LDB PT2 INB CPB SIT6A STA J J = 6 FOR ELA OR ELB CPB SITE RSS JMP SG.3 NEXT INSTRUCTION SPC 3 * OVERFLOW REGISTER TESTS * CLO SOC HLT 40B CLO - SOC COMBINATION FAILED CLO SOS RSS HLT 41B CLO - SOS COMBINATION FAILED STO SOS HLT 42B STO - SOS COMBINATION FAILED STO SOC RSS HLT 43B STO - SOC COMBINATION FAILED STO SOS C HLT 44B STO - SOS,C COMB. FAILED SOC HLT 45B SOS,C DID NOT CLEAR OVFLO CLO LDA SOVFC A _ 077777 INA SOS HLT 50B INA DID NOT SET OVERFLOW CLO CCA A _ 177777 INA SOC HLT 51B INA SHOULD NOT HAVE SET OVERFLOW CLO LDA SOVFC ADA SOVFC SUM OF 077777 & 077777 IN A SOS HLT 52B ADA DID NOT SET OVERFLOW CLO LDA BIT15 ADA BIT15 SUM OF 100000 & 100000 IN A SOS HLT 53B ADA DID NOT SET OVERFLOW CLO LDA SOVFC ADA BIT15 SUM OF 0777777 & 100000 IN A SOC HLT 54B OV SET ON SUM ON UNLIKE SIGNS CLO CCA ADA M1 SUM OF 177777 & 177777 IN A SOC HLT 55B ILLEGAL SET OF OVERFLOW CLO CLA ADA A SUM OF 000000 & 00000 IN A SOC HLT 56B ILLEGAL SET OF OVERFLOW CLO LDB SOVFC B _ 077777 INB SOS HLT 60B IN^B DID NOT SET OVERFLOW CLO CCB B _ 177777 INB SOC HLT 61B INB SHOULD NOT HAVE SET OVERFLOW CLO LDB SOVFC ADB SOVFC SUM OF 077777 & 077777 IN B SOS HLT 62B ADB DID NOT SET OVERFLOW CLO LDB BIT15 ADB BIT15 SUM OF 100000 & 100000 IN B SOS HLT 63B ADB DID NOT SET OVERFLOW CLO LDB SOVFC ADB BIT15 SUM OF 077777 & 100000 IN B SOC HLT 64B OV SET ON SUM OF UNLIKE SIGNS CLO CCB ADB M1 SUM OF 177777 & 177777 IN B SOC HLT 65B ILLEGAL SET OF OVERFLOW CLO CLB ADB B SUM OF 000000 & 000000 IN B SOC HLT 66B ILLEGAL SET OF OVERFLOW SPC 3 EOP LDA PCA STEP END OF PASS COUNT INA STA PCA LIA 1 AND BIT12 SZA JMP SOP LDA PCA HLT 77B END OF PASS HALT JMP SOP GO AROUND AGAIN SPC 3 TBL5 OCT 100000 OCT 140000 OCT 1 OCT 40000 OCT 0 OCT 40000 OCT 0 OCT 10 TBL6 OCT 2 OCT 0 OCT 2 OCT 100000 OCT 2 OCT 0 OCT 2 OCT 20 PAT1 OCT 1 PAT2 OCT 100000 PAT3 OCT 100001 PAT4 OCT 074170 PAT5 OCT 103607 PAT6 OCT 125252 PAT7 OCT 052525 P0020 OCT 2 OCT 100000 OCT 100002 OCT 070360 OCT 107416 OCT 152524 OCT 025252 P0021 OCT 0 OCT 140000 OCT 140000 OCT 036074 OCT 141703 OCT 152525 OCT 025252 P0022 OCT 2 OCT 1 OCT 3 OCT 170360 OCT 7417 OCT 052525 OCT 125252 P0023 OCT 100000 OCT 40000 OCT 140000 OCT 036074 OCT 141703 OCT 052525 OCT 125252 P0024 OCT 2 OCT 0 OCT 2 OCT 070360 OCT 7416 OCT 52524 OCT 25252 P0025 OCT 0 OCT 40000 OCT 40000 OCT 36074 OCT 41703 OCT 52525 OCT 25252 P0026 OCT 2 OCT 0 OCT 2 OCT 170360 OCT 7416 OCT 52524 OCT 125252 P0027 OCT 20 OCT 10 OCT 30 OCT 103607 OCT 74170 OCT 125252 OCT 52525 P1020 OCT 4 OCT 100000 OCT 100004 OCT 60740 OCT 117034 OCT 125250 OCT 52524 P1021 OCT 1 OCT 140000 OCT 140001 OCT 034170 OCT 143607 OCT 165252 OCT 12525 P1022 OCT 4 OCT 1 OCT 5 OCT 160740 OCT 17035 OCT 125251 OCT 52524 P1023 OCT 1 OCT 40000 OCT 40001 OCT 34170 OCT 43607 OCT 65252 OCT 12525 P1024 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1025 OCT 1 OCT 40000 OCT 40001 OCT 34170 OCT 43607 OCT 65252 OCT 12525 P1026 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1027 OCT 40 OCT 10 OCT 50 OCT 7407 OCT 170350 OCT 52515 OCT 125242 P1120 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1121 OCT 0 OCT 160000 OCT 160000 OCT 17036 OCT 160741 OCT 165252 OCT 12525 P1122 OCT 0 OCT 100001 OCT 100001 OCT 74170 OCT 103607 OCT 125253 OCT 52524 P1123 OCT 0 OCT 60000 OCT 60000 OCT 17036 OCT 160741 OCT 165252 OCT 12525 P1124 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1125 OCT 0 OCT 60000 OCT 60000 OCT 17036 OCT 60741 OCT 65252 OCT 12525 P1126 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1127 OCT 0 OCT 14 OCT 14 OCT 141703 OCT 36074 OCT 52535 OCT 125242 P1220 OCT 4 OCT 2 OCT 6 OCT 160740 OCT 17036 OCT 25252 OCT 152524 P1221 OCT 1 OCT 0 OCT 1 OCT 174170 OCT 3607 OCT 25252 OCT 152525 P1222 OCT 4 OCT 2 OCT 6 OCT 160741 OCT 17036 OCT 125252 OCT 52525 P1223 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 P0224 OCT 4 OCT 2 OCT 6 OCT 60740 OCT 17036 OCT 25252 OCT 52524 P1225 OCT 1 OCT 0 OCT 1 OCT 74170 OCT 3607 OCT 25252 OCT 52525 P1226 OCT 4 OCT 2 OCT 6 OCT 160740 OCT 17036 OCT 125252 OCT 52524 P1227 OCT 40 OCT 20 OCT 60 OCT 7417 OCT 170360 OCT 52525 OCT 125252 P1320 OCT 100000 OCT 0 OCT 100000 OCT 74170 OCT 103606 OCT 25252 OCT 152524 P1321 OCT 140000 OCT 20000 OCT 160000 OCT 17036 OCT 160741 OCT 25252 OCT 152525 P1322 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 P1323 OCT 40000 OCT 20000 OCT 60000 OCT 17036 OCT 160741 OCT 125252 OCT 52525 P1324 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1325 OCT 40000 OCT 20000 OCT 60000 OCT 17036 OCT 60741 OCT 25252 OCT 52525 P1326 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1327 OCT 10 OCT 4 OCT 14 OCT 141703 AOCT 36074 OCT 52525 OCT 125252 P1420 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1421 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1422 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1423 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1424 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1425 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1426 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1427 OCT 40 OCT 0 OCT 40 OCT 7407 OCT 170340 OCT 52505 OCT 125242 P1520 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1521 OCT 0 OCT 20000 OCT 20000 OCT 17036 OCT 20741 OCT 25252 OCT 12525 P1522 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1523 OCT 0 OCT 20000 OCT 20000 OCT 17036 OCT 120741 OCT 125252 OCT 12525 P1524 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1525 OCT 0,20000,20000,17036,20741,25252,12525 P1526 OCT 0,100000,100000,74170,103606,125252,52524 P1527 OCT 0 OCT 4 OCT 4 OCT 141703 OCT 36064 OCT 52525 OCT 125242 P1620 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 25250 OCT 152524 P1621 OCT 1 OCT 0 OCT 1 OCT 174170 OCT 3607 OCT 25252 OCT 152525 P1622 OCT 4 OCT 0 OCT 4 OCT 16070.*41 OCT 17034 OCT 125250 OCT 52525 P1623 OCT 1 OCT 0 OCT 1 OCT 74170 OCT 3607 OCT 25252 OCT 52525 P1624 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1625 OCT 1,0,1,74170,3607,25252,52525 P1626 OCT 4,0,4,160740,17034,125250,52524 P1627 OCT 40 OCT 0 OCT 40 OCT 7417 OCT 170340 OCT 52505 OCT 125252 P1720 OCT 40 OCT 20 OCT 60 OCT 107416 OCT 70360 OCT 152524 OCT 25252 P1721 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 152525 OCT 25252 P1722 OCT 40 OCT 20 OCT 60 OCT 7417 OCT 170360 OCT 52525 OCT 125252 P1723 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 52525 OCT 125252 P1724 OCT 40 OCT 20 OCT 60 OCT 7416 OCT 70360 OCT 52524 OCT 25252 P1725 OCT 10 OCT 4 OCT 14 OCT 41703 OCT 36074 OCT 52525 OCT 25252 P1726 OCT 40 OCT 20 OCT 60 OCT 7416 OCT 170360 OCT 52524 OCT 125252 P1727 OCT 400 OCT 200 OCT 600 OCT 74170 OCT 103607 OCT 125252 OCT 52525 OCT 0 SIT OCT 5 ERA COL4 D/E=0 OCT 500 ERA COL1 D/E=0 OCT 4005 ERB COL4 D/E=0 OCT 4500 ERB COL1 D/E=0 SIT6 OCT 6 ELA COL4 D/E=0 OCT 600 ELA COL1 D/E=0 OCT 4006 ELB COL4 D/E=0 OCT 4600 ELB COL1 D/E=0 * END 0   24318-18001 1810 S 0122 I/O INSTRUCTION GROUP DIAGNOSTIC             H0101 JASMB,A,B,L,C HED INPUT OUTPUT INSTR. GROUP AND CHANNEL/EXTENDER DIAGN. ORG 0 DSN 141103 1 MAR 1978 REV 1810 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND CONFIG. * B. LOAD DIAGNOSTIC PROGRAM. * C. LOAD ADDRESS 100B * D. LOAD SW REG WITH SELECT CODE(S) & TEST OPTIONS * AS FOLLOWES: * * ----------------+--+--------+--------+--------+--------+--------+ * S-REG. !15!14 13 12!11 10 9! 8 7 6! 5 4 3! 2 1 0! * ----------------+--+--------+--------+--------+--------+--------+ * STANDARD I/O ! ! ! UPPER ! LOWER ! * TESTS ! 0! ! INTERF. BOARD ! INTERF. BOARD ! * (TST 00-07) ! ! ! SC. (USC) ! SC. (LSC) ! * ----------------+--+--+--+--+--------+--------+-----------------+ * SPECIAL 12979B ! ! ! ! ! ! ! ! * TEST (TST 08) ! ! ! ! ! ! ! ! * 1 CPU, 2 EXT'S ! 1! 1! *! !BSW SC1 !BSW SC2 !INTERF. BOARD SC ! * 2 CPU'S, 1 EXT ! 1! 0! *! ! ! BSW SC !INTERF. BOARD SC ! * ----------------+--+--+--+--+--------+--------+-----------------+ * * BIT 13 SET: DMA BOARD INSTALLED IN EXTENDER, TEST 09 * * E. PRESS RUN WAIT FOR HALT 102074 * F. ENTER PROGRAM OPTION: (8-15) * IF SET =: * 15 = HALT AT END OF EACH TEST * 14 = SUPPRESS ERROR HALTS * 13 = LOOP ON LAST TEST * 12 = LOOP ON DIAGNOSTIC * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPPRESS ERROR MESSAGES. * 10 = SUPPRESS NON-ERROR MESSAGES. * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * * 7 * = RESERVED o * 0 * * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE - RETURN TO STEP C * * GENERAL COMPUTER HALTS * * 1020XX E OR H 000 TO 067 * 1060XX E OR H 100 TO 167 * 1030XX E OR H 200 TO 267 * 1070XX E OR H 300 TO 367 * SKP * * CONTROL PROGRAM HALT MESSAGES * * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER SELECTION REQUEST * 102073 USER SELECT CODE ERROR * 102072 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * 106070 - * 106076 CONFIG. HALTS SEE DIAG. CONFIG. MANUAL * * * * ** DEFINITION OF MNEMONICS OR ABBREVIATIONS ** * * A, A-REG - A-REGISTER. * ACT - ACTUAL. * ADDR - ADDRESS. * B, B-REG - B-REGISTER. * CNT - COUNT. * CONFIG - CONFIGURE, CONFIGURATOR. * CONST - CONSTANT. * DEC - DECIMAL. * DGT - DIGIT. * E, E-REG - EXTEND REGISTER. * EXP - EXPECT, EXPECTED. * INCR - INCREMENT. * INSTR - INSTRUCTION. * INTP - INTERRUPT. * MEM - MEMORY. * NEG - NEGATIVE * NOS, NUM, NUMB - NUMBER. * O-REG, OVR, - OVERFLOW REGISTER. * P, P-REG - P-REGISTER. * PARAM - PARAMETER. * POS - POSITIVE. * REG - REGISTER. * RTN - RETURN. * SC, SELECT CODE * SUBT - SUBTRACT * SYS, SYST - SYSTEM. * TP, TABLE POINTER. * WD, WDS- WORD, WORDS. * WDT, WATCH DOG TIMER. * := - REPLACED BY, I.E. A:=B, WHERE A IS REPLACED BY VALUE B. HED TEST DESCRIPTION * TEST SELECTION BY OPERATOR: * ********************************************************************* * A-REG SETTING * TEST TO BE * TEST NAME: * * IF SET: * SELECTED *  * ********************************************************************* * 0 * 0 * INTRPT FLAG, OV REG & CARD FLAG * * 1 * 1 * OV REG TEST * * 2 * 2 * INTRPT TEST * * 3 * 3 * SC SCREEN TEST * * 4 * 4 * OTA/B, LIA/B, MIA/B TEST * * 5 * 5 * S-REG TEST * * 6 * 6 * EXTERNAL/INTERNAL PRESET TEST * ********************************************************************* * * IF A-REG IS CLEAR THEN ALL TESTS ARE RUN. HED LINKAGE TABLE A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE DMASC EQU 2 DMA CHANNEL SC CH EQU 10B I-O CHANNEL SELECT CODE BSC1 EQU 70B BUS SWITCH SC1 FOR 12979B EXT BSC2 EQU 70B BUS SWITCH SC2 FOR 12979B EXT * ORG 100B * JMP CFIG,I GO TO CONFIGURATION SECTION FAIN BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) FAOP BSS 1 FAST OUTPUT (DUMP OR PUNCH) SLIN BSS 1 SLOW INPUT (KEYBOARD) FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY LWAM BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 NOT USED (MAG TAPE) OTMC BSS 1 1 MILL SEC TIME OUT COUNT BSS 4 SELECT CODES FOR I/O CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEMO BSS 1 MEMORY SIZE AND TYPE ISWR BSS 1 INTERNAL SWITCH REGISTER TMRR BSS 1 1 MILL SEC TIMER SWRC BSS 1 CONFIGURATOR SWITCH CK PTR I2AS BSS 1 INTEGER TO ASCII CONVERSION O2AS BSS 1 OCTAL TO ASCII CONVERSION AS2N BSS 1 ASCII CONVERSION DSN OCT 141103 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF .CONF CONFIGURATION SECTION MSGC DEF .MSGC MESSAGE WITH NO HALT MSGH DEF .MSGH MESSAGE WITH HALT ERMS DEF .ERMS ERROR MESSAGE SWRT DEF .SWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF .EXRT RETURN TO CONTROL PROGRAM NOP RESERVED SKP * ORG 140B STDA OCT 0 STDB OCT 0 STDAS OCT 377 STDAX OCT 1400 HDMX DEF HDM1+12 * HDMS OCT 6412 ASC 17,I-O INSTRUCTION GROUP & CHANNEL OR OCT 6412 HDM1 ASC 16,EXTENDER DIAGNOSTIC DSN XXXXXX/ * TSTP DEF *+1 TABLE OF TEST NUMBERS DEF TST00 INTRPT FLAG, OV REG & BOARD FLAG TEST DEF TST01 OV REG TEST DEF TST02 INTRPT TEST DEF TST03 SC SCREEN TEST DEF TST04 OTA/B, LIA/B, MIA/B TEST DEF TST05 S-REG TEST DEF TST06 EXTNL. & INTNL. PRESET TEST DEF TST07 CONCATENATED CLF TEST DEF TST08 12979B EXTENDER TEST DEF TST09 12979B EXTENDER DMA TEST DEC -1 * IOID DEF *+1 TABLE POINTER OF INTRF. SC * DEF T2.00 DEF T2.01 DEF T2.02 DEF T2.03 DEF T2.04 DEF T2.05 DEF T2.06 DEF T2.07 DEF T2.08 DEF T2.09 DEF T2.10 DEF T2.11 DEF T2.12 DEF T2.13 DEF T2.14 DEF T2.15 DEF T2.16 DEF T2.17 DEF T2.18 DEF T2.19 DEF T3.00 DEF T3.01 DEF T4.00 DEF T4.01 DEF T4.02 DEF T4.03 DEF T4.04 DEF T4.05 DEF T4.06 DEF T4.07 DEF T4.08 DEF T4.09 DEF T4.10 DEF T4.11 DEF T4.12 DEF T6.01 DEF T6.02 DEF T8.01 DEF T8.02 DEF T8.03 DEF T8.04 DEF T8.05 DEF T8.06 DEF T8.07 DEF T8.08 DEF T8.09 DE}F T8.10 DEF T8.11 DEF T8.12 DEF T8.13 DEF T8.14 DEF T8.15 DEF T8.16 DEF T8.17 DEF T8.18 DEF T9.01 DEF T9.02 DEF T9.03 DEF T9.04 DEF T9.05 DEF T9.06 DEF T9.07 DEF T9.08 DEC -1 * IOSC NOP * * BSCP1 DEF *+1 TABLE POINTER OF BASE SWITCH SC1 * DEF CPU01 DEF CPU02 DEF CPU03 DEF CPU04 DEF CPU05 DEF CPU06 DEF CPU07 DEF CPU08 DEF CPU09 DEF CPU10 DEF CPU11 DEF CPU12 DEF CPU13 DEF CPU14 DEF CPU15 DEF CPU16 DEF CPU17 DEF CPU18 DEF CPU19 DEF CPU20 DEF CPU21 DEF CPU22 DEF CPU23 DEF CPU24 DEF CPU25 DEF EXT01 DEF EXT02 DEF EXT03 DEF EXT04 DEF EXT05 DEF EXT06 DEF EXT07 DEF EXT08 DEF EXT09 DEF CPU27 DEF CPU28 DEF CPU29 DEF CPU30 DEF CPU31 DEF CPU32 DEF CPU33 DEF CPU34 DEF CPU35 DEF CPU36 DEF CPU37 DEF CPU38 DEF CPU50 DEF CPU51 DEF CPU52 DEC -1 * * BSCP2 DEF *+1 TABLE POINTER OF BASE SWITCH SC2 * DEF EXT01 DEF EXT02 DEF EXT03 DEF EXT04 DEF EXT05 DEF EXT06 DEF EXT07 DEF EXT08 DEF CPU27 DEF CPU28 DEF CPU29 DEF CPU30 DEF CPU31 DEF CPU32 DEF CPU33 DEF CPU34 DEF CPU35 DEF CPU36 DEF CPU37 DEF CPU38 DEF CPU50 DEF CPU51 DEF CPU52 DEC -1 * * * DMAPT DEF *+1 TABLE POINTER OF DMA SC'S DEF DMA1 DEF DMA2 DEF DMA3 DEF DMA4 DEF DMA5 DEF DMA6 DEC -1 HED DIAGNOSTIC CONSTANTS & STORAGE LOCATIONS SAVA NOP SAVB NOP EOLC NOP gTSTA NOP SINA NOP SINB NOP UINA NOP UINB NOP BTMP NOP LSC NOP USC NOP SCVA NOP DEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 . OCT 0 DEC 1,2,3,4,5,6,7,8,9,10,11,12 .60 OCT 60 .70 OCT 70 .77 OCT 77 .177 OCT 177 .7700 OCT 7700 IOM OCT 177700 S1512 OCT 170000 S1514 OCT 140000 SM14 OCT 137777 SW15 OCT 100000 SW14 OCT 40000 SW13 OCT 20000 SW12 OCT 10000 S812 OCT 010400 SW11 OCT 4000 SW10 OCT 2000 SW9 OCT 1000 SW87 OCT 600 SW8 OCT 400 S1412 OCT 70000 P7777 OCT 77777 S1587 OCT 100600 SWM9 OCT 176777 SWM11 OCT 173777 M1514 OCT 37777 T4TL OCT 177776 OCT 177777 .1252 OCT 125252 .0525 OCT 052525 DAF3 OCT 146314 T6S15 OCT 113560 T6S DEC 6000 T5S DEC 5000 SW150 OCT 100001 .100 OCT 100 .200 OCT 200 .204 OCT 204 .300 OCT 300 H2 OCT 102000 H6 OCT 106000 H3 OCT 103000 H7 OCT 107000 CFTT DEC -1 TSTF DEF *+1 ASC 3,TEST .TSTN ASC 2,XX// PSC ASC 6,PASS XXXXXX/ A.E OCT 105 PCB DEF *+1 STORE DECIMAL TEST OCT 0 NUMBER IN OCT 0 STRING PCBX ASC 1,XX * CPTPY DEF CPTYP LINKAGE TO SUBROUT "CPTYP" DAFRS DEF DAFSR " " " "DAFSR" T09L DEF T09 RETURN LINK TO TEST 09 * EM50 ASC 10,E050 CPU TIMED OUT/ SKP HED DIAGNOSTIC PROGRAM CONTROL * * PUT JSB INSTRUCTION IN TRAP CELL * ORG 700B TCJI NOP LDB JSBI GET JSB INSTR & STORE IT IN THE TRAP STB IOSC,I CELL OF THE SPECIFIED INTERF BOADR LDA TCJI,I GET LOCATION OF INTRPT ROUTINE & STORE IT IN STA 3B MEM LOC 3 FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN TO CALLER * JSBI JSB 3B,I JSB INSTRUCTION * * * * SC CONVERSION FROM OCTAL TO ASCII * N2AO NOP STA IOAD SAVE NUMBER AND .+7 CONVERT FIRST IOR .60 NUMBER STA B SAVE IT LDA IOAD GET  RAR,RAR SECOND RAR NUMBER AND .+7 CONVERT IOR .60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP N2AO,I AND RETURN * IOAD OCT 0 * * * MESSAGE OUTPUT WITHOUT HALT * .MSGC NOP ENTRY JSB MSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP .MSGC,I RETURN TO CALLER * * * MESSAGE OUTPUT WITH HALT * .MSGH NOP ENTRY JSB MSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA HLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA SAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP .MSGH,I RETURN TO CALLER * SKP * * ERROR MESSAGE WITH HALT * .ERMS NOP ENTRY JSB MSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB SW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA SAVA RESTORE A & B LDB SAVB HLT NOP WAIT FOR OPERATOR JMP .ERMS,I RETURN TO CALLER * * * OUTPUT MESSAGE * MSG NOP STA SAVA SAVE A AND B REGISTERS STB SAVB LDB MSG,I GET SWITCH REGISTER BIT LDA MSG ADA .-2 DECREMENT RETURN ADDRESS STA MSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP MSG0 YES LDA MSG,I CHECK IF ERROR LDA A,I ELA,CLE,ERA LDA A,I IF SO ALF,ALF AND .177 CPA A.E JSB CFTN CHECK TO OUTPUT TEST NUMBER LDA MSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS ELB,CLE,ERB CLA,CLE JSB FMTR,I MSG0 LDA MSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING ELB,CLE,ERB CCA,CCE JSB AS2N,I STA N2AO SAVE RESULT AND .300 DECODE LDB H2  HALT CODE CPA .100 LDB H6 CPA .200 LDB H3 CPA .300 LDB H7 LDA N2AO GET HALT NUMBER AND .77 IOR B STA HLT SAVE IT MSG1 LDA MSG,I LDA A,I SSA,RSS JMP MSG2 ISZ MSG,I LDB MSG ADB .+2 LDB B,I JSB SWRT,I JMP MSG1 LDA MSG,I LDB A,I ELB,CLE,ERB CLA,CLE JSB FMTR,I JMP MSG1 MSG2 ISZ MSG,I ADJUST RETURN POINTERS ISZ MSG ISZ MSG ISZ MSG LDA SAVA RESTORE A AND B REGISTERS LDB SAVB JMP MSG,I * * * * CONVERT BINARY SC TO ASCII & RETURN VALUE IN A-REG * LDSC NOP LDA IOSC LOAD SC TO A-REG & GO TO CONVERSION JSB N2AO ROUTINE JMP LDSC,I * SKP * * TEST NR. VERIFICATION & CONVERSION * CFTN NOP LDA TSTN GET TEST NUMBER CPA CFTT IS IT THE SAME ONE? JMP CFTN,I YES SKIP OUTPUT STA CFTT NO - THEN UPDATE IT CLE LDB PCB JSB I2AS,I LDB PCBX STB .TSTN CLA JSB SLOP,I CLA,CLE LDB TSTF JSB FMTR,I JMP CFTN,I * * * * SWITCH REGISTER CHECK * .SWRT NOP STA N2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ .SWRT NO LDA N2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP .SWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ITCH NOP LDA TSH GET STARTING TRAP CELL HALT LDB .+2 GET FIRST TRAP CELL LOCATION TSHL STA B,I PUT IT IN PLACE CPB .77 AM I FINISHED JMP ITCH,I YES INB NEXT ADDRESS JMP TSHL * TSH OCT 106077 * SKP G64006   24318-18002 1810 S 0122 I/O INSTRUCTION GROUP DIAGNOSTIC             H0101 J* * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ISC NOP STA IOSC SAVE SELECT CODE IOL LDA B,I GET ADDRESS OF LOCATION CPA .-1 IS IT THE TERMINATOR JMP ISC,I YES RETURN TO CALLER STA SAVA SAVE ADDR LDA A,I GET INSTR AND IOM MASK OFF OLD SELECT CODE IOR IOSC ADD IN NEW SELECT CODE STA SAVA,I RESTORE IT INB MOVE TO NEXT ADDRESS JMP IOL DO IT * * * CONFIGURATION SECTION * .CONF JSB CONF CONFIG I-O CHANNEL JMP STEX1,I RETURN TO DIAG CONTROL * CONF NOP CLC INTP,C TURN I/O SYSTEM OFF CON1 LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND .77 ELIMINATE OPTIONS STA LSC STORE INTO LOWER SC BUFFER CMA,INA CHECK THAT SC > 7 STA B ADA .+7 SSA ? JMP *+3 OK GO ON HLT73 HLT 73B NO JMP CON1 TRY AGAIN * LDA USSC GET SC & OPTIONS AGAIN SSA IS TEST FOR EXTENDER REQUESTED? JMP IOINI YES AND .7700 NO, MASK OFF UPPER SC ALF,ALF TRANSFER 2. SC TO BITS 0-5 & RAL,RAL STORE IN UPPER SC BUFFER STA USC SZA,RSS HAS AN UPPER SC BEEN SPECIFIED? JMP IOINI NO, JUMP OVER 2. SC TEST ADA .-1 YES, CHECK IF USC > LSC ADA B SSA JMP HLT73 NO, INPUT ERROR IOINI LDA LSC YES, INITIALIZE TEST I/O TO LOWER SC LDB IOID INITIALIZE TEST I/O JSB ISC INSTRUCTIONS CLA CLEAR OTA SW SWITCH REGISTER HLT 74B ALLOW OPERATOR TO CHANGE SR OPTIONS JMP CONF,I GO TO EXEC CONTROL SECTION * STEX1 DEF STEX * * * ROUTINE TO TEST IF EXECUTION IS REQUIRED ON SEVERAL I/O BOARDS * MIOTS NOP LDA USC CHECK IF AN UPPER SC HAS BEEN SPECIFIED SZA,RSS NyJMP MIOTS,I NO, RETURN & EXIT TEST CPA IOSC YES, CHECK IF IT IS EQUAL TO CURRENT SC JMP MIOTS,I YES, RETURN & EXIT TEST LDA IOSC NO, INCREMENT CURRENT SC INA STA T4SCP,I STORE SC INTO BUFR. F ERR MSG. ISZ MIOTS INCREMENT RETURN ADDRESS & RETURN JMP MIOTS,I * T4SCP DEF T4SC * * * SUBROUTINE TO CHECK TIME OUT IN TST 04 ON INTFACE BOARDS * TOSBR NOP NOP GIVE 12554 BOARD TIME TO RESPOND T4.12 SFC CH HAS BOARD RECEIVED THE DATA? JMP TOSBR,I YES, RETURN STA TOBFR NO, STORE A-REG TO SET LDA IOSC NO, TIME OUT ERROR JSB N2AO CONVERT CURRENT SC & STA BE32+10 STORE IN MESSAGE LDA IOSC LOAD SC & PRINT ERROR E032 JSB ERMS,I MESSAGE E032 DEF BE32 LDA TOBFR RESTORE A-REG JMP TOSBR,I RETURN TO TEST * BE32 ASC 12,E032 TIME OUT ON SC XX/ * TOBFR OCT 0 * * * TRAP CELL ROUTINE FOR TEST 02, E023 * BI71 NOP CLF INTP TURN OFF INTRPT SYST JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE23+5 LDA IOSC E023 JSB ERMS,I E023 CLC CH ERR DEF BE23 JMP *+1,I DEF B72 BE23 ASC 19,E023 CLC XX DID NOT CLEAR CONTROL FF/ * SKP * * CONFIGURATION & SPECIAL HEADER MESSAGE * SUBROUTINE FOR TEST 08 OR 09 * EXTSL NOP LDA STDAS ASSUME THAT TESTS 00-07 STA STDA WILL BE SELECTED LDA USSC IS TEST FOR EXTENDER REQUESTED? SSA,RSS JMP EXTSL,I NO, STANDARD TEST ALF,ALF YES, CONVERT BUS SWITCH SC1 SPECIFIED RAL,RAL IN S-REG BITS 6-8 TO ASCII & STUFF AND .+7 INTO HEADER MESSAGE IOR .70 STA BSSC1 STORE BUS SWITCH SC1 JSB N2AO STA BH60D+11 LDA USSC DOES THE SYSTEM UNDER TEST HAVE RAL,RAL REDUNDANT EXTENDERS? (BIT 14 SET) SLA,RSS BJMP RDCPU NO, REDUNDANT CPU'S * ALF,RAL YES, REDUNDANT EXTENDERS AND .+7 CONVERT BUS SWITCH SC2 SPECIFIED IN IOR .70 S-REG BITS 9-11 TO ASCII, STUFF STA BSSC2 INTO HEADER MESSAGE & STORE JSB N2AO BUS SWITCH SC2 STA BH60E+11 LDA DFEXD LINK BH40D DEF STATEMENT WITH BIT 15 IOR SW15 STA DFEXD LDA B60BP PULL "EXTENDER" DEF STATEMENT & LINK IOR SW15 WITH BIT 15 JMP DFEB * RDCPU LDA DFEXD REDUNDANT CPU'S, REMOVE LINKAGE BIT AND P7777 IN DEF STATEMENT STA DFEXD LDA B60CP PULL "CPU" DEF STATEMENT & LINK WITH IOR SW15 BIT 15 * DFEB STA DFEXB JSB MSGC,I OUTPUT MESSAGE H040 DEF BH60A,I DFEXB NOP DFEXD DEF BH60D DEF BH60E NOP * LDA STDAX SET UP STDA FOR EXTENDER TESTS STA STDA JMP EXTSL,I * B60BP DEF BH60B B60CP DEF BH60C * SKP * BH60A OCT 6412 ASC 22,H060 12979B EXTENDER TEST, WITH REDUNDANT _ BH60B ASC 05,EXTENDERS/ BH60C ASC 05,CPU'S / BH60D ASC 13, BUS SWITCH SC1 = YY/ BH60E ASC 13, SC2 = ZZ/ * BSSC1 OCT 0 BSSC2 OCT 0 BSSCX OCT 0 * * * SUBROUTINE TO TEST THAT BOTH EXTENDERS CAN BE * DICONNECTED FROM THE CPU (TEST 08 & 09) * DISCO NOP LDA EXT09+1 CONFIGURE THE CLC INSTR FOR THE AND IOM EXTENDER ON BSSC2 IOR BSSC2 STA EXT09+1 EXT09 CLC BSC1 TURN BOTH EXTENDER OFF TO PREVENT CLC BSC2 INTERFERENCE LDA SW150 GO TO SUBROUT "DAFSR" & CHECK IF JSB DAFSP,I FLAG SET OR DATA COMPARED RSS YES, AN EXT. IS STILL CONNECTED JMP DISCO,I NO, BOTH EXT'S ARE DISCONNECTED * LDA BSSC1 CONVERT BOTH SC TO ASCII & JSB N2AO STUFF INTO MESSAGE STA BE57+5 LDA BSSC2 JSB N2AO STA BE57+9 E057 JSB ERMS,I PRINT MESSAGE DEF BE57,I DEF BE57A JMP DISCO,I * BE57 ASC 15,E057 CLC XX, CLC YY DID NOT/ BE57A ASC 16, DISCONNECT BOTH EXTENDERS/ * DAFSP DEF DAFSR * * * ROUTINE TO WARN OPERATOR OF INPUT ERROR * ER61 LDA SINA RETRIEVE PREVIOUS TEST SELECTION LDB SINB JSB ERMS,I GO TO ERR MESG 61 DEF BE61 JMP EXCX,I * EXCX DEF EXC BE61 ASC 18,E061 CONFIG & TEST SEL INCOMPATIBLE/ SKP HED DIAGNOSTIC PROGRAM CONTROL ORG 2000B STEX CLC INTP,C TURN I/O SYSTEM OFF CLE LDA DSN OUTPUT DSN LDB HDMX WITH THE JSB O2AS,I HEADER MESSAGE JSB MSGC,I PRINT HEADER DEF HDMS CLA CLEAR PASS STA EOLC COUNT JSB EXTSL CHECK IF 12979B EXTENDER TEST EXCZ LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP USR IT'S USERS CHOICE NUSR LDA STDA GET ONE OF THE TWO LDB STDB STANDARD TEST RUNS JMP EXC * USR LIA SW READ SW-REG AND SWM9 MASK OFF BIT 9 OTA SW OUTPUT TO SW-REG LDA SINA RETRIEVE PREVIOUS RUN LDB SINB HLT 75B WAIT FOR USER INPUT EXC STA UINA SAVE STB UINB USER STA SINA INPUT STB SINB PROGRAM LDB SW9 WAS USER CHOICE REQUESTED? JSB SWRT,I JMP USR YES, RETURN FOR NEW SELECTION CCA NO, CONTINUE. STA TSTN SET TEST NUMBER TO -1 STA CFTT CLA STA TSTA CLEAR TEST RUN FLAG * EXCL LDA UINA RESTORE A REG. LDB UINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA UINA SAVE POSITIONS STB UINB ISZ TSTN MOVE TEST UP ONE NOP XCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA .-1 ZO IS IT END OF LIST JMP EOL YES LDB UINB SSB,RSS SHOULD IT BE RUN? JMP EXCL NO STA TSTA YES - SAVE TEST ADDRESS JSB ITCH INITIALIZE TRAP CELL HALTS LDA TSTN CHECK IF OPERATOR CHOSE INCOM- ADA .-8 PATIBLE CONFIG & TEST SELECTION XOR USSC CHECK IF BIT 15 ARE DIFFERENT SSA,RSS JMP ER61 YES, REPORT INCOMPATIBILITY JSB TSTA,I NO, OK, GO DO TEST .EXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP USR YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP XCL1 YES - LOOP JMP EXCL CONTINUE * EOL LDA TSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP NUSR NO, SO PICK UP STANDARD RUN LDA EOLC UP DATE PASS COUNT INA STA EOLC CCE LDB PSCA GET PASS COUNT ADB .+2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE PSCA DEF PSC LDB SW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA EOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA SINA RESTORE ORIGINAL PROGRAM LDB SINB NO, STANDARD TEST JMP EXC DO IT ALL AGAIN * * * *************************************************************** SKP HED TEST 00 * * * TEST 00 * ------- * INTERRUPT FLAG CHECK (STF00, CLF00, SFS00, SFC00) * OVERFLOW REGISTER CHECK (STF01, CLF01, SFS01, SFC01) * INTERFACE BOARD(S) FLAG CHECK (STFXX, CLFXX, SFSXX, SFCXX) * * TST00 EQU * NOP JSB T00 DO BASIC I/O CLC INTP,C TURN OFF ALL I/O JMP TST00,I * T00 NOP CLC INTP,C TURN OFF ALLD? I/O * LDA IOSPT FETCH THE FIRST SOURCE ADDRESS OF STA IOSAD THE INSTRUCTION TABLE & STORE IN IOSAD CLA SET SC=00 (INTRPT) INTO THE VALUE STA SCVA OF THE SC JSB IO1 EXERCISE TEST W STANDARD CLF,STF,SFS,SFC JSB IO1 " " " SPECIAL CLF,STF JSB IO1 " " " " SFC,SFS JSB IO1 " " " STANDARD SFC,C SFS,C SFS JSB IO1 " " " SPECIAL SFC,C SFS,C SFS * LDA IOSPT RECONFIGURE THE SC TO 01 (OVERFLOW REG) STA IOSAD & REPEAT THE SAME TESTS AS ABOVE ISZ SCVA JSB IO1 JSB IO1 JSB IO1 JSB IO1 JSB IO1 * LDA LSC RECONFIGURE THE SC TO THE SPECIFIED STA SCVA INTERFACE CARD & REPEAT THE SAME T00RP LDA IOSPT TESTS AS ABOVE EXCLUDING STA IOSAD THE LAST 2 SUBROUTINES JSB IO1 BECOUSE OF 21MX M-SERIES JSB IO1 REV. 1813 & LATER) JSB IO1 * LDA USC LOAD THE UPPER SC SZA,RSS IS ONE? JMP T00,I NO, EXIT TEST CPA SCVA YES, IS IT = SC JUST TESTED JMP T00,I YES, EXIT TEST ISZ SCVA NO, INCREMENT SC & REPEAT TEST JMP T00RP * SKP * * SUBROUTINE TO SET THE INSTRUCTION COUNTER TO 7, * SET THE DESTINATION & SOURCE ADDRESSES, * CONFIGURE THE I/O INSTRUCTIONS & RUN ONE TEST LOOP * IO1 NOP LDA .-7 7 I/O INSTR HAVE TO BE CONFIGURED & STA ISCT MOVED INTO THE TEST LDB IODPT STORE DESTINATION ADDRESS OF STB IODAD 1. INSTRUCTION IN GROUP AWAY JSB STIO CONFIGURE & STORE I/O INSTR INTO TEST JSB BIO1 EXERCISE TEST JMP IO1,I * ISCT OCT 0 * * * * SUBROUTINE TO PULL I/O INSTRUCTION FROM SOURCE, * CONFIGURE IT & STORE IT INTO THE DESTINATION IN * THE TEST. (SC MUST BE IN SCVA, NUMBER OF INSTR * TO BE MOVED IN ISCT, DESTINATION ADDRESS OF 1. * INSTRUCTION IN "IODAD" AND SOURCE ADDRESS OF NEXT * INSTRUCTION IN "IOSAD") * STIO NOP LDA IOSAD,I LOAD INSTR FROM SOURCE IOR SCVA CONFIGURE I/O INSTR LDB IODAD,I FETCH DESTIN. ADDRESS POINTER STA B,I STORE INSTR VIA POINTER INTO TEST * ISZ IOSAD INCREMENT SOURCE ADDRESS NOP ISZ ISCT CHECK IF PREDEFINED # OF I/O INSTR RSS HAVE BEEN TRANSFERED? JMP STIO,I YES, EXIT SUBROUTINE ISZ IODAD NO, INCREMENT DESTINATION ADDRESSES NOP JMP STIO+1 RETURN FOR TRANSFER OF NEXT INSTR * IOSAD OCT 0 IODAD OCT 0 SKP * * SUBROUTINE TO TEST STF, CLF, SFS & SFC INSTRUCTIONS * BIO1 NOP NOP TOGGLE FLAG ON, NOP THEN OFF NOP IS IT CLEARED? E000 JSB ER000 NO, ERROR NOP YES, IS IT SET? RSS NO, OK E001 JSB ER001 YES, ERROR NOP SET FLAG NOP IS IT SET? E002 JSB ER002 NO, ERROR NOP YES, IS IT CLEARED? RSS NO, OK E003 JSB ER003 YES, ERROR JMP BIO1,I * SKP * * I/O INSTRUCTION TABLE TO BE CONFIGURED & * TRANSFERED INTO TEST * IOSPT DEF *+1 * OCT 102100 STF OCT 103100 CLF OCT 102200 SFC OCT 102300 SFS OCT 102100 STF OCT 102300 SFS OCT 102200 SFC * OCT 102100 STF OCT 107100 CLF WITH BIT 11 SET OCT 102200 SFC OCT 102300 SFS OCT 106100 STF " " " " OCT 102300 SFS OCT 102200 SFC * OCT 102100 STF OCT 103100 CLF OCT 106200 SFC WITH BIT 11 SET OCT 106300 SFS " " " " OCT 102100 STF OCT 106300 SFS " " " " OCT 106200 SFC " " " " * OCT 102100 STF OCT 103100 CLF OCT 103200 SFC,C OCT 102300 SFS OCT 102100 STF OCT 103300 SFS,C OCT 102300 SFS * OCT 102100 STF OCT 103100 CLF OCT 107200 SFC,C WITH BIT 11 SET OCT 102300 SFS OCT 102100 STF OCT 107300 SFS,C " " " " OCT 106300 SFS WITH BIT 11 SET * OCT 177777 SKP * * DESTINATION ADDRESSES OF I/O INSTRUCTIONS * IODPT DEF *+1 * DEF BIO1+1 DEF BIO1+2 DEF BIO1+3 DEF BIO1+5 DEF BIO1+8 DEF BIO1+9 DEF BIO1+11 * SKP * * ERROR SUBROUTINE, CONVERTS THE 2 FAILING INSTRUCTIONS * TO ASCII & STORES THEM INTO THE ERROR MESSAGE STRING, * INSERTS THE CURRENT SC INTO THE ERROR MESSAGE STRINGS, * CHECKS THE ENTERY POINTS TO THE SUBROUTINES & OUTPUTS * ERROR MESSAGES. * ER000 NOP CLA STA ENPTC LDA E000-2 LDB E000-1 JMP STLOK ER001 NOP LDA .+1 STA ENPTC LDA E001-5 LDB E001-2 MARK THE ENTERY POINT IN "ENPTC" & JMP STLOK LOAD THE 2 FAILING INSTRUCTIONS ER002 NOP FROM THE TEST & JUMP TO THE LDA .+2 ERROR SUBROUTINE STA ENPTC LDA E002-2 LDB E002-1 JMP STLOK ER003 NOP LDA .+3 STA ENPTC LDA E003-5 LDB E003-2 * STLOK CLC INTP,C TURN ALL I/O OFF STA FIINS STORE THE 2 FAILING INSTRUCTIONS STB SEINS CLE CONVERT THE 2 FAILING INSTRUCTIONS FROM LDB BEADP OCTAL TO ASCII & STORE THEM INTO JSB O2AS,I THE "BEAD" STRING. CCE LDA SEINS LDB BEADP ADB .+3 JSB O2AS,I * LDA SCVA CONVERT THE SC WHICH IS STORED IN JSB N2AO MEM LOC "SCVA" FROM OCTAL TO STA BE00+5)640 ASCII & STORE IT INTO THE STA BE01+5 ERROR MESSAGES E000, E001, STA BE02+5 E002 & E003. STA BE03+5 STA BESC * SKP * LDA FIINS DETERMEN ENTERY POINT OF ERROR LDB ENPTC SUBROUTINE SO THAT CORRECT SZB,RSS ERROR MESSAGE CAN BE JMP EX000 ACCESSED. CPB .+1 JMP EX001 CPB .+2 JMP EX002 * EX003 LDB SEINS OUTPUT THE APPROPRIATE JSB ERMS,I ERROR MESSAGE DEF BE03,I DEF BESC,I DEF BEAD JMP ER003,I EX002 LDB SEINS JSB ERMS,I DEF BE02,I DEF BESC,I DEF BEAD JMP ER002,I EX001 LDB SEINS JSB ERMS,I DEF BE01,I DEF BESC,I DEF BEAD JMP ER001,I EX000 LDB SEINS JSB ERMS,I DEF BE00,I DEF BESC,I DEF BEAD JMP ER000,I * * ENPTC OCT 0 FIINS OCT 0 SEINS OCT 0 * BEADP DEF BEAD+3 * BE00 ASC 09,E000 CLF XX SFC _ BE01 ASC 09,E001 CLF XX SFS _ BE02 ASC 09,E002 STF XX SFS _ BE03 ASC 09,E003 STF XX SFC _ BESC ASC 04,XX ERR/ BEAD ASC 10, XXXXXX XXXXXX/ * * * *************************************************************** SKP 6   24318-18003 1810 S 0122 I/O INSTRUCTION GROUP DIAGNOSTIC             H0101 J HED TEST 01 * * * TEST 01 * ------- * OVERFLOW REGISTER CHECK. THE TEST IS DIVIDED INTO * 2 SECTIONS: THE 1. SECTIONS TESTS THE SETTING OF * THE OVERFLOW REGISTER BY ADA/B AND INA/B INSTRUC- * TIONS. THE 2. SECTION TESTS THE EAU INSTRUCTIONS * WHICH SET OR CLEAR THE OVERFLOW REGISTER. * * TST01 EQU * NOP JSB T01 CLC INTP,C JMP TST01,I * * * THIS SECTION TESTS THE SETTING OF THE OVERFLOW REG. * CAUSED BY ADA/B AND INA/B INSTRUCTIONS. * T01 NOP LDA INPPT GET TABLE POINTER TO FETCH THE 2 INSTR. OVTST LDB A,I FETCH THE 1. INSTR & CHECK IF END OF CPB .-1 TABLE HAS BEEN REACHED JMP EAUIN YES, EXIT STB TLO1 NO, STORE 1. INSTR INTO TEST INA INCR. TABLE POINTER LDB A,I FETCH 2. INSTR & STB TLO2 STORE IT INTO TEST INA INCR. TABLE POINTER STA INPTR & STORE IT * CLO START TEST BY CLEARING OVERFLOW REG TLO1 NOP TLO2 NOP SOS IS OVERFLOW SET E004 JMP ER04 NO, ERROR LDA INPTR YES, GET TABLE POINTER & JMP OVTST RETURN SKP * * INSTRUCTION TABLE FOR ADA/B & INA/B INSTR. * INPPT DEF *+1 * LDA P7777 ADA .+1 LDA .+1 ADA P7777 LDB P7777 ADB .+1 LDB .+1 ADB P7777 LDA SW14 ADA SW14 POSITIVE OVERFLOW W ADA/B INSTR LDB SW14 ADB SW14 LDA P7777 ADA P7777 LDB P7777 ADB P7777 LDA P7777 ADA .+2 LDB P7777 ADB .+2 * LDA SW15 ADA .-1 LDA .-1 ADA SW15 LDB SW15 ADB .-1 LDB .-1 ADB SW15 LDA SM14 ADA SM14 NEGATIVE OVERFLOW W ADA/B INSTR LDB SM14 ADB SM14 LDA SW15 ADA SW15 LDB SW15 ADB SWy15 LDA SW15 ADA .-2 LDB SW15 ADB .-2 * LDA P7777 INA POSITIVE OVERFLOW WITH LDB P7777 INA/B INSTR. INB * OCT 177777 SKP * * ERROR SUBROUTINE FOR OVERFLOW REGISTER TEST * CAUSED BY ADA/B OR INA/B INSTRUCTIONS. * ER04 NOP CLC INTP,C TURN OFF ALL I/O LDA TLO2 DETERMEN IF THE INSTRUCTION AND S1412 EXECUTED IN TLO2 IS AN AD* STA LIBUF INSTRUCTION CPA SW14 JMP ADA.B YES LDB INCIN NO, IN* INSTR, STORE "IN" IN ST1AS STB BE04+12 ERROR ASCII STRING LDA TLO2 DETERMEN IF THE INSTR EXECUTED AND SW11 IN TLO2 REFERENCES THE B-REG CPA SW11 JMP B.REG YES LDB A.BLK NO, A-REG IS REFERENCED, STORE "A" ST2AS STB BE04+13 IN ERROR ASCII STRING JMP DATLN B.REG LDB B.BLK STORE B-REG JMP ST2AS ADA.B LDB ADINS STORE "AD" JMP ST1AS * DATLN LDA LIBUF CHECK IF FAILING INSTR SZA,RSS WAS AN AD* JMP INERM NO, IN* -> SINGLE LINE ERR MESSAGE LDA TLO1 YES, AD* -> OUTPUT DATA WORDS ADDED AND SWM11 CONVERT THE 1. FETCHED INSTR TO A STA FDAWD LDA & STORE IT IN THE LAST ROUTINE STA O2AR1 & IN THE OCTAL TO ASCII CONV ROUT CLE O2AR1 NOP CONVERT THE 1. DATA WORD TO ASCII LDB BE4DP & STORE IN "BE4D" JSB O2AS,I * LDA TLO2 CONVERT THE 2. FETCHED INSTR IOR SW13 TO A LDA & STORE IT INTO AND SWM11 THE OCTAL TO ASCII CONVERTION STA O2AR2 ROUTINE IOR SW11 CONVERT IT TO A LDB & STORE STA SDAWD IT IN THE LAST ROUTINE CLE O2AR2 NOP CONVERT THE 2. DATA WORD TO ASCII LDB BE4DP & STORE IN "BE4D" ADB .+4 JSB O2AS,I * SKP * FDAWD NOP LOAD A-REG WITH 1|. DATA WORD SDAWD NOP LOAD B-REG WITH 2. DATA WORD & JSB ERMS,I OUTPUT DUAL LINE ERR MESSAGE DEF BE04,I FOR FAILING ADA/B INSTR. DEF BE4D JMP E004+1 * INERM JSB ERMS,I OUTPUT SINGLE LINE ERROR MESSAGE DEF BE04 FOR FAILING INA/B INSTR JMP E004+1 * INPTR OCT 0 LIBUF OCT 0 ADINS OCT 40504 INCIN OCT 44516 A.BLK OCT 40440 B.BLK OCT 41040 * BE4DP DEF BE4D+6 * BE04 ASC 17,E004 OV REG NOT SET BY XXX INSTR/ BE4D ASC 14, DATA: XXXXXX YYYYYY/ SKP * * THIS SECTION TESTS THE SETTING & CLEARING OF * THE OVERFLOW REG BY EXECUTING EAU INSTR. * THE OVERFLOW REG SHOULD BE SET BY: * ASL, IF AN OVERFLOW OCCURES, * DIV, IF DIVIDEND IS TOO BIG OR DIVISOR = 0 * THE OVERFLOW REG SHOULD BE CLEARED BY: * MPY, ARS OR ALS IF NO OVERFLOW OCCURES. * EAUIN LDA CPTO CHECK IF EAU IS PRESENT ARS IN CPU SLA,RSS JMP T01,I NO, EXIT TEST * CLC INTP,C YES, TURN OFF ALL I/O CLO PERFORM EAU INSTR TEST CLA SET 010000,000000 INTO B & LDB SW12 A-REG & PERFORM AN ASL 4 ASL INSTR. SOC IS OVERFLOW CLEARED? JMP *+3 NO, OK E005 JSB ERMS,I YES, ERROR DEF ER05 * CLO SET 037777,100000 INTO B & LDB M1514 A-REG & PERFORM A LDA SW15 DIV BY 077777 DIV P7777 SOC IS OVERFLOW CLEAR? JMP *+3 NO, OK E006 JSB ERMS,I YES, ERROR DEF ER06 * CLO CLB SET 000000,000001 INTO B & LDA .+1 A-REG & PERFOCRM A DIV . DIV BY 0 SOC IS OVERFLOW CLEAR? JMP *+3 NO, OK E007 JSB ERMS,I YES, ERROR DEF ER07 * STO CLA,INA SET A-REG TO 1 & PERFORM A MPY SW12 MPY BY 10000 SOS IS OVERFLOW SET? JMP *+3 NO, OK E010 JSB ERMS,I YES, ERROR DEF ER10 * SKP STO CLA SET 010000 & 000000 INTO B & LDB SW12 A-REG & PERFORM AN ASL 2 ASL INSTRUCTION SOS IS OVERFLOW SET? JMP *+3 NO, OK E011 JSB ERMS,I YES, ERROR DEF ER11 * STO CLA SET 010000 & 000000 INTO B & LDB SW12 A-REG & PERFORM AN ASR 2 ASR INSTRUCTION SOS IS OVERFLOW SET? JMP *+3 NO, OK E012 JSB ERMS,I YES, ERROR DEF ER12 JMP T01,I EXIT TEST * * ER05 ASC 18,E005 ASL W. OVFW DID NOT SET OV REG/ ER06 ASC 14,E006 DIV W. DIVIDEND TOO BIG OCT 6412 ASC 12, DID NOT SET OV REG/ ER07 ASC 17,E007 DIV BY 0 DID NOT SET OV REG/ ER10 ASC 15,E010 MPY DID NOT CLEAR OV REG/ ER11 ASC 15,E011 ASL WITHOUT OVFW DID NOT OCT 6412 ASC 09, CLEAR OV REG/ ER12 ASC 15,E012 ASR DID NOT CLEAR OV REG/ * * * *************************************************************** SKP HED TEST 02 * * * TEST 02 * ------- * INTERRUPT TEST. THIS TEST IS DIVIDED INTO 4 ROUTINES. * THE 1. CHECKES THE CAPABILITY TO TURN OFF THE INTRPT * SYSTEM AFTER INITIATON. THE 2. TESTS THE INTERPT * HOLD OFF BY I/O INSTRUCTIONS, JMP,I & JSB,I & THE * PROPER OCCURENCE OF INTRPTS. THE 3. CHECKS THE CLC SC * & THE CLC 0 INSTRUCTIONS AND THE LAST ONE CHECKS THE * STC SC,C & CLC SC,C INSTRUCTIONS. * * TST02 EQU * NOP JSB T02 CLC INTP,C JMP TST02,I * * * 1. TURN OFF INTERRUPT AFTER INITIALIZATION * T02 NOP LDA LSC GET 1. SC OF INTERFACE BOARD LDB IOID GET I/O INSTRUCTION TABLE POINTER JSB ISC & CONFIGURE I/O INSTRUCTIONS CLC INTP,C JSB TCJI SET JSB INSTR INTO TRAP CELL DEF B3E OF INTFACE BOARD T2.00 STF CH SET THE FLAG T2.01 STC CH SET THE CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TO INTERRUPT NOP NOP T2.02 CLF CH RESET CH FLAG JMP BIO5 * BE13 ASC 22,E013 CLF 0 DID NOT INHIBIT INTRPT ON SC XX/ * B3E NOP CLF INTP TURN OFF INTS JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE13+20 LDA IOSC E013 JSB ERMS,I OUTPUT ERROR MESSAGE DEF BE13 SKP * * 2. INERRUPT HOLD OFF & INTERRUPT CHECK * BIO5 JSB TCJI SET JSB INSTR INTO TRAP CELL DEF BI15 OF INTERFACE BOARD CLA SET UP STA BF5 FLAGS STA BI15 FOR TEST STA BTMP T2.03 STC CH TURN ON T2.04 STF CH CARD STF INTP AND INTRPT SYSTEM STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCUR DEF *+1 * HERE JSB *+1,I * DEF *+1 * BF5 NOP * ISZ BTMP INT. SHOULD BE HERE ISZ BTMP CLF INTP TURN I/O SYSTEM OFF LDA BI15 DID IT INTERRUPT? SZA JMP *+7 JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE16+10 LDA IOSC E016 JSB ERMS,I E016 NO INT DEF BE16 JMP BIO6 ABORT REST OF SECTION LDA BTMP CHECK FOR CORRECT INTERRUPT CPA .+2 ? JMP *+3 E020 JSB ERMS,I E020 INT EXECUTION ERROR DEF BE20 T2.05 CLF CH TURN OFF CH FLAG JMP BIO6 GO TO NEXT SECTION * BD5 DEF BF5-1 BD5A DEF BF5+1 * BE14 ASC 22,E014 INTRPT F. SC XX DURING HOLD OFF INSTR/ BE15 ASC 19,E015 SECOND INTRPT OCCURRED F. SC XX/ BE16 ASC 12,E016 NO INTRPT F SC XX/ BE17 ASC 13,E017 INTRPT RTN ADDR ERR/ BE20 ASC 13,E020 INTRPT EXECUTION= ERR/ SKP BI15 NOP CLF INTP TURN I/O SYSTEM OFF LDA BD5 CHECK TO SEE IF ALL CPA BF5 INSTRUCTION COMPLETED JMP *+6 YES JSB LDSC NO, LOAD SC INTO ERROR MESSAGE & A-REG STA BE14+9 LDA IOSC E014 JSB ERMS,I E014 INT DURING HOLD OFF DEF BE14 LDA BD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA BI15 JMP BI15A E017 JSB ERMS,I E017 INT RTN ADDR ERROR DEF BE17 JMP BIO6 BI15A JSB TCJI SET SECOND INT TRAP DEF BT15 STF INTP TURN I/O SYSTEM ON JMP BI15,I CONTINUE TEST * BT15 NOP CLF INTP TURN I/O SYSTEM OFF JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE15+17 LDA IOSC E015 JSB ERMS,I E015 SECOND INT OCURRED DEF BE15 * SKP * * 3. CLC CH AND CLC 0 * BIO6 JSB TCJI SET JSB INSTRUCTION DEF BI61 T2.06 STC CH SET CH CONTROL T2.07 STF CH SET CH FLAG STF INTP TURN ON INTERRUPTS T2.08 CLC CH CLEAR CH CONTROL NOP GIVE IT A CHANCE NOP NOP CLF INTP TURN INTS OFF B60 JSB TCJI SET JSB INSTRUCTION DEF BI62 T2.09 CLF CH CLEAR CH FLAG T2.10 STC CH SET CH CONTROL T2.11 STF CH SET CH FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP NOP CLF INTP TURN OFF INTS JMP BIO7 * BI61 NOP CLF INTP TURN OFF INTRPTS JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE21+5 LDA IOSC E021 JSB ERMS,I E021 CLC CH ERROR DEF BE21 JMP B60 * BI62 NOP CLF INTP TURN OFF INTS E022 JSB ERMS,I E022 CLC 0 ERROR DEF BE22 JMP BIO7 EXIT SECTION * BE21 ASC 9,E021 CLC XX ERR/ BE22 ASC 8,E022 CLC 0 ESRR/ * SKP * * 4. STC SC,C TEST * BIO7 JSB TCJI SET JSB INSTR INTO TRAP CELL DEF BI71 OF INTRF BOARD T2.12 STC CH,C TURN ON CHANNEL CONTROL STF INTP TURN ON INTRPT SYST T2.13 CLC CH DISABLE THE CHANNEL CONTROL NOP NO INTRPT NOP SHOULD OCCURE NOP HERE * B72 CLC INTP,C TURN ALL I/O OFF JSB TCJI SET JSB INSTR INTO TRAP CELL DEF BI72 OF INTRF BOARD T2.14 STC CH,C TURN ON CHANNEL CONTROL STF INTP TURN ON INTRP SYST NOP WAIT FOR 12554 INTERFACE BOARD NOP NOP INTRPT SHOULD OCCUR HERE CLF INTP TURN INTRPT OFF JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE16+10 LDA IOSC E016A JSB ERMS,I E025 NO INTRPT ON CHANNEL DEF BE16 (BOARD REQUIRES TEST CONNECTOR) * CLC INTP,C TURN ALL I/O OFF T2.15 STC CH,C TURN ON CHANNEL CONTROL & NOP GIVE THE BOARD TIME TO REPLY NOP NOP T2.16 SFC CH DID BOARD ANSWER BACK? JMP *+6 YES, OK JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE26+8 LDA IOSC E026 JSB ERMS,I NO, ERROR DEF BE26 * T2.17 STF CH TURN ON CHANNEL CONTROL T2.18 CLC CH,C CLEAR CHANNEL CONTROL & FLAG NOP GIVE 12554 BOARD TIME TO RESPOND NOP NOP T2.19 SFS CH DID CLC,C INSTR CLEAR THE FLAG? JMP *+6 CHECK IF TEST IS FINISHED JSB LDSC LOAD SC INTO ERROR MASSAGE & A-REG STA BE27+5 LDA IOSC E027 JSB ERMS,I E027 CLC CH,C INSTR DID NOT CLEAR FLAG DEF BE27 * JSB MIOTS CHECK IF TEST IS REQUIRED ON SEVERAL BOARDS JMP T02,I NO, EXIT TEST JMP T02+2 YES, REENTER TEST & REPEAT WITH NEW SC SKP * * EXPECTED INTRPT ROUTINE * BI72 NOP EXPECTED INTRPT OCCURED rCLF INTP JMP T2.15-1 RETURN TO TEST * BE26 ASC 20,E026 CARD IN SC XX DID NOT REPLY W FLAG/ BE27 ASC 17,E027 CLC XX,C DID NOT CLEAR FLAG/ * * * *************************************************************** SKP HED TEST 03 * * * TEST 03 * ------- * SELECT CODE SCREEN TEST * ORG 4000B TST03 EQU * NOP JSB T03 CLC INTP,C JMP TST03,I * T03 NOP LDA LSC GET SC OF 1. INTF. BOARD LDB IOID GET I/O INSTR. TABLE POINTER JSB ISC & CONFIGURE I/O INSTR CLC INTP,C LDB .+8 START WITH LOWEST ADDRESS B40 LDA IOSC GET SELECT CODE STORED BY SUBROUT "ISC" CPB A IS IT = TO THE BOARD UNDER TEST? JMP .CLF+1 YES - SKIP TEST LDA .STF NO, CONFIGURE STF INSTR. AND IOM WITH SC. IOR B STA .STF PUT IT IN PLACE LDA .CLF SET UP AND IOM IOR B CLF INSTRUCTION STA .CLF PUT IT IN LINE T3.00 CLF CH CLEAR FLAG ON BOARD UNDER TEST .STF STF CH EXECUTE STF CH INSTR ON ALL OTHER SC'S NOP GIVE 12554 BOARD TIME TO REPLAY NOP NOP T3.01 SFC CH TEST FLAG ON BOARD UNDER TEST JMP B41 .CLF CLF CH CLEAR FLAG ON ALL OTHER SC'S CPB .77 IS TEST FINISHED? JMP T03RT YES INB NO JMP B40 DO NEXT CHANNEL * T03RT JSB MIOTS CHECK IF TEST IS REQUIRED ON SEVERAL I/O BOARD JMP T03,I NO, EXIT TEST JMP T03+2 YES, REENTER TEST WITH NEXT BOARDS SC * SKP * BE30 ASC 19,E030 STF XX SET BOARD FLAG ON SC YY/ * B41 STB BTMP SAVE INTERFERING CHANNEL NUMBER LDA B CONVERT INTERFERING CH FOR MESSAGE JSB N2AO STA BE30+5 LDA IOSC CONVERT INTERFERED BOARDS SC JSB N2AO FOR MESSAGE STA BE30+17 LDA BTMP RETRIEVE SC hbNUMBERS LDB IOSC E030 JSB ERMS,I E030 DEF BE30 JMP T03RT EXIT ROUTINE * * * ***************************************************************** SKP HED TEST 04 * * * TEST 04 * ------- * THIS TEST CHECKS THE OTA/B, LIA/B & MIA/B * INSTRUCTIONS ON SC'S 01 (S-REG), SC 02 & * 03 (IF DMA IS INSTALLED) AND THE INTERFACE * BOARD(S) UNDER TEST. * TST04 EQU * NOP JSB T04 CLC INTP,C JMP TST04,I * * * TEST EXECUTION ON SC 01 (S-REG) * T04 NOP CLC INTP,C TURN OFF ALL I/O JSB CPTY CHECK IF COMPUTER IS A 2115/16 JMP C1516 YES, SKIP S-REG SUBTEST * LIA 1B NO, STORE SELECTED DIAGNOSTIC STA SREBF OPIONS AWAY LDA .+1 STORE SC 01 INTO STA T4SC SC BUFFER LDB IOT41 LOAD I/O ADDRESS POINTER JSB ISC CONFIGURE I/O TO SC 1 JSB T4S1 EXECUTE TEST ON SC 1 T4RT1 LDA SREBF RESTORE SELECTED DIAGNOSTIC OTA 1B OPTIONS * * * TEST EXECUTION ON SC 02 (WORD COUNT REG ON DMA 1) * C1516 LDA CPTO CHECK IF DMA IS PRESENT AND .204 SZA,RSS JMP T4IB NO DMA, SKIP THIS SUBTEST * LDA .+2 STORE SC 2 INTO STA T4SC BUFFER LDB IOT41 LOAD I/O ADDRESS POINTER JSB ISC CONFIGURE I/O INSTR TO SC 2 STC 2B SET DMA TO ACCEPT BLOCK LENGTH JSB T4S1 EXECUTE TEST ON SC 2 * SKP * * TEST EXECUTION ON SC 03 (WORD COUNT REG ON DMA 2) * T4RT2 LDA CPTO CHECK IF DUAL DMA IS PRESENT AND .+4 SZA,RSS JMP T4IB NO, ITS A 2114 * LDA .+3 STORE SC 3 INTO STA T4SC BUFFER LDB IOT41 LOAD I/O ADDRESS POINTER JSB ISC CONFIGURE I/O INSTR TO SC 3 STC 3B SET DMA TO ACCEPT BLOCK LENGTH JSRr<:6B T4S1 EXECUTE TEST ON SC 3 * * * TEST EXECUTION ON THE 1. SELECTED INTERFACE BOARD * (LONG TEST EXECUTION) * T4IB CLA STORE NOP'S INTO TEST SUBOUTINE STA T4I1 FOR LONG TEST EXECUTION (65536 STA T4I2 TRANSFERS) STA T4I3 STA T4I4 LDA LSC GET SC OF 1. INTERFACE BOARD, STA T4SC STORE SC INTO BUFR FOR ERR MSG & LDB IOID CONFIGURE I/O INSTR. JSB ISC JSB T4S2 EXECUTE TEST ON INTERFACE BOARD * * * TEST EXECUTION ON ALL SELECTED INTERFACE BORDS EXCEPT * THE FIRST ONE (4 TRANSFERS ONLY PER BOARD) * T4RT4 LDA JSB4A STORE JSB INTO TEST SUBROUTINE FOR STA T4I1 SHORT TEST EXECUTION STA T4I3 LDA JSB4B STA T4I2 STA T4I4 JSB MIOTS CHECK IF TEST IS REQUIRED ON OTHER I/O JMP T04,I NO, EXIT TEST LDB IOID YES, GET I/O INSTR. TABLE POINTER & JSB ISC CONFIGURE I/O INSTR. JSB T4S2 EXECUTE TEST ON NEXT I/O BOARD JMP *-5 & RETURN * SKP 3<  24318-18004 1810 S 0122 I/O INSTRUCTION/CHANNEL              H0101 * * SUBROUTINE TO TEST OTA/B, LIA/B & MIA/B ON * SC 01, SC 02 & SC 03 * T4S1 NOP CLA STA T4FG SET TEST FLAG TO OTA - LIB STB T4OG STORE ORIGN. VALUE OF B-REG T41 OTA 0B TEST OTA - LIB LIB 0B CPA B JMP *+2 JSB T4ER1 ISZ A JMP T41-1 * INB CLEAR B-REG ISZ T4FG SET TEST FLAG TO OTB - LIA STA T4OG STORE ORIGN. VALUE OF A-REG T42 OTB 0B TEST OTB - LIA LIA 0B CPB A JMP *+2 JSB T4ER1 ISZ B JMP T42-1 * INA CLEAR A-REG ISZ T4FG SET FLAG TO OTA - MIB STA T4ABF STORE VALUE TO BE OUTPUT STB T4BBF STORE VALUE TO BE MERGED INTO T43 OTA 0B MIB 0B TEST OTA - MIB IOR T4BBF CREATE EXPECTED MERGED VALUE CPA B & CHECK IF COMPARE JMP *+2 YES JSB T4ER1 NO, ERROR LDA T4ABF INCREMENT THE VALUE TO BE ISZ A OUTPUT JMP T43-2 * SKP * INB CLEAR B-REG ISZ T4FG SET FLAG TO OTB - MIA STA T4ABF STORE VALUE TO BE MERGED INTO STB T4BBF STORE VALUE TO BE OUTPUT T44 OTB 0B MIA 0B TEST OTB - MIA STA T4ARS STORE MERGED VALUE TO FREE A-REG LDA T4BBF FOR IOR OF EXPECTED VALUE IOR T4ABF STA T4ART STORE IT TO RELOAD A-REG W MERGED LDA T4ARS VALUE IN CASE OF ERROR CPA T4ART & COMPARE ACTUAL W EXPECTED VALUE JMP *+2 YES, OK JSB T4ER1 NO, ERROR ISZ B INCREMENT THE VALUE TO BE OUTPUT JMP T44-2 * JMP T4S1,I * SKP * * SUBROUTINE TO TEST OTA/B, LIA/B & MIA/B * ON INTERFACE BOARD. * T4S2 NOP LDA T4ORG ESTABLISH TABLE POINTER IN CASE STA T4PT OF SHORT INSTR. EXECUTION CLA  STA T4FG STB T4OG T4.00 OTA CH TEST OTA - LIB T4.01 STC CH,C JSB TOSBR T4.02 LIB CH CPA B JMP *+2 JSB T4ER1 T4I1 NOP NOP FOR LONG, JSB FOR SHORT INSTR EXEC ISZ A JMP T4.00-1 * LDA T4ORG ESTABLISH TABLE POINTER IN CASE STA T4PT OF SHORT INSTR. EXECUTION CLA CLB ISZ T4FG STA T4OG T4.03 OTB CH TEST OTB - LIA T4.04 STC CH,C JSB TOSBR T4.05 LIA CH CPB A JMP *+2 JSB T4ER1 T4I2 NOP NOP FOR LONG, JSB FOR SHORT INSTR EXEC ISZ B JMP T4.03-1 * SKP * LDB T4ORG ESTABLISH TABLE POINTER FOR STB T4PT SHORT INSTR EXEC CLB CLA CLEAR A-REG ISZ T4FG SET FLAG TO OTA - MIB STA T4ABF STORE VALUE TO BE OUTPUT STB T4BBF STORE VALUE TO BE MERGED INTO T4.06 OTA CH T4.07 STC CH,C TEST OTA - LIB JSB TOSBR T4.08 MIB 0B IOR T4BBF CREATE EXPECTED MERGED VALUE CPA B & CHECK IF COMPARE JMP *+2 YES JSB T4ER1 NO, ERROR LDA T4ABF LOAD VALUE TO BE OUTPUT (IF IN LONG TEST) T4I3 NOP NOP FOR LONG, JSB FOR SHORT TEST ISZ A INCREMENT THE VALUE TO BE OUTPUT JMP T4.06-2 * LDA T4ORG ESTABLISH TABLE POINTER IN CASE OF STA T4PT SHORT INSTR EXEC CLA CLB CLEAR B-REG ISZ T4FG SET FLAG TO OTB - MIA STA T4ABF STORE VALUE TO BE MERGED INTO STB T4BBF STORE VALUE TO BE OUTPUT T4.09 OTB CH T4.10 STC CH,C TEST OTB - MIA JSB TOSBR T4.11 MIA CH STA T4ARS STORE MERGED VALUE TO FREE A-REG LDA T4BBF FOR IOR OF EXPECTED VALUE IOR T4ABF STA T4ART STORE IT TO RELOAD A-REG W MERGED LDA T4ARS VALUE IN CASE OF ERROR CPA T4ART & COMPARE ACTUAL W EXPECTED VALUE JMP *+2 YES, OK JSB T4ER1 NO, ERROR T4I4 NOP NOP FOR LONG, JSB FOR SHORT EXEC ISZ B INCREMENT THE VALUE TO BE OUTPUT JMP T4.09-2 * JMP T4S2,I * SKP * * SUBROUTINE TO SUPPLY 4 DATA VALUES TO BE TRANSFERED * TO THE I/O BOARD FOR SHORT EXECUTION TEST * T4AMD NOP FETCH DESIRED DATA VALUE W A-REG LDA T4PT,I ISZ T4PT JMP T4AMD,I * T4BMD NOP FETCH DESIRED DATA VALUE W B-REG LDB T4PT,I ISZ T4PT JMP T4BMD,I * JSB4A JSB T4AMD JSB INSTR TO BE STORED INTO TEST SUBROUT JSB4B JSB T4BMD FOR SHORT TEST * T4ORG DEF T4TL STARTING TABLE POINTER T4PT OCT 0 MOVING TABLE POINTER * * * * SUBROUTINE TO TEST FOR 2115/16 COMPUTERS * (IF COMPUTER IS NOT A 2115/16 RETURN ADDRESS * IN "CPTY" IS INCREMENTED) * CPTY NOP LDA CPTO LOAD COMPUTER TYPE & CHECK IF AND S1512 IT IS A 2115 CPA SW14 JMP CPTY,I YES, EXIT AND S1514 NO, CHECK IF IT IS A 2116 SZA,RSS JMP CPTY,I YES, EXIT ISZ CPTY NO, INCREMENT RETURN ADDRESS JMP CPTY,I & EXIT * SKP * * ERROR HANDLING SUBROUTINE FOR TEST 04 * * STORE OTA/B, LIA/B, MIA/B INTO ERROR MESSAGE * T4ER1 NOP STA T4A STORE BOTH REG AWAY STB T4B LDB SREBF IN CASE THAT ERR ROUTINE WAS ENTERED LDA IOSC FROM DATA TRANSFER VIA S-REG (SC 1) CPA .+1 RESTORE SELECTED DIAGNOSTIC OTB 1B OPTIONS LDB T4FG FROM WHERE WAS ROUTINE ENTERED? LDA AS.TA LOAD A-REG W ASCII "TA" SLB IS IT AN OTA INSTR? INA NO, LOAD B-REG W ASCII "TB" STA BE31+3 YES, STORE "TA" OR "TB" INTO MESSAGE LDA AS.IA LOAD B-REG W ASCII "IA" SLB,RSS IS IT A *IB INSTR? INA YES, LOAD A-~REG W ASCII "IB" STA BE31+7 NO, STORE "IB" OR "IA" INTO MESSAGE * * STORE "A/B"-REG INTO ERROR MESSAGE * LDA AS..A LOAD A-REG W ASCII " A" SLB IS IT AN A-REG? INA NO, CONVERT IT TO " B" STA BE311+11 YES, STORE IT IN DATA OUTPUT LDA AS..A SLB,RSS INA STA BE312+11 STORE IT IN DATA INPUT STA BE313+11 STORE IT IN ORIG. DATA * * STORE TRANSFERED DATA WORDS INTO ERROR MESSAGE * LDA T4A ASSUME THAT IT WAS AN OTA SLB IS THAT CORRECT? LDA T4B NO, IT WAS AN OTB CLE YES, CONVERT THE OUTPUTTED DATA LDB B31PT WORD TO ASCII & STUFF IT JSB O2AS,I INTO MESSAGE LDB T4FG LOAD TEST FLAG AGAIN LDA T4B ASSUME THAT IT WAS A *IB SLB IS THAT CORRECT? LDA T4A NO, IT WAS A *IA CLE YES, CONVERT THE INPUTTED DATA LDB B31PU WORD TO ASCII & STUFF IT JSB O2AS,I INTO ERROR MESSAGE LDA T4OG CONVERT THE ORIG DATA CLE WORD TO ASCII & STUFF IT LDB B31PV INTO ERROR MESSAGE JSB O2AS,I * SKP * * STORE "L" OR "M" INTO ERROR MESSAGE * LDA AS..L ASSUME THAT ROUTINE WAS ENTERED LDB T4FG FROM AN OT* - LI* TEST BRS,SLB IS THAT CORRECT? INA NO, WAS ENTERED FROM A OT* - MI* STA BE31+6 YES, ENTER IT INTO ERROR MESSAGE * * STORE SC INTO ERROR MESSAGE * LDA T4SC LOAD A-REG WITH SC JSB N2AO CONVERT SC TO ASCII STA BE31+4 & STORE IT INTO MESSAGE STA BE31+8 * * OUTPUT THE E031 ERROR MESSAGE * LDA T4A YES, LOAD A-REG W OUTPUT LDB T4B & B-REG W RECEIVED DATA E031 JSB ERMS,I OUTPUT ERROR MESSAGE E031 DEF BE31,I DEF BE311,I DEF BE312,I DEF BE313 * LDA T4SC DETERMEN RETURN POSITION TO NEXT CPA .+1 SC IN TEST, 04 AFTER ERROR MESSAGE JMP T4RT1 CPA .+2 JMP T4RT2 CPA .+3 JMP T4IB JMP T4RT4 SKP * SREBF OCT 0 T4FG OCT 0 T4A OCT 0 T4B OCT 0 T4OG OCT 0 T4ABF OCT 0 T4BBF OCT 0 T4ARS OCT 0 T4ART OCT 0 AS.TA OCT 52101 AS.IA OCT 44501 AS..A OCT 20101 AS..L OCT 20114 T4SC OCT 0 * IOT41 DEF *+1 * DEF T41 DEF T41+1 DEF T42 DEF T42+1 DEF T43 DEF T43+1 DEF T44 DEF T44+1 DEC -1 * B31PT DEF BE311+15 B31PU DEF BE312+15 B31PV DEF BE313+15 BE31 ASC 12,E031 OT*SC - LI*SC ERR/ BE311 ASC 19, DATA OUTPUT FROM *-REG XXXXXX/ BE312 ASC 19, DATA INPUT INTO *-REG YYYYYY/ BE313 ASC 19, ORIGINAL DATA IN *-REG ZZZZZZ/ * * * ***************************************************************** SKP HED TEST 05 * * * TEST 05 * ------- * THIS TEST CHECKS THE MANUAL INTERVENTIONS * TO THE S-REG * * TST05 EQU * NOP LDB S812 CHECK IF TEST SHALL BE SUPPRESSED JSB SWRT,I ? JMP *+2 YES, SKIP S-REG TEST JSB T05 NO, PERFORM TEST CLC INTP,C JMP TST05,I * * * OUTPUT 1. MESSAGE TO CONSOLE REQUESTING * "125252" INPUT ON S-REG * T05 NOP CLC INTP,C TURN OFF ALL I/O LIA 1B STORE SELECTED DIAGNOSTIC STA SREBF OPTIONS AWAY AND SW10 CLEAR THE S-REG FOR INPUT EXEPT S-REG OTA 1B BIT 10 (SUPPRESS NON ERR MSG) LDA .1252 FETCH VALUE TO BE OUTPUT JSB H033 & GO TO H033 OUTPUT SUBROUTINE * * * TEST LIA/B FROM S-REG WITH 125252 * LDA CPR STORE "CPA .1252" INTO TEST STA CPA IOR SW11 STORE "CPB .1252" INTO TEST STA CPB CLA SET TEST FLAG TO "LIA 125252" STA T4FG JSB T5S1 EXERCISE TEST * * * TEST MIA/B FROM S-REG WIHTH 125252 * LDA LOAD STORE "LDA .1252" INTO TEST STA LDA LDA INOR STORE "IOR .1252" INTO TEST STA IOR ISZ T4FG SET TEST FLAG TO "MIA 125252" JSB T5S2 EXERCISE TEST * SKP * * OUTPUT 2. MESSAGE TO CONSOLE REQUESTING * "52525" INPUT ON S-REG * LDA SREBF CLEAR THE S-REG FOR NEW INPUT EXEPT AND SW10 S-REG BIT 10 OTA 1B LDA .0525 FETCH VALUE TO BE OUTPUT & JSB H033 GO TO H033 OUTPUT ROUTINE * * * * TEST LIA/B FROM S-REG WITH 052525 * LDA CPR STORE "CPA .0525" INTO TEST INA STA CPA IOR SW11 STORE "CPB .0525" INTO TEST STA CPB ISZ T4FG SET TEST FLAG TO "LIA 052525" JSB T5S1 * * * TEST MIA/B FROM S-REG WITH 052525 * LDA LOAD STORE "LDA .0525" INTO TEST INA STA LDA LDA INOR STORE "IOR .0525" INTO TEST INA STA IOR ISZ T4FG SET TEST FLAG TO "MIA 052525" JSB T5S2 EXERCICE TEST * * * * EXIT ROUTINE FOR TEST 05 * T5EX LDA SREBF RESTORE SELECTED DIAGNOSTIC OTA 1B OPTIONS JSB CPTY CHECK IF CPU IS A 2115/16 JSB SREST YES, OUTPUT MESSAGE H034 JMP T05,I NO, EXIT * SKP * * SUBROUTINE TO OUTPUT INSTRUCTION MESSAGE * H033 NOP LDB B33PT CLE JSB O2AS,I STORE NUMBER INTO ASCII STRING JSB MSGH,I OUTPUT MESSAGE DEF BE33 JMP H033,I * * * SUBROUTINE TO TEST LIA/B FROM S-REG * T5S1 NOP CLA STA T5BUF CLEAR A-REG & STORE IN BUFFER LIA 1B READ S-REG IN CPA NOP COMPARE AGAINST EXPECTED VALUE JMP *+2 YES, OK JSB T5ER NO, ERROR LDA T5BUF INCREMENT THE ORIG A-REG VALUE ISZ A & REPEAT JMP T5S1+2 * ISZ T4FG SET TEST FLAG TO "LIB 125252" OR "LIB 052525" CLB STB T5BUF CLEAR B-REG & STORE IN BUFFER LIB 1B READ S-REG IN CPB NOP COMPARE AGAINST EXPECTED VALUE JMP *+2 YES, OK JSB T5ER NO, ERROR LDB T5BUF INCREMENT THE ORIG B-REG VALUE ISZ B & REPEAT JMP CPB-2 JMP T5S1,I * * * SUBROUTINE TO TEST MIA/B FROM S-REG * T5S2 NOP CLA STA T5BUF CLEAR A-REG & STORE IN BUFFER MIA 1B MERGE S-REG IN & STORE AWAY STA T5MRG FOR IOR OPERATION LDA NOP LOAD A-REG W EXPECTED INPUTTED PATTERN IOR T5BUF IOR ORIG CONTENTS & COMPARE CPA T5MRG AGAINST MERGED IN VALUE JMP *+2 OK JSB T5ER ERROR LDA T5BUF INCREMENT THE ORIG BUFFER ISZ A & REPEAT OPERATION JMP T5S2+2 * SKP * ISZ T4FG SET TEST FLAG TO "MIB 125252" OR "MIB 052525" CLB STB T5BUF CLEAR B-REG & TRANSFER CONTENTS TO LDA B A-REG FOR IOR OPERATION MIB 1B MERGE S-REG IN IOR NOP IOR EXPECTED VALUE CPA B & COMPARE JMP *+2 OK JSB T5ER ERROR LDB T5BUF INCREMENT THE ORIG BUFFER ISZ B & REPEAT OPERTION JMP IOR-3 JMP T5S2,I * * * * OUTPUT MESSAGE TO RESTORE DIAGN. OPTIONS IN S-REG * SREST NOP H035 JSB MSGH,I RESTORE S-REG IF CPU IS A 2115/16 DEF BE35 JMP SREST,I * SKP * * * ERROR SUBROUTINE FOR TEST 05 * T5ER NOP STA T4A STORE BOTH REG AWAY STB T4B LDB T4FG LOAD TEST FLAG LDA AS.IA ASSUME THAT ROUTINE WAS ENTERED SLB FROM A LIA/MIA TEST INA NO, FROM A LIB/MIB TEST STA BE34+3 STORE "A" OR "B" INTO ERR MESSAGE * LDA AS..A STORE "A" OR "B" INTO THE SLB QF FOURTH LINE OF THE ERR INA MESSAGE (*-REG) STA BE313+11 * LDA T4A ASSUME THAT THE ACTUAL VALUE SLB WAS STORED IN T4A LDA T4B NO, IN T4B LDB B342P CONVERT VALUE TO ASCII & CLE STORE IN MESSAGE JSB O2AS,I "ACTUAL VALUE" * LDA T5BUF CONVERT "ORIG DATA" TO LDB B31PV ASCII & STORE IN STRING ADA .+4 CLE JSB O2AS,I * LDB T4FG LOAD TEST FLAG LDA AS..L ASSUME THAT ROUTINE WAS ENTERED BRS,SLB FROM A LIA/B CHECK INA NO, FROM A MIA/B CHECK STA BE34+2 STORE "L" OR "M" INTO 1. LINE * LDA .1252 ASSUME THAT EXPECTED VALUE = 125252 (LIA/B) SZB,RSS IS THAT CORRECT? JMP EXPVA YES LDA .0525 NO, ASSUME THAT EXP. VALUE = 052525 (LIA/B) SLB,RSS IS THAT CORRECT? JMP EXPVA YES LDA T4A NO, ASSUME THAT EXP VALUE IS IN T4A (MIA) LDB T4FG & CHECK TEST FLAG FOR A-REG SLB LDA T4B NO, ITS A MIB INSTR EXPVA CLE CONVERT EXPECTED VALUE TO ASCII LDB B341P & STORE IT INTO 2. LINE JSB O2AS,I * SKP * LDA SREBF TRY TO RESTORE ORIG S-REG SO THAT MSG OTA 1B CAN BE SKIPPED IF BIT 11 SET LDA T4FG A = EXPECTED, B = ACTUAL VALUE LDB T4A ASSUME THAT THE ACTUAL VALUE SLA WAS STORED IN T4A. TRUE? LDB T4B NO, IN T4B ARS,SLA WAS EXPECTED VALUE = 125252? JMP *+3 NO, 052525 LDA .1252 YES RSS LDA .0525 E033 JSB ERMS,I OUTPUT ERROR MESSAGE E033 DEF BE34,I DEF BE341,I DEF BE342,I DEF BE313 JMP T5EX GO TO EXIT ROUTINE * * * T5BUF OCT 0 T5MRG OCT 0 * CPR CPA .1252 LOAD LDA .1252 INOR IOR .1252 * B33PT DEF *+10 BE33 ASC 18,H033 SET S-REG TO XbXXXXX, PRESS RUN/ * B342P DEF BE342+15 B341P DEF BE341+15 BE34 ASC 14,E034 XI* FAILED FROM S-REG/ BE341 ASC 19, EXPECTED VALUE XXXXXX/ BE342 ASC 19, ACTUAL VALUE YYYYYY/ * BE35 ASC 21,H035 RESET S-REG TO DESIRED PROGR OPTIONS, OCT 6412 ASC 08, PRESS RUN/ * * * *************************************************************** SKP HED TEST 06 * * * TEST 06 * ------- * EXTERNAL & INTERNAL PRESET TEST * * TST06 EQU * NOP LDB S812 CHECK TO SUPPRESS TEST JSB SWRT,I ? JMP *+2 YES, SKIP PRESET TEST JSB T06 CLC INTP,C TURN OFF ALL I/O JMP TST06,I RETURN TO CALLER * T06 NOP CLC INTP,C TURN OFF ALL I/O H024 JSB MSGC,I TELL OPERATOR DEF BM24 PRESS PRESET * T6.01 CLF CH CLEAR CH FLAG STF INTP TURN ON INTS JSB TCJI SET TRAP CELL JSB INSTRUCTION DEF BI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLF INTP TURN OFF INTRPT T6.02 SFS CH CHECK CHANNEL FLAG INA NOT SET SO FLAG IT RAL MOVE TO NEXT FLAG LIB 0 CHECK I/O BUS SZB SHOULD BE ZERO INA NOT SO FLAG IT RAL MOVE TO NEXT FLAG STF INTP CHECK CONTROL ON CARD NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTPS SKP B70 SLA,RSS CHECK FOR ERRORS JMP *+3 E040 JSB ERMS,I E040 DID NOT CLEAR CONTROL DEF BE40 RAR SLA,RSS JMP *+3 E041 JSB ERMS,I E041 I/O LINES NOT CLEAR DEF BE41 RAR SLA,RSS JMP *+3 E036 JSB ERMS,I E036 FLAG NOT SET DEF BE36 RAR SLA,RSS JMP *+<:63 E037 JSB ERMS,I E037 DID NOT DIABLE INTS DEF BE37 JMP T06,I RETURN TO CALLER * BI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP B70 * BE36 ASC 17,E036 PRESET(EXT) DID NOT SET FLAG/ BE37 ASC 20,E037 PRESET(INT) DID NOT DISABLE INTRPT/ BE40 ASC 20,E040 PRESET(EXT) DID NOT CLEAR CONTROL/ BE41 ASC 21,E041 PRESET(EXT) DID NOT CLEAR I-O LINES/ BM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ * * * *************************************************************** SKP )<  24318-18005 1810 S 0122 I/O INSTRUCTION/CHANNEL              H0101  HED TEST 07 * * * TEST 07 * ------- * THIS TEST CHECKS THE CONCATENATED CLF WITH MIA/B, * LIA/B AND OTA/B INSTRUCTIONS. * TST07 EQU * NOP JSB T07 CLC INTP,C JMP TST07,I * T07 NOP CLC INTP,C TURN OFF ALL I/O LDA .+1 TEST OVERFLOW REG JSB T7TCS LDA LSC TEST CLF ON 1. INTF. BOARD JSB T7TCS JMP T07,I * * * SUBROUTINE TO CONFIGURE I/O INSTR & EXECUTE INSTR * WITH CLF ATTACHED. * T7TCS NOP STA T4SC STORE & CONFIGURE SC OF I/O INSTR LDB T7CPT JSB ISC CLA SET ERR FLAG TO 0 STA T7EFG T7.01 STF CH MIA CH,C TEST CLF CONCATENATED TO MIA JSB T7TST MIB CH,C " " " " MIB JSB T7TST LIA CH,C " " " " LIA JSB T7TST LIB CH,C " " " " LIB JSB T7TST OTA CH,C " " " " OTA JSB T7TST OTB CH,C " " " " OTB JSB T7TST JMP T7TCS,I * SKP * * SUBROUTINE TO TEST FLAG & OUTPUT ERROR MESSAGE * T7TST NOP T7.02 SFC CH CHECK IF FLAG WAS CLEARED JMP *+4 NO, ERROR STF CH YES, OK. SET FLAG FOR NEXT CHECK & ISZ T7EFG INCREMENT ERR FLAG JMP T7TST,I * LDA T7EFG DETERMEN MEM LOG OF STORED I/O INSTR ALS ASCII STRING BY CALCULATING: ADA .+4 (ERR FLAG * 2) + 4 + START ADDRESS LDB ER51P,I ADA B LDB A,I LOAD B-REG WITH 1.& 2. ASCII STRING & STB ER42+3 STORE IN ERR MESSAGE INA LDB A,I STB ER42+4 * LDA T4SC CONVERT FAILING SC JSB N2AO STA ER42+5 * E042 JSB ERMS,I PRINT ERR MESSAGE DEF ER42 ISZ T7EFG INCREMENT ERR FLAG JMP T7TST,I * * ER42  ASC 18,E042 XXX YY,C FAILED TO CLEAR FLAG/ * ER51P DEF ER51 T7EFG OCT 0 * T7CPT DEF *+1 * DEF T7.01 DEF T7.01+1 DEF T7.01+3 DEF T7.01+5 DEF T7.01+7 DEF T7.01+9 DEF T7.01+11 DEF T7.02 DEF T7.02+2 DEC -1 * * * *************************************************************** SKP HED TEST 08 * * * TEST 08 * ------- * THIS TEST CHECKS THE SPECIAL SWITCHING CAPABILITIES * OF EITHER ONE 12979B EXTENDER UNDER PROGRAM CONTROL * OF TWO CPU'S, OR TWO I/O EXTENDERS UNDER PROGRAM * CONTROL OF ONE CPU. DURING CONFIGURATION OF THE * DIAGNOSTIC THIS TEST MUST BE SELECTED WITH THE HELP * OF S-REG BIT 15. IF THIS TEST IS SELECTED TESTS * 00 - 07 CAN NOT BE EXECUTED. * * ORG 6000B TST08 EQU * NOP JSB T08 CLC INTP,C JMP TST08,I * T08 NOP CLC INTP,C TURN OFF ALL I/O JSB CPTYP CHECK IF 21MX OR 21XE LDA BSSC1 CONFIGURE BUS SWITCH SC1 LDB BSCP1 JSB ISC LDA BSSC1 TRANSFER CURRENT BASE SC STA BSSCX INTO BUFFER * LDA USSC IS TEST REQUESTED ON REDUNDANT CPU'S? RAL SSA JMP EXTST NO, REDUNDANT EXTENDERS * SKP * * * *** TEST ONE EXTENDER CONNECTED TO TWO REDUNDANT CPU'S *** * * LDA .-4 SET LOOP COUT TO -4 STA T8CNT CPU01 STC BSC1 GET SWITCH LDA T5S LOAD TIME CONSTANT (5 SEC) JSB DAFSR GO TO FLAG, DATA CHECK & WAIT SUBROUT. JMP CPUNT TRANSFER DID NOT TIME OUT * * * TRANSFER TIMED OUT ON THIS CPU. THIS IS EITHER "CPU#2" * OR STC 7X FROM OTHER CPU DOES NOT WORK * LDA SW11 LOAD A TIME CONSTANT OF 2 SEC & GO TO JSB DAFSR FLAG, DATA CHECK & WAIT SUBROUTINE JMP FL08A SWITCH TAKEN BY OTHER CPU BEFORE 2 SEC E044 JSB MSGC",I TIME OUT ERROR, OTHER CPU DID NOT TAKE DEF ER44 SWITCH OR STC 7X ON OTHER CPU DID LDA CW02 NOT WORK (WILL OUTPUT E044 JSB FLDTC FOLLOWED BY E043) * FL08A LDA .+10 WAIT 10 MSEC TO ALLOW OTHER CPU TO JSB TMRR,I TEST ITS CAPABILITY TO GET THE CPU02 STC BSC1 SWITCH, THEN TAKE SWITCH & CHECK LDA CW01 IF RECEIVED JSB FLDTC JSB T08RC GO TO INFINITE WAIT LOOP FOR RESINC * ** STC 7X WORKS FROM BOTH CPU'S. TEST CLF 7X INSTR. ** * LDA CW04 CHECK IF OTHER CPU'S CLF INSTR DID NOT JSB FLDTC THROW SWITCH TO THIS CPU (<130 MSEC) LDA .+1 WAIT 1 MSEC TO LET OTHER CPU REACH JSB TMRR,I WAIT LOOP CPU03 STC BSC1 TAKE SWITCH TO RESINC BOTH CPU'S * CPU08 CLF BSC1 THROW SWITCH TO NEUTRAL POS.& CHECK LDA CW03 THAT SWITCH IS NO MORE CONNECTED TO JSB FLDTC THIS CPU (< 130 MICROSEC) * ** CLF 7X WORKS FROM BOTH CPU'S. TEST CLC 7X INSTR ** * LDA .+1 WAIT 1 MSEC TO LET OTHER CPU REACH JSB TMRR,I 2 MSEC WAIT LOOP, THEN TAKE SWITCH CPU09 STC BSC1 & GO TO WAIT LOOP FOR RESINC JSB T08RC LDA .+2 WAIT 2 MSEC BEFORE CHECKING THAT JSB TMRR,I OTHER CPU HAS THROWN SWITCH TO LDA CW06 THIS CPU JSB FLDTC * SKP * CPU12 CLC BSC1 THROW SWITCH BACK & CHECK THAT IT LDA CW05 IS GONE JSB FLDTC * ** CLC 7X WORKS FROM BOTH CPU'S. TEST SFC 7X INSTR ** * LDA .+5 WAIT 5 MSEC TO ASSURE THAT OTHER CPU JSB TMRR,I REACHED WAIT LOOP FOR RESINC CPU13 STC BSC1 RESINC BOTH CPU'S, THEN THROW SWITCH CPU14 CLF BSC1 TO NEUTRAL POS. & CHECK THAT IT IS LDA CW03 GONE JSB FLDTC * LDA SW8 WAIT 0.25 SEC TO ALLOW OTHER CPU TO JSB TMRR,I CHECK THAT SWITCH WAS NOT RECEIVED LDA CW08 CHECK THAT SFC IN OTHER CPU DID NOT JSB FLDTC THROW SWITCH TO THIS CPU * CPU22 STC BSC1 TAKE SWITCH FOR RESINC LDA .+2 WAIT 2 MSEC TO LET OTHER CPU TAKE JSB TMRR,I SWITCH & PUT IT TO NEUTRAL * LDA CW04 CHECK THAT CLF IN OTHER CPU DID NOT JSB FLDTC THROW SWITCH TO THIS CPU CPU17 SFC BSC1 TAKE SWITCH FROM NEUTRAL POS. JSB SKPER ERROR, SHOULD HAVE SKIPPED LDA CW07 CHECK THAT SWITCH WAS RECEIVED JSB FLDTC JSB T08RC GO TO WAIT LOOP FOR RESINC * CPU19 SFC BSC1 TRY TO TAKE SWITCH & CHECK THAT RSS IT WAS NOT POSSIBLE JSB SKPRE ERROR, SHOULD NOT HAVE SKIPPED LDA CW09 CHECK THAT SWITCH NOT RECEIVED JSB FLDTC WITH SFC LDA S1587 WAIT UP TO 0.38 SEC FOR RESPONSE JSB DAFSR FROM OTHER CPU RSS JSB ER50 TIME OUT ERROR * LDA .+1 WAIT 1 MSEC JSB TMRR,I * LDA CW10 CHECK THAT SFC AFTER CLC ON OTHER JSB FLDTC CPU DID NOT TAKE SWITCH * ** SFC WORKS FOR BOTH CPU'S. THIS CPU HAS THE SWITCH & IS * THE LAST ONE TO FINISH. MAKE IT CPU#1 & RETURN. * LDA SW8 WAIT 0.25 SEC BEFORE RESINC JSB TMRR,I * SKP CPU23 CLC BSC1 WAIT 2 MSEC TO LET OTHER CPU LDA .+2 CHECK CLC AGAIN, THEN TAKE SWITCH JSB TMRR,I BACK AND RETURN TO LOOP WITH CPU25 STC BSC1 10 MSEC TIME OUT LDA .+10 ISZ T8CNT INCREMENT LOOP COUNT RSS JMP NQIP GO TO LAST TEST SECTION JMP CPU01+2 * NQIP JSB NQI TEST UNDEFINED I/O INSTR LDA SW9 WAIT 0.5 SEC TO LET OTHER CPU JSB TMRR,I CHECK UNDEFINED I/0 INSTR JMP T08,I SKP * * TRANSFER DID NOT TIME OUT ON THIS CPU. "CPU#1" * OTHER CPU TOOK EXTENDER AFTER THIS ONE QRGOT IT OR * STC 7X FROM THIS CPU DOES NOT WORK. * CPUNT LDA T6S LOAD TIME CONSTANT (6 SEC) & WAIT TO JSB TMRR,I ASSURE OTHER CPU TIMES OUT (6 SEC) CPU04 STC BSC1 GET SWITCH, FETCH CONTROL WORD & LDA CW01 CHECK IF SWITCH WAS TAKEN JSB FLDTC * LDA .60 WAIT FOR 48 MSEC TO LET OTHER CPU TIME JSB TMRR,I OUT & TAKE THE SWITCH, THEN CHECK LDA CW02 THAT SWITCH IS GONE JSB FLDTC * ** STC WORKS FROM BOTH CPU'S. TEST CLF 7X INSTR. ** CPU05 STC BSC1 TAKE SWITCH TO RESINC BOTH CPU'S CPU06 CLF BSC1 THROW SWITCH TO NEUTRAL POS. & CHECK LDA CW03 THAT SWITCH IS NO MORE CONNECTED TO JSB FLDTC THIS CPU (< 130 MICROSEC) * CPU07 STC BSC1 TAKE SWITCH TO START RESINC OF BOTH CPU'S JSB T08RC THEN GO INTO WAIT LOOP FOR RESINC LDA CW04 CHECK IF OTHER CPU'S CLF INSTR DID NOT JSB FLDTC THROW SWITCH TO THIS CPU (<130 MICSEC) * ** CLF 7X WORKS FORM BOTH CPU'S. TEST CLC 7X INSTR ** * LDA .+2 WAIT 2 MSEC TO LET OTHER CPU REACH JSB TMRR,I RESINC WAIT LOOP CPU10 STC BSC1 TAKE SWITCH TO RESINC LDA .+1 TIME OUT FOR 1 MSEC TO ASSURE THAT JSB TMRR,I CPU GOT OUT OF SINC WAIT LOOP, CPU11 CLC BSC1 THEN THROW SWITCH TO OTHER CPU LDA CW05 & CHECK THAT IT'S GONE JSB FLDTC LDA .+2 WAIT 2 MSEC JSB TMRR,I * LDA CW06 CHECK THAT SWITCH WAS THROWN TO JSB FLDTC THIS CPU BY OTHER ONE * ** CLC 7X WORKS FROM BOTH CPU'S. TEST SFC 7X INSTR ** * JSB T08RC GO INTO WAIT LOOP FOR RESINC LDA .+1 WAIT 1 MSEC, THEN CHECK THAT JSB TMRR,I SWITCH WAS NOT THROWN BACK LDA CW04 TO THIS CPU JSB FLDTC * CPU15 SFC BSC1 TAKE SWITCH FROM NEUTRAL POS JSB SKPER ERROR, SHOULD HAVE SKIPPED LDA CW07 CHECK THAT SWITCH WAS RECEIVED JSB FLDTC * LDA SW87 WAIT UP TO 0.38 SEC FOR RESPONSE JSB DAFSR FROM OTHER CPU RSS OK JSB ER50 TIME OUT ERROR * CPU24 STC BSC1 CPU16 CLF BSC1 PUT SWITCH TO NEUTRAL POS & CHECK LDA CW03 THAT GONE JSB FLDTC * LDA SW8 WAIT 0.25 SEC TO LET OTHER CPU CHECK JSB TMRR,I THAT SFC IS OK, THEN CHECK THAT LDA CW08 SWITCH WAS NOT THROWN TO THIS JSB FLDTC CPU * CPU18 STC BSC1 RESINC BOTH CPU'S, THEN WAIT 0.25 SEC LDA SW8 JSB TMRR,I LDA CW10 CHECK THAT SFC ON OTHER CPU DID NOT JSB FLDTC TAKE SWITCH FROM THIS CPU * CPU20 CLC BSC1 GIVE SWITCH TO OTHER CPU CPU21 SFC BSC1 TRY TO TAKE IT BACK & CHECK IT IS RSS NOT POSSIBLE (NOT IN NEUTRAL) JSB SKPRE ERROR, SHOULD NOT HAVE SKIPPED LDA CW09 CHECK THAT SWITCH WAS NOT JSB FLDTC RECEIVED WITH SFC * ** SFC WORKS ON BOTH CPU'S. (THIS IS THE 1. CPU TO FINISH. * OTHER CPU HAS THE SWITCH. MAKE THIS CPU#2 & RETURN. LDA S1587 WAIT UP TO 0.38 SEC FOR RESPONSE JSB DAFSR FROM OTHER CPU RSS OK, RESINCED BY OTHER CPU JSB ER50 TIME OUT ERROR * LDA CW06 CHECK AGAIN THAT OTHER CPU COULD JSB FLDTC THROW SWITCH TO THIS CPU LDA .+5 WAIT 5 MSEC BEFORE RETURN JSB TMRR,I ISZ T8CNT INCREMENT LOOP COUNT RSS JMP LTS08 GO TO LAST TEST SECTION JMP CPU01 * LTS08 LDA SW8 WAIT FOR 0.25 SEC, THEN GO TO JSB TMRR,I LAST TEST SECTION JSB NQI JMP T08,I * SKP * * *** TEST TWO REDUNDANT EXTENDERS CONNECTED TO ONE CPU *** * * EXTST LDA .-4 SET LOOP COUNTER TO -4 STA EXCNT JSB DISCO CHECK IF BOTZWH EXT'S CAN BE DISCON * EXT01 STC BSC1 TAKE SWITCH & CHECK IF RECEIVED LDA CW01 JSB FLDTC * EXT02 CLC BSC1 THROW SWITCH TO OTHER PORT & LDA CW05 CHECK IF GONE JSB FLDTC * EXT03 STC BSC1 TAKE SWITCH & CHECK, THEN THROW LDA CW01 IT TO NEUTRAL POSITION & CHECK JSB FLDTC EXT04 CLF BSC1 LDA CW03 JSB FLDTC * EXT05 SFC BSC1 GET SWITCH & CHECK SKIP CONDITON, JSB SKPER THEN CHECK IF RECEIVED LDA CW07 JSB FLDTC EXT06 CLC BSC1 THROW SWITCH TO OTHER PORT & CHECK LDA CW05 THEN TRY TO TAKE IT & CHECK THAT JSB FLDTC IT'S NOT POSSIBLE & NO SKIP EXT07 SFC BSC1 OCCURED RSS JSB SKPRE LDA CW09 JSB FLDTC * JSB NQI TEST UNDEFINED I/O INSTRUCTIONS * ISZ EXCNT INCREMENT LOOP COUNT JMP EXT01 & REPEAT * LDA EXT01 SEPARATE SC & CHECK IF TEST HAS AND .77 BEEN RUN ON BSC2 CPA BSSC2 JMP T08,I YES, EXIT TEST LDA BSSC2 NO, RECONFIGURE THIS PART OF LDB BSCP2 TEST WITH BUS SWITCH SC2, CHANGE JSB ISC BUS SW SC BUFFER & REPEAT LDA BSSC2 PROCESS ON 2. EXTENDER STA BSSCX JMP EXTST * EXCNT OCT 0 * SKP * CW01 OCT 102421 STC DID NOT CONCT EXT TO THIS CPU CW02 OCT 004421 STC DID NOT CONCT EXT TO OTHER CPU CW03 OCT 003104 CLF DID NOT RELES EXT F. THIS CPU CW04 OCT 002444 CLF CONCTED EXT TO THIS CPU CW05 OCT 003102 CLC DID NOT RELES EXT F. THIS CPU CW06 OCT 102422 CLC DID NOT CONCT EXT TO THIS CPU CW07 OCT 152430 SFC DID NOT CONCT EXT TO THIS CPU, SWCH IN NEUTR CW08 OCT 052450 SFC CONCTED EXT TO THIS CPU, SWCH IN NEUTR CW09 OCT 072450 SFC CONCTED EXT TO THIS CPU, SWCH NOT NEUTR CW10 OCT 173210 SFC RELESED EXT F. THIS CPU, SWCH NOT NEUTR * T8CNT OCT 0 * c ER44 ASC 14,E044 THIS CPU TIMED OUT OR/ * * * SUBROUTINE TO PUT CPU IN WAIT LOOP FOR RESINC WITH * OTHER CPU. STAY THERE UNTIL SWITCH IS GONE. * T08RC NOP T8.01 STC CH,C TURN BOARD ON NOP NOP NOP T8.02 SFS CH IS FLAG SET? RSS NO, BOARD TAKEN OR NO FLAG JMP T8.01 YES, BOAD STILL IN POSSESSION T8.17 SFC CH DO WE STILL HAVE BOARD? JMP T08RC,I NO, BOARD TAKEN JSB E045 YES, ERROR * * * * FLAG ERROR FROM INTERFACE BOARD * E045 NOP JSB ERMS,I DEF ER45 JMP T08,I * ER45 ASC 18,E045 FLAG FF STAYS CLEARED ON INTF./ * SKP * * SUBROUTINES FOR SKIP FAILURES OF SFC 7X INSTRUCTION * SKPER NOP SHOULD HAVE SKIPPED BUT DID NOT JSB ERMS,I DEF ER46 JMP SKPER,I * ER46 ASC 20,E046 NO SKIP ON SFC & SWITCH IN NEUTRAL/ * * SKPRE NOP SHOULD NOT HAVE SKIPPED BUT DID JSB ERMS,I DEF ER47 JMP SKPRE,I * ER47 ASC 22,E047 SKIPPED ON SFC & SWITCH ON OTHER PORT/ * * * * TIME OUT SUBROUTINE * ER50 NOP JSB ERMS,I DEF EM50 JMP T08,I * * * * SUBROUTINE TO CHECK THAT CPU IS A 21MX OR 21XE * CPTYP NOP LDA CPTO IS CPU A 21MX/XE? SSA JMP CPTYP,I YES, RETURN JSB ERMS,I NO, OUTPUT ERROR MESSAGE DEF ER52 LDA CPTYP DETERMEN EXIT ADDRESS OF CMA TEST & RETURN TO CONTROL ADA .+3 PROGRAM CMA IOR SW15 JMP A,I * ER52 ASC 15,E052 TEST ILLEGAL ON THIS CPU/ SKP * * SUBROUTINE TO CHECK FLAG & DATA TRANSFER EVERY MSEC * (TIMER ERROR < +5% DUE TO OVERHEAD OF SUBROUTINE) * INPUT: A-REG BIT 15: IF SET: EXIT ROUTINE AS SOON AS FLAG * GETS SET AND DATA TRANSFER SUCCESSFUL * IF CLEARED: EXIT ROUTINE AS SOON AS *  FLAG IS NOT SET OR DATA TRANSFER * FAILED. * BIT 14-0: IF ROUTINE DOES NOT EXIT, TIME OUT * AFTER SPECIFIED NUMBER OF MSEC (OCTAL) * OUTPUT: IF TIME OUT WAS REACHED: P _ P+2 * IF EXITED BEFORE TIME OUT: P _ P+1 * DAFSR NOP STA DAF1 STORE INPUTTED VALUE PRELIMINARILY AND P7777 SEPERATE TIMING CONSTANT, 2TH COMPLEM. CMA,INA & STORE STA DAF2 DAFRT LDA DAF1 GET VALUE AGAIN, SEPARATE SWITCH AND SW15 SETTING & STORE STA DAF1 LDB DAF3 LOAD DATA PATTERN & SEND DATA T8.03 OTB CH T8.04 STC CH,C NOP GIVE 12554 BOARD TIME TO REPLY NOP SSA,RSS IS BIT 15 SET? JMP T8.07 NO, IT'S CLEARED * T8.05 SFS CH YES, WAS FLAG SET? JMP *+4 NO T8.06 LIA CH YES, CHECK IF DATA COMPARES ALSO CPA B JMP DAFSR,I FLAG SET & DATA COMPARES, RETURN JMP DACTN FLAG NOT SET OR DATA NOT COMPARE, CONTINUE * T8.07 SFS CH WAS FLAG SET? JMP DAFSR,I NO, FLAG NOT SET, RETURN T8.08 LIA CH YES, CHECK IF DATA COMPARES CPA B JMP DACTN YES, CONTINUE JMP DAFSR,I NO, DATA DOES NOT COMPARE, RETURN * DACTN LDA .+1 WAIT FOR 1 MSEC IN TIMER JSB TMRR,I ISZ DAF2 HAS TIME OUT BEEN REACHED? JMP DAFRT NO, RETRY AGAIN ISZ DAFSR YES, INCREMENT RETURN ADDRESS NOP JMP DAFSR,I & RETURN * DAF1 OCT 0 DAF2 OCT 0 * SKP * * SUBROUTINE TO CHECK FLAG AND/OR DATA TRANSFER TO INTER- * FACE BOARD IN EXTENDER. WHEN THE SUBROUTINE IS ENTERED * A-REG BIT 15 DETERMENS THE EXIT CONDITIONS: * IF SET: CORRECT EXIT FROM SUBROUTINE IF SFS IS MET * IF CLEARED: " " " " " SFC " " * IN CASE OF ERROR A-REG BITS 14-0 DETERMENS THE PIECES 4* OF THE ERROR MESSAGE WHICH HAVE TO BE CONCATENATED. * * A-REG BITS * 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 * ------------------------------------------------------------ * ! NOT ! ! ! F. TO ! ! ! ! SFC SFS CLC STC * ! ! ! THIS CPU ! ! ! DID NOT CONNECT * ! ! OTHER CPU ! ! CONNECTED * ! WITH SWITCH ! DID NOT RELEASE * IN NEUTRAL RELEASED * FLDTC NOP RETURN F. ROUTINE IN < 130 MICROSEC STA T08CW STORE RECEIVED CONTROL WORD SSA SHALL SUBROUTINE CHECK ON SFC? JMP SFSTS NO, ON SFS INSTR. * * CHECK THAT SKIP ON FLAG IS NOT POSSIBLE ON INTF & NO DATA * TRANSFER TAKES PLACE * LDA .1252 YES, LOAD DATA WORD LDB .-5 SET LOOP COUNT TO -5 STB T08B T8.09 OTA CH TRANSFER DATA WORD TO BOARD T8.10 STC CH,C NOP GIVE 12554 BOARD TIME TO REPLY NOP NOP T8.11 SFS CH IS FLAG SET? JMP *+3 NO, BOARD TAKEN OR NO FLAG JSB T08ER YES, ERROR JMP T08,I EXIT TEST T8.18 SFC CH DO WE HAVE BOARD? RSS NO, OK JSB E045 YES, ERROR ISZ T08B YES, INCR. COUNT & RETRY JMP T8.11 T8.12 LIB CH DID DATA COME THROUGH? CPA B RSS YES, ERROR JMP *+3 NO, OK JSB T08ER JMP T08,I EXIT TEST JMP FLDTC,I EXIT AFTER < 130 MICROSEC * SKP * * CHECK THAT FLAG GETS SET ON INTERF BOARD & * DATA TRANSFER TAKES PLACE * SFSTS CLA DATA TRANSFER TO INTERF BOARD WITH JSB SFSST 000000, 177777, 125252 & 525252 CCA JSB SFSST LDA .1252 JSB SFSST LDA .0525 JSB SFSST JMP FLDTC,I EXIT ROUTINE AFTER < 130 MICROSEC * SFSST NOP T8.13 OTA CH TRANSFER DATA 3B@= A, THEN * PRINT THE BUFFER, RESET IT, THEN ADD 2 SPACES * RETURN P+1 * CEOB NOP CMA,INA ADA BCNT SSA JMP CEOB,I OK: BCNT1.4 32 11.2 90 1.040 * 2115 >1.4 40 14.0 70 1.020 * 2114 >1.4 40 14.0 70 1.020 * 2100 >0.5 25 9.8 45 .466 * 21MX M >0.5 29 12.64 35 .474 * 21MX E >0.5 22 12.64 50 .474 * * ******************************************************************** SKP JMP ISTRT,I OPERATOR START LOCATION SPC 1 ************* CONFIGURATOR AREA ************************************ * TTY.I BSS 1 TAPE INPUT TTY.O BSS 1 LIST OUTPUT TTY.P BSS 1 PUNCH OUTPUT TTY.K BSS 1 KEYBOARD INPUT FWAMI DEF FWAM FIRST WORD AVAILABLE MEMORY LWAM BSS 1 LAST WORD AVAILABLE MEMORY ORG 126B OCT 101206 DIAGNOSTIC SERIAL NUMBER LOSC EQU 112B CTO EQU 115B MSIZE EQU 117B ******************************************************************** * SPC 3 ORG 130B JMP IRSTR,I OPERATOR RESTART LOCATION NOP NOP ERTRN DEF PS,I RETURN LOCATION FERC ABS -FER FER DEF *+1 ERROR NUMBER TABLE DEF H0 NOP DEF E2 DEF E3 DEF H4 DEF E5 NOP DEF E7 LER DEF * SPC 2 FMI DEF *+1 MESSAGE ADDRESS TABLE DEF M0 NOP DEF M2 DEF M3 DEF M4 DEF M5 NOP DEF M7 SPC 2 FML DEF *+1 MESSAGE LENGTH TABLE DEF L0 NOP DEF L2 DEF L3 DEF L4 DEF L5 NOP DEF L7 SPC 2 A EQU 0 / A REGISTER B EQU 1 B REG SWR EQU 1 SWITCH REGISTER SPC 2 AL OCT 0 AS OCT 0 BS OCT 0 CNVR OCT 0 VALUE TO BE REPORTED AT E3 COUNT OCT 0 VALUE OF B REGISTER CVT1 OCT 0 CVT2 OCT 0 CVT3 OCT 0 CYCLE OCT 0 TOTAL NUMBER OF CYCLES ELOC OCT 0 LCYCL OCT 0 LAST CYCLE COUNT OUTPUT LOCAL OCT 0 LP11 BSS 1 LOOP COUNT SAVE P4 OCT 0 P5 OCT 0 PS OCT 0 PSAVE OCT 0 SS OCT 0 SWBGN OCT 0 TEMP4 OCT 0 TEMP5 OCT 0 B2 DEC 2 B4 DEC 4 D7 DEC 7 D10 DEC 10 B16 DEC 14 B77 DEC 63 B100 DEC 64 D100 DEC 100 B377 DEC 255 D1000 DEC 1000 B3407 OCT 3407 MM1 DEC -1 MM12 OCT -12 MM10 DEC -10 MM100 DEC -100 M1000 DEC -1000 ASCZZ ASC 1,00 BIT8 OCT 400 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 CRLFI DEF *+1 OCT 006412 CR,LF P7400 OCT 177400 P7700 OCT 177700 THLT OCT 106002 TRAP CELL HALT BKI DEF BKGND IRSTR DEF RST ISTRT DEF START P002A DEF JP02A P002B DEF JP02B P003A DEF JP03A P003B DEF JP03B P004A DEF JP04A P007A DEF JP07A P007B DEF JP07B P1 DEF ST1 P2 DEF SAVE P3 DEF SAVE1 PFI JSB POWER,I FOR LOCATION 4 PFMI DEF FMI PFML DEF FML POWER DEF PWRFL * MEMAX OCT 0 MSMK OCT 70000 MSINC OCT 6477 TSV1 OCT 0 TSV2 OCT 0 CTM OCT 17 CTOS OCT 0 SKP OTBLS OCT 0 OTBLD DEF * POINTER TO TBL OF OVERHEAD TIME DEC 32 2116A DEC 32 2116B DEC 32 2116C DEC 40 2115A DEC 40 2114A DEC 40 2114B DEC 25 2100A DEC 29 21MX M DEC 22 LTBLS OCT 0 LTBLD DEF * POINTER TO TBL OF LOOP TIMES LTBL DEC 11 2116A DEC 11 2116B DEC 11 2116C DEC 14 2115A DEC 14 2114A DEC 14 2114B DEC 10 2100A DEC 13 21MX M DEC 11 21MX E CTBLS OCT 0 CTBLD DEF * POINTER TO TBL OF TIMER COUNTS CTBL DEC 90 2116A DEC 90 2116B DEC 90 2116C DEC 70 2115A DEC 70 2114A DEC 70 2114B DEC 45 2100A DEC 35 21MX M DEC 50 21MX E HED START * START SPC 1 * CALCULATES CORE SIZE AND FILLS EACH UNUSED * CORE LOCATION WITH THE ADDRESS OF THE CORE LOCATION * USES B10CK,TTY.O,ERR SPC 1 START CLC 0,C TURN EVERYTHING OFF LDB PFI INITIALIZE STB 4B POWER FAIL INTERRUPT LDA MSIZE AND MSMK FORM LWAM ADA MSINC STA MEMAX LDA CTO FORM ALF INDEX FOR AND CTM TABLE STA CTOS LOOK-UP ADA MM12 CHECK FOR CORRECT SSA,RSS COMPUTER TYPE JMP ERR1 WRONG TYPE-E1 LDA CTBLD ADA CTOS LDA A,I STA CTBLS LDA OTBLD FORM ADA CTOS POINTER TO STA OTBLS COMPUTER OVERHEAD TIME LDA LTBLD FORM ADA CTOS POINTER TO STA LTBLS COMPUTER LOOP TIME LDA LOSC STA SWBGN SWITCH REGISTER AT BEGINNING JSB B10CK IS TTY SUPPRESSED? JMP ST3-1 CLA H0 JSB PRINT PRINT INTRO MESSAGE LDB FWAMI INITIALIZE B TO FIRST AVAIL CORE ST3 STB B,I FILL CORE WITH ITS ADDRESS INB MOVE TO NEXT CORE LOCATION CPB MEMAX DONE ? RSS YES JMP ST3 NO CLA ZERO B-REGISTER STA COUNT COUNTER STA CYCLE STA LCYCL LDB B2 TRAP CELL LOCATION LDA THLT TRAP CELL HALT ST2 STA B,I INB INA CPB B100 TRAP CELL HALTS COMPLETE? RSS YES JMP ST2 NO,REPEAT LDB PFI INITIALIZE STB 4B { POWER FAIL INTERRUPT HED BKGND SPC 1 * BKGND * THIS PROGRAM INCREMENTS THE B-REGISTER TWO OR * THREE TIMES EACH SECOND AND VERIFIES THE * CONTENTS OF ALL UNUSED CORE MEMORY ONCE EACH * INCREMENT * USES DATA,B10CK,ERR,TTY.O,SWR SPC 1 BKGND LDB COUNT INCREMENT INB B-REGISTER LDA B LIMIT AND B377 COUNT LDB A TO BITS 0-7 STB COUNT LIA SWR AND P7400 USE COUNT IOR COUNT FOR RIGHT HALF OTA SWR STA SS SAVE S-REGISTER LDA FWAMI INITIALIZE MEMORY CHECK MORE CPA A,I CHECK FOR ERROR RSS OK JMP ERR2 REPORT ERROR INA ADVANCE A CPA MEMAX DONE ? JMP WAIT YES JMP MORE NO ERR2 STA LOCAL SAVE LOCATION STA TSV1 SAVE ERROR DATA LDB P002A ADDRESS JSB CNWRT LDA LOCAL,I CONTENTS STA TSV2 SAVE ERROR DATA LDB P002B JSB CNWRT E2 JSB ERROR CHANGED CORE,ADDRESS = XXXXXX * CONTENTS = YYYYYY LDA LOCAL RESTORE STA A,I CORE JMP BKGND WAIT LDB COUNT LIA SWR AND P7400 USE COUNT IOR COUNT FOR RIGHT HALF OTA SWR STA SS SAVE SWR CLA INA,SZA JMP *-1 CPB COUNT IS B EQUAL TO COUNT? JMP JOK YES LDA B NO,CONVERT STA TSV1 SAVE ERROR DATA LDB P007A B-REGISTER JSB CNWRT AND LDA COUNT COUNT STA TSV2 SAVE ERROR DATA LDB P007B TO JSB CNWRT ASCII E7 JSB ERROR B-REGISTER NOT EQUAL TO COUNT, * B = XXXXXX COUNT = XXXXXX JOK LIA SWR SSA JMP PHLT+5 ALLOW FOR ORDERLY HALT AND BIT12 SZA HALT & PRINT PASS COUNT? JMP BKGND NO LDA CYCLE YES.WAS COUNT DONE THIS CYCLE? CPA LCYCL JMP BKGND YES STA LCYCL NO,OUTPUT MESSAGE JSB B10CK TTY SUPPRESSED? JMP H4+1 YES.GO HALT LDB P004A LDA CYCLE JSB DCIN2 SET UP MESSAGE LDA B4 H4 JSB PRINT THERE HAVE BEEN XXXX TESTS OF LDA CYCLE A = # OF PASSES HLT 77B JMP BKGND RETURN AFTER PRINTOUT * THE POWER FAIL OPTION PHLT LIA SWR RAL AND BIT11 POSITION BIT 10 SZA SUPPRESS HALT ? JMP BKGND YES LDA CYCLE HLT 76B A = # OF PASSES JMP BKGND HED PWRFL SPC 1 * PWRFL * THIS ROUTINE CALLS RSTRT IF POWER IS BEING RESTORED. * IF POWER IS FAILING,THIS ROUTINE SAVES REGISTERS AND * ESTIMATES TIME BEFORE POWER IS OFF. SPC 1 PWRFL NOP SFC 4 SKIP IF POWER IS FAILING JMP RSTRT STA AS SAVE A-REG CCA COMPUTER STA AL IS RUNNING STB BS SAVE B-REG LDA PWRFL SAVE STA PS P-REGISTER LIA SWR STA SS S-REGISTER CLA STA LP11 ST1 INA COUNTER STA LP11 FOR NOP FORMING CPA CTBLS POWER FAIL JMP *+2 DELAY JMP ST1 CLC 4 SET UP FOR RESTART HLT 6 SAVE1 JMP *-1 IN CASE OPERATOR HITS RUN SAVE INA TIMER STA LP11 IMAGE NOP USED TO RESTORE CPA CTBLS PWRFL TIMER IN JMP *+2 CASE POWER DROPS JMP ST1 OUT IN LESS TIME CLC 4 HLT 6 HED RSTRT SPC 1 * RSTRT * THIS ROUTINE IS ENTERED THROUGH THE PWRFL ROUTINE. IT * VERIFIES PROPER OPERATION OF THE PWRFL ROUTINE AND INCREMENTS * THEn CYCLE COUNT. THE LAST PART OF PWRFL AND ALL THE * ASSOCIATED COUNTERS ARE REBUILT IN CASE POWER-OFF OCCURRED * DURING A CORE-FETCH. SPC 1 LL5 LDA SS OTA SWR E5 JSB ERROR POWER FAIL ROUTINE NOT ENTERED RST LDA BKI SET UP STA PS RETURN JMP ROK RSTRT LDA AL SZA,RSS WAS PWRFL ENTERED? JMP LL5 NO CLA CLEAR STA AL FLAG LDA LP11 DID DELAY TIME OUT? CPA CTBLS JMP GOK YES,EXIT STA CNVR NO,FIND ERROR JMP CONVT SPC 3 TIME NOP CALCULATE TIME TAKEN CMA LOOP COUNT STA LOCAL LDA OTBLS,I OVERHEAD TIME TM1 ISZ LOCAL DONE? RSS NO JMP TIME,I YES ADA LTBLS,I LOOP TIME JMP TM1 SPC 3 CONVT LDA CTBLS STA TSV1 SAVE ERROR DATA JSB TIME CONVERT TO LDB P003A MICROSECONDS JSB DCIN2 LDA CNVR PROGRAM COUNT STA TSV2 SAVE ERROR DATA JSB TIME CONVERT TO LDB P003B MICROSECONDS JSB DCIN2 E3 JSB ERROR SHUTDOWN ROUTINE DID NOT * COMPLETE. SHOULD COMPLETE XXXX * MICROSECONDS, COMPLETED XXXX * MICROSECONDS GOK CLA RESET STA LP11 COUNTERS ROK LDA P2 RESTORE STA P4 LAST LDB P1 PART STB P5 OF JMORE LDA P4,I POWER STA P5,I FAIL ISZ P4 INB STB P5 CPB P3 RSS JMP JMORE ISZ CYCLE BUMP CYCLE COUNT LDA SS RESTORE OTA 1 S-REGISTER LDA AS RESTORE LDB BS A AND B STC 4 JMP ERTRN,I RETURN(TWO LEVELS OF INDIRECT) HED ERROR * ERROR * REPORT ERROR MESSAGES * THE RETURN ADDRESS IS USED TO LOOK UP THE ADDRESS, * LENGTH AND NUMBER OF THE ERROR MESSAGE * USES SWR,B11CK,TTY.O SPC 2 ERROR NOP CLF 0 DISABLE INTERRUPTS CCB ADB ERROR LDA FER FIND ERROR NUMBER BASED ON RETRN ER2 EQU * CPB A,I ADDRESS AND TABLE JMP ER1 FOUND IT INA CPA LER TERMINATE IF PROGRAMMER ERRED JMP 100B PROGRAM ERROR,PAGE 0 MAY BE * WIPED OUT JMP ER2 CONTINUE SEARCH ER1 EQU * ADA FERC NORMALIZE NUMBER ADA MM1 STA ELOC JSB PRINT PRINT MESSAGE JSB B11CK TTY AVAILABLE JMP ERH1 NO CLA JSB TTY.O,I PRINT BLANK LINE ERH1 LIA SWR AND BIT14 SZA HALT? JMP ERROR,I NO LDA ERH2 YES AND P7700 BUILD IOR ELOC HALT STA ERH2 STC 4 TURN OFF RESTART LDA TSV1 EXP VALUE LDB TSV2 ACT VALUE ERH2 HLT 0 JMP ERROR,I HED B11CK - B10CK SPC 1 * B11CK - FOR ERROR MESSAGES * IF TTY SUPPRESSED RETURN * IF TTY NOT SUPPRESSED SKIP NEXT INSTRUCTION ON RETURN * USES SWR SPC 1 B11CK NOP LDA SWBGN WAS TELETYPE CONFIGURED? SZA,RSS JMP B11CK,I NO LIA SWR AND BIT11 SZA,RSS IS TTY SUPRESSED? ISZ B11CK NO JMP B11CK,I YES * * * B10CK - FOR NON ERROR MESSAGES * IF TTY SUPPRESSED RETURN * IF TTY NOT SUPPRESSED SKIP NEXT INSTRUCTION ON RETURN * USES SWR SPC 1 B10CK NOP LDA SWBGN WAS TELETYPE CONFIGURED? SZA,RSS JMP B10CK,I NO LIA SWR RAL AND BIT11 SZA,RSS ISZ B10CK JMP B10CK,I * * HED PRINT * PRINT * A = ERROR NUMBER * PRINT NOP  STA PSAVE JSB B11CK JMP PRINT,I LDA PSAVE LDB A ADB PFMI,I MESSAGE ADDRESS LDB B,I ADA PFML,I MESSAGE LENGTH LDA A,I JSB TTY.O,I JMP PRINT,I HED CNWRT,CNVRT * THE CNWRT ROUTINE USES CNVRT TO CONVERT THE WORD IN THE A REG. * TO OCTAL AND MOVES THE THREE ASCII WORDS TO THE LOCATION * SPECIFIED BY THE B REG. * CNWRT NOP STB TEMP4 SAVE ADDRESS FOR OCTAL WORDS JSB CNVRT CONVERT ACTUAL WORD TO OCTAL LDA CVT1 LOAD FIRST WORD STA TEMP4,I ISZ TEMP4 BUMP ADDRESS LDA CVT2 STA TEMP4,I ISZ TEMP4 LDA CVT3 STA TEMP4,I JMP CNWRT,I * * THE CNVRT ROUTINE CONVERTS THE SINGLE WORD IN * THE A REG. TO THREE ASCII WORDS (OCTAL) IN CVT1,CVT2 AND CVT3. * CNVRT NOP STA TEMP5 SAVE WORD LDB A WORD TO B ALSO ALF AND D7 SSB IOR BIT8 ONE FOR LEFT OCTAL DIGIT IOR ASCZZ STA CVT1 LDA TEMP5 GET WORD BACK ALF,ALF RAL,RAL AND B77 LEAVE TWO DIGITS LDB A SAVE FOR A WHILE ALF,RAL LEFTMOST TO POSITION IOR B OR THE TWO TOGETHER AND B3407 IOR ASCZZ STA CVT2 LDA TEMP5 GET WORD BACK AND B77 LEAVE LAST TWO DIGITS LDB A ALF,RAL IOR B AND B3407 IOR ASCZZ STA CVT3 SAVE RIGHTMOST DIGITS JMP CNVRT,I RETURN HED ERR1 * * REPORTS E1 IF CONSOLE DEVICE PRESENT AND HALTS * ERR1 EQU * LDA 112B IS THERE AND B77 A CONSOLE SZA,RSS DEVICE? JMP E1 NO.GO HALT CLA,CLE YES.REPORT LDB L1 ERROR JSB 127B,I E1 E1 HLT 1 JMP *-1 IRRECOVERALBE HED DECIN,DCIN2 * DECIN * CONVERTS DECIMAL INTEGERS TO ASCII * A = VALUE ON INPU`T * CVT1 = FIRST TWO DIGITS ON EXIT * CVT2 = SECOND TWO DIGITS ON EXIT * DECIN NOP CCB B = -1 DLP1 ADA M1000 ASSUME INTEGER LESS THAN 10000 INB COUNT UP THOUSANDS PART SSA,RSS SKIP WHEN B REG IS CORRECT JMP DLP1 ADA D1000 RESTORE BLF,BLF ADB MM1 DLP2 ADA MM100 INB COUNT UP HUNDREDS PART SSA,RSS SKIP WHEN B REG IS CORRECT JMP DLP2 ADA D100 RESTORE ADB ASCZZ STB CVT1 CCB B = -1 DLP3 ADA MM10 INB COUNT UP TENS PART SSA,RSS SKIP WHEN B REG IS CORRECT JMP DLP3 ADA D10 RESTORE BLF,BLF IOR B IOR ASCZZ STA CVT2 JMP DECIN,I * * DCIN2 * STORE TWO WORDS OF CONVERTED A STARTING AT B * DCIN2 NOP STB LOCAL SAVE POINTER JSB DECIN CONVERT TO ASCII LDA CVT1 STORE LDB LOCAL TWO STA B,I WORDS INB INTO LDA CVT2 MESSAGE STA B,I JMP DCIN2,I HED MESSAGES SPC 2 *** MESSAGES *** SPC 2 SUP M0 OCT 6412 ASC 17,H0 2100 SERIES PWR FAIL DIAGNOSTIC L0 EQU *+*-M0-M0 L1 DEF M1 M1 ASC 12,E1 WRONG COMPUTER TYPE / M2 ASC 13,E2 CHANGED CORE,ADDRESS = JP02A BSS 3 ASC 06, CONTENTS = JP02B BSS 3 L2 EQU *+*-M2-M2 M3 ASC 19,E3 SHUTDOWN ROUTINE DID NOT COMPLETE. OCT 6412 ASC 08,SHOULD COMPLETE JP03A BSS 2 ASC 09, USECS, COMPLETED JP03B BSS 2 ASC 03, USECS L3 EQU *+*-M3-M3 M4 ASC 10,H4 THERE HAVE BEEN JP04A BSS 2 ASC 17, TESTS OF THE POWER FAIL CIRCUITRY L4 EQU *+*-M4-M4 M5 ASC 17,E5 POWER FAIL ROUTINE NOT ENTERED L5 EQU *+*-M5-M5 M7 ASC 19,E7 B-REGISTER NOT EQUAL TO COUNT, B = JP07A BSS 3 ASC 05, COUNT = JP07B BSS 3 L7 EQU *+*-M7-M7 ORG 2000B RESTB@B JSB DATA,I CONVERT ADDR TO ASCII E51 JSB ERROR,I * DMA1 OUT=XXXXXX, IN=XXXXXX, LDB NTTY ADDR=XXXXXX SZB TTY AVAIL? JMP *+3 NO LDB BT11 YES JSB CHKSW,I SUPPRESS MESSAGES? RSS YES JMP E52+1 NO, SKIP NON-TTY HLT LDB BT14 JSB CHKSW,I ERROR HALTS SUPPRESSED? JMP E52+1 YES LDA ADDR NO, SO HLT & DISPLAY ADDR IN A E52 HLT 52B * DMA1--BAD ADDR DISPLAYED IN A JSB H/L,I CHECK FOR LOOP ON TEST AR.2 LDA ADDR HAVE ALL MEMORY LOCATIONS CPA MEMAX BEEN TESTED? JMP AR2 YES ISZ ADDR NO, INCREMENT ADDR & LOOP JMP AR.1 SPC 2 MA.T1 EQU * NOP NOP LDA ADDR,I OUTPUT IN A NOP NOP AND A377 MASK OUT BITS 8-15 STA DAOUT STC 6,C TURN ON DMA NOP SFS 6 CHECK DMA1 FLAG JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR JMP CH6 SPC 2 AR2 JSB CTPD JMP T.12 LDA A2 SET DMA2 STARTING ADDR TO 2 STA ADDR * JSB SAVAD,I SAVE LOOP ADDRESS AR.3 CLB SAME AS DMA1 TEST CH8 OTB CH LDB BT5 JSB CHKSW,I NOP CH9 STC CH,C CCB.2 CCB LDA ADDR JSB OUT2,I LDB BT5 JSB CHKSW,I JMP MA.T2 LDA ADDR,I STA DAOUT STC.2 STC 7,C NOP SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR CH10 STC CH,C SPC 2 CH11 LIA CH CPA DAOUT JMP AR.4 STA DAIN LDA DAOUT LDB AM54A JSB DATA,I LDA DAIN LDB AM54B JSB DATA,I LDA ADDR LDB AM54C JSB DATA,I E54 JSB ERROR,I * DMA2 OUT=XXXXXX, IN=XXXXXX, LDB NTTY ADDR=XXXXXX SZB JMP *+3 LDB BT11 JSB CHKSW,I RSS JMP E55+1 LDB BT14 JSB CHKSW,I JMP E55+1  LDA ADDR E55 HLT 55B * DMA2--BAD ADDR DISPLAYED IN A JSB H/L,I CHECK FOR LOOP ON TEST AR.4 LDA ADDR CPA MEMAX JMP *+3 ISZ ADDR JMP AR.3 ISZ COUNT WORK MEMORY ADDRESS JMP AR1 REGISTERS FOR A WHILE JMP T.12 SPC 2 MA.T2 EQU * LDA CHA OTA 7 LDA ADDR,I SSA JMP AR.4 AND A377 STA DAOUT STC 7,C NOP SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR JMP CH10 HED T.12 - TEST THE STC DECISION FLIP-FLOP T.12 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CLEAR ALL DEVICES, INT SYS OFF CCB WORD COUNT (-1) IN B LDA ANULL JSB OUT1,I READY DMA1 LDA BT15 CHANGE CONTROL WORD TO IOR CHA STC SET, CLC NOT; OUTPUT OTA 6 TO DMA1 STC 6,C TURN ON DMA1 LDA CLF0 WHEN MCR INTERRUPTS, CLF0 IN MCR STA CHA,I TRAP CELL WILL TURN OFF INT SYS CLC 6 CLR DMA CTL TO AVOID DMA INT CH12 STF CH SET I/O FLAG STF 0 ENABLE INT. IF MCR CTL IS SET, NOP INT WILL TURN OFF INT SYS SFC 0 SKIP IF INT SYS OFF E56 JSB ERROR,I * DMA1--BIT 15 OF CTL WRD=1 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLF 0 CCB -1 IN B LDA ANULL JSB OUT1,I READY DMA1 LDA CHA CHANGE CTL WRD TO STC NOT SET, OTA 6 CLC NOT SET; OUTPUT TO DMA1 STC 6,C TURN ON DMA NOP CLC 6 CLR DMA CTL TO AVOID DMA INT CH13 STF CH SET I/O FLAG STF 0 ENABLE INT. IF MCR CTL IS CLEAR, NOP NO INT WILL OCCUR SFS 0 SKIP IF INT SYS ON E57 JSB ERROR,I * DMA1--BIT 15 OF CTL WRD=0 BUT * I/O nCTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP T.13 SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C TEST DMA2 (SAME AS ABOVE) CCB LDA ANULL JSB OUT2,I LDA BT15 IOR CHA OTA 7 STC 7,C NOP CLC 7 CH14 STF CH STF 0 NOP SFC 0 E60 JSB ERROR,I * DMA2--BIT 15 OF CTL WRD=1 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLF 0 CCB LDA ANULL JSB OUT2,I LDA CHA OTA 7 STC 7,C NOP CLC 7 CH15 STF CH STF 0 NOP SFS 0 E61 JSB ERROR,I * DMA2--BIT 15 OF CTL WRD=0 BUT * I/O CTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST LDA HLTC STA CHA,I RESTORE TRAP CELL HALT HED T.13 - TEST THE CLC DECISION FLIP-FLOP T.13 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CLEAR ALL DEVICES, INT SYS OFF LDA CLF0 STA CHA,I CCB -1 IN B LDA AWRD ADDR OF WRD TO BE OUTPUT IN A JSB OUT1,I READY DMA1 LDA CHA CHANGE CONTROL WORD TO STC IOR BT13 NOT SET, CLC SET; OUTPUT OTA 6 TO DMA1 CH16 STC CH SET DEVICE CONTROL STC 6,C TURN ON DMA1 NOP CLC 6 CLR DMA CTL TO AVOID DMA INT CH17 STF CH SET I/O FLAG STF 0 ENABLE INT. MCR CTL SHOULD BE NOP CLR, SO SHOULD NOT INTERRUPT SFS 0 SKIP IF INT SYS ON E62 JSB ERROR,I * DMA1--BIT 13 OF CTL WRD=1 BUT * I/O CTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CCB -1 IN B LDA ANULL JSB OUT1,I READY DMA1 چ LDA BT15 CHANGE CTL WORD TO STC IOR CHA SET, CLC NOT SET; OUTPUT OTA 6 TO DMA1 CH18 STC CH SET DEVICE CONTROL STC 6,C TURN ON DMA1 NOP CLC 6 CH19 STF CH SET I/O FLAG STF 0 ENABLE INT SYS NOP SFC 0 SKIP IF INT SYS OFF E63 JSB ERROR,I * DMA1--BIT 13 OF CTL WRD=0 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP T.14 SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C TEST DMA2 (SAME AS ABOVE) CCB LDA ANULL JSB OUT2,I LDA CHA IOR BT13 OTA 7 CH20 STC CH STC 7,C NOP CLC 7 CH21 STF CH STF 0 NOP SFS 0 E64 JSB ERROR,I * DMA2--BIT 13 OF CTL WRD=1 BUT * I/O CTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CCB LDA ANULL JSB OUT2,I LDA BT15 IOR CHA OTA 7 CH22 STC CH STC 7,C NOP CLC 7 CH23 STF CH STF 0 NOP SFC 0 E65 JSB ERROR,I * DMA2--BIT 13 OF CTL WRD=0 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * LDA HLTC STA CHA,I HED T.14 - TESTS 'CLF I/O' CTL FUNCTION & STF 6,7 T.14 EQU * CLC 0,C CLEAR ALL DEVICES, INT SYS OFF JSB SAVAD,I SAVE LOOP ADDRESS CCB -1 IN B LDA ANULL JSB OUT1,I READY DMA1 STC 6,C TURN ON DMA1 NOP CH76 SFC CH E136 JSB ERROR,I DMA1-I/O FLAG NOT CLR AFTER XFER JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP CT.1 SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CCB TEST DMA2 LDA ANULL JSB OUT2,I STC 7,C NOP V<:6CH77 SFC CH E112 JSB ERROR,I * DMA2--I/O FLG NOT CLR AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 * * TESTS ABILITY TO TURN DMA OFF * BY SETTING DMA FLAG * CT.1 JSB SAVAD,I SAVE LOOP ADDRESS LDA ANULL ADDR OF OUTPUT WORD IN A LDB A2 CMB,INB -2 IN B (WORD COUNT) JSB OUT1,I READY DMA1 LDA CHA CHANGE CTL WRD TO STC-NOT, OTA 6 WORD, CLC-NOT STC 6,C START XFR NOP STF 6 TURN OFF DMA1 CH83 STF CH ATTEMPT TO COMPLETE XFR NOP LIA 2 INPUT WORD COUNT SZA,RSS SHOULD NOT BE ZERO E133 JSB ERROR,I * STF 6 DID NOT TURN OFF DMA1 JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP T.15 SPC 2 JSB SAVAD,I SAME LDA ANULL AS LDB A2 DMA1 CMB,INB JSB OUT2,I LDA CHA OTA 7 STC 7,C NOP STF 7 CH84 STF CH NOP LIA 3 SZA,RSS E134 JSB ERROR,I * STF 7 DID NOT TURN OFF DMA2 JSB H/L,I CHECK FOR LOOP ON TEST HED T.15 - TEST DMA OUTPUT SPC 2 #<  24322-18004 1502 S 0122 24322A 2100 SERIES DMA DIAGNOSTIC             H0101 * THIS TEST CHECKS THE DMA OUTPUT CAPABILITY. * ALL POSSIBLE PATTERNS AND THEIR COMPLEMENTS * ARE TESTED. SPC 3 T.15 EQU * OC1 CLA INITIALIZE OUTPUT WORD TO ZERO LDB BT5 JSB CHKSW,I TTY? JMP TTO.1 YES JMP MRO.1 NO SPC 1 * * OUTPUT TO TTY I/O BOARD (DMA1) * TTO.1 JSB DOUT1 OUTPUT A WORD CMA AND A377 MASK OUT UPPER 8 BITS JSB DOUT1 OUTPUT COMPLEMENT CMA AND A377 JSB DOUT1 OUTPUT WORD AGAIN JSB PKFD NOP INA CPA BT8 FINISHED? JMP OC2 YES JMP TTO.1 NO, LOOP SPC 1 * * OUTPUT TO MCR (DMA1) * MRO.1 JSB DOUT1 OUTPUT A WORD CMA JSB DOUT1 OUTPUT COMPLEMENT CMA JSB DOUT1 OUTPUT WORD AGAIN JSB PKFD RAL INA,SZA FINISHED? JMP MRO.1 NO, LOOP JMP OC2 YES SPC 1 * * DATA OUT ROUTINE (DMA1) * DOUT1 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA AOUT,I STA DAOUT LDA FFWA CCB JSB OUT1,I READY DMA1 LDB BT5 JSB CHKSW,I TTY? NOP JMP *+3 NO LDA CHA CHANGE CTL WRD TO STC-NOT, OTA 6 WORD, CLC-NOT STC 6,C START XFR CLA,INA JSB TMR,I SFS 6 CHECK DMA1 FLAG JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDB BT5 JSB CHKSW,I TTY? NOP CH24 STC CH,C LDA DAOUT CH25 LIB CH INPUT WORD STB DAIN CPB DAOUT OUTPUT = INPUT? JMP E67+1 YES LDB AM67A NO. OUTPUT IN A, MSG ADDR IN B JSB DATA,I CONVERT OUTPUT TO ASCII LDA DAIN INPUT IN A LDB AM67B MSG ADDR IN B JSB DATA,I CONVERT INPUT TO ASCII E67 JSB ERROR,I * DMA1--WORD OUTPUT ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP DOUT1,I RETN *+1 SPC 2 OC2 JSB CTPD JMP T.16 CLA TEST DMA2 LDB BT5 JSB CHKSW,I JMP TTO.2 JMP MRO.2 SPC 1 * * OUTPUT TO TTY I/O BOARD (DMA2) * TTO.2 JSB DOUT2 CMA AND A377 JSB DOUT2 CMA AND A377 JSB DOUT2 JSB PKFD NOP INA CPA BT8 JMP IC1 JMP TTO.2 SPC 1 * * OUTPUT TO MCR (DMA2) * MRO.2 JSB DOUT2 CMA JSB DOUT2 CMA JSB DOUT2 JSB PKFD RAL INA,SZA JMP MRO.2 JMP IC1 SPC 1 * * DATA OUT ROUTINE (DMA2) * DOUT2 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA AOUT,I STA DAOUT LDA FFWA CCB JSB OUT2,I LDB BT5 JSB CHKSW,I RSS JMP *+3 LDA CHA OTA 7 STC 7,C CLA,INA JSB TMR,I SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDB BT5 JSB CHKSW,I NOP CH26 STC CH,C LDA DAOUT CH27 LIB CH STB DAIN CPB DAOUT JMP E71+1 LDB AM71A JSB DATA,I LDA DAIN LDB AM71B JSB DATA,I E71 JSB ERROR,I * DMA2--WORD OUTPUT ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP DOUT2,I SPC 2 AOUT DEF OUT NOP ENDW DEF OUT+1 TEMPS OCT 0 SPC 3 * * WBL WRITES BLOCK ADDRESS INTO BLOCK WORDS * WBL NOP STA SAVA LDA FFWA STA TEMPS WRT1 STA TEMPS,I INA ISZ TEMPS CPA ENDW RSS JMP WRT1 LDA SAVA JMP WBL,I HED T.16 - TEST DMA INPUT SPC 2 * THIS TEST CHECKS THE DMA INPUT CAPABILITY. * ALL POSSIBLE PATTERNS AND THEIR COMPLEMENTS * ARE TESTED. SPC 3 T.161 EQU * IC1 CLA INITIALIZE INPUT WORD TO ZERO LDB BT5 JSB CHKSW,I TTY? JMP TTI.1 YES JMP MRI.1 NO SPC 1 * * INPUT FROM TTY I/O BOARD (DMA1) * TTI.1 JSB DIN1 INPUT A WORD CMA AND A377 MASK PUT UPPER 8 BITS JSB DIN1 INPUT COMPLEMENT CMA AND A377 JSB DIN1 INPUT WORD AGAIN JSB PKFD NOP INA CPA BT8 FINISHED? JMP IC2 YES JMP TTI.1 NO, LOOP SPC 1 * * INPUT FROM MCR (DMA1) * MRI.1 JSB DIN1 INPUT A WORD CMA JSB DIN1 INPUT COMPLEMENT CMA JSB DIN1 INPUT WORD AGAIN JSB PKFD RAL INA,SZA FINISHED? JMP MRI.1 NO, LOOP JMP IC2 YES SPC 1 * * DATA IN ROUTINE (DMA1) * DIN1 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA DAOUT CH28 OTA CH OUTPUT DATA TO BE INPUT LDB BT5 JSB CHKSW,I TTY? NOP YES CH29 STC CH NO CH30 CLC CH CMA LDB BT5 JSB CHKSW,I TTY? AND A377 YES, MASK OUT UPPER 8 BITS STA IN NO. SET UP INPUT AREA LDA FFWA CCB JSB IN1,I READY DMA1 STC 6,C XFR DATA TO INPUT AREA CLA,INA JSB TMR,I SFS 6 CHECK DMA1 FLAG JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDA FFWA STA TEMPS LDA DAOUT DIN11 LDB TEMPS,I STB DAIN CPB DAOUT INPUT CORRECT? JMP E137+1 LDA DAOUT NO LDB AM73A OUTPUT IN A, MSG ADDR IN B JSB DATA,I CONVERT OUTPUT TO ASCII LDA DAIN INPUT IN A LDB AM73B MSG ADDR IN B JSB DATA,I CONVERT INPUT TO ASCII E137 JSB ERROR,I DMA1-WORD INPUT ERROR. GOOD = * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST ISZ TEMPS LDA TEMPS CPA ENDW RSS JMP DIN11 LDA DAOUT LDB DAIN JMP DIN1,I EXIT SPC 2 IC2 JSB CTPD JMP T.17 CLA TEST DMA2 LDB BT5 JSB CHKSW,I JMP TTI.2 JMP MRI.2 SPC 1 * * INPUT FROM TTY BOARD (DMA2) * TTI.2 JSB DIN2 CMA AND A377 JSB DIN2 CMA AND A377 JSB DIN2 JSB PKFD NOP INA CPA BT8 JMP PKO1 JMP TTI.2 SPC 1 * * INPUT FROM MCR (DMA2) * MRI.2 JSB DIN2 CMA JSB DIN2 CMA JSB DIN2 JSB PKFD RAL INA,SZA JMP MRI.2 JMP PKO1 SPC 1 * * DATA IN ROUTINE (DMA2) * DIN2 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA DAOUT CH67 OTA CH LDB BT5 JSB CHKSW,I NOP CH68 STC CH CH69 CLC CH CMA LDB BT5 JSB CHKSW,I AND A377 STA IN LDA FFWA CCB JSB IN2,I STC 7,C CLA,INA JSB TMR,I SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDA FFWA STA TEMPS LDA DAOUT DIN22 LDB TEMPS,I STB DAIN CPB DAOUT JMP E115+1 LDA DAOUT LDB A115A JSB DATA,I LDA DAIN LDB A115B JSB DATA,I E115 JSB ERROR,I * DMA2--WORD INPUT ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST ISZ TEMPS LDA TEMPS CPA ENDW RSS JMP DIN22 LDA DAOUT LDB DAIN JMP DIN2,I EXIT SPC 3 PWOU2 BSS 1 STORAGE FOR DMA1 UPPER BYTE PWOU3 BSS 1 STORAGE FOR DMA2 UPPER BYTE PWOL2 BSS 1 STORAGE FOR DMA1 LOWER BYTE PWOL3 BSS 1 STORAGE FOR DMA2 LOWER BYTE PT.17 DEF AT.17 TRD DEF PO.T2 NOP SPC 2 HED T.17 - TEST OUTPUT IN PACK MODE * THIS TESTn CHECKS THE DATA OUTPUT UNPACKING * CAPABILITY OF THE DMA. SPC 3 T.17 EQU * SHRTI EQU * PKO1 JSB PKFD JMP PT.17,I CLC 0,C CLEAR ALL DEVICES, INT SYS OFF CLA CLEAR STORAGE AREAS STA PWOU2 STA PWOL2 LDA PWRDC STA PWRD CCB -1 IN B LDA APWRD ADDR OF PACKED WORD IN A JSB OUT1,I READY DMA1 LDB BT5 JSB CHKSW,I TTY? JMP PO.T1 YES LDA K0 NO, CTL WRD=STC, CLC IOR CHA IOR BT14 CHANGE CTL WRD TO BYTE OTA 6 STC 6,C TURN ON DMA1 NOP CH53 STC CH,C CH32 LIA CH INPUT BITS 8-15 OF OUTPUT WORD STA PWOU2 SAVE CH54 STC CH,C SPC 2 CH34 LIA CH INPUT BITS 0-7 OF OUTPUT WORD STA PWOL2 SAVE SFS 6 JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDA PWRD ALF,ALF AND A377 STA DAOUT CPA PWOU2 IS UPPER BYTE (BITS 8-15) OK? JMP PKO.1 YES LDB AM75A GOOD DATA IN A, MSG ADDR IN B JSB DATA,I CONVERT TO ASCII LDA PWOU2 BAD DATA IN A STA DAIN LDB AM75B MSG ADDR IN B JSB DATA,I CONVERT TO ASCII E75 JSB ERROR,I * DMA1--UPPER BYTE OUTPUT ERROR. PKO.1 EQU * GOOD=XXXXXX, BAD=XXXXXX LDA PWRD AND A377 STA DAOUT CPA PWOL2 IS LOWER BYTE (BITS 0-7) OK? JMP E76+1 YES LDB AM76A GOOD DATA IN A, MSG ADDR IN B JSB DATA,I CONVERT TO ASCII LDA PWOL2 BAD DATA IN A STA DAIN LDB AM76B MSG ADDR IN B JSB DATA,I CONVERT TO ASCII E76 JSB ERROR,I * DMA1--LOWER BYTE OUTPUT ERROR. * GOOD=XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP PKO2 SPC 2 PO.T1 EQU * LDA CHA CTL WRD=STC-NOT, CLC-NOT, IOR BT14 BYTE OTA 6 STC 6,C TURN ON DMA1 NOP CH55 LIA CH STA PWOU2 CH33 STF CH GENERATE SRQ TO COMPLETE XFR NOP JMP CH34 SPC 2 PKO2 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLA TEST DMA2 STA PWOU3 STA PWOL3 CCB LDA APWRD JSB OUT2,I LDB BT5 JSB CHKSW,I JMP TRD,I LDA K0 IOR BT14 IOR CHA OTA 7 STC 7,C NOP CH56 STC CH,C CH35 LIA CH STA PWOU3 CH57 STC CH,C SPC 2 CH37 LIA CH STA PWOL3 SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDA PWRD ALF,ALF AND A377 STA DAOUT CPA PWOU3 JMP PKO.2 LDB A101A JSB DATA,I LDA PWOU3 STA DAIN LDB A101B JSB DATA,I E101 JSB ERROR,I * DMA2--UPPER BYTE OUTPUT ERROR. PKO.2 EQU * GOOD=XXXXXX, BAD=XXXXXX LDA PWRD AND A377 STA DAOUT CPA PWOL3 JMP E102+1 LDB A102A JSB DATA,I LDA PWOL3 STA DAIN LDB A102B JSB DATA,I E102 JSB ERROR,I * DMA2--LOWER BYTE OUTPUT ERROR. * GOOD=XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP T.20I,I SPC 2 PO.T2 EQU * LDA CHA IOR BT14 OTA 7 STC 7,C NOP CH58 LIA CH STA PWD3,I CH36 STF CH NOP JMP *+1,I DEF CH37 SPC 2 HED T.17 - TEST DMA OUTPUT (SHORT TEST) AT.17 EQU * CLC 0,C TEST DMA1 JSB CLR CLEAR I/O BUFFER CLA,INA JSB DD1,I SPC 3 JSB CLR TEST DMA2 CLA,INA JSB DD2,I JMP *+1,I DEF T.21 SPC 3 CLR NOP CLEAR I/O BUFFER CLA CH85 OTA CH LDB BT5 JSB CHKSW,I TTY ? JMP *+3 YES CH86 STC CH CH87 CLC CH JMP CLR,I RTN*+1 HED T.20 - TEST INPUT IN PACK MODE U*($$*   24322-18005 1502 S 0122 24322A 2100 SERIES DMA DIAGNOSTIC             H0101 * THIS TEST CHECKS THE DATA INPUT PACKING * CAPABILITY OF THE DMA. SPC 3 T.20 EQU * JSB PKFD JMP T.21 CLA STA FLAG SET FLAG FOR FIRST PASS PKI1 JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CLEAR ALL DEVICES, INT SYS OFF CLA CLEAR PACKED WORD INPUT STA PWS STORAGE AREA LDA BYT.U ALF,ALF IOR BYT.L STA PWRD LDA BYT.U PUT WORD TO BECOME UPPER BYTE CH38 OTA CH INTO INPUT BUFFER LDB BT5 JSB CHKSW,I TTY? JMP *+3 CH39 STC CH,C CH40 CLC CH LDA APWS ADDR OF INPUT AREA IN A CCB -1 IN B JSB IN1,I READY DMA1 LDA BT14 CHANGE CTL WRD TO BYTE, NO IOR CHA STC OR CLC OTA 6 STC 6,C TURN ON DMA1 NOP LDA BYT.L PUT WORD TO BECOME LOWER BYTE CH52 OTA CH IN INPUT BUFFER & FINISH XFR LDB BT5 JSB CHKSW,I TTY? JMP CH75 CH42 STC CH,C CH43 CLC CH RSS CH75 STF CH GENERATE SRQ TO COMPLETE XFR NOP SFS 6 JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDA PWRD CHECK PACKED INPUT WORD STA DAOUT CPA PWS CORRECT? JMP PKI2 YES LDB A104A CORRECT DATA IN A, MSG ADDR IN B JSB DATA,I CONVERT TO ASCII LDA PWS INPUT IN A STA DAIN LDB A104B MSG ADDR IN B JSB DATA,I CONVERT TO ASCII E104 JSB ERROR,I * DMA1--INPUT BYTE ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 PKI2 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLA TEST DMA2 STA PWS LDA BYT.U CH44 OTA CH LDB BT5 JSB CHKSW,I TTY? JMP *+3 CH45 STC CH,C CH46 CLC CH LDA APWS CCB JSB IN2,I LDA BT14 IOR CHA OTA 7 STC 7,C  NOP LDA BYT.L CH47 OTA CH LDB BT5 JSB CHKSW,I TTY? JMP CH80 CH48 STC CH,C CH49 CLC CH RSS CH80 STF CH NOP SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDA PWRD STA DAOUT CPA PWS JMP REVRS LDB A106A JSB DATA,I LDA PWS STA DAIN LDB A106B JSB DATA,I E106 JSB ERROR,I * DMA2--INPUT BYTE ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP REVRS SPC 2 REVRS EQU * LDA BYT.U REVERSE CONTENTS LDB BYT.L OF BYT.L & BYT.U STA BYT.L STB BYT.U LDA FLAG SZA WHICH PASS IS THIS? JMP T.21 SECOND CCA FIRST STA FLAG SET FLAG FOR PASS 2 JMP PKI1 REPEAT TEST SPC 2 BYT.U OCT 252 INITIAL BYT.L OCT 125 VALUES PWS BSS 1 SKP HED T.21 - ILLEGAL SELECT CODE TEST T.21 EQU * CLC 0,C * JSB SAVAD,I SAVE LOOP ADDRESS CLF 6 STF 1 SFC 6 E121 JSB ERROR,I * STF 1 SET DMA1 FLG JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLF 6 STF 16B SFC 6 E122 JSB ERROR,I * STF 16 SET DMA1 FLG JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS LIB 1 STB SAVB STC 2 CLA OUTPUT ZEROS TO WCR OTA 2 CCA ONES IN A OTA 1 WCR SHOULD NOT RESPOND TO SC1 LIA 2 LDB SAVB OTB 1 SZA E125 JSB ERROR,I * OTA1 SET DMA1 WCR JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLA OUTPUT ZEROS TO WCR OTA 2 CCA ONES IN A OTA 12B WCR SHOULD NOT RESPOND TO SC12 LIA 2 SZA E126 JSB ERROR,I * OTA 12 SET DMA1 WCR JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP END SPC 3 JSB SAVAD,I SAVE LOOP ADDRESS CLF 7 TEST DMA2 STF 1 SFC 7 E123 JSB ERROR,I * STF 1 SET DMA2 FLG JSB H/L,I CHECK FOR LOOP ONTEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLF 7 STF 17B SFC 7 E124 JSB ERROR,I * STF 17 SET DMA2 FLG JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS LIB 1 STB SAVB STC 3 CLA OTA 3 CCA OTA 1 LIA 3 LDB SAVB OTB 1 SZA E127 JSB ERROR,I * OTA 1 SET DMA2 WCR JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLA OTA 3 CCA OTA 13B LIA 3 SZA E130 JSB ERROR,I * OTA 13 SET DMA2 WCR JSB H/L,I CHECK FOR LOOP ON TEST HED END ROUTINE END LDB BT10 JSB CHKSW,I SUPPRESS NON-ERROR MESSAGES? JMP NOEX JSB TTSK,I NO LDA AL77 LDB AM77 JSB TTY.O,I END DIAGNOSTIC NOEX LDB BT12 IF NO EXEC, RETURNS HERE JSB CHKSW,I HALT AT END OF DIAGNOSTIC? RSS H77 HLT 77B DIAGNOSTIC HAS BEEN COMPLETED JMP STRT2 HED *** COMMON SUBROUTINES *** * * THIS SR RETURNS TO REPORT INTERRUPT ERRORS * INT.1 NOP DMA1 INTPT ROUTINE CLC 0,C LDA INT.1 INA JMP A,I RETN *+2 & REPORT ERROR SPC 2 * THIS SR CHECKS FOR VALIDITY OF SELECT CODE * IN CONFIGURATION. A-REG MUST CONTAIN SC * TO BE CHECKED. IF VALID, RETURN TO *+1. * IF INVALID, RETURN TO *+2. VALID SELECT * CODES ARE 10 - 77 OCTAL. SPC 1 CHCKI NOP CLB CMP CPA 1 A=B? JMP INV YES INB NO CPB A10 JMP CHCKI,I YES,M VALID SC. RETURN *+1 JMP CMP NO INV ISZ CHCKI NOP HLT 73B NO.SELECT CODE INVALID JMP CHCKI,I TURN *+2 SPC 2 * * THIS SR CHECKS FOR LOOP ON CURRENT TEST * H/LI NOP STA SA.H STB SB.H LDB BT13 JSB CHKSW,I REPEAT TEST? JMP REP YES LDA SA.H NO LDB SB.H JMP H/LI,I RETN *+1 REP LDA SA.H LDB SB.H JMP SAVAI,I REPEAT * SA.H NOP SB.H NOP SPC 2 * THIS SR SAVES THE ADDRESS OF THE CURRENT * TEST SO THAT TEST MAY LATER BE LOOPED * ON BY SETTING SW-REG BIT 13. SPC 1 SAVAI NOP LOOP ADDRESS STORED HERE JMP SAVAI,I RETN *+1 SPC 2 * SWITCH REGISTER OPTION CHECKER. * CHECKS SW-REG AND RETURNS TO *+1 * IF OPTION BIT IS SET, OR TO *+2 IF * NOT SET. B-REG MUST CONTAIN MASK OF * BIT TO BE CHECKED. SPC 1 CHKSI NOP STA SAVA SAVE A-REG LIA 1 INPUT SW-REG AND B GET BIT OF INTEREST SZA,RSS IS IT ON? ISZ CHKSI NO. RETURN + 2 LDA SAVA YES. RETURN+1 JMP CHKSI,I SPC 2 B2ASC NOP OCTAL ASCII AND A77 LDB A BRS,BRS BRS BLF,BLF AND A7 IOR B IOR D60 JMP B2ASC,I SPC 2 DATAI NOP CHANGE DATA IN A TO ASCII AND STA DX STORE IN LOCATION IN B STB DADD JSB B2ASC CHANGE TWO LEAST SIG CH TO ASCII LDB DADD ADB A2 MODIFY ADDRESS STA B,I STORE TWO CHARACTERS LDA DX ALF,ALF RAL,RAL JSB B2ASC CHANGE NEXT TWO CH TO ASCII LDB DADD INB MODIFY ADDRESS STA B,I STORE TWO CHARACTERS LDA DX AND P0 ALF JSB B2ASC CHANGE TWO MOST SIG CH TO ASCII STA DADD,I STORE FINAL TWO CHARACTERS JMP DA6PTAI,I * DX BSS 1 DATA TO BE CONVERTED DADD BSS 1 ADDRESS WHERE ASCII CH MUST GO SPC 2 * * THIS SR REPORTS ERRORS THROUGH THE TTY AND/OR THE T-REG. * DATA, IF ANY, IS DISPLAYED IN THE A&B REGISTERS. * ERRI NOP CLC 0,C STA SAVA SAVE STB SAVB REGISTERS * CCB SUBT 1 FROM RETURN ADDR TO GET ADB ERRI ADDR OF E.XX IN B-REG * LDA FER FIND POSITION OF E.XX IN ERROR SERCH CPB A,I ADDRESS TABLE JMP FND INA JMP SERCH FND ADA FERC STA T.POS STORE TABLE POSITION * JSB TTSK,I USE TTY? LDA T.POS YES. GET MSG ADDR FROM TABLE LDB FMI JMP *+2 JMP CHT NO ADB A LDB B,I MESSAGE ADDR IN B ADA FML GET MSG LENGTH FROM TABLE LDA A,I MESSAGE LENGTH IN A JSB TTY.O,I PRINT ERROR MESSAGE * CHT LDB CHLT GET CODED HALT FROM TABLE ADB T.POS LDB B,I STB EXX STORE CODED HALT AT EXX * LDB BT14 JSB CHKSW,I ERROR HALTS SUPPRESSED? JMP EXX+1 YES LDA DAOUT NO. PUT DATA IN A&B REGS LDB DAIN EXX HLT XX CODED ERROR HALT LDA DAOUT LDB DAIN JMP *+1,I RETN *+1 DEF ERRI,I * SKP * * THIS SR RETURNS TO *+1 IF TTY IS AVAILABLE AND NOT * SUPPRESSED, OTHERWISE TO *+4. * TTSKI NOP CLF 0 DISABLE INT SYS LDB TTSKI ADB A3 ADD 3 TO RETURN ADDR STB RETN4 LDA NTTY SZA TTY AVAILABLE? JMP RETN4,I NO, RETN *+4 LDB BT11 YES JSB CHKSW,I TTY SUPPRESED? JMP RETN4,I YES, RETN *+4 JMP TTSKI,I NO, RETN *+1 * RETN4 NOP SPC 2 * * THIS SR REPORTS DMA1 FLAG ERRORS * FLGI1 NOP LDA DAOUT STA TEMP LDA FLGI1 PUT RETN ADDR IN DAOUT. WILL BE STA DAOUT PUT IN A-REG DURING ERR ROUTINE 6E50 JSB ERROR,I * DMA1 FLG NOT SET AFTER XFR LDA TEMP STA DAOUT JSB H/L,I CHECK FOR LOOP ON TEST JMP FLGI1,I RETN *+1 SPC 2 * * THIS SR REPORTS DMA2 FLAG ERRORS * FLGI2 NOP LDA DAOUT STA TEMP LDA FLGI2 PUT RETN ADDR IN DAOUT. WILL BE STA DAOUT PUT IN A-REG DURING ERR ROUTINE E53 JSB ERROR,I * DMA2 FLG NOT SET AFTER XFR LDA TEMP STA DAOUT JSB H/L,I CHECK FOR LOOP ON TEST JMP FLGI2,I RETN *+1 * TEMP NOP TEMP STORAGE FOR DAOUT SPC 2 * * SET UP DMA1 FOR OUTPUT. MEM ADDR IN A, COMPLEMENT WRD-CNT IN B * OUT1I NOP CLC 2 PREPARE TO RECV MEM ADDR OTA 2 OUTPUT MEM ADDR STC 2 PREPARE TO RECV WRD-CNT OTB 2 OUTPUT WRD CNT LDA K0 CTL-WRD=STC; WORD; CLC IOR CHA INCLUDE I/O SELECT CODE OTA 6 OUTPUT PROG CTL-WRD CH70 CLC CH CH71 STF CH GENERATE SRQ TO DMA1 JMP OUT1I,I RETN *+1 SPC 2 * * SET UP DMA2 FOR OUTPUT. SAME AS FOR DMA1 (OUT1I). * OUT2I NOP CLC 3 OTA 3 STC 3 OTB 3 LDA K0 IOR CHA OTA 7 CH72 CLC CH CH73 STF CH JMP OUT2I,I SPC 2 * * SET UP DMA1 FOR INPUT. MEM ADDR IN A, COMPLEMENT WRD-CNT IN B * IN1I NOP IOR BT15 SET INPUT BIT IN MEM ADDR WORD JSB OUT1,I JMP IN1I,I RETN *+1 SPC 2 * * SET UP DMA2 FOR INPUT. SAME AS FOR DMA1 (IN1I). * IN2I NOP IOR BT15 JSB OUT2,I JMP IN2I,I SPC 3 PWD3 DEF PWOU3 DD1 DEF DOUT1 DD2 DEF DOUT2 T.20I DEF T.20 HED DIAGNOSTIC MESSAGES SUP M0 ASC 12,H0. START DMA DIAGNOSTIC L0 EQU *+*-M0-M0 M1 ASC 10,E1. CLF6 OR SFS6 ERR L1 EQU *+*-M1-M1 M2 ASC 10,E2. CLF6 OR SFC6 ERR L2 EQU *+*-M2-M2 M3 ASC 10,E3. STF6 OR SFC6 ERR L3 EQU *+*-M3-M3 M4 ASC 10,E4. STF6 OR SFS6 ERR L4 EQU *+*-M4-M4 M5 ASC 10,E5. CLF7 OR SFS7 ERR L5 EQU *+*-M5-M5 M6 ASC 10,E6. CLF7 OR SFC7 ERR L6 EQU *+*-M6-M6 M7 ASC 10,E7. STF7 OR SFC7 ERR L7 EQU *+*-M7-M7 M10 ASC 11,E10. STF7 OR SFS7 ERR L10 EQU *+*-M10-M10 M13 ASC 11,E13. STF0 OR SFC0 ERR L13 EQU *+*-M13-M13 M14 ASC 11,E14. STF0 OR SFS0 ERR L14 EQU *+*-M14-M14 M15 ASC 07,E15. NO D1 INT L15 EQU *+*-M15-M15 M16 ASC 07,E16. NO D2 INT L16 EQU *+*-M16-M16 M17 ASC 10,E17. D1 RTN ADDR ERR L17 EQU *+*-M17-M17 M20 ASC 10,E20. D2 RTN ADDR ERR L20 EQU *+*-M20-M20 M21 ASC 08,E21. D1 IAK ERR L21 EQU *+*-M21-M21 M22 ASC 08,E22. D2 IAK ERR L22 EQU *+*-M22-M22 M23 ASC 08,E23. D1 CLC0 ERR L23 EQU *+*-M23-M23 M24 ASC 07,E24. CLC6 ERR L24 EQU *+*-M24-M24 M25 ASC 08,E25. D2 CLC0 ERR L25 EQU *+*-M25-M25 M26 ASC 07,E26. CLC7 ERR L26 EQU *+*-M26-M26 M35 ASC 12,E35. D1-D2 PRIORITY ERR L35 EQU *+*-M35-M35 M36 ASC 12,E36. D2-IO PRIORITY ERR L36 EQU *+*-M36-M36 M37 ASC 12,E37. D1-IO PRIORITY ERR L37 EQU *+*-M37-M37 M40 ASC 06,E40. WC1 IS M40A ASC 09,XXXXXX, SHOULD BE M40B ASC 03,XXXXXX L40 EQU *+*-M40-M40 M41 ASC 06,E41. WC2 IS M41A ASC 09,XXXXXX, SHOULD BE M41B ASC 03,XXXXXX L41 EQU *+*-M41-M41 M42 ASC 07,E42. NO D1 INT L42 EQU *+*-M42-M42 M43 ASC 07,E43. NO D2 INT L43 EQU *+*-M43-M43 M44 ASC 06,E44. WC1 IS M44A ASC 11,XXXXXX, SHOULD BE ZERO L44 EQU *+*-M44-M44 M45 ASC 09,E45. D1 INT LOC = M45A ASC 09,XXXXXX, SHOULD BE M45B ASC 03,XXXXXX L45 EQU *+*-M45-M45 M46 ASC 06,E46. WC2 IS M46A ASC 11,XXXXXX, SHOULD BE ZERO L46 EQU *+*-M46-M46 M47 ASC 09,E47. D2 INT LOC = M47A ASC 09,XXXXXX, SHOULD BE M47B ASC 03,XXXXXX L47 EQU *+*-M47-M47 M50 ASC 08,E50. D1 FLG CLR L50 EQU *+*-M50-M50 M51 ASC 06,E51. D1 OUT= M51A ASC 06,XXXXXX, IN= M51B ASC 07,XXXXXX, ADDR= M51C ASC 03,XXXXXX L51 EQU *+*-M51-M51 M53 ASC 08,E53. D2 FLG CLR L53 EQU *+*-M5P3-M53 M54 ASC 06,E54. D2 OUT= M54A ASC 06,XXXXXX, IN= M54B ASC 07,XXXXXX, ADDR= M54C ASC 03,XXXXXX L54 EQU *+*-M54-M54 M56 ASC 10,E56. D1 CTL WRD ERR L56 EQU *+*-M56-M56 M57 ASC 10,E57. D1 CTL WRD ERR L57 EQU *+*-M57-M57 M60 ASC 10,E60. D2 CTL WRD ERR L60 EQU *+*-M60-M60 M61 ASC 10,E61. D2 CTL WRD ERR L61 EQU *+*-M61-M61 M62 ASC 10,E62. D1 CTL WRD ERR L62 EQU *+*-M62-M62 M63 ASC 10,E63. D1 CTL WRD ERR L63 EQU *+*-M63-M63 M64 ASC 10,E64. D2 CTL WRD ERR L64 EQU *+*-M64-M64 M65 ASC 10,E65. D2 CTL WRD ERR L65 EQU *+*-M65-M65 M67 ASC 09,E67. D1 OUT. GOOD= M67A ASC 06,XXXXXX, BAD= M67B ASC 03,XXXXXX L67 EQU *+*-M67-M67 M71 ASC 09,E71. D2 OUT. GOOD= M71A ASC 06,XXXXXX, BAD= M71B ASC 03,XXXXXX L71 EQU *+*-M71-M71 M73 ASC 09,E137. D1 IN. GOOD= M73A ASC 06,XXXXXX, BAD= M73B ASC 03,XXXXXX L73 EQU *+*-M73-M73 M74 ASC 10,E136. D1-I/O FLG SET L74 EQU *+*-M74-M74 M75 ASC 09,E75. D1 OUT. GOOD= M75A ASC 06,XXXXXX, BAD= M75B ASC 03,XXXXXX L75 EQU *+*-M75-M75 M76 ASC 09,E76. D1 OUT. GOOD= M76A ASC 06,XXXXXX, BAD= M76B ASC 03,XXXXXX L76 EQU *+*-M76-M76 M77 ASC 10,H77. END DIAGNOSTIC L77 EQU *+*-M77-M77 M100 ASC 08,E100. D1 IAK ERR L100 EQU *+*-M100-M100 M101 ASC 10,E101. D2 OUT. GOOD= M101A ASC 06,XXXXXX, BAD= M101B ASC 03,XXXXXX L101 EQU *+*-M101-M101 M102 ASC 10,E102. D2 OUT. GOOD= M102A ASC 06,XXXXXX, BAD= M102B ASC 03,XXXXXX L102 EQU *+*-M102-M102 M103 ASC 08,E103. D2 IAK ERR L103 EQU *+*-M103-M103 M104 ASC 09,E104. D1 IN. GOOD= M104A ASC 06,XXXXXX, BAD= M104B ASC 03,XXXXXX L104 EQU *+*-M104-M104 M105 ASC 13,E105. PRIORITY OR PH5 ERR L105 EQU *+*-M105-M105 M106 ASC 09,E106. D2 IN. GOOD= M106A ASC 06,XXXXXX, BAD= M106B ASC 03,XXXXXX L106 EQU *+*-M106-M106 M112 ASC 11,E112. D2--I/O FLG SET L112 EQU *+*-M112-M112 M115 ASC 09,E115. D2 IN. GOOD= M115A ASC 06,XXXXXX, BAD= M115B ASC 03,XXXXXX L115 EQU *+*-M1 64015-M115 M116 ASC 09,E116. D1 CLF0 ERR L116 EQU *+*-M116-M116 M117 ASC 09,E117. D2 CLF0 ERR L117 EQU *+*-M117-M117 M121 ASC 08,E121. D1 SC ERR L121 EQU *+*-M121-M121 M122 ASC 08,E122. D1 SC ERR L122 EQU *+*-M122-M122 M123 ASC 08,E123. D2 SC ERR L123 EQU *+*-M123-M123 M124 ASC 08,E124. D2 SC ERR L124 EQU *+*-M124-M124 M125 ASC 08,E125. D1 SC ERR L125 EQU *+*-M125-M125 M126 ASC 08,E126. D1 SC ERR L126 EQU *+*-M126-M126 M127 ASC 08,E127. D2 SC ERR L127 EQU *+*-M127-M127 M130 ASC 08,E130. D2 SC ERR L130 EQU *+*-M130-M130 M131 ASC 08,E131. D1 CRS ERR L131 EQU *+*-M131-M131 M132 ASC 08,E132. D2 CRS ERR L132 EQU *+*-M132-M132 M133 ASC 07,E133. STF6 ERR L133 EQU *+*-M133-M133 M134 ASC 07,E134. STF7 ERR L134 EQU *+*-M134-M134 M135 ASC 08,E135. NO I/O INT L135 EQU *+*-M135-M135 FWAM EQU * FIRST WORD AVAILABLE MEMORY BSS 63 OUT OCT 0 VLAST EQU * END /`6   24322-18006 1705 S 0122 DG-DMA/DCPC              H0101 ASMB,A,B,L,C HED 2100-21MX COMPUTER DMA DIAGNOSTIC ORG 100B SUP DSN 101220 23 FEBRUARY 1977 REV 1705 ************************************************************ * * A CONSOLE MAY BE USED BUT IS NOT REQUIRED * * THE DIAGNOSTIC CONFIGURATOR IS REQUIRED * * THE DIAGNOSTIC SERIAL NUMBER (DSN) IS 101120 * * OPERATING INSTRUCTIONS: * * 1. LOAD AND CONFIGURE THE DIAGNOSTIC CONFIGURATOR. * * 2. LOAD THE DMA DIAGNOSTIC. * * 3. SET THE P REGISTER TO 100. SET THE SELECT CODE OF THE I/O CARD * USED WITH THE DIAGNOSTIC IN THE SWITCH REGISTER. PRESS PRESET * (INT. & EXT. IF PRESENT) AND RUN. * * * NOTE * THE TEST INTERFACE USED WITH THIS DIAGNOSTIC * MUST BE A 12554A OR 12597A OR 12566B WITH AN ATTACHED * 1251-0332 CONNECTOR OR 12930-60001 WITH AN ATTACHED * 12930-60006 TEST CONNECTOR. * * 4. SUCCESSFUL CONFIGURATION IS INDICATED BY A HALT 102074. * * 5. ENTER PROGRAM OPTIONS IN THE SWITCH REGISTER. * (SEE SWITCH REG OPTIONS ON THE NEXT PAGE) * * 6. PRESS RUN. * * 12554 JUMPER CONFIGURATION- * * W4-W6 B * W7 A * W8-W12 IN * W13 A(IF APPLICABLE) * W14 A(IF APPLICABLE) * * OR * W4-W5 A * W6-W7 B * W8-W12 IN * W13-W14 A (IF APPLICABLE) * * 12597A JUMPER CONFIGURATION- * * W1,W2 A -OR- W1,W2 B * W3,W4 IN W8,W4 IN * * NOTE: W3 & W8 MUST NOT BE INSTALLED AT THE SAME TIME. SKP * 12566 12849 JUMPER CONFIGURATION- * * W1 A(B) * W2-W4 B(A) * W5-W8 IN * * * NOTE: MUST HAVE PIN 22,23 (OR Z,AA) JUMPERED TOGETHER ON T.C. * * 12930 PROGRAMMABLE SWITCHES * * 85S1-1 97S1-2 106S1-1 * S2-5 S2-5 S2-5 * S3-10(0) S3-10(0) S3-9 * * 87S1-1 102S1-2 * S2-4 S2-7 * S3-8 S3-10(0) * * >G NOTE: THE PROGRAMMABLE SWITCHES ARE SET USING A SCREWDRRIVER * TO POSITION THE CONTACT MECHANISM. SEE FIGURE A-3 * IN MOD FOR SWITCH LOCATION AND SWITCH POSITION. * * THE SWITCH POSITIONS SHOWN ARE USED FOR THE UI CARD * AND THE TEST CONNECTOR WHEN RUNNING * THE STANDARD TEST RUN.. * *************** SWITCH REGISTER OPTIONS **************************** * * * BIT MEANING * * 0-7 RESERVED * 8 SUPPRESS PRESET TEST * 9 USER SELECTION * 10 SUPPRESS NON-ERROR MESSAGES * 11 SUPPRESS ERROR MESSAGES * 12 LOOP ON DIAGNOSTIC. CLEAR TO HALT 102077 AT END * OF PASS * 13 LOOP ON CURRENT TEST SECTION * 14 SUPPRESS ERROR HALTS * 15 HALT 102076 AT END OF CURRENT TEST SECTION * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 1020XX ERROR AND * 1030XX OPERATOR * 1070XX HALTS. * 1060XX UNEXPECTED TRAP CELL INTERRUPT * 102077 DIAGNOSTIC COMPLETE * * * SKP ORG 100B A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SR EQU 1 SWITCH REGISTER REFERENCE CH EQU 10B I-O CHANNEL REFERENCE * ORG 100B * JMP CFIG,I GO TO TEST EXECUTION. BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) BSS 1 FAST OUTPUT (DUMP OR PUNCH) BSS 1 SLOW INPUT (KEYBOARD) FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY LWAM BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 NOT USED (MAG TAPE) BSS 1 1 MILL SEC TIME OUT COUNT BSS 4 SELECT CODES FOR I/O BSS 1 COMPUTER TYPE/OPTIONS USRSC BSS 1 USER CARD TYPE AND SELECT CODE BSS 1 MEMORY SIZE AND TYPE BSS 1 INTERNAL SWITCH REGISTER BSS 1  1 MILL SEC TIMER BSS 1 CONFIGURATOR SWITCH CK PTR BSS 1 INTEGER TO ASCII CONVERSION O2AS BSS 1 OCTAL TO ASCII CONVERSION AS2N BSS 1 ASCII CONVERSION DSN OCT 101220 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER SPC 1 CFIG DEF ENTRY STDA OCT 77777 TSTN NOP TSTP DEF *+1 DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST08 DEF TST09 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEC -1 HED DIAGNOSTIC CONSTANTS AND VARIABLES FIRST DEF *+1 DEF STFX DEF CLCCX DEF STCX DEF STCCX DEF OTAX DEF LIAX DEF LIAX1 DEF LIAX2 DEF SFSX DEF IOX1 DEF CH2 M1 DEC -1 * * CONSTANTS & STORAGE LOCATIONS * NULL BSS 2 SVRES BSS 2 B2 OCT 2 B6 OCT 6 B11 OCT 11 B12 OCT 12 B37 OCT 37 B77 OCT 77 B100 OCT 100 B105 OCT 105 B177 OCT 177 B377 OCT 377 B400 OCT 400 HLT0 OCT 102000 THLTX OCT 106077 NB77 OCT 177700 N76 OCT 177776 CNTLW OCT 120000 CNT12 OCT 100002 ASC00 OCT 30060 M2 DEC -2 M10 DEC -10 M10B OCT -10 CLF0 JSB *+1 NOP CLF 0 JMP *-2,I CNTR NOP SAVEA NOP DAOUT NOP DAIN NOP BT812 OCT 10400 BIT9 OCT 1000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 PATCK OCT 252 PATT1 OCT 125252 PATT2 OCT 52525 SAVWC NOP INTON NOP SAVAX NOP SAVA NOP SAVB NOP EOTCT NOP SVINA NOP SAVIA NOP TSTNN NOP TESTI DEC -1 JLINK JMP *+1,I PADDR NOP JSBLK JSB *-1,I ANULL DEF NULL ADDR1 DEF E012-3 ADDR2 DEF E015-3 WC1RP DEF M33A+3 WC1R2 DEF M33B+3 OUTP1 DEF M63A+7 OUTP2 DEF M63B+7 OUTP3 DEF M63C+7 CKPAD DEF PADDR * USSC BSS 1 USER SELECT CODE FOR DUAL CH BUF BSS 1 BUF1 DEF FWAA OUTPUT BUFFER BUF2 .BSS 1 INPUT BUFFER BUFX BSS 1 BUFZ BSS 1 WCNT BSS 1 WORD COUNT CNT BSS 1 COUNTER CNTX BSS 1 K OCT 135 CONSTANT XYZ BSS 1 CHA EQU 12B I-O CHANNEL CHB EQU 13B B7700 OCT 7700 B7777 OCT 7777 MW107 DEF M107B+10 MX107 DEF M107A+10 MY107 DEF M107A+3 MZ107 DEF M107B+3 MX114 DEF EE114+15 CH1I DEF CH1 CH3I DEF CH3 WCR NOP ASC6 ASC 01,6 ASC7 ASC 01,7 HED SUBROUTINES PATX NOP GENERATE PATTERN LDA BUF STA BUF2 LDA K GET FIRST VALUE PATTERN ADA EOTCT ADD PASS COUNT L3 STA BUF2,I STORE IN BUF ISZ BUF2 INCR BUF NOP POINTER ISZ CNT LAST PATTERN ? RSS NO, CONTINUE JMP LBFZ YES, RETURN CMA COMPLEMENT PATTERN STA BUF2,I STORE PATTERN CMA RESTORE PATTERN ADA K ADD NEW VALUE TO OLD PATTERN ISZ BUF2 INCR BUF NOP POINTER ISZ CNT LAST PATTERN ? JMP L3 NO, CONTINUE LBFZ LDA BUF GET ADDR OF BUF CMA,INA SUBTRACT INA TWO FROM BUF INA TO GET CMA,INA BUFFER-Z'S STA BUFZ ADDR LDB PATT1 GET PATTERN STB A,I STORE IN BUFF-Z CMB COMPLEMENT PATTERN INA NEXT LOCATION IN BUFF-Z STB A,I STORE PATTERN JMP PATX,I YES, RETURN * REV NOP REVERSE I-O SELECT CODES LDA USSC GET USERS SELECT CODES AND B77 MASK OFF BITS 0-5 ALF AND RAL,RAL STORE STA B IN BITS 6-9 LDA USSC GET BITS 6-9 ALF,ALF AND RAL,RAL STORE AND B77 IN IOR B BITS 0-5 STA USSC RESTORE NEW SC LDA CH1I,I RECONFIGURE AND NB77 STC INSTRUCTION l STA SAVA * LDA USSC * ALF,ALF * RAL,RAL * AND B77 * IOR SAVA * STA CH1I,I * JMP REV,I RETURN SKP ERR NOP REPORT ERROR MESSAGE STA SAVA SAVE A-REG STB SAVB SAVE B-REG CLE PACK IN UPPER BYTE LDB MY107 BUFFER ADDRESS JSB O2AS,I OCTAL TO ASCII CONV CLE PACK IN UPPER BYTE LDA SAVB ACTUAL DATA LDB MZ107 BUFFER ADDRESS JSB O2AS,I OCTAL TO ASCII CONV CLE PACK IN UPPER BYTE LDA BUF2 FAILING ADDRESS LDB MX107 BUFFER ADDRESS JSB O2AS,I OCTAL TO ASCII CONV CLE PACK IN UPPER BYTE LDA BUFX EXP BUF ADDR LDB MW107 JSB O2AS,I OCTAL TO ASCII CONV LDA SAVA RESTORE A-REG LDB SAVB AND B-REG E107 JSB ERMSG PRINT ERROR MESSAGE DEF EE107 LDA SAVA RESTORE A-REG LDB SAVB AND B-REG JMP ERR,I RETURN SKP DMAO NOP DMA OUT LDA USSC GET I-O CH NOP DEBUG NOP DEBUG AND B77 MASK OFF IOR BIT15 ADD CONTROL WORD NOP DEBUG OTA 6 OUTPUT CW1 CLC 2 PREPARE MEM.ADR.REG. LDA BUF ADDR OF BUFFER NOP DEBUG OTA 2 OUTPUT MEM.ADR.REG. STC 2 PREPARE WC LDA WCNT WORD COUNT NOP DEBUG OTA 2 OUTPUT WC NOP DEBUG JMP DMAO,I RETURN * DMAI NOP DMA IN LDA USSC GET I-O CH ALF,ALF POISTION BITS RAL,RAL 6-9 IN 0-5 AND B77 MASK OFF IOR BIT15 ADD CONTROL WORD NOP DEBUG OTA 7 OUTPUT CW1 CLC 3 PREPARE MEM.ADR.REG. LDA BUF1 BUFFERkV ADDR NOP DEBUG IOR BIT15 ADD CW OTA 3 OUTPUT MEM.ADR.REG. STC 3 PREPARE FOR WC LDA WCNT WORD COUNT NOP DEBUG OTA 3 OUTPUT WC NOP DEBUG JMP DMAI,I SKP ERR1 NOP STB WCR SAVE WCR VALUE LDA WCNT GET STARTING WC VALUE CPA B IS WCR = WC VALUE ? JMP *+2 YES JMP *+4 NO E110 JSB ERMSG REPORT ERR DEF EE110 JMP ERR1,I RETURN E111 JSB ERMSG DEF EE111 JMP ERR1,I RETURN * ERR2 NOP STB WCR SAVE WCR VALUE SZB IS WCR = TO ZERO ? JMP *+4 NO E113 JSB ERMSG REPORT ERR DEF EE113 JMP ERR2,I RETURN LDA WCNT GET STARTING WC VALUE CPA B IS WCR = TO WC ? JMP *+2 YES JMP *+4 NO E112 JSB ERMSG REPORT ERR DEF EE112 JMP ERR2,I RETURN LDB MX114 SET LDA WCR UP CLE MESSAGE JSB O2AS,I WITH LDA WCNT ACTUAL LDB WCR WCR VALUE E114 JSB ERMSG REPORT ERR DEF EE114 JMP ERR2,I RETURN * SMSG NOP SET STA EX110,I UP STA EX111,I MESSAGE STA EX112,I WITH STA EX113,I DMA-6 STA EX114,I OR DMA-7 JMP SMSG,I * EX110 DEF EE110+7 ERR MESSAGE ADDRESS EX111 DEF EE111+7 EX112 DEF EE112+7 EX113 DEF EE113+7 EX114 DEF EE114+7 HED DIAGNOSTIC SUBROUTINES * SWRT INVESTIGATES THE STATE OF THE S-REG. IF ANY BIT(S) * AS SPECIFIED IN THE B-REG ARE SET SWRT RETURNS P+1 * ELSE P+2. * SWRT NOP STA SAVAX SAVE A-REG. JSB DEBON GO DEBOUNCE SW.REG. AND B MASK OUT TEST BIT(S). SZA,RSS ANY SWITCHES UP? ISZ SWRT NO! UPDATE RETURN TO P+2. LDA SAVAX YES! GET ORIGINAL A-REG. JMP SWRT,I RETURN. SPC 3 * SWITCH REGISTER DEBOUNCE ROUTINE * TO PREVENT OVERLAY OF A HALT BY A DEPRESSED DISPLAY REG. BIT. * DEBON NOP LIA SR GET SWITCH REG. STA SAVEA SAVE SW.REG. SETTING. CLA,CCE READY INDICATORS. WAITS OTA SR TRY TO CLEAR SW.REG. LIA SR GET SW.REG. BACK. SZA,RSS IS OPERATOR PRESSING A SWITCH? JMP WAITO NO! GO DO NEXT SW. REG. TEST. CLA,CLE YES! SET DELAY MARKER. JMP WAITS WAIT UNTIL OPERATOR LETS GO. WATM1 CLE SET DELAY MARKER. WAITO CCA SET TEST PATTERN. OTA SR ATTEMPT TO SET ALL SR BITS. LIA SR GET SR CONTENTS. ISZ A IS OPERATOR CLEARING A SWITCH? JMP WATM1 YES! WAIT UNTIL HE LETS GO. SEZ WAS A SW.REG. BIT PRESSED? JMP RESSW NO! GO RESTORE SW.REG. INA YES! DELAY SZA ABOUT JMP *-2 400 MS. JMP WAITS TRY TEST AGAIN. RESSW LDA SAVEA RESTORE ORIGINAL SW.REG. OTA SR RESTORE DISPLAY. JMP DEBON,I RETURN. SPC 2 * THIS ROUTINE SETS THE DMA XFER ERROR MESSAGE TO * READ AS AN OUTPUT FAILURE. SETOT NOP JSB FIXMS PUT ASC 1, O AN DEF EE063+5 -OUT- JSB FIXMS IN ASC 1,UT THE DEF EE063+6 MESSAGE STRING. JMP SETOT,I RETURN. SKP * STUFFS A JUMP PADDR,I IN TRAP CELL 6 * AND THE DESTINATION ADDRESS IN PADDR * STUF6 NOP LDA JLINK GET A JMP PADDR,I STA 6 STORE IT IN TRAP CELL. LDA STUF6,I GET DESTINATION ADDRESS. STA PADDR SAVE IT. ISZ STUF6 UPDATE RETURN. JMP STUF6,I RETURN. SPC 2 * STUFFS A JUMP PADDR,I IN TRAP CELL 7 * AND THE DESTINATION ADDRESS IN PADDR * STUF7 NOP LDA JLINK GET A JMP PADDR,I STA 7 STORE IT IN THE TR$"AP CELL. LDA STUF7,I GET DESTINATION ADDRESS. STA PADDR SAVE IT. ISZ STUF7 UPDATE RETURN. JMP STUF7,I RETURN. SPC 3 * STUFFS A JUMP PADDR,I IN THE I-O TRAP CELL * AND THE DESTINATION ADDRESS IN PADDR * STUFI NOP LDA JLINK GET A JMP PADDR,I. STA USRSC,I PUT IT IN I-O TRAP CELL. LDA STUFI,I GET DESTINATION ADDRESS. STA PADDR SAVE IT. ISZ STUFI UPDATE RETURN. JMP STUFI,I RETURN. SPC 2 * STORES AN ASCII STRING IN A MESSAGE STRING. * CALLING FORMAT- * JSB FIXMS * ASC 1,XX * DEF MESG STRING POINTER * FIXMS NOP LDA FIXMS,I GET AN ASCII WORD. ISZ FIXMS UPDATE RETURN TO P+2. STA SAVEA SAVE ASCII DATA. LDA FIXMS GET JSB+2 ADDR. IOR BIT15 MAKE IT AN INDIRECT ADDR. STA FIXMS RESTORE NEW ADDR. LDA SAVEA RESTORE ASCII DATA. STA FIXMS,I STORE ASCII IN MESSAGE STRING. ISZ FIXMS UPDATE RETURN. LDA FIXMS GET JSB LINK ADDR. ELA,CLE,ERA CLEAR INDIRECT BIT. JMP A,I RETURN. SKP * SETS UP THE GOOD AND BAD DATA IN THE MESSAGE * STRING AFTER A WCR FAILURE. * PDATA NOP STB DAIN SAVE ACTUAL DATA. LDB WC1RP GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA DAIN GET ACTUAL DATA. LDB WC1R2 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. JMP PDATA,I RETURN. SPC 2 * REPORTS A DMA1 WCR FAILURE. * FIX33 NOP JSB FIXMS UPDATE ASC 1,R1 ERROR DEF EE033+4 MESSAGE. DLD SVRES GET GOOD-BAD WCR DATA JSB ERMSG REPORT WCR1 GOOD=XXXXXX DEF EE033 BAD=XXXXXX * A=EXPECTED WCR1 CONTENTS * B=ACTUAL WCR1 CONTENTS JMP FIX33,I RETURN. SPC 2 * REPORTS A DMA2 WCR FAILURE. * FIX34 NOP JSB FIXMS UPDATE ASC 1,kR2 ERROR DEF EE033+4 MESSAGE TO WCR2. DLD SVRES GET GOOD-BAD WCR DATA JSB ERMSG REPORT WCR2 GOOD=XXXXXX DEF EE033 BAD=XXXXXX * A=EXPECTED WCR2 CONTENTS * B=ACTUAL WCR2 CONTENTS JMP FIX34,I RETURN. SPC 2 * THIS RETURN SETS THE DMA XFER ERROR MESSAGE * TO READ AS AN INPUT FAILURE. * SETIN NOP JSB FIXMS PUT ASC 1, I AN DEF EE063+5 -IN- JSB FIXMS INTO ASC 1,N THE DEF EE063+6 MESSAGE STRING. JMP SETIN,I RETURN. SKP * I-O SUBROUTINES * STF NOP SET I-O FLAG. STFX STF CH JMP STF,I SPC 2 CLCC NOP CLCCX CLC CH,C CLEAR I-O CONTROL FF. JMP CLCC,I SPC 2 SPC 2 STC NOP STCX STC CH SET I-O CONTROL FF. JMP STC,I SPC 2 STCC NOP STCCX STC CH,C SET I-O CONTROL,CLEAR FLAG. JMP STCC,I SPC 2 OTA NOP OTAX OTA CH OUTPUT TO I-O DATA BUFFER. JMP OTA,I SPC 2 LIA NOP LIAX LIA CH INPUT I-O DATA BUFFER. JMP LIA,I SPC 2 SFS NOP SFSX SFS CH IS I-O FLAG SET? JMP SFS,I NO! RETURN P+1. ISZ SFS YES! RETURN P+2. JMP SFS,I SPC 2 FIXDT NOP STA SAVAX SAVE A-REG. LDA MARKB GET BOARD TYPE. CPA PATT1 16 BIT BOARD? JMP EXITF YES! EXIT. LDA B377 NO! GET BYTE MASK. AND B MASK OFF HI BYTE. STA B PUT NEW VALUE AWAY. EXITF LDA SAVAX RESTORE A-REG. JMP FIXDT,I RETURN. MARKB NOP SKP * SET UP DMA1 FOR OUTPUT. MEM ADDR IN A, COMPLEMENT WRD-CNT IN B * OUT1 NOP CLC 2 PREPARE TO RECV MEM ADDR OTA 2 OUTPUT MEM ADDR CMA TRY TO CHANGE DMA1 CLC 3 BY OTA 3 CHANGING DMA2. STC 2 PREP`ARE TO RECV WRD-CNT OTB 2 OUTPUT WRD CNT LDA CNTLW CONTROL WORD= STC,CLC. IOR USRSC INCLUDE I/O SELECT CODE OTA 6 OUTPUT DMA1 CNTL WORD. XOR CNTLW ALTER DMA2 CONTROL AND ADA B11 AND CHANGE SERVICE OTA 7 SELECT CODE. JMP OUT1,I RETURN. SPC 1 * SET UP DMA2 FOR OUTPUT. SAME AS FOR DMA1 (OUT1 ). * OUT2 NOP CLC 3 READY FOR MEM ADDR. OTA 3 OUTPUT TO MAR. CMA TRY TO CHANGE DMA2 CLC 2 BY OTA 2 CHANGING DMA1. STC 3 READY FOR WORD COUNT. OTB 3 OUTPUT TO WCR. LDA CNTLW GET CONTROL WORD= STC,CLC. IOR USRSC MERGE I-O SC. OTA 7 OUTPUT TO DMA2. XOR CNTLW CHANGE DMA1 CONTROL ADA B11 AND CHANGE SERVICE SELECT CODE OTA 6 ON DMA1. JMP OUT2,I RETURN. SPC 1 TRAPC NOP LDA B2 START AT ADDR 2. LDB THLTX GET A HLT 106077. THLTL STB A,I PUT HALT IN A TRAP CELL. INA UPDATE ADDR OF TRAP CELLS. CPA B100 LAST TRAP CELL? JMP TRAPC,I YES! EXIT. JMP THLTL NO! DO NEXT TRAP CELL. SKP * THIS SUBROUTINE STORES ALL DATA REPORTED * DURING A DMA OUTPUT OR INPUT XFER FAILURE INTO * THE ERROR MESSAGE STRING THEN PRINTS THE MESSAGE. * PXDAT NOP CLE LDA PADDR GET FAILING ADDRESS. LDB OUTP1 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. CLE LDA EXPDA GET EXPECTED DATA. LDB OUTP2 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. CLE LDA DAIN GET ACTUAL DATA. LDB OUTP3 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA PADDR GET XFER ADDRESS. LDB DAIN GET ACTUAL DATA IN. JSB ERMSG PRINT ERROR MESSAGE. DEF EE063 ERROR MESSQAGE POINTER. * A=TRANSFER ADDRESS * B=ACTUAL DATA TRANSFERRED JMP PXDAT,I RETURN. EXPDA NOP SPC 3 * THIS SUBROUTINE STORES ALL DATA REPORTED * DURING A DMA OUTPUT OR INPUT XFER FAILURE INTO * THE ERROR MESSAGE STRING THEN PRINTS THE MESSAGE. * PXDT2 NOP LDA PADDR GET FAILING ADDRESS. LDB OUTP1 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA DAIN GET EXPECTED DATA. LDB OUTP2 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA PADDR,I GET ACTUAL DATA. LDB OUTP3 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA PADDR GET XFER ADDRESS. LDB DAIN GET EXPECTED DATA IN. JSB ERMSG PRINT ERROR MESSAGE. DEF EE063 ERROR MESSAGE POINTER. * A=TRANSFER ADDRESS * B=EXPECTED DATA TRANSFERRED JMP PXDT2,I RETURN. SKP TSTC1 NOP LDA CLF0 SET SO WHEN IT INTERRUPTS THE INTS. STA USRSC,I ARE TURNED OFF JSB CLCC INSURE I/O IS OFF LDA BIT15 CHANGE CONTROL WORD TO IOR USRSC STC DURING XFER. OTA 6 OUTPUT TO DMA1. XOR BIT15 TRY TO CHANGE DMA1 OTA 7 BY CHANGING DMA2. STC 6,C TURN ON DMA1 JSB STF SET I/O FLAG TO START TRANSFER CLC 6 CLR DMA CTL TO AVOID DMA INT CLA START A WAIT TIME INA,SZA,RSS JMP *+3 JSB SFS IS FLAG SET YET JMP *-3 NO WAIT FOR IT STF 0 ENABLE INT. IF I-O CTL IS SET, NOP INT WILL TURN OFF INT SYS JMP TSTC1,I SPC 1 TSTC2 NOP LDA CLF0 SET SO THAT INTPS ARE TURNED OFF STA USRSC,I WHEN INTERRUPT OCCURS JSB CLCC TURN INTF OFF LDA BIT15 CHANGE CONTROL WORD TO STC IOR USRSC DURING XFER. OTA 7 OUTPUT TO DMA2. RHFB XOR BIT15 TRY TO CHANGE DMA2 CONTROL OTA 6 BY CHANGING DMA1. STC 7,C TURN ON DMA2. JSB STF SET FLAG TO START TRANSFER CLC 7 DISABLE DMA2 INTERRUPTS. CLA SET FOR TIME OUT INA,SZA,RSS JMP *+3 JSB SFS IS FLAG SET YET? JMP *-3 NO WAIT STF 0 TURN ON INT SYSTEM. NOP INT WILL TURN OFF INT SYSTEM. JMP TSTC2,I SPC 1 4H  24322-18007 1705 S 0122 DG-DMA/DCPC              H0101  SKP RDYXF NOP CLA CLEAR STA NULL TEST STA NULL+1 ADDRESSES LDA ANULL GET ADDR POINTER. STA PADDR SAVE IT LDB M2 SET LOOP STB CNTR TEST COUNTER. IOR BIT15 MAR CONTROL WORD TO INPUT. JMP RDYXF,I RETURN. SPC 1 RDYD1 NOP CCB WORD COUNT=-1 LDA ANULL XFER ADDR POINTER. JSB OUT1 INITIALIZE DMA1 OUT. JMP RDYD1,I SPC 2 RDYD2 NOP CCB WORD COUNT=-1 LDA ANULL XFER ADDR POINTER. JSB OUT2 INITIALIZE DMA2 OUT. JMP RDYD2,I SKP TCLC1 NOP JSB CLCC TURN OFF INTERFACE OTA 6 OUTPUT TO DMA1. XOR BIT13 TRY TO CHANGE DMA1 CONTROL OTA 7 BY CHANGING DMA2. STC 6,C TURN ON DMA1. JSB STC SET I-O CONTROL FF. CLC 6 CLR DMA CTL TO AVOID DMA INT. CLA SET TO TIME OUT INA,SZA,RSS JMP *+3 SFS 6 WAIT FOR DMA JMP *-3 JSB STF SET I-O FLAG FF. STF 0 NO I-O INT SHOULD OCCUR NOP SINCE DMA1 SHOULD CLC. JMP TCLC1,I SPC 2 TCLC2 NOP JSB CLCC TURN OFF INTERFACE OTA 7 OUTPUT TO DMA2. XOR BIT13 TRY TO CHANGE DMA2 CONTROL OTA 6 BY CHANGING DMA1. STC 7,C TURN ON DMA2. JSB STC SET I-O CTL FF. CLC 7 DISABLE DMA2 INTERRUPT. CLA SET TIME OUT INA,SZA,RSS JMP *+3 SFS 7 WAIT FOR DMA2. JMP *-3 JSB STF SET I-O FLAG FF. STF 0 NO I-O INT SHOULD OCCUR NOP SINCE DMA2 SHOULD CLC. JMP TCLC2,I SKP * MESSAGE OUTPUT WITHOUT HALT * MSGCO NOP JSB MSGRT OUTPUT MESSAGE OCT 2000 S-REG 10 CHECK JMP MSGCO,I RETURN TO CALLER * * ERROR MESSAGE WIXTH HALT * ERMSG NOP JSB MSGRT OUTPUT MESSAGE B4000 OCT 4000 S-REG 11 CHECK CLA LDB BIT14 CHECK SWR BIT 14 TO JSB SWRT SUPPRESS HALTS. STA ERHLT PUT HALT IN LINE LDA SAVA RESTORE THE LDB SAVB A & B REGISTERS. ERHLT NOP ERROR HALT. CLB,INB SWR BIT 0 JSB SWRT CHECK SWR BIT 0 JMP *+3 SWR BIT 0 IS SET LDB SAVB RESTORE B-REG JMP ERMSG,I SWR BIT 0 NOT SET RETURN TO CALLER LIA SR READ SWR AND N76 MASK OFF BIT 0 OTA SR CLEAR SWR BIT 0 JMP TRETN EXIT CURRENT TEST * * OUTPUT MESSAGE * MSGRT NOP STA SAVA SAVE A AND STB SAVB B REGISTERS. CCA READY INT SYSTEM MARKER. SFS 0 INT SYSTEM ON? CLA NO! CLEAR MARKER. STA INTON SET INT SYSTEM MARKER. CLF 0 SHUT OFF INT SYSTEM. LDB MSGRT,I GET SWITCH REGISTER BIT LDA MSGRT GET RETURN ADDRESS. ADA M2 DECREMENT AND STA MSGRT RESTORE RETURN ADDRESS. JSB SWRT CHECK TO SUPPRESS MESSAGES JMP CNVTH YES? DON'T PRINT MESSAGE. LDA MSGRT,I NO? GET ERROR LDA A,I MESSAGE LDA A,I POINTER. ALF,CLE,ALF CHECK IF AND B177 THIS IS AN CPA B105 ERROR MESSAGE. IS IT? JMP GETTN YES! CHECK TO OUTPUT TEST #. GETPT LDA MSGRT,I NO! RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE AND JSB FMTR,I PRINT MESSAGE. CNVTH LDB ERMSG,I CONVERT HALT CODE CCA,CCE TO JSB AS2N,I OCTAL. STA SAVEA SAVE ERROR CODE. AND B77 MASK TO SC. IOR HLT0 MERGE IN HALT 102000. LDB SAVEA GET ERROR CODE AGAIN. BLF,BLF POSITION UPPER ERROR CODE #. SSB . 1060XX OR 1070XX HALT? IOR B4000 YES! MERGE IN BIT11. RBL POSITION LOWER DIGIT. SSB 1030XX OR 1070XX HALT? IOR BIT9 YES! MERGE BIT 9. STA ERHLT SAVE HALT. ISZ MSGRT,I ADJUST ISZ MSGRT RETURN ADDRESS ISZ MSGRT POINTERS. ISZ MSGRT LDA INTON GET INT SYSTEM MARKER. SZA WAS INT SYSTEM ON? STF 0 YES! TURN IT BACK ON. LDA SAVA RESTORE A AND LDB SAVB B REGS JMP MSGRT,I RETURN GETTN LDA TSTN GET TEST NUMBER CPA TESTI IS IT THE SAME ONE? JMP GETPT YES! SKIP OUTPUT STA TESTI NO! THEN UPDATE IT CLB CONVERT THE AND B37 TEST NUMBER. ADA M10 IS TEST NUMBER SEZ GREATER THAN 10? LDB B400 YES! SET UP AN ASCII 1. SEZ,RSS TEST NUMBER>10?IS > 10 ADA B12 NO! CONVERT TO POSITIVE. IOR B MERGE IN UPPER IOR ASC00 DIGIT THEN STA TSTNX PUT IT IN STRING CLA DO A CRLF JSB SLOP,I TO CONSOLE. CLA,CLE INDICATE START OF FORMAT LDB TSTFN GET TEST # MESG. POINTER. JSB FMTR,I PRINT TEST # MESSAGE. JMP GETPT RETURN SKP TSTFN DEF *+1 ASC 3,TEST TSTNX ASC 2,XX// PSCMS ASC 6,PASS XXXXXX/ SPC 3 RDYIO NOP LDA PATT1 GET FIRST DATA PATTERN. JSB OTA OUTPUT TO TEST INTERFACE. CMA COMPLEMENT PATTERN. JSB STCC GATE DATA TO INPUT BUFR. JSB OTA OUTPUT 2ND DATA PATTERN. JMP RDYIO,I RETURN. HED DIAGNOSTIC CONTROL ENTRY CLC 0,C TURN I/O SYSTEM OFF GETSR LIA SR GET SR CONTENTS. AND B77 MASK TO SC. CLE READY TO CHECK ADA M10B SELECT CODE. SEZ SC>7? JMP *+3 YES! GO AHEAD NORMALLY. ~HLT 73B NO! REPORT ERROR. JMP GETSR GO TRY AGAIN. LIA SR GET SR CONTENTS AND B77 BACK AGAIN. STA USRSC SAVE USER SC. LDB FIRST UPDATE GETIO LDA B,I ALL CPA M1 I-O JMP CLRPC INSTRUCTIONS STA SAVA TO LDA A,I THE AND NB77 USER IOR USRSC SELECT STA SAVA,I CODE. INB JMP GETIO CLRPC LIA SR GET SR CONTENTS AND B7777 MASK OFF SC'S STA USSC STORE BOTH SC'S AND B7700 MASK OFF SC-2 SZA,RSS 1 OR 2 SC'S ? JMP CLRP 1, DO STANDARD TEST RUN ALF,ALF POSITION SC IN RAL,RAL BITS 0-5 CLE READY TO CHECK ADA M10B SELECT CODE SEZ SC>7? JMP *+3 YES! GO AHEAD HLT 73B NO! REPORT ERROR JMP GETSR GO TRY AGAIN LDA USSC TEST AND B77 BOTH STA B SC LDA USSC FOR ALF,ALF THE RAL,RAL SAME AND B77 VALUE STA SAVA SAVE SC IN BITS 6-9 CPA B BOTH THE SAME ? JMP *+2 YES! SAME VALUE JMP *+3 OK-DIFFERENT HLT 71B REPORT ERROR JMP GETSR GO TRY AGAIN LDA CH3I,I CONFIGURE CLC INSTRUCTION AND NB77 MASK OFF SC IOR SAVA MERGE IN NEW SC STA CH3I,I STORE INSTRUCTION JSB REV CONFIGURE STC INSTRUCTION CLA CLEAR SR OTA SR FOR OPERATOR CCA SET UP FLAG STA XYZ TO DO TST15 JMP HLT74 HLT FOR SR OPTIONS CLRP CLA DO STANDARD TEST RUN STA XYZ CLEAR TST15 FLAG LDA PATT1 GET A TEST PATTERN. JSB OTA OUTPUT IT TO THE TEST JSB STCC INTERFACE AND TURN IT ON. JSB LIA ] GET PATTERN BACK. CPA PATT1 IS THIS A 16-BIT BOARD? RSS YES! GO TO HALT 74. CPA PATCK 8 BIT BOARD? JMP *+3 YES! GO HLT 74. HLT 72B NO! TELL OPERATOR I-O FAILED.. JMP GETSR GO TRY ANOTHER SELECT CODE? STA MARKB SAVE BOARD TYPE. HLT74 HLT 74B CONFIGURATION COMPLETE. SKP MAIND CLC 0,C CLEAR I-O. JSB TRAPC INITIALIZE TRAP CELLS. JSB MSGCO PRINT THE DEF INTRO INTRODUCTORY MESSAGE. CLA CLEAR PASS STA EOTCT COUNT. NEWSR LDA XYZ TEST SZA,RSS FOR TST15 JMP NEWS NO TST15 - DO STANDARD TEST RUN LDA BIT15 GET BIT 15 CLB FOR TST15 STA SAVIA SAVE TEST STA SVINA NUMBER JMP STLP1 SET UP TST15 NEWS LDA STDA GET THE STANDARD TEST SET. LDB BIT9 USER TEST JSB SWRT SELECTION? RSS YES! GO GET USER INPUT. JMP STLP GO SAVE TEST SET. OPIN LDA SVINA RETRIEVE PREVIOUS CLB TEST SET. HLT 75B WAIT FOR USER INPUT AND STDA STLP CLB GET STANDARD TEST SET. STA SAVIA SAVE USER STA SVINA INPUT TEST SET. LDB BIT9 CHECK IF SW9 IS DOWN JSB SWRT IS IT? JMP OPIN NO! GO HALT AGAIN. STLP1 CCA YES! SET THE TEST STA TSTN NUMBER TO -1. STA TESTI CLEAR PRESENT TEST. CLA CLEAR STA TSTNN TEST RUN FLAG STLPL LDA SAVIA RESTORE A REG. RAR ROTATE TEST BITS. STA SAVIA SAVE TEST BIT ISZ TSTN MOVE TEST NUMBER UP ONE NOP NEXTL LDA TSTN GET TEST NUMBER. ADA TSTP GET THE TEST SECTION LDA A,I STARTING ADDRESS. CPA M1 IS THIS THE END OF TESTS? JMP EOTL YES! GO TO THE END OF TEST. LDB SAVIA NO! GET TEST INDICATOR. SSB,RSS SHOULD THIS TEST BE RUN? JMP STLPL NO! GO TRY NEXT TEST. STA TSTNN YES! SAVE STARTING ADDRESS. JSB CLCC INSURE INTERFACE IS OFF STF 6 AND DMA STF 7 CLC 0,C TURN OF SYSTEM JSB TRAPC SET TRAP CELLS TO A HALT JSB RDYD1 READY DMA1. JSB RDYD1 READY DMA2. JMP TSTNN,I GO DO TEST TRETN CLC 0,C CLEAR I-O. LDA TSTN GET THE TEST NUMBER. LDB BIT15 CHECK FOR HALT AT END OF TEST JSB SWRT HALT REQUESTED? HLT 76B YES! WAIT FOR OPERATOR. LDA XYZ IS THIS TEST TST15 ? SZA JMP *+4 YES LDB BIT9 CHECK FOR USER SELECTION. JSB SWRT IS USER SELECTION REQUESTED? JMP OPIN YES! GO HALT. LDB BIT13 CHECK FOR LOOP ON TEST SECTION. JSB SWRT LOOP REQUESTED? JMP NEXTL YES! GO DO TEST AGAIN. JMP STLPL NO! DO NEXT TEST. SKP EOTL LDA TSTNN WERE ANY TESTS SZA,RSS RUN? JMP NEWSR NO! GET STANDARD TEST SET. LDA EOTCT UPDATE INA PASS STA EOTCT COUNT. CCE READY FOR CONVERSION. LDB PRNTP GET PASS COUNT ADB B2 ADDRESS. JSB O2AS,I CONVERT IT TO ASCII. JSB MSGCO CALL PRINT ROUTINE PRNTP DEF PSCMS MESSAGE POINTER. LDB BIT12 CHECK FOR LOOP ON DIAG. JSB SWRT LOOP ON DIAGNOSTIC REQUESTED? JMP *+3 YES! BYPASS HLT 77B. LDA EOTCT NO! GET PASS COUNT. HLT 77B AND HALT. CLB LDA SVINA CHECK SSA,RSS FOR JMP STLP STANDARD STA SAVIA RUN STA SVINA OR JMP STLP1 TEST 15 SPC 4 ORG 2000B JMP MAIND GO TO TEST CONTROL. HED TST00 DMA FLAG TEST * TST00 -- TEST ABILITY TO SET AND CLEAR THE DMAq& FLAGS * TST00 CLF 6 CLEAR DMA1 FLAG SFS 6 JMP E000+2 E000 JSB ERMSG DMA1--CLF DID NOT CLR FLG OR SFS DEF EE000 CAUSED SKIP WITH FLG CLR SFC 6 RSS JMP E001+2 E001 JSB ERMSG DMA1--SFC CAUSED NO DEF EE001 SKIP WITH FLG CLR STF 6 SET DMA1 FLAG SFC 6 JMP E002+2 E002 JSB ERMSG DMA1--STF DID NOT SET FLG OR SFC DEF EE002 CAUSED SKIP WITH FLG SET SFS 6 RSS JMP E003+2 E003 JSB ERMSG DMA1--SFS CAUSED NO DEF EE003 SKIP WITH FLG SET CLF 7 CLEAR DMA-2 FLAG SFS 7 JMP E004+2 E004 JSB ERMSG DMA2--CLF DID NOT CLR FLG OR SFS DEF EE004 CAUSED SKIP WITH FLG CLR SFC 7 RSS JMP E005+2 E005 JSB ERMSG DMA2--SFC CAUSED NO DEF EE005 SKIP WITH FLG CLR STF 7 SET DMA2 FLAG SFC 7 JMP E006+2 E006 JSB ERMSG DMA2--STF DID NOT SET FLG OR SFC DEF EE006 CAUSED SKIP WITH FLG SET SFS 7 RSS JMP TRETN E007 JSB ERMSG DMA2--SFS CAUSED NO DEF EE007 SKIP WITH FLG SET JMP TRETN HED TST01 DMA INTERRUPT TEST * TST01 -- INSURE DMA DOESN'T INTERRUPT WITH THE INTERRUPT SYSTEM OFF * TST01 JSB STUF6 PUT RETURN JMP IN THE DEF E010 DMA1 TRAP CELL STC 6 SET DMA1 TO INTERRUPT AS STF 6 IF INT SYS WERE ON. NOP ALLOW TIME FOR INTERRUPT CLC 6,C TURN DMA1 OFF JMP E010+2 DMA1 SHOULD NOT INTERRUPT. JSB FIXMS UPDATE ASC 1,10 ERROR DEF EE010+1 MESSAGE. E010 JSB ERMSG ILLEGAL DMA1 INT DEF EE010 WITH INT SYSTEM OFF. JSB STUF7 PUT A RETURN JMP IN DEF E011 THE DMA2 TRAP CELL. STC 7 SET DMA2 TO INTERRUPT AS STF 7 IF INT SYS WERE ON. NOP ALLOW TIME FOR INTERRUPT CLC 7,C TURN DMA2 OFF JMP E011+2 DMA2 SHOULDN'T INTERRUPT. JSB FIXMS UPDATE ASC 1,11 ERROR DEF EE011+1 MESSAGE. E011 JSB ERMSG ILLEGAL DMA2 INTERRUPT DEF EE011 WITH INT SYSTEM OFF. SKP * -- TEST INTERRUPT CAPABILITY OF DMA * JSB STUF6 SET UP RETURN JMP DEF RTR02 IN DMA1 TRAP CELL. LDA JSBLK UPDATE TRAP CELL TO STA 6 A JSB. STC 6 DMA1 INTERRUPT STF 6 REQUEST. STF 0 ENABLE INT SYSTEM. STC 1 NO INTERRUPTS HERE. NOP DMA1 SHOULD INTERRUPT HERE. JSB FIXMS NO? UPDATE ASC 1,12 ERROR DEF EE012+1 MESSAGE. E012 JSB ERMSG DMA1 DID NOT INTERRUPT DEF EE012 * RET02 JSB STUF7 SET UP RETURN JMP DEF RTX02 IN DMA2 TRAP CELL. LDA JSBLK UPDATE TRAP CELL STA 7 TO A JSB. STC 7 DMA2 INTERRUPT STF 7 REQUEST. STF 0 ENABLE INT SYSTEM. STC 1 NO INTERRUPTS HERE. NOP DMA2 SHOULD INTERRUPT HERE. JSB FIXMS NO? UPDATE ASC 1,15 ERROR DEF EE015+1 MESSAGE. E015 JSB ERMSG DMA2 DID NOT INTERRUPT DEF EE015 JMP TRETN EXIT TEST SECTION. SKP * DMA INTERRUPT ROUTINES * RTR02 NOP DMA1 INTERRUPT SUBROUTINE CLF 0 DISABLE INT SYSTEM. JSB STUF6 SET UP DMA1 TRAP CELL DEF E013 IN CASE IAK DIDN'T WORK. STF 0 TEST INTERRUPT ACKNOWLEDGE. NOP DMA1 SHOULDN'T INTERRUPT. CLC 6,C TURN DMA1 OFF REX02 LDA RTR02 DID INTERRUPT OCCUR AT THE CPA ADDR1 CORRECT MEM LOCATION? JMP RET02 YES! GO CHECK DMA2. JSB FIXMS NO! UPDATE ASC 1,14 ERROR DEZF EE010+1 MESSAGE. LDA RTR02 FORM ACTUAL INTERRUPT ADA M1 LOCATION. LDB ADDR1 FORM EXPECTED ADB M1 INTERRUPT LOCATION. E014 JSB ERMSG DMA1 RETURN ADDR IS INCORRECT DEF EE010 * A=ACTUAL INTERRUPT LOCATION B=EXPECTED JMP RET02 GO DO NEXT TEST. RTX02 NOP DMA2 INTERRUPT SUBROUTINE CLF 0 DISABLE INT SYSTEM. JSB STUF7 SET UP DMA2 TRAP CELL DEF E016 IN CASE IAK DIDN'T WORK. STF 0 TEST INTERRUPT ACKNOWLEDGE. NOP DMA2 SHOULDN'T INTERRUPT. CLC 6,C TURN DMA2 OFF RTE02 LDA RTX02 DID INTERRUPT OCCUR AT THE CPA ADDR2 CORRECT MEM LOCATION? JMP TRETN YES! EXIT TEST SECTION. JSB FIXMS NO! UPDATE ASC 1,17 ERROR DEF EE011+1 MESSAGE. LDA RTX02 FORM ACTUAL ADA M1 INTERRUPT LOCATION. LDB ADDR2 FORM EXPECTED ADB M1 INTERRUPT LOCATION. E017 JSB ERMSG DMA2 RETURN ADDR IS INCORRECT DEF EE011 * A=ACTUAL INTERRUPT LOCATION B=EXPECTED JMP TRETN EXIT TEST SECTION. E013 JSB FIXMS UPDATE ASC 1,13 ERROR DEF EE010+1 MESSAGE. JSB ERMSG DMA1 IAK DID NOT DEF EE010 DISABLE DMA1 INTERRUPTS. JMP REX02 RETURN TO NEXT TEST. E016 JSB FIXMS UPDATE ASC 1,16 ERROR DEF EE011+1 MESSAGE. JSB ERMSG DMA2 IAK DID NOT DEF EE011 DISABLE DMA2 INTERRUPTS. JMP RTE02 RETURN TO NEXT TEST. HED TST02 CONTROL RESET TEST * TST02 -- TEST CONTROL RESET TO DMA * TST02 JSB STUF6 SET UP DMA1 TRAP DEF E020 CELL IN CASE OF ERROR. STC 6 ENABLE DMA1 STF 6 INTERRUPT. CLC 0 SHOULD CLEAR DMA1 CONTROL. STF 0 ENABLE INT SYSTEM. NOP ALLOW TIME FOR INTERRUPT JMP CRSD1 NO INTERRUPT HERE. E020 JSB FIXMS UPDATE ASC 1,20 ERROR DEF EE020+1 RETURN. JSB ERMSG CLC 0 DID NOT CLEAR DEF EE020 DMA1 CONTROL. CRSD1 JSB STUF6 SET UP DMA1 TRAP CELL IN DEF E022 CASE OF AN ERROR. STC 6 ENABLE DMA1 INTERRUPT. CLC 6 CLEAR DMA1 CONTROL. NOP ALLOW TIME FOR INTERRUPT JMP E022+2 NO INTERRUPT HERE. E022 JSB ERMSG CLC 6 DID NOT CLEAR DEF EE022 DMA2 CONTROL. CLC 6,C TURN DMA1 OFF JSB STUF7 SET UP DMA2 TRAP CELL IN DEF E021 CASE OF ERROR. STC 7 ENABLE A DMA2 STF 7 INTERRUPT. CLC 0 SHOULD CLEAR DMA2 CONTROL. STF 0 ENABLE INT SYSTEM. NOP ALLOW TIME FOR INTERRUPT JMP CRSD2 NO INTERRUPT HERE. E021 JSB FIXMS UPDATE ASC 1,21 ERROR DEF EE021+1 MESSAGE. JSB ERMSG CLC 0 DID NOT CLEAR DEF EE021 DMA2 CONTROL. CRSD2 JSB STUF7 SET UP DMA2 TRAP CELL IN DEF E023 CASE OF AN ERROR. STC 7 ENABLE DMA2 INTERRUPT. CLC 7 CLEAR DMA2 CONTROL. NOP ALLOW TIME FOR INTERRUPT JMP E023+2 NO INTERRUPT HERE. E023 JSB ERMSG CLC 7 DID NOT CLEAR DEF EE023 DMA2 CONTROL. CLC 7,C TURN OFF DMA2 CLF 0 TURN OFF INTERRUPTS JMP TRETN EXIT TEST SECTION. HED TST03 PRESET TEST * TST03 -- PRESET TEST * TST03 LDB BT812 SUPPRESS JSB SWRT PRESET TEST? JMP TRETN YES! EXIT TEST SECTION. CLF 6 CLEAR DMA1 AND DMA2 CLF 7 FLAGS FOR PRESET TEST. JSB MSGCO PRINT PRESET DEF PRSET MESSAGE. JSB DEBON DEBOUNCE SW.REG. OCT 107024 PRESS PRESET THEN PRESS RUN. SFC 6 PRESET SET DMA1 FLAG? JMP E024+2 YES! CHECK DMA2. E024 ZJSB ERMSG NO! REPORT ERROR. DEF EE024 PRESET DIDN'T SET DMA1 FLAG. SFC 7 PRESET SET DMA2 FLAG? JMP TRETN YES! EXIT TEST SECTION. E025 JSB ERMSG NO! REPORT ERROR. DEF EE025 PRESET DIDN'T SET DMA2 FLAG. JMP TRETN EXIT TEST SECTION. HED TST04 PRIORITY TEST * TST04 -- PRIORITY TEST * TST04 LDA CLF0 PUT A CLF0 IN STA 6 THE DMA1 TRAP CELL. JSB STUF7 SET UP AN ERROR RETURN DEF E026 JMP IN THE DMA2 TRAP CELL. STF 6 ENABLE INTERRUPTS STF 7 FOR STC 6 DMA1 AND STC 7 DMA2. STF 0 INT SYSTEM ON. NOP ALLOW TIME FOR INTERRUPT JMP NXPT1 DMA1 SHOULD INT HERE. E026 JSB FIXMS NO? UPDATE ASC 1,26 ERROR DEF EE026+1 MESSAGE. JSB ERMSG DMA2 TOOK PRIORITY OVER DMA1 DEF EE026 NXPT1 LDA CLF0 PUT A CLF0 IN THE STA 7 DMA2 TRAP CELL. JSB STUFI SET UP AN ERROR RETURN DEF E027 JMP IN THE I-O TRAP CELL. JSB STF ENABLE AN I-O JSB STC INTERRUPT. CLF 6 ENABLE DMA2 INT. STF 0 INT SYSTEM ON. NOP ALLOW TIME FOR INTERRUPT JMP NXPT2 DMA2 SHOULD INT HERE. E027 JSB FIXMS NO? UPDATE ASC 1,27 ERROR DEF EE026+1 MESSAGE. JSB ERMSG I/O SC TOOK PRIORITY OVER DMA2 DEF EE026 SKP NXPT2 JSB TRAPC INITIALIZE TRAP CELLS. CLF 7 ENABLE I-O PRIORITY. LDA CLF0 PUT A CLF0 IN THE STA 6 DMA1 TRAP CELL. JSB STUFI SET UP AN ERROR RETURN DEF E030 IN THE I-O TRAP CELL. STF 6 ENABLE A DMA1 INTERRUPT. STF 0 INT SYSTEM ON. JMP NXPT3 DMA1 SHOULD INT HERE. E030 JSB FIXMS NO? UPDATE ASC 1,30 ERROR DEF EE026+1  MESSAGE. JSB ERMSG I/O SC TOOK PRIORITY OVER DMA1 DEF EE026 NXPT3 JSB STUFI SET UP AN ERROR RETURN DEF E031 IN THE I-O TRAP CELL. JSB RDYD1 READY DMA1. CLC 7,C SHUT OFF CHANNEL TWO. STF 0 ENABLE INT SYSTEM. STC 6,C START TRANSFER. JMP NXPT4 DMA CYCLE SHOULD HOLD OFF I-O. E031 JSB FIXMS NO? UPDATE ASC 1,31 ERROR DEF EE026+1 MESSAGE. JSB ERMSG DMA DID NOT INHIBIT I/O INT DEF EE026 NXPT4 JMP TRETN EXIT TEST SECTION. HED TST05 - TEST WORD COUNT REGISTERS * TST05 -- TESTS ABILITY TO SET AND READ * THE WORD COUNT REGISTERS * TST05 CLA START WITH WORD COUNT=0 WC1 STC 2 READY WCR1. STC 3 READY WCR2. OTA 2 OUTPUT PATTERN TO WCR1 OTA 3 AND WCR2. STA DAOUT SAVE PATTERN. LIB 2 GET WCR1 CONTENTS. CPA B WCR1 AS EXPECTED? JMP E033+2 YES! DO NEXT PATTERN. DST SVRES NO! SAVE RESULTS. JSB PDATA READY ERROR MESSAGE. JSB FIXMS UPDATE ASC 1,33 ERROR DEF EE033+1 MESSAGE. E033 JSB FIX33 REPORT BAD WCR1. * A=EXPECTED WCR1 CONTENTS * B=ACTUAL WCR1 CONTENTS LDA DAOUT RESTORE PATTERN. LIB 3 GET WCR2 CONTENTS. CPA B IS WCR2 AS EXPECTED? JMP E034+2 YES! DO NEXT PATTERN. DST SVRES NO! SAVE RESULTS. JSB PDATA READY ERROR MESSAGE. JSB FIXMS UPDATE ASC 1,34 ERROR DEF EE033+1 MESSAGE. E034 JSB FIX34 REPORT BAD WCR2. * A=EXPECTED WCR2 CONTENTS * B=ACTUAL WCR2 CONTENTS LDA DAOUT RESTORE PATTERN. INA,SZA UPDATE PATTERN. FINISHED? JMP WC1 NO! DO NEXT PATTERN. SKP * * -- CHECK CRS CLEARS CONTROL FF TO WCR *  STC 2 READY WCR1. STC 3 READY WCR2. OTA 2 SET WCR1 TO ZERO OTA 3 SET WCR2 TO ZERO. CLC 0 SHOULD CLEAR CTL FF'S TO WCRS. CCA SHOULD NOT BE ABLE OTA 2 TO CHANGE WCR1 OTA 3 OR WCR2. LIA 2 INPUT WCR1 CONTENTS. SZA,RSS IS WCR1 CHANGED? JMP E035+2 NO! TEST WCR2. JSB FIXMS YES! UPDATE ASC 1,35 ERROR DEF EE020+1 MESSAGE. E035 JSB ERMSG CRS DID NOT CLEAR WCR1 DEF EE020 CONTROL FF. LIA 3 GET WCR2 CONTENTS. SZA,RSS WAS WCR2 CHANGED? JMP TRETN NO! EXIT TEST SECTION. JSB FIXMS YES! UPDATE ASC 1,36 ERROR DEF EE021+1 MESSAGE. E036 JSB ERMSG CRS DID NOT CLEAR WCR2 DEF EE021 CONTROL FF. JMP TRETN EXIT TEST SECTION. HED TST06 - TEST WORD COUNT ROLLOVER * TST06 -- THIS TEST CHECKS THE WORD COUNT ROLLOVER * BY SETTING THE WORD COUNT TO -1 AND * FORCING A TRANSFER. * TST06 JSB STUFI SET UP ERROR RETURN DEF E037 IN CASE I-O INTERRUPTS. JSB STUF6 SETUP RETURN JMP IN DEF RTN1 THE DMA1 TRAP CELL. LIA 3 GET WCR2. STA SAVWC SAVE IT. JSB RDYD1 READY DMA1. STF 0 ENABLE INT SYSTEM. STC 6,C TURN ON DMA1. JSB STCC DMA1 SHOULD INTERRUPT HERE. NOP ALLOW TIME FOR INTERRUPT E037 JSB FIXMS NO? UPDATE ASC 1,37 ERROR DEF EE012+1 MESSAGE. JSB ERMSG DMA1 DID NOT INTERRUPT AFTER XFR DEF EE012 RET07 JSB TRAPC INITIALIZE TRAP CELLS. CLC 6,C TURN OFF DMA1 JSB STUFI SET UP ERROR RETURN DEF E040 IN CASE I-O INTERRUPTS. JSB STUF7 SETUP RETURN JMP IN DEF RTN2 THE DMA2 TRAP CELL. LIA 2 TRN SAVE INITIAL STA SAVWC WCR1. JSB RDYD2 READY DMA2. STF 0 TURN ON INTERRUPT SYSTEM. STC 7,C TURN ON DMA2. JSB STCC DMA2 SHOULD INTERRUPT HERE. NOP ALLOW TIME FOR INTERRUPT E040 JSB FIXMS NO? UPDATE ASC 1,40 ERROR DEF EE015+1 MESSAGE. JSB ERMSG DMA2 DID NOT INTERRUPT AFTER XFR DEF EE015 CLC 7,C TURN OFF DMA2 JMP TRETN EXIT TEST SECTION SKP RTN1 CLF 0 TURN OFF INTERRUPTS LIA 3 GET WCR2. CPA SAVWC WAS IT ALTERED BY DMA1? JMP *+3 NO! CONTINUE. E105 JSB ERMSG YES! REPORT ERROR. DEF EE105 DMA1 ALTERED WCR2. LIA 2 GET WCR1 CONTENTS. SZA,RSS IS IT ZERO? JMP RET07 YES! RETURN TO NEXT TEST. E041 JSB ERMSG WCR1 WAS NOT ZERO DEF EE041 AFTER ROLLOVER. * A=ACTUAL WCR1 CONTENTS JMP RET07 DO NEXT TEST. SPC 2 RTN2 CLF 0 TURN OFF INTERRUPT LIA 2 GET WCR1. CPA SAVWC WAS WCR1 ALTERED BY DMA2? JMP *+3 NO! CONTINUE. E106 JSB ERMSG YES! REPORT ERROR. DEF EE106 DMA2 ALTERED WCR1. LIA 3 GET WCR2 CONTENTS. SZA,RSS IS IT ZERO? JMP *+3 YES! EXIT TEST SECTION. E042 JSB ERMSG WCR2 WAS NOT ZERO DEF EE042 AFTER ROLLOVER. * A=ACTUAL WCR2 CONTENTS CLC 7,C TURN OFF DMA2 JMP TRETN EXIT TEST SECTION. T  24322-18008 1705 S 0122 DG-DMA/DCPC              H0101  HED TST07 - TEST THE STC DECISION FLIP-FLOP * TST07 -- CHECKS THE STC DECISION FF * TST07 JSB TSTC1 CHECK DMA1 STC. SFS 0 DID I-O INTERRUPT? JMP E043+2 YES! DO NEXT TEST. JSB FIXMS NO! UPDATE ASC 1,43 ERROR DEF EE043+1 MESSAGE. E043 JSB ERMSG DMA1--BIT 15 OF CTL WRD=1 BUT DEF EE043 I/O CTL NOT SET AFTER XFR CLF 0 TURN OFF INT SYSTEM. JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2 JSB CLCC CLC ON I-O SC. LDA USRSC CHANGE CTL WRD TO NO STC DURING XFER. OTA 6 OUTPUT TO DMA1. IOR BIT15 TRY TO CHANGE DMA1 BY OTA 7 CHANGING DMA2. STC 6,C TURN ON DMA1. CLC 6 CLR DMA CTL TO AVOID DMA INT. JSB STF SET I/O FLAG. STF 0 ENABLE INT. IF I-O CTL IS CLEAR, NOP NO INT WILL OCCUR SFC 0 DID I-O INTERRUPT OCCUR? JMP E044+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,44 ERROR DEF EE043+1 MESSAGE. E044 JSB ERMSG DMA1--BIT 15 OF CTL WRD=0 BUT DEF EE043 I/O CTL SET AFTER XFR SKP CLF 0 TURN OFF INTERRUPT SYSTEM JSB RDYD1 READY DMA1 JSB RDYD2 READY DMA2. JSB TSTC2 CHECK DMA2 STC. SFS 0 DID I-O INTERRUPT? JMP E045+2 YES! DO NEXT TEST. JSB FIXMS NO! UPDATE ASC 1,45 ERROR DEF EE045+1 MESSAGE. E045 JSB ERMSG DMA2--BIT 15 OF CTL WRD=1 BUT DEF EE045 I/O CTL NOT SET AFTER XFR CLF 0 TURN OFF INT SYSTEM. JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. JSB CLCC CLC ON I-O SC. LDA USRSC CHANGE CTL WORD TO NO STC OTA 7 DURING XFER. IOR BIT15 TRY TO CHANGE DMA2 BY OTA 6 CHANGING DMA1. STC 7,C TURN ON DMA2. CLC 7 DISABLE DMA2 INTERRUPTS. JSB STF SET I-O FLAG FF. STF 0 ENABLE INT SYS. IF I-O CTL IS NOP CLEAR, NO INT WILL OCCUR. SFC 0 DID I-O INTERRUPT OCCUR? JMP TRETN NO! EXIT TEST SECTION. JSB FIXMS YES! UPDATE ASC 1,46 ERROR DEF EE045+1 MESSAGE. E046 JSB ERMSG DMA2--BIT 15 OF CTL WRD=0 BUT DEF EE045 I/O CTL SET AFTER XFR JMP TRETN EXIT TEST SECTION. HED TST08 - TEST THE CLC DECISION FLIP-FLOP * TST08 -- CHECKS THE CLC DECISION FF * TST08 LDA CLF0 PUT A CLF0 IN THE STA USRSC,I I-O TRAP CELL. LDA USRSC CHANGE CONTROL WORD TO CLC IOR BIT13 SET AND STC CLEAR. JSB TCLC1 CHECK DMA1 CLC. SFC 0 DID I-O INTERRUPT? JMP E047+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,47 ERROR DEF EE047+1 MESSAGE. E047 JSB ERMSG DMA1--BIT 13 OF CTL WRD=1 BUT DEF EE047 I/O CTL SET AFTER XFR CLF 0 TURN OFF INTERRUPTS JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. LDA BIT15 CHANGE CTL WORD TO STC IOR USRSC SET, CLC NOT SET. JSB TCLC1 CHECK DMA1 CLC. SFS 0 DID I-O INTERRUPT. JMP E050+2 YES! DO NEXT TEST. JSB FIXMS NO! UPDATE ASC 1,50 ERROR DEF EE047+1 MESSAGE. E050 JSB ERMSG DMA1--BIT 13 OF CTL WRD=0 BUT DEF EE047 I/O CTL NOT SET AFTER XFR CLF 0 TURN OFF INTERRUPTS JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. LDA USRSC SET CTL WORD TO CLC IOR BIT13 AFTER TRANSFER. JSB TCLC2 CHECK DMA2 CLC. SFC 0 DID I-O INTERRUPT? JMP E051+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,51  ERROR DEF EE051+1 MESSAGE. E051 JSB ERMSG DMA2--BIT 13 OF CTL WRD=1 BUT DEF EE051 I/O CTL SET AFTER XFR CLF 0 TURN OFF INTERRUPTS JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. LDA BIT15 SET CTL WORD TO STC AND IOR USRSC NO CLC AFTER XFER. JSB TCLC2 CHECK DMA2 CLC. SFS 0 DID I-O INTERRUPT? JMP TRETN YES! EXIT TEST SECTION. JSB FIXMS NO! UPDATE ASC 1,52 ERROR DEF EE051+1 MESSAGE. E052 JSB ERMSG DMA2--BIT 13 OF CTL WRD=0 BUT DEF EE051 I/O CTL NOT SET AFTER XFR JMP TRETN EXIT TEST SECTION. HED TST09 - TESTS 'CLF I/O' CTL FUNCTION & STF 6,7 * TST09 -- CHECKS THE DMA CLF CONTROL FUNCTION AND * STF 6 AND STF 7 ABILITY TO STOP TRANSFERS. * TST09 JSB STF SET I-O FLAG FF. JSB RDYD1 READY DMA1. LDA USRSC DON'T DO STC OR CLC OTA 6 STC 6,C TURN ON DMA1. JSB SFS DID DMA1 CLF CLEAR I-O FLAG? JMP E053+2 YES! DO NEXT TEST. E053 JSB ERMSG I/O FLAG NOT CLR AFTER DMA1 XFER DEF EE053 JSB STF SET I-O FLAG. JSB RDYD2 READY DMA2. LDA USRSC DON'T DO STC OR CLC OTA 7 STC 7,C TURN ON DMA2. JSB SFS DID DMA2 CLEAR I-O FLAG FF? JMP E054+2 YES! DO NEXT TEST. E054 JSB ERMSG I/O FLG NOT CLR AFTER DMA2 XFR DEF EE054 * * -- TESTS ABILITY TO TURN DMA OFF * BY SETTING THE DMA FLAGS * JSB CLCC TURN OFF INTERFACE JSB RDYD1 READY DMA1. STC 6,C START TRANSFER. STF 6 TURN OFF DMA1. JSB STF ATTEMPT TO COMPLETE TRANSFER. INB,SZB WAIT A COUPLE JMP *-1 OF CYCLES. LIA 2 INPUT WORD COUNT. SZA DID STF 6 STOP TRANSFER? JMP E055+2 YES! DO NEXT TEST. E055 JSB ERMSu+G STF 6 DID NOT TURN OFF DMA1 DEF EE055 JSB CLCC CLEAR I-O FLAG. JSB RDYD2 READY DMA2. STC 7,C START TRANSFER. STF 7 STOP TRANSFER. JSB STF TRY TO COMPLETE TRANSFER. INB,SZB WAIT A COUPLE JMP *-1 OF CYCLES. LIA 3 GET WCR2 CONTENTS. SZA DID STF 7 STOP DMA2 TRANSFER? JMP TRETN YES! EXIT TEST SECTION. E056 JSB ERMSG STF 7 DID NOT TURN OFF DMA2 DEF EE056 JMP TRETN EXIT TEST SECTION. HED TST10 ILLEGAL SELECT CODE TEST * TST10 -- CHECKS FOR AN ILLEGAL DMA DECODE OF * SELECT CODE 2,3,6 AND 7. * TST10 LDA THLTX PUT A STC 2 PATTERN STC 3 IN BOTH OTA 2 WORD LDA NB77 COUNT OTA 3 REGISTERS. CLB INITIALIZE TEST SC TO 0. SCLOP LDA LIAXX GET LIA INSTRUCTION. AND NB77 STRIP AWAY OLD SC. IOR B MERGE IN NEW SC. STA LIAXX PUT NEW LIA IN LINE. LIAXX LIA 0 EXECUTE ILLEGAL LIA XX. CPA THLTX DID LIA READ SC 2? RSS YES! REPORT ERROR. JMP E032+2 NO! DO NEXT SC. JSB FIXMS UPDATE ASC 1,32 ERROR DEF EE032+1 MESSAGE. LDA LIAXX GET ILLEGAL LIA. E032 JSB ERMSG ILLEGAL LIA 2 DEF EE032 * A=INSTRUCTION THAT ACTED LIKE A LIA 2. CPA NB77 DID ILLEGAL LIA 3 OCCUR? RSS YES! REPORT ERROR. JMP NXTSC NO! TEST NEXT SC. JSB FIXMS UPDATE ASC 1,67 ERROR DEF EE032+1 MESSAGE. LDA LIAXX GET ILLEGAL LIA. E067 JSB ERMSG ILLEGAL LIA 3 DEF EE032 * A=INSTRUCTION THAT ACTED LIKE A LIA 3 NXTSC INB UPDATE SC. CPB B2 IS THIS SC 2? ADB B2 YES! SKIP TO SC 4. CPB B100 LAST SC TESTED? RSS YES! DO NEXT TEST. JMP SCLOP NO! DO NEXT SC. SKP * ---- TEST SELECT CODE DECODE OF SELECT * CODES 6 AND 7. * CLB INITIALIZE SC TO 0. STF 6 SET THE FLAG FF ON STF 7 DMA1 AND DMA2. MALOP LDA CLFXX GET A CLF INSTRUCTION. AND NB77 STRIP AWAY OLD SC. IOR B MERGE IN NEW SC. STA CLFXX PUT ILLEGAL CLF IN LINE. CLFXX CLF 0 EXECUTE ILLEGAL CLF X. SFC 6 DID DMA1 FLAG GET CLEARED? JMP E057+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,57 ERROR DEF EE032+1 MESSAGE. LDA CLFXX GET ILLEGAL CLF INST. E057 JSB ERMSG DMA1 FLAG CLEARED BY AN DEF EE032 ILLEGAL CLF XX. * A= INSTRUCTION THAT ACTED LIKE A CLF 6 SFC 7 DID DMA2 FLAG GET CLEARED? JMP E060+2 NO! DO NEXT SC. JSB FIXMS YES! UPDATE ASC 1,60 ERROR DEF EE032+1 MESSAGE. LDA CLFXX GET ILLEGAL CLF INST. E060 JSB ERMSG DMA2 FLAG CLEARED BY AN DEF EE032 ILLEGAL CLF XX. * A=INSTRUCTION THAT ACTED LIKE A CLF 7 INB UPDATE SC. CPB B6 IS THIS SC 6? ADB B2 YES! SKIP TO SC 10. CPB B100 LAST SC TESTED? JMP TRETN YES! EXIT TEST SECTION. JMP MALOP NO! GO DO NEXT SC. HED TST11 WCR COUNT UP TEST * TST11 -- CHECKS THE ABILITY OF THE WORD COUNT REGISTERS * TO INCREMENT FROM 0 TO 177777B. * TST11 CLB READY INITIAL WCR1 SETTING. LARL1 STB PADDR SAVE TEST DATA. LDA M2 SAVE -2 IN STA NULL THE COUNTER. DOLOP LDB PADDR GET WCR1 TEST VALUE. LDA ANULL GET DUMMY ADDRESS. JSB OUT1 INITIALIZE DMA1 OUTPUT XFER. LDA CNTLW CHANGE CONTROL XOR BIT15 TO IOR USRSC NO OTA 6 STC. JSB CLCC p CLEAR I-O. JSB STF SET I-O FLAG FF. STC 6,C TURN ON DMA1. INB UPDATE TO 1 XFER+WCR1. STB DAOUT SAVE EXPECTED WCR1. STF 6 TURN OFF DMA1. LIB 2 GET ACTUAL WCR1. LDA DAOUT RESTORE EXPECTED WCR1. CPA B 2 XFERS OCCUR? JMP E061+2 YES! SKIP ERROR REPORT. DST SVRES NO! SAVE RESULTS. JSB PDATA SAVE ERROR DATA. JSB FIXMS UPDATE ASC 1,61 ERROR DEF EE033+1 MESSAGE. E061 JSB FIX33 E061 BAD WCR1 AFTER 2 XFERS. * A=EXPECTED WCR1 CONTENTS. * B=ACTUAL WCR1 CONTENTS. JMP NXWP1 CONTINUE TESTING. ISZ NULL 2 PASSES COMPLETED? JMP DOLOP NO! TRY PATTERN AGAIN. NXWP1 LDB DAOUT YES! UPDATE TO NEXT WCR1. CPB M1 LAST PATTERN CHECKED? RSS YES! DO DMA2 TEST. JMP LARL1 NO! DO NEXT PATTERN. SKP CLB READY INITIAL WCR2 SETTING. LARL2 STB PADDR SAVE WCR2 TEST PATTERN. LDA M2 SET COUNTER STA NULL TO -2. DOLP2 LDB PADDR GET WCR2 TEST ADDRESS. LDA ANULL GET DUMMY XFER ADDRESS. JSB OUT2 INITIALIZE DMA2 OUTPUT. LDA CNTLW CHANGE CONTROL XOR BIT15 TO IOR USRSC NO OTA 7 STC. JSB CLCC CLEAR I-O. JSB STF SET I-O FLAG FF. STC 7,C TURN ON DMA2. INB FORM AND SAVE STB DAOUT EXPECTED WCR2. STF 7 TURN OFF DMA2. LIB 3 GET ACTUAL WCR2. LDA DAOUT RESTORE EXPECTED WCR2. CPA B 2 XFERS OCCUR? JMP E062+2 YES! SKIP ERROR REPORT. DST SVRES NO! SAVE RESULTS. JSB PDATA READY ERROR DATA. JSB FIXMS UPDATE ASC 1,62 ERROR DEF EE033+1 MESSAGE. E062 JSB FIX34 E062 BAD WCR2 AFTER 2 XFERS. * A=EXPECTED WCR2 CONTENTS * B=ACTUAL WCR2 CONTENTS JMP NXWP2 CONTINUE TESTING. ISZ NULL 2 PASSES COMPLETED? JMP DOLP2 NO! EXECUTE ADDRESS AGAIN. NXWP2 LDB DAOUT YES! UPDATE TO NEXT WCR2. CPB M1 LAST PATTERN CHECKED? JMP TRETN YES! EXIT TEST SECTION. JMP LARL2 NO! DO NEXT PATTERN. HED TST12 MAR COUNT UP TEST * TST12 -- CHECKS THE ABILITY OF THE DMA MEMORY ADDRESS * REGISTERS TO INCREMENT FROM 2 TO 77777. * TST12 LDA B2 SET INITIAL MAR TEST VALUE. STA PADDR SAVE MAR TEST VALUE. JSB CLCC INSURE INTERFACE IS OFF. LDB CNT12 SET 32K-2 WORD TRANSFER. JSB OUT1 INITIALIZE DMA1 OUTPUT. LDA USRSC DON'T DO STC OR CLC AT END OF TRANSFER OTA 6 STC 6,C TURN ON DMA1. CLE SET FOR FIRST TRANSFER. LOPIM JSB STC TRANSFER ONE WORD. NOP LDB PADDR CHECK IF POINTER CPB CKPAD JMP GOOD1 SEZ,CME,RSS FIRST TRANSFER? JMP LOPIM YES SKIP CHECK LIAX1 LIA CH GET I-O INPUT BUFFER. LDB PADDR,I GET EXPECTED DATA. JSB FIXDT GO MASK DATA. CPA B XFER VALID DATA? JMP GOOD1 YES! DO NEXT TEST. STB EXPDA SAVE EXPECTED DATA. STA DAIN NO! SAVE ACTUAL DATA. JSB FIXMS UPDATE ASC 1,63 THE DEF EE063+1 ERROR JSB FIXMS MESSAGE ASC 1,A1 TO DEF EE063+4 DMA1 JSB SETOT OUTPUT. E063 JSB PXDAT E063 DMA1 OUTPUT XFER ERROR. * A=TRANSFER ADDRESS * B=ACTUAL DATA TRANSFERRED GOOD1 LDA PADDR GET TEST ADDRESS. ISZ PADDR MOVE TO NEXT ADDRESS. CCE SET FOR ONE WORD TRANSFER. CPA STDA LAST ADDRESS TESTED? JMP MART2 YES! CHECK DMA2 MAR. JMP LOPIM NO! DO ADDR AGAIN. SKP MART2 LDA B2 SET UP INITIAL MAR2 TEST VALUE. STA PADDR SAVE MAR2 TEST ADDR. JSB CLCC INSURE INTERFACE IS OFF. LDB CNT12 SET 2 WORD TRANSFER. JSB OUT2 INITIALIZE DMA2 OUTPUT. LDA USRSC DON'T DO STC OR CLC AT END OF TRANSFER OTA 7 STC 7,C TURN ON DMA2. CLE SET FOR FIRST TRANSFER. MARI2 JSB STC START TRANSFER. NOP LDB PADDR CHECK IF POINTER? CPB CKPAD JMP GOOD2 YES SKIP CHECK SEZ,CME,RSS FIRST TRANSFER? JMP MARI2 YES LIAX2 LIA CH GET TRANSFERRED DATA? LDB PADDR,I GET EXPECTED DATA? JSB FIXDT GO MASK DATA. CPA B XFER VALID. JMP GOOD2 YES! SKIP ERROR REPORT. STB EXPDA SAVE EXPECTED DATA STA DAIN NO! SAVE ACTUAL DATA. JSB FIXMS UPDATE ASC 1,64 THE DEF EE063+1 ERROR JSB FIXMS MESSAGE ASC 1,A2 TO DEF EE063+4 DMA2 JSB SETOT OUTPUT. E064 JSB PXDAT E064 DMA2 OUTPUT XFER ERROR. * A=TRANSFER ADDRESS * B=ACTUAL DATA TRANSFERRED GOOD2 LDA PADDR GET TEST ADDRESS. ISZ PADDR MOVE TO NEXT ADDRESS CCE SET FOR NEXT WORD CPA STDA LAST ADDRESS? JMP TRETN YES! EXIT TEST SECTION. JMP MARI2 TRY NEXT ADDRESS. HED TST13 DMA IN TEST * TST13 -- TESTS THE ABILITY OF DMA TO EXECUTE INPUT TRANSFERS. * TST13 JSB RDYXF READY TRANSFER. JSB OUT1 INITIALIZE DMA1 INPUT. JSB RDYIO READY I-O. STC 6,C TURN ON DMA1. LDA NULL GET FIRST XFER ADDR DATA. LDB PATT1 GET EXPECTED DATA. CHKPT JSB FIXDT GO MASK DATA. STB DAIN SAVE EXPECTED DATA CPA B TRANSFER VALID? JMP E065+1 YES! SKIP ERROR. JSB FIXMS NO! UPDATE ASC 1,65 THE DEF EE063+1  ERROR JSB FIXMS MESSAGE ASC 1,A1 TO DEF EE063+4 DMA1 JSB SETIN INPUT. E065 JSB PXDT2 REPORT BAD INPUT XFER. * A=TRANSFER ADDRESS * B=EXPECTED DATA ISZ CNTR SECOND WORD CHECKED YET? RSS NO! GO CHECK IT. JMP MARIN YES! GO CHECK DMA2. ISZ PADDR UPDATE TEST PATTERN PNTR. LDA NULL+1 GET SECOND XFER ADDR DATA. LDB PATT2 GET SECOND PATTERN. JMP CHKPT GO CHECK IT. SKP MARIN JSB RDYXF READY TRANSFER. JSB OUT2 INITIALIZE DMA2 INPUT. JSB RDYIO READY I-O. STC 7,C TURN ON DMA2. LDA NULL GET FIRST XFER ADDR DATA LDB PATT1 GET EXPECTED DATA. CHKPN JSB FIXDT GO MASK DATA. STB DAIN SAVE EXPECTED DATA CPA B TRANSFER VALID? JMP E066+1 YES! SKIP ERROR REPORT. JSB FIXMS NO! UPDATE ASC 1,66 THE DEF EE063+1 ERROR JSB FIXMS MESSAGE ASC 1,A2 TO DEF EE063+4 DMA2 JSB SETIN INPUT. E066 JSB PXDT2 REPORT BAD DMA2 IN XFER. * A=TRANSFER ADDRESS * B=EXPECTED DATA ISZ CNTR SECOND XFER CHECKED? RSS NO! GO CHECK IT. JMP TRETN YES! EXIT TEST SECTION. ISZ PADDR UPDATE TEST PATTERN POINTER. LDA NULL+1 GET EXPECTED PATTERN. LDB PATT2 GET SECOND TEST PATTERN. JMP CHKPN GO CHECK SECOND XFER. HED TST14 STC,CLF AND OVERRIDE TEST * TST14 TESTS NO STC OR CLF OCCURS ON THE LAST DMA INPUT XFER * AND DMA1 CYCLES OVERRIDE DMA2 CYCLES. * TST14 CLC 0,C CLEAR I-O. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 INPUT XFER. JSB OUT1 READY DMA1 IN. JSB TSTC1 CHECK DMA1 STC. SFC 0 p STC OCCUR? JMP E100+2 NO! SKIP ERROR. E100 JSB ERMSG E100 ILLEGAL STC ON DEF EE100 LAST DMA1 INPUT XFER. CLC 0,C CLEAR I-O. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 INPUT XFER. JSB OUT2 READY DMA2 IN. JSB TSTC2 CHECK DMA2 STC. SFC 0 STC OCCUR? JMP E101+2 NO! SKIP ERROR. E101 JSB ERMSG E101 ILLEGAL STC ON LAST DEF EE101 DMA2 INPUT XFER. JSB STF SET I-O FLAG FF. CLF 0 TURN OFF INT SYSTEM. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 FORM INPUT ADDR. JSB OUT1 READY DMA1 IN. STC 6,C TURN ON DMA1. JSB SFS DMA1 CLF OCCUR? RSS YES! REPORT ERROR. JMP E102+2 NO! SKIP ERROR. E102 JSB ERMSG E102 ILLEGAL CLF ON LAST DEF EE102 DMA1 INPUT XFER. JSB STF SET I-O FLAG FF. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 FORM INPUT ADDR. JSB OUT2 READY DMA2. STC 7,C TURN ON DMA2. JSB SFS DMA2 CLF OCCUR? RSS YES! REPORT ERROR. JMP IOX1 NO! SKIP ERROR. E103 JSB ERMSG E103 ILLEGAL CLF ON LAST DEF EE103 DMA2 INPUT XFER. SKP IOX1 CLF CH CLEAR I-O FLAG FF. LDB M2 WORD COUNT=-2. LDA ANULL XFER ADDR. JSB OUT1 READY DMA1 OUT. LDA NULL SAVE EXPECTED STA SVRES TRANSFER ADDRESS CONTENTS. LDA ANULL XFER ADDR. IOR BIT15 FORM INPUT ADDR. JSB OUT2 READY DMA2 IN. STC 6,C TURN ON DMA1 OUT. STC 7,C TURN ON DMA2 IN. JSB STF SET I-O FLAG FF. STF 6 TURN OFF DMA1. STF 7 TURN OFF DMA2. LDA NULL GET XFER ADDR CONTENTS. CPA SVRES WAS INPUT XFER ALLOWED? JMP TRETN NO! EXIT TEST SECTION. E104 JSB ERMSG E104 DMA1 DID NOT OVERRIDE DEF EE104 DMA2 CYCLE. JMP TRETN EXIT TEST SECTION. HED DUAL CH DMA BLOCK TRANSFER TEST * TEST 15 IS AN APPENDIX ADDED TO THE DMA TEST. TEST 15 IS NOT * PART OF THE STANDARD TEST RUN. THIS TEST REQUIRES TWO UI CARDS * WITH A SPECIAL TEST CONNECTOR AS DESCRIBED IN THE MOD. * SEE FIGURE A-1 AND A-2.. * * * TO RUN SET: * * P-REG TO 100B. * S-REG WITH SELECT CODES: * SC1 IN BITS 5-0 * SC2 IN BITS 9-6 * PRESS PRESET RUN * WAIT FOR HALT 74B * S-REG WITH PROGRAM OPTIONS * PRESS RUN * HALT 77B FOR COMPLETION * * * 12930 PROGRAMMABLE SWITCHES * * 85S1-2 97S1-2 106S1-1 * S2-5 S2-5 S2-5 * S3-10(0) S3-10(0) S3-9 * * 87S1-1 102S1-2 * S2-4 S2-7 * S3-8 S3-10(0) * * NOTE: THE PROGRAMMABLE SWITCHES ARE SET USING A SCREWDRIVER * TO POSITION THE CONTACT MECHANISM. SEE FIGURE A-3 * IN MOD FOR SWITCH LOCATION AND SWITCH POSITIONS. * * THE SWITCH SETTING SHOWN ABOVE ARE FOR TEST 15 USING * TWO UI CARDS WITH SPECIAL TEST CONNECTOR DESCRIBED IN * THE MOD.. SKP TST15 NOP CLC 0,C CLEAR I-O CLC 6 CLEAR CLC 7 DMA 1 & 2 LDA ASC6 SET UP MESSAGE JSB SMSG FOR DMA-6 LDA FWAM FIRST WORD OF AVBL. MEMORY LDB LWAM LAST WORD OF AVBL. MEMORY CMA,INA MAKE 2'S COMP ADA B SUBTRUCT FWAM FROM LWAM ARS DIVIDE BUF AREA IN HALF NOP DEBUG STA BUF SAVE BUF SIZE ISZ BUF ADD 1 TO BUF ADDR CMA,INA 2'S COMP INA SUBTRACT 1 STA WCNT WORD COUNT FOR DMA TRANSFER LDA BUF GET ADDRESS ADA FWAM FOR BUF2 STA BUF AND STORE LDA M2 -2 STA CNTX SET COUNTER NOP DEBUG L1 LDA WCNT NUMBER OF WORDS STA CNT TO BE TRANSFERED JSB PATX GENERATE PATTERN IN BUFFER CH2 CLC CHA,C CLEAR CONTROL AND CH3 CLC CHB,C FLAG ON I-O JSB DMAO INITIALIZE DMA FOR OUT JSB DMAI INITIALIZE DMA FOR INPUT STC 6,C START DMA CH1 STC 7,C START DMA CH2 NOP DEBUG CLA CLEAR FOR CPU CYCLE COUNT CH1 STC CHB,C START I-O CH L8 NOP FOUR INSTR SFC 6 LOOP FOR JMP L6 21MX-E INA,SZA CPU JMP L8 CYCLE COUNT LIB 2 DMA DID'NT COMPLETE JSB ERR2 REPORT ERR JMP L4 SKIP DMA FLAG 6 TEST L6 STA TST14 STORE CPU CYCLES NOP DEBUG LIB 2 READ DMA WC REG SZB IS DMA WC COMPLETE ? JSB ERR1 REPORT ERR NOP DEBUG LDB 115B CHECK IF SSB,RSS 21MX-E JMP *+3 NO - NOT MX SERIES BLF,SLB IS IT "E" ? JMP L10 YES "E" NOP DEBUG LDB WCNT ALLOW CMB ONLY ADA B ONE CPU CYCLE JMP L9 FOR 2100-21MX-M L10 NOP DEBUG ALS,ALS MULTIPLY CPU COUNTS BY FOUR L9 ADA WCNT ADD NEGATIVE WC VALUE SSA ERR IS COUNT = POSTIVE VALUE JMP L4 OK JSB ERMSG REPORT ERR DEF EE117 L4 NOP DEBUG LDA ASC7 SET UP MESSAGE JSB SMSG FOR DMA-7 SFS 7 IS FLAG SET ? JMP *+2 NO, CHECK WCR JMP L7 YES LIB 3 READ WCR JSB ERR2 REPORT ERR JMP L5 L7 LIB 3 READ WCR SZB IS WCR = TO ZERO JSB ERR1 NO, REPORT ERR L5 NOP 7 DEBUG LDB BUFZ ADDR OF BUFFER-Z LDB B,I ACT DATA LDA PATT1 EXP DATA CPA B COMPARE DATA JMP *+3 OK JSB ERMSG REPORT ERROR DEF EE115 NOP DEBUG LDB BUFZ ADDR OF BUFFER-Z INB NEXT ADDR IN BUFF-Z LDB B,I ACT DATA LDA PATT2 EXP DATA CPA B COMPARE DATA JMP *+3 OK JSB ERMSG REPORT ERROR DEF EE116 NOP DEBUG LDA BUF GET ADDRESS FOR BUF2 STA BUF2 TABLE POINTER LDA WCNT NUMBER OF INA SKIP FIRST WORD IN BUF STA CNT WORDS IN TABLE LDA BUF1 GET ADDRESS FOR BUF1 INA SKIP FIRST WORD IN BUF STA BUFX TABLE POINTER NOP DEBUG L2 LDA BUF2,I GET EXPECTED DATA LDB BUFX,I GET ACTUAL DATA NOP DEBUG CPA B COMPARE DATA RSS OK JSB ERR REPORT ERROR ISZ BUF2 INCR BUF2 TABLE POINTER ISZ BUFX INCR BUF1 TABLE POINTER ISZ CNT LAST WORD ? JMP L2 NO, LOOP JSB REV REVERSE I-O CH NOP DEBUG ISZ CNTX HAS SECOND PASS BEEN RUN ? JMP L1 NO, LOOP AGAIN NOP DEBUG JMP TRETN RETURN * HED MESSAGES INTRO OCT 6412 ASC 10,DMA-DCPC DIAGNOSTIC OCT 6412 ASC 01,// EE000 ASC 07,E000 CLF-SFS6/ EE001 ASC 07,E001 CLF-SFC6/ EE002 ASC 07,E002 STF-SFC6/ EE003 ASC 07,E003 STF-SFS6/ EE004 ASC 07,E004 CLF-SFS7/ EE005 ASC 07,E005 CLF-SFC7/ EE006 ASC 07,E006 STF-SFC7/ EE007 ASC 07,E007 STF-SFS7/ EE010 ASC 11,E010 ILLEGAL DMA1 INT/ EE011 ASC 11,E011 ILLEGAL DMA2 INT/ EE012 ASC 09,E012 NO DMA1 INT/ EE015 ASC 09,E015 NO DMA2 INT/ EE020 ASC 07,E020 DMA1 CRS/ EE021 ASC 07,E021 DMA2 CRS/ EE022 ASC 05,E022 CLC6/ EE023 ASC 05,E023 CLC7/ EE024 D0TRNASC 09,E024 DMA1 PRESET/ EE025 ASC 09,E025 DMA2 PRESET/ EE026 ASC 07,E026 PRIORITY/ EE032 ASC 08,E032 SC DECODE/ EE033 ASC 05,E033 WCR1 OCT 6412 M33A ASC 07, EXP = XXXXXX OCT 6412 M33B ASC 07, ACT = XXXXXX/ EE041 ASC 05,E041 WCR1/ EE042 ASC 05,E042 WCR2/ EE043 ASC 09,E043 DMA1 STC FF/ EE045 ASC 09,E045 DMA2 STC FF/ EE047 ASC 09,E047 DMA1 CLC FF/ EE051 ASC 09,E051 DMA2 CLC FF/ EE053 ASC 07,E053 DMA1 CLF/ EE054 ASC 07,E054 DMA2 CLF/ EE055 ASC 06,E055 STF 6/ EE056 ASC 06,E056 STF 7/ EE063 ASC 07,E063 DMA1 OUT OCT 6412 M63A ASC 11,TRANSFER ADDR =XXXXXX OCT 6412 M63B ASC 11,EXPECTED DATA =XXXXXX OCT 6412 M63C ASC 11,ACTUAL DATA =XXXXXX/ EE100 ASC 13,E100 DMA1 STC GENERATION/ EE101 ASC 13,E101 DMA2 STC GENERATION/ EE102 ASC 7,E102 DMA1 CLF/ EE103 ASC 7,E103 DMA2 CLF/ EE104 ASC 10,E104 DMA1 OVERRIDE/ EE105 ASC 05,E105 WCR2/ EE106 ASC 05,E106 WCR1/ EE107 ASC 19,E107 DUAL CH DMA BLOCK TRANSFER FAILED OCT 6412 M107A ASC 13,EXP =YYYYYY ADDR =XXXXXX OCT 6412 M107B ASC 14,ACT =ZZZZZZ ADDR =XXXXXX/ EE110 ASC 18,E110 DMA FLAG 6 SET BUT WCR=ORIGINAL ASC 05,WC VALUE/ EE111 ASC 19,E111 DMA FLAG 6 SET BUT WCR NOT ZERO/ EE112 ASC 20,E112 DMA FLAG 6 NOT SET & WCR= ORIGINAL ASC 05,WC VALUE/ EE113 ASC 19,E113 DMA FLAG 6 NOT SET BUT WCR=ZERO/ EE114 ASC 19,E114 DMA FLAG 6 NOT SET & WCR=XXXXXX/ EE115 ASC 15,E115 DMA WROTE 1 WORD PASS WC/ EE116 ASC 20,E116 DMA WROTE 2 OR MORE WORDS PAST WC/ EE117 ASC 17,E117 EXECESSIVE CPU CYCLE COUNTS/ PRSET ASC 13,H324 PRESS PRESET AND RUN/ FWAA EQU * FIRST WORD AVAILABLE MEMORY END WT  24323-18001 1624 S 0122 MEMORY DG              H0101 ASMB,A,B,L,C HED 2100 SERIES MEMORY DIAGNOSTIC(LOW) ORG 2B * UNL * REP 62 * OCT 106077 UNL REP 62 OCT 106077 LST * ******************************************************************** * * * DIAGNOSTIC CHECKS MEMORY OPERATION * * DIAGNOSTIC ASSUMES THE FOLLOWING TESTS HAVE BEEN RUN * * MEMORY REFERENCE GROUP DSN 101000 * ALTER-SKIP GROUP DSN 101001 * SHIFT-ROTATE GROUP DSN 101002 * * RUNS IN 4K MEMORY * * CONSOLE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR IS OPTIONAL * * DIAGNOSTIC SERIAL NO(DSN) 102200 * * OPERATING INSTRUCTIONS: * * 1. LOAD AND CONFIGURE DIAGNOSTIC CONFIGURATOR (OPTIONAL) * * 2. LOAD MEM DIAGNOSTIC. * * 3. SET P REGISTER = 100. (SET P = 130 TO START WITH LOW * MEMORY MODULE(RESIDES LOW(2-1777) AND TESTS HIGH).) * * 4. SELECT PROGRAM OPTIONS IN SWITCH REGISTER. * * 5. PRESS PRESET(INT. & EXT. IF PRESENT) AND RUN. * * NOTE-WHEN PROGRAM IS TESTING LOW MEMORY(2-1777),THE DSN AT * LOCATION 126 IS WIPED OUT. IT SHOULD BE LOCATED AT * ADDRESS 3624. SKP * *************** SWITCH REGISTER OPTIONS **************************** * * * * BIT MEANING * * 0 RUN ADDRESS TEST(BIT/DECODER-21MX) * 1 RUN ALT WORD PATTERN TEST(COLUMN-21MX) * 2 RUN WORD PATTERN TEST(ROW-21MX) * 3 RUN BIT 0 TEST(DISTURBANCE-21MX) * 4 RUN RANDOM NUMBER TEST * *NOTE-BITS 0 THRU 4 CLEAR WILL RESULT IN TESTS 0-3 * BEING RUN. * 5 STORE ERROR OCCURRING ABOVE 8K AND NOT DUE TO MOVE * COMPARISONS IN THE ERROR TABLE.(LIMITED TO FOUR * ERRORS PER 4K). * 6 CLEAR ERROR TABLE(LOW MEMORY MODULE ONLY). * 7 RESERVED. * 8 CLEAR IF CONFIGURATOR IS LOADED AND CONFIGURED. * SET IF CONFIGURATOR IS NOT LOADED. * 9 RESERVED. * 10  EXIT TO RESTART LOW MEMORY MODULE * 11 HALT UPON RETURN TO LOW MEMORY MODULE. * 12 LOOP ON DIAGNOSTIC. CLEAR TO HALT AT END OF PASS. * 13 LOOP ON SELECTED TEST. * 14 SUPPRESS ERROR HALTS. * 15 HALT AT END OF TEST * * ******************************************************************** * SKP * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 102005 ERROR TABLE DISPLAY (A=NXT AVAILABLE ADDRESS OF TABLE * (B= # OF ERRORS) * 102006 ERROR TABLE RAN OVER LOCATION 2000. PROGRAM WIPED OUT * 102007 PARITY ERROR IN PGM AREA * 102013 PARITY ERROR IN TEST AREA * 1020XX MEMORY ADDRESS/DATA ERROR * * XX TEST * 10 PROGRAM NOT MOVED CORRECTLY. AN ERROR * OCCURRED WHILE RELOCATING A SECTION OF * THE PROGRAM. DETERMINE HIGH OR LOW AND * START FROM THE GOOD MODULE. (A) = GOOD DATA, * (B) = BAD DATA. PRESS RUN FOR ADDRESS. * 20 1 (A)= DATA WRITTEN INTO MEMORY * 30 2 (B)= DATA READ FROM MEMORY * 40 3 * 50 4A * 52 4B * 60 5 * 1020YY MEMORY ADDRESS/DATA ERROR * YY=XX+1 (A)=FAILING ADDRESS * 102076 HALT AT END OF EACH TEST * 102077 END OF TEST CYCLE * 103004 UNEXPECTED POWER FAIL * 103077 NONEXISTENT MEMORY READ OTHER THAN ALL 0'S * 106005 MEMORY PROTECT INTERRUPT * 106077 UNEXPECTED TRAP CELL INTERRUPT * * * * ******************************************************************* * SKP * * ERROR TABLE FORMAT: * * M ADDRESS OF ERROR * M+1 GOOD DATA(DATA WRITTEN) * M+2 BAD DATA(DATA READ) * M+3 RESERVED * M+4 NUMBER OF TIMES AN ERROR OCCURRED AT THIS ADDRESS * * THE ERROR TABLE STARTS AT 1600. FIVE LOCATIONS PER ERROR. * FOUR ERRORS PER 4K ABOVE 8K(ADDITIONAL ERRORS WITHIN THE * 4K MODULE ARE IGNORED). * * TABLE ADDRESSES * RESERVED FOR THE * MODULE MODULE * * 2 1600-1623 * 3 1624-1647 * 4 1650-1673 * 5 1674-1717 * 6 1720-1743 * 7 1744-1767 * SKP * * WORST CASE MEMORY PATTERN EQUATIONS * ******************************************************************** * * * COMPUTER EQUATION MEMORY TYPE * * 2100A (M5 EOR M6)F CUPERTINO 4/8 * 21MX M6F SEMICONDUCTOR * * *** NOTE MX= MEMORY ADDRESS BITS *** *** EOR = EXCLUSIVE OR *** * ******************************************************************** * * * SEMICONDUCTOR MEMORY FUNCTIONAL TESTS * ******************************************************************** * * COMPUTER TEST MEMORY TYPE * * 21MX SEMICONDUCTOR * * CHIP TEST : PATTERN USED : * * (1) BIT/DECODER * * * P = ADDRESS * (2) COLUMN * * * P = M0 PASS 1 0'S,1'S * * * PASS 2 1'S,O'S * (3) ROW * * * P = M5 PASS 1 32-O'S,32-1'S * * * PASS 2 32 1,S,32-O'S * (4) DISTURBANCE * * * P = M5 PASS 1 SLIDING O,1 32L * * * PASS 2 SLIDING 1,O 32L * * ******************************************************************** * SKP ORG 2B NOP DEF HMPPE HLT 4,C POWER FAIL INT LPEIT JS\B LMPPE MEMORY PROTECT/PARITY ERROR INT ORG 100B JMP L2000,I GO START WITH HIGH MEMORY TEST ORG 105B DEF FWAM ORG 126B OCT 102200 SPC 3 A EQU 0 B EQU 1 SWR EQU 1 ORG 130B JMP LPE GO START WITH LOW MEMORY TEST BJMP1 JMP NEXT9 JMP NEXT9 INSTRUCTION LTYPE OCT 0 LSTBL OCT 17 TESTS 0-3 LWTBL OCT 2 OCT 2000 OCT 4777 LFRST EQU LWTBL+1 LFWA EQU LWTBL+1 LLAST EQU LWTBL+2 LLWA EQU LWTBL+2 LDM16 DEC -16 LOOP COUNT LMMG OCT 10 LMFG OCT 0 LADDR OCT 0 CURRENT WORKING ADDRESS LPTN1 OCT 0 DATA PATTERN 1 LPTN2 OCT 0 DATA PATTERN 2 LLPC OCT 0 LOOP COUNTER LBPT1 OCT 1 BIT PATTERN 1 LBPT2 OCT 177776 BIT PATTERN 2 LBPTS OCT 0 BIT PATTERN SAVE LMSB OCT 77777 BIT 15 MASK MB4 OCT -4 M10K OCT -10000 M30K OCT -30000 B4 OCT 4 B5 OCT 5 L10 EQU LMMG LB20 OCT 20 B24 OCT 24 LB30 OCT 30 LB37 OCT 37 LB40 OCT 40 LB50 OCT 50 LB52 OCT 52 LB60 OCT 60 LHLTS OCT 0 LHLT HLT 0 L2000 OCT 2000 B3500 OCT 3500 B4700 OCT 4700 B4777 OCT 4777 B5000 OCT 5000 B6500 OCT 6500 LLDCM BSS 1 CONFIGURATOR ADDRESS TEMP BSS 1 LMAX BSS 1 MAXIMUM MEMORY ADDRESS * * * LRST TESTS SWR BIT 10 FOR PROGRAM RESTART * IF IT IS SET THE PROGRAM RESTARTS SKIPPING * CONFIGURATION SECTION * IF IT IS NOT SET A NORMAL RETURN IS MADE * LRST NOP LIA SWR ALF,RAL SSA TEST FOR RESTART JMP LPE2 JMP LRST,I SKP * * * LPE START OF PROGRAM * LPE EQU * JSB MEMRY GO DETERMINE PARAMETERS LDA LTYPE CPA LMMG TEST FOR NEW TYPE RSS CLA STA LMFG LDA LTYPE ADA LMSK1 FORM MASK 1 POINTER STA LMS1 SAVE LDA LTYPE ADA LMSK2 FORM MASK 2 POINTER STA LMS2 SAVE LDA LSDM1 STA LSDS1 K NOP NOP NOP LDB LJPE NOP NOP STB LPEIT LDA B5000 MOVE HIGH MEMORY STA LADDR TEST MODULE CLE TO LOCATIONS LDA B3500 5000-6477 LDB L2000 JSB MOVE LDA B4777 SET TEST STA LWTBL+2 LIMITS OF LDB L2000 2000-4777 STB LWTBL+1 LPE2 EQU * LIA SWR STA LWTBL ALF SSA,RSS TEST FOR HALT AT RESTART JMP LTS0 LDA LPNT1 LDB LCNT HLT 5 YES, A=ADDR, B=ERROR COUNT SKP * ************** TEST SELECTION CONTROL ***************************** * LTS0 EQU * LIA SWR SAVE STA LWTBL PROGRAM OPTIONS AND LB37 DEFAULT SET SZA,RSS OF TESTS? LDA LSTBL YES STA LTSW INITIALIZE TEST SELECT WORD LDA LTSOL STA LTADR SET POINTER TO FIRST TEST ADR LDA LWTBL ALF,ALF RAL POSITION TEST BITS SSA TEST FOR ERROR TABLE RESET JSB LRSET RESET ERROR TABLE LTS2 LDA LTSW SLA,RSS PERFORM TEST ? JMP LTS3 NO LTS JSB LTADR,I YES LIA SWR SSA TEST FOR HALT REQUEST HLT 76B LIA SWR RAL,RAL SSA TEST FOR LOOP ON PGM JMP LTS LTS3 LDA LTSW ARS STA LTSW MODIFY TEST SELECT WD FOR NXT TST ISZ LTADR LDA LTADR CPA LTEOL TEST FOR LAST ADR RSS JMP LTS2 LOOK FOR NEXT TEST BREAK NOP LDA L2000 MOVE HIGH MEMORY STA LADDR MODULE BACK CCE TO LOCATIONS LDB B5000 2000-3477 LDA B6500 JSB MOVE LDA BJMP1 SET INSTRUCTION IN STA BREAK BREAK TO SKIP THIS SECTION LDA B3500 MOVE CONFIGURATOR STA LADDR AND LDCM DOWN CCE TO LOCATIONS LDA LMAX 3500-4777 KINA LDB LLDCM JSB MOVE LDA B5000 SET TEST STA LWTBL+1 LIMITS OF LDB LMAX 5000-MAXIMUM ADDRESS STB LWTBL+2 JMP LTS0 DO ANOTHER PASS W/NEW LIMITS NEXT9 EQU * LDA LLDCM MOVE CONFIGURATOR STA LADDR BACK TO CLE LOCATIONS LDA B4700 X6500-X7700 LDB B3500 JSB MOVE CLA RESTORE NOP STA BREAK TO BREAK LIA SWR CHECK ALF,RAR BIT 12 SSA,RSS HLT 77B JMP 100B DO ANOTHER PASS LTADR BSS 1 LTSW BSS 1 LTSOL DEF *+1,I DEF LADRT DEF LSWRD DEF LWORD DEF LPATT DEF LRNT LTEOL DEF *,I SKP *************** LOW MEMORY ADDRESS TEST **************************** * * LADRT PERFORMS ADDRESS TEST BY * * (1) WRITING LOC ADDRESS INTO LOCATION FOR * ALL AVAILABLE MEMORY LOCATIONS * (2) READING AND TESTING ALL LOCATIONS * LADRT NOP LDA LB20 STA LHLTS SAVE HALT TYPE CLO INDICATE WRITING MEMORY LDA LFWA STORE ADDRESS INTO LAW1 STA A,I LOCATION CPA LLWA TEST FOR LAST ADDRESS JMP LAR EXIT INA NEXT ADDRESS JMP LAW1 LAR STO INDICATE READING MEMORY LDB LFWA INITIALIZE STB LADDR ADDRESS POINTER STB LHLD2 PATTERN HOLD LDB LADDR,I CPB LADDR ADDRESS = TO ADDRESS CONTENTS RSS JSB LER1 NO JSB LRST TEST FOR PGM RESTART LDB LADDR YES CPB LLWA LAST ADDRESS JMP LAW2 GO DO ADDRESS COMPLIMENT TEST INB INCREMENT JMP LAR+2 CONTINUE LAW2 CLO INDICATE WRITING MEMORY JSB LRST TEST FOR PGM RESTART LDB LFWA LOAD 1ST ADDRESS LAW3 LDA B LOAD A CMA COMPLIMENT ADDRESS STA B,I STORE TO LOCATION @ CPB LLWA TEST FOR LAST ADDRESS JMP LAR2 GO TO READ INB NEXT ADDRESS JMP LAW3 LAR2 STO INDICATE READING MEMORY LDB LFWA INITIALIZE LAR3 STB LADDR ADDRESS POINTER CMB STB LHLD2 PATTERN HOLD LDB LADDR,I CPB LHLD2 ADDRESS COMP = TO ADDRESS CONTS RSS JSB LER1 NO LDB LADDR RELOAD CURRENT ADDRESS CPB LLWA LAST ADDRESS JMP LADRT,I YES INB NO JMP LAR3 CONTINUE SKP *************** LOW MEMORY PATTERN (ALT WD) TEST ******************* * * LSWRD PERFORMS ALTERNATE 1/0 PATTERN TEST * LSWRD NOP LDA LB30 STA LHLTS SAVE HALT TYPE LDA LJC1 SET UP STA LP0 PATTERN STA LR0 SELECTION CALL CCA STA LPFG SET PATTERN CHG FLAG CLA CCB JSB LPTN CCA CLB JSB LPTN JMP LSWRD,I SKP *************** LOW MEMORY PATTERN (WORD) TEST ********************* * * LWORD PERFORMS WORD PATTERN TESTING BY * * (1) WRITING PATTERN (WORSE CASE NOISE) INTO * MEMORY. PATTERN BASED ON CPU/MEMORY TYPE. * * (2) READING AND TESTING EACH LOCATION FOR * CORRECT PATTERN * * (3) SAVING PATTERN,WRITING,READING TESTING * COMPLIMENT OF ORIGNAL PATTERN AND RESTORING * ORIGNAL PATTERN * * (4) REPORTING ERRORS ENCOUNTERED DURING ALL TESTING * * (5) TEST IS PERFORMED TWICE, ONCE USING WORSE CASE * PATTERN AND SECOND TIME USING COMPLIMENT PATTERN * LWORD NOP LDA LB40 STA LHLTS SAVE HALT TYPE LDA LMFG DETERMINE SZA,RSS WHICH JMP LW0 PATTERN TO USE LDA LJC2 SET UP DIAGNONAL STA LP0 PATTERN STA LR0 SELECTION CALL JMP LW1  LW0 LDA LJC1 SET UP NORMAL STA LP0 PATTERN STA LR0 SELECTION CALL LW1 CLA STA LPFG CLEAR PATTERN CHG FLAG CCB JSB LPTN PERFORM WORD PATTERN CCA CLB JSB LPTN PERFORM ALT WD PATTERN JMP LWORD,I EXIT SKP *************** LOW MEMORY PATTERN (BIT) TEST ********************** * * LPATT PERFORMS BIT PATTERN TESTS * * (1) BIT 0 PATTERN * * (2) BIT 1 PATTERN * LPATT NOP LDA LJC1 SET UP STA LP0 PATTERN STA LR0 SELECTION CALL JSB LBITO PERFORM BITO TEST JSB LBIT1 PERFORM BIT1 TEST JMP LPATT,I EXIT SPC 5 * * LBITO IS SAME AS LWORD WITH THE EXCEPTION OF * * (1) PATTERN USED * * (2) TEST IS RUN 16 TIMES EACH TIME CHANGING PATTERN * LBITO NOP LDA LB50 STA LHLTS SAVE HALT TYPE LDA LBPT1 LDB LMFG SZB TEST FOR PATTERN TO BE USED LDA LBPT2 STA LBPTS INITIALIZE BIT O PATTERN LDA LDM16 STA LLPC INITIALIZE LOOP COUNT LBOO CLA STA LPFG CLEAR PATTERN CHG FLAG LDB LBPTS JSB LPTN PERFORM BIT O PATTERN LDA LBPTS CLB JSB LPTN PERFORM BIT O ALT PATTERN LDA LBPTS RAL CHANGE BIT O PATTERN STA LBPTS ISZ LLPC BUMP COUNT JMP LBOO CONTINUE JMP LBITO,I EXIT SKP * * LBIT1 IS THE SAME AS LBIT0 EXCEPT FOR INITIAL * PATTERN USED. * LBIT1 NOP LDA LB52 STA LHLTS SAVE HALT TYPE LDA LBPT2 LDB LMFG SZB TEST FOR PATTERN TO USED LDA LBPT1 STA LBPTS INITIALIZE BIT 1 PATTERN LDA LDM16 STA LLPC SET UP LOOP COUNT CLA STA LPFG SET PATTERN CHG FLAG LBT10 CCA LDB LBPTS JSB LPTN PERFORM BIT 1 PATTERN LDA LBPTS CCB JSB LPTN PERFORM BIT 1 ALT PATTERN LDA LBPTS RAL CHANGE BIT 1 PATTERN STA LBPTS ISZ LLPC BUMP LOOP COUNT JMP LBT10 CONTINUE JMP LBIT1,I EXIT SPC 3 * * LPTN PERFORMS ACTUAL TEST BY * * (1) SAVING PATTERNS TO BE WRITTEN * * (2) WRITING MEMORY * * (3) READING/TESTING MEMORY * LPTN NOP STA LPTN1 SAVE PATTERN 1 STB LPTN2 SAVE PATTERN 2 CLO INDICATE WRITING MEMORY JSB LWT WRITE PATTERN STO INDICATE READING MEMORY JSB LRD READ AND TEST PATTERN JMP LPTN,I EXIT SKP * * LWT WRITES PATTERN INTO MEMORY BASED ON CPU/MEMORY * TYPE BEING TESTED * LWT NOP JSB LRST TEST FOR PGM RESTART LDA LFRST STA LADDR INITIALIZE FIRST ADDRESS LP0 JSB LACK CHECK ADR FOR PTN TYPE JMP LP1 LDA LPTN1 JMP LP1+1 LP1 LDA LPTN2 STA LADDR,I STORE PATTERN LDA LADDR CPA LLAST TEST FOR LAST ADR JMP LWT,I EXIT ISZ LADDR BUMP CURRENT ADR JMP LP0 CONTINUE SPC 3 * * LRD READS/TESTS MEMORY BASED ON PATTERN WRITTEN * LRD NOP JSB LRST TEST FOR PGM RESTART LDA LFRST STA LADDR INITIALIZE FRST ADDRESS LR0 JSB LACK CHECK ADR FOR PATTERN TYPE JMP LR1 LDA LPTN1 JMP LR1+1 LR1 LDA LPTN2 STA LGDS STA LHLD2 SAVE GOOD DATA LDB LADDR,I READ LOCATION CPB A PATTERN OK ? RSS JSB LER1 NO JSB LCMP YES, COMPLIMENT AND TEST PTN LDA LADDR CPA LLAST TEST FOR LAST ADR JMP LRD,I EXIT ISZ LADDR BUMP CURRENT ADR JMP LR0 CONTINUE SKP * * LACK DETERMINES PATTERN TO BE WRITTEN INTO MEMORY * BASED ON THE EQUAT$<:6IONS DEFINING WORSE CASE * PATTERN FOR A PARTICULAR CPU/MEMORY TYPE * LACK NOP LDA LPFG SZA TEST FOR PATTERN CHG JSB LSACK LDA LADDR AND LMS1,I AND ADDRESS WITH MASK 1 ALF,ALF RAL,RAL POSITION BITS STA LRNS1 JSB LPS LDA LMS2,I SZA TEST FOR ONE TERM JMP LACK1 NO LDA LMSV2 SZA TEST PARITY FOR "0" ISZ LACK JMP LACK,I EXIT LACK1 AND LADDR SZA,RSS TEST FOR T OR F JMP LACK2 F CLA,INA AND LMSV1 STA LMSV3 SAVE AND TERM 1 CLA JMP LACK3 LACK2 STA LMSV3 SAVE AND TERM 1 CLA,INA AND LMSV2 LACK3 STA LMSV4 SAVE AND TERM 2 IOR LMSV3 FORM OR OF TERM 1 & 2 SZA TEST FOR "0" ISZ LACK JMP LACK,I EXIT b<  24323-18002 1624 S 0122 MEMORY DG              H0101 LMS1 OCT 0 TEMP STORAGE FOR MSK PTR LMS2 OCT 0 TEMP STORAGE FOR MSK PTR LMSV1 OCT 0 PARITY (T) LMSV2 OCT 0 PARITY (F) LMSV3 OCT 0 AND TERM 1 LMSV4 OCT 0 AND TERM 2 LMSK1 DEF * POINTER TO START OF 1ST MASK TBL OCT 41 2116A OCT 3 2116B OCT 140 2116C OCT 101 2115A OCT 101 2114A OCT 101 2114B OCT 140 2100A OCT 100 210XX OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 LMSK2 DEF * POINTER TO START OF 2ND MASK TBL OCT 100 OCT 200 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 SPC 3 * * LSACK PERFORMS SECOND PATTERN GENERATION * FROM ADDRESS BITS IN TABLE FOR * VARIOUS CPU/MEMORIES * LSACK NOP LDA LACK STA LSACK FORM NEW EXIT LDA LSDS1,I PICK UP MASK AND LADDR AND ADDRESS BITS SZA TEST FOR "0" ISZ LSACK JMP LSACK,I EXIT LPFG OCT 0 LSDS1 OCT 0 LSDM1 DEF *+1 OCT 1 210X OCT 0 210XX SPC 2 LDACK NOP LDA LADDR LOAD CURRENT ADDRESS AND LMSK3 MASK BITS 0/5 CPA LMSK3 JMP LDACK,I EXIT SZA ISZ LDACK JMP LDACK,I EXIT LMSK3 OCT 101 LJC1 JSB LACK LJC2 JSB LDACK SKP * * LCMP SAVES CURRENT PATTERN,WRITES/READS/TESTS * COMPLIMENT PATTERN AND RESTORES OLD PATTERN * FOR EACH LOCATION TESTED * LCMP NOP LDA LGDS LOAD GOOD DATA CMA COMPLIMENT CURRENT PATTERN STA LHLD2 SAVE STA LADDR,I WRITE IT BACK LDB LADDR,I READ IT BACK CPB LHLD2 IS OK ? RSS JSB LER1 NO LDA LGDS RELOAD DATA LSTA LADDR,I WRITE IT BACK JMP LCMP,I EXIT LGDS OCT 0 SKP *************** LOW MEMORY RANDOM NUM.TEST ************************* * * LRNT PERFORMS RANDOM PATTERN TESTING OF MEMORY * LRNT NOP LDA LB60 STA LHLTS SAVE HALT TYPE LDA LRN LRN0 STA LRNS INITIALIZE RNDM NO STORAGE STA LRNTS CLO INDICATE WRITING MEMORY LDA LFWA STA LADDR INITIALIZE 1ST ADDR LRN1 JSB LRNG GENERATE RNDM NUMBER STA LADDR,I STORE NUMBER IN TEST ADR LDA LADDR CPA LLWA LAST ADDR ? JMP *+3 ISZ LADDR BUMP ADDR JMP LRN1 NO STO INDICATE READING MEMORY LDA LFWA YES STA LADDR INITIALIZE 1ST ADDR LDA LRNTS STA LRNS INITIALIZE RNDM NO STORAGE LRN2 JSB LRNG GENERATE RNDM NUMBER LDB LADDR,I CPB LRNS TEST (ADR) RSS JSB LER1 BAD LDA LADDR GOOD CPA LLWA LAST ADDR ? JMP *+3 ISZ LADDR JMP LRN2 NO JSB LRST TEST FOR PGM RESTART NOP JMP *+2 JMP LRNT,I EXIT LDA LRNS JMP LRN0 LRN OCT 177777 RNDM NO LRNS OCT 0 RNDM NO STORAGE LRNTS OCT 0 SKP * * LRNG PERFORMS ACTUAL RANDOM NUMBER GENERATION * * ******** RANDOM PATTERN GENERATION ********************************* * * (1) INITIALIZE PATTERN (RPS _ 1'S) * * (2) AND OFF BITS 11,13,14,16 * * (3) FORM EXCLUSIVE OR OF BITS (PARITY SUM) * * (4) LEFT SHIFT RNDM PATTERN SHIFTING IN PARITY SUM * TO BIT O * * (5) TEST FOR ALL O'S AND DO (1) IF T, (6) IF F * * (6) EXIT * LRNG NOP JSB LRST TEST FOR PROGRAM RESTART LDA LRNS AND LRNM MASK NO FOR BITS 11,13,14,16 RAL POSITION BITS STA LRNS1 SAVE JSB LPS FORM PARITY LDA LRNS RAL SHIFT AND LBT0 ADA LMSV1 SZA,RSS TEST FOR "0" LDA LRN STA LRNS SAVE STA LHLD2 JMP LRNG,I LRNM OCT 132000 BIT MASK LBT0 OCT 177776 BIT O MASK SKP * * LPS GENERATES THE PARITY OF THE BITS IN RSN1 * GENERATOR IS A TOGGLING FLOPFLOP INITIALLY * CLEARED * LPS NOP LDA LDM7 STA LRCT INITIALIZE COUNT LDA LRNS1 CLB CLEAR FLOP LPS1 SLA,RSS JMP LPS2 CMB TOGGLE FLIP FLOP LPS2 RAL NEXT BIT ISZ LRCT LAST BIT JMP LPS1 NO SZB TEST FOR PARITY "0" JMP LPS3 "1" STB LMSV1 SAVE T.P. INB JMP LPS4 LPS3 CLB,INB STB LMSV1 SAVE T.P. CLB LPS4 STB LMSV2 SAVE F.P. JMP LPS,I EXIT LRNS1 OCT 0 LDM7 DEC -7 LRCT OCT 0 CTR STORAGE SKP * * LER1 IS THE COMMON ERROR REPORTING SUBROUTINE WHICH * * (1) CHECKS FOR ERROR HALT * * (2) FORMS HALT TYPE * * (3) CHECKS FOR ERROR TO BE PUT IN TABLE * LER1 NOP STB LHLD1 SAVE BAD DATA LDA LHLT IOR LHLTS OR IN HALT TYPE STA LHLT0 INA STA LHLT1 LIA SWR CHECK ALF,ALF BIT 5 RAL,RAL SSA,RSS ON? JMP *+3 NO JSB LETBL YES. GO STORE JMP LE2 ERRORS IN ERROR TABLE JSB LCHK CHECK TO SEE IF HLT REQUESTED LHLT0 HLT 10B LDA LADDR CLB LHLT1 HLT 11B LE2 LDA LSAVA LDB LSAVB JMP LER1,I EXIT LHLD1 OCT 0 TEMP. STORAGE FOR BAD DATA LHLD2 OCT 0 TEMP. STORAGE FOR GOOD DATA SPC 2 * * LCHK CHECKS TO SEE IF ERROR HALT IS BEING REQUESTED * LCHK NOP STO SET OVERFLOW (ERROR) LIA SWR ALL ENTRIES CHECKED RAL,RAL SLA SUPPRESS ERROR HALT ? JMP LNHLT 1 YES LDA LHLD2 LDB LHLD1 JMP LCHK,I NO LNHLT LDA LCHK ADA B4 MODIFY RETURN ADDRESS JMP A,I RETURN SKP * * LETBL PLACES ERROR IN TABLE * LETBL NOP LDA LADDR ERROR ADDRESS ADA M8K IN FIRST 8K SSA OF MEMORY? JMP LHLT0-1 YES.MUST GO HALT LDA LHLTS NO.IS THIS A CPA L10 MOVE COMPARISON? JMP LHLT0-1 YES.MUST GO HALT LDA LECNT NO.CHECK TO STA LCTR1 SEE IF THIS LDB LAT1 ADDRESS HAS ERRORED LDA LADDR BEFORE LCPR EQU * CPA B,I BAD ADDRESS BEEN USED? JMP LCH1 YES ADB B5 NO.CHECK NEXT ERROR ADDRESS ISZ LCTR1 DONE? JMP LCPR NO JMP LCH2 YES.GO ON LCH1 EQU * LDA B4 BUMP # OF ADA B TIMES ERROR ISZ A,I COUNTER JMP LE2 CONTINUE WITHOUT HALT CCB STOP AT STB A,I 32K ERRORS JMP LE2 LAT1 DEF LTBL1 LCTR1 OCT 0 COUNTER STORAGE LCH2 EQU * LDA LAT1 POINT TO STA TEMP START OF TABLE STA LPNT1 LDA LADDR ERROR ADDRESS LDB M30K START WITH MOD 2 LET1 EQU * ADA B IS THE ERROR SSA IN THIS MODULE? JMP LET2 YES LDA TEMP NO.POINT TO ADA B24 NEXT 4K MODULE STA TEMP ERROR TABLE LOCATION STA LPNT1 LDA LADDR GET ERROR ADDRESS ADB M10K BUMP MODULE #(4K) SZB 32K? JMP LET1 NO LET2 EQU * YES LDA MB4 SET STA COUNT COUNTER LDB TEMP LET3 EQU * LDA B,I GET TABLE ADDRESS ENTRY SZA,RSS ANY PREVIOUS ENTRY? JMP LET4 NO.GO AHEAD & ENTER THE ERROR ADB B5 YES.POINT TO NEXT ERROR STB LPNT1 ISZ COUNT DONE 4 ERRORS YET?  JMP LET3 NO JMP LE2 YES.TABLE IS FULL FOR THIS MOD. LET4 EQU * LDA LPNT1 MOVE TABLE POINTERS INA STA LPNT2 INA STA LPNT3 INA STA LPNT4 INA STA LPNT5 LDA LADDR STA LPNT1,I SAVE BAD ADDR LDA LHLD2 STA LPNT2,I SAVE GOOD PTRN LDA LHLD1 STA LPNT3,I SAVE BAD PTRN CLA,INA STA LPNT5,I SAVE FIRST TIME THIS ERROR ISZ LCNT BUMP TABLE COUNT LDA LPNT1 CMA,INA ADA L2000 SSA,RSS TEST AREA OVERLAP TABLE ? JMP LETBL,I NO HLT 6 SOMETHING IS WRONG JMP LETBL,I M8K OCT -20000 COUNT BSS 1 COUNTER LCNT OCT 0 LPNT1 DEF LTBL1 POINTER TO TBL 1 LPNT2 DEF LTBL2 POINTER TO TBL 2 LPNT3 DEF LTBL3 POINTER TO TBL 3 LPNT4 DEF LTBL4 POINTER TO TBL 4 LPNT5 DEF LTBL5 POINTER TO TBL 5 SKP * * LRSET RESETS THE ERROR TABLE * LRSET NOP CLA CLEAR LDB LAT1 ERROR LRS1 EQU * TABLE STA B,I INB CPB L2000 DONE? RSS JMP LRS1 NO STA LCNT CLEAR ERROR COUNT JMP LRSET,I EXIT LECNT DEC -24 SKP * * LMPPE PARITY/MEMORY PROTECT INT HANDLER * LMPPE NOP STA LSAVA SAVE A STB LSAVB SAVE B LDA LFRST CMA,INA STA LNFST FORM NEG 1ST LOCATION ADR LIA 5 SSA TEST FOR JMP *+3 MEMORY OCT 106005 PROTECT JMP LMP1+2 INT. AND LMSB READ ERROR ADR AND MASK OUT BT15 ADA LNFST SSA IS PE IN PGM OR TEST AREA JMP LPGM PGM AREA LDA LHLD2 LOAD CURRENT PATTERN CPA LSAVB LOAD PARITY ERROR PATTERN JMP LMP1 ERROR IS BIT LMP0 STF 5 TURN ON PARITY LDA LSAVA RESTORE A LDB LSAVB RESTORE (B JMP LMPPE,I EXIT LMP1 LDB LADDR LOAD ADDR HLT 13B PARITY ERROR JMP LMP0 EXIT LPGM LIA 5 AND LMSB LDB A,I HLT 7B A= ADDR B= (ADDR) STB A,I RESTORE (P.E. ADDR) STF 5 JMP LPE2 RESTART LNFST OCT 0 STORAGE FOR FRST LSAVA OCT 0 SAVE AREA LSAVB OCT 0 SAVE AREA LJPE JSB LMPPE SKP * * MOVE ROUTINE * * MOVES A SECTION OF MEMORY UP OR DOWN * * CALLING SEQUENCE: * * CLE(MOVE UP) OR CCE(MOVE DOWN) * LDA UPPER LIMIT OF BLOCK + 1 * LDB LOWER LIMIT OF BLOCK * JSB MOVE * (DESTINATION STARTING ADDRESS MUST BE IN * LOCATION LADDR) * MOVE NOP STA TEMP SAVE UPPER LIMIT LDA L10 SAVE STA LHLTS HALT TYPE SEZ UP? JMP LOOP6 NO LOOP5 EQU * YES LDA B,I TRANSFER STA LADDR,I A WORD LDA LADDR,I COMPARE CPA B,I IT JMP NEXT7 OK.GO ON STA LSAVA SAVE STB LSAVB REGISTERS LDB B,I GET GOOD DATA SWP STA LHLD2 SAVE GOOD DATA JSB LER1 GO TO ERROR ROUTINE NEXT7 EQU * ISZ LADDR BUMP INB POINTERS CPB TEMP DONE? JMP MOVE,I YES JMP LOOP5 NO LOOP6 EQU * LDA B,I TRANSFER STA LADDR,I A WORD LDA LADDR,I COMPARE CPA B,I IT JMP NEXT8 OK.GO ON STA LSAVA SAVE STB LSAVB REGISTERS LDB B,I GET GOOD DATA SWP STA LHLD2 SAVE GOOD DATA JSB LER1 GO TO ERROR ROUTINE NEXT8 EQU * ISZ LADDR BUMP INB POINTERS CPB TEMP DONE? JMP MOVE,I YES JMP LOOP6 NO ORG 1600B LTBL1 OCT 0 BAD ADDR LTBL2 OCT 0 nAGOOD DATA LTBL3 OCT 0 BAD DATA LTBL4 OCT 0 RESERVED LTBL5 OCT 0 # TIMES ERROR AT THIS ADDRESS SKP * * * MEMORY SIZE & COMPUTER TYPE ROUTINE * OVERLAYED AFTER PROGRAM IS STARTED * MEMRY NOP LDA L10 SAVE STA PHLTS,I HALT TYPE LDA B10K START WITH 8K ADA B3 MOVE TO ADDRESS 3 OF PAGE FOR WRAPAROUND AGAIN EQU * CLB CLEAR WRAPAROUND STB 3B CCB STB A,I TRY TO WRITE ONES THERE CPB 3B DID IT WRAPAROUND? JMP GOTIT YES - NO MORE MEMORY LDB A,I GET RESULTS CPB ONES IS IT ALL ONES? JMP *+4 YES.MEMORY IS THERE SZB NO.IS IT ALL ZEROS? HLT 77B,C NO.SOMETHING IS WRONG JMP GOTIT OK NO MORE MEMORY ADA B10K MOVE UP 4K SSA,RSS DID THE ADDRESS GO MINUS? JMP AGAIN NO.TRY AGAIN GOTIT EQU * YES ADA MB10K DROP BACK ONE 4K AND B70K ELIMINATE 3B STA TEMP SAVE ADDRESS ADA B7700 POINT TO BINARY LOADER LDB A,I TRY TO READ WORD LDA TEMP RESTORE A REG. ADA B7677 SZB DID IT READ? IOR B100 YES THEN CHECK LOADER STA LMAX SET UPPER LIMIT MAX LIA 1 CHECK FOR CONFIGURATOR STA 3B SAVE S-REG ALF,ALF ERA PUT BIT IN E REG LDA 115B PICK UP COMPUTER TYPE FROM CONFIGURATOR ALF AND B17 SEZ,RSS IS CONFIG. LOADED JMP *+4 LDA B7 SET FOR 2100 SZB IS IT INA NO MOVE TO 21MX STA LTYPE SAVE MACHINE TYPE STA PHTYP,I LDA B17 SET TIME FOR DISPLAY OF MEMORY CMA,INA MAKE IT NEGATIVE STA LLDCM LDA LMAX GET MEMORY SIZE OTA 1 PUT IT ON S-REG. CLB INB,SZB JMP *-1 ISZ LLDCM TIME UĕP JMP *-3 NO LDA 3B GET ORIGINAL S-REG OTA 1 RESTORE IT SKP CLA STA PLPE,I DISABLE CALLS STA PHPE,I TO THIS ROUTINE LDA PHPE,I COMPARE SZA,RSS NOP JMP NEXT5 OK LDB PHPE FORM STB PADDR,I ADDRESS LDB A FORM GOOD DATA CLA STA PHLD2,I SAVE GOOD DATA JSB PHER1,I GO HALT FOR ERROR NEXT5 EQU * LDA PLPE,I COMPARE SZA,RSS OTHER NOP JMP NEXT6 OK LDB PLPE FORM STB PADDR,I ADDRESS LDB A FORM GOOD ADDRESS CLA STA PHLD2,I SAVE GOOD DATA JSB PHER1,I GO HALT FOR ERROR NEXT6 EQU * LDA TEMP FORM START OF ADA B6500 CONFIGURATOR ADDRESS STA LLDCM SAVE IT LDA LTYPE GET COMPUTER TYPE IN A REG JSB LRSET CLEAR ERROR TABLE JMP MEMRY,I MB10K OCT -10000 B3 OCT 3 B7 OCT 7 B17 OCT 17 B100 OCT 100 B7700 OCT 7700 B7677 OCT 7677 B10K OCT 10000 B70K OCT 70000 ONES OCT 177777 PLPE DEF LPE LINK TO LOWER CALLING ADDRESS PHPE DEF HPE LINK TO HIGH CALLING ADDRESS PHLTS DEF HHLTS LINK TO HIGH HALT TYPE PHTYP DEF HTYPE LINK TO HIGH COMPUTER TYPE PHLD2 DEF HHLD2 LINK TO GOOD DATA IN HIGH TEST PHER1 DEF HER1 LINK TO HIGH ERROR ROUTINE PADDR DEF HADDR LINK TO ADDRESS IN HIGH TEST HED 2100 SERIES MEMORY DIAGNOSTIC(HIGH) * * * START OF LOW MEMORY TEST * ORG 2000B JMP HPE HTYPE OCT 0 HSTBL OCT 17 TESTS 0-3 OCT 6 START OF TEST AREA OCT 1777 END OF TEST AREA HWTBL OCT 2 OCT 6 OCT 1777 HFRST EQU HWTBL+1 HFWA EQU HWTBL+1 HLAST EQU HWTBL+2 HLWA EQU HWTBL+2 PMEM DEF MEMRY LINK TO MEMORY ROUTINE HDM16 DEC -16 LOOP COUNT HMMG OCT 10 HMFG OCT 0 HADDR OCT 0 CURRENT WORKING ADDRESS HPTN1 OCT 0 DATA PATTERN 1 HP CTN2 OCT 0 DATA PATTERN 2 HLPC OCT 0 LOOP COUNTER HBPT1 OCT 1 BIT PATTERN 1 HBPT2 OCT 177776 BIT PATTERN 2 HBPTS OCT 0 BIT PATTERN SAVE HMSB OCT 77777 BIT 15 MASK HB20 OCT 20 HB30 OCT 30 HB37 OCT 37 HB40 OCT 40 HB50 OCT 50 HB52 OCT 52 HB60 OCT 60 HHLTS OCT 0 HHLT HLT 0 * * * HRST TESTS SWR BIT 10 FOR PROGRAM RESTART * IF IT IS SET THE PROGRAM RESTARTS SKIPPING * HIGH MEMORY MODULE * IF IT IS NOT SET A NORMAL RETURN IS MADE * HRST NOP LIA SWR ALF,RAL SSA TEST FOR RESTART JMP HTS4 JMP HRST,I SKP * * * HPE START OF PROGRAM * HPE EQU * JSB PMEM,I GO FIND MEMORY SIZE & COMP. LDA HTYPE CPA HMMG TEST FOR NEW TYPE RSS CLA STA HMFG LDA HTYPE ADA HMSK1 FORM MASK 1 POINTER STA HMS1 SAVE LDA HTYPE ADA HMSK2 FORM MASK 2 POINTER STA HMS2 SAVE LDA HSDM1 STA HSDS1 NOP NOP NOP NOP NOP LDB HJPE STB 5B YES JSB UPPER SAVE LOWER PROGRAM IN TEST AREA HPE2 JSB HINIT INITIALIZE INT LOC 4,5 SKP * ************** TEST SELECTION CONTROL ***************************** * LIA SWR SAVE PROGRAM STA HWTBL OPTIONS AND HB37 DEFAULT SZA,RSS TESTS? LDA HSTBL YES STA HTSW INITIALIZE TEST SELECT WORD LDA HTSOL STA HTADR SET POINTER TO FIRST TEST ADR HTS2 LDA HTSW SLA,RSS PERFORM TEST ? JMP HTS3 NO HTS JSB HTADR,I YES LIA SWR SSA TEST FOR HALT REQUEST HLT 76B LIA SWR RAL,RAL SSA TEST FOR LOOP ON PGM JMP HTS HTS3 LDA HTSW ARS STA HTSW MODIFY TEST SELECT WD FOR NXT TST ISZ HTADR LDA HTADR CPA HTEOL E<:6 TEST FOR LAST ADR RSS JMP HTS2 LOOK FOR NEXT TEST HTS4 EQU * JSB LOWER RESTORE LOWER PROGRAM JMP 130B GO DO LOW MEMORY TEST HTADR BSS 1 HTSW BSS 1 HTSOL DEF *+1,I DEF HADRT DEF HSWRD <  24323-18003 1624 S 0122 MEMORY DG              H0101  DEF HWORD DEF HPATT DEF HRNT HTEOL DEF *,I SKP *************** HI MEMORY ADDRESS TEST **************************** * * HADRT PERFORMS ADDRESS TEST BY * * (1) WRITING LOC ADDRESS INTO LOCATION FOR * ALL AVAILABLE MEMORY LOCATIONS * (2) READING AND TESTING ALL LOCATIONS * HADRT NOP LDA HB20 STA HHLTS SAVE HALT TYPE CLO INDICATE WRITING MEMORY LDA HFWA STORE ADDRESS INTO HAW1 STA A,I LOCATION CPA HLWA TEST FOR LAST ADDRESS JMP HAR EXIT INA NEXT ADDRESS JMP HAW1 HAR STO INDICATE READING MEMORY LDB HFWA INITIALIZE STB HADDR ADDRESS POINTER STB HHLD2 PATTERN HOLD LDB HADDR,I CPB HADDR ADDRESS = TO ADDRESS CONTENTS RSS JSB HER1 NO JSB HRST TEST FOR PGM RESTART LDB HADDR YES CPB HLWA LAST ADDRESS JMP HAW2 GO TO ADDRESS COMPLIMENT TEST INB INCREMENT JMP HAR+2 CONTINUE HAW2 CLO INDICATE WRITING MEMORY JSB HRST TEST FOR PGM RESTART LDB HFWA LOAD 1ST ADDRESS HAW3 LDA B LOAD A CMA COMPLIMENT ADDRESS STA B,I STORE TO LOCATION CPB HLWA TEST FOR LAST ADDRESS JMP HAR2 GO TO READ INB NEXT ADDRESS JMP HAW3 HAR2 STO INDICATE READING MEMORY LDB HFWA INITIALIZE HAR3 STB HADDR ADDRESS POINTER CMB STB HHLD2 PATTERN HOLD LDB HADDR,I CPB HHLD2 ADDRESS COMP = TO ADDRESS CONTS RSS JSB HER1 NO LDB HADDR RELOAD CURRENT ADDRESS CPB HLWA LAST ADDRESS JMP HADRT,I YES INB NO JMP HAR3 CONTINUE SKP **************** HI MEMORY PATTERN (ALT WD) TEST ******************* * * HSWRD PERFORMS ALTERNATE 1/0 PATTERN 7RTEST * HSWRD NOP LDA HB30 STA HHLTS SAVE HALT TYPE LDA HJC1 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL CCA STA HPFG CLEAR PATTERN CHG FLAG CLA CCB JSB HPTN CCA CLB JSB HPTN JMP HSWRD,I SKP **************** HI MEMORY PATTERN (WORD) TEST ********************* * * HWORD PERFORMS WORD PATTERN TESTING BY * * (1) WRITING PATTERN (WORSE CASE NOISE) INTO * MEMORY. PATTERN BASED ON CPU/MEMORY TYPE. * * (2) READING AND TESTING EACH LOCATION FOR * CORRECT PATTERN * * (3) SAVING PATTERN,WRITING,READING TESTING * COMPLIMENT OF ORIGNAL PATTERN AND RESTORING * ORIGNAL PATTERN * * (4) REPORTING ERRORS ENCOUNTERED DURING ALL TESTING * * (5) TEST IS PERFORMED TWICE, ONCE USING WORSE CASE * PATTERN AND SECOND TIME USING COMPLIMENT PATTERN * HWORD NOP LDA HB40 STA HHLTS SAVE HALT TYPE LDA HMFG DETERMINE SZA,RSS WHICH JMP HW0 PATTERN TO USE LDA HJC2 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL JMP HW1 HW0 LDA HJC1 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL HW1 CLA STA HPFG CLEAR PATTERN CHG FLAG CCB JSB HPTN PERFORM WORD PATTERN CCA CLB JSB HPTN PERFORM ALT WD PATTERN JMP HWORD,I EXIT SKP **************** HI MEMORY PATTERN (BIT) TEST ********************** * * HPATT PERFORMS BIT PATTERN TESTS * * (1) BIT 0 PATTERN * * (2) BIT 1 PATTERN * HPATT NOP LDA HJC1 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL JSB HBITO PERFORM BITO TEST _  JSB HBIT1 PERFORM BIT1 TEST JMP HPATT,I EXIT SPC 2 * * HBITO IS SAME AS LWORD WITH THE EXCEPTION OF * * (1) PATTERN USED * * (2) TEST IS RUN 16 TIMES EACH TIME CHANGING PATTERN * HBITO NOP LDA HB50 STA HHLTS SAVE HALT TYPE LDA HBPT1 LDB HMFG SZB TEST FOR PATTERN TO BE USED LDA HBPT2 STA HBPTS INITIALIZE BIT O PATTERN LDA HDM16 STA HLPC INITIALIZE LOOP COUNT HBOO CLA STA HPFG CLEAR PATTERN CHG FLAG LDB HBPTS JSB HPTN PERFORM BIT O PATTERN LDA HBPTS CLB JSB HPTN PERFORM BIT O ALT PATTERN LDA HBPTS RAL CHANGE BIT O PATTERN STA HBPTS ISZ HLPC BUMP COUNT JMP HBOO CONTINUE JMP HBITO,I EXIT SKP * * HBIT1 IS THE SAME AS LBIT0 EXCEPT FOR INITIAL * PATTERN USED. * HBIT1 NOP LDA HB52 STA HHLTS SAVE HALT TYPE LDA HBPT2 LDB HMFG SZB TEST FOR PATTERN TO BE USED LDA HBPT1 STA HBPTS INITIALIZE BIT 1 PATTERN LDA HDM16 STA HLPC SET UP LOOP COUNT CLA STA HPFG CLEAR PATTERN CHG FLAG HBT10 CCA LDB HBPTS JSB HPTN PERFORM BIT 1 PATTERN LDA HBPTS CCB JSB HPTN PERFORM BIT 1 ALT PATTERN LDA HBPTS RAL CHANGE BIT 1 PATTERN STA HBPTS ISZ HLPC BUMP LOOP COUNT JMP HBT10 CONTINUE JMP HBIT1,I EXIT SPC 2 * * HPTN PERFORMS ACTUAL TEST BY * * (1) SAVING PATTERNS TO BE WRITTEN * * (2) WRITING MEMORY * * (3) READING/TESTING MEMORY * HPTN NOP STA HPTN1 SAVE PATTERN 1 STB HPTN2 SAVE PATTERN 2 CLO INDICATE WRITING MEMORY JSB HWT WRITE PATTERN STO INDICATE READING MEMORY JSB HRD READ AND TEST PATTERN JMP HPTN,I EXIT SKP * * HWT WRITES PATTERN INTO MEMORY BASED ON CPU/MEMORY * TYPE BEING TESTED * HWT NOP JSB HRST TEST FOR PGM RESTART LDA HFRST STA HADDR INITIALIZE FIRST ADDRESS HP0 JSB HACK CHECK ADR FOR PTN TYPE JMP HP1 LDA HPTN1 JMP HP1+1 HP1 LDA HPTN2 STA HADDR,I STORE PATTERN LDA HADDR CPA HLAST TEST FOR LAST ADR JMP HWT,I EXIT ISZ HADDR BUMP CURRENT ADR JMP HP0 CONTINUE SPC 2 * * HRD READS/TESTS MEMORY BASED ON PATTERN WRITTEN * HRD NOP JSB HRST TEST FOR PGM RESTART LDA HFRST STA HADDR INITIALIZE FRST ADDRESS HR0 JSB HACK CHECK ADR FOR PATTERN TYPE JMP HR1 LDA HPTN1 JMP HR1+1 HR1 LDA HPTN2 STA HGDS STA HHLD2 SAVE GOOD DATA LDB HADDR,I READ LOCATION CPB A PATTERN OK ? RSS JSB HER1 NO JSB HCMP YES, COMPLIMENT AND TEST PTN LDA HADDR CPA HLAST TEST FOR LAST ADR JMP HRD,I EXIT ISZ HADDR BUMP CURRENT ADR JMP HR0 CONTINUE SKP * * HACK DETERMINES PATTERN TO BE WRITTEN INTO MEMORY * BASED ON THE EQUATIONS DEINING WORSE CASE * PATTERN FOR A PARTICULAR CPU/MEMORY TYPE * HACK NOP LDA HPFG SZA TEST FOR PATTERN CHG JSB HSACK LDA HADDR AND HMS1,I AND ADDRESS WITH MASK 1 ALF,ALF RAL,RAL POSITION BITS STA HRNS1 JSB HPS LDA HMS2,I SZA TEST FOR ONE TERM JMP HACK1 NO LDA HMSV2 SZA TEST PARITY FOR "0" ISZ HACK JMP HACK,I EXIT HACK1 AND HADDR SZA,RSS TEST FOR T OR F JMP HACK2 F CLA,INA AND HMSV1 STA HMSV3 SAVE AND TERM 1 CLA JMP HACK3 HACK2 STA HMSV3 SAVE AND TERM 1 CLA,INA AND HMSV2 HACK3 STA HMSV4 SAVE AND TERM 2 IOR HMSV3 FORM OR OF TERM 1 & 2 SZA TEST FOR "0" ISZ HACK JMP HACK,I EXIT HMS1 OCT 0 TEMP STORAGE FOR MSK PTR HMS2 OCT 0 TEMP STORAGE FOR MSK PTR HMSV1 OCT 0 PARITY (T) HMSV2 OCT 0 PARITY (F) HMSV3 OCT 0 AND TERM 1 HMSV4 OCT 0 AND TERM 2 HMSK1 DEF * POINTER TO START OF 1ST MASK TBL OCT 41 2116A OCT 3 2116B OCT 140 2116C OCT 101 2115A OCT 101 2114A OCT 101 2114B OCT 140 2100A OCT 100 210XX OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 HMSK2 DEF * POINTER TO START OF 2ND MASK TBL OCT 100 OCT 200 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 SPC 3 * * HSACK PERFORMS SECOND PATTERN GENERATION * FROM ADDRESS BITS IN TABLE FOR * VARIOUS CPU/MEMORIES * HSACK NOP LDA HACK STA HSACK FORM NEW EXIT LDA HSDS1,I PICK UP MASK AND HADDR AND ADDRESS BITS SZA TEST FOR "0" ISZ HSACK JMP HSACK,I EXIT HPFG OCT 0 HSDS1 OCT 0 HSDM1 DEF *+1 OCT 1 210X OCT 0 210XX SPC 2 HDACK NOP LDA HADDR LOAD CURRENT ADDRESS AND HMSK3 MASK BITS 0+5 CPA HMSK3 JMP HDACK,I EXIT SZA ISZ HDACK JMP HDACK,I EXIT HMSK3 OCT 101 HJC1 JSB HACK HJC2 JSB HDACK SKP * * HCMP SAVES CURRENT PATTERN,WRITES/READS/TESTS * COMPLIMENT PATTERN AND RESTORES OLD PATTERN * FOR EACH LOCATION TESTED * HCMP NOP LDA HGDS LOAD GOOD DATA CMA COMPLIMENT CURRENT PATTERN STA HHLD2 SAVE STA HADDR,I WRITE IT BACK LDB HADDR,I READ IT BACK CPB HHLD2 IS OK ? RSS JSB HER1 NO LDA HGDS RELOAD DATA STA HADDR,I WRITE IT BACK JMP HCMP,I EXIT HGDS OCT 0 SKP *************** HI MEMORY RANDOM NUM.TEST ************************* * * HRNT PERFORMS RANDOM PATTERN TESTING OF MEMORY * HRNT NOP LDA HB60 STA HHLTS SAVE HALT TYPE LDA HRN HRN0 STA HRNS INITIALIZE RNDM NO STORAGE STA HRNTS CLO INDICATE WRITING MEMORY LDA HFWA STA HADDR INITIALIZE 1ST ADDR HRN1 JSB HRNG GENERATE RNDM NUMBER STA HADDR,I STORE NUMBER IN TEST ADR LDA HADDR CPA HLWA LAST ADDR ? JMP *+3 ISZ HADDR BUMP ADDR JMP HRN1 NO STO INDICATE READING MEMORY LDA HFWA YES STA HADDR INITIALIZE 1ST ADDR LDA HRNTS STA HRNS INITIALIZE RNDM NO STORAGE HRN2 JSB HRNG GENERATE RNDM NUMBER LDB HADDR,I CPB HRNS TEST (ADR) RSS JSB HER1 BAD LDA HADDR GOOD CPA HLWA LAST ADDR ? JMP *+3 ISZ HADDR JMP HRN2 NO JSB HRST TEST FOR PGM RESTART NOP JMP *+2 JMP HRNT,I EXIT LDA HRNS JMP HRN0 HRN OCT 177777 RNDM NO HRNS OCT 0 RNDM NO STORAGE HRNTS OCT 0 SKP * * HRNG PERFORMS ACTUAL RANDOM NUMBER GENERATION * * ******** RANDOM PATTERN GENERATION ********************************* * * (1) INITIALIZE PATTERN (RPS _ 1'S) * * (2) AND OFF BITS 11,13,14,16 * * (3) FORM EXCLUSIVE OR OF BITS (PARITY SUM) * * (4) LEFT SHIFT RNDM PATTERN SHIFTING IN PARITY SUM * TO BIT O * * (5) TEST FOR ALL O'S AND DO (1) IF T, (6) IF F * * (6) EXIT * HRNG NOP JSB HRST TEST FOR PROGRAM RESTART LDA HRNS AND HRNM MASK NO FOR BITS 11,13,14,16 RAL POSITION BITS STA HRNS1 SAVE JSB HPS FORM PARITY LDA HRNS RAL SHIFT AND HBT0 ADA HMSV1 SZA,RSS TEST FOR "0" LDA HRN STA HRNS SAVE STA HHLD2 JMP HRNG,I HRNM OCT 132000 BIT MASK HBT0 OCT 177776 BIT O MASK SKP * * HPS GENERATES THE PARITY OF THE BITS IN RSN1 * GENERATOR IS A TOGGLING FLIPFLOP INITIALLY * CLEARED * HPS NOP LDA HDM7 STA HRCT INITIALIZE COUNT LDA HRNS1 CLB CLEAR FLOP HPS1 SLA,RSS JMP HPS2 CMB TOGGLE FLIP FLOP HPS2 RAL NEXT BIT ISZ HRCT LAST BIT JMP HPS1 NO SZB TEST FOR PARITY "0" JMP HPS3 "1" STB HMSV1 SAVE T.P. INB JMP HPS4 HPS3 CLB,INB STB HMSV1 SAVE T.P. CLB HPS4 STB HMSV2 SAVE F.P. JMP HPS,I EXIT HRNS1 OCT 0 HDM7 DEC -7 HRCT OCT 0 CTR STORAGE SKP * * HER1 IS THE COMMON ERROR REPORTING SUBROUTINE WHICH * * (1) CHECKS FOR ERROR HALT * * (2) FORMS HALT TYPE * * (3) CHECKS FOR ERROR TO BE PUT IN TABLE * HER1 NOP STB HHLD1 SAVE BAD DATA LDA HHLT IOR HHLTS OR IN HALT TYPE STA HHLT0 INA STA HHLT1 JSB HCHK CHECK TO SEE IF HLT REQUESTED HHLT0 HLT 10B LDA HADDR HHLT1 HLT 11B LDA HSAVA LDB HSAVB JMP HER1,I EXIT HHLD1 OCT 0 TEMP. STORAGE FOR BAD DATA HHLD2 OCT 0 TEMP. STORAGE FOR GOOD DATA SPC 3 * * HCHK CHECKS TO SEE IF ERROR HALT IS BEING REQUESTED * HCHK NOP STO SET OVERFLOW (ERROR) LIA SWR ALL ENTRIES CHECKED RAL,RAL SLA SUPPRESS ERROR HALT ? ̷JMP HNHLT YES LDA HHLD2 LDB HHLD1 JMP HCHK,I NO HNHLT LDA HCHK ADA HA3 MODIFY RETURN ADDR JMP A,I RETURN HA3 OCT 3 SKP SKP * * RELOCATION ROUTINE * * RELOCATES LOWER PROGRAM MODULE (2-1777) TO UPPER MEMORY * MODULE(3500-5475). * UPPER NOP LDA B10 SAVE STA HHLTS HALT TYPE LDA H3500 SET STA PMOVE LIMITS OF LDB B2 THE MOVE LOOP4 EQU * LDA B,I TRANSFER STA PMOVE,I A WORD INB BUMP ISZ PMOVE POINTERS CPB B2000 DONE? RSS JMP LOOP4 NO LDA H3500 YES.REINITIALIZE STA PMOVE THE MOVE LDB B2 LIMITS LOOP2 EQU * LDA PMOVE,I COMPARE MOVED CPA B,I CONTENTS JMP NEXT1 OK.GO ON STB HSAVB SAVE B REG LDB B,I GET GOOD DATA SWP STA HHLD2 SAVE GOOD DATA STA HSAVA SAVE A REG JSB HER1 GO HALT FOR ERROR NEXT1 EQU * ISZ PMOVE BUMP INB POINTERS CPB B2000 DONE? JMP UPPER,I YES JMP LOOP2 NO SKP * * RELOCATION ROUTINE * * RELOCATES UPPER MEMORY MODULE (3500-5475) TO LOWER PROGRAM * MODULE(2-1777) * LOWER NOP LDA B10 SAVE STA HHLTS HALT TYPE LDA H3500 SET STA PMOVE MOVE LDB B2 LIMITS LOOP3 EQU * LDA PMOVE,I TRANSFER STA B,I A WORD LDA B,I COMPARE THE CPA PMOVE,I CONTENTS MOVED JMP NEXT2 OK.GO ON STB HSAVB SAVE B REG LDB PMOVE,I GET GOOD DATA SWP STA HHLD2 SAVE GOOD DATA STA HSAVA SAVE A REG JSB HER1 GO HALT FOR ERROR NEXT2 EQU * ISZ PMOVE BUMP INB POINTERS CPB B2000 DONE? JMP LOWER,I YES JMP LOOP3 NO 640PMOVE EQU HADDR B2 OCT 2 B2000 OCT 2000 B10 OCT 10 H3500 OCT 3500 * * * HINIT INITIALIZES INT LOC 4,5 * HINIT NOP LDA HLT4C STA 4B PRIME POWER INT LDA HJPE STA 5B PRIME P.E. INT JMP HINIT,I SKP * * HMPPE PARITY/MEMORY PROTECT INT HANDLER * HMPPE NOP STA HSAVA SAVE A STB HSAVB SAVE B LIA 5 SSA TEST FOR JMP *+3 MEMORY OCT 106005 PROTECT JMP HMP1+2 INT. AND HMSB READ ERROR ADR AND MASK OUT BT15 CMA,INA 2'S COMP OF P.E. ADDR IN A LDB HSTBL+2 ADB A SSB TEST FOR P.E. IN TEST AREA JMP HPGM PGM AREA LDA HHLD2 LOAD CURRENT PATTERN CPA HSAVB LOAD PARITY ERROR PATTERN JMP HMP1 ERROR IS BIT HMP0 STF 5 TURN ON PARITY LDA HSAVA RESTORE A LDB HSAVB RESTORE B JMP HMPPE,I EXIT HMP1 LDB HADDR LOAD ADDR HLT 13B PARITY ERROR JMP HMP0 EXIT HPGM LIA 5 AND HMSB LDB A,I HLT 7B A= ADDR B= (ADDR) STB A,I RESTORE (P.E. ADDR) STF 5 JMP HPE2 RESTART HSAVA OCT 0 SAVE AREA HSAVB OCT 0 SAVE AREA HLT4C HLT 4,C HJPE JSB 3B,I FWAM EQU * END 36   24324-18001 1431 S 0122 0124324A 2100 SERIES MEM PRT DIAGNOSTIC             H0101 w* ASMBAB̬ HD00SSMPUҠMMYPԠDAGNS G00B DAGNSàHKSMMYPԠPAN DAGNSàASSUMSHŠNGSSHAVŠBNUN MMYNŠGUPDSN0000 A-SKPGUPDSN000 SH-AŠGUPDSN000 ɯϠGUPDSN0003 AUGUPDSN000 UNSNKMMY YPŠUD DAGNSàNGUAҠSUD DAGNSàSA̠NϠ(DSN000 PANGNSUNS: .ADANDNGUŠDAGNSàNGUA. .ADMPҠDAGNS. 3.SԠPGSҠϠ00. .SԠPGAMPNSNSHGS. 5.PSSPS(N..ƠPSNԩANDUN. SKP SHGSҠPNS BԠMANNG 0-SVD SUPPSSPAҠNVNN 9SVD 0SUPPSSPAҠMSSAGS SUPPSSҠMSSAGS PNDAGNS.AҠϠHAԠAԠNDƠPASS. 3PNS SUPPSSҠHAS 5HAԠNS MPUҠHAS HAԠMANNG 00ؠҠHAԠ(ؽ0-6 00NDƠSԠHA 00NDƠSԠHA 003NDƠSԠHA 003NDƠSԠHA 00NDƠSԠHA 0053NDƠSԠHA 060ؠUNPDAP̠HA 0000AUM.P. SKP SԱMPSҬ SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU $Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY G6B Ԡ000DAGNSàSA̠NUMB SPà SϠUB ϠU5B DSàU6B MSZŠUB SPà SKP SPà נMMYPGAMSABSANDNSANS SPà G30B MPSҬ NP PSBPDPAŠD SZV SZN SZNà(NŠ- PSBMDMVŠD SBSDSԠDŠƠSPA̠S DAN PANDSHSHŠND? MP+6YS AMPNMNԠHŠN SƠ0NABŠNS SàMPUNNMP NP MPNŬɠUŠSPA̠S SBPDPAŠDŠBŠNGP MP+ DƠҲ(BAKϠMANPGAM SPà BNԠDƠ+ NP SZBN+ MPBN+ ZDNP ZŠMP+ DƠZű ZƠDƠ+ MP+ DƠZŲ ZGNP MPZG ZHDƠ+ NP MP- AƠMP+ DƠAN ANNP MP- ʱSB+ DƠNԱ ʠàMP DAAɠDƠDAA ҠNP NDNP NàNPNŠ- NŠNP V̠NP SNP P00Ԡ00 P0Ԡ-0 AԠ ABNP ABDƠAB ABBSS0BMPAYSAGŠAA SKP SPà SPA̠SԠPGAMHAԠSUDN A̠ƠMMY SPà ABNP ABDƠAB ABDANìɠNԠ ʲSANìɠNԠNϠҬNϠNԠ SàMPŠNԠϠPԠ DANŬɠNԠ SANŬɠNԠ àMPNԠNϠҬNϠNԠ Ơ0NԠ MPجɠNϠNԬPԠ SPà ؠDƠ+PNϠNSAҠUNGSPA SBPDPGAM DAN DBŲ SBDAAɬ 33SBҬɠNϠNUPS MPP+ SPà PDNPPAŠD DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPPD SPà MDNPMVŠD DAP0 SA DAAB SAAB DBN DAB SAAB NB SZAB SZ MP-5 MPMD SPà SDNPSԠSPA̠D DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPSD SPà NԱNP Ơ0 AMP SSAHK MPMPҠMMYPAY DBA PBʲSԠGA̠N? MPSԠYSNNUŠSPA̠S PBʠSԠGA̠N? MPPYSSPSԠKSϠYAGAN SBSSAVŠBMP SBPDPAŠD DAS DBV SBDAAɬɠNSUNNMSG AMP DB SBDAAɬɠVAN.NMSG DAN DBN SBDAAɬɠNŠ.NMSG 3SBҬɠGA̠NUP MPP+ SԠSBV AMP ADAA SƠ0NABŠNS SàMPUNNMP NP MPAɠUNϠSPA̠S SPà VؠNP AMP PAV̠V̠GK? MPVجɠYS SAS SBPD DAS DBV SBDAAɬɠNԠDAANMSG DAV DBVSԠDAA SBDAAɬɠNMSG 3SBҬɠVANGSҠN MPP+ SKP SPà MMNABSANDNSANS SPà àABS- ҠDƠ+ҠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠű0 DƠű DƠű DƠű6 DƠű DƠŲ0 DƠŲ DƠŲ DƠŲ3 DƠŲ5 DƠŲ6 DƠŲ DƠ30 DƠ3 DƠ33 DƠ3 DƠŴ0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠŷ ҠDƠ SKP SPà MɠDƠMSSAGŠADDSSAB DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM0 DƠM DƠM DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM33 DƠM3 DƠM0 DƠM50 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM SKP SPà M̠DƠMSSAGŠNGHAB DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̱0 DƠ̱ DƠ̱ DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ33 DƠ3 DƠ̴0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ̷ SKP SPà SԠDƠ+ABŠƠSԠDSϠB DƠHMDD DƠH DƠH3 DƠH DƠH5  DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH DƠH DƠH9 DƠH30 DƠH3 DƠ DƠH DƠDH DƠHԷ ASԠDƠ- SKP SPà A00ԠMMNNSANSANDSYMBS A0003Ԡ3 A000Ԡ00 MNԠ6 MN3Ԡ5 HԠԠ0600 ؠƠH 0Ơ0 A03Ԡ3 DŠԠ0000 MN0Ԡ-0 MPKMP+ DƠK MPؠMP+ DƠN NYNP NP NؠԠ000 Ԡ000 NNP NP NؠDƠ+ NP NP A0300Ԡ300 ANŠDƠA ANàDƠAN NDƠM3+ ŠDƠM3+30 VԠDƠM3+39 ŲDƠM33+ VɠDƠM3+0 VSDƠM3+9 MPɠDƠMP SBɠDƠSB MSABSM+ MDABSM+30 MƱABSM+ P0000Ԡ0000 HҠNP HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN HԷԠ0000 DHNP ϠNP SPNP ̠Ԡ ɠDƠ+ Ԡ006Ҭ SAɠDƠSA àDƠM0+36 V̠DƠM0+5 ɠDƠM0+6 MàDƠM50+3 ŠDƠM50+0 NSԠDƠM50+3 MòDƠM5+33 ŲDƠM5+ NSԲDƠM5+5 ZAԠ3 ZBԠ6 ZàԠ6 AUϠԠ MMSKԠ0000 MNàԠ6 AԠ MPBԠ5 PASSNPPASSUN MPԠ0 MPU5MMYP AU0AG BUBG HU0BNA̠VAUŠƠSԠD SKɠDƠSKNDԠADDSSS SBSBұɠNUPԠUN ҠDƠ ADDSDƠNP+ ʱSB+ DƠNԱ ʲSB+ DƠNԲ ʴSB+ DƠNԴ 5SB+ DƠN5 6SB+ DƠN6 ʷSB+ DƠNԷ 9SB <+ DƠN9 ʱ0SB+ DƠNԱ0 ʱSB+ DƠNԱ ʱ3SB+ DƠNԱ3 ʱSB+ DƠNԱ ʱ5SB+ DƠNԱ5 ʱ6SB+ DƠNԱ6 ʱSB+ DƠNԱ ʲ0SB+ DƠNԲ0 ʲSB+ DƠNԲ ʲSB+ DƠNԲ MɷDƠM MDƠ̷ MɱDƠM MDƠ̱ Mɱ3DƠM3 M3DƠ̱3 Mɱ5DƠM5 M5DƠ̱5 MɲDƠM MDƠ̲ M3DƠM3 M3DƠ3 M3DƠM3 M3DƠ3 MɴDƠM MDƠ̴ M53DƠM53 M53DƠ53 M66DƠ66 M66DƠM66 MɷDƠM MDƠ̷ ұDƠN SҠDƠSA HԠNP DAHA DBHB HSàH HSƠH MPHԬ SKP MMYPAYҠUN MPҠU à0àUNVYHNG Ơ5UNƠP..G A5 SAMPSAVŠVANGS ASUPPSS AƠ SSAMSSAG? MPNԱYS ŠN.NV DAMPϠAS DBP66ANDPUԠN SBBɠMSSAGŠ.66 DAM66P DBM66 SBY.Ϭɠ.66 NԱU DAMPPUԠVANG.NA HԠ66BHA-VAB MP-GϠϠANHҠDAGNS MPBSS P66DƠM66APNҠϠV.GNM66 HDNAZANPGAM HSPGAMSSAP ̠HASNA̠ɯϠANSANDMDSHŠPN ɯϠNSUNSNDVASHGS SPà G000B SAԠà0àUNVYHNG ANAZ SAPASSPASSUN DAMSZ ANDMMSKSAVŠMDBS ADAMN SAHҠSAVŠ*($ASԠ. SPà DBA DAHԠAP̠HA SAB NB NA PBA000AP̠HASMP? SSYS MP-5NϬPA DAS ANDA00SAVŠBS0-5 SA SZAYSàPSNԠ? SSYS MPNԲN DBSԠMDYɯϠNSUNS SBSP ̠DBSP DAB ANDP00 Ҡ SAB PBASԬɠNSHD? MP+3YS SZSP MP SBSKɬ DA DB SBY.ϬɠUPUԠҬ SBSKɬ DAM5 DBMɱ5 SBY.ϬɠHADNGMSSAG NԲU DAϠY SZASSPSN? MPMPϠN HDBɯϠ-BASàɯϠS o*   24324-18002 1431 S 0122 0224324A 2100 SERIES MEM PRT DIAGNOSTIC             H0101 x+ HSPGAMSSHŠPNҠɯ SPà SԠABYϠSԠANDAҠHŠHANN̠AG SPà BɯϠà0àUNVYHNG DAHAAP̠HAS DBHB HƠHAҠHANN̠AG HSSH SSƠDDNԠAҠAGҠSS űSBҬɠAUSDSKPHAGA H3SàH ŲSBҬɠSàNϠSKPHAGA HSƠH H5SàH SSSƠDDNԠSԠAGҠS 3SBҬɠAUSDSKPHAGS H6SSH ŴSBҬɠSSNϠSKPHAGS SKP SPà SԠNUPԠAPABY SPà DASBSԠNUPԠAP SADH DAHAAP̠HAS DBHB HSàHSԠHANN̠ϠUS H9SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 5SBҬɠDDNԠNUP MP NNPNUPԠSUBUN Ơ0DSABŠNUPS DAHàAP̠HA SADH SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠN DANDDNUPԠUҠAԠH PAADDSԠMMAN? SS 6SBҬɠUNADDSSSN SBNHANGŠN SKP SPà SԠN̠S SPà ҠDAHàAP̠HAS SADH SBH à0SHUDAҠA̠N̠BS SƠ0NAB NPfSHUDN NPNUPԠH Ơ0 HàH ASHG AƬA̠HK A̬A̠BԠ SSAS? MPGD SBSKɬɠNԠS DAM DBMɷ SBY.Ϭ à0 DBHB DAHA H0SàH H3ƠHAҠAG SƠ0 HHԠ SKP SPà PSԠSԠ SPà HSSH ű0SBҬɠPSԠDDNԠSԠAG Ơ0 SBH NPSHUDN NPNUPԠH GDà0àUNVYHNG DAH SADHɠSԠAP̠HA ASנGBԠ5 SSASSSKPƠS MPH+NԠSԬNNUŠAU SBSKɬɠUNSM-AU DAM DBMɱ SBY.ϬɠS A HHԠBNDBɯ ASנGϠA A̬A̠HKBԠ3 SSAYŠS? MPBɯϠYSPA HDMP HSPGAMSSHŠMMYPԠɯϠNSUNSH AANDBGSSHŠPSԠSH MPNUPNGBUԠANGϠPԠMMYND UMPNUPԠGAŬANDNDԠADDSSNGHUGH PDAAS SPà HSSNSSHŠSìABAAND BNSUNSҠHŠMPPN SPà MPϠà0àUNVYHNG DAʱ6SԠNԠADDSS SAMP DAN SAN AMP SƠ0 SàMP NP SAҠSAN Ơ0ŠNԠANDUN+ 6SBҬɠNϠNUPԬSàҠAMGH MPBҠHAVŠADҠNϠMPNSAD SPà NԱ6NP Ơ0 AMP SSAHK MPMPҠMMYPAY DBA PB0ASԠƠ0? MP6YS PASAɠMPAŠV̠GHàSA SS 63SBҬɠNԠNԠNGHԠPAŬA BMPMGHԠHAVŠAD SSBHK MPMPҠMMYPAY PBSA SS 6SBҬɠNԠNԠNGHԠPAŬB SPà BҠà0àUNVYHNG DAʱSԠNUPԠNAD SAMP DBN SBN BMP SƠ0 SàMP NP SBN Ơ0ŠNԠANDUN+ 65SBҬɠNϠNUPԬSìBMGH MPANBHAVŠADҠNϠMPNSAD SPà NԱNP Ơ0 AMP SSAHK MPMPҠMMYPAY DBA PB0 MP65 SKP SPà SԠHŠAANDBGSS SPà ANBà0àUNVYHNG DAʱSԠNUPԠNAD SAMP DAN SAN SAN AMP SƠ0NABŠNS SàMPUNNMMP NP SABSHUDNԠNԠH SBAҠH Ơ0BUԠKH MPPS SPà NԱNPAANDBGSҠNԠUN Ơ0 AMPVANGSҠNNSϠA SSAHK MPMPҠMMYPAY DAAɠNSUNϠA PA0GA̠N? MPPSԠYS DBMSPԠHŠ SBDAANSUNNϠMSG AMP DBMD SBDAAANNϠMSG DAN DBMƱ SBDAANŠNϠMSG űSBҬɠAANDBGSҠSԠAD SKP SPà SԠABYƠPSԠϠUNƠMMYs|P SPà PSԠASנG AƬAƠHK AҠBԠ SSASKPSԠƠN MPPV DAϠY SZASSPSN? MPPVϠN.AN'ԠPMPԠPA-SKP SBSKɬɠNԠS DAM3 DBMɱ3 SBY.Ϭ à0àUNVYHNG DAʲSԠNUPԠADDSS SAMP DAN SAN AMP SƠ0 SàMPUNNMP DAD5 SBBɠMŠUԠҠ5SS. SƠ0NABŠNS-SHUDAUS DAN SAN Ơ0 MPPVϠSԠK D5Dà5000 SPà NԲNP Ơ0 AMP SSAHK MPMPҠMMYPAY űSBҬɠPSԠDDNԠUNƠMP SKP SPà SԠҠMMYPԠϠNUPԠAND S̠A̠ϠPԠMMY SPà PVϠà0àUNVYHNG DAʱ5SԠUPNPԠUNADDSS SAMP DAN SAN AMP SƠ0 SàMP A SAN Ơ0ŠNԠANDUN+ 60SBҬɠNϠNUP MP SPà NԱ5NP Ơ0 AMP SSAHK MPMPҠMMYPAY DAA PA0 MP60 DAN PAN SS 6SBҬɠMPNԠANDVANUD SKP SPà SԠNDԠUMPNUPԠGA BYSNGAGϠANDUNGSBBNԬ.ƠGAŠSBAD PHASŠƠHŠNGNSUN̠BŠUDHHN HSASŠSA. SPà ɠà0àUNVYHNG DAʴSԠNUPԠNAD SAMP DAN SAN AMP SƠ0 SàMPUNNMP ANA SBBNԬɠSHUDNԠHŠANDUNA ANԠS Ơ0ŠNԠϠDSABŠMP űSBҬɠNϠNUP MPAPA SPà NԴNP Ơ0 SZA MP+3 ű6SBҬɠGAŠAD MPAPA AMP SSAHK MPMPҠMMYPAY DAA PA0 MPű MPAPA SKP SPà SԠNDԠADDSSNGHUGHPDAAS SPà APAà0àUNVYHNG DA5 SAMPSԠNUPԠADDSS DAN SAN AMP SƠ0 SàMPUNNMP DAN SAN Ơ0NUPԠHŠANDUN Ų3SBҬɠADϠNP MP SPà N5NP Ơ0 AMPV̠G SSAHK MPMPҠMMYPAY DAAɠNSԠϠA PA0GA? SSYSPD Ų0SBҬɠNDԠADDSSNGHUGH SKP SPà SԠAP̠NSUNS SPà ANɯϠNSUNUDNAP̠̠NԠUNƠMP AND̠NԠAUSŠANMPNUP SPà ɠà0àUNVYHNG DAϠSHŠA SZASSNSŠDV? MPAԠN.GϠUSŠANAŠSԠSN DAؠSԠɯϠNSҠNAP SADHɠ̠(PNҩ DA6 SAMPSԠNԠADD DAN SAN AMP SBH SƠ0 SàMPUNNMP NPҠ̠AUSŠN NP Ơ0 MPŲ SKP SPà ANNɯϠNSUNUDNAP̠̠UNƠMP AND̠NԠAUSŠANMPNUP SPà` NϠà0àUNVYHNG DAMPؠSԠNNɯϠNSҠNAP SADHɠ DAʷ SAMPSԠNԠN DAN SAN AMP SBH SƠ0 SàMPUNNMP NPSHUDNԠH NɠƠ0NԠHŠS SPà ASנG5 SSASS MPH+ SBSKɬɠUNSM-AU DAM DBMɲ SBY.Ϭ HHԠBNDMP A A̬A̠HKBԠ3 SSAYŠS? MPMPϠYS MPɠN SPà N6NP Ơ0 à0 AMPVANG SSAHK MPMPҠMMYPAY DAA PA0 SS ŲSBҬɠϠAP̠NSԠ MPN SPà NԷNP Ơ0 à0 ŲSBҬɠNNɯϠAP̠NSԠ MPN+ HD SSҠHANDNDԠMPANDSBNUPSAҠH SNDV̠ƠNDԠADDSSNG SPà ɠà0àUNVYHNG DAϠSHŠANS SZASSDV? MPҠN.SKPHSSN DAHԠSԠMPNSUN NA SAMPSԠAP̠HAԠNMP DA9 SADHɠSԠNԠADDSS SBH SƠ0 MP+ɠSԠSASH. DƠ+ MP+ɠ DƠ+ɠ DƠ+NUPSSHUDBŠDSABD MP+ɠ DƠ+ɠ DƠ+ɠSHUDNUPԠHŠANDUN DƠ+AԠɲ MPɠƠ0 Ų5SBҬɠNϠNUPԠAҠSNDV SPà ɲà0àUNVYHNG DAʱ0SԠSBNS SADHɠSԠNԠADDSS SBH SƠ0 SB+ɠNSSHUDBŠDSABD DƠ+ NP SB+ɠ DƠ+ɠ DƠ+ NP SBɠSB+ɠ DƠ+ DƠ+ɠ DƠ+ɠSHUDNUPԠHŠANDUN DƠ+AԠ3 NP Ơ0 ŲSBҬɠNϠNԠAҠ3DV 3à0àUNVYHNG DAHàSԠAP̠HA SADH à0 ASנGBԠ5 SSASS MPH3+NNUŠAU SBSKɬɠUNSM-AU DAM3 DBM3 SBY.Ϭ H3HԠ3BND A A̬A̠HKBԠ3 SSAYŠS? MPɠYS MPҠN SPà N9NP Ơ0 DAN9DDNԠUҠAԠHŠ PAMPɠMMYAN? SS Ų6SBҬɠNԠNADDҠHAND MPɲNDԠMPNUPS SPà NԱ0NP Ơ0 DANԱ0DDNԠUҠAԠHŠ PASBɠMMYAN? SS 30SBҬɠNԠNADDҠHAND MP3NDԠSBNUPS HDA PMSPAA̠SSҠɠANDNϠUSNGAP 5NSADƠANɯϠSԠD. AԠU ANNɯϠNSUNUDNAAP̠̠UN MMYPԠANDNԠAUSŠAMPVAN. ŠSԠŠGҠS DAɠPUԠAŠNSUN SAMPNAP DAASԠNŠ AMPUA̠ SƠ0UNNNUPԠSYSM SàMPUNN6MMYP SA3SA3VAŠMP NPŠNAP̠SHUDU SZDD? MPҷN. DAʷSԠAP̠ SAMPNUPԠϠNԷ AMPGԠVANGSԠMP SSAPAY? MPMPҠYS DAAɠGԠVANGNSUN PASA3SHUDBŠSA3 SSK MPҷN. à0àUNVYHNG MPAMPAԱNNU ҷUNNɯϠNSUN DAMPASԠNԷϠUN SAŲ+ϠSԠAԱ MPNԷ+GϠ HDAԱ ANɯϠNSUNUDNAAP̠̠NԠUN ƠMPҠAUSŠAMPVAN. AԱU DAA0ɠPUԠAA0NSUN SAMPNAP DAASԠN AMPϠ(ƠAD ASԠAA̠'S SƠ0UNNNUPԠSYSM SàMPUNNMP SA3VAŠMP NPA0NAP̠SHUDU SZADD? MP6N. DAMPKPUԠAMPKNSUN SAMPNHŠAP SAVAŠMPϠHKMPS̠N NPSHUDGϠϠAB̠K 6UɯϠNSUN DAMPؠSԠN6ϠUN SAŲ+ϠN MPŲGϠ KU AMPGԠVANG SSASԠPAY? MPMPҠYS DAAɠGԠVANGNSUN PASA3SHUDBŠSA3 SSYS.K MP6N. à0àUNVYHNG MPNɠNNU ɠ AԠ A0ɠA0 HD HSPGAMSS: C640 .SàMP(UNNMMYPԩ MPMɠHŠMSABVŠHŠNŠҠMMY00B ϠHҬ .GA̠NUPSANDNϠNUPSHNSNGVAN ANDNN-VANNSUNSNBHSDSƠHŠNŠ MMY00BϠHҬ 3.HŠVANGSҠҠMMY00BϠH. (HҠSUNDNNAZANPGAM SPà HŠPGAMSNAZDHŠANDHNUDN MMYBנ00B.AҠHSPGAMHASBNUD N̠̠UNAԠҲ. SPà Ҡà0àUNVYHNG DAA03 SANàNAZ NAPNS SANŠAND NA SAV DAMN0NDƠP ADAHҠAND SANDHN DAʱ SAMPSԠNԠADDSS MPP ҲAANDUNH SSASS MPH3+NNUŠAU SBSKɬɠUNSM-AU DAM3 DBM3 SBY.Ϭ H3HԠ3BND A A̬A̠HKBԠ3 SSAYŠS? MPҠYS MPNVɠN HDNV +S6   24324-18003 1431 S 0122 0324324A 2100 SERIES MEM PRT DIAGNOSTIC             H0101 y, HSPGAMSSA̠NN-VANNSUNSNUDNG HŠAUNSUNS(ƠSD SPà NVɠà0àUNVYHNG DAʱ SAMPSԠNԠADDSS DAA0300 SAN AMP SƠ0 SàMPUNNMP NP AUŠA̠NN-VAN SZANSUNS NP SZA MP+ SB+ NP ADAZA ADBZA DAZB DBZA SAZB SBZA ANDZB ҠZB ҠZB PAZB NP PBZA NP AS BS AS BS A B A B A B A B A B A B SA NP SB NP A B MA MB B M SZ SSA SSB NA NB SZA NP SZB NP S S SS NP SS NP DA ANDAU SZASSSԠҠAUPSN MPNVŠN Ԡ0000MPY DƠZ B Ԡ0000DV DƠZ Ԡ000DD DƠZA Ԡ000DS DƠZA Ԡ0033AS Ԡ00033AS Ԡ0 Ԡ00 Ԡ005S Ԡ0005S NVŠƠ0ŠNԠϠNDS ASנGBԠ5 SSASS MPH+NNUŠAU SBSKɬɠUNSM-AU DAM DBMɴ SBY.Ϭ HHԠBNDNV A A̬A̠HKBԠ3 SSAYŠS? MPNVɠYS MPVɠN SPà NԱNP Ơ0 AMP SSAHK MPMPҠMMYPAY DAA PA0GA̠N? MPNV+YS DB SBDAANSԠNMSG DAN DB SBDAANŠNMSG AMP DBV SBDAAV̠NMSG Ŵ0SBҬɠGA̠NUP MPNV HDV HSPGAMSSA̠VANNSUNSNUDNGH AUNSUNS(ƠSDANDHŠHAԠNSUNHA SSPAYDD(0000 SPà Vɠà0àUNVYHNG DAN SAN SAN AMP DAʲ0 SAMP SBN MPZŠDԠUMPNϠMPAA ZűSBNN DAʲ SAMP SBN MPZƬɠMPHUMPNϠMPAA ZŲSBNN DAʲ SAMP SBN MPANŬɠMPHUNN-MPNϠMPAA ANSBNN DAʱ3 SAMP SBN SBZGDԠSBNϠMPAA SBNN SBN SBZHɠSBHUMPNϠMPAA SBNN SBN SBANìɠSBHUNN-MPNϠMPAA SBNN A SAZD SBN SZZD SBNN SBN SAZD SBNN SBN SBZD SBNN SBN SàMP SBNN SBN AMP SBNN SBN BMP SBNN SBN MAMP SBNN SBN MBMP SBNN SBN DAN AMP SBNN SBN DBN BMP SBNN SBN SƠMP SBNN SBN ƠMP SBNN SƠ5NABŠP..G HàH HSƠH SBN H9SàH SBNN H30àH SBN H3SSH SBNN DA ANDAU SZASSSԠҠAUPSN MPVŠN SBN DADŠ0000 SA+ HԠ0 SBNN A SANY SANY+ DAʱ SAMPSԠNԠUN SƠ0 SàMPUNNMP A Ԡ000DD DƠN Ԡ000DSԠ DƠNY SBNN VSԠDANY SZA MPŷ DANY+ SZA ŷSBҬ VŠASנG SSASSHKBԠ5 MPH53+NNUŠAU SBSKɬɠUNSM-AU DAM53 DBM53 SBY.Ϭ H53HԠ53BNDV A A̬A̠HKBԠ3 SSAYŠS? MPVɠYS MPNDN SPà NNԠNPNϠNUPԠҠUN Ơ0UN+ à0àUNVYHNG DAMNMNUS ADANN DBM SBDAAɬɠMMàNMSG DAN DB SBDAAɬɠNŠNMSG DAMNMNUS ADANN DAA DBNS SBDAAɬɠNSԠNMSG 50SBҬɠNϠNUP SƠ5NABŠP..G MPNNԬ SPà NNNPNϠNUPԠҠUNŠ-AU Ơ0 à0àUNVYHNG DAMN3MNUS3 ADANN DBMò SBDAAɬɠMMàNMSG DAN DBŲ SBDAAɬɠNŠNMSG DAMN3MNUS3 ADANN -DAA DBNSԲ SBDAAɬɠNSԠNMSG 5SBҬɠNϠNUPԠ-AU MPNN SPà N̠NPNAZ: SƠ0NUPSAND SàMPMMYP. NP MPN̬ SPà NԱ3NP SƠ5NABŠP..G SBNA NB MPBɠUN+ SPà NԱNP SBNA MPVS SPà NԲ0NP SBNA MPZű+ SPà NԲNP SBNA MPZŲ+ SPà NԲNP SBNA MPAN+ SPà NANP Ơ0 BMP SSBHK MPMPҠMMYPAY DAB NB PA0 MPB MPNA HDSVŠANDSUBUNS NDNP SZPASSBUMPPASSUN NP DAPASSNVԠPASS DBPUNԠ SBBɠAS SBSKɬɠHKҠMSSAGŠSUPPSS DAM DBMɷ SBY.Ϭɠ̠PAҠSԠSNSHD AHK AƬAҠBԠ SSAPNDAGNS? MPH+YS DAPASSN HHԠB MPNԲDϠANHҠPASS PDƠMA SKP SPà SUBUNS SPà BASàNPA̠AS ANDA00 DBA BSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì A000Ԡ D0060Ԡ30060ASɠPS SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBAMDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD NBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG SKP SPà ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN PBAɠADDSSANDAB MP+5UND NA PAҠMNAŠƠPGAMMҠD HϠHԠ0 MP-5NNUŠSAH ADAàNMAZŠNUMB SAS DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB SBؠSAVŠADDSS DAϠY SZASSPSN? MPNHN AHK AƠBԠ SSAYSUPPSSD? MPNHYS DAS ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHSZNԲUNԠA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DAجɠGԠSԠDƠMSSAG ANDASAVŠBS- A̬A̠PSNBS A SAMPSAVŠSԠHAƠƠHAԠN. DB NB DBBɠGԠNDDƠMSSAG BƬB DAB ANDA ҠMPҠNSԠHA ҠHϠҠNHԠNS SAؠPUԠNN ASנGϠA A̠HKBԠ SSASSNϠHAԠUSD? ؠHԠ0NϬSϠHA MPҬ NԱNP NԲNPUNS_ SؠNP SPà SKNPHKSҠPNUԠSN Ơ0DSABŠNUPS DBSK ADBA0003MDYUNADDSS DAS SZASSYPSNԠ? MPBɠN ASנGϠA AƬA̠HKBԠ0 SSAYSUPPSSD? MPBɠYSSKPPNU MPSKɠNϬԠANDPN SKP SPà MSSAGS SPà SUP MASà30.ƠH-SSH ̱U+-M-M MASà30.ƠH-SàH ̲U+-M-M M3ASà303.SƠH-SàH 3U+-M3-M3 MASà30.SƠH-SSH ̴U+-M-M M5ASà05.DDNԠNUP 5U+-M5-M5 M6ASà506.UNADDSSN 6U+-M6-M6 MASà6H0.PSSPSԠ(ԯNԩUN ̷U+-M-M M0ASàű0.PSԠ(ԩDDNԠSԠAG ̱0U+-M0-M0 MASà0H.NDBɯ ̱U+-M-M MASà3ű.ABG.SԠAD ASàNSҠؠAS. Ԡ6 ASàAԠàجNŠG.AԠ ̱U+-M-M M3ASàH3.PSSHAԬPS(NԩUN Ԡ6 ASà0NSSHAN5S. ̱3U+-M3-M3 MASà9ű.PS(NԩDDNԠUNƠM.P. ̱U+-M-M M5ASà5HP00SSMMYP ASà05DAGNS ̱5U+-M5-M5 M6ASàű6.ҬPHASŠƠNS ASà5NGSBɠM.P.VAN Ԡ6 ASà06ASUD ̱6U+-M6-M6 MASàű.NϠM.P.NUPԠDUNGMP ̱U+-M-M M0ASà5Ų0.NDԠADDSSNGHU ASà0M.P.AAAD ̲0U+-M0-M0 MASà5Ų.ɯϠAP̠NSҠ ̲U+-M-M MASàŲ.NNɯϠAP̠NSҠ ̲U+-MX-M M3ASà5Ų3.NDԠADDSSNGHU ASàM.P.AAAD(NϠNPԩ ̲3U+-M3-M3 MASà0H.NDMP ̲U+-M-M M5ASàŲ5.NϠNUPԠNSNDV̠ ASà06MPɠHAN ̲5U+-M5-M5 M6ASàŲ6.UNADDSSNԠ ASàHANDMPɠNUPS ̲6U+-M6-M6 MASàŲ.NϠNUPԠNHDV̠ ASà06SBɠHAN ̲U+-M-M M30ASà30.UNADDSSNԠ ASàHANDSBɠNUPS 30U+-M30-M30 M3ASà0H3.ND 3U+-M3-M3 M3ASà3.GA̠NUP.NŠG. Ԡ6 ASà0VANG.جNSҠS 3U+-M3-M3 M33ASà33.NϠNP.NŠGS 33U+-M33-M33 M3ASà3.VANG.جSHUDBŠ 3U+-M3-M3 M3ASà06H3.ND 3U+-M3-M3 M0ASà0Ŵ0.NUPԠUDHŠUNG ASà09GA̠NSҠ Ԡ6 ASàNŠG.جV.G ̴0U+-M0-M0 MASà06H.NDNV ̴U+-M-M M50ASà50.NϠM.P.NUPԠA ASàUNGNSҠ Ԡ6 ASà6AԠ.جNŠAԠ 50U+-M50-M50 M5ASà5.NϠM.P.NUPԠA ASàUNGAUNSҠ Ԡ6 ASà6AԠàجNŠAԠ 5U+-M5-M5 M53ASà06H53.NDV 53U+-M53-M53 M60ASà60.NϠNUPԠHNM.P.VAD 60U+-M60-M60 M6ASà6.M.P.AAVADAND ASàM.P.NUPԠUDAԠSAMŠM 6U+-M6-M6 M6ASà6.NϠM.P.NUPԬS ASàҠANSҠMAYHAV Ԡ6 ASàADҠM.P.NԠNSAD 6U+-M6-M6 M63ASà63.M.P.NUPԠàNԠUA̹0.* ASà9ϠVANG.AMAYHAVŠAD 63U+-M63-M63 M6ASà6.M.P.NUPԠàNԠUA ASà9ϠVANG.BMAYHAVŠAD 6U+-M6-M6 M65ASà65.NϠM.P.NUPԬS ASàҠBNSҠMAYHAVŠAD 65U+-M65-M65 M66ASà.66MMYPAYҬVAN ASà06GSҠ M66ABSS3 66U+-M66-M66 MASà5ŷ.SԠDUBŠSŠAD ̷U+-M-M MASà03PASS MABSS3 ̷U+-M-M AMUSԠDAVAABŠMMY ND <0   24325-18001 1431 S 0122 0124325A 2100 SER MEM PARITY CHECK DIAG             H0101 R ASMBAB̬ HD00SSMMYPAYHKDAGNS GB DAGNSàHKSPAYPAN DAGNSàASSUMSHŠNGSSHAVŠBNUN MMYNŠGUPDSN0000 A-SKPGUPDSN000 SH-AŠGUPDSN000 MMYDSN0000 MMYPԠDSN000 UNSNKMMY YPŠNԠUD DAGNSàNGUAҠSUD DAGNSàSA̠NϠ(DSN000 PANGNSUNS: .ADANDNGUŠDAGNSàNGUA. .ADMPàDAGNS. 3.SԠPGSҠϠ00.PUԠɯϠADSԠDŠN SHGS.PSSPS(N..ƠPSNԩ ANDUN. .SUSSU̠NGUANSAHAԠ00.PSSUN. 5.HAԠ000US.PҠƠANDSԠMPUҠϠ BADPAY. 6.SԠSHGSҠϠ0.SԠPGSҠϠ30.PSS PS(N..ƠPSNԩANDUN. .HAԠ0003US.PҠƠANDSԠMPUҠϠA GDPAY. .PAŠHŠNUPԯHAԠSHNHŠHAԠMD. SԠPGSҠϠ3. 9.SԠSHGSҠϠ0.PSS PS(N.AND.ƠPSNԩANDUN. 0.HAԠUSHBGSҠ.PAŠHŠNUPԯ HAԠSHNHŠNUPԠPSN.SԠPGAM PNSNHŠSHGS.PSSPS(N.. ƠPSNԩANDUN. SKP SHGSҠPNS BԠMANNG 0-SVD SUPPSSPAҠNVNN 9-SVD PNDAGNS.AҠϠHAԠAԠNDƠPASS. 3-5SVD MPUҠHAS HAԠMANNG 000SԠUPHAԠҠNGBADPAY 0003SԠUPHAԠҠNGGDPAY 00ؠPAYS0<< 005ؠҠHAԠҠ.G.ؽ0- 00NDƠPASS 060ؠUNPDAP̠HAԠ(ؽSé 003SԠDŠNSנG<0 00NGUANMP SKP G00B MPNɬ G05B DƠAMSԠDAVAABŠMMY BSSASԠDAVAABŠMMY G6B Ԡ000DAGNSàSA̠N SPà3 ϠU5B SDU6B MSZŠUB SPà3 G30B SPà MPSұɠPAҠSAԠAN MPSҲɠPAҠSAԠAN MPH+SAԠϠBYPASSSàNY ABŠƠSԠDSϠBŠMDD SԠDƠ+ DƠH0 DƠH DƠH DƠH3 ASԠDƠ- SPà UAS AU0 BU SҠU HU0 SPà NSANSSAGŠANS MSNàԠ MSMKԠ0000 H000Ԡ0000 GMGԠ00000 GMKԠ0000 MPMKԠ0 DAñDƠAñ+ DAòDƠBADPA+ AԠ AԠ A00Ԡ00 A000Ԡ000 A000Ԡ000 HԠ MMAؠNP A0Ԡ0 M0Ԡ-0 ɯϠNPɯϠSԠD NSҠNPNNA̠SHG HԠԠ0600SԠAP̠HA BANP P00Ԡ00 5ɠMP5ɬ H5Ԡ06005 P0ɠSBP0ɬ PADNPPDADDҠƠP HAԠ06000A-GAP̠HA HBԠ0600B-GAP̠HA NMPԠNPMMPԠAVA MSK5Ԡ AADNPAUA̠NԠADD ű0ɠSBű0ɬ űɠSBűɬ ŲɠS&BŲɬ Ų0ɠSBŲ0ɬ KZϠԠ0 MPNP Ŵ0ɠSBŴ0ɬ PɠSBPɬ ɠSBɬ PűɠSBPұɬ PŲɠSBPҲɬ P3ɠSBP3ɬ B6Ԡ00 BԱԠ0000 BԸԠ00 PұԠ PҲԠ356 P3Ԡ0 PҴԠ55 P5Ԡ5 P6Ԡ6 N00BԠ-00 NҠNP ADDSSDNNS 5ɠDƠ5 P0ɠDƠPB0 APұDƠPұPAYҠADDSS AP5DƠP5 AP6DƠP6 PұɠDƠPұ PҲɠDƠPҲ P3ɠDƠP3 ű0ɠDƠű0 űɠDƠű ŲɠDƠŲ Ų0ɠDƠŲ0 Ŵ0ɠDƠŴ0 PɠDƠP ɠDƠ SұDƠSԱ SҲDƠSԲ NɠDƠN SɠDƠSA SKP GKHKSMPUҠYPŠҠG ƠSϠM.P.SHKDҠSPSN ANDƠPSNԬSϠP+ HSŠϠP+ GKNP SASAVA DA ANDGMKMASKҠMPUҠYP PAGMG.G. MPNKYS DASAVA SZGKNϬԠP+ MPGKɠԠP+ NKDANMP SZAM.P.PSN SZGKYSԠP+ DASAVA MPGKɠNϬԠP+ SAVAԠ0 HDPAYSԠ--N G600B NƠà5 à0 DMNŠANDSŠMMYSZ DAMSZ ANDMSMKMAM ADAMSN SAMMA NPUԠHKɯϠSԠD SàAS ANDAG SASDSԠD ADAM0 SSASSSSHAN(A̩? MPVADYS HԠ3BN MPSàYAGAN VADU DASDS SAɯϠSԠD DA ANDMPMK SANMP NPUԠSŠNNA̠S-G HàHԠB MPSɬ HDPAYSԠ--SA G000B SAԠà5àUNƠPAYN à0àҠA̠DVSNԠSYS2 SŠAP̠HASNà-B DBA DAH PSAB NB NA PBA00AP̠HASMP? SSYS MPPNϬP MDYɯϠNSUNS DBS SBBA ̠DBBAɠGԠNSUNADDҠMAB DABɠNSUNNϠA ANDP00MASKUԠSԠD ҠɯϠNUDŠNנS SABɠSŠɯϠNSUN PBASԬɠMDANMP? MP+3YS SZBAN MP HDPAYSԠ--N DPNU A SA5NPNPŠAP HHԠBUNƠPҬŠҠVN MPHPAYSԠSHNɯϠϠN UNNP SAԠAԠ30B SԱU à5BàPAYNԠ DAPұ SAPұ DAP5 SAP5 DAP6 SAP6 DABADPA SABADPA SBADPAYPANSN ANS000BHUGHB DAN00BNAZŠUN SANҠϠ-00B DAPұPANNA DBA000SANGADDҠNB SB DAPҲ SB DAP3 SB DAPҴ SB H3HԠ3BUNƠPҬŠҠDD MPH3PAYSԠSHNɯϠϠHA UNNP SAԠAԠ3B SPà ŠUN.SBADPAYNϠ00B ANSSANGAԠADDSSNB-G ŠNP SABɠSŠBADPAYPAN A̠SHԠPAN NBSPADD SZNҠSPUN MP+PA DAN00BNSHD.SԠUN SAN MPŬɠANDUN+ HDPAYSԠ--SA SSBԠ5ƠA-GSҠAҠA5PMS DYHAԠNPAY SPà PA05U SԲU à5 DA5ɠSԠAP SA5 SBGK.G.? MPH0 A5HKBԠ5ƠVANG SSAҠƠ ŴHԠBBԠ5SSԠAҠPҠUNN GNAŠPAYHA H0ƠHUSŠAGASHAԠNDA SƠ5NABŠPŠN DBPұPAYHAԠSHUDUҠH. NPPSSPSԠ(N.PAYHA NPSHUDA.SԠϠPAYN MDŬPSSPSԠ(ԩUN HSSHƠHԠUDPSԠSԠAG 5HԠ5BADϠHAԠNPAY à5 DAH5SŠAP̠HA SA5 HDPAYSԠ--SB SSABYϠNUPԠNPAYһHKSPůMP VANƬPAYNUPԠADDSS. SPà PB05U Ơ0NԠSYS Ơ5DSABŠPŠN DAP0ɠSԠAP SA5 DAAPұ SAPADPŠADDҠNϠPAD DAHA SƠ5NABŠPŠN DBPұSHUDNUP AñNA NP SBGK.G.? MPP05 DAPADPDNԠADDҠNϠA B0NϠB 6HԠ6BPŠNԠNԠVD MP.PB PŠNԠSUBUN PB0NP à5àDSABŠPŠN SBGK.G.? MP50 DBHBBPDNSҠSU PABSԠҠNSҠUN MP+ HԠ0UN DAPB0AAUA̠ADDSS DBDAñBPDADDSS PABSԠҠԠADDSS MP+ HԠADDSS A5 SS79APůMPԠV.ƠS? SSYS MPŴ3NϬPԠ DBNMPԠHKNԠADD SZBSSMMYPԠAVAAB MP.PBNϬ ANDMSK5SPBԠ5 SAAADNԠADDҠNϠAAD PAPADAUA̠ADDҠPDADD MP.PBYS DAPADNϬPADDҠNϠA DBAADAUA̠ADDҠNϠB ŷHԠBPŠNԠADDҠN MPP05 50HԠ50B.G.ANDNϠM.P.SHUDNԠN .PBU HDPAYSԠ--S SSABYƠƠ5ϠNHBԠPŠN SPà P05U DAű0 SA5SԠAP SƠ5 Ơ5 DBPұSHUDN NPNUPԠH MP.P PŠNԠSUBUN ű0ҠNP à5 DAű0 ű0HԠ0BƠ5DDNԠNHBԠPŠN .PàU HDPAYSԠ--SD SSHAԠPŠNSAŠNHBDHNPD ADҠAAҠNN-SNԠMMYSASSD. SPà ASSADҠAA PD05U DA ANDGMK PAGMGSԠҠDDG MPPD05 DAű SA5SԠAP SƠ5NABŠPŠN DAMMAجɠASSADҠAA NPSHUDNԠNԠH ASSNN-SNԠMMY(ƠANY PD05DAŲ SA5SԠAP SƠ5NABŠPŠN DAMMA PAPAHASԠMD MP.PD ADAH000 DBAɠASSNN-SNԠMMY NPSHUDNԠNUPԠH MPPA űNԠUN űҠNP Ơ5 DAű űHԠBPŠNԠMADҠAA MPűҬɠN+ ŲNԠUN ŲҠNP Ơ5 DAŲ ŲHԠBPŠNԠMNN-SNԠMMY MPŲҬ .PDU HDPAYSԠ--S SSHAԠPŠNSAŠNHBDDUNG AAүŠPAN SPà P05U Ơ5 DAŲ0 SA5SԠAP DAKZ SƠ5NABŠPŠN SAMPPH3ƠSAUSSүԠPAN NPSHUDNԠNԠH MP.P Ų0NԠUN Ų0ҠNP Ơ5 DAŲ0 Ų0HԠ0BүԠADϠNHBԠPŠN MPŲ0ҬɠN+ .PŠU HDPAYSԠ--SH SSPAYҠPYN SPà PH05U Ơ0 Ơ5 DAŴ0 SAɯϬɠSԠɯϠAP DAP SA5SԠPŠAP DAHA DBHB HSàH H3SƠH SƠ0NABŠɯϠN SƠ5NABŠPŠN BADPANAVNPAYH NPPŠNԠSHUDUҠH ŴHԠBNϠPŠҠɯϠN MP.PH PŠNԠUN PɠNP Ơ0DSABŠNԠSYS SBGK.G.? MP5 DBHBBPDNSҠSU PABSԠҠNSҠUN MP+ HԠ0UN DAPɠAAUA̠ADDSS DBDAòBPDADDSS PABSԠҠԠADDSS MP+ HԠADDSS DA SAɯϬɠSԠɯϠAP DAHA SƠ0NABŠNԠSYS NPɯϠSHUDNUP Ơ0 ŴHԠBNϠɯϠN MP.PH 5HԠ5B.G.ANDNϠM.P.SHUDNԠN MP.PHNUPD ɯϠNԠҠUN Ŵ0ҠNP Ơ0 SBGK.G.? MP.PH DAŴ0 Ŵ0HԠ0BɯϠKNԠPYVҠP MPv.PH ɯϠNԠUN ҠNP Ơ0 MP.PH .PHU HDPAYSԠ--S SSPAYŠGàBYASSNG ANUMBҠƠDNԠBADPAYANS. HKSPAYҠADD.SSABY AVŠBADPAYAԠANADDSSHNASSNG HAADYPŠNSUN(DB SŠGDPAYHNASSNGHA ŠYPŠNSUN(SB. SPà P05U Ơ0 à5 DAPű SA5SԠPŠAP DAA000 SAPAD ASSPŠANS(000B-B.SHUD NUPԠϠPұSUBUN DPҠSƠ5 DBPADɠBADPANNϠB NPSHUDNԠHŠϠPұ NP SBGK.G.? MPSP DAPADPDNԠADDҠNϠA ŴHԠBPŠNԠNԠVD MPSP SPà PұNԠUN PұNP à5 SBGK.G.? MP5 A5 SSAHKBԠ5ƠA-G SS Ŵ3HԠ3BPŠNDAҠBԠ5NԠS DBNMP SZBSSMMYPԠAVAAB MPSPN ANDMSK5YSSPBԠ5 SAAADSŠAUA̠PŠNԠADD PAPADSADDҠ? MPSPYS DAPADNϬPDADDҠNϠA DBAADAUA̠NԠADDҠNϠB Ŵ5HԠ5BPŠNԠADDҠN MPSP 5HԠ5B.G.ANDNϠM.P.SHUDNԠN SPà SPDAPAD NASPADD SAPAD PAA000NSHD? MPPɱ0YS MPDPҠNϬPA SPà HKSABYϠAVŠBADPAY Pɱ0U à5 DAPŲ SA5SԠAP SƠ5NABŠPŠN DAAP6PŠADDҠNϠA DBP6NNSNϠ[B NPSHUDNԠϠPҲ NP SBGK.G.? MPHNG Ŵ6HԠ6BBADPAYHANGDBYAD-YP NSUN HKSABYϠSŠGDPAY HNGŠà5 DAP3 SA5SԠPŠAP DAAP5PŠADDҠNϠA DBP5NNSNϠB SBP5SHUDSŠGDPAY SƠ5 DBP5ASSSAMŠANAGAN NPSHUDNԠNԠϠP3 à5 MP.P SPà PҲNԠUN PҲNP à5 SBGK.G.? 53HԠ53B.G.ANDNϠM.P.SHUDNԠN MPHNG SPà P3NԠUN P3NP à5 SBGK.G.? MP5 ŴHԠBGDPAYNԠSDBY ŠYPŠNSUN MPP3ɠN+ 5HԠ5B.G.ANDNϠM.P.SHUDNԠN à5 MP.P SPà .PɠU HDPAYSԠ--ND NDU AS ANDBԸBԠ SZAN? MPNԱYS DAMP0N.PUԠMP SAMP.000BAҠH SBPŠSŠGDPAY MPNԲ NԱU DAMP0PUԠMP SAMP.PB05AҠH NԲU AS ANDBԱBԠ SZASSN? MPHN.GϠHA AYS.S ANDBԸBԠ SZAN? MP0MPPB05YS MP0MPSɬɠN HU HԠBNDƠPASS MP.BSSDϠANHҠPASS SPà SUBUNŠϠSŠGDPAYϠANS NANNGPAYS DƠASԠADDҠϠBŠAD PŠNP à5àPAY16<:6NԠ DAAA_SԠADDҠ(à PDBAɠADMHNŠBAK SBAɠNϠAN PAP-NSHD? MPNYS NANϬNҠADD MPPP NSƠ5NABŠPŠNP MPPŬɠN+ AMUSԠDAVA̠MMY ND <  24326-80001 A S 0122  4K HP 2762A SIO DRIVER             H0101 ^ ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0K SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. #JҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN ?WSAHòϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-DDŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHKh SSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0P?*($SNNDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND 4*   24327-80001 A S 0122  8K HP 2762A SIO DRIVER             H0101 b ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠsB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHò~ϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-D݂DŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHK YSSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSN*($NDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND *   24328-80001 A S 0122 12K HP 2762A SIO DRIVER             H0101 %\ ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠtB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHò~ϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-D݂DŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHK YSSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSN*($NDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND *   24329-80001 A S 0122 16K HP 2762A SIO DRIVER             H0101 &` ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU30000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHò~ϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-D݂DŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHK YSSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSN*($NDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND *   24330-80001 A S 0122 BCS HP 2762A DRIVER (D.26)             H0101 9K ASMBҬB̬ԬàBSMNԠDV HDD.6BSMNԠDV NAMD.6 D.6MN NԠD.6.6 Ԡ.BU HSMDUŠƠHŠHP-6BASàN̠SYSM SAŠSDSGNDϠPAŠHŠMNԠ300 -YP.HŠUNNƠHSDVҠS ϠNAŬNNUŠANDMPŠAADŠ PANUSDHUGHNPUԯUPUԠN. HŠDVҠAPSANDPSSSAADҠ NASɠMD. KYBADMDŠMAYBŠSDҠASNGŠ ADPAN. HŠDVҠ̠ԠA-UNNS- USԠASNNŠƠHŠDNDUNNSS APPABŠҠHŠKSҠDV ҠϠHŠ-NA̠DSGNSPANS-Ơ HŠBSSYSMҠADSPNƠHŠUSԠ ASϠàANDHŠDMAS. D.6NANSN D.6NP SASAVASAVŠԠNYADDSS. SBSAVBSAVŠUSԠ(DADDSS. DABɠGԠDƠUSԬA AƠUSԠDŠϠנA ANDMANDSAŠDŠD SZAƠDŠNԠZϬNNU MP.NMA̠PSSNG. DŠZϠ(AҠUNԠPAN-H NGNSҠ(MPSPADBYAàA HŠSԠPANSNAD. .MPD.6 .SƠ0SԠDVŠAGҠNԠUS. SASAVàSAVŠAҠD. BNBGϠ MPSAԱSAUSSN. .DBDGHKDVҠAG- SZB&ƠDVҠBUSY MPBԠHSUS. SASAV ADAM3SUBAԠ3MD SSASSƠSUԠ+HNGA̠DŬ MPҠԠUS.GA. DASAVASAVŠԠADD. SA+A̠Ϡ.BUҠAҠ DASAVAɠGԠDƠԠNY. ANDMSAŠPUNHUNԠɯϠADDSS. ҠAɠAY SA.0 ҠAMAY SA.6 ҠSSMSSY SA.3 ҠMƠY ҠSSMSàY SA.5 SA. SA. ҠMSƠY ҠSSM SA. ҠMàY SA. SA. SA. ҠBɠBY SA. SA.9 SA.3 .3SS0ƠAGNԠSԠ(..DVŠUN- MPBAVAABũԠUS. DBSAV DAPŠGԠPNԬHϠN SBSSAD? MP.3ANϬN̠DDN Ҡ.ADYSSԠ SPà DBSAVBɠGԠUS BƬBƠPUԠKBԠNSB SBSSH?SKPƠYS( Ҡ.NHNϬAҠHϠB .3ASAנSAVŠN̠D SZSAVASԠADDSSƠԠNY DASAVAɠDGԠD ADAM5SԠ-D(BUSYAND SASAVAɠS. DASAVASԠ-A- NAADDSSƠԠNY SAAD3. SZSAVBNDؠϠD SZSAVBƠɯϠUS. DASAVB DAAɠGԠBUҠADDSS A̬ŬSAAƠNDN MP-GԠN-V̠ADDSS SABUƠSAVŠBUҠADDSS. SABUS SZSAVBSԠϠD6ƠUS. DASAVBɠGԠD6-BUNGH. B SSAƠHAS.USDS NBB(SBANDSŠD3 SBAɠƠԠNY SSAƠDSUSD MP+3NVԠDS MANAHAASAND ASMPMN SANGSAVŠNG.HAҠNGH SAH DAU5NAZŠUPPүҠHA. SAU̠PSNNDAҠϠUPP. DBSAV SADGSԠDVҠAGBUSY(NԠ0. A SADNƠAҠDAA-NAG SAHàHAAҠUNҠAND SAA SBSS MPY NGNSUNSASDAAANSMSSN. DB .B0UPUԠNSUNN-B- .5Sà0 MPD.6 YSB.6 MPD.6 ҠBSS---ԠSN...Ҡ(B0. BDBM5DVůDVҠNԠAVAAB ANASԠ(ANN-ZϠAND MPD.6 SKP NNUAҠSN NDSBNDVŠNUPԠAN .6NP SASAVAؠSAV SBSAVBؠA AASB Sà NAAND SASAVؠV DAAԠANG? SZANϬSKP MPNԠYSDϠ SPà DASAVàGԠN̠D SASSPAN MPUPŠ- NPUԠSN .6A0 ANDM3MVŠAҠBS. DBDNƠSԠ(BDAA-NAG. HAAҠAMNANSN ANDMMVŠ-V̠B PAUBϠ-ASɠMD-HAAҠHK--- MP.0UBUԠ(DDũ PAN MP.UN-GNŠUN- PAN MP.NŠD SSBƠDAA-NAG-GNŠHA- MP.ASUN̠N-7DNPU. .5BNBSԠDAA-NAGϠSAYDAA SBDNƠHAAҠN. DBU̠SԠBUPPүҠPSNAG. SSBSSƠSԠҠUPPҠ(50SAVŠHA MP.6N. ҠBUƬɠ-ҪNPVUSUPP SABUƬɠHAAҠANDSŠNBU. SZBUƠADDϠBUҠADDSS. MP+3 .6AƬAƠPSNHA.ϠUPPҠAND SABUƬɠSAV B̠SԠAGҠNԠPSN SBU̠ANDSAVŠAG. SZHàADDϠHAA-UN. SZHؠNDؠNGHUN. MP.NϠZϠ(BUҠNԠMPũ SԠϠNPUԠNԠHAA. BUҠD. .BSԠDAA-NAGϠŠAUN SBDNƠANDN-DϠMNAŠAS .DB .3B0 SBSҠSŠGSS .Sà0 MP.6 PSSҠҠ-UB-U-D .0DABUS-SԠSANG SABUƠBUҠADDSS. DANG-SԠSANG SAHؠHAAҠNGH DAU5-SԠUPPүҠHAA SAU̠PSNAGϠUPP A-SԠHAAҠUN SAHàϠZ. MP.-GϠϠSԠDAA-NAG- PSSҠҠN-DD .BAҠDAA-NAGҠPSSB SBDNƠ-NPUԠAUSDBYUB-U. DANGƠGNA̠HA.NDؠ PAHؠUNԠNDؠHNAUB-U MP.ASNPUԠ-NPUԠNԠD ҠGNŠN-DBŠD. ASɠNPUԠMPD. DBU̠ƠASԠHAAҠNPUԠASN DABUƬɠUPPҠPSNHNMAKŠ ҠBNKHAAҠABANK(SPAũ SSBANDSŠASԠDN SABUƬjBU. MPA SAԠDBHàSAUSSN DAAɠSԠAD3ԠNYBHA. ŬSAUN.ƠHA.NGHUS- MP+3DSBSKPNVSN. SBBSƠDDN.HAS.NPUԬADD NBϠDUN. AA̠SԠSBƠA0. ADABPUԠHAүDUNԠNAAND SAԱSAAɠSԠԠNYD3. ASԠA-ϠG ADAAADDSSƠDƠH SABUƠԠNY. DABUƬɠGԠDMVŠPVUS ANDMSԠSNGƠSAUSANDϠDS SABUƬɠANDSԠDƠԠNY. AAҠDV-BUSY-AG SADGSAYDVҠAVAAB. PASAVàƠAҠUSԠBNGPSSD MPD.6 DASAVàƠ SASSBNGPSSD MPԠԠϠ.BUҠN. SBSҠSŠGSS- .à0AҠDVŠN-AVŠAG MP.6 ԠDA.6 SA+ADDSSN.BUҠA. SBSҠSŠGSS. .à0AҠDVŠN. ԠSB.BUҠA̠ҠBUNG NPHDSNUPԠUNADDSS. NPHDSԠNYADDSS SҠNP-SŠGSSUN- DASAVؠS ϠŬ SAAV SƠA DASAVAؠAND DBSAVBؠB MPSҬɠAND. UPUԠSN UPDABUƠUPUԠSN SSAHNԠ MPSAԠSAUSSN-UPUԠMP. DBHؠƠHAAҠ(DNGH SSBSSNDؠZϬHNGϠ MP.AN-UPUPUԠSN. DABUƬɠGԠDMBUҠNANNG oyDBU̠NԠHA. SSBSSƠHA.SNUPPҠPAԠƠD AƬAƠAŠϠ. SZHàUNԠHAAҠUPU. .ANDM3SAŠҠHAA. ҠM00ADDV̠B B̬SBAŠUPPүҠMASKҠN SZBUƠHA.ADDϠBUҠADDSS SBU̠ƠUNԠHA.SN. SZHؠNDؠHAAҠNGHUN. MP.3GϠϠUPUԠHA. PAAנƠASԠHA.NASɠDS MP.ԠA׬ԠׯϠUN. .3DB .9B0UPUԠNSUNN-B- .0A0SԠHAAҠNBU PANƸ MPA SBS .Sà0àUPUԠBUҠϠY. MP.6 .U DAN(AUND DBDNƠƠDAA-NAG SADNƠ0G SZBSSUPUԠUN MP. DANƠUNUԠ-SԠAN-D .6DBMNN̠HŠҠASԠHA. SBBUƠSԠBUƠNGAVŠϠSGNA̠HA MP.ASԠHA.SBNGUPU. .DBH ADBMSUBAԠҠ_NHì MPSA+GϠϠSAUS.(BH. SPà AԠUN AϠDAD-SԠUN SAA MP.-NNU SPà AɠDAD-9SԠUN SAA SPà NԠASNDANU DBPŠSԠN̠D SZAԠDN? MP.9NϬSNDANHҠNU DASAV SANPU? MPSAԠYSSAUS MPUPNϬ-NҠDV NSANԬAGANDSAGŠSN AU0 BU SAVAؠNPSAGŠAA SAVBؠNPҠSAVNG-GSS SAVؠNPAԠNUPԠM. SAVA*($NPHDSԠADDSS SAVBNPHDSUSԠDADDSS SAVàNPHDSUSԠD. AԠNP DGԠ0DVҠBUSYAG.0NԠBUSY MԠMASKS MԠUSD MԠN M3Ԡ3PSSNG M00Ԡ00 M5Ԡ00000 MSԠԠ300 AMԠ300 SSMԠ600NNSUNG MԠ00ɯ MԠ600NSUNS MԠ000 AɠԠ0600 BɠԠ00 DNƠԠ0DAA-NAG U̠Ԡ0UPPүҠHAҠPSNAG. Ҭ0UPP. AԠ0MPAY BUƠԠ0 BUSԠ0SAG NGԠ0 HàԠ0AA HؠԠ0 MDà- M3Dà-3 MNDà- U5Ԡ555 UBϠUM NԠ5 NƠԠ NƸԠNDHBԠS BNKԠ0 AנԠ33 נNP PŠԠ0000 .ADԠ0000 .NHԠ0000 ND $*   24332-80001 1419 S 0122 01DOS 2100 MICRO ASSEMBLER             H0101  ASMBҬB̬Ԭ HDHPDSDS-MMϠASSMBҠVSNA. NAMMϬ30 ԠìN ԠADS.PSY HŠDSMϠASSMBҠASMBSDŠҠHŠ00 MϠPSS.ԠSAPASSDDMA ASSMBҠHAԠAPSSUŠMAGSMNADDN ϠNVNNA̠NPUԠDVSDS.(USҠSPS :ũ.ԠMAؠASϠPNAYAŠAADANDG ŠNHŠBBNAYAAƠHŠDS. SAMNSAҠƠHŠYPS .MMNSNDADBYANASSK""N UMNƠHŠNPUԠAD. .N̠SAMNSNDADBYADA SGN"$"NUMNƠHŠNPUԠAD 3.ASSMBYSAMNԻHHAUSSDŠϠB GNAD.HSSAMNԠHASDS. .AB̠DAD.-5 HSDMAYNANASNGƠ 5APHANUMàSYMBSHŠSԠƠHH MUSԠNԠBŠANASSKҠADAҠSGN .BUSDAD.-9 MUSԠNANAGA̠BUSNNUMN 3.SBUSDAD.- MUSԠNANAGA̠SBUSMNUMN. .UNNDAD.6-9 MUSԠNANAGA̠UNNMNUMN. 5.SŠDAD.- MUSԠNANAGA̠SŠMNUMN. 6.SPA̠DAD.6-9 MUSԠNANAGA̠SPA̠MNUMN. .SKPDAD.3-3 MUSԠNANAGA̠SKPMNUMN. .MAKSAD̠36-56 SPADҠADDNA̠MMNS. HŠSKPANDSPA̠DSMAYDSABD BYUSŠƠANSANԠҠMPADDSS. NԠM MPM SUP PAMBSS5 NţBSS PԠBSS PBSS NSԱBSS NSԲBSS GBSS ̠BSS BUSBSS SBUSBSS NàBSS SҠBSS SPàBSS SKPBSS SԣBSS UNBSS PUSԠ53 MNUSԠ55 .MDà- .ƠԠ06 .DԠ0 .59Dà59 .9Dà9 .Dà .Dà .3Dà3 .56Dà56 .5Dà5 .M5Dà-5 .99Dà99 .Dà ASҠԠ5 BANKԠ0 BUKԠ MSKUB HMSKU5B B00Ԡ00 .ϠԠ .SԠ3 .NԠ6 .ŠԠ05 .̠Ԡ .ؠԠ30 ..Ԡ5 .PԠ0 DҠDà5 .MDà- B0Ԡ0 PHDà HDASà6SYMB̠AB SԠDà6 ŠBSS AADDƠAD PPDà56 BYADBSS UBƠBSS ADBSS0 Ԡ0 AB0DƠUB ABU3DƠUB+3 AB9DƠUB+9 NBSS NBSS PNҠBSS .00BSS .00BSS VAUBSS AGBSS SYMBBSS S.000BSS BNKASà S.00BSS .M0Dà-0 SNԠBSS KNBSS HDABBSS S.00BSS BASŠBSS B00Ԡ00 PNҠBSS .U53B AKBSS UNBSS HSUNŠNSSUŠNPU DDNP DA.M0 SASN DBAAD DABNK SA NB SZSN MP-3 DAD PA.+ ҠB00 SAD DSBADAD DƠ+5SU DƠDҠNPU DƠADMDSà DƠ.M0 MPD3ƠUN SZBSS? MPDYSYAGAN. MBNB SBN DAUNAN SZASSSAVŠSU? MPDDɠNϬ. SBS DƠ+SU DƠAD DƠNDS. ADSàU̠UN. ANDHMSKSԠUN AƬA SAUNҠNԠ. MPDD D3SBMSU DƠ.+ DƠ DƠ.+6 ABԠSB DƠ+5 NDƠ.+ DƠ.+ DƠAND DƠ.+9 SB DƠ+ DƠ.+6 .M0Dà-0 ŠASà6MSSNG$ND ANDASà9ASSMBYABD! HSUNŠSPAGŠNS DV ԠNP DASԠSUPPSS SZASSSNG? MPԬɠYS. ҠB00 SAND SBàN DƠ+ DƠ.+3 DƠND DƠ.- DAPP MANA SANS MPԬɠ. NDBSS B00Ԡ00 HSUNŠGNASADҠNPUNHDV ADҠNP DAPH SZASS MPADҬ ҠB000 SA.00 SB DƠ+3 DƠ.+3 DƠ.00 MPADҬ B000Ԡ000 ҠPNԠUN HSUNŠPNSҠNSSAGSNSԠDV ҠNP SZNM DBSԠSUPPSS SZBSSSNG? DB.+6 SB.00 SSASSPASSɠS? MP̱ PASSɠS MANAYSMAKŠҠPS. ̲DBűPU B̠N SBDM DA.00 BNB SBSPAŠSPAŠNŠN. SBMSUԠUPU DƠ.00 DƠұMSSAG DƠ.+ MPҬɠ. ұASà6 ASà űDƠұ+ PASSɠS ̱SZASSA MP̲0?YSGϠBAK. DBŲ B SBDM DANţ DB3 B NB SBDM DA.00 BNB SBSPA SBMSU DƠ.00 DƠҲ DƠ. MPҬ ҲASàҠؠNNŠؠ NMҠԠ0 B3Ԡ3 3DƠҲ+0 ŲDƠҲ+ HSPUNŠNSMSSAŠUPU ANOGSUN: SBMSU DƠUN DƠBUU DƠBU MSUԠNP DAMSUԬɠPKUϠ.U. DA0ɠSԠNϠAԠB SZA MP+ DAMSU ADA.+3 MP0 SAMUNSAŠN̠D. SZMSUԠPK DAMSUԬɠUP SABADBUUҠADDSS SZMSUԠAND DAMSUԬɠADDSS DA0 SSASS MP+3 AS SS MANA SAMN SZMSU MANA NA SAḆ DBUAD DABAD SA NB SZBAD SZMN MP-5 SB DƠ+5 DƠ.+ DƠMUN DƠBU- DƠḆ SBPAG MPMSUԬ MUNBSS UADDƠBU ASà BUԠBSS0 MNԠBSS ḆBSS BADBSS HSUNŠNVSBNAY ϠDGԠDMA NUMBҠNA BYŠADDSSNB DM̠NP SBD.000SAVŠADDSS BDVD DV.000BY000 ADAB60A000HDG.MAKŠAS SBD.00SAVŠMAND DBD.000PKUPADDSS SBSBSŠ000HDG. SBD.000SAVŠNԠADDSS BDVD DAD.00MAND DV.00BY00. ADAB60AHUNDDDG.MAKŠAS SBD.00SAVŠMAND DBD.000PKUPADDSS SBSBSŠHUNDDSDG SBD.000SAVŠNԠADDSS BDVD DAD.00BY DV.00. ADAB60ANSDG.MAKŠAS SBD.00SAVŠ'SDG DBD.000PKUPADDSS SBSBSŠNSDG DAD.00PKUP'SDG ADAB60MAKŠAS S}BSBSŠ MPDM̬ɠUN D.000BSS D.00BSS .000Dà000 .00Dà00 .0U.+0 HSUNŠSPASNNSNSPD DV. ANGSUN: DA.U. DBN SBSPA SPAŠNP MBNBS SBSNԠUN SADVàSAVŠ.U. SP0SBàUPU DƠ+5 DƠ.+ DƠDVàBANK DƠBNK DƠ.+N. SBPAG SZSNԠNSHD? MPSP0NϬGϠBAK MPSPAŬɠYS DVàBSS PAGҠNP SZNS MPPAGҬ SB MPPAGҬ NSBSS ASɠϠBNAYNVSNUN. ANGSUN: DAYPŠ0A̠0DMA DBBYŠADDSS SBNV NUNSUԠNAG. VנSԠN NVԠNP SBMPñSAVŠBYŠADDSS DB.+PUԠA̠BASŠNB. SZAAMԠDMA? DB.+0YSPUԠDMA̠BASŠNB. SBMPòSAVŠBSS AAҠMPAY SAMP3 SAG NDBMPñAD SBADBBY. ADA.MVAUŠƠBY SSA<60? MPNYS SAMPôNϬSAVŠBY. DAMPòS MANABU ADAMPôNNGA SSASSDG? MPNYS DAMP3MPUŠN MPYMPòMPAYSU. SZBV? MPNYS ϠNϬAҠ-B. ADAMPôADDNNנDG SàV? MPNVԬɠYSUN SAMP3SAVŠNMDAŠSU SZGSԠGDDGԠAG. SZMPñBUMPBYŠ=NADDSS. MPN NDAGGA̠DGԠUND DBMPñPUԠBYŠADDSSNB SZASSDDŠGԠANYHNG? SϠNϬSԠҠNDN DAMP3PUԠSԠNA-G MPNVԬ NSϠV MPNVԬ MPñBSS MPòBSS MP3BSS MPôBSS .MDà- GԠ0 HSUNŠADSBYŠHSŠADDSS SSPDNB-G.ADDSSUNHANGD. UNS0BYŠNA-G. ADBNP SB.000SAVŠBYŠADDSS ŬBSԠŠϠNDAŠHɠҠϠBY DAɠPKUPD DBHMSKPUԠHMASKNB SZANԠHɠBY? BƬBƠNϠMAKŠMASK ANDSAŠBY SZSSSBYŠH? AƬAƠYSSHԠ DB.000SԠB MPADBɠ. HSUNŠSSנBYŠƠAN ANNB.ADDSSNMNDN. SBNP SB.000SAVŠB-G ŬBŠNDAŠHɠҠ SB.00SAVŠDADDSS ANDMSKSAV SA.00SUŠBY. DAɠPKUPD. DBHMSKPUԠHɠMASKNB-G. SZSSDSԠSϠBY? BƬBƠNϠSAVŠPPS ANDBY. SZSSSHԠUN AƬAƠBYŠHGHƠNSSAY Ҡ.00ҠNSUŠBY SZSS-ADUS AƬAƠDƠNSSAY SA.00ɠS DB.000BUMP NBBYŠADDSS MPSBɠ. .000BSS .00BSS .00BSS HSUNŠADSSUŠMDSàҠHҠDV SAVSSUŠMAGŠƠNSSAYSSHŠNDƠDAA MAKҠNSNG HSUNŠADDSSYMB̠PNDϠBYB-G ϠABŠHVAUŠNA-G UNŠHKSҠDUPAŠNS\UPUS APPPAŠS. -GSԠNNYMPSNA̠SYMB SYMB̠ABŠMA: BYűBYŲ BY3BYŴ BY5BANK VAUŠ AG SYMADNP SAVAUɠSAVŠVAU. AS SZNA NAAG SAAGɠNDAD. SZHS' MPSY0S BSAB DAɠHUS SASYMBɠ NBAN SZSYMB DAɠMY SASYMBɠPK NBUP SZSYMB DAɠNԠ6 ANDHMSK ҠBANK SASYMBɠHAAS. DBSYMB ADB.- SBSYMB SYDASYMB SBSHUNԠSYMB SSAƠUND MPSY3HN DA.-ҠDUPAŠABS. SB DASYMB SA+3 SBMSU DƠS NP DƠ.+3 DAS BNB SBSPA MPSYMADɠ.S SY3DAAGBUMP NAND SASYMBƠAB ADA.+3PNS SAVAUSYMBVAU NA SAAGAG MANA ADA00B SSASS MPSYMADɠ. SBMSU DƠ.+ DƠSV DƠ.+ MPAB SY0SBS.000SAVŠBYŠADDSSNMP. DA.-5S SASNԠU DBSYMBBANK DABNKU SAɠSPA NB SAɠNA NBSYMB. SA DBS.000GԠS SBADBBY NBBUMP SBS.000SAVŠADDSS. DBSYMBS B̠AAY SYSBSBHAA. SBS.00SAVŠNԠADDSS DBS.000HK SZS.000N SBADBHAA PABANKBANK? MPSYYSGϠSAH. DBS.00N SZSNԠBUMPHAAҠUN MPSY DA.-MŠHAN5 SBҠ SBMSU DƠS DƠAD DƠN MPSYMADɠ. SV̠ASàMMYV! HSUNŠSAHSSYMB̠AB ҠSYMB̠HSŠSԠHAASAŠND PNDϠBYA-G. UNSDPNҠϠ5DNYNA-G. A-G<0SYMB̠NԠPSN SHNP SAKNSAVŠADDSS DBHDABPKUPHADABŠADDSS S0PBSYMBNDƠAB? SS MP+3 AYSNԠUND MPSHɠ DAɠNϬMPA PAKNɠSԠHA.SAM? MP+3YS ADB.+5NϠPN MPS0ϠNԠNYGϠBAK. DAKNMPA NAN SAS.00 NBHAAS. DA PAS.00ɠSAM? MP+3 ADB.+NϠPNԠϠN MPS0NYYAGAN SZS.00YS NBHKAS DAɠ. PAS.00ɠSAM? MP+3 ADB.+3NϠPNԠϠN MPS0NYYAGAN. DAYSSUSS ADA.-SԠAϠHADƠNY MPSHɠ. HSUNŠSKPSϠSYMB̠NA-G SANGAԠBYŠADDSSSPDNB-G. ƠNDƠADSAHDBŠSYMB̠UND VנSS. SKPϠNP SAHAҠSAVŠSԠHA SK0SBADBADHAҠMSNG  PAHAҠ? SSYS MP+3 ϠAҠV MPSKPϬɠ SZANDƠSNG? MP+3 SϠYSSԠV MPSKPϬɠ NBSŠBUMPADDSS MPSK0+YAGAN. HAҠBSS3 AHAҠDƠHA HSUNŠSKPSVҠA̠NSUVŠSYMBS KŠHAԠNA-G. SAMŠAGSASABV. SKPNP SAHAҠSAVŠSԠHA SKP0SBADBADHAҠMSNG SZA0? MP+3 SϠYSSԠNDƠNŠAG. MPSKPɠ PAHAҠHA? SS MPSKPɠNϠ NBYSHK MPSKP0NԠN. SPSBSS M.3Dà-3 MMAԠ5 HSUNŠNVSA̠ 6DGԠAS. B-GHASBYŠADDSSƠHŠ S. A-GHASNUMB. ASɠNP SAA.000SAVŠNUMB ŬASGN DAB60 SZS NAYS SBSBPUԠNԠBY. DAA.000MASK AƠ AND.+NԠ3BS ADAB60MAKŠAS. SBSBS. DAA.000MASK AƬAƠ AҠN AND.+BYS ADAB60N SBSBSUSSN DAA.000AND AƬAƠS A̬A̠AS AND.+AD ADAB60N SBSBBUU DAA.000NDAD AҬA A AND.+ ADAB60 SBSB DAA.000 AND.+ ADAB60 SBSB MPASɬɠUN A.000BSS B60Ԡ60 SAԠKMAN MϠNP DAɠSS PA.9999? MPDYSUSŠDAUS. SZANϬ<:6DAUԠNPU? SADҠNϠSԠVAU. NB DAɠSND PA.9999? MPDYS SZANϬDAUԠS? SAS NBPNԠϠN. DAɠS3D PA.9999? MPDYS SZANϬDAUԠPUNH? SAPH NB DA PA.9999? MPD SZA SAPP DDAB NA SASYMB SAHDAB ADA.+3 SAVAU NA SAAG SB SBMSU DƠS DƠHD DƠ.+6 DAS DB.+ SBSPA SBNNϬNZŠSUŠ AYSNPUԠDSàҠANԠSAVŠSU SAAKS ANDHMSKDS AƬA SAUN.U. SAUN DAAK ANDMSKAK V<  24332-80002 1419 S 0122 02DOS 2100 MICRO ASSEMBLER             H0101  SAAK A SASPS SAPN MA SABAS DAD PA.+ SS MPNPU DAB SZA MPNPU SB DƠ+5 DƠ.+ DƠ.+ DƠNSU DƠ.+5 SB DƠ+ DƠ.+6 NSUҠASà5NϠSU NPUԠSBDDADAD DBAADAMN B̠S SBBYADBY SBADB PAASҠ? MPNPUԠYSGN. PABUK$? MPN̠N̠SA. PABANKAB̠PSN? MP+ DAPNҠYSADD SBSYMADSYMB̠AB SZPNҠBUMPPN DA.M DBPN PBB0 SB DABASŠBAS SSASSNAZD? MPNPUԠYSGϠBAK DAB00NϠSԠ SABASŠ00A MPNPUԠGϠPSSNԠAD. N̠ADPSS N̠NBHKN SBADBBY. PA.Ϡ? MP̱YSGNAD PA.SS? MP̲YSSUPPSSANNGMSSAGS PA.NN? MP3YSUDBŠNSԠҠNPUNH. PA.Š? MP̴YSNA̠ҠND PA.D"D? MP5YSDBUG(GNDBɠDSMDũ PA.Ơ" MP6YS .BAD.DA.-BAD SBҠN̠SAMN SBMSU DƠS DƠAD DƠN MPNPUԠADNԠAD. GNADPSS GNP ̱DA..SKP SBSKPϠUA̠SGN. SàNDƠN? AY3MP.BAD.YS. NB DABANKSKPV SBSKPBANKS SàNDƠN? AY'MP.BAD.YS. ANVҠ SBNVԠA SàANYS? AY5MP.BAD.YS. DB0N ANDMSKSPAA SA.00 DA ANDHMSKUPP SA.00 DBBASŠHASBAS SSBSSBNNAZD? MP+ MANANϠSSPD ADAB00 SSAGAҠHANMA? AY6MP.BAD.YS. DA.00S SABASŠBAS. DA.00 PABAS SS AYMP.BAD. DA.00SN MAPN ADAPNҠVAUŠSS SSASSHANUN. AYMP.BAD.YS DA.00S SAPNҠPN AYMPNPU MPG SUPPSSADPSS ̲A SASPS MPNPU NSԠҠNPUNH 3NBHK NB3DBY SBADB B PA.̠? MP+6 PA.PP? SS MP.BAD.NϠ SBPHSUPPSSPUNHNG MPNPU SBSԠS̠HUSNS. MPNPUԠ. SԠDBUGAG 5ANA SADBUG MPNPU GԠBNAYUPUԠ 6DA..SKP SBSKPϠUA̠SGN. SàNDƠN? MP.BAD.YS NBN DABANKSKP SBSKPBANKS. S MP.BAD. SBADBANS SA SB.00 DB.-5 SBN DBANAMŠNAM B 6SBSB SZN SS MPNPU SB.00MPAY DB.00 NBBUU SBADB SB.00ҠUS DB.00 SZ{ABY MP6 MPNPUԠPASS. NDҠNA ̴NBHKN SBADBBY. PA.ؠ? SS MPҴ DA..YSNASSKP SBSKPϠSGN. SàNDƠAD? MP.BAD.YS ҴNBN DABANKSKP SBSKPBANKS. SàNDƠAD? MP.BAD.YS. SB.00NϠSAVŠADDSSƠSYMB DABANKSKP SBSKPϠNDƠSYMB. SàNDƠAD? MP.BAD.YS DABANKNϠSKPASS SBSKPBANKS. SàNDƠAD? MP.BAD.YS. ANV SBNVԠA̠VAU. SàNDƠAD.Ҡ. MP.BAD.YS. SB.00SAVŠUNԠPSN DB.00PKUPSYMB̠ADDSS ŠSԠ-GϠNDAŠ SBSYMADADDϠSYMB̠AB DB.00PKUPUNԠADDSS DAMMASKP SBSKPϠϠMA SàNDƠAD? MPNPUԠ MPҴGϠBAK. ҴPA.N"N SS MP.BAD.NϬBADN̠SA DAUNYSND SZANGSUŠHN SBƠŠNDƠ. DASԠSUPPSS SZASSSNG? MPPASSYSGϠϠPASS. DAHDABG SAPNҠSAԠƠAB PASYMBND? MPPASS-YSGϠϠPASS DAS DB.+ SBSPA PұDAPNҬɠG SAADADY SZPNҠ DAPNҬɠPN SAAD+N SZPNҠSYMB DAPNҬɠAND SAAD+VAU. SZPN DAPNҬ SZPN DBPNҬ SZBSS ADABAS DBAAD B ADB.+6 SBAS DAPNҬ SZASS MP+3 DA. SS DABANK SBSB SBMSUԠPN DƠSԠNY DƠAD DƠM.3 SZPNҠPN DAPNҠ PASYMBNԠNY.ND? SS MPPұNϬGϠDϠN. SBԠYSԠҠPASS. SKP PASS PASSAS SAAY DAAY+UP SAAY3 SAAYGN SAAY5 SAAY6PSSUN SAAY SAAYҠNDPASS DA SZASS MPP SBàS DƠ+ DƠ. DƠNAM DƠSԠN DAS SZADS? MP+6 SBMSUԠNϬMSSNG DƠ.+ DƠMS00ASSMBY DƠ.+ABD MPAB PA SAP SAP SASԣϠ0. SAPN MA SABAS ANA SANţ SBAD DAUNSSUŠNK SZAAAƠDS? MPPYSGϠADҠNDPASS DADҠASNPU PA.+MDS? MPP0YSGϠADŠAGAN. SBàNϬUS DƠ+5MUSԠAD DƠ.+SU DƠ.+ DƠADNNU DƠ.+ SBàPAUS DƠ+ϠAנUSҠ DƠ.+ADSU DAAYؠNPU SANPԲ+UNŠϠADADS. A SANPԲ+ MPPGϠADNPU. ADASàADADS NPԲNP SBDSK DƠAD MPNPԲ AYSBDD P0DABSԠ YSAAK ANDMSKAK SASԣ DAAKAND AƬA ANDMSKS SAAKNUMB. SA DA.+ SAUN PAA SAGUMPAG. DA.M0 SASN DBAAD DABNK SA NB SZSN MP-3 SBNPԲADAD DBAADHK B̠S SBADBBY. PAASҠ? MPPAYSGNŠBUԠPN PABUK$? SS MPPBNϬGDD. NBYS SBADB PA.ϠGN? SS MPPABNϬHKҠND SBGGNAD MPPA PABPA.ŠBYŠS? SS MPPANϬNԠNDGNŠ NBYS SBADBBYŠSN? PA.N MPND PADANS SSASSADN MANAMA SBSҠ? SZNţ MPPGϠBAK. PBDABASŠSBAS SSASSNAZD? MPPàYSPD. DAB00NϬSŠϠ00A. SABAS PàDBAADND ADB.+3 B̠BUS ANA SB$SHPD. SABUSSAV. DBAADND ADB.+5 B̠SBUS DA.+ SB$SHPD. SASBUSSAV. DBAADND ADB.+ B̠UNN NB DA.+3PD. SB$SH SANàSAV. DBAADND ADB.+0 B̠S DA.+ SB$SHPD SASҠSAV: DANàAS ADA.M5H SSAA MPPMP ADA.-6N SSASSUNNhD? MPPN UMPNUNND SAGYSSԠUMPAG. DBAADPK ADB.A B̠S NBBY. SBADB PAASҠ""? MPP5YSSƠ.UMP. ADA.MUDB SSADG? MPPNϬAB. ADA.- SSASS MPP AYSSDG SBNVԠNVԠϠBNAY SS? MP+ P3DA.+9YSBAD SBҠUMPAG. A SASKP MPP30GϠNSHUP. SBADBN PABANKHAҠBANK? SS MPPNϬAB̠AҠA? SASKPSAVŠAG MPP30GϠNSHUP. AGԠSAB PDBAADS ADB.ADDSS B̠ϠSA NBƠD. SBADBMV AƬAƠ' SAHA NBN SBADB ҠHA SAHAҠ6 NB SBADBHAAS AƬA SAHA+ NB SBADB ҠHA+ SAHA+MPAY NB SBADB AƬAƠSAG SAHA+ NB SBADB ҠHA+ SAHA+SAH. DAAHAҠSAH SBSHSYMB̠AB? SSAUND. MPP3NϬ ADA.+3PK SA NBUP DA0ɠVAUŠAND DBɠAG SZBSSƠA̠HN ADABASŠADDϠBASŠVAU. SASKPANDSAV. MPP30GϠNSHUP. SƠAVŠAG P5NBHKN SBADBBY PAPUS"+"? MPP PAMNUS"-"? MxPP6 PABANKBANK? SS MPP3NϬ DAPNҠUSŠPN ADABAS SASKP MPP30GϠN P6NBNV ANADMA SBNVԠNSAN Sà? MPP3 MANANϬNGA ADAPNҠADDϠPN ADABAS SASKPSAV MPP30GϠNSH PNBNV ANADMA SBNVԠNSAN Sà? MPP3 ADAPNҠNϠADDϠPN ADABAS SASKPSAV MPP30GϠNSH PDASBUSS PAB5H MP+NSANԠGH PAB SSNSANԠԠNSBUS MPP9 NSANԠSSBUS DBAADS ADB.ADDSS B̠N NBB. ANV SBNVԠNSAN SS? MP+ DA.3YS SBҠPNԠ A SASKP MPP30GϠNSH NϠMPҠNSAN P9DBAAD ADB.S B̠ADDSS NBNB. DA.+5NDSPA SB$SHPD SASPàSAV. DBAAD ADB.5ND B̠SKP DA.+6PD SB$SH SASKP NSUNMANMPD. P30DAPNҠPU AƬAƠPN SANSԱNNSUN DABUSPKUPABUSPD SSASSGA? MP+3 DA.+3NϬGA SBҠBUSPD. PA.+6YS? SS MP+3 DA.YS SBANANUS. DABUS AND.+SH AƬA̠EBUSϠPSN ҠNSԱҠN SANSԱNS. DASBUSSBUSPD SSASSGA? MP+3 DA.+N SBҠ ANDBYS A̠PSN ҠNSԱҠN SANSԱNS DAGSH SZASSAUMP? MPP3 DASKPYS MANAAG ADA.5 SSASS5? MPP3 DANàYS PABUMP? SS MP+ DAB3YS SANàSԠԠD MPP3 SZNàSŠSԠBԠ0Ϡ P3DANàUNNPD SSASSGA? MP+3 DA.+5N SBҠ DAN ANDB0HKMSB SZA0? SZNSԱNϠSԠNNSԱ. DANàNϠG ANDBҠBS AƬAƠSH AƠϠPSN. SANSԲS. DANàUNNPD PA.+6D? MPP33YSGϠHKBUS SZANϬ? MP+ DA.AN SBANUS. MPP35GϠNSH PA.+? MPP3 DAGAMPSBҠMP? SZASS MPP35 DASBUSYSNPN PABSBUS? MPP3 DA.N DBSBUSPN PBB6SBUS? DA.HNANNGS SBANANNG. MPP35GϠNSH P3DASBUS.SNP PABNSBUS? MPP35 DA.NϠAN SBANUS MPP35 P33DABUSD.NPN PA.+BUS? SS MPP35 DA.3YS SBANANUS. MPP35 P3=DASKPNPNSBUSHUMP MANAAG ADA.55N SSASSMDUŠ0? MPP36 ADA.56N SSASSMDUŠ? MPP35 ADA.56NϬ SSAMDUŠ3? MPP35 P36DA.-3YSS ANDNSԱSBUS SANSԱBԠϠ0(BԠ P35DASҠHK SSASSSŠD.GA? MP+3 DA.+6N SBҠ DAS ANDBPSN AƬAƠBS ҠNSԲPUԠN SANSԲNSUN. DASҠS ADA.-N SSA MPP3H ADA.-SAHPADS SSASSNS? MPP3 DASBUSS ADA.- SSAN MPP3 ADA.-N SSASSSBUS? MPP3 DASҠ'YS ADA.+AŠHNH PASBUSSAM SS MPP3YS DA.5 SB P3DAGASHŠA SZASSUMPSBҠUMP? MPP3 DASKPYS ANDMSK ҠNSԲN SANSԲADDSS. MPP6GϠNSH P3DASBUSAS PABHŠ̠ҠҠNSBUS? MPP3+3YSGϠPUԠN PAB5 MPP3+3 DASPàHKSPA. SSASSGA? MP+3 DA.+N. SBҠ ANDBPSN AƠBS ҠNSԲPUԠN SANSԲNSUND. DASP PA.+P? SS MP+ DAB0YS SBANANUS MPP0GϠϠNԠD. DBSҠMN PB.+S? SS MPP0 PAB6YSנ~<:6NSP? MPP0 PABNϠנNSP? MPP0 DA.NϬAN SBANUS P0DASKPHKSKP SSASSGA? MP+3 DA.+N SBҠ. ANDBPU ҠNSԲN SANSԲNS. DASKP DBP SZBSSPNPVUSNS. MPP PABYSNPH MPP DA.NϠANUS. SBAN PDBSPàN PBBנNSPA? SS MPP3 PABYSHKҠSKPNDN. MPұ0NP- PA.+0 MPұ0- PA.+ MPұ0P- PAB5 SS MPP3 ұ0DA.+0YS SB P3DAPԠPԠNPVUSNS. SZASS MPP5 DASKPYS SZA PA.+H MPP PA.+A MPP3ANN PABSKP MPP PAB5YPŠH? MPPYSҠ9. PA.+NϠNG SS PA.+3DD? SS MPP6 DANàYS ADA.-ADD SSAYP MPP6NSUN ADA.-5N SSASSUNN? MPP6 P3ADA.0YS SBҠ MPP6 r<  24332-80003 1419 S 0122 03DOS 2100 MICRO ASSEMBLER             H0101  PDA.9 SB P5BP DASKP PAB5PSN? NBYS SBPSԠPAG BP PA.+ NBPSN? SBPԠSԠPԠAG MP+ P6BPҠP SBPNԠPSN SBPԠAҠAGS DANS SSA MANA SBSҠN SBMDŠUPUԠD SZPNҠBUMPPGAMN SZNţ MPPGϠADNԠAD NDSBMPBƠMPYPUNHBUU. DAN SSASS MANA SBS DANM SZASS MPND DBDʱ B NB SBDM NDDAS SZASS DA.+6 SAS SB DƠ+5 DƠ.+ DƠS DƠD DƠ.+ SBAD DA SZA SB SB SBàPN DƠ+5 DƠ.+ND DƠ.+ DƠNDMSMSSAG DƠ.+5 SBàU. DƠ+ DƠ.+6 NDMSASà9$NDMϠASMB. DʠASàNϠS DʱDƠD+ HSUNŠPNSANNGMSSAGS ANNP DBSPSSUPPSS? SZB MPANɠYSUN. SZNMҠBUMPƠS. DBAN B SBDM DBAN3 B DANţ SBDM DAS BNB SBSPA SBMSU DƠS DƠAN DƠ.5 MPAN ANASà5ANNGؠNNŠؠ ANDƠAN+5 AN3DƠAN+ HSUNŠNSHŠSNG SUŠPGAM NNYA<0SԠMAԠ NŠN.-AD A0SԠMAԠ ,NŠN.-D-AD ABSUŠAHAASNAD SҠNP DBSԠSUPPSS SZBSSSNG? MPSҬɠYSUN SSASSN.MAԠ? MPSұ SԠMAԠ ADA.-YSADUS SANUNԠϠNUDŠNŠN. DBAB9NV B̠N DANţ SBDM̠ϠDMA SBMSUԠUPU DƠSԠN DƠUB+9 DƠN MPSҬɠUN SԠMAԠ SұADA.ADUSԠNŠUN MANAϠNKUD SANHҠSU. DBABU3NV B̠UPP NB DANSԱBS ANDMSKƠNSUN SBASɠϠAS DABANKPUԠN SBSBANDSAVŠPSN. SB.000 DBAB0NV B NBADDSS NB NBƠNSN DANSԱ ANDHMSK AƬAƠ ADABAS SBASɠAS DABANK SBSB DANţPU DBAB0 B̠N SBDM DABANKNţ. SBSB DB.000NV DANSԲҠ6BS SBASɠϠAS DABANKPU SBSBN DABANK SBSBBANKS. SBMSUԠPN DƠS DƠUB DƠNN MPSҬɠ. NBSS .000BSS HSUNŠSAHSHŠPDŠABŠNDADBYA-G ҠPDŠPNDϠBYB-G. NNYA356HHNSSPVY BUSSBUS. BBYŠPNҠϠPDŠSNG NԠAVAUŠƠPD A<0NԠUND. ABŠKSK  BYűBYŲ BY3BYŴ VAUŠ . . $SHNP SBS.000SAVŠBYŠADDSS DBHSKPPUԠSKPABŠHADN'B PA.+BUS? DBHBUSYSPUԠABŠHADNB. PA.+SBUS? DBHSBUSYSPUԠSBUSABŠHADNB. PA.+3UNN? DBHNàYSPUԠNàABŠHADNB. PA.+S? DBHSҠYSPUԠSҠABŠHADNB. PA.+5SPA? DBHSPàYSPUԠSPàHADNB. SBPNҠSAVŠABŠHAD. DBS.000PU SBADB AƬAƠPD SAKN NBSNG SBADB ҠKN SAKNN NB SBADBKN AƬAƠ+ SAKN+ NBKN+. SBADB ҠKN+ SAKN+ DBPNҠDϠS DAɠ PAKNBYSMPAS? MPSH ADB.+3NϠPNԠ SH0DAɠNԠNY. SZANDƠAB? MP-5NϠGϠBAK AYSSԠ MP$SHɠ SHNBDϠND DAɠ PAKN+BYSMPA MP+3 ADB.+NϠPNԠ MPSH0NԠ+GϠBAK NBYS DAɠPKUPVAUŠ+ MP$SHɠ DŠMҠҠMϠASSMB NSUNNNSԱ MDŠNP DAPNBUƠPUNHBUU PA.59U? SBMPBƠYSMPY DAASPSHS NAN PAPNҠSUNA̠NS? $vSS SBMPBƠNϬMPYPUNHBUU. DAKSUMKP ADANSԱUNNNG ADANSԲHK- SAKSUMSUM. DBNSԲPU DANSԱNS SAPNADҬɠN SZPNADҠPUNH SBPNADҬɠBUU. SZPNADҠPNԠϠNԠPSN. DAPNҠSAVŠUN SAASPPNҠҠNԠM. SZPNBUƠNMNԠDN. SZPNBU MPMDŬɠ HSUNŠMPSUNԠNNS ƠPUNHBUUҠANDSSUPHADҠҠN. MPBƠNP DAPNBU SANSAVŠDUN. PA.+5ANYDAANBUU? MPPB0NϬGϠSԠHAD AƬA SAPNBUƠSԠHGHUN. AS SAPNADҬ SZPNADҠHKSUM DAKSUM SAPNADҬɠNBUU. DA SZASSADGϠPAAM?(99 MP+9 SBԠ DƠ+ DƠPNBUƠ DƠN SSDSà. MP+3 AƠƠHN SA DAPHSUPPSS SZASSPUNHNG? MPPB0 ҠB00N SAPUNPUNH SB DƠ+5BNAY DƠ.+ DƠPUNAP. DƠPNBU DƠN PB0DA.+5SԠUP SAPNBUƠHAD DAPNҠ ADABAS SAPNBU+N SAKSUM DADBUG SAPNBU+ ADAKSUM SAKSUM DAPBASŠPN ADA.+3 SAPNADҠBUUҠPSN MPMPBƬɠ PNBUƠԠ5 Ԡ00 BSS5 PBASŠDƠPNBU PNADҠDƠPNBU+3 ASPNP KSUMNP PUNBSS HSUNŠSBNAYDAA SNGBNAY. ANGSUN: SB DƠ+ DƠBUU DƠBU ƠUN NMA̠UN. ԠNP DAԬɠGԠNMA SAԠUN. SZԠG DAԬɠBUU SABADADDSS SZԠG DAԬɠD DA0ɠUN MANAMAK SANԠNG. SZԠSԠƠUN. DASԠSԠM? SZAM? MP0 SZSԠYS. ASԠSANG SASҠSҠ. SB.PSYG DB.6 SZADS DB. SBDSPҠS. DABBUASԠADDSS SABBADƠSҠBUU. ADADSMPU SASNDND. 0DBBBADANS ױDABADɠN SAɠD. SZBADBUMPSUŠBUUҠADDSS NBBUMPAGԠBUUҠADDSS PBSNDAGԠU? MPײ 3SZNԠNϬSUŠMPY? MPױNϠGϠBAK. SBBBADYSSAVŠAGԠADDSS MPԬɠAND. ײSBàAGԠBUU DƠ+SU DƠ.5 DƠB0 DƠBBUƠS DƠDS DƠNAM DƠSҠDSà. SZSҠBUMPSҠ. DAS PASԠND? MP+3 DBBBUANϠSԠAGԠADDSS MP3GϠBAK. SBMSUԠYS DƠ.+NSUN DƠMS0 DƠ.SPA MPԬɠAKŠƠUN. HSSҠŠƠƠ ƠNP DBBBADGԠAGԠADDSS. AZ SAɠS NB PBSNDS. SS MP-5 SBà DƠ+ DƠ.5S DƠB0 DƠBBUƠ DƠDS DƠNAMŠDS DƠS MPƬɠ. ԠBSS NԠBSS SԠNP SҠBSS DSBSS BBUƠBSS BBUADƠBBU BBADBSS SNDBSS MS0ASàNSUNԠŠSPA. B0Ԡ0 MS00ASà0ŠNԠNDS NAMŠASà3 SԠBSS ANAMŠDƠNAM DBUGBSS HSUNŠADSSUŠMDS ҠNDPASS.NA̠AKSҠASSUM ϠBŠNAKANDSԣ.̠SԠPԠSU MŠSŠKAA. ANGSUN: SBDSK DƠBUU DSKNP DADSKɠPKUP SABADAGԠADDSS SZDSKSԠUN DASԠS SZAM? MP0 SZSԠYS DA6BGԠ SASKSSAK SB.PSYS DB.6S SZA DB.SZ SBSZŠBU DB.6ƠADNG DA̠MKAA SZASSUS SBSZŠ6. DAUN ҠB00 SAUNSԠN̠D SBDSԠADS SBSBADSAVŠSҠBUUҠPN ADBSZŠANDND SBSBNDSҠPN 0DBSBADG DAɠD AƬAƠUN MANANGA SANԠANDSAV. NBBUMPSҠPN AS SAN PBSBNDNDƠS? SS MPұNϠGϠANSҠNԠD SZSԣBUMPSҠ DASԣND PASKƠAK? MP6 SBDSԠNϠADNԠS ұDA SABAD NBBUMPSԣ PBSBNDNDƠS? MP3 ҲSZBADBUMPAGԠADDSS SZNԠANSҠMP? MPұNϠGϠBAK SBSBADSAVŠPN MPDSKɠ. 3SZSԣBUMPSԣ DASԣND PASKƠAK? MP+3 SBDSԠNϬADN MPҲSҠANDGϠMPŠANS DB̠YS.ADNG SZBSSM? MP5 ҴSZAKYSBUMPAK ASԠSԣ SASԣϠ0 SBDSԠADNԠS MPҲGϠMPԠANS. 5DABADɠASԠDANSDSN SAAKUNANDAK AƬAƠG ANDMSKBH ҠB00AND SAUNS DAAK ANDMSK SAAK AS SASԣSԣ0. SBDSԠADNԠS MPұGϠANSҠHAԠDAGAN 6DB̠ SZBN MPҴADNGM DANԠHNN MANAHASN SAAKUN ANDMSKAND ҠB00AK. SAUNAM DAAKAND AƬAƠS ANDMSKBH. SAAK AS SASԣS+0 SBDSԠADNԠS MP0+GϠMPUŠNԠANS. SҠADUN DSԠNP SBàAD DƠ+ DƠ.-S DƠUN DƠSBUƠM DƠSZ DƠAKDS DƠSԣ DBSBUASԠSҠBUUҠPN. MPDSԬɠAND SBNDBSS BADBSS SBADBSS SԠNP SBUADƠSBU SKBSS UNBSS SBUƠBSS .6Dà6 .Dà B00Ԡ00 ׯSԠBSS NԠBSS ϠPàϠDMcŠԠAB̠ŠS HBUSDƠ+ ASàNP Ԡ ASà Ԡ6 ASàAAB Ԡ5 ASàAB Ԡ ASà Ԡ3 ASà Ԡ ASàB Ԡ ASàA Ԡ0 ASà Ԡ Ԡ0NDƠBUSAB HSBUSDƠ+ ASàNP BԠ ASàP B6Ԡ6 ASà B5Ԡ5 ASà BԠ ASàS Ԡ3 ASàS BԠ ASàS3 Ԡ ASàS Ԡ0 ASàND Ԡ ASàAD Ԡ6 ASàN Ԡ5 ASàS Ԡ ASàM Ԡ3 ASà Ԡ ASà Ԡ ASà Ԡ0 ASà Ԡ Ԡ0NDƠSBUSAB HNàDƠ+ ASà Ԡ3 ASàSV Ԡ36 ASà Ԡ35 ASàSG Ԡ3 ASàG Ԡ33 ASà Ԡ3 ASàAS Ԡ30 ASàS Ԡ ASàGS Ԡ6 ASàSB Ԡ5 ASàMP BԠ ASàMP .Ԡ ASàSB B0Ԡ0 ASà Ԡ6 ASàN Ԡ5 ASàAND Ԡ ASàADD Ԡ3 ASàADD Ԡ ASàN Ԡ ASàN Ԡ0 ASàD Ԡ6 ASàSUB Ԡ5 ASàDV Ԡ ASàMPY Ԡ3 ASàPA Ԡ ASà Ԡ ASà Ԡ0 ASà Ԡ3 Ԡ0NDƠUNNAB HSҠDƠ+ ASàNP Ԡ ASàA Ԡ6 ASàB Ԡ5 ASàAAB Ԡ ASàAB Т640Ԡ3 ASà Ԡ ASà Ԡ ASàP Ԡ0 ASàS Ԡ ASàS Ԡ6 ASàS3 Ԡ5 ASàS Ԡ ASà Ԡ3 ASà Ԡ ASàM Ԡ ASà Ԡ0 ASà Ԡ Ԡ0NDƠSŠAB. HSPàDƠ+ ASàNP Ԡ ASà Ԡ ASà Ԡ6 ASàG Ԡ5 ASà Ԡ ASàASG Ԡ3 ASàASG Ԡ ASàYN Ԡ ASàYZ Ԡ0 ASàP Ԡ ASàAAB Ԡ6 ASàSG Ԡ5 ASàSG Ԡ ASàN Ԡ3 ASàұ Ԡ ASà̱ Ԡ ASàSS Ԡ0 Ԡ0NDƠSKPAB HSKPDƠ+ ASàNP Ԡ ASà Ԡ ASàUN Ԡ6 ASàP Ԡ5 ASàNAAB Ԡ ASàAAB Ԡ3 ASàNMPV Ԡ ASà Ԡ ASà Ԡ0 ASàBZ Ԡ ASàG Ԡ6 ASàV Ԡ5 ASàU Ԡ ASàNG Ԡ3 ASàDD Ԡ ASàP Ԡ ASà Ԡ0 Ԡ0NDƠSKPAB .UB .3UB5 .UB6 .5UB .0UB .55UB SZŠBSS NDM A6   24333-80001 A S 0122 DOS 2100 WCS I/O UTILITY ROUTINE             H0101   ASMBҬB̬Ԭ NAMSϬ NԠAD Ԡì.N SɯϠUYUNŠ(DS ANGSUN: AD SBADSB DƠ+5DƠ+ DƠUNԠDƠUN DƠBUUҠDƠBUU DƠNGHDƠNGH DƠADS HŠUNԽSGA̠UNԠ BUUҽSԠDƠŠBUU NGHDSϠANS (<0000DS 0SDS(00DS ADS(ADNYADDSƠHŠ SAԠAD ADDƠBUƱPAAMҠBUU BUƱBSSҠAD. ADNP SB.NҠG DƠBUƱPAAMS DA.+S SADŠUSԠD. DAADSԠUN SAԠN. DAADSԠPAAM SAADҠBUUҠADDSNAD MP0GϠPSS. ADDƠBUƲPAAMҠBUU BUƲBSS3Ҡ ԠNP SB.NҠG DƠBUƲŠPAAMS DA.+S SADŠUSԠD DAADPAAMҠBUU. SAADҠADDSNAD. 0DAADҬɠG SAUNԠUN SZAD DAADҬɠG SABUADBUUҠADDSS SZAD DAADҬɠGԠNGH DB0 SSBSS<0? MP+3 MBNBYSMAK BSPS.HAV. DADŠA PA.+ŠADNG? MPױ DAYS ANDM3SAŠUN. DB0 SZADҠG DAADҬɠADSƠHŠ DA0ɠSAԠAD. ANDM3 BƬBƠSHԠNGHHGH. ҠҠNNGH. DB0PU ױSBPAMSNPAMS SBàA &  DƠ+5 DƠDŠà UNԠBSS BUADBSSDϠɯ DƠPAMS MPԬɠ DŠBSS ADҠBSS PAMSBSS .U53B M3UB ND w   24334-80001 1419 S 0122 0112908 WCS MICRO DEBUG EDITOR             H0101  ASMBҬB̬Ԭ HDHPDSDS-MMϠDBUG-DҠVSNA. NAMMDŬ30 Ԡì.PSYSԬMA NԠSA MϠDBUGD HSPGAMAASADNGANDDBUGGNG AUSSMϠPGAM.SPAYԠAS HMϠADҠADSUŠHSMD HBAKPNSHAԠ̠DSPAYHŠMA GSSANDGNASMASKAPSHAԠA USDϠPGAMPMHPS.AHUNN HŠMDŠSMDUAҠAND̠BŠPANDNM DA̠HNAHMDU. SAԠNP DAUNS ANDMSK ҠPN+P-G. SAPN+ DAUN ANDHMSKUN AƬA ҠPN+3 SAPN+3ADDSS. DAGSҠS ADA.+3 DB0 ANDMSKGS ҠADG+ SAADG+ ANDMSK ҠS+DUMP SAS+ SP ANDHMSK AƬA ҠADG+3ADDSS. SAADG+3 ANDMSK ҠS+3 SAS+3 SBMSUԠPN DƠMS00HADNG. DƠ.0 DAMGNAZ SBMVŠADDUMPUN. SBSPAŠSPA SBSPAŠ3 NMDSBSPAŠNS SBMSUԠASK DƠMS0N DƠ.+MMAND SBDYAD DƠNŠSPNS. DƠ.M0 DBANŠG B̠SԠNPU SBBAMD SBADBHAA. PA.̠MMANDS MPADAD PA. MPԠ PA. MPADAD PA.D MPDUMPDUMP PA.S MPSHנSH PA.P MPPPPPA PA.V MPVҠVY PA.B MPBAKBAK PA. MPHANHANG PA. MPàU PA. MPNDND. PA.MMVŠҠMDY? MP+5 SBҠNϬ DƠMS0GA DƠ.+ MPNMDGϠGԠN. NBHKN SBADBBY. PA.ϠMMANDPSSBYMV SS MPMDNϬMMANDSMDY NBYSHK SBADBNԠBY PA.VV? SS MPMDNϬMDY NB SBADB PA.Š MPMVŠYSMV MPMDNϬMDY NDPGAM NDSBMSU DƠMSND DƠ.+ SB DƠ+ DƠ.+6 NŠBSS0 ANŠDƠN .̠Ԡ .נԠ .ҠԠ .DԠ0 .SԠ3 .PԠ0 .VԠ6 .BԠ0 .àԠ03 .ŠԠ05 .MԠ5 .ƠԠ06 .ϠԠ .U53B .Dà .Dà .Dà .0Dà0 .6U6B .60Dà60 .ASҠԠ5 .M0Dà-0 BAMDNP .MDà- .AԠ0 .ѠԠ .M3Dà-3 .Dà B6Ԡ6 B6Ԡ6 B63Ԡ63 B6Ԡ6 BBASŠDƠBUU BANKԠ0 BUUҠBSS5 NԠBSS .3Dà3 .M56Dà-56 .MDà- BADҠBSS HBASŠDƠ+ BSS56 Dà- HNDDƠ- .Dà MDŠBSS SUP MS00ASà0HPMϠDBUGD MS0ASàMMAND? MS0ASàGA̠MMAND MSNDASàNDƠPGAM .M5Dà-5 .M66Dà-66 B360Ԡ360 HSMDUŠADSUSҠMϠPGAMM DSà(BNҠũҠHҠDV. MMANDMA: AD۬UNԠݠDAUԽ5. ADANA SBGPAҠGԠPAAM. DAPAM SZASSNŠUND? MP+3 DAPAM+YSGԠ SS DA.+5NϬUSŠDAU SADҠSAV. PA.+DSàNPU? SS MP3NϬGϠSAԠAD. SBMSUԠYSN DƠMSAŠNAM DƠ.+ SBDYAD DƠNŠSPNS. DƠ.M0 DBANŠG B̠S SBADBBY SBMP00SAVŠB-G. DB.-5 SBN DBBNKBANK SBNAM SBNAM+5HA SBNAM+NAM DBANAMŠGԠBY ŬBADDSSƠNAM ̲SBSBSŠSԠBY SZN SS MP3 SBMP0SAVŠNAMŠAD. DBMP00G NBN SBADBBY. SBMP00SAVŠADS. DBMP0GԠNAMŠADS. SZANDƠN? MP̲NϠGϠBAK SAԠADPSS 3ANAZ SASԠS 3ADADҠAD SBBADS DƠ+3D DƠBUƱ SSƠԠAND MP3B DADҠNԠDSàHN PA.+ SS MP3AYAGANS 9SBҠDSà DƠMS09 DƠ.+9MPY. MPNMD 3BDBHBASŠA DA.M56 SAMP0HAD A SAɠBUU. NB SZMP0NSHD? MP-3NϬGϠBAK. 5ANAZ SAKSUMHKSUM. SAMPY DABUƱ+GԠAV ANDMSKGN SAMP0SAV. ADAHBASŠMPU SAHADҠHADҠADDSS DABUƱ+G ANDHMSKMDU SAMDŠBASŠ. DABUƱ+ SADBUG DABUƱGԠD AƬAƠUNԠ ADA.-5AUA̠D. DBHAD MB ADBHND SSB MP6 SAHADҬɠSԠHAD DB0 BSNDA MBNBGD NBDAA. SZBSSDϠSAM MP5A0ҠN 5BSZHADҠN SAMP00 DAHAD PAHND MP6 DAMP00 SAHADҬɠS.H NBN SZBDN-5. MP5B 5AMANANGAŠAND SAMP0+SAVŠUN-5 DAMP0MPU ASAUA ADABBASŠBUUҠADDSS SABUADANDSAV. DBABUƱG NBADY NB ̴NB DAɠANSҠ SABUADɠŠBUU ADAKSUMKPUNNNG SAKSUMHKSUM SZBUAD SZMP0+NSHD? MP̴NϬGϠBAK DABUƱ+MAK ADABUƱ+NA ADAKSUMADUSMN SAKSUM NBHKSUM NBAND DAɠMPAŠH PAKSUMHAԠNAP MP+5 6SBҠƠN DƠMS06SAMŠHN DƠ.+HKSUM MPNMDUN DADҠS SBBADAD DƠ+3N DƠBUƱDAND SSƠNԠԠHN MP5GϠBAK A SAMPY DAD PA.+ MPNMD SBàSŠԠUS DƠ+UPDV DƠ.+AND MPNMDU. MSAASàNҠNAM BNKASà MP00BSS MP0BSS NAMŠBSS5 ANAMŠDƠNAM BUƱBSS60 DҠBSS HADҠBSS BUADBSS MPYNP MS06ASàHKSUM KSUMBSS ABUƱDƠBUƱ DBUGBSS DUMPMMANDMDU. HSMDUŠASUSҠϠDUMPMDŠ DSàj(SNGũҠNA̠PUNHDV. NHŠASŠƠADUMPϠDSàHŠŠMUS BŠASNGNŠADVAHŠSŬBDV. MMANDMA: DUMP۬UNԠݠDAUԽ. DUMPDAMPY SZASS MP9 A SAS NADMA SBGPAҠPAAMS. DAPAM SZASSMSSNG? MP+3N DAPAM+G SS. DA.+YSUSŠDAU. SAPH PA.+UNԠSDS? SS MPD SBMSUԠYS DƠMSAG DƠ.+ SBDYDS DƠN DƠ.M0 DBANŠNAM B DA.-5 SANԠ SBADB SBMP00 DBBNK SBNAMŠNAM SBNAM+ SBNAM+AND DBANAM ŬBSAV D0SBSB SZNԠ SS MPDA SBMP0 DBMP00US NB SBADB SBMP00 DBMP0 SZA MPD0 DDBHBASŠSAH DA SZA MP+3 NBNNZ0 MP-HAD SSASSNGAV? MP+3 SBBƠYSŠ MPNMDGϠGԠNԠMMAND. SBMP0SAVŠHADҠADDSS SAMP0+3SAVŠVAU BA SBKSUMHKSUM. ADA.+5SԠN SAN AƬAƠSHԠHGH. SABUƱSԠN AƬA MANAMPU NA NAGNA NA SAMP0+ DAHBAS MANA ADAMP0GN. SAMP0+ ҠMD SABUƱ+ ADAKSUMKPUNNNG SAKSUMHKSUM. LmSZMP0+ DADBUGG SABUƱ+NԠD. ADAKSUM SAKSUM SZMP0+BUMPUN DAMP0+PKUP̠ADSƠHAD ASDUB ADABBASŠMPUŠSANG SABUADBUUҠADDS. DBABUƱPK NBUP NBDAA DMNBD DABUADɠAND SAɠMVŠϠUPUԠBUU. ADAKSUMKP SAKSUMHKSUM. SZBUADBUMPADS. SZMP0+NSHD? MPDMNϬGϠBAK NBYS AZ SAɠNԠD DAKSUMS NB SAɠKSUM. DAPHUPU SBBԠD DƠBUƱ DƠN DBMP0+3BGN BSSAH ADBMP0 MPD+NԠHAD.GϠBAK. MP0BSSҬ333 NԠBSS PHBSS HSUNŠUPUSBNAYMDŠ DSàŠҠHҠDV. ANGSUN: DAUNԣ SBB DƠBUU DƠBU BԠNP PA.+ŠϠDS? SS MPB״NϬGϠPUNH DASԠYS SZASԠM? MPB0 SZSԠYSAҠSԠAG. AS SASҠSҠ0. SB.PSYG DB.6 SZADS DB.P SBׯSԠS. SBàS DƠ+ DƠ.ŠN DƠNAM DƠSԠDS? DAS SZASS MPұ3NϬ DASBUAYSS SASBADPNS. ADAׯS SASND B0DABԬɠPK SABADUPAGԠADDSS. ՅSZBԠG DABԬɠBUU DA0ɠNGH. MANASԠNG. SANԠN SZB DBSBAD BױDABADɠANS SAɠNԠD SZBAD NB PBSNDSҠU? MPBײ B3SZNԠNϬANSҠMPD? MPBױNϬGϠDϠN. SBSBADYSSAVŠSҠPN. MPBԬɠ. BײSBàSҠU DƠ+ DƠ.5 DƠB0S DƠSBU DƠׯSԠN DƠNAM DƠSҠ. SZSҠBUMPSҠ DAS PASԠNDƠS MP+3 DBSBUAN MPB3GϠBAK SBҠҠNSUN DƠMS5 DƠ.SPA. MPNMDGϠGԠNԠMMAND. UPUԠϠNA̠DV B״ҠB00S SAUNN̠D. DABԬɠG SABBUƠBUUҠADDSS SZBԠ DABԬ SABBU̠BUUҠNGH. SZB DASԠS SZAM? MP+3 SZSԠYS SBADҠPUNHAD SBàUPU DƠ+5 DƠ.+BUU DƠUN BBUƠBSS BBU̠BSS MPBԬɠUN. HSNYSNDƠ BƠNP DAPH PA.+DVŠDS? MP+3 SBADҠNϬPUNH MPBƬɠA. AYS SASBADɠSԠNԠ0 SBà DƠ+S DƠ.5 DƠB0 DƠSBUƠDS. DƠׯS DƠNAM DƠS MPBƬɠ B0Ԡ0 .5Dà5 MS5ASàNSUNԠŠSPA ADҠNP DAmPH ҠB000 SADV SB DƠ+3 DƠ.+3 DƠDV MPADҬ DVàBSS HSUNŠNVSANAS SNGϠADMA̠ҠA̠NUMB NNYA0A A0DMA BBYŠADDSSƠSNG. NԠB<0 NVԠNP SBMPàSAVŠBYŠADDSS DB.+PUԠA̠BASŠNB. SZAANԠDMA DB.+0YSPUԠDMA̠BASŠNB SBMP+SAVŠBAS AS SAGDAAAG+ SAMP+MPAY. NDBMPàADAS SBADBDG ADA.MNVԠϠ. SSA MPN SAMP+3 DAMP+ MANA ADAMP+3 SSASS MPN DAMP+YSMPU MPYMP+NԠSU SZBV? MPNYS ADAMP+3ADDNUNԠDG. S MPNVԬɠ SAMP+SAVŠMPSU SZGSԠGDDAAAG. SZMPàBUMPADDSS MPNGϠBAK. NDAGNNDGԠUND.ANYGD DBMPàDAA? SZASS SϠNϠSԠV DAMP+PKUPSU MPNVԬɠ NSϠV MPNVԬɠ MPàBSS .MDà- GBSS HSUNŠADSBNAY NPUԠMDSàŠҠH DV ANGSUN: DA<.U.ƠDV..U.MANS DVŠSDS..U.MANSHҠDV. SBBAD DƠ+3 DƠBUU ԠUN NMA̠UN ҠNDNS ŠNԠNDSK-MMANDABD NDƠŠ-MMAND3[ABD BADNP DBBAD SB SZBAD ADMŠҠHҠDV PA.+DVŠDS? MPBҷYSŠNPU. HҠDVŠNPU ҠB300NϬ SAUNSԠN̠D. DABADɠS SABADDBUUҠADDSS. SZBADSԠԠUN. SBàAD DƠ+5 DƠ.+ DƠUN BADDNPD DƠ.60 SZBSS? MPBADɠYS MPԬɠNϬ ŠNPU BҷҠB00SԠN SAUND. DABADɠS SABADAGԠADDSS SZBADSԠԠUN. DASԠSԠM? SZA MPBҸ SZS AYSSԠSҠϠ0 SASҠG SB.PSY DB.6 SZADS DB.S. SBׯS SBàS DƠ+ DƠ. DƠNAM DƠSԠN DAS SZADS? MPB9YS ұ3SBҠN DƠMS3N DƠ.+. MPNMD B9SBàYSAD DƠ+ DƠ.S DƠUN DƠSBUƠM DƠׯS DƠNAM DƠSҠ. DASBUASԠSAԠAND SASBADND ADAׯSԠPNS. SASND BҸDASBADND PASNDƠS. SS MPBұ0 SZSҠYSBUMPSҠ. DAS PASҠASԠSҠƠ? SS MPB9NϬGϠADNԠS Bұ3SBҠYS: DƠMSND DƠ.+Ơ MPNMDGϠGԠNԠMMAND. Bұ0DASBADɠANS SABADɠDNH<:6 AƬA MANA SANԠMAKŠNGAV SZASSD? MPBADɠYS BұSZBADBUMP SZSBADPNS. SZNԠNDƠD? SS MPԬɠYS. DASBADNϬND PASNDƠS? MPBұ DASBADɠNϬANS SABADɠNԠD MPBұGϠGԠN. BұSZSҠYSNDƠS DASԠASHA PASҠASԠSҠƠ? MPBұ3YS SBàN DƠ+AD DƠ. DƠUNN DƠSBU DƠׯSԠS DƠNAM DƠS DASBUAS SASBADPNҠϠSUŠBUU i<  24334-80002 1419 S 0122 0212908 WCS MICRO DEBUG EDITOR             H0101  MPBұ-3GϠMPŠANS. ԠBSS UNBSS B00Ԡ00 MS09ASà9NϠPGAMADD MS3ASàŠNԠNDS MSASàND SԠBSS SҠBSS .Dà ׯSԠBSS SBUƠBSS SBUADƠSBU SBADBSS SNDBSS BADBSS NԠBSS B300Ԡ300 SԠNP DYADSMSYSMYAND ASҠSPNS.ԠASϠPUS ANNDƠDAAAGAԠNDƠNPUԠSNG. ANGSUN: SBDY DƠBUU DàBU DYNP DADYɠPKUP SADBUƠBUUҠADSS SZDYPK DADYɠUPUN SADNԠADDSS SZDYSԠUN. SBàAD DƠ+5 DƠ.+N DƠND3M DBUƠNP DNԠNPY. SBMP00 DADBUƠMPU A̠BYŠADDSSƠBUU. SP(GNB ADB0ADBA ASԠD SBSBAG A SBSB DBMP00 MPDYɠ. ND3Ԡ0 PAAMҠHUN ANGSUN: DAYPAG(0A̠NVSN 0DMA̠ SBGPA UNŠAMNSMMANDNPUԠSNG PAAMS.PMSNSSAYNVSN ANDUNSSUԠNPAAMҠAB.AB MAԠSUSADB. PAAMҠAB ƠNSD NYD NYD3 X NYNDN+ ƠҠDDMMANDMUSԠBŠ-NPUD. GPAҠNP SAPYPŠSAVŠNVSNAG. AS SAPAMPAAMS0 DAPAMPNԠϠND SAAPAMDƠPAAMҠAB DAM.5 SAN DBBAMDSKP G0DAMA SBSKPϠMA. SZASSUND? MPGPAҬɠNϬUN NBPNԠϠNԠHAҠPASԠ"". DABANKSKPV SBSKPBANKS. SZADDŠAHNDƠN? MP+5N SBҠYS DƠMS0MSSNG DƠ.+9 MPNMDGϠGԠNԠMMAND. DAPYPŠNV SBNVԠASɠϠBNAY SSNUMBҠGA? MP+5YS SBҠNϬ DƠMS0GA DƠ.DG. MPNMDGϠGԠNԠMMAND SAAPAMɠPUԠPAAMҠNAB SZAPAMBUMPPN SZPAMBUMPUPPAAMҠUN SZNԠANԠHANDŠ6PAAMS. MPG0GϠBAKGԠN. MPGPAҬ PYPŠBSS PAMBSS6 PAMDƠPAM+ APAMBSS MAԠ5 MS0ASàGA̠DGԯV M.5Dà-5 MDYMMANDMDU MMANDMA: MDY * TO > RESERVED * 3 > * 2 = ABORT RCVR WAIT LOOP * 1 = CPU ACTS AS RECEIVER IF BIT IS SET * CPU ACTS AS TRANSMITTER IF BIT IS CLEARED * 0 = RESERVED * NOTE: STANDART RUN SHOULD BE WITH SWITCH = 000000 * USER CONTROL WILL ASK FOR A 32 BIT WORD. * EACH BIT WILL = 1 TEST * G. PRESS RUN * * TO RESTART DIAGNOSTIC * * 1. IF CHANGE SELECT CODE AND OPTIONS REPEAT FROM C. ABOVE * 2. IF NOT CHANGE SELECT CODE AND OPTIONS * A. LOAD ADDRESS 2000B * B. PRESS RUN SKP * GENERAL COMPUTER HALTS * * 102000 INITIALIZING HALT FOR TEST 7 * 1020XX ERROR HALTS (XX=TEST #, XX NOT 0, 76, 77) * 102076 END OF TEST HALT (A=TEST #) * R 103000 NO USER SELECT CODE * 103001 NO 1 MILL. TIME COUNT * 106000 INITIALIZING HALT TO SYNC 2 COMPUTERS * 1060XX UNEXPECTED TRAP CELL HALT (XX=SELECT CODE) * 107076 INITIALIZING HALT AFTER LOADING SELECT CODE * 107077 USER SELECTION REQUESTED SPC 2 * ALL HALTS MAY BE RESTARTED FROM ADDRESS 2B. THIS IS * FOR CONVENIENCE ON THE 2114 WHERE THE M REG. NEEDS TO * BE ALTERED TO OBSERVE A&B REGISTERS. * * THE ONLY EXCEPTION IS A 1060XX HALT WHICH IS NOT * RECOVERABLE. SKP * SPECIFIC DIAGNOSTIC FUNCTIONS * * TESTS 1 THROUGH 7 ARE BASIC I/O TESTS * * TEST 8 * TRANSMITS AND RECEIVES A 100 WORD BLOCK OF DATA WITH THE * INTERRUPT SYSTEM OFF (SFS). AFTER THE BLOCK IS RECEIVED IT * IS COMPARED WITH MEMORY RESIDENT DATA TO TEST FOR ERRORS. * * TEST 9 * SAME AS TEST 8 BUT WITH INTERRUPT SYSTEM ENABLED. * * TEST 10 * CHECKS WATCHDOG TIMER. 1 WORD IS TRANSMITTED AND RECEIVED. * AFTER A 15 MS WAIT, THE FLAG IS TESTED AND THE STATUS WORD * IS CHECKED FOR THE WDO BIT. * * TEST 11 * CHECKS CLEAR CRC. THE CRC IS CLEARED, THEN TRANSMITTED AND * RECEIVED. THE ERROR BIT IN THE STATUS WORD IS THEN TESTED. * * TEST 12 * CHECKS CRC ACCUMULATION AND TRANSMITION AS TEXT WORD. THE * RECEIVED CRC IS COMPARED TO CALCULATED CRC. IN 2 CPU CONF. * THE RCVR RESPONDS BY SENDING CRC AFTER RECEIVING CRC, THEN * TESTS ERROR BIT IN STATUS WORD IN ADDITION TO THE COMPAR- * ISON MADE AND THE XMTR TESTS FOR RECEPTION OF ZERO. * * TEST 13 * CHECKS THE HARDWARE HANDSHAKE. THE HANDSHAKE WORD IS SENT * AND RECEIVED, THEN COMPARED TO TEST FOR ERRORS. NEXT THE * 100 WORD BLOCK OF DATA IS TRANSMITTED AND RECEIVED IN THE * HANDSHAKE MODE. AFTER THE BLOCK IS RECEIVED IT IS COMPARED * WITH MEMORY RESIDENT DATA TO TESAT FOR ERRORS. * * TEST 14 * CHECKS LISTEN-REPEAT AND ADDRESS RECOGNITION. THE TRANS- * MITTER SENDS ALL ADDRESSES FROM 2 TO OCT 176 (ADDRESS IS * INCREMENTED BY 2). THE RECEIVER STARTS WITH ADDRESS 2 * AND INCREMENTS IT'S ADDRESS UPON RECOGNITION AFTER SENDING * CONFIRMATION TO TRANSMITTER. UPON COMPLETION OF SENDING * ALL ADDRESSES THE TRANSMITTER CHECKS FOR ANY NON RECOG- * NIZED ADDRESSES. ALL REPEATED WORDS ARE COMPARED TO THE * WORD SENT. * * TEST 15 * CHECKS INTERRUPTION OF DMA WITH TAG ONE WORD AND IRQ TAG * BIT SET IN RCVR. RCVR IS SET TO EXPECT MORE WORDS THAN * XMTR WILL SEND BEFORE TAG ONE WORD IS SENT. THE DMA RESI- * DUE IS ALSO CHECKED. SKP * CONFIGURATIONS SPC 4 * ******** * * *********----------------- * * 21XX * HWSIC * 1 COAXIAL CABLE - * * CPU * BOARD * - * * *********----------------- * ******** * * CONFIGURATION 1 - CAN RUN TESTS 1 THROUGH 12 SPC 5 * ******** ******** * * *********------------------------------********* * * * 21XX * HWSIC * 2 COAXIAL CABLES * HWSIC * 21XX * * * CPU * BOARD * * BOARD * CPU * * * *********------------------------------********* * * ******** ******** * * CONFIGURATION 2 - CAN RUN TESTS 1 THROUGH 14 SPC 5 * ********* ********* * * *********----------------------------********* * * * 21XX * HWSIC * 2 COAXIAL CABLES * HWSIC * 21XX * * * CPU * BOARD * * BOARD * CPU * * * W/DMA *********--------------------------- ********* W/DMA * * * * * * * ********* ********* * * CONFIGURATION 3 - CAN RUN TESTS 1 THROUGH 15 SKP * * PROGRAM ORGANIZATION CHART * * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE 127B * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE 137B * * ******************************************* * * CONSTANTS 140B * * * AND USER * * * STORAGE 1777B * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * DEF LIST TO * * * START OF EACH TEST * * ******************************************* * * DEF LIST TO * * * I/O INSTRUCTIONS * * ******************************************* * * * * * BASIC I/O TESTS (0-7) * * * * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (8-31) * * * * * * *  * * * * * * * * * * ******************************************* SKP * ADDRESS 2 RESTART FOR 2114 * ORG 2B JMP *+1,I OCT 100 ORG 100B * A EQU 0 B EQU 1 TSC EQU 10B TEST SELECT CODE * * CONFIGURATOR LINKAGE TABLE * START JMP CNF,I GO TO CONFIGURATION FAIN BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) FAOP BSS 1 FAST OUTPUT (DUMP OR PUNCH) SLIN BSS 1 SLOW INPUT (KEYBOARD) FWA DEF FWAA FIRST WORD OF AVBL. MEMORY LWA BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 TMC BSS 1 1MILLSEC. TIME OUT COUNTER BSS 4 SELECT CODES FOR I/O CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEM BSS 1 MEMORY SIZE AND TYPE ISWR BSS 1 INTERNAL SWITCH REGISTER TMR BSS 1 1 MILL SEC TIMER SWR BSS 1 CHECK SWITCH REG I2ASC BSS 1 INTEGER TO ASCII CONVERSION O2ASC BSS 1 OCTAL TO ASCII CONVERSION ASC2N BSS 1 ASCII CONVERSION DSN OCT 103207 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * EXECUTIVE LINKAGE TABLE * CNF DEF CONF GO TO CONFIGURATION ER DEF ERR ERROR REPORTING ROUTINE MS DEF MSG NON ERROR MESSAGE REPORTING DFPA DEF SDS POINTER TO SUBROUTINE DEF'S IODL DEF IODS POINTER TO I/O DEF LIST SC NOP CURRENT SELECT CODE * * SET RESTART FOR ADDRESS 2 * STOP NOP ENTRY POINT STA .STOP SAVE A REG LDA STOP INA GET JMP ADDRESS STA 3B SHOVE IN 3 LDA .STOP RESTORE A REG JMP STOP,I RETURN .STOP NOP SKP * * CONSTANTS AND STORAGE * HLT0 OCT 106000 HLT1 OCT 106001 HLTSC NOnP TMP NOP * * LPCNT DEC -100 CNTR NOP .1 OCT 1 .2 OCT 2 .3 OCT 3 .4 OCT 4 .5 OCT 5 .6 OCT 6 .7 OCT 7 .10 OCT 10 .17 OCT 17 .20 OCT 20 .50 DEC 50 .77 OCT 77 .100 OCT 100 .M3 DEC -3 .M4 DEC -4 .M5 DEC -5 .M7 DEC -7 .M16 DEC -16 .M50 DEC -50 .M100 EQU LPCNT M300 DEC -300 .ME3 DEC -1000 .M35C DEC -3500 TYPE NOP CONF2 NOP BIT8 OCT 400 BIT9 OCT 1000 BIT10 OCT 2000 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 BITS OCT 177764 NBIT9 OCT 176777 .M1 OCT -1 BIT23 OCT 14 SCNT NOP DCNT NOP DEFL NOP ADDR NOP WADDR NOP WORDS BSS 4 PNTR DEF WORDS PNTRS NOP PSCP DEF PSCT+10 EOLCP DEF EOLC+3 MAXNM OCT 176 TST# NOP T13 DEC 13 * SW15 EQU BIT15 SW13 EQU BIT13 SW9 EQU BIT9 SW14 EQU BIT14 SW10 EQU BIT10 SW11 EQU BIT11 SW12 EQU BIT12 .8 EQU .10 .16 EQU .20 SKP * * COMMONLY USED SUBROUTINES * * * PUT JMP INSTRUCTION IN TRAP CELL * TCJMP NOP LDA JMPI GET JUMP INSTRUCTION STA SC,I PUT IT IN TRAP CELL LDA TCJMP,I GET LOCATION STA JMPIL SAVE IT FOR JMP INSTRUCTION ISZ TCJMP ADJUST RETURN JMP TCJMP,I RETURN TO CALLER * JMPI JMP *+1,I JMP INSTRUCTION JMPIL NOP JUMP LOCATION * T5.I0 JSB *+1,I TRAP CELL JSB DEF TIT5 * TSTX NOP SPC 4 .WAIT NOP ENTRY POINT LDA M300 SET UP COUNTER STA TMP FOR APPROX 15 SEC ISZ TMP DONE? JMP *+2 NOT YET JMP WAIT,I YES EXIT * LDA .50 TIME OUT FOR 50 MS JSB TMR,I LDB .4 IS IT STILL SET? JSB SWR,I JMP .WAIT+3 YES, CONTINUE JMP .WAIT,I NO, EXIT SKP * COMMON ERROR MESSAGES * TETX1 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP  CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 12,RCVR WAIT LOOP ABORTED/ * TETX2 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT -1 CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 15,FLAG NOT SET ON DATA TRANSFER/ * TETX4 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS TTX4 NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 18,FLAG SET ON DATA TRANSFER BY STATUS ASC 5,WORD = #/ * TETX5 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 1 CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 12,ERROR IN DATA TRANSFER/ SPC 3 * CALL = LDA WITH SA OF DEF LISTS FOR DEF LISTS FOR TESTS * JSB HDWSI * GOOD RETURN * ERROR RETURN * HDWSI NOP ENTRY POINT ADA CONF2 ADD TABLE OFFSET TO POINT TO XMIT RCVR LDA A,I GET ADDRESS TO DEF LIST STA DEFL SAVE STARTING ADDRESS OF DEF LIST * HDW2 LDA DEFL,I GET SUBROUTINE ADDRESS SZA ALLOWS NOP'S IN DEF LIST JSB A,I GO TO SUBROUTINE JMP HDW3 GOOD RETURN FROM SUBROUTINE * ERRT ISZ HDWSI ERROR RETURN FROM SUBROUTINE JMP HDWSI,I EXIT ERROR RETURN * HDW3 ISZ DEFL INCREMENT DEF LIST JMP HDW2 SKP * INITIALIZING ROUTINE FOR ALL TESTS * INIT NOP ENTRY POINT CLA STA CONF2 INITIALIZE CONFIGURATION STA ERROR CLEAR ERROR STA REM1 CLEAR CRC ACCUMULATOR STA TYPE TO XMIT STA TSTNO CLEAR LAST TEST NO. LDA USSC GET USER OPTION AND BIT8 MASK TO # CPU'S SZA,RSS IS IT SET FOR 2? JMP INT1 CONF IS 0 ISZ CONF2 LDB .2 TEST FOR XMIT OR RCVR wJSB SWR,I JMP *+2 IS SET = RCVR (CONF = 2) JMP INT1 NO SET = XMIT (CONF = 1) LDA BIT10 SET TYPE TO RCVR CRC STA TYPE ISZ CONF2 INT1 LDA LPCNT CLEAR DESTINATION AREA STA CNTR SET UP COUNTER CLA LDB DEST STA B,I INB ISZ CNTR ALL CLEARED? JMP *-3 NO, CONTINUE * LDA LPCNT SET UP COUNT FOR LOOPR STA CNTR * LDA SOURC SET UP DATA XFR ADDRESSES STA SCNT LDA DEST STA DCNT JSB INIT2 CLEAR STATUS AND SET CONTROL JMP INIT,I EXIT * INIT2 NOP ENTRY POINT ISC8 LIA TSC CLEAR SUSPEND ISC1 CLC TSC ISC2 LIA TSC,C CLEAR STATUS WORD LDA BIT23 CLEAR CRC, MASTER RESET IOR TYPE SET CRC (XMIT OR RCVR) IOR BIT12 DISABLE CONSTANT ONES ISC3 CLC TSC ISC4 OTA TSC,C SET CONTROL WORD ISC7 CLF TSC MAKE SURE THE THING IS CLEAR! JMP INIT2,I EXIT * SOURC DEF SAS DEST DEF SAD SKP * SUBROUTINE TO GET 2 CPU'S IN STEP * (XMTR) * TESTS 8 THRU 15 * XSTAR NOP ENTRY POINT XSTA2 JSB TXMIT SEND TEST NO. JSB ABORT CHECK FOR ABORT XSTA3 SFS TSC DID FLAG GET SET? JMP XSTA2 NO, TRY AGAIN * JSB NONAB SEE IF RCVD GOOD WORD JMP *+2 YES JMP XSTA2 NO, TRY AGAIN * LDA .1 WAIT 1 MS JSB TMR,I JSB INIT2 CLEAR STATUS AND SET CONTROL JMP XSTAR,I START XMTR SPC 4 * SUBROUTINE TO GET 2 CPU'S IN STEP * (RCVR) * TESTS 8 THRU 15 * RSTAR NOP ENTRY POINT RSTA1 SFS TSC IS FLAG SET? JMP RSTA2 NO JSB NONAB SEE IF RCVD GOOD WORD JMP *+4 YES RSTA2 JSB INIT2 CLEAR SUSPEND JSB ABORT CHECK FOR ABORT JMP RSTA1 TRY AGAIN JSB TXMIT SEND TEST NO. JSB INIT2 CLEAR STATUS AND SET CONTROL vJMP RSTAR,I START RCVR SPC 4 * SUBROUTINE TO COMPARE TST# TO GET 2 CPU'S IN STEP * TESTS 8 THRU 15 * NONAB NOP ENTRY POINT JSB TRCVR GET WORD LDA TST# GET CURRENT TST# CPA TSTNO COMPARE WITH REC'D WORD JMP NONAB,I IS GOOD ISZ NONAB NO, NOT YET JMP NONAB,I EXIT SKP * SUBROUTINE TO XMIT TST# TO GET 2 CPU'S IN STEP * TESTS 8 THRU 15 * TXMIT NOP ENTRY POINT LDA TST# GET CURRENT TST# TXMI1 OTA TSC,C SEND IT TXMI2 CLF TSC CLEAR XMIT FLAG JMP TXMIT,I EXIT SPC 4 * SUBROUTINE TO RCVR TST# TO GET 2 CPU'S IN STEP * TESTS 8 THRU 15 * TRCVR NOP ENTRY POINT TRCV1 LIA TSC,C GET WORD STA TSTNO SAVE IT JMP TRCVR,I EXIT * TSTNO NOP SPC 4 4 * SUBROUTINE TO TEST FOR ABORT (2 CPU'S IN STEP) * TESTS 8 THRU 15 * ABORT NOP ENTRY POINT LDA .20 WAIT 16 MS JSB TMR,I LDB .4 CHECK FOR ABORT JSB SWR,I JMP *+2 YES, ABORT JMP ABORT,I NO, EXIT * JSB .WAIT WAIT FOR BIT OFF JSB ER,I REPORT ABORT DEF TSTX,I RETURN POINT DEF *+3 OCT -1 A REG OCT -1 B REG ASC 7,TEST ABORTED/ SKP * SUBROUTINE TO XMIT 1 WORD * TESTS 8, 10, 11, 12, 13 * XMIT NOP ENTRY POINT LDB .M100 SET UP COUNT FOR STB ECNT WAIT BETWEEN TRANSFERS ISZ ECNT WAIT LONG ENOUGH? JMP *-1 NO, NOT YET * LDA SCNT,I GET WORD FROM MEMORY XSC1 OTA TSC,C SEND IT ISZ SCNT INCREMENT POINTER JMP XMIT,I EXIT SPC 4 * SUBROUTINE TO RCVR 1 WORD * TESTS 8, 10, 12, 13 * RCVR NOP ENTRY POINT RSC1 LIA TSC,C GET TRANSMITTED WORD STA DCNT,I STORE IN MEMORY ISZ DCNT INCREMENT POINTER JMP RCVR,I EXIT M<:6 SPC 4 * SUBROUTINE TO LOOP AND WAIT FOR 1ST WORD * TESTS 8, 9, 10, 12, 13, 15 * LOOP NOP ENTRY POINT CLA SET UP COUNTS STA TMP FOR ABORT WAIT LOOP LDB .M100 STB ECNT * LOOP2 LDB .4 CHECK IF ABORT JSB SWR,I JMP LOOP1 ABORT WAIT * LSC1 SFS TSC FLAG SET? JMP *+2 NO, INCREMENT COUNT JMP LOOP,I GOOD EXIT * ISZ TMP LITTLE COUNTER JMP LOOP2 CHECK FOR ABORT ISZ ECNT BIG COUNTER JMP LOOP2 CHECK FOR ABORT * LOOP1 JSB .WAIT WAIT FOR BIT OFF ISZ LOOP ABORT EXIT CLA A=0 IF ABORT WAIT JMP LOOP,I EXIT SKP * SUBROUTINE TO CHECK THE FLAG OF HWSIC * TESTS 8, 10 THRU 15 * FLAG NOP ENTRY POINT LDA M300 STA ECNT SET ERROR COUNTER FSC1 SFS TSC FLAG SET YET? JMP *+3 NOT YET FSC2 CLF TSC YES, CLEAR IT JMP FLAG,I EXIT-GOOD RETURN ISZ ECNT COUNT DONE? JMP *-5 NO, CONTINUE LDA .M1 YES, ERROR ISZ FLAG JMP FLAG,I ERROR RETURN * ECNT NOP SPC 4 4 * SUBROUTINE TO LOOP THROUGH DEF LIST * TESTS 8, 9, 12, 13 * LOOPR NOP ENTRY POINT ISZ CNTR DONE YET? RSS LOP1 JMP LOOPR,I * LDB .M4 -4 IF CONF2 .NE. 0 LDA CONF2 SZA,RSS LDB .M5 -5 IF CONF2 = 0 * LDA B ADA DEFL DECREMENT DEFL STA DEFL JMP LOOPR,I EXIT SKP <  24335-18002 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 i* SUBROUTINE TO COMPARE RECEIVED DATA WITH MEMORY BLOCK * TESTS 8, 9, 12, 13 * COMPA NOP ENTRY POINT LDA LPCNT SET UP COUNTER STA CNTR JSB RESET RESET POINTERS * COMPB LDA SCNT,I COMPARE WORDS CPA DCNT,I JMP *+4 GOOD COMPARISON ISZ COMPA * LDA .1 SET ERROR CODE JMP COMPA,I ERROR EXIT * ISZ SCNT INCREMENT POINTERS ISZ DCNT ISZ CNTR ARE WE DONE? JMP COMPB NO, DO AGAIN JMP COMPA,I EXIT SPC 4 * SUBROUTINE TO WAIT FOR INTERRUPT * AFTER DATA TRANSFER * TEST 9 * TIMER NOP ENTRY POINT LDA .ME3 SET UP COUNTER STA ECNT LDA INFLG CHECK INTERRUPT FLAG SZA,RSS NOT CLEAR YET? JMP TIMER,I IS CLEAR, EXIT ISZ ECNT JMP *-4 CONTINUE * ERTIM LDA .7 ERROR CODE = 7 ISZ TIMER JMP TIMER,I ERROR EXIT SPC 4 * SUBROUTINE TO WAIT N MS - NON-ERROR * TESTS 10, 12, 13 * WAIT NOP ENTRY POINT LDA TIME GET WAIT TIME JSB TMR,I GO AND WAIT JMP WAIT,I EXIT * TIME NOP SKP * SUBROUTINE TO CHECK WATCHDOG TIMEOUT * TEST 10 * WDO NOP ENTRY POINT LDB .1 SET ERROR CODE WSC1 SFS TSC DID WDO SET FLAG? JMP WDOER INB BE WSC2 CLC TSC WSC3 LIA TSC,C GET STATUS WORD AND .10 AND FOR WDO BIT SZA,RSS SKIP IF THERE JMP WDOER NOT THERE, IS ERROR JMP WDO,I GOOD EXIT * WDOER LDA B GET ERROR CODE ISZ WDO JMP WDO,I SPC 4 * SUBROUTINE TO SET TSC INTERRUPT CELL FOR RECEIVE MODE * AND ENABLE INTERRUPTS * TEST 9 * ENINR NOP ENTRY POINT LDA ISR GET INSTRUCTION FOR INTERRUPT STA SC,I PUT IN APPROPRIATE CELL STF 0 ENABLE INTERRUPT SYSTEM ESC1 STC TSC ENABsLE HWSIC ESC7 LIA TSC,C DUMMY LOAD ESC14 CLF TSC CLEAR JUST IN CASE JMP ENINR,I EXIT * ISR JSB *+1,I DEF SERVR RECEIVE INTP SERVICE ADDRESS SKP * RECEIVE INTERRUPT SERVICE * TEST 9 * SERVR NOP ENTRY POINT CLC 0,C DISABLE INTERRUPTS STA SAVEA SAVE A REG STB SAVEB SAVE B REG ESC2 LIA TSC,C GET WORD STA DCNT,I STORE IN RCVR BUFFER ISZ DCNT INCREMENT POINT CLA STA INFLG CLEAR INTP FLAG FOR TIMER LDA SAVEA RESTORE A REG LDB SAVEB RESTORE B REG JMP SERVR,I EXIT * INFLG NOP SAVEA NOP SAVEB NOP SPC 4 * TRANSMIT FOR 1 CPU CONFIGURATION * TESTS 8 THRU 13 * FXMIT NOP ENTRY POINT LDA SCNT,I GET WORD TO SEND ISZ SCNT INCREMENT POINTER STA INFLG SET INTP FLAG FOR TIMER FXSC1 OTA TSC,C SEND WORD FXSC2 CLF TSC CLEAR TRANSMIT FLAG JMP FXMIT,I EXIT SPC 4 * CHECK CLEAR CRC (NO ERROR IN STATUS WORD) * TESTS 11, 12 * CCRC NOP ENTRY POINT LDA ERROR AND .2 MASK TO ERROR BIT SZA SKIP IF NOT THERE - GOOD ISZ CCRC IS ERROR JMP CCRC,I EXIT SKP * SUBROUTINE TO CLEAR LISTEN-REPEAT MODE * TEST 14 * LRCLR NOP ENTRY POINT LDA .10 SET BIT3 FOR (MASTER CLEAR) STA WORD CONTROL WORD JSB CWORD OUTPUT WORD JMP LRCLR,I EXIT SPC 4 * SUBROUTINE TO SEND A BLOCK (100 WORDS) TO RCVR WITH * INTERRUPT ENABLED. WILL SEND A WORD EVERY MS. * TEST 9 * XMTI NOP ENTRY POINT LDA LPCNT SET UP COUNTER STA CNTR FOR 100 WORDS XMT1 LDA SCNT,I GET WORD FROM MEMORY * ESC5 OTA TSC,C SEND IT TO OTHER CPU ISZ SCNT INCREMENT POINTER ISZ CNTR DONE YET? RSS NO, NOT YET JMP XMTI,I YES,z EXIT * LDA .1 DO A 1 MS TIMER JSB TMR,I JMP XMT1 CONTINUE SKP * SUBROUTINE FOR RCVR CPU TO RECEIVE WORDS * WITH INTERRUPT ENABLED * TEST 9 * RCVI NOP ENTRY POINT LDA LPCNT STA CNTR SET WORD COUNT = 100 LDA ISR2 STA SC,I SET INTERRUPT CELL * STF 0 ENABLE INTERRUPTS ESC4 STC TSC ENABLE HWSIC ESC6 LIA TSC DUMMY LOAD * ESC3 LIA TSC,C GET RECEIVED WORD STA DCNT,I SAVE IN BUFFER ISZ DCNT INCREMENT BUFFER POINTER ISZ CNTR DONE YET? JMP *+3 NO, NOT YET CLC 0,C DISABLE INTERRUPTS JMP RCVI,I YES, EXIT * LDA .17 DO A 15 MS TIMEOUT JSB TMR,I CLC 0,C DISABLE INTERRUPTS LDA .7 OOPS, TIMED OUT ISZ RCVI JMP RCVI,I ERROR EXIT * ISR2 JMP *+1,I DEF ESC3 SPC 2 * SUBROUTINE TO XMIT AND SET UP HANDSHAKE MODE * TEST 13 * HXMIT NOP ENTRY POINT LDB SCNT,I GET 1ST WORD TO SEND ISZ SCNT INCREMENT POINTER LDA WORD GET CONTROL BIT IOR TYPE CRC KIND IOR BIT12 DISABLE CONSTANT ONES * HXSC1 OTB TSC,C SEND 1ST WORD HXSC3 CLC TSC HXSC4 OTA TSC,C OUTPUT CONTROL WORD LDB SCNT,I HXSC5 OTB TSC,C LOAD SECOND WORD * ISZ SCNT INCREMENT POINTER ISZ CNTR INCREMENT LOOP COUNT ISZ DEFL SKIP XMIT FIRST TIME JMP HXMIT,I EXIT SKP * SUBROUTINE TO CHECK IF FLAG WAS SET BY STATUS WORD * TESTS 8, 10 THRU 15 * CHFLG NOP ENTRY POINT CLA RESET ERROR STA ERROR FOR THIS CHECK CHSC1 CLC TSC CHSC2 LIA TSC,C GET STATUS WORD SZA,RSS IS ANYTHING SET? JMP CHFLG,I NO, IS OK * STA ERROR SAVE FOR ERROR MESSAGE AND BITS MASK OUT BITS 0,1,3 SZA,RSS IS ANYTHING SET? JMP CHFLG,I NO, IS OK LDA .10 10 = ERROR CODE ISZ CHFLG JMP CHFLG,I ERROR EXIT * ERROR NOP SPC 3 * DUMMY SUBROUTINE TO FILL DEF LIST * TEST 9 * DUMMY NOP ENTRY POINT JMP DUMMY,I EXIT SPC 3 * SUBROUTINE TO OUTPUT COMPLETION MESSAGE * TESTS 8 THRU 15 * GOOD NOP ENTRY POINT JSB MS,I OUTPUT MESSAGE DEF TSTX,I RETURN POINT DEF *+1 MESSAGE ADDRESS ASC 5,COMPLETED/ SPC 3 * MESSAGE TO WRONG CONFIGURATION * TESTS 13 THRU 15 * NONO NOP ENTRY POINT JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP CONTENTS FOR A REG OCT -1 B REG ASC 17,THIS CONFIGURATION CANNOT RUN THIS ASC 3, TEST/ SKP * SUBROUTINE TO RESET SOURCE AND DESTINATION * TESTS 12, 13 * RESET NOP ENTRY POINT LDA SOURC IT IS STA SCNT SELF LDA DEST EXPLANATORY STA DCNT JMP RESET,I EXIT SPC 2 * SUBROUTINE TO SET A SPECIAL CONTROL WORD * TESTS 10 THRU 15 * CWORD NOP ENTRY POINT LDB TST# CHECK FOR SPECIAL CASES CPB T13 IS IT HANDSHAKE? JSB INIT2 IF YES INITIALIZE LDA WORD GET BITS THAT HAVE BEEN SET CPB BIT23 CRC TRANSMIT (TEST 12) RSS SKIP IF YES IOR TYPE GET CRC KIND IOR BIT12 DISABLE CONSTANT ONES CWSC1 CLC TSC CWSC2 OTA TSC,C SEND IT JMP CWORD,I EXIT * WORD NOP SPC 2 * SUBROUTINE TO CHECK IF CRC TO CRC EQUALS ZERO * TEST 12 * ZERO NOP ENTRY POINT LDA DEST,I GET THE WORD SZA,RSS JMP ZERO,I OK, IT EQUALS ZERO STA CRC SAVE IT FOR MESSAGE LDA .17 SET ERROR CODE ISZ ZERO JMP ZERO,I ERROR EXIT * CRC NOP 7 SPC 2 * SET CRC KIND TO RCVR * TEST 12 (1 CPU CONFIGURATION) * FCRC NOP ENTRY POINT LDA BIT10 RESET TYPE FOR CRC STA TYPE IOR BIT12 DISABLE CONSTANT ONES ISC5 CLC TSC ISC6 OTA TSC,C SET CONTROL WORD JMP FCRC,I SKP * ROUTINE TO TRANSMIT AND ACCUMULATE CRC * TEST 12 * CXMIT NOP ENTRY POINT LDB SCNT,I GET WORD TO SEND ISZ SCNT INCREMENT POINTER CXSC1 OTB TSC,C SEND WORD CXSC2 CLF TSC CLEAR TRANSMIT FLAG * JSB CACRC CALCULATE CRC JMP CXMIT,I EXIT SPC 2 CACRC NOP ENTRY POINT LDA .M16 SET UP LOOP COUNTER STA CONTR LDA REM1 GET OLD CRC XOR B NEW WORD CLE,SLA,ERA XOR POLY1 POLYNOMIAL ISZ CONTR DONE? JMP *-3 NO STA REM1 YES, SAVE CRC JMP CACRC,I EXIT SPC 3 * COMPARE RECEIVED CRC WITH CALCULATED CRC * TEST 12 * COMPS NOP LDA DEST,I GET RECEIVED WORD CPA REM1 COMPARE WITH CALC. CRC JMP COMPS,I OK, EXIT LDA .6 ERROR CODE = 6 ISZ COMPS JMP COMPS,I ERROR EXIT * CONTR NOP REM1 NOP POLY1 OCT 120001 SPC 3 * ROUTINE TO RECEIVE AND ACCUMULATE CRC * TEST 12 * CRCVR NOP ENTRY POINT CRSC1 LIB TSC,C GET RECEIVED WORD STB DCNT,I STORE IN MEMORY ISZ DCNT INCREMENT POINTER JSB CACRC CALCULATE CRC JMP CRCVR,I EXIT SKP * SUBROUTINE TO TRANSMIT SPECIAL WORD * TESTS 13, 15 * SXMIT NOP ENTRY POINT LDA SWORD GET SPECIAL HANDSHAKE WORD SSC1 OTA TSC,C LOAD IT SSC3 CLF TSC CLEAR TRANSMIT FLAG JMP SXMIT,I EXIT * SWORD OCT 123456 NOP SPC 4 * SUBROUTINE TO RECEIVE SPECIAL WORD * TESTS 13, 15 * SRCVR NOP ENTRY POINT SSC2 LIA TSC,C RECEIVE HANDSHAKE WORD _ STA SWORD+1 SAVE IT JMP SRCVR,I EXIT SPC 4 * SUBROUTINE TO COMPARE SPECIAL WORDS * TESTS 13, 15 * COMP1 NOP ENTRY POINT LDA SWORD GET TRANSMITTED WORD LDB SWORD+1 GET RECEIVED WORD CPA B COMPARE THEM JMP COMP1,I GOOD - EXIT LDA .17 ERROR CODE = 17 ISZ COMP1 JMP COMP1,I ERROR RETURN SPC 4 * SUBROUTINE TO CLEAR CONTROL WORD * TEST 13 * CLEAR NOP ENTRY POINT LDA WORD SAVE CONTROL BIT STA TMP FOR LATER USE CLA STA WORD JSB CWORD OUTPUT WORD LDA TMP RESTORE CONTROL BIT STA WORD JMP CLEAR,I EXIT SKP * ENABLE INTERRUPT & SET TRAP CELL OF INTFACE WITH JMP,I * TESTS 14, 15 * ENINT NOP ENTRY POINT LDA ESR STA SC,I SET INTERRUPT CELL STF 0 ENABLE INTERRUPT ESC8 STC TSC ENABLE HWSIC ESC9 LIA TSC,C DUMMY LOAD JMP ENINT,I EXIT * ESR JMP *+1,I DEF SEINT SPC 4 * INTERRUPT SERVICE ROUTINE * TESTS 14, 15 * SEINT CLC 0,C DISABLE INTERRUPT SYSTEM STF 6 ABORT A POSSIBLE DMA TRANSFER CLC 6,C & BRING DMA INTO RESET CONDITION ESC10 CLC TSC ESC11 LIA TSC,C GET STATUS WORD STA ERROR SAVE FOR TAG? ESC12 LIA TSC,C GET COMPARE WORD STA SWORD+1 SAVE FOR COMP1 JMP SLOOP,I RETURN TO NORMAL FLOW SPC 4 * SUBROUTINE TO WAIT FOR INTERRUPT * TESTS 14, 15 * SLOOP NOP ENTRY POINT CLA SET UP COUNTS STA TMP FOR ABORT WAIT LOOP LDB .M100 STB ECNT * SLOO2 LDB .4 CHECK IF ABORT JSB SWR,I JMP SLOO1 ABORT * ISZ TMP LITTLE COUNTER JMP SLOO2 CHECK IF ABORT ISZ ECNT BIG COUNTER JMP SLOO2 CHECK IF ABORT * SLOO1 JSB .WAIT WAIT FOR BIT OFF ISZ SLyOOP ABORT EXIT LDA .2 ERROR CODE = 2 JMP SLOOP,I EXIT SKP * SUBROUTINE TO CHECK FOR TAG BIT * TEST 15 * * TAG1 NOP ENTRY POINT LDA ERROR GET STATUS WORD AND .1 MASK TO TAG BIT SZA IS IT THERE? JMP TAG1,I YEP, EXIT LDA .7 ERROR CODE = 7 ISZ TAG1 JMP TAG1,I ERROR EXIT SPC 4 * SUBROUTINE TO SET TAG BIT IN CONTROL WORD * TESTS 14, 15 * STAG NOP ENTRY POINT LDA .100 GET TAG BIT STA WORD JSB CWORD OUTPUT WORD JMP STAG,I EXIT SPC 4 * SUBROUTINE TO SET LISTEN-REPEAT IN CONTROL WORD * TEST 14 * LRCWD NOP ENTRY POINT LDA BIT14 GET LISTEN-REPEAT BIT STA WORD JSB CWORD OUTPUT WORD JMP LRCWD,I EXIT SKP * SUBROUTINE TO OUTPUT ADDRESS IN LISTEN-REPEAT * TEST 14 * LRS NOP ENTRY POINT LDA ADDR GET CURRENT ADDRESS T13C5 OTA TSC,C OUTPUT IT T13C6 CLF TSC CLEAR OUTPUT FLAG JMP LRS,I EXIT SPC 4 * SUBROUTINE TO RECEIVE REPEATED WORD * TEST 14 * LRG NOP ENTRY POINT T13C8 CLC TSC LOAD STATUS WORD TO CLEAR T13C9 LIA TSC,C TAG BIT T13C7 LIA TSC,C GET REPEATED WORD CPA ADDR DOES IT COMPARE? JMP LRG,I YES, EXIT STA WADDR SAVE FOR MESSAGE LDA .3 ERROR CODE = 3 ISZ LRG JMP LRG,I ERROR EXIT SPC 4 * SUBROUTINE TO INCREMENT ADDRESS AND LOOP THRU DEF LIST * TEST 14 * LRLOP NOP ENTRY POINT LDA ADDR GET LAST ADDRESS CPA MAXNM IS IT MAXIMUM? JMP LRLOP,I YES, EXIT ADA .2 INCREMENT IT STA ADDR LDA DEFL DECREMENT DEF LIST ADA .M7 STA DEFL JMP LRLOP,I EXIT SKP * SUBROUTINE TO WAIT FOR RECOGNITION WORD AND CHECK IT * TEST! 14 * SHPAS NOP ENTRY POINT LDA BIT8 WAIT FOR RECOGNITION WORD CMA,INA FOR ABOUT 1 MS STA CNTR (IF IT COMES) ISZ CNTR JMP *-1 * T13C1 SFS TSC DID FLAG GET SET? JMP SHPAS,I NOPE, EXIT T13C2 CLC TSC T13C3 LIA TSC,C GET STATUS WORD T13C4 LIB TSC,C GET ADDRESS WORD STB WADDR SAVE FOR MESSAGE AND .1 CHECK TAG NOT THERE SZA GOOD - NO TAG JMP SHPA2 ERROR CODE = 4 * CPB ADDR GOOD RECOGNITION? JMP SHPA3 YES, DO CLEAN UP LDA .5 ERROR CODE = 5 ISZ SHPAS JMP SHPAS,I ERROR EXIT SHPA2 LDA .4 JMP *-3 SKP SHPA3 LDA PNTR GET POINTER TO WORDS WITH BITS STA PNTRS TO INDICATE RECOGNIZED ADDRESS LDA .M3 STA CNTR LDA .16 IN FIRST WORD? BRS DIVIDE ADDRESS BY 2 CMB,INB MAKE NEGATIVE ADA B SSA,RSS TOO BIG? JMP OUT IS FIRST WORD * SHPA4 ISZ PNTRS INCREMENT POINTER ADA .16 IN NEXT WORD? SSA,RSS TOO BIG? JMP OUT IS SECOND WORD ISZ CNTR JMP SHPA4 * LDA .6 IMPOSSIBLE ADDRESS! ISZ SHPAS ERROR CODE = 6 JMP SHPAS,I ERROR EXIT * OUT STB CNTR STRIP BIT FROM WORD CLB,INB SET LSB RSS RBL ISZ CNTR FOUND IT? JMP *-2 NO, KEEP ROTATING BIT * LDA PNTRS,I GET CORRECT BIT WORD XOR B DELETE BIT STA PNTRS,I REPLACE WORD * LDA ADDR HAVE WE FINISHED? CPA MAXNM MAXNM = 176 JMP SHPAS,I YES, EXIT CLA RESET ADDRESS TO RUN THRU AGAIN STA ADDR JMP SHPAS,I EXIT AT LAST SKP * SUBROUTINE TO CHECK IF ANY ADDRESS NOT RECOGNIZED * AND OUTPUT MESSAGES IF SO * TEST 14 * NOREC NOP ENTRY POINT CLA CLEAR ER 640ROR INDICATOR STA NOR1 STA WADDR CLEAR ADDRESS ACCUMULATOR LDA .M4 SET UP COUNTER FOR 4 WORDS STA CNTR TO CHECK LDA PNTR SET UP POINTER TO WORDS STA PNTRS * NOR2 LDA PNTRS,I GET BIT INDICATOR WORD SZA SKIP IF ALL CLEAR JSB NOR1 FIND BIT(S) SET * LDB WADDR INCREMENT ADDRESS ACCUMULATOR ADB .16 STB WADDR ISZ PNTRS INCREMENT POINTER TO WORDS ISZ CNTR DONE YET? JMP NOR2 NO, CONTINUE * LDA NOR1 WAS THERE AN ERROR? SZA SKIP IF NOT ISZ NOREC LDA .7 ERROR CODE = 7 JMP NOREC,I * NOR1 NOP ENTRY POINT CLB SET FOR INITIAL BIT INB CLE,ERA ROTATE LSB OUT SEZ SKIP IF BIT NOT SET * JSB NOROT OUTPUT MESSAGE SZA,RSS IS THAT ALL IN WORD? JMP NOR1,I YES EXIT JMP NOR1+2 NO CONTINUE SKP * NOROT NOP ENTRY POINT STA SAVEA SAVE THE REGISTERS STB SAVEB ADB WADDR ADD ADDRESS ACCUMULATOR BLS *2 STB NOR3 SAVE FOR MESSAGE * JSB ER,I REPORT ERROR DEF NOR4 RETURN POINT DEF ADREC MESSAGE ADDRESS NOR3 NOP A REG NOP B REG * NOR4 LDA SAVEA RESTORE THE REGISTERS LDB SAVEB JMP NOROT,I EXIT SKP 6   24335-18003 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 i* SUBROUTINE TO CHECK FOR DMA IN CONFIGURATION * TEST 15 * CHCON NOP ENTRY POINT LDA CPTO GET CONFIGURATION WORD AND .4 MASK TO DMA BIT SZA IS DMA PRESENT? JMP CHCON,I YES JSB NONO NO, ISSUE MESSAGE OF NO DMA SPC 1 * SUBROUTINE TO CHECK DMA RESIDUE * TEST 15 * CHRES NOP ENTRY POINT CLC 6,C DISABLE DMA STC 2 LIA 2 READ RESIDUE AND DMAMA MASK IN CASE 2116, 2114 CPA DMA50 EQUUAL TO -50? JMP CHRES,I YES, EXIT * STA RESID SAVE FOR ERROR MESSAGE LDA .5 ERROR CODE = 5 ISZ CHRES JMP CHRES,I ERROR EXIT * DMAMA OCT 17777 DMA50 OCT 17716 RESID NOP SKP * * SUBROUTINE TO FIND OUT WHAT KIND OF ERROR IT IS * ERRS NOP ENTRY POINT * SSA WAS IT A FLAG NOT SET JMP TETX2 YES * CPA .10 IS IT A STATUS WORD FLAG? JMP TETX4 YES * CPB .1 TIME TO EXIT? JMP ERRS,I YES * SZA,RSS WAS IT A RCVR ABORT? JMP TETX1 YES * CPB .2 TIME TO EXIT? JMP ERRS,I YES * CPA .1 IT IS A COMPARE ERROR? JMP TETX5 YES * JMP ERRS,I EXIT SPC 4 CRLF NOP ENTRY POINT JSB MS,I OUTPUT CARRIAGE RETURN DEF *+3 AND LINE FEED DEF *+1 ASC 1,/ JMP CRLF,I EXIT SPC 4 DMAS JMP *+1,I INDIR JMP INSTR TO BE STORED IN TRAP CELL DEF DMAIN WITH LINK TO DMA INTP ROUTINE SKP * CONFIGURATION SECTION * ORG 1760B * CONF LIA 1 GET SELECT CODE STA USSC SAVE IT AND .77 MASK OFF THE SC ENTERED LDB A AND CHECK IF IT IS CMB,INB > 7. ADB .7 SSB JMP *+4 YES, VALID SC ENTERED JSB STOP HLT 73B Y NO, INVALID SC ENTERED JMP CONF RETURN FOR NEW CONFIGURATION STA SC SAVE SC CLA CLEAR S-REG OTA 1 JSB STOP HLT 74B OPERATOR ENTERS OPTIONS CLC 0,C TURN EVERYTHING OFF LDA IODL GET USER DEF LIST STA TMP SAVE IT AS A POINTER IOL LDB TMP,I GET ADDRESS OF LOCATION CPB .M1 IS IT -1 ? JMP TSHLT PUT HALTS IN TRAP CELLS LDA B,I NO - GET CONTENTS AND MSKSC MASK OFF SELECT CODE IOR SC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ TMP MOVE TO NEXT ADDRESS JMP IOL DO IT SPC 4 * PUT HALTS IN ALL TRAP CELLS * TSHLT LDA TSH4 GET STARTING TRAP CELL HALT LDB .4 GET FIRST TRAPCELL ADDRESS TSHL STA B,I PUT IT IN PLACE INA MOVE TO INB NEXT ADDRESS CPB SC IS IT THE TBG? STA HLTSC YES - SAVE FOR LATER CPB .100 AM I FINISHED? JMP EXEC YES - GO TO EXEC CONTROL JMP TSHL NO * MSKSC OCT 177700 TSH4 OCT 106004 SKP * * EXECUTIVE CONTROL * EXEC CLA CLEAR PASS STA EOLC COUNT CCA SET TEST NO = -1 STA TST# JSB CRLF DO CARRIAGE RETURN, LINE FEED LDB SW9 CHECK FOR USER SELECTION REQUEST JSB SWR,I JMP USR IT'S USERS CHOICE NUSR LDA .M1 GET STANDART TEST RUN LDB .M1 * JMP EXC USR LIA 1 CLEAR S-REG BIT 9 AND NBIT9 OTA 1 LDA SUINA LOAD A-REG WITH TEST SELETION CLB JSB STOP HLT 75B WAIT FOR USER INPUT REST SZA,RSS INPUT? JMP NUSR NO - DO ALL OF THEM * * EXC STA UINA SAVE STB UINB USER STA SUINA INPUT STB SUINB PROGRAM LDB SW9 CHECK IF SW9 IS DOWN JSB SWR,I RSS RETURN IF SWITCH IS SET JMP *+4 OK GO ON (RETURN IF SWITCH IS CLEARED USR1 LDA SUINA RESTORE ORIGINAL PROGRAM LDB SUINB * JMP USR NOW GO BACK AND WAIT CCA SET TEST NUMBER STA TST# =-1 SKP EXCL LDA UINA RESTORE A REG. LDB UINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA UINA SAVE POSITIONS STB UINB ISZ TST# MOVE TEST UP ONE NOP LDA TST# CPA .10 FINISHED WITH BASIC? JSB EXBC YES - TELL OPERATOR EXCL1 LDA TST# ADA DFPA GET IT'S LDA A,I ADDRESS CPA .M1 IS IT END OF LIST JMP EOL YES LDB UINB SSB,RSS SHOULD IT BE RUN? JMP EXCL NO STA TMP SAVE FOR CALL JSB INIT INITIALIZE LDA EXECR STA TSTX SKP JSB TMP,I YES EXCR CLC 0,C TURN OFF INTERRUPT SYSTEM LDA HLTSC RESTORE TRAP CELL STA SC,I HALT LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWR,I RSS JMP *+4 NO - CONTINUE LDA TST# YES - DISPLAY TEST NUMBER JSB STOP HLT 76B WHEN HALTED LDB SW9 CHECK FOR ABORT JSB SWR,I JMP USR1 YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWR,I JMP EXCL1 YES - LOOP JMP EXCL CONTINUE * * EOL ISZ EOLC COUNT THIS TEST STA TST# DON'T PRINT TEST # LDB SW12 CHECK FOR LOOP ON ALL TESTS JSB SWR,I JMP EXCNT CONTINUE WITH ANOTHER LOOP CLE CONVERT THE PRESENT PASS LDA EOLC COUNT TO ASCII AND STORE LDB PSCP IT INTO THE MESSAGE. JSB O2ASC,I JSB MSG OUTPUT "TEST COMPLETE" DEF .EOL DEF *+1 PSCT ASC 14,DIAG COMPLETE, PASSԎ XXXXXX/ .EOL LDB SUINB RESTORE ORIGINAL PROGRAM JSB STOP LDA EOLC LOAD DIAGNOSTIC LOOP COUNT HLT 77B WAIT FOR ANY CHANGES LDA SUINA RESTORE ORIGINAL PROGRAM JMP REST GO TO IT EXCNT JSB CRLF DO CARRIAGE RETURN, LINE FEED CCE LDA EOLC LDB EOLCP JSB O2ASC,I JSB MSG OUTPUT "PASS #" DEF ..EOL DEF *+2 EOLC NOP DIAG LOOP COUNT ASC 6,PASS XXXXXX/ ..EOL JSB CRLF DO CARRIAGE RETURN, LINE FEED LDA SUINA RESTORE ORIGINAL LDB SUINB PROGRAM JMP EXC DO IT ALL AGAIN SKP * BASIC I/O COMPLETE * EXBC NOP ENTRY POINT CLA STA TST# DON'T PRINT TEST NUMBER LDA SUINA CHECK IF ANY AND EXBCM BASIC TESTS DONE SZA,RSS ? JMP EX.BC NO - SKIP IT JSB MS,I YES - PRINT COMPLETE MESSAGE DEF EXBC. DEF *+1 ASC 14,BASIC I-O (TESTS 1-7) COMP/ EXBC. LDA USSC CHECK FOR 2 CPU AND BIT8 CONFIGURATION SZA,RSS SKIP IF TRUE JMP EX.BC NOT TRUE, NO HALT * JSB MS,I OUTPUT MESSAGE DEF E.XBC RETURN DEF *+1 ASC 17,START RCVR AND XMTR AT SAME TIME/ * E.XBC JSB STOP OCT 106000 WAIT FOR OPERATOR RESPONSE * EX.BC LDA .10 STA TST# RESTORE TEST NUMBER JMP EXBC,I EXIT * EXBCM OCT 376 * SUINA NOP SUINB NOP UINA NOP UINB NOP EXECR DEF EXCR SKP * * ERROR REPORTING * * CALLING SEQUENCE: * * JSB ERR * DEF RTN * DEF * NOP * NOP * NOP * . * . * RTN EQU * * * NOTE IF THE FORMAT STARTING ADDRESS IS Z* MISSING THE MESSAGE WILL BE OMITED * * ERR NOP CLC 0,C TURN OFF I/O SYSTEM LDB SW11 CHECK IF SUPRESS ERROR MESSAGES JSB SWR,I JMP CKEH YES LDA ERR NO JSB OPMSG OUTPUT MESSAGE * CKEH LDB SW14 CHECK IF HALT ON ERRORS JSB SWR,I RSS JMP *+3 ERREX LDA ERR,I GET RETURN ADDRESS JMP A,I RETURN TO CALLER LDA TST# SET HALT NUMBER AND .77 INSURE NOT GREATER THAN 77 IOR EHLT STA EHLT0 PUT IT IN PLACE LDB ERR GET A REG ADB .2 AND LDA B,I BREG. INB FOR DISPLAY WHEN LDB B,I JSB STOP EHLT0 NOP JMP ERREX CONTINUE * EHLT HLT 0 SKP * NON-ERROR MESSAGES REPORTING * * CALLING SEQUENCE: * * JSB MSG * DEF RTN * DEF * NOP * . * . * RTN EQU * * * MSG NOP CLC 0,C TURN OFF I/O SYSTEM LDA TST# IS IT CR-LF CALL? INA,SZA,RSS TEST IF TST# WAS -1 STA TST# YES, CLEAR TST# LDB SW10 NO, CHECK IF SUPRESSED JSB SWR,I JMP MSGEX YES, EXIT MSG2 LDA MSG NO - OUTPUT MESSAGE JSB OPMSG OUTPUT MESSAGE MSGEX LDA MSG,I GET RETURN ADDRESS JMP A,I RETURN TO CALLER SKP OPMSG NOP ENTRY TO OUTPUT A MESSAGE INA LDB A,I GET FORMAT ADDRESS INA STA NUA SAVE NUMBER ADDRESS STB FPTA SAVE FORMAT STARTING ADDRESS SZB,RSS IS THERE A MESSAGE JMP OPMSG,I NO LDB BIT8 CHECK IF FAST DEVICE JSB SWR,I WAS REQUESTED CLA,CCE,RSS YES CLA,CLE LDB TST# DO WE WANT TEST # SZB,RSS YES JMP MSGA NO, DON'T PRINT IT LDB TSTF Ř JSB FMTR,I OUTPUT "TST" LDB TST# JSB FMTR,I OUTPUT NUMBER LDB BIT8 JSB SWR,I CLA,CCE,RSS CLA,CLE MSGA LDB FPTA RETRIEVE MESSAGE JSB FMTR,I START FORMAT MSGL0 CPA .43 IS THERE ANY NUMBER REQUESTED RSS JMP OPMSG,I NO LDB NUA,I YES GET NUMBER CCA JSB FMTR,I OUTPUT IT ISZ NUA MOVE TO NEXT NUMBER JMP MSGL0 NUA NOP FPTA NOP TSTF DEF *+1 ASC 4,TEST #/ * .43 OCT 43 SKP SDS EQU * SUB DEF START DEF TST0 DEF TST1 DEF TST2 DEF TST3 DEF TST4 DEF TST5 DEF TST6 DEF TST7 DEF TST8 DEF TST9 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEC -1 SPC 5 * IODS EQU * I/O DEF START DEF T2SC1 DEF T2SC2 DEF T2SC3 DEF T3SC1 DEF T3SC2 DEF T3SC3 DEF T3SC4 DEF T3SC5 DEF T3SC6 DEF T3SC7 DEF T4SC1 DEF T4SC2 DEF T5SC1 DEF T5SC2 DEF T5SC3 DEF T6SC1 DEF T6SC2 DEF T6SC3 DEF T6SC4 DEF T6SC5 DEF T6SC6 DEF T7SC1 DEF T7SC2 SKP * HWSIC UNIQUE SETTINGS * DEF ISC1 DEF ISC2 DEF ISC3 DEF ISC4 DEF ISC7 DEF XSC1 DEF RSC1 DEF LSC1 DEF FSC1 DEF FSC2 DEF ESC1 DEF ESC2 DEF ESC3 DEF ESC4 DEF ESC5 DEF ESC6 DEF ESC7 DEF WSC1 DEF WSC2 DEF WSC3 DEF CXSC1 DEF CXSC2 DEF CRSC1 DEF CHSC1 DEF CHSC2 DEF CWSC1 DEF CWSC2 DEF SSC1 DEF SSC2 DEF SSC3 DEF ESC8 DEF ESC9 DEF ESC10 DEF ESC11 DEF ESC12 DEF ESC14 DEF FXSC1 DEF FXSC2 DEF T13C1 DEF T1hq3C2 DEF T13C3 DEF T13C4 DEF T13C5 DEF T13C6 DEF T13C7 DEF T13C8 DEF T13C9 SKP DEF CW1 DEF DSCX1 DEF DSCR1 DEF ISC5 DEF ISC6 DEF ISC8 DEF HXSC1 DEF HXSC3 DEF HXSC4 DEF HXSC5 DEF XSTA3 DEF RSTA1 DEF TXMI1 DEF TXMI2 DEF TRCV1 DEC -1 SKP * * TEST 0 HEADING * TST0 NOP CLE ADD DSN TO HEADER MESSAGE LDA DSN BY GETTING DSN LDB DSNP SPECIFY STORAGE POINTER JSB O2ASC,I & CONVERT STRING TO ASCII JSB MS,I DEF TST0,I DEF *+1 ASC 20,HARDWIRED SERIAL INTERFACE DIAGNOSTIC, DSNB ASC 6,DSN XXXXXX/ DSNP DEF DSNB+2 * SKP * * TEST 1 STF 0 - CLF 0 - SFS 0 - SFC 0 * TST1 NOP P LDA LPCNT SET LOOP STA CNTR COUNTER LDA HLT0 PUT HALT TRAP IN AREG. TLT1 CLB STF 0 * RSS SAFTY FOR BAD SKP LINE JMP TET1 REPORT ITS BAD CLF 0 * LDB .1 .1 SFC 0 *? JMP TET1 *BAD LDB .2 .2 SFS 0 *? RSS * JMP TET1 *BAD STF 0 * LDB .3 .3 SFC 0 *? RSS * JMP TET1 *BAD LDB .4 .4 SFS 0 *? JMP TET1 *BAD ISZ CNTR NO LOOP AGAIN? JMP TLT1 YES JMP TST1,I NO - RETURN TO EXEC * TET1 STB TBT1 INDICATE ERROR JSB ER,I REPORT ERROR DEF TST1,I DEF *+3 TBT1 NOP NOP ASC 19,STF 0 - CLF 0 - SFS 0 - SFC 0 FAILURE ASC 4,(A = #)/ SKP * TEST 2 CHECK FOR NO INTERRUPT AFTER CLF 0 * TST2 NOP LDA LPCNT SET LOOP STA CNTR COUNTER TLT2 JSB TCJMP PUT JMP IN TRAP CELL DEF TIT2 RETURN LOC0.*ATION IF INTERRUPT LDA HLT0 LDB HLT1 T2SC2 STF TSC SET THE FLAG FF T2SC1 STC TSC SET THE CONTROL FF CLF 0 TURN OFF INTERRUPT SYSTEM NOP GIVE IT A CHANCE NOP NOP T2SC3 CLF TSC RESET TSC FLAG ISZ CNTR LOOP DONE? JMP TLT2 NO JMP TST2,I * TIT2 JSB ER,I REPORT ERROR DEF TST2,I DEF *+1 ASC 8,INT AFTER CLF 0/ SKP `j0   24335-18004 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 !i* TEST 3 STF TSC - CLF TSC - SFS TSC - SFC TSC * TST3 NOP LDA LPCNT SET LOOP STA CNTR COUNTER LDA HLT0 PUT TRAP IN A REG. CLB TLT3 EQU * T3SC1 STF TSC * RSS JMP TET3 SKF SIGNAL UP T3SC2 CLF TSC * LDB .1 .1 T3SC3 SFC TSC *? JMP TET3 *BAD LDB .2 .2 T3SC4 SFS TSC *? RSS * JMP TET3 *BAD T3SC5 STF TSC * LDB .3 .3 T3SC6 SFC TSC *? RSS * JMP TET3 *BAD LDB .4 .4 T3SC7 SFS TSC *? JMP TET3 *BAD ISZ CNTR NO - LOOP AGAIN? JMP TLT3 YES JMP TST3,I NO * TET3 STB TAT3 SET ERROR TYPE JSB ER,I REPORT IT DEF TST3,I DEF *+3 TAT3 NOP TBT3 NOP B REG. DISPLAY ASC 19,STF TSC - CLF TSC - SFS TSC - SFC TSC ASC 8,FAILURE (A = #)/ SKP * * TEST 4 SELECT CODE SCREEN TEST * CHECK THAT SETTING OTHER FLAGS * DOES NOT SET THE TSC FLAG * TST4 NOP LDA LPCNT SET LOOP STA CNTR COUNTER LDA .10 START WITH LOWEST ADDRESS TLT4 STA TAT4 SAVE IT CPA SC IS IT THE TSC JMP TNT4 YES SKIP IT IOR STF0 SET UP SET FLAG INSTRUCTION STA .STF0 PUT IN PLACE T4SC1 CLF TSC CLEAR TSC FLAG .STF0 NOP EXECUTE STF SC INSTRUCTION T4SC2 SFS TSC TEST SCG FLAG RSS JMP TET4 IT WAS SET - SO ERROR TNT4 LDA TAT4 GET TEST SELECT CODE INA MOVE IT TO NEXT ONE CPA .100 IS IT FINISHED RSS YES JMP TLT4 NO ISZ CNTR ALL LOOP DONE? JMP TLT4-1 NO JMP TST4,I YES * TET4 JSB ER,I REPORT ERROR DEF TST4,I DEF *+3 TAT4 NOP TBT4 NOP ASC 10,STF # SET TSC FLAG/ * STF0 STF 0 Gn SKP * * TEST 5 CHECK FOR INTERRUPT HOLD OFF * TST5 NOP LDA LPCNT SET LOOP STA CNTR COUNTER TLT5 LDA T5.I0 SET TRAP CELL JSB STA SC,I CLA SET UP FOR TEST STA TFT5 STA TIT5 STA TZT5 LDA HLT0 LDB HLT1 T5SC1 STC TSC TURN ON T5SC2 STF TSC TSC STF 0 AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCURR DEF *+1 * HERE JSB *+1,I * DEF *+1 * TFT5 NOP * ISZ TZT5 INT. SHOULD BE HERE ISZ TZT5 CLF 0 TURN OFF INTERRUPT SYSTEM LDA TIT5 DID IT INTERRUPT SZA,RSS ? JMP TET5C NO - REPORT ERROR LDA TZT5 CHECK INTERRUPT CORRECTLY CPA .2 ? RSS YES JMP TET5D NO - REPORT ERROR CLF 0 TURN OFF INTERRUPTS T5SC3 CLF TSC AND TSC FLAG ISZ CNTR LOOP DONE? JMP TLT5 NO TRT5 JMP TST5,I RETURN TO EXEC * TZT5 NOP TDT5 DEF TFT5-1 TDT5A DEF TFT5+1 SKP TIT5 NOP CLF 0 TURN OFF INTERRUPTS LDA TDT5 CHECK TO SEE IF ALL CPA TFT5 INSTRUCTIONS COMPLETED RSS YES - CONTINUE JMP TET5A AND REPORT ERROR JSB TCJMP SET SECOND INTP JMP INST. DEF TET5B INT LOCATION LDA TDT5A CHECK RETURN ADDRESS CPA TIT5 FOR CORRECTNESS JMP TIT5A GOOD INA CPA TIT5 AND + 1 JMP TIT5A GOOD JMP TET5D INTERRUPT INCORRECTLY TIT5A LDA HLT0 RESTORE A REG HALT STF 0 TURN ON INTERRUPTS JMP TIT5,I CONTINUE TEST * * TET5A JSB ER,I DEF TRT5 DEF *+3 DEC 1 A REG. DISPLAY TBT5 NOP B REG. DISPLAY ASC 16,INT DURING HOLD OFF INSTRUCTION/ * * TET5B CLF 0 TURN OFF INTERRUPTS JSB ER,I DEF TRT5 DEF *+3 DEC 2 NOP ASC 10,SECOND INT OCCURRED/ * * TET5C JSB ER,I DEF TRT5 DEF *+3 DEC 3 NOP ASC 4,NO INT/ * * TET5D JSB ER,I DEF TRT5 DEF *+3 DEC 4 NOP ASC 7,INT INCORRECT/ SKP * TEST 6 CLC TSC AND CLC 0 * TST6 NOP LDA LPCNT SET LOOP STA CNTR COUNTER JSB TCJMP SET TRAP CELL JMP DEF TET6 JMP LOCATION TLT6 CLA,INA STA TAT6 SET INDICATOR FOR CLC TSC TEST T6SC1 STC TSC SET TSC CONTROL T6SC2 STF TSC SET TSC FLAG STF 0 TURN ON INTERRUPTS T6SC3 CLC TSC CLEAR TSC CONTROL NOP GIVE IT A CHANCE TO INTERRUPT NOP CLF 0 TURN OFF INTERRUPTS ISZ TAT6 INDICATE CLC 0 TEST T6SC4 CLF TSC CLEAR TSC FLAG T6SC5 STC TSC SET TSC CONTROL T6SC6 STF TSC SET TSC FLAG STF 0 TURN ON INTERRUPTS CLC 0 CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP TO INTERRUPT CLF 0 TURN OFF INTERRUPTS ISZ CNTR DONE WITH LOOP? JMP TLT6 NO TRT6 JMP TST6,I RETURN TO EXEC * TET6 JSB ER,I DEF TRT6 DEF *+3 TAT6 NOP NOP ASC 16,CLC 0 OR CLC TSC FAILED (A = #)/ SKP * * TEST 7 EXTERNAL PRESET * TST7 NOP LIA 1 CHECK IF LOOP ON DIAGNOSTIC AND BIT12 WAS SELECTED SZA JMP TST7,I YES, ABORT TEST JSB MS,I NO, OUTPUT MESSAGE DEF TCT7 DEF *+1 ASC 19,PRESS PRESET (EXTERNAL AND INTERNAL), ASC 5,PRESS RUN/ * TCT7 EQU * T7SC1 CLF TSC CLEAR TSC FLAG STF 0 TURN ON INTERRUPTS JSB STOP HLT 0 WAIT FOR OPERATOR RESPONSE * T7SC2 SFS TSC CHECK THE FLAG RSS )  JMP TNT7 OK - CHECK INT. ENABLE * TET7 JSB ER,I NOT OK REPORT ERROR DEF TST7,I DEF *+3 DEC 1 NOP ASC 13,FLAG NOT SET AFTER POPIO/ * TNT7 SFS 0 CHECK INTP. FLAG JMP TST7,I OK RETURN TO EXEC JSB ER,I NOT OK REPORT ERROR DEF TST7,I DEF *+3 DEC 2 NOP ASC 18,INT SYSTEM NOT CLEARED AFTER PRESET/ SKP * * TESTS 8 TRANSFERS 100 WORDS-SFS TSC AND MEM TO MEM COMPARE * TST8 NOP ENTRY POINT LDA T8SAT GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST8,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * HLT 66B TEMP HLT-SHOULDN'T GET HERE * SPC 4 T8SAT DEF T8SA * * SETUPS FOR TEST 8 * T8SA EQU * DEF T8SU1 1 CPU DEF LIST DEF T8SU2 2 CPU XMIT DEF LIST DEF T8SU3 2 CPU RCVR DEF LIST SPC 4 T8SU1 EQU * DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE * T8SU2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMIT TRANSMIT A WORD DEF FLAG WAIT FOR A FLAG DEF CHFLG WHY FLAG? DEF LOOPR BACK UP 3 WORDS IN LOOP DEF GOOD COMPLETED MESSAGE * T8SU3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF FLAG CHECK FLAG DEF CHFLG WHY FLAG DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 3 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE SKP * * TEST 9 TRANSFERS 100 WORDS WITH INTERRUPT ENABLED AND * MAKES MEM TO MEM COMPARISON * TST9 NOP ENTRY POINT LDA T9SAT GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST9,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .7 IS IN AN INT TIMEOUT? JMP TETX3 YES * HLT 66B SHOULDN'T GET HERE * TETX3 JSB ER,I REPORT ERROR DEF TST9,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 7 A REG NOP B REG ASC 12,NO INT IN DATA TRANSFER/ SPC 4 T9SAT DEF T9SA * * SETUPS FOR TEST 9 * T9SA EQU * DEF T9SU1 1 CPU DEF LIST DEF T9SU2 2 CPU XMIT DEF LIST DEF T9SU3 2 CPU RCVR DEF LIST SKP T9SU1 EQU * DEF ENINR ENABLE INTERRUPT DEF FXMIT 1 CPU TRANSMIT DEF TIMER WAIT FOR INT DEF DUMMY FILLER DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE * T9SU2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMTI SEND 100 WORDS DEF GOOD COMPLETED MESSAGE * T9SU3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF RCVI RECEIVE 100 WORDS DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE SKP * * TEST 10 CHECKS FOR WDO. FIRST THE FLAG IS CHECKED * THEN THE STATUS WORD IS CHECKED. * TST10 NOP ENTRY POINT LDA BIT9 SET WATCHDOG BIT STA WORD FOR CWORD LDA .17 SET TIME FOR STA TIME WAIT SUBROUTINE LDA T10ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST10,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * LDB .2 SET EXIT CODE JSB ERRS FIND E32RROR TYPE IF COMMON * STA TAT10 CPA .1 WAS IT WDO FLAG NOT SET? JMP TT103 YES * CPA .2 WAS IT WDO BIT NOT SET? JMP TT103 YES * HLT 66B TEMP HLT - SHOULDNT GET HERE * TT103 JSB ER,I REPORT ERROR DEF TST10,I RETURN POINT DEF *+3 MESSAGE ADDRESS TAT10 NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 14,NO WATCHDOG TIMEOUT (A = #)/ * T10ST DEF T10SA SKP * * SETUPS FOR TEST 10 * T10SA EQU * DEF T10S1 1 CPU DEF LIST DEF T10S2 2 CPU XMIT DEF LIST DEF T10S3 2 CPU RCVR DEF LIST * T10S1 EQU * DEF CWORD OUTPUT CONTROL WORD DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF WAIT WAIT 15 MS DEF WDO CHECK WATCHDOG DEF GOOD COMPLETED MESSAGE * T10S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMIT TRANSMIT A WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CWORD OUTPUT CONTROL WORD DEF RCVR CLEAR WATCHDOG DEF WAIT WAIT 15 MS DEF WDO CHECK WATCHDOG DEF GOOD COMPLETED MESSAGE * T10S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF FLAG CHECK FLAG DEF RCVR RECEIVE A WORD DEF CWORD OUTPUT CONTROL WORD DEF WAIT WAIT 15 MS DEF WDO CHECK WATCHDOG DEF GOOD COMPLETED MESSAGE SKP * * TEST 11 CHECKS THE CLEAR CRC BIT * ORG 4000B * TST11 NOP ENTRY POINT LDA BIT11 SET SEND CRC BIT STA WORD FOR CWORD LDA T11ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST11,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * ` LDB .1 SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .2 WAS THE ERROR BIT SET? JMP TET11 YES * HLT 66B TEMP HLT - SHOULDN'T GET HERE * TET11 JSB ER,I REPORT ERROR DEF TST11,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 8,CLEAR CRC ERROR/ * T11ST DEF T11SA SKP * * SETUPS FOR TEST 11 * T11SA EQU * DEF T11S1 1 CPU DEF LIST DEF T11S2 2 CPU XMIT DEF LIST DEF T11S3 2 CPU RCVR DEF LIST * T11S1 EQU * DEF CWORD OUTPUT CONTROL WORD DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE * T11S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD DEF XMIT TRANSMIT DUMMY WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE * T11S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD DEF XMIT TRANSMIT DUMMY WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE SKP * * TEST 12 CHECKS SENDING CRC AS TEXT WORD AFTER 100 WORD BLOCK * TST12 NOP ENTRY POINT LDA .5 SET TIME FOR STA TIME WAIT SUBROUTINE LDA BIT11 GET SEND CRC BIT STA WORD SAVE FOR CWORD * LDA T12ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST12,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE LDB CRC STB TTX12 * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON *  CPA .17 WAS CRC TO CRC = 0? JMP TE121 NO * CPA .2 TEXT CRC ERROR? JMP TE122 YES * CPA .6 CRC WRONG? JMP TE123 YES * HLT 66B SKP TE121 JSB ER,I REPORT ERROR DEF TST12,I RETURN POINT DEF *+3 MESSAGE ADDRESS TTX12 NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 10,CRC TO CRC EQUAL #/ * TE122 JSB ER,I REPORT ERROR DEF TST12,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 2 A REG NOP CONTENTS FOR B REG ASC 8,TEXT CRC ERROR/ * TE123 LDA REM1 GET CALCULATED CRC STA TT121 STORE FOR MESSAGE LDA DEST,I GET RECEIVED CRC STA TT122 STORE FOR MESSAGE LDB TEE SET FOR TRANSMIT CRC LDA TYPE WHICH IS IT? SZA SKIP IF TRANSMIT LDB ARE SET FOR RECEIVE CRC STB TT123 JSB ER,I REPORT ERROR DEF TST12,I RETURN POINT DEF *+3 MESSAGE ADDRESS TT121 NOP A REG TT122 NOP B REG TT123 ASC 12,X CRC SHOULD BE #, IS #/ * TEE ASC 1,T ARE ASC 1,R T12ST DEF T12SA SKP * * SETUPS FOR TEST 12 * T12SA EQU * DEF T12S1 1 CPU DEF LIST DEF T12S2 2 CPU XMIT DEF LIST DEF T12S3 2 CPU RCVR DEF LIST * T12S1 EQU * DEF CXMIT TRANSMIT + FIND CRC DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF RESET RESET POINTERS DEF CWORD OUTPUT CONTROL WORD DEF FXMIT DUMMY TRANSMIT DEF FLAG WAIT FOR FLAG DEF RCVR RECEIVE CRC DEF COMPS COMPARE THEM DEF INIT INITIALIZE DEF FCRC SET CRC KIND TO RECEIVE DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG t640 DEF CHFLG WHY FLAG DEF CRCVR RECEIVE + FIND CRC DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF RESET RESET POINTERS DEF CWORD OUTPUT CONTROL WORD DEF FXMIT DUMMY TRANSMIT DEF FLAG WAIT FOR FLAG DEF RCVR RECEIVE CRC DEF COMPS COMPARE THEM DEF GOOD COMPLETION MESSAGE SKP * T12S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMIT TRANSMIT A WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF LOOPR BACK UP 3 WORDS IN LOOP DEF WAIT WAIT 5 MS DEF RESET RESET POINTERS DEF RESET RESET POINTERS DEF CWORD OUTPUT CONTROL WORD DEF FXMIT TRANSMIT DUMMY WORD DEF LOOP WAIT FOR RETURN CRC DEF FLAG CLEAR FLAG DEF RCVR RECEIVE A WORD DEF ZERO IS IT ZERO? DEF WAIT GET 2 CPU'S IN SYNC DEF GOOD COMPLETED MESSAGE * T12S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CRCVR RECEIVE + FIND CRC DEF LOOPR BACK UP 3 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF RESET RESET POINTERS DEF LOOP WAIT FOR CRC DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF COMPS COMPARE CRC'S DEF CWORD OUTPUT CONTROL WORD DEF XMIT TRANSMIT DUMMY WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE SKP 6   24335-18005 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 "i* * TEST 13 CHECKS THE HARDWARE HANDSHAKE MODE * TST13 NOP ENTRY POINT LDA USSC CHECK FOR DUAL CPU TRANSFER AND BIT8 SZA,RSS JMP TST13,I NO, EXIT TEST LDA .5 YES, SET TIME FOR STA TIME WAIT SUBROUTINE LDA BIT13 GET HANDSHAKE BIT STA WORD SAVE FOR CWORD CLA STA SWORD+1 * LDA T13ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST13,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .17 HANDSHAKE COMPARE ERROR? JMP TE131 YES * HLT 66B * * T13ST DEF T13SA * TE131 LDA SWORD STA TE132 LDA SWORD+1 STA TE132+1 JSB ER,I REPORT ERROR DEF TST13,I RETURN POINT DEF *+3 MESSAGE ADDRESS TE132 NOP A REG NOP B REG ASC 17,HANDSHAKE ERROR-SHOULD BE #, IS #/ * * * SETUPS FOR TEST 13 * T13SA EQU * DEF T13S1 1 CPU DEF LIST DEF T13S2 2 CPU XMIT DEF LIST DEF T13S3 2 CPU RCVR DEF LIST * T13S1 EQU * DEF NONO NO CAN DO MESSAGE SKP T13S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF FXMIT TRANSMIT A WORD DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF SRCVR RECEIVE SPECIAL WORD DEF COMP1 COMPARE THEM DEF WAIT PAUSE 1 MS DEF SXMIT TRANSMIT WORD AS SIGNAL DEF CWORD OUTPUT CONTROL WORD DEF SXMIT LOAD BUFFER DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG DEF CLEAR CLEAR HANDSHAKE BIT DEF LOOP WAIT FOR SIGNAL WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG DEF SRCVR CLEAR SUSPEND k DEF RESET RESET POINTERS DEF WAIT PAUSE 1 MS DEF HXMIT XMIT IST WORD, SET CONTROL, 2ND DEF XMIT LOAD TRANSMITTER DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF LOOPR BACK UP 3 WORDS IN LOOP DEF RCVR CLEAR SUSPEND DEF GOOD COMPLETED MESSAGE SKP T13S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD DEF SXMIT LOAD BUFFER DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF CLEAR CLEAR HANDSHAKE BIT DEF LOOP WAIT FOR SIGNAL WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF SRCVR CLEAR SUSPEND DEF WAIT PAUSE 1 MS DEF FXMIT TRANSMIT A WORD DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF SRCVR RECEIVE SPECIAL WORD DEF COMP1 COMPARE THEM DEF WAIT PAUSE 1 MS DEF SXMIT TRANSMIT WORD AS SIGNAL DEF CWORD OUTPUT CONTROL WORD DEF SXMIT LOAD BUFFER DEF LOOP WAIT FOR WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 3 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE SKP * * TEST 14 CHECKS LISTEN-REPEAT MODE * TST14 NOP ENTRY POINT LDA USSC CHECK FOR DUAL CPU TRANSFER AND BIT8 SZA,RSS JMP TST14,I NO, EXIT TEST LDA .2 YES, SET INITIAL ADDRESS STA ADDR FOR LISTEN-REPEAT CCA SET ALL BITS FOR ADDRESS WORDS STA WORDS STA WORDS+1 STA WORDS+2 XOR BIT15 ONLY 63 ADDRESS SO STA WORDS+3 DELETE 64TH BIT * LDA T14ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST14,I GOOD RETURN *  CPA .7 WAS IT FROM NOREC? JMP TST14,I YES, EXIT * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * LDB .1 SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .2 WAIT FOR INTERRUPT ABORT? JMP TE141 YES * CPA .3 LISTEN-REPEAT ERROR? JMP TE142 YES * CPA .4 TAG BIT SET? JMP TE143 YES * CPA .5 WRONG RECOGNITION? JMP TE144 YES * CPA .6 IMPOSSIBLE ADDRESS? HLT 13B YES, SOFTWARE SICK * HLT 66B SKP TE141 JSB ER,I REPORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 1 A REG OCT 1 B REG ASC 12,NO INT IN LISTEN-REPEAT/ * TE142 LDA ADDR SET UP NUMBERS FOR STA TS142 ERROR MESSAGE LDA WADDR STA TS142+1 JSB ER,I REPORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS TS142 NOP A REG NOP B REG ASC 19,LISTEN-REPEAT ERROR: SENT #, RECEIVED ASC 1,#/ * TE143 JSB ER,I RERORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP A REG NOP B REG ASC 19,TAG BIT SET WITH ADDRESS CONFIRMATION/ * TE144 LDA ADDR SET UP NUMBERS FOR STA TS144 ERROR MESSAGE LDA WADDR STA TS144+1 JSB ER,I REPORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS TS144 NOP A REG NOP B REG ASC 19,RECOGNITION ERROR: SHOULD BE #, IS #/ * T14ST DEF T14SA SKP * * SETUPS FOR TEST 14 * T14SA EQU * DEF T14S1 1 CPU DEF LIST DEF T14S2 2 CPU XMIT DEF LIST DEF T14S3 2 CPU RCVR DEF LIST * T14S1 EQU * DEF NONO NO CAN DO MESSAGE * T14S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF STAG SET TAG BIT DEF LRS GET ADDRESS AND SEND DEF FLAG WAIT FOR REPEAT DEF CHFLG WHY FLAG? DEF LRG GET AND COMPARE REPEATED WORD DEF SHPAS WAIT FOR ADDRESS CONFIRMATION DEF LRLOP INCREMENT ADDRESS AND LOOP DEF NOREC SEE IF ANY NO RECOGNITIONS DEF GOOD COMPLETED MESSAGE * T14S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LRCWD SET LISTEN-REPEAT MODE DEF LRS SET ADDRESS DEF ENINT ENABLE INTERRUPT DEF SLOOP WAIT FOR INTERRUPT DEF LRCLR DISABLE LISTEN-REPEAT DEF LRS SEND THIS ADDRESS DEF LRLOP INCREMENT ADDRESS AND LOOP DEF GOOD COMPLETED MESSAGE SKP * * TEST 15 CHECKS TAG 1 INTERRUPT OF DMA TRANSFER * TST15 NOP ENTRY POINT LDA USSC CHECK FOR DUAL CPU TRANSFER AND BIT8 SZA,RSS JMP TST15,I NO,EXIT TEST LDA BIT8 YES, GET IRQ TAG BIT STA WORD FOR CWORD CLA STA SWORD+1 LDA .5 SET WAIT LOOP IN SUBROUT. "WAIT" STA TIME TO 5 MS. LDA WCSTP SET WORD COUNT POINTER TO STA WCP BEGINNING OF TABLE * LDA T15ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST15,I GOOD EXIT * LDB ERROR SET STATUS WORD STB TTX4 LDB .2 SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .6 DMA XMIT ABORT? JMP TE151 YES * CPA .2 NO RCVR INTP? JMP TE152 YES * CPA .17 TAG ONE WORDS NOT COMPARE? JMP TETXL YES * CPA .7 TAG BIT NOT SET? JMP TETX7 YES * * CPA .5 RESIDUE WRONG? JMP TE153 YES * HLT 66B SKP TETXL JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS h OCT 2 A REG NOP B REG ASC 16,TAG BIT NOT SET IN STATUS WORD/ * TETX7 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 1 A REG NOP B REG ASC 15,TAG ONE WORDS DO NOT COMPARE/ * TE151 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 3 A REG NOP B REG ASC 11,ABORTED DMA TRANSFER/ * TE152 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 4 A REG NOP B REG ASC 9,NO INT WHILE DMA/ * TE153 LDA RESID STA TE154 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS TE154 NOP A REG OCT 17716 B REG ASC 16,RESIDUE WRONG; = #, SHOULD BE #/ * T15ST DEF T15SA SKP * * SETUPS FOR TEST 15, STARTING ADDRESSES OF SUBROUTINES * T15SA EQU * DEF T15S1 1 CPU DEF LIST DEF T15S2 2 CPU XMIT DEF LIST DEF T15S3 2 CPU RCVR DEF LIST * T15S1 EQU * DEF NONO NO CAN DO MESSAGE * T15S2 EQU * DEF CHCON CHECK CONFIGURATION FOR DMA DEF XSTAR GET CPU'S IN STEP DEF WRDCT SET WORD COUNT FOR DMAX & DMAR DEF DMAX START DMA TRANSMIT DEF DMAWF WAIT FOR DMA COMPLETION DEF FLAG CHECK IF FLAG SET, IF SET CLEAR IT DEF STAG SET TAG BIT (BIT6), THEN JSB CWORD DEF SXMIT TRANSMIT SPECIAL WORD DEF CHFLG CHECK IF FLAG SET BY STAT WD BITS 0,1&3 DEF LOOP LOOP & WAIT F.1ST WORD TRANSMITTED DEF FLAG CHECK IF FLAG SET, IF SET CLEAR IT DEF CHFLG CHECK IF FLAG SET BY STAT WD BITS 0,1&3 DEF SRCVR RECEIVE SPECIAL WORD DEF COMP1 COMPARE TRANSMITTED WITH RECEIVED WORD DEF TAG1 CHECK VIA STATUS WORD IF TAG BIT WAS SET * DEF XSTAR GET CPU'S IN STEP * DEF GOOD COMPLETED MESSAGE SPC 2 T15S3 EQU * DEF CHCON CHECK CONFIGURATION FOR DMA DEF RSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD TO BOARD ONLY DEF WRDCT SET WORD COUNT FOR DMAX & DMAR DEF DMAR START DMA RECEIVE DEF ENINT ENABLE INTPT & SET TRAP CELL OF INTF TO INTPT DEF SLOOP LOOP & WAIT FOR INTERRUPT WHILE DMA DEF TAG1 CHECK VIA STATUS WORD IF TAG BIT WAS SET DEF COMP1 COMPARE TRANSMITTED WITH RECEIVED WORD DEF CHRES CHECK RESIDUE OF WORD COUNT REG. DEF STAG SET TAG BIT (BIT6), THEN JSB CWORD DEF SXMIT TRANSMIT SPECIAL WORD DEF CHFLG CHECK IF FLAG SET BY STAT WD BITS 0,1&3,1&3 * DEF RSTAR GET CPU'S IN STEP * DEF GOOD COMPLETED MESSAGE SKP * REPORT DMA INTERRUPT ERROR * TEST 15 * DMAIN CLC 0,C TURN OFF INTERRUPTS CLC 6,C DISABLE DMA LDB HLT6 RESTORE TRAP CELL HALT STB 6 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP A REG NOP B REG ASC 7,HAD A DMA INT/ SPC 4 * ENABLE RECEIVE DMA AND BOARD * TEST 15 * DMAR NOP ENTRY POINT LDA CW1 GET I/O CHANNEL OTA 6 SET DMA * CLC 2 LDA DEST GET DESTINATION ADDRESS IOR BIT15 SET INPUT BIT OTA 2 SET DMA * STC 2 LDA CW3R GET WORD COUNT OTA 2 SET DMA * STC 6,C ACTIVATE DMA DSCR1 CLF TSC CLEAR BOARDS FLAG JMP DMAR,I EXIT SPC 4 * GET WORD COUNT FOR TRANSMITTER AND RECEIVER FROM TABLE * TEST 15 * WRDCT NOP LDA WCP,I GET WORD COUNT FOR TRANSMITTER, STA CW3X STORE AND INCREMENT POINTER ISZ WCP  NOP LDA WCP,I GET WORD COUNT FOR RECEIVER, STA CW3R STORE AND INCREMENT POINTER ISZ WCP NOP JMP WRDCT,I EXIT SKP * ENABLE TRANSMIT DMA AND BOARD & SET TRAP CELL OF DMA TO INTPT * TEST 15 * DMAX NOP ENTRY POINT LDA DMAS STORE JMP,I TO SUBROUT DMAIN STA 6 INTO TRAP CELL LDA CW1 GET I/O CHANNEL OTA 6 SET DMA CLC 2 LDA CW2X GET SOURCE ADDRESS OTA 2 SET DMA * STC 2 LDA CW3X GET WORD COUNT OTA 2 SET DMA * STC 6,C ACTIVATE DMA DSCX1 STF TSC ACTIVATE BOARD JMP DMAX,I SPC 4 * WAIT FOR DMA COMPLETION ON BOARD * TEST 15 * DMAWF NOP LDA .M35C SET COUNTER FOR ABORT 3500 LOOPS STA TMP SFS 6 WAIT FOR DMA COMPLETION JMP *+2 NOT YET JMP DMAW1 YES, EXIT * ISZ TMP CHECK FOR ABORT JMP *-4 NOT YET * ISZ DMAWF LDA .6 ERROR CODE = 6 DMAW1 LDB HLT6 RESTORE TRAP CELL STB 6 CLC 6,C DISABLE INTP JMP DMAWF,I EXIT SKP SPC 4 HLT6 OCT 106006 CW1 OCT 0 CW2X EQU SOURC CW3X OCT 0 CW3R OCT 0 * WCSTP DEF WCTR WCP DEF WCTR WCTR DEC -50 DEC -100 SKP ADREC ASC 13,NO RECOGNITION-ADDRESS #/ * * SAS EQU * REP 10 OCT 52525 REP 10 OCT 125252 REP 10 OCT 100001 REP 10 OCT -1 REP 10 OCT 70707 REP 10 OCT 107070 REP 10 OCT -1 REP 10 OCT 100001 REP 10 OCT 125252 REP 10 OCT 52525 * SAD EQU * BSS 100 FWAA EQU * END V0.**0   24336-80001 A S 0122 12K SIO 7970 MAG TAPE DRIVER             H0101  ASMBAB̬ HDKSϠAK90DVҠ NGUANSN G MP3 DƠAPɠNAZŠAPŠHANNS G06B DƠAP-ASԠDAVAABŠNMMY DƠAPŠNYPN G6000BKVSN APɠAGԠƠUNSMSH A̠GSҠAŠ. SSASSSN.ƠUNS3? MP+3N. HԠ0YS MPAPɠYAGAN. AƬAҠUNSNנN0-3. AND.MASKƠ3-5. MAA-A. DBM5B-5. SBҠSŠB. DBSAPD SBS̲NGUŠHŠDV DBS̱ASUHHAԠAA SBS̱ҠNN-SN DBS̱ɠSBUMPDDN SBS̲ɠANSNGUN. SZS̱NMN SZS̲HŠS SZҠDSAND NASZAHŠS MP-6UN.PBAK. SZҠNSHD? SSYS. MP+5GϠGԠɯϠS. DAS̱AɠNGUŠA SAS̲ɠSԠDS SZS̲NSHD? MP-6NϬP. AGԠɯϠDAAHANN̠ AND.MASKƠBS5-6. SAϠSŠA. DADANԠA-. DBDAABADDSSƠANSϠM. SBMɠGϠMA̠DAAHANN̠ɯϠMMANDS. SZϠϠMMANDHANN. DAHNԠA-9. DBMNDBADDSSƠANSϠM. SBMɠGϠMA̠MDHANN̠ɯϠMMANDS. HԠBNSHD. MPAPɠYUHAVŠASNDHAN. MɠNPNYPN. SANNԠSŠƠPASϠNGU DAɠGԠADDSSMBGS. ANDMSKMASKƠBS5-6. ҠϠANGUDNSUN SAɠSŠ. NBGԠNԠNSUàN. SZNNԠNMNԠUN. MPM+PBAK. MPMɬɠNSHD. ϠNPɯϠSԠNANNGMAGAPŠAD. .Ԡ NNԠNPUN. .Ԡ MSKԠ00 S̱ADƠ+ADDSSƠSԠUNS0-3 Ԡ000000000 S̱BSS S̲BSS ҠBSS M5Ԡ-5 HNԠDà-9 DANԠDà- MNDDƠ+ɠADDSSƠ9ɯϠNSUNS DƠ.05ϠMMANDHANN DƠ.0 DƠ.0 DƠ.5 DƠ.6 DƠ.30 DƠ.3 DƠ.35 DƠ.0 DƠ.5 DƠ.65 DƠ.90 DƠ.9 DƠ.00 DƠ.0 DƠ.0 DƠ. DƠ. DƠ.3 DAADƠ+ɠADDSSƠɯϠNSUNS DƠD.0ϠDAAHANN DƠD.0 DƠD. DƠD. DƠD.30 DƠD.35 DƠD.0 NGSHŠMAGAPŠDVҠ-ABVŠNGUAN SNSASD. ANGSUN:(ADũ DASZGàADUSGDUNP+ MPGìɠUN BUƲANP ŬBŠ_UPPҠҠAG DABɠHҠϠAG SZSSUPPҠҠ? AƬAƠUPP AND.MASKUNANDHAA MPBUƲAɠUN. ABUƠNP SAGàSAVŠHAA DBBUPG SBNBPPS ADB.MHAA SBBUƲA AƬA ҠGàADDNנHAA SZSHUDԠBŠSAPPD? AƬAƠYS SABɠSŠ SZBUPMVŠϠNԠH.SPA MPABUƬ SPà5 GԠNPUԠBKMNPUԠBU GBNP SBGàGԠAHAA MPGBɠNϠDAA SBSàMMAҠSPAŠHK SZGBADUSԠUN PAMNUSƠ'SNGSGN MPNUMN+HNPSSASANUMB SBDGKƠ'SANUMB MPNUMNHNPSSASANUMB AƬAƠNϠ-PSSAAS SAANSAVŠSԠHAA SBGàGԠSNDHAA DASPàNϠDAAUSŠSPA ŠNDAŠAS SBS ҠANADDS SAANSAVŠ SBGàMVŠϠMMAҠSPA DASPàNϠDAAUSŠSPA SBSàAD MP-NԠSPAŠҠMMA SàNP PAMASԠAMMA MP+YS PASPàSԠASPA MP+YS MPSìɠNHҠSϠUN DAANVŠH DBBN MPGBɠUN SPà5 NUMNBSSNDAŠPSV BNDAŠNGAV SBNGSAVŠAG ADBBUPMVŠPNҠBAKƠNSSAY ŬBSԠUPPҠҠAG AA̠ҠNG SBASNɠNVԠ SAANSAVŠ DBNG ADBBUP ŬB AA̠ҠA SBASNɠNVԠ SABNSAVŠ DAANV DBBNNUMBS SZNGASANGND? SS MP+3N MANAYS MBNB SAANSAVŠNUMB SBBN SBGàGԠNԠHAA DASPàNϠDAAUSŠSPA ŠNDAŠ'SANUMB SBSàAD MP-NԠSPAŠҠMMA ANNP BNNP NGNP HKƠAGDG DGKNP SABUƲASAVŠHAA ADA.M60ADD-60A SSASHUDS̠BŠPS.? SZDGKNϠ-NԠADG ADA.M0ADD-0 SSASSSHUDGϠNG? SZDGKNϠ-ADUSԠUN DABUƲAVŠHAA MPDGKɠUN SPà5 PGAMMMAND PMDPAABYԠPDSN? MPPDSNɠYS PAAɠSԠUS? MPPɠYS PAAD̠DŠAN? MPPD̠YS PAAGϠSAԠUN? MPPGϠYS PAADBDNŠBU? MPPDBYS NԠUND- NҠDBMSGNPUԠ AŠMSSAG SBMҬ MPѠYAGAN MSGDƠ+ ASàPDSNSN .MSGDƠ+ Ԡ0 MSGDƠ+ ASàGA̠NPUԯ UNҠSASVBSAVŠҠNUMB ADA.MƠ3HN SSA? MP+ŠPN DBSױHKϠPNԠ SBSԬ MPUNN`NϠDN'ԠPN DB.MSGGԠMSSAG A SBMҬ DBSVBUPUԠҠNUMB ANA SBMҬ DBUNUPUԠNŠNUMB ANA SBMҬ UNNDASVBƠ3HN ADA.M SSA? MPѠSP UNҠDBSױHKϠNNU SBSԬ SS MP A MPPG .MSGDƠ+ ASà9ҠNNŠ SPà5 SԠPGAM PɠDAAMSԠSANGƠS SAPPҠPN SBGBGԠNԠBK ANANϠDAA SZSZASSƠASɠҠZϠHN MPN MANA SAMPSAVŠSԠNŠNUMB SBGBGԠNԠBK DAMNMNϠDAA SZSZASSƠASɠҠZϠHN MPN MA SAMP+SAVŠASԠNŠNUMB MANAHKSԠ NO RETURN. FRET OCT 0 FINAL RETURN ADDRESS. RS# OCT 0 RETURN SEGMENT #. RSDA OCT 0 RETURN SEG. DIRECTORY ADDRESS. RPAR OCT 0 " PARAMETER. RST OCT 0 " STATUS. RLOG OCT 0 TRANSMISSION LOG FOR XFER. .RST DEF RST SPC 1 * * USER TABLE DESCRIPTION. * .SD OCT 0 SEG DIRECTORY ADRESS. SDL EQU 11 SEGMENT DIRECTORY ENTRY LENGTH UFDS EQU 3 FILE DIRECTORY ENTRY LENGTH .FD DEF FD FILE DIRECTORY ADDR. * * IN CORE DIRECTORY DEFINITION * FOR FILES * WORD 1 - TRACK/SECTOR (8/8) * WORD 2 - USER DISC SUBCHANNEL * WORD 3 - FIL'E LENGTH IN SECTORS * * * THE FOLLOWING ARE SET UP AFTER INITIALISATION. * NSEG OCT 0 NUMBER OF USER SEGMENTS. UNL FD REP 48 OCT 0 LST * FD BSS 48 HED ***CALLING SEQUENCES*** * VALID REQUEST CALLS * ------------------- * * NOTE: FOR ASSEMBLY LANGUAGE PROGRAMS, THE ADDRESSES OF THE * VARIABLES MUST BE PASSED, NOT THE VARIABLES THEMSELVES. * THIS CONFORMS TO HP FORTRAN FORMAT. * SPC 1 * INITIALIZE (REQ. CODE = 82) * JSB TCS * DEF *+9 * DEF RCODE REQUEST CODE. * DEF PQ START OF PENDING QUEUE BUFFER. * DEF MAXPQ MAX. NUMBER OF PQ ENTRIES. * DEF PQCNT VARIABLE = CURRENT # OF PQ ENTRIES. * DEF SNAM SEGMENT NAME ARRAY (3 WORD NAMES). * DEF SNUM NUMBER OF SEGMENTS. * DEF SDIR SEGMENT DIRECTORY (11 WORDS PER SEGMENT). * * * OPEN FILE REQUEST ( REQ. CODE = 84 DECIMAL) * JSB TCS * DEF *+4 * DEF RCODE * DEF FNAM ARRAY (3 WORDS) HOLDING FILE NAME * DEF FNUM RELATIVE NUMBER IN FILE DIRECTORY * * * PRIORITY LEVEL CHANGE REQUEST * JSB TCS * DEF *+3 * DEF RCODE REQUEST CODE = 71(DECIMAL) * DEF PRITY PRIORITY ( RANGE= 0 TO 15) * * * READ/WRITE (REQ. CODE = 1-READ/2-WRITE) ***NOTE: IN ALL I/O CALLS, BUFFER LENGTH MUST BE NON-ZERO*** * JSB TCS * DEF *+6 OR 7 OR 8 OR 9 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF CONWD ADDRESS OF CONTROL WORD (AS IN DOS-M BIT 15=1LOC) * DEF BUFFR ADDRESS OF USER BUFFR (IN COMMON CORE) * DEF BUFFL ADDRESS OF TRASFER LENGTH(WORDS+ BYTES-) * DEF DTRAK ADDRESS OF DISK TRACK VARIABLE (OPTIONAL) * DEF DSECT ADDRESS OF DISK SECTOR VARIABLE (OPTIONAL) * DEF IDENT SEE LATER * DEF IRET SEE LATER * * * I/O CONTROL (REQ. CODE = 3) * JSB TCS * DEF *+5 OR 6 * DEF RCODE ADDRESS OF REQUEST CODE.S5 * DEF CONWD ADDR.OF CONTROL WORD(AS DOS-M BUT BIT15=1 LOCK) * DEF PARAM ADDR OF OPTIONAL PARAM (AS IN DOS-M) * DEF IDENT SEE LATER * DEF IRET SEE LATER * * SEGMENT LOAD (REQ. CODE = 8) * JSB TCS * DEF *+3 OR 4 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF SEGN RELATIVE # OF SEG. DIR. ENTRY (1 TO N). * DEF PRITY PRIORITY TO BE ASSIGNED TO SEGMENT ( OPTIONAL) * * FILE READ/WRITE (REQ. CODE = 14-READ/15-WRITE) * JSB TCS * DEF *+8 OR 9 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF CONWD ADDRESS OF CONWD (AS DOS-M BUT BIT15=1 IS LOCK) * DEF BUFFR ADDRESS OF BUFFER * DEF BUFFL ADDRESS OF BUFFER LENGTH (WORDS+ BYTES-) * DEF FNUM RELATIVE # OF FILE DIR. ENTRY (1 TO N). * DEF RSECT ADDRESS OF VARIABLE HOLDING RELATIVE SECTOR * DEF IDENT SEE LATER * DEF IRET SEE LATER * * * UNLOCK I/O DEVICE (REQ. CODE = 52) * JSB TCS * DEF *+3 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF LU ADDRESS OF VARIABLE HOLDING LOG.UNIT # * * * SUSPEND TILL I/O (REQ. CODE = 53) * JSB TCS * DEF *+2 * DEF RCODE ADDRESS OF REQUEST CODE. * * IN-LINE RETURN TO MAIN (REQ. CODE = 54) * JSB TCS * DEF *+2 * DEF RCODE ADDRESS OF REQUEST CODE. * * STATUS CALL (REQ. CODE = 79) * JSB TCS * DEF *+6 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF STATS FOR RETURNED STATUS. * DEF PARAM FOR ORIGINAL PARAM. IN USER CALL. * DEF LUN FOR LOGICAL UNIT #. * DEF LOG TRANSMISSION LOG (WORDS XMITTED). * * PAUSE * JSB TCS REQUEST CODE =1 * DEF *+6 * DEF RCODE * DEF ILU ILU=77 OCTAL * DEF 1 * DEF 1 * DEF IDENT SEE LATER * * * * "IDENT" IS THE VARIABLE HOLDING A PARAMETER (VALUE 0-256) * WHICH IS AVAILABLE TO THE USER IN A STATUS CALL * * "IRET" IS A VARIABLE USED WITH I/O WITHOUT WAIT CALLS, IT * CONTAINS THE ADDRESS TO BE CALLED WHEN I/O IS COMPLETE * HED ***DEBUG TABLE*** * * THE FOLLOWING TABLE IS MERELY TO HELP USERS DEBUG PROGRAMS * .TB DEF TB TB NOP # OF CALLS TO TCS TB1 NOP # OF I/O CALLS TO TCS TB2 NOP # OF DISK CALLS (INCL. FILE REQS BUT NOT SEG LOADS) * NOT SEGMENT LOADS TB3 NOP # OF FILE REQUESTS TB4 NOP # OF USER SEGMENT LOADS TB5 NOP # OF SEGMENT LOADS (USER&SYSTEM) TB6 NOP # OF FILE OPENS ATTEMPTED TB7 NOP # OF I/O REQUESTS STARTED TB8 NOP # OF I/O REQUESTS COMPLETED HED ***BASE PAGE*** * * BASE PAGE LOCATIONS USED * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 N05$ EQU #-5 N06$ EQU #-6 N07$ EQU #-7 N08$ EQU #-8 N09$ EQU #-9 * P00$ EQU # P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 * M17$ EQU 70B M37$ EQU 71B (7905) M77$ EQU 72B M177$ EQU 73B M377$ EQU 74B * SYSBF EQU 115B SECTR EQU 116B UDNTS EQU 157B CUDSC EQU 161B CUDLA EQU 163B DISCL EQU 200B SYSSC EQU 155B ************** * N09$ DEC -9 * N07$ DEC -7 * N06$ DEC -6 * N05$ DEC -5 * N04$ DEC -4 * N03$ DEC -3 * N02$ DEC -2 * N01$ DEC -1 * P02$ DEC 2 * P03$ DEC 3 * P04$ DEC 4 * P05$ DEC 5 * P06$ DEC 6 * P08$ DEC 8 * M17$ OCT 17 * M77$ OCT 77 * M177$ OCT 177 * M377$ OCT 377 * *SYSBF "SYSBF" SYSTEM BUFFER TRACK/SECTOR *SECTR "SECTR" NUMBER OF SECTORS/DISK TRACK *UDNTS "UDNTS" NEXT USER DISK TRACK/SECTOR *CUDSC "CUDSC" CURRENT USER DISK SUBCHANNEL *CUDLA "CUDLA" CURRENT USER DISK LAST ACCESS *DISCL "DISCL" USER LABEL TRACK/SECTOR * * ERROR STATUS DEFINITIONS. * ERR1 EQU N01$ ERR2 EQU N02$ ERR3 EQU N03$ ERR4 EQU N04$ ERR5 EQU N05$ ERR6 EQU N06$ ERR7 EQU N07$ * HED ***TCS MAIoN CONTROL*** * * * * MAIN ENTRY INTO TCS * * SPC 3 TCS NOP ENTRY POINT JSB ENTR GO GET PARAMETERS DEF *+11 ARG1 NOP FOR ADDRESSES- ARG2 NOP ARG3 NOP OF PARAMETERS- ARG4 NOP ARG5 NOP TO BE PASSED - ARG6 NOP ARG7 NOP FROM CALLING - ARG8 NOP ARG9 NOP PROGRAM BY ENTR. ARG10 NOP * * * NOW SAVE THE REQUEST CODE * LDA ARG1,I GET THE REQUEST CODE STA CREQ SAVE IT * * UPDATE DEBUG TABLE * ISZ TB # OF TCS CALLS NOP JUST IN CASE * * CHECK IF ITS AN INITIALISATION REQUEST. * CPA =D82 RSS YES SO SKIP JMP ME SEE IF ITS A STATUS REQ. * LDA ARG7 GET ADDR OF SEG. DIRECTORY STA .SD LDA ARG2 SET ACTUAL CPQE VARIABLE STA .PQ TO .PQ-9, AND SET THE ADA PQLM LOCAL CPQE TO POINT STA CPQE TO THE VARIABLE. LDA ARG3,I SAVE MAXIMUM STA MAXPQ # OF PQ ENTRIES. LDA ARG4 STA PQC SET UP PQ COUNT ADDRESS. SKP * NOW INITIALIZE SEGMENT DIRECTORY. * CLA STA PQC,I CLEAR PQ COUNT STA RST CLEAR RETURN STATUS. LDA ARG5 STA NAMAD LDA ARG6,I GET # OF SEGS. SZA,RSS JMP MZ EXIT IF NO SEGS. STA NSEG CMA,INA ARG7 := -# OF STA ARG6 SEGMENTS * * SET UP THE IN-CORE SEGMENT DIRECTORY. * LOOP1 JSB EXEC PERFORM A FILE DEF *+4 NAME SEARCH. DEF SERCH NAMAD BSS 1 DEF ARG1 LDA ARG1 FILE SZA OK ? JMP GON YES. GO ON. H1 LDA ERR1 GET ERROR 1 CODE STA RST JMP MZ SPC 1 GON LDA NAMAD INCREMENT ADA P03$ NAMAD STA NAMAD BY 3. * * NOTE: AT THIS POINT, THE BREG POINTS TO THE FOURTH * WOR^D OF THE SYSTEM DIRECTORY ENTRY. * ADB N03$ (-3) LDA M11 SET UP -11 IN STA ARG2 ARG2 FOR THE MOVE. LOOP2 LDA B,I GET A WORD AND STA ARG7,I STORE IT IN THE INB SEGMENT DIRECTORY. ISZ ARG7 ISZ ARG2 JMP LOOP2 LDB ARG7 INSERT THE UD INTO ADB N09$ (-9) LDA B,I THE BOTTOM 5 BITS (7905) AND =B177740 OF THE 3RD WORD (7905) IOR CUDSC (UD # ON BASE PAGE) STA B,I ISZ ARG6 DONE? JMP LOOP1 NO. CHECK NEXT SEGMENT NAME. JMP MZ YES. * SERCH DEC 18 FILE NAME SEARCH CODE. M11 DEC -11 SKP * * SEE IF IT IS A STATUS REQUEST * ME CPA =D79 IS A STATS REQ.? RSS YES SO SKIP JMP MB NO IT ISNT * * * PASS STATUS PARAMETERS AND EXIT. * LDA RST PUT STATUS INTO STA ARG2,I 1ST USER PARAMETER. LDB ENUM CPB P02$ ONLY 1 PARAM(STATUS) JMP MZ YES SO EXIT LDA RPAR PUT THE USER IDENT PARAM STA ARG3,I INTO 2ND PARAMETER. LDA RLU PUT LU # INTO STA ARG4,I 3RD USER PARAMETER. LDA RLOG PUT TRANSMISSION LOG INTO STA ARG5,I 4TH USER PARAMETER. JMP MZ GO TO EXIT SPC 2 * * * SEE IF ITS A PRIORITY REQUEST * MB CPA =D71 IS IT? RSS YES SO SKIP JMP MT NO SO CARRY ON CHECKING * LDA ARG2,I GET PRIORITY AND M17$ ENSURE CORRECT RANGE STA PRIOR STORE IT * JMP MZ GO TO EXIT * * * SEE IF ITS AN OPEN FILE REQUEST * MT CPA =D84 IS AN OPEN FILE REQUEST? JMP MY YES CLA STA RST ETC. STA RLU * * SEE IF ITS AN INCORE REQUEST * JSB ACOD * * ON RETURN A REG IS ZERO IF REQUEST HAS BEEN DOC,NE * SZA,RSS IS DONE ? JMP MOUT YES * * CALL ROUTINE'B' TO SEE IF IT'S A SEGMENT LOAD * JSB BCOD * * ON RETURN A REG IS ZERO IF REQUEST HAS BEEN DONE * SZA,RSS IS DONE JMP MOUT YES * * CALL ROUTINE'C' TO SEE IF IT'S AN I/O REQUEST * JSB CCOD * * ON RETURN A REG IS ZERO IF REQUEST HAS BEEN DONE * SZA,RSS IS DONE JMP MOUT YES * * INVALID REQUEST. SET USER STATUS TO ERR3 AND RETURN. * LDA ERR3 GET ERROR CODE STA RST PUT IN STATUS MZ LDA TCS GET RETURN ADDR. STA FRET STORE IT * * THIS IS THE ONLY RETURN FROM TCS. * MOUT CLA CLB JMP FRET,I RETURN TO USER. * .ARG1 DEF ARG1 SPC 5 * * PROCESS FILE OPEN REQUESTS * MY LDA ARG3,I GET FILE # ADA N01$ SUBTRACT 1 MPY =LUFDS MULT BY ENTRY LENGTH ADA .FD ADD DIREC. ADDR. STA MET SAVE * CLA STA RST CLEAR RETURN STATUS * * UPDATE DEBUG TABLE * ISZ TB6 NOP * LDA ARG2 ADDR OF FILE NAME STA FNME JSB EXEC SEARCH FOR- DEF *+4 FILE- DEF SERCH DIRECTORY. FNME OCT 0 DEF ARG1 * LDA ARG1 FILE- SZA,RSS OK? JMP H1 NO * * BREG POINTS TO FOURTH WORD OF DIREC * ENTRY(EG TRACK AND SECTOR) * LDA B,I STA MET,I PUT IN DIRECTORY LDA CUDSC GET USER SUBCHAN. ISZ MET STA MET,I PUT IN DIRECTORY INB LDA B,I GET FILE LENGTH ISZ MET STA MET,I PUT IN DIRECTORY LDB ARG2 GET ADDR OF FILE NAME. LDA ARG3,I GET FILE NUMBER FOR LOG UTIL. JSB .LOGP,I * * ALL DONE SO EXIT * JMP MZ * * MET NOP * .LOGP DEF LOGP DUMMY LOGP TILL LOGGING LOGP NOP IS INITIATED JMP LOGP,I HED ***FAST PARA8v640METER TRANSFER*** * * * ENUM WILL HOLD THE # OF PARAMS TRANSFERRED AFTER COMPLETION * * * * EPAR WILL HOLD THE ADDRESS OF THE FIRST USER PARAM (DEF*+N) * * * * ************************************** * * * ROUTINE TO TRANSFER PARAMETER ADDRESSES. * * * CALLING SEQUENCE * * * * JSB ENTR * * DEF *+N * * BSS N-1 FOR PARAMETERS * * * ************************************** SPC 3 * FIND # OF PARAS WE HAVE SPACE FOR ENTR NOP ENTRY POINT LDB ENTR,I GET DEF *?N PARAMETER CMB,INB MAKE -VE ADB ENTR STB TEMP SAVE * * NOW FIND # OF PARAMS IN USER CALL LDA ENTR ADA =D-2 STA TEMP2 LDB 0,I LDA 1,I CMB ADA 1 * * NOW FIND WHICH # OF PARAMS IS LEAST * LDB 0 ADA TEMP SSA JMP E1 LDB TEMP CMB E1 STB ENUM * * ENUM NOW CONTAINS THE # OF PARAMS * * SET UP SOURCE ADDR IN TEMP3 AND SET * * UP ADDR OF FIRST USER PARAM (DEF *+N) * * IN EPAR * LDA TEMP2,I STA EPAR LDB 0,I STB TEMP2,I SET UP USER RETURN INA STA TEMP3 * * NOW SEE IF THERE ARE ANY PARAMS TO TRANSFER * LDA ENUM SZA,RSS ANY JMP E4 NO * * SET UP FINAL DEST IN TEMP2 * LDA ENTR 2002 ADA ENUM 2006 STA TEMP2 2006 ~6   24342-18003 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8* * GET INITIAL ADDR(DEST) IN B REG * LDB ENTR INB 2003 * * NOW MOVE PARAMS * E5 LDA TEMP3,I GET PARAM 6002,I IND1 RAL,CLE,SLA,ERA CHECK FOR INDIRECT JMP INDIR GO DO IT STA 1,I STORE PARAM 2003,I ISZ TEMP3 MOVE ADDR CPB TEMP2 ALL DONE JMP E4 YES GOTO EXIT INB MOVE ADDR JMP E5 GO DO NEXT * * SORT OUT INDIRECT PARAMS * INDIR LDA 0,I JMP IND1 * * NOW ALL IS DONE SO EXIT * E4 LDA ENTR,I GET RETURN ADDR LDB ENUM JMP 0,I GO AWAY * TEMP NOP EPAR NOP ENUM NOP TEMP2 NOP TEMP3 NOP HED **** ROUTINE B , THE SEG. LOADER **** ***** ***** * * * ROUTINE B IS USED TO PROCESS USER REQUESTS FOR SEGMENT * * * * LOADS. IT CONTAINS A ROUTINE (B3) WHICH IS USED BY * * * * OTHER ROUTINES WITHIN TCS. * * * ***** ***** SPC 3 BCOD NOP ENTRY POINT. LDA CREQ GET REQUEST CODE CPA P08$ IS SEGMENT LOAD (=8) ? JMP BA YES * * REQ. IS NOT VALID SO MAKE REJECT RETURN * BT CLA,INA,RSS NOT-DONE EXIT. BB CLA DONE EXIT. JMP BCOD,I EXIT. * * REQUEST IS VALID CHECK WHETHER SEG IS ALREADY IN CORE * BA LDA SEG GET SEG# * * UPDATE DEBUG TABLE * ISZ TB4 NOP CPA ARG2,I IS THIS SEG ALREADY IN JMP BD YES * * TEST FOR VALID SEG. NUMBER. * LDA ARG2,I  GET SEG # SSA,RSS <0? CPA P00$ =0? JMP BF YES, REJECT. CMA,INA MAKE REQ.SEG. -VE ADA NSEG ADD # OF SEGS SSA,RSS IS OK? JMP BE YES * * INVALID SEG # SO SET ERROR RETURN * BF LDB ERR4 GET ERROR CODE. STB RST PUT IN RETURN STATUS * * * NOW SET UP EXIT * LDA TCS GET RETURN ADDR. STA FRET JMP BB * * CHECK WHETHER DISC IS BUSY * BE LDB P02$ JSB SCHK WAIT TILL LU2 IS FREE SSA JMP BE LDA ARG3,I *PREP FOR PRIORITY PARAM STA ARG3 *SAVE POSS. NEW PRIORITY * * * GET REQUIRED SEGMENT DIRECTORY ADDR LDA ARG2,I ADA N01$ SUBTRACT 1 MPY =LSDL LENGTH OF SEG DIR ENTRYS. ADA .SD ADDR OF SEG TABLE SPC 2 * * NOW HAVE SEG DIREC ADDR IN A REG SO LOAD SEG * JSB B3 * * * SET UP FINAL RETURN ADDR. * BD LDA B3F,I SEG. ENTRY ADDR. STA FRET STORE AS FINAL RETURN LDA MORS SET THE LDB CMR SEGMENT-TO-MAIN SZA RETURN ADDRESS. LDB TCS STB CMR CLA SET EXECUTING FLAG STA MORS TO SEGMENT. * * NOW SET PRIORITY IF PRESENT * LDB ENUM GET # OF PARAMS CLA CPB P03$ WRER THERE THREE? LDA ARG3 *YES, SO GET PRIORITY AND M17$ ENSURE CORRECT RANGE STA PRIOR SET PRIORITY * * JMP BB GO TO RETURN HED ***ROUTINE B3*** * * * ROUTINE B3 IS USED TO LOAD SEGMENTS * * FIRST GET USER DISC SUBCHAN SO WE * CAN RESTORE IT LATER B3 NOP * * UPDATE DEBUG TABLE * ISZ TB5 NOP LDB CUDSC STB B3A * * SAVE DIRECTORY ADDRESS STA B3C STA B3B ADA P02$ ADD 2 STA B3D SAVE SUBCHAN ADDR LDB A SAVE IN B LDA A,I ANqD M37$ MASK SUBCHANNEL (7905) STA F4H ADB P02$ ADD TWO STB B3X SAVE ADDR OF LENGTH ADB P05$ ADD 5 STB B3F SAVE ADDR OF SEG START * * NOW CHANGE USER DISC * * IF REQUIRED * CPA CUDSC IS SAME AS CURRENT? RSS YES SO SKIP JSB F5 GO DO IT * *NOW MOVE PARAMS ONTO BASE PAGE * LDA =D-11 STA B3G COUNT * LDB B3L STB B3M * B3K LDB B3C LDA B,I CPB B3D IS SUBCHAN PARAM JMP B3KK YES. JMP B3HH NO. B3KK AND =B177740 CLEAR TYPE CODE (7905) IOR P05$ (5) B3HH CPB B3F IS STARTING ADDRESS ? LDA .B3H SET TO RETURN TO THIS ROUTINE CPB B3X IS FILE LENGTH AND =B7777 YES, MASK OUT PRIORITY * * NOW MOVE TO BASE PAGE LDB B3M JSB FMOV PUT ON BASE PAGE ISZ B3C ISZ B3M ISZ B3G ALL DONE JMP B3K NO * * * JSB EXEC DEF *+2 DEF B3N * * SHOULD RETURN HERE WHEN SEG IS LOADED * *CHANGE USER DISC BACK * B3H LDA B3A STA F4H PUT UD IN EXEC CALL CPA CUDSC IS SAME AS CURRENT? RSS YES SO SKIP JSB F5 * * NOW SET UP PARAMS * LDA B3B STA CSEG SAVE DIREC ADDR * * NOW GET SEG # +SAVE * LDB .SD CMB,INB ADA B CLB DIV =LSDL INA STA SEG LDA B3F,I RESTORE SEGMENT LDB =B137 ENTRY POINT TO JSB EXEC BASE PAGE DIRECTORY. DEF *+2 DEF BEJ JMP B3,I * * B3A DEC -1 FOR CURRENT USER DISC B3B NOP FOR DIREC ADDR B3C NOP FOR SEG DIRECTORY ADDRESS. B3D NOP FOR SUBCHANNEL ADDRESS. B3F NOP B3G NOP .B3H DEF B3H BEJ DEC -19 B3L OCT 141 B3M NOP B3N DEC -20 B3X NOP HED *** ROUTINE C ,THIS CONTAINS E + F *** ***** ***** * * * THIS ROUTINE CHECKS FOR I/O CALLS AND PROCESSES * * * * VALID ONES. ON EXIT A IS NON-ZERO IF CALL WAS * * * * NOT VALID. IF VALID A=0 AND FRET HOLDS RETURN ADDR * ***** ***** SPC 3 CCOD NOP CLA INITIALIZE RETURN PARAMETERS. STA RFLG * * CHECK IF WE HAVE BEEN INITIALISED * LDA .PQ GET PENDING Q ADDR. LDB ERR6 SZA CLB STB RST SET STATUS SZA,RSS JMP CGA GO TO RETURN * LDA CREQ GET USER REQ CODE CPA =D53 IS SUSPEND CALL JMP CN YES. SPC 1 * SEE IF IT IS AN I/O REQUEST * LDB .CB GET TABLE ADDR STB CC STORE IT * CF LDB CC,I GET A REQ CODE SZB,RSS ALL VALID REQ CODES CHECKED? JMP CD YES SO SET FOR AN INVALID CALL * CPA B IS IT THIS CODE JMP CY YES ITS VALID ISZ CC INCR ADDR JMP CF TRY NEXT ONE * * HAVEN'T BEEN INITIALISED SO SET RETURN ADDR. * CGA LDB TCS STB FRET JMP CM SPC 1 * INVALID RETURN POINT * CD CCA,RSS SET A=-1 SPC 1 * VALID RETURN POINT * CM CLA JMP CCOD,I EXIT. * * FIRST SEE IF ITS A FILE REQUEST * CY CLA STA CTT CLEAR FILE FLAG * * UPDATE DEBUG TABLE * ISZ TB1 NOP LDA CREQ GET REQUEST CODE ADA =D-13 SUBTRACT 13 AND =B177774 MASK LAST 2 BITS SZA,RSS WAS IT A FILE REQUEST? * * IF IT WAS THEN CALL F4 TO CONVERT TO TRACK AND SECTOR * JSB F4 * * WAS A VALID FILE REQUEST? * LDA RST GET STATUS SZA IS IT STIL-/L CLAER JMP CM NO IT ISNT * PUT REQUEST IN PENDING QUEUE * CE LDA PQC,I CHECK FOR PQ OVERFLOW. CPA MAXPQ OVERFLOW ? JMP CERR INA STA PQC,I NO. UPDATE PQ ENTRY COUNT. LDB CPQE ADB =LPQL STB CPQE * * NOW CHECK PRIORITY * LDA PRIOR SZA IS IT 0? JSB MU NO SO SHUFFLE PEND Q. * LDA CREQ GET REQ. CODE AND =B7777 MAKE ROOM FOR PRIORITY ALF IOR PRIOR PUT IN PRIORITY ALF ALF,ALF MOVE PRIORITY TO TOP 4 BITS STA B,I HAVE SET REQ CODE LDA CTT WAS IT A FILE REQ. SZA JMP CTY YES SO GO ON LDA CREQ GET REQ CODE AGAIN * * CPA N01$ IF ITS A -1 JMP CXX OR -2 CALL THEN- CPA N02$ SAVE A FLAG, IT- JMP CXX MAY BE WORK AREA. * CTY CLA IT WASN^T SO CXR STA CWY UPDATE FLAG * CTS INB LDA CMR HAVE NOW SET MAIN RETURN ADDR STA B,I * INB LDA ARG2,I STA ARG2 SAVE STA B,I HAVE NOW STORED CONTROL WORD * INB STB C9A SAVE PQ POINTER. * * NOW STORE RETURN ADDRESS. * LDB TCS GET RTRN ADDR. LDA ARG2 GET CONWD AND =B20000 STA C9H SZA,RSS W/O WAIT ? JMP C9D YES. RETURN IN-LINE. C9B LDB ENUM ADB .ARG1 ADB N01$ GET RETURN LDB B,I ADDRESS FROM IRET. LDB B,I C9D STB C9A,I STORE RETURN ADDRESS. * C9C ISZ C9A LDB ENUM CLA CPB P03$ ONLY 3 PARAMS? JMP C9W YES * CPB P04$ WERE THERE 4? RSS YES SO SKIP JMP C9X MUST BE 5 OR MORE * LDB C9H WAS IRET ONE OF - SZB,RSS THEM? * C9X LDA ARG3 GET BUFFER ADDR LDB CREQ IS AN I/O CONTROL REQ? CPB P03$ IF SO GET THE LDA A,I ACTUAL PARAM C9W STA C9A,I PUT A REG IN PQ. * * ISZ C9A CLA LDB CREQ CPB P03$ IS I/O CONTROL ? JMP C9E YES SO GO ON LDA ARG4,I GET BUFFER LENGTH. C9J STA C9A,I * ISZ C9A MOVE POINTER * LDA ENUM CMA,INA ADA P06$ TEST FOR GREATER THAN 6 PARAMETERS SSA,RSS JMP C9T * LDB CTT GET FILE FLAG LDA ARG5 SZB,RSS IS THAT THE TRACK ? LDA ARG5,I STORE TRACK AND SECTOR STA C9A,I * ISZ C9A * LDA ARG6 SZB,RSS LDA ARG6,I LDB CWY IF IT WAS- SZB,RSS A -1 OR -2 - JMP C9G CALL THEN PUT SYSTEM DISC- LDB SYSSC IN BLF,BLF REQUEST AND M377$ *STRIP SUBCHAN IOR B *MERGE SYS. SUBCHAN * C9G STA C9A,I JMP C9F * C9T CLA STA C9A,I ISZ C9A JMP C9G * C9E LDA ENUM GET # OF PARAMS LDB C9H SZB IS W/O WAIT ADA N01$ SUB 1 IF IRET PRESENT ADA N03$ SUB 3 FOR RC,CW,IPAR CLB CPA P02$ WERE THERE 2 PARAMS LDB ARG4 YES SO GET ADDR LDA B PUT IN A REG JMP C9J GO BACK C9F LDA ENUM ADA .ARG1 GET ADDRESS OF ADA N01$ THE PARAMETER LDB C9H IN THE A REG. SZB ADA N01$ LDA A,I GET PARAMETER LDA A,I AND M377$ (377 OCTAL) ALF,ALF LDB MORS GET EXECUTING FLAG SZB,RSS SKIP IF ITS MAIN IOR SEG ADD SEGMENT #. ISZ C9A STA C9A,I * * NOW SEE IF REQUEST WAS W/O WAIT * LDA C9H IS REQ WITH- SZA WAIT? JMP CJ NO * * * THIS THE MAJOR I/O CHECKING AND INITIATION LOOP. * IT IS ALSO THE SUSPEND LOO5P. * CN JSB ECOD CHECK CQ FOR A COMPLETE I/O. CP JSB FCOD INITIATE ALL POSSIBLE I/O. CZ LDA RFLG IS THERE ANY SZA RETURN YET ? JMP CM YES. EXIT THRU CM. JMP CN NO. STAY IN THE LOOP. * * FIND CORRECT PLACE IN PENDING QUEUE * MU NOP ENTRY POINT LDA .PQ GET PENDING Q ADDR. LDB A STA C9A SAVE * MV2 CPB CPQE ALL DONE? MV JMP MU,I YES SO EXIT LDA C9A,I GET RCODE & PRIORITY ALF MOVE PRIORITY TO LSD BITS AND M17$ MASK PRIORITY CMA NEGATE AND ADD ONE ADA PRIOR ADD THIS PRIORITY * SSA,RSS IS A LOWER PRIORITY? JMP MV1 YES * LDB C9A NOW CHECK NEXT ONE ADB =LPQL STB C9A JMP MV2 GO CHECK IT * * NOW MOVE LOW PRIORITY ENTRIES IN PENDING * QUEUE DOWN ONE, TO MAKE ROOM FOR THIS ONE * MV1 STB C9A SAVE ADDR OF CURRENT ENTRY LDA CPQE GET ADDR OF FREE ENTRY STA CMF SAVE STA C9R AND AGAIN * CMT ADA PQLM -VE LENGTH OF PENDING Q CMG LDB A,I STB C9R,I MOVE- INA ONE - ISZ C9R ENTRY- CPA CMF IS DONE? RSS YES JMP CMG NOT YET MOVE NEXT WORD * ADA PQLM MOVE POINTER BACK STA CMF STA C9R LDB C9A GET REQ'D ENTRY CPA C9A ALL MOVED? JMP MV YES SO EXIT JMP CMT NOW MOVE NEXT ENTRY * SKP * * SET UP I/O-WITHOUT-WAIT RETURN PARAMETERS. * CJ LDA TCS GET ADDR OF USER DEF *+N STA FRET STORE AS FINAL RETURN. CLA,INA STA RFLG SET RETURN FLAG. JMP CP GO INITIATE ALL POSSIBLE I/O. * * * .CB DEF CB CB DEC 3 DEC 1 DEC 2 DEC -1 DEC -2 DEC 14 DEC 15 DEC 0 CC NOP TE5MP * * COME HERE IF PENDING QUEUE IS FULL * CERR LDA ERR2 STA RST LDA TCS SET UP RETURN- STA FRET ADDRESS. JMP CM * * CWY NOP CTT NOP * CXX CCA JMP CXR * * CMF NOP HED *** ROUTINE F (INITIATE ALL POSSIBLE I/O ) *** * * * FCOD NOP ENTRY POINT. SPC 1 * SET UP ADDRESSES FOR PQ EXAMINATION SPC 1 LDA .PQ GET ADDR OF PQ FB STA FCPQ PUT IN TEMPORARY STORAGE ADA =D-9 CPA CPQE JMP FW * * CHECK WHETHER LU IS FREE FOR THIS ENTRY * JSB F1 SZB,RSS IS LU FREE ? JMP FA YES SPC 1 * THAT LU WASNT FREE SO CHECK NEXT PQ ENTRY * * FIRST SEE IF ALL ARE DONE * FDT LDA FCPQ CPA CPQE LAST ENTRY ? FW JMP FCOD,I YES. EXIT. ADA =LPQL NO. ADD PQ ENTRY LENGTH. JMP FB SPC 2 * COME HERE IF LU IS FREE FOR CURRENT PQ ENTRY * * HAVE PARAMS IN PEND. QUEUE * MUST NOW PUT THEM IN DUMMY CALL * AND UPDATE LU TABLE * * FIRST USE THE USER REQUEST CODE * FA LDA FCPQ STA C9R LDB A,I GET RECODE + PRIORITY CLA RRL 4 MOVE PRIORITY TO A REG STA C9A SAVE IT ASR 4 MAKE RCODE 16 BITS STB CEC SAVE RCODE * ISZ C9R LDA C9R,I LDB .CLU ADB P02$ SET MAIN RET. ADDR. IN LU. STA B,I * ISZ C9R LDA C9R,I LDB LULM GET LOCKED FLAG. SSA,RSS IS ALSO A LOCK REQUEST CLB NO SO CLEAR STB FH STORE FLAG IOR =B20000 MAKE WITHOUT WAIT ELA,CLE,ERA CLEAR BIT 15 STA F3A * * * NOW TRANSFER BUFFR ADDRESS OR PARAM FOR I/O CONTROL IS USED * ISZ C9R LDA C9R,I SET RETURN ADDRESS IN LU. STA .CLU,I * ISZ C9R POINT TO PQ WORD 5 LDA C9R,I GET WORD 5 LDB CEC GET RCODE CPB P03$ CONTROL OR640 I/O REQ? LDA C9R CNTL - SET ADDR OF PARM1 STA F3B SET IN EXEC CALL * ISZ C9R LDA C9R,I GET BUFF LENGTH- STA C9V IF PRESENT SZA WAS IT THERE? LDA .C9V YES SO GET ADDR LDB CEC GET REQ CODE CPB P03$ IS IT I/O CONTROL? LDA C9V YES SO GET ACTUAL ADDR STA F3C ISZ C9R LDA C9R,I GET TRACK STA C9Z SAVE IT SZA *6   24342-18004 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8 LDA .C9Z STA F3D PUT ADDR IN CALL * ISZ C9R * LDA C9R,I STA C9Y STORE IT IN C9Y. LDA C9Z GET TRACK # SZA LDA .C9Y STA F3E * * MUST PUT SYSTEM TO CORRECT USER DISC * LDA C9Y LDB C9Z GET TRACK # SZB,RSS DONT SKIP UNLES ITS THERE JMP FP NO SO IGNORE * LDB A AND M377$ (377 OCTAL) STA C9Y SET SECTOR * LDA B ALF,ALF AND M377$ (377 OCTAL) STA F4H STORE USER SUBCHAN * CPA CUDSC IS SAME AS CURRENT? RSS YES SO SKIP JSB F5 CHANGE USER DISC * * * * * ALL PARAMS NOW STORED SO SET RETURN ADDR * FP LDA .F3B FN LDB A,I GET PARAM SZB,RSS IS PRESENT JMP FM NO INA YES SO INCR JMP FN GO VACK * * PUT RETURN ADDR IN EXEC CALL * FM STA F3G * * CALL NOW COMPLETE SO SET LU TABLE ISZ C9R LDA C9R,I IOR FH SET PARAM LOCK BIT IOR F1B & SEG # IN LU TABLE. LDB .CLU INB STA B,I * * * LU TABLE NOW UP TO DATE SO INITIATE CALL JSB F3 * * NOW UPDATE PQ * * THE POINTER FCPQ MUST BE UPDATED * LDA =LPQL LENGTH OF PQ ENTRY CMA,INA MAKE -VE LDB FCPQ GET ADDR STB FL SAVE IT ADA B GET NEW CURRENT ADDR STA FCPQ SAVE * * MOVE NEXT ENTRY LDA FL ADA =LPQL ADD PQ ENTRY LENGTH LDB CPQE GET LAST FULL ENTRY POINTER. ADB =LPQL STB FS SAVE * * NOW MOVE THE QUEUE * FT CPA FS ALL DONE JMP FU YES LDB A,I GET WORD STB FL,I INA ISZ FL ALL MOVED JMP FT NO * * UPDATE PQ POINTER * FU LDA PQC,I DECREMENT PQ ENTRY COUNT ADA N01$ BY 1. STA PQC,I LDA CPQE DECREMENT ADDRESS BY 9. ADA =D-9 STA CPQE * * JMP FDT * C9A NOP C9H NOP C9R NOP C9Y NOP .C9Y DEF C9Y C9Z NOP .C9Z DEF C9Z HED ***ROUTINE F1 - CHECK FOR FREE LU - 10/74*** ************************************************ C * * C * CHECK LU TABLE ENTRY FOR NON-BUSY * C * IF DEVICE IS FREE, CHECK FOR A LOCK * C * IF DEVICE IS LOCKED, CHECK FOR TASK * C * ID MATCH (USER PARAM) * C * * C * EXIT: (B) = 0 IF REQUEST IN PENDING * C * QUEUE CAN BE PERFORMED - * C * DEVICE IS FREE & UNLOCKED OR * C * DEVICE IS FREE & LOCKED FOR * C * THIS TASK * C * (B) # 0 IF REQUEST CANNOT BE PERFORMED* C * DEVICE IS BUSY OR * C * DEVICE IS FREE BUT LOCKED FOR * C * ANOTHER TASK * C * * C ************************************************ C * C F1 NOP C CLA C STA F1B CLEAR LOCK BIT C LDA FCPQ GET ADDR CURRENT PQ ENTRY C ADA P02$ GET ADDR OF CONTROL WORD C C LDA A,I C C AND M77$ GET LOGICAL UNIT C C CPA P03$ R C LDA P02$ C LDB A C JSB LAD GET LU TABLE ENTRY FOR THIS LU C C * C LDB .CLU,I GET LUT ENTRY WORD 1 C C SZB,RSS FREE & UNLOCKED? C C F1A JMP F1,I YES, RETURN - CALL IS OK C C * C INB,SZB THIS LU BUSY? C JMP F1A YES, RETURN - SKIP THIS LU C C * C * THIS DEVICE FREE BUT LOCKED - C * CHECK THE USER PARAM (TASK ID) C * C LDA LULM C C STA F1B SET LOCK BIT C C LDA FCPQ C C ADA P08$ GET ADDRESS OF PQ ENTRY WORD 9 C C LDA A,I USER ID/SEG# C ALF,ALF C AND M377$ GET USER(TASK) ID (0-255) C STA F1C SAVE THE PARAM C * C LDA .CLU C ADA =LLUSN GET ADDR OF LUT WORD 2 C LDA A,I USER ID/LOCK/SEG# C ALF,ALF C AND M377$ GET TASK ID (0-255) C CCB C CPA F1C THIS TASK? C CLB YES, CALL IS OK C JMP F1A RETURN C HED *** ROUTINE F3, INITIATE TRANSFER AND UPDATE CQ *** * * * * THE PARAMETERS USED MUST BE SET UP BEFORE THIS * * ROUTINE IS CALLED * F3 NOP ENTRY POINT * DO IT UNLESS ITS FOR PHANTOM LU LU=3 LDA F3A GET CONWD AND M77$ MASK LU CPA M77$ IS IT 77B JMP F3F YES SO SKIP EXEC CALL JSB EXEC F3G NOP .CEC DEF CEC ADDRESS OF CURRENT EXEC CALL. .F3A DEF F3A F3B NOP BUFF ADDR F3C NOP BUFF LENGTH F3D NOP F3E NOP F3F NOP FOR DUMMY * * UPDATE DEBUG TABLE * ISZ TB7 # OF I/O STARTED NOP LDA F3A AND M77$ CPA P02$ IS FOR DISK (LU=2) ISZ TB2 INCR.COUNT NOP CPA P03$ IS FOR DISK (LU=3) ISZ TB2 INCR. COUNT NOP * * NOW UPDATE CURRENT QUEUE (CQ) LDB C9A GET PRIORITY BLF,BLF ROTATE LDA F3A GET CONWD AND M377$ MASK LU IOR B OR IN PRIORITY STA F3A SAVE CQ ENTRY * * NOW PUT IN CORRECT PLACE IN CQ * LDA .CQ STA C9R SAVE START OF CQ F3WA LDA C9R,I GET ENTRY LDB C9R IS IT LAST ENTRY CPB CCQE IF SO ENTER IT JMP F3W GO DO IT ALF,ALF AND M377$ MASK PRIORITY CMA NEGATE AND ADD ONE ADA C9A SSA,RSS IS A LOWER PRIORITY JMP F3Y YES * ISZ C9R MOVE POINTER JMP F3WA GO CHECK NEXT ENTRY * * NOW MOVE THE LOW PRIORITY ENTRIES DOWN ONE * F3Y LDA CCQE ADDR OF LAST ENTRY STA F3B ADA N01$ SUB TRACT ONE F3CR LDB A,I GET ENTRY STB F3B,I MOVE IT LDB C9R CPB A ALL DONE? JMP F3W YES LDB F3B ADB N01$ MOVE POINTER STB F3B ADA N01$ MOVE POINTER JMP F3CR MOVE NEXT ENTRY * * F3W LDA F3A GET ENTRY STA B,I ISZ CCQE MOVE Q POINTER JMP F3,I 4V RETURN * * CONSTANTS FOR F (EXCEPT F4) * .F3B DEF F3B F3A NOP FOR CONWD FCPQ NOP FOR CURRENT PQ ENTRY F1B NOP FOR LOCKED FLAG FROM F1 F1C NOP FOR SEG # FROM F1 FH NOP FOR LOCK FLAG FL NOP FOR COUNT FOR LOOP FS NOP TEMP HED ***ROUTINE F4*** * THIS SECTION CONVERTS REQ CODES 14 AND 15 TO -1 AND -2 * F4 NOP ENTRY POINT * * UPDATE DEBUG TABLE * ISZ TB3 NOP LDA CREQ CHANGE REQ CODE- ADA =D-13 TO -1 CMA,INA OR- STA CREQ -2 STB F4Y SAVE POINTER STA CTT SAY ITS A FILE REQ. * * * FIND USER PARAMS (FILE # + REL SECTOR) * F4B LDB ARG5,I GET FILE # LDA ARG6,I GET SECTOR # STA F4D STORE SECTOR # * * SEE IF SECTOR IS -VE * SSA IS -VE JMP F4L YES SO ERROR * * NOW GET FILE INFORMATION * LDA B ADA N01$ SUB 1 MPY =LUFDS USER FILE DIREC LENGTH SSA FILE # ZERO OR NEG? JMP F4L YES, REJECT. ADA .FD ADD ADDRESS OF FILE DIREC STA F4E * * CHECK FOR OPENED FILE * LDB A,I GET TRACK/SECTOR SZB,RSS IS OPENED? JMP F4L NO SO ERROR * * CHECK REQUEST IS WITHIN FILE * LDA ARG4,I GET BUFFER LENGTH CLB DIV =D128 CONVERT TO SECTORS SZB,RSS TAKE CARE OF PARTIAL- ADA N01$ SECTORS STA B SAVE # OF SECTORS * LDA F4E ADA P02$ ADD 2 TO ADDR LDA A,I GET FILE LENGTH CMA,INA ADA ARG6,I ADD REQUESTED SECTOR ADA B # OF SECTORS TO ACCESS SSA IS WITHIN FILE? JMP F4R YES * F4L LDA ERR5 STA RST SET ERROR STATUS LDA TCS NOW SET RETURN- STA FRET POINT F4ZZ JMP F4,I EXIT * * NOW GET STARTING SECTOR OF FILE * F4R LDA F4DBE,I AND M377$ * * ADD REQ SECTOR * ADA F4D * * CHANGE TO TRACK AND SECTOR * CLB DIV SECTR #OF SECTORS PER TRACK. * * A CONTAINS TRACK OFFSET, B CONTAIN SEC # * STA F4F TRACK OFFSET LDA F4E,I GET TRACK SECTOR ALF,ALF AND M377$ MASK TRACK ADA F4F ADD OFFSET STA ARG5 STORE * ISZ F4E LDA F4E,I GET SUBCHAN ALF,ALF ROTATE IOR B OR IN SECTOR STA ARG6 STORE * LDB F4Y JMP F4ZZ GO TO EXIT HED *** ROUTINE F5, CHANGE USER DISC*** * * NOW MAKE EXEC CALL TO CHANGE USER DISC * F5 NOP ENTRY POINT * * SAVE INFO SO NEXT TIME WE CAN DO IT QUICKLY * LDB .FBUF GET BUFFER ADDR. ADB CUDSC ADD CURRENT UD LDA UDNTS GET NEXT UD TRK/SECT STA B,I SAVE IT ADB P32$ GET TO 2ND HALF OF TABLE(7905) LDA DISCL GET TRK/SECT OF DISC LABEL STA B,I SAVE IT * LDA F4H GET REQ'D UD ADA .FBUF ADD BUFFER ADDR. STA FBUD SAVE ADDR LDA A,I IF WE CAN DO THIS IN CORE- INA,SZA THEN DO SO. CAN ONLY DO IT- JMP FHA IF WE'VE DONE THIS DISC BEFORE * * MUST CHANGE USER DISC VIA EXEC CALL * JSB EXEC DEF *+5 DEF .23 DEF F4D DEF F4H DEF .1 F5E JMP F5,I EXIT * * * COME HERE IF WE CAN CHANGE USER DISC WITHOUT GOING TO THE DISC * FHA LDB FBUD LDA B,I GET USER DISC TRK/SECT ADB P32$ RESET TABLE POINTER (7905) STB FBUD LDB F5A1 JSB FMOV PUT ON BASE PAGE * LDA FBUD,I PUT NEW TRK/SECT- LDB F5A2 FOR LABEL ON BASE PAGE JSB FMOV * LDA M377$ SET "CUDLA" LDB F5A4 TO 377B JSB FMOV * LDA F4H GET UD # LDB F5A5 JSB FMOV * JMP F5E GO TO EXIT * * FBUD NOP .FBUF DEF FBUF FBNUF REP 64 32 SUBCHANNELS MAX (7905) DEC -1 * F5A1 OCT 157 F5A2 OCT 200 F5A4 OCT 163 F5A5 OCT 161 * * PUT A WORD ON BASE PAGE * FMOV NOP ENTRY POINT JSB EXEC DEF *+2 DEF BEJ JMP FMOV,I * * F4D NOP FOR REL SECT # F4E NOP FOR USER FILE DIREC ADDR * F4Y NOP F4F NOP F4H DEC -1 FOR UD .23 DEC 23 P32$ DEC 32 (7905) .1 EQU 54B C9V NOP .C9V DEF C9V HED ***ROUTINE LAD*** * * ENTER - BREG = LU #. * * EXIT - BREG = LU#. * AREG = LU ENTRY ADDRESS. * .CLU = LU ENTRY ADDRESS. * LAD BSS 1 ENTRY POINT. STB LAD1 LDA B CPA M77$ IS IT PHANTOM LU? LDA P03$ YES SO USE LU 3 TABLE ADA N01$ (-1). MPY =LLUL ADA .LU STA .CLU LDB LAD1 JMP LAD,I * LAD1 BSS 1 SPC 5 * * ENTER - BREG = LU #. * * EXIT - BREG = LU #. * AREG = STATUS. * SC3 = STATUS. * SC4 = TLOG. * SCHK BSS 1 ENTRY POINT. STB SC2 JSB EXEC EXEC CALL FOR STATUS. DEF *+5 DEF SC1 DEF SC2 DEF SC3 DEF SC4 LDB SC2 JMP SCHK,I EXIT. * SC1 DEC 13 REQUEST CODE FOR STATUS. SC2 BSS 1 BUFFER FOR LU #. SC3 BSS 1 BUFFER FOR STATUS. SC4 BSS 1 BUFFER FOR TLOG. HED ***ROUTINE A*** ACOD BSS 1 ENTRY POINT * CHECK FOR UNLOCK REQUEST. LDA ARG1,I UNLOCK (CODE = 52)? CPA =D52 RSS JMP A15 NO. GO TO A15. LDA TCS YES SET UP- STA FRET RETURN ADDRESS LDB ARG2,I GET LU #. CPB P03$ IS LU# 3? LDB P02$ YES SO CHANGE TO 2 * JSB LAD GET LU TABLE ENTRY ADDRESS. ADA =LLUSN LDA A,I ALF,ALF hGET LUT TASK ID C AND M377$ C CPA RPAR CORRECT TASK? C JMP A10 YES. LDA ERR7 GET ERROR 7 CODE JMP A12 A10 LDB .CLU CLEAR LOCKED CONDITION. INB LDA B,I AND LULC CLEAR BIT 7 OF 2ND STA B,I WORD OF LU ENTRY. LDA .CLU,I IF 1ST WORD = -1, INA,SZA,RSS THEN SET IT TO 0. STA .CLU,I CLA A12 STA RST STORE USER STATUS JMP A24 * * CHECK FOR IN-LINE RETURN TO MAIN REQUEST. A15 CPA =D54 RETURN TO MAIN (CODE = 54)? JMP A20 YES. JMP A25 NO. SET ERROR STATUS, EXIT. A20 LDA CMR SET UP RETURN ADDRESS LDB MORS AND FLAG. SZB LDA TCS STA FRET CCA SET CURRENT SEGMENT ADDRESS STA MORS TO -1 TO INDICATE THE MAIN. CLA STA RST CLEAR STATUS STA CMR STA PRIOR * * ALL EXITS COME THRU A24 (REQUEST DONE) AND A25 (REQ. NOT DONE). * AREG = 0 (DONE, GOOD OR BAD), AREG = -1 (NOT DONE). A24 CLA,RSS A25 CCA JMP ACOD,I HED ***ROUTINE E*** SPC 4 * * * ECOD SEARCHES THE CQ BUFFER FROM THE TOP FOR * A FINISHED TRANSFER. THIS WILL BE THE OLDEST * FINISHED TRANSFER. THE ENTRY IS DELETED & THE * REMAINING ENTRIES IN CQ ARE MOVED UP BY ONE. * SPC 2 ECOD BSS 1 ENTRY POINT. LDA .CQ .CCQ := CQ POINTER. STA .CCQ RSS SPC 1 EC1 ISZ .CCQ ADVANCE THE CQ POINTER. LDB .CCQ,I IS TESTING CQ SZB,RSS DONE (ENTRY = 0) ? JMP EC25 YES. EXIT. SPC 1 * GET LU# * LDA B AND M77$ MASK LU# LDB A CLA CLEAR STATUS CPB M77$ IS IT PHANTOM LU? RSS YES SO OMIT STATUS CHECK JSB SCHK NOT DONE. DO STATUS CHECK. STA RST AND =B100000 SZA IS DEVICE BUSY JMP EC1 YES. CHECK NEXT ENTRY. LDA SC4 SET UP RETURN LOG IN CASE STA RLOG A RETURN IS POSSIBLE. * * SPC 1 * FOUND A FINISHED TRANSFER. BREG = LU #. * MUST CHECK TO SEE IF RETURN TO ORIGINAL CALLING * SEGMENT IS POSSIBLE. SET UP SOME OF THE RETURN * PARAMETERS IN CASE A RETURN IS POSSIBLE. * STB RLU CPB P03$ IS IT LU 3? LDB P02$ YES SO CHANGE TO 2 * JSB LAD GET LU ENTRY ADDRESS. STA RSDA ADA =LLUSN ISOLATE THE LDA A,I SEGMENT #. STA RPAR AND M177$ (177B). STA RS# SZA SKIP IF MAIN CPA SEG SEGMENT IN CORE? JMP EC10 YES. SET UP RETURN. LDB P02$ (+2). JSB SCHK CHECK DISC STATUS. SSA DISC FREE ? JMP EC1 NO. CHECK NEXT ENTRY. SPC 2 * TRANSFER FINISHED AND RETURN POSSIBLE. * SET UP RETURN PARAMETERS. * EC10 CCA SET RETURN FLAG TO -1 STA RFLG TO INDICATE RETURN NECESSARY. * * UPDATE DEBUG TABLE * ISZ TB8 NOP LDA RSDA,I SET UP FINAL STA FRET RETURN ADDRESS. * * FREE THE LU DEVICE. * LDA RPAR CHECK LOCKED CONDITION, ALF,ALF AND SET APPROPRIATE STA B (KEEP PARAM IN AREG) SSB,RSS "FREE" CONDITION CODE CLB,RSS IN LU TABLE. CCB STB RSDA,I * CONTINUE SETTING UP RETURN PARAMETERS. * AND M377$ ISOLATE PASSED PARAMETER AND STA RPAR STORE IT IN RPAR. LDB RSDA SET UP RETURN ADB =LLUMR TO MAIN ADDRESS. LDA B,I STA CMR LDA RS# GENERATE SEGMENT SZA,RSS IS REQ FOR MAIN? JMP ER2 YES SO DONT LOAD SEGMENT ADA N01$ DIRECTORY ADDRESS MPY <:6=LSDL AND STORE IT IN RSDA ADA .SD STA RSDA * CPA CSEG SEG ALREADY IN? JMP ER2 IF SO JUMP JSB B3 NO SO LOAD IT * * DELETE ENTRY FROM CQ. * * ER2 CCB SET MAIN FLAG LDA RS# GET SEG # SZA IS RETURN TO MAIN? CLB NO SET SEG FLAG STB MORS SET FLAG * * RESTORE PRIORITY TO WHAT IT WAS WHEN THIS I/O CALL WAS MADE * LDA .CCQ,I GET CQ ENTRY ALF,ALF ROTATE AND M377$ MASK PRIORITY STA PRIOR RESTORE IT LDA CCQE SUB 1 FROM CQ- ADA N01$ POINTER BY 1. STA CCQE LDB .CCQ EC12 LDA B MOVE THE CQ TABLE INA UP, ONE BY ONE. LDA A,I STA B,I CPB CCQE JMP EC18 INB JMP EC12 EC18 CLA ZERO LAST USED ENTRY. STA B,I * * ALL EXITS COME THROUGH EC25. * EC25 JMP ECOD,I EXIT. * RLU NOP END TCS :: :CO MOUNT TAPE #5, TYPE :GO :PA ɤ< ! 24342-18005 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC02,5 ASMB,R,L,C NAM BUF,7 HED ***BUFFER MANAGER - 9/74*** ENT BINIT,GBUF,PBUF,IBUF EXT ENTR,.RST B A EQU 0 B EQU 1 N09$ EQU 42B DEC -9 B N04$ EQU 47B DEC -4 B N03$ EQU 50B DEC -3 B N01$ EQU 52B DEC -1 B P02$ EQU 55B DEC 2 B P03$ EQU 56B DEC 3 B P07$ EQU 62B DEC 7 B * B * THIS PROGRAM WILL ACCEPT A CALL TO INITIATE BUFFER MANAGEMENT * * IT ALLOWS UP TO EIGHT BUFFER POOLS EACH CONTAINING UP TO B * * 64 FIXED LENGTH BUFFERS. THE CALLING SEQUENCE TO REQUEST B * * INITIATION OF A BUFFER POOL FOLLOWS: B * * JSB BINIT * DEF *+5 * DEF BUF ADDRESS OF BUFFER POOL * DEF NUM NUMBER OF BUFFERS (1-64) B * DEF LEN LENGTH OF EACH BUFFER * DEF POOL NUMBER OF BUFFER POOL (1-8) B * * .BUF DEF BUF UNL B BUF REP 56 OCT 0 LST B * BUF BSS 56 INITIALIZED TO ZERO BY REP. B OCT 0 B1 OCT 0 POOL TABLE ADDRESS. B B2 OCT 0 NEG. COUNT OF REMAINING BUFFERSB B3 OCT 0 MASK B HED ***ROUTINE BINIT*** BINIT NOP ENTRY POINT * GET USER PARAMETERS B * JSB ENTR DEF *+5 ARG1 NOP ARG2 NOP ARG3 NOP ARG4 NOP * * CHECK THAT POOL # IS WITHIN RANGE 1 TO 8 B * GET ADDRESS OF POOL TABLE ENTRY * CLA B LDB .RST CLEAR RETURN STATUS. s B STA B,I B LDA ARG4,I GET POOL #. B JSB PRNGE B SSA B JMP BERR B * * PUT POOL ADDR IN TABLE * LDA ARG1 STA B1,I B ISZ B1 B * * CHECK THAT # OF BUFFERS IS WITHIN RANGE 1-64 B * SET TABLE ENTRY B * LDA ARG2,I SZA IS IT ZERO B SSA OR NEGATIVE? B JMP BERR YES, REJECT. B STA B B ADB =D-65 IS IT GREATER THAN 64? B SSB,RSS B JMP BERR YES, REJECT. B STA B1,I B ISZ B1 B * * PUT BUFFER LENGTH INTO TABLE * LDA ARG3,I STA B1,I B * * NOW DECLARE ALL BUFFERS FREE * ISZ B1 B LDB B1 B LDA N04$ B STA B1 CLEAR THE- CLA NEXT FOUR- B5 STA B,I WORDS IN THE- INB TABLE. ISZ B1 JMP B5 JMP OUT B * * RETURN B * BERR LDA N03$ SET REJECT STATUS. B LDB .RST B STA B,I B OUT JMP BINIT,I EXIT. B HED ***ROUTINE GBUF*** * * THIS PART OF THE ROUTINE PROCESSES USER REQUESTS FOR A BUFFER. * THE CALLING SEQUENCE IS h\AS FOLLOWS * * JSB GBUF * DEF *+3 * DEF I ADDRESS WHERE ARRAY INDEX IS PUT * DEF POOLN POOL # * * ON EXIT I IS SET TO THE RELATIVE WORD # IN THE * POOL WHERE THE BUFFER STARTS * * FOR ASSEMBLY LANGUAGE PROGRAMS THE ACTUAL BUFFER * ADDRESS IS IN THE A REG ON EXIT * GBUF NOP ENTRY POINT JSB ENTR DEF *+3 ARG10 NOP ARG20 NOP * * CHECK THAT POOL # IS WITHIN RANGE 1-8 B * CALCULATE POOL TABLE ENTRY ADDRESS B * LDA ARG20,I GET POOL # JSB PRNGE B SSA B JMP GERR REJECT B * * NOW HAVE TABLE ADDRESS SO SEE IF ITS INITIALIZED * LDB A,I GET 1ST WORD. B SZB INITIALIZED? B JMP ON YES * * NO SO SET INDEX TO -1 CLEAR A AND EXIT * NONE LDB N01$ STB ARG10,I CLA GOUT JMP GBUF,I GERR LDA N03$ SET REJECT STATUS. B LDB .RST B STA B,I B CLA B JMP GOUT RETURN. B * * POOL IS INITIALIZED SO SEE IF ANY ARE FREE * ON STA B1 SAVE POOL TABLE ENTRY ADDRESS. B INA LDB A,I GET # OF BUFFERS IN THIS POOL. B CMB,INB MAKE -VE STB B2 SAVE ADA P02$ INDEX TO ENTRY'S BUSY TABLE. B STA B ADDR OF ENTRY'S 1ST BUSY WORD. B * * NOW LOOK THROUGH TABLE FOR A FREE ENTRY * BACK1 CLA,INA GET MASK BACK STA B3 SAVE AND B,I MASK BUFFER INDICATOR. B SZA,RSS IS BUFFER FREE ? JMP GOTIT YES LDA B3 GET MASK * ISZ B2 ALL TESTED ? RSS NO JMP NONE YES SSA GROUP OF 16 TESTWED JMP B9 YES. B RAL NO, MOVE MASK. B JMP BACK TRY NEXT BUFF * * NOW MOVE INDICATORS TO TRY NEXT GROUP OF 16 * B9 INB JMP BACK1 * * NOW HAVE A BUFFER, SET A BUSY BIT FOR IT B * GOTIT LDA B3 SET INDICATOR- IOR B,I TO SAY BUFFER BUSY. B STA B,I B * LDA B2 GET -VE COUNT OF REMAINING BUFFS LDB B1 GET TABLE ADDR INB MOVE TO # OF BUFFS ADA B,I GET # OF FREE BUFFER. B INA GET ARRAY INDEX STA ARG10,I PUT IN USER CALL ADA N01$ CALCULATE B INB BUFFER B MPY B,I B ADA B1,I ADDRESS. B JMP GOUT RETURN. B HED ***ROUTINE PBUF*** * * THIS PART OF THE ROUTINE PROCESSES USER REQUESTS * TO FREE A BUFFER * * CALLING SEQUENCE IS * JSB PBUF * DEF *+3 * DEF I THE ARRAY INDEX SUPPLIED WHEN BUFF WAS ALLOCATED * DEF POOL THE POOL # * PBUF NOP JSB ENTR DEF *+3 ARG8 NOP ARG9 NOP LDA ARG9,I GET POOL # JSB PRNGE B SSA B JMP PERR B * LDA ARG8,I GET ARRAY INDEX ADA N01$ B * * NOW FIND WHICH GROUP OF 16 THE BUFFER IS IN * CLB DIV =D16 * * A REG CONTAINS GROUP OF 16 (0-3) * B REG CONTAINS OFFSET WITHIN GROUP(0-15) * ADA B1 ADD TABLE ADDR ADA P03$ POINT AT CORRECT BUSY WORD. B STA B3 SAVE ADDR CMB,INB NEGATE OFFSET CCA SET A-REGISTER TO B ERA,CLE,ELA 1777776B B50 s SZB,RSS POINTING AT CORRECT BIT? JMP POUT YES. B * RAL INB JMP B50 GO BACK * B * RETURN B * B PERR LDA N03$ SET REJECT STATUS. B LDB .RST B STA B,I B JMP OUT9 EXIT. POUT AND B3,I FREE BUFFER. B STA B3,I OUT9 JMP PBUF,I EXIT. B HED ***ROUTINE IBUF*** * * THIS ROUTINE IS CALLED TO FIND OUT HOW MANY BUFFERS IN A POOL * ARE CURRENTLY BEING USED * CALLING SEQUENCE * JSB IBUF * DEF *+3 * DEF I # OF BUFFS IN USE RETURNED IN I * DEF POOL POOL NUMBER * IBUF NOP JSB ENTR DEF *+3 ARG NOP RARG NOP * * CHECK THAT POOL # IS IN RANGE 1-8 B * GET POOL TABLE ENTRY ADDRESS B * LDA RARG,I JSB PRNGE B SSA B JMP IERR REJECT * * OFFSET TO BUSY WORDS B * ADA P03$ B STA B2 SAVE IT. B * * INITIALIZE COUNTS B * CLB STB B1 LDB N04$ B * B * SET MASK IN A REG AND B3 * B CLA,CCE ERA B12 RAL STA B3 AND B2,I IS THIS BUFFER- SZA BUSY ? ISZ B1 YES INCR COUNT * LDA B3 SSA,RSS JMP B12 Ê ISZ B2 POINT AT NEXT WORD INB,SZB ALL DONE JMP B12 NO * * NOW PUT COUNT IN USER PARAM * LDA B1 STA ARG,I IR9 JMP IBUF,I RETURN * IERR LDA N03$ SET ERROR RETURN STATUS LDB .RST STA B,I JMP IR9 HED ***ROUTINE PRNGE*** * SUBROUTINE TO CHECK THAT POOL # IS IN B * RANGE 1-8 AND CALCULATE POOL TABLE ENTRY B * ADDRESS. B * B * ENTRY: (A) = USER SUPPLIED POOL # B * B * EXIT : (A) = ADDRESS OF POOL TABLE ENTRY B * IF # IN RANGE, B * = -1, OTHERWISE. B * (B1)= ADDRESS OF POOL TABLE ENTRY B * IF # IN RANGE, B * = 0, OTHERWISE. B * B PRNGE NOP ENTRY B SZA IS IT ZERO B SSA OR NEGATIVE? B JMP PRERR YES. B STA B B ADB N09$ IS IT GREATER THAN 8? B SSB,RSS B JMP PRERR YES. B ADA N01$ NO, CALCULATE ENTRY ADDRESS. B MPY P07$ B ADA .BUF B STA B1 SAVE IT. B RET JMP PRNGE,I RETURN. B PRERR CCA B CLB B M*($ STB B1 B JMP RET B END IBUF :: :CO MOUNT TAPE #6, TYPE :GO :PA *   24342-18006 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC03,5 ASMB,L,C NAM START,7 HED ***TCS UTILITIES (MAIN) - 9/74*** ENT START ENT PAUZ,OPEN,TGET,TPUT,CLOSE ENT ALLOC,DFINE,PUSH,POP ENT TCNTL,RDISC,WDISC,SEGLD ENT SPLIT ENT RLSCB ENT .MTO ENT .LOGA,LOGON,LOGOF ENT .STAT EXT EXEC EXT GBUF,PBUF EXT .ENTR EXT CB$ EXT ERR0 EXT .MORS,.PRR * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR,ILU,ILOG A EQU 0 B EQU 1 ******* ******CONTROL BLOCK FORMAT ****** *CB CONTENT * 1 LOGICAL UNIT * 2 DEVICE TYPE (REFER TO FOLLOWING) * 3 BUSY FLAG * 4 WORK BLOCK ADDRESS * 5 WORK BLOCK PARAMETERS (LEFT BYTE=ID,RIGHT BYTE=TYPE) * 6 DATA BLOCK #1 ADDRESS * 7 DATA BLOCK #1 PARAM. (LEFT BYTE=ID,RIGHT BYTE=TYPE) * 8 DATA BLOCK #2 ADDRESS * 9 DATA BLOCK #2 PARAM. (LEFT BYTE=ID,RIGHT BYTE=TYPE) *10 EQT EXTENSION ADDRESS (LOGICAL/PHYSICAL ONLY) *11 READ CONTROL BITS *12 WRITE CONTROL BITS *13 TEMP1 *14 TEMP2 *15 TEMP3 *16 TEMP4 *17 STACK POINTER *18 UTILITIES RETURN (USED BY 2SAV,2RET) *19 STACK ITEM1, WORD 1 - RETURN ADDRESS *20 STACK ITEM1, WORD 2 - ADDRESS OF CONTROL BLOCK ARRAY * SKP ******** * * DEVICE TYPES * BIT 7=1=INPUT CAPABILITY * BIT 6=1=OUTPUT CAPABILITY * * SYSTEM CONSOLE 300 * LOCAL TERMINAL 301 * ASYNCH. TERMINAL 302 * PAGE MODE TERMINAL 303 * SYNCH. LINE CONTROL 304 * SPARE X05 * SPARE X06 * SPARE X07 * DISC 310 * MAG TAPE 311 * LINE PRINTER 112 * READER 213 * PUNCH 114 * READER/PUNCH 315 * HARDWIRED SERIAL I/F 316 ********* SKP ******************************************************************************** * START SUBROUTINE * * JSB START * DEF CB ADDRESS OF CONTROL BLOCK ARRAY * DEF SYST ADDRESS OF CONFIGURATION TABLE * JMP CONT RETURNS HERE USING LAST RESERVED CB * --- RETURNS HERE FOR EACH ACTIVE CB ******************************************************************************** CBLOK NOP SYST NOP * START NOP CBL EQU START /CB LENGTH (SET BY $STRT) MTO EQU START+1 /MTO/TCS LINK(SET BY $STRT) .MTO EQU START+1 ICBP EQU START+2 ICBX1 EQU START+3 ICBX2 EQU START+4 JSB .ENTR DEF CBLOK JSB EXEC DEF *+8 DEF RCODE DEF CB$ /SEGMENT NAME SPEC. BY CONFIGURATOR DEF CBLOK DEF SYST DEF START DEF SPLT8 DEF XSTRT XSTRT DEF START RCODE DEC 8 SKP ******************************************************************************** * * DEFINE CONTROL BLOCK,WORK BLOCK, AND DATA BLOCKS * * * JSB DFINE * DEF *+2 * DEF CB /ADDRESS OF CONTROL BLOCK ARRAY * * CALLING PROGRAM MUST INCLUDE A DEFINITION OF FOUR * DUMMY ARRAYS WHICH ARE USED TO REFERENCE THE * CONTROL BLOCK (CB), WORK BLOCK(WB),DATA BLOCK#1 * (DB1) AND DATA BLOCK#2 (DB2). ORDER OF DECLARATION * MUST BE AS SHOWN. * * INTEGER CB(1),WB(1),DB1(1),DB2(1) * * CALL DFINE(CB) ******************************************************************************** NOP DFINE NOP JSB .ENTR DEF DFINE-1 LDA DFINE-1 JSB SETCB JMP DFINE,I SKP **************************************************** * * DEVICE OPEN * * JSB OPEN * DEF *+1 **************************************************** OPEN EQU * NOP JSB .ENTR DEF OPEN JSB SAVAD /SAVE ENTRY PARAMETERS LDA LU,I /CHECK FOR SYSTEM CONSOLE CPA P01$ JSB RTRN /nkRETURN TO USER JSB DVICE /DETERMINE DEVICE TYPE JMP OPEN2 /REMOTE TERMINAL JMP OPEN3 /MAGTAPE JMP OPEN4 /LINE PRINTER JMP OPEN5 /PUNCH CPA =B213 /READER? JMP OPEN3 /YES OPEN7 EQU * LDB CLEAR /OTHER OPEN6 EQU * CLA OPEN1 EQU * JSB CONTL /ISSUE CONTROL REQ. JSB RTRN /NO-RETURN TO USER * OPEN3 EQU * LDB DSTAT /GET DYNAMIC STATUS CLA JSB CONTL LDA ISTAT SLA /READY? JMP OPEN3 /NO-TRY AGAIN LDA TYPE,I /YES AND RBYT$ /ISOLATE DEVICE TYPE CPA =B213 /READER? JMP OPEN7 /YES LDB RWND /NO-REWIND MAGTAPE JMP OPEN6 OPEN4 LDB TOF /TOP OF FORM PRINTER LDA N01$ JMP OPEN1 OPEN5 LDB LDR /GENERATE LEADER JMP OPEN6 OPEN2 EQU * LDA P01$ LDB OPENL JSB CONTL /LINE OPEN(READ) LDA AUTO LDB OPENL JSB CONTL /LINE OPEN(AUTO SPEED) LDA ISTAT AND RBYT$ SZA,RSS /OK? JSB RTRN /YES CLA LDB LCLOS /CLOSE LINE JSB CONTL JMP OPEN2 /TRY AGAIN **************************************************** AUTO OCT 100001 SKP **************************************************** * * DEVICE CLOSE * * JSB CLOSE * DEF *+1 ******************************************************************************** CLOSE EQU * NOP JSB .ENTR DEF CLOSE JSB SAVAD /SAVE ENTRY PARAMETERS LDA LU,I CPA P01$ /SYSTEM CONSOLE? JSB RTRN /RETURN TO USER JSB DVICE /DETERMINE DEVICE TYPE JMP CLOS1 /REMOTE TERMINAL JMP CLOS2 /MAGTAPE JMP OPEN4 /LINE PRINTER JMP OPEN5 /PUNCH JMP OPEN6-1 /OTHER * CLOS1 LDB LCLOS /LINE CLOSE JMP OPEN6 CLOS2 EQU * LDB RWNDX /REWIND & PLACE OFFLINE  JMP OPEN6 * DVICE NOP LDA TYPE,I AND RBYT$ /ISOLATE DEVICE TYPE CPA =B302 /ASYNCH. TERMINAL? JMP DVICE,I CPA =B303 /PAGE MODE TERMINAL? JMP DVICE,I ISZ DVICE CPA =B311 /MAGTAPE? JMP DVICE,I ISZ DVICE CPA =B112 /LINE PRINTER? JMP DVICE,I ISZ DVICE CPA =B114 /PUNCH? JMP DVICE,I ISZ DVICE JMP DVICE,I * SKP **************************************************** * * GET RECORD FROM DEVICE * * JSB TGET * DEF *+3 * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH **************************************************** * * TGET EQU * NOP LDA TGET STA TIO LDA P01$ STA CODE JMP TIO+1 **************************************************** * * PUT RECORD TO DEVICE * * JSB TPUT * DEF *+3 * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH **************************************************** TPUT EQU * NOP LDA TPUT STA TIO LDA P02$ STA CODE JMP TIO+1 * SKP **************************************************** * * READ/WRITE * **************************************************** NOP NOP TIO NOP JSB .ENTR DEF TIO-2 JSB SAVAD /SAVE ENTRY PARAMETERS LDB CB12,I LDA CODE CPA P01$ LDB CB11,I ADB LU,I STB CONWD JSB MTO,I DEF *+6 DEF CODE DEF CONWD DEF TIO-2,I DEF TIO-1,I DEF IPAR JSB RTRN /RETURN TO USER SKP ******************************************************************************** * DEVICE CONTROL * JSB TCNTL * DEF *+3 * DEF FUNC FUNCTION CODE 00FF00 * DEF PARM1 * DEF PARM2 ******************************************************************************** v NOP /FCTN CODE W/O LU# NOP /LP, MT CNTL PARAM NOP /PARAM FOR LGCL/PHYS INTFC * TCNTL NOP JSB .ENTR DEF TCNTL-3 JSB SAVAD LDA TCNTL-1 STA PARM LDA TCNTL-2,I LDB TCNTL-3,I JSB CNTLX /CALL 2 PARAMETER ENTRY JSB POP SKP ******************************************************************************** * * DISC READ * JSB RDISC * DEF *+5 * DEF FIL# MTO FILE NO. * DEF SCT# RELATIVE SECTOR NO. * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH ******************************************************************************** * * RDISC NOP LDA RDISC STA DISC LDA P14$ STA CODE JMP DISC+1 ******************************************************************************** * * WRITE DISC * JSB WDISC * DEF *+5 * DEF FIL# MTO FILE NO. * DEF SCT# RELATIVE SECTOR NO. * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH ******************************************************************************** * WDISC NOP LDA WDISC STA DISC LDA P15$ STA CODE JMP DISC+1 * P14$ DEC 14 P15$ DEC 15 SKP ******************************************************************************** * * DISC READ/WRITE * ******************************************************************************** NOP FILE # NOP SECTOR # NOP BUFFER ADDRESS NOP BUFFER LENGTH * DISC NOP JSB .ENTR DEF DISC-4 JSB SAVAD LDA DISC-4,I SZA,RSS /WORK AREA REQUEST? JMP DISC1 /YES LDA CODE CPA P14$ JMP DISC2 LDA DISC-4 / STA CB13,I / LDA DISC-3 / STA CB14,I /SAVE PARAMETERS LDA DISC-2 / STA CB15,I / LDA DISC-1 / STA CB16,I / * DISC7 LDA LOCK SZA,RSS /LOCKED OUT? JMP DISC8 /NO, CONTINUE. JSB PAUZ /YES. DEF *+1 JMP DISC7 * DISC8 LDA CB13,I / STA DISC-4 / LDA CB14,I / STA DISC-3 /RESTORE PARAMETERS LDA CB15,I / STA DISC-2 / LDA CB16,I / STA DISC-1 / LDA P15$ STA CODE * DISC2 EQU * LDA DISC-4,I CLB SSA,RSS /LOCK DISC? JMP *+3 /NO. CMA,INA /YES, MAKE FILE # >0. LDB =B100000 /SET TCS LOCK BIT. STA TRAK LDA P03$ IOR B DISC4 EQU * IOR =B20000 /MAKE IT W/O WAIT STA CONWD /SET TO REF. USER DISC LDA .PRR /SAVE PRIORITY. STA CB13,I JSB MTO,I DEF *+9 DEF CODE DEF CONWD DEF DISC-2,I DEF DISC-1,I DEF TRAK DEF DISC-3,I DEF IPAR DEF DISC5 JSB STAT LDA ISTAT /TCS ACCEPT IT? SSA JSB POP /NO. LDA CB2,I ADA =B20000 /SET DISC COMPL PENDING STA CB2,I LDB CODE CPB P15$ /FILE WRITE? SSA,RSS /YES-LOGGING ENABLED? JMP SUSP /NO-SUSPEND HIM ADA =B20000 /SET LOG COMPL PENDING STA CB2,I LDA P15$ /LOG AT HIGHEST PRIORITY. STA .PRR JSB .LOGA,I /CALL LOG ROUTINE DEF *+6 DEF TRAK DEF DISC-3,I DEF DISC-2,I DEF DISC-1,I DEF LOCK * LOG COMPLETE/DISC COMPLETE DISC6 JSB SETAD LDA CB2,I ADA =B-20000 /DECREMENT COMPLETION COUNT STA CB2,I AND =B60000 SZA /DONE? JMP SUSP /NO LDA CB13,I STA .PRR /RESTORE PRIORITY. JSB POP /YES-RETURN TO CALLER DISC5 DEF DISC6 * * DISC1 LDA N13$ ADA CODE /DETERMINE READ OR WRITE CMA,INA STA CODE LDA DISC-3,I AND CRBYT$ /ISOLATE SECTOR STA SCTR LDA DISC-3,I ALF,ALF AND RBYT$ /ISOLATE TRACK STA TRAK LDA DISC3 STA DISC-3 LDA P02$ JMP DISC4 TRAK NOP DISC3 DEF SCTR LOCK OCT 0 SCTR NOP N13$ DEC -13 SKP **************************************************** * * ENABLE LOGGING * * JSB LOGON * DEF *+1 * **************************************************** LOGON EQU * NOP JSB SETAD /SET CB ADDRESSES LDA .LOGA CPA .LOGB /LOGGING INITIALIZED? JMP LOGNX /NO LDA CB2,I /YES,SET BIT 15(LOGON) IOR =B100000 STA CB2,I LOGNX LDB LOGON,I JMP B,I .LOGA DEF LOGA .LOGB DEF LOGA LOGA NOP JMP LOGA,I SKP **************************************************** * * DISABLE LOGGING * * JSB LOGOF * DEF *+1 * **************************************************** LOGOF EQU * NOP JSB SETAD /SET CB ADDRESSES LDA CB2,I RAL,CLE,ERA /CLEAR LOGGING BIT STA CB2,I LDB LOGOF,I JMP B,I SKP ******************************************************************************** * * SEGMENT LOAD * JSB SEGLD * DEF *+2 * DEF SEG# SEGMENT NO. * DEF PRI# PRIORITY NO. ******************************************************************************** * NOP NOP * SEGLD NOP JSB .ENTR DEF SEGLD-2 LDA .MORS SZA,RSS /CALL FROM SEGMENT? JMP SGLD1 /YES-DO NOT PUSH STACK JSB PUSH /NO DEF *+2 DEF SEGLD-1 SGLD1 EQU * * JSB MTO,I DEF *+4 DEF P08$ DEF SEGLD-2,I DEF SEGLD-1,I JSB POP * SKP **************************************************** * * CONTROL * **************************************************** CONTL EQU * NOP 0.**0  ! 24342-18007 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8 JSB ZSAV STA CODE /SAVE PARAMETER LDA CNTL1 STA PARM CLA STA ZIP BLF /POSITION FUNCTION CODE RBL,RBL CNTL3 EQU * ADB LU,I LDA CB11,I * IF THIS TASK IS LOCKING IOR CB12,I * IT'S DEVICE, LEAVE IT AND =B100000 * LOCKED FOR CONTROL REQS IOR B * STA CONWD * JSB MTO,I DEF *+6 DEF P03$ DEF CONWD DEF CODE PARM NOP DEF IPAR JSB ZRET CNTL1 DEF ZIP ZIP NOP * CNTLX EQU * NOP JSB ZSAV STA CODE JMP CNTL3 /PREP FOR 2 PARAMETERS SKP **************************************************** ******************************************************************************** **************************************************** * LU EQU * CB1 NOP TYPE EQU * CB2 NOP CB3 NOP CB4 NOP CB5 NOP CB6 NOP CB7 NOP CB8 NOP CB9 NOP CB10 NOP CB11 NOP CB12 NOP CB13 NOP CB14 NOP CB15 NOP CB16 NOP STP$ EQU * CB17 NOP SUPV EQU * CB18 NOP STPX EQU STP$-CB1+1 STPY EQU STPX+1 CONWD NOP CODE NOP SKP ******************************************************************************** * * PUSH SUBROUTINE - SAVE RETURN AND CB POINTERS,SET NEW * CB POINTERS * JSB PUSH * DEF *+3 * DEF X ADDRESS OF LAST SUBROUTINE ARGUMENT * DEF CB ADDRESS OF NEW CB ARRAY * ******************************************************************************** PUSH NOP LDB PUSH LDA B,I CMA,CLE,INA ADA PUSH / STA TEMP /SAVE NO. OF PARAMETERS LDA B,I STA PUSH /SAVE RETURN ADDRESS(PUSH) INB LDA B,I /GET SUBROUTINE RETURN * RAL,CLE,ERA /REMOVE INDIRECT BIT INA LDA A,I STA IRET /SAVE FOR PUSH DOWN INB LDA B,I /GET NEXT CB SETTING STA CBA4NXT JSB PUSHR /PUSH DOWN STACK LDA CBNXT LDB TEMP CPB N03$ /CHANGE CB IF 2 PARAMETERS JSB SETCB /SET NEW CB DEFINITIONS JMP PUSH,I TEMP NOP * * PUSHR NOP JSB SETAD /SET ADDRESS OF CB POINTERS LDB STP$,I /GET STACK POINTER INB CPB SMAX /CHECK FOR OVERFLOW JMP ABRT2 ADB CB1 /FORM ADDRESS LDA IRET STA B,I /SAVE RETURN INB LDA CBLOC STA B,I /SAVE CB ARRAY ISZ STP$,I ISZ STP$,I /INCR STACK POINTER JMP PUSHR,I SKP ******************************************************************************** * * POP SUBROUTINE * JSB POP * DEF *+1 * ******************************************************************************** POP NOP RTRN EQU POP JSB SETAD /SET ADDRESS OF CB POINTERS LDB STP$,I CPB SMIN /STACK EMPTY? JMP ABRT3 ADB CB1 LDA B,I STA CBNXT /GET CB ARRAY ADB N01$ LDA B,I /GET RETURN ADDRESS STA POPX SZA,RSS JMP ABRT4 LDA STP$,I ADA N02$ STA STP$,I /DECR STACK POINTER LDA CBNXT JSB SETCB /SET CB ARRAYS JMP POPX,I POPX NOP * SKP ******************************************************************************** * ALLOCATE DATA BLOCKS * JSB ALLOC * DEF *+3 * DEF BLOK# BLOCK # TO BE ALLOCATED * DEF POOL# BUFFER POOL #,0= RELEASE * ******************************************************************************** BLOK# NOP POOL# NOP ALLOC NOP JSB .ENTR DEF BLOK# JSB SAVAD LDA BLOK#,I /SAVE BLOCK NO. AND P01$ /INSURE 1 OR 2 SZA,RSS LDA P02$ STA CB13,I LDA POOL#,I /SAVE POOL NO. STA CB14,I SZA,RSS /RELEASE? JMP ALLC1 /YES ALLC2 JSB GBUF /NO-REQUEST BUFFERF DEF *+3 DEF CB15,I DEF CB14,I LDB CB15,I CPB N01$ /AVAILABLE? JMP ALLC3 /NO-GO PAUSE JSB BLKAD /YES CALCULATE BLOCK PARAM. ADDR. STA B,I /SAVE ADDRESS INB LDA CB15,I ALF,ALF IOR CB14,I /FORM ID + POOL TYPE STA B,I /SAVE POOL TYPE ALLCX EQU * /RETURN JSB POP * ALLC1 EQU * JSB BLKAD /CALCULATE BLOCK PARAM. ADDR. CLA STA B,I /CLR ADDRESS INB LDA B,I AND RBYT$ STA ALLC5 /SAVE POOL TYPE LDA B,I ALF,ALF AND RBYT$ STA ALLC4 /SAVE ID CLA STA B,I /CLR POOL TYPE JSB PBUF DEF *+3 DEF ALLC4 DEF ALLC5 JMP ALLCX ALLC4 NOP ALLC5 NOP * ALLC3 EQU * JSB PAUZ /PAUSE TILL BUFFER AVAIL. DEF *+1 JMP ALLC2 /(NOTE) PAUZ SETS UP CB POINTERS * BLKAD NOP LDB CB13,I BLS ADB CB4 ADDRESS OF BLOCK PARAM. JMP BLKAD,I * * SKP ******************************************************************************** * * PAUSE SUBROUTINE * ******************************************************************************** PAUZ NOP JSB .ENTR DEF PAUZ JSB SAVAD JSB MTO,I DEF *+6 DEF P01$ DEF P63$ DEF P01$ DEF P01$ DEF IPAR JSB POP P63$ DEC 63 * SKP ******************************************************************************** * * SPLIT SUBROUTINE * JSB SPLIT * DEF *+4 * DEF LU LOGICAL UNIT OF NEW THREAD * DEF BLOK# BLOCK # TO BE ATTACHED TO NEW THREAD * DEF NWRDS NO. OF WORK BLOCK WORDS TO PASS * JMP CONT PARENT THREAD RETURNS HERE * --- NEW THREAD STARTS HERE * ******************************************************************************** S1 NOP LU OF NEW THREAD RS2 NOP BLOCK TO ATTACH S3 NOP # OF WORK BLOCK WORDS TO PASS * SPLIT NOP JSB .ENTR DEF S1 JSB SAVAD LDA S1,I /SAVE LU STA CB14,I LDA S2,I /SAVE BLOCK # AND P03$ /ALLOW 0-3 ONLY STA CB13,I LDA SPLIT /SAVE RETURN ADDRESS INA STA CB15,I LDA S3,I /SAVE # OF WB WORDS STA CB16,I * SPLT1 EQU * CLA STA CB3,I /CLEAR FLAG LDA ICBX1 /CALCULATE START OF CB'S MPY CBL ADA ICBP STA B LDA ICBX1 INA SPLT4 STA PIPAR /SET PENDING IPAR LDA B,I CPA CB14,I /LU MATCH? JMP SPLT2 /YES SPLT3 EQU * LDA PIPAR CPA ICBX2 /END OF CB'S JMP SPLT5 /YES INA ADB CBL /NO-CHECK NEXT CB JMP SPLT4 SPLT5 LDA CB3,I SZA,RSS /ANY LU'S MATCH? JSB RTRN /NO-RETURN JSB PAUZ /YES-WAIT FOR IT DEF *+1 JMP SPLT1 * SPLT2 EQU * ISZ CB3,I /INDICATE MATCHING LU STB BASE /SAVE POTENTIAL NEW CB ADB P02$ LDA B,I SZA,RSS /CB BUSY? JMP SPLT6 /ON ADB N02$ /YES-RESUME SEARCH JMP SPLT3 SPLT6 EQU * LDA IPAR STA B,I /SET CB BUSY STA CB3,I INB LDA B,I /SAVE WB ADDRESS STA CB14,I LDA CB13,I /CALCULATE ADDRESS OF BLOCK PARAMETERS SZA,RSS /ANY DATA BLOCKS TO TRANSFER? JMP SPLT9 /NO ADB P02$ /YES-OFFSET TO CB6 CPA P02$ /MOVING DB2 ONLY? ADB P02$ /YES-OFFSET TO CB8 STB PTR /SAVE DESTINATION POINTER LDB N02$ /PRIME FOR 1 DATA BLOCK CPA P03$ /BOTH? LDB N04$ /YES-INDICATE 4 WORDS TO MOVE STB CB13,I /SET MOVE COUNT LDB CB6 /DETERMINE SOURCE ADDRESS CPA P02$ /MOVING DB2 ONLY? ADB P02$ /YES-OFFSET TO CB8 JSB SPLTM /MOVE ADDRESS ISZ CB13,I /DONE? JMP *-2 /NO SPLT9 EQU * LDA CB16,I SZA,RSS /WORK BLOCK TRANSFER? JMP SPLTA /NO CMA,INA /YES-SET LOOP COUNT STA CB16,I LDB CB4,I /GET ADDRESS OF WB(PARENT) LDA CB14,I /GET WORK BLOCK(NEW) STA PTR SPLTB EQU * LDA B,I /MOVE STA PTR,I INB ISZ PTR ISZ CB16,I /DONE? JMP SPLTB /NO-MOVE NEXT WORD SPLTA EQU * LDA BASE /MODIFY POINTERS FOR NEW CB STA CB1 ADA N01$ ADA SMIN STA STP$ LDA CB15,I STA IRET LDA SPLT7 STA PUSHR JMP PUSHR+2 /PUT NEW CB RETURN ON STACK SPLT7 DEF *+1 LDA PIPAR /SET POINTER TO PENDING VALUE STA IPAR JSB MTO,I DEF *+7 DEF P01$ DEF PWAIT DEF P01$ DEF P01$ DEF IPAR DEF SPLT8 LDA CB3,I /RESTORE POINTER STA IPAR LDA PIPAR /SET NEW THREAD IN PARENT STA CB3,I JSB POP /RETURN SPLT8 EQU * DEF *-1 * PWAIT OCT 20077 * SPLTM NOP LDA B,I /GET PARENT VALUE STA PTR,I /SAVE ON NEW CB ISZ PTR CLA /CLR PARENT STA B,I INB JMP SPLTM,I * SKP * * RELEASE CONTROL BLOCK * RLSCB NOP JSB ALLOC /RELEASE DATA BLOCK 1 DEF *+3 DEF P01$ DEF P00$ JSB ALLOC /RELEASE DATA BLOCK 2 DEF *+3 DEF P02$ DEF P00$ CLA STA CB3,I /INDICAT NOT BUSY LDA CB2,I /INSURE LOGGING OFF. AND RBYT$ STA CB2,I SUSP JSB MTO,I /SUSPEND DEF *+2 DEF P53$ P53$ DEC 53 SKP ******************************************************************************** ******************************************************************************** * SAVAD NOP LDB SAVAD ADB N04$ 2] LDA B,I STA IRET JSB PUSHR JMP SAVAD,I * * * SET CONTROL BLOCKS * SETCB NOP STA CBLOC /SET CB ARRAY LOCATION JSB SETAD /SET ADDRESS OF CB POINTERS LDB CBLOC ADB N01$ /ADJUST TO ARRAY POINTER LDA CB1 STA B,I /SET CB ARRAY ADB P02$ LDA CB4,I STA B,I /SET WB ARRAY ADB P02$ LDA CB6,I STA B,I /SET DB#1 ARRAY ADB P02$ LDA CB8,I STA B,I /SET DB#2 ARRAY JMP SETCB,I * * SETAD EQU * NOP JSB STAT /GET STATUS CCA ADA IPAR /CALCULATE ADDRESS OF CB MPY CBL ADA ICBP LDB CBX /INITIALIZE LOOP STB PTR LDB CBTL SETA1 STA PTR,I /SET ADDRESSES ISZ PTR INA INB,SZB JMP SETA1 JMP SETAD,I CBX DEF CB1 * * INTERNAL SAVE/RESTORE RETURN ADDRESSES * ZSAV NOP STB ZSAVB LDB ZSAV ADB N02$ LDB B,I STB SUPV,I LDB ZSAVB JMP ZSAV,I * ZRET NOP JSB SETAD LDB SUPV,I STB ZRET JMP ZRET,I ZSAVB NOP * * * STAT NOP LDA IPAR STA PSTAT /SAVE CURRENT THREAD JSB MTO,I DEF *+6 DEF P79$ DEF ISTAT DEF IPAR DEF ILU DEF ILOG LDA IPAR LDB PSTAT SZA,RSS /THREAD =0? STB IPAR /YES-RESTORE PREVIOUS THREAD LDA IPAR SZA,RSS JMP ABRT5 JMP STAT,I PSTAT NOP P79$ DEC 79 .STAT EQU STAT SKP ******************************************************************************** * * THREAD ABORT ROUTINES * ******************************************************************************** ABRT5 JSB ABORT /ILLEGAL THREAD ID (0) ABRT4 JSB ABORT /RETURN ADDRESS=0 ABRT3 JSB ABORT /STACK UNDERFLOW ABRT2 JSB ABORT /STACK OVERFLOW ********************************** *($********************************************** ABRTX DEF *+2 ABORT NOP LDA ABORT CMA,INA ADA ABRTX ADA =B30060 /OUTPUT NAME:XX AB LDB =B40502 /XX=ERROR TYPE JSB ERR0 JMP SUSP CBTL ABS -STPY SMIN ABS STPX SMAX EQU CBL PTR NOP PIPAR NOP CBLOC NOP IRET NOP CBNXT NOP BASE NOP * * BASE PAGE CONSTANTS * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 N05$ EQU #-5 N06$ EQU #-6 N07$ EQU #-7 N08$ EQU #-8 N09$ EQU #-9 N10$ EQU #-10 N64$ EQU #-11 P00$ EQU # P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P10$ EQU #+10 P17$ EQU #+11 P64$ EQU #+12 M17$ EQU #+13 M37$ EQU #+14 M77$ EQU #+15 M177$ EQU #+16 RBYT$ EQU #+17 OCT 377 LBYT$ EQU #+18 OCT 177400 M3777 EQU #+19 OCT 3777 M1777 EQU #+20 OCT 177700 CLEAR EQU P00$ OPENL EQU P02$ LCLOS EQU P03$ RWND EQU P04$ RWNDX EQU P05$ DSTAT EQU P06$ LDR EQU P08$ TOF EQU P09$ END :: :CO MOUNT TAPE #8, TYPE :GO :PA *  ! 24342-18008 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC04,5 ASMB,L,C NAM STRT!,7 HED ***TCS UTILITIES (STRT!) - 9/74*** ENT STRT! EXT CB$,CNFIG EXT EXEC EXT GBUF EXT ERR0 EXT CNFGX * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR,ILU,ILOG A EQU 0 B EQU 1 STRT! NOP LDA B,I STA CBLOK INB LDA B,I STA SYST /SAVE CONFIGURATION ADDRESS INB LDA B,I STA RTRN /SAVE RETURN ADDRESS (MAIN) INA STA RTRN1 /SAVE RETURN ADDRESS(THREAD) INB LDA B,I STA POPR /SAVE ADDRESS OF JSB POP IN MAIN INB LDA B,I STA START /SAVE ADDRESS OF CB PARAMETERS LDA SYST,I /GET JSB TCS/MTO AND =B101777 /ISOLATE BASE PAGE LINK STA MTO /SAVE FOR LOCAL CALLS JSB CNFGX /ENABLE EQT EXTENSION LOGGING DEF *+2 EQTX DEF EQT JSB CNFIG /CONFIGURE SYSTEM DEF *+4 SYST DEF * LUPTR DEF LUT DEF LUCNT * JSB MTO,I DEF *+3 DEF P79$ DEF ISTAT LDA ISTAT SZA OK? JMP ABRT NO. JSB MTO,I DEF *+6 DEF P78$ DEF ISTAT DEF IPAR DEF ILU DEF ILOG * LDA CB$X AND =B77777 LDB A,I /GET ADDRESS OF CB PARAMETERS ADB =B3 /BYPASS SEGMENT NAME LDA B,I STA ICBX1 /SAVE # OF ONLINE DEVICES INB LDA B,I STA ICBX2 /SAVE # OF OFFLINE DEVICES INB LDA B,I CPA LUCNT /ALL UNITS INITIALIZED? RSS /YES JMP ABRT /NO-ABORT INB LDA B,I STA START,I /SAVE LENGTH OF CONTROL BLOCK STA CBL ISZ START LDA MTO /SAVE MTO/TCS LINKAGE STA START,I INB LDA B,I STA BASE ISZ START STA START,I /SAVE CB START LDA ICBX1 ISZ START STA START,I /SAVE IN UTIL ROUTINE ISZ START LDA ICBX2 STA START,I * LDA P01$ STA IPAR * STRT2 LDB BASE LDA LUPTR,I /GET LU SSA /PRIVILEGED DEVICE? JMP STRT5 /NO ADA =B141000 /TYPE+302 RSS STRT5 EQU * JSB FIND /FIND TYPE FOR NON-PRIVILEGED DEV LDB BASE STA TEMP AND =B77 STA B,I /SAVE LU ON CB LDA TEMP ALF,ALF /POSITION TYPE AND =B377 /ISOLATE TYPE INB STA B,I /SAVE ON CB ADB =D2 STB TEMP /SAVE WB PARAMETER ADDRESSES INB STB G1 * JSB GBUF /GET WORK BLOCK DEF *+3 G1 DEF * G2 DEF P01$ STA TEMP,I LDA G1,I SSA /GOT ONE? JMP ABRT /NO. ALF,ALF IOR P01$ STA G1,I LDB BASE ADB =D9 LDA EQTX,I /GET EQT EXTENSION STA B,I /SAVE IN CB10 INB ISZ EQTX LDA =B400 /SET CONTROL WORDS IN CB11 & CB12 STA B,I INB STA B,I * LDB BASE LDA CBLS ADB A /CALCULATE STACK PTR ADDRESS INA STA B,I /INDICATE NO ENTRIES ADA =D2 STA TEMP LDA IPAR CMA,INA ADA ICBX1 SSA /ONLINE DEVICE? JMP STRT1 /NO STRT4 LDA TEMP /YES STA B,I /PUT ONE ENTRY IN STACK ADB =D2 LDA RTRN1 STA B,I LDA CBLOK INB STA B,I * JSB MTO,I DEF *+7 DEF P01$ DEF NWAIT DEF P01$ DEF P01$ DEF IPAR DEF POPR STRT3 LDA BASE /UPDATE CB ADDR ADA CBL STA BASE ISZ LUPTR /INCR LU TABLE PTR ISZ IPAR /INCR THREAD LDA IPAR CMA,INA ADA ICBX2 SSA,RSS /DONE? JMP STRT2 /NO JSB MT O,I DEF *+2 DEF P53$ MTO DEF * POPR DEF * CB$X DEF CB$ ICBX1 NOP ICBX2 NOP ICBP NOP * * STRT1 EQU * LDA IPAR CPA ICBX2 /LAST CB? RSS /YES JMP STRT3 /NO LDA RTRN /CHG RETURN FOR MAIN THREAD STA RTRN1 JMP STRT4 ABRT EQU * JSB EXEC DEF *+5 DEF P02$ DEF P01$ DEF INER DEF P09$ JSB EXEC DEF *+2 DEF COMP COMP DEC 6 **************************************************** FIND EQU * NOP LDA LUPTR,I CMA,INA STA LU CPA =B1 /CONSOLE JMP FIND1 /YES CPA =B77 /NO-DUMMY? JMP FIND2 / YES JSB EXEC /GET DRIVER TYPE DEF *+4 DEF P13$ DEF LU DEF ISTAT LDA ISTAT ALF,ALF AND =B77 STA ISTAT LDB TYPE FIND4 LDA B,I AND =B77 /MASK DRIVER TYPE CPA ISTAT /MATCH? JMP FIND3 /YES INB /NO CPB ENDT /END OF LIST? RSS /YES-DEFAULT TO TERMINAL JMP FIND4 NO-KEEP LOOKING FIND2 LDB TYPE FIND3 LDA B,I RAL,RAL /POSITION DEVICE TYPE AND =B177700 /FORM NEW TYPE/LU WORD IOR LU JMP FIND,I FIND1 LDA =B30000 /SYSTEM CONSOLE JMP FIND3+1 **************************************************** **************************************************** TYPE DEF *+1 OCT 30100 /00 TERMINAL OCT 21301 /01 READER OCT 11402 /02 PUNCH OCT 30005 /05 SYSTEM CONSOLE OCT 31507 /07 READER / PUNCH OCT 21311 /11 READER OCT 11212 /12 PRINTER OCT 11414 /14 PUNCH OCT 21315 /15 READER OCT 31123 /23 MAGTAPE OCT 30126 /26 TERMINAL OCT 11427 /27 PRINTER OCT 31031 /31 DISC OCT 31667 /67 HSI ENDT DEF * **************************************************** LU NOP NWAIT OCT 20077 P01$ DEC 1 P02$ DEC 2 P09$ DEC 9 P13$ DEC 13 P53$ DEC 53 P78$ DEC 78 P79$ DEC 79 CBLOK NOP START NOP RTRN NOP RTRN1 NOP CBL NOP CBLS DEC 16 /CB LENGTH W/O STACK -2 BASE NOP TEMP NOP LUCNT NOP LUT BSS 256 EQT BSS 256 INER ASC 9,INIT ERROR (ABORT) END :: :ST,S,$TC05,5 ASMB,L,C NAM JOIN,7 HED ***TCS UTILITIES (JOIN) - 9/74*** ENT JOIN EXT PUSH,POP,PAUZ,START EXT .ENTR * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR NOP JOIN NOP JSB .ENTR DEF JOIN JSB PUSH /PUT RETURN ON STACK DEF *+3 DEF JOIN-1 DEF CB LDA IPAR LDB CB-1 ADB P02$ /CALCULATE CB2 CMA,INA ADA B,I /CALCULATE DIFF. BETWEEN THREADS TO BE JOINED MPY START / ADA CB-1 FORM ADDRESS OF OTHER CB ADA P02$ LDB A,I SWP IOR =B100000 /SET FLAG STA B,I /ON OTHER CB JOINX EQU * JSB PAUZ /WAIT FOR OTHER CB DEF *+1 LDB CB-1 ADB P02$ /CALCULATE ADDR OF CB3 LDA B,I SSA,RSS /FLAG SET JMP JOINX /NO RAL,CLE,ERA /YES-CLEAR FLAG STA B,I JSB POP /RETURN TO CALLER NOP CB BSS 7 A EQU 0 B EQU 1 P02$ DEC 2 END :: :ST,S,$TC06,5 ASMB,L,C NAM PCODE,7 HED ***TCS UTILITIES (PCODE) - 9/74*** ENT PCODE A EQU 0 B EQU 1 ******************************************************************************** * * * PCODE SUBROUTINE - ALLOWS CORE TO CORE USE OF FORMATTER * ORIGINAL CALLING SEQ. * * JSB PCODE * DEF *+2 * LDA PTR * CLB * JSB .DIO. * * MODIFIED CALLING SEQ. * * JSB PCODE * DEF PTR-1 * CLB * JSB .DIO. * DEF PTR * w& * ******************************************************************************** PCODE NOP LDA PCODE INA CPA PCODE,I /FIRST TIME THRU? JMP PCOD1 /YES LDB PCODE /NO LDA B,I LDA A,I ADB P03$ STA B,I ISZ PCODE CLA JMP PCODE,I PCOD1 EQU * LDB PCODE,I LDA B,I /GET LDA PTR[,I] STA INST AND =B101777 STA BASE /SAVE I + 10BIT ADDR STB A AND =B76000 STA PAGE /SAVE UPPER 5 BITS LDA INST AND =B2000 SZA /CURRENT/BASE PAGE? LDA PAGE /CURRENT IOR BASE RSS LDA A,I RAL,CLE,SLA,ERA JMP *-2 ADA N01$ LDB PCODE STA B,I /SET POINTER TO ARRAY IN CALLING SEQ. ADB N01$ STB PCODX /SET RETURN ADB P02$ STB PCODE INB LDA B,I /CHANGE STA PCODE,I /FROM---LDA PTR[,I] ISZ PCODE CLB INB JSB .DIO. LDA B,I /TO ---CLB STA PCODE,I JSB .DIO. JMP PCODX,I DEF PTR PCODX NOP * BASE NOP PAGE NOP INST NOP N01$ EQU 52B P02$ EQU 55B P03$ EQU 56B END :: :ST,S,$TC07,5 ASMB,L,C NAM ARRAY,7 HED ***TCS UTILITIES (ARRAY) - 9/74*** ENT ARRAY EXT .ENTR A EQU 0 B EQU 1 * ARRAY DEFINITION * SUBROUTINE REDEFINES DUMMY ARRAY X TO BE ARRAY Y * (DYNAMIC EQUIVALENCE) * JSB ARRAY * DEF *+3 * DEF X * DEF Y * * EXAMPLE * CALL ARRAY(X,Y(1,5)) * X(3)=A+B+C * * X(3) IS ACTUALLY Y(3,5) * ALL REFERENCES TO X MUST BE SUBSCRIPTED, UNLESS USED * IN A READ/WRITE STATEMENT PRECEDED BY A PCODE CALL. NOP NOP ARRAY NOP JSB .ENTR DEF ARRAY-2 CCA ADA ARRAY-2 LDB ARRAY-1 STB A,I JMP ARRAY,I END :: :ST,S,$TC08,5 ASMB,L,C NAM .TAPE,7 HED ***TCS UTILITIES (.TAPE) - 9/74*** ENT .TAPE EXT .ENTR EXT PUSH,POP,TCNTL A EQU 0 B EQU 1 * * THIS ROUTINE IS CALLED BY FORTRAN COMPILED PROGRAMS * WHICH USE TAPE COMMANDS. * REWIND * BACKSPACE * ENDFILE * NOP .TAPE NOP AND MASK STA FUNCT JSB PUSH DEF *+2 DEF .TAPE-1 JSB TCNTL DEF *+4 DEF FUNCT DEF P00$ DEF * JSB POP MASK OCT 7700 FUNCT NOP P00$ EQU 53B END :: :ST,S,$TC09,5 ASMB,L,C NAM ERR0,7 HED ***TCS UTILITIES (ERR0) - 9/74*** ENT ERR0 EXT .MTO ERR0 NOP STA TEXT+5 STB TEXT+7 LDA .MTO STA MTO /LINK WITH TCS/MTO * EXPG EQU 141B * LDA EXPG STA TEXT+1 LDA EXPG+1 STA TEXT+2 LDA EXPG+2 AND 75B IOR =B40 STA TEXT+3 JSB MTO,I DEF *+7 DEF P02$ DEF NWAIT DEF TEXT DEF N16$ DEF P00$ DEF ERR0 JSB MTO,I DEF *+2 DEF P53$ NWAIT OCT 20001 TEXT ASC 5, : ASC 3, # EQU 53B P01$ EQU #+1 P02$ EQU #+2 N16$ DEC -16 P00$ EQU # P53$ DEC 53 MTO NOP END :: :ST,S,$TC10,5 ASMB,L,C NAM GDISC,7 HED ***TCS UTILITIES (GDISC) - 4/75*** ENT GDISC ENT NDISC EXT EXEC,PAUZ,PUSH,POP,.ENTR EXT .RST * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR,ILU,ILOG A EQU 0 B EQU 1 * * GDISC NOP LDA GDISC /SAVE RETURN STA CDISC JSB COMM GDSC2 JSB FIND /FIND AVAILABLE TRACK JMP GDSC1 /ALL BUSY GDSC3 LDA CTRAK /GOTONE ALF,ALF STA PARM2,I /RET TRACK TO USER LDA N01$ /FLAG AS BUSY STA B,I GDSC4 CLA LDB .RST STA B,I JSB POP GDSC1 JSB NFIND /INDICATE NO FIND JSB PAUZ /WAIT FOR A FREE TRACK DEF *+1 JSB RSTR /RESTOR PARAMETERS JMP GDSC2 /RESUME SEARCH * * NDISC NOP LDA NDISC /SAVE RETURN STA CDISC JSB COMM JSB STPTR /SET POINTERS JSB NEXT /GET NEXT SECTOR RSS /END OF TRACK JMP GDSC4 SEZ /ALLOCATE JMP NDSC1 /NO NDSC3 EQU * JSB FIND /YES-FIND AVAILABLE TRACK JMP NDSC2 /ALL BUSY LDA CTRAK ALF,ALF IOR PTR,I /MERGE NEW TRACK W/LLD TRACK STA PTR,I JMP GDSC3 NDSC1 LDA PTR,I AND LBYT$ STA PARM2,I LDA PARM1,I AND P04$ CLB SZA /FREE? STB PTR,I /YES-CLEAR BUSY LDA PARM2,I SZA,RSS /LAST TRACK? NDSC4 EQU * LDB N01$ /YES LDA .RST STB A,I JSB POP NDSC2 JSB NFIND /INDICATE NO FIND JSB PAUZ /WAIT FOR FREE TRACK DEF *+1 JSB RSTR /RESTOR PARAMETERS JMP NDSC3 * * COMM NOP JMP INIT /GET WORK AREA LIMITS JMP CDISC+1 PARM1 NOP PARM2 NOP CDISC NOP JSB .ENTR DEF PARM1 JSB PUSH /PUT RETURN ON STACK DEF *+3 DEF PARM2 DEF CB+1 LDB CB /SAVE PARAMETERS ON CONTROL BLOCK ADB =D12 LDA PARM1 STA B,I INB LDA PARM2 STA B,I JMP COMM,I * INIT CLA STA COMM+1 /CALL AT INITIALIZE ONLY JSB EXEC /GET LIMITS DEF *+6 DEF P17$ DEF FTRAK DEF LTRAK DEF MSCTR DEF P00$ SYSSC ONLY! KM JMP COMM+1 * FIND NOP LDB FTRAK /SEARCH FROM 1ST TRACK FIND1 STB CTRAK ADB DMAP /CALCULATE DISC MAP ADDRESS LDA B,I SZA,RSS /TRACK AVAILABLE? h JMP FINDX /YES LDB CTRAK /NO INB CPB LTRAK /END OF WORK AREA? JMP FIND,I /YES JMP FIND1 /NO FINDX ISZ FIND JMP FIND,I * NEXT NOP LDA PTRC,I /GET TRACK/SECTOR WORD INA /INCR. SECTOR AND RBYT$ CPA MAX MAX VALUE? JMP NEXT,I /YES ISZ PTRC,I /NO-UPDATE SECTOR COUNT IN CORE ALF,ALF IOR CTRAK /MERGE WITH CURRENT TRACK ALF,ALF /RESTORE TRACK/SECTOR POSITION STA PARM2,I /RETURN TO USER NEW VALUE ISZ NEXT /INDICATE SAME TRACK JMP NEXT,I STPTR NOP LDA PARM2,I /SETUP POINTERS ALF,ALF AND RBYT$ ISOLATE TRACK STA CTRAK ADA DMAP /CALCULATE ADDR. OF DISC MAP ENTRY STA PTR LDA PARM1,I AND P02$ SZA /ALLOCATE? JMP SPTR1 /NO-CHAIN CLE /CLEAR FLAG LDB PTR /SET UP FOR TRACK ALLOCATION LDA MSCTR SPTR2 STA MAX STB PTRC LDA PTR,I CPA N01$ /FIRST ACCESS? RSS /YES JMP STPTR,I /NO CLA SEZ /YES-ALLOCATE? JMP NDSC4 /NO-END OF TRACK STA PTR,I /YES-ADJUST SECTOR JMP STPTR,I SPTR1 CCE /SET FLAG LDB PARM2 /SETUP FOR TRACK CHAIN LDA PTR,I AND RBYT$ INA JMP SPTR2 NFIND NOP LDA N01$ /NO FIND IN STATUS LDB .RST STA B,I LDA PARM1,I SLA /WITHOUT WAIT JSB POP /YES-RETURN JMP NFIND,I /NO * * RSTR NOP LDB CB ADB =D12 /RESTOR PARAMETERS LDA B,I STA PARM1 INB LDA B,I STA PARM2 JSB STPTR JMP RSTR,I * PTR NOP FTRAK NOP LTRAK NOP CTRAK NOP MSCTR NOP PTRC NOP MAX NOP P00$ NOP KM P02$ DEC 2 P04$ DEC 4 P16$ DEC 16 P17$ DEC 17 N01$ DEC -1 LBYT$ OCT 1774,S64000 RBYT$ OCT 377 CB DEF *+1 BSS 7 DMAP DEF *+1 BSS 256 * END :: :ST,S,$TC11,5 ASMB,L,C NAM BLANK,7 HED ***TCS UTILITIES (BLANK) - 9/74*** ENT BLANK EXT .ENTR ADDR NOP COUNT NOP BLANK NOP JSB .ENTR DEF ADDR LDB COUNT,I CMB,INB LDA =B20040 STA ADDR,I ISZ ADDR INB,SZB JMP *-3 JMP BLANK,I END :: :ST,S,$TC12,5 ASMB,L,C NAM LNGTH,7 HED ***TCS UTILITIES (LNGTH) - 9/74*** ENT LNGTH EXT .ENTR ADDR NOP SIZE NOP LNGTH NOP JSB .ENTR DEF ADDR CCB ADB ADDR ADB SIZE,I /CALCULATE LAST WORD OF ARRAY LDA SIZE,I CMA,INA /FORM NEG. COUNT STA SIZE LNGT1 LDA B,I CPA =B20040 /BLANKS? JMP LNGT2 /YES LDB SIZE /NO CMB,INB /CONVERT TO POSITIVE COUNT RBL /X2 FOR CHARACTERS AND =B377 CPA =B40 /LAST ONE A BLANK ADB =D-1 YES-DECREMENT COUNT STB A JMP LNGTH,I /RETURN WITH ANSWER IN A LNGT2 EQU * ADB =D-1 BACK UP POINTER ISZ SIZE DONE? JMP LNGT1 /NO CLA /YES JMP LNGTH,I A EQU 0 B EQU 1 END :: :ST,S,$TC13,5 ASMB,L,C NAM ENDO,7 HED ***TCS UTILITIES (ENDO) - 9/74*** ENT ENDO EXT .ENTR J NOP K NOP L NOP ENDO NOP JSB .ENTR DEF J LDA J,I ADA L,I /INCR INDEX STA J,I CMA,INA ADA K,I /FORM DIFF. BETWEEN INDEX AND TARGET AND =B100000 /MASK FOR LOGICAL JMP ENDO,I END :: :CO MOUNT TAPE #9, TYPE :GO :PA e6  $ 24342-18009 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC14,5 ASMB,L,C NAM CNFIG,6 HED ***TCS UTILITIES (CNFIG) - 9/74*** ENT CNFIG ENT CNFGX REVB EXT .ENTR EXT EXEC REVB * CONFIGURATION SUBROUTINE (REV B) * REV B SUPPORTS MULTIPLE LOGICAL DRIVE*S,AS SPECIFIED * BY THE CONFIGURATION TABLE. * PROVIDES AN ADDITIONAL ENTRY POINT * FOR SPECIFYING AN ARRAY TO HOLD THE * ADDRESS OF THE EQT EXTENSIONS. * THE NEW ENTRY POINT CNFGX MUST BE * CALLED PRIOR TO CALLING CNFIG * * CALLING SEQUENCE * JSB CNFGX REVB * DEF *+2 REVB * DEF EQTX ADDRESS OF ARRAY REVB * * JSB CNFIG * DEF *+2 * DEF TBL CONFIGURATION TABLE * DEF LUT LOGICAL UNIT TABLE * DEF CNT COUNT OF LU'S INITIALIZED * XTBL NOP REVB CNFGX EQU * REVB NOP REVB JSB .ENTR REVB DEF XTBL REVB CLA REVB STA XON ENABLE LOGGING EXT'S REVB JMP CNFGX,I REVB TBL NOP LUT NOP CNT NOP CNFIG NOP JSB .ENTR DEF TBL LDA MDFLG REVB STA SAVE SAVE PRIVILEGED MODE REVB CLA REVB JSB STOR CLR FLAGS DURING CNFIGREVB CLA STA CNT,I CLEAR COUNT LDA TBL STA PQD USE CONFIGURATION AS Q COUNTER LDA TBL,I SZA,RSS TCS JMP CNFG2 NO STA TCS1 YES-SET JSB TCS STA TCS2 STA TCS3 STA MTO1 ISZ TBL LDA TBL,I GET PENDING Q ADDRESS STA PQ ISZ TBL LDA TBL GET PEiNDING Q LENGTH STA PQL ISZ TBL LDA TBL,I GET SEGMENT ARRAY STA SG ISZ TBL LDA TBL GET # OF SEGMENTS STA SGL ISZ TBL LDA TBL,I GET SEGMENT DIRECTORY STA DR ISZ TBL TCS1 JSB * JSB TCS DEF *+8 DEF P82$ PQ DEF * PQL DEF * PQD DEF * SG DEF * SGL DEF * DR DEF * LDA TBL,I ISZ TBL SZA,RSS MTO FILE DIRECTORY? JMP TCS3 NO LDA TBL YEES-SET ADDRESS OF FILE DIRECTORY STA FILDR ADA =D-1 FORM ADDR OF NUMBER OF FILES STA FIL# LDA TBL,I RESET TABLE POINTER STA TBL MTO1 EQU * JSB * DEF *+4 DEF P31$ FIL# DEF * FILDR DEF * TCS3 EQU * JSB * DEF *+6 DEF P79$ STATUS CALL DEF STAT DEF IPAR DEF ILUN DEF LOG LDA STAT SZA,RSS GOOD STATUS JMP CNFG3 YES CLA NO STA CNFG7 NOP FURTHER TCS CALLS CNFG3 EQU * LDA TBL,I SZA,RSS FILES TO OPEN JMP CNFG4 NO LDA TBL YES STA FNAM SET FILE NAME ADA =D3 STA FNUM SET FILE # ADA =D1 STA TBL CNFG7 JMP *+2 JMP CNFG3 TCS2 JSB * JSB TCS DEF *+4 DEF P84$ FNAM DEF * FNUM DEF * JMP TCS3 P31$ DEC 31 CNFG4 EQU * ISZ TBL LDA TBL,I STA TBL JMP CNFG1 CNFG2 EQU * ISZ TBL JMP CNFG1 CNFG1 EQU * LDA TBL,I SZA,RSS END OF TABLE JMP SLCI YES-CHECK FOR SLC REVB SSA NON PRIVILEGED JMP CNFG5 YES LDB TBL NO ADA TBL STA TBL UPDATE POINTER STB EXT SAVE EXTENSION ADDRESS STB BASE REVB INB LDA B,I GET PARAMETER WORD STA X "BBATLL" AND =B77 STA LU SET LU LDA X ALF,ALF RAR AND =B177 STA LINE SET LINE "BBA" INB LDA B,I STA HXXXX INB REVB LDA B,I PICK UP JSB ATDXX REVB INB REVB LDB B,I GGET TYPE REVB BLF,BLF REVB STB TYPE REVB STA *+1 REVB JSB * CALL LOGICAL DRIVER REVB DEF *+5 DEF LU HXXXX NOP DEF LINE EXT NOP SZA JMP CNFG1 CNFG6 EQU * JSB LOG SAVE LU+EXT ADDRESS REVB JMP CNFG1 CNFG5 EQU * STA LU SAVE NEGATIVE LU ISZ TBL BUMP POINTER CLA REVB STA BASE REVB STA TYPE REVB JMP CNFG6 LOG NOP REVB LDA LU ADA TYPE REVB STA LUT,I ISZ LUT ISZ CNT,I NOP LDA BASE REVB XON JMP *+3 CHG TO NOP TO ENABLE LOG REVB STA XTBL,I REVB ISZ XTBL REVB JMP LOG,I REVB SLCI EQU * REVB ISZ TBL REVB LDA TBL,I REVB SZA,RSS SLC USED? REVB JMP RTRN REVB STA SLCL YES-SAVE JSB SLC REVB LDA =B1000 INDICAT TYPEVB STA TYPE #2 REVB ISZ TBL REVB SLC1 EQU * REVB LDA TBL,I REVB SZA,RSS END OF LIST? REVB JMP RTRN  REVB LDB TBL REVB ADA TBL REVB STA TBL MOVE TO NEXT ENTRY REVB STB BASE SAVE EXT ADDR REVB STB SLCB SAVE EXT ADDR REVB ADB =D4 REVB LDA B,I PICKUP LU REVB STA LU REVB SLCL JSB * JSB L REVB DEF *+3 REVB DEF LU REVB SLCB DEF * DEF EXT REVB SZA,RSS OK? REVB JSB LOG YES REVB JMP SLC1 CONTINUE REVB TYPE NOP REVB BASE NOP REVB RTRN EQU * REVB LDA SAVE REVB JSB STOR RESTORE MDFLG REVB JMP CNFIG,I REVB * STOR NOP REVB LDB MFLAG REVB JSB EXEC REVB DEF *+2 REVB DEF N19$ REVB JMP STOR,I REVB N19$ DEC -19 REVB MDFLG EQU 133B REVB MFLAG DEF MDFLG REVB SAVE NOP REVB * A EQU 0 B EQU 1 LU NOP LINE NOP X NOP P84$ DEC 84 P82$ DEC 82 P79$ DEC 79 STAT NOP IPAR NOP ILUN NOP END :: :ST,S,$TC15,5 ASMB,L,C NAM LOGIN,7 HED ***TCS UTILITIES (LOGIN) - 9/74*** ENT LOGIN EXT .ENTR,EXEC EXT .LOGA,.LOGP,.PRR,TCS EXT .STAT * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(1828) XIF COM ISTAT,IPAR ******************************************************************** * * INITIALIZE LOGGING * JSB LOGIN * DEF *+2 * DEF LU ******************************************************************** LGLU OCT 0 LOGIN NOP JSB .ENTR /GET LOG DEVICE LU# DEF LGLU LDA LGLU,I STA LGLU * JSB EXEC /OUTPUT PROMPT FOR ID DEF *+5 DEF P02$ DEF P01$ .FD DEF FD DEF P20$ * JSB EXEC /INPUT LOG TAPE ID DEF *+5 DEF P01$ DEF RCW DEF HEAD DEF P05$ * LDA LOGP /SET ADDR FD ENTRY ROUTINE STA .LOGP LDA LOGA /SET LOGGING ROUTINE ADDR STA .LOGA JMP LOGIN,I /RETURN SKP **************************************************** * * LOGP - SET FILE NAME * **************************************************** LOGP DEF LOGP1 LOGP1 NOP STB TEM1 /SAVE ADDR OF FILE NAME ADA N01$ /COMPUTE ENTRY ADDR MPY P03$ ADA .FD STA B LDA TEM1,I /SET FILE NAME (3 WORDS) STA B,I INB ISZ TEM1 LDA TEM1,I STA B,I INB ISZ TEM1 LDA TEM1,I AND LBYT$ IOR CUDSC /SET UD SBCHN,RBYTE,3RD WORD STA B,I JMP LOGP1,I /RETURN SKP **************************************************** * * THIS ROUTINE FORMATS THE LOGGING HEADER * AND OUTPUTS IT AND THE USER DATA TO THE * LOGGING DEVICE * **************************************************** C OCT 0 FILE # D OCT 0 REL SECT # E OCT 0 BUFFER ADDR F OCT 0 BUFFER LENGTH G OCT 0 LOCK LOG NOP JSB .ENTR GET PARAMS DEF C CCA STA G,I SET LOCK. * LDA C,I GET FILE # ADA N01$ MPY P03$ CALCULATE FILE NAME ADA .FD POSITION IN FILE TABLE * LDB A,I n STB FNAME MOVE FILE INA NAME AND LDB A,I USER DISC STB FNAME+1 SUBCHANNEL INA INTO HEADER LDB A,I BLOCK STB FNAME+2 * LDB 104B SET TIME IN STB TIME LDB 105B HEADER BUFFER STB TIME+1 * * LDB D,I SET REL SECTOR STB SECT IN HEADER BUFFER * LDB F,I SET BUFFER LENGTH IN STB LENG HEADER BUFFER * * NOW MAKE CALLS TO WRITE HEADER AND DATA * LOG1 EQU * JSB TCS DEF *+6 DEF P02$ DEF LGLU WRITE HEADER DEF HEAD DEF P13$ DEF IPAR JSB TEOT END OF TAPE? JMP LOG1 YES, DO IT AGAIN. * LOG2 EQU * JSB TCS DEF *+6 DEF P02$ DEF LGLU WRITE USER DATA BUFFER DEF E,I DEF F,I DEF IPAR JSB TEOT END OF TAPE? JMP LOG2 YES. * CLA NO, RETURN. STA G,I CLEAR LOCK. JMP LOG,I SKP **************************************************** * TEOT - AT END OF TAPE ON LOG DEVICE: * 1. BACKSPACE RECORD * 2. WRITE EXTENDED FILE GAP * 3. REWIND/OFFLINE * 4. OUTPUT MESSAGE TO OPERATOR * 5. WAIT IN DYNAMIC STATUS LOOP TILL * DEVICE GOES ON-LINE * * EXIT: P+2 - NO END OF TAPE * P+1 - END OF TAPE AND DEVICE IS BACK * **************************************************** * TEOT NOP JSB .STAT GET TCS STATUS. LDA ISTAT AND =B40 SZA,RSS END OF TAPE? JMP RET2 NO, RETURN P+2 * LDA LGLU AND M77$ GET LOG DEVICE LU#. STA LLU IOR =B200 STA LLUC JSB TTCS BACKSPACE LDA LLU IOR =B1200 STA LLUC JSB TTCS FILE GAP LDA LLU IOR =B500 STA LLUC JSB TTCS REWIND/STANDBY * * INFORM OPE*($RATOR * JSB EXEC DEF *+5 DEF P02$ DEF P01$ DEF MTPE DEF P18$ * * PAUSE TILL DEVICE ON-LINE * LDA LLU IOR =B600 STA LLUC LOG3 JSB TTCS DYNAMIC STATUS JSB .STAT GET TCS STATUS LDA ISTAT SLA ON-LINE? JMP LOG3 NO JMP RET1 YES,RETURN * RET2 ISZ TEOT RET1 JMP TEOT,I * * TCS CONTROL REQUEST * TTCS NOP JSB TCS DEF *+4 DEF P03$ DEF LLUC DEF IPAR JMP TTCS,I SKP **************************************************** * * MESSAGES, TABLES, CONSTANTS * **************************************************** * A EQU 0 B EQU 1 N01$ EQU 52B P01$ EQU 54B P02$ EQU 55B P03$ EQU 56B P05$ EQU 60B P06$ EQU 61B P13$ DEC 13 P15$ EQU 70B P18$ DEC 18 P20$ DEC 20 P53$ DEC 53 M77$ EQU 72B LBYT$ EQU 75B CUDSC EQU 161B RCW OCT 401 TEM1 OCT 0 LOGA DEF LOG LLUC OCT 0 LLU OCT 0 MTPE ASC 18,MOUNT NEXT LOG TAPE-PUT UNIT ONLINE * * FILE DIRECTORY (NAMES) * FD ASC 20,ENTER LOG TAPE IDENTIFIER(10 CHARS MAX) BSS 28 * * LOGGING HEADER * HEAD ASC 5, TIME BSS 2 DEC 15 FNAME ASC 3, SECT BSS 1 LENG BSS 1 END :: :CO MOUNT TAPE #10, TYPE :GO :PA [*  # 24342-18010 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9:ST,S,$TC16,5 FTN4,L,T PROGRAM TCGEN C TERMINAL CONFIGURATION PROGRAM (TCS/B) - 9/74 C C REV B SUPPORTS MULTIPLE LOGICAL DRIVERS, SPECIFICALLY C ATD01 AND ATD02. TERMINALS SUPPORTED INCLUDE C 1) H2600 - HP 2600 C 2) H2615 - HP 2615 C 3) H2749 - HP 2749 C 4) H2762 - HP 2762 C 5) G1200 - GE TERMINET 1200 C 6) P2616 - HP 2616 PAGE MODE (PMT01) C 7) P2640 - HP2640 PAGE MODE (PMT02) C 8) H2640 - HP2640 CHAR. MODE (ATD01) C 9) H7260 - HP7260 GRENOBLE MS CARD READER C (ACR01) C C REV B ALSO SUPPORTS THE SYNCHRONOUS LINE CONTROL C PACKAGE AND TCS INITIALIZATION. C C C THIS PROGRAM GENERATES (WITH THE AID OF THE DOS ASSEMBLER) A C RELOCATABLE TABLE FOR USE WITH THE CONFIGURATION SUBROUTINE C "CNFIG". THE PROGRAM PROVIDES FOR OPERATION WITH TCS AND C ATD01. PARAMETER INPUT MAY BE FROM THE SYSTEM CONSOLE OR C FROM A BATCH DEVICE. THE PROGRAM REQUIRES THAT AN ASCII FILE C "C$$$1" BE SETUP FOR STORING THE SOURCE GENERATED. 50 SECTORS C SHOULD BE SUFFICIENT. C C TO OPERATE C :CL C :PR,TCGEN[,L] L=LOGICAL UNIT FOR INPUT,0 OR 1 FOR CONSOLE C C DIMENSION IBUF(3) DIMENSION IMAG(40),LABLE(3) DIMENSION LINK(6,9) DIMENSION LINKX(6,9) INTEGER ASMB(3),FNAME(3) INTEGER EXEC INTEGER FINDL INTEGER OPND(3),TERM(3) INTEGER ASCII(3) LOGICAL RBIN EQUIVALENCE (LINKX(1,1),LINK(4,1)) EQUIVALENCE(ASCII(1),IMAG(7)) EQUIVALENCE(LABLE(1),IMAG(1)) EQUIVALENCE(OPND(1),IMAG(6)) DATA ASMB/2HAS,2HMB,2H / DATA FNAME/2HC$,2H$$,2H1 / 901 FORMAT("ASMB,L") 902 FORMAT(6X,"NAM") 903 FORMAT(6X,"ENT") 904 FORMAT(6X,"EQU *") 905 FORMAT(6X,"DEC") 906 FORMAT(6X,"OCT") 920 FORMAT(6X,"BSS") 907 FORMAT(6X,"EXT") 908 FORMAT(6X,"END") 910 FORMAT("CONFIGURATION NAME=_") 911  FORMAT("TERMINAL USED=_") 912 FORMAT("LU=_") 914 FORMAT("HALF/FULL DUPLEX=_") 915 FORMAT("SECONDARY CHANNEL?_") 916 FORMAT("ECHO?_") 917 FORMAT("TRACE LENGTH=_") 918 FORMAT("TERMINAL TYPE=_") 919 FORMAT(6X,"DEF") 921 FORMAT(6X,"NOP") 922 FORMAT("TCS USED?_") 923 FORMAT("QUEUE LENGTH=_") 924 FORMAT("FILE NAME=_") 925 FORMAT("FILE NO.=_") 926 FORMAT("SEGMENT NAME=_") 927 FORMAT(6X,"EXT TCS") 928 FORMAT(6X,"JSB TCS") 929 FORMAT(6X,"DEF PQ$") 930 FORMAT(6X,"DEF SG$") 931 FORMAT(6X,"ABS S$") 932 FORMAT(6X,"DEF DR$") 933 FORMAT(6X,"ASC 3,") 934 FORMAT(6X,"DEF T") 935 FORMAT("PQ$ BSS") 936 FORMAT("SG$ EQU *") 937 FORMAT("S$ EQU") 938 FORMAT("DR$ BSS") 939 FORMAT("T EQU *") 940 FORMAT("PRIVILEGED TERMINAL?_") 941 FORMAT("SLC USED?_") 942 FORMAT("SLC") 943 FORMAT("ASCII/EBCDIC CODE?_") 944 FORMAT("CRC/VRC BLOCK CHECK?_") 945 FORMAT("HASP STATION?_") 946 FORMAT("SWITCHED LINE?_") 947 FORMAT("PRIMARY STATION?_") 948 FORMAT("SYNCHRONOUS?_") 949 FORMAT("MTO USED?_") 951 FORMAT("MTO") 950 FORMAT(2X,3A2,2X,"IS NOT DEFINED AS A TERMINAL") 952 FORMAT("GENERATE CONTROL BLOCKS?_") 953 FORMAT("ACTIVE CONTROL BLOCKS=_") 954 FORMAT("RESERVE CONTROL BLOCKS=_") 955 FORMAT("STACK LENGTH=_") 956 FORMAT("CB$") 957 FORMAT(6X,"DEF *+1") 958 FORMAT("MAX NO. OF FILES=_") 959 FORMAT(6X,"DEF *+",I6) 960 FORMAT("CHARACTER TRACE LENGTH=_") 961 FORMAT("EVENT TRACE LENGTH=_") 1000 FORMAT("H2600 ATD01 H2615 ATD01 H2749 ATD01 H2762 ATD01 ", * "G1200 ATD02 P2616 PMT01 P2640 PMT02 H2640 ATD01 ", * "H7260 ACR01 ") CALL RMPAR(IMAG) C----SET NUMBER OF DEVICES IN LINK ND = 9 C----FILL LINK TABLE WITH TERMINAL&DRIVER CALL CODE WRITE(LINK,1000) LU=IMAG(1) C----DEFAULT TO CONSOLE IF NO INPUT SPECIFIED IF(LU.EQ.0)LU=1 C----INITIALIZE SECTOR INDEX IX=0 C----CLEAR LU COUNT LUCNT=0 C----O&c/P ASMB,L CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,901) CALL LINE(IMAG,IX) C----I/P CONFIGURATION NAME IF(LU.NE.1)GOTO 110 WRITE(LU,910) 110 READ(LU,115)IBUF 115 FORMAT(3A2) C----O/P NAM XXXX,6 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,902) DO 116 J=1,3 IF(IBUF(J).EQ.2H )GOTO 117 IF(IAND(IBUF(J),377B).EQ.40B)GOTO 118 116 OPND(J)=IBUF(J) 119 CONTINUE CALL LINE(IMAG,IX) C----O/P ENT XXXX CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,903) OPND(1)=IBUF(1) OPND(2)=IBUF(2) OPND(3)=IBUF(3) CALL LINE(IMAG,IX) C----O/P XXXX EQU * CALL FLUSH (IMAG,40) CALL CODE WRITE(IMAG,904) DO 120 J=1,3 120 LABLE(J)=IBUF(J) CALL LINE(IMAG,IX) C----CLEAR MTO FLAG MTFLG=0 C----MTO OPERATION? IF(LU.NE.1)GOTO 125 WRITE(LU,949) 125 IF(RBIN(2HNO,2HYE,LU))GOTO 126 C----O/P EXT MTO CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,927) CALL CODE WRITE(OPND,951) CALL LINE(IMAG,IX) C----O/P JSB MTO CALL CODE WRITE(IMAG,928) CALL CODE WRITE(OPND,951) C----SET MTO FLAG MTFLG=1 GOTO 305 C----TCS OPERATION 126 CONTINUE IF(LU.NE.1)GOTO 300 WRITE(LU,922) 300 IF(RBIN(2HNO,2HYE,LU))GOTO 310 C----O/P EXT TCS CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,927) CALL LINE(IMAG,IX) C----O/P JSB TCS CALL CODE WRITE (IMAG,928) 305 CALL LINE(IMAG,IX) C-----O/P DEF PQ$ CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,929) CALL LINE(IMAG,IX) C----I/P QUEUE LENGTH 315 IF(LU.NE.1)GOTO 320 WRITE(LU,923) 320 READ(LU,*)LQ IF(LQ)315,315,325 325 CALL FLUSH(IMAG,40) C----O/P DEC N CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)LQ CALL LINE(IMAG,IX) C----O/P DEF SG$ . CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,930) CALL LINE(IMAG,IX) C----O/P ABS S$ CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,931) CALL LINE(IMAG,IX) C----O/P DEF DR$ CALL CODE WRITE(IMAG,932) CALL LINE(IMAG,IX) C----IF MTO GET FILE DIRECTORY SIZE IF(MTFLG.EQ.0)GOTO 326 328 IF(LU.NE.1)GOTO 327 WRITE(LU,958) 327 READ(LU,*)MTFLG IF(MTFLG.LT.0)GOTO 328 C----O/P DEC N (N=0 IF TCS) 326 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)MTFLG CALL LINE(IMAG,IX) C----O/P DEF *+6N+1 IF(MTFLG.EQ.0)GOTO 330 J=MTFLG*6+1 CALL CODE WRITE(IMAG,959)J CALL LINE(IMAG,IX) C----O/P BSS 6N J=J-1 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,920) CALL CODE WRITE(OPND,180)J CALL LINE(IMAG,IX) C----I/P FILES TO BE OPENED 330 IF(LU.NE.1)GOTO 335 WRITE(LU,924) 335 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,933) READ(LU,115)ASCII IF(ASCII(1).EQ.2H/E)GOTO 350 CALL LINE(IMAG,IX) C----O/P ASC 6,ABCDE 345 IF(LU.NE.1)GOTO 340 WRITE(LU,925) 340 CALL FLUSH(IMAG,40) C----I/P FILE # READ(LU,*)NF IF(NF.LT.1)GOTO 345 IF(NF.GT.16) GOTO 345 C----O/P DEC F CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)NF CALL LINE(IMAG,IX) GOTO 330 C----O/P NOP 350 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) C----O/P DEF T CALL CODE WRITE(IMAG,934) CALL LINE(IMAG,IX) C----O/P PQ$ BSS LQ*9 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,935) LQ=9*LQ CALL CODE WRITE(OPND,180)LQ CALL LINE(IMAG,IX) C----O/P SG$ EQU * CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,936) CALL LINE(IMAG,IX) NS=0 C----I/P SEGME$XNTS 360 IF(LU.NE.1)GOTO 365 WRITE(LU,926) 365 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,933) READ(LU,115)ASCII IF(ASCII(1).EQ.2H/E)GOTO 370 NS=NS+1 CALL LINE(IMAG,IX) C----O/P ASC 6,ABCDE GOTO 360 C----O/P S$ EQU NS 370 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,937) CALL CODE WRITE(OPND,180)NS CALL LINE(IMAG,IX) C----O/P DR$ BSS 11*NS NS=11*NS CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,938) CALL CODE WRITE(OPND,180)NS CALL LINE(IMAG,IX) C---O/P T EQU * CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,939) CALL LINE(IMAG,IX) GOTO 130 C----O/P NOP 310 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) GOTO 130 C----I/P TERMINAL USED 130 IF(LU.NE.1)GOTO 135 WRITE(LU,911) 135 CALL FLUSH(IBUF,3) READ(LU,115)IBUF IF(IBUF(1).EQ.2H/E)GOTO 140 C----O/P EXT XXXX CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,907) DO 136 J=1,3 136 OPND(J)=IBUF(J) CALL LINE(IMAG,IX) C----FIND TERMINAL IN LINK ARRAY J=FINDL(LINK,IBUF,ND) IF(J.NE.0)GOTO 131 WRITE(1,950)IBUF PAUSE GOTO 130 C----O/P EXT ATDXX C----IF ENTRY ALREADY FLAGGED BYPASS 131 IF(IAND(LINK(6,J),377B).NE.40B)GOTO 130 DO 132 K=1,3 KK=K+3 132 OPND(K)=LINK(KK,J) CALL LINE(IMAG,IX) C----FLAG ALL MATCHING ENTRIES 133 J=FINDL(LINKX,OPND,ND) IF(J.EQ.0)GOTO 130 LINKX(3,J)=LINKX(3,J)+1 GOTO 133 C----I/P LU 140 IF(LU.NE.1) GOTO 145 WRITE(LU,912) 145 READ(LU,115)IBUF IF(IBUF(1).EQ.2H/E) GOTO 900 C----INCREMENT LU COUNT LUCNT=LUCNT+1 CALL CODE READ(IBUF,*)LUX CALL COMNT(1,LUX,1,IX) C-----TEST FOR PRIVILEGED TERMINAL IF(LU.NE.1)GOTO 143 WRITE(LU,940) 143 IF(RBIN(2HNO,2HYE,LU))GOTO 220 C----I/P TERnMINAL TYPE IF(LU.NE.1)GOTO 146 WRITE(LU,918) 146 CALL FLUSH(TERM,3) READ(LU,115)TERM CALL COMNT(2,TERM,3,IX) C----FIND TERMINAL IN LINK ARRAY JJ=FINDL(LINK,TERM,ND) IF(JJ.NE.0)GOTO 147 WRITE(1,950)TERM STOP 147 CONTINUE C----I/P BAUD RATE CALL IBAUD(LU,IBR,J) CALL COMNT(3,IBR,1,IX) IDUX=0 C----I/P HALF/FULL DUPLEX IF(LU.NE.1) GOTO 155 WRITE(LU,914) 155 IF(RBIN(2HFU,2HHA,LU))IDUX=4 C----I/P SECONDARY CHANNEL IF(LU.NE.1) GOTO 160 WRITE(LU,915) 160 IF(RBIN(2HYE,2HNO,LU))IDUX=IDUX+2 C----I/P ECHO KK=6 IF(LU.NE.1)GOTO 165 IF(LINK(4,JJ).EQ.2HPM)GOTO 161 WRITE(LU,916) 165 IF(RBIN(2HYE,2HNO,LU))IDUX=IDUX+1 IF(IAND(IDUX,4).EQ.4)CALL COMNT(4,1,1,IX) IF(IAND(IDUX,2).EQ.2)CALL COMNT(5,1,1,IX) IF(LINK(4,JJ).EQ.2HPM)KK=7 IF(IAND(IDUX,1).EQ.1)CALL COMNT(KK,1,1,IX) C----I/P TRACE LENGTH IF(LU.NE.1)GOTO 170 WRITE(LU,917) 170 READ(LU,*)ITRCE C----INSURE TRACE TABLE LENGTH IS MULTIPLE OF 4 ITRCE = (ITRCE/4)*4 ITRCE=ITRCE+27 C----EQT EXT LENGTH FOR ACR01 = 31 IF(LINK(4,JJ) .EQ. 2HAC) ITRCE=ITRCE+4 C----I/P DEC XX EXTENSION LENGTH CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)ITRCE 180 FORMAT(I6) CALL LINE(IMAG,IX) 195 IDUX=IDUX+(8*J) IDUX=LUX+(1000B*IDUX) C----O/P OCT BBA0LL (BB=BAUD RATE, A=LINE,LL=LU) CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)IDUX 200 FORMAT(@6) CALL LINE(IMAG,IX) C----O/P DEC XXXX TERMINAL TYPE CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,919) DO 210 J=1,3 210 OPND(J)=TERM(J) CALL LINE(IMAG,IX) C----O/P JSB ATDXX 205 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,928) DO 206 K=1,3 KK=K+3 206 OPND(K)=LINK(KK,JJ) C----REMOVE FLAGjN*($ BIT OPND(3)=IOR(IAND(OPND(3),177400B),40B) CALL LINE(IMAG,IX) C---- O/P OCT TYPE C---- ASYNCH. TERMINAL = 0 IF(OPND(1).EQ.2HAT)J=0 IF(OPND(1) .EQ. 2HAC) J=0 C---- PAGE MODE TERMINAL = 1 IF(OPND(1).EQ.2HPM)J=1 CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)J CALL LINE(IMAG,IX) C----O/P BSS XX RESERVE EXTENSION CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,920) ITRCE=ITRCE-5 CALL CODE WRITE(OPND,180)ITRCE *  $ 24342-18011 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9 CALL LINE(IMAG,IX) GOTO 140 C----I/P SYNCHRONOUS FOR PAGE MODE 161 WRITE(LU,948) GOTO 165 C-----O/P DEC -LU 220 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) LUX=-LUX CALL CODE WRITE(OPND,180)LUX CALL LINE(IMAG,IX) GOTO 140 C----O/P NO END OF LIST 900 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) C----TEST FOR SLC USAGE IF(LU.NE.1)GOTO 1100 WRITE(LU,941) 1100 IF(RBIN(2HNO,2HYE,LU))GOTO 2000 C----O/P EXT SLC CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,927) CALL CODE WRITE(OPND,942) CALL LINE(IMAG,IX) C----O/P JSB SLC CALL CODE WRITE(IMAG,928) CALL CODE WRITE(OPND,942) CALL LINE(IMAG,IX) C----I/P LU 1110 IF(LU.NE.1)GOTO 1115 WRITE(LU,912) 1115 READ(LU,115)IBUF IF(IBUF(1).EQ.2H/E)GOTO 2000 C----INCREMENT LU COUNT LUCNT=LUCNT+1 CALL CODE READ(IBUF,*)LUX C----I/P HALF/FULL DUPLEX IF(LU.NE.1)GOTO 1120 WRITE(LU,914) 1120 IDUX=0 IF(RBIN(2HFU,2HHA,LU))IDUX=IDUX+100000B IF(LU.NE.1)GOTO 1121 WRITE(LU,915) 1121 IF(RBIN(2HYE,2HNO,LU))IDUX=IDUX+40000B C----I/P BAUD RATE CALL IBAUD(LU,K,J) J=J+(400B*J) C----I/P CODE TYPE,ASCII/EBCDIC IBR=0 IF(LU.NE.1)GOTO 1125 WRITE(LU,943) 1125 CONTINUE ISYNC=50 IDUX=IDUX+8 IF(RBIN(2HEB,2HAS,LU))GOTO 1130 ISYNC=22 IDUX=IDUX-1 IF(LU.NE.1)GOTO 1126 WRITE(LU,944) 1126 IF(RBIN(2HVR,2HCR,LU))IBR=IBR+100000B C-----I/P CRR/VRC BLOCK CHECK 1130 IF(LU.NE.1)GOTO 1135 WRITE(LU,945) C----I/P HASP WORK STATION 1135 IF(RBIN(2HYE,2HNO,LU))IBR=IBR+10000B 1140 IF(LU.NE.1)GOTO 1145 WRITE(LU,946) C----I/P SWITCHED LINE 1145 IF(RBIN(2HYE,2HNO,LU))IBR=IBR+2 C----I/P PRIMARY STATION IF(LU.NE.1)GOTO 1150 WRITE(LU,947) 1150 IF(RBIN(2HYE,2HNO,LU))IBR=IBR+1 C----I/P CHARACTER TRACE LENGTH IF(LU.NE.1)GOTO 1155 WRITE(LU,960) 1155 READ(LU,*)IC C----I/P EVENT TRACE LENGTH IF(LU.NE.1)GOTO 1156 WRITE(LU,961) 1156 READ(LU,*)IE C----INSURE EVENT TRACE LENGTH = 3 OR MORE IF(IE.LT.3)IE=3 IL=76 ITRCE=IE+IC IS=60 ITRCE=ITRCE+IL C----O/P DEC ITRCE CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)ITRCE CALL LINE(IMAG,IX) C----O/P OCT IDUX CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)IDUX CALL LINE(IMAG,IX) C----O/P OCT ISYNC CALL CODE WRITE(OPND,200)ISYNC CALL LINE(IMAG,IX) C----O/P OCT BAUD RATE CALL CODE WRITE(OPND,200)J CALL LINE(IMAG,IX) C---- O/P OCT LU CALL CODE WRITE(OPND,200)LUX CALL LINE(IMAG,IX) C----O/P BSS IS-5 CALL CODE WRITE(IMAG,920) ISYNC=IS-5 CALL CODE WRITE(OPND,180)ISYNC CALL LINE(IMAG,IX) C----O/P OCT IBR CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)IBR CALL LINE(IMAG,IX) C----O/P DEC IC CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)IC CALL LINE(IMAG,IX) C----O/P BSS ITRCE-IS ITRCE=ITRCE-IS-2 CALL CODE WRITE(IMAG,920) CALL CODE WRITE(OPND,180)ITRCE CALL LINE(IMAG,IX) GOTO 1110 C----O/P NOP END OF LIST 2000 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) C----TEST FOR CONTROL BLOCK GENERATION IF(LU.NE.1)GOTO 2100 WRITE(LU,952) 2100 IF(RBIN(2HNO,2HYE,LU))GOTO 2500 C----O/P ENT CB$ CALL CODE WRITE(IMAG,903) CALL CODE WRITE(OPND,956) CALL LINE(IMAG,IX) CALL CODE WRITE(IMAG,933) C----DEFINE START SEGMENT CALL SEGDF(LU,ASCII) C----O/Pt CB$ ASC 3,ABCDE CALL CODE WRITE(LABLE,956) CALL LINE(IMAG,IX) C----I/P ACTIVE CONTROL BLOCKS IF(LU.NE.1)GOTO 2200 WRITE(LU,953) 2200 READ(LU,*)LQ C----I/P RESERVE CONTROL BLOCKS 2210 CONTINUE IF(LU.NE.1)GOTO 2300 WRITE(LU,954) 2300 READ(LU,*)KK IF(KK.LT.1)GOTO 2210 KK=LQ+KK C----I/P STACK LENGTH 2310 IF(LU.NE.1)GOTO 2400 WRITE(LU,955) 2400 READ(LU,*)JS IF(JS.LT.4)GOTO 2310 C----O/P DEC LQ CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)LQ CALL LINE(IMAG,IX) C----O/P DEC KK CALL CODE WRITE(OPND,180)KK CALL LINE(IMAG,IX) C---O/P DEC LUCNT CALL CODE WRITE(OPND,180)LUCNT CALL LINE(IMAG,IX) C----O/P DEC 18+2(JS) JS=2*JS J=JS+18 CALL CODE WRITE(OPND,180)J CALL LINE(IMAG,IX) C----O/P DEF *+1 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,957) CALL LINE(IMAG,IX) C----O/P BSS J=J*KK CALL CODE WRITE(IMAG,920) CALL CODE WRITE(OPND,180)J CALL LINE(IMAG,IX) 2500 CONTINUE C----O/P END CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,908) CALL LINE(IMAG,IX) C----CLOSE DISK FILE CALL PACK(-1,-1) C----SETUP JOB FILE FOR ASSEMBLER JF=EXEC(18,FNAME,NSECT) CALL IPUT(124B,JF) CALL IPUT(125B,JF) JS=IGET(161B) CALL IPUT(177B,JS) C----EXECUTE ASSEMBLER CALL EXEC(10,ASMB,2,99) STOP 117 OPND(J)=2H,6 OPND(J+1)=2H GOTO 119 118 OPND(J)=IOR(IAND(IBUF(J),177400B),54B) OPND(J+1)=2H6 OPND(J+2)=2H GOTO 119 END SUBROUTINE SEGDF(LU,INAM) C----GENERATE RELOCATABLE BINARY FOR START SEGMENT DIMENSION INAM(1) DIMENSION IBIN(44) DATA IBIN/10400B,20000B,166456B,22123B,52122B,52040B,1,0, - 0,5,143B,0,0,0,0,0,0, - 3400B,40001B,6246B,22123B,52122B,52000B,0, - 4400B,100002B,0,0,0,0,51524B,51124B,20402B, - 3000B,60101B,176103B,0,100000B,16002B, - 2000B,120001B,120001B,0,0/ C ARRAY CONTAINS RELOCATABLE BINARY FOR FOLLOWIN C NAM $STRT,5 C ENT $STRT C ENT MAIN C EXT STRT! CSTRT JSB STRT! C END CALL FLUSH(IBIN(28),3) IF(LU.NE.1)GOTO 10 WRITE(LU,5) 5 FORMAT("MAIN PROGRAM =_") 10 READ(LU,15)(IBIN(J),J=28,30) 15 FORMAT(3A2) IBIN(30)=IAND(IBIN(30),177400B)+1 IBIN(27)=IBIN(26) DO 20 J=28,33 20 IBIN(27)=IBIN(27)+IBIN(J) CALL FLUSH(IBIN(4),3) IF(LU.NE.1)GOTO 25 WRITE(LU,26) 26 FORMAT("START SEGMENT=_") 25 READ(LU,15)(IBIN(J),J=4,6) IBIN(3)=IBIN(2) DO 40 J=4,17 40 IBIN(3)=IBIN(3)+IBIN(J) INAM(1)=IBIN(4) INAM(2)=IBIN(5) INAM(3)=IBIN(6) JBINC=IGET(102B) ITRK=IAND(JBINC,177400B)/400B IF(ITRK.LT.0)ITRK=ITRK+400B ISECT=IAND(JBINC,377B) CALL EXEC(-2,102B,IBIN,44,ITRK,ISECT) ISECT=ISECT+1 IF(ISECT.LT.IGET(116B))GOTO 30 ISECT=0 ITRK=ITRK-1 30 J=ITRK*400B+ISECT IF(J.EQ.IGET(160B))GOTO 999 CALL IPUT(102B,J) RETURN 999 CALL IPUT(101B,-1) WRITE(1,1000) 1000 FORMAT("JBIN OVERFLOW") RETURN END INTEGER FUNCTION FINDL(L1,L2,L3) C THIS FUNCTION FINDS THE FIRST ITEM IN ARRAY L1 WHICH C MATCHES L2. L3 CONTAINS THE NUMBER OF ITEMS IN L2. C THE RESULTANT IS THE INDEX INTO L2, ZERO INDICATES C NO FIND. DIMENSION L1(6,1),L2(3) DO 1 J=1,L3 DO 2 K=1,3 IF(L1(K,J).NE.L2(K))GOTO 1 2 CONTINUE FINDL=J RETURN 1 CONTINUE FINDL=0 RETURN END LOGICAL FUNCTION RBIN(L1,L2,LU) C THIS FUNCTION READS 2 ASCII CHARACTERS FROM THE DEVICE C SPECIFIED BY LU. IF THE ANSWER MATCHES L1,THE RESULT IS C TRUE. IF THE ANSWER MATC=HES L2 THE ANSWER IS FALSE. IF C THE ANSWER MATCHES NEITHER,THE OPERATOR IS PROMPTED TO C INPUT CORRECT REPLIES. 1 READ(LU,10)IN 10 FORMAT(A2) IF(IN.EQ.L1)GOTO 20 IF(IN.EQ.L2)GOTO 30 WRITE(1,40)L1,L2 40 FORMAT("INCORRECT INPUT"/"ENTER ",A2," OR "A2) IF(LU.NE.1)PAUSE GOTO 1 20 RBIN=.TRUE. RETURN 30 RBIN=.FALSE. RETURN END SUBROUTINE COMNT(L1,L2,L3,L4) C THIS SUBROUTINE OUTPUTS COMMENTS TO THE SOURCE FILE. C----L1= FORMAT C----L2=VARIABLE C----L3=ARRAY LENGTH C----L4=SECTOR INDEX DIMENSION IMAG(20),L2(1) 10 FORMAT("***LU ",I2) 20 FORMAT("***",3A2) 30 FORMAT("***",I4," BAUD") 40 FORMAT("*** FULL DUPLEX") 50 FORMAT("*** SECONDARY CHAN.") 60 FORMAT("*** ECHO") 70 FORMAT("*** SYNCHRONOUS") CALL FLUSH(IMAG,20) GOTO(1,2,3,4,5,6,7)L1 1 CALL CODE WRITE(IMAG,10)L2 900 CALL LINE(IMAG,L4) RETURN 2 CALL CODE WRITE(IMAG,20)(L2(J),J=1,L3) GOTO 900 3 CALL CODE WRITE(IMAG,30)L2 GOTO 900 4 CALL CODE WRITE(IMAG,40) GOTO 900 5 CALL CODE WRITE(IMAG,50) GOTO 900 6 CALL CODE WRITE(IMAG,60) GOTO 900 7 CALL CODE WRITE(IMAG,70) GOTO 900 END SUBROUTINE IBAUD(LU,K,J) C THIS SUBROUTINE INPUTS BAUD RATE AND ENCODES IT. K CONTAINS C THE BAUD RATE AS INPUT, AND J CONTAINS THE ENCODED RATE. INTEGER RATE(15) DATA RATE/110,134,150,220,300,440,600,880, * 1200,1760,2400,4800, * 3600,7200,9600/ 913 FORMAT("BAUD RATE=_") 914 FORMAT("INVALID BAUD RATE") 1 CONTINUE IF(LU.NE. 1)GOTO 150 WRITE(LU,913) 150 READ(LU,*)IBR K=IBR IF(K.EQ.0)GOTO 200 C----ENCODE BAUD RATE DO 190 J=1,15 IF(RATE(J).EQ.IBR)GOTO 195 190 CONTINUE J=0 WRITE(1,914) IF(LU.NE.1)PAUSE GOTO 1 195 RETURN 200 J=0 |$" RETURN END SUBROUTINE LINE(IL,IX) C THIS SUBROUTINE PACKS 20 CHARACTER SOURCE LINES. DIMENSION IL(1) CALL PACK(5000B,IX) DO 10 L=1,10 10 CALL PACK(IL(L),IX) RETURN END SUBROUTINE PACK(II,IX) C THIS SUBROUTINE BUILDS DISK FILE C$$$1. INTEGER FNAME(3),DISK(128) INTEGER RSECT IF(IX)900,100,200 100 CALL CODE WRITE(FNAME,110) 110 FORMAT("C$$$1 ") RSECT=0 IX=1 200 DISK(IX)=II IF(IX.NE.128)GOTO 210 CALL EXEC(15,3,DISK,128,FNAME,RSECT) RSECT=RSECT+1 IX=0 210 IX=IX+1 IY=IX RETURN 900 DISK(IY)=0 DISK(IY+1)=-1 CALL EXEC(15,3,DISK,128,FNAME,RSECT) RSECT=RSECT+1 WRITE(1,910)RSECT 910 FORMAT("SECTORS="I5) RETURN END SUBROUTINE FLUSH(IT,L) C THIS SUBROUTINE FILLS ARRAY IT WITH SPACES. DIMENSION IT(1) DO 10 J=1,L 10 IT(J)=2H RETURN END END$ :: :ST,S,$TC17,5 ASMB,L,C NAM IGET,7 ENT IGET IGET NOP LDB IGET,I ISZ IGET LDA IGET,I LDA A,I LDA A,I JMP B,I A EQU 0 B EQU 1 END :: :ST,S,$TC18,5 ASMB,L,C NAM IPUT,7 ENT IPUT EXT .ENTR,EXEC ADDR NOP VALU NOP IPUT NOP JSB .ENTR DEF ADDR LDA VALU,I LDB ADDR,I JSB EXEC DEF *+2 DEF N19$ JMP IPUT,I N19$ DEC -19 END :: :CO MOUNT TAPE #12, TYPE :GO :PA $  $ 24342-18012 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9:ST,S,$TC19,5 FTN4,L,T PROGRAM RECOV C B C THIS PROGRAM IS USED TO PROCESS MTO LOG TAPES AND C TO BRING A COPY DISC TO THE STATE THAT THE LIVE ONE B C WAS WHEN RECOVERY BECAME NECESSARY. B C B COMMON IB(20) COMMON ID(1000) COMMON IL,IX,IRX DIMENSION IR(5),ISUB(8) ITI=0 IRX = -1 IX=0 1 WRITE(1,900) B 900 FORMAT(" INPUT LOG TAPE IDENTIFIER._") READ(1,910)(IR(K),K=1,5) 910 FORMAT(5A2) WRITE(1,920) B 920 FORMAT(" INPUT LOG TAPE LU#._") READ(1,*)IL WRITE(1,700) 700 FORMAT(" INPUT # OF SUBCHANNELS TO BE UPDATED._") READ(1,*) INS IF(INS .LT. 1 .OR. INS .GT. 8) STOP DO 172 I=1,INS WRITE(1,710) 710 FORMAT(" INPUT SUBCHANNEL #._") READ(1,*) ISUB(I) 172 CONTINUE C B C NOW HAVE LOG TAPE ID AND LU, SO DO A C ONE RECORD READ AND VERIFY IT B C B CALL EXEC(3,400B+IL) 70 CALL EXEC(1,100B+IL,IB,20) B CALL EXEC(13,IL,IS,ILOG) B IF(IAND(IS,200B) .NE. 0) GOTO 40 IF(IAND(IS,40B) .EQ. 0) GOTO 71 CALL NTAPE GOTO 70 C B C NOW COMPARE LOG TAPE ID C B 71 DO 10 I=1,5 IF(IR(I).NE.IB(I)) GOTO 20 10 CONTINUE GOTO 30  B C B C LOG TAPE ID INCORRECT C B 20 WRITE(1,930)(IB(K),K=1,5) 930 FORMAT(" LOG TAPE IDENTIFIER INCORRECT -",/ * " IDENTIFIER ON TAPE IS: ",5A2) IF(ITI.EQ.0)GOTO 1 72 WRITE(1,931) 931 FORMAT(" ABORT RECOVERY?_") READ(1,980)IC IF(IC.EQ.2HYE) GOTO 55 IF(IC.EQ.2HNO) GOTO 70 GOTO 72 C C VERIFY THE SUBCHANNEL C 30 ISA = IAND(IB(11),177B) ISB = 0 DO 175 I=1,INS IF(ISA .EQ. ISUB(I)) ISB = 1 175 CONTINUE IF(ISB .NE. 0) GOTO 19 IF(IB(8) .EQ. 15) CALL EXEC(1,IL,ID(1),IB(13)) GOTO 70 C B C NOW CHECK WHAT IS ON LOGGING TAPE,SHOULD BE A HEADER BLOCK B C B 19 CONTINUE IT = IB(8) ITI=1 801 IF(IT .NE. 15) GOTO 805 CALL WRTE GOTO 40 805 CONTINUE C C AT THIS STAGE WE CANNOT UNDERSTAND THE HEADER B C B WRITE(1,940) B 940 FORMAT(" CANNOT DECIPHER HEADER, HEADER IS") WRITE(6,940) B WRITE(1,950)IB B 950 FORMAT(2(8O7/)) WRITE(6,950)IB B C C NOW SEE WHAT THE OPERATOR WANTS TO DO C 80 WRITE(1,970) 970 FORMAT(" ABORT RECOVERY?_") READ(1,980)IC 980 FORMAT(A2) IF(IC.EQ.2HNO) GOTO 70 IF(IC.NE.2HYE) GOTO 80 C C NOW ABORT RECOVERY C WRITE(1,990) WRITE(6,990) 990 FORMAT(//" RECOVERY ABORTED AT OPERATOR'S REQUEST."//) GOTO 55 C B C COME HERE AFTER PROCESSING RECORD B C B C SEE IF ITS END OF TAPE B C B 40 CALL EXEC(13,IL,ISTAT,ILOG) B IF(IAND(ISTAT,40B) .NE. 0) GOTO 45 IF(IAND(ISTAT,200B) .EQ. 0) GOTO 50 GOTO 47 45 CALL NTAPE GOTO 801 C B C NOW ITS AN END OF FILE SO TELL OPERATOR B C B 47 WRITE(1,990) WRITE(6,960) B 960 FORMAT(" END OF FILE - END OF PROGRAM.") 55 IX=1 C C CHECK FOR PROGRAM ABORT B C 50 IF(IX.NE.0) CALL EXEC(6) B GOTO 70 B END B SUBROUTINE PERR(IE) B C B C THIS SUBROUTINE CHECKS FOR LOG PARITY ERRORS B C B COMMON IB(20) COMMON ID(1000) COMMON IL,IX IE=0 C B C GET STATUS OF LU B C l B CALL EXEC(13,IL,ISTAT,ILOG) B IF(IAND(ISTAT,40042B).NE.0)IE=1 B C B C HAVE SET ERROR INDICATOR 0=GOOD 1=BAD B C B RETURN B END B SUBROUTINE WRTE B COMMON IB(20) COMMON ID(1000) COMMON IL,IX,IRX C B C THIS SUBROUTINE PROCESSES DISK WRITES B C B CALL PERR(I) B C B C FIX UP FILE NAME C IDA = IOR(IAND(IB(11),177400B),40B) IF(I.EQ.0) GOTO 20 WRITE(1,900)IB B WRITE(6,900)IB B 900 FORMAT(" ERROR ON LOG READ - DATA IS:"//,5(4@10/)) C B C NOW SEE WHAT THE OPERATOR WANTS TO DO B C B 30 WRITE(1,910) B 910 FORMAT(" ABORT RECOVERY?_") READ(1,920)IC 920 FORMAT(A2) C B IF(IC.EQ.2HYE)GOTO 10 T B IF(IC.EQ.2HNO)GOTO 70 GOTO 30 C B C NOW SET FOR ABORT B C B 10 IX=1 WRITE(1,930) B WRITE(6,930) B 930 FORMAT(" LOG ERROR:",//" ABORTED AT OPERATOR'S REQUEST.") 40 RETURN B C B C B 70 WRITE(1,940) B 940 FORMAT(" TRY THE WRITE?_") C B READ(1,920)IC B IF(IC.EQ.2HYE) GOTO 20 IF(IC.EQ.2HNO)GOTO 60 B GOTO 70 B C B C DOESNT WANT TO RISK THE WRITE SO WILL RETURN B C B 60 GOTO 40 C B C OK ITS HIS DISK GET THE DATA B C B 20 CALL EXEC(1,IL,ID(1),IB(13)) C B C SEE IF WE READ IT OK B C ` B CALL PERR(IE) B IF(IE.EQ.0)GOTO 80 B C B C NOW HAVE A READ ERROR B C IR=IAND(IB(11),177B) B WRITE(1,950) B WRITE(6,950) B 950 FORMAT(" READ ERROR ON DATA TO BE WRITTEN ON DISC.") WRITE(1,960) IB(9),IB(10),IDA,IB(12),IR WRITE(6,960) IB(9),IB(10),IDA,IB(12),IR 960 FORMAT(" DISC FILE NAME:",3A2,/" SECT:",I5,/" UD: ",I2,/////) C B C NOW OUTPUT THE DATA B C B WRITE(6,970) B 970 FORMAT(" DATA:"//) DO 90 I=1,IB(13) B WRITE(1,980)I,ID(I) B 90 WRITE(6,980)I,ID(I) B 980 FORMAT(" WORD ",I4," = ",@7) C B C SEE WHAT HE WANTS TO DO B C B 100 WRITE(1,990) B 990 FORMAT(" TRY THE WRITE?_") READ(1,920)IC B IF(IC.EQ.2HYE)GOTO 110 B IF(IC.EQ.2HNO)GOTO 120  B GOTO 100 B C B C DOESNT WANT IT WRITTEN SO RETURN B C B 120 GOTO 40 B C B C OK ITS STILL HIS DISK B C B C GET TO CORRECT SUBCHANNEL B C B 80 CONTINUE 110 IR = IAND(IB(11),177B) IF(IR .EQ. IRX) GOTO 888 IRX = IR CALL EXEC(23,0,IR,1) C C CHECK THAT FILE EXISTS C 888 CONTINUE CALL EXEC(18,IB(9),ISEC) C C SEE IF FILE EXISTS C IF(ISEC.NE.0) GOTO 150 C C TELL OPERATOR FILE DOESN'T EXIST C WRITE(1,991)IB(9),IB(10),IDA 991 FORMAT(" FILE ",3A2," DOES NOT EXIST!") WRITE(6,991)IB(9),IB(10),IDA C C SEE WHAT HE WANTS TO DO C 175 WRITE(1,910) 130 READ(1,920)IC IF(IC.EQ.2HYE) GOTO 10 IF(IC.NE.2HNO)GOTO 175 GOTO 40 C C FILE EXISTS SO CHECK LENGTH C 150 CONTINUE ILEN=IB(13)/128 ILET=ILEN*128 IF(ILET.NE.IB(13))ILEN=ILEN+1 ILEN=ILEN+IB(12) IF(ILEN.GT.ISEC) GOTO 170 C C LENGTH OK SO DO THE WRITE C C B C NOW DO THE WRITE B C B CALL EXEC(15,3,ID(1),IB(13),IB(9),IB(12)) B C 0.* B C NOW RETURN B C B GOTO 40 B C C FILE NOT LARGE ENOUGH SO TELL OPERATOR C 170 CONTINUE WRITE(1,992) IB(9),IB(10),IDA 992 FORMAT(" NOT ENOUGH ROOM IN ",3A2," TO WRITE!") C C SEE WHAT HE WANTS TO DO C 155 WRITE(1,910) READ(1,920)IC IF(IC.EQ.2HYE) GOTO 10 IF(IC.NE.2HNO) GOTO 155 GOTO 40 END B SUBROUTINE NTAPE COMMON IB(20) COMMON ID(1000) COMMON IL,IX CALL EXEC(3,IL+500B) 10 WRITE(1,100) 100 FORMAT(" MOUNT NEXT TAPE - TYPE 'READY'._") READ(1,110) IS 110 FORMAT(A2) IF(IS .NE. 2HRE) GOTO 10 RETURN END END$ :: :CO MOUNT TAPE #13, TYPE :GO :PA 0  ' 24342-18013 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9:ST,S,$TC20,5 FTN4 PROGRAM EDIT C C IF IMAGE/2100 IS BEING USED IN THIS TCS SYSTEM C THE ASMB STATEMENT IN THE PROGRAMS: C 1. START C 2. STRT! C 3. JOIN C 4. GDISC C 5. LOGIN C MUST BE EDITED FOR THE CONDITIONAL C ASSEMBLY (Z-OPTION) TO INCLUDE THE C IMAGE/2100 COMMON AREA. DIMENSION IEND(17),IBUF(17) DATA IEND/2H:C,2HO ,2H**,2H*A,2HSS,2HEM, * 2HBL,2HIE,2HS ,2HAN,2HD ,2HCO, * 2HMP,2HIL,2HES,2H**,2H* / WRITE(1,1001) 1001 FORMAT("IMAGE/2100 BEING USED?_") 10 READ(1,1002) IANS 1002 FORMAT(A2) IF(IANS .EQ. 2HYE) STOP 7777 IF(IANS .NE. 2HNO) GOTO 30 C C SAVE AND REPLACE BATCH LU # C ISAVE = IGET(111B) CALL IPUT(111B,1) C C FLUSH THE EDITS C 15 CALL EXEC(1,ISAVE,IBUF,17) DO 20 I=1,17 IF(IBUF(I) .NE. IEND(I)) GOTO 15 20 CONTINUE C C RESTORE THE BATCH DEVICE C CALL IPUT(111B,ISAVE) STOP 5555 C C REPROMPT C 30 WRITE(1,1003) 1003 FORMAT("ENTER 'YE' OR 'NO'._") GOTO 10 END END$ :: :ST,S,$TC21,5 ASMB,R NAM IPUT,7 ENT IPUT EXT .ENTR,EXEC ADDR NOP VALU NOP IPUT NOP JSB .ENTR DEF ADDR LDA VALU,I LDB ADDR,I JSB EXEC DEF *+2 DEF N19$ JMP IPUT,I N19$ DEC -19 END :: :ST,S,$TC22,5 ASMB,R NAM IGET,7 ENT IGET IGET NOP LDB IGET,I ISZ IGET LDA IGET,I LDA 0,I LDA 0,I JMP 1,I END :: :CL :JF,$TC20 :PR,FTN4,2,99 :JF,$TC21 :PR,ASMB,2,99 :JF,$TC22 :PR,ASMB,2,99 :PR,LOADR :CL :PR,EDIT :ED,$TC03,5 /R,1 ASMB,L,C,Z /E :ED,$TC04,5 /R,1 ASMB,L,C,Z /E :ED,$TC05,5 /R,1 ASMB,L,C,Z /E :ED,$TC10,5 /R,1 ASMB,L,C,Z /E :ED,$TC15,5 /R,1 ASMB,L,C,Z /E :CO ***ASSEMBLIES AND COMPILES*** :CO ***ASSEMBLIES AND COMPILES*** :CO ***TYPE :GO*** :PA :CL :JF,$TC01 :PR,ASMB,2,99 :JF,$TC02 :PR,ASMB,2,99 :JF,$TC03 :P  R,ASMB,2,99 :JF,$TC04 :PR,ASMB,2,99 :JF,$TC05 :PR,ASMB,2,99 :JF,$TC06 :PR,ASMB,2,99 :JF,$TC07 :PR,ASMB,2,99 :JF,$TC08 :PR,ASMB,2,99 :JF,$TC09 :PR,ASMB,2,99 :JF,$TC10 :PR,ASMB,2,99 :JF,$TC11 :PR,ASMB,2,99 :JF,$TC12 :PR,ASMB,2,99 :JF,$TC13 :PR,ASMB,2,99 :JF,$TC14 :PR,ASMB,2,99 :JF,$TC15 :PR,ASMB,2,99 :ST,R,#TC01 :CL :JF,$TC16 :PR,FTN4,2,99 :JF,$TC17 :PR,ASMB,2,99 :JF,$TC18 :PR,ASMB,2,99 :ST,R,#TC02 :PR,LOADR :CL :JF,$TC19 :PR,FTN4,2,99 :ST,R,#TC03 :PR,LOADR :ST,P,TCGEN,RECOV :CO ***END OF JOB*** :EJ $  " 24344-18001 1346 S 0122               H0101  ASMBAB̬Ԭ HDKSϠ60NŠPNҠDV ANGSUN: SB0B ANDNҠH (AVA̠MAԠDŠ(-Ϡ- (ANGHƠBUҠNHAASAND (BADDSSƠBU MAMUMNŠNGH:3HAAS-NYHŠS 3HAASNHŠBUҠ̠BŠPNDƠM HAN3HAASAŠUSD. VA̠MAԠDSSPNDϠVA̠MA N̠APŠHANNSNHŠPN.HŠSANDAD HANN̠ASSGNMNSAŠASS: DŠAPŠHANN̠UNN ------------------------ 00SNGŠSPA -SKPϠPƠNԠPAG -SKPϠNԠHAƠPAG -33SKPϠNԠUAҠPAG -SKPϠNԠSHPAG NŠHAԠABUҠNGHƠ0SANŠD VA̠MAԠMMANDS<-AŠGND. G0000B MP3 DƠNŠNAZANAN G0B DƠNP KŠU0BK SKP GK+06000B SPà NŠAADNHANN̠ADDSSM AND.SHGSҠAND SASŠNB DA̷MAH AND. ҠAND SA.S DA̸MSàH AND. ҠAND SA.S DA9MSSH AND. ҠAND SA.9S HԠBH MPN SPà .Ԡ .Ԡ00 ̷A0 ̸Sà0 9SS0 SKP G0006B ABSK+00B SPà GK+055B SPà NPNPNY MANAMNGAVŠHAҠUNԠҠPSMAԠNԠ SAԠSAVŠNGAVŠHAAҠUNԠҠVԠMAԠMMAND SSASSHKMD MPVà(AZϠҠPSVŠSVԠMAԠMMAND ADAñ3HKҠHAAҠUNԠ3 SSASS MP.NŠNGHK DAM3NŠϠNG-SԠϠ3HAS MPNP+ SPà .DBBɠHNԠV .B̬ŬSBBSBUҠADDSSND? MP.YS:HADDSS .3DABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS-HANGŠHAAS BSAVŠHAAҠADDSSNB AND3MASKƠUPPҠHAA SBPNԠUPUԠϠPNҠBU NBNMNԠHAAҠADDSS ŬBANDNVԠϠBUҠADDSSANDUPPүҠAG SZԠNMNԠANDSԠHAAҠUN MP.3HNԠHAA DAMADNDƠMSSAGŠD SBPNԠANDUPUԠϠPN DAMADSNGŠSPAŠMMAND .5SBPNԠANDUPUԠϠPN MPNPɠUN SPà VàSZASS MP.5- SAB ADA. PBDñ DA. ADBM.5 SSB MP.5 MPNP SPà PNԠNPUNŠϠANSMԠHAAҠҠMMANDϠPN .A0UPUԠHAA .Sà0 .9SS0HKƠHAAҠUPUԠMP MP-N--SϠA MPPNԬɠYS--SϠUN SPà NSANSANDMASKS SPà ñ3Dà3 MAؠHAAҠUN 3Ԡ3HAAҠMASK .Ԡ0003 MԠ000 .Ԡ0000 M3Dà-3SSHAҠMAMUMϠ3 M.5Dà-5 DñDà SPà MPAYSAG ԠNPUMNUNԠҠPNҠHANN̠S SPà ASSMBYPAAMS SPà BUANƠBGS SPà ND u $ 24345-18001 1346 S 0122               H0101  ASMBAB̬Ԭ HDKSϠHP60NŠPNҠDV ANGSUN: SB0B ANDNҠH (AVA̠MAԠDŠ(-Ϡ- (ANGHƠBUҠNHAASAND (BADDSSƠBU MAMUMNŠNGH:3HAAS-NYHŠS 3HAASNHŠBUҠ̠BŠPNDƠM HAN3HAASAŠUSD. VA̠MAԠDSSPNDϠVA̠MA N̠APŠHANNSNHŠPN.HŠSANDAD HANN̠ASSGNMNSAŠASS: DŠAPŠHANN̠UNN ------------------------ 00SNGŠSPA -SKPϠPƠNԠPAG -SKPϠNԠHAƠPAG -33SKPϠNԠUAҠPAG -SKPϠNԠSHPAG NŠHAԠABUҠNGHƠ0SANŠD VA̠MAԠMMANDS<-AŠGND. G0000B MP3 DƠNŠNAZANAN G0B DƠNP KŠU0000BK SKP GK+06000B SPà NŠAADNHANN̠ADDSSM AND.SHGSҠAND SASŠNB DA̷MAH AND. ҠAND SA.S DA̸MSàH AND. ҠAND SA.S DA9MSSH AND. ҠAND SA.9S =HԠBH MPN SPà .Ԡ .Ԡ00 ̷A0 ̸Sà0 9SS0 SKP G0006B ABSK+00B SPà GK+055B SPà NPNPNY MANAMNGAVŠHAҠUNԠҠPSMAԠNԠ SAԠSAVŠNGAVŠHAAҠUNԠҠVԠMAԠMMAND SSASSHKMD MPVà(AZϠҠPSVŠSVԠMAԠMMAND ADAñ3HKҠHAAҠUNԠ3 SSASS MP.NŠNGHK DAM3NŠϠNG-SԠϠ3HAS MPNP+ SPà .DBBɠHNԠV .B̬ŬSBBSBUҠADDSSND? MP.YS:HADDSS .3DABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS-HANGŠHAAS BSAVŠHAAҠADDSSNB AND3MASKƠUPPҠHAA SBPNԠUPUԠϠPNҠBU NBNMNԠHAAҠADDSS ŬBANDNVԠϠBUҠADDSSANDUPPүҠAG SZԠNMNԠANDSԠHAAҠUN MP.3HNԠHAA DAMADNDƠMSSAGŠD SBPNԠANDUPUԠϠPN DAMADSNGŠSPAŠMMAND .5SBPNԠANDUPUԠϠPN MPNPɠUN SPà VàSZASS MP.5- SAB ADA. PBDñ DA. ADBM.5 SSB MP.5 MPNP SPà PNԠNPUNŠϠANSMԠHAAҠҠMMANDϠPN .A0UPUԠHAA .Sà0 .9SS0HKƠHAAҠUPUԠMP MP-N--SϠA MPPNԬɠYS--SϠUN SPà NSANSANDMASKS SPà ñ3Dà3 MAؠHAAҠUN 3Ԡ3HAAҠMASK .Ԡ0003 MԠ000 .Ԡ0000 M3Dà-3SSHAҠMAMUMϠ3 M.5Dà-5 DñDà SPà MPAYSAG ԠNPUMNUNԠҠPNҠHANN̠S SPà ASSMBYPAAMS SPà BUANƠBGS SPà ND / % 24346-18001 1346 S 0122               H0101  ASMBAB̬Ԭ HDKSϠHP60NŠPNҠDV ANGSUN: SB0B ANDNҠH (AVA̠MAԠDŠ(-Ϡ- (ANGHƠBUҠNHAASAND (BADDSSƠBU MAMUMNŠNGH:3HAAS-NYHŠS 3HAASNHŠBUҠ̠BŠPNDƠM HAN3HAASAŠUSD. VA̠MAԠDSSPNDϠVA̠MA N̠APŠHANNSNHŠPN.HŠSANDAD HANN̠ASSGNMNSAŠASS: DŠAPŠHANN̠UNN ------------------------ 00SNGŠSPA -SKPϠPƠNԠPAG -SKPϠNԠHAƠPAG -33SKPϠNԠUAҠPAG -SKPϠNԠSHPAG NŠHAԠABUҠNGHƠ0SANŠD VA̠MAԠMMANDS<-AŠGND. G0000B MP3 DƠNŠNAZANAN G0B DƠNP KŠU0000BK SKP GK+06000B SPà NŠAADNHANN̠ADDSSM AND.SHGSҠAND SASŠNB DA̷MAH AND. ҠAND SA.S DA̸MSàH AND. ҠAND SA.S DA9MSSH AND. ҠAND SA.9S vHԠBH MPN SPà .Ԡ .Ԡ00 ̷A0 ̸Sà0 9SS0 SKP G0006B ABSK+00B SPà GK+055B SPà NPNPNY MANAMNGAVŠHAҠUNԠҠPSMAԠNԠ SAԠSAVŠNGAVŠHAAҠUNԠҠVԠMAԠMMAND SSASSHKMD MPVà(AZϠҠPSVŠSVԠMAԠMMAND ADAñ3HKҠHAAҠUNԠ3 SSASS MP.NŠNGHK DAM3NŠϠNG-SԠϠ3HAS MPNP+ SPà .DBBɠHNԠV .B̬ŬSBBSBUҠADDSSND? MP.YS:HADDSS .3DABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS-HANGŠHAAS BSAVŠHAAҠADDSSNB AND3MASKƠUPPҠHAA SBPNԠUPUԠϠPNҠBU NBNMNԠHAAҠADDSS ŬBANDNVԠϠBUҠADDSSANDUPPүҠAG SZԠNMNԠANDSԠHAAҠUN MP.3HNԠHAA DAMADNDƠMSSAGŠD SBPNԠANDUPUԠϠPN DAMADSNGŠSPAŠMMAND .5SBPNԠANDUPUԠϠPN MPNPɠUN SPà VàSZASS MP.5- SAB ADA. PBDñ DA. ADBM.5 SSB MP.5 MPNP SPà PNԠNPUNŠϠANSMԠHAAҠҠMMANDϠPN .A0UPUԠHAA .Sà0 .9SS0HKƠHAAҠUPUԠMP MP-N--SϠA MPPNԬɠYS--SϠUN SPà NSANSANDMASKS SPà ñ3Dà3 MAؠHAAҠUN 3Ԡ3HAAҠMASK .Ԡ0003 MԠ000 .Ԡ0000 M3Dà-3SSHAҠMAMUMϠ3 M.5Dà-5 DñDà SPà MPAYSAG ԠNPUMNUNԠҠPNҠHANN̠S SPà ASSMBYPAAMS SPà BUANƠBGS SPà ND / & 24347-18001 1346 S 0122               H0101  ASMBAB̬Ԭ HD6KSϠHP60NŠPNҠDV ANGSUN: SB0B ANDNҠH (AVA̠MAԠDŠ(-Ϡ- (ANGHƠBUҠNHAASAND (BADDSSƠBU MAMUMNŠNGH:3HAAS-NYHŠS 3HAASNHŠBUҠ̠BŠPNDƠM HAN3HAASAŠUSD. VA̠MAԠDSSPNDϠVA̠MA N̠APŠHANNSNHŠPN.HŠSANDAD HANN̠ASSGNMNSAŠASS: DŠAPŠHANN̠UNN ------------------------ 00SNGŠSPA -SKPϠPƠNԠPAG -SKPϠNԠHAƠPAG -33SKPϠNԠUAҠPAG -SKPϠNԠSHPAG NŠHAԠABUҠNGHƠ0SANŠD VA̠MAԠMMANDS<-AŠGND. G0000B MP3 DƠNŠNAZANAN G0B DƠNP KŠU30000B6K SKP GK+06000B SPà NŠAADNHANN̠ADDSSM AND.SHGSҠAND SASŠNB DA̷MAH AND. ҠAND SA.S DA̸MSàH AND. ҠAND SA.S DA9MSSH AND. ҠAND SA.9S {5HԠBH MPN SPà .Ԡ .Ԡ00 ̷A0 ̸Sà0 9SS0 SKP G0006B ABSK+00B SPà GK+055B SPà NPNPNY MANAMNGAVŠHAҠUNԠҠPSMAԠNԠ SAԠSAVŠNGAVŠHAAҠUNԠҠVԠMAԠMMAND SSASSHKMD MPVà(AZϠҠPSVŠSVԠMAԠMMAND ADAñ3HKҠHAAҠUNԠ3 SSASS MP.NŠNGHK DAM3NŠϠNG-SԠϠ3HAS MPNP+ SPà .DBBɠHNԠV .B̬ŬSBBSBUҠADDSSND? MP.YS:HADDSS .3DABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS-HANGŠHAAS BSAVŠHAAҠADDSSNB AND3MASKƠUPPҠHAA SBPNԠUPUԠϠPNҠBU NBNMNԠHAAҠADDSS ŬBANDNVԠϠBUҠADDSSANDUPPүҠAG SZԠNMNԠANDSԠHAAҠUN MP.3HNԠHAA DAMADNDƠMSSAGŠD SBPNԠANDUPUԠϠPN DAMADSNGŠSPAŠMMAND .5SBPNԠANDUPUԠϠPN MPNPɠUN SPà VàSZASS MP.5- SAB ADA. PBDñ DA. ADBM.5 SSB MP.5 MPNP SPà PNԠNPUNŠϠANSMԠHAAҠҠMMANDϠPN .A0UPUԠHAA .Sà0 .9SS0HKƠHAAҠUPUԠMP MP-N--SϠA MPPNԬɠYS--SϠUN SPà NSANSANDMASKS SPà ñ3Dà3 MAؠHAAҠUN 3Ԡ3HAAҠMASK .Ԡ0003 MԠ000 .Ԡ0000 M3Dà-3SSHAҠMAMUMϠ3 M.5Dà-5 DñDà SPà MPAYSAG ԠNPUMNUNԠҠPNҠHANN̠S SPà ASSMBYPAAMS SPà BUANƠBGS SPà ND / ' 24348-18001 1346 S 0122               H0101  ASMBҬB̬ HDHP60BSNŠPNҠDVҠ(D. NAMD. Ԡ.BU NԠD.. SPà3 D.NP GAŠSSƠNԠBUSYSŠNP MPBUSY SAASAVŠԠADDSS SBUSҠANDUSҠADDSS DABɠGԠUSԠD AƠSA ANDB3. MANASZASSSԠZ? MPAҠYS-(Aҩ NASZASSNϠSԠNŠ-(AD? MPàUSԠDŠ SAASAVSAVŠHŠUSԠD DAAɠGԠɯϠHANN ANDBANDNGU SAADDSAVŠHŠϠADDSS SPà NGUŠHŠDV SPà ҠBM SAB ҠB600 SASS ҠB00 SAS SASñ SASò ADAB00 SAB SAB SAB ADAB00 SA DAD.ANSҠHŠUNADDSS SA.ϠHŠNUPԠUN DASSSԠHŠ_AGϠNDAŠNN SAAG SBSAŠGԠHŠSA SZASAVHKHŠUSԠD MPNҠN SKP ŠUNN SPà DAUSҬ SZUSҠGԠADDSS SZUSҠƠUS DBUSҠBU. NDҠDBBɠADHŠBUҠADDSS. B̬ŬSBBƠND MPNDҠADHŠNԠV. B̠SHԠҠHA SBBUƠADDSSNGANDS AƬA̠HKҠYMD ŬSSASSBԠ0S? MPNYNϻSKP SASSYSMNANGVN? MPMNϻUSŠNŠNSA AƬA̠YSPUԠԠGH ҠB0ADDAPŠMMAND YSԠA̬AANDMMANDBԠ(5 SAYSAVŠ SZUSҠGԠADDSSƠNGH DBUS2ҬɠGԠNGH SBSAVSAVŠHŠGNA̠NGH MBŬSSBNBANSMN MBŬNB-(HAҠ+ MBSZ B BAKSBHàSAVŠUN SBUS ADBD33 SSBSSMŠHAN3HA? MPAAYNϬPD DBD33 MBNB SBUSҠBUҠNGH SSAYMD? MPBUG?YS-Hà-33ҠY ADBB-NϠ-Hà-3ҠNMA BUG?SBHàHAҠUN AAYDBSAԬɠGԠHŠSAUSDҠ_HK BƬB̠HK BƠA SSBASԠM MPAנASԠM SSANϬYMD? MPHAұYMDŠ-UPUԠHA. SZUSҠKNKNŠƠHŠNGH(SԠHAҠSN̩ SBHAGԠHŠSԠHA. MPNƠNϠHAҠDN PBBNKABANKPHAPS? MPHAұYS:UPUԠHA MBNBAUZŠMMAND ADBB0060ADDBAS PBSSPAàB0000SNGŠSPA MPHAұYS:UPUԠHA SBASAVŠMMAND ANDSSPAàB0000MASKϠAPŠV PASSPAàAPŠV? MPUԠYS-UPUԠ PBZϠA0MAYHAPS? MPSSPϠYS-DUBŠSPA ADBB-SUBAԠN MPUԠDϠUPU SPà AנSZSA DASAԬ SZASSAS_NSԠPSN? MPHAұYS MA ADAUSҠADDHŠPSNԠUSԠ NAHŠDNŠANDSAV SAUSҠԠҠHŠG HAұSBHAGԠHŠSԠHAA MPNNϠHAҠGϠMP MPUԠGϠMP SPà SPà SSPϠDBSSPAàB0000 UԠSBAMDUPUԠMMAND. DAADDɠGԠHɯϠAN SAAMDSAVŠ DBàSԠFAP̠Ϡ SBADDɠϠA MUUԠSBHANϠGԠHAA MPDNŠA̠HASU AŠSHSHŠASԠHA? PAHàNHŠBU? MPAKYSGϠSŠƠԠSANA AԱSBAԠAԠҠHŠAG SBSԠMAԠHAAҠƠMN BBPҠUԠPUԠHŠHA SòSàPҬàSAԠHŠNŠPN MPMUUԠDϠNԠHAA SPà SPà AKPBAנHҠƠHý-SԠAN_. BŬSSԠAҠ-AҠANDSKP MPAԱNԠ_NNU SBSAVZϠHŠNGHϠŠHAAS SZUSҠSHNHAAҠUNԠҠGBYN SBAGSԠ"_"AG DNŠSBA DAAMDS SAADDɠNUPԠNK SZSSƠ"_"SKPPNԠY MPNؠ"_"SϠSKP DBYGԠYMDŠAG SSBSKPƠNԠY MPNY-GϠNSH NDBHDMAKŠASנMMAND NB NSBAMDUPUԠHŠMMAND NؠSBSAŠGԠSAUS ANDBAҠBUSYBԠANDAGS AGSSҠNPƠ_HSM ҠB00SԠ_ASԠMŠAG SASAԬɠSŠHŠSAUSD SZSAԠSPϠG DAUSҠGԠNϠANSMD DBSAVGԠHŠNGHMHŠUS MBSSBNBSZBƠNGAVŠҠZϠSKP MANASSNVԠϠDS MASSHAASH AS SSAZϠHAAS?(-? NAYSSԠϠZ SASAԬɠSԠHŠG UԠDA.MVŠUNADDSS SAADSԠNBUҠA DASSPN SAGAŠHŠBUSYGA SBSҠSҠHŠG. SB.BUҠDN!!!! ADDƠ. USҠUAD ANP SPà AԠNPUNŠϠAԠҠHŠAG SSSSPҠAGS? MPSSNϠGϠHKAGAN MPAԬɠYSUN SKP AҠDAAGԠHŠԠADDSSNA BUSYSAàHAҠƠBUSYҠA DABɠGԠHŠUS A ANDB3ANDMASK ŬSZASSDSUNNDŠA MPBUSYZYS PAB3NϠ-SԠAN̠UNN SSYS MPBNϠ-HNMUSԠBŠD DAB ANDB600HKƠDYNAMàSAUS SZA MPBNԠDYNSAUSSϠԠ MPDSBNG:GԠSAUS BUSYZDAìɠGԠHŠSԠD SZàSPϠHŠSAUS ANDBSAŠHŠSԠD ҠBM SAB SAB3 ADAB00 SAò SAàNGUŠHŠAҠSN A B3BP SBBUSY? MPàN ANDAYSDAYPҠPSSB ANDAPAGŠ SZAMU? MPB3NϬPAԠP ààPҠAҠHŠPN BBPҠGԠSAUS DAìɠGԠHŠSAUSD ANDB300SPBUSYANDҠBSSԠYMϠSS SSBSSHKϠSŠƠPNҠDN ҠB.0ƠPNҠDNSԠҠB SAìɠSŠHŠSAUSD DABHKϠSŠƠANGUNԠPAN PAB ASSYSSKPUN MPD.ɠNϻUN PAGAŠƠGAŠSPN(NԽ0 SSBSSҠHŠPNҠSDN MPNSSSKPHŠSNGŠSPA DAADDɠSAVŠHŠAP DBàANDPAŠ SBADDɠHA DBB000ADSNGŠSPAŠMANDD BàBPҠSND SàSàPҬàSAԠHŠNŠPDN BAԠҠPAN SZBϠMP MP- òàPҠAҠN̠(NDDƠNUPԠSYSSƩ SAADDɠSŠHŠAP NSSDBSSGԠHŠGAŠNSUN SBGAŠPNHŠGA MPD.ɠUN SPà àNP BMB0 SPà SҠNP DASAV ϠAҠHŠVנ""GS. SAAAS""S?SŠ"". SϠYSԠ"". DAASAV DBBSAV MPSҬ SKP NYŬSAAƠBԠBUԠNԠ0 MPNYS-NDDN DAAɠGԠPMYAG AƬAƠBԠ ŬSAS?ƠSϠSKPA̠ϠSA MSBSAŠYSASSUM ANDBGԠMDŠY ҠB0AND MPYSԠSԠUP SPà àBSSUSԠDŠ BDBHDBUSYDŠϠB ANA MPD. SPà SAŠNP DAA NA SASA DAA ANDB03.B03AҠHŠBUSYANDҠBS BBPҠGԠHŠPNҠSAUS SBSԠMPSAVŠƠHADAŠSAUS B ŬSBSSNN? ҠB.0N SSBYS-SPҠN? ҠB.0N DBS SASAԬɠSԠSAUSҠDYNAMàSAUS MPSAŬ SPà SԠNP SSBSSSBԠ5SԠNҠN̠D MPSԬɠNϬ AAҠHŠSנAG SAS DABYSHNSAVŠDNA-GS ANDBSAVŠNYҠ6BS SABSԠVADPAԠBAKNB-G ADBHDSԠN̠UNNBԠ ADAB-0SUBAԠ0ϠSŠƠAPŠV̠US SSAƠҠAPŠV̠SKP MPS0NԠVUSϠMUSԠBŠSNG DABPUԠB-GNϠA-G ANDBMVŠA̠HGHBS ADABSԠAPŠV̠ϠԠVAU PAB0SUSԠҠABM--M ADAB-YSSԠҠBM--M PABSUSԠҠAP--M ADAB-YSSԠҠP--M ҠHDSԠҠAMN̠US SABSԠB-GS MPSԬɠUN S0SBA AҬAS MANA SAS MPSԬɠUN SPà AMDNP SBSԠMAԠHAAҠƠҠMN DASƠHKƠHSSSNGUS ŬSZASSSנƠNԠZ MPB AMزDBBBSMAؠƠSS ADAB SSASSHKƠHSSASԠY MPAMؠYS:GԠHŠƠNS SASƠN:SAVŠMANNGUN AMرB̬BSԠPAPҠMMANDB BBPҠUԠPUԠHŠD SBSAŠGԠUNԠSAUS SSBSSPNҠDN? MPҠƠҠBԠSԠSKPUPU A̬ASԠHŠBUSYB SASAԬ ASŠHŠBUSYGA SAGA SBS SñSàPҬàSAԠHŠNŠPN MP. AMؠMANANVԠϠƠNS ADABBB SAB AAҠHŠSNGAG SAS MPAMر SPà3 .NP ààPҠNABŠҠPYNUPS. SAASAV SBBSAV AASSAVŠ""AҠBԠ0. SààSHŠVנ""GSҠS? NAYSԠA0. SASAV DASƠHKSNGAP ŬSZASSSNGƠNԠZ MPAMD MPAMزGϠBAKϠUPUԠMANNGNS SPà ҠDB.HKϠSŠƠHSSPSԨrNUP PBD.ƠUA̠HNPŠNUP MPҠGϠϠASŠ MPUԠPSԠNUPԠGϠϠNDSN SPà HANP DABU ŬA DAA SZBU SZŬSSSKPƠҠHAҠANDSԠŽ AƬA ANDB3 SAB SZHàUNԠDNHŠHAAS SZHAƠNϠHŠASԠNŠUNP+ MPHAɠUN SPà NҠDAUSҬɠGԠUSԠD AƬAƠGԠAND A̬A̠SA ANDB6SUBUNN(GNŠPYBԩ SZADYNAMàSAUS? MPNؠN DSSBSAŠYS-GԠSAUS ASԠDVҠԠAG MPD.ɠUN NؠҠB0 SABNԠZϠSAVŠNB ҠB0060SŠBS0AND SAM DAAɠGԠHŠSԠDƠ NBSZBSSSԠ? MPSNAҠYSԠNMA ŬNBSZBSSNϠ-SԠ6? MPBԸYS-SԠYMDŠB NԠB SBUSҠSԠUSҠϠZϠϠŠANSMSSNG SBASAVSԠAG.ϠUSԠAPD DAMSŠN̠NMAN ANDBSAVŠNYPNAŠBS SABSԠSUSNB-GS B̬BSԠŠNϠBԠ5ƠB-GS MPNGϠMPԠHŠUS SPà BԸҠB00 BԠSAAɠHŠSԠDƠ MP+UNHASŠD SPà SNANDB0AҠYMDŠSԠNMA MPB SPà NDBBUƠGԠHŠBUҠADDSS ŬBADUSԠMADDSS DBBɠGԠMMAND SBMSAVŠD SSASSBԠ6YM MPNԠDϠMMANDUPU SBSAŠGԠSAUSD ANDB00MVŠY0.*D SASAԬɠSAVŠ DAMGԠNנD ANDB ҠB0NVԠHGHDG ҠSAԬɠADDSԠƠD ҠSASAԬɠSԠN DAHDGԠASŠBUҠD MP.ɠUN SPà3 AU00B BU0B SPà ASAVNP BSAVNP SAVNP SƠNP BԠ B03.Ԡ03 B6Ԡ00006 BUNY B00Ԡ00000 B3Ԡ000003 B.0Ԡ00000 B00Ԡ0000 B00Ԡ00 B00Ԡ00000 B0Ԡ00000 BNK SSSS SAVNP MUSAV BUƠNP HàNP SAԠNP ZϠԠ0000 AנԠ3 HDԠ00000 ADDNP PҠU0 PҠU0 SSPAàԠ0000 YNP B00Ԡ00000 SPà ND 0  - 24350-18001 1523 S 0122 DOS DVR72 FOR 12587B ASYNCH DATA SET INTERFACE             H0101 @ASMB,R,L,C,B HED ***DVR72 --12587 ASYNC MODEM INTERFACE-- *** NAM DVR72,0,0 ****** 6 MAY 75 ENT I.72,C.72 -1 ENT P.720,P.721,P.722,P.723 OD ENT P.724,P.725,P.726,P.727 OD EXT $PCOM,$TIME P. ************************************************************************ * 12587 I/F BIT ASSIGNMENTS ** ************************************************************************ * ** * CONTROL WORD * BIT MEANING * 15 1=CONTROL WORD,0=DATA * 14 DATA TERMINAL READY (CD) ** * 13 REQUEST TO SEND (CA) CD * 12 MASK ENABLE * 11,10 NOT USED LE * 9 ECHO SE * 8 PARITY D * 7 ODD PARITY E * 6,5,4 NOT USED Y * 3-0 CHARACTER SIZE ( ************************************************************************ * DATA WORD ** * BIT MEANING * 15-11 ZEROES * * 10 SECONDARY SEND (SBA) ** * 9,8 NOT USED S * 7-0 DATA SE ************************************************************************ * STATUS WORD ** * BIT MEANING * 15 BUFFER READY ** * 14 SECONDARY RECEIVE (SBB) * 13 I/F BUSY R * 12 DATA SET READY (CC) * 11 CARRIER DETECT (CF) * 10 RINGING (CE) T * 9 ERROR * 8 NOT USED CE * 7-0 DATA SE ************************************************************************ A EQU 0 ** B EQU 1 ** SC EQU 0 ** ********************************************************************** C.72 EQU * ** NOP * CLA INDICATE SUCCESSFUL COMPLETION ** LDB $EQ14,I GET TRANSMISSION LOG OM JMP C.72,I ********************************************************************** ********************************************************************** P.720 EQU * ** NOP * CLF 0 DISABLE INTERRUPTS ** JSB SAVE SAVE ENVIRONMENT S LDA UEQT JSB SETQ SET EQT LDA USC PCOMM JSB SETIO SET I/O INST. JSB STAT INPUT STATUS N LDB LSIT JMP LSWCH SWITCH ON LINE STATE ** * * * P.721 EQU * WC NOP * CLF 0 WC JSB SAVE LDA UEQT+1 JSB SETQ LDA USC+1 JMP PCOMM * * P.722 EQU * OM NOP * CLF 0 OM JSB SAVE LDA UEQT+2 JSB SETQ LDA USC+2 JMP PCOMM * * P.723 EQU * OM NOP * CLF 0 OM JSB SAVE LDA UEQT+3 JSB SETQ LDA USC+3 JMP PCOMM * * * * P.724 EQU * OM NOP * CLF 0 OM JSB SAVE LDA UEQT+4 JSB SETQ LDA USC+4 JMP PCOMM * * P.725 EQU * OM NOP * CLF 0 OM JSB SAVE LDA UEQT+5 JSB SETQ LDA USC+5 JMP PCOMM * * P.726 EQU * OM NOP * CLF 0 OM JSB SAVE LDA UEQT+6 JSB SETQ LDA USC+6 JMP PCOMM * * P.727 EQU * OM NOP * CLF 0 OM JSB SAVE LDA UEQT+7 JSB SETQ LDA USC+7 JMP PCOMM ********************************************************************** * ** ********************************************************************** ********************************************************************** I.72 EQU * ** NOP * CLF 0 DISABLE INTERRUPT SYSTEM ** CLB 0 STB RTX SET RETURN INDEX FOR I.72 STB SAVA ZERO RETURN CODE FO LDB I.72 SAVE RETURN ADDRESS STB EXIT STA SCODE SAVE SELECT CODE SS LDB $EQ17,I S LDA $EQ9,I GET REQUEST AND =B7777 SAVE FUNCTION AND REQUEST CPA INCD INITIALIZE REQUEST EQ JMP I.72B YES SZB,RSS IF LOGICAL LINKAGE PRESENT --PROCEED ** 7 CPA P03$ CLEAR REQUEST JMP I.72A YES LDA P01$ NO-INVALID ST STA SAVA JSB RTRN RETURN TO DOS I.72B EQU * RN LDB $EQ11,I GET EXTENSION ADDRESS STB $EQ17,I LINK WITH LOGICAL INB $E LDA B,I GET EQT19 STA $EQ6,I SAVE IN CONTROL WORD S CLA $E STA EQT3 INSURE EQT RESET OR STA $EQ5,I CLEAR LINE STATE OR STA $EQ16,I C LDA $EQ1 GET BASE EQT ADDRESS S ADB P07$ COMPUTE EQT26 STA B,I SAVE AS TIMER ID (DVR72) T ADB P04$ COMPUTE EQT30 STA B,I SAVE AS TIMER ID (LOGICAL) -- * BUILD BASIC CONTROL WORD * LDA $EQ6,I GET PARAMETER WORD OG STA B Q6 CMB,INB FORM COMPLIMENT AND M160$ ISOLATE ECHO AND PARITY SZA,RSS BOTH CLEAR O JMP I.72C YES CPA P64$ NO-TEST FOR ECHO SET,PARITY CLEAR JMP I.72C YES IOR M40$ NO,ENABLE PARITY SE ADB N01$ ADJUST CHAR. SIZE I.72C EQU * 1$ ALF,ARS POSITION FOR 12587 T, STA $EQ6,I LDA B Q6 AND M17$ ISOLATE CHARACTER SIZE RI IOR $EQ6,I MERGE W/ECHO+PARITY IOR B15$ INDICATE CONTROL WORD STA $EQ6,I I.72A EQU * Q6 LDA $EQ1 STA EQT3 RESET EQT ADDR 7905 JSB SETQ SET EQT * LDA EQT4,I SET AND LBYT$ STATUS TO STA EQT4,I ZERO S JSB SETU SET UNIT RELATED CONSTANTS C LDA SCODE JSB SETIO SET I/O INSTRUCTIONS TA LDA EQT9,I AND =B7777 ISOLATE FUNCTION AND REQUEST 11JAN74 ** CPA P03$ CLEAR REQUEST JMP C0 YES AND M17$ CPA P01$ READ REQUEST O JMP READ YES CPA P02$ WRITE REQUEST JMP WRITE YES CPA P03$ CONTROL REQUEST JMP CONTL YES ISZ SAVA INDICATE ERROR JSB RTRN BACK TO DOS ****************** **************************************************** * ** * READ REQUEST INITIATION ** * ********************************************************************** READ EQU * ** JSB LCHK CHECK FOR LINE OPEN, DATA SET RDY CCB INDICATE INITIATION CALL S JSB EQT22,I CALL LOGICAL READ JMP READ1 COMPLETE CA READC JSB DRCTV EVALUATE DIRECTIVE BITS JSB RTRN RETURN TO DOS * READ1 EQU * RN LDA P04$ INDICATE IMMEDIATE COMPLETION STA SAVA JSB RTRN RETURN TO DOS ********************************************************************** * ** * WRITE REQUEST INITIATION * ********************************************************************** WRITE EQU * ** JSB LCHK CHECK FOR LINE OPEN,DATA SET RDY ** CCB INDICATE INITIATION CALL SE JSB EQT23,I CALL LOGICAL WRITE C JMP READ1 COMPLETE CA WRITC JSB DRCTV EVALUATE DIRECTIVE BITS AND RBYT$ JSB OTA OUTPUT CHARACTER E JSB STC SET CONTROL ON BOARD TS JSB RTRN ********************************************************************** * ** * CONTROL REQUEST INITATION ** * ********************************************************************** CONTL EQU * ** CLA * CCB INDICATE INITIATION CALL ** JSB EQT24,I CALL LOGICAL CONTROL AL JMP READ1 COMPLETE CA JSB DRCTV EVALUATE DIRECTIVE BITS LDA EQT9,I ALF,ALF ,I RAL,RAL ,I AND M77$ ISOLATE FUNCTION CODE ADA N05$ SSA,RSS FUNCTION LT 5 JMP CNTL1 NO-INVALID 5 ADA CNTLT YES-CALCULATE TABLE ADDRESS LDA A,I T JMP A,I PROCESS BY FUNCTION CODE SS * * CNTL1 EQU * I ISZ EQT4,I INDICATE INVALID REQUEST SS JMP READ1 * * * CONTROL TRANSFER TABLE * DEF C0 CLEAR DEF READ1 INITIALIZE(NO ADDITIONAL PROCESSING) ** DEF C2 LINE OPEN DEF C3 LINE CLOSE NO DEF C4 SET ECHO E CNTLT DEF * * TL * CLEAR REQUEST ET * C0 EQU * RE LDA $EQ17,I T SZA SKIP DEQUEUE IF NOT LINKED OC JSB DQT DEQUE TIMERS IF LDA B15$ JSB OTA CLEAR CONTROL WORD L JSB CLC CLEAR I/F CONTROL CLA CL STA $EQ17,I BREAK LINKAGE JMP READ1 I * * LINE OPEN REQUEST L * C2 EQU * PE LDA EQT10,I GET AND P03$ OPTION IN SZA,RSS RING N JMP C2A YES CPA P01$ RECEIVE JMP C2B YES CPA P02$ SEND VE JMP C2C YES * NO-IDLE KA JSB RCV CONFIGURE FOR RECEIVE C2E EQU * V LDA AOPEN STA EQT5,I LINE STATE= AWAITING OPEN LDA N10$ STA EQT34,I SET FOR 2 SEC. DELAY OP C2D EQU * T3 LDB TD1A LDA N02$ JSB DTIM START TIMER #1, 200 NS EN JSB RTRN * * C2A EQU * RN LDA ARING STA EQT5,I LINE STATE= AWAITING RING LDA B15$ C2A2 EQU * 5$ JSB OTA DROP DATA TERMINAL READY JSB STC ENABLE I/F BOARD L JSB RTRN * * C2B EQU * RN JSB RCV CONFIGURE FOR RECEIVE LDA AOPEN STA EQT5,I LINE STATE= AWAITING OPEN LDA EQT10,I L SSA,RSS AUTO SPEED A JMP C2E NO O JSB STIN START INPUT JSB RTRN * * C2C EQU * RN JSB SND CONFIGURE FOR SEND G JMP C2E START TIMER * * * LINE CLOSE REQUEST * C3 EQU * LO LDA CLOSE R STA EQT5,I LINE STATE= CLOSED G LDA B15$ JSB OTA CLEAR I/F JSB CLC TURN OFF INTERRUPTS LDA =D-50 SET MAX TIME AT 10 SEC. STA EQT34,I S JMP C2D START TIMER * * * SET ECHO REQUEST * C4 EQU * HO LDB EQT10,I GET PARAMETER LDA EQT6,I AND ECHO CLE!AR ECHO BIT 1 SZB REQUEST FOR ENABLE SE IOR B09$ YES-SET IT E STA EQT6,I JMP READ1 IMMEDIATE COMPLETION C. * * ********************************************************************** * ** * SET UNIT RELATED DATA ** * ********************************************************************** SETU EQU * ** NOP * LDA $EQ3,I GET UNIT & SELECT CODE ** ALF,ALF ,I RAL,RAL POSITION UNIT FIELD AND P07$ ADA UTBL CALCULATE TABLE ENTRY LDB $EQ1 STB A,I SAVE EQT T ADA P08$ OFFSET TO NEXT TABLE LDB SCODE STB A,I SAVE SELECT CODE BL JMP SETU,I * UTBL DEF *+1 ,I UEQT BSS 8 HOLDS EQT FOR UNIT 0-7 ** USC BSS 8 HOLDS SC FOR UNIT 0-7 * C * C ********************************************************************** * ** * SET EQT TABLE ** * * A=ADDRESS OF EQT * ********************************************************************** SETQ EQU * ** NOP * STA EQTB SAVE EQT ON BASE PAGE ADA P02$ CPA EQT3 ALREADY SET JMP SETQ,I YES STA EQT3 INA EQ STA EQT4 FILL DY INA TABLE STA EQT5 INA EQ STA EQT6 ADA P03$ STA EQT9 INA EQ STA EQT10 ADA P04$ STA EQT14 ADA P02$ STA EQT16 INA EQ SETQ2 EQU * T1 LDA A,I LINK TO EXTENSION INA A, STA EQT19 ADA P03$ LDB A,I STB EQT22 INA EQ LDB A,I 2 STB EQT23 INA EQ LDB A,I 3 STB EQT24 INA EQ STA EQT25 ADA P02$ STA EQT27 ADA P04$ STA EQT31 ADA P03$ STA EQT34 INA EQ STA EQT35 JMP SETQ,I RETURN E ********************************************************************** * ** * DRIVER TIMER START * ****m****************************************************************** DTIM EQU * B=PROCESSOR ADDRESS NOP A=TIME INTERVAL STA EQT27,I SAVE VALUE RV LDA EQT16,I GET TIMER FLAGS ERA,RAL PHYSICAL TIMER BIT TO E IOR P01$ SET IT L STA EQT16,I S LDA EQT27,I GET VALUE SEZ INITIATE REQUEST T CMA,INA NO-INDICATE RESET STB EQT27,I SAVE PROCESSOR ADDRESS * LDB EQT27 I ADB N01$ PASS EQT26 AS TIMER BLOCK JSB $TIME JMP DTIM,I * TIMER #1 * TD1A DEF TD1 I TD1 EQU * 1 NOP * CLF 0 DISABLE INTERRUPT SYSTEM * CLB,INB JSB TIMOF SETUP FOR TIMER OFF LIST * JSB STAT INPUT STATUS ER LDB EQT5,I CPB PSND LINE STATE = PREPARE TO SEND? JMP TD1D YES ALF,SLA DATA SET READY EP JMP TD1B YES SZB,RSS NO-LINE = CLOSE? AR JMP TD1H YES-COMPLETE SE TD1I EQU * 1H LDA N02$ NO-KEEP TIMER RUNNING TD1F EQU * 2$ LDB TD1A JSB DTIM TD1C STF 0 ENABLE INTERRUPT SYSTEM JMP TD1,I * TD1B EQU * 1, SZB,RSS LINE=CLOSE? JMP TD1K YES-CONTINUE TIMER ST LDA EQT6,I 8JAN74 TI AND C$CA REQ. TO SEND SET? 8JAN74 ** SZA 8JAN74 S JMP *+3 YES 8JAN74 LDA C$SBA NO-SET SEC. SEND 8JAN74 JSB OTA 8JAN74 SE ISZ EQT34,I LINE STABILIZE DELAY OVER JMP TD1I NO E LDA IDLE STA EQT5,I LINE STATE = IDLE TD1H EQU * T5 JSB DQT DEQUEUE TIMERS LE JSB CLC CLR I/F BOARD LDA EQTB JSB $PCOM COMPLETE REQUEST A JMP TD1C TD1K EQU * 1C ISZ EQT34,I MAX TIME ELAPSED A JMP TD1I NO T JMP TD1H YES-COMPLETE SE * TD1D EQU * 1H LDB EQT34,I 8JAN74 PL SZB FIRST TIME Xq 8JAN74 JMP TD1D1 NO 8JAN74 JSB SND YES-CONFIGURE FOR SEND 8JAN74 LDA EQT19,I 8JAN74 FI RAL 8JAN74 FI SSA SECONDARY CHANNEL 8JAN74 8J JMP TD1D2 YES 8JAN74 8J JSB STOUT NO-START OUTPUT 8JAN74 8J JMP TD1C 8JAN74 T TD1D2 EQU * 8JAN74 T LDA N08$ SET FOR A MAX OF 700 MS 8JAN74 8J STA EQT34,I 8JAN74 A JMP TD1E 8JAN74 A TD1D1 EQU * 8JAN74 A AND RSTAT+2 ISOLATE WRITE STATUS BITS CPA RSTAT+2 STATUS OK JMP *+2 YES JMP TD1E NO U JSB TSEC TEST SECONDARY RCV S JMP TD1E 0 TD1G EQU * 1E JSB STOUT START OUTPUT Y JMP TD1C TD1E EQU * 1C LDA N01$ ISZ EQT34,I TIME RUN OUT? JMP TD1F NO-DELAY 100 MS JMP TD1G YES-START OUTPUT ANYWAY * * TIMER #2 * TD2A DEF TD2 TD2 EQU * 2 NOP * CLF 0 DISABLE INTERRUPT SYSTEM CLB,INB JSB TIMOF SETUP FOR TIMER OFF LIST JSB STIN START INPUT STF 0 ENABLE INTERRUPT SYSTEM JMP TD2,I * * * TIMER #3 --LINE STATE MONITOR SY * TD3A DEF TD3 - TD3 NOP TD CLF 0 DISABLE INTERRUPTS ST CLB,INB JSB TIMOF SETUP FOR TIMER OFF LIST JSB TMON GET BACK ON O5 LIA SC INPUT BOARD STATUS L STA EQT25,I I AND S$CC DATA SET READY TU SZA IS IT SET? AD JMP TD3B YES-LET IT RUN TU LDA P02$ STA RTX NO-SETUP TIMER RETURN LDA TD3 STA LTIM LDB LSIT JMP LSWCH SIMULATE I/F INTERRUPT T TD3B STF 0 ENABLE INTERRUPTS JMP TD3,I * * TMON NOP TD LDA N64$ 6.4 SECONDS LDB TD3A LINE MONITOR UP JSB DTIM JMP TMON,I * * ************************SN********************************************** * ** * TIME OFF * INITIAL SETUP FOR TIMEOUT ** * A=EQT L * B=TIMER FLAG MASK TI * ********************************************************************** TIMOF EQU * ** NOP * STB TMOF1 SAVE TIMER TYPE JSB SETQ SET EQT LDA EQT3,I AND M77$ GET SELECT CODE JSB SETIO SET I/O INST. LDA TMOF1 CMA TM AND EQT16,I CLEAR TIMER IN PROGRESS STA EQT16,I C JMP TIMOF,I C * TMOF1 NOP TI ********************************************************************** * ** * LINE CHECK * ********************************************************************** LCHK EQU * ** NOP * LDA EQT5,I CPA CLOSE LINE CLOSED JMP LCHK1 YES JSB STAT NO- GET I/F STATUS ** XOR S$CC COMPLIMENT DATA SET RDY AND S$CC AND ISOLATE RAL,RAL POSITION FOR LINE ERROR * NOTE-"DATA SET NOT READY" INDICATES LINE ERROR JMP LCHK,I LCHK1 EQU * HK ISZ EQT4,I INVALID REQUEST JMP READ1 IMMEDIATE COMPLETION NE ********************************************************************** * ** * DIRECTIVE EVALUATOR ** * * A= DIRECTIVE BITS (15- 8), OUTPUT DATA (7-0) * 15-START READ (1 * 14-START WRITE * 13-NO OPERATION 5- * * B= TIMER REQUEST * <0- INITIATE/UPDATE VALUE PU * =0- NO REQUEST * >0- CANCEL REQUEST E * * ********************************************************************** DRCTV EQU * ** NOP * STA DRCTA SAVE DIRECTIVES SZB,RSS TIMING REQUEST * JMP DRCT1 NO IN LDA EQT16,I YES SSB CANCEL REQUEST * JMP DRCT2 NO CE * YES L ELA,CLE,ERA CLEAR IN PROGRESS BIT CLB INDICATE CANCEL JMP DRCT3 DRCT2 EQU * CT SSA TIMER IN PROGRESS CMB,INB YES-INDZ<:6ICATE RESET IT IOR B15$ SET IN PROGRESS BIT DRCT3 EQU * 5$ STA EQT16,I UPDATE FLAGS SS STB A T1 LDB LTIMA I STB EQT31,I SET PROCESSOR TO LOGICAL TIMER ** LDB EQT31 I ADB N01$ PASS EQT30 AS TIMER BLOCK JSB $TIME CALL TIMER AS DRCT1 EQU * IM LDA DRCTA RAL,SLA START READ AS JSB SREAD YES RAL,SLA START WRITE JSB SWRIT YES SSA NOP JSB RTRN YES LDA DRCTA NO DIRECTIVES JMP DRCTV,I RETURN CT * DRCTA NOP DR * CT ********************************************************************** * ** * START READ * ********************************************************************** SREAD EQU * ** NOP * LDA EQT5,I CPA RECV LINE STATE= RECEIVE #_< !0 24350-18002 1523 S 0122 DOS DVR72 FOR 12587B ASYNCH DATA SET INTERFACE             H0101 A JMP SRD1 YES CPA SEND LINE STATE= SEND VE JMP SRD2 YES LDA RECV LINE STATE OTHER,CHANGE TO RECV RSS RE SRD4 EQU * CV LDA PRCV3 LNE STATE=PREPARE TO RCV #3 STA EQT5,I JSB CLC DISABLE BOARD LDA N03$ DELAY 300 MS A LDB TD2A JSB DTIM START TIMER #2 RE JSB RCV CONFIGURE FOR RECEIVE JSB RTRN * SRD1 EQU * RN JSB STIN START INPUT JSB RTRN SRD2 EQU * RN JSB STAT INPUT BOARD STATUS VE RAL,RAL SSA BOARD BUSY S JMP SRD3 YES LDA RECV LINE STATE=RECEIVE VE JMP SRD4+1 * SRD3 EQU * D4 LDA PRCV1 STA EQT5,I SET LINE STATE= PREPARE TO RCV#1 ** JSB STC ENABLE I/F INTERRUPTS JSB RTRN * * START INPUT SUBROUTINE STIN NOP T LDA EQT6,I JSB OTA ENABLE ECHO IF VALID E LDA C$SBA SET SECONDARY SEND D JSB OTA A JSB TMON START MONITOR JSB STC ENABLE INTERRUPTS JMP STIN,I * * ********************************************************************** * ** * START WRITE ** * ********************************************************************** SWRIT EQU * ** NOP * JSB CLC TURN OFF INTERRUPTS LDB EQT5,I GET PREVIOUS STATE * LDA PSND STA EQT5,I SET LINE STATE= PREPARE TO SEND LDA DRCTA GET CHARACTER AND RBYT$ STA EQT35,I SAVE CHAR. FOR O/P PA CPB SEND PRIOR STATE=SEND? JMP SWRT1 YES-BYPASS TURNAROUND DELAYS ND CLA INDICATE FIRST TIME THRU 8JAN74 ** STA EQT34,I I LDA N02$ NO-ONLY DELAY 200 MS HR LDB TD1A USE TIME DELAY #1 JSB DTIM JSB RTRN SWRT1 EQU * RN JSB STOUT START OUTPUT Y JSB RTRN ************************************************************************ * START OUTPUT ******************************T****************************************** STOUT EQU * ** NOP * LDA EQT35,I GET PENDING CHAR. JSB OTA O/P TO INTERFACE * JSB TMON START LINE MONITOR ** JSB STC ENABLE INTERRUPTS JMP STOUT,I E ************************************************************************ ********************************************************************** * ** * LOGICAL TIMER ** * ********************************************************************** LTIMA DEF LTIM * IM LTIM EQU * IM NOP * CLF 0 TURN OFF INTERRUPT SYSTEM LDB B15$ JSB TIMOF SETUP FOR TIMER OFF LIST * JSB STAT I/P BOARD STATUS FF LDA P02$ STA RTX INDICATE TIMER RETURN LDA P08$ LDB LSTT PROCESS LSWCH ADB EQT5,I BY CE LDB B,I LINE SS JMP B,I STATE LSTT DEF *+1 DEF LSTA O-CLOSED TI DEF LSTB 1-AWAITING RING DEF LSTB 2-AWAITING OPEN DEF LSTB 3-IDLE IN DEF LSTD 4-PREPARE TO SEND DEF LSTD 5-SEND RE DEF LSTC 6-PREPARE TO RCV #1 (FLUSH WRITE) DEF LSTC 7-PREPARE TO RCV #2 (DROP CF) DEF LSTC 8-PREPARE TO RCV #3 (DELAY) DEF LSTC 9-RECEIVE * LSIT DEF *+1 DEF LSIA 0-CLOSED T DEF LSIB 1-AWAITING RING DEF LSIC 2-AWAITING OPEN DEF LSIA 3-IDLE IN DEF LSII 4-PREPARE TO SEND DEF LSID 5-SEND RE DEF LSIE 6-PREPARE TO RCV #1 (FLUSH WRITE) DEF LSIF 7-PREPARE TO RCV #2 (DROP CF) DEF LSIH 8-PREPARE TO RCV #3 (DELAY) DEF LSIG 9-RECEIVE * LSTA EQU * IG JSB RTRN * * * * LSIA EQU * RN JSB CLC TURN OFF BOARD V JSB RTRN * * LSIB EQU * RN AND S$CE ISOLATE RINGING BIT SZA,RSS SET JMP LSIB1 NO A JSB CLC YES-TURN OFF BOARD ( JSB DONE COMPLETE OF LSIB1 EQU * NE dP JSB STC ENABLE INTERRUPTS JSB RTRN * * LSIC EQU * RN CLA * LSTB EQU * RN CLB * JSB BSTAT PROCESS BOARD STATUS DE NOP BAD LDB EQT5,I GOOD - INDICATE CONTINUE Y) JSB EQT24,I CALL LOGICAL CONTROL ENTRY ) JMP LSIC1 COMPLETE CA JSB DRCTV CONTINUE-EVALUATE DIRECTIVE JSB STC ENABLE INTERRUPTS JSB RTRN LSIC1 EQU * RN LDA IDLE STA EQT5,I SET LINE STATE= IDLE EC JSB DONE * * LSII EQU * NE LDA SEND STA EQT5,I LINE STATE= SEND DL LSID EQU * T5 CLA * LSTD EQU * T5 CLB,INB ,I JSB BSTAT CHECK STATUS EN NOP BS LSID1 EQU * TA LDB EQT5,I JSB EQT23,I CALL LOGICAL WRITE ENTRY VE JSB DONE COMPLETE CA JMP WRITC CONTINUE CA * * LSIE EQU * IT JMP SRD4 YES * * LSIF EQU * D4 JSB RTRN GOOD NU * * LSIG EQU * RN CLA * LSTC EQU * RN CCB * JSB BSTAT CHECK STATUS WR JMP LSIG1 BAD SSA TIMEOUT JMP LSIG1 YES LDB EQT25,I Y SSB,RSS BUFFER READY WR JSB RTRN NO-RETURN LSIG1 EQU * RN LDB EQT5,I JSB EQT22,I CALL LOGICAL READ ENTRY JSB DONE COMPLETE CA JMP READC CONTINUE CA * * LSIH EQU * AD JSB LCHK CHECK LINE STATUS SZA OK CK JMP LSIG1 BAD LDB RECV STB EQT5,I LINE STATE=RECEIVE NT JSB RTRN * * * ********************************************************************** * ** DONE EQU * ** ********************************************************************** NOP ** JSB CLC DISABLE BOARD LDA EQT6,I AND ECHO TURN OFF ECHO JSB OTA JSB DQT DEQUEUE TIMERS ** LDA EQTB JSB $PCOM NOTIFY DOS OF COMPLETION ** JSB RTRN * ********************************************************************** * ** SAVE EQU * ** ********************************************************************** NOP ** STA SAVA A STB SAVB B ERA,ALS E SOC AL INA O STA SAVEO CLA,INA O STA RTX INDICATE INTERRUPT ** LDA SAVE ADA N03$ CALCULATE INTERRUPT ENTRY LDA A,I STA EXIT SAVE RETURN ADDRESS JMP SAVE,I * * ********************************************************************** * ** * COMMON RETURN ** * ********************************************************************** RTRN EQU * ** NOP * LDA RTX DETERMINE RETURN TYPE SZA,RSS JMP RTRN1 I.72 MI SLA,RSS 1 JMP RTRN0 LOGICAL TIMER RTRN2 EQU * P.72 AL LDA SAVEO RESTORE CLO SA SLA,ELA E STF 1 O LDA SAVA A LDB MPTFL TEST MEMORY PROTECT SZB,RSS ON T JMP RTRN3 YES LDB SAVB RESTORE B STF 0 ENABLE INTERRUPT SYSTEM JMP EXIT,I RTRN3 EQU * IT LDB SAVB RESTORE B STF 0 ENABLE INTERRUPTS STC 5 ENABLE MEMORY PROTECT JMP EXIT,I RETURN ME * RTRN1 EQU * IT LDA EQT14,I R STA SAVB JMP RTRN2 I RTRN0 STF 0 ENABLE INTERRUPTS JMP LTIM,I * * ********************************************************************** * ** * DEQUEUE TIMERS * ********************************************************************** DQT EQU * ** NOP * LDA EQT16,I ** SSA,RSS LOGICAL TIMER IN PROGRESS JMP DQT1 NO IC ELA,CLE,ERA YES STA EQT16,I CLEAR FLAG ER CLA EQ LDB EQT31 I ADB N01$ JSB $TIME CANCEL REQUEST N DQT1 EQU * IM LDA EQT16,I C SLA,RSS DVR72 TIMER ACTIVE OG JMP DQT,I NO-DONE ARS,ALS YES STA EQT16,I CcLR FLAG ER LDB EQT27 I ADB N01$ CLA N0 JSB $TIME CANCEL REQUEST IV JMP DQT,I * ********************************************************************** * ** * BOARD STATUS CHECK * B= -1 READ, 0 CONTROL,+1 WRITE * P+1=BAD STATUS, P+2= GOOD STATUS ********************************************************************** BSTAT EQU * ** NOP * STA COMP CLEAR COMPOSITE STATUS ** ADB STATX LDA EQT19,I CHECK FOR SEC. CHAN. S AND S$SBB ISOLATE SEC CHAN. CAPABILITIES ** XOR S$SBB IF NOT AVAILABLE FAKE IT IT IOR EQT25,I I AND B,I 5, CPA B,I CHECK STATUS BL JMP BST1 OK CK LDA P04$ BAD ADA COMP UPDATE TA STA COMP INDICATE LINE ERROR BST3 EQU * MP ADB P03$ GET "BREAD & ERROR" MASKS LDA EQT25,I G AND B09$ SZA,RSS DATA ERROR & JMP *+3 NO A ISZ COMP ISZ COMP LDA COMP GET COMPOSITE STATUS AS AND B,I SAVE SELECTED BITS S ALF,ALF POSITION FOR LOGICAL AS ALF AL STA B F LDA EQT25,I P AND RBYT$ I IOR B FORM COMPOSITE GI JMP BSTAT,I F * * BST1 EQU * TA ISZ BSTAT RETURN+2 OS JSB TSEC BREAK ISZ COMP INDICATE BREAK GI JMP BST3 * * STATX DEF *+2 RSTAT OCT 14000 -1 READ VALUE OCT 14000 0 CONTROL VALUE OCT 10000 +1 WRITE VALUE OCT 16 -1 READ(TIMEOUT,LINE ERROR,DATA ERROR) OCT 16 0 CONTROL(TIMEOUT,LINE ERROR,DATA ERROR) OCT 15 +1 WRITE(TIMEOUT,LINE ERROR,BREAK) ***************************************************************** ** * TEST SECONDARY CHANNEL * USES BOARD CAPABILITIES(EQT19) AND BOARD STATUS(EQT25) ** * TO DETERMINE RETURN ADDRESS. P+1 MEANS EQT19 IS SET (BIT14) ** * AND EQT25 (BIT14) IS CLEAR. P+2 MEANS EQT19 IS CLEAR/ OR 14 * EQT25 IS SET. 14 ******************************************************************** TSEC EQU * ** NOP * LDA EQT19,I ** AND S$SBB I SZA,RSS B JMP TSECX I AND EQT25,I ** SZA EQ TSECX EQU * T2 ISZ TSEC JMP TSEC,I ************************************************************************ ********************************************************************** * ** * CONFIGURE BOARD FOR RCV ** * ********************************************************************** RCV EQU * ** NOP * LDA =B147777 CLEAR CA+MASK ENABLE ** AND EQT6,I CLR REQUEST TO SEND IOR C$CD SET DATA TERMINAL READY STA EQT6,I AND ECHO DISABLE ECHO IN JSB OTA JSB STAT CLEAR READY FF AL NOP ST NOP ST JMP RCV,I ********************************************************************** * ** * CONFIGURE BOARD FOR SEND * ********************************************************************** SND EQU * ** NOP * CLA * JSB OTA DROP SECONDARY SEND LDA C$CA IOR C$CD SET DATA TERMINAL READY IOR EQT6,I SET REQUEST TO SEND STA EQT6,I AND ECHO DISABLE ECHO O JSB OTA JMP SND,I * * ********************************************************************** OTA EQU * ** NOP * O1 OTA SC JMP OTA,I ** * ********************************************************************** STC EQU * ** NOP * O2 STC SC JMP STC,I ** * * ********************************************************************** CLC EQU * ** NOP * O3 CLC SC JMP CLC,I ** * * ********************************************************************** STAT EQU * ** NOP * O4 LIA SC,C STA EQT25,I ** NOP EQ JMP STAT,I * * * **********************************************************L************ SETIO EQU * ** ********************************************************************** NOP ** CPA LAST ALREADY CONFIGURED ** JMP SETIO,I YES STA LAST NO A ADA CLCO FORM CLC INST STA O3 ADA N4K FORM STC INST ADA B09$ STA O2 ADA N64$ FORM OTA INST STA O1 ADA N64$ NOP N6 STA O4 XOR B09$ REMOVE CLEAR FLAG BIT STA O5 JMP SETIO,I R * CLCO CLC 0 TI N4K OCT 174000 LAST NOP 17 INCD OCT 103 00 M160$ OCT 160 00 M40$ OCT 40 COMP NOP 40 SCODE NOP 40 RTX NOP 40 SAVA NOP 40 SAVB NOP 40 SAVEO NOP 40 EXIT NOP 40 * IT ********************************************************************** * ** * EQT LINKAGE TABLE ** * ********************************************************************** EQT3 NOP UNIT/SELECT CODE ** EQT4 NOP STATUS LE EQT5 NOP LINE STATE C EQT6 NOP I/F CONTROL WORD ** EQT9 NOP CONWD EQT10 NOP PARAMETER 1 EQT16 NOP TIMER FLAGS EQT17 NOP EXTENSION LINK D EQT19 NOP BOARD PARAMETERS ** EQT22 NOP LREAD EQT23 NOP LWRIT EQT24 NOP LCNTL EQT25 NOP I/F BOARD STATUS ** EQT27 NOP DVR72 TIMER PROCESSOR ADDRESS EQT31 NOP LOGICAL TIMER PROCESSOR ADDRESS EQT34 NOP COUNTER FOR NULL O/P OR EQT35 NOP SAVE FIRST CHAR. FOR O/P DD EQT14 NOP TRANSMISSION LOG FO * T1 * BASE PAGE CONSTANTS SS * # EQU 53B E N01$ EQU #-1 E N02$ EQU #-2 E N03$ EQU #-3 E N04$ EQU #-4 E N05$ EQU #-5 E N06$ EQU #-6 E N07$ EQU #-7 E N08$ EQU #-8 E N09$ EQU #-9 E N10$ EQU #-10 N64$ EQU #-11 P00$ EQU # 11 P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P10$ EQU #+10 P17$ EQU #+11 P64$ EQU #+12 M17$ EQU #+13 70.*M37$ EQU #+14 M77$ EQU #+15 M177$ EQU #+16 RBYT$ EQU #+17 OCT 377 LBYT$ EQU #+18 OCT 177400 N M3777 EQU #+19 OCT 3777 0 M1777 EQU #+20 OCT 177700 N NULL EQU RBYT$ * BASE PAGE VARIABLES 70 ## EQU 202B EQTB EQU 300B ADDRESS OF EQT ENTRY O/ $EQ1 EQU ##+1 $EQ3 EQU ##+3 $EQ5 EQU ##+5 $EQ6 EQU ##+6 $EQ9 EQU ##+9 $EQ10 EQU ##+10 $EQ11 EQU ##+11 $EQ14 EQU ##+14 $EQ16 EQU ##+16 $EQ17 EQU ##+17 CLOSE EQU P00$ CLOSED O ARING EQU P01$ AWAITING RING AOPEN EQU P02$ AWAITING OPEN IDLE EQU P03$ IDLE IN PSND EQU P04$ PREPARE TO SEND SEND EQU P05$ SEND RE PRCV1 EQU P06$ PREPARE TO RCV#1(FLUSH WRITE) PRCV2 EQU P07$ PREPARE TO RCV#2(DROP CF) PRCV3 EQU P08$ PREPARE TO RCV#3(DELAY) RECV EQU P09$ RECEIVE RQP3 EQU 230B RQP4 EQU 231B MPTFL EQU 271B MEMORY PROTECT FLAG B15$ OCT 100000 B14$ OCT 40000 B13$ OCT 20000 B12$ OCT 10000 B10$ OCT 2000 B09$ OCT 1000 C$CD EQU B14$ DATA TERMINAL READY C$CA EQU B13$ REQUEST TO SEND C$SBA EQU B10$ SECONDARY SEND A S$SBB EQU B14$ SECONDARY RECEIVE S$CC EQU B12$ DATA SET READY VE S$CE EQU B10$ RINGING ECHO OCT 176777 END 17 0 " / 24350-18003 1419 S 0122 03DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 + SZNAŠUS MANAN-NDAŠS SBԲɠSAVŠPSSҠADDSS DBԲ ADBN0$PASSԲ6ASMҠBK SB$M MPDM MҠ DADƠD DU NP Ơ0DSABŠNUPԠSYSM BNB SBMƠSUPҠMҠƠS SBSAԠNPUԠSAUS DB5 PBPSNDNŠSAŠPPAŠϠSND? MPDDYS AƬSADAASԠADY MPDBYS SZBSSN-NŠS? MPDHYS-MP DɠU DAN0$N-KPMҠUNNNG DƠU DBDA SBDM DàSƠ0NABŠNUPԠSYSM MPD DBU SZBSSNŽS? MPDKYS-NNUŠM DA6ɠAN AND$A.ϠSNDS?AN SZAAN MP+3YSAN DA$SBAN-SԠS.SNDAN SBAAN SZ3ɠNŠSABZŠDAYV MPDɠN DAD SA5ɠNŠSAŠD DHU SBDԠDUUŠMS SBàҠɯƠBAD DAB SB$PMMPŠUS MPD DKU SZ3ɠMAؠMŠAPSD MPDɠN MPDHYS-MP DDU DB3ɠAN SZBSԠMŠAN MPDDNϠAN SBSNDYS-NGUŠҠSNDAN DAԱ9ɠAN A̠AN SSASNDAYHANN̠AN MPDDYSAN SBSUԠN-SAԠUPUԠAN MPDàAN DDUAN DAN0$SԠҠAMAؠƠ00MSAN SA3ɠAN MPDŠAN DDUAN ANDSA+SAŠŠSAUSBS PASA+SAUSK MP+YS MPDŠN SBSàSԠSNDAYV MPDŠ0 DGU SBSUԠSAԠUPU MPD DŠU DAN0$ SZ3ɠMŠUNU? MPDƠN-DAY00MS MPDGYS-SAԠUPUԠANYAY MҠ DADƠD DU NP Ơ0DSABŠNUPԠSYSM BNB SBMƠSUPҠMҠƠS SBSNSAԠNPU SƠ0NABŠNUPԠSYSM MPD MҠ3--NŠSAŠMN D3ADƠD3 D3NP Ơ0DSABŠNUPS BNB SBMƠSUPҠMҠƠS SBMNGԠBAKN 5ASàNPUԠBADSAUS SAԲ5 ANDS$àDAASԠADY SZASԠS? MPD3BYS-ԠԠUN DAP0$ SAؠN-SUPMҠUN DAD3 SAM DBS MPSHSMUAŠɯƠNUP D3BSƠ0NABŠNUPS MPD3 MNNP DAN6$6.SNDS DBD3ANŠMN SBDM MPMN MŠ NA̠SUPҠMU A BMҠAGMASK MƠU NP SBMƱSAVŠMҠYP SBSѠSԠ DA3 ANDM$GԠSԠD SBSϠSԠɯϠNS. DAMƱ MA ANDԱ6ɠAҠMҠNPGSS SAԱ6 MPMƬ MƱNP NŠHK HKU NP DA5 PASŠNŠSD MPHKYS SBSAԠN-GԠɯƠSAUS ҠS$àMPMNԠDAASԠDY ANDS$àANDSA A̬A̠PSNҠNŠ N-"DAASԠNԠADY"NDASNŠ MPHK HKU SZԴɠNVADUS MPADMMDAŠMPN DVŠVAUA ADVŠBS(5-UPUԠDAA(-0 5-SAԠAD -SAԠ 3-NϠPAN BMҠUS <0-NAůUPDAŠVAU 0-NϠUS 0-AN̠US DVU NP SADASAVŠDVS SZBSSMNGUS MPDԱN DAԱ6ɠYS SSBAN̠US MPDԲN YS AŬAAҠNPGSSB BNDAŠAN MPD3 DԲU SSAMҠNPGSS MBNBYS-NDAŠS ҠB5$SԠNPGSSB D3U SAԱ6ɠUPDAŠAGS SBA DBMA SB3ɠSԠPSSҠϠGA̠M DB3 ADBN0$PASS30ASMҠBK SB$MŠA̠M DԱU DADA A̬SASAԠAD SBSADYS A̬SASAԠ SBSԠYS SSANP SBNYS DADANϠDVS MPDVɠUN DANP G SAԠAD SADU NP DA5 PAVNŠSAŽV MPSDYS PASNDNŠSAŽSND g #, 24350-18004 1419 S 0122 04DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 , MPSDYS DAVNŠSAŠHҬHANGŠϠV SS SDU DAPV3NŠSAŽPPAŠϠV3 SA5 SBàDSABŠBAD DAN03$DAY300MS DBDA SBDMSAԠMҠ SBVNGUŠҠV SBN SDU SBSNSAԠNPU SBN SDU SBSAԠNPUԠBADSAUS A̬A SSABADBUSY MPSD3YS DAVNŠSAŽV MPSD+ SD3U DAPV SA5ɠSԠNŠSAŽPPAŠϠV SBSàNABŠɯƠNUPS SBN SAԠNPUԠSUBUN SNNP DA6 SBANABŠHϠƠVAD DA$SBASԠSNDAYSND SBA SBMNSAԠMN SBSàNABŠNUPS MPSN SAԠ SԠU NP SBàUNƠNUPS DB5ɠGԠPVUSSA DAPSND SA5ɠSԠNŠSAŽPPAŠϠSND DADAGԠHAA ANDBY$ SA35ɠSAVŠHA.ҠϯP PBSNDPҠSAŽSND? MPSԱYS-BYPASSUNAUNDDAYS ANDAŠSԠMŠHUAN SA3 DAN0$N-NYDAY00MS DBDAUSŠMŠDAY SBDM SBN SԱU SBSUԠSAԠUPU SBN SAԠUPU SUԠU NP DA35ɠGԠPNDNGHA. SBAϯPϠ NA SBMNSAԠNŠMN SBSàNABŠNUPS MPSUԬ GA̠M MADƠM MU NP Ơ0UNƠNUPԠSYSM DBB5$ SBMƠSUPҠMҠƠS SBSAԠɯPBADSAUS DAP0$ SAؠNDAŠMҠUN DAP0$ DBSԠPSS SHADB5ɠBY DBBɠN MPBɠSA SԠDƠ+ DƠSA-SD DƠSB-AANGNG DƠSB-AANGPN DƠSB3-D DƠSD-PPAŠϠSND DƠSD5-SND DƠSà6-PPAŠϠV(USHũ DƠSà-PPAŠϠV(DPƩ DƠSà-PPAŠϠV3(DAY DƠSà9-V SԠDƠ+ DƠSA0-SD DƠSB-AANGNG DƠSà-AANGPN DƠSA3-D DƠSɠ-PPAŠϠSND DƠSD5-SND DƠSŠ6-PPAŠϠV(USHũ DƠSƠ-PPAŠϠV(DPƩ DƠSH-PPAŠϠV3(DAY DƠSG9-V SAU SBN SAU SBàUNƠBAD SBN SBU ANDS$ŠSAŠNGNGB SZASSS MPSBN SBàYS-UNƠBAD SBDNŠMP SBU SBSàNABŠNUPS SBN SàU A SBU B SBBSAԠPSSBADSAUS NPBAD DB5ɠGD-NDA tŠNNU SBԲɠA̠GA̠N̠NY MPSñMP SBDVNNU-VAUAŠDV SBSàNABŠNUPS SBN SñU DAD SA5ɠSԠNŠSAŽD SBDN SɠU DASND SA5ɠNŠSAŽSND SDU A SDU BNB SBBSAԠHKSAUS NP SDU DB5 SBԲ3ɠA̠GA̠ŠNY SBDNŠMP MPàNNU SŠU MPSDYS SƠU SBNGD SGU A SàU B SBBSAԠHKSAUS MPSGBAD SSAMU MPSGYS DBԲ5 SSBSSBUҠADY SBNN-UN SGU DB5 SBԲɠA̠GA̠ADNY SBDNŠMP MPADàNNU SHU SBHKHKNŠSAUS SZAK MPSGBAD DBV SB5ɠNŠSAŽV SBN DNŠU NP SBàDSABŠBAD DA6 ANDHϠUNƠH SBA SBDԠDUUŠMS DAB SB$PMNYDSƠMPN SBN SAVŠU NP SASAVAA SBSAVBB  $- 24350-18005 1419 S 0122 05DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 - AAS S NA SASAV ANA SAؠNDAŠNUP DASAV ADAN03$AUAŠNUPԠNY DAA SAԠSAVŠUNADDSS MPSAVŬ MMNUN NU NP DAؠDMNŠUNYP SZASS MPN. SASS MPN0GA̠M NUP. DASAVϠS SAA SƠ DASAVAA DBMP̠SԠMMYP SZBSSN MPN3YS DBSAVBSŠB SƠ0NABŠNUPԠSYSM MPԬ N3U DBSAVBSŠB SƠ0NABŠNUPS Sà5NABŠMMYP MPԬɠUN NU DAԱ SASAVB MPN N0SƠ0NABŠNUPS MPM DUUŠMS DԠU NP DAԱ6 SSASSGA̠MҠNPGSS MPDԱN AŬAYS SAԱ6ɠAҠAG A DB3 ADBN0$ SB$MŠAN̠US DԱU DAԱ6 SASSDVҷMҠAV MPDԬɠN-DN ASASYS SAԱ6ɠҠAG DBԲ ADBN0$ A SB$MŠAN̠US MPDԬ BADSAUSHK B-AD0N̬+^ P+BADSAUSP+GDSAUS BSAԠU NP SAMPAҠMPSŠSAUS ADBSA DAԱ9ɠHKҠS.HAN. ANDS$SBBSAŠSàHAN.APABS ҠS$SBBƠNԠAVAABŠAKŠ ҠԲ5 ANDB PABɠHKSAUS MPBSԱK DAP0$BAD ADAMPUPDA SAMPNDAŠNŠ BS3U ADBP03$GԠ"BAD"MASKS DAԲ5 ANDB09$ SZASSDAA MP+3N SZMP SZMP DAMPGԠMPSŠSAUS ANDBɠSAVŠSDBS AƬAƠPSNҠGA A SAB DAԲ5 ANDBY$ ҠBMMPS MPBSAԬ BSԱU SZBSAԠUN+ SBSàBAK SZMPNDAŠBAK MPBS3 SAؠDƠ+ SAԠԠ000-ADVAU Ԡ0000N̠VAU Ԡ0000+ŠVAU Ԡ6-AD(MUԬNŠҬDAAҩ Ԡ60N(MUԬNŠҬDAAҩ Ԡ5+(MUԬNŠҬBAK SԠSNDAYHANN USSBADAPABS(Ա9ANDBADSAUS(Բ5 ϠDMNŠUNADDSS.P+MANSԱ9SSԠ(BԱ ANDԲ5(BԱSA.P+MANSԱ9SAҠ Բ5SS. SàU NP DAԱ9 ANDS$SBB SZASS MPS ANDԲ5 SZA SؠU SZS MPSì {} NGUŠBADҠV VU NP DABAҠA+MASKNAB AND6ɠҠUSԠϠSND Ҡ$DSԠDAAMNA̠ADY SA6 ANDHϠDSABŠH SBA SBSAԠAҠADY NP NP MPV NGUŠBADҠSND SNDU NP A SBADPSNDAYSND DA$A Ҡ$DSԠDAAMNA̠ADY Ҡ6ɠSԠUSԠϠSND SA6 ANDHϠDSABŠH SBA MPSND AU NP ϱAS MPA SàU NP ϲSàS MPSì àU NP 3àS MPì SAԠU NP ϴASì SAԲ5 NP MPSAԬ SϠU NP PAASԠAADYNGUD MPSϬɠYS SAASԠN ADAϠMàNS SA3 ADANKMSàNS ADAB09$ SAϲ ADAN6$MANS SAϱ ADAN6$ NP SAϴ ҠB09$MVŠAҠAGB  %. 24350-18006 1419 S 0122 06DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 . SA5 MPSϬ Ϡà0 NKԠ000 ASԠNP NDԠ03 M60$Ԡ60 M0$Ԡ0 MPNP SDŠNP ؠNP SAVANP SAVBNP SAVϠNP ԠNP ԠNKAGŠAB 3NPUNԯSԠD ԴNPSAUS 5NPNŠSA 6NPɯƠN̠D 9NPND Ա0NPPAAMҠ Ա6NPMҠAGS ԱNPNSNNK Ա9NPBADPAAMS ԲNPAD Բ3NP ԲNPN Բ5NPɯƠBADSAUS ԲNPDVҷMҠPSSҠADDSS 3NPGA̠MҠPSSҠADDSS 3NPUNҠҠNU̠ϯP 35NPSAVŠSԠHA.ҠϯP ԱNPANSMSSNG BASŠPAGŠNSANS U53B N0$U- N0$U- N03$U-3 N0$U- N05$U-5 N06$U-6 N0$U- N0$U- N09$U-9 N0$U-0 N6$U- P00$U P0$U+ P0$U+ P03$U+3 P0$U+ P05$U+5 P06$U+6 P0$U+ P0$U+ P09$U+9 P0$U+0 P$U+ P6$U+ M$U+3 M3$U+ M$U+5 M$U+6 BY$U+Ԡ3 BY$U+Ԡ00 M3U+9Ԡ3 MU+0Ԡ00 NU̠UBY$ BASŠPAGŠVAABS U0B BU300BADDSSƠԠNY $ѱU+ $3U+3 $5U+5 $6U+6 $9U+9 $ѱ0U+0 $ѱU+ $ѱU+ $ѱ6U+6 $ѱU+ SŠUP00$SD ANGUP0$AANGNG APNUP0$AANGPN DŠUP0j  3$D PSNDUP0$PPAŠϠSND SNDUP05$SND PVUP06$PPAŠϠV(USHũ PVUP0$PPAŠϠV(DPƩ PV3UP0$PPAŠϠV3(DAY VUP09$V P3U30B PU3B MP̠UBMMYPԠAG B5$Ԡ00000 B$Ԡ0000 B3$Ԡ0000 B$Ԡ0000 B0$Ԡ000 B09$Ԡ000 $DUB$DAAMNA̠ADY $AUB3$USԠϠSND $SBAUB0$SNDAYSND S$SBBUB$SNDAYV S$àUB$DAASԠADY S$ŠUB0$NGNG HϠԠ6 ND Mn  &- 24351-18001 1347 S 0122               H0101  ASMBABì̠65VDϠMNA̠DAGNS HDGNA̠PANGPDU G0 SUP GNA̠PANGPDU A.ADDAGNSàNGUAҠANDSԠԠUP. B.ADDAGNSàMANPGAM .ADADDSS00B. D.ADSHG.HSԠDŠANDPNS .PSSUNANDAԠҠHAԠ00. .ADSHGS ƠSԠ: 5HAԠAԠNDƠAHS SUPSSҠHAS 3PNASԠS PNDAGNS (SUPPSSA̠PAҠNVNN SUPSSҠMSSAGS 0SUPSSNN-ҠMSSAGS 9GϠϠUSҠN̠SN AԠNDƠPSNԠS SUPPSSPAҠNVNNSS DAGNSàPNS 0 N:SANDADUNSHUDBŠHS.G.0 USҠN̠̠ASKҠA3BԠD. AHBԠ̠S G.PSSUN. H.SAԠ-ADADDSS000B .NGUŠƠSNGɯϠNAŠ-ADADDSS00B GNA̠MPUҠHAS 00ؠŠҠH000Ϡ06 060ؠŠҠH00Ϡ6 030ؠŠҠH00Ϡ6 00ؠŠҠH300Ϡ36 N̠PGAMHAԠMSSAGS 00NDƠDAG(ABSԠSUNũ 006NDƠSԠ(ASԠ 005USҠSNUS 00SԠDŠNPUԠMP 003USҠSԠDŠ 00SVD 00SVD 000SVD 060AP̠HA HDPGA4MGANZANHA NGUAҠ00B NKAGŠABŠ UVŠ30B NKAGŠ NSANS50B AND SAGŠ 000B UVŠN̠ ƠUSD BASàɯϠSS(SԠ00 ZND ABŠƠSԠPNS ABŠƠɯϠNSҠPNS MANDAGNSS(-3 HDNGUAҠNKAGŠABŭ+ AU0AGSҠN BUBGSҠN SנUSHGSҠN NPU0NUPԠHANN̠N G00B MPGɠGϠϠNGUANSN ANBSSASԠNPUԠ(PHϠADҩ SPBSSSנUPUԠ(Sԩ APBSSASԠUPUԠ(DUMPҠPUNH SNBSSSנNPUԠ(KYBAD AMDƠAASԠDƠAVB.MMY AMBSSASԠDƠAVB.MMY BSSNԠUSD(MAGAPũ MàBSSM̠SàMŠUԠUN BSSSԠDSҠɯ PϠBSSMPUҠYPůPNS USSàBSSUSҠADYPŠANDSԠD MMϠBSSMMYSZŠANDYP SҠBSSNNA̠SHGS MҠBSSM̠SàM SàBSSNGUAҠSHKP ɲASBSSNGҠϠASɠNVSN ϲASBSSA̠ϠASɠNVSN ASNBSSASɠNVSN DSN̠BSSDAGNSàSA̠NUMB MҠBSSMA N̠NKAGŠANDDAANS GDƠZNƠNGUANSN MSGàDƠZMSGàMSSAGŠHNϠHA MSGHDƠZMSGHMSSAGŠHHA MSDƠZMSҠMSSAG SԠDƠZSԠSHGSҠHKUN SNԠ0UNԠSԠNUMB ԠDƠZԠUNϠN̠PGAM NPSVD HDUVŠN G000B ZSؠàNPàUNɯϠSYSM SBMSGìɠDϠ DƠZ DAHDMPGԠNDUYMSSAG SA+ SBMSGìɠUԠPUԠ NP AAҠPASS SAZàUN DBZS9HKҠUSҠSN SBSԬ MPZUSҠ'SUSSH ZNUSҠDASDAGԠSQANDADSԠUN DBSDB MPZ ZUSҠDAZSNAVŠPVUSUN DBZSNB HԠ5BAԠҠUSҠNPU ANDSDA SASNHK DAB ANDSDB SAB ҠSNҠANY SZASSNPU? MPZNUSҠNϠ-DϠA̠ƠHM DASNYS-GϠN ZàSAZUNASAV SBZUNBUS SAZSNANPU SBZSNBPGAM DBZS9HKƠS9SDN SBSԬ MPZUSҠNϠGϠANDA ASԠSԠNUMB SASN- SKP Z̠DAZUNASŠAG. DBZUNBSŠBG. AA̠A BS ASԠB SAZUNASAVŠPSNS SBZUNB SZSNMVŠSԠUPN NP ẔDASN ADASPGԠ'S DAAɠADDSS PAZ.MSԠNDƠS MPZ̠YS DBZUNB SSBSSSHUDԠBŠUN? MPZ̠N SAZSAYS-SAVŠSԠADDSS SBZHNAZŠAP̠HAS SBZSAɠGϠDϠS ZԠDASNDSPAYSԠNUMBҠƠHAD DBZSױ5HKҠHAԠAԠNDƠS SBSԬ HԠ6BYSAԠҠPA DBZS9HKҠAB SBSԬ MPZUSҠYS DBZSױ3HKҠPNUN SBSԬ MPẔYS-P MPZ̠NNU Z̠DAZàUPDAŠPASSUN NA SAZ DBZPSAGԠPASSUN ADBZ.ADDSS SBϲASɠNVԠ SBMSGìɠA̠PNԠUN ZPSADƠZPS DBZSױHKҠPNDAG. 0SBSԬ MP+3YS DAZ HԠBNϠAԠANDDSPAYPASSUN DAZSNASŠGNA DBZSNBPGAM MPZàDϠԠA̠AGAN SKP MSSAGŠUPUԠHUԠHA ZMSGàNPNY SBZMSGUPUԠMSSAG Ԡ000SH0HK MPZMSGìɠUNϠA MSSAGŠUPUԠHHA ZMSGHNPNY SBZMSGUPUԠMSSAG Ԡ000SH0HK DAZHԠGԠHAԠD SA+PUԠԠNPA DAZSAVASŠAGS NPHAԠҠDSPAY MPZMSGHɠUNϠA ҠMSSAGŠHHA ZMSNPNY SBZMSGUPUԠMSSAG Ԡ000SHHK A DBZSױHKSҠBԠϠSUPPSS SBSԬɠHA SA+3PUԠHAԠNPA DAZSAVASŠAB DBZSAVB ZHԠNPAԠҠPA MPZMSɠUNϠA SKP UPUԠMSSAG ZMSGNP SAZSAVASAVŠAANDBGSS SBZSAVB DBZMSGɠGԠSHGSҠB DAZMSG ADAZ.MDMNԠUNADDSS SAZMSG SBSԬɠHKϠSUPPSSMSSAG MPZMSG0YS DAZMSGɠHKƠ DAA DAAɠƠS AƬA ANDZ. PAZA. SBZNHKϠUPUԠSԠNUMB DAZMSGɠNϠVŠMA DBAɠADDSS A SBMҬ ZMSG0DAZMSGɠNVԠHAԠD DBAɠMASɠSNG A SBASN SAZNAϠSAVŠSU ANDZ.300DD DBZHHAԠD PAZ.00 DBZH6 PAZ.00 DBZH3 PAZ.300 DBZH DAZNAϠGԠHAԠNUMB ANDZ. ҠB SAZHԠSAVŠ SZZMSGɠADUSԠUNPNS SZZMSG SZZMSG SZZMSG DAZSAVASŠAANDBGSS DBZSAVB MPZMSG SKP ZNNP DASNGԠSԠNUMB PAZԠSԠHŠSAMŠN? MPZNɠYSSKPUPU SAZԠNϠ-HNUPDAŠ SBZNAϠNVԠ SAZSNPUԠԠNSNG ADϠA SBSP AŠNDAŠSAԠƠMA DBZS SBMҬ MPZNɠUN ZSAVANP ZSAVBNP ZàNP ZSANP ZSNANP ZSNBNP ZUNANP ZUNBNP ZBMPNP Z.Ԡ Z.Ԡ Z.0Ԡ0 Z.60Ԡ60 Z.Ԡ Z.Ԡ Z.MDà- Z.MDà- ZD00Dà-00 ZMԠ00 ZSױ5Ԡ00000 ZSױԠ0000 ZSױ3Ԡ0000 ZSױԠ0000 ZSԠ0000 ZS9Ԡ000 Z.00Ԡ00 Z.00Ԡ00 Z.300Ԡ300 ZHԠ0000 ZH6Ԡ06000 ZH3Ԡ03000 ZHԠ0000 ZԠDà- ZSƠDƠ+ ASà3S ZSNASàد ZƠASà ZPSàASà6PASSد ZA.ŠԠ05 HDGNA̠UNS ZNAϠNP SAZADSAVŠNUMB ANDZ.NVԠS ҠZ.60NUMB SABSAVŠ DAZADG AҬAҠSND AҠNUMB ANDZ.NV ҠZ.60 AƬAƠMVŠϠUPPҠHA ҠBADD MPZNAϬɠANDUN SHGSҠHK ZSԠNP SAZNAϠSAVŠAGS ASנGԠSHG. ANDBMASKUԠB SZASSSԠUPh? SZZSԠN DAZNAϠSŠAGS BSנԠBSHGS MPZSԬɠUNϠA NAZŠAP̠HAS ZHNP DAZSHGԠSANGAP̠HA DBZ.GԠSԠAP̠AN ZSH̠SABɠPUԠԠNPA PBZ.AMɠNSHD MPZHɠYS NBNԠADDSS MPZSH ZSHԠ060 SKP PUԠSBNSUNNAP ZɠNP DBZSBɠGԠNSUN SBZSìɠPUԠԠNAP DAZɬɠGԠAN SA3BSAVŠԠҠSBNSUN SZZɠADUSԠUN MPZɬɠUNϠA ZSBɠSB3BɠSBNSUN NAZŠSԠDŠɯϠNSUNS ZSàNP SAZSàSAVŠSԠD SBZADSAVŠABŠADDSS Z̠DBZADɠGԠADDSSƠAN PBZ.MSԠHŠMNA MPZSìɠYSUNϠA DABɠNϠ-GԠNNS ANDZMMASKƠDSԠD ҠZSàADDNNנSԠD SABɠSŠ SZZADMVŠϠNԠADDSS MPZ̠DϠ ZSàNP ZADNP SKP NGUANSN ZNƠàNPàUNɯϠSYSM ASנGԠSԠDŠANDPNS SAUSSàSAVŠHM ANDZ.MNAŠPNS DBA MBNBHKHAԠSà ADBZ. SSB? MP+3KGϠN HԠ3BN MPZNƠYAGAN DBPNAZŠSԠɯ SBZSàNSUNS HԠBAנPAҠϠHANGŠS MPZSؠGϠϠàN̠SN Q HDBASàɯϠSS HU0B S00U NP DAUSSàGԠ̠AN ANDZ. SBZBϠDϠBASàɯ MPS00 ZBϠNP àNPàUNƠA̠ɯ DBZBDNAZŠBASàɯ SBZSàNSUNS NUPԠAGHK ZBϱSƠNP ƠNP SàNP SS MP+3 000SBMSɠ000Ơ0-Sà0 DƠZB00 SSNP MP+3 00SBMSɠ00Ơ0-SS0 DƠZB0 SƠNP SàNP MP+ ƠNPUNƠNS 00SBMSɠ00SƠ0-Sà0 DƠZB0 SSNP MP+3 ƠNPUNƠNUPS MPZBϲ ƠNPUNƠNS 003SBMSɠ003SƠ0-SS0 DƠZB03 MPZBϲ ZB00ASà000Ơ0-Sà0ү ZB0ASà00Ơ0-SS0ү ZB0ASà00SƠ0-Sà0ү ZB03ASà003SƠ0-SS0ү SKP ADAGHK ZBϲU ZBSSƠH ZBSƠH ZBS3SàH SS MP+3 005SBMSɠ005ƠH-SàH DƠZB05 ZBSSSH MP+3 006SBMSɠ006ƠH-SSH DƠZB06 ZBS5SƠH ZBS6SàH MP+3 00SBMSɠ00SƠH-SàH DƠZB0 ZBSSSH SS MPZB3 00SBMSɠ00SƠH-SSH DƠZBű0 MPZB3 ZB05ASà3005ƠH-SàHү ZB06ASà3006ƠH-SSHү ZB0ASà300SƠH-SàHү ZBű0ASà300SƠH-SSHү SKP NUPԠN ZB3SBZɠSԠSBNSUN DƠZB3 ZBS3SƠHSԠHŠ̾MAG ZBS3SàHSԠHŠN ƠNPUNɯϠSYSM NPGVŠԠAHANŠɠNUP NP ZBS33ƠHSԠHAG MPZBϴ ZB0ASà600Ơ0DDNԠNHBԠNԯ ZB3ŠNP ƠNPUNƠNS 00SBMSɠ00 DƠZB0 SKP SԠDŠSNS ZBϴDBZ.0SAԠHSԠADDSS ZB0DAUSSàGԠSԠD ANDZ. PBASԠHŠH? MPZ.+YS-SKPS DAZ.SƠSԠUP ANDZM ҠBSƠNSUN SAZ.SƠPUԠԠNPA DAZ.ƠSԠUP ANDZM ҠBƠNSUN SAZ.ƠPUԠԠNN ZBSƠHAҠHANN̠AG Z.SƠSƠHUŠSƠHNSUN ZBSSàHSԠHANN̠AG MPZB Z.ƠƠHAҠSԠAG PBZ.SSԠNSHD? MPZB5YS NBN MPZB0DϠNԠHANN ZBűASà0SƠؠSԠADAG ZBSBZBMPSAVŠNUMB DABNVԠHҠMSSAG SBZNA SAZBű+5 DAZBMPVŠNUMB 0SBMSɠ0 DƠZBű SKP HKNUPԠHD ZB5SBZ DƠZB5 ASԠUP SAZB5AGS SAZB5ҠS SAZBMP ZBS5SàHUNN ZBS5SƠHAD SƠNPANDNUPS Sà SƠ à ƠNϠNUP MP+ɠSHUDU DƠ+H SB+ɠ DƠ+ ZB5NP S<:6ZZBMPN.SHUDBŠH SZZBMP ƠNPUNɯϠSYSM DAZB5DDԠNUP? SZA MP+ 0SBMSɠ0NϠN DƠZBű MPZB6ABԠSԠƠSN DAZBMPHKҠԠNUP PAZ.? MP+3 06SBMSɠ06NԠUN DƠZBŲ6 ZBS53ƠHUNƠHAG MPZB6GϠϠNԠSN ZBD5DƠZB5- ZBD5ADƠZB5+ ZBűASà60NԠDUNGHDƠNSү ZBű3ASà03SNDNԠUD ZBűASà060NϠNԯ ZBű5ASà05NԠNADDҠү ZBŲ6ASà306NԠUNү SKP ZB5NP ƠNPUNɯϠSYSM DAZBD5HKϠSŠƠA PAZB5NSUNMPD MP+3YS 0SBMSɠ0NԠDUNGHD DƠZBű DAZBD5AHKUNADDSS DBPϠƠ0 SSBADDN NA PAZB5 MPZB5A 05SBMSɠ05NԠNADDҠ DƠZBű5 MPZB6 ZB5ASBZɠSԠSNDNԠAP DƠZB5 SƠNPUNɯϠSYSMN MPZB5ɠNNUŠS ZB5NP ƠNPUNɯϠSYSM 03SBMSɠ03SNDNԠUD DƠZBű3 .< '6 24351-18002 1347 S 0122               H0101  SKP àHANDà0 ZB6SBZɠSԠSBNSUN DƠZB6 ZBS6SàHSԠHN ZBS6SƠHSԠHAG SƠNPUNNNUPS ZBS63àHAҠHN NPGVŠԠAHAN NP ƠNPUNNS ZB60SBZɠSԠSBNSUN DƠZB6 ZBS6ƠHAҠHAG ZBS65SàHSԠHN ZBS66SƠHSԠHAG SƠNPUNNNS àNPAҠɯϠSYSM NPGVŠԠAHAN NP ƠNPUNƠNS MPZBϷ ZB6NP ƠNPUNƠNS 06SBMSɠ06àH DƠZBű6 MPZB60 ZB6NP ƠNPUNƠNS 0SBMSɠ0à0 DƠZBű MPZBϷ ZBű6ASà906àHү ZBűASà90à0ү SKP NA̠NNA̠PSԠS ZBϷDBZSHKϠSUPPSS SBSԬɠ? MPH05YS-SKPPSԠS H0SBMSGìɠ̠PA DƠZBMPSSPS ZBSƠHAҠHAG SƠNPUNNNS SBZɠSԠAP̠SBNSUN DƠZBɷ0 HԠBAԠҠPA ANASԠUPAGSҠSS SSNPHKNPAG ANԠSԠSϠAҠAG A̠MVŠϠNԠAG ƠNPUNƠNPS ZBSSSHHKHANN̠AG NANԠSԠSϠAG A̠MVŠϠNԠAG B0HKɯϠBUSS SZBSHUDBŠZ NANԠSϠAG A̠MVŠϠNԠAG SƠNPHKN̠NAD NPGVŠԠAHAN NP ƠNPUNƤNPS SKP ZB0SASSHKҠS MP+3 0SBMSɠ0DDNԠAҠN DƠZBŲ A SASS MP+3 03SBMSɠ03ɯϠNSNԠA DƠZBŲ3 A SASS MP+3 00SBMSɠ00AGNԠS DƠZBŲ0 A SASS MP+3 0SBMSɠ0DDNԠDABŠNS DƠZBŲ H05SBMSGìɠ̠PA DƠZBM5BASàɯϠSMP MPZBϬɠUNϠA ZBɷ0NPN̠AD ƠNPUNƠNPS NA MPZB0 ZBŲ0ASà00PS(ԩDDNԠSԠAG ZBŲASà90PS(NԩDDNԠDSABŠNS ZBŲASà00PS(ԩDDNԠAҠN̯ ZBŲ3ASà03PS(ԩDDNԠAҠ-ϠNS ZBMASàH0PSSPSԠ(ԦNԩUN ZBM5ASà0H05B-ϠMP SKP ZBDDƠ+ DƠZBS DƠZBS DƠZBS3 DƠZBS DƠZBS5 DƠZBS6 DƠZBS DƠZBS3 DƠZBS3 DƠZBS33 DƠZBS DƠZBS DƠZBS5 DƠZBS5 DƠZBS53 DƠZBS6 DƠZBS6 DƠZBS63 DƠZBS6 DƠZBS65 DƠZBS66 DƠZBS DƠZBS Dà- ZNDU HD65VDϠMNA̠DAGNS SPàDAGNSàUNNS SԠ-HAAҠS SԠ-DMAUPUԠS SԠ3-MMYHK SԠ-DԠMAؠHK SԠ5-USҠANDDSPAYS SԠ6-ASŠS SԠ-KYBADS SԠ-HϠS { SԠ9-DMANPUԠS SԠ0-SAҠHK SԠ-AGNMNԠSԠPAN SKP BASŠPAGŠDAAҠSԠN̠PGAM G6B DSNԠ000DAGNSàSA̠NUMB G0B PDƠDPPNҠϠɯϠNSUNAB SPDƠSDPNҠϠSԠAB HDMPDƠHDMSPNҠϠHADҠMSSAG SDAԠDAUԠSԠSԠ(0- SDBԠ0 BASŠPAGŠNSANSANDSUBUNS G50B MPNPMPAYSAG NҠNP .Ԡ .Ԡ .Ԡ .00Ԡ00 .00Ԡ00 ....Ԡ00000 .MDà- .M0Dà-0 KDԠU0BDUMMYMNA̠SԠD SױU.BԠMASK SײԠBԠMASK S3Ԡ0BԠ3MASK S״Ԡ0BԠMASK NPSנԠ000BSAND-NϠPAҠMASK ƠԠ6 ƠԠNŠD .0Ԡ0 .Ԡ .3Ԡ3 D500Dà500 .MDà- DMDà- DMDà- DMDà- DM9Dà-9 DM0Dà-0 DMDà- DM5Dà-5 DMDà- DM9Dà-9 DM39Dà-39 DM0Dà-0 M0Dà-0 BPԠB̠-N̠G MPDƠZɠPNҠϠAP̠SԠUN HAҠNPDSPAYHAA SHAҠNPSAԠHAA NҠNPNUMBҠƠHAASNAN SKP UPUԠϠKD AKDԠNP SZASSUPUԠ̠HAAS? MPAK̠YS SAAKSVSAVŠHŠHAA SSASSSԠAMMAND? MPAKԠNϠ-UPUԠA-GS ASñAKDԠYS-DϠ AKؠDAAKSVSŠHŠA-GS MPAKDԬɠANDUN AKԠAƬAƠUPPҠHAAҠS AND.MASKƠUNANDBS SZASԠAHAA SBAKDԠYS-ANSҠ DAAKSVDϠHŠH"ҠHA AND.MASKƠUNANDBS SZASԠAHAA SBAKDԠYS-ANSҠ MPAKؠNϠ-UNϠA AK̠SBAKDԠUPUԠHŠNU̠HAAS A̠Ҡ9600BAUD SBAKD A SBAKD MPAKDԬɠUNϠANGUN AKSVNPHAAҠHDAA AKDԠNP ASñAKDԠGVŠԠϠMNA ASòSàKDԬà A AS3SSKDԠAԠ MPAKԠANSҠMP ASôàKDԬàUNƠMNA MPAKDԬɠ AKԠNASZAAԠϠNG? MPAS3NϠ-GϠHKҠMPNAGAN AS5àKDԬàYS-AҠMNA 05SBMSɠPԠ DƠMS05 MPAKDԬɠUNϠANGUN MS05ASà605-ϠAGNԠSԠAҠDAA ASàUPUԯ SKP UPUԠDAAPANAB ƠH.SPS.UPUԠBHHAAS ƠH.SNG.USŠUPPҠASHAAҠP.UN PDPԠNP SBMPSAVŠPNҠASADDSS PDPBSԠҠHAASU DAMPɠGԠHS.MAB PA.MSԠHŠMNA MPPDPԬɠYS-UNϠA SSASSN-SԠAMUYH.UPU MPPDԠNϠ-SKPSUP Ҡ.3 AƬAƠ SABSԠUPUN DAMPɠ AND. PDԠSBAKDԠGϠUPUԠAD NBSZBUPUԠAGAN? MP-YS SZMPN-MVŠϠNԠH. MPPDPGϠDSPAY KDԲANP DAMDA̠ҠNPU KDSñAKD KDSòSàKDԬ KDS3SàKD MPKDSô DBSײHKҠAB SBSԬ SS MPKDS3 DAM0BԠSԠ-ABԠNPUԠP NASZAsMŠUԠPϠSUPPSS MP-ԠƠNAԠBUN DBSײAԠҠBԠϠBŠAD SBSԬ MP- MPKDS5BԠAD-UN KDSôAKD AND.MASKƠPAYB SZKDԲAADUSԠUNҠDAA KDS5àKDԬàUNƠMNA DBMDSŠUPUԠMMAND KDS6BKD MPKDԲA MDԠ0000NPUԠNYMMAND SKP PPAŠMNA̠HAҠMMAND PPNP DAMDUPUԠMMAND SBAKD DAAҠAҠDSPAY SBAKD ASNDNŠNU̠HAAҠ SBAKDԠDAYMŠAԠ9600BAUD MPPP MDԠ0000PNԠNYMMAND AҠԠ5505AҠ-Sà AԠ5SNDS(.5SNDSƠS.G.BԠ3SN HNHKS.G.BԠҠPAUS PAUSŠNP DBS3SH3UP? SBSԬ MP+3YS-GϠPAUSŠҠ.5SNDS DA.5SàNϠ-PAUSŠҠ5SNDS SS DAD500 SBMҬɠGϠϠMҠUN DBSױSHUP? SBSԬ MP-YS-P MPPAUSŬɠN-UN .5SàDà5000 UNNMA̠ƠBԠƠSHGSҠSN HSŬNMNԠUNADDSSBYNŬHNUN UNNP DBS״HBԠMASK SBSԬ MPUNɠYS-UNMMDAY SZUNNϠ-NMNԠUN MPUNɠUN SKP DMAɯϠUNS DMANPɯϠNDMAHANN̠ SADMAײSAVŠDMAN̠D SBDMA3ANDN̠D3 DADMAɠSԠUPNԠUNŠҠɯ SADMASNDMA DMADDADMAD̠HADDSSƠDƠS SAMP DMA̱DBMPɠHDMAMMANDADDSS 7pSZBSSNDƠS? MPDMAϠYS-GϠUŠɯ DABɠHDMAMMAND DMASNPSԠUPҠHҠDMAҠ SABɠSŠMMAND SZMPNMNԠϠNԠMMAND MPDMA̱DϠNԠMMAND DMANPɯϠNDMAHANN̠ SADMAײSAVŠDMAN̠DS SBDMA3 DADMAPUԠUNNϠDMA SADMA DA.00 ANDP SZASDMAAVAAB? MPH05NϠ-GϠPԠUNAVAAB DADMAɠSԠUPNԠUNŠҠɯ SADMASNDMA MPDMADGϠϠNԠUN DMAɠAND.MSԠUPҠDMA DMAɠҠ.SԠUPҠDMA DMAϠDADMAױGԠSԠDMAN̠D DMAñA6UPUԠSԠN̠D DMAòàSԠUPDMAҠN̠D DBDMAײ DMA3BSNDϠDMA DMAôSàSԠUPDMAҠN̠D3 DADMA3 DMA5ASNDϠDMA DADMAPSԠUPNUP DMA6SA6 SƠ0UNNNUPԠSYSM DMAKSàKDԬàSAԠMNA DMA÷Sà6àSAԠDMA SSBSԠNPU? MPDMAPYS-GϠϠNPUԠAԠP DA.5SàN SBMҬɠAԠ5SNDSҠMPN Ơ0ϠNG-UNƠNUP DMAøSƠ6UNƠDMA DMA9à6 00UҠHAԠ00AND0 0SBMSɠNϠNUPԠNDMAUPU DƠMS00 MPDMAƱA̠UN MS00ASà0 DMAAASà90NϠNԠNDMA DMAPDBSײ SBSԬɠBԠS? SSYS-GϠAԠҠS MPDMAPNϠ-NNUŠPNG DAM0MŠUԠPϠSUPPSS NASZAԠƠNAԠBUN MP-N5'SAND6'S DBSײ SBSԬɠBԠS? "MP-NϠ-NNUŠPNG Ơ0YS-MNAŠS DMABSƠ6SŠUԠDMA DMAàà6 DAMDSŠMNA̠ϠUPU SBAKD AZϠA-GNDASNDNPU MPDMAKUNA DMADNƠ0DMAMPŠ-UNƠNUP DMADà6àAҠDMA A DMAKSSKDԠSMNA̠DN? MPDMAԠNϠ-HKҠMŠU SZDMAYS-NMNԠUN DMAK3àKDԬàUNƠMNA MPDMAɠUNSUSSU DMAԠNASZAAԠϠNG? MPDMAKNϠ-HKAGAN 0UҠHAԠ0AND03 03SBMSɠDMA-ϠNMP DƠMS0 MPDMAƱA̠UN MS0ASà0 DMAŠASàDMA-ϠNMPů H05SBMSGìɠMSSAGŠ05 DƠMS05NϠDMA MPDMAƱA̠UN MS05ASàH05NϠDMA DMAƱANGAVŠA-GMANSҠ DMAKàKDԬàUNƠMNA MPDMAɠUNA DMAױԠ00000DMAN̠D DMAײNPDMAN̠D DMA3NPDMAN̠D3 DMAPMPDMADNUMPҠNUP DMAD̠DƠ+PNSϠDMASԠDS DƠDMAñ DƠDMAò DƠDMA3 DƠDMAô DƠDMA5 DƠDMA6 DƠDMA÷ DƠDMAø DƠDMA9 DƠDMAA DƠDMAB DƠDMA DƠDMAD DƠDMA NPNDƠS HKDMAAVAABY DMAKNP DBPϠHMPUҠYPŠANDPNS BƠMASK DABU AND.MPUҠYP ADADM SSASSSԠA5Ҡ6? MPDMAKɠNϠ-UNA DA.00 ANDB SZASSSDMAPNPSN? MPH0NϠ-DSPAYMSSAG SZDMAKYS-NMNԠUN MPDMAKɠUNSUSSU H0SBMSGì DƠMS0 MPDMAKɠUNA MS0ASà6H0NϠDMA SKP PNSϠSAԠƠAHS SDU DƠS00BASàɯϠSS DƠHSԠHAAҠS DƠDMAϠDMAUPUԠS DƠMMYMMYS DƠDԠDԠMAؠS DƠUSҠUSҠANDDSPAYS DƠASŠASŠS DƠKYBDKYBADNPUԠS DƠHϠHϠNPUԠS DƠDMANDMANPUԠS DƠSàSAҠHK DƠAGNAGNMNԠSԠPAN Dà-NDƠABŠ PNSϠSԠSԠDŠɯϠNSUNS DPU DƠSS DƠASñ DƠASñ DƠASò DƠAS3 DƠASô DƠAS5 DƠKDSñ DƠKDSò DƠKDS3 DƠKDSô DƠKDS5 DƠKDS6 DƠDMAK DƠDMAK DƠDMAK3 DƠDMAK DƠDMAױ DƠDMԱ DƠDMԲ DƠSK Dà-NDƠABŠ HADҠMSSAG HDMSASà665VDϠMNA̠DAGNSï SKP DMAHANN̠DNҠNŠҠDMAUPUԠS DMPDƠ+ Ԡ0D Ԡ5M Ԡ0A Ԡ0 Ԡ03 Ԡ0H Ԡ0A Ԡ6N Ԡ6N Ԡ05 Ԡ Ԡ0 DMNMNP SKP SԠ-HAAҠS GZNDSŠAҠN̠PGAM HSԠNP SBPPAҠSN DA.0SԠNA̠SAԠHAA SASHA DADM5DSPAY5NS 0OSAN H̱DADM99HAASPҠN SAN DASHAҠGԠSAԠHAA SAHA SZSHAҠSԠSAԠHAAҠҠNԠN H̲SBHԠDSPAYHAA SZNҠNDƠN MPH̲NϠ-GϠDSPAYNԠHAA SZNҠYS-ASԠN MPHNNϠ-GϠUPUԠ- SBPAUSŠYS-AԠҠBSVAN SBPP MPHSԬɠUNϠ HNDA SBAKDԠUPUԠ- MPH̱DϠNԠN HԠNP DAHAҠUPUԠHAA SBAKD NASԠϠNԠHAA PAMH DA.0APAUNDƠND SAHA MPHԬ MHҠU.HGHSԠDSPAYABŠHAA SKP SԠ-DMAUPUԠS DMAϠNP SBDMAKANDMASSBŠUN? MPDMAϬɠNϠ-UNϠ DMSSBPPAҠSN DADMDϠNSH- SAN DM̱SBDMɱNAZŠҠUPU SBDMAUPUԠHUGHDMA MPDMؠA̠-UNϠ SZN MPDM̱PMS DADMP+GԠHAAҠ'' SBDMɲNAZŠҠDMAHANN̠MSS SBDMA MPDMؠA̠-UNϠ SBPAUSŠAԠҠBSVAN SBUNPNSUBS? MPDMSYS-GϠϠSAԠƠSUBS DMSSBPPAҠSN DADMYDMA SAN DM̲SBDMɱNAZŠҠUPU SBDMAUPUԠNDMA MPDMؠA̠-UNϠ SZN MPDM̲DϠNSH- DADMP+GԠHAAҠ'' SBDMɲNAZŠҠDMAHANN̠MSS SBDMADSPAYASԠN MPDMؠA̠-UNϠ SBPAUSŠAԠҠBSVAN SBUNPNSUBS? MPDMSYS-GϠϠSAԠƠSUBS DMؠSBPPAҠSN MPDMAϬɠUNMP DMɱNPSԠUPҠUPU DAƠSŠNŠDHAA SADMƠAԠNDƠUPUԠBU HSSPSAKNϠSŠHŠASԠHAAҠƠH UPUԠBUҠHHMAYBŠADBY00DMAƠ'HA' SPSSDBŠDMASMP DADMPԠHBUҠADDSS DBAɠHSԠHAA DMԱBKDԠSNDϠNA NANMNԠBUҠPN DBDM0HBUҠNGH MPDMɱɠUN DMɲNPSԠUPҠDMAHANN̠MSSAG SADMNMSŠHANN̠NUMB DADMPHBUҠADDSS DBAɠHSԠHAAҠƠMSSAG DMԲBKDԠSNDԠϠHŠNA NANMNԠBUҠPN DBDMHBUҠNGH MPDMɲɠUN DMPԠDƠ+ DMBSUDMP-0BDNŠUPUԠPAN P9M!(BϠSMA̠Ϡ(5B DƠ-DMBS Ԡ5AAGŠUN DMƠԠNŠD SKP SԠ3-MMYHK G000BŠϠNԠPAG MMYNP SBPPAҠSN DBHMDNHMŠDNBYDNGNŠDS SBPDP DADMNS SAN DAMS?HAASҠSԠN MM̱DBDM39HAASPҠN SBAKD NBSZBNŠNSHD MP-N SAMPYS SZN MPMMԠGϠDϠNԠN SBPAUSŠA SBPPAҠSN MPMMYɠUNϠ MMԠDAD500AԠϠGVŠPA SBMҬɠBSVANM DAƠDϠ SBAKD A B@ 10B; HENCE OK LDB BGIN BAD SELECT CODE - IS IT NECESSARY INB LDB B,I SSB JMP OK001 IS OKAY - NOT NEEDED HLT 1 BAD SELECT CODE JMP INIT GO RESTART OK001 STA SC JSB INSTR JMP GETSC,I INSTR NOP ADD C(SC) TO I/O INSTRUCTIONS ISZ BGIN LDB BGIN,I GET THE ADDRESS SSB JMP INSTR,I ADB CORE LDA SC ADA B,I STA B,I JMP INSTR+1 HED LOADER SIZED LDA CORE AND MB64 WIPE OUT THE EXTRA '2' STA CORE ADA MB64 CMA,INA STA TOPS CALCULATE MAXAD LIA 1 GET LOADER NUMBER ALF AND B17 ADA TLODR INDEX THE TABLE LDB A,I SZB IS IT LEGAL? JMP LEGAL CMA,INA NOPE! ADA TLODR CMA,INA LEAVE IT IN READABLE FORM HLT 2 BAD LOADER NUMBER! JMP INIT GO RESTART LEGAL LDA B,I GET THE LENGTH STA LEN ADA CORE STA CORE CALCULATE START ADDRESS STA SC STB BGIN * * DO THE TRANSFER * XFER ISZ BGIN LDA BGIN,I STA CORE,I CPA CORE,I SEE IF THE INSTR. WAS STORED OK JMP STROK HLT 3 , INSTRUCTION NOT STORED CORRECTLY JMP INIT LET^S TRY AGAIN! STROK ISZ CORE NEXT LOCATION TO STORE AT ISZ LEN JMP XFER * * NOW DO THE SELECT CODES * LDA SC STA CORE LIA 1 GET READER SELECT CODE JSB GETSC LIA 1 GET DISC SC ALF,ALF RAL,RAL JSB GETSC LDA TOPS STA SC JSB INSTR DO MAXAD CALCULATION ISZ BGIN LDB BGIN,I JMP B,I GO DO ANY SPECIAL PROCESSING STOP EQU * HLT 77B JMP INIT B2 OCT 2 SUP TLODR DEF *+1 DEF LODR0 BASIC BINARY LOADER DEF LODR1 BASIC BINARY DISC LOADER DEF LODR2 DOS-III/RTE 7900A DISC LOADER DEF LODR3 DOS-III 2883A D SC LOADER DEF LODR2 DOS-III/RTE 2870A DISC LOADER DEF LODR5 MAG TAPE REFORM. SYS. BOOT DEF LODR6 DOS-III/RTE 7905A DISC LOADER DEF LODR7 ACCESS IOP PROTECTED LOADER DEF LODR8 2644 BOOT DEF LODR9 ABS MAG TAPE LOADER DEF LOD10 SCE/1 BBL DEC 0,0,0,0,0,0 HED BASIC BINARY LOADER (BBL) * * BASIC BINARY LOADER (BBL) * LODR0 DEC -64 OCT 107700,063770,106501,004010 OCT 002400,006020,063771,073736 OCT 006401,067773,006006,027717 OCT 107700,102077,027700,017762 OCT 002003,027712,003104,073774 OCT 017762,017753,070001,073775 OCT 063775,043772,002040,027751 OCT 17753,044000,000000,002101 OCT 102000,037775,037774,027730 OCT 017753,054000,027711,102011 OCT 027700,102055,027700,000000 OCT 017762,001727,073776,017762 OCT 033776,127753,000000,103700 LDR00 EQU *-1 OCT 102300,027764,102500,127762 LDR01 EQU *-4 LDR02 EQU *-2 OCT 173775,153775,000000,177765 LDR03 EQU *-2 OCT 000000,000000,000000,000000 ABS LDR00-LODR0-1 ABS LDR01-LODR0-1 B66 EQU * ABS LDR02-LODR0-1 OCT 100000  SECTION SEPERATOR OCT 100000 SECTION SEPERATOR ABS LDR03-LODR0-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING SKP HED 2644 BASIC BINARY LOADER * * 2644 BASIC BINARY LOADER 12966-12968 ONLY * LODR8 DEC -64 OCT 063773,073702,063763,037702 OCT 103600,053771,027717,001727 LDR80 EQU *-4 OCT 013772,002002,027702,103700 LDR81 EQU *-1 OCT 102300,027714,027702,017750 LDR82 EQU *-4 OCT 005727,007007,102077,006021 OCT 102000,077776,017750,077774 OCT 077775,017750,063775,043777 OCT 002040,102055,177775,047774 OCT 077774,037775,037776,027731 OCT 017750,057774,027717,102011 OCT 000000,006700,102500,002021 LDR83 EQU *-2 OCT 027752,013772,044000,002041 OCT 127750,005767,027752,150077 OCT 040740,030003,000033,050077 OCT 000145,040340,000377,063763 OCT 000000,000000,000000,170100 LDR84 EQU *-1 OCT 100000 ABS LDR80-LODR8-1 ABS LDR81-LODR8-1 ABS LDR82-LODR8-1 ABS LDR83-LODR8-1 OCT 100000 ABS LDR84-LODR8-1 OCT 100000 DEF STOP SKP HED ABS MAG TAPE BINARY LOADER * * ABS MAG TAPE BINARY LOADER * LODR9 DEC -64 OCT 102501,013775,003007,027714 OCT 073777,067771,017761,102301 LDR90 EQU *-1 OCT 027707,067773,037777,027706 OCT 067772,017761,103700,017740 LDR91 EQU *-2 OCT 005727,007004,077777,017740 OCT 074000,077776,017740,177776 OCT 040001,037776,037777,027726 OCT 017740,054000,017740,102011 OCT 000000,102300,027745,107500 LDR92 EQU *-3 LDR93 EQU *-1 OCT 127740,102301,027741,102501 LDR94 EQU *-3 LDR95 EQU *-1 OCT 013774,067777,001727,002020 OCT 102077,002003,006002,102000 OCT 027714,000000,106601,102501 LDR96 EQU *-2 LDR97 EQU *-1 OCT 001323,001310,027762,103701 LDR98 EQU *-1 OCT 127761,001501,001423,00020s3 OCT 016263,000077,000000,000000 OCT 100000 ABS LDR90-LODR9-1 ABS LDR91-LODR9-1 ABS LDR92-LODR9-1 ABS LDR93-LODR9-1 ABS LDR94-LODR9-1 ABS LDR95-LODR9-1 ABS LDR96-LODR9-1 ABS LDR97-LODR9-1 ABS LDR98-LODR9-1 OCT 100000 OCT 100000 DEF STOP SKP HED SCE/1 91700-16160 BOOT * * SCE/1 BOOT HALT VERSION * LOD10 DEC -64 OCT 107700,103500,102500,063775 LD100 EQU *-4 LD101 EQU *-3 LD102 EQU *-2 OCT 017743,063730,017743,003004 OCT 017743,001363,102401,017743 OCT 102600,017760,057775,027765 LD103 EQU *-4 OCT 077777,006021,102013,017760 OCT 077776,077743,106601,017760 OCT 177776,037776,047743,077743 OCT 037777,027727,017753,063774 OCT 057743,063773,027714,000000 OCT 102600,017753,057773,127743 LD104 EQU *-4 OCT 057774,027744,102012,000000 OCT 102300,027754,106500,127753 LD105 EQU *-4 LD106 EQU *-2 OCT 000000,017753,063773,102600 LD107 EQU *-1 OCT 127760,017760,017760,017760 OCT 006002,102011,102077,170360 OCT 007417,170017,000000,000000 OCT 100000 ABS LD100-LOD10-1 ABS LD101-LOD10-1 ABS LD102-LOD10-1 ABS LD103-LOD10-1 ABS LD104-LOD10-1 ABS LD105-LOD10-1 ABS LD106-LOD10-1 ABS LD107-LOD10-1 OCT 100000 OCT 100000 DEF STOP HED BASIC BINARY DISC LOADER (BBDL) * * BASIC BINARY DISC LOADER (BBDL) * ORG 3677B LODR1 DEC -64 ST2 CLC 0,C CLA,RSS CONT2 LDA CM21 CLB,CCE JSB READ2 LEDR2 CMB,CCE,INB,SZB JMP RECL2 EOTC2 INA,SZA JMP CONT2+1 HLT 77B JMP ST2 RECL2 STB CNT2 JSB READ2 JSB READ2 STB A STB ADR11 SUCID LDB ADR11 ADB MAXAD SEZ JMP RESCU LOAD2 JSB READ2 ADA B CM21 STB ADR11,I ISZ ADR11 CLE  ISZ CNT2 JMP SUCID JSB READ2 CPB A JMP CONT2 HLT 11B JMP ST2 RESCU HLT 55B JMP ST2 READ2 NOP CLB,CME LDR10 EQU * RED2 STC PR,C LDR11 EQU * SFS PR JMP *-1 LDR12 EQU * MIB PR,C SEZ,RSS JMP READ2,I BLF,CLE,BLF JMP RED2 CNT2 NOP LDR16 EQU * MAXAD NOP LDR13 EQU * CWORD ABS 20000B+DC ADR11 NOP DLDR CLC 0,C LDA CWORD OTA 6 CLA,CCE LDR14 EQU * OTA CC ERA OTA 2 LDA WRDCT STC 2 OTA 2 STC 6,C LDR15 EQU * STC DC LDB JMP77 STB 77B JMP77 JMP 77B WRDCT OCT -100 * ABS LDR10-LODR1-1 ABS LDR11-LODR1-1 ABS LDR12-LODR1-1 OCT 100000 SECTION SEPERATOR ABS LDR13-LODR1-1 ABS LDR14-LODR1-1 ABS LDR15-LODR1-1 OCT 100000 SECTION SEPERATOR ABS LDR16-LODR1-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING HED BASIC MOVING-HEAD DISC LOADER (BMDL 7900) * * BASIC MOVING-HEAD DISC LOADER [ BMDL(7900) ] * ORG 5677B LODR2 DEC -64 * * PAPER TAPE BOOTSTRAP * * STARTING ADDRESS - X7700B * BE2 CLA,RSS START LDA .EOT GET HOLE COUNT AGIN CLC 0,C CCE,INA,SZA,RSS END OF TAPE? HLT 77B YES - GOOD HLT JSB WORD GET NEXT CHARACTER CMB,CCE,INB,SZB,RSS IS IT WRD CNT? JMP AGIN NO-GET NEXT CHAR * TEST STB WDCNT STORE B-REG IN WRD CNT JSB WORD GET NEXT CHAR JSB WORD GET ADDRESS WORD STB A STORE LOOP STB ADDR ADDRESS WORD * ADB LOADR ADD TO LOADR ADDRESS SEZ,CLE IS IT BEYOND LWAM? ADDR2 HLT 55B YES- SUICIDE LOAD * JSB WORD NO-GET NEXT WORD .EOT STB ADDR,I PUT WORD IN CORE ADA B ADD TO CHECKSUM LDB ADDR" CLE,INB ISZ WDCNT INCREMENT WORD COUNT JMP LOOP NOT DONE-GET NEXT WORD * JSB WORD GET CHECKSUM WORD CPB A COMPARE TO COMPUTED VALUE JMP START OK-TRY NEXT RECORD ADDR1 HLT 11B CHECKSUM ERROR * WDCNT NOP LDR2F EQU * LOADR NOP * WORD NOP CLB CLEAR B TO MERGE * LDR20 EQU * CHAR STC PR,C GET CHAR LDR21 EQU * SFS PR FROM PHOTOREADER MASK JMP *-1 LDR22 EQU * MIB PR,C * SEZ,CME IF 2ND CHAR, JMP WORD,I RETURN BLF,BLF IF 1ST CHAR, JMP CHAR GET 2ND * ADDR NOP * * DISC BOOTSTRAP -- LOADS DISC PRE-BOOT PROCESSOR FROM * TRACK 0, SECTOR 0, DRIVE 0 * HEAD # INPUT FROM SWITCH REG * * STARTING ADDRESS - X7750B * *** "PRESET" MUST BE PRESSED * SEEKC OCT 30000 LDB MASK LDR23 EQU * OTB CC ISSUE READ COMMAND LDR24 EQU * STC CC,C START READ TO CLEAR 1ST STATUS LDA SEEKC LDR25 EQU * OTA DC ISSUE CYCLINDER ADDR (0) LDR26 EQU * STC DC,C TELL CTRL. CYL. ADDRS IS LOADED LDR27 EQU * OTA CC ABORT READ, SEND SEEK COMND LDR28 EQU * STC CC,C START SEEK LDA DMACW OTA 6 ISSUE DMA CONTROL WORD LDA ADDR1 OTA 2 ISSUE START MEM ADDR (2011B) LDR29 EQU * STC DC,C TELL CNTR. HEAD/SECT LOADED STC 2 SET FOR WORD COUNT OTA 2 ISSUE WORD COUNT (HUGE) LDR2A EQU * OTB CC ISSUE READ COMND LDR2B EQU * STC DC,C PREVENT SPURIOUS DMA TRANS. STC 6,C START DMA LDR2C EQU * STC CC,C START DISK READING LDR2D EQU * SFS CC WAIT FOR DISK TRANS (6144 WORDS) JMP *-1 JSB ADDR2,I DONE; JUMP INTO MEM (2055B,I) LDR2E EQU * DMACW ABS 120000B+DC ABS LDR20-LODR2-1 s ABS LDR21-LODR2-1 ABS LDR22-LODR2-1 OCT 100000 SECTION SEPERATOR ABS LDR23-LODR2-1 ABS LDR24-LODR2-1 ABS LDR25-LODR2-1 ABS LDR26-LODR2-1 ABS LDR27-LODR2-1 ABS LDR28-LODR2-1 ABS LDR29-LODR2-1 ABS LDR2A-LODR2-1 ABS LDR2B-LODR2-1 ABS LDR2C-LODR2-1 ABS LDR2D-LODR2-1 ABS LDR2E-LODR2-1 OCT 100000 SECTION SEPERATOR ABS LDR2F-LODR2-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING HED BASIC MOVING-HEAD DISC LOADER (BMDL 2883) * * BASIC MOVING-HEAD DISC LOADER [ BMDL(2883) ] * LODR3 DEC -64 OCT 002701,063722,002307,102077 OCT 017735,007307,027702,077733 OCT 017735,017735,074000,077734 OCT 067734,047777,002040,102055 OCT 017735,040001,177734,037734 OCT 000040,037733,027714,017735 OCT 054000,027701,102011,000000 OCT 000000,000000,006600,103700 LDR30 EQU *-1 OCT 102300,027740,106400,002041 LDR31 EQU *-4 LDR32 EQU *-2 OCT 127735,005767,027737,177600 OCT 063775,102601,103701,102301 LDR33 EQU *-3 LDR34 EQU *-2 LDR35 EQU *-1 OCT 027753,067776,106606,067732 OCT 106602,102702,067747,106602 OCT 001000,106701,102601,103700 LDR36 EQU *-3 LDR37 EQU *-2 LDR38 EQU *-1 OCT 103706,103701,102301,027772 LDR39 EQU *-3 LDR3A EQU *-2 OCT 127717,020000,120000,000000 LDR3B EQU *-2 LDR3C EQU *-1 ABS LDR30-LODR3-1 ABS LDR31-LODR3-1 ABS LDR32-LODR3-1 OCT 100000 SECTION SEPERATOR ABS LDR33-LODR3-1 ABS LDR34-LODR3-1 ABS LDR35-LODR3-1 ABS LDR36-LODR3-1 ABS LDR37-LODR3-1 ABS LDR38-LODR3-1 ABS LDR39-LODR3-1 ABS LDR3A-LODR3-1 ABS LDR3B-LODR3-1 OCT 100000 SECTION SEPERATOR ABS LDR3C-LODR3-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING HED BASIC MOVING-HEAD DISC LOADER (BMDL 2870) * * BASIC MOVING-HEAD DISC LOADER [ BMDL(2870) ] * * SEE BMDL FOR 7900 * HED MAG TAPE REFORMATTING SYSTEM LOADER * * MAGNETIC TAPE REFORMATTING SYSTEM BOOTSTRAP * LODR5 DEC -64 OCT 063775,102601,103701,106501 LDR50 EQU *-3 LDR51 EQU *-2 OCT 007307,067767,077773,063774 OCT 102601,102501,001323,001310 LDR52 EQU *-4 LDR53 EQU *-3 OCT 027707,103701,103700,063773 LDR54 EQU *-3 LDR55 EQU *-2 OCT 006645,027725,067766,077777 OCT 067771,002042,027707,102201 LDR56 EQU *-1 OCT 027741,102300,027727,103500 LDR57 EQU *-3 LDR58 EQU *-1 OCT 173777,006011,037777,004065 OCT 027731,005500,073777,067773 OCT 063776,002240,002003,027754 OCT 033765,006007,070002,000040 OCT 006020,027706,102501,013772 LDR59 EQU *-2 OCT 002002,102001,006003,027706 OCT 063770,024000,000000,177774 LDR5A EQU *-2 OCT 102070,001677,000202,000000 OCT 000023,001501,000000,000000 OCT 100000 SECTION SEPERATOR ABS LDR50-LODR5-1 ABS LDR51-LODR5-1 B10 EQU * ABS LDR52-LODR5-1 ABS LDR53-LODR5-1 ABS LDR54-LODR5-1 ABS LDR55-LODR5-1 ABS LDR56-LODR5-1 ABS LDR57-LODR5-1 ABS LDR58-LODR5-1 ABS LDR59-LODR5-1 OCT 100000 SECTION SEPERATOR OCT 100000 SECTION SEPERATOR DEF *+1 SOME PROCESSING TO DO! LDB TOPS CMB,INB ADB B66 LDA B ADA B10 STA B,I JMP STOP HED 2000 ACCESS IOP PROTECTED LOADER * * 2000 ACCESS IOP PROTECTED LOADER * LODR7 DEC -64 OCT 163774,027751,107700,002702 OCT 063772,002307,027760,017736 OCT 007307,027705,077770,017736 OCT 017736,074000,077771,067771 OCT 047773,002040,102055,017736 OCT 040001,177771,037771,000040 OCT 037770,027717,017736,054000 OCT 027704,102011,000000,006600 OCT 103700,102300,027741,106400 q OCT 002041,127736,005767,027740 OCT 163775,043765,073741,043766 OCT 073740,043767,073743,027702 OCT 063777,067776,102077,027702 OCT 000000,102300,001400,002500 OCT 000000,000000,177746,000000 OCT 003776,003777,000000,000000 LDR70 EQU *-1 LDR71 EQU *-2 LDR72 EQU *-5 ABS LDR70-LODR7-1 OCT 100000 SECTION SEPARATOR ABS LDR71-LODR7-1 OCT 100000 SECTION SEPARATOR LDR73 ABS LDR72-LODR7-1 OCT 100000 SECTION SEPARATOR DEF *+1 START EXTRA PROCESSING LDB CORE ADB LDR73 INB LDA LDR72+1 IOR CORE STA B,I INA INB STA B,I JMP STOP HED BASIC MOVING-HEAD DISC LOADR [ BMDL(7905) ] * * BASIC MOVING-HEAD DISC LOADER [ BMDL(7905) ] * ORG 7677B LODR6 DEC -64 * * PAPER TAPE BOOTSTRAP * * STARTING ADDRESS - X7700B * BE6 CLA,RSS ST6 LDA .EOT6 GET HOLE COUNT AGIN6 CLC 0,C CCE,INA,SZA,RSS END OF TAPE? HLT 77B YES - GOOD HLT JSB WORD6 CMB,CCE,INB,SZB,RSS IS IT WRD CNT? JMP AGIN6 NO-GET NXT CHAR * STB WCNT6 STORE B-REG IN WRD CNT JSB WORD6 GET NEXT CHAR JSB WORD6 GET ADDRESS WORD STB A STORE LOOP6 STB ADDR6 ADDRESS WORD * ADB LOAD6 ADD TO LOADR ADDRESS SEZ,CLE IS IT BEYOND LWAM? ADR26 HLT 55B YES-SUICIDE LOAD * JSB WORD6 NO-GET NEXT WORD ADA B ADD TO CHECKSUM .EOT6 STB ADDR6,I PUT WORD IN MEMORY LDB ADDR6 CLE,INB ISZ WCNT6 INCREMENT WORD COUNT JMP LOOP6 NOT DONE-GET NEXT WORD * JSB WORD6 GET CHECKSUM WORD CPB A COMPARE TO COMPUTED VALUE JMP ST6 OK-TRY NEXT WORD ADR16 HLT 11B CHECKSUM ERROR * WCNT6 NOP LDR67 EQU * LOAD6 NOP * WORD6 NOP CLB CLEAR B TO MERGE * LDR60 EQB@ EXTRA BIT IGNORED LDR63 EQU * CLC DC SET "NEXT WRD IS COMND FLG" LDR64 EQU * OTA DC,C SEND COLD LOAD COMND STC 6,C START DMA LDR65 EQU * SFS DC WAIT UNTIL COMPLETED JMP *-1 JSB ADR26,I START BOOT LDR66 EQU * DMAC6 ABS DC ADR36 OCT 2055 * ABS LDR60-LODR6-1 ABS LDR61-LODR6-1 ABS LDR62-LODR6-1 OCT 100000 SECTION SEPERATOR ABS LDR63-LODR6-1 ABS LDR64-LODR6-1 ABS LDR65-LODR6-1 ABS LDR66-LODR6-1 OCT 100000 SECTION SEPERATOR ABS LDR67-LODR6-1 OCT 100000 SECTION SEPERATOR DEF STOP END INIT cB ,< 24360-18001 1420 S 0122 0112909B PROM WRITER DIAGNOSTIC             H0101 ' ASMBABì̬ HD909APMҠDAGNS G SKP SUP SHGSҠDNN BԠMANNG 0SAԠNAZAN DϠADDSSDAANPUԠS DAAUPUԠSԠ(S̩ 3BUNPMHSԠPAN ADPMAP 5VYBANKPM 6BUNPMϠPANADDN VYBUNDPM ADNŠPMAN 9ŠNŠPMAN 0DUMPPMNNSϠNS PYPMNNSϠPANBU APŠADҠNABŠ(APPSϠ3 3SUPPSSA̠MSSAGS SUPPSSNNҠMSSAGS 5SAԠSԠSN SKP ɯϠDDNNS UPUԠN̠D BԠMANNGPN 0ADDSSBԠ0B035 ADDSSBԠBϱ3 ADDSSBԠBϲ 3ADDSSBԠ3B35 ADDSSBԠBϴ 5ADDSSBԠ5B55 6ADDSSBԠ6B653 ADDSSBԠBϷ5 NԠUSD 9NԠUSD56 0NԠUSD HPNABŠŲ55 DAAUPUԠ0Bϱ5 3DAAUPUԠBϱ36 DAAUPUԠBϱ65 5DAAUPUԠ3Bϱ5 NPUԠDAAD BԠMANNGPN 0DAANPUԠ0B06 DAANPUԠBɱ9 DAANPUԠBɲ30 3DAANPUԠ3B36 -5NԠUSD SKP PMHPDNN A66V A55A A3S A33S(P A05ϱ A6ϲ A03 GND9ϴ SKP SANDADSԠPANϠB USDNBUNNGPM'S DUNGAYADS ANDNHŠDSNG ƠADDSSANDDAANPU NS 000-00̠HH̠HHH̠HHHH̠HHH 00-0H̠HH(.HH̠HHHHH̠HHHHHH̠HHHH 00-0HH̠HHH̠HHHH̠HHHH 030-03HHHH̠HHHHH̠HHHHHH̠HHHH 00-0H̠HHH̠HHHH̠HHHH̠HH 050-05HH̠HHHHH̠HHHHHH̠HHHH̠H 060-06HHH̠HHHH̠HHHH̠HHHH 00-0HHHHH̠HHHHHH̠HHHH̠HH 00-0H̠HHHH̠HHHH̠HHHH̠HHH 0-HH̠HHHHHH̠HHHH̠HHH̠HH 0-HHHH̠HHHH̠HHHH̠HHHHH 30-3HHHHHH̠HHHH̠HH̠HHH 0-HH̠HHHH̠HHHH̠HHHHH̠HHH 50-5HHH̠HHHH̠HH̠HHH̠HH 60-6HHHH̠HHHH̠HHHHH̠HHHHHH 0-HHHH̠HH̠HHH̠HHHH 00-0H̠HHHH̠HHHHH̠HHHHHH̠HHHH 0-̠HH̠HHH̠HHHH̠HHH 0-HHHH̠HHHHH̠HHHHHH̠HHHH 30-6HH̠HHH̠HHHH̠HHHH 0-HH̠HHHHH̠HHHHHH̠HHHH̠H 50-5H̠HHH̠HHHH̠HHHH̠HH 60-6HHHHH̠HHHHHH̠HHHH̠HH 0-HHH̠HHHH̠HHHH̠HHHH 300-30HH̠HHHHHH̠HHHH̠HH̠HH 30-3H̠HHHH̠HHHH̠HHHH̠HHH 30-3HHHHHH̠HHHH̠HH̠HHH 330-33HHHH̠HHHH̠HHHH̠HHHHH 30-3HHH̠HHHH̠HH̠HHH̠HH 350-35HH̠HHHH̠HHHH̠HHHHH̠HHH 360-36HHHH̠HH̠HHH̠HHHH 30-3HHHH̠HHHH̠HHHHH̠HHHHHH HDNSANSANDDAA G00B MPGDɠMPϠNGUAN SϠNKAGŠAA PɠBSSAPŠNPU YϠBSSSԠUPU PϠBSSAPŠUPU YɠBSSKYBADNPU DƠAMSԠDƠAVAABŠMMY BSSASԠDƠAVAABŠMMY *G6B DSNԠ03006DAGNSàSA̠NUMB G30B MPSDɠSԠSԠSA MPGDɠNGUANSA MPNDɠNAZANSA SDDƠS0 GDDƠG NDDƠN UAŠSAMNS AU0AGS BUBGS SҠUSHGS YUBYPŠHANN PנU6BPMҠHANN MàU0B DSàU6B ASɠHAAS HA̠Ԡ HAHԠ0H HAYԠ3Y HAAԠ0A HAؠԠ30 NSANSҠ UNүMASKS PNS BԠ BԠ B3Ԡ3 BԠ B6Ԡ6 BԠ BԠ0 B0Ԡ0 BԠ B0Ԡ0 B60Ԡ60 BԠ B00Ԡ00 B3Ԡ3 B000Ԡ000 B6000Ԡ6000 BMԠ- BMԠ- BM6Ԡ-6 BM60Ԡ-60 DDà D0Dà0 D6Dà6 D36Dà36 DDà DDà D56Dà56 DMDà- DM0Dà-0 DM3Dà-3 DM6Dà-6 SAVŠAAS SAVűԠ0AGSҠSAV SAVŲԠ0BGSҠSAV SAVABSSAGSҠSAV SAVBBSSBGSҠSAV UNҠSAGŠ ұԠ0 ҲԠ0 3Ԡ0 B̠BSS9 PSAPBSS PPSADƠPSA HDSVŠSUBUNS àHKSҠBԠ0Ҡ5SԠN SHGSҠANDSϠSA NAZANҠSԠSN S àNP ASҠGԠS SASԠBԠ0 MPSAԠYSGϠϠNAZAN SSASԠBԠ5 MPSҬɠSAԠSԠSN MPìɠ SKP BYɠASҠYNPUԠANDUNSHNA NNZϠNUMBҠƠHAASUA̠ϠNUMB ƠHAASUSDHAVŠBNNPU. A:(ANϠƠHAASϠBŠNPU SBBY UN:NMA (ANϠƠHAASNPUD SBBYɬ (ASAMŠASNMA SBUN-6 BYɠNP SAYSSAVŠHAҠUN DAD36 DBBA SBYɬɠGϠҠNPU SZASSSԠҠNPU MPBY+YAGAN PAYSSԠҠԠN. MPBYɬ DBBYɠNԠNPU ADBBM6SԠUPUN SBBY MPBYɬ YSBSS BADƠB BBSS36 SKP PNԠPMSAAAGŠUNAND NŠDDBYUPUNGA MSSAGŠDNDBYNNSƠAB PNԠNP SASAVASAVŠA SBSAVBB ASҠS A̬A̠ SSAMSSAGŠSUPPSSN MPPNԬ ASҠGԠS A SSASSSԠҠ"H"SUPPSSN MPPԱ-3 DASAVBɠS AƬAƠ ANDB3H PAHAHMSSAGS MPPԱ DASAVASŠA DBSAVBB SBYϬɠPԠMSG PԱSZPN DASAVű MPPNԬɠUN SKP NPUԠGSϠNPUԠDVŠANDAKSN ANUMBҠƠHAASANDHKS SŠHAԠHŠHAASNPUDUA HŠNUMBҠUSD A:(ANϠƠHAASϠBŠNPU SBNPN UN:NMA (ANGAVŠNϠƠHASNPU SBUN+ (ASAMŠASNMA SBUN NPUԠNP SASAVA ASҠGԠS A̬A̠SԠҠMSSAGŠSUPPSSN SSA MPP ASҠGԠS A SSA MPP DAD36 DBBA SBYɬ MANASZASS MPNPU+ DBA ADASAVA SZA MPNPUԬ PSZNPU MPNPUԬ YAԠASҠA"Y"ϠBŠNPU YAԠNP ASҠGԠS A̬A SSA MPYױN ASҠGԠS A SSA MPYױ DAB SBNPUԠAԠҠNPU MPYAԬ DABA AƬA ANDB3 PAHAASԠҠAB MPSҬ PAHAYSHAҠA"Y" SS MPYAԬɠN YױSZYA MPYAԬɠYS SҠDƠSñ0+ SKP DBàAKSAHAAҠUNԠSUPPDNA ANDNVSHŠN.SPDϠBNAY. HSSDNŠASS: (ASɠHAҠSADMNSŠBU (HAҠSSDϠBŠVADNUMBҠ0-9 (3BNAYUVANԠƠDMA̠NUMBҠS MD A:(ANϠƠHAҠϠBŠNVD SBDB UNSNMA (BBNAYUVAN SBUN+ (BSAMŠASNMA SBDBì DBàNP MANA SAHN B SBSAVAZϠHAƠDUNҠANDHA DBDASAVANDؠPN SZSAVA ŬAM ADABABNAY DAAɠHAA SZSSAND AƬAƠVY ANDB3 ADABM60ϠB SSA(VAD MPDBìɠNUMB ADADM00-9 SSA MPDBGDASɠNUMB MPDBìɠ DBADAD0 BSM ADABBNAY BSBSUVAN ADBA SZHNԠDMA MPDBNUMB SZDBàNPUD MPDBì HNԠBSS SKP SPԠSSANDADSԠPANNϠPAN BUҠPPSA SPԠNP AUN SA3S SAұA DAPPSAS SAPSAP ԱDAұN SAPSAPɠ SZPSAP SZұH DAұADDSS PAD6 MPԲ MPԱDAA ԲSZNPU MP3S SZ3(ADSԩ DA3 SAұPAN PAD6 MPSPԬɠS MŠA MPԱPMUAN 3A SAұ ԴDAұ SAPSAPɠU SZPSAPBS SZұ DA3 PAұ SS MPԴ M MPԲ HDNAZAN HŠNAZANSNDMNS (HŠPMYPŠϠBŠPGAMMD (NAZSPGAMϠSANG NDNS G000B SAԠU NԠHԠ66B ASҠGԠS SASSSBԠ0SԠ? MPN0 DAD30 DBD30+ SBPNԠPԠ"AҠBԠ0" Ԡ0030 MPNԠMPBAK N0ANANAZ SAB+3BANKHPSA NDAD3 DBD3+ SBPNԠPԠ"MNBUNMŠ?" Ԡ003 DAB SBNPUԠBNGNMN. MPNҠN DAB SBDBàNVԠϠBNAY MPNҠN SBB+ NDAD3 DBD3+ SBPNԠPԠ"MAؠBUNMŠ?" Ԡ003 DAB SBNPUԠBNGNMA. MPNҠN DAB SBDBàNVԠϠBNAY MPNҠN SBB+5 N3DAD33 DBD33+ SBPNԠPԠ"BUNMŠNMNԠ?" Ԡ0033 DAB SBNPUԠBNGNB MPN3ҠN DAB SBDBàNVԠϠBNAY MPN3ҠN SBB+6 NDAD3 DBD3+ SBPNԠPԠ"AԠMŠAϠ?" Ԡ003 DAB SBNPUԠBNGN MPNҠN DAB SBDBàNVԠϠBNAY MPN SBB+ MPSDɠ SDDƠS0 D30Dà6 DƠD30 D3Dà30 DƠD3 D3Dà30 DƠD3 D33Dà3 DƠD33 D3Dà DƠD3 HDSԠSNN HŠSԠSԠSNSSH S(SϠBŠUD G000B S0ASҠGԠS SZASSSԠҠVADNPU MPSñ0+NϬHA ASҠGԠS ANDMSK AS SASנNAZŠSԠSԠD DAS SAADҠSԠPNҠϠSԠSԠAD S.SBàHKҠ DAS SASS MPS.3N SBADҬɠPMS S.3DAS AS SASנSHԠSԠSԠDҠNԠS SZAD DI640AAD PA̠SԠҠASԠAD SS MPS.KҠNԠS A Sñ0APנUNƠPM HԠB ASҠADNS SAB̠SAV MPS0 MSKԠ6 ADҠBSS SנBSS S̠DƠ+ 6 - ; 24360-18002 1420 S 0122 0212909B PROM WRITER DIAGNOSTIC             H0101 ( DƠADS DƠDS DƠBPS DƠAD DƠVYB DƠBNP DƠVYP DƠD DƠBN DƠDPP DƠPP ̠DƠ HDADDSSANDDAANPUԠS ADSԠPMSADDSSDAANPUԠSNGƠAD NHŠNGMANN (ADSSԠPANAP (VSNNSƠPMAGANSԠAP ADSԠNP ASҠGԠS A̬A A SSA MPAԱ SBSPԠŠSԠPANNϠBU MPAԱ+ AԱSBPDADAP DADױ3 DBDױ3+ SBPNԠPԠ"HPDYҠADүDAAS" Ԡ003 SBYAԠAԠҠHAҠ"Y" MPAԱ+ SBVYPVYPMNNS MPADSԬ HDDAAUPUԠSԯSPŠP DSԠPMSDAAUPUԠSNGBYPANG ADNSPŠPANDYNGABUNPUSŠ AHBԠƠAD DSԠNP S0DADײ3 DBDײ3+ SBPNԠPԠ"ADDYҠSPŠP?" Ԡ003 SBYA MPS0 A S̱SAPSAP DAB0 S̲SAMSKBNAZŠBԠMASK DAPSAP Sñ6SƠP ҠB000 SñAPנUNADN DAMSKB AƬA AƠPSNSDB ҠPSAPҠNADDSS ҠB6000ҠNŲ SñƠP SñAPנUԠPUԠϠAD A SASҠSAVŠ SòSàPנNA̠BUNN DABMDAY NASZA MP-5-30US. Sñ3SàPנUNBUNVAGŠN SBDYNDAY Sò5àPנNA̠BUN DABMDAY NASZA MP-5-30US. SñàPנUNBUNVAGŠ A ҠPSAPUNDAABԠ ҠB000 Sñ5APנUPUԠϠAD SBDYƠDAY SBDYƠDAY DASҠSŠ A DAMSKB ASMVŠBԠMASK SZAASԠB MPS̲ SZSԠҠŠS MPS3YS ŠNϠSԠ SBàHKҠ ASҠSԠҠ AҬA SASS MPDSԬ DAB3ADDSS3 MPS̱ S3MPS̱- SҠԠ0 HDBUNPM(NGNNG BPSԠPMSHŠPGAMMNGƠAHP ASANDADSԠPANADNAPŠBY (ADNGAP (VNGBANKHP (3BUNNGHPϠSANDADPAN (VNGBUNDHP BPSԠNP BϠDADײ5 DBDײ5+ SBPNԠPԠ"PMDYҠBUNSԠ?" Ԡ005 SBYA MPB ASҠGԠS A̬A A̠AŠUԠBANKB SSA MPBԱ SBSP MPBԱ+ BԱSBPDADAP SBVYBVYBANK SBBNPBUNBANK SBVYPVYNNS MPBPSԬɠ HDAPŠADҠ(NGNNG PDPMSAPŠAD ADԠU PDNP DADױ DBDױ+ SBPNԠPԠ"PANAPŠDY?" Ԡ00 SBYA MPPD+N 0DADAD DBBAPAS SBPɬɠD SAPHS SZASS MP0AND DBBAPN SBPNԠS NP DABMD SAұNAZŠNŠUN ̱SBPDADANŠMAP DAP @'DBBA SBPNԠPԠNŠBUGHԠNMAP NP SZұNMNԠNŠUN MP̱NNUŠAD SBPDADHKSUM DADM3 SAұNAZŠNŠUN A SAPSAPZϠPNҠҠPANBU ̲SBPDADN SBVNNVԠN SZұNMNԠNŠUN:ASԠN? MP̲ MPPDɠ PGAMMSSAGS DױDà0 DƠDñ Dױ3Dà3 DƠDñ3 DױDà0 DƠDñ Dױ5Dà DƠDñ5 Dױ6Dà6 DƠDñ6 DױDà DƠDñ DײDà3 DƠDò Dײ3Dà9 DƠDò3 DײDà5 DƠDò Dײ5Dà DƠDò5 Dײ6Dà3 DƠDò6 DײDà5 DƠDò SKP PDPMSAUA̠APŠADBYADNG AD PDNP DAD DBBA SBPɬɠNPUԠAPŠD SAPSAVŠHAAҠUN SZASSSԠҠ"Ԡ" MPұ MPPD ұDADױ DBDױ+ SBPNԠPԠ"" Ԡ00 MPPD+ADAP PBSS SKP VNNVSAAPŠDNSSNGƠ-ASɠHAS BKSƠDAANϠ-BԠBNAYBKS VNNP DADM SAҲNAZŠUNҠҠBKS AAD DABA ADABSԠBKPNҠϠSԠBK SABP ̱SBVB̠ADBKANDNVԠϠBNAY SZPSAPMVŠBUҠPN DAҲ NAGGŠ SAҲSAVŠBKUN A SZSԠŠҠ"" SZBP DAҲADUN SZASԠҠASԠBK MP̱NNUŠAD MPVNɠ BPBSS SKP F VB̠NVSHAҠBKSNϠ-BԠD ANDSSDN56DBU VB̠NP A DBPPSA ADBPSAP SABɠZϠBUҠANϠBŠDD SA3ZϠBԠUN DBBMP SBSANAZŠPNҠϠSԠMASK BDBBP DABɠADAHHAҠϠBŠNVD SZSԠҠHҠHD AƬAƠHAŠϠH DBSAɠADBHBԠMASK SBVHNVԠHAҠϠҠHϠҠ SZSSSԠҠASԠHAҠND SZBPNMNԠBKADDSSPN MŠGGŠ SZSANMNԠBԠMASKPN SZ3NMNԠBԠUN DAB PA3SԠҠASԠB SS MPBNNUŠNVSN MPVB̬ɠ BMPԠDƠBMK BMKԠ0 Ԡ Ԡ Ԡ SABSS SKP VHNVSANASɠ"H"ϠABNAY"" ANDDSASVŠBԠSŠNϠPANBU VHNP ANDB3MASKƠHA PAHAHSԠҠ"H" MPV PAHA̠SԠҠ"" MPVHɠ"" PAHAؠSԠҠ'' SS MPVNϬ DAB+3 SASS MPVH VDAB DBPPSA ADBPSAP ҠBɠSԠUNԠBԠϠ SABɠSAV MPVHɠ VDADױ5 DBDױ5+ SBPNԠPԠ"D" Ԡ005 MPPD+ADAP HDVYPMBANK(NGNNG VYBVSABANKPMϠNAN (A̠NS (A̠ZS VYBNP DADײ6 DBDײ6+ SBPNԠPԠ"PMDYҠBKVYB?" Ԡ006 SBYA MPVYB+ A SAPGAҠSԠPASSAG A PAB+3SԠҠ"0" MPVB DBB SBZ MPVYBɠ VBB SBZ MPVYBɠ SKP ZSSHŠNNSƠPM ASDMNDBYHŠNNSƠBGS ZNP SBMP A SAPSAPNAZŠADDSSUN ϱSBDB̠ADAN PAMPSԠҠԠBANKV SS MP3 ϲSZPSAP DAPSAP PAD56SԠҠASԠ MPZɠ MPϱNNU 3AƬA AƠPSNҠDAA ҠPSAPҠNADDSS DBMP BƬBƠPSNPDDAA ҠB SASAVűSAVŠҠDAA DAPG SZASԠҠSԠPASS MPϴ DADײ DBDײ+ SBPNԠPԠ"BANK" NP SZPG ϴSBVDNVԠҠDAA DAD90 DBD90+ SBPNԠPԠ"ҠDAA" Ԡ00 SBàHKҠ MPϲ MPBSS PGԠ0 SKP HDBUNPM(NGNNG BNPBUNSAPMϠAPANSDNPAN BU BNPNP A SAGAҠNYAG SBBNPҠBUNAN MPBNPɠ BNPҠNP DAB+ SABP DAG SZASԠҠNYUN MPBP- BP0DADױ DBDױ+ SBPNԠPԠ"PMDYҠBUN?" Ԡ00 SBYAԠAԠҠ"Y" MPBP0 BP0.A SAPSAPNAZŠPN DAB0 BPSAMSKBSAVŠBԠMASK DBPPSA ADBPSAP ANDBɠSԠBԠƠàҠ"" SZA MPBP3 DAB+3 SZA SBBN BP.DAMSKBpBԠ"" ASMVŠBԠMASK SZASԠҠASԠB MPBPNԠASԠB DAG SZASԠҠNYUN MPBP SZPSAPMVŠPN DAD56 PAPSAPSԠҠASԠ MPBP MPBP-NNUŠϠBUNNԠ BPDAG SZASS MPBNPҬɠ A SAG DABP ADAB+6NASŠPUS SABP MANA ADAB+5 SSASԠҠMAؠPUS MPBNPҬ DAG SZASԠҠNYUN MPBP- MPBP0. BP3DAB+3 SZASS SBBN MPBP. MSKBBSS GԠ0 GԠ0 SKP BNԠBUNSABԠƠABԠDYNGA NUMBҠƠMSASDNDBYMNMAؠBUN MSANDHŠBUNMŠNMN BŠASKNGҠPAҠNVNN BNԠNP SBàHKҠ DAPSAPADADDSS ҠB000 SñSƠP S03APנUPUԠADDSSϠAD S0APנADNADDSSNNS SASAVŲSAVŠҠDAA DAPPSAS ADAPSAP DAAɠBU ANDMSKBB DBAUA DASAVŲ ANDMSKBPM PABB MPBNԬ MPBUN BUNPMSAUA̠BUNPUSNGUSNGA MŠA BUNNP DAMSKB AƬAƠPSNBԠϠBŠBUND A ҠPSAPҠNADDSS ҠB6000ҠNŲ Sñ9ƠP S05APנUPUԠϠAD SòSàPנNA̠BUNN DABMDAY NASZA MP-5-30US. S06SàPנSAԠBUNPUS SBDYҠDAY(N Sò3àPנNA̠BUN DABMDAY NASZA MP-5-30US. S0àPנSPBUNPUS A BNSAD SBDYҠDAY(Ʃ DAD NA PAB+HUDAY MP+ MPBN SBDB SASAVŲ DAPPSAS ADAPSAP DAAɠGD ANDMSKBBUN DBA DASAVŲ ANDMSKB PAB MPBNԬɠ ANA SAG MPBNԬ DYҠPMSHŠMNGƠBUNPUSŠDH DYҠNP DABP MANA ḎSBDY NASZA MPḎNNU MPDYҬɠ DYNP DBB+ NBSZBNMNԠANDSԠҠ MP- MPDY BPנBSS DBSS HDVYPMNNS(NGNNG VPYVSHAԠHŠPMNANSH DAAPANSSDNBUҠPPSA VYPNP DADײ DBDײ+ SBPNԠPԠ"PMDYҠVYB?" Ԡ00 SBYA MPVYP+ A SAPGAҠSԠPASSAG A SAPSAPZϠBUҠADDSSPN ҠB000 Sò0SƠP S0APנUNPҠNϠHP S0APנADNDAA ANDBSAVŠDAABS DBA DAPPSA ADAPSAPGԠBUҠADDSS PBAɠSԠҠԠDAA SS MPVP3PԠ VPSZPSAPBUMPBUҠADDSSPN DAPSAP PAD56SԠҠASԠADDSS MPVYPɠ MPS0NNU VP3DAPSAP SBSAVŲSAVŠҠDAA BƬB BƠPSNDAA ҠBҠHADDSS DBPSAP ADBPPSAo0.* DBBɠADBHGDDAA BƬBƠPSNDAA ҠBҠHBADDAAANDADDSS SASAVűSAVŠA̠NMAN DAPG SZASԠҠSԠPASS MPVP DADױ6 DBDױ6+ SBPNԠPԠ"VY" NP SZPG VPSBVDNVԠҠDAA DAD90 DBD90+ SBPNԠPԠ"ADDүAԠDAAPDAA" Ԡ006 SBàHKҠ MPVPNNU D90Dà36 DƠD90 D90ASà0ADDSS ԱBSS (10 . ; 24360-18003 1420 S 0122 0312909B PROM WRITER DIAGNOSTIC             H0101 ) ASà05AԠDAA ԲBSS ASà05PDAA 3BSS SKP VDNVSҠDAAϠA̠HAAS ҠUPUԠϠNS VDNP DASAVű SBNVNVԠAԠϠ SAԲ DASAVű A SBNVNVԠPϠ SA3 DASAVűNV ANDB ADAB60B AƬAƠADDSS ҠB0 SAԱ+ DASAVűA AҬAҠAND AҠS ANDB ADAB60N SAMPPN DASAVűBU AƬAƠAND AƠH AҬAҠHAS ANDB3 ADAB60B AƬAƠAN ҠMPAS SAԱAY MPVD NVNVSABԠNUMBҠNϠASɠHAAS NVNP SANSV AƠNV ANDB ADAB60B SAMPNUMB DANSV A̠ ANDB ADAB60AS AƬAƠHAAS ҠMP MPNV MPBSS NSVBSS HDADNŠAN(UY DàASHŠUSҠϠADNŠANƠPM DàNP ̱SBàHKҠ DADAD DBDAD+ SBYϬɠPԠ"<" DAB3 SBNPUԠBNGNADDSS MP̲ SBAVNVԠADDSS MP3ҠN SBDB̠ADAN AƬA A SBNVNVԠNNSϠAS SABA DAB DBBA SBYϬɠPԠ"(é" MP̱ ̲DABA AƬA ANDB3 PAHAASԠҠAB MPDì 3DADAD DBDAD+ SBYϬɠPԠ"NVADNPU" MP̱ҠN DADDà6 DƠD DԠASà03 24377-18001 1523 S 0122 DOS DVR73 FOR 12920A/B MULTIPLEXOR             H0101 q ASMB,R,B,L,C NAM DVR73,0,0 ENT I.73,C.73 ENT P73D1,P73D2 ENT P73C1,P73C2,P73C3,P73C4 EXT $TIME,$PCOM SPC 1 HED I.73 - ASYNC MUX PHYSICAL DVR INITIATOR. * * I.73 IS THE DRIVER INITIATOR MODULE OF THE 12920A * ASYNC MUX DRIVER * * A EQU 0 B EQU 1 SPC 2 I.73 EQU * DRIVER INITIATOR'S ENTRY POINT. NOP CLF 0 STA SAVSC SAVE SELECT CODE. LDA EQT3,I STRIP OUT AND UNIM1 4 BIT UNIT ALF # STA UNIT LDA EQT4,I AND LHALF I/O STATUS = GOOD INITIALLY. STA EQT4,I LDB EQT1 YES. SET UP EQT EXTENTION PNTRS. JSB SETP JSB CONFG CONFIGURE P73,S I/O INSTRUCTIONS. LDA EQT9,I GET AND B77 REQUEST CODE. STA B ADB EQT21 LDB B,I STB LOGR = LOGICAL DRIVER'S ENTRY ADDR. LDB EQT17,I HAS THIS SZB,RSS DEVICE BEEN INITIALIZED? JMP ICONX NO. CHK FOR INVALID REQ. JSB SEQAD ENTER EQT ADDR IN INTERNAL EQT TBL. LDA EQT9,I AND B77 GET REQ. CODE. CPA B3 YES. CONTROL REQ? JMP ICONP YES. LDA EQT1 STA 300B LOC. 300B=CURRENT EQT ADDR CLA LINE STATUS = GOOD. CCB INITIATE I/O REQ. JSB LOGR,I CALL LOGICAL DRIVER JMP INIT2 I73CP EQU * CONTINUATION RETURN. STA DADIR JSB SRTIM INITIATE TIMING REQ. LDA DADIR RAL,SLA START READ DIRECTIVE ? JMP SREAD YES. RAL,SLA START WRITE DIRECTIVE ? JMP SWRIT YES. REFEN EQU * NO. ASSUME NOP DIRECTIVE. CLA I/O REQ. STARTED. STF 0 TURN ON INT. SYSTEM. JMP I.73,I RETURN. SPC 2 * * INITIATE A CONTROL REQUEST * SPC 1 ICONP EQU * LDA EQT9,I AND FCODM FCODM=FUNCTION CODE MASK=17700B vSZA,RSS CLEAR REQUEST ? JMP CLEAR YES. ALF,ALF NO. RAL,RAL CPA D1 INITIALIZE REQ? JMP INREQ YES. LDB EQT17,I NO. DEVICE PREVIOUSLY SZB INITIALIZED ? JMP CLR YES. ICONV LDA EQT4,I NO. AND LHALF KEEP LH. CLEAR STATUS IOR D1 STA EQT4,I SET STATUS = INVALID JMP INIT2 RETURN. SPC 2 * * HANG-UP MODEM AND SEVER LOGICAL DRIVER LINK! * SPC 1 CLEAR EQU * LDA SCDBS JSB COUT LOWER CD (DATA SET READY). LDB EQT19,I SSB,RSS FULL/DUPLEX DEVICE ? JSB COUT2 NO. INHIBIT INTERRUPTS ON 2ND CARD. CLB STB EQT17,I SEVER LOGICAL DRIVER LINK. JMP INIT2 COMPLETE THIS REQUEST IMMEDIATELY. SPC 2 ICONX EQU * LDA EQT9,I AND B3 CPA B3 CONTROL REQ ? RSS YES. JMP ICONV NO. INVALID. LDA EQT9,I AND FCODM CPA B100 INITIALIZE CONTROL REQ ? JMP INREQ YES. SZA CLEAR REQ? JMP ICONV NO. INVALID. JSB CLALL YES. CALL CLEAR PROCESSOR. JMP INIT2 EXIT. SPC 2 SPC 1 SPC 1 * INITIALIZE REQUEST - MUST BUILD TABLE UNEQT. UNEQT WILL BE USED * TO FIND THE CORRECT EQT WHEN P.73 FIELDS AN INTERRUPT. SPC 1 INREQ EQU * JSB SEQAD ENTER EQT ADDR IN INTERNAL LDA EQT11,I EQT TABLE - UNEQT. STA EQT17,I SET POINTER TO EQT EXTENTION. JSB SETP LDA EQT9,I CALCULATE LOGICAL AND B3 DRIVER'S ENTRY ADDRESS. ADA EQT21 LDA A,I STA LOGR JMP CLR CONTINUE PROCESSING SPC 2 * SPC 1 BADLN EQU * LDA BIT14 LINE ERROR. JMP I73CP-2 TELL LOGICAL DVR. SPC 1 SPC 1 CLR EQU * LDA EQT3,I MASK 4 BIT AND UNIM1 UNIT # ALF STA UN8PIT LDB EQT1 STB 300B =CURRENT EQT ADDR. CCB INITIALIZE CALL JSB LOGR,I CALL LOGICAL DVR JMP INIT2 COMPLETION RETURN. NOP CONTROL CONTINUATION RETURN. STA DADIR SAVE LOGR DIRECTIVE JSB SRTIM LDA DADIR CHECK LOGICAL DVR. DIRECTIVES. RAL,SLA START READ DIREC? JMP SREAD YES. SSA NO. START WRITE DIRECTIVE? JMP SWRIT YES. LDA PQT9,I AND FCODM ALF,ALF RAL,RAL RT. JUSTIFY FUNC. CODE. STA B SAVE IN B-REG. CPB D1 INITIALIZE REQ? JMP INIT YES. CPB D2 LINE OPEN REQ? JMP LOPEN YES. CPB D3 LINE CLOSE REQ? JMP LCLOS YES. CPB D4 SET ECHO REQ? JMP SECHO YES. CPB D5 SET TERMINAL SPEED? JMP SPEED YES. JMP ICONV INVALID REQ. SPC 1 * PROCESS INITIALIZE REQ. AFTER RETURNING FROM LOGR SPC 1 INIT EQU * JSB CF920 CONFIGURE CONTROL WORDS FOR THE * 12920A BOARD & STORE IN EQT34&35 LDA EQT3,I ALF,RAL LDB INAUX SSA IS THIS DEVICE ON MUX # 2 INB YES. INCREMENT POINTER. ISZ B,I HAS AUX. CHANS BEEN INITIALIZED ? JMP INIT2 YES. COMPLETE THIS REQ? LDB AUXSP AUX CHNL SPEED POINTER. STB AUXSA LDA =B040000 STA UNIT = UNT # 16 (1ST AUX CHNL) LDA M5 STA SAVEC - # OF AUX CHNLS. UNIT1 EQU * LDA AUXSA,I JSB OUT CONFIGURE CHNL. LDB =B002000 ADB UNIT UNIT# = UNIT# + 1 STB UNIT ISZ AUXSA BUMP AUX CHNLS SPEED PARM ADDR. ISZ SAVEC DONE ? JMP UNIT1 NO INIT2 EQU * JSB CEQAD CLEAR EQT ADDR IN INTERNAL EQT TBL. LDA D4 IMMEDIATE COMPLETION JMP REFEN+1 RESTORE FENSE & ALLOW INTERRUPTS|. SPC 1 * PROCESS LINE CLOSE REQ. AFTER RETURNING FROM LOGR * PROCESS CLEAR REQ. WITHOUT CALLING LOGICAL DVR. SPC 1 LCLOS EQU * LDA SCDBS DISCONNECT. JSB COUT LDA EQT34,I AND CMB13 COMPLEMENT MASK FOR ENABLE BIT. STA EQT34,I JSB OUT DISABLE INTERRUPTS FROM THIS CHL LDA EQT35,I AND CMB13 STA EQT35,I JSB OUT DISABLE INTERRUPTS LDA EQT36,I AND =B17700 STA EQT36,I LINE STATUS = 0; DOWN. LDB M5SEC DELAY 5 SECONDS FOR MODEM HANGUP, JSB PTIMR THEN COMPLETE LINE CLOSE REQ. JMP REFEN SPC 1 * PROCESS SET ECHO REQ. AFTER RETURNING FROM LOGR SPC 1 SECHO EQU * LDB EQT10,I LDA EQT34,I SZB DISABLE ECHO ? JMP *+3 NO. ENABLE ECHO AND CMB12 YES. ECHO BIT COMPLEMENT MASK. RSS SKIP. IOR BIT12 SET ECHO BIT. STA EQT34,I UPDATE RECEIVE PARAMETERS. JMP INIT2 INTERRUPTS & RETURN. SPC 1 * PROCESS TERMINAL SPEED AFTER RETURNING FROM LOGR SPC 1 SPEED EQU * LDA EQT10,I GET CODED SPEED STA EQT21,I STORE CODED I/O SPEED(INPUT/OUT) AND RHALF ADA SPTBP INDEX INTO SPEED TBL LDA A,I GET MUX SPEED. AND RHALF STA B LDA EQT35,I UPDATE AND LHALF SEND SPEED. IOR B PARAMETER. STA EQT35,I LDA EQT21,I AND LHALF ALF,ALF ADA SPTBP LDA A,I AND RHALF STA B LDA EQT34,I UPDATE AND LHALF RECEIVE SPEED. IOR B PARAMETER. STA EQT34,I JSB OUT OUTPUT TO MUX CHANNEL. LDA EQT35,I JSB OUT OUTPUT REC. SPEED TO MUX CHANNEL JMP INIT2 SYSTEM INTERRUPTS & RETURN. SPC 1 * PROCESS LINE OPEN REQ. AFTER RETURNING FROM LOGR SPC 1 LOPEN EQU * LDA EQT34,I OUTPUT CONTROL WDS TO MUX. IOR BIT13 SET ENABLE BIT. STA EQT34,I JSB OUT LDA EQT35,I IOR BIT13 SET ENABLE BIT. STA EQT35,I JSB OUT LDB EQT10,I GET LINE OPEN OPTION PARAMETER CPB D1 RECEIVE OPTION? JMP RECOP YES. CPB D2 NO. SEND OPTION? JMP SENOP YES. CPB D3 IDLE OPTION? JMP IDLOP YES. SSB NO. AUTO-SPEED ? JMP AUTOP YES. JMP ICONV NO. INVALID REQUEST. SPC 1 * RECEIVE AND IDLE OPTIONS. SPC 1 IDLOP EQU * SPC 1 RECOP EQU * LDA EQT36,I SET TRANSITION STATE AND CMB45 FLAG = 1 - RECEIVE. IOR BIT4 CMB45=COMPLEMENT MASK BITS 4 & 5 STA EQT36,I LDA EQT19,I SSA 103 MODEM/HW. JMP RECO1 YES. LDA SCDAB NO. 202 MODEM/HALF DUPLEX. JSB COUT A= CD UP & CA DOWN (11011110) LDA =B140012 INTERRUPT IF CB DROPS. JSB COUT2 JMP *+3 RECO1 EQU * ECHO PLEX LDA SCDCA A= CD & CA UP (ECHOPLEX) JSB COUT OUTPUT TO CONTROL BOARD LDB EQT10,I SSB AUTO-SPEED SELECTED TOO? RSS YES. SKIP. RECOX EQU * NO. RETURN TO DOS. JMP REFEN SPC 1 LDA EQT36,I SET AUTO- IOR BIT15 SPEED FLAG STA EQT36,I JMP REFEN CONTROL REQ. INITIATED. SPC 1 * SEND OPTION SPC 1 SENOP EQU * LDA EQT36,I SET TRANSITION STATE AND CMB45 FLAG = SEND (2) IOR BIT5 STA EQT36,I LDA SCDCA RAISE CD & CA JSB COUT OUTPUT LDB EQT19,I SSB ECHO PLEX/HARDWIRED ? (103 MODEM) JMP SENO1 YES. LDA SSAB NO. 202 MODEM JSB COUT2 OUTPUT SA DOWN TO MUX BOARD # 4 SENO1 EQU * JMP REFEN SPC 1 * AUTO-SPEED OPTION SPC 1 AUTOP EQU * LDB =B5413 STB EQT21,I LDA EQT34,I SET AND =B170000 IOR S2400 LINE SPEED = 2400 BAUD IOR BIT11 AND DIAGNOSE BIT STA EQT34,I JSB OUT OUTPUT CHANNEL DATA TO MUX. LDA EQT36,I AND B17 LINE STATUS CPA D1 = RECEIVE ?? RSS YES. SKIP. JMP RECOP NO. CALL LINE OPEN RECEIVE SUBR. LDA EQT36,I SET IOR BIT15 AUTO-SPEED FLAG STA EQT36,I JMP REFEN SPC 2 * LOGR ISSUED A "START WRITE" DIRECTIVE WHEN CALLED FROM I.73 TO * INITIATE A WRITE I/O REQ. SPC 1 SWRIT EQU * LDA EQT36,I AND B17 SZA,RSS LINE STATUS = DOWN ? JMP BADLN YES. REPORT LINE ERROR TO LOGICAL. JSB SW202 NO. LINE IN SEND STATE ? RSS YES. SKIP NEXT INSTRUCTION. JMP REFEN NO. LINE BEING TURNED TO SEND SW103 LDA DADIR GOOD LINE STATUS: AND B177 JSB CHAR OUTPUT CHAR JMP REFEN SPC 1 * START WRITE ON A HALF DUPLEX LINE (202 MODEM). * RETURN: P+1 = LINE IN SEND DIRECTION (READY). * P+2 = LINE NOT IN SEND DIRECTION. SPC 1 SW202 EQU * NOP LDB EQT19,I SSB,RSS FULL DUPLEX LINE? JMP SW20A NO. HALF DUPLEX. LDA EQT34,I YES. JSB OUT ENABLE INTERRUPTS ON READ CHNL. LDA EQT36,I AND =B177700 SET LINE IOR B2 STATE = SEND. STA EQT36,I JMP SW202,I RETURN. SW20A EQU * LDA EQT36,I AND B17 CPA B2 LINE ALREADY IN SEND STATE? JMP SW202,I YES. RETURN. SPC 1 * TURN OFF READ CHANNEL INTERRUPTS DURING WRITES !!!!! SPC 1 LDA EQT34,I AND =B147777 CLEAR BITS 12 & 13. ECHO & INTER. JSB OUT OUTPUT NEW PARMS. TO MUX . SPC 1 LDA SCDAS NO. TURN LINE AROUND. JSB COUT RAISE CD & CA LDA SSAB AND LOWER SA a JSB COUT2 LDA DADIR AND RHALF STORE STA B OUTPUT LDA PQT6,I DATA AND LHALF IN IOR B EQT37,I, STA PQT6,I RT HALF. LDA EQT36,I SET AND =B117717 START WRITE FLAG IOR BIT13 AND TRANSITION IOR BIT5 STATE FLAG STA EQT36,I = SEND (2). LDB ML300 DELAY JSB PTIMR 300 MS LDB M7 WAIT AN ADDITIONAL 700 MS STB PQT15,I FOR LINE TO TURN TO SEND STATE. ISZ SW202 JMP SW202,I SPC 1 SRWEX EQU * OPERATION INITIATED. JMP REFEN RETURN TO DOS. SPC 1 * READ SPC 1 SREAD EQU * LDA EQT36,I AND B17 SZA,RSS LINE DOWN ? JMP BADLN YES. REPORT BAD LINE TO LOGICAL DVR. JSB SR202 NO. TURN LINE TO RECEIVE STATE. NOP JMP REFEN RETURN TO DOS. SPC 1 * THIS SUBROUTINE TURNS HALF DUPLEX LINES TO THE RECEIVE DIRECTION * * RETURN: * P+1 = LINE ALREADY IN RECEIVE DIRECTION. * P+2 = LINE IN PROCESS OF BEING TURNED TO RECEIVE DIRECTION. SPC 1 SR202 EQU * NOP LDA EQT34,I JSB OUT ENABLE ECHO & INTERRUPTS. LDA EQT36,I LINE ALREADY AND B17 IN READ CPA D1 STATE? JMP SR202,I YES. RETURN TO DO TIMING REQ. LDB EQT19,I SSB,RSS FULL DUPLEX? JMP SR20A NO. HALF DUPLEX. LDA EQT36,I YES. AND =B177700 CHANGE LINE STATE TO READ. IOR B1 STA EQT36,I JMP SR202,I RETURN. SR20A EQU * SPC 1 * TURN ON READ CHANNEL INTERRUPTS DURING READS !!!!! SPC 1 LDA SCDAF NO. TURN LINE AROUND JSB COUT RAISE CD AND LOWER CA WITHOUT LDA EQT36,I SET ITEM SR (START READ DIREC- AND =B117717 TIVE IISUED BY LOGICAL DVR. IOR BIT14 SET TRANSITION  IOR BIT4 LINE STATE = RECEIVE STA EQT36,I LDB ML300 DELAY JSB PTIMR 300 MS. LDB M7 STB PQT15,I 7 RETRIES. ISZ SR202 JMP SR202,I RETURN SPC 2 * CLALL INITIALIZES THE MUX CONTAINING THIS DEVICE TO DUMMY INPUT * AND OUTPUT PARAMETERS IF THIS IS THE 1ST CLEAR REQUEST ISSUED * TO A DEVICE ON THIS MUX. SPC 1 CLALL EQU * NOP LDA EQT3,I ALF,RAL MOVE MSB TO BIT # 15. LDB INCLP SSA BUMP INDEX FOR 1ST MUX? INB NO. 2 ND MUX. ISZ B,I INHIBIT INTERRUPTS ON ALL CHNLS? JMP INIT2 YES CLA STA UNIT START WITH UNIT # 0 LDB DM16 THRU UNIT # 15. STB SAVEC CLRMX EQU * LDA IPDMY INHIBIT INTERRUPTS FROM INPUT CHS. JSB OUT LDA OPDMY INHIBIT INTERRUPTS FROM OUTPUT CH. JSB OUT LDA UNIT BUMP CHANNEL ADA =B002000 NUMBER. STA UNIT ISZ SAVEC DONE?? JMP CLRMX NO. REPEAT. JMP CLALL,I YES . EXIT. HED ASYNC MUX TIMOUT INITIATE/RESET/DEQUEUE SUBROUTINES. * INITIATE/RESET/DEQUEUE LOGICAL TIMER :::***... SPC 1 SRTIM EQU * NOP STB SAVEC SAVE B-REG. AND =B140000 READ OR WRITE SZA,RSS DIRECTIVE ISSEUD? JMP SRT1 NO. SKIP. LDA EQT36,I YES. SSA AUTO-SPEED IN PROGRESS? JSB CFSPD YES. CONFIGURE PORT'S SPEED ETC. SRT1 LDB SAVEC RESTORE B-REG. SZB,RSS JMP SRTIM,I NO TIMING REQUESTED. RETURN. SSB INITIATE/RESET TIMING ? JMP IRTIM YES. CLA NO. DEQUEUE TIMING REQ. LDB EQT30 ADDR OF LOGICAL TIMING BFR. JSB $TIME DEQUEUE CLA STA TIMV,I JMP SRTIM,I AND RETURN. IRTIM EQU * LDA TIMV,I SZA CMB,INB STB TIMV,I LDA PQT1 STA EQT30,I  LDB TIMAD STB EQT31,I LDB EQT30 LDA TIMV,I JSB $TIME JMP SRTIM,I RETURN. SPC 2 * INITIATE/RESET/DEQUEUE PHYSICAL TIMER. SPC 1 PTIMR EQU * NOP SZB,RSS JMP PTIMR,I EXIT IF B-REG = 0. SSB INIT OR RESET TIMEOUT? JMP PIRTM YES. CLA NO. DEQUEUE TIMEOUT. LDB EQT26 ADDR OF TIMEOUT BLOCK. JSB $TIME CALL TIMER. CLA STA PTIMV,I JMP PTIMR,I PIRTM EQU * LDA PTIMV,I SZA INITIATE TIMEOUT ? CMB,INB NO. RESET TIMEOUT VALUE. STB PTIMV,I LDA PQT1 CMA,INA = - EQT ADDR FOR PHYSICAL TIMEOUTS. STA EQT26,I LDB TIMAD TIMEOUT SUBR ADDR. STB EQT27,I LDB EQT26 LDA PTIMV,I JSB $TIME JMP PTIMR,I HED ASYNC MUX DATA INTERRUPT PROCESSOR. * THIS ROUTINE IS ENTERED WHEN A DATA BOARD INTERRUPTS. * * P73D1 PROCESSES DATA INTERRUPTS FROM MUX # 1. * SPC 2 P73D1 EQU * NOP CLF 0 JSB SAVAL SAVE A,B,E, AND O. LDB P73D1 JSB SRSCU SAVE RETURN ADDR, SC, ETC. ADA DM16 ADD -16 BASE 10 SSA UNIT # < 16 ? JMP P73DA-1 YES. LDB LASM1 SZB,RSS IF LASM1 = 0, RETURN. JSB RETRN JSB SETP SET POINTERS. LDB EQT36,I SSB,RSS AUTO-SPEED ACTIVE FOR THIS DEVICE? JSB RETRN NO. LDB LASM1 YES. USE LAST MAIN CHNL FOR AUTO- JMP P73DA+2 SPEED TO INTERRUPT FOR AUX CHNLS ADA D16 ADD +16 P73DA EQU * ADA UNEQP TO FIND THE LDB A,I PROPER EQT. SZB,RSS UNEQT ENTRY = 0 ? JMP P73DX YES. JSB SETP LDB PQT1 LDA EQT36,I SSA AUTO-SPEED REQ. FOR THIS MAIN? STB LASM1 NO. UPDATE LAST MAIN . JMP P.73D PROCESS INT. * *<:6 INHIBIT * CHANNELS P73DX EQU * JSB RETRN EXIT TO INTERRUPTED PROGRAM. SPC 1 * * P73D2 PROCESSES DATA INTERRUPTS FROM MUX # 2. * SPC 1 P73D2 EQU * NOP CLF 0 JSB SAVAL SAVE A,B,E, AND O. LDB P73D2 < 6E 24377-18002 1523 S 0122 DOS DVR73 FOR 12920A/B MULTIPLEXOR             H0101 r  JSB SRSCU SAVE RETURN ADDR, SC, ETC. ADA DM16 ADD -16 BASE 10 SSA UNIT # < 16 ? JMP P73DR YES. LDB LASM2 SZB,RSS IF LASM2 = 0, RETURN. JSB RETRN JSB SETP LDB EQT36,I SSB,RSS AUTO-SPEED ACTIVE FOR THIS DEVICE? JSB RETRN NO. LDB LASM2 YES. USE LAST MAIN FOR MUX # 2. JMP P73DB P73DR EQU * ADA D16 RESTORE UNIT #. ADA D16 TO FIND THE ADA UNEQP LDB A,I P73DB EQU * SZB,RSS JMP P73DX JSB SETP LDB PQT1 LDA EQT36,I SSA STB LASM2 JMP P.73D SKP * * P.73D IS USED TO PROCESS ALL DATA INTERRUPTS. * BOTH P73D1 AND P73D2 CALL P.73D TO COMPLETE DATA INTERRUPT * PROCESSING. * SPC 1 P.73D EQU * NOP STB 300B SAVE EQT ADDR FOR LOGICAL DVR LDA EQT36,I AND =B460 4-15-75 SZA DROP DATA INTER. DURING TRANSITION. JSB RETRN JSB CONFG CONFIGURE I/O INSTRUCTIONS. LIB21 NOP = CURRENT DATA STATUS. (LIB SC+1) STB FSTAT SPC 1 LDB EQT36,I SSB AUTO-SPEED IN PROGRESS? JMP P73CR YES. SLB,RBR LINE STATE = RECEIVE ? JMP RDSTA YES. SLB,RSS NO. LINE STATE = SEND ? P.7FE EQU * JSB RETRN ERROR. SPC 2 * CHECK STATUS FOR WRITE REQ. DATA BOARD INTERRUPT. SPC 1 CWSTA EQU * LDA EQT19,I SSA,RSS FULL DUPLEX ? JMP CWST1 NO. SKIP DATA STATUS TEST. LDB FSTAT GET DATA STAUTS. SLB,RSS INTERRUPT DUE TO DATA XMIT ? JMP BKCHK NO. RECEIVED DATA. CHK BREAK. CWST1 CLA YES. JMP P73WR CONTINUE WRITE. SPC 1 * CHECK DATA FOR BREAK CHAR (10 ZEROS IN LSB) SPC 1 BKCHK EQU * LDA DATA IF 10 LSB OF AND =B1777 DATA = 0, THEN SZA BREAK. JSB RETRN NO BREAK DETECTED. IGNORE INTERRUPT. LDA BIT12 SET BREAK STATUS BIT. JMP P73WR CALL LOGICAL DVR. SPC 1 * CHECK STATUS FOR READ REQUEST DATA BOARD INTERRUPT. SPC 1 RDSTA EQU * LDB FSTAT GET DATA STATUS. SLB IF X-MIT INTERRUPT RETURN. JSB RETRN CLA RBR,SLB LOST CHAR INDICATED ? IOR BIT13 YES. DATA ERROR. STA SAVEX LDB EQT19,I BLF,BLF BLF,SLB ODD PARITY ? JMP RDOPC YES. CHK PARITY BIT. RBR,SLB EVEN PARITY ? JMP RDEPC YES. RDST1 LDA DATA PARITY OFF !!! AND RHALF MERGE STATUS IOR SAVEX WITH CHAR AND JMP P73RR CALL LOGICAL DVR. SPC 1 RDOPC EQU * ODD PARITY CHECKING ROUTINE. LDB DATA SSB,RSS ODD PARITY INDICATED? IOR BIT13 NO. EVEN. ERROR!!!! STA SAVEX YES. JMP RDST1 SPC 1 RDEPC EQU * EVEN PARITY CHECKING ROUTINR. LDB DATA SSB EVEN PARITY INDICATED ? JMP RDOPC+2 NO. ODD. ERROR !!!! JMP RDOPC+3 YES. SPC 1 P.73H EQU * SPC 1 * CALL LOGICAL DVR WITH CHARACTER AND STATUS FROM PHYSICAL DVR. (READ REQ.) SPC 1 P73RR EQU * IOR LSTAT,I A-REG. ALSO CONTAINS LINE STATUS. LDB EQT22,I STB LOGR LDB DUNIT JSB LOGR,I INDICATING CONTINUATION JSB COM73 COMPLETION RETURN STA DADIR JSB SRTIM LDA DADIR RAL,SLA START READ DIRECTIVE ? JMP P73SR YES. RAL,SLA START WRITE DIRECTIVE ? JMP P73SW YES. JSB RETRN YES. SPC 2 * START A READ OPERATION DIRECTIVE ISSUED BY LOGICAL * DRIVER IN RESPONSE TO BEING CALLED FROM P73D(PRIVILEDGED * INTERRUPT DATA PROCESSOR. SPC 1 P73SR EQU * JSB SR202 TURN LINE AROUND TO READ STATE. JSB RETRN EXIT. JSB RETRN EXIT. SPC 1 * START A WRITE OPERATION DIRECTIVE ISSUED BY LOGICAL * DRIVER IN RESPONSE TO BEING CALLED FROM P73D. SPC 1 P73SW EQU * JSB SW202 JMP P73SX LINE ALREADY = SEND STATE. JSB RETRN TURNING LINE TO SEND STATE. P73SY EQU * P73SX LDA DADIR AND B177 JSB CHAR OUTPUT CHAR P73ST EQU * JSB RETRN SPC 2 * CALL LOGICAL DVR WITH STATUS FROM PHYSICAL DVR. (WRITE REQ.) SPC 1 P73WR EQU * IOR LSTAT,I A-REG. ALSO CONTAINS LINE STATUS. LDB EQT23,I STB LOGR LDB DUNIT JSB LOGR,I CALL TO LOGICAL DVR. JSB COM73 COMPLETION RETURN STA DADIR TO BE OUTPUT & DIRECTIVES. JSB SRTIM LDA DADIR RAL,SLA START READ DIRECTIVE ? JMP P73SR YES. RAL,SLA NO. DIRECTIVE = START WRITE? JMP P73SW YES. SSA NO. NOP DIRECTIVE ? JSB RETRN YES. EXIT. JMP P73SX NO. CONTINUATION. SPC 1 * CALL LOGICAL DVR WITH STATUS AND CHAR FROM PHYSICAL DVR. (CONTROL) SPC 1 P73CR EQU * LDA DATA GET INPUT AND RHALF CHAR. AND P73CW EQU * LDB EQT24,I CALL LOGICAL DVR AT STB LOGR CONTROL ENTRY9 IOR LSTAT,I A-REG. ALSO CONTAINS LINE STATUS. JMP P73RR+3 CALL CONTROL. HED ASYNC MUX UTILITY SUBROUTINES. * RETRN - RESTORES A,B,E,O AND FENSE BEFORE * RETURNING TO THE INTERRUPTED PROGRAM. SPC 1 RETRN EQU * NOP CLA STA P73C1 STA P73D2 CLEAR COMPARE ENTRIES. LDB RTADD CPB TIMRT DVR. ENTERED VIA TIMEOUT CALL ? JMP RTIMX YES. EXIT VIA TIMER SUBR. STA TIMRT CLEAR COMPARE ENTRIES. LDA SAVEO RESTORE CLE,ELA E RAR,SLA AND STO O FLAGS LDB SAVB A AND B REGISTERS CLFSC CLF SC ACKNOWLEDGE INTERRUPT. LDA MPTFL SZA,RSS JMP *+4 ENABLE FENSE. LDA SAVA RTIMX EQU * STF 0 TURN ON INTERRUPT SYSTEM JMP RTADD,I RETURN TO INTERRUPTED PROGRAM. LDA SAVA STF 0 STC 5 JMP RTADD,I SPC 2 * THIS SUBR OUTPUTS THE A-REGISTER TO THE CONTROL * BOARD CURRENTLY INTERRUPTING. ALLOWS INHIBITING INTERRUPTS. SPC 1 OUTCC EQU * NOP OCCSC OTA SC STC SC,C JMP OUTCC,I SPC 2 * SAVAL - SAVES THE A,B,E, AND O REGISTERS. SPC 1 SAVAL EQU * NOP STA SAVA SAVE A-REG. STB SAVB SAVE B-REG ERA,ALS SAVE E SOC INA STA SAVEO SAVE O JMP SAVAL,I SPC 1 SAVA NOP SAVB NOP SAVEO NOP SPC 2 * SUBR OUTPUTS TO DATA BOARD CURRENTLY INTERRUPTING. * ALLOWS INHIBITING INTERRUPTS ON THIS CHANNEL. SPC 1 SPC 2 * CHECK LINE STATUS TO SEE IF HALF DUPLEX LINE HAS * COMPLETED LINE TURNAROUND FROM SEND TO RECEIVE * OR FROM WRITE TO READ. SPC 1 CLINE EQU * NOP * FETCH CONTROL STATUS AND FORMAT * I EXPECT THE FOLLOWING STATI * INDICATED : * * 1. CC (DATA SET READY) - UP * 2. CF (CARRIER(TERM) - UP * 3. CB (CLEAR TO SEND ) - DOWN SPC 1 JSB FCL12 AND D3 CPA D3 CC AND CF UP ? JMP *+3 YES. CLNEX CCB NO. JMP CLINE,I RETURN INDICATING BAD LINE. LDA B AND B2 SZA CB-DOWN ? SB=DON'T CARE. JMP CLNEX NO CLB INDICATE LINE IN READ STATE. JMP CLINE,I RETURN HED ASYNC MUX CONTROL BOARD INTERRUPT PROCESSOR. * THIS ROUTINE IS ENTERED WHEN A CONTROL BOARD INTERRUPTS * * P73C1 - PROCESSES INTERRUPT FROM MUX # 1. CONTROL BOARD # 1. * SPC 2 P73C1 EQU * NOP CLF 0 sgJSB SAVAL SAVE ENVIRONMENT LDB P73C1 P73CA EQU * JSB CISUB SAVE RETURN ADDR,SC, CONFIG. ETC. P73CC EQU * ADA UNEQA ADDR OF UNEQT TBL LDB A,I SZB JMP P.73C LDA DATA AND =B177763 CONTROL PARAMETERS WITH ES1 AND * ES2 CLEARED TO INHIBIT INTERRUPTS JSB OUTCC SUBR CONFIGURED DURING SRSCU JSB RETRN SKP * * P73C2 - PROCESSES INTERRUPTS FROM MUX # 1, CONTROL BOARD # 2. * P73C2 EQU * NOP CLF 0 JSB SAVAL SAVE ENVIRONMENT LDB P73C2 JMP P73CA SKP * * P73C3 - PROCESSES INTERRUPTS FROM MUX # 2. CONTROL BOARD # 1. * SPC 1 P73C3 EQU * NOP CLF 0 JSB SAVAL LDB P73C3 STB P73C1 P73CB EQU * JSB CISUB SAVE RETURN ADDR,SC, CONFIG. ETC. ADA D16 JMP P73CC SKP SPC 1 * * P73C4 - PROCESSES INTERRUPTS FROM MUX # 2, CONTROL BOARD # 2. * P73C4 EQU * NOP CLF 0 JSB SAVAL LDB P73C4 JMP P73CB SKP * * P.73C IS CALLED BY P73C1-4 TO COMPLETE CONTROL BOARD * INTERRUPT PROCESSING. * SPC 2 P.73C EQU * STB 300B CURRENT EQT ADDR JSB SETP SET POINTERS JSB CONFG CONFIGURE P.73 I/O INSTRUCTIONS. LDA DATA JSB OUTCC JSB UPD25 UPDATE EQT25. (CURRENT LINE STATUS. PCON EQU * LDB EQT19,I WHICH CONTROL SIGNAL CHANGED ? SSB FULL DUPLEX TERM? JMP P73C9 YES. LDA EQT36,I AND B60 STA XFLG SAVE TRANSITION STATE. SZA,RSS XFLG = 0 ? JSB RETRN YES. EXIT. LDA EQT36,I AND B3 SZA LINE STATE = 0 ? JSB RETRN NO. LET TIMER CHK LINE TURNS. LDB XFLG CPB B20 TRANSITION STATE = RECEIVE ? JMP PC1 YES. CHK LINE OPEN STATUS. JSB FCL12 NO. TRANSITIONING TO; SEND STATE. SLA,RSS CC UP ? JSB RETRN NO. STB A YES. CHKCB AND SB. AND B3 CPA B3 "CB AND SB" UP ? RSS YES. JSB RETRN NO. WAIT FOR THEM. LDA EQT36,I AND =B177700 CLEAR TRANS STATE AND IOR B2 SET LINE STATE = SEND. STA EQT36,I JMP PC2 * * PROCESS FULL DUPLEX INTERRUPTS HERE. * SPC 1 P73C9 EQU * LDA EQT36,I AND B60 SZA,RSS LINE OPEN ? JSB RETRN NO. EXIT. LDA EQT25,I YES. SLA CC UP ? JMP PC3 YES. COMPLETE LINE OPEN. JSB RETRN NO. EXIT. * * PROCESS LINE OPEN RECEIVE/AUTO SPEED FOR HALF DUPLEX DEVICES. * SPC 1 PC1 EQU * JSB CLINE SSB LINE STATUS = RECEIVE? JSB RETRN NO. PC3 LDA EQT36,I YES. SET LINE STATE = AND =B177700 RECEIVE AND CLEAR TRANSITION INA STATE FLAGS. STA EQT36,I LDB EQT19,I SSB HALF DUPLEX DEVICE? JMP PC4 NO. SKIP OUTPUT TO 2ND CONTROL BOARD. LDA SSAF RAISE "SA" INHIBIT INTERRUPTS JSB COUT2 FOR "SB" CHANGES. PC4 LDB EQT36,I SSB AUTO-SPEED IN PROGRESS? JSB RETRN YES. WAIT FOR DATA INTERRUPTS. PC2 LDB ML300 NO. DELAY 300 MIL/SEC JSB PTIMR AND COMPLETE. JSB RETRN EXIT AND WAIT FOR TIMEOUT. HED ASYNC MUX COMPLETION SUBROUTINE. * COM73 IS CALLED BY THE PHYSICAL AND LOGICAL DRIVERS * WHEN EITHER DECIDES THAT AN I/O REQUEST HAS BEEN COMPLETED. * THE LOGICAL DVR CALLS COM73 VIA COMPLETION RETURN AFTER * THE PHYSICAL DVR CALL THE LOGICAL. * SPC 1 COM73 EQU * NOP JSB CALED GET ADDR OF INTERNAL EQT TBL ENTRY. LDA A,I GET EQT ADDR FROM INTERNAL TBL. SZA,RSS DEVICE BUSY? JSB RETRN LDA EQT36,I IOR B60 SET BOTH TS FLAGS. STA 6EQT36,I SSA,RSS PROCESSING AUTO-SPEED ? JMP COM01 NO. SKIP. JSB CFSPD YES. CONFIGURE SPEED PARMS. COM01 EQU * * HOUSEKEEP ALL REQUIRED * ITEMS IN EQT ETC. LDA EQT36,I AND BIT8 SZA COMPLETING AUTO-SPEED? JMP COM04 YES. DELAY 2 SECONDS. LDA TIMV,I SZA,RSS CLEAR JMP *+5 CLA TIMERS STA TIMV,I LDB EQT30 ONLY JSB $TIME LDA PTIMV,I WHEN SZA,RSS JMP *+5 NECESSARY CLA STA PTIMV,I !!!!!!!!!!!!! LDB EQT26 JSB $TIME SPC 1 LDA EQT34,I AND =B147777 JSB OUT DISABLE ECHO & INTR.FOR THIS DEVICE. SPC 1 COM03 EQU * SPC 1 LDA PQT1 CALL PRIVILEDGED INTERRUPT JSB $PCOM COMPLETION SUBR. SPC 1 * $PCOM CAUSES AN INTERRUPT ON THE PRIVILEDGED INTERRUPT BOARD. * WHEN DOS PROCESSES THIS INTERRUPT IT CALLS C.73 FOR I/O COMPLETION * PROCESSING. SPC 1 SPC 1 JSB RETRN RESTORE ENVIRON. & RETURN. SPC 1 COM04 EQU * LDA EQT36,I AND =B77717 CLEAR BITS 5&4(TRANS STATE) 4-15-75 STA EQT36,I LDB =D-20 DELAY 2 SECONDS. THEN JSB PTIMR COMPLETE AUTO-SPEED REQ. JSB RETRN EXIT AND WAIT FOR TIMER. SKP * C.73 IS THE COMPLETION ROUTINE FOR THE 12920A.(ASYNC MUX) * DRIVER SPC 2 C.73 EQU * NOP CLF 0 LDB EQT1 JSB SETP SET EQT POINTERS. LDA PQT9,I AND B3 CPA B3 CONTROL REQ? RSS YES. SKIP. JMP C730 NO. SKIP CONTROL CLEAR PROCESSING. LDA PQT9,I AND FCODM GET FUNCTION CODE. SZA,RSS CLEAR CONTROL REQ? STA PQT17,I YES. SEVER LOGICAL DVR LINK!!! C730 EQU * LDA EQT36,I AND =B177717 CLEAR TS FLAGS. STA EQT36,I JSB CEQAD CLEAR EQTҷ ADDR IN INTERNAL TBL. LDB EQT14,I GET CHAR/WORD COUNT. CLA STF 0 JMP C.73,I HED ASYNC MUX CONSTANTS-------!!!!!!! * * * * CONSTANTS * * * * SPC 3 INAUX DEF *+1 DEC -1 DEC -1 AUXSA NOP AUX CHNL SPEED PARM ADDR. AUXSP DEF *+1 OCT 120413 1200 BAUD OCT 120427 600 OCT 120457 300 OCT 120537 150 OCT 121202 110 AND 11 BITS. INCLP DEF *+1 DEC -1 THIS CONSTANT IS FOR CLEARING ALL DEC -1 -CHNLS ON MUX # 1 AND MUX # 2. SAVEC NOP DADIR NOP LOGR NOP ADDR OF LOGICAL DVR ENTRY POINT. NULL NOP NULL OF TIME DELAY CHARACTER. DATA NOP DATAC NOP FSTAT NOP XFLG NOP TRANSITION STATE FLAG. EQT1 EQU 203B EQT2 EQU 204B EQT3 EQU 205B EQT4 EQU 206B EQT5 EQU 207B EQT6 EQU 210B EQT7 EQU 211B EQT8 EQU 212B EQT9 EQU 213B EQT10 EQU 214B EQT11 EQU 215B EQT12 EQU 216B EQT13 EQU 217B EQT14 EQU 220B EQT15 EQU 221B EQT16 EQU 222B EQT17 EQU 223B MPTFL EQU 271B SC EQU 10B * * BASE PAGE CONSTANTS * M1 EQU 52B M2 EQU M1-1 M3 EQU M1-2 M4 EQU M1-3 M5 EQU M1-4 M6 EQU M1-5 M7 EQU M1-6 M8 EQU M1-7 M9 EQU M1-8 M10 EQU M1-9 M64 EQU M1-10 B0 EQU M1+1 B1 EQU B0+1 B2 EQU B0+2 B3 EQU B0+3 B4 EQU B0+4 B5 EQU B0+5 B6 EQU B0+6 B7 EQU B0+7 B10 EQU B0+8 B11 EQU B0+9 B12 EQU B0+10 B21 EQU B0+11 B100 EQU B0+12 B17 EQU B0+13 B37 EQU B0+14 B77 EQU B0+15 B177 EQU B0+16 B377 EQU B0+17 = RHALF LHALF EQU B0+18 = 177400 B3777 EQU B0+19 DM64 EQU B0+20 RQP3 EQU 230B RQP4 EQU 231B D1 EQU B1 D2 EQU B2 D3 EQU B3 D4 EQU B4 D5 EQU B5 EQT19 NOP EQT21 NOP EQT22 NOP EQT23 NOP EQT24 NOP EQT25 NOP EQT26 NOP EQT27 NOP EQT30 NOP EQT31 NOP EQT34 NOP EQT35 NOP EQT36 NOP EQT37 NOP EQT38 NOP PQT1 NOP PQT3 NOP PQT4 NOP PQT5 NOP PQT6 NOP PQT8Ҍ640 NOP PQT9 NOP PQT10 NOP PQT15 NOP PQT16 NOP PQT17 NOP LSTAT EQU PQT16 CURRENT LINE STATUS. TIMV EQU EQT38 PTIMV EQU EQT37 ML100 EQU M1 ML300 EQU M3 RHALF EQU B377 FCODM OCT 017700 BIT8 OCT 400 BIT11 OCT 004000 BIT12 OCT 010000 BIT13 OCT 020000 BIT14 OCT 040000 BIT15 OCT 100000 BIT5 OCT 000040 BIT4 OCT 000020 B20 EQU BIT4 CMB12 OCT 167777 ^6 7 E 24377-18003 1523 S 0122 DOS DVR73 FOR 12920A/B MULTIPLEXOR             H0101 s CMB13 OCT 157777 CMB14 OCT 137777 CMB45 OCT 177717 COUNT DEC 0 DM16 DEC -16 D16 EQU BIT4 DM15 DEC -15 DM17 DEC -17 DM21 DEC -21 M5SEC DEC -50 = 4.9 TO 5.0 SECONDS. B40 EQU BIT5 B60 OCT 60 LASM1 NOP LAST MAIN TO INT FOR MUX # 1. LASM2 NOP LAST MAIN TO INT. FOR MUX. # 2. TIMAD DEF TIMRT ADDR OF TIMEOUT SUBR. PHYBF DEF EQT26 ADDR OF PHYSICAL TIMEOUT BFR. SBITP DEF *+1 STOP BITS POINTER OCT 43600 TTY(ASCII)(ODD OR NO PARITY.) OCT 43400 TTY WITH EVEN PARITY. NULCP DEF *+1 NULL CHAR ADDR OCT 47777 TIME DELAY CHAR FOR NO PARITY. OCT 47577 TIME DELAY CHAR WITH PARITY. TPARI OCT 160000 RPARI OCT 120000 RTADD NOP RETURN ADDR SAVSC NOP SAVEX NOP UNITM OCT 3700 UNIM1 OCT 1700 IPDMY OCT 101202 TURN OFF THIS INPUT CHNL. OPDMY OCT 101202 TURN OFF THIS OUTPUT DATA CHNL. UNIT NOP CURRENT UNIT # DUNIT NOP CURRENT UNIT # RT. JUSTIFIED. SPTBP DEF *+1 OCT 0 N/A OR DEFAULT TO DEVICE TYP SPD OCT 1202 110 BPS (11 BIT/CHAR) OCT 157 134.5 BPS (2741-9 BITS/CHAR) OCT 537 150 BPS (10 BITS/CHAR) OCT 1100 220 BPS (11 BITS/CHAR) OCT 457 300 BPS (10 BITS/CHAR) OCT 1040 440 BPS (11 BITS/CHAR) OCT 427 600 BPS (10 BITS/CHAR) OCT 1017 880 BPS (11 BITS/CHAR) OCT 413 1200 BPS (10 BITS/CHAR) OCT 1007 1760 BPS (11 BITS/CHAR) S2400 OCT 405 2400 BPS (10 BITS/CHAR) OCT 403 4800 BPS (10 BITS/CHAR) SPC 2 UNEQP DEF UNEQT POINTS TO EQT POINTER TABLE. UNEQA EQU UNEQP SPTAD EQU SPTBP SWREX EQU SRWEX UNEQT EQU * REP 32 NOP POINTER TO EQT[SUB SC(SUB UNIT#)] SPC 2 NOP SCDCA OCT 140374 RAISE CD & CA (ECHOPLEX-103) - * ALSO FOR HALF DUPLEX SEND (202). SSAB OCT 140114 LOWER SA FOR HALF DUPLEX SEND. SCDAB OCT 140334qJ RAISE CD & LOWER CA - 202 RECEIVE. SSA OCT 140136 RAISE SA FOR 202 RECEIVE. SCDAS OCT 140365 SUPPRESS CF INTERRUPTS. SCDBS OCT 140100 LOWER CD & INHIBIT ALL INTERRUPTS. SCDAF OCT 140327 RAISE CD & LOWER CA WHILE INHIBIT * ING CF STATUS CHANGE INTERRUPTS. SCDAX OCT 140337 SSAX OCT 140135 SSAF OCT 140132 RAISE SA WHILEINHIBITING SB INT. SSAFB OCT 140120 RAISE SA & INHIBIT SB&CB INTERUPTS. * CHANGE INTERRUPTS. HED ASYNC MUX UTILITY SUBROUTINES. * SETP SETS POINTERS TO CURRENT ENTRY PLUS ITS EXTENTION * * CALLING SEQUENCE: LDB ADEQT ADDR OF CURRENT EQT ENTRY * JSB SETP SPC 1 SETP EQU * NOP * MAY BE ENTERED MORE THAN ONCE PER INTERRUPT. FIND A WAY * REDUCE THE NUMBER OF ENTRIES PER INTERRUPT. STB PQT1 ADB D2 STB PQT3 INB STB PQT4 INB STB PQT5 INB STB PQT6 ADB D2 STB PQT8 INB STB PQT9 INB STB PQT10 ADB D5 STB PQT15 INB STB PQT16 INB STB PQT17 LDA B,I INA STA EQT19 ADA D2 STA EQT21 INA STA EQT22 INA STA EQT23 INA STA EQT24 INA STA EQT25 INA STA EQT26 INA STA EQT27 ADA D3 STA EQT30 INA STA EQT31 ADA D3 STA EQT34 INA STA EQT35 INA STA EQT36 INA STA EQT37 INA STA EQT38 JMP SETP,I EXIT. SPC 2 * CF920 USES EQT19-21 TO CONFIGURE PARAMETERS FOR * INPUT AND OUTPUT LINES AND STOP BITS FOR EQT5. SPC 1 CF920 EQU * NOP LDB SBITP ADDR OF STOP BITS LDA EQT19,I AND B60 STA SAVEX SAVE PARITY ITEM SZA,RSS NO PARITY ? JMP CF92A YES. CPA B20  ODD PARITY? RSS YES. INB NO. EVEN PARITY. CF92A EQU * LDA B,I STA EQT5,I SAVE DEVICES STOP BITS. LDA EQT19,I AND B17 CALC. ADA B2 1 START AND 1 STOP BIT. STA B LDA EQT19,I AND =B200 SZA 2 STOP BITS? INB YES. LDA SAVEX NO. ONE. CHK PARITY. SZA PARITY ON? INB YES. STB A ADA M1 AND B7 SAVE 3 BITS ONLY. ALF,ALF LENGTH STA EQT34,I SAVE CHAR LENGTH LDB SAVEX SZB PARITY ON ? IOR BIT12 YES. PARITY PARAMETER. IOR TPARI SET TRANSMIT AND PARAMETER BITS. STA EQT35,I SAVE PARTIAL TRANS/PARM NO. LDA EQT21,I FIND AND RHALF TRANSMIT ADA SPTBP SPEED LDA A,I PARAMETER. AND RHALF IOR EQT35,I STA EQT35,I TRANSMIT PARM COMPLETED. * OUTPUT PARAMETERS COMPLETED. LDA EQT21,I ALF,ALF FIND AND RHALF RECEIVE ADA SPTBP SPEED LDA A,I PARAMETER. AND RHALF IOR EQT34,I LDB EQT19,I BLF,BLF RBL SSB ECHO ON? IOR BIT12 IOR RPARI STA EQT34,I INPUT PARAMETERS COMPLETED. CLA STA EQT25,I STA EQT36,I INITIALIZE STA EQT37,I OTHER STA EQT38,I PARAMETERS. LDB NULCP NULL CHAR ADDR LDA SAVEX SZA PARITY ON ? INB YES. LDA B,I GET NULL CHAR. STA NULL JMP CF920,I RETURN. SPC 2 * COUT2 OUTPUTS CONTROL PARAMETERS TO THE 2ND CONTROL BOARD. SPC 1 COUT2 EQU * NOP IOR UNIT INSERT UNIT # OTA40 OTA SC+3 4TH BOARD (2ND CONTROL BOARD) STCF4 STC SC+3,C JMP COUT2,I SPC 2 * COUT OUTPUTS CONTROL PARAMETERS TO THE 1ST CONTROL BOARD. SPC 1 COUT EQU * NOP IOR UNIT OTA30 OTA SC+2 CONTROL BOARD # 1 STCF3 STC SC+2,C JMP COUT,I SPC 2 * OUT - TRANSMITS 16 BITS TO THE MUX BOARD. SPC 1 OUT EQU * NOP LIB20 LIB SC+1 CHK SEEKING. SSB OK TO SEND? JMP *-2 NO. WAIT. OTA10 OTA SC OUTPUT DATA/PARAMETERS. LDA UNIT OTA20 OTA SC+1 SEND UNIT #. STC10 STC SC INITIATE TRANSFER. JMP OUT,I SPC 2 * CHAR - TRANSMIT A CHARACTER SPC 1 CHAR EQU * NOP IOR PQT5,I ADD STOP BITS. JSB OUT SEND CHAR TO MUX BOARD. JMP CHAR,I SPC 2 * FCL12 - GET CONTROL LINE STATI FOR HALF DUPLEX LINE (202 MODEM). SPC 1 FCL12 EQU * NOP LDA EQT25,I AND LHALF ALF,ALF STA B LDA EQT25,I AND RHALF JMP FCL12,I SPC 2 * SRSCU - SAVES RETURN ADDR, SC, CONFIGURES OUTPUT ROUTINE FOR * OUTCC SUBROUTINE AND ACKNOWLEDGEMENT INSTRUCTION. * * CALLING SEQUENCE: LDB X73YZ INTERRUPT ENTRY ADDR. * JSB SRSCU SPC 1 SRSCU EQU * NOP STB RTADD SAVE RETURN ADDR. LIA 4 STA SAVSC SAVE SELECT CODE. IOR CLFAC CONFIGURE INTERRUPT STA CLFSC ACKNOWLEDGEMENT INST LDA SAVSC CONFIGURE LIA INST. IOR LIAAC STA *+1 NOP STA DATA AND =B76000 STRIP OUT STA UNIT UNIT AND RT. ALF JUSTIFY UNIT #. RAL,RAL STA DUNIT JMP SRSCU,I SPC 1 CLFAC CLF 0 OTACC OTA 0 LIAAC LIA 0 LIBAC LIB 0 STCAC STC 0 STCF0 STC 0,C SPC 2 * TIMRT - IS CALLED BY $TIME WHEN A PHYSICAL OR * LOGICAL TIMEOUT OCCURS. * TIMRT THEN DECIDES WHICH DVR THE TIMEOUT OCCURRED * FOR AND CALLS THAT DVR INDICATING A TIMEOUT OCCURRED. * * CALLING SEQ: h LDA ID EQT ADDR * JSB TIMRT SPC 1 TIMRT EQU * NOP CLF 0 LDB TIMRT SAVE RETURN ADDRESS STB RTADD IN UNIVERSAL RETURN ADDR. SSA LOGICAL DVR TIMEOUT INT.? JMP TIMPH NO. PHYSICAL. STA 300B YES. STA B JSB SETP SET EQT POINTERS LDA PQT3,I AND UNIM1 GET 4 BIT ALF UNIT # AND STA UNIT SAVE IT IN UNIT. ALF,RAL RAL RT. JUSTIFY FOR STA DUNIT DUNIT. JSB CONFG CONFIGURE I/O INST. CLA STA TIMV,I CLEAR TIMEOUT IN PROGRESS FLG. LDA EQT36,I SSA PROCESSING AUTO-SPEED? JMP TIM97 YES. SET TIMEOUT BIT ETC. AND B60 STA XFLG SAVE TRANSITION STATE. SZA TRANS STATE = 0? JMP TIMXX NO. LDB EQT36,I SLB,RBR READ IN PROGRESS? JMP TIM98 YES. PREPARE TO CALL P73RR. SLB NO. WRITE IN PROGRESS? JMP TIM99 YES. PREPARE TO CALL P73WR. JMP TIM97 NO. PREPARE TO CALL P73CR. TIMXX EQU * CPA B20 TRANSITIONING TO READ STATE? JMP TIM98 YES. PREPARE TO CALL P73RR. TIM99 EQU * PREPARE TO CALL P73WR. LDA BIT15 INDICATE TIMEOUT STATUS. JMP P73WR GO TO WRITE PROCESSOR. TIM98 EQU * LDA BIT15 INDICATE TIMEOUT STATUS. JMP P73RR GO TO READ PROCESSOR. TIM97 EQU * LDA BIT15 JMP P73CW CALL CONTROL PROCESSOR. SPC 1 TIMPH EQU * CMA,INA STA B MAKE EQT ADDR POSITIVE. JSB SETP SET EQT POINTERS. LDA PQT3,I AND UNIM1 SVE UNIT ALF NUMBER STA UNIT IN ITEM UNIT. JSB CONFG CLA STA PTIMV,I CLEAR TIMEOUT IN PROGRESS FLG. LDA EQT36,I AND =B177377 CLEAR BIT8(AUTO-SPEED DELAY)4-15-75 STA EQT36,I 2q 4-15-75 AND B60 STA XFLG SZA,RSS TRANSITION STATE = 0 ? JSB COM73 YES. COMPLETE LINE OPENS/CLOSE. * CPA B40 NO. TRANS. TO SEND ? JMP TIMWR YES. JSB CLINE NO. TRANS TO RECEIVE. SSB LINE IN RECEIVE STATE? JSB TIMAG NO. TRY AGAIN. TIMFR LDA SSAF YES. RAISE "SA" AND INHIBIT JSB COUT2 INTERRUPTS FOR "SB" CHANGES. LDA EQT36,I SET AND =B117700 LINE STATE INA TO STA EQT36,I RECEIVE STATE. TIMEX JSB RETRN SPC 1 TIMAG NOP ISZ PQT15,I LAST ATTEMPT? RSS NO. JMP TIMAG,I YES. FORCE READ/WRITE. CCB DELAY 100 MIL/SEC JSB PTIMR JSB RETRN WAIT FOR TIMEOUT. SPC 1 * TURNING LINE TO SEND STATE. SPC 1 TIMWR EQU * JSB FCL12 SLA,RSS CC UP ? JMP TIMWT NO. TRY AGAIN. STB A YES. AND B3 CPA B3 CB AND SB UP ? RSS YES. LINE IN RECEIVE STATE. SKIP. TIMWT EQU * JSB TIMAG NO. TRY AGAIN. LDA EQT36,I SET AND =B117700 LINE STATE IOR B2 TO SEND. STA EQT36,I LDA PQT6,I AND B177 OUTPUT 1ST CHAR JSB CHAR FROM LOGICAL DVR. JSB RETRN EXIT. SPC 2 * CONFIG - CONFIGURES THE OUTPUT INSTRUCTIONS FOR * OUTPUT SUBROUTINES. * * CALLING SEQUENCE: JSB CONFG SPC 1 CONFG EQU * NOP LDA PQT3,I GET BASE AND B77 SELECT CODE STA SAVSC ADA OTACC CONFIGURE STA OTA10 ALL INA OTA STA OTA20 INSTRUCTIONS. INA STA OTA30 INA STA OTA40 * LDA SAVSC CONFIGURE ADA STCAC STC STA STC10 INST. AND B77 INA CONFIGURE ADA LIBAC STA LIB20 STA LIB21 LIB INSTRUCTIONS LDA STCF0 IOR SAVSC ADA B2 STA STCF3 INA STA STCF4 JMP CONFG,I RETURN. SPC 2 * THIS SUBR UPDATES THE STATI OF BOTH CONTROL BOARDS. SPC 1 UPD25 EQU * NOP LDA DATA LDB RTADD CPB P73C1 BOARD # 1 INT. JMP P731 YES. LDB EQT19,I NO. BOARD # 2. SSB FULL DUPLEX? JSB RETRN YES. ERROR. EXIT. SPC 1 * CURRENTLY PROCESSING INTERRUPT FROM CONTROL BOARD # 2. SPC 1 P732 ALF,ALF XOR EQT25,I AND LHALF ALF,ALF LDB EQT19,I RBL MOVE SEC. CH. BIT TO BIT # 15. SSB,RSS IS SEC. CH. AVAILABLE ? ERA,CLE,ELA NO. SEC. CH. CAN'T CAUSE INTERRUPT. STA SAVEC JMP P733 SPC 1 * CURRENTLY PROCESSING INTERRUPT FROM BOARD # 1. SPC 1 P731 EQU * XOR EQT25,I AND RHALF STA SAVEC P733 LDA DATA AND RHALF LDB EQT19,I UPDATE EQT25 SSB FULL DUPLEX? JMP P735 YES. LDB RTADD NO. CPB P73C1 CONTROL BOARD # 1 INT? JMP P734 YES. ALF,ALF NO. STA B BOARD # 2. LDA EQT25,I AND RHALF KEEP BOARD # 1'S STATUS. JMP P735-1 P734 EQU * STA B LDA EQT25,I AND LHALF KEEP BOARD # 2'S STATUS. IOR B P735 EQU * LDB EQT19,I RBL SSB,RSS IS SEC. CH. AVAILABLE ? IOR BIT8 NO. SET SEC. REC. (SB) ON. STA EQT25,I SET BOARD STATUS. SLB DEVICE HALF DUPLEX ? JMP TIMD1 NO. FULL DUPLEX. CLB YES. LDA EQT36,I AND B77 CPA B1 LINE IN RECEIVE STATE ? JMP P736R YES. CPA B2 LINE IN SEND STATE ? JMP P737W YES. JMP TIMD2 NO. GOOD STATUS. LET TIMPH TURN * B THE LINE AROUND AND CHECK STATUS. P736R EQU * LDA EQT25,I CHK LINE STATUS SIGNALS. AND =B1003 KEEP "CB,CF, AND CC". CPA B3 "CF AND CC" UP ? JMP TIMD2 YES. GOOD RECEIVE STATUS. JMP TIMD2-1 NO. BAD RECEIVE STATUS. SPC 1 P737W EQU * LDA EQT25,I CHK LINE STATUS AND =B1401 KEEP "CB,SB, AND CC" . CPA =B1401 "CB,SB, AND CC" UP ? JMP TIMD2 YES. GOOD SEND STATUS. ALF,ALF SLA "SB" DOWN ? JMP TIMD2-1 NO. LINE ERROR. LDB BIT12 YES. BREAK. JMP TIMD2 TIMD1 EQU * FULL DUPLEX. CLB LDA EQT25,I AND B1 103 ,S SHOULD ALWAYS = B3. BUT CPA B1 H/W ASR33,S ALWAYS = B1. "" CC UP. RSS LDB BIT14 LINE ERROR !!!!!!!!!! TIMD2 EQU * STB LSTAT,I SAVE LINE STATUS IN PQT16,I(EQT16). JMP UPD25,I RETURN. SPC 2 CISUB EQU * NOP JSB SRSCU AND B17 STA DUNIT ALF,ALF RAL,RAL STA UNIT LDA SAVSC ADA OTACC STA OCCSC LDA STCF0 IOR SAVSC STA OCCSC+1 LDA DUNIT JMP CISUB,I SPC 2 * SET INTERNAL EQT ADDR TABLE. SPC 1 SEQAD EQU * NOP JSB CALED RETURN WITH A-REG.=ENTRY ADDR. LDB PQT1 EQT ADDR STB A,I JMP SEQAD,I SPC 2 * CLEAR AN ENTRY IN INTERNAL EQT TABLE. SPC 1 CEQAD EQU * NOP JSB CALED CLB STB A,I JMP CEQAD,I SPC 2 * FIND INTERNAL EQT ADDR ENTRY SPC 1 CALED EQU * NOP LDA PQT3,I RT. JUSTIFY AND UNITM 5 BIT ALF,ALF UNIT # AND RAL,RAL ADD INTERNAL EQT ADA UNEQP TBL BASE ADDR. JMP CALED,I * * THIS SUBR IS CALLED WHEN LINE OPEN AUTO-SPEED COMPLETES OR * WHEN DVR73 IS DIRECTED TO READ/WRITE DURING A LINE OPEN * AU640TO-SPEED REQUEST. * IT CONFIGURES THE MAIN PORTS TO THEIR CORRECT SPEED AND * PERFORMS THE REQUIRED HOUSEKEEPING FOR COMPLETING AUTO-SPEED. * * CALLING SEQ: JSB CFSPD * * RETURN: P+1 SPC 1 CFSPD NOP LDA EQT36,I CLEAR AUTO-SPEED INDICATION. ELA,CLE,ERA WHEN RD/WT DIRECTIVE IS IOR BIT8 SET AUTO-SPEED FLAG. STA EQT36,I ISSUED DURING AUTO-SPEED OR CLB ON COMPLETION OF AUTO-SPEED. LDA 300B = EQT ADDR OF ACTIVE DEVICE. CPA LASM1 ACTIVE DEV ON MUX # 1 ? JMP *+3 YES STB LASM2 NO. CLEAR LSAT MAIN FOR MUX #2. RSS SKIP. STB LASM1 CLEAR LSAT MAIN FOR MUX # 1. LDA PQT3,I AND UNIM1 SET UNIT = ALF UNIT # OF STA UNIT THE MAIN PORT. LDA EQT21,I GET INDEX AND RHALF TO SPEED PARM TBL. ADA SPTAD ADD TO SPEED TBL STARTING ADDR. LDB A,I FETCH SPEED PARM. LDA EQT34,I INSERT RECEIVE AND =B170000 PORTS IOR B SPEED PARM AND STA EQT34,I CLEAR DIAG BIT (11). STB SAVEC SAVE SPEED PARM. JSB OUT UPDATE RCV PORT'S PARMS. LDA EQT35,I AND =B170000 IOR SAVEC UPDATE SEND STA EQT35,I PORT'S SPEED JSB OUT PARM. JMP CFSPD,I RETURN. END 6 8 F 24380-18034 1409 S 0122 HPRJE BINARY SYNC DRIVERS (7/7)             H0101  MPBìɠYSUN. SPà AUAŠASɠ"". APàNPNYPN. ҠBUSVŠҠDAAAND. MPAPìɠUN. SPà AUAŠANSDŠ"-6". PàNPNYPN. SBSKPƠDAABԠSZ. ҠBҠDAABԠ0ANDàBԠ0. SAA ҠB0000 SABAKMAG ҠB00 ASH BҠKS!!! SZPA6NSHDAUAN? MPP+NϬPSSANHҠB. MPPìɠYSUN. SPà3 DAA YPŠDƠYP YPŠDƠBàPNSϠ-6AGHM. AYPŠDƠAPàPNSϠàAGHM. YPŠDƠPàPNSϠ-AGHM. A̠BSSPNSϠPAYAàMDU. D̠BSS(ANSMDũƠSԠASԠHҠD SDBSSHAAҠUSAN. PA̱BSSBUҠADDS. PA̲BSSUN. PA6BSSUN. PA5BSSPAYD. SANBSSƠSԠHNNANSPANԠMD. HDDBUGSUBUNŠA̠A SUBUNŠϠAŠSUBUNŠAS.N NYHŠA-GNANSHŠNNSƠH ANGSUBUNSNYPNԠANDH B-GNANSHAԠUNSAŠD. HSŠAŠSDGHҠNAUAҠS ASNNMMMMHŠNNSHŠDŠANDMMMMS HŠANGANAVŠϠD.50.ADD PNSϠHŠNԠSԠNDŠϠ.HŠS SASAԠ"SUB".HŠUNŠDSNԠUS HŠSSNGHPYSϠAHANGŠN NGHSMADŠNYNHŠBSSSAMN. HŠSUBUNŠDS"NN"A: 0--N 0--.. 03--AV 0--PADS 05--UPA 06--SYNZ SPA̠HAA4-  ҠAŠDS"NN"MAN: --"MMMM"SHAAҠSNԠBYN --"MMMM"SHAAҠVDBYN AŠNP BƬBƠPSNDŠN BƠϠDGSƠB-G. MANAGԠAVŠANGADDSSN ADAAD.50A-G MA(AA-AD.50- ҠBMGŠADDSSHD. DBAŠSԠUPUN. SBAñ SSSKPHAҠAŠNYPN. AñNP SAADDɠSŠNAŠBU. SZADDNMNԠADDSS SZNԠANDUN. MPAñɠS̠MUN DAASUBԠAPAUND SAADDSԠPNS DAN SAN MPAñɠUN SUBҠBSS00 ASUBԠDƠSUB ADDDƠSUB NԠABSSUB-ASUB NABSSUB-ASUB ASVBSS BSVBSS AD.50DƠD.50 HDAS. UNS ND  9@ 24382-18001 1412 S 0122 DOS-III DRVR. F. LINE PRINTER ON 2000C/F-DVR 12             H0101  ASMBҬ̬ìԬB NAMDVұ DVұMSADSMDUŠHHAUSҠ NVKŠHҠBYANàSUB.A̠ҠBY ANSŠMMANDϠPMANUPUԠPAN NHŠN-PNҠAAHDϠH MMUNANMPUҠ(éƠA000-SBHADA NGUAN.ϠHŠUSҠԠ̠APPAҠAS HŠN-PNҠSAAHDϠHŠSYSM MPU. HŠPGAM̠MMUNAŠVAH NNNԠNKHHŠPGAM"P"N HŠMMUNANMPUҠHHNUN ̠SSUŠ..ASϠHŠAPPPAŠBS P-DV. NNNԠUPUԠMSSAGŠMAԠ(SàϠé: D0-MSSAGŠNGH D+MSSAGŠNGH DN̠D(Ҡ..AS D3BUҠNGH <0:HAAS 0:DS. D- +NBUҠDAA(SNGϠBŠPND MSSAGŠNGHNUMBҠƠDSNG D. BUҠNGHANDBUҠDAAAŠPSN ҠŠPANSNY. NNNԠNKNPUԠMSSAGSMAԠ(àϠSé: SAMŠASUPUԠP: DSPSAUS. D3SANSMSSNGANDPSNԠ APVUSŠNY. SKP NA: VADASHŠUS'SPAAMSMAS AMSSAGŠADYϠSNDNASADAND ŠϠNNN. HSSNSADBYHŠDSɯϠNA AҠAA̠ϠàHASPDUDAMMY PԠ. NNUA: UPUSMSSAGŠϠMMUNANMPUҬ HŠPYSNPUԠANDVADAD ANDHŠSAUSSUPDAD. HŠAŠϠԠPNSMHŠNNUA SB. DƠMPNADD. DƠNNUANADD. S: NAҠ-N: (A-G0NAҠK. GA̠ADŠUS. GA̠N̠US. 3DVҠADHŠS̠BUSY. NNUAҠNԠϠDSMPN: (B-GANSMSSNG. (A-G0ANSҠK DVŠMAUNNNԠADY. ANYҠDDNHŠNNN(NVAD DAAҠBADNUPԩSUSNSAUSBԠ0 BNGSԠANDHŠA-GBNGSԠϠ. SKP NԠ.. .-NAҠ .NPNYPN DBԴɠGԠԠSAUS. DAD3 SSBSSSDVŠBUSY? MPNBSYNϬNNU. DB9ɠYSHKҠAҠUS. PBD3 ASSAAҠUS. MPNDNԠAA.Ԡ-DŠ3. NBSYNPNԠBUSYҠBUSYϠBŠAD. SBƱVADAŠUSԠD. SZADDŠAGAN? MPNDYSԠ-DŠ. SBƲVADAŠN̠D. SZADDŠAGAN? MPNDYSԠ-DŠҠ. SBƴMAԠMSSAGŠϠ. DAD0GԠDZ. AHSND. A SANԱNAZŠSHSԠND SàHàNAŠNPUԠANDUPU SàHàMSSAGS. NDMP.ɠUNϠDS SKP .-NNUAҠ .NPNYPN PAԱ0NPUԠҠUPU?A-GHAS MPNSԠDŠNNY. PSSUPUԠNUP DANԱGԠSHSԠND. ADASԠADDBASŠADD.ƠSHS. DAAɠGԠAB. MPAɠGϠH. SHS: SԠDƠ+ DƠƱSNDD DƠƲSNDD DƠ3SNDD3 DƠƴSNDDHUSԠƠMSSAG UPUԠD ƱDADGԠMSSAGŠNGH. SZÊVNԱBUMPSHSԠND. MP5GϠSND. UPUԠD ƲDADGԠN̠D. SZNԱBUMPSHSԠND. MP5GϠSND. UPUԠD3 3SZD0SHŠAD3? SSYS. MP6NϬSAԠNPU. DAàN̠BY? SZA MP3AYS. DAԱ0ɠNϬGԠBUҠADD. SA.PҠSAVŠ. 3ADAD3GԠBUҠNGH. SZNԱBUMPSHSԠND. MP5SNDBUҠNGH. SKP UPUԠSԠƠMSSAG (..HŠBUҠϠBŠPNDҠUSDAS NDDAAGŠN̩ ƴSZD0ANSҠMP? SSN MP6YSSAԠNPU. DAàN̠BY? SZASS MPƴנNϬBNADŠ. DADYSSԠPAAM. MP5SND. ƴנDA.PҬɠGԠNԠDƠBU. SZ.PҠBUMPBUҠPN. UPUԠMMANDS 5AHSNDNԠDϠ. SàHàSAԠHŠHANN. NDAŠNNUANϠDS NԠSZ.PNԠϠNNUANADD.P+ MP.ɠUN UPUԠMPŬGԠADYϠVŠNPU 6àHDSABŠNUPSMUPU AHANN. SANԱNAZŠSHSԠND. MPNԠUN. SKP PSSNPUԠNUP NDANԱGԠSHSԠND. ADASԠADDBASŠADD.ƠSHS. DAAɠGԠAB. SBAɠGϠH. SHS SԠDƠ+ DƠұNPUԠDZϠ(-MSS.NGH DƠҲNPUԠDNŠ(+MSS.NGH DƠ3NPUԠDϠ(SAUS DƠҴNPUԠDHŠ(ANS.G NVADMSS0AGŠMN NDAŠANSMSSN ҠANASԠBԠZϠNSAUSD SADNDAŠUNԠNԠADY. A SAD3SԠANSMSSNGZ. MPN NDDADGԠSAUSM. AND3SAUSDNY. SAB DAѠGԠUSԠD. PADòŠPMD? MPSAԠYSGϠؠSAUS. DAԱ0ɠGԠN̠USԠPAAM. ANDԷPƠM? PAԷ MPƠYSGϠSԠBԠ6. DAԱ0ɠGԠN̠USԠPAAM. SSASSPAGŠ? MPSAԠN. ƠDABYSUNNBԠ6(ƠAG. ҠBMASK SAB SAԠDAԴɠGԠPVUSSAUS. NP ANDԷKPDPA. ҠBMGŠNנSAUS. SAԴɠUKԠBAKNϠ. DADGԠSAUSAGAN. ANDMASKKAԠҠBS:. SZA? ANAYSSԠUNDŠ SàHàSNDMPNSGNA̠Ϡ. DBDM6MAKŠSUŠàSS! SZB MP- àHDSABŠNUPSNBH àHɯϠHANNS. DBD3GԠANSMSSNGҠUN. MP.ɠUNϠDSMPN. SKP UNŠƱ VADAŠHŠUS'SUSԠD. ԠMUSԠB:-. 3-N. N:(ѩUSԠDŠNBS5-0. (A-G0VADUS. (A-GNVADUS. b ƱNPNY DA9ɠGԠN̠D ANDԷGԠUSԠD. SABHDNϠ. ADADMSԠAŠUS? SZASS MPSAVŠYSSAVŠ. ADADMNϬSԠAN̠US? SZA MPƱYNϬNDAŠ. SAVŠSBѠSԠUSԠDŠ. ASSVADUSԠDŬ(A0. ƱYANANVADUSԠDŬ(A. MPƱɠUNϠPNԠƠA. SKP UNŠƲ VADAŠHŠUSSN̠DAND AAGŠN̠PAAM. N̠DMAԠҠŠUS: BS5-0:USԠDŠ BԠ6:BNAYMDŠ(GA̩ BԠ:SNGŠSPAŠ BS5-:DN'ԠAŠ N̠DMAԠҠN̠US: BS5-0:USԠDŠ BS-6:UNNDŬ 0AҠ 6DYNAMàSAUS BNŠSPANGPAAMPSNԠ BS5-3:DN'ԠAŠ PAAMҠҠAAGŠN: SŠDS-ɠMANUA̠-NŠPNҠMANG MUSԠBŠ<63(DMA̩. N:(NDN̠DHUԠ USԠD. (A-G0VADN̠D.\ NVADN̠D Ҡ. NVADN̠D ҠN. DYNAMàSAUS. ƲNPNY. DA9ɠGԠN̠D. DBѠGԠUSԠD. ANDԱMASKƠBS5-0. SANDSAVŠ. PBD3N̠US? MPƲàYSGϠHKUNND. DANDNϬŠ.GԠND. ANDBMASKSBNAYBԠS? SZA ANAYSUNҠNDAN. MPƲɠNϬUNPANNAD. PSSUNNDŠҠN̠US. ƲàDBNDGԠN̠D. BƬBƠSHԠGHԠ6. B̬B PBZϠAAҠUS? MPƲYYSUN. PBԱNϬUPUԠNŠSPANG? MPƲSYS PBD6N.DYNAMàSAUS? SSYS MPƲؠNϬUNҠNDAN. DADôSԠDYNAMàSAUSNDAN. MPƲɠUN. HKSԠUPUԠNŠSPANGPAAM ƲSASԠҠDŠA. DBԱ0ɠGԠHŠPAAM. ADBDM6SԠ<63? SSBSS ƲؠDADòSԠGA̠N̠USԾ SS ƲYASԠPANNAD. MPƲɠUN. SKP UNŠƴ SԠD0(-MSSAGŠNGH D(+MSSAGŠNGH D(..N̠DHUԠU D3(BUҠNGH-ŠUSԠNY D(BUҠҠN̠USԠ PMDBYŠH NDDAAGŠN̩ à(AGϠNDAŠN̠ BYŠHé MSSAGŠNGH ҠN̠USԠ +(BUҠNGHҠŠUSԠ 3ҠN̠USSUNG NDDAAGŠN̠NBS (..AŠUSԠHBUҠ NGH ƴNP DAԱɠGԠUSҠBUҠNGH. SAD3SAVŠԠASD3ƠMSSAG. SSASSSԠGVNASHAAS MPƴנDS MANAMAKŠHAAҠNGHPSV. ŬADVDŠBYҠDNGH. SZDDNUMBҠƠHAAS? NAYSADDNŠϠDUN ƴנSANSAVŠBUҠNGHNDS. DAѠGԠUSԠD. PAD3SԠAN̠US? MPƴàYS MBSŠUSԠN̠D DANDGԠN̠D ANDSMASKBԠS?SNGŠSPA. SZA MPƴBYS SBPGNϬSSYS.PGMAKNGUS? MPƴBYS HKҠSPA̠HAAҠASSԠNBU BANK0 DBԱ0ɠGԠBUҠADD. DABɠGԠSԠDƠBU. ANDԷSAŠUPPҠBY. PAUBNKSԠHAAҠBANK? MPƴƠYS PAUZϠNϬSԠHAAҠZ? MPƴƠYS PAUNŠNϬSԠHAAҠNŠ? MPƴƠYS PAUSAҠNϬ4SԠHAAҠ? MPƴƠYS DABɠBUҠHASNϠSPA̠HAA AND3ASS.PAŠHAS ҠUGHԠGH. SAB N̠DҠ..A: . SԠHAAҠƠBUҠSAAGŠN. SԠHAAҠƠBUҠSNԠPND. ƴƠDAB00000 SAD MPƴD N̠DҠ..A: . SNGŠSPA. AUϠPAGŠ. SԠDƠBUҠSPND. ƴBDAB06000 SAD GԠMSSAGŠNGH ƴDDBNGԠBUҠNGH. ADBDòADD(ҠDANDD3. SBDSԠ+MSSAGŠNGH. MPƴҠGϠSԠ-MSSAGŠNGHUN. MBSN̠USԠN̠D. ƴàDANDGԠN̠D. SZAAAҠUS? SSN. MPƴàYS. PSSUPUԠNŠSPANGUS DAԱ0ɠGԠPAAM. SSASԠNGAV? DAԷYSMAKŠԠBPAGŠ. SABN ADBM0SԠ<6B? SSB MPƴ̠YSGϠŠHNDD. N̠DҠ..A: N. NŠƠGHԠSANDADUSSҠN. ANDD÷KPUNSDG. AƠSHԠԠ6. A̬A DBB036000GԠBASàD. ADBAMAKŠԠMP. SBDSAVŠԠҠMSSAGŠϠ. ƴZBNBSԠ+MSSAGŠNGHԠNSSS SBDƠAN̠DNY. MPƴҠSԠ-MSSAGŠNGHUN. AҠUS ƴàDBB030000GԠAҠUS. SBDSԠԠNϠMSSAG. MPƴZUN. N̠DҠ..A: . NDDAAGŠN. SPAŠƠNSSPDBYHŠSNG DNBU. ƴ̠SAD2SԠDAS.A.N. DADñSԠD3ASBUҠNGH SAD3NŠD. DAB0000 SADSԠN̠D. DBD3SԠ+MSSAGŠNGHԠNSSS SBDƠN̠D-DBU ANASԠN̠BYŠAG. SA SԠNGAVŠMSSAGŠNGHANDUN. ƴҠMBNBMAKŠMSSAGŠNGHNGAV. SBD0SԠD0. MPƴɠUN. SKP UNŠұ NPUԠD0ƠAMSSAGŬHKNG HAԠ'SNGAVŬNAŠANH NPUԬԠϠN. ұNPNY. AHNPUԠD. SAD0SԠD0. SSASSSԠNGAV? MPҠNϬNDAŠҠNANS. SZNԱBUMPSHSԠND. SàHàNABŠNPUԠNUP. MPNԠԠϠDSNNUAN. SKP UNŠҲ NPUԠDƠAMSSAGŬHKNG HAԠ'SHŠNGAVŠƠD0. NAŠNPUԠƠANH. ҲNPNY. AHNPUԠD. SADSԠD. ADAD0SԠUA̠ϠNG.(D0? SZA MPҠNϬNDAŠҠNANS. SZNԱBUMPSHSԠND. SàHàNABŠNPUԠNUP. MPNԠԠϠDSNNUAN. SKP UNŠ3 NPUԠDƠMSSAGŬPSAUS NAŠNPUԠƠANHҠƠA ANSMSSNGSPD. 3NPNY. AHNPUԠD. SADSԠDSAUS. SZD0ANSҠMP? SSN MP3AYSԠϠMPN. DAѠGԠGNA̠USԠD. PAD3ASԠAN̠US? MPàHKҠN̠BY. N̠SZNԱBUMPSHSԠND. SàHàNABŠNPUԠNUP. MPNԠNNU. àDAàGԠN̠BYŠAG. SZASSSԠS? MPҠNϬMSS.N.BADҠN̠. MPN̠YS. 3AA SAD3SԠANSMSSNG. SAàSԠN̠BYŠAG. MPNDԠϠMPN. SKP UNŠҴ NPUԠD3ƠAMSSAGŬANSMSSNG HKHAԠ'SASԠDƠMSSAG. ҴNPNY. AHNPUԠD. SAD3SԠD3ANS.G SZD0ANSҠMP? MPҠNϬ. AAҠN̠BY. SA MPNDYSԠϠMPN. SKP UNŠPG HKҠSYSMPGAMUNNNG: AD ASMB N N AG BP PGNPNY DBSYSPҠGԠADDҠƠSYSPҠABŠƠNAMS MPҠDABɠGԠSԠϠHAASƠNAM PAPGMPAŠϠSԠϠƠPG.UN DAPG+GԠNԠHAASƠPG. NBMPAŠϠNԠHAAS PABɠƠPGNABŠSYSP. DAPG+GԠASԠHAAҠƠUNNNG ANDԷPGAM. ҠBANK NBMPAŠϠASԠHAAҠ PABɠPGNAMŠϠSYSP. MPPGɠAMAHUNP+. NB PBNA̠DN? SSYS MPMPҠNϬYAGAN SZPGNϠMAH MPPGɠUNP+ SYSMPGAMABŠ SYSPҠDƠ+ ASà3AD ASà3BP ASà3ASMB ASà3N ASà3 N ASà3AG NA̠DƠ SKP BAS-PAGŠNSANSANDVAABS HU0BɯàNPUԠHANN. HUBɯàUPUԠHANN. DM6U0BDà-6 DMU5BDà- DMU5BDà- ZϠU53BZ DñU5BDà DòU55BDà D3U56BDà3 DôU5BDà D6U6BDà6 D÷U6BDà ԷUBԠ 3UBԠ3 ԷU5BԠ00 ԱUBԠ00 PGUBD.NYUNԠPG. UPMNԠAB ԱU03BADDҠƠ.N.. ԴUԱ+3SAUS. 9UԱ+N̠DUSԠD. Ա0UԱ+9BUƠADDүAҠNPAM. ԱUԱ+0BUƠNGH. AU0ADD.ƠAGS. BUADD.ƠBGS. SKP A̠NSANSANDVAABS BUƠBSS5SԠ5DSƠMSSAG. D0UBU DUBU+ DUBU+ D3UBU+3 DUBU+SԠDƠBU. .PҠNPBUҠPN. NԱNPSHSԠND. NNPBUҠNGHNDS ѠNPUSԠD. NDNPN̠D. àNPN̠PMDBYND.A.N. MASKԠ000BSAND. BMASKԠ00BԠ6. SMASKԠ00BԠ. M0Ԡ-0 ԱԠ Ա0Ԡ0 BANKԠ0ASɠBANKҠBY. UBNKԠ0000ASɠBANKUPPҠBY. UZϠԠ30000ASɠZϬUPPҠBY. UNŠԠ3000ASɠNŬUPPҠBY. USAҠԠ5000ASɠASSKUPPҠBY. UGHԠԠ3000ASɠGHԬUPPҠBY. ND. ߸HFBBH :K 24382-18002 1412 S 0122 DOS-III DRVR. F. LINE PRINTER ON 2000C/F-FLP             H0101 ή ASMBҬ̬ìB NAMP P-PANGUNDҠBSNHŠMMUNAN MPUҠ(éMMUNASHDVұ UNNNGUNDҠDSNHŠSYSMMPUҠ(Sé. NASHABSNŠPNҠDV. NNNԠNPUԠMSSAGŠMAԠ(SàϠé: D0-MSSAGŠNGH. D+MSSAGŠNGH. DN̠D(Ҡ..AS D3BUҠNGH<0:HAAS 0:DS.(ŠNY D- +NBUҠDAA(SNGϠBŠPND. MSSAGŠNGHSHŠNUMBҠƠDS NGD. BUҠDAABUҠNGHAŠPSNԠ ŠPANSNY. NNNԠUPUԠMSSAGŠMAԠ(àϠSé: SMAҠϠNPUԠMSSAGŠMAԠPԠDS NŠPNҠSAUSD3SHŠANSMSSN G. HŠNNNԠNKSUNHUԠNUPԻ ..AԠҠAG. S: AHPANNHŠNNNԠNKS GVNABUԠ5S.ϠMPŠAԠSK BNGDADDN. ƠԠSHŠNPUԠNŬAMSSAGŠSSNԠ DVұNMNGԠƠHŠҠANDHNHAS0B. ҠHŠUPUԠNŬHAԠBUSMMDAY. NŠPNҠSMMUNADBYSAUSD. A̠MSSAGSVADADNDVұSϠANYNVAD HHSNPUԠSNPDASƠH NNNԠSAԠAU. SKP Ԡ.. NԠP PNPNY. P0SB..SSUŠAҠ.ϠP. Ԡ0000 Ơ0DSABŠNUPS. NAŠADANDNҠAԠP P0SàHàNAŠADMNPUԠHANN DA.MSGԠPNҠϠMSSAGŠBU. SA.PҠSԠPNҠϠMSSAGŠBU. SSHDAAHŠY? MP-NϬKAGAN. SYSMMPUҠ(SéHASBGUNUԠPUNGAMSSAG AHNPUԠD0. WSAD0SԠD0. NPUԠDHNMŠAD. SàHàNAŠAD. SBSNM-U? AHNϬGԠD. SADSԠD. SàHàNAŠNPUԠƠANHҠD. VADAŠSԠϠDSSN. DAD0GԠD0(-MSS.NGH. SSASSSԠNGAV? SBNҠNϬGϠϠҠUN. ADADADD+MSSAGŠNGH. SZAAŠHYNGAVS? SBNҠNϬGϠϠҠUN NPUԠSԠƠMSSAG P30SBSNM-U? AHNϬNPUԠNԠD. SàHàNAŠANHҠNPU. SA.PҬɠSԠDUSԠNPU. SZ.PҠBUMPBUҠPN. SZD0ANSҠMP? MPP30NϬADANH. PSSMSSAG àHDSABŠNPUԠN. SBVA̠VADAŠHŠMSSAG. SZADDŠAGAN? SBNҠYSGϠϠҠUN. SKP S-UPANDMAKŠ..AS SƠ0NABŠNUPS. DBDGԠN̠D ADBPUADDPGA̠UN. DADGԠUSԠD. PAD3SԠN̠US? MPP0YS MAKŠAŠUS SBұSԠN̠D. DAD3GԠDBUҠNGH. SANGSԠDBUҠNGH. SB..A̠.. ұNP MPMҠԠADD. DƠBUƠBUҠADDSS. NGNPBUҠNGH. MPP50GϠHKSAUS. MAKŠAN̠US. P0SBҲSԠN̠D. SB..A̠.. ҲNPN̠D MPMҠԠADD SAUSP P50ASԠUPUNԠϠ>GV SANԱABUԠ30SNDA. DADM0 SANԲ P60SB..GԠSAUS Ԡ000 SSASSBUSYBԠS? MPP0NϬN SZNԱYSSԠUNԠHAUSD? MPP60NϬKAGAN. SZNԲYSSNDUNԠHAUSD? MPP60NϬKAGAN. SKP NSH MҠSB..GԠSAUS Ԡ000 SUSSU P0SADSԠSAUSNMSSAG. SBD3SԠANSMSSNGNMSSAG. MAԠUPUԠMSSAGŠϠS BNBSԠMSSAGŠNGHϠ. DADGԠUSԠD. PAD3ASAN̠.PMD? SSYS NBNϬAŬMSS.N. SBDSԠMSSAGŠNGH. MBNBMAKŠNGAV. SBD0SԠ-MSSAGŠNGH. UPUԠHŠMSSAGŠϠS. Ơ0DSABŠNUPS DAD0GԠD0(-MSS.N. AHUPU SàHàSAԠHŠHANN. SBSԠMU? DADNϬGԠD.(+MSS.N.. AHUPU SàHàSAԠHŠHANN. SBSԠMU? DADGԠD(SAUS. AHUPU. SàHàSAԠHŠHANN. SBSԠMU? SZD0NϬANSMSSNMP? SSN MPP0YS DAD3GԠD3(AN.G. AHUPU SàHàSAԠHŠHANN. SBSԠMU? MSSAGŠMPŠϠSìUNϠAԠҠNPU. P0àHDSABŠUPUԠN. MPP0UNϠNPUԠAԠP. SKP UNŠSN NPUԠMNGP SNNPNY DADM5 |^SANԲSԠUPUNS AҠPƠAPP SANԱ5SNDS. SԱSàHDAAVD? MPSNɠYSUN. SZNԱSԠUNԠHAUSD? MPSԱN SZNԲSNDUNԠHAUSD? MPSԱN SBNҠYSDAŠNPUԠNŠDN. UNŠSԠ UPUԠMNGP SԠNPNY DADM5 SANԲSԠUPUNS AҠPƠAPP. SANԱ5SNDS. SԲSàHDAASN? MPSԬɠYSUN. SZNԱSԠUNԠHAUSD? MPSԲNϬYAGAN. SZNԲSNDUNԠHAUSD? MPSԲNϬYAGAN. SBҠYSDAŠUPUԠNŠDN. UNŠNҠ NPUԠNŠ NҠNPNY. àHDSABŠNUPSNNPU. ANA SAD0MAKŠD0PSV. AHUPUԠԠASҠMSSAG. SàHàSAԠHŠHANN. SBSԠMU? HԠ0BHAԠ0. MPP0SA. UNŠҠ UPUԠNŠ ҠNPNY àHDSABŠUPUԠN HԠBHAԠ. MPP0SA. SKP UNŠVA̠ VADAŠDƠHŠMSSAGŠMS. USԠDŠ(BS-:ҠŠ 3ҠN̠ SUBUNN(BS-6:00B 0BҠŠ 60B 60-6BҠN̠ N:(A-G0VAD NVAD (DUSԠDŠ VA̠NPNY. DADGԠN̠D. A ANDBSAŠUSԠD. SADSAVŠ. DADGԠN̠D. AƬA A̬A ANDBSAŠSUBUNN. SAUNàSAVŠ. VAUAŠUSԠD DADGԠUSԠD. PADòSԠA? MPVA̱YSHKŠSUBUNN. PAD3NϬSԠAN SSYSHKN̠SUBUNN. MPVAؠNHҬNDAŠ. PSSN̠SUBUNN DADGԠMSSAGŠNGH. PADñSԠN? SSYS MPVAؠNϬNDAŠ. DBUNàGԠSUBUNN. SZBAAҠUS? MPVA5N. DADYSSPUSԠD. ANDMASK SAD MPVAYUN. VA5DAB ANDSUNSAŠSUBUNNBS5-3. PASUN6BS5-36? MPVAYYSK. MPVAؠNϬNDAŠ. PSSŠSUBUNN MSSAGŠNGH. VA̱DADGԠMSSAGŠNGH. ADADM? SSA MPVAؠNϬNDAŠ. DAD3GԠBUҠNGH. SSASSBUҠNGHNHAAS? MPVA̲N MANAYSNVԠϠDNGH ŬA SZDDNUMBҠƠHAAS? NAYSADDNŠϠAMDA. VA̲SAVAàSAVŠDUN. ADADò PAD?*$"MSS.N.BU.N.+? SSYSNNUŠHKHUN. MPVAؠNϬNDAŠ. DAUNàGԠSUBUNN. SZASԠZϠҠ0B? PASUN MPVAYYS.ԠVA. PASUN6NϬSԠ60B? MPVAYYS MPVAؠNϬNDAŠ. ԠMVA VAؠANASSҠUN. VAYA MPVA̬ SKP NSANSVAABSANDBUS DñDà DòDà D3Dà3 DMDà- DM0Dà-0 DM5Dà-5 BԠ BԠ SUNԠ0 SUN6Ԡ60 SUNԠ0 PUԠ0000NŠPNҠGA̠UN. MASKԠ0000USԠDŠBS. HU0BɯàNPUԠHANN. HUBɯàUPUԠHANN. AU0ADDҠƠA-G. BUADDҠƠB-G. .PҠNPBUҠPN. NԱNPPUN. NԲNPPUN. UNàNPSUBUNN. DNPUSԠD. VAàNPBUҠNGHNDS. MSSBSS50MSSAGŠBU. D0UMSSD0(-MSS.N. DUMSS+D(+MSS.N. DUMSS+D(N̯SAUS D3UMSS+3D3(BUҠN.ANS.G BUƠUMSS+BUҠϠBŠPND. .MSDƠDADD.ƠSԠDƠMSSAG. NDP X$ ; F 24382-18003 1412 S 0122 DOS-III DRVR. F. LINE PRINTER ON 2000C/F-BOOT             H0101  ASMBAB G òUBNNNԠHANN PҠU3BPH-AD PU SàPҬàAנPҠNPU SSPҠAMŠNPUԠY? MP-NϬHKAGAN APҠGԠAD SSòàADYϠAP? MP-NԠYԬHKAGAN AòUPUԠHŠD SàòàSAԠHŠɯàHANN MPPKҠNԠAM ND  <B 24386-18001 1451 S 0122 01ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :ϠNPNSAANBAHAP : :ϠNDҠϠMPŠHSPDUŠYUMUSԠHAV :ϠHŠNGSAŠAVAABŠNYUҠDS. : :ϠSAABŠŠNANNGS :ϠANDBUҠMANAGҠ(NϠSBUYSUBUNS :ϠNAMDS :ϠMAGŠAABŠŠNANNGH :ϠDAA-BASŠMANAGMNԠSUBUNS :Ϡ(DBPNDBGԬDBPUԬ. :ϠNAMDDBMS :ϠSNG :ϠAHM :ϠPAKAGŠAABŠŠNANGHŠSUBUNS :ϠSMVŬSDԬSPUԬSGԬ. :ϠNAMDSAMP : :ϠNADDNYUMUSԠHAVŠADANDNAZDH :ϠDAA-BASŠűB.ƠűBHASNԠBNADHŠ :Ϡ$$BNANSASHMAHAԠMAYBŠUSDϠAŠ. :Ϡ(ԠŠNGHS5SS : :ϠƠYUAADYHAVŠSNAMD$$BҠ$$DBNHSDS :PAHY̠BŠPUGD.YPŠ":G"ϠNNU :PU$$B$$DB :P :SԬS$$B $N̠SԬԬABŻ BGNDAABASŠűB VS: MS: USDU< J 24386-18003 1451 S 0122 03ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMV à à àHŠVPGAMSUSDϠSŠHŠUSMҠD àS àBҠHDSBҠNGAP àBҠNPUԠBUҠҠGAPŠDS àBҠBUҠҠMUNԠMNUMBSUNDM àADBNƠA à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à DMNSNB( DMNSNB( DMNSNKB( DMNSNB(00 DMNSNS( DMNSNSA( DMNSNPAM(5 DMNSNGB(0G(0 DMNSNBAS(3V(3DS(3 DMNSNKBAS(3KV(3 DMNSNMSG( DMNSNMS( DMNSNMSGDB( DMNSNMSGB( DMNSNKMP( DMNSNKB(3KDM(3KUSM(3KDD(3KUSD(3 DMNSNKBNK(3 DMNSNB( DMNSNA( DMNSNU(3 DMNSNMSG(6 DMNSNNDD(3 DMNSNNUSD(3 NGҠM NGҠNB( GA̠US GA̠D DAANB DAANDDHҬHDHD DAANUSDHUHSԬHD DAAMSGHSHϬHMHҬHϬHҠ DAAKBNKHHH DAAKBASůHŬHDHB DAAKSD5666 DAABASůHŬHԬHB DAASD DAAMSGH?BHҬHDHAԬHŠ HNHVAHɬHDHDAHŬ HBìHҠHNϬHԠHNHϬHGHAHPŬ HNHVAHɬHDHAHBŬH̠ HNHVAHɬHDHŬH̬H HDAHŬHSHNϬHԠHѬHUAH̠ HBìHҠHDAHŬHHHHH HMUHԬHPHŬHŬH̬HS?H(YHSH0HҠ HNϬH HXNUHɬHNVHA̬HD HSŬHɬHA̬HNHϠHNϬHԠHѬHUAH̠ HŬH̬HϬHUԬHϬHƠHSŬHUHNHŬ HHHŬHϬHVŬHYHHHϬHʠ HH HNHVAHɬHDHɬHŬHìHDHŠ DAAMSGDBHDAHAHBHASHŠHҬHϬHҠHHH DAAMSGBïHBìHҠHNϬHԠHϬHUNHD DAAKBүHԬH̬HҠ DAAKDMHҬHDMHSԯ DAAKDDHҬHDŬHԠ DAAKUSMHUHSԬHM DAAKUSDHUHSԬHD à àNAZAN àSԠҠGAPŠUN A̠MPA(PAM à àVYHAԠDAABASŠűDBSAN à 5A̠(PNSԬNBSAԩ Ơ(SA..0GϠ0 A̠ұ(SAԩ GϠ5 0NNU A̠VADB(KBASŬUNKBҩ à ASSGN0ϠN ASSGN90Ϡ DD0B àKNGHƠAB AB̽6B US.AS. D.AS. à àHŠNGMSAŠHŠDNGHS Bý66 M5 D39 M3 D5 NM0 ND0 NM0 ND0 à à Ơ(PAM(..0PAM(6 UPAM( Ơ(PAM..0GϠ00 à àADAPŠAB àAB̠MA àDS-3űG àDS-6APŠSA̠ àDS̠ à A̠(PAMGBƬAB̩ A̠MV(GBƬKBҬAB̩ Ơ(GB(.N.HũGϠ05 Ơ(GB(.N.H̩GϠ05 Ơ(GB(3.N.HGGϠ05 à àSԠҠ̠ Ơ(GB(.N.H0GϠ0 à àVYNԠDSHŠB A̠(PAMBҬ A̠(3PAMSAԬNUM Ơ(B.N.HBéGϠ5 A̠MV(BҬBҬNUM à àPMPԠҠDA à 0A̠(DDMSG5 A̠(DDA̬ à àNVԠϠUANDA A̠(A̬U̬SAԩ Ơ(SA..0GϠ0 à àNVADDAŠSPNS A̠(DDMSG(66 GϠ0 à àMPAŠDAS à 0ҽ0 Ơ(SM(B(5U̬ҩ..0GϠ50 à àSPNSŠBҠDASNԠUA 5MAԠ("DASNԠUA̠BҠDAŠ" Š(5 A̠(DDB( GϠ0 à àUSMҠDҠNSűGNAD? à 50ҽ0 Ơ(SM(B(6KBNKҩ..0GϠ60 US.U. 60ҽ0 Ơ(SM(B(6KBNKҩ..0GϠ65 D.U. à àPNSŠűBDAABAS à 65UN(0 A̠DBPN(BASŬV̬SD3SAԩ Ơ(SA.N.0GϠ5 A̠DBS(0SAԩ Ơ(SA.N.0GϠ5 à à àPNűDBDAABAS UN(0 A̠DBPN(KBASŬKV̬KSD3SAԩ à à àGAPŠPSSҠ à à àHK à àHKŠD 0A̠(PAMBҬ A̠(3PAMSAԬNUM Ơ(M(SAԬ0B.N.0GϠ900 Ơ(B..HMGϠ00 Ơ(B..HDGϠ300 Ơ(B..HMGϠ500 Ơ(B..HDGϠ00 Ơ(B.N.HBéGϠ0 àNVADDD A̠MV(BҬBҬ69 GϠ955 à à àUSMҠMASҠ à à à àGԠDSNUMB 00A̠DBN(HS5KUSMBҩ SAԽB Ơ(SA.N.0GϠ5 à àGԠDAA-MUNԠDAA-MNUMBS A̠DBN(HɠB(Bҩ SAԽB Ơ(SA.N.0GϠ5 à àHANGŠSGNƠDAA-MNUMBS DϠ0ɽ3B(+ 0B(ɩABS(B(ɩ à àDNŠ? A̠DBG(KUSMSAԬKBҬB( Ơ(SA..0GϠ60 Ơ(SA.N.0GϠ5 à àMNAŠSAHMVAU 3B(B(- DϠ0ɽ3B(+ 0B(ɩB(+ à àUPDAŠD A̠DBUPD(KUSMSAԬB(B(5KBҩ Ơ(SA.N.0GϠ5 GϠ00 à àŠNנD 60A̠DBPU(KUSMSAԬB(B(KBҩ Ơ(SA.N.0GϠ5 à àNMNԠBҠUSMҠ? à 00ҽ0 Ơ(SM(B(6B(ҩ..0GϠ0 Ơ(.N.0GϠ0 à àB(HDSHŠHGHSԠUSMҠNUMBҠNMASҩPSSDN àHŠUNԠGAP àUPDAŠBS A̠MV(B(B(3 0NMNM+ GϠN à à àUSMҠDA̠ à à à àGԠDAASԠNUMB 300A̠DBN(HS5KUSDBҩ SAԽB Ơ(SA.N.0GϠ5 à àGԠMUNԠNUMBS A̠DBN(HɠB(Bҩ SAԽB Ơ(SA.N.0GϠ5 à àMAKŠMNUMBSPSV DϠ30ɽ3B(+ 30B(ɩABS(B(ɩ A̠DBND(SAԬKUSDNUSDB( Ơ(SA.N.0GϠ5 GHSA(3 Ơ(GH..GϠ360 à àDNŠ? 330A̠DBG(KUSDSAԬKBҬB( Ơ(SA..0GϠ360 Ơ(SA.N.0GϠ5 à àSԠҠUA̠DҠNUMB ҽ0 Ơ(SM(B(56KB(ҩ..0GϠ335 GHGH- Ơ(GH..360330 à àMNAŠSAHMVAU 335B(B(- DϠ30ɽ3B(+ 30B(ɩB(+ à àUPDAŠD A̠DBUPD(KUSDSAԬB(B(5KBҩ Ơ(SA.N.0GϠ5 GϠ00 à àŠNנD 360A̠DBPU(KUSDSAԬB(B(KBҩ Ơ(SA.N.0GϠ5 00NDND+ GϠN à à àDҠMASҠ à à à àGԠDAASԠNUMB v500A̠DBN(HS5KDMBҩ SAԽB Ơ(SA.N.0GϠ5 à àGԠMUNԠNUMBS A̠DBN(HɠB(Bҩ SAԽB Ơ(SA.N.0GϠ5 à àMAKŠMNUMBSPSV DϠ50ɽ3B(+ 50B(ɩABS(B(ɩ à àDNŠ? A̠DBG(KDMSAԬKBҬB( Ơ(SA..0GϠ560 Ơ(SA.N.0GϠ5 à àMNAŠSAHMVAU B(B(- DϠ50ɽ3B(+ 50B(ɩB(+ à àUPDAŠD A̠DBUPD(KDMSAԬB(B(5KBҩ Ơ(SA.N.0GϠ5 GϠ600 à àŠNנD 560A̠DBPU(KDMSAԬB(B(KBҩ Ơ(SA.N.0GϠ5 à àNMNԠBҠDҠ? 600ҽ0 Ơ(SM(B(6B(ҩ..0GϠ60 Ơ(.N.0GϠ0 à à àB(HDSHŠHGHSԠDҠNUMBҠ(MASҩPSSD àNHŠUNԠGAP àUPDAŠBD A̠MV(B(B(3 60NMNM+ GϠN à à àDҠDA̠ à à à àGԠDAASԠNUMB 00A̠DBN(HS5KDDBҩ SAԽB Ơ(SA.N.0GϠ5 à àGԠMUNԠNUMBS A̠DBN(HɠB(Bҩ SAԽB Ơ(SA.N.0GϠ5 à àMAKŠMNUMBSPSV DϠ0ɽ3B(+ 0B(ɩABS(B(ɩ A̠DBND(SAԬKDDNDDB( Ơ(SA.N.0GϠ5 GHSA(3 Ơ(GH..GϠ0 à àDNŠ? 0A̠DBG(KDDSAԬKBҬB( Ơ(SA.N.0GϠ5 à àSԠҠUA̠NŠNUMBS ҽ0 Ơ(SM(B(6KB(ҩ..0GϠ50 GHGH- Ơ(GH..00 à àMNAŠSAHMVAU 50B(B(- ` DϠ60ɽ3B(+ 60B(ɩB(+ à àUPDAŠD A̠DBUPD(KDDSAԬB(B(5KBҩ Ơ(SA.N.0GϠ5 GϠ90 à àNנD 0A̠DBPU(KDDSAԬB(B(KBҩ Ơ(SA.N.0GϠ5 90NDND+ GϠN à à àҠPSSҠ à à àNVADAPŠUN 00A̠(DDMSG(655 GϠ à àNVADAB à 05A̠(DDMSG( A̠(DDKBҬAB̩ GϠ à àNVAD̠ à 0A̠(DDMSG( GϠ à àBҠMSSNG à 5A̠(DDMSG(9 GϠ à àNVADŠD à 0A̠(DDMSG(09 GϠ à àDAABASŠ à 5SAԽABS(SAԩ A̠A(SAԬMSGDB(09 A̠(DDMSGDB GϠ à àSM à 0A̠(DDMSG6 A̠(PAM(MSG6 A̠(PAM(BҬé GϠN à àBҠNԠUND à 50A̠(DDMSGBì GϠ 60MAԠ("AHMàҠ" 6Š(60 SP 65MAԠ("NVADHAAҠ" 66Š(65 SP à àSŠDAŠBAS 90A̠DBS(0SAԩ à àNDAP A̠(300B SP à à àƠPSSҠ à àNDAP 900A̠(300B à àMUPŠS? 90A̠(DDMSG(5 A̠(DDS Ơ(S..HNϩGϠ90 Ơ(S..HYũGϠ90 àNVADSPNS A̠(DDMSG(6 GϠ90 90PAUS à àGԠAPŠUNԠ A̠MPA(PAM Ơ(PAM(..0PAM(6 UPAM( Ơ(PAM.N.0GϠ930 à àNVADAPŠUN A̠(DDMSG(6559 GϠ90 à àAB̠HK à 930A̠(PAMGAB̩ A̠MV(GKBҬAB̩ Ơ(G(.N.HũGϠ05 Ơ(G(.N.H̩GϠ05 Ơ(G(3.N.HGGϠ05 à àSԠҠUA̠SA̠ ҽ0 Ơ(SM(GB(6G(ҩ..0GϠ935 à àSA̠NUMBSNԠUA A̠(DDMSG(00 GϠ90 à à̠NSUN? à 935̽GB( ҽ0 A̠SADD(H0̬ҩ Ơ(ҩ66936 93Ơ(..G(GϠ0 A̠(DDMSG(00 GϠ90 à à àʠPSSҠ à à à àBҠUSMҠBANK? 90Ơ(USGϠ950 A̠MV(KBNKB(3 ҽ0 A̠SADD(H0B(6ҩ Ơ(ҩ669506 à àBҠDҠBANK? 950Ơ(DGϠ955 A̠MV(KBNKB(3 ҽ0 A̠SADD(H0B(6ҩ Ơ(ҩ669556 à àSŠűDB 955A̠DBS(0SAԩ Ơ(SA.N.0GϠ5 UN(0 A̠DBPN(BASŬV̬SD3SAԩ Ơ(SA.N.0GϠ5 à àUPDAŠB 960A̠DBG(KBҬSAԬKBҬB( Ơ(SA..0GϠ50 Ơ(SA.N.0GϠ5 à àGԠDAASԠ A̠DBN(HS5KBҬBҩ SAԽB Ơ(SA.N.0GϠ5 à àGԠMUNԠMNUMBS A̠DBN(HɠB(Bҩ SAԽB Ơ(SA.N.0GϠ5 à àMNAŠSAHMVAU B(B(- DϠ96ɽ3B(+ 96B(ɩB(+ à àMAKŠMNUMBSPSV DϠ96ɽ3B(+ 96B(ɩABS(B(ɩ à àUPDAŠB A̠DBUPD(KBҬSAԬB(B(KBҩ Ơ(SA.N.0GϠ5 à àSŠűB A̠DBS(0SAԩ Ơ(c0.*SA.N.0GϠ5 à àNDAP A̠(300B à à à àPAGŠ N̽(U00B A̠(3N̬- 965MAԠ("VYMPŠ" Š(U965 Š(U95(B(ɩɽ6(B(ɩɽ0 966MAԠ("DSPSSD" Š(966 Š(U966 90MAԠ(ة 95MAԠ("BҠDAŠ"3AؠA 90MAԠ(ؠ3Aؠ6 Š(90 Š(U90 Š(90(KDM(ɩɽ3NM Š(90(KDD(ɩɽ3ND Š(90(KUSM(ɩɽ3NM Š(90(KUSD(ɩɽ3ND Š(U90(KDM(ɩɽ3NM Š(U90(KDD(ɩɽ3ND Š(U90(KUSM(ɩɽ3NM Š(U90(KUSD(ɩɽ3ND à àNMA̠ A̠(DDMSG(90 ND ND$ 0 ? L 24386-18004 1451 S 0122 04ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMDGN MMNS(0SGԬUN(5PN( MMNSA(PAM( DMNSNBU(60 DMNSNNBU(30 DMNSNBAS(3 DMNSNS(3 DMNSNKS(3 DMNSNV(3 DMNSNGND(3 DMNSNB( DAABASůHŬHDHB DAASï5666 DAAKSï DAAGNDHGŬHNԬHA àGԠAPŠUN A̠MPA(PAM àýDGH(DS ý30 A̠S(V60B Ơ(PAM(..0PAM(6 UPAM( Ơ(PAM.N.0GϠ00 90MAԠ("NVADU" Š(90 SP66 0MAԠ("DAABASŠҠ"ؠ3 à à àPNűDBDAABAS 00UN(0 A̠DBPN(BASŬVSì3SAԩ 0Ơ(SA..0GϠ0 ɽSA Š(0 SP06 0A̠GA à àSŠűDBDAABAS A̠DBS(0SAԩ Ơ(SA..0GϠ00 ɽSA Š(0 66SP66 à àPNűBDAABAS 00BAS(H UN(0 MAGԽPAM A̠DBPN(BASŬVKSì3SAԩ Ơ(SA..0GϠ0 ɽSA Š(0 06SP06 à àADAPŠ 0A̠(MAGԬNBUƬé àHK A̠(3PAMSAԬNUM Ơ(M(SAԬ0B.N.0GϠ950 à àGԠDS A̠DBN(HS5GNDSAԩ Ơ(SA..0GϠ30 ɽSA Š(0 GϠ90 à àGԠDAAMUNԠDAAMNUMBS 30A̠DBN(HɠSA(Bҩ Ơ(B..0GϠ0 ɽB Š(0 36GϠ90 à àMAKŠDAAMNUMBSPSV 0DϠ5ɽ3B(+ 5B(ɩABS(B(ɩ à àŠD A̠DBPU(GNDSAԬB(NBUƬBUƩ Ơ(SA..0GϠ0 ɽtSA 900Š(0 90A̠DBS(0SAԩ 96SP666 à àSŠűBDAABAS 950A̠DBS(0SAԩ Ơ(SA..0GϠ9 ɽSA Š(0 SP 90MAԠ("DGNʠ" 9Š(90 SP ND SUBUNŠGA MMNS(0SGԬUN(5PN( MMNSA(PAM( DMNSNBU(60 DMNSNNBU(30 DMNSNPM(3 DAAPMHPҬHMAHS MAGԽPAM N0 A̠DBG(PM3SAԬBUƬN à àADPMASԠŠSAY 50A̠DBG(PMSAԬBUƬN Ơ(SA..0GϠ00 à àDB 0MAԠ("DAABASŠҠ"ؠ3 ɽSA Š(0SA A̠DBS(0SAԩ NDMAG SP à àSԠ 00Ơ(SA(..0GϠ900 à àMAԠUPUԠD A̠MV(BU(50NBU(05 A̠MV(BU(0NBU(065 A̠MV(BU(3NBU( A̠MV(BU(36NBU(5 A̠MV(BU(0NBU(9 Ơ(NBU..0A̠S(NBUƬ00B Ơ(NBU(6..0A̠S(NBU(600B Ơ(NBU(..0A̠S(NBU(0B Ơ(NBU(5..0A̠S(NBU(50B Ơ(NBU(9..0A̠S(NBU(90B à àŠDϠAP A̠(MAGԬNBUƬ30 GϠϠ50 àŠƠND 900NDŠMAG NDMAG 999UN ND ND$ :PҬN99 N PGAMSMSG MMNS(0SGԬUN(5PN( à à--SMSG--̠ADHŠNPMSSAGŠŠMAPŠAND àŠԠϠDSK DMNSNBAS(3V(3 DMNSNM(0 DMNSNSA( DMNSNPAM(5 DMNSN(3 DMNSNBU(0 DMNSNBU(0 DAABASůHŬHHB DAASD DAAůHMSHGƬH̠ à àSԠҠAPŠUN à A̠MPA(PAM Ơ(PAM.N.0GϠ00 50MAԠ("APŠUNԠNVAD" Š(50 SP00 à àPNűBDAABAS àűBSHUDHAVŠBNPNDBYMDŠ5BŠUNGPGMSMSG à 00A̠DBPN(BASŬV̬SD3SAԩ Ơ(SA..0GϠ00 60MAԠ("DBPNҠ"ؠ3 ɽSA Š(60 SP00 00NԽ0 UPAM à àADDSMAP à 0A̠(UBUƬ0 A̠(3UKSAԬNU̩ à àHKƠNDƠAP Ơ(M(KSAԬ0B.N.0GϠ900 Ơ(N.G.0GϠ300 à àGԠNϠҠNGMAGŠDS àGԠDSNUMB A̠DBN(HS5ŬSAԩ Ơ(SA.N.0GϠ00 NUMSA( àGԠDAAMUNԠDAAMNUMBS A̠DBN(HɠNUMM Ơ(M.N.0GϠ00 à àMAKŠDAAMNUMBSPSV DϠ0ɽ3M(+ 0M(ɩABS(M(ɩ à àŠNנD à 300A̠DBPU(ŬSAԬM(BUƬBUƩ Ơ(SA.N.0GϠ00 à àNMNԠDSNUN NԽN+ GϠ0 à àDAABASŠS à 00ɽSA Š(0 0MAԠ("DAABASŠҠ"ؠ3 A̠DBS(0SAԩ Ơ(SA..0SP030 05MAԠ("DBSҠ"ؠ3 ɽSA 0Š(05 SP00 à àʠPSS à 900Š(90N 90MAԠ("DSNϠMSG̠"ؠ3 à àSŠűBDAABAS A̠DBS(0SAԩ ɽSA Ơ(SA.N.0GϠ0 90MAԠ("SMSGʠ" Š(90 ND ND$ :PҬASMB99 ASMBҬ NAMSAB ԠìDBPNDBSDBGԬDBNƬDBUPDMV ԠA MMAG(3 MB҈!(3B(50 MB(50B(00KB(0 MDS(00A(00SP( MPSZNѬSGS(90SԬSD(330 MS(SA(SAԬDUN MB(0NDG(5NUMìKAجKDS MSK(00 SKP SUP D96Dà96 SABԠSBDBSSŠDҠDAA-BAS DƠ+3 DƠD0 DƠSA SBDBPNPNŠABS DƠ+6 DƠB DƠB DƠBS DƠD3 DƠSA DASA SZA MPBDPN SBDBGԠGԠB DƠ+6 DƠB DƠD DƠSA DƠB DƠB DASA SZA MPBDDMVŠDҠ SBMV DƠ+ DƠB+9 DƠUPB DƠD3 SBMVנMVŠUSMҠ DƠ+ DƠB+ DƠUPB+3 DƠD3 SBDBNƠGԠDҠM DƠ+5 DƠ DƠD5 DƠϣ DƠSA DASA SZA MPBDN DASA+ SAN SBDBNƠGԠUSMҠM DƠ+5 DƠ DƠD5 DƠã DƠSA DASA SZA MPBDN DASA+ SAN+ SBDBUPDUPDAŠDҠUSMҠS DƠ+6 DƠB DƠSA DƠD DƠUPB DƠB DASA SZA MPBDUPD SBDBS DƠ+3 DƠD0 DƠSA DASA SZA MPBDSSŠŠABS DMP?SB DƠ+5 DƠD DƠ DƠDMSG DƠD3 DAB+30ƠGAP SZASS MPNG ҠB00SŠ SA ҠB00 SAS SB DƠ+3 DƠD3 DƠ SB DƠ+3 DƠD3 DƠS NGU SBàSDUMP? DƠ+5 DƠD DƠ DƠB DƠD DAB PAAN MPND SBàADDUMPPGAM DƠ+3 DƠD0 DƠDMP NDSB DƠ+ DƠD6 SPà BDPNSAN SBA DƠ+3 DƠN DƠţ SB DƠ+5 DƠD DƠ DƠM DƠD MPDMP? SKP DDà ƠNP SNP MASàDAABASŠ ţBSS3 BASà3űB BSàDà D3Dà3 SAԠBSS BҠASà3 DDà NBSS BҠBSS UPBҠBSS6 D5Dà5 ϣASà3BD ãASà3BS ɠASà D0NP נԠ0 DMSGASà3DUMP? DDà D0Dà0 D6Dà6 DMPASà3DMP BDSUBDPN BDNƠUBDPN BDDUBDPN BDUPDUBDPN NDSAB  @ J 24386-18005 1451 S 0122 05ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMP àPԠSHŠBAHPNԠPGAM.HŠPGAM̠PMP àHŠUSҠҠPNԠYP.HŠUSҠMAYSPNŠH"N" àPNԠNVS""ϠPNԠDԠMMS"U"ϠPN àUSSҠUŬҠ"A"ϠPNԠA̠ƠHŠABVŠYPS. .NYNŠUNNPҠUNSPMD.HŠŠ̠B àSDBYSAUSANDDҠ. à àPԠASSUMSHŠNGGA̠UNS: àSYSMNS àDSK à6PN à àDSHSŠUSMSUŠANAŠSHP-ϠADDSSS à̠NԠBŠPSSD.ƠHNVSNY"5"NԠ"ұ"NVS à̠BŠPND. MMNS(0SG(UN(5PN( MMNDA( DMNSNBAS(3BAS(3V(D(D(NV( DMNSNSA(SԱ(3SԲ(3DS(3PAH(3Z(3 DMNSNBU(MSK(3DԱ(DԲ(5P(3 DMNSNK(0 DMNSN(UA(BU(0AS(3G(9 DMNSNMSG(6US(3S3(3KBU(BU(5HD(9 DMNSNMSG(0.. DMNSNMSK(N(3N(3 DMNSNMS(5 DAAGԠHŬHGHHԬH:HZZHZZH0HBHS. DAAZϠH00H00H00 DAAPԠHDɬHSìHUHNԬHҬHɬHGHHԠHNŬHԠ HŬHGHHԬHϬHMMHNHSHGҬHSHS HSPHìHAH̠HHHAҬHGŬHAHؠHN HSUHAHNìHŠ DAABASHŬHԬHB DAABASHŬHDHB DAAD DAAD5666 DAASԱHԬH̬Hï DAASԲHҬHDMHSԯ DAAS3HUHSԬHM DAADSԠHҬHDŬHԠ àҠMSSAGS DAAҠHDAHAHBHASHŠHҬHҠ HSϬHԬHŬH?HNHSUHƬHìHŬHNԬHS HϬHAHGŬHNϬH̬HNHŠHԬHMHS DAAMSGH?PHɬHNԬHԬHYPHŠ DAAHDHҬHDHԬHMHMHϠHUHԬHŠ DAAPAHHҬHDHD DAAMSGHNϬHìHUSHϬHMŬHҠHŬHϬHD0.. HƬHҬHϬHDHү0.. DAAMSKHجHجHدHد DAAMSKHZZHZZHZ9 DAADԱHZZHZZH9.H99 DAADԲHZZHZHZZH9.H99 DAAMSԯHBŬHGɬHNHSϬHԯ U6 NԽ0 àPNABŠDAABASŠҠDAŠHNV A̠DBPN(BASV̬DSAԩ Ơ(SA.N.0GϠϠ900 àADB A̠DBGԠ(SԱSAԬBUƬAG Ơ(SA.N.0GϠϠ900 NVBU( A̠MVנ(BU(9DAŬ àSŠABŠDAABAS A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 àPMPԠ?PNԠYP 0A̠à(0BMSG6 A̠à(0BBUƬ YPŽBU àPNűDBDAABAS A̠DBPN(BASV̬D3SAԩ Ơ(SA.N.0GϠϠ900 Ơ((YP..HA̩..(YP..HN..(YP..Hҩ ..(YP..HUGϠϠ5 A̠NVA( GϠϠ0 5Ơ(YP..HNYPŽH àGԠKAAMS A̠à(KKSZũ 0NUMҽK-K+ KKK Ơ(NUM..GϠϠ00 àHKSAUS A̠à(6NUMҬKAԩ Ơ(A..0GϠϠ00 Ơ(K..AԩGϠϠ0 KK+ GϠϠ0 àSԠDAABASŠPNS 0AG0 A̠DBGԠ(SԲ3SAԬBUƬAG Ơ(SA.N.0GϠϠ900 SԽ0 àPNҠUSDϠNMNԠHUDSKK 5PNҽ àSA̠ADƠDAAS 50A̠DBGԠ(SԲSAԬBUƬAG >TƠ(SA.N.0GϠϠ900 àHKҠNDƠ Ơ(SA(..0GϠϠ0 à àSԠҠDҠYPŠDSD à àƠHNVSDNԠPNԠ"ұ" Ơ((NV..HS.AND.(BU(3..HұGϠ50 à àYPŠ"A"? Ơ(YP.N.HA̩GϠ5 Ơ((BU(3..Hұ..(BU(3..H5.. (BU(3..Hñ..(BU(3..HѱGϠϠ60 à àYPŠ"N"? 5Ơ(YP.N.HҠGϠ55 Ơ((BU(3..Hұ..(BU(3..H5GϠ60 à àYPŠ""? 55Ơ((YP..Hҩ.AND.(BU(3..HñGϠ60 à àYPŠ"U"? Ơ((YP..HU.AND.(BU(3..Hѱ6050 àUNԠDS 60NԽN+ àMVŠDϠDSKK K(PNҩSA( PNҽPN+ à àMVŠSԠKYS àSAUS A̠MVנ(BU(3K(PNҩ PNҽPN+ àDҠN A̠MVנ(BU(K(PNҩ3 PNҽPN+3 àBUҠU? Ơ(PN+5..05GϠϠ50 àŠBU A̠à(K0KSԩ SԽS+ àAKV? Ơ(S..SZũGϠϠ5 KK+ GϠϠ àNDƠŠPSSNG-ŠBKƠNSS 0Ơ(PN..GϠϠ5 A̠à(K0KSԩ àSŠDAABASŠBŠS 5A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 à àSԠUPSԠPAAMS àƠìƠKYSNGHƠKYSNGHƠSԠBU à UA(N UA( UA(3 UA(6 SԽ0 à à"BGNS"MSSAG A̠(0BMSԬ5 à A̠SԠ(UA̬SAԩ Ơ(SAԩ50050 àSԠSUSSU̠-PNDAABAS 0A̠DBPN(BASV̬D3SAԩ Ơ(SA.N.0GϠϠ900 àADDSKҠSD'!D'S 00SԽ0 05A̠à(K0KKSԩ 0SԽS+ Ơ(S..SZũGϠϠ0 KKKK+ SԽ0 0Ơ(N..0GϠϠ30 M0 NԽN-0 GϠϠ0 àƠSSHAN0DSSԠMԠƠƠS 30MN NԽ0 àDDADHD'SUNDMS 0PNҽ 5A̠DBGԠ(SԲ3SAԬBUƬK(PNҩ Ơ(SA.N.0GϠϠ900 A̠MVנ(BU(NϬ3 A̠MVנ(BU(0NϬ3 PNҽPN+ àGԠUSMҠD 60A̠DBGԠ(S3SAԬKBUƬBU(0 Ơ(SA..0GϠ650.. Ơ(SA.N.0GϠϠ900 àƠSHP-ϠADDSSNDDBYPASSPNNG Ơ(KBU(3..HGϠϠ0 àPAGŠ 65A̠à(300B+U-0.. BU(H A̠MV(BU(BU(39 àSPAŠDNϠDAŠAA A̠à(300B+U6 àMVŠNDAŠDԠҠUŠHADNGƠNDD A̠S(BUƬ00B A̠MVנ(DAŬBU(33 Ơ(BU(3..HñA̠MVנ(HDBU(06 Ơ(BU(3..HѱA̠MVנ(HD(BU(03 A̠à(00B+UBUƬ0 Ơ(SA.N.0GϠ00.. A̠MV(BU(BU(390.. A̠MV(MSGBU(0.. GϠ5 0A̠PHD(KBUƬBUƩ0.. àPKUPHҠNϠMDҠMAS àUSԠP A̠MVנ(BU(BU(5 àDҠDA A̠SMVŠ(MSKBUƬ A̠SDԠ(BUƬ50BUƬ9 àSHPDA A̠SMVŠ(MSKBUƬ AerSDԠ(BUƬ6BUƬ9 àDҠ 5A̠MVנ(BU(BU(363 A̠à(00B+UBUƬ0 àNVŠNԠPNDƠNϠUSMҠDSUND Ơ(SA..0GϠ00.. àSPAŠDNϠAAҠDA̠NS A̠à(300B+U3 à A̠DBND(SAԬDSԬPAHBU( Ơ(SA.N.0GϠϠ900 àHKHANNGH Ơ(SA(3..0GϠϠ30 DԽSA(3 NԽ0 DϠ0ɽD A̠DBGԠ(DSԬSAԬBUƬBU( Ơ(SA.N.0GϠϠ900 BU(H A̠MVנ(BU(BU(39 A̠SMVŠ(MSK6BUƬ A̠SMVŠ(MSK6BUƬ àUANS A̠SDԠ(BUƬ556BUƬ6 A̠SDԠ(BUƬ56BUƬ3 àUNԯMAS A̠SMVŠ(BUƬ636BUƬ àPDDDSPN A̠SMVŠ(BUƬ6BUƬ6 A̠SMVŠ(BUƬ50BUƬ3 A̠SMVŠ(DԱBUƬ6 A̠SMVŠ(DԲ0BUƬ àUNԠNDDP A̠SDԠ(BUƬ650BUƬ669 A̠SDԠ(BUƬ30BUƬ0 àŠPNԠN A̠à(00B+UBUƬ0 àSNGŠSPAŠADDNA̠N A̠à(300B+U àADDϠNŠN NԽN+ (N..30GϠϠ0 àPAGŠ A̠(300B+U- A̠PHDҠ(KBUƬBUƩ NԽ0 0NNU àDҠA̠UN àSPAŠ A̠à(300B+U BU(H A̠MVנ(BU(BU(39 àGSS$ A̠MVנ(P(BU(93 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ630BUƬ0 A̠à(00B+UBUƬ0 àDSUN àDZ? Ơ(SM(BUƬ6ZϬҩ00000 00A̠MVנ(P&ԬBU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ6BUƬ0 A̠(00B+UBUƬ0 àGH 0Ơ(SM(BUƬ9ZϬҩ505 5A̠MVנ(P(5BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ9BUƬ0 A̠à(00B+UBUƬ0 àSPA̠HAGS 0Ơ(SM(BUƬ990ZϬҩ5305 5A̠MVנ(P(BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ990BUƬ0 A̠à(00B+UBUƬ0 àA 30Ơ(SM(BUƬZϬҩ35035 35BU(H A̠MVנ(BU(BU(39 A̠MVנ(P(BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬBUƬ0 A̠à(00B+UBUƬ0 àNSUAN 0Ơ(SM(BUƬ939ZϬҩ5505 5BU(H A̠MVנ(BU(BU(39 A̠MVנ(P(30BU(95 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ939BUƬ0 A̠à(00B+UBUƬ0 àN 50BU(H A̠MVנ(BU(BU(39 A̠MVנ(P(9BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ0BUƬ0 A̠à(00B+UBUƬ0 àAҠPN BU(H A̠MVנ(BU(BU(39 A̠à(300B+U àPNԠGH A̠SMVŠ(GԬBUƬ3 A̠SDԠ(BUƬ36BUƬ5 A̠à(00B+UBUƬ0 A̠à(300B+U àPNԠMMNS BU(H A̠MVנ(BU(BU(39 A̠SMVŠ(BUƬ560BUƬ3 A̠à(00B+UBUƬ0 A̠UPDAԠ(NϬNϬSAԩ Ơ(SA.N.0GϠϠ900 àADNԠBK? 0Ơ(PN.G.MGϠϠ300 u GϠϠ5 àA̠DSPSSD? 300Ơ(N..0GϠϠ350 GϠϠ05 àNϠNŠMS- 30A̠S(BUƬ00B A̠MV((BU(96 A̠à(00B+UBUƬ0 GϠϠ0 àNDƠB 350A̠DBS(0SAԩ SP à àҠUNS à àKAABAD-NSUNԠSAG 00A̠à(0B(0 GϠϠ950 àSԠS 50A̠à(0B( A̠A(SAԬASɩ A̠à(ASɬ3 GϠϠ999 à àDAABASŠS 900A̠(0B( A̠A(SAԬASɩ A̠à(ASɬ3 950A̠DBS(0SAԩ 999SP ND SUBUNŠPHD(KBUƬBUƩ DMNSNKBU(BU(0 U6 NԽ0 àSPAŠϠADDSSAA A̠à(300B+U àBANKBU BU(H A̠MVנ(BU(BU(39 àUSMҠNAM A̠MVנ(KBU(0BU(0 A̠MVנ(KBU(0BU(90 A̠à(00B+UBUƬ0 àSԠADDSS A̠MVנ(KBU(0BU(0 A̠MVנ(KBU(3BU(90 Ơ(KBU(53..HA̠MVנ(KBU(0BU(90 A̠(00B+UBUƬ0 àY-SA A̠MVנ(KBU(30BU(0 A̠MVנ(KBU(53BU(90 Ơ(KBU(53..HA̠MVנ(KBU(30BU(90 A̠à(00B+UBUƬ0 àBANKBU BU(H A̠MVנ(BU(BU(39 àZPD A̠MVנ(KBU(0BU(3 A̠MVנ(KBU(63BU(363 (KBU(63..HA̠MVנ(KBU(0BU(363 A̠à(00B+UBUƬ0 àSPAŠDN5NS A̠à(300B+U5 àBANKBU BU(H A̠MVנ(BU(BU(39 àSH-PVASASMAN A̠MVנ(KBU(9BU(6 A̠MVנ(KBU(99BU(30 UN ND SUBUNŠUPDAԠ(NϬNϬSAԩ DMNSNN(3N(3DS(3PAH(3BU(0 DMNSNNUM(MS(0NB(0 DMNSNS(3BU(0SA( DAASԠHҬHDMHS DAADSԠHUHSԬHD DAAPAHHUHSԬHD A̠DBGԠ(SԬSAԬBUƬNϩ Ơ(SA.N.0UN A̠SPUԠ(BUƬ66B A̠DBNƠ(HS5SԬNUM SAԽNUM Ơ(SA.N.0UN A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0UN DϠ0ɽMS( MS(+ABS(MS(+ 0NNU NBҽMS(- A̠MVנ(MS(NB(NBҩ A̠DBUPD(SԬSAԬNBҬBU(0BUƩ Ơ(SA.N.0UN A̠DBND(SAԬDSԬPAHNϩ Ơ(SA.N.0GϠϠ0 SAԽ0 UN 0Ơ(SA.N.0UN Ơ(SA(3..0UN SAVŽSA(3 5DϠ30ɽSAV A̠DBGԠ(DSԬSAԬBUƬNϩ Ơ(SA.N.0UN Ơ(SM(BUƬ3NϬҩ30030 30NNU àPPAŠϠUPDAŠUSԠDAS 0A̠DBNƠ(HS5DSԬNUM SAԽNUM Ơ(SA.N.0UN àGԠDAAMS'S A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0UN àMAKŠMSPSV DϠ50ɽMS( MS(+ABS(MS(+ 50NNU àSUBAԠҠKY NBҽMS(- A̠MVנ(MS(NB(NBҩ àHANGŠSAUS A̠SPUԠ(BUƬ566B A̠DBUPD(DSԬSAԬNBҬBU(MS Ơ(SA.N.0UN ND ND$ :SԬҬ0 : X64006 A O 24386-18006 1451 S 0122 06ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMA à àAԠ̠PNԠHŠűDҠAVYP.HŠNPUԠS àHŠDҠMAS(DMSԩ.HŠPԠ̠BŠNSUNŠBY àDҠSAUSDҠDAŬDҠD.HŠPԠ̠SH àHŠDAҠA̠ҠAHDҠANDASBYDҠSAUS. à àGA̠UNSUSDBYA àSYSMNS àDSK à6PN à àSUBUNS: à'NV'-ϠNVԠNGSϠAS à'PA'-ϠPNԠPԠHADNGS à'PHDNG'-ϠPNԠPԠHADNG3 à'PԠ'-ϠPNԠPԠAS à àMAGŠűMMNAAYS MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( MMNHD(5 à àBASŽDAABASŠNAM àV̽DAABASŠVD--NԠUSD àSDDAABASŠSUYD àMDŽSԠASSҠYPŠҠDBMS àSAԽNDNSUNDMDBMS àDSԽDAASԠNAM àBUƠNPUԠBUҠ(DSNGH+MDAD àKDSKKAA'DҠS àҠAAYƠҠMSSAGS àNԠNŠUN àPAGŽPAGŠUN àNԠDUN àUA̽SԠAAYNANNGDSàƠSϠBŠSD àASɽAAYϠNVԠNGS àMSKAAYNANNGDԠMASKS àԠA̠BUK à àMAGŠAAYS DMNSNBAS(6V(3SD(MD(SA( DS(6BU( à DMNSNK(0(33UA(5AS(3MSK((5 à DMNSNMSG(3BU(KDA(3U(3 DMNSNMSG(0 DMNSNMSG(36 DAAMSGH?SHHɬHPHҬHϬHDHҬHDHAԬHŠ DAAMSGHBŬHGɬHNHSϬHԬHNHVAHɬHD HSԬHAԬHUSH~-ҬHìHҬHDHNϬHԠHN H̬HUDHDHɬHNHŬHPϬHԬHŬHϬ HDHSHPҬHìHSHSŬHD DAAMSGH?DHAԬHŠ DAABASůHŬHDHBHŬHԬHB DAASD5666 DAADŠ DAADSԯHҬHDMHSԬHԬH̬Hï à DAAүHDBHMSHŬHҬHHSϬHԬHŬHҬH HDSHKHҬHҠHҬHKHҬHҠH0ŬHND HϬHƠHϬHB HNϬHҬHìHҬHDSHƬHUHND à DAAMSKHجHجHدHجHZZHZHZZHZ.H99H00H00 H00H00H00 à àPAGŠ A̠à(300B+6- àPNűBDAABASŠҠDA A̠DBPN(BAS(V̬DŬSAԩ Ơ(SA.N.0GϠϠ900 A̠DBGԠ(DS(SAԬBUƬAG Ơ(SA.N.0GϠϠ900 àMVŠDA A̠MVנ(BU(9DAŬ A̠SMVŠ(BUƬ53HDҬ A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 àZϠA̠UN KDAŽH A̠SMVŠ(MSK9Ԭ NԽ0 PAGŽH0 NԽ0 HDH à à?SHPҠDҠDAŠ(PMPԩ à 0A̠(0BMSG0 A̠(0BBUƬ3 Ơ((BU..Hҩ..(BU..HSHGϠ0 à àNVADSPNS A̠NVA( GϠ0 0YPŽBU A̠à(0BMSG3 A̠à(0BBUƬ Ơ(BU..HA̩GϠϠ àHKҠVADDA A̠ʠ(BUƬU̬SAԩ Ơ(SA..0GϠϠ5 àNVAD-N A̠NVA( GϠϠ àNVԠDAŠϠ6HAAS 5A̠DAŠ(BUƬKDAũ àPNDAABASŠMDŽADNY MDŽ A̠DBPN(BASŬV̬SDMDŬSAԩ àHKƠPNSUSSU Ơ(SAԩ9000900 àGԠKAAMS 9 0A̠(KKSZũ àHKKAASAUS A̠(66KAԩ àHKҠBADҠNSUNԠAKS àSŠBGNNNGAK Ơ(A..0GϠϠ00 Ơ(K.N.AԩGϠϠ00 KKK àSԠDAABASŠPNS AG0 A̠DBGԠ(DSԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ900 3SԽ0 àPN-USDϠNMNԠHUDSKK PNҽ àSԠҠSA̠ADƠDAAS 5MDŽ àAGGNDNSA̠AD A̠DBG(DSԬMDŬSAԬBUƬAG Ơ(SAԩ9000900 àHKҠNDƠ 0Ơ(SA(900505 5Ơ((BU(3..Hñ..(BU(3..Hò.. (BU(3..HôGϠϠ Ơ((BU(3..HHϩ..(BU(3..HH3.. (BU(3..HHGϠϠ Ơ(BU(3..HéGϠϠ Ơ((BU(3..Hѱ..(BU(3..HѲ.. (BU(3..H3..(BU(3..HѴGϠϠ Ơ((BU(3..Hұ..(BU(3..HҲ.. (BU(3..H3..(BU(3..HҴ.. (BU(3..H5GϠ àNVADSAUSD àPNԠҠMSSAGŠANDDUMP5HAҠƠD A̠à(06BMSG(6 A̠à(06BBU(35 GϠϠ5 àUNԠNPUԠDS àSԠҠ"A" Ơ(KDA..HGϠ30 à àSԠDҠDA Ơ(YP.N.HҩGϠ9 Ơ(SM(KDAŬ6BUƬ5ҩ5305 à àSԠSHPDA 9Ơ(SM(KDAŬ6BUƬҩ5305 30NԽN+ àMVŠDϠDSKKAA K(PNҩSA( PNҽPN+ à àMVŠSԠKYSϠDSKK(SAUSDAŬDҠD K(PNҩBU(3 PNҽPN+ A̠MVנ(BU(5K(PNҩ3 PNҽPN+3 A̠MVנ(BU(K(PNҩ3 PNҽPN+3 à àHKҠU̠BU Ơ(PN+..05GϠϠ5 àŠϠDSKKAA A̠à(K0KSԩ SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ KK+ GϠϠ3 à àSA̠AD-ŠASԠDƠNSSAY 50Ơ(PN..GϠϠ60 A̠à(K0KSԩ àSŠDAABASŠBŠS 60MDŽ0 A̠DBS(MDŬSAԩ Ơ(SAԩ9000900 àSԠUPSԠPAAMSƠSƠKYSNGHƠKYS àNGHƠSԠBU à 0UA(N UA(3 UA(3 UA(6 UA(56 SԽ0 à Ơ(N..0GϠϠ00 àBGNSԠMSSAG A̠à(0BMSG5 A̠S(UA̬SAԩ Ơ(SAԩ50050 à àSUSSU̠SԠ-PNDAABAS 0MDŽ KNԽN A̠DBPN(BASŬV̬SDMDŬSAԩ Ơ(SAԩ90000900 àSԠSҠADDSKҠSDDNUMBS 00SԽ0 5A̠à(K0KKSԩ àHKҠSUSSU̠AD A̠à(3SAԬ0 Ơ(AND(SAԬ3B505 0SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ30 KKKK+ àSԠSҠ SԽ0 àSԠBUҠHDS0DSà'S àSԠMԠҠADPNԠP 30Ơ(N..0GϠϠ0 M0 NԽN-0 GϠϠ50 à àƠSSHAN0SԠMϠƠDS 0MN NԽ0 à 50PNҽ àKYDADNà'SUNDMHŠS 55MDŽ3 A̠DBG(DSԬMDŬSAԬBUƬK(PNҩ Ơ(SAԩ90060900 60PNҽPN+ à àHKҠSAԠHDAA 0Ơ(BU(3..HDGϠϠ95 àSŠSA 0HDBU(3 NԽ0 àPNԠHADNGS A̠PA àPNԠHADNGS3 90A̠PHDNG(HD 95Ơ(N..GϠϠ00 à NԽ0 A̠PA A̠PHDNG(HD à àMAԠDA̠N 00N0B A̠S(KBUƬ0N N60B A̠SPU(KBUƬN A̠SMV(BUƬ3KBUƬ3 A̠SMV(BUƬ9KBUƬ3 A̠SMV(MSKKBUƬ3 A̠SMV(MSKKBUƬ35 A̠SMV(MSKKBUƬ6 A̠SD(BUƬ6KBUƬ653 A̠SD(BUƬ50KBUƬ330 A̠SD(BUƬ3KBUƬ35 A̠SMV(BUƬ66KBUƬ5 A̠SMV(MSK9KBUƬ65 A̠SDԠ(BUƬ0KBUƬ65 à àADDϠAS A̠SADD(BUƬ0Ԭ0V̩ àŠN-DUBŠSPA A̠(6KBUƬ0 NԽN+ àADDMS 05MDŽ3 Ơ(PN.G.MGϠϠ300 A̠DBG(DSԬMDŬSAԬBUƬK(PNҩ Ơ(SAԩ9000900 0PNҽPN+ àPNԠBYDA? Ơ(KDA..HGϠϠ5 àDAS? Ơ(SM(KDAŬ6BUƬ5ҩ05505 àSAԠHD 5Ơ(BU(3..HDGϠϠ95 à àPNԠA̠N A̠P(ԩ àUNϠSŠSA GϠϠ0 àHKҠMŠDS 300Ơ(N..0GϠϠ350 GϠϠ5 à àNMA̠NDƠB 350MDŽ0 A̠PԠ(ԩ A̠DBS(MDŬSAԩ Ơ(SAԩ900360900 à àʠMSSAG 360A̠(6(96 A̠à(06BMSG(9 A̠A(KNԬASɩ A̠à(6ASɬ3 SP à àҠUNS-MSSAGSDSPAYDNHŠSYSMNS àAKS 00A̠(0B(5 A̠NV(AGԬASɩ GϠϠ95 àSԠS 50A̠(0B(65 A̠NV(SAԬASɩ GϠϠ999 àDSKS 5A̠(60B( GϠϠ90 àNϠDSUND 00A̠à(0B(5 GϠϠ999 àDAABASŠS 900A̠(0B(5 90A̠NV(SAԬASɩ 95MDŽ0 A̠DBS(MDŬSAԩ 999SP ND SUBUNŠPA àPAԠSADBYAԠϠPNԠϠSԠPԠHADNGNS à MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( MMNHD(5 à DMNSNBU(0 à DAABUƯHجHجHدHجHPAHGŬHHŬHHAì HɬHVɬHYHҬHPHҬHԠ à N0B A̠S(KBUƬ0N N6B A̠SPU(KBUƬN àNŠ A̠SMVŠ(DAŬKBUƬ A̠SMV(HDҬKBUƬ A̠SMV(BUƬ93KBUƬ3 A̠SMV(PAGŬKBUƬ àADDϠPAGŠUN A̠(6KBUƬ0 A̠S(KBUƬ0N àNŠ A̠SMV(BUƬ5KBUƬ A̠SMV(BUƬ933KBUƬ30 A̠(6KBUƬ0 A̠S(KBUƬ0N àBANKN-DUBŠSPA KN60B A̠SPU(KBUƬKN A̠(6KBUƬ0 ADDH0 A̠SADD(ADDPAGŬV̩ UN ND SUBUNŠPHDNG(HD àPHDNG̠PNԠ3DHADNGNŠBASDNHD(SAԩ àUHHADNGNŠSASϠPND àPGAMSADBYA. à MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( DMNSNBU(5BU(3 à DAABUƯHҬHDŬHҠHSԬHAԬHUSH:HŬHGUHAHҠ HҬHDŬHҠHHϬHDHϬHDHҬHҬHDHԬHM; HMHϠHUHԬHAԬHϬHN H(ìHDHũHHH3H HNHϬHMPHŬHŬH5 DAABUƯHҬHDŬHҠHDHUHSԬHɬHDHҬHDŬHҠ HDA HŬHŬHѠHDŬHVHҬHGGHNHϬHAH̠HDϬ H̬HAҬHSHSHHPHPŬHD N0B A̠S(KBUƬ0N àMAԠ3DHADNGN A̠SMV(BUƬ3KBUƬ6 àMVŠNHADNG(SԠBYŠìHѬҠҩ ҽ0 (SM(HDHàҩ..0GϠϠ0 (SM(HDHHҩ..0GϠϠ0 (SM(HDHѠҩ..0GϠϠ30 Ơ(SM(HDHìҩ..0GϠϠ35 à A̠SMV(BUƬ5KBUƬ0 GϠϠ0 à 0A̠SMV(BUƬ399KBUƬ0 GϠϠ0 0A̠SMV(BUƬ93KBUƬ0 Ơ(SM(HDHHϬҩ..0GϠϠ5 GϠϠ0 30A̠SMV(BUƬ560KBUƬ0 GϠϠ0 35A̠SMVŠ(BUƬ5KBUƬ0 GϠϠ5 àNDBYŠ3Ҡ 0ҽ0 Ơ(SM(HDHҩ..0GϠϠ50 Ơ(SM(HDHҩ..0GϠϠ60 Ơ(SM(HDH3ҩ..0GϠϠ0 (SM(HDH5ҩ..0GϠϠ65 A̠SMV(BUƬKBUƬ60 GϠϠ0 50A̠SMV(BUƬ66KBUƬ60 GϠϠ0 60A̠SMV(BUƬ00KBUƬ60 GϠϠ0 65A̠SMVŠ(BUƬ66KBUƬ60 GϠϠ0 0A̠SMV(BUƬKBUƬ60 0A̠SMV(BUƬ665KBUƬ5 A̠SMV(BUƬ6666KBUƬ6 5A̠(6KBUƬ0 àUHHADNGN A̠S(KBUƬ0N A̠à(6KBUƬ0 A̠SMV(BUƬKBUƬ A̠SMV(BUƬ95KBUƬ3 A̠SMV(BUƬ6KBUƬ A̠SMV(BUƬ3KBUƬ35 A̠SMV(BUƬ556KBUƬ6 A̠SMV(BUƬ353!0.*KBUƬ5 A̠SMV(BUƬ53KBUƬ63 A̠à(6KBUƬ0 àŠBANKN A̠S(KBUƬ0N A̠(6KBUƬ0 à UN ND à SUBUNŠP(ԩ àPԠ̠PNԠASNBAKNSA MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( DMNSNBU(5 à DAABUƯHϬHAH̠H$$H$H$$H$H$$H$.H99 H00H00H00H00H00 à N0B A̠S(KBUƬ0N N60B A̠SPU(KBUƬN A̠(6KBUƬ0 A̠S(KBUƬ0N A̠SMV(BUƬ6KBUƬ A̠SMV(BUƬ0KBUƬ6 A̠SD(Ԭ0KBUƬ6 A̠(6KBUƬ0 à àZϠA̠UN A̠SMV(BUƬ30Ԭ ND ND$ kh0 B O 24386-18007 1451 S 0122 07ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMMAN àHSPGAM̠AנDNSMHŠDҠUSM àSADNű àSPNSSϠHŠ?ŠPMPԠA à-DҠŠ(MASҠDAS àU-USMҠMASҠDAS àD-USMҠDASNY(HSYDS àND-NSHDA̠PANSҠHSSSSN àSPNSSϠ?DŠDPMP àNUMBҽDŠA̠DSHNUMBҠND. àSAUSDŠA̠DҠDSHAN"SA" àDAŠDŠA̠DSHANDAS àѠҠSSHANDAŠND. àHŠUSҠ̠NԠBŠPMPDHA"?"ANDHŠAN àNҠHŠDŠA. à à à MMNS(0SGԬUN(5PN( MMNAG((SP(N(DA( MMNSA(DS(3PAH(3S(3UN( MMN(BU( DMNSN( DMNSNMSG(9B(MP(NAM(3U( DMNSND(SD(DB(3DB(3AS(MSK( DAAMSKHجHجHدHد DAADŠ DAASDŠ5666 DAADBHŬHԬHB DAADBHŬHDHB DAANAMŠHԬH̬Hï DAAMSGH?ƬH̬HŠH?DH̬HԬHŠHɬH̬ HDH?HDAHAHBHASHŠHҬHϬHҠ HҬHDHDHUHSԬHDHBAHDHDAHů DAAMPHŬHUHNHNUHMBHҬHDAHŬH HSԬHAԬHUS DAAҠHDAHAHBHASHŠHҬHϬHҠ àSԠNŠNԠϠŠHADNG NԽ50 àPNABŠDAABAS A̠DBPN(DBV̬DŬSAԩ Ơ(SA.N.0GϠϠ500 àGԠBҠҠDA A̠DBGԠ(NAMŬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 A̠MVנ(BU(9DAŬ A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ500 àPNűDBDAABAS A̠DBPN(DBV̬SDŬ3SAԩ Ơ(SA.N.0GϠϠ500 àŠ?ŠϠNS 0A̠à(0BMSG3 àAPԠSPNS A̠à(0BBҬ Ơ(B..HNGϠϠ00 Ơ(B..HUGϠϠ0 Ơ(B..HDGϠϠ50 Ơ(B..HҩGϠϠ60 àHҠSPNSŠNVAD-UNϠ? A̠NVA( GϠϠ0 à 0ŽHU GϠϠ55 à 50ŽHD 55S(HU S(HS S(3HM DS(HU DS(HS DS(3HD GϠϠ0 à 60ŽH S(H S(HDM S(3HS DS(H DS(HD DS(3H àPMPԠҠ?DŠD 0A̠à(0BMSG( àAPԠSPNS A̠à(0BBҬ àSԠDAABASŠPNS AG0 A̠DBGԠ(SԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ500 AG0 A̠DBGԠ(DSԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ500 ҽ0 àNUMBҬSAUSDAŬUNAŠVAD àUN Ơ(SM(BҬ6MP6ҩ505 àNUMB 5Ơ(SM(BҬ6MPҩ90090 àDA 90Ơ(SM(BҬMP36ҩ953095 àSAUS 95Ơ(SM(BҬ6MP9ҩ005000 àNVAD-N 00A̠NVA( GϠϠ0 à"?"ϠNҠDAA 0A̠à(0BMSG( àAPԠSPNS A̠à(0BBҬ3 àSANҠNUM KSAN(5BҬ6 Ơ(K0005 àZϠ̠ƠSSHAN6 5A̓S(AG660B A̠SMVŠ(BҬKAG(-K A̠MV(AGBҬ GϠϠ5 àMVŠ6DGS 0A̠MVנ(BҬAG3 àSԠPAH 5Ơ(..HUA̠MVנ(MSG(3PAH3 Ơ(..HҩA̠MVנ(MSG(0PAH3 Ơ(..HDA̠MVנ(MSG(3PAH3 GϠϠ5 30A̠à(0BMSG( àAPԠDSҠDA A̠à(0BBҬ àNVԠDAŠϠUAN A̠ʠ(BҬUNSAԩ Ơ(SA..0GϠϠ35 GϠϠ00 35Ơ(..HUGϠϠ350 Ơ(..HDGϠϠ300 GϠϠ50 àHKSAUS 50A̠à(0BMSG( àAPԠSPNS A̠à(0BBҬ Ơ(.N.HҩGϠϠ00 àHKҠVADSAUS ((B..Hұ..(B..HҲ..(B..H3.. (B..HҴ..(B..H5GϠϠ00 Ơ(B..HéGϠϠ00 Ơ((B..HH3..(B..HH..(B..HHϩ GϠϠ00 Ơ((B..Hñ..(B..Hò.. (B..H3..(B..HôGϠϠ00 Ơ((B..Hѱ..(B..HѲ..(B..H3.. (B..HѴGϠϠ00 àHҠSPNSSNVAD GϠϠ00 àBGNPSSNGϠDŠBYNUMB 5A̠MVנ(BҬAG3 SP(H A̠MVנ(AGSPì3 Ơ(..HDGϠϠ5 A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 àPNԠMASҠD A̠DP 5A̠D àUNϠ?ŠPMP GϠϠ0 àPSSNG"SAUSDS" 00A̠MVנ(MSG(0PAH3 SP(H A̠MVנ(SP(SP(3 SP(B( 05A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 0Ơ(BU(3..SP(GϠϠ0 à àGԠNԠD GϠϠ05 àUNDMAHNSAUS àMVŠKYϠAGҠPNNG 0AG(H A̠MVנ(BU(AG3 A̠DP A̠D Ơ(.N.0GϠϠ0 GϠϠ05 àDAŠDҠ 50A̠MVנ(BҬSPì A̠MVנ(MSG(0PAH3 55A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 5A̠MVנ(BU(AG3 A̠SMVŠ(MSKASɬ A̠SDԠ(BUƬ50ASɬ A̠ʠ(ASɬU̬SAԩ Ơ(SA..0GϠϠ60 àBADDAŠN A̠MVנ(BU(AG3 A̠MVנ(MSG(6SPì A̠DP GϠϠ0 60ҽ0 Ơ(SM(U̬5UNҩ0055 0A̠DP A̠D Ơ(.N.0GϠϠ5 GϠϠ55 àDAŠNUSMҠDASNY 300A̠MV(BҬSPì A̠MVנ(MSG(3PAH3 30A̠DBGԠ(DSԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 A̠MVנ(BU(AG3 A̠SMVŠ(MSKASɬ A̠SDԠ(BUƬ336ASɬ A̠ʠ(ASɬU̬SAԩ Ơ(SA..0GϠϠ30 àBADDAŠN A̠MVנ(BU(AG3 A̠MVנ(MSG(6SPì A̠DP GϠϠ0 àMPAŠDAS 30ҽ0 Ơ(SM(U̬5UNҩ33033030 àDŠDASNY 330A̠DBD̠(DSԬSAԩ Ơ(SA.N.0GϠϠ500 A̠DP GϠϠ30 àDAŠNUSM-DŠA̠ASSADUSԠDAS 350A̠MVנ(BҬSPì A̠MVנ(MSG(3PAH3 360A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 365A̠MVנ(BU(AG3 A̠SMVŠ(MSKASɬ A̠SDԠ(BUƬ333ASɬ A̠ʠ(ASɬU̬SAԩ Ơ(SA..0GϠϠ30 àBADDAŠN A̠MVנ(BU(AG3 A̠MVנ(MSG(6SPì A̠DP GϠϠ0 àMPAŠDAS 30ҽ0 Ơ(SM(U̬5UNҩ3535360 35A̠DP A̠D Ơ(.N.0GϠϠ365 GϠϠ360 àDAABASŠS 500A̠à(0BҬ A̠A(SAԬASɩ A̠à(ASɬ3 A̠DBS(0SAԩ SP àNDƠPSSNG 00A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ500 ND SUBUNŠDP àHSSUBUNŠ̠PDUŠANAUDԠA̠ƠDD àDS.AHD̠NYBŠSDHNH àMASҠDSDD. à MMNS(0SGԬUN(5PN( MMNAG((SP(N(DA( MMNSA(DS(3PAH(3S(3UN( MMN(BU( DMNSNBU(0DAA(9 DAADAAHŬHHƱHŬHMHAɬHNԬHNHAN HŬHҬHìHҬHDSHDH̬HԬHDHɬ HŬHҬHԬHҬHAHŬHϬHDHKHY àPNԠHADNGS Ơ(N..50GϠϠ0 BU(H A̠MVנ(BU(BU(39 A̠SPUԠ(BUƬ6B A̠SMVŠ(DAA0BUƬ30 A̠MVנ(DAŬBU(35 A̠à(6BUƬ0 BU(H A̠MVנ(BU(BU(39 A̠MVנ(DAA(BU(6 A̠à(6BUƬ0 BU(H A̠MVנ(BU(BU(39 A̠SPUԠ(BUƬ60B A̠MVנ(DAA(9BU( KA̠MVנ(DAA(BU(5 A̠MVנ(DAA(5BU(55 A̠à(6BUƬ0 NԽ0 àPNԠDA̠NS 0BU(H A̠MVנ(BU(BU(39 A̠SPUԠ(BUƬ60B BU( A̠MVנ(SPìBU(5 A̠MVנ(AGBU(63 A̠à(6BUƬ0 NԽN+ ND SUBUNŠD àHSSUBUNŠ̠AŠHŠMASҠDA̠HAND àDUSDNMANԠDŠHM. àDAABASŠS̠BŠPNDNHŠSYSMNS. àDS̠BŠNDADNANAUDԠA à MMNS(0SGԬUN(5PN( MMNAG((SP(N(DA( MMNSA(DS(3PAH(3S(3UN( MMN(BU( DMNSN(AS(3 àSԽMASҠDSԽDA DAAҠHDAHAHBHASHŠHҬHϬHҠ ý0 A̠DBND(SAԬDSԬPAHAG Ơ(SA.N.0GϠϠ50 Ơ(SA(3..0GϠϠ0 SAVŽSA(3 DϠ0ɽSAV àHANAD A̠DBGԠ(DSԬSAԬBUƬAG Ơ(SA.N.0GϠϠ50 àPNԠDDD A̠DP àDŠDA̠DAAS A̠DBD̠(DSԬSAԩ Ơ(SA.N.0GϠϠ50 0NNU 0Ơ(..HDGϠϠ5 A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ50 ýSA( A̠DBD̠(SԬSAԩ Ơ(SA.N.0GϠϠ50 àDDADϠNDSYNNYMS A̠DBGԠ(SԬ3SAԬBUƬé Ơ(SA..GϠϠ Ơ(SA.N.0GϠϠ50 5UN ý0 GϠϠ5 àDSPAYDAABASŠ 50A̠à(Ҭ A̠A(SAԬASɩ A̠à(ASɬ3 A̠DBS(0SAԩ SP1l ND ND$ :PҬN99 N PGAMA à àAؠ̠PNԠHŠűUSMҠADDSSSS-N àP. àHŠNPUԠŠS'USM'USMҠMASҠ.HŠP àSNSUNŠBYUSMҠNAM.HŠNV-ϠANDSHP- àADDSSҠHŠMPANYAŠSHNASSHŠUSMҠD. à àAؠASSUBUNS'NV'ϠNVԠPNԠNGҠ'S à'PN'ϠPNԠPԠHADNGS. à àGA̠UNSUSDNA àSYSMNS àDSK à6PN à àBASŽDAABASŠNAM àV̽DAABASŠVD--NԠUSD àSDDAABASŠSUYD àMDŽSԠASSҠYPŠҠDBMS àSAԽNDNSUNDMDBMS àDSԽDAASԠNAM àBUƽNPUԠBUҠ(DSNGH+MDAD àKDSKKAA'DҠS àҠAAYƠҠMSSAGS àNԠNŠUN àPAGŽPAGŠUN àNԠDUN àUA̽SԠAAYNANNGDSàƠSϠBŠSD àASɽAAYϠNVԠNGS à àMAGŠűMMNAAYS MMNS(0SG(UN(5PN(DA( àMAGŠAAYS DMNSNBAS(6V(3SD(MD(SA( DS(6BU(9 à DMNSNK(0(5UA(3AS(3BU(0 DMNSNHD(5PAG( DMNSNMSG( à DAAMSGHBŬHGɬHNHSϬHԬH0ҬHìHҬHDS HPHϬHŬHSSHD DAABASůHŬHDHBHŬHԬHB DAASD5666 DAADŠ DAADSԯHUHSԬHMHԬH̬Hï DAAүHDBHMSHŬHҬHHSϬHԬHŬHҬH HDSHKHҬHҠHҬHKHҬHҠHŬHND HϬHƠHϬHB XNԽ0 PAG(H00 PAG(H0 NԽ0 A̠DBPN(BAS(V̬DŬSAԩ Ơ(SA.N.0GϠϠ900 A̠DBGԠ(DS(SAԬBUƬAG Ơ(SA.N.0GϠϠ900 A̠SMVŠ(BUƬDAŬ A̠SMVŠ(BUƬ53HDҬ A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 àPNDAABASŠMDŽADNY A̠PNԠ(PAGŬDAŬHDҩ MDŽ A̠DBPN(BASŬV̬SDMDŬSAԩ àHKƠPNSUSSU Ơ(SAԩ9000900 àGԠKAAMS 0A̠(KKSZũ àHKKAASAUS A̠(66KAԩ àHKҠBADҠNSUNԠAKS àSŠBGNNNGAK Ơ(A..0GϠϠ00 Ơ(K.N.AԩGϠϠ00 KKK àSԠDAABASŠPNS AG0 A̠DBGԠ(DSԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ900 3SԽ0 àPN-USDϠNMNԠHUDSKK PNҽ àSԠҠSA̠ADƠDAAS 5MDŽ àAGGNDNSA̠AD A̠DBG(DSԬMDŬSAԬBUƬAG Ơ(SAԩ9000900 àHKҠNDƠ 0Ơ(SA(9005030 àUNԠNPUԠDS 30NԽN+ àMVŠDϠDSKKAA K(PNҩSA( PNҽPN+ à àMVŠSԠKYMNPUԠϠDSKK A̠SMV(BUƬ93KPNҪ- PNҽPN+0 àHKҠU̠DSKKBU Ơ(PN+..0GϠϠ5 àŠϠDSKKAA A̠à(K0KSԩ SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ KK+ GϠϠ3 àSA̠AD-ŠASԠDƠNSSAY à 50Ơ(PN..GϬ Ϡ60 A̠à(K0KSԩ àSŠDAABASŠBŠS 60MDŽ0 A̠DBS(MDŬSAԩ Ơ(SAԩ9000900 à àSԠUPSԠPAAMSƠSƠKYSNGHƠKY àSGԠSԠϠNGHƠSԠBU 0UA(N UA( UA(30 SԽ0 à àBGNSԠMSSAG A̠à(0BMSG5 A̠S(UA̬SAԩ Ơ(SAԩ50050 àSUSSU̠SԠ-PNDAABAS 0MDŽ KNԽN A̠DBPN(BASŬV̬SDMDŬSAԩ Ơ(SAԩ90000900 àSԠSҠADDSKҠSDDNUMBS 00SԽ0 0A̠à(K0KKSԩ àHKҠSUSSU̠AD A̠à(3SAԬ0 Ơ(AND(SAԬ3B505 0SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ30 KKKK+ àSԠSҠ SԽ0 àSԠBUҠHDS0DSà'S àSԠMԠҠADPNԠP 30Ơ(N..0GϠϠ0 M0 NԽN-0 GϠϠ55 àƠSSHAN0SԠMϠƠDS 0MN NԽ0 55N0B A̠S(BUƬ0N àADPNԠP DϠ300PNҽM àSԠMDŠҠKYDADNà'SUNDMS MDŽ3 A̠DBG(DSԬMDŬSAԬBUƬK(PNҩ Ơ(SAԩ90060900 àMAԠSԠPNԠNŠ-USMҠNAMŠD 60A̠SMV(BUƬ3BUƬ5 A̠SMV(BUƬ93BUƬ9 A̠(6BUƬ0 A̠S(BUƬ0N àNŠ-SԠADDSS A̠SMV(BUƬ395BUƬ9 A̠SMV(BUƬ50BUƬ9 A̠(6BUƬ0 A̠S(BUƬ0N àNŠ3(Y-SAũ A̠SMV(BUƬ59BUƬfe9 A̠SMV(BUƬ05BUƬ9 A̠(6BUƬ0 A̠S(BUƬ0N àNŠ(ZP A̠SMV(BUƬ9BUƬ33 A̠SMV(BUƬ530BUƬ6 A̠(6BUƬ0 A̠S(BUƬ0N àŠABANKN A̠(6BUƬ0 àADDϠNŠUN NԽN+5 àHKҠNDƠPAG Ơ(N.G.50GϠϠ0 GϠϠ300 àNנPAG 0NԽ0 A̠PNԠ(PAGŬDAŬHDҩ 300NNU Ơ(N..0GϠϠ350 GϠϠ0 àNMA̠NDƠB 350MDŽ0 A̠DBS(MDŬSAԩ Ơ(SAԩ900360900 àʠMSSAG 360N60B A̠S(BUƬ0N A̠SPU(BUƬN A̠(6(96 àDSPAYDUN A̠à(6MSG(69 A̠A(KNԬASɩ A̠à(6ASɬ3 SP àҠUNS-MSSAGSDSPAYDNHŠSYSMNS àAKS 00A̠(0B(5 A̠NV(AԬASɩ GϠϠ95 àSԠS 50A̠(0B(65 A̠NV(SAԬASɩ GϠϠ999 àDSKS 5A̠(60B( GϠϠ90 àDAABASŠS 900A̠(0B(5 90A̠NV(SAԬASɩ 95MDŽ0 A̠DBS(MDŬSAԩ 999SP ND SUBUNŠPNԠ(PAGŬDAŬHDҩ à'PN'SADBYAؠϠPNԠPԠHADNGS àBUƽHDAAҠNSANS àKBUƽUPUԠN à DMNSNBU(60KBU(0 DMNSNHD(5 à DAABUƠHASHϬH:HHجHجHدHجHPAHGŬH HUHSԬHMHҬHAHDDHŬHSSHìHϬHSSH-Ҡ HƬHҬHNHŬHUHSԬHMHҬHɬHDHNHVϬ HìH-HϬHAHDDHŬHSSHB@5(KB(66KKB(6KKB(K KSAԽSAԠ0.9. Ơ(KSA.G.0A̠UDB(KSAԩ0.9. Ơ(KSA..0GϠ000.9. ASSGN39Ϡ̠0.9. à àNVADHAAҠ0.9. Ơ(KSA..-A̠MSG(00̬3950050.9. à àAHMàVנ0.9. Ơ(KSA..-3A̠MSG(00̬3960050.9. 39ASSGN00Ϡ̠0.9. A̠(̩0.9. à àUNKPDUԠ 00D33-D NNK(B(3DD àSԠD D33-D Ơ(N..0A̠SYS(H à àDϠDBGԠϠGԠԠPN à 0A̠DBG(KD3SAԬMYBUƬSK(6D KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àUPDAŠDҠDA̠D à àGԠMUNԠNUMBS NϽB(D A̠DBN(HɠNϬBҩ KSAԽB Ơ(KSA.N.0A̠UDB(KSAԩ àMAKŠMNUMBSPSV DϠ0ɽ3B(+ 0B(ɩABS(B(ɩ àMNAŠSAHVAUŠM DϠ0ɽ3B(+ 0B(ɩB(+ B(B(- KSK(3D à àUPDAŠDҠDA̠D A̠DBUPD(KDSAԬB(KB(6KMYBUƩ KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àŠDҠDA̠ϠGAP 500KB(60KHD A̠G(KB(60KDB(3 à àSAԠϠBŠ5? 560Ơ(M(SK(DB59059050 50KSK(3D KB(KH5 àSԠNŠHANGŠAGN 590SK(D(SK(D640B à àPMPԠҠANHҠNŠ? 600Ơ(SK(D.N.HA̩GϠ0 SK(5DSK(5D- àNDƠDҠHAN? Ơ(SK(5D.G.0GϠ50 GϠ0 à àDNŠHNŠHANGS àDSPAYDҠDAS 650ASSGN660ϠN A̠UDD(N à à?APԠ(PMPԩDҠDASDSPAYD 660ASSGN60Ϡ A̠MSG(00̬5 60ʱ(B(5D+ ʲB(D B(ʱʲMP(B3 B(ʱ+ʲMP(0 ASSGN60Ϡ A̠(̩ àSԠSPNS à 60ɽB(D Ơ(B(ɩ..HNϩGϠ0 Ơ(B(ɩ..HYũGϠ900 Ơ(B(ɩ..HGϠ900 à àNVADSPNS ASSGN60Ϡ A̠MSG(00̬5 à à à àҠPSSҠ à à àNVADHAA 30ASSGN35Ϡ A̠MSG(00̬959 35ASSGN90Ϡ̠0.5. A̠(̩ à àNDƠUNŠPSSҠ à àUPDAŠA̠G 900ҽ0 KSK(3D Ơ(KB(K..HGϠ905 A̠SADD(H50KB(K5ҩ Ơ(..0GϠ300.0. 905A̠MV(KB(KKB(36K à àԠ à àADDNDDPSϠGԠNנDҠGSS 90ASSGN90Ϡ A̠(̩ àDҠGSSHADVנNDN àADUSԠNŠNDDPS 90Ơ(B(D..GϠ00.. 90ɽSK(D GϠ ND ND$ =A6 U c 24386-18026 1451 S 0122 26ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMU05 àB(SAUSUNDMԠN à5-0-00 àU0ASHŠUSҠϠUPDAŠHŠGHԠHAGSANDH àADDNA̠HAGSANDMMNS àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 NGҠM DMNSNKG(6 DAAKGԯH(׬HGԬHHH0H à àSԠSGMNԠ B(D0 à à?GHԠ(PMPԩ 00ASSGN05Ϡ A̠MSG(00̬0 05ʱ(B(5D+ ʲB(D B(ʲB(ʲ+ A̠MV(KGԬB(ʱʲ6 KSK(3D A̠SMVŠ(KB(36KB(ʱʲ6 ʱʱ+6 B(ʱʲMP(B9 B(ʱ+ʲMP(0 ASSGN0Ϡ A̠(̩ à àSԠSPNS 0ɽB(D Ơ(B(ɩ..HGϠ0 à àMVŠNPUԠϠDҠMAS KSK(3D A̠MV(B(ɩKB(3K3 0ASSGN50Ϡ à àDASSSUS?DAŠUD?SHPDAŠPMPS à A̠DAS(ԩ àSSUNNSK(9 à à?UPDAŠHAGS(PMPԩ à 50ASSGN55Ϡ A̠MSG(00̬9 55ʱ(B(5D+ ʲB(D B(ʱʲMP(B3 B(ʱ+ʲMP(0  ASSGN60Ϡ A̠(̩ à àSԠSPNS 60ɽB(D Ơ(B(ɩ..HYũGϠ0 Ơ(B(ɩ..HGϠ0 Ơ(B(ɩ..HNϩGϠ90 à àNVADSPNS ASSGN55Ϡ A̠MSG(00̬9 à à à àPMPSҠUPDANGADDNA̠HAGS 0ASSGN90ϠN A̠GHG(N àSSUNNSK(9 à àGԠA 90KSK(3D ýKB(K A̠S(KB(33K660B Ơ(..GϠ00 ASSGN00ϠN A̠GA(ìN à à àAUAŠDN à 00KSK(3D A̠MV(KB(6KKB(K à àSUBAԠDSUN 3SK(3D ҽ0 A̠SSUB(KB(3036KB(3ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àADDA ҽ0 A̠SADD(KB(3336KB(3ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àADDGH ҽ0 A̠SADD(KB(336KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ00 à àADDNSUAN ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ00 à àADDSPàHG ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ00 à àHKDԠM Ơ(M(B(00B..0GϠ0 ҽ0 Ơ(SM(KB(36KB(3ҩ..0GϠ0 àDSPAYDԠMԠDDMSSAG ASSGN60ϠAB A̠MSG(00AB̬559 60ASSGN0ϠAB A̠(AB̩ à à?DSPAYAS(PMPԩ 0ASSGN300ϠN A̠D(N à à?APԠ(PMPԠҠA̠HAGS à 300ASSGN305Ϡ A̠MSG(0W0̬5 305ʱ(B(5D+ ʲB(D B(ʱʲMP(B3 B(ʱ+ʲMP(0 ASSGN30Ϡ A̠(̩ à àSԠSPNS 30ɽB(D Ơ(B(ɩ..HNϩGϠ00 Ơ(B(ɩ..HGϠ900 Ơ(B(ɩ..HYũGϠ900 àNVADSPNS ASSGN305Ϡ A̠MSG(00̬5 à à àҠPSSҠ à àAHMàV 00ASSGN05Ϡ A̠MSG(00̬9996 à àUNϠPMPԠҠADDNA̠HAGS 05ASSGN00Ϡ A̠(̩ à àNVADHAA 0ASSGN5Ϡ A̠MSG(00̬9599 5ASSGN30Ϡ A̠(̩ 30KSK(3D KB(KH B(D àB(D̠UPDAŠDMSԠàUNϠMANPGM à àA̠HŠU0SGMNԠ à 900A̠S(0 A̠S(9SAԬDUN A̠SYS((0060BABS(SAԩ 999A̠ű ND SUBUNŠDAS(N à àDASPMPSUSҠҠUDDAŠANDƠNHŠDҠUPDA àSGMNԠ̠ASϠPMPԠҠSHPDA à àSK(9N àSK(MPUDGϠVAAB à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUqMìKAجKDS MMNSK(00 DMNSNU̱(3 DMNSNU̲(3 DMNSNKBNK(3 DMNSNSD(3 DAAKBNKHHH à SK(9DN àSԠVAABŠҠMPUDG SK(D à?DAŠUDNԠUPUԠƠSHPDAŠHASBNUPDAD ҽ0 KSK(3D Ơ(SM(KBNK6KB(55Kҩ.N.0GϠ5 àPMPԠҠDAŠUD à?DAŠUD(PMPԩ ASSGN00ϠK A̠MSGƠ(00K3 00ɽ(B(5D+ ʽB(D àAPԠDA-UPϠHAAS B(ɬʩMP(3 àAPԠ""ƠNDҠUPDAŠSGMN Ơ(B(D..B(ɬʩMP(03B B(+ʩMP(0 ASSGN0Ϡ A̠(̩ à àS""AVADSPNS? àSHPҠUDDAŠBNGPSSD? 0NSK(D GϠ(030N à àPSSUDDA à 03ʽB(D Ơ(B(ʩ.N.HGϠ05 Ơ(B(D..GϠ5 à àAŠNHŠDҠNYSGMN à""NVADƠUDDAŠSBANK 03ҽ0 KSK(3D Ơ(SM(KBNK6KB(0Kҩ..055 à àPSSSHPDA à 0ʽB(D Ơ(B(ʩ.N.HGϠ05 KSK(3D à""NVADƠSHPDAŠSBANKSAUSS5 Ơ(SM(KBNK6KB(55Kҩ..050900 à àNVԠϠUAN à 05ʽB(D A̠ʠ(B(ʩU̱SAԩ Ơ(SA.N.0GϠ5 à à àUANYA 0A̠Aɠ(U̱U̲SAԩ àUANDAY A̠Aɠ(U̱35U̲(SAԩ àMPAŠDAŠUDϠDAY(MUSԠBŠҠ Ơ(U̲..B(5GϠ5 Ơ(U̲.G.B(5GϠϠ5 Ơ(U̲(..B(6GϠϠ5 à 5KSK(3D NSK(D ʽB(oD GϠ(030N à àDAŠUD 0A̠DA(B(ʩKB(0K 5SK(D KSK(3D Ơ(KB(K.N.H5GϠ900 à à?SHPDAŠ(PMPԩ ASSGN00Ϡ A̠MSG(00̬50 àSAVŠSHPDAŠND 30A̠DA(B(ʩKB(55K GϠ900 à àDAŠNDASNVAD à 5Ơ(SK(D..GϠ50 àNVAD-NҠ(MSSAGũ à?DAŠUD(PMPԩ ASSGN00ϠK A̠MSG(00K3 à à?SHPDAŠ(PMPԩ 50ASSGN00Ϡ A̠MSG(00̬50 à àԠ à 900̽SK(9D GϠ ND SUBUNŠDB(KSAԩ à àDBҠ̠NVԠHŠDBMSҠDŠϠASɠANDDSPAY àԠHAMSSAGŠϠHŠAPPPAŠMNA.Ԡ àASŠHŠMNA̠NPUԠBUҠANDSSUŠAUNϠMAN. àԠSHŠSPNSBYƠHŠANGPGAMϠANUP àHSSABSPNSKSASŠANYDSK àBUSHŠMGHԠHAV. à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNMSG(3KSA( à DAAMSGHDAHAHBHASHŠHҬHϬHҠHNϬH HHnH à Ơ(KSA..0A̠SYS(H- ʽB(D A̠A(KSAԬMSG( A̠MV(MSGB(ʩ3 A̠S(B(5DB(ʩ3D A̠S(9SAԬDUN Ơ(SAԩ030 0A̠SYS((ABS(SAԩ30060B 30A̠PBU(B(D B(D0 àUNƠAVYAG(B̠BԠ5 B(DAND(B(D3B àUNKANYDSҠHSMNA ɽ 35ɽNK(ɬD Ơ(ɩ50035 0A̠S(5 50A̠SYSҠ(H ND SUBUNŠNBU(ԩ à àNBUƠGSANNPUԠBUҠNUMBҠANDSPAŠSHŠBU àSK(0SAVSUNADDSS à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à SK(0D 00A̠GBU(ɬ Ơ(.G.0GϠ990 àAԠҠBU A̠S(BD A̠S(9SAԬDUN Ơ(SA..0GϠ0 GϠ00 à 0A̠SYS((0060BABS(SAԩ 990B(D A̠S(B(ɩ30H B(3D àԠ NSK(0D GϠN ND SUBUNŠDKBU(ԩ à àDKBUƠGSADSKBUҠANDSAVSHŠNUMBҠNSK(3 àSK(0SAVS*($UNADDSS à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à SK(0D 00A̠GBU(K3 Ơ(K.G.0GϠ990 àAԠҠBU A̠S(BD A̠S(9SAԬDUN Ơ(SA..0GϠ0 GϠ00 à 0A̠SYS((0060BABS(SAԩ à 990SK(3DK à àԠ ɽSK(0D GϠ ND ND$ :SԬҬ05 : * V b 24386-18027 1451 S 0122 27ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N SUBUNŠGA(ìԩ àSԠ6BYSϠUSŠHSMPY àSK(9 àSK(0 à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNNA(3 DMNSNS(3 à SK(0D SK(9D à àDMNŠA A̠S̠(NAج660B à àKAؠSHŠNUMBҠƠAؠANSNA Ơ((..0.AND.(.G.KAةGϠ330 A̠A(A(éNAة GϠ30 à àNϠMAHà(MSSAGũ à?A(9V9999(PMPԩ 330ASSGN30ϠAB A̠MSG(00AB̬565 30̴(B(5D+ 5B(D B(̴5MP( B(̴+5MP(0 ASSGN350ϠAB A̠(AB̩ 350̲B(D A̠MV(B(0̲NAج3 à àMPUŠA̠AؠVAU à 303SK(3D àMVŠDҠGSSϠS A̠MV(KB(63S(0 à à(DҠGSS-DSUNԩ ҽ0 A̠SSUB(KB(3036S(0ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à à(Aؠ(DҠGSS-DSUNԩ ҽ0 A̠SMPY(NAج6SԬ96ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àt àUNDUP? ҽ0 A̠SADD(H50SԬ53ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àAؠSԠDV? Ơ(S(.G.H00GϠ00 à àUPDAŠAؠS 30A̠MV(S(9KB(3333 à àԠ à 00ɽSK(0D GϠ à àAHMàV 00A̠S(KB(333660B ASSGN05Ϡ A̠MSG(00̬950 05ASSGN00Ϡ A̠(̩ àNVADHAA à 0A̠S(KB(333660B ASSGN5Ϡ A̠MSG(00̬960 5ASSGN00Ϡ A̠(̩ ND SUBUNŠD(ԩ àSK(9UND à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNMSK(6 DMNSNMSK( DMNSNMSK3( DMNSNKGS(3 DMNSNNDS(3 DMNSNK(3 DMNSNNA(3 DMNSNKNS(3 DMNSNKHG(3 DMNSNKD(3 DMNSNKN(3 DMNSNKG(3 DMNSNKN(5 DMNSNKMN(3 DAAKMNԯHϬHMNHS DAAKGSHҬHDGHS DAANDSHDɬHSìHNԯ DAANAدHAHؠH DAAK#ԯHҬHGHHԠ DAAKNSHNHSUHҠ DAAKHGHSPHHHG DAAKDHSPHϬHDů DAAKNԯHҬHDNHԯ DAAKGԯHŬHGHHԯ DAAMSKHZZHZZHZZH9.H99Hү DAAMSKHZZHZZH9.H99 DAAMSK3HZZHZ9 DAAKNH(HH0HBH à àNAZ SK(D0 SK(9D à àGԠNPUԠBU Ơ(B(D.G.0GϠ60 ASSGN60ϠN A̠NBU(N 60ɽB(D A̠S(B(ɩ330H 0B(ɩH B(5ɩH B(6ɩH 3SK(3D à àUPUԠBANKN A̠S(B(5DB(ɩD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à à àDGS 00ɽB(D A̠MV(KGSB(ɩ3 3SK(3D A̠SMV(MSKB(ɩ A̠SD(KB(355B(ɩ GϠ900 à àDSN 0A̠MV(NDSB(ɩ3 A̠S(B(ɩ30H A̠SMV(MSK0B(ɩ A̠SD(KB(3596B(ɩ0 GϠ900 à àA 5A̠MV(NAجB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(3650B(ɩ0 GϠ900 à àGH 0A̠MV(KԬB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(350B(ɩ0 GϠ900 à àNSU 30A̠MV(KNSB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(36B(ɩ0 GϠ900 à àSPHG 0A̠MV(KHGB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(39B(ɩ0 GϠ900 à àSPD 50A̠MV(KDB(ɩ3 A̠S(B(ɩ330H A̠SMV(KB(369393B(ɩ00 GϠ900 à àDN 60A̠MV(KNԬB(ɩ3 A̠SMV(MSKB(ɩ A̠SD(KB(3950B(ɩ GϠ900 à àGH 0A̠MV(KGԬB(ɩ3 A̠S(B(ɩ30H A̠SMV(MSK30B(ɩ A̠SD(KB(3B(ɩ0 A̠SMV(KN09B(ɩ GϠ900 à àMNS 5A̠MV(KMNԬB(ɩ3 A̠S(B(ɩ300B A̠SMV(KB(36B(ɩ GϠ900 à 0Ơ(B(D.G.0A̠PBU(B(D B(D0 B(3D àԠ ɽSK(9D GϠ à àSYSҠUN 0A̠SYS((0060BABS(SAԩ à àDSPAYDAA 900A̠S(B(5DB(B(D5D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ àSԠVAABS KSK(D+ SK(DK 3SK(3D ɽB(D GϠ(0503005060050K ND SUBUNŠDD(NBUƬԩ àDDԠDSPAYSSDDAA(NŠMPDUԠDUANY àDSPNƠHŠDҠDA̠DSHAԠHAVŠBN àNϠHŠDSKKAA. à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGdŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à DMNSNNBU(5 DMNSNNBU(3 DMNSNMSK(3 DMNSNMASK(5MASK(5 DAAMSKHZZHZZHZ9 DAAMASKHZZHZ9H.9H99H9 DAAMASKHZZHZHZZH9.H99 à àNAZ SK(9D A̠GB 5B(D à àMAԠUPUԠBU àNŠ 60A̠MV(NBU(5B(5 àPDD A̠MV(NBU(6B(55 àY A̠SMV(MSK6B(05 A̠SD(NBU(36B(056 àDSPN A̠MV(NBU(B(5 àMVŠANDDԠUNԠP A̠SMVŠ(MASK9B(55 A̠SDԠ(NBU(30B(5560 àMVŠANDDԠNDDP A̠SMV(MASK0B(56 A̠SD(NBU(3B(560 à àDSPAYDAA 00A̠S(B(5DB(B(D35D A̠S(9SAԬDUN Ơ(SA..0GϠ0 àԠ ɽSK(9D GϠ à à 0A̠SYS((0060BABS(SAԩ ND SUBUNŠBU(ԩ à àBUƠASSHŠNPUԠANDUPUԠBUSAND àSSHŠBUҠ'SϠZϠAND àSSHŠBYŠPNSϠ àSK(0SAVSUNADDSS à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSDX(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à àSAVŠUN SK(0D Ơ(B(D.G.0A̠PBU(B(D Ơ(B(D.G.0A̠PBU(B(D B(D0 B(D0 B(3D B(5D àԠ NSK(0D GϠN ND SUBUNŠMNS(ҬUN à àMNSADSHŠDҠMASҠDMHŠK-AA àPNSDҠGHԠANDANYMMNSNHŠBM àHŠD. à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 NGҠG(9 DAAGԯHŬHGHHԬH:HZZHZZH0HBHS. B(D B(5DUN à àADDҠMAS à KSK(0D A̠(KB(KB(6DB(D+ ʽB(D A̠S(B(ʩ00B A̠SMV(GԬB(ʩ3 A̠SD(KB(K36B(ʩ5 à àPNԠGH à A̠S(B(5D+00BB(ʩ-56D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ ʽB(D *($KSK(0D A̠S̠(B(ʩ00B A̠SMVŠ(KB(3K6B(ʩ3 A̠S(3B(5D+00BD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ A̠S(B(5D+00BB(B(D-65D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ à àGԠADYϠPNԠMMNS à KB(D Ơ(B(9D..0GϠK 0ʽSK(D+3 ASSGN0ϠK ɽB(5D Ơ(+B(9D.G.3A̠HD(ɬK 0KSK(0D A̠(KB(KB(6DB(D+ SK(D à àPNԠMMNS à 30ɽSK(D ʽB(D KSK(0D A̠S(B(ʩ00B A̠MVנ(KB(ɬKB(9ʩ5 SK(D+5 A̠S(B(5D+00BB(ʩ33D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ ɽB(9D- B(9D Ơ(.G.0GϠ30 KB(D GϠK ND ND$ * W c 24386-18028 1451 S 0122 28ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMPNԱ5 àPNԱSHŠűN-NŠNVŠPNNGPGAM. àԠ̠PMPԠҠHŠDҠϠBŠPND.DҠSAUS à̠BŠHKD.Ơ"HNV"SUANY-SHPPDNDDP à̠BŠAUADNUANYSHPPD. àHUSUBUNŠGUSԠANANAŠSHP-ϠADDSSMMNS àANBŠND. àHŠGA̠UNԠSHŠUPUԠDVŠNHŠB. àHŠUSMҠà̠BŠNSԠSԠƠDSKK. àHŠDҠMASҠ̠BŠNNDSԠƠDSKK. àMMNSAŠNSҠ3-NƠDSKK(NԽB(9D àSK(NŠUN àSK(-D àSK(0DSKBU à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNDS(3KSA(BU(60Z(AUM(3VD(3 DMNSNDԱ(DԲ(5D3(3NUM(MS(0NB(0 DMNSNUS(3 DMNSNN(3 DAANHŬHUHN DAADSԠHҬHDMHSԯ DAAZϠH00H00H00H00 DAAVDHHVϬHD DAADԱHZZHZZH9.H99 DAADԲHZZHZHZZH9.H99 DAAD3HZZHZZHZZ àZϠAAҠHANUNԠNDҠDAS 0;xB(0D0 àPMPԠҠDҠ 0ASSGN0ϠK A̠MSGƠ(B(DB(5DK36 0ɽ(B(5D+ ʽB(D àAPԠ"UN"Ҡ6HAҠDҠ B(ɬʩMP(6 B(+ʩMP(56 B(+ʩMP(0 ASSGN50ϠK A̠Ϡ(K 50ɽB(D àƠ"UN"UNϠMAN Ơ(SM(B(ɩ6Nҩ5599055 àSŠDNSK- 55A̠MVנ(B(ɩSK(D3 àGԠDSKBU 60A̠GBU(M3 Ơ(M650 65A̠S(BD A̠S(9SAԬDUN Ơ(SAԩ95060 àSŠBUҠ 0SK(0DM àGԠDҠMAS 5MSK(0D A̠DBGԠ(DSԬSAԬKB(MSK(D Ơ(SA..0GϠϠ0 Ơ(SA.N.0GϠϠ900 GϠϠ90 àNϠDUND 0ASSGN0ϠK MSK(0D A̠PBUƠ(M3 A̠MSGƠ(B(DB(5DK à àHKSAԠ-ƠKϠPN 90Ơ((KB(3M..Hұ..(KB(3M..Hѱ.. (KB(3M..Hñ..(KB(3M..H5GϠϠ95 à àNVŠNԠDDҠPNNG 9ASSGN0ϠK A̠PBUƠ(M3 A̠MSGƠ(B(DB(5DK66 95Ơ(KB(3M.N.HұGϠϠ00 àƠHNVSPNԠNYNVSDD5 Ơ(M(B(00B00009 à àA̠UNŠϠGԠUSԠàMMNS à 00A̠MVנ(KB(0MUSԬ3 àSŠSAԠҠHADҠUN àKDҠMAS à(DAASԠãMNA̠D àUNNAVYAG(B̠BԠ5 B(D(B(D0B Ơ(K(SA(D9505 0NNU B(DKB(3M ASSGN05Ϡ A̠GUS(ҬUSԩ 05Ơ(.SA..0GϠϠ5 Ơ(SA..0GϠϠ0 GϠϠ900 àNϠUSMҠD 0ASSGN0ϠK A̠PBUƠ(M3 Ơ(NK(D955 5A̠MSGƠ(B(DB(5DK65 à àKPNԠDV à 5ɱ33-D ʱK(0B(3ɱ D33-ɱ Ơ(ʱ95305 àGԠDҠMAS 30MSK(0D 35A̠DBGԠ(DSԬSAԬKB(MSK(D Ơ(SA.N.0GϠϠ900 5MSK(0D àŠDҠMASҠϠSҠƠׯA A̠à(KB(MB(6DB(D+ à àPASSUNԠƠPNNGDV à 50ASSGN60Ϡ A̠HDҠ(B(3ԩ àGԠUPUԠBU 60A̠GB 5NB(D àUNŠϠADMAԠDA̠N 0A̠GD(SK(DB(NBUƩ Ơ(SA.N.0GϠϠ900 àNDƠDA̠DS? Ơ(B(0D..0GϠϠ300 àMVŠNDԠMASKS A̠SMVŠ(DԱB(N6 A̠SMVŠ(DԲ0B(N A̠SDԠ(BUƬ650B(N669 A̠SDԠ(BUƬ30B(N0 àŠPNԠN NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ950 àSNGŠSPAŠADDNA̠N 50NB(3+00B A̠S(3ND A̠S(9SAԬDUN Ơ(SA..0GϠϠ950 à àADDϠNŠN SK(DSK(D+ àHKҠNנPAG Ơ(SK(D..30GϠϠ5 àUNϠPSSNԠDA̠N ASSGN60Ϡ A̠HDҠ(B(3ԩ 60GϠϠ5 àA̠A̠DҠUN 300ASSGN30Ϡ A̠N(ԩ 30ASSGN30Ϡ A̠MNS(ԬɣB(3 à à àUNKPNԠDV à 30ɱ33-D ʱNK(0ɱ à àUPDAŠSA MSK(0D A̠DBGԠ(DSԬSAԬKB(MSK(D Ơ(SA.N.0GϠϠ900 A̠SPUԠ(KB(M66B àGԠDAASԠ A̠DBNƠ(HS5DSԬNUM SAԽNUM Ơ(SA.N.0GϠϠ900 àGԠDAAM'S A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0GϠϠ900 àMAKŠDAAMSPSV DϠ350ɽMS( MS(+ABS(MS(+ 350NNU àSUBAԠMMUNԠҠKY NBҽMS(- àMVŠDAAMSϠAAҠUPDA A̠MVנ(MS(NB(NBҩ àUPDAŠD A̠DBUPD(DSԬSAԬNBҬKB(0MBUƩ Ơ(SA.N.0GϠϠ900 KB(6MHM A̠G(KB(6M5B(3 àUNKŠ-UNϠPMPԠҠDҠN 35Ơ(NK(D9530 àA̠SUBUNŠϠUPDAŠUSԠDA̠(ãϣ 30MSK(0D A̠DUP(KB(0MKB(M NB(D Ơ(SA.N.0GϠϠ900 A̠PBU(N B(D0 MSK(0D A̠PBU(M3 GϠϠ0 àDAABASŠS 900KSAԽSA ɱ33-D ʱNK(0ɱ Ơ(NK(D9590 90MSK(0D A̠PBU(M3 NB(D A̠PBU(N B(D0 A̠DB(KSAԩ àSYSM 950A̠SYSҠ((ABS(SAԩ30060B 960A̠ű àAHMàV 95A̠SYSҠ(H3 àSYSM--ŠK 95A̠SYSҠ(H àUNƠAVYAG(B̠BԠ5 990B(DAND(B(D3B A̠S(5 ND SUBUNŠN(ԩ à àA̠DҠUN(ԩADBYPNԱ Uà àB(0DUNADDSS à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNDAA(MSK(5 DMNSNZ(3 DAADAAHDɬHSìHUHNԬHҬHɬHGHHԠHNŬ HԠHŬHGHHԬHϬHMMHNHSHGҬ HSHSHSPHìHAH̠HHHAҬHGů DAAMSKHZZHZHZZH9.H99 DAAZϠH00H00H00 àSŠUNADDSS B(0D àSPAŠNS 0NB(3+00B A̠S(3ND A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 àBANKPNҠBUҠ-SAVDMPNԱ à NB(D B(NH A̠MVנ(B(NB(N39 àADDҠMASҠMDSKK MSK(0D A̠à(KB(MB(6DB(D+ àGSS$ A̠MVנ(DAA(B(9N3 àDԠMASK A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M630B(N0 àPN 35NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 0MSK(0D àDSUN NB(D A̠MVנ(DAAB(9N MSK(0D àƠDZϠBYPASSPNNGN Ơ(SM(KB(M6ZϬҩ506050 50A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M6B(N0 NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 àGH 60NB(D A̠MVנ(DAA(5B(9N MSK(0D àƠDZϠBYPASSPNNGN Ơ(SM(KB(M9ZϬҩ000 0A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M9B(N0 NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 à àSPA̠HAGS 0NB(D A̠MVנ(DAA(B(9N MSK(0D àƠDZϠBYPASSPNNGN Ơ(SM(KB(M990ZϬҩ900090 90A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M990B(N0 NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 à àDҠN à 00NB(D B(NH A̠MVנ(B(NB(N39 A̠MVנ(DAA(9B(9N A̠SMVŠ(MSK0B(N MSK(0D àPKUPNԠAMUNԠM 0A̠SDԠ(KB(M0B(N0 àPNԠNԠAMUNԠN 0NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 50NB(3+00B A̠S(3ND A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 GϠϠ0 àAHMàV 60A̠SYSҠ(H3 àaNDƠA̠UNŠ-SԠUNADDSS 0ɽB(0D GϠϠ 00A̠SYSҠ((H00ABS(SAԩ ND SUBUNŠDUP(NϬNϩ à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNN(3N(3DS(3PAH(3BU(30 DMNSNNUM(MS(0NB(0 DAADSԠHUHSԬHD DAAPAHHUHSԬHD A̠DBND(SAԬDSԬPAHNϩ Ơ(SA.N.0GϠϠ0 SAԽ0 UN 0Ơ(SA.N.0UN Ơ(SA(3..0UN SAVŽSA(3 5DϠ30ɽSAV A̠DBGԠ(DSԬSAԬBUƬNϩ Ơ(SA.N.0UN Ơ(SM(BUƬ3NϬҩ30030 30NNU àPPAŠϠUPDAŠUSԠDAS 0A̠DBNƠ(HS5DSԬNUM SAԽNUM Ơ(SA.N.0UN àGԠDAAMS'S A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0UN àMAKŠMSPSV DϠ50ɽMS( MS(+ABS(MS(+ 50NNU àSUBAԠҠKY NBҽMS(- A̠MVנ(MS(NB(NBҩ àHANGŠSAUS A̠SPUԠ(BUƬ566B A̠DBUPD(DSԬSAԬNBҬBU(MS Ơ(SA.N.0UN BU(3HD A̠G(BU(36B(3 ND PGAMSԬ5 à àSԠ̠PMPԠҠGNàNAM.Ԡ̠ASSH àNDؠŠҠHŠD'SNHŠGNàNAMŠ. àԠPSVSHŠNNSƠSK6-0ҠUNϠ0. àƠNUMà(ƠNSNŠNDةSZϬSԠ àDSPAY"GNàŠMPY"ANDUNϠ0. à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à ASSGN0ϠG Ơ(NUM..0A̠MSGƠ(00GϬ6 ASSGN0ϠG A̠MSG(00GϬ5 0ʽB(D ̽(B(5D+ B(̬ʩMP(90 B(+ʩMP(0 ASSGN0ϠG A̠(Gϩ 0BB(D B(DN ýB(B à àNDNDؠNY à DϠ30ɽNUM Ơ(SM(NDG(ɩìSAԩ30035 30NNU àNϠDUND 35ASSGN0ϠG A̠MSG(B(DGϬ 0ASSGN00ϠG A̠(Gϩ à àADNDؠ à 0B(DNDG(ɩ A̠GB 90B(5D ASSGN00ϠG A̠DG(B(DGϩ 00ɽB(D ʽB(D Ơ(SM(B(ʩB(DB(ɩSԺ2640Aԩ0035 0B(DB(D+ GϠ90 à àUNDNDؠNנAD à 0B(D0 B(DB(6ʩ B(3DB(ʩ 5B(5D3 ASSGN30ϠG A̠DG(35B(DGϩ 30ʽB(D B(6ʩH A̠MV(B(ʩB(ʩ5 B(ʩH A̠MV(B(ʩB(3ʩ B(ʩH A̠MV(B(ʩB(ʩ B(ʩH A̠MV(B(5ʩB(3ʩ A̠S(B(5DB(ʩ3D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ B(DB(D+ B(DB(D+ B(3DB(3D- Ơ(B(3D..0GϠ00 Ơ(B(D..0GϠ5 B(DB(D B(D0 ASSGN0ϠG A̠NU(Gϩ 0B(DB(D Ơ(B(5D..HNϩGϠ00 B(D0 GϠ5 à àA̠DNŠAV à 00ɽB(D ʽB(D Ơ(.N.0A̠PBU(ɬ Ơ(.N.0A̠PBU(ʬ B(D0 B(D0 A̠S( SP30 999A̠ű ND ND$ 6 X f 24386-18029 1451 S 0122 29ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N SUBUNŠ(ԩ àB(SAUSUNDMԠN àA0NDASSUSSU̠A̠ƠHŠD à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à DMNSNKD(3 DAAKDHҬHDŬHԠ à àSAVŠUN SK(0D à B(D0 KSK(3D à àZϠDGS A̠S(KB(6K60B à àGԠHANNGH SK(5DND(KB(KSAԬB(D KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ Ơ(SK(5D.G.000990 à àSŠHANN 00NϽB(D A̠DBN(HҠ6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ B(DN à àHANADƠDҠDA KSK(3D A̠DBG(KDSAԬKB(5KN KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àSAVŠHANN NϽB(D A̠DBN(HS6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ B(DN à àADDPҠϠDGS ҽ0 A̠SADD(KB(9KKB(6Kҩ Ơ(..0GϠ00 Ơ(.G.0GϠ0 à àNVADHAAҠ(MSSAGũ àNDDPŠ(MSSAGũ ASSGN0Ϡ A̠MSG(00̬9500 0ASSGN0Ϡ A̠(̩ 0B(D àB(DSUSNAUNϠMANPGM à àSAԠSNMP KSK(3D KB(KH GϠ990 à àVנ(MSSAGũ àDҠGSS(MSSAGũ àDSPAYNŠNϠVD 0ASSGN5Ϡ A̠MSG(00̬399639 5ʱ(B(5D+ ʲB(D B(ʱʲMP( KSK(3D B(ʱ+ʲKB(65K B(ʱ+ʲMP(0 ASSGN50Ϡ A̠(̩ 50B(D àB(DNDASN-P̠UNϠHŠ?NŠMNϠPMP GϠ990 00SK(5DSK(5D- Ơ(SK(5D.G.0GϠ00 à àUN 990NSK(0D GϠN ND SUBUNŠNUD(ԩ àNUDSNנDҠMASҠANDDҠDASDSϠH àMAGŠS àSK(0HDSUN àSK(3DDSKBUҠ àB(HDSHŠNŠMϠBŠUSDNNGHŠDҠDA à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à DMNSNB( DMNSNVA(60 DMNSNMP(9 DMNSNMYBU(60 DMNSMwNKDM(3 DMNSNKDD(3 DMNSNKZ(3 NGҠM NGҠD àMDMSԠDNGH+ DAAM5 àDDDԠDNGH+ DAAD0 DAAKZϯH00H00H00 DAAKDMHҬHDMHSԯ DAAKDDHҬHDŬHԠ à àNAZ SK(D B(DH0 à àNנDҠMASҠ à 60KSK(3D A̠MV(KB(KVA̬5 à àSAԠSDDà(NMPũƠNϠDASAŠAD Ơ(B(9D.G.GϠ0 VA(H KB(KH à àŠSҠBAKϠDSKKAA 0KSK(3D A̠(KB(KB(6DB(D à àGԠDAASԠNUMB A̠DBN(HS5KDMMP KSAԽMP Ơ(KSA.N.0GϠ00 à àGԠMUNԠNUMBS A̠DBN(HɠMP(Bҩ KSAԽB Ơ(KSA.N.0GϠ00 à àMAKŠMSNUMBSPSV DϠ00ɽ3B(+ 00B(ɩABS(B(ɩ à àŠNנDҠMAS A̠DBPU(KDMSAԬB(VA̬KB(K KSAԽSA Ơ(KSA.N.0GϠ00 à àŠDҠMASҠϠGAP 0A̠MV(VA̬MYBU(M- MYBUƽHM A̠G(MYBUƬMB(3 à àNנDҠDAS à àADDҠDAS 95B(0D 00Ơ(B(0D.G.B(9DGϠ0 A̠DD(VA̩ ҽ0 Ơ(SM(VA(36KZϬҩ..0GϠ0 àNŠMSHZϠYSAŠNԠNϠHŠDҠDA̠ VA(5B(D à àGԠDAASԠNUMB A̠DBN(HS5KDDMP KSAԽMP Ơ(KSA.N.0GϠ00 à àGԠMUNԠNUMBS A̠DBN(HɠMP(Bҩ KSAԽB Ơ(KSA.N.0GϠ00 à àMAKŠMNUMBSPSV DϠ0ɽ3B(+ 0B(ɩABS(B(ɩ à àŠNנDҠDA KSK(3D A̠DBPU(KDDSAԬB(VA̬KB(K KSAԽSA Ơ(KSA.N.0GϠ00 à àŠDҠDA̠ϠGAP 3A̠MV(VA̬MYBU(D- MYBUƽHD A̠G(MYBUƬDB(3 à àNMNԠNŠMUN à 35ҽ0 A̠SADD(H0B(Dҩ Ơ(..0GϠ0 Ơ(.G.0GϠ0 à àNVADHAA B(DH0 0B(0DB(0D+ GϠ00 à àԠ 0ɽSK(D GϠ à àҠPSSҠ àDAABASŠ 00Ơ(SK(3D.G.0A̠PBU(SK(3D3 SK(3D0 ASSGN05ϠN A̠BU(N 05A̠DB(KSAԩ à 0A̠SYS((0060BABS(SAԩ ND SUBUNŠNG(ԩ àNGԠAUASANנA̠GH. àA̠GHԠSDUDBYHŠDYPDUԠGHԠAND àNASDBYHŠNנYPDUԠGH à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNMP(0 DMNSNAS(3 DAAASԯHHH à àNAZ | SK(0D à àDUŠA̠G à(ԠGԠ-(DYGԩ 35KSK(3D Ơ(KB(K..HGϠ00 A̠MV(KB(KMP(9 ҽ0 A̠SMPY(KB(0K6MP0ҩ Ơ(ҩ00350 à 3ҽ0 A̠SSUB(MP50KB(K6ҩ Ơ(ҩ0030050 à àMPUŠNנG à(A̠GԠ+(NנYGԩ 300KSK(3D A̠MV(KB(KMP(9 ҽ0 A̠SMPY(KB(K6MP0ҩ Ơ(ҩ0035050 350ҽ0 A̠SADD(MP50KB(K6ҩ Ơ(ҩ000050 00GϽSK(0D GϠG à àNVADHAA 00ASSGN55Ϡ A̠MSG(00̬959 à àV 50ASSGN55Ϡ A̠MSG(00̬996 55ASSGN00Ϡ KSK(3D A̠MV(ASԬKB(K3 A̠(̩ ND ND$ :PҬN99 N SUBUNŠPà(PDHSũ à àPà̠PNԠHŠHSŠANSNHŠPKS àƠHŠANSAŠAVAAB. à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNDS(3PAH(3PD(5BU( DAADSԠHPҬHDŬHԠ i DAAPAHHPҬHDHD àBANKBU àSԠƠPDUԠMASҠAVAAB ʽB(D A̠S̠(B(ʩ00B Ơ(M(B(B550 àHKҠPDUԠDA̠S 0Ơ(M(B(B5530 5SAԽ0 UN 30A̠DBND(SAԬDSԬPAHPD Ơ(SA..0GϠϠ5 Ơ(SA..0GϠϠ35 GϠϠ àNϠNVNYDS 35Ơ(SA(3..0GϠϠ àPDNHANҠHS NԽSA(3 DϠ5ɽN A̠DBGԠ(DSԬSAԬBUƬPD Ơ(SA.N.0GϠϠ Ơ(HS..BU(9GϠϠ50 5NNU UN àUNDMAHNPDUԠANDHS--MVŠNANS 50ʽB(D A̠MVנ(BU(B(9ʩ3 A̠MVנ(BU(B(ʩ3 GϠϠ ND SUBUNŠUDD(ԩ àUDDԠMASANDDSPAYDҠDA̠DAA àUNSAVDNSK(9 à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNKAN(5 DMNSNMYBU( DMNSNKDD(3 DMNSNMSK(3 DMNSNMSK(5 DMNSNKSHP(3 DAAKSHPHSHHPHD DAAKDDHҬHDŬHԠ DAAKANHAHNìH̬HŬHD DAAMSKHZZHZZHZ9 DAAMSKHZZHZ9H.9H99H9 à àNAZ à SK(9D à àDSPAYDҠDA̠NϠ à àGԠHANN à 30KSK(3D àGԠHANNGH SK(5DND(KB(KSAԬB(D KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ NϽB(D Ơ(B(D..0A̠GB ʽB(D à àSKPAN B(ʩH A̠S(B(5DB(ʩD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à àSŠHANN à 30NϽB(D A̠DBN(HҠ6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ à àGԠDҠDA̠D à A̠DBG(KDDSAԬMYBUƬAG KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àSAVŠHANN A̠DBN(HS6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ B(DN à àSAVŠDҠDA̠D KSK(3D A̠MV(MYBU(KB(6K39 ʽB(D à àMAԠDҠDA à àN B(ʩKB(65K Ơ(KB(9K.N.HةGϠ30 à àNŠMSAND A̠MV(KANB(0ʩ5 GϠ350 à àPD 30A̠MV(KB(66KB(0ʩ5 àDS- A̠MV(KB(KB(9ʩ àYD A̠SMV(MSK6B(ʩ9 A̠SD(KB(3K6B(ʩ9 àUNԠP A̠SMV(MSK9B(ʩ6 A̠SD(KB(90KB(ʩ63 àYSHP A̠SMV(KSHP6B(ʩ6 A̠SMV(MSK6B(ʩ6 A̠SD(KB(6K6B(ʩ6 àDSPAYDҠDA 350A̠S(B(5DB(ʩ35D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à àSԠVAABS SK(5DSK(5D- Ơ(SK(5D..0GϠ00 355ʽB(D A̠S(B(ʩH à àSԠҠU̠SN à KSK(3D Ơ(KB(65K.N.HGϠ305-9- ASSGN360ϠN à à?NNU(YSNϩ àSK(0DHDSUNADDSS àB(5HDSSPNSŠƠNU A̠NU(N 360Ơ(B(5D..HNϩGϠ00 Ơ(B(D..0A̠GB ʽB(D5-9- A̠S̠(B(ʩ00B5-9- GϠ305-9- à àԠ à 00ɽSK(9D GϠ ND SUBUNŠUDB(KSAԩ àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 SK(DKSA KSK(3D à àASŠBUS Ơ(SK(3D.G.0A̠PBU(SK(3D3 SK(3D0 àUNƠMNA̠AVYAGƠN à Ơ(M(B(D0B0000090 90B(DAND(B(D3B à 00A̠DB(KSAԩ ND ND$ 64006 Y g 24386-18030 1451 S 0122 30ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMA̬5 àSK(AGBSAŠS àSK(3DSKBUҠ(KBҩ àSK((5(6A̠GԠMPVUSSGMN àSK(HŠNԠSGMNԠϠBŠAD à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNND(39 DMNSNNA(3 DMNSNKZ( DMNSNAS(3 NGҠU NGҠM NGҠN DAAUүH DAANůH0 DAAASԯHHH DAAKZϯH00H00H00H00 à àSԠSGMNԠ B(D à àNAZ SK(D0 SK(3D0 SK(D5 Ơ(B(9D.G.GϠ0 à àNϠNŠMS(MSSAGũ ASSGN05Ϡ A̠MSG(00̬9 05ASSGN960Ϡ A̠(̩ à à à?DSPAYDҠPMP 0ASSGN0ϠAB A̠MSG(00AB̬55 0̴(B(5D+ 5B(D B(̴5MP(B B(̴+5MP(0 ASSGN30ϠAB A̠(AB̩ àSԠSPNS 30̲B(D (B(̲..HGϠ0 (B(̲..HYũGϠ0 Ơ(B(̲..HNϩGϠ0 à àNVADSPNS ASSGN0ϠAB QA̠MSG(00AB̬55 à àSԠDSPAYAG 0SK(DB à àGԠUPUԠBU 50Ơ(B(D..0A̠GB à àUPUԠBANKN 60A̠S(B(B(D35H ʽB(D A̠S(B(5DB(ʩD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à àGԠDSKBU 0A̠GBU(SK(3D3 Ơ(SK(3D.G.0GϠ0 àAԠҠBU A̠S(BD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ GϠ0 à àADSԠDSàKAAS àMSàDAAHASBNSAVDNHŠASԠPAԠƠHŠS 03SK(3D A̠(KB(3B(6DB(D à àUPDAŠGH 3SK(3D A̠MV(SK(DKB(933 à àZϠDGSD A̠MV(KZϬKB(63 à àDSPAYDA̠MPUŠDGS à B(0D 00Ơ(B(0D.G.B(9DGϠ0 A̠DD(ND à àADDNDDPŠϠDҠGSS 3SK(3D ҽ0 A̠SADD(ND(3KB(63ҩ Ơ(ҩ0900 à àDSPAY? 09Ơ(M(SK(DB..0GϠ0 Ơ(B(0D.N.GϠ30 0ASSGN0Ϡ A̠NU(ԩ àB(5SPNSŠƠNU àSK(0NUHDSUN 0Ơ(B(5D..HNϩGϠ5 A̠DD(ND GϠ30 àUNDSPAYAG 5SK(DAND(SK(D6B GϠ0 à àDSPAYDҠDA 30ASSGN0Ϡ A̠DD(NDԩ 0B(0D(B(0D+ GϠ00 à àASdUPUԠBU 0A̠PBUƠ(B(D B(D0 B(5D à à?APԠPMP à 00ASSGN0ϠAB A̠MSG(B(DB(5DAB̬5 0̴(B(5D+ 5B(D B(̴5MP(B B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ àSԠSPNS 0̲B(D Ơ(B(̲..HGϠ300 Ơ(B(̲..HYũGϠ300 Ơ(B(̲..HNϩGϠ90 à àNVADSPNS ASSGN0ϠAB A̠MSG(00AB̬5 300ASSGN30Ϡ A̠DAS(ԩ à àPMPԠҠADDNA̠HAGS 30ASSGN30Ϡ A̠GHG(ԩ 303SK(3D ýKB(3 A̠S(KB(333660B Ơ(..GϠ0 ASSGN0Ϡ A̠GA(ìԩ à à àBGNMPUNGDҠN àMVŠDҠGSSϠDҠN 03SK(3D A̠MV(KB(63KB(3 à àSUBAԠDSUN ҽ0 A̠SSUB(KB(3036KB(3ҩ Ơ(.G.0GϠ05 Ơ(..0GϠ0 à àADDA ҽ0 A̠SADD(KB(3336KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ05 à àADDNSUAN ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ05 à àADDSPàHG ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ05 à àHKDԠM Ơ(M(B(00B..0GϠ90 ҽ0 Ơ(SM(KB(36KB(3ҩ..0GϠ90 àDSPAYDԠMԠDDMSSAG ASSGN0ϠAB A̠MSG(00AB̬559 0ASSGN90ϠAB A̠(AB̩ à àUPDAŠA7h̠GHԠNDҠMAS 90KSK(3D ҽ0 Ơ(KB(9K..HGϠ95 A̠SADD(H50KB(9K5ҩ Ơ(..09395 à à àNVADHAA 93A̠MV(ASԬKB(9K30.5. ASSGN9Ϡ A̠MSG(00̬959 9ASSGN95Ϡ̠0.0. A̠(̩ 95KSK(3D0.0. A̠MV(KB(9KKB(36K0.0. ҽ0 Ơ(SM(KB(36KKZϬҩ..0KB(3KH0 Ơ(KB(36K..HGϠ500 àMAKŠA̠GԠHŠSAMŠVAUŠBŠԠASUNDDUP ҽ0 A̠SSUB(H50KB(9K5ҩ Ơ(..0GϠ930.5. à à?DSPAYAS(PMPԩ à 500ASSGN505ϠAB A̠MSG(00AB̬ 505̴(B(5D+ 5B(D B(̴5MP(B B(̴+5MP(0 ASSGN50ϠAB A̠(AB̩ à àSԠSPNS 50̲B(D Ơ(B(̲..HGϠ550 Ơ(B(̲..HYũGϠ550 Ơ(B(̲..HNϩGϠ900 à àNVADSPNS ASSGN505ϠAB A̠MSG(00AB̬55 à àA̠UNŠϠDSPAYAS 550ASSGN900Ϡ A̠D(ԩ à àҠPSSҠ à àAHMàV à àVנDGS 00SK(0DND(50.3. ASSGN0Ϡ̠0.3. A̠MSG(00̬3996390.3. 0ʱ(B(5D+0.3. ʲB(D0.3. B(ʱʲMP( B(ʱ+ʲSK(0D0.3. B(ʱ+ʲMP(00.3. GϠ00.3. àDNԠV 05ASSGN0Ϡ A̠MSG(00̬9996 àGϠNϠSDNŠHANG 0ASSGN90Ϡ A̠(̩ à à 0A̠SYS((0060BABS(SAԩ à àNVADHAA à àNVADHAA 0ASSGNϠ A̠MSG(00̬9599 ASSGNϠ A̠MSG(00̬959 ASSGN5Ϡ A̠(̩ àSԠUPϠŠAN""DҠMAS 5B(9D ASSGN30Ϡ A̠NUD(̩ 30Ơ(SK(3D.G.0A̠PBU(SK(3D3 ASSGN35Ϡ A̠BU(̩ àUNƠAVŠAGUNϠ?UNN 35B(DAND(B(D3B A̠S(5 à à à àʠPSSҠ à àNŠHANGŠSGMNԠ̠BŠAD 90SK(D6 à àŠSҠBAKϠDSKKAA 9003SK(3D A̠(KB(3B(6DB(D à Ơ(SK(3D.G.0A̠PBU(SK(3D3 SK(3D0 ASSGN950ϠN A̠BU(N à àSԠHHSGMNԠϠA̠--5Ҡ6 950Ơ(SK(D.N.5GϠ90 à àA̠03SGMNԠ à 960A̠S(5 A̠S(9SAԬDUN Ơ(SA..0GϠ0 à àA̠HŠHGSGMNԠ à 90A̠S(6 A̠S(9SAԬDUN GϠ0 9999A̠ű ND SUBUNŠGHG(ԩ à àGHGPMPԠHŠUSҠҠADDNA̠HAGSANDMMNS. àHŠDҠMASҠSUPDADHHŠNPU à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à SK(9D à à?DSUN ASSGN0ϠAB A̠MSG(00AB̬60 0̴(B(5D+ 5B(D B(̴5MP(B9 B(̴+5MP(0 ASSGN30ϠAB A̠(AB̩ 30̲B(D Ơ(B(̲..HGϠ50 3SK(3D A̠MV(B(̲KB(3033 à à?NSUAN 50ASSGN60ϠAB A̠MSG(00AB̬6 60̴(B(5D+ 5B(D B(̴5MP(B9 B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ 0̲B(D 3SK(3D Ơ(B(̲..HGϠ90 A̠MV(B(̲KB(33 à à?SPàHAG 90ASSGN00ϠAB A̠MSG(00AB̬6 00̴(B(5D+ 5B(D B(̴5MP(B9 B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ 0̲B(D 3SK(3D Ơ(B(̲..HGϠ00 A̠MV(B(̲KB(33 à à?SPàD 30ASSGN0ϠAB A̠MSG(00AB̬63 0̴(B(5D+ 5B(D B(̴5MP(Br*($ B(̴+5MP(0 ASSGN50ϠAB A̠(AB̩ 50̲B(D 3SK(3D Ơ(B(̲..H600 à""DŠҠUSHSHŠDAUԠDŠƠHŠSASPàHAG 60KB(3H GϠ00 0A̠SMV(B(̲KB(3 à àNϠSԠSMADŠҠVADSPàDŠ-USҠANADDA à à?MMNS 00ASSGN0ϠAB A̠MSG(00AB̬6 0̴(B(5D+ 5B(D B(̴5MP(B6 B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ 0̲B(D 3SK(3D Ơ(B(̲..HGϠ990 A̠MV(B(̲KB(3 à àԠ à 990ɽSK(9D GϠ ND ND$ :SԬҬ06 : 4 * Z f 24386-18031 1451 S 0122 31ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬASMB99 ASMBҬ NAMϬ A̠(BGNN BGNBYŠPSNNUPUԠBUҠHŠϠS KҠSSԠPAND NUNPNԠNANGPGAM ϠPDS UPU ND 3NPUԠNϠDԠ"ԠUSYSPAŠ" NPUԠNUMàDAA"A̠MMNA" 5NPUԠNUMàDAA"GHԠUSDZϠDBY" 6NPUԠAPHADAA"A̠MMNA" NPUԠAPHADAA"ԠUSDSPAŠDBY" NPUԠAPHANUMàDAA"A̠MMNA" 9NPUԠAPHANUMàDAA"ԠUSYSPAŠ" 0NPUԠNGҠDAA SPà NԠ Ԡ.NҬSGBUƬPBUƬSYSҬS ԠAɬSANSMVŬSM AU0 BU MMAG(3 MB(3B(50 MB(50B(00KB(0 MDS(00A(00 MSP(PSZNѬSGS(90SԬSD(330 MS(SA(SAԬDUN MB(0NDG(5NUMìKAجKDS MSK(00 SKP BGNNP NNP ϠNP SB.N DƠBGN SBBAGԠNŠABŠADDSS DABGN SAS5ɠSAVŠBGNNNGBYŠPN DANɠANDUNADDSS SAS6 DASԲ SZASSƠANPUԠBUҠSASSGND MPNP SABGNASŠ A SASԲ SBPBU DƠ+3 DƠBGN DƠD NPDASԲ ANDB5AҠAPԠ""AG SASԲ A ADAS5ɠSԠUPUԠBUҠDPN SSA SBD ŬA SAS9 SBBA ADBS9 DAB ANDB3GԠNGH SASԸ DAB AƬA ANDB3GԠPAND SABGN ANDB BSASԷ PABGNƠ""SK MP+SԠAG DASԲ ҠD SASԲ DASԷ MANA ADAD SSAPDŠVAD MP9N ADADM0 SZASS MPND SSA MPNPU SKP UPUԠPSS DAS5 ADASԸɠUPDAŠBYŠPN ADAD SAS5 DBUBGԠBUҠADDSS ADBS9 NB SBBA DASԸ MANASԠNBH SAN SBSSAԠUPU DƠ+6 DƠD DƠSԲ5 BANP DƠN DƠD SBSAԠHKSAUS SBBAGԠSԠADDSSS MPNP SPà SAԠNP SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSASSƠK MPSAԬɠUN MANA ҠA0 SABGN SBSYS DƠ+ DƠBGN A0ASà0 D9Dà9 DDà DM0Dà-0 SKP NDPSS NDSBPBU DƠ+3ASŠ DƠSԴ DƠD AMVŠBUҠMS SASԴ DASԲ ANDB5 SASԲ DAS6 MPA SPà NPUԠPSS NPUԠDAS5 ADADUPDAŠBYŠPN SAS5 DASԲ SZAƠBUҠAADYASSGND MPSNPSAԠAD ANA SAS3ɠSԠNPUԠBUҠPN NUBҠSBGBU DƠ+3 DƠSԲɠGԠANNPUԠBU DƠD DASԲ SSASSƠNNŠAVAAB MPSNP SBSA DƠ+6 DƠD DƠB DƠD DƠD DƠD SBSAԠHKSAUS 2SBBAGԠSԠADDSS MPNUB BԠ SPà PBASDƠ+ DƠND DƠNUM DƠNUM DƠAPH DƠAPH DƠAN DƠAN DƠN DƠNS DƠD SKP SNPA ADAS3 SSA SBD ŬASԠNPUԠBUҠDPN SAS9 SBBAGԠNPUԠBUҠADDSS ADBS9 SBBASԠNPUԠADDSSANDGA̠UN A ADASԸ ADAS3 MANA ADAD30 SSAƠNPUԠ̠VנBU MPSNGϠSԠNGH DASԸ MANAHSŠSԠUSDNGH SAN MPSN SNDAS3 MANA ADAD30SԠNGHϠMANNGSPA SASԸɠNBU MANA SAN SNSBS DƠ+6 DƠD DƠSԲ5 BANP DƠN DƠD SBSAԠHKSAUS SBBAGԠSԠADDSS SBBANPUԠBҠADDҠAND SBBAUPUԠBҠADDSS DASԲ ANDD SZAƠ""AD MPSMàGϠSŠƠԠS DԠDASԷ ADADM3 ADAPBAS DAA MPA SKP DŠNP SBSYS DƠ+ DƠ+ ASà5 SPà BANP DADM9 SA B A ADAD SSA SBD MPYD5 ADAAS DBSA SAB NA NB SZ MP- DASԱ ADAD0 SASԲ ADAD SASԲ5 DBSԱ MPBA DM9Dà-9 ԠNP D0Dà0 D5Dà5 ASԠDƠB SADƠSԱ DDà DDà SԱNP SԲNP S3NP SԴNP S5NP S6NP SԷNkbP SԸNP S9NP SԲNP SԲ5NP SKP BANP A ADASԲ SSA SBD B MPYD5 ADAAB SANBA SAB MPBA D5Dà5 ABҠDƠB NBANP SPà BANP A ADASԴ SSA SBD B MPYD0 ADAAB SAUB SAB MPBA D0Dà0 ABҠDƠB DDà DDà UBNP D30Dà30 DM3Dà-3 B0Ԡ0 D5Dà5 DMDà- SKP SMàDBNBA ADBS9ɠGԠNPUԠDAAADDSS DAB AƬA ANDB3GԠSԠBY PAASM SSƠSNϠ"" MPDԠGϠDԠNPU DASMSP SAB UPDAԠDAS3 ADASԸɠUPDAŠNPUԠBUҠPN SASS NA SAS3 DASԷ PADƠPSNPUԠ"UN" SS MP+ DAS5ɠBUMPPNҠPASԠSND ADADDԠPD SAS5 DAS3 MANA ADAD30 SSAƠNPUԠBUҠSU MPNDU MPNP ASMàԠ3 SMSPԠ350 SPà NDDAN MANA ADASԸ SSAƠNGHƠNPUԠSUA MPUPDAԠҠGAҠHANUSD SZASSNGHGϠUPDAŠPNS MPUPDA SAN DAS3 ADANMPUŠBGNANDNDBY SABGNPSNSҠS ADAN ADADM SAN SBS DƠ+5 DƠNBAɠSPAŠ̠ϠUSD DƠBGNNGH DƠN DƠB0 MPUPDA DMDà- SKP NUMDASԸ PAN SSNPUԠNGHNԠUA̠ MPNVҠUSDNGHSNVAD DAD5 SBSANSANҠA̠NUM SSA MPUPDAԠSGDUPDAŠPNS NVҠDBSAV DASԷɠƠPSS PADNGH SBSԸ SBS DƠ+6 DƠDUPUԠNVAD-N DƠSԲ5 DƠNVM DƠDM DƠD SBSAԠHKSAUS SBBAGԠSԠADDSSAND SBBANPUԠBUҠADDSS ADBS9 SBBA DASԸɠS-UPϠ-U MANAAD SAN MPSN SPà SVNPNP A ADAN ADAS3ɠSԠNDƠMVŠPN SAN SBSMV DƠ+6 DƠNBA DƠS3ɠMVŠNPUԠϠSAVŠAA DƠN DƠA DƠD MPSVNP SKP NUMDAD5 SBSANSANҠA̠NUM SSASS MPNVҠUPUԠҠMSG DAN MANA ADASԸ SSAƠNPUԠNGHҠ MPUPDAԠUSDNGHG SZASSUPDAŠPNS MPUPDA SABGNSAVŠNGHϠ SBSVNP NA ADABGNSԠNDƠ̠PN ADAS3 SABGN SBS DƠ+5 DƠNBAɠZϠ̠BU DƠS3 DƠBGN DƠB60 SZBGN SNPSBSMV DƠ+6 DƠAMVŠNPUԠBAKϠBU DƠD DƠN DƠNBA DƠBGN MPUPDA SPà SANNP SABGN SBSAN DƠ+5 DƠBGN DƠNBA DƠS3 DƠN MPSAN SKP APHDASԸ PANƠNPUԠNGHNԠUA SSUSDNGHUPU MPNVҠҠMSSAG DAD6 SBSANSANҠA̠APHABàDAA SSA MPUPDA MPNV SPà APHDAD6 SBSANSANҠA̠APHABàDAA SSASS MPNV MPNDGϠSPAŠ̠ƠUD SPà ANDASԸ PAN SS MPNVҠNGH DAD SBSAN SSA MPUPDAԠSANҠAPHANUMàDAA MPNV SPà ANDAD SBSANSANҠAPHANUMàDAA SSASS MPNV MPNDGϠSPAŠ̠ƠUD SPà NԠSBA DƠ+6 DƠNBAɠNVԠNPUԠϠNG DƠS3 DƠN DƠBGN DƠN DAN SZAMUSԠBŠA̠NUM MPNV DBNBA ADBS9 DABGN SABɠSŠNGҠNBU DAD SASԸɠSԠNPUԠNGHϠ"" MPUPDA SKP NSԠA ADANSԠNDƠMPAŠPN ADAS3 SABGN DANàSԠNUMBҠƠNSANS SAP DAPANDPNҠϠNSANS SAN AGNDANìɠSԠNSANԠADDSS SAA SZNàUPDAŠҠNԠNSAN SBSM DƠ+6 DƠNBA DƠS3 DƠBGN ANP DƠD SZASSƠ0NPUԠNSAN MPNDGϠSPAŠ̠ƠUD SZPԠA̠NSANSHKD MPAGNN DASԸɠSAVŠNGH SASAV A ADAS5 SSA SBD ŬA ADAUB DBA DAB ANDB3SԠNנNGH SASԸ MANA ADAN SSAƠNPUԠNGHUSD MP+3NGHŠϠUSD DASԸɠNGH SAN DAB AƬA ANDB ADADM3ZJGԠNנPD SSAƠUPUԠҠND MPNDU SAB MANA ADADƠNVAD SSAD MP9 ADBPBASGϠϠNנPDŠPSS DAB MPA SKP NàDà-3 PDƠ+ DƠ DƠND DƠA A̠ASàA NDàASàND ԠASà3UN SPà DɠDAD5 SBSANSANҠA̠NUM SSASSƠN MPDP?GϠHKDMA̠PN GKSBSVNPMVŠNPUԠϠKAA DBD3GԠAN̠NGH- ƠDAN NASԠBGN̠PN SABGN ADAB SAN SBS DƠ+5̠ANϠPAS DƠA DƠBGN DƠN DƠB60 N̠DAS3ɠSԠBGNBYŠPSNNAS SABGNNGHSNנGH A ADASԸɠADUSԠNGHҠDMA̠PN DBA MANAMPUŠNGHƠ ADAN SZAƠNGHSNנ MP+3 SBSԸɠGϠSŠNPUԠBU MPSNP SSASSƠNPUԠSϠNG MPNVҠ SBSԸ MANA SABGNSԠ̠NGH MPN SKP DP?SABGNSAVŠNGHƠHŠNUMB ADAS3 SABGN ADADM DBNBA ŬB ADBA ŬB DAB SZSS AƬAƠGԠNN-NUMàBY ANDB3 PAB56 SSƠNԠADMA̠PN MPNVҠ DABGN MAMPUŠNGHƠAN ADAN SZAƠNϠAN MP+5 AADUSԠNGHƠNPUԠAND ADANGϠUSYAND SAN MPGK SAƠS0.*-UPANDSANAN SZBGNҠA̠NUM SBSAN DƠ+5 DƠD5 DƠNBA DƠBGN DƠ SSASSƠNԠNUM MPNVҠ SBSVNPMVŠNPUԠϠKAA A ADA ADABGN SAN DABGN NA SASVNP SBSMVŠMVŠAN DƠ+6 DƠNBA DƠBGN DƠN DƠA DƠSVNP A ADANADUSԠNGH SANDMA̠PN DB MBNBGԠNGHƠAN ADBD3Ϡ SSB MPN MP SPà BGNNP ƠNP D3Dà3 NVMԠ6 ASàNVAD-N SAVŠNP ABSS0 B60Ԡ60 D6Dà6 DDà PԠNP NàNP DDà 9SBSYS DƠ+ DƠA9 A9ASà9 ND c0 [ h 24386-18032 1451 S 0122 32ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬASMB99 ASMBҬ HDMSSAGŠMAҠSUBUN NAMMSGƬ NԠMSG Ԡ.NҬDGԬSGBUƬSYS MMAG(3 MB(3B(50B(50B(00 MKB(0DS(00A(00SP( MPSZNѬSGS(90SԬSD(330 MS(SA(SAԬDUN MB(0NDG(5NUMìKAجKDS MSK(00 AU0 BU SKP MADƠMSGS MAPNP BҠNP BYŠNP NNP NUMNP MSGSBSS3 MSGƠNP SB.N DƠB SBBASԠNŠSAUSABŠADDSSS DAN SAS6ɠSAVŠUNNUMBҠƠMSSAGS DANUMɠANDMSSAGŠNUMBS SASԷ SAB MANA SANUM ADBSԷ DAMA SAMAP DAMAP DAA SAB SZMAP ADBDM SZNUM MP-6 DABҬ SZASSƠABUҠASPASSDSAVŠ MP+5ANDPN SASԴ DABYŬ SAS5 MPS ANA SAS5ɠSԠBYŠPN DASԴɠƠBUҠAADY SZAASSGND--USŠ MPS SKP NUBҠSBBA SBGBUƠGԠABU DƠ+3 DƠSԴ DƠD DASԴ SSASSƠNNŠAVAAB MPS SBSA DƠ+6 DƠD DƠB DƠD DƠD DƠD SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSASS MPNUB MANA ҠA0 SAA0 SBSYS DƠ+ DƠA0 DDà DDà BԠ D9Dà9 A0ASà0 DDà DM9Dà-9 SPàASà DMDà- NDPԠ000 UPԠ00 AB[ҠDƠB ƠԠ6 DDà D9Dà9 ԠNP P̠NP DMDà- SKP BANP DADM SA B A ADAD MPYD5 ADAAS DBSA SAB NA NB SZ MP- MPBA DMDà- ҠNP D5Dà5 ASԠDƠB SADƠSԱ SԱNP SԲNP S3NP SԴNP S5NP S6NP SԷNP SPà BANP A ADASԴ B MPYD0 ADAAB SAUB MPBA D0Dà0 UBNP SPà HBYԠԠ00 SPàԠ0 SKP SҠSBBAGԠBUҠADDSS BNB ADBS5 SBSS MPANK SB ŬB ADBUB DAB ANDHBYԠPUԠASPAŠNϠBY ҠSP SAB DB NB ANKU ŬBGԠPNҠϠү ADBUBPSN DA SABɠPUԠүƠNBU DAS5 ADADUPDAŠBYŠPNҠҠDG SAS5 DBSԷ ADBSԷ DABɠS-UPMSSAGŠNUMB SA SBDG DƠ+5 DƠD DƠD9GԠAMSSAG DƠ DƠ+ DƠ+ SBBASԠSԠANDUPU SBBABUҠADDSSS B ADBS5ɠGԠADDSSƠBGNNNG ŬB ADBUB SBP̠SAVŠBGNPN ADBDSԠNDPN DADM9 SA DABɠNDNGHƠMSSAG PASP SS MPND ADBDM SZ MP-6 SKP NDNB DANDPSԠNDPD SAB DBP ADBDMPNԠϠPNGH DA MANA ŬAGԠeNGHAND ADAD ҠUPPD SAB ANDB ADAS5ɠUPDAŠBYŠPN ADADM SAS5 A ADASԷɠASԠMSSAGŠPSSD SASԷ SZA MPS+N DAS6 MPA ND :PҬASMB99 ASMBҬ NAMԬ NԠ ԠSGBUƬPBUƬSYSҬMV׬ AU0 BU SPà MMAG(3B(3B(50B(50 MB(00KB(0DS(00A(00 MSP(PSZNѬSGS(90S MSD(330S(SA(SAԬD MUNB(0 MNDG(5NUMìKAجKDSSK(00 SPà ԠNP SBBA DAԬɠSAVŠUNADDSS SASԱ DASK0 SBKBAGԠNPUԠDAAADDSS SAKBA A SASԱ5 DASԱ9 SZAƠSԠD MPDS DAKBAS-UPҠ SABA DASԱ SASԱ DASԱ6 SASԱ3 MPS SPà DDà BԠ AASà DDà D3Dà3 SKP DSԠSBGBUƠGԠABU DƠ+3 DƠSԱ5 DƠD3 DASԱ5 SSASSƠNNŠAVAAB MPNUBU SBSAԠҠN DƠ+6 DƠD DƠB DƠD DƠD DƠD SBSA MPDS SPà NUBUƠSBKBAGԠBUҠADDSS SABA DASԱ9 NA PADƠSԠDA̠GϠS-UP MPSDԠҠAD B DVD3MPUŠSҠADDSS SBSԲ0 DBSԱ6ɠSԠAK SBSԱ3 SASԱ MANA ADASԱ SSAƠBYNDBUNDAY MPұAB DASԱ ADASԱ SASԱ MANA ADAD SZA MP+6 SASԱɠSNSԠSҠ DASԱ6ɠNԠAK NA SASԱ3 MPS SSASS MPS SAB MBNB SBSԱ ADAD3 SSASSƠBYNDNԠAK MP-9 SKP ұSBSYSҠAB DƠ+ DƠA SPà SDԠDASԱ6 SASԱ3ɠS-UPϠADS DASԱɠK-AAAKS SASԱ DAM̠SԠMVŠS MP+5 SҠDASԲ0 BMPUŠMVŠS MPYD39 SASԲ0 SB DƠ+ADS DƠD DƠD DƠBA DƠD DƠSԱ3 DƠSԱ DASK0 SBKBASԠDSàBUҠADDSSS SAKBA DASԱ5 SBKBA SABA ADASԲ0 SAMBA SBMVנMVŠϠUPUԠBU DƠ+ KBANP MBANP DƠD39 SKP SҠSB DƠ+ DƠDŠAS DƠD BANP DƠD DƠSԱ3 DƠSԱ SZSԱ9ɠUPDAŠDNUMB DASԱ5 SZASSƠBUҠASSGND MP+5 SBPBUƠASŠ DƠ+3 DƠSԱ5 DƠD3 DASԱ MPA M̠Dà5 D39Dà39 DDà DDà D3Dà3 SKP SAԠNP SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSA MP+3 SBBA MPSAԬ MANA ҠA0 SAA0 SBSYS DƠ+ DƠA0 D9Dà9 A0ASà0 SԱNP SԱ3NP SԱNP SԱ5NϱlP SԱ6NP SԱNP SԱNP SԱ9NP SԲ0NP AKBҠDƠKB AB̠DƠB ASԠDƠSԱ SK0NP ASKDƠSK SPà KBANP ADADM B MPYD ADAAKB MPKBA DMDà- SKP BANP A ADAD B SASK0 MPYD5 ADAAB ADAD DBDM9 SB DBAS SAB NA NB SZ MP- DASK0 B MPYD0 ADAASK ADAD9 SASK0 MPBA D5Dà5 DDà DM9Dà-9 ҠNP D0Dà0 D9Dà9 ND :PҬASMB99 ASMBҬ NAMDD NԠDD ԠSGBUƬPBUƬMV׬.NҬSYSҬ AU0 BU SPà MMAG(3B(3B(50B(50 MB(00KB(0DS(00A(00 MSP(PSZNѬSGS(90S MSD(330S(SA(SAԬD MUNB(0 MNDG(5NUMìKAجKDSSK(00 SPà BҠNP DDNP SB.N DƠB SBBAS-UPSԠADDSSS DAB SASԱ3ɠSAVŠBUҠADDSSAND DADDUN SASԱ GBƠA SASԱ5 SBGBU DƠ+3GԠABU DƠSԱ5 DƠD3 DASԱ5 SSASSƠNNŠAVAAB MPNUBU SBSAԠҠN DƠ+6 DƠD DƠB DƠD DƠD DƠD SBSA MPGB D3Dà3 DDà BԠ DM3Dà-3 SKP NUBUƠSBKBAGԠBUҠADDSS DASԲ0 SZA MP+5 ұSBSYSҠD0SGA DƠ+ DƠ+ ASà SAB ADADM3 SSASSƠDҠ MP+3 ASԠSҠϠZ MPSS DAB B DVD3 SSàSBSԱɠSAVŠD DBSԱ6 SBSԱ ADASԱ SASԱ0ɠMPUŠSҠADDSS MANA ADAD SZA MP+6 SASԱ0ɠSNNԠAK DASԱ6 NA SASԱ MPS SSASS MPS SAB MBNB SBSԱ0 ADAD3 SSASSƠBYNDNԠAK MP-9 MPұGԠ SKP SҠSB DƠ+ DƠDADS DƠD DƠBA DƠD DƠSԱ DƠSԱ0 SBKBAGԠBUҠADDSS DBSԱ3 DASԱɠGԠAVŠD SBMBASԠMVŠϠADDSS DBSԲ0 PBDƠDҠMAS MPMVMGϠS-UP PBDƠSԠDA MPMVDGϠS-UP B MPYD39MPUŠMBUҠADDSS DBD39 MVԠADABA SAMBA SBM SBMVנMVŠ DƠ+ MBANP MBANP DƠM SBPBUƠASŠBU DƠ+3 DƠSԱ5 DƠD3 DASԱ MPA DDà D3Dà3 DDà DDà D39Dà39 BANP M̠NP SKP MVMA DBM MPMV SPà MVDDAM DBD39 MPMV M̠Dà5 SPà BANP A ADAD B MPYD5 ADAAB ADAD9 DBDM SB DBAS SAB NA NB SZ MP- MPBA D5Dà5 D9Dà9 DMDà- ҠNP ASԠDƠSԱ0 AB̠DƠB SԱ0NP SԱNP SԱNP SԱ3NP SԱNy*($P SԱ5NP SԱ6NP SԱNP SԱNP SԱ9NP SԲ0NP SKP SAԠNP SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSA MP+3 SBBA MPSAԬ MANA Ҡ+5 SA+ SBSYS DƠ+ DƠ+ ASà0 D9Dà9 SPà KBANP A ADASԱ5 B MPYD ADAAKB SABA MPKBA AKBҠDƠKB ND :PҬASMB99 ASMBҬ NAMDV NԠDV Ԡ.NҬ UNP DVNP SB.N DƠU B ADBUɠGԠADDSSƠUAB ADBB DAɠGԠԠASSGND PABɠƠSYSMNS MPDVɠAV SBàSSUŠAҠUS DƠ+3 DƠD3 DƠU MPDV D3Dà3 ND :PҬASMB99 ASMBҬ NAMMU NԠMU ԠMV׬.U.N SANP MUNP SB.N DƠSA DA.U SAS DASA SAD SBMV DƠ+ SNP DNP DƠD96 MPMU D96Dà96 ND * \ h 24386-18033 1451 S 0122 33ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬASMB99 ASMBҬ NAMMP NԠMP Ԡ.N PBSS MPNP SB.N DƠP DAP AƬA ҠP+ MPMP ND :PҬASMB99 ASMBҬ HDűGGNGSUBUN A̠G(B-ADDҬNGHGA-UNԩ NAMG NԠGPN Ԡ.NҬìSADDSSUBMV SPà SUP NU̠ASà9MUNԠNנGAP NNGASàNϠŠNG HDҠDƠ+ ASà3űG UNPASà9UNPDAB DNASàAPŠUNԠDN SPà AASà0 AASà0 DDà DDà D3Dà3 D6Dà6 DDà D9Dà9 D3Dà3 ԠNP ƠNP נNP SNP B̠BSS ḆDƠ+ BSS SKP BҠNP UNP PNNP SB.N DƠB SBMV DƠ+S-UPϠPNGAP DƠBҬ DƠB DƠD DAU SAU DAPN SAG DAU ҠB00 SA ҠB00 SAS MPPN SPà ҠNP SBàAPŠDN DƠ+5 DƠD DƠD DƠDN DƠD MPҬ SKP BҠNP NNP UNP GNP SB.NҠHPAAMS DƠB DAU SZASSƠU0NϠGGNG MPGɠAV SBàŠGD DƠ+5 DƠD DƠU DƠBҬ DƠN SBàHKSAUS DƠ+5 DƠD3 DƠU DƠ DƠ ANDB SZASS MPG ANDB0 SZASSƠNԠND--AP SBҠGϠPԠ HDND--̠PSS DAU ҠB00BUDN̠DSҠND SAנUNADANDND-m- ҠB00 SAS ANDB SA SBàŠ DƠ+3 DƠD3 DƠ SBàND DƠ+3 DƠD3 DƠ SBàADAB DƠ+5 DƠD DƠU DƠB DƠD UNDSBàND-SANDBY DƠ+3 DƠD3 DƠS SBàUSԠNנ DƠ+5 DƠD DƠD DƠNU DƠD9 PNDAU ҠB600 SA AԠSBàAԠҠNנ DƠ+3 DƠD3 DƠ SA MPA ANDB SZASSADYϠ? MPKB SBàNϠNG DƠ+5 DƠD DƠD DƠNNG DƠD MPUND SKP KB̠SBàHKNנAPŠ DƠ+5GHAD DƠD DƠU DƠḆ+ DƠD DBHD DAḆ SA DAD-3 SA NנDAƬ PA SS MPԠNԠűGAB SZ NB SZ MPN A SA SBSADDDűGAP DƠ+ DƠAUNԠSA̠MUS-B DƠDGAҠHANDSA̠ DƠDBYAԠASԠ DƠḆ+ DƠD DƠD6 DƠ DA SSAƠNN-ASɠDAA MPԠASSUMŠ--NԠDG SBSSUB DƠ+ DƠB+3 DƠD DƠD6 DƠḆ+ DƠD DƠD6 DƠ DAḆ+6 ANDB00 SZA MP SBàUNPDAB DƠ+5 DƠD DƠD DƠUNP DƠD9 MPUND SKP ԠSBSADDUPDAŠ̠ DƠ+ DƠA DƠD DƠD  DƠB+6 DƠD DƠD DƠ SBàND DƠ+3 DƠD3 DƠ SBàŠNנAB DƠ+5 DƠD DƠU DƠB DƠD MPG ND :PҬASMB99 ASMBҬ NAMAɬ SPà A̠A(DBYԬHNԬSAԩ Ԡ.N NԠA SPà AU0 BU SPà DBSS BYŠBSS HBSS NԠBSS SAԠBSS AɠNP SB.N DƠD SPà DABYŬ SAND ADAH SAH SPà A SANԬɠA̠BANKD0 SASGN SASAV SBGàGԠAHAA PAB53+SGN? MPñYS PAB55-SGN? BSSYS MP5N SBSGN SPà ñSBGàGԠANUMB 5SBHKHK SANԬ DASAV ASSAVŠ0NUM SAB ASAS ADAB ADANԬ SASAV MPñ SPà SAVŠBSS SGNBSS NDBSS SPà DNŠAS SàSAUS ҠA SASAԬ DASAV DBSGNNSԠH SZBSGN MANA SANԬ MPAɬɠ SPà GàNP GñDBND PBHƠDN MPDNŠHN ADB5BGԠAND(Dà- ŬBSAŠH ADBDBYŠPND DABɠAԠBYBY SZSS AƬA ANDB(Ԡ3 SZND PAB0 MPGñ MPGì SPà HKNP ADAB0HK SSAASɠNUMB MPҠ(53B<ؠ 7 ADB Z.7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN LDB IOIPL INITIALIZE TEST I/O FOR JSB ZISC LOWER SC INSTRUCTIONS LDA USSC GET SC AND OPTIONS AND Z.77 ELIMINATE OPTIONS INA & INCREASE SC FOR CONTR.CHANNEL LDB IOIPU INITIALIZE TEST I/O FOR JSB ZISC UPPER SC INSTRUCTIONS CLA CLEAR S-REG OTA SW HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * *************************************************************** SKP HED TEST 00 * * BASIC I/O TESTS, TEST 00 * * THIS TEST IS EXECUTED ON EVERY I-O BOARD TESTED * WITH THIS DIAGNOSTIC. * SC EQU 10B * TST00 EQU * NOP CLA CLEAR DATA-CONTROL CHANNEL STA UIFLG FLAG FOR 12930 BOARD LDA USSC GET CELL LOCATION AND Z.77 JSB ZBIO DO BASIC I/O JMP TST00,I * ZBIO NOP CLC INTP,C TURN OFF ALL I/O LDLB ZBIOD INITIALIZE BASIC I/O JSB ZISC INSTRUCTIONS * * INTERRUPT FLAG CHECK * ZBIO1 STF INTP CLF INTP SFC INTP RSS JMP *+3 E000 JSB ERMS,I E000 CLF 0-SFC 0 ERROR DEF ZBE00 SFS INTP JMP *+3 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR DEF ZBE01 STF INTP SFC INTP JMP *+4 CLF INTP TURN OFF INTS E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR DEF ZBE02 SFS INTP JMP *+3 CLF INTP TURN OFF INTERRUPTS JMP ZBIO2 CLF INTP TURN OFF INTS E003 JSB ERMS,I E003 STF 0-SFS 0 ERROR DEF ZBE03 JMP ZBIO2 * ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/ ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/ ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/ ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/ SKP * CARD FLAG CHECK * ZBIO2 EQU * ZBS21 STF SC ZBS22 CLF SC ZBS23 SFC SC RSS JMP *+3 E005 JSB ERMS,I E005 CLF SC-SFC SC ERROR DEF ZBE05 ZBS24 SFS SC JMP *+3 E006 JSB ERMS,I E006 CLF SC-SFS SC ERROR DEF ZBE06 ZBS25 STF SC ZBS26 SFC SC JMP *+3 E007 JSB ERMS,I E007 STF SC-SFC SC ERROR DEF ZBE07 ZBS27 SFS SC RSS JMP ZBIO3 E010 JSB ERMS,I E010 STF SC-SFS SC ERROR DEF ZBE10 JMP ZBIO3 * ZBE05 ASC 13,E005 CLF SC-SFC SC ERROR/ ZBE06 ASC 13,E006 CLF SC-SFS SC ERROR/ ZBE07 ASC 13,E007 STF SC-SFC SC ERROR/ ZBE10 ASC 13,E010 STF SC-SFS SC ERROR/ * * INTERRUPT CONTROL * ZBIO3 JSB ZTCJI SET JSB INSTRUCTION DEF ZB3E ZBS31 STF SC SET THE FLAG ZBS32 STC SC SET THE CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TI INTERRUPT NOP ZBS33 CLF SC RESET SC FLAG JMP ZBIO4 * ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ * ZB3E NOP CLF INTP TURN OFF INTS E004 JSB ERMS,I E004 o DEF ZBE04 SKP * SELECT CODE SCREEN TEST * ZBIO4 LDB Z.10 START WITH LOWEST ADDRESS ZB40 LDA ZIOSC GET SELECT CODE CPB A IS IT THE SC UNDER TEST? JMP Z.CLF+1 YES - SKIP TEST LDA Z.STF SET UP AND ZIOM IOR B STF INSTRUCTION STA Z.STF PUT IT IN PLACE LDA Z.CLF SET UP AND ZIOM IOR B CLF INSTRUCTION STA Z.CLF PUT IT IN LINE ZBS41 CLC SC,C CLEAR CHANNEL FLAG Z.STF STF SC EXECUTE STF SC INSTRUCTION ZBS42 SFC SC TEST CHANNEL FLAG JMP ZB41 Z.CLF CLF SC CLEAR TEST FLAG CPB Z.77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT SELECT CODE * ZBE11 ASC 14,E011 STF XX SET CARD FLAG// * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT SC FOR MESSAGE JSB ZN2AO STA ZBE11+5 LDA ZBTMP RETRIEVE NUMBER E011 JSB ERMS,I E011 DEF ZBE11 SKP * CHECK INTERRUPT & HOLD OFF * ZBIO5 JSB ZTCJI DEF ZBI5 CLA SET UP STA ZBF5 FLAGS STA ZBI5 FOR TEST STA ZBTMP ZBS51 STC SC TURN ON ZBS52 STF SC CARD STF INTP AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCURR DEF *+1 * HERE JSB *+1,I * DEF *+1 * ZBF5 NOP * ISZ ZBTMP INT. SHOULD BE HERE ISZ ZBTMP CLF INTP TURN I/O SYSTEM OFF LDA ZBI5 DID IT INTERRUPT? SZA JMP *+4 E014 JSB ERMS,I E014 NO INT DEF ZBE14 JMP ZBIO6 ABORT REST OF SECTION LDA ZBTMP CHECK FOR CORRECT INTERRUPT CPA Z.2 ? JMP *+3 E026 JSB ERMS,I E026 INT EXECUTION ERROR DEF ZBE26 ZBS53 CLF SC TURN OFF SC FLAG A JMP ZBIO6 GO TO NEXT SECTION * ZBD5 DEF ZBF5-1 ZBD5A DEF ZBF5+1 * ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/ ZBE13 ASC 12,E013 SECOND INT OCURRED/ ZBE14 ASC 06,E014 NO INT/ ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ ZBE26 ASC 13,E026 INT EXECUTION ERROR/ SKP ZBI5 NOP CLF INTP TURN I/O SYSTEM OFF LDA ZBD5 CHECK TO SEE IF ALL CPA ZBF5 INSTRUCTIONS COMPLETED JMP *+3 YES E012 JSB ERMS,I E012 INT DURING HOLD OFF DEF ZBE12 LDA ZBD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA ZBI5 JMP ZBI5A E015 JSB ERMS,I E015 INT RTN ADDR ERROR DEF ZBE15 JMP ZBIO6 ZBI5A JSB ZTCJI SET SECOND INT TRAP DEF ZBT5 STF INTP TURN I/O SYSTEM ON JMP ZBI5,I CONTINUE TEST * * ZBT5 NOP CLF INTP TURN I/O SYSTEM OFF E013 JSB ERMS,I E013 SECOND INT OCURRED DEF ZBE13 SKP * CLC SC AND CLC 0 * ZBIO6 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI61 ZBS61 STC SC SET SC CONTROL ZBS62 STF SC SET SC FLAG STF INTP TURN ON INTERRUPTS ZBS63 CLC SC CLEAR SC CONTROL NOP GIVE IT A CHANCE NOP CLF INTP TURN INTS OFF ZB60 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI62 ZBS64 CLF SC CLEAR SC FLAG ZBS65 STC SC SET SC CONTROL ZBS66 STF SC SET SC FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTS JMP ZBIO7 * * ZBI61 NOP CLF INTP TURN OFF INTS E016 JSB ERMS,I E016 CLC SC ERROR DEF ZBE16 JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS E017 JSB ERMS,I E017 CLC 0 ERROR DEF ZBE17 JMP ZBIO7 * ZBE16 ASC 9,E016 CLC SC ERROR/ ZBE17 ASC 9,E017 CLC 0 ERROR/ SKP * EX*TERNAL & INTERNAL PRESET TEST * ZBIO7 LDB S128 CHECK TO SUPPRESS JSB SWRT,I ? JMP H025 YES - SKIP PRESET TEST H024 JSB MSGC,I TELL OPERATOR DEF ZBM24 PRESS PRESET * ZBS71 CLF SC CLEAR SC FLAG STF INTP TURN ON INTS JSB ZTCJI SET TRAP CELL JSB INSTRUCTION DEF ZBI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLF INTP TURN OFF ONTPS ZBS72 SFS SC CHECK CHANNEL FLAG INA NOT SET SO FLAG IT RAL MOVE TO NEXT FLAG LIB 0 CHECK I/O BUSS SZB SHOULD BE ZERO INA NOT SO FLAG IT RAL MOVE TO NEXT FLAG STF INTP CHECK CONTROL ON CARD NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTPS ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL DEF ZBE22 RAR SLA,RSS JMP *+3 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR DEF ZBE23 RAR SLA,RSS JMP *+3 E020 JSB ERMS,I E020 FLAG NOT SET DEF ZBE20 RAR SLA,RSS JMP *+3 E021 JSB ERMS,I E021 DID NOT DIABLE INTS DEF ZBE21 H025 JSB MSGC,I TELL OPERATOR DEF ZBM25 BASIC I/O IS COMPLETE SKP LDA USSC CHECK IF UNIVERSAL INTERFACE AND .200 IS TESTED SZA,RSS JMP ZBIO,I NO, RETURN TO CALLER LDA UIFLG YES, CHECK VIA UIFLG IF DATA OR SZA CONTROL CHANNEL WAS TESTED JMP CCT CONTROL CHANNEL WAS TESTED JSB MSGC,I DATA CHANNEL WAS TESTED. ADD DEF ZBN25 QUALIFIER TO MESSAGE ISZ UIFLG INCREMENT FLAG TO CONTROL CHANNEL LDA USSC LOAD AND INCREMENT THE SC OF THE AND .77 _) DATA CHANNEL TO REACH THE INA CONTROL CHANNEL SC JMP ZBIO+1 RETURN TO BI-O CCT JSB MSGC,I CONTROL CHANNEL TESTED. ADD DEF ZBP25 QUALIFIER TO MESSAGE JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * UIFLG OCT 0 SKP ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ ZBM25 ASC 13,H025 BASIC I-O COMPLETED/ ZBN25 ASC 11, ON DATA CHANNEL/ ZBP25 ASC 12, ON CONTROL CHANNEL/ * ZBIOD DEF *+1 DEF ZBS21 DEF ZBS22 DEF ZBS23 DEF ZBS24 DEF ZBS25 DEF ZBS26 DEF ZBS27 DEF ZBS31 DEF ZBS32 DEF ZBS33 DEF ZBS41 POINTERS TO ALL I-O INSTR. DEF ZBS42 IN BASIC I-O DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * ZCEND EQU * * * * ************************************************************** SKP HED TESTS 01 & 02 * RELAY REGISTER PATTERN TEST, TEST 01 * * THIS TEST IS EXECUTED ONLY ON THE 12551B * RELAY REGISTER INTERFACE. IT VERIFIES THE * OPENING AND CLOSURE OF THE REED RELAYS. * ORG ZCEND TST01 EQU * * RLOC NOP LDA USSC IS THIS A RELAY REGISTER? AND BIT10 SZA,RSS ? JMP RLOC,I NO, RETURN TO EXEC CLC INTP,C YES, EXECUTE TEST, TURN I-O OFF CCA SET ALL BITS IN MASK STA BTMSK CLA OPEN ALL RELAYS JSB RELAY DEF MS030 TELL OPERATOR TO CHECK THEM CCA JSB RELAY CLOSE ALL RELAYS DEF MS031 LDA ALT1 ALTERNATING PATTERN JSB RELAY DEF MS032 LDA ALT2 OPPSITE PATTERN JSB RELAY DEF MS033 JMP RLOC,I * MS030 ASC 12,H030 OBSERVE ALL ZEROS/ MS031 ASC 11,H031 OBSERVE ALL ONES/ ALT1 OCT 125252 MS032 ASC 14,H032 OBSERVE PATTERN 125252/ ALT2 OCT 052525 MS033 ASC 14,H033 OBSERVE PATTERN 052525/ * * RELAY PATTERN OUTPUT * RELAY NOP JSB OUT OUTPUT PATTERN LDB RELAY,I GET MESSAGE POINTER ISZ RELAY STB RLYM STA EXP SAVE EXPECTED JSB IN GET INPUT LDA USSC CHECK FOR READ BACK OPTION AND BIT9 SZA JSB CMPR YES COMPARE IT LDA EXP DISPLAY PATTERN CLB H030 JSB MSGH,I TELL OPERATOR TO RLYM NOP OBSERVE PATTERN JMP RELAY,I SKP * * RELAY REGISTER COMMAND TEST, TEST 02 * * THIS TEST IS EXECUTED ONLY ON THE 12551B RELAY * REGISTER INTERFACE. IT VERIFIES THE COMMAND * OUTPUT SIGNALS. * ORG 4000B TST02 EQU * * COT NOP LDA USSC IS THIS A RELAY REGISTER? AND BIT10 SZA,RSS ? JMP COT,I NO, RETURN TO EXEC CLC INTP,C YES, TURN EVERYTHING OFF SC0 CLC SC,C CLEAR CONTROL/FLAG/COMMAND SC1 STC SC SET CONTROL/COMMAND H035 JSB MSGH,I OUTPUT MSG DEF MS035 "OBSERVE CMD OUTPUT AN APPLY SC2 SFC SC EXT RESP SIGNAL" RSS DID FLAG SET ,YES JMP SC3 NO E036 JSB ERMS,I OUTPUT MSG DEF MS036 "FLAG SET" SC3 CLC SC CLEAR CONTROL COMMAND H037 JSB MSGH,I OUTPUT MSG DEF MS037 "OBSERVE CMD OUTPUT AND APPLY SC4 SFS SC EXT RESET SIGNAL" RSS DID FLAG SET, NO JMP SC5 YES E040 JSB ERMS,I OUTPUT MSG DEF MS040 "FLAG CLEAR" SC5 CLC SC,C TURN OFF CONTROL/CMD/FLAG ` JMP COT,I EXIT * MS035 ASC 20,H035 OBSERVE COMMAND OUTPUT FOLLOWED BY OCT 6412 ASC 20,APPLYING EXTERNAL RESPONSE SIGNAL. PUSH ASC 04,RUN/ * MS036 ASC 18,E036 APPLICATION OF RESPONSE SIGNAL OCT 6412 ASC 10,CAUSED FLAG TO SET/ * MS037 ASC 20,H037 OBSERVE COMMAND OUTPUT FOLLWED BY OCT 6412 ASC 20,APPLYING EXTERNAL RESPONSE SIGNAL. PUSH ASC 04,RUN/ * MS040 ASC 18,E040 APPLICATION OF RESPONSE SIGNAL OCT 6412 ASC 09,DID NOT SET FLAG/ * *************************************************************** SKP HED TEST 03 * * DATA BUFFER TEST, TEST 03 * * THIS TEST IS EXECUTED ON ALL INTERFACE BOARDS * EXEPT THE 12551 RELAY REGISTER AND THE 12589 * AUTOM. DIALER INTERFACE. IT CHECKS THE INPUT * AND OUTPUT DATA BUFFER BY COMPARISON. * TST03 EQU * * DB NOP LDA USSC IS THIS A RELAY REGISTER AND BT108 OR AUTOMATIC DIALER? SZA JMP DB,I YES, IT IS, RETURN TO EXEC LDA USSC NO. IS THIS A 12849 CONTROLER SSA,RSS MICROCIRC. INTERFACE? JMP *+3 NO H041 JSB MSGH,I YES, THEN TELL OPERATOR DEF MS041 TO USE CONNECTOR A LDA USSC IS IT 8 OR 16 BIT AND BIT11 SZA,RSS SKIP IF BOARD IS 12597 CCB,RSS 16 BIT BOARD, CREATE MASK FOR 16 BIT LDB .377 CREATE MASK FOR 8 BIT BOARD STB BTMSK AND SAVE BIT MASK CLC INTP,C CLA CLEAR STA PTRN PATTERN STA EXP DBL JSB OUT OUTPUT PATTERN JSB ENCD ENCODE PATTERN JSB WFL WAIT FOR FLAG JSB IN GET PATTERN JSB CMPR COMPARE PATTERN LDA EXP COMPLEMENT PATTERN CMA AND BTMSK MASK UPPER BITS IF NECESSARY STA EXP JSB OUT OUTPUT PATTERN JSB ENCD ENCODE PATTERN JSB WFL WAIT FOR FLAG JSB IN GET PATTERN JSB CMPR COMPARE PATTERN JSB INPT INCREMENT PATTERN LDA EXP END OF PATTERN SZA JMP DBL NO JMP DB,I YES EXIT * MS041 ASC 15,H041 USE TEST CONN. 12849-60003/ * * ************************************************************** SKP HED TEST 04 * * CONTROL SIGNALS TEST, TEST 04 * * THIS TEST IS EXECUTED EXCLUSIVLY ON THE * 12849 CONTROLLER MICROCIRCUIT INTERFACE. * CRS - CONTROL RESET, PON - POWER ON NORMAL * DIR - DATA INPUT RECEIVED, RDIR - RESET DIR * ORL - OUTPUT REGISTER LOADER, RORL - RESET ORL * CTL - CONTROL, FLG - FLAG * TST04 EQU * * CS NOP LDA USSC IS THIS A 12849 INTERFACE SSA,RSS JMP CS,I NO, RETURN TO EXEC CLC INTP,C YES, CLEAR ALL I/O H043 JSB MSGH,I TELL OPERATOR TO DEF MS043 USE TEST CONNECTOR B JSB IN GEN. IOI TO SET DIR-FF CLC INTP GEN. CRS TO CLEAR DIR-FF JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS RAR SLA,RSS DIR CLEARED JMP *+3 E044 JSB ERMS,I NO-TELL OPERATOR DEF MS044 DIR NOT CLEARED CLC INTP JSB IN SET DIR JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS RAR,SLA DIR SET? JMP *+3 E045 JSB ERMS,I NO-TELL OPERATOR DEF MS045 DIR FALSE AFTER IOI * CLA JSB OUT GEN. IOO TO SET ORL-FF CLA,INA JSB OUT OUTPUT RORL TO CLEAR ORL-FF JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS SLA,RSS ORL FALSE JMP *+3 YES E046 JSB ERMS,I NO-TELL OPERATOR DEF MS046 ORL TRUE AFTER RORL CLA CLEAR RORL JSB OUT  JSB OUT SET ORL-FF JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS SLA ORL-FF SET? JMP *+3 YES E047 JSB ERMS,I NO-TELL OPERATOR DEF MS047 ORL FALSE AFTER IOO RAR,RAR PUT PON STATUS RAR,ERA IN E REG LDA USSC CHECK FOR POLARITY RAL OF POWER ON SSA CME SEZ JMP *+3 E050 JSB ERMS,I WRONG POLARITY DEF MS050 * * * W5 IS CHECKED IF ENCODE IS NECESARY TO * TRANSFER STATUS * SC06 STF SC TOGGLE FLAG-FF TO CLEAR SC07 CLF SC LDA USSC ALF,RAR CHECK W5 POSITION SSA JMP *+3 W5 IS OUT SC08 STC SC (DON'T USE CLEAR FLAG) JSB WFL JSB IN RAR,RAR SLA,RSS IS FLAG STATUS SET JMP *+3 E051 JSB ERMS,I NO-TELL OPERATOR DEF MS051 FLAG TRUE AFTER CLF SC09 CLF SC TOGGLE FLAG-FF TO SET SC10 STF SC LDA USSC CHECK W5 POSITION ALF,RAR SSA JMP *+3 W5 IS OUT SC11 STC SC (DON'T USE CLEAR FLAG) JSB WFL JSB IN RAR,RAR SLA IS FLAG STATUS SET JMP *+3 E052 JSB ERMS,I NO-TELL OPERATOR DEF MS052 FLAG FALSE AFTER STF * SKP SC12 CLC SC TOGGLE CNTRL-FF TO JSB ENCD SET JSB WFL WAIT FOR FLAG JSB IN GET STATUS RAR,RAR RAR,RAR SLA IS CTL SET JMP *+3 YES E053 JSB ERMS,I NO-TELL OPERATOR DEF MS053 CTL FALSE AFTER STC JMP CS,I RETURN * * * MS043 ASC 15,H043 USE TEST CONN. 12849-60004/ MS044 ASC 14,E044 NO CRS OR RDIR DOES NOT ASC 07, CLEAR DIR-FF/ MS045 ASC 13,E045 DIR FALSE AFTER IOI/ MS046 ASC 13,E046 ORL TRUE AFTER RORL/ MS047 ASC 13,E047 ORL FALSE AFTER IOO/ MS050 ASC 08,E050 PON FALSE/ MS051 ASC 12,E051 FLG HFBTRUE AFTER CLF/ MS052 ASC 13,E052 FLG FALSE AFTER STF/ MS053 ASC 13,E053 CTL FALSE AFTER STC/ * * * *************************************************************** SKP ׎H du 24391-18003 1813 S 0122 GP REG DG              H0101 d HED TESTS 05 - 07 * * AUTOMATIC DIALER TESTS, TEST 05 - 07 * * THESE 3 TESTS ARE EXECUTED EXCLUSIVLY ON THE * 12589 AUTOMATIC DIALER INTERFACE BOARD. * * TEST 5 CHECKS THE COMBINATION OF: * OUTPUT INPUT * CRQ(BIT14) PWI(NO STATUS OR FLAG) * NB1(BIT0) PND(BIT15 AND FLAG) * NB2(BIT1) DSS(BIT14 AND FLAG) * NB3(BIT2) DLO(BIT13 ONLY) * NB4(BIT3) ACR(BIT12 AND FLAG) * * SWITCH REG. BIT 7 UP-DOWN CAUSES TEST 6 OR 7 TO ABORT * * SWITCH REG. BITS 1-4 ARE USED TO TURN ON AND OFF DS2 * DURING TEST 6 (ALL ON = DS2 ON). * * DS1 IS CYCLED EVERY 2 SEC. DURING TEST 7 UNTIL SWR. BIT 7 * IS PUT UP THEN DOWN. * DS1 ON = BIT 14 (CRQ-PWI=1 + NB1-PND=1)+CLA-OTA * DS1 OFF = BIT 15 (CRQ-PWI=0 + NB1-PND=1) * DS1 ON = BIT 14 (CRQ-PWI=1 + NB1-PND=1)+CLA-OTA * DS1 OFF = BIT 0 (CRQ-PWI=1 + NB1-PND=0) * SKP * * MAIN TESTS * * LOGIC GROUP * TST05 EQU * * LG NOP LDA USSC IS THIS A 12589 AUTO DIALER? AND BIT8 SZA,RSS JMP LG,I NO, RETURN TO EXEC CLA,INA YES, SET ERROR NUMBER STA LGEN SECTION NUMBER LDA BIT15 INITIALIZE CARD JSB A2ACU OUTPUT A-REG TO ACU & WAIT 1 MS * 1-2 LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC RESET OCT 100017 PWI=PND=DSS=DLO=ACR=0 OCT 170000 IOB 15-12 SHOULD = 0 * 3-4 LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC BIT15 OCT 100000 PWI=0,PND=DSS=DLO=ACR=1 OCT 170000 IOB 15-12 SHOULD = 0 * 5-6 LDA *+4 PWI=1 MUST BE EXECUTED TWICE JSB A2ACU LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC OCT 40017 PWI=1,PND=DSS=DLO=ACR=0 OCT 170000 IOB 15-12 SHOULD = 0 * 7-10  LDA LGSFS CHECK FOR FLAG = 1 JSB LGLC OCT 40016 PWI=PND=1,DSS=DLO=ACR=0 OCT 100001 IOB 15 SHOULD = 1 * 11-12 LDA RESET RESET CALL REQUEST JSB A2ACU LDA LGSFS CHECK FOR FLAG = 1 JSB LGLC OCT 40015 PWI=DSS=1,PND=DLO=ACR=0 OCT 40001 IOB 14 SHOULD = 1 * 13-14 LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC OCT 40013 PWI=DLO=1,PND=DSS=ACR=0 OCT 20001 IOB 13 SHOULD = 1 * 15-16 LDA RESET RESET CALL REQUEST JSB A2ACU LDA LGSFS CHECK FOR FLAG = 1 JSB LGLC OCT 40007 PWI=ACR=1,PND=DSS=DLO=0 OCT 10001 IOB 12 SHOULD = 1 * JMP LG,I RETURN TO CONTROL * LGSFS SFS ACU LGSFC SFC ACU * * * * LOGIC CHECK * LGLC NOP STA FC SAVE FLAG CHECK LGS1 CLF ACU LDA LGLC,I GET DATA OUTPUT WORD JSB A2ACU GIVE TO ACU FC NOP CHECK FLAG JSB LGER NOT RIGHT REPORT ERROR ISZ LGEN MOVE TO NEXT SECTION LDA LGLC GET INA DATA LDB A,I MASK LGS2 LIA ACU GET INPUT DATA SLB LOOKING FOR HI OR LOW? CMA HIGH ERB,CLE,ELB AND B SZA PROPER DATA BITS INPUT? JSB LGER NO - REPORT IT ISZ LGEN MOVE TO NEXT SECTION LDA LGLC ADA .2 JMP A,I RETURN * SKP * * ERROR REPORT * LGER NOP JSB CFTN,I OUTPUT TEST NR. IF NEEDED LDB AT ASSUME "@" SYMBOL HAS TO BE OUTPUT LDA LGEN WAS THIS A FLAG CHECK? SLA,RSS LDB EQ NO, LOAD B-REG WITH "=" SYMBOL STB FLG STORE " @" OR " =" INTO FLG LDB ZERO ASSUME "0" HAS TO BE OUTPUT LDA FC CHECK IF FLAG IS SUPPOSE TO BE CPA LGSFC SET OR CLEARED INB SUPPCzOSED TO BE CLEARED, BUT WAS SET. IN- STB FLG+1 CREMENT & STORE INTO NEXT LOCATION * LDB EQ ASSIUME "=" SYMBOL HAS TO BE OUTPUTTED LDA LGEN WAS IT AN IOBI CHECK SLA,RSS LDB AT YES, LOAD B-REG WITH "@" SYMBOL BLF,BLF EXCHANGE THE 2 CHARACTERS STB IOB & STORE INTO IOB LGS3 LIA ACU PICK UP INPUT DATA STA DATA AND SAVE FOR ERROR MESSAGE CCE LDA LGLC,I SET-UP OUTPUT DATA MESSAGE LDB LGIOA FOR IOBO REPRESENTATION JSB O2AS,I * LDA LGEN GET ERROR NUMBER JSB N2AO,I CONVERT TO ASCII STA LGEM1+1 PUT IT IN PLACE * LDA DATA SET UP OUTPUT DATA MESSAGE CLE FOR IOBI REPRESENTATION LDB LGIOB JSB O2AS,I * LDA DATA GET DATA FOR DISPLAY LDB LGLC,I GET OUTPUT JSB ERMS,I REPORT ERROR DEF LGEM1 POINTER TO MESSAGE JMP LGER,I RETURN FOR FURTHER CHECKS * LGEM1 ASC 14,E1XX IOBO = YYYYYY, FLAG FLG NOP NOP ASC 4,, IOBI IOB NOP ASC 4,ZZZZZZ/ * LGEN NOP DATA NOP AT ASC 1, @ EQ ASC 1, = ZERO ASC 1, 0 LGIOB DEF IOB+1 LGIOA DEF LGEM1+6 N2AO DEF ZN2AO BIT8 OCT 400 * * * * * MULTI LINE OPERATION (DS2) * TST06 EQU * * MLO NOP LDA USSC IS THIS A 12589 AUTO DIALER? AND BIT8 SZA,RSS JMP MLO,I NO, RETURN TO ECEC LDB S128 YES, CHECK FOR SUPR MANUAL OPERATION JSB SWRT,I JMP MLO,I YES JSB CFTN,I OUTPUT TEST NR. H050 JSB MSGH,I TELL OPERATOR TO USE SWR DEF MLOM1 POINTER TO MESSAGE * CLA STA TMP MLL1 JSB SWLK CHECK FOR ABORT OCT 200 JMP MLO,I YES - RETURN TO CONTROL CCB GET SWITCHES JSB SWRT,I NOP LDA B AND SWKR ISOLATE SWITCHES RAR CPA TMP ANY CHANGES? 8gJMP MLL1 NO STA TMP YES ALF,ALF SET RAL,RAL UP MLS1 OTA ACU COMMAND JMP MLL1 * SWKR OCT 36 MLOM1 ASC 13,H100 MULTI LINE OPERATION OCT 6412 ASC 16,USE SWR BITS 1-4 TO OPERATE DS2/ SKP * DPR(DS1) * TST07 EQU * * DPR NOP LDA USSC IS THIS A 12589 AUTO DIALER? AND BIT8 SZA,RSS JMP DPR,I NO, RETURN TO EXEC LDB S128 YES, CHECK TO SUPR MANUAL OPERATION JSB SWRT,I JMP DPR,I YES JSB CFTN,I OUTPUT TEST NR. JSB MSGC,I OUTPUT INFORM. TO CONSOLE DEF MSGT7 * LDA ON.1 ISSUE A CALL REQUEST & PREVENT DPRS1 OTA ACU DIGIT PRESENT FF FROM TURNING ON CLA DPRS5 OTA ACU NOW TURN DS1 ON JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT LDA OFF.1 ISSUE A CALL DISCONNECT WHICH DPRS2 OTA ACU TURNS OFF DS1 JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT LDA ON.1 ISSUE A CALL REQUEST & PREVENT DPRS3 OTA ACU DIGIT FF FROM TURNING ON CLA DPRS6 OTA ACU NOW TURN ON JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT LDA OFF.2 ISSUE A NB1 WHICH CLEARS THE DIGIT DPRS4 OTA ACU PRESENT FF RESULTING IN TURN OFF OF DS1 JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT JMP DPRS1-1 NO LOOP AGAIN * * WAIT NOP LDA DM20 SET WAIT COUNT STA CNTR WAITL JSB SWLK CHECK FOR ABORT OCT 200 SWITCH MASK JMP DPR,I ABORTED RETURN TO EXEC LDA D100 WAIT 100 MILLSEC JSB TMRR,I ISZ CNTR CHECK FOR ABORT AND WAIT LONGER? JMP WAITL YES JMP WAIT,I RETURN FOR NEXT STEP * * ON.1 OCT 40000 (CRQ-PWI=1,NB1-PND=1) OFF.1 OCT 100000 (CRQ-PWI=0,NB1-PND=1) OFF.2 OCT 1 (CRQ-PWI=1,NB1-PND=0) * MSGT7 ASC 9,H117 OBSERVE DS1/ * ******************************************************^********* SKP HED TESTS 08 - 11 * * UNIVERSAL INTERFACE BOARD TEST, TEST 08 * * TEST 08 IS RUN EXCLUSIVELY ON THE 12930 UI BOARD. * CHECKS COMMAND AND STATUS REGISTER, INTERFERENCE * BETWEEN COMMAND/STATUS REGISTER AND DATA REGISTER * AND CHECKS THE DATA REGISTER AT FULL SPEED. THE * ONE SHOT FOR THE CRS-STRECHED SIGNAL IS ALSO TESTED. * * THE FOLLOWING SWITCHES HAVE TO BE IN THE SPECIFIED * POSITIONS TO RUN THIS TEST: * U85S2-POS.6 U85S3-POS.10 U102S2-POS.7 * U102S3-POS.10 U106S2-POS.6 * * (TO PASS BASIC I/O ON COMMAND CHANNEL U97S1-POS.1) * * TST08 EQU * * UNIN8 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNIN8,I NO, EXIT TEST CLC INTP,C YES, RESET ALL CONTR.& COMD.FF, INTR OFF UI2 CLC SC,C RESET CONTR, COMD, FLAG & IRQ FF ON DATA UI3 CLC SC+1,C CH AND ON COMD CH. * JSB NOP NOP LOC. STCD1,2&3 IN SUBRT CSDCH LDA JSB8 SELECT SUBRT TST8X FOR DATA TRANSFER STA DTR81 & STORE INTO TST08 STA DTR82 * JSB CSDCH GO TO COMMAND, STATUS & DATA CHECK * * * * * CHECK IF CRS SETS THE OS (U75B) FOR < AND > 5 MICROSEC. * CRSCH LDA NBT11 SET COMD REG TO 172000 & CHECK FOR < 5 USEC UI9 OTA SC+1 OUTPUT COMMAND WORD CLC INTP SET OS (75B) VIA CLC 0 UI11 LIB SC+1 READ STATUS WORD IMMEDIATELY (<5 USEC) CPB M201 & COMPARE AGAINST 177577 JMP CRSTS STATUS WORD OK. STB INPAT STATUS WORD INCORRECT, STORE LDA MIN1 STORE EXPECTED STATUS WORD STA EXPWD LDA MP56 READ MESSAGE POINTER IOR B15 IOR BIT 15 TO LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE SUBROUTINE E056 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE SKP CRSTS LDA NBT11 SET COMMAND REG TO 172000, CHECK F >5 USEC UI12 OTA SC+1 OUTPUT COMMAND 9#WORD CLC INTP SET OS (U75B) AND WAIT NOP NOP NOP UI14 LIB SC+1 READ STATUS WORD AND COMPARE CPB M4605 AGAINST 173173 JMP NSUR STATUS WORD OK. STB INPAT STATUS WORD INCORRECT, STORE LDA M4605 STORE EXPECTED STSTUS WORD STA EXPWD LDA MP57 READ MESSAGE POINTER IOR B15 IOR BIT 15 TO LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE SUBROUTINE E057 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE NSUR JSB MSPTR GO TO NEXT SUBRT JMP UNIN8,I EXIT TEST SKP * * CHECK DATA TRANSFER AT MAX SPEED AND CHECK IF DATA WORD * MODIFIES COMMAND AND/OR STATUS WORD. * MSPTR NOP CCA CREATE A DATA WORD OF 177777 CLB CREATE A COMMAND WORD OF 000000 STB DARFL SET FLAG TO INDICATE 1. EXEC OF ROUT UI16 OTB SC+1 OUTPUT COMD WORD FOLLOWED DTR81 NOP IMMEDIATELY BY ENTRING DATA TRNSF ROUT CPA B COMPARE TRANSM. W RECEIVED DATA WORD JMP *+2 COMPARE OK JMP NCPD ERROR INA INCREM DATA REG TO 000000, OUTPUT DTR82 NOP NEW PATTERN TO DATA REG VIA ROUT CPA B COMPARE TRANSM. W RECEIVED DATA WORD JMP FSDT COMPARE OK. NCPD STA EXPWD DATA WORDS DO NOT COMPARE AT FULL SPEED STB INPAT TRANSFERS. LDA MP60 READ MESSAGE POINTER, IOR B15 IOR BIT 15 TO LINK TO MULTI. MESSAGE & STA MSXYZ STORE INTO ERROR MESSAGE SUBROUTINE. E060 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE. * FSDT ISZ A INCREMENT DATA WORD TO BE TRANSMITTED JMP DTR82 & REPEAT PROCESS * LDA DARFL CHECK DARFL F 1. OR 2. EXECUTION OF ROUT SZA IF 1., STAT WORD SHOULD BE 000200 LDA M1001 IF 2., STAT WORD SHOULD BE 177177 ADA .200 CREATE THIS STATUS WORD ƣUI20 LIB SC+1 CHECK ORIG. CONTROL WORD WITH CPA B PRESENT STATUS WORD RSS COMPARE OK JMP CSWER ERROR OF CONTROL OR STATUS WORD LDA DARFL CHECK F 1.OR 2.EXEC OF ROUTN SZA JMP MSPTR,I 2.EXEC, EXIT TEST INA 1.EXEC, MODIFY DARFL STA DARFL CCB CREATE A COMMAND WORD OF 177777 CCA & A DATA WORD OF 177777 JMP UI16 & GO THROUGH 2.EXEC CSWER STA EXPWD CONTROL OR STATUS REG WAS MODIFIED STB INPAT BY DATA WORDS LDA MP61 READ MESSAGE POINTER, IOR B15 IOR BIT 15 TO LINK TO MULTI. MESSAGE & STA MSXYZ STORE INTO ERROR MESSAGE SUBROUTINE. E061 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE. TE8ED JMP MSPTR,I EXIT TEST. SKP * * STORAGE LOCATIONS FOR TESTS 08 & 09 * MP54 DEF MS054 MP55 DEF MS055 MP56 DEF MS056 MP57 DEF MS057 MP60 DEF MS060 MP61 DEF MS061 * MS054 ASC 14,E054 INCORRECT STATUS WORD/ MS055 ASC 21,E055 DATA WORD MODIFIED BY COMMAND/STATUS MS056 ASC 14,E056 CRS STRECHED IS < 5 US/ MS057 ASC 14,E057 CRS STRECHED IS > 5 US/ MS060 ASC 20,E060 FULL SPEED DATA TRANSFER FAILURE/ MS061 ASC 23,E061 COMMAND OR STATUS MODIFIED BY DATA WORD/ * * SKP * * UNIVERSAL INTERFACE BOARD TEST, TEST 09 * * TEST 09 IS RUN EXCLUSIVELY ON THE 12930 UI BOARD. * IT REPEATES TEST 08 WITH DIFFERENT SWITCH SETTINGS * REQUIRING STC,C INSTRUCTIONS FOR DATA TRANSFERS. * * THE FOLLOWING SWITCHES HAVE TO BE SET TO THE NEW * POSITIONS: * U85S1-POS.1 U106S1-POS.1 * U106S2-POS.5 * * TST09 EQU * * UNIN9 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNIN9,I NO, EXIT TEST LDA PU09 ESTABLISH POWER FAIL RETURN STA PUJP+1 ADDRESS JSB POWOF YES, GO TO POWER OFF ROUTN. * MSET9 JSB POWUP R1EESTABLISH S-REG CONTENTS LDA STCD STORE STC INSTR INTO THE NOP'S OF SUBRT STA STCD1 CSDCH TO TRANSFER THE DATA OUTPUT REG STA STCD2 TO INPUT REG BEFORE COMD WORD TRANSF JSB CSDCH THEN ENTER ROUTINE * CLA RESET THE 2 INSTR IN THE SUBRT STA STCD1 STA STCD2 LDA STCD STORE STC INSTR INTO THE NOP OF SUBRT STA STCD3 CSDCH TO TRNSF THE DATA OUTPUT REG TO * THE DATA INPUT REG AFTER COMD WORD TRANSF JSB CSDCH THEN ENTER ROUTN * LDA JSB9 LOAD SUBRT TST9X FOR DATA TRANSFER STA DTR81 STA DTR82 JSB MSPTR * JMP UNIN9,I * SKP * * STORAGE LOCATIONS FOR TESTS 09 & 10 * MS062 ASC 17,H062 TURN CPU POWER OFF (STANDBY), OCT 6412 ASC 22, CHANGE SWITCHES ON UI BOARD PER APPX A, OCT 6412 ASC 11, & TURN POWER ON/ * * * * RESETS UI BOARD FF'S, RESETS 3 PROGRAM LOCATIONS, * SAVES S-REG, STORES JUMP INTO POWER FAIL TRAP CELL * & OUTPUTS MESSAGE FOR POWER FAIL TURN OFF. * POWOF NOP CLC INTP,C YES, RESET ALL CONTR.& COMD.FF, INTR OFF UI21 CLC SC,C RESET CONTR, COMD, FLAG & IRQ FF ON DATA UI22 CLC SC+1,C CH AND ON COMD CH. JSB NOP NOP LOC STCD1,2&3 LIA 1B SAVE S-REG BEFORE POWER DOWN STA SWRPR LDB B13 CHECK IF OUTPUT MESSAGE & HALT SHALL BE JSB SWRT,I OMITTED DUE TO S-REG BIT 13 SET JMP POWOF,I YES LDA PUJP STORE JMP,I INTO POWER FAIL TRAP CELL STA 4 TO PREPARE POWER DOWN/UP PROCEDURE JSB CFTN,I OUTPUT TEST NR JSB MSGH,I OUTPUT MESSAGE TO CHANGE SWITCHES ON UI DEF MS062 JMP POWOF,I RETURN TO SAME TEST IN CASE OF NO POWER DOWN SKP * * CHECK IF DATA INPUT OR OUTPUT REG WAS MODIFIED BY * COMMAND WORD OUTPUT OR STATUS WORD INPUT IN PREVIOUS * ROUTINE. * STCD3 NOP WILL BE OVERLAYED IN TST09 W STC SC UI7 LIB SC READ DATA REG IN & STORE STB INPAT LDA DARFL CHECK DATA REG FLAG. SHALL DATA REG SLA BE SET OR CLEARED? JMP DARST DATA REG IS SUPPOSE TO BE SET SZB DATA REG IS SURROSE TO BE CLEARED JMP CPEA NO, ERROR, COMD CH INTERFERED W. DATA CH IDAFL CCB YES, DATA REG IS CLEARED, WAS NOT MODIFIED UI8 OTB SC SET DATA REG TO 177777 STCD2 NOP WILL BE OVERLAYED IN TST09 W STC SC ISZ DARFL INCREMENT THE DATA REG FLAG NOP JMP CSWCH REPEAT COMD & STATUS REG CHECK W 177777 * DARST CPB MIN1 DATA REG SUPPOSE TO BE SET, CHECK IF SO JMP CSDCH,I YES, DATA REG IS SET, WAS'T MODIF, EXIT LDA MIN1 NO, ERROR, COMD CH INTERFERED W DATA CH JMP *+1 LOAD A-REG W EXPECTED DATA REG (177777) CPEA CLA " " " " " " (000000) STA EXPWD & STORE IN EXPWD. LDA MP55 ERROR DOES NOT COMPARE. READ MESGE POINTER IOR B15 IOR BIT 15 TO LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE SUBROUTINE E055 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE LDA DARFL CHECK IF DATA REG WAS SUPPOSE SZA TO BE CLEARED. JMP CSDCH,I NO, EXIT JMP IDAFL YES, GO & REPEAT TESTING W DATA REG SET * * * JSB8 JSB TST8X JSB9 JSB TST9X SKP * * UNIVERSAL INTERFACE BOARD TEST, TEST 10 * * TEST 10 IS RUN EXCLUSIVELY ON THE 12930 BOARD. * IT CHECKS COMMAND AND DATA CHANNELS WITH DIFFERENT * SWITCH SETTINGS TO VERIFY THE COMPONENTS ASSOCIATED * WITH THESE SPECIFIC SETTINGS. * * THE FOLLOWING SWITCHES HAVE TO BE SET TO THE NEW * POSITIONS: * U85S2-POS.5 * U85S3-POS.9 * ORG 6000B * TST10 EQU * * UNI10 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNI10,I NO%, EXIT TEST LDA PU10 ESTABLISH POWER FAIL RETURN STA PUJP+1 ADDRESS JSB POWF,I GO TO POWER OFF SUBRT * UN10 JSB POWUP REESTABLISH S-REG JSB NPRS STORE NOP/RSS INSTR'S LDA C&SWB SET THE POINTER OF THE CONTR & STA C&SWP STATUS WORD TO BEGIN. OF TABLE UI39 CLC SC RESET DATA & CONTROL CH FF UI41 CLC SC+1 JSB T10 TEST WITHOUT STC & SFS ON COMD. CH * JSB STCSF STORE STC/SFS INSTR'S UI40 CLC SC RESET DATA & CONTROL CH FF UI42 CLC SC+1 JSB T10 TEST WITH STC & SFS ON COMD. CH JMP UNI10,I * * T10 NOP JSB T10CW OUTPUT A CONTR WORD OF 0 JSB T10SW CHECK THE STATUS WORD FOR 200 JSB T10DT OUTPUT DATA WORDS JSB T10SW CHECK THE STATUS WORD AGAIN FOR 200 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JSB T10CW OUTPUT CONTROL WORD OF 176000 JSB T10SW CHECK STATUS WORD FOR 174374 JSB T10DT OUTPUT DATA WORDS JSB T10SW CHECK STATUS WORD AGAIN FOR 174374 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JMP T10,I * SKP * * UNIVERSAL INTERFACE BOARD TEST, TEST 11 * * TEST 11 IS RUN EXCLUSIVELY ON THE 12930 BOARD. * IT IS SIMILAR TO TEST 10 BUT REQUIRES DIFFERENT * SWITCH SETTINGS TO VERIFY THE COMPONENTS ASSOCIATED * WITH THESE SPECIFIC SETTINGS. * * THE FOLLOWING SWITCHES HAVE TO BE SET TO THE NEW * POSITIONS: * U85S3-POS.8 U97S3-POS.9 U106S1-POS.2 * U97S2-POS.4 U102S2-POS.6 U106S3-POS.10 * TST11 EQU * * UNI11 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNI11,I NO, EXIT TEST LDA PU11 ESTABLISH POWER FAIL RETURN STA PUJP+1 ADDRESS JSB POWF,I GO TO POWER OFF SUBRT * UN11 JSB POWUP REESTABLISH S-REG  JSB NPRS STORE NOP/RSS INSTR'S LDA C&SWA SET THE POINTER OF THE CONTR & STA C&SWP STATUS WORD TO BEGIN. OF TABLE UI35 CLC SC RESET DATA & CONTROL CH FF UI37 CLC SC+1 JSB T11 TEST WITHOUT STC & SFS ON COMD. CH * JSB STCSF STORE STC/SFS INSTR'S UI36 CLC SC RESET DATA & CONTROL CH FF UI38 CLC SC+1 JSB T11 TEST WITH STC & SFS ON COMD. CH JMP UNI11,I * * T11 NOP JSB T10CW OUTPUT A CONTR WORD OF 000/100000 LDA .1 ALLOW A DELAY OF 1 MILLISEC F OPTIC. JSB TMRR,I COUPLED ISOLATOR U51 TO TURN OFF JSB T10SW CHECK THE STATUS WORD FOR 001/100300 JSB T10DT OUTPUT DATA WORDS (STC SC CHANGES STAT WD) ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP ADDRESS POINTER JSB T10SW CHECK THE STATUS WORD FOR 2003/102302 UI34 CLC SC RESET DATA CHANNEL CONTROL FF ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JSB T10SW CHECK THE STATUS WORD FOR 001/100300 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP ADDRESS POINTER * SKP JSB T10CW OUTPUT CONTROL WORD OF 176000 LDA .1 ALLOW A DELAY OF 1 MILLISEC F OPTIC. JSB TMRR,I COUPLED ISOLATORS U51 TO TURN ON JSB T10SW CHECK STATUS WORD FOR 174374 JSB T10DT OUTPUT DATA WORDS ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JSB T10SW CHECK STATUS WORD AGAIN FOR 176376 ISZ C&SWP INCREMENT CONTR/STATUS WORD NOP TABLE POINTER JSB T10CW OUTPUT CONTROL WORD OF 176000 UI33 STC SC SET DATA CHANNEL CONTROL FF JSB T10SW CHECK STATUS WORD FOR 176376 JSB T10DT OUTPUT DATA WORDS JSB T10SW CHECK STATUS WORD AGAIN FOR 176376 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE #POINTER JSB T10CW OUTPUT CONTROL WORD OF 0 LDA .1 ALLOW A DELAY OF 1 MILLISEC F OPTIC. JSB TMRR,I COUPLED ISOLATORS U51 TO TURN OFF JSB T10SW CHECK STATUS WORD FOR 2003 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JMP T11,I * SKP * * OUTPUT ALL COMBINATIONS OF DATA WORDS, READ THEM BACK * & CHECK THE WORDS. * T10DT NOP CLA SET DATA OUTPUT REG TO 0 UI26 OTA SC OUTPUT DATA WORD UI27 STC SC,C TRANSFER TO INPUT DATA REG & UI27A SFS SC CHECK IF FLAG IS SET JSB E065 NO, ERROR UI28 LIB SC READ DATA IN CPB A COMPARE DATA JMP GDWD OK, NO CHANGE OF DATA STA OTPAT ERROR, STORE OUTPUTTED, STA EXPWD EXPECTED & INCOMMING STB INPAT DATA WORD AWAY LDA MP63 LOAD MESSAGE POINTER, IOR B15 LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE ROUTN. JSB EMR3L GO TO ERROR MESSAGE LDA OTPAT WHEN RETURNING F ROUTN GET OTPAT GDWD ISZ A INCREMENT DATA WORD & JMP UI26 REPEAT TRANSFER JMP T10DT,I EXIT ROUTN * E065 NOP JSB ERMS,I DEF MS065 JMP E065,I * MP63 DEF MS063 MS063 ASC 14,E063 DATA WORD WAS MODIFIED/ MS065 ASC 15,E065 DATA CH FLAG FF NOT SET/ * * * * STORE A NOP INTO SUBROUTINE T10CW & AN RSS * INTO SUBROUTINE T10SW * NPRS NOP CLA STA T10NP LDA SW010 STA T10NQ JMP NPRS,I * SKP * * STORE A STC SC+1 INTO SUBROUTINE T10CW & A * SFS SC+1 INTO SUBROUTINE T10SW * STCSF NOP LDA UI29A STA T10NP LDA UI29B STA T10NQ JMP STCSF,I * * * * OUTPUT ONE CONTROL WORD FETCHED FROM THE TABLE * & INCREMENT THE TABLE POINTER * T10CW NOP LDA C&SWP,I FETCH CONTROL WORD F TABLE UI29v OTA SC+1 & OUTPUT T10NP NOP NOP/STC SC+1,C INSTR ISZ C&SWP INCREMENT TABLE POINTER NOP JMP T10CW,I EXIT * UI29A STC SC+1,C * * C&SWP OCT 0 STATUS & CONT WORD TABLE POINTER C&SWB DEF C&SWD * C&SWD OCT 0 OCT 200 OCT 176000 OCT 174374 OCT 0 OCT 2202 OCT 176000 OCT 176376 * C&SWA DEF C&SWC C&SWC OCT 0 OCT 1 OCT 2003 OCT 1 OCT 176000 OCT 174374 OCT 176376 OCT 176000 OCT 176376 OCT 0 OCT 2003 OCT 100000 OCT 100300 OCT 102302 OCT 100300 OCT 176000 OCT 174374 OCT 176376 OCT 176000 OCT 176376 OCT 0 OCT 2003 SKP * * INPUT ONE STATUS WORD & COMPARE AGAINST TABLE * T10SW NOP T10NQ NOP RSS/SFS SC+1 INSTR JSB E066 UI30 LIB SC+1 READ IN STATUS WORD CPB C&SWP,I COMPARE STATUS WORD AGAINST TABLE VALUE JMP T10SW,I OK. EXIT ROUTN STB INPAT ERROR, STORE READ STATUS WORD LDA C&SWP,I READ EXPECTED STATUS WORD & STORE STA EXPWD LDA MP64 LOAD MESSAGE POINTER IOR B15 LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE ROUTN JSB EMR3L GO TO ERROR MESSAGE JMP T10SW,I EXIT ROUTN * E066 NOP JSB ERMS,I DEF MS066 JMP E066,I * UI29B SFS SC+1 * * MP64 DEF MS064 MS064 ASC 14,E064 INCORRECT STATUS WORD/ MS066 ASC 16,E066 COMMAND CH FLAG FF NOT SET/ * * * ************************************************************** SKP HED TEST 12 * * PSEUDO OPDESIGN * SWR * BIT OPERATION * 0 - INEREMENT PATTERN * 1 - OUTPUT PATTERN (OTA SC) * 2 - ENCODE PATTERN (STC SC,C) * 3 - WAIT FOR FLAG (SFS SC) * 4 - INPUT PATTERN (LIA SC) * 5 - COMPAIR PATTERN * 6 8TRN - LOOP * TST12 EQU * * POD NOP JSB MSGC,I TELL OPERATOR TO DEF PODM MAKE SWR SELECTION CLA PODH LDB BTMSK CMB H054 EQU * HLT 54B WAIT FOR HIM STA PTRN ESTABLISH PATTERN CMB STB BTMSK AND BIT MASK AND BTMSK ESTABLISH EXPECTED STA EXP PODL LDB .177 JSB SWRT,I RSS JMP POD,I EXIT CLB,INB JSB SWRT,I JSB INPT INCREMET PATTERN LDB .2 JSB SWRT,I JSB OUT OUTPUT PATTERN LDB .4 JSB SWRT,I JSB ENCD ENCODE PATTERN LDB .10 JSB SWRT,I JSB WFL WAIT FOR FLAG LDB .20 JSB SWRT,I JSB IN INPUT PATTERN LDB .40 JSB SWRT,I JSB CMPR COMPAR PATTERNS LDB .100 JSB SWRT,I JMP PODL LOOP LDA PTRN JMP PODH HALT FOR OPERATOR SKP PODM ASC 21,H070 SET SWITCH REG. FOR PSEUDO OPDESIGN/ * * * ************************************************************** * FWAA EQU * END ?T ex 24395-18001 1644 S 0122 21MX MEM DG              H0101 ASMB,A,B,L,C HED HP 21MX MEMORY DIAGNOSTIC (DSN 102104) ORG 0 OCT. 25, 1976 DATE CODE 1644 SUP * GENERAL OPERATING PROCEDURE * * A. IF MEMORY PROTECT IS PRESENT,THEN PLACE PARITY * ERROR/MEMORY PROTECT SWITCH A1S1 TO INT/IGNORE. IF * MEMORY PROTECT IS NOT PRESENT,THEN PLACE PARITY * ERROR/MEMORY PROTECT SWITCH A1S1 TO HALT. * * B. LOAD DIAGNOSTIC PROGRAM. * * C. LOAD SWITCH-REGISTER WITH DESIRED PROGRAM OPTIONS: * IF SET =: * 15 = HALT AT END OF EACH TEST SECTION. A=TEST #. * 14 = SUPPRESS ERROR HALTS. * 13 = LOOP ON LAST TEST SECTION. * 12 = LOOP ON DIAGNOSTIC. TESTS REQUIRING * OPERATOR INTERVENTION ARE SKIPPED. * 11 = RESERVED * 10 = RESERVED * 9 = GO TO USER SELECTION AT END OF PRESENT * TEST SECTION. * 8 = SUPPRESS OPERATOR INTERVENTION * 7 = RESERVED * 6 = RESERVED * 5 = STORE NONFATAL ERRORS ABOVE 8K IN ERROR * TABLE INSTEAD OF HALTING. * 4 = RESERVED * 3 = RESERVED * 2 = EXECUTE PROGRAM CHECK INSTEAD OF MAIN * PROGRAM. * 1 = RESERVED * 0 = ABORT CURRENT EXECUTION AND HALT TO ENTER * NEW MEMORY TEST LIMITS IN A & B OR LEAVE * A & B UNCHANGED TO KEEP CURRENT TEST * LIMITS. PRESS PRESET,RUN TO RESTART PASS. * * ****NOTE-CLEAR SWITCH-REGISTER WILL EXECUTE THE DEFAULT SET OF * TESTS (TST00 THRU TST10) HALTING ON ERRORS AND * THE END OF THE PASS. * * D. SET P-REGISTER TO 100. PRESS PRESET AND THEN RUN. * * E. RESTA'RT-GO TO STEP C. * SKP * * PROGRAM CHECK PROCEDURE * * IF MEMORY FAILURES IN THE INITIALIZATION AREA WON'T * ALLOW EXECUTION OF THE MAIN PROGRAM,THEN FOLLOW THESE * STEPS TO RUN THE PROGRAM AREA CHECK ON ADDRESSES * 1000 TO 7777. * * A. RELOAD DIAGNOSTIC PROGRAM. * B. SET SWITCH-REGISTER BIT 2. * C. SET P-REGISTER TO 100. PRESS PRESET AND THEN RUN. * * ERROR TABLE * MODULE # ERROR TABLE LOCATIONS ERROR TABLE LOCATIONS * IN BASE FOR BASE MEMORY ONLY FOR BASE MEMORY + DMS * MEMORY** * 2** 1600-1604 1600-1623 * 3** 1624-1627 1624-1647 * 4** 1650-1653 1650-1673 * 5** 1674-1677 1674-1717 * 6** 1720-1723 1720-1743 * 7** 1744-1747 1744-1767 * * ERROR TABLE ENTRY FORMAT * * M ERROR ADDRESS(15 BIT IN BASE OR 10 BIT IN DMS) * M+1 DATA WRITTEN * M+2 DATA READ * M+3 ONES IF ERROR IS IN BASE MEMORY OR PAGE # IF IN DMS * M+4 NUMBER OF TIMES AN ERROR OCCURRED AT THIS ADDRESS * * ERROR TABLE SUMMARY * * BASE MEMORY ADDRESS CONTAINING THE NUMBER OF ERRORS * MODULE #** (MAXIMUM OF 4 PER MODULE) IN THE MODULE * 2** 1770 * 3** 1771 * 4** 1772 * 5** 1773 * 6** 1774 * 7** 1775 * * **NOTE-ERRORS MAY BE ENTERED IN ANY ORDER IF DMS IS PRESENT. * ****NOTE-IN SOME PHASES OF TESTING,THE PROGRAM OR SEGMENTS OF * THE PROGRAM ARE MOVED TO TEST THE PROGRAM AREA. THIS * MAY CAUSE DATA PATTERNS TO BE IN THE ERROR TABLE OR * LOCATION 126 AND THE PROGRAM TO NOT BE RESTARTABLE. * HED TRAP CELL HALTS AND INTERRUPT LINK FOOR 5 ORG 2 OCT 106077 DEF PARCK INITIALLY ASSUME FATAL PE OCT 106077 JSB 3,I INITIALLY ASSUME MP IS PRESENT * * UNL * REP 72B * OCT 106077 TRAP CELL HALLTS * UNL REP 72B OCT 106077 TRAP CELL HALTS LST * CONFIGURATOR LINKAGE TABLE * * ****NOTE-THE CONFIGURATOR IS NOT USED IN THIS DIAGNOSTIC. * THE PROGRAM WILL NOT,HOWEVER,DESTROY THE CONFIGURATOR * IF ALREADY IN MEMORY. * A EQU 0 A-REGISTER INT EQU 0 INTERRUPT SYSTEM B EQU 1 B-REGISTER SWREG EQU 1 SWITCH-REGISTER MP EQU 5 MEMORY PROTECT/PARITY ERROR PAGE EQU 4000B * ORG 100B GO TO INITIALIZATION SECTION OR JMP05 JMP PJMP,I IF RESTART TO 2000 ORG 105B DEF PEND FIRST WORD AVAILABLE MEMORY BSS 1 LAST WORD AVAILABLE MEMORY ORG 126B OCT 102104 DIAGNOSTIC SERIAL NUMBER ORG 130B PJMP DEF INIT POINT TO INITIALIZATION FOR NOW HED PROGRAM CHECK * PERFORMS THE FOLLOWING TESTS ON ADDRESSES 1000 TO 7777: * * ONES AND ZEROS/MARCHING ONES AND ZEROS * ADDRESS PARITY * ADDRESS * CHECKERBOARD * * ASSUMES MEMORY PROTECT IS PRESENT. DESTROYS ANY PROGRAMS * RESIDING IN TEST AREA 1000 TO 7777(INCLUDING COMOD AND THE * CONFIGURATOR IF 4K MEMORY). * ALT LDA PAPAR POINT INTERRUPT TO 5 STA 3 INTO APAR LDA A1000 SET TEST STA ASADR LIMITS OF LDB A7777 1000 TO STB AEADR 7777 * MARCHING ONES AND ZEROS CLA,CLE TEST PATTERN OF STA ATPAT ZEROS.CLEAR E CCA BACKGROUND PATTERN STA ABPAT OF ONES LP306 JSB ABLOC WRITE TEST AREA TO DATA IN A LDB ASADR START AT 1000 LP305 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JMP AEROR pNO.ERROR IN MODULE 0 CLO SET WRITING FLAG LDA ATPAT GET TEST PATTERN STA B,I WRITE IT CPA B,I READ AND CHECK IT RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL300 YES INB NO.BUMP POINTER LDA ABPAT GO BACK TO BACKGROUND JMP LP305 CONTINUE AL300 STO SET READING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JMP AEROR NO.ERROR IN MODULE 0 CLO SET WRITING FLAG LDA ABPAT NOW USE BACKGROUND PATTERN STA B,I WRITE IT CPA B,I READ AND CHECK IT RSS OK JMP AEROR ERROR IN MODULE 0 CPB ASADR DONE? JMP AL301 YES.GO CHECK FOR OTHER PATTERNS ADB AM1 DECREMENT POINTER LDA ATPAT GO BACK TO TEST PATTERN JMP AL300 CONTINUE AL301 JSB ACKPT DO ANOTHER PATTERN? JMP LP306 YES SKP * ADDRESS PARITY TESTS * LP308 CLO SET WRITING FLAG LP309 LDB ASADR START AT 1000 LP313 LDA A.M16 SET COUNTER STA ATEMP =-16 DECIMAL STB A ADDRESS IN A CLE CLEAR BIT FLAG LP307 RAR,SLA ADDRESS BIT SET? CME YES.TOGGLE BIT FLAG ISZ ATEMP DONE? JMP LP307 NO SEZ EVEN # OF BITS? JMP AL305 NO.ODD # LDA ABPAT YES USE BACKGROUND PATTERN AL307 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL309 YES INB NO.BUMP POINTER JMP LP313 CONTINUE AL305 LDA ATPAT USE TEST JMP AL307 PATTERN AL309 SOC JUST FINISH WRITING? JMP AL308 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK AND JMP LP309 READ THKIS TIME AL308 JSB ACKPT DO ANOTHER PATTERN? JMP LP308 YES SKP * ADDRESS TESTS * LP312 CLO SET WRITING FLAG LP311 LDB ASADR START AT 1000 LP310 LDA ATPAT USE ADDRESS OR SZA COMPLEMENT ADDRESS? JMP AL311 COMPLEMENT ADDRESS LDA B USE ADDRESS JMP AL310 AL311 LDA B GET ADDRESS CMA COMPLEMENT IT AL310 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL312 YES INB NO.BUMP POINTER JMP LP310 CONTINUE AL312 SOC JUST FINISH WRITING? JMP AL313 NO.GO SEE IF DONE STO YES.GO BACK AND JMP LP311 READ THIS TIME AL313 LDA ATPAT DONE BOTH ADDRESS AND INA,SZA,RSS COMPLEMENT ADDRESS TESTS? JMP AL314 YES CCA NO.SET ATPAT TO USE STA ATPAT COMPLEMENT ADDRESS JMP LP312 GO BACK & DO COMPLEMENT ADDRESS AL314 STA ATPAT RESTORE TEST PATTERN TO ZEROS SKP * CHECKERBOARD TESTS * LDA PATBL POINT TO STA PTBL2 PATTERN TABLE LP318 LDA PTBL2,I GET PATTERN ENTRY STA APATT PUT IT IN PATTERN VALUE LP315 CLO SET WRITING FLAG LP314 LDB ASADR START AT 1000 LP319 STB A GET ADDRESS IN A AND APATT ARE EITHER OF THE SZA,RSS PATTERN BITS SET? JMP AL315 NO CPA APATT YES.ARE BOTH BITS SET? JMP AL315 YES LDA ATPAT NO.USE TEST JMP AL316 PATTERN AL315 LDA ABPAT USE BACKGROUND PATTERN AL316 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL317 YES INB NO.BUMP POINTER JMP LP319 CONTINUE ALm317 SOC JUST FINISH WRITING? JMP AL318 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK JMP LP314 AND READ DATA AL318 JSB ACKPT DO ANOTHER PATTERN? JMP LP315 YES ISZ PTBL2 ANY MORE ENTRIES LDB PTBL2,I IN THE PATTERN INB,SZB TABLE FOR VARIOUS VENDORS? JMP LP318 YES.GO BACK AND DO THAT PATTERN LIA SWREG IS BIT ALF,SLA 12 SET? JMP ALT YES.DO ANOTHER PASS RAR,SLA IS BIT 13 SET? JMP ALT YES.DO ANOTHER PASS H167 OCT 106067 END OF ALTERNATE TESTS JMP ALT DO ANOTHER PASS OF ALT TESTS HED ACKPT * * SETS UP BACKGROUND AND TEST PATTERNS IN ABPAT AND ATPAT * RESPECTIVELY,BASED ON THE DATA IN ABPAT. * * ENTRY VALUE OF ABPAT EXIT VALUES OF ABPAT,ATPAT & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * ACKPT NOP LDA ABPAT GET BACKGROUND IN A INA,SZA JUST DO A BACKGROUND OF ONES? JMP AL302 NO.MUST BE 0,1 OR 3 STA ABPAT YES.MAKE IT ZEROS CCA MAKE TEST STA ATPAT PATTERN ONES CLA EXIT WITH BACKGROUND JMP ACKPT,I IN A AL302 SLA,RSS JUST DO 000000? JMP AL303 NO.MUST BE 1 OR 3 STA ABPAT USE BACKGROUND=000001. TEST=1'S JMP ACKPT,I AL303 CPA AB4 JUST DO 3? JMP AL304 YES CCA NO.TEST ADA AM1 PATTERN STA ATPAT =177776 LDA AB3 BACKGROUND STA ABPAT =000003 JMP ACKPT,I AL304 CLA ALL DONE.SET STA ATPAT TEST=000000 CCA AND BACKGROUND STA ABPAT =177777 ISZ ACKPT RETURN JMP ACKPT,I P+2 HED ABLOC,AEROR * * WRITE TEST ARE>A TO DATA IN A. * VERIFIES DATA WRITTEN * ABLOC NOP CLO SET WRITING FLAG LP317 LDB ASADR START AT 1ST ADDRESS LP316 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE LOOP? JMP AL319 YES.GO CHECK IF DONE INB NO.BUMP POINTER JMP LP316 AL319 SOC JMP ABLOC,I STO JMP LP317 * * PROCESSES ERRORS FOR AEROR * AEROR EQU * STB ATEMP SAVE ADDRESS LDB B,I GET BAD DATA IN B E104C OCT 106004 MODULE 0 HAS FAILURE LDA ATEMP GET FAILING ADDRESS LDB ATEMP IN A & B E105C OCT 106005 FATAL MODULE 0 ERROR JMP *-1 IRRECOVERABLE HED APAR * * PROCESSES PARITY ERROR INTERRUPTS FOR ALTERNATE TEST * APAR EQU * NOP STA ATEMP SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA BIT 15 OF VIOLATION REG SET? JMP AL320 YES.PE-OK E102A OCT 106002 NO.ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE AL320 AND A.32K MASK OFF VR BIT 15 STA ASTOR SAVE ADDRESS CMA,INA MAKE IT - ADA A777 IS THE FAILING ADDRESS SSA BELOW 1000? JMP AL323 NO.OK AL321 LDA ASTOR YES.PROGRAM AREA FAILURE LDB ASTOR ADDRESS IN A & B E101C OCT 106001 PARITY AREA IN MODULE 0 JMP *-1 IRRECOVERABLE AL323 LDA ATEMP RESTORE A LDB ASTOR,I GET BAD DATA E116A OCT 106016 PARITY ERROR DURING ALT TEST JMP AL321 GO SHOW ADDRESS HED CONSTANTS,LINKS AND STORAGE FOR ALT AB3 OCT 3 AB4 OCT 4 PAPAR DEF APAR LINK TO PARITY ERROR ROUTINE PATBL DEF ATBL LINK TO TABLE OF VENDOR PATTERNS A1000 OCT 1000 A777 OCT 777 A7777 OCT 7777 A.32K DEC 32767 A.M16 DEC ?-16 AEADR BSS 1 LAST ADDRESS IN TEST AREA ABPAT BSS 1 BACKGROUND PATTERN APATT BSS 1 STORAGE FOR CHECKERBOARD PATTERN ASADR BSS 1 STARTING ADDRESS OF TEST AREA ASTOR BSS 1 STORAGE ATEMP BSS 1 FOR ALT TESTS ATPAT BSS 1 TEST PATTERN PTBL2 BSS 1 PATTERN POINTER * * CHECKERBOARD PATTERN TABLE * ATBL EQU * OCT 101 M0 EOR M6(TI 4030,4050) AM1 OCT 177777 HED PROGRAM CONSTANTS,LINKS & STORAGE ORG 700B TSTNO BSS 1 CURRENT TEST NUMBER .1 DEC 1 BIT0 EQU .1 B2 OCT 2 B3 OCT 3 B4 OCT 4 B7 OCT 7 B10 OCT 10 BIT3 EQU B10 B14 OCT 14 B16 OCT 16 B24 OCT 24 SWAP DEC 24 UP TO 32K ADDRESSABLE MEMORY B40 OCT 40 BIT5 EQU B40 B131 OCT 131 B400 OCT 400 PTST DEF TSTNO LINK TO TEST # PETBL DEF ETABL LINK TO START OF ERROR TABLE PSTBL OCT 1770 LINK TO START OF SUMMARY TABLE B1777 OCT 1777 PL073 DEF L073 LINK TO L073 IN TST07 PL100 DEF L100 LINK TO L100 IN TST10 PL140 DEF L140 LINK TO L140 PWCNT DEF WDCNT LINK TO WORK COUNT IN MOVE PMOVE DEF IMOVE LINK TO MOVE ROUTINE PENTR DEF ENTRY LINK TO ERROR TABLE ROUTINE PDBNC DEF DEBNC LINK TO S-REG DEBOUNCE RTN. B7777 OCT 7777 B10K OCT 10000 BIT12 EQU B10K MASK2 OCT 10400 B40K OCT 40000 BIT14 EQU B40K B70K OCT 70000 B76K OCT 76000 .32K DEC 32767 B100K OCT 100000 BIT15 EQU B100K HLT00 HLT 0 TRAP OCT 106075 HALT PLACED IN UNUSED MEMORY M10K OCT -10000 .M64 DEC -64 MASK1 EQU .M64 .M16 DEC -16 M10 OCT -10 M5 OCT -5 M3 OCT -3 .M1 DEC -1 AERR BSS 1 STORAGE FOR A & B AP.E. BSS 1 STORAGE FOR A & B BACKP OCT 177777 DEFAULT OF 1'S BERR BSS 1 DURING ERROR ROUTINES BP.E. BSS 1 DURING P.E. ROUTINE CNTR1 BSS 1 COUNTER LOWER BSS 1 LOWER LIMIT OF TESTING MERR BSS 1 ONES OR PAGE # PASS BSS 1 PASS COUNT PERR BSS 1 BASE MEMORY OR PAGE ADDRESS SAVAD BSS 1 ADDRESS OF VIOLATION TEMP2 BSS 1 STORAGE TEMP3 BSS 1 STORAGE TEMP4 BSS 1 STORAGE TEMP5 BSS 1 STORAGE TEMP6 BSS 1 STORAGE TEMP7 BSS 1 STORAGE MODUL EQU TEMP7 1ST ADDRESS IN CURRENT 4K MODULE PDIAG EQU TEMP7 POINTER TO DIAGONAL ADDRESS TEMP9 BSS 1 STORAGE FOR ERROR ROUTINE TESTP NOP DEFAULT OF 0'S TESTS OCT 777 DEFAULT SET OF TESTS(TST00-10) UPPER BSS 1 UPPER LIMIT OF TESTING HED INIT * INITIALIZATION SECTION * * A. DETERMINES MEMORY SIZE & DISPLAYS SIZE IN SWITCH-REGISTER * FOR OPERATOR VERIFICATION. * B. DETERMINES IF MEMORY PROTECT IS PRESENT OR NOT. * C. PLACES 106075 IN UNUSED MEMORY LOCATIONS AFTER SAVING THE * CONFIGURATOR IN LOCATIONS 6500-7677. * D. MOVES A COPY OF THE MODULE 0 CHECK ROUTINE TO LOCATIONS * 131-677 AND SETS IT TO CHECK ADDRESSES 4000-7777. * E. JUMPS TO ADDRESS 4131 TO RUN A CHECK ON MEMORY MODULE 0. * * THE DEF TO INIT IN ADDRESS 130 IS OVERLAYED UPON COMPLETION * OF A. & B. AND THEN INIT IS OVERLAYED AND CANNOT BE REUSED. * ORG 1000B INIT EQU * LIA SWREG RUN PROGRAM RAR,RAR CHECK INSTEAD OF SLA MAIN PROGRAM? JMP ALT YES LDB I70K START WITH 32K LP202 CCA TRY TO WRITE STA B,I ONES THERE CPA B,I SUCCESSFUL? JMP FOUND YES.MEMORY IS THERE CLA NO.SHOULD BE CPA B,I ZEROS THEN RSS OK JMP UH.OH NOT ZEROS.GO DECIDE IF CONTINUE ADB IM10K DROP POINTER DOWN 4K SZB DID POINTER BOTTOM OUT? JMP LP202 NO. TRY NEXT MODULE E111 OCT 106011 YES.SOMETHING IS AMISS JMP *-1 FIX PROBLEM BEFORE PROCEEDING FOUND LDA PATT3 CAN 125252 STA B,I BE STORED CPA B,I THERE? RSS rY OK JMP UH.OH NO. GO DECIDE TO CONTINUE ADB I7777 FORM MEMORY SIZE GOTIT STB MSIZE SAVE IT LIA SWREG SAVE STA TEMP1 SW REG CLA LP203 OTA SWREG OUTPUT A TO SW REG LIB SWREG READ IT BACK INTO B CPB A DATA CHECK? JMP *+3 YES E113 OCT 106013 NO.CAN'T JMP *-1 PROCEED INA,SZA DONE? JMP LP203 NO LDA MSIZE YES.OUTPUT LAST WORD OF OTA SWREG MEMORY ADDRESS TO SW REG LDB I.M10 DELAY INA,SZA FOR JMP *-1 APPROXIMATELY INB,SZB 3 SECONDS JMP *-3 LDA TEMP1 RESTORE OTA SWREG SW REG LDB PHNDL PUT DEF TO STB 3 HANDL IN 3 LDA I.3 SET UP OTA MP FENCE=3 CLC INT CLEAR ANY I/O INTERRUPTS STF INT TURN ON INTERRUPT SYSTEM STC MP TURN ON MEMORY PROTECT CLA TRY TO VIOLI STA 2 VIOLATE MP NOP SHOULD INT HERE IF MP PRESENT CLF INT DISABLE INTERRUPTS CPA 2 MP NOT THERE. DID 2 GET STORED? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA SHALT PUT SPECIAL HALT IN 5 FOR STA MP ERRONEOUS INT TO 5 W/OUT MP JMP GONE GO TO QUICK TESTS HANDL NOP RETURN PT FOR MP INT CLF INT DISABLE INT'S LIA MP GET VIOLATION REGISTER SSA WAS THERE A PARITY ERROR? JMP PARCK YES.GO DECIDE WHAT TO DO LDB A,I GET VIOLATING INSTRUCTION CPB VIOLI IS IT RIGHT? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA PVIOL DID JSB IN 5 CAPTURE CPA HANDL RETURN ADDRESS CORRECTLY? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA JMP01 INTERRUPTS NOW STA MP ARE ERRORS LDA 2 WERE@"B@< CONTENTS OF LOC 2 CPA THALT PROTECTED? RSS YES JMP BADMP NO.SOMETHING IS WRONG CLC INT CLEAR ANY I/O INTERRUPTS STF INT TURN INT SYSTEM BACK ON CCA IS MP STA 2 TURNED OFF? NOP CLF INT YES.DISABLE INT'S B fv 24395-18002 1644 S 0122 21MX MEM DG              H0101  CPA 2 LOC 2 OK? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA JSB3I RESTORE JSB 3,I STA MP INSTRUCTION IN 5 LDA PMPER POINT LOC 3 TO INIT STA 3 PARITY ERROR HANDLING ROUTINE LDA I.1 SET MP PRESENT IOR FWORD BIT IN FLAG WORD STA FWORD GONE LDA THALT RESTORE TRAP CELL STA 2 TO LOC 2 CLF INT INSURE NO INTERRUPTS STF MP INSURE P.E. IS ON LDA I2000 DISABLE CALL STA PJMP TO INIT & ALLOW OVERLAYING JMP IL224 PARCK CLF MP TURN OFF PE & CLEAR BIT 15 OF VR LIA MP GET VIOLATING ADDRESS STA B ALSO IN B LDA I7777 CHECK IF IN MODULE 0 CMA AND B SZA JMP UH.OH NO E101A OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE UH.OH ADB I7777 FORM A LAST WORD OF MEMORY E110 OCT 106010 FIX PROBLEM OR ENTER A NEW UPPER * LIMIT IN B AND PRESS RUN OR * LEAVE VALUE IN B AND USE THAT * FOR AN UPPER LIMIT. JMP GOTIT CONTINUE WITH VALUE IL224 LDA MSIZE ONLY 4K CPA I7777 PRESENT? RSS YES JMP IL222 NO.LEAVE FWORD ALONE LDA I2 OR IN IOR FWORD 4K PRESENT STA FWORD FLAG JMP IL223 SKIP NEXT SECTION IL222 LDB I6177 MOVE LDA CONF THE STA PWCNT,I CONFIGURATOR LDA MSIZE LOCATIONS AND I70K DOWN IOR I6500 TO JSB PMOVE,I 6177-7377 LDA TRAP PUT LDB B10K HALT LP218 STA B,I 106075'S CPB MSIZE IN JMP IL223 UNUSED INB MEMORY JMP LP218 IL223 LDA PMDCK SET UP STARTING STA SAVAD SOURCE ADDRESS LDB B1w31 DESTINATION STARTING ADDRESS LP220 LDA SAVAD,I MOVE A STA B,I WORD CPB PEMCK DONE? JMP IL226 YES INB NO.BUMP ISZ SAVAD POINTERS JMP LP220 CONTINUE IL226 LDA PMDCK SET UP STA SAVAD POINTERS LDB B131 AGAIN LP221 LDA SAVAD,I GET SOURCE WORD CPA B,I MOVED OK? RSS YES JMP IER NO.ERROR CPB PEMCK DONE? JMP IL227 YES INB NO. BUMP ISZ SAVAD POINTERS JMP LP221 CONTINUE IER STB SAVAD SAVE ADDRESS LDB B,I GET BAD DATA IN B E104B OCT 106004 MODULE 0 HAS FAILURE LDA SAVAD GET FAILING LDB SAVAD ADDRESS IN A & B E105B OCT 106005 FATAL ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE IL227 LDA JMP05 SET MODULE 0 CHECK LOW STA PMJMP,I TO JMP TO CONTROL SECTION LDA I4777 SET LDB IM4K UP STA PLIM,I PARITY STB PHIM,I ERROR LDA I777 ROUTINE LDB IM131 FOR MODULE STA PLLIM,I 0 CHECK STB PHLIM,I (LOW) LDA PTBL3 POINT TO LOW STA PTBL4,I PATTERN TABLE JMP PMDCK,I GO START MODULE 0 CHECK * * FLASHES S,E & O-REGISTERS TO INDICATE MEMORY PROTECT * WON'T TURN OFF * FLASH CLE CLO CLA L614 OTA SWREG INA,SZA JMP *-1 LIA SWREG CMA OTA SWREG CLA INA,SZA JMP *-1 SOS JMP L612 CLO JMP L613 L612 STO L613 INA,SZA JMP *-1 CME INA,SZA JMP *-1 JMP L614 HED CONSTANTS,LINKS AND STORAGE FOR INIT I.1 DEC 1 I2 OCT 2 I.3 DEC 3 PMJMP DEF IL206-PAGE TRANSFER POINT IN MD0CK PTBL4 DEF PITBL-PAGE LINK TO PATTERN TABLE POINTER PHLIM DEF HLIM-PAGE LINK TO HLIM(LOW) PLLIM DEF LLIM-PAGE LINK TO LLIM(LOW) PTBL3 DEF ITBL-PAGE LINK TO PATTERN TABLE(LOW) PEMCK DEF PM0CK-PAGE END OF MODULE 0 CHECK LOW I777 OCT 777 PVIOL DEF VIOLI+1 RETURN ADR FOR MP VIOLATION PHNDL DEF HANDL DEF IN 3 FOR INIT CONF OCT 1200 #OF WORDS IN CONFIGURATOR I2000 OCT 2000 PMDCK DEF MD0CK START OF MODULE 0 CHECK PMPER DEF IPAR DEF TO PAR ERROR ROUTINE IN INIT PHIM DEF HLIM LINK TO HIGH LIMIT FOR P.E. PLIM DEF LLIM LINK TO LOW LIMIT FOR P.E. I4777 OCT 47777 I6177 OCT 6177 I6500 OCT 6500 I7777 OCT 7777 JMP01 JMP FLASH MEMORY PROTECT WON'T TURN OFF I70K OCT 70000 SHALT OCT 106015 SPECIAL TRAP CELL HALT FOR NO MP THALT OCT 106077 JSB3I JSB 3,I JSB 3,I INSTRUCTION PATT3 OCT 125252 IM10K OCT -10000 IM4K OCT -4000 IM131 OCT -131 I.M10 DEC -10 TEMP1 BSS 1 HED ERROR ROUTINE * * PROCESSES DATA ERRORS * * CALLING SEQUENCE: * * A=DATA WRITTEN * B=FAILING ADDRESS * JSB ERROR * ORG 1400B ERROR NOP STA AERR SAVE STB BERR A & B STB PERR INITIALIZE PERR TO BASE ADDRESS CLF MP INSURE P.E. OFF DURING ERROR RTN CCA INITIALIZE MERR STA MERR TO BASE MEMORY LDB BIT14 SUPPRESS JSB SWRCK ERROR HALTS? JMP L632 YES LDA TSTNO IN DMS CPA B16 TESTS? JSB FXMEM YES.GO FIND PAGE # & ADDRESS LDB BIT5 ENTER ERRORS JSB SWRCK IN ERROR TABLE? JMP PENTR,I YES L626 LDA PTST,I GET TEST # IOR HLT00 AND FORM STA EHALT ERROR HALT LDA AERR GOOD DATA LDB BERR,I BAD DATA(DATA READ) EHALT BSS 1 ERROR HALT LDA PERR FAILING ADDRESS IN A LDB MERR ONES OR PAGE # IN B H27 HLT 27B HALT FOR ADDRESS L632 LDA AERR RESTORE LDB BERR A & B STF MP TURN P.E. BACK ON JMP ERROR,I HED FXMEM * * DETERMINE PAGE ADDRESS AӪND PUT IN PERR * DETERMINE PAGE # AND PUT IN MERR * FXMEM NOP LDA BERR GET AND B1777 PAGE ADDRESS STA PERR IN PERR LDA BERR FORM LDB SAVE3 THE AND B76K REGISTER # ALF FROM RAL,RAL SAVE3 ADA M10 ALLOW FOR 8K START POINT CMA CALCULATE L625 INA,SZA,RSS THE JMP L641 PAGE INB NUMBER JMP L625 L641 STB MERR PUT IT IN MERR JMP FXMEM,I HED P.E. * HANDLES PARITY ERRORS * P.E. NOP STA AP.E. SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA PARITY ERROR BIT 15 OF VR SET? JMP L609 YES.OK STA SAVAD SAVE ADDRESS LDA TSTNO CURRENTLY IN CPA B14 MEMORY PROTECT TEST? JMP PL140,I YES.GO THERE CPA B16 IN DMS TEST? JMP L637 YES E102B OCT 106002 ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE L609 AND .32K MASK OFF BIT 15 STA SAVAD SAVE ADDRESS CMA,INA IS P.E. ADA B7777 LOCATED SSA ABOVE 7777? JMP L610 YES LDA SAVAD NO.BAD ADDRESS LDB SAVAD IN A & B E101D OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE L610 STB BP.E. SAVE B LDA TSTNO IN TEST CPA B7 TST07? JMP L642 YES LDA TSTNO IN TEST CPA B16 TST16? RSS YES JMP L611 NO.ADDRESS IS IN BASE MEMORY LDA SAVAD GO FIND STA BERR PAGE ADDRESS AND JSB FXMEM PAGE NUMBER LDA SAVE8 IS TST16 DOING CPA B7 TST07? RSS YES JMP L611 NO.USE ERROR ROUTINE LDA PERR FAILING PAGE ADDRESS LDB MERR FAILING +nPAGE NUMBER JMP E34 GO HALT L642 LDA SAVAD FAILING ADDRESS(BASE MEMORY) CCB BASE MEMORY FLAG E34 HLT 34B LET USER DECIDE JMP L615 CONTINUE ALL BUT TST07 L611 LDA AP.E. USE ERROR LDB SAVAD ROUTINE TO JSB ERROR REPORT ERROR L615 LDA AP.E. RESTORE LDB BP.E. REGISTERS STF MP TURN PARITY ERROR BACK ON JMP P.E.,I CONTINUE TESTING L637 LDA TESTS IS THE MEMORY AND B10K PROTECT TEST SZA ALSO SELECTED? JMP PL140,I YES.GO THERE JMP E102B NO.ERRONEOUS MP VIOLATION BADMP EQU * E114 OCT 106014 MEMORY PROTECT FAILURE JMP *-1 IRRECOVERABLE SPC 6 * * CHECKS SWITCH-REGISTER FOR THE BIT IN THE B-REGISTER. * * CALLING SEQUENCE: * * LDB BIT * JSB SWRCK * RETURN P+1 IF SET * RETURN P+2 IF CLEAR * SWRCK NOP JSB PDBNC,I AND B SZA JMP SWRCK,I ISZ SWRCK JMP SWRCK,I SPC 2 * PROGRAM CONSTANTS,LINKS & STORAGE B77 OCT 77 SAVE1 BSS 1 SAVE3 BSS 1 SAVE4 BSS 1 SAVE5 BSS 1 SAVE6 BSS 1 SAVE7 BSS 1 SAVE8 BSS 1 MAXPG NOP MAXIMUM PAGE # PTBL5 BSS 1 POINTER TO CHECKERBOARD PATTERN PTBL7 BSS 1 LINK TO ROWS & COLUMNS PATTERN PTBL9 BSS 1 LINK TO DISTURBANCE PATTERN HED ERROR TABLE AREA ORG 1600B ETABL EQU * ERROR TABLE STARTING ADDRESS * * SPECIAL PROGRAM CONSTANTS * ORG 1776B MSIZE BSS 1 LAST WORD OF MEMORY * * FLAG WORD FOR VARIOUS PARAMETERS * * BIT # PARAMETER PRESENT IF SET * 0 MEMORY PROTECT * 1 4K MEMORY PRESENT * FWORD NOP START WITH NONE HED CONTROL SECTION * CONTROLS EXECUTION OF VARIOUS TEST SECTIONS * ORG 2000B LDA PP.E. SET P.E INTERRUPTS TO STA 3 GO TO P.E. ROUTINE LDA B777 SE'iT UP DEFAULT STA TESTS SET OF TESTS CLA SET PASS STA PASS COUNTER TO 0 LDB PETBL CLEAR ERROR L508 STA B,I TABLE AND CPB PENTL SUMMARY JMP L512 AREA INB JMP L508 L512 LDA MSIZE SET UP DEFAULT STA UPPER TEST LIMITS OF LDB B10K 10000-X7777 OR LDA FWORD 0-7777 FOR 4K RAR,SLA CLB STB LOWER L500 CLA CLEAR TEST STA TSTNO NUMBER STA HFLAG AND SKIP BIT 15 FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? L501 LDB TSTNO NO.GET CURRENT TEST # CMB 1'S COMP. -TEST # LDA TESTS GET TESTS WORD RAR GET BIT FOR INB,SZB CURRENT TEST JMP *-2 SECTION IN BIT 15 POSITION SSA,RSS DO THIS TEST? JMP L502 NO L505 LDA FWORD ONLY 4K OF RAR,SLA MEMORY PRESENT? JMP L513 YES.GO DECIDE ON TEST L514 JSB CKTST CHECK TEST AREA BOUNDARIES LDA PTEST BUILD TEST ADA TSTNO POINTER AND LDA A,I AND GO JSB A,I DO IT L503 LDA FWORD ONLY 4K OF RAR,SLA MEMORY PRESENT? JMP L518 YES.SKIP HALTS & RESTORING LDA TRAP PUT LDB B10K HALT L517 STA B,I 106075'S CPB MSIZE IN JMP L516 TEST INB AREA JMP L517 L516 LDA MSIZE RESTORE AND B70K CONFIGURATOR ADA B6500 LDB A LDA B1200 STA PWCNT,I LDA PCONF JSB PMOVE,I L518 JSB CKBTS USER SELECTION OR NEW LIMITS? LDA HFLAG SKIP THE SW-REG SZA BIT 15 CHECK? JMP L504 YES LDB BIT15 NO.IS BIT JSB SWRCK 15 OF SW-REG SET? RSS YES JMP L504 NO LDA TSTNO GET TEST # IN A H76 HLT 76B HALT BETWEEN}P TEST SECTIONS L504 CLA CLEAR SKIP BIT STA HFLAG 15 FLAG LDB BIT13 IS SW-REG JSB SWRCK BIT 13 SET? JMP L505 YES.REPEAT TEST SECTION LDA TSTNO DONE ALL CPA LTEST TESTS? JMP L506 YES ISZ TSTNO NO.BUMP JMP L501 TEST # L506 ISZ PASS BUMP PASS COUNT JMP L507 GO CHECK FOR LOOP ON PASS CCA STICK PASS STA PASS COUNT AT JMP L507 MAX # OF BITS L507 LDB BIT12 LOOP ON JSB SWRCK DIAGNOSTIC? JMP L500 YES LDA PASS NO.GET PASS COUNT IN A H77 HLT 77B END OF PASS JMP L500 DO ANOTHER PASS USER CLB LOAD REGISTERS WITH LDA TESTS THE CURRENT SET OF TESTS H75 HLT 75B HALT FOR USER SELECTION SZA,RSS DEFAULT SET OF TESTS? LDA B777 YES STA TESTS STORE AS NEW SET OF TESTS LIA SWREG CLEAR BIT 9 AND N1001 OTA SWREG LDA TESTS SELECTED AND BIT14 TST16 SZA,RSS FOR EXECUTION? JMP L500 NO.RESTART PASS CLA DEFINE MAP CLB REGISTERS 0-7 LDX B10 TO BE PAGES 0-7 XMS LDA B1777 START AT PAGE 1000(DECIMAL) SJP L649 ENABLE SYSTEM MAPS L649 STA MAXPG SAVE IT ADA M10 GET DOWN SSA TO PAGE 7? JMP E36 YES LDA B10 DEFINE MAP LDB MAXPG REGISTER 10 TO BE LDX .1 CURRENT MAXPG XMS LDB B20K TRY TO CCA WRITE STA B,I ONES THERE LDA B,I GET ONES CPA M1 BACK? JMP L651 YES.FOUND MAXPG SZA,RSS NO.GET ZEROS BACK? JMP L650 YES.GO DROP A PAGE LDB MAXPG NO.SOMETHING'S WRONG E402 OCT 107002 LET USER DECIDE STB A GET RID AND B1777 OF DON'T STA MAXPG CARES L651 LDA MSIZE DOES ALF MAXPG RAL,RAL EQUAL AND B77 THE BASE CPA MAXPG MEMORY? JMP E36 NO LIA SWREG YES.SAVE STA TEMP3 S-REG LDA MAXPG PUT MAXPG OTA SWREG IN S-REG LDB .M16 DELAY ISZ A FOR JMP *-1 APPROXIMATELY ISZ B 5 SECONDS JMP *-3 LDA TEMP3 RESTORE OTA SWREG S-REG DJP L500 TURN OFF MAPS & START NEW PASS L650 LDA MAXPG DROP ADA .M1 MAXPG JMP L649 ONE PAGE E36 HLT 36B NO EXPANDED MEMORY FOUND DJP USER TRY AGAIN L502 CCA SKIP SW-REG STA HFLAG BIT 15 JMP L516 CHECK ABORT JSB PDBNC,I DEBOUNCE S-REG LDA TSTNO IN TEST CPA B16 TST16? JMP L515 YES L519 CCA RESET STA BACKP BACKGROUND CLA AND TEST STA TESTP PATTERNS LDA LOWER GET CURRENT TEST LDB UPPER LIMITS IN A & B H64 HLT 64B ENTER NEW LIMITS * PRESS PRESET,RUN L510 JSB CHKUP CHECK UPPER LIMIT E65 HLT 65B RE-ENTER UPPER JSB CHKUP CHECK UPPER LIMIT E30 HLT 30B LAST CHANCE TO CHANGE UPPER STA LOWER GO WITH WHAT STB UPPER USER HAS L509 ADA M10K LOWER-10000 SSA,RSS LOWER<10000? JMP L511 NO.OK LDA LOWER YES.RESTORE LDB UPPER LIMITS E67 HLT 67B RE-ENTER LOWER JMP L510 TRY AGAIN L511 LDB UPPER CMB,INB -UPPER ADB LOWER +LOWER SSB,RSS LOWER GREATER THAN OR = UPPER? JMP *+5 LIA SWREG CLEAR BIT 0 AND N2 OTA SWREG JMP L500 NO.RESTART PASS W/NEW TEST AREA LDA LOWER YES.RESTORE LDB UPPER  LIMITS E66 HLT 66B RE-ENTER LIMITS JMP L510 TRY AGAIN L513 LDA TSTNO TRYING TO DO THE CPA B10 MODULE 0 CHECK? JMP L514 YES.OK CPA LTEST NO.TRYING TO DO MICROCODED TEST? JMP L514 YES.OK H61 HLT 61B USER SELECTED TEST & ONLY 4K JMP L503 SKIP TEST SECTION L515 LDA SAVE6 RESTORE TEST LDB SAVE7 LIMITS STA LOWER STB UPPER DJP L519 DISABLE MAPS & ABORT HED CKBTS,CHKUP,CKTST * * CHECKS S-REG BITS 0 & 9 * CKBTS NOP LDB BIT0 IS S-REG JSB SWRCK BIT 0 ON? JMP ABORT YES LDB BIT9 IS S-REG JSB SWRCK BIT 9 ON? JMP USER YES JMP CKBTS,I NO.DONE * * CHECK UPPER LIMIT OF TESTING IN B * CHKUP NOP STA LOWER SAVE NEW STB UPPER LIMITS CMB,INB -UPPER ADB MSIZE +MAX ADDRESS SSB,RSS UPPER>MAX? JMP L509 NO.OK LDB UPPER YES.RESTORE BAD UPPER JMP CHKUP,I * * CHECKS TESTS SELECTED AND CURRENT TEST AREA LIMITS FOR 4K * BOUNDARY COMPATIBILITY * CKTST NOP LDA TESTS SELECTED TST07,TST11, AND MASK3 TST12 SZA JSB PCK4K,I YES.GO CHECK BOUNDARIES JMP CKTST,I NO.RETURN H35 HLT 35B INFORM USER OF LIMIT PROBLEMS JMP ABORT TRY NEW LIMITS HED PATTERN TABLES * * CHECKERBOARD PATTERN TABLE * TBL EQU * OCT 101 M0 EOR M6(TI 4030,4050) M1 OCT -1 * * ROWS AND COLUMNS PATTERN TABLE * CONTAINS BITS IN ADDRESS TO CREATE ROWS OR COLUMNS * TBL1 EQU * OCT 100 M6(TI 4030,4050)-ROWS OCT 10 M3(TI 4030,4050)-COLUMNS OCT -1 * * DISTURBANCE PATTERN TABLE * TBL2 EQU * OCT 110 M6,M3(TI 4030,4050) OCT 100 M6(TI 4030,4050) OCT 10 M3(TI 4030,4050) OCT -1 <:66< gv 24395-18003 1644 S 0122 21MX MEM DG              H0101 * * DISTURBANCE PATTERN ROUTINES TABLE * TBL3 DEF PAT01 MH OR ML DEF PAT02 MH OR MLF DEF PAT03 MHF OR ML DEF PAT04 MHF OR MLF DEF PAT05 MH AND ML DEF PAT06 MH AND MLF DEF PAT07 MHF AND ML DEF PAT08 MHF AND MLF DEF L052 DONE.GO CHECK FOR OTHER DATA HED TEST TABLE * * POINTERS TO TEST SECTIONS * TSTBL DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEF TST16 HALT DEF HALT TEST TABLE POINTER WRONG E112B OCT 106012 PROGRAM DESTROYED JMP *-1 IRRECOVERABLE HED CONSTANTS,LINKS AND STORAGE FOR PROGRAM LTEST OCT 16 LAST ALLOWABLE TEST # .65 DEC 65 PJMP1 DEF IL206-PAGE TRANSFER POINT IN MOD 0 CHECK B377 OCT 377 PIER1 DEF IEROR+1-PAGE LINK TO ERROR CALL LOW PIER2 DEF IEROR+2-PAGE LINK TO ERROR RETURN IN RELO WCNT3 DEF PM0CK-MD0CK+2 # OF WORDS IN RELO. MODULE PSTR1 DEF START-PAGE LINK TO START IN RELO. MODULE PWCT1 DEF WDCNT-PAGE LINK TO WORD COUNT LOW PMOV1 DEF IMOVE-PAGE LINK TO IMOVE LOW B777 OCT 777 B1000 OCT 1000 BIT9 EQU B1000 B1200 OCT 1200 B1377 OCT 1377 PP.E. DEF P.E. LINK TO PARITY ERROR ROUTINE PENTL DEF MSIZE-1 END OF ERROR TABLE+SUMMARY AREA PTBL DEF TBL LINK TO PATTERN TABLE PTBL6 DEF TBL1 LINK TO ROWS & COLUMNS TABLE PTBL8 DEF TBL2 LINK TO DISTURBANCE TABLE PTEST DEF TSTBL LINK TO TEST TABLE PL146 DEF L146 LINK TO L146 PL147 DEF L147 LINK TO L147 PL144 DEF L144 LINK TO L144 B4000 OCT 4000 PJMP2 DEF MD0CK LINK TO START OF MODULE 0 CHECK PIERI DEF PM0CK LINK TO ERROR RETURN FROM TST07 PCK4K DEF CHK4K LINK TO BOUNDARY CHECK ROUTINE PCHEK DEF CHECK LINK TO ROUTINE CHECK PCKMD DEF CHKMD LINK TO CHKMD ROUTINE PRMEM DEF RMEM ij LINK TO RMEM PWMEM DEF WRMEM LINK TO WRMEM PCONF DEF SCONF LINK TO SAVE CONFIGURATOR AREA B6500 OCT 6500 B20K OCT 20000 BIT13 EQU B20K PPAT1 DEF TBL3,I LINK TO TABLE OF PATTERN ROUTINE MASK3 OCT 103200 BITS 15,10,9 AND 7 H401 OCT 107001 END OF TEST HALT.4K ONLY JMP04 JMP PL073,I JMP TO L073 INSTRUCTION JMP03 JMP PL100,I JMP TO L100 INSTRUCTION PATT6 OCT 125252 M1000 OCT -1000 N1001 OCT 176777 N2 OCT -2 .M24 DEC -24 HFLAG BSS 1 ALL ONES TO SKIP CURRENT TEST PATT BSS 1 CHECKERBOARD PATTERN BITS PATT1 BSS 1 HIGH ORDER BIT PATT2 BSS 1 LOW ORDER BIT PATT4 OCT 52525 PATT5 OCT 125252 PPATT BSS 1 LINK TO PATTERN ROUTINE HED TST00-ONES AND ZEROS * * WRITES/READS MEMORY UNDER TEST TO: * * 177777 * 000000 * 000001 (RIPPLES 1 THRU 0'S) * 177776 (RIPPLES 0 THRU 1'S) * TST00 EQU * ONZER NOP CCA DO JSB PWMEM,I 177777 CLA DO JSB PWMEM,I 000000 CLA,INA DO L000 JSB PWMEM,I 000001 RAR,SLA RIPPLE A 1 RSS THRU A JMP L000 FIELD OF 0'S CLA,INA CMA DO L001 JSB PWMEM,I 177776 RAR,SLA RIPPLE 0 JMP L001 THRU 1'S JMP ONZER,I HED TST01-ADDRESS PARITY * * WRITES/READS EACH ADDRESS OF MEMORY UNDER TEST TO THE PARITY * OF THAT ADDRESS. EVEN AND ODD PARITY ARE USED FOR MAIN MEMORY * AND THE PARITY CHIPS * TST01 EQU * ADPAR NOP L017 CLO SET WRITING FLAG L016 LDB LOWER START AT LOWER LIMIT TEST AREA L014 LDA .M16 SET COUNTER STA CNTR1 = -16 DECIMAL STB A GET ADDRESS IN A CLE CLEAR BIT FLAG L010 RAR,SLA BIT SET? CME YES.TOGGLE BIT FLAG ISZ CNTR1 NO.DONE? JMP L010 NO.KEEP COUNTING BITS SEZ YES.EVEN # OF BITS IN ADDRESS? JMP L011 NO.OmbDD #.USE TEST PATTERN LDA BACKP YES.USE BACKGROUND PATTERN L012 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L013 YES INB NO.BUMP POINTER JMP L014 CONTINUE L011 LDA TESTP USE TEST JMP L012 PATTERN L013 SOC DONE? JMP L015 YES STO NO.GO BACK AND JMP L016 READ THIS TIME L015 JSB PCHEK,I DO ANOTHER PATTERN? JMP L017 YES JMP ADPAR,I HED TST02-MARCHING ONES AND ZEROS * * 1. WRITES MEMORY UNDER TEST TO BACKGROUND PATTERN. * 2. READS BACKGROUND PATTERN IN 1ST LOCATION,WRITES TEST * PATTERN,READS BACKGROUND PATTERN IN 2ND LOCATION,WRITES * TEST PATTERN,ETC. TO UPPER LIMIT OF TEST AREA. * 3. READS TEST PATTERN IN LAST LOCATION,WRITES BACKGROUND * PATTERN,READS TEST PATTERN IN LAST LOCATION-1,WRITES * BACKGROUND PATTERN,ETC. BACK DOWN TO LOWER LIMIT. * 4. THE FOLLOWING PATTERNS ARE USED: * BACKGROUND TEST * 177777 000000 * 000000 177777 * 000001 177777 * 000003 177776 * TST02 EQU * MARCH NOP L020 LDA BACKP GET BACKGROUND IN A JSB PWMEM,I WRITE TEST AREA TO DATA IN A LDB LOWER START AT LOWER LIMIT TEST AREA L021 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JSB ERROR NO. ERROR LDA TESTP TEST PATTERN IN A CLO SET WRITING FLAG STA B,I WRITE TEST PATTERN CPA B,I VERIFY IT RSS OK JSB ERROR ERROR CPB UPPER DONE MARCHING UP? JMP L022 YES INB NO.BUMP POINTER LDA BACKP BACKGROUND IN A JMP L021 CONTINUE L022 STO SET READIING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JSB ERROR NO.ERROR LDA BACKP BACKGROUND IN A CLO SET WRITING FLAG STA B,I WRITE BACKGROUND CPA B,I VERIFY IT RSS OK JSB ERROR ERROR CPB LOWER DONE MARCHING DOWN? JMP L023 YES ADB M1 NO.DECREMENT POINTER LDA TESTP TEST PATTERN IN A JMP L022 CONTINUE L023 JSB PCHEK,I DO ANOTHER PATTERN? JMP L020 YES JMP MARCH,I HED TST03-CHECKERBOARD * WRITES/READS MEMORY TO A CHECKERBOARD PATTERN BASED ON THE * CHIP'S PHYSICAL LAYOUT. * TST03 EQU * CHKER NOP LDA PTBL POINT TO STA PTBL5 PATTERN TABLE L036 LDA PTBL5,I GET PATTERN ENTRY STA PATT SAVE PATTERN VALUE L035 CLO SET WRITING FLAG L034 LDB LOWER START AT LOWER LIMIT TEST AREA L031 STB A GET ADDRESS IN A AND PATT ARE BOTH OF THE CPA PATT BITS SET IN THE ADDRESS? JMP L030 YES SZA,RSS BOTH BITS CLEAR? JMP L030 YES LDA TESTP NO.USE TEST RSS PATTERN L030 LDA BACKP USE BACKGROUND PATTERN SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L032 YES INB NO.BUMP POINTER JMP L031 CONTINUE L032 SOC JUST FINISH WRITING? JMP L033 NO STO YES.GO BACK JMP L034 AND READ DATA L033 JSB PCHEK,I DO ANOTHER PATTERN? L037 JMP L035 YES ISZ PTBL5 NO.ANY MORE LDB PTBL5,I ENTRIES INB,SZB IN PATTERN TABLE? JMP L036 YES.GO DO NEXT PATTERN JMP CHKER,I HED TST04-ROWS AND COLUMNS * * WRITES/READS THE MEMORY CHIPS UNDER TEST TO ROWS OF t1'S AND * 0'S AND COLUMNS OF 1'S AND 0'S ACCORDING TO THE CHIP'S * PHYSICAL LAYOUT. * TST04 EQU * ROCOL NOP LDA PTBL6 POINT TO STA PTBL7 PATTERN TABLE L045 LDA PTBL7,I GET PATTERN ENTRY STA PATT AND SAVE IT L046 CLO SET WRITING FLAG L043 LDB LOWER START AT LOWER LIMIT TEST AREA L041 STB A GET ADDRESS IN A AND PATT IS THE BIT OF SZA INTEREST SET? JMP L040 YES LDA TESTP NO.USE RSS TEST PATTERN L040 LDA BACKP USE BACKGROUND SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L042 YES INB NO.BUMP POINTER JMP L041 CONTINUE L042 SOC JUST FINISH WRITING? JMP L044 NO STO YES.GO BACK JMP L043 AND READ DATA L044 JSB PCHEK,I DO ANOTHER PATTERN? JMP L046 YES ISZ PTBL7 NO.ANY LDB PTBL7,I MORE ENTRIES INB,SZB IN PATTERN TABLE? JMP L045 YES.GO DO NEXT PATTERN JMP ROCOL,I HED TST05-DISTURBANCE * * WRITES/DELAYS/READS MEMORY UNDER TEST TO THE FOLLOWING * PATTERNS: * * MH OR ML WHERE MH=HIGH ORDER BIT OF INTEREST * MHF OR ML ML=LOW ORDER BIT OF INTEREST * MH OR MLF F=FALSE * MHF OR MLF OR=INCLUSIVE OR * MH AND ML AND=AND * MHF AND ML * MH AND MLF * MHF AND MLF * * DELAYS FOR APPROXIMATELY 320 MILLISECONDS BEFORE READING. * TST05 EQU * DIST NOP LDA PTBL8 GET POINTER STA PTBL9 TO PATTERNS L055 LDA PTBL9,I GET STA PATT MH & ML ISZ PTBL9 GET LDA PTBL9,I JUST STA PATT1 MH ISZ PTBL9 GET LDA PTBL9,I JUST STA PATT2 ML L058 LDB ePPAT1 POINT TO STB PPATT PATTERN ROUTINE L054 CLO SET WRITING FLAG L053 LDB LOWER START AT LOWER LIMIT TEST AREA L051 STB A GET ADDRESS IN A AND PATT MASK OFF BITS OF INTEREST JMP PPATT,I GO GET CURRENT DATA VALUE L056 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L050 YES ADB .1 NO.BUMP POINTER JMP L051 CONTINUE L050 SOC JUST FINISH WRITING? JMP L057 NO LDA .32K YES.DELAY INA,SZA APPROXIMATELY JMP *-1 320 LDB .32K MILLISECONDS STB LP306 AND STO TO SET ISZ LP306 READING FLAG JMP *-1 JMP L053 GO BACK AND READ DATA L057 ISZ PPATT BUMP PATTERN ROUTINE JMP L054 POINTER & DO NEXT PATTERN L052 JSB PCHEK,I DO ANOTHER PATTERN? JMP L058 YES ISZ PTBL9 NO.ANY MORE LDB PTBL9,I ENTRIES IN INB,SZB PATTERN TABLE? JMP L055 YES JMP DIST,I * MH OR ML PAT01 SZA JMP BACK JMP TEST * MH OR MLF PAT02 SZA,RSS JMP BACK AND PATT1 SZA JMP BACK JMP TEST * MHF OR ML PAT03 SZA,RSS JMP BACK AND PATT2 SZA JMP BACK JMP TEST * MHF OR MLF PAT04 CPA PATT JMP TEST JMP BACK * MH AND ML PAT05 CPA PATT JMP BACK JMP TEST * MH AND MLF PAT06 CPA PATT1 JMP BACK JMP TEST * MHF AND ML PAT07 CPA PATT2 JMP BACK JMP TEST * MHF AND MLF PAT08 SZA,RSS JMP BACK TEST LDA TESTP JMP L056 BACK LDA BACKP JMP L056 HED TST06-DIAGONAL * WRITES/READS A DIAGONAL PATTERN ON MEMORY UNDER TEST AND * SHIFTS THE PATTERN THROUGH THE CHIP. * TST06 EQU * DIAG NOP ?L066 LDB LOWER SET INITIAL DIAGONAL STB PDIAG LOCATION TO LOWER LIMIT STB TEMP2 AND SAVE IT LDA .M64 SET COUNTER STA CNTR1 TO -64 DECIMAL L065 CLO SET WRITING FLAG L061 CPB PDIAG AT A DIAGONAL LOCATION? JMP L067 YES.GO USE BACK. & BUMP DIAG. LDA TESTP NO.USE TEST PATTERN L060 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L062 YES ADB .1 NO.BUMP POINTER JMP L061 CONTINUE L067 LDA PDIAG GET DIAGONAL LOC. IN A SOS OVERFLOW CLEAR? JMP L068 YES ADA .65 NO. BUMP DIAGONAL L069 STA PDIAG BY 65 DECIMAL LDA BACKP USE JMP L060 BACKGROUND L068 ADA .65 BUMP DIAGONAL BY 65 DECIMAL CLO CLEAR O AGAIN JMP L069 CONTINUE L062 SOC JUST FINISH WRITING? JMP L063 NO STO YES.SET READING FLAG LDA TEMP2 RESTORE STARTING STA PDIAG DIAGONAL LOCATION LDB LOWER START AT LOWER LIMIT JMP L061 GO BACK AND READ DATA L063 ISZ CNTR1 DONE SHIFTING? RSS NO JMP L064 YES LDA TEMP2 BUMP INA DIAGONAL STA TEMP2 POINTERS STA PDIAG JSB CKBTS USER SELECTION OR NEW LIMITS? LDB LOWER START AT LOWER LIMIT JMP L065 GO DO SHIFTED DIAGONAL L064 JSB PCHEK,I DO ANOTHER PATTERN? JMP L066 YES JMP DIAG,I HED TST07-RELOCATING * PERFORMS ONES AND ZEROS,ADDRESS PARITY,MARCHING ONES AND * ZEROS AND CHECKERBOARD TESTS ON EACH 4K MODULE WITHIN THE * TEST AREA LIMITS EXECUTING FROM THE MODULE. USES EXISTING * MODULE 0 CHECK CODE MOVED UP TO THE CURRENT MODULE. * TST07 EQU * RELOC NOP LDA B10K START WI\'TH L072 STA MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP RELOC,I NO LDB PIER2 SAVE JSB IEROR LDA B,I INSTRUCTION IN STA TEMP2 IMOVE LDA JSB01 CHANGE IMOVE HIGH JSB MOV00 & LOW TO REPORT ERRORS LDB B131 MOVE ADB MODUL COPY OF LDA WCNT3 MOD 0 CHECK LOW STA PWCNT,I UP TO LDA B131 CURRENT JSB PMOVE,I MODULE UNDER TEST LDB PJMP2 MOVE ADB MODUL COPY OF LDA WCNT3 MOD 0 CHECK STA PWCT1,I HIGH UP TO LDA PJMP2 CURRENT MODULE JSB PMOV1,I UNDER TEST LDB PIER2 RESTORE IMOVE LDA TEMP2 HIGH & LOW JSB MOV00 LDA MODUL SET NEW LDB PSTR1 START JSB MOVIT ADDRESS LDA JSB01 SET NEW LDB PIER1 ERROR JSB MOVIT CALL LDA PIERI,I TO USE LDB PIER2 ERROR JSB MOVIT ROUTINE LDA JMP04 SET RELOCATING LDB PJMP1 MODULE TO ADB MODUL RETURN TO STA B,I L073 CPA B,I VERIFY IT RSS OK JMP ERR2 ERROR LDA PJMP2 GO TO ADA MODUL RELOCATING JMP A,I MODULE L073 LDA MODUL JUST ADA B7777 DO CPA .32K MODULE 7? JMP RELOC,I YES.DONE INA BUMP MODUL TO NEXT STARTING ADR. JMP L072 CONTINUE * * MOVES WORD IN A TO POSITIONS IN MODULE UNDER TEST * MOVIT NOP STB TEMP3 SAVE ADDRESS LDB MOVIT MOVE RETURN ADDRESS STB MOV00 TO MOV00 FOR RETURN LDB TEMP3 RESTORE ADDRESS ADB MODUL POINT TO MODULE LOW RSS MOV00 NOP MOVE WORD IN MODULE 0 ONLY STA B,I WRITE IT CPA B,I VERIFY IT RSS OK JMP ERR2 ERROR ADB B4000 POINT TO MODULE HIGH STA B,I WRITE IT CPA B,I VERIFY IT JMP MOV00,I * * PROCESSES RELOCATING MODULE SET UP ERRORS * ERR2 EQU * JSB01 JSB ERROR GO PROCESS ERROR JMP L073 GO SEE IF NEXT 4K WILL SET UP HED TST10-MODULE 0 * PERFORMS ONES AND ZEROS,ADDRESS PARITY,MARCHING ONES AND * ZEROS AND CHECKERBOARD TESTS ON MODULE 0. USES EXISTING * MODULE 0 CHECK CODE. TST10 EQU * CKMOD NOP LDA JMP03 SET MODULE 0 CHECK STA PJMP1,I LOW TO RETURN TO L100 JMP PJMP2,I GO TO MODULE 0 CHECK L100 JMP CKMOD,I HED TST11-GALLOPING READ RECOVERY * * 1. WRITES 4K MODULE WITHIN MEMORY UNDER TEST TO BACKGROUND * PATTERN. * 2. WRITES LOCATION 0 OF 4K MODULE TO TEST PATTERN. THIS MAKES * IT THE TEST LOCATION. * 3. READS BACKGROUND LOCATION,TEST LOCATION,NEXT BACKGROUND * LOCATION,TEST LOCATION,NEXT BACKGROUND LOCATION,ETC. UP * TO THE LAST LOCATION(4095 DECIMAL) IN THE 4K MODULE. * 4. BUMP TEST LOCATION. GO BACK TO 3. UNTIL TEST LOCATION * EQUALS THE LAST LOCATION IN THE 4K MODULE. * 5. IF WITHIN TEST AREA,REPEAT ENTIRE SEQUENCE ON NEXT 4K. * TST11 EQU * GALRD NOP LDB B10K START WITH L116 STB MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP GALRD,I NO.DONE L115 LDA BACKP WRITE MEMORY TO JSB PWMEM,I BACKGROUND PATTERN LDB MODUL START WITH ADB M1 TEST LOCATION STB TEMP2 = MODUL-1 ADB B10K STOP AT STB TEMP3 MODUL+7777 L111 CLO SET WRITING FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? NOP RESERVED LDA BACKP WRITE CURRENT TEST STA TEMP2,I LOCATION BACK TO BACKGROUND ISZ TEMP2 BUMP TEST LOCATION POINTER LDA TESTP WRITE TEST PATTERN STA TEMP2,I AT CURRENT TEST LOCATION LDB MODUL 0<:6 START AT BEGINNING OF MODULE L114 CPB TEMP2 AT TEST LOCATION? JMP L112 YES LDA BACKP NO.VERIFY CPA B,I BACKGROUND JMP *+3 OK JSB ERROR ERROR L112 STO SET READING FLAG LDA TESTP VERIFY CPA TEMP2,I TEST PATTERN JMP *+2 OK JSB ERR1 ERROR CPB TEMP3 DONE 4K MODULE? JMP L113 YES ADB .1 NO.BUMP POINTER JMP L114 CONTINUE L113 CPB TEMP2 TEST LOC.=LAST LOC. IN 4K MOD.? JMP *+2 YES JMP L111 NO.GO BUMP TEST LOC. & CONTINUE JSB PCHEK,I DO ANOTHER PATTERN? JMP L115 YES CPB .32K NO.JUST FINISH MODULE 7? JMP GALRD,I YES INB NO.POINT TO NEXT JMP L116 4K MODULE & CONTINUE * * PROCESSES TEST LOCATION ERRORS A~< hw 24395-18004 1644 S 0122 21MX MEM DG              H0101 * ERR1 NOP STB TEMP4 SAVE B LDB TEMP2 GET FAILING ADDRESS IN B JSB ERROR CALL ERROR ROUTINE LDB TEMP4 RESTORE B JMP ERR1,I HED TST12-LONELY BIT * * 1. WRITES 4K MODULE WITHIN MEMORY UNDER TEST TO BACKGROUND * PATTERN. * 2. WRITES LOCATION 0 OF 4K MODULE TO TEST PATTERN. THIS MAKES * IT THE TEST LOCATION. * 3. READS THE 4K MODULE TO VERIFY DATA. * 4. BUMP TEST LOCATION. GO BACK TO 3. UNTIL TEST LOCATION * EQUALS THE LAST LOCATION IN THE 4K MODULE. * 5. IF WITHIN THE TEST AREA,REPEAT ENTIRE SEQUENCE ON NEXT 4K. * TST12 EQU * LBIT NOP LDB B10K START WITH L127 STB MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP LBIT,I NO.DONE L126 LDA BACKP WRITE MEMORY TO JSB PWMEM,I BACKGROUND PATTERN LDB MODUL START WITH TEST ADB M1 TEST LOCATION STB TEMP2 = MODUL-1 ADB B10K STOP AT STB TEMP3 MODUL + 7777 L124 CLO SET WRITING FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? NOP RESERVED LDA BACKP WRITE CURRENT TEST STA TEMP2,I BACK TO BACKGROUND ISZ TEMP2 BUMP TEST LOCATION POINTER LDA TESTP WRITE TEST PATTERN STA TEMP2,I AT CURRENT TEST LOCATION LDB MODUL START AT BEGINNIG OF MODULE L123 CPB TEMP2 AT A TEST LOCATION? JMP L121 YES LDA BACKP NO.EXPECT BACKGROUND L125 CPA B,I VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB TEMP3 DONE CURRENT 4K? JMP L122 YES ADB .1 NO.BUMP POINTER JMP L123 CONTINUE L121 STO SET READING FLAG LDA TESTP EXPECT TEST JMP L125 PATTERN L122 CPB TEMP2 TEST LOC.=LAST LOC. IN 4K MOD.? JMP *+2 YES JMP L124 NO.GO BUMP TEST LOC. & CONTINUE JSB PCHEK,I DO ANOTHER PATTERN? JMP L126 YES CPB .32K NO.JUST FINISH MODULE 7? JMP LBIT,I YES INB NO.POINT TO NEXT JMP L127 4K MODULE & CONTINUE HED TST13-EXTENDED INSTRUCTION GROUP * USES MVW(MOVE WORDS) AND CMW(COMPARE WORDS) INSTRUCTIONS TO * WRITE/READ MEMORY TO THE CHECKERBOARD PATTERN IN TST03. * TST13 EQU * EIG NOP L132 LDA LOWER SAVE LDB UPPER TEST STA TEMP2 LIMITS STB TEMP3 LDA B1000 PUT IN LDB B1377 NEW LIMITS STA LOWER FOR TST03 STB UPPER LDA L037 SET TST03 STA TEMP5 TO JUST CLB DO PATTERNS STB L037 OF 125252 LDA PATT4 AND 52525 LDB PATT5 STA BACKP STB TESTP JSB TST03 LDA TEMP5 RESTORE STA L037 TST03 CCA RESTORE STA BACKP PATTERNS CLB STB TESTP LDB TEMP2 RESTORE LDA TEMP3 TEST STB LOWER LIMITS STA UPPER L131 STB TEMP4 SAVE POINTER TO START OF BLOCK ADB B377 START + END OF BLOCK CMB,INB MAKE IT NEGATIVE ADB UPPER END OF BLOCK SSB OVER UPPER LIMIT? JMP L133 YES.DON'T DO IT.GO SEE IF DONE LDA B1000 MOVE DATA BUFFER LDB TEMP4 IN LOCATIONS 1000-1377 MVW B400 TO CURRENT TEST BLOCK LDA B1000 COMPARE DATA IN LDB TEMP4 TEST BLOCK TO DATA CMW B400 IN DATA BUFFER JMP L130 OK STA B ERROR.B=ARRAY 1 ADDRESS ADB M1000 FORM FAILING ADB TEMP4 ADDRESS IN B LDA A,I GET GOOD DATA IN A JSB ERROR GO REPORT ERROR L130 LDB TEMP4 GET CURRENT START OF TEST BLOCK ADB B400 NO.POINT TO JMP L131 NEXT TEST BLOCK L133 LDA PATT4 SWITCH LDB PATT5 PATTERNS SThA PATT5 FOR STB PATT4 CHECKERBOARD CPA PATT6 DONE BOTH? JMP L132 NO.DO COMPLEMENT PATTERNS JMP EIG,I YES.DONE HED TST14-MEMORY PROTECT * WRITES/READS ALL MEMORY UNDER TEST ABOVE AND BELOW THE FENCE. * TST14 EQU * MEMPR NOP LDA FWORD IS MEMORY SLA PROTECT PRESENT? JMP L142 YES H62 HLT 62B NO.HALT TO INFORM USER JMP MEMPR,I SKIP TEST L142 LDB LOWER START AT LOWER LIMIT TEST AREA L143 STB TEMP2 SAVE IT INB SET FENCE AT ONE OTB MP ABOVE CURRENT ADDRESS L141 CLF INT INSURE INTERRUPT SYS. OFF LDA BACKP GET BACKGROUND LDB TEMP2 START AT CURRENT ADDRESS CPB UPPER END OF TEST AREA? JMP MEMPR,I YES.STOP STA B,I NO.WRITE BACKGROUND INB WRITE TEST LDA TESTP PATTERN AT STA B,I FENCE ADDRESS SOS TOGGLE JMP *+3 O-REG CLO FOR RSS USER STO CLC INT CLEAR I/O INTERRUPTS STF INT TURN ON INTERRUPT SYSTEM STC MP TURN ON MEMORY PROTECT CPA B,I VERIFY TEST PATTERN RSS OK L146 JMP ERR3 VIOLATE MP IF ERROR LDA BACKP VERIFY ADB M1 BACKGROUND CPA B,I PATTERN RSS OK L147 JMP ERR3 VIOLATE MP IF ERROR L144 STA B,I VIOLATE MP JMP BADMP NO INTERRUPT.GO TRY TO HALT L140 LDA SAVAD INTERRUPT IN CPA PL144 RIGHT PLACE? JMP L145 YES CPA PL146 NO.WAS THERE AN ERROR? JMP ERR3 YES CPA PL147 JMP ERR3 YES JMP BADMP NO.SOMETHING IS WRONG L145 JSB PCHEK,I DO ANOTHER PATTERN? JMP L141 YES LDB TEMP2 NO.BUMP INB CURRENT JMP L143 ADDRESS * PROCESSES DATA ERRORS WITH MEM^ORY PROTECT ON ERR3 JSB ERROR GO REPORT ERROR JMP L145 GO SEE IF DONE HED TST15-INTERVENTION REFRESH * * 1. WRITES MEMORY UNDER TEST TO A PATTERN OF ALL ONES. * 2. HALTS TO ALLOW MEMORY TO REFRESH ITSELF. OPERATOR PRESSES * RUN. * 3. VERIFIES THE DATA WRITTEN IN MEMORY UNDER TEST. * 4. READS ALL OFF MEMORY,DISREGARDING DATA,TO LOOK FOR PARITY * ERRORS. * 5. REPEATS ENTIRE SEQUENCE WITH ADDITIONAL PATTERNS OF * 000001 AND 177776. * TST15 EQU * IREF NOP LDB MASK2 SUPPRESS JSB SWRCK OPERATOR INTERVENTION? JMP IREF,I YES.SKIP TEST CCA DO JSB PWMEM,I 177777 H60A HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA CLA,INA DO JSB PWMEM,I 000001 H60B HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA CMA DO JSB PWMEM,I 177776 H60C HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA JMP IREF,I HED TST16-DYNAMIC MAPPING SYSTEM * * RUNS CURRENT GROUP OF TESTS ON MEMORY ABOVE BASE MEMORY. * ASSUMES OPERATIONAL DMS HARDWARE & FACTORY INSTALLATION OF * MEMORY * TST16 EQU * DMS NOP LDA LOWER SAVE LDB UPPER CURRENT STA SAVE6 TEST STB SAVE7 LIMITS LDB .32K SET ENDING STB SAVE4 ADDRESS FOR TESTS LDA MSIZE SET AND B76K STARTING ALF PAGE RAL,RAL NUMBER INA OF ONE ABOVE L1601 STA SAVE3 BASE MEMORY CMA,INA SUBTRACT STARTING ADA .M24 PAGE # AND SWAP LDB MAXPG FROM ADB A MAXPG SSB POSITIVE RESULT? JMP L165 NO.IN LAST BLOCK L1604 LDA B10 SWAP IN LDB SAVE3 BLOCK OF LDX SWAP MEMORY XMS CLA ZERO THE LFA BASE PAGE FENjCE SJP *+2 ENABLE SYSTEM MAP LDA TESTS GET TESTS WORD FROM CONTROL XOR BIT14 GET RID OF TST16 SZA,RSS ANY OTHER TESTS? LDA B777 NO.USE DEFAULT SET STA SAVE5 SAVE IT LDA B20K SET LDB SAVE4 TEST STA LOWER LIMITS STB UPPER =SWAP CLB START WITH STB SAVE8 TST00 L166 LDA SAVE5 GET TESTS WORD LDB SAVE8 & TEST # L167 SLA DO TEST? JMP L168 YES INB NO.BUMP TEST # RAR ROTATE TESTS JMP L167 CONTINUE L168 RAR ROTATE CURRENT TEST STA SAVE5 SAVE NEW TESTS STB SAVE8 SAVE TEST # ADB .M16 DONE WITH SSB,RSS TESTS? JMP L169 YES.DONE CURRENT SWAP LDA PTEST GO ADA SAVE8 DO LDA A,I TEST JSB A,I SECTION ISZ SAVE8 BUMP TEST # JSB CKBTS USER SELECTION OR NEW LIMITS? JMP L166 NO.GO DO NEXT TEST L169 LDA SAVE3 BUMP STARTING ADA SWAP PAGE # JMP L1601 GO DO ANOTHER BLOCK L165 ADB SWAP ADD SWAP TO -SUM SSB POSITIVE RESULT? JMP L1600 NO.DONE INB MULTIPLY BLF,BLF # OF PAGES RBL,RBL IN LAST BLOCK ADB M1 BY 2000(OCTAL) & ADB B20K SUBTRACT ONE & STB SAVE4 ADD 20000 FOR NEW LAST WORD JMP L1604 GO DO LAST BLOCK L1600 LDA SAVE6 RESTORE LDB SAVE7 TEST STA LOWER LIMITS STB UPPER DJP DMS,I DISABLE MAPS & RETURN HED MODULE 0 CHECK * PERFORMS THE FOLLOWING TESTS ON ADDRESSES 6 THRU 3777 IN * 400(OCTAL) WORD BLOCKS: * * ONES AND ZEROS/MARCHING ONES AND ZEROS * ADDRESS PARITY * ADDRESS * CHECKERBOARD * * THIS SAME CODE IS MOVED TO LOCATIONS 131-677 AND USED TO * CHECK LOCATIONS 4000-7777. * ORG 4131B MD0CK CLE LDA START START MOVES AT ADDRESS IN START STA SADR SAVE IT FOR ROUTINES LDA START IN LOW SZA BLOCK? CLA,RSS NO CCA SET FLAG FOR THE STA LOWFG LOW 400 BLOCK LDA I4000 STOP 1ST TESTS ADA START AT LOCATION STA EQTST X3777 LDA I10K SET ADA START MODULE 0 LDB PEQTS CHECK TO ADB START START AT STA B,I X4000 LDA I4000 AND STOP ADA START AT X7777 LDB PSADR ADB START STA B,I LP204 LDA I1000 USE LOCATIONS ADA START X1000-X1377 FOR STA IBUFF THE MOVE BUFFER LDB IBUFF DESTINATION STARTING ADDRESS LDA I400 WDCNT STA WDCNT =400 OCTAL LDA SADR START SOURCE ADDRESS JSB IMOVE MOVE TO BUFFER IN 1000-1400 JSB MODCK NOW CHECK AREA MOVED LDA I400 NOW MOVE STA WDCNT OBJECT LDA IBUFF CODE BACK LDB SADR INTO CHECKED JSB IMOVE AREA LDA SADR BUMP TEST ADA I400 AREA 400 CPA EQTST DONE? JMP IL206 YES STA SADR NO.USE NEW SOURCE ADDRESS JMP LP204 DO NEXT BLOCK IL206 LDA PINIT TRANSFER CONTROL ADA START TO MODULE 0 CHECK JMP A,I LOW IN 131-777 SKP * * TESTS CURRENT BLOCK OF MEMORY UNDER TEST AS DEFINED BY * VALUE IN SADR. * MODCK NOP LDA SADR FORM ENDING ADA I377 ADDRESS STA EADR OF TEST LDA LOWFG TESTING LDB SADR IN THE SZA LOW BLOCK? LDB IB6 YES.LOWER LIMIT=6 STB SADR NO.USE EXISTING SADR * MARCHING ONES AND ZEROS CLA TEST PATTERN STA ITPAT OF ZEROS CCA BACKGROU ND STA IBPAT PATTERN OF ONES LP206 JSB IBLOC WRITE TEST BLOCK TO DATA IN A LDB SADR START AT 1ST ADDRESS IN BLOCK LP205 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JSB IEROR NO.FATAL MODULE 0 ERROR CLO SET WRITING FLAG LDA ITPAT GET TEST PATTERN STA B,I WRITE IT CPA B,I READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL200 YES INB NO.BUMP POINTER LDA IBPAT GO BACK TO BACKGROUND JMP LP205 CONTINUE IL200 STO SET READING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JSB IEROR NO.FATAL MODULE 0 ERROR CLO SET WRITING FLAG LDA IBPAT NOW USE BACKGROUND PATTERN STA B,I WRITE IT CPA B,I READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB SADR DONE? JMP IL201 YES.GO CHECK FOR OTHER PATTERNS ADB IM1 DECREMENT POINTER LDA ITPAT GO BACK TO TEST PATTERN JMP IL200 CONTINUE IL201 JSB CHKPT DO ANOTHER PATTERN? JMP LP206 YES SKP * ADDRESS PARITY TESTS * LP208 CLO SET WRITING FLAG LP209 LDB SADR START AT 1ST BLOCK ADDRESS LP213 LDA I.M16 SET STA ITEMP COUNTER=-16DECIMAL STB A ADDRESS IN A CLE CLEAR BIT FLAG LP207 RAR,SLA ADDRESS BIT SET? CME YES.TOGGLE BIT FLAG ISZ ITEMP NO.DONE? JMP LP207 NO SEZ EVEN # OF BITS? JMP IL205 NO.ODD # LDA IBPAT YES.USE BACKGROUND PATTERN IL207 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL209 YES INB NO.BUMP POINTER JMP LP213 CONTINUE IL205 LDA ITPAT USE TEST JMP IL207 PATTERN IL209 SOC JUST FINISHED WRITING? JMP IL208 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK AND JMP LP209 READ THIS TIME IL208 JSB CHKPT DO ANOTHER PATTERN? JMP LP208 YES SKP * ADDRESS TESTS * LP212 CLO SET WRITING FLAG LP211 LDB SADR START AT 1ST ADDRESS IN BLOCK LP210 LDA ITPAT USE ADDRESS OR SZA COMPLEMENT ADDRESS? JMP IL211 COMPLEMENT ADDRESS LDA B USE ADDRESS JMP IL210 IL211 LDA B GET ADDRESS CMA COMPLEMENT IT IL210 SOS WRITING? STA B,I YES CPA B,I NO.READ & COMPARE DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL212 YES INB BUMP POINTER JMP LP210 CONTINUE IL212 SOC JUST FINISH WRITING? JMP IL213 NO.GO SEE IF DONE STO YES.GO BACK JMP LP211 AND READ THIS TIME IL213 LDA ITPAT DO BOTH ADDRESS AND INA,SZA,RSS COMPLEMENT ADDRESS TESTS? JMP IL214 YES CCA NO.SET ITPAT STA ITPAT TO USE COMPLEMENT ADDRESS JMP LP212 GO BACK & DO COMPLEMENT ADDRESS IL214 STA ITPAT RESTORE TEST PATTERN TO ZEROS SKP * CHECKERBOARD TESTS * LDA PITBL POINT TO STA PTBL1 PATTERN TABLE LDA PTBL1,I GET PATTERN ENTRY STA IPATT PUT IT IN PATTERN VALUE LP215 CLO SET WRITING FLAG LP214 LDB SADR START AT 1ST ADDRESS IN BLOCK LP219 STB A GET ADDRESS IN A AND IPATT ARE EITHER OF SZA,RSS THE PATTERN BITS SET? JMP IL215 NO CPA IPATT YES.ARE BOTH BITS SET? JMP IL215 YES LDA ITPAT NO.USE TEST PATTERN JMP IL216 IL215 LDA IBPAT USE BACKGROUND PATTERN IL216 SOS WRITING? STA B,I YES CPA B,I NO.READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL217 YES INB NO.BUMP POINTER JMP LP219 CONTINUE IL217 SOC JUST FINISH WRITING? JMP IL218 NO.GO SEE IF DONE STO YES.GO BACK JMP LP214 AND READ IL218 JSB CHKPT DO ANOTHER PATTERN? JMP LP215 YES ISZ PTBL1 ANY MORE LDB PTBL1,I ENTRIES IN THE INB,SZB PATTERN TABLE? JMP IL218 YES.GO BACK AND DO IT LDA LOWFG TESTING LDB SADR IN THE SZA LOW BLOCK? CLB YES.RESTORE SADR TO 0 STB SADR NO.USE EXISTING SADR CLA ONLY TEST LOW STA LOWFG BLOCK ONCE JMP MODCK,I HED CHKPT * * SETS UP BACKGROUND AND TEST PATTERNS IN IBPAT AND ITPAT * RESPECTIVELY,BASED ON THE DATA IN IBPAT. * * ENTRY VALUE OF IBPAT EXIT VALUES OF IBPAT,ITPAT & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * CHKPT NOP LDA IBPAT GET BACKGROUND PATTERN IN A INA,SZA JUST DO BACKGROUND OF ONES? JMP IL202 NO.MUST BE 1 OR 3 STA IBPAT YES.MAKE IT ZEROS CCA MAKE TEST STA ITPAT PATTERN ONES CLA EXIT WITH BACKGROUND IN A JMP CHKPT,I IL202 SLA,RSS JUST DO 000000? JMP IL203 NO.MUST HAVE BEEN 2 STA IBPAT YES.BACKGROUND=000001 JMP CHKPT,I IL203 CPA IB4 JUST DO 3? JMP IL204 YES CCA TEST ADA IM1 PATTERN STA ITPAT =177776 LDA IB3 A=000003 <:6 STA IBPAT BACKGROUND=3 JMP CHKPT,I IL204 CLA TEST STA ITPAT =000000 CCA BACKGROUND STA IBPAT =177777 ISZ CHKPT POINT TO P+2 JMP CHKPT,I HED IBLOC,IEROR * * WRITES TEST BLOCK TO DATA IN A. * VERIFIES DATA WRITTEN. * IBLOC NOP CLO SET WRITING FLAG LP217 LDB SADR START AT 1ST ADDRESS IN BLOCK LP216 SOS WRITING? STA B,I YES CPA B,I NO.READ AND COMPARE DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE WITH LOOP? JMP IL219 YES INB NO.BUMP POINTER JMP LP216 CONTINUE IL219 SOC JUST FINISH WRITING? JMP IBLOC,I NO.MUST BE DONE STO YES.GO BACK & JMP LP217 READ DATA * * PROCESSES ERRORS FOR MODULE 0 CHECK * IEROR NOP STB ITEMP SAVE ADDRESS LDB B,I GET BAD DATA IN B E104A OCT 106004 MODULE 0 HAS FAILURE LDA ITEMP GET FAILING LDB ITEMP ADDRESS IN A & B E105A OCT 106005 FATAL ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE HED IPAR * * PROCESSES PARITY ERROR INTERRUPTS FOR INIT * IPAR EQU * NOP STA ITEMP SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA PARITY ERROR BIT 15 OF VR SET? JMP IL220 YES.OK E102C OCT 106002 ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE IL220 AND I.32K MASK OFF BIT 15 STA ISTOR SAVE ADDRESS CMA,INA MAKE IT - ADA LLIM IS THE FAILING K < ix 24395-18005 1644 S 0122 21MX MEM DG              H0101  ADA START ADDRESS LOCATED SSA ABOVE X4777? JMP P.OK YES.OK LDA START NO.NOW CMA,INA CHECK ADA HLIM BELOW X4000 ADA ISTOR FAILING ADDRESS SSA IN INIT? JMP P.OK NO.OK IL221 LDA ISTOR YES.GO DIRECTLY TO E101 LDB ISTOR BAD ADDRESS IN A&B E101B OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE P.OK LDA ITEMP RESTORE A LDB ISTOR,I GET BAD DATA E116B OCT 106016 PARITY ERROR DURING INIT JMP IL221 GO SHOW ADDRESS HED CONSTANTS,LINKS & STORAGE FOR MOD 0 CHECK IB1 OCT 1 IB3 OCT 3 IB4 OCT 4 IB6 OCT 6 PINIT DEF LP204-PAGE POINT TO LOW TRANSFER POINT I377 OCT 377 I400 OCT 400 PEQTS DEF EQTST-PAGE POINTER TO EQTST LOW PSADR DEF SADR-PAGE POINTER TO SADR LOW I1000 OCT 1000 I1001 OCT 1001 I4000 OCT 4000 PITBL DEF ITBL LINK TO TABLE OF VENDOR PATTERNS I10K OCT 10000 I.32K DEC 32767 I.M16 DEC -16 EADR BSS 1 LAST ADDRESS TESTED IN BLOCK EQTST BSS 1 STOP TESTS AT EQTST-1 IBPAT BSS 1 BACKGROUND PATTERN HLIM BSS 1 -HIGH LIMIT TO PARITY ERRORS IBUFF BSS 1 START BUFFER ADDRESS POINTER IPATT BSS 1 STORAGE FOR CHECKERBOARD PATTERN ISTOR BSS 1 STORAGE FOR INIT ITEMP BSS 1 STORAGE FOR INIT ITPAT BSS 1 TEST PATTERN LLIM BSS 1 LOW LIMIT TO PARITY ERRORS LOWFG NOP ALL 1'S WHEN TESTING LOW BLOCK PTBL1 BSS 1 STORAGE FOR PATTERN POINTER SADR BSS 1 STARTING SOURCE ADDRESS FOR MOVE START NOP START WITH START=0 DEST1 BSS 1 DESTINATION DEST2 BSS 1 POINTERS IREG BSS 1 STORAGE FOR A-REG SORCE BSS 1 1ST SOURCE ADDRESS WDCNT BSS 1 POSITIVE WORD COUNT WCNT1 BSS 1 NEGATIVE WORD COUNT WCNT2 BSS 1 NEGATIVE WORD COUNT * * CHECKERBOARD PATTERN TABLE * ITBL EQU * OCT 101 M0 EOR M-I6(TI 4030,4050) IM1 OCT 177777 END OF TABLE FLAG & -1 HED IMOVE * MOVES SEGMENT OF MEMORY BASED ON CALLING SEQUENCE. ALL MOVES * ARE VERIFIED. ERRORS HERE ARE FATAL. * * CALLING SEQUENCE: * * LDB ADDRESS OF 1ST WORD OF DESTINATION * LDA POSITIVE WORD COUNT * STA WDCNT * LDA ADDRESS OF 1ST WORD OF SOURCE * JSB MOVE * IMOVE NOP STB DEST1 DESTINATION ADDRESS IN POINTER STB DEST2 SAVE IT STA B SOURCE ADDRESS IN B STA SORCE SAVE IT LDA WDCNT MAKE WORD CMA,INA COUNT NEGATIVE STA WCNT1 SAVE STA WCNT2 IT STA IREG SAVE IT FOR 0-377 CASE LP200 LDA B,I GET SOURCE WORD CPB IB1 MOVING LOCATION 1? LDA I1001 YES.SET UP B FOR RESTORE MOVE STA DEST1,I MOVE FIT TO DESTINATION ISZ WCNT1 DONE? RSS JMP MOVE1 YES SSB SOURCE ADDRESS OK? JMP E112A NO.ADDRESS WENT OVER 32K LDA DEST1 DESTINATION SSA ADDRESS OK? JMP E112A NO INB BUMP SOURCE POINTER ISZ DEST1 BUMP DESTINATION POINTER JMP LP200 E112A OCT 106012 PROGRAM PROBABLY BOMBED JMP *-1 IRRECOVERABLE MOVE1 LDA IREG RESTORE A IN CASE OF 0-377 MOVE LDB SORCE SOURCE ADDRESS IN B LP201 LDA B,I GET SOURCE WORD CPB IB1 CHECKING LOCATION 1? LDA I1001 YES.KEEP B = 1 CPA DEST2,I DESTINATION WORD OK? RSS JMP IERR NO. FATAL ISZ WCNT2 DONE? RSS JMP IMOVE,I YES INB BUMP ISZ DEST2 POINTERS JMP LP201 IERR EQU * LDB DEST2 GET BAD ADDRESS IN B JSB IEROR FATAL MODULE 0 ERROR PM0CK JMP PL073,I RETURN FOR TST07 MOVES * * CHECK CURRENT TEST AREA LIMITS TO SEE IF THEY ARE ON 4K * BOUNDARIES FOR THE 4K ORIENTED TESTS * * RETURNS P+1 IF< BOTH LIMITS ON 4K BOUNDARIES * RETURNS P+2 IF NOT * CHK4K NOP LDA LOWER DOES THE LOWER AND B7777 LIMIT HAVE SZA 1'S IN BITS 0-11? JMP L620 YES.RETURN P+2 LDA UPPER NO.DOES THE UPPER AND B7777 LIMIT HAVE ANY CPA B7777 0'S IN BITS 0-11? JMP CHK4K,I NO.OK L620 ISZ CHK4K YES.RETURN JMP CHK4K,I P+2 HED CHECK * SETS UP BACKGROUND AND TEST PATTERNS IN BACKP AND TESTP * RESPECTIVELY BASED ON CURRENT BACKP. * * ENTRY VALUE OF BACKP EXIT VALUES OF BACKP,TESTP & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * CHECK NOP LDA BACKP GET BACKGROUND IN A INA,SZA JUST DO A BACKGROUND OF 1'S? JMP L604 NO STA BACKP YES.MAKE IT 0'S CCA MAKE TEST STA TESTP PATTERN 1'S JMP CHECK,I L604 SLA,RSS JUST DO BACKGROUND OF 0'S? JMP L605 NO STA BACKP YES.MAKE BACKP=000001 JMP CHECK,I L605 CPA B4 JUST DO BACKGROUND OF 000001? JMP L606 NO.MUST BE DONE CCA YES.MAKE ADA .M1 TESTP STA TESTP = 177776 LDA B3 BACKP STA BACKP =000003 JMP CHECK,I L606 CLA RESTORE TESTP STA TESTP TO 0'S CCA RESTORE BACKP STA BACKP TO 1'S ISZ CHECK RETURN JMP CHECK,I P+2 HED CHKMD * * CHECKS TO SEE IF 4K MODULE(S) WITHIN TEST LIMITS DEFINED * BY UPPER AND LOWER. * * CALLING SEQUENCE: * * JSB CHKMD * RETURN P+1 IF 4K MODULE NOT COMPLETELY WITHIN TEST LIMITS * RETURN P+2 IF 4K MODULE WITHIN TEST LIMITS * CHKMD NOP LDA LOWER LOOKING IN SZA,RSS MODULE 0? JMP CHKMD,I YES.DONE L607 LDA LOWER IS MODUL CMA,INA BELOW ADA MODUL LOWER SSA,RSS LIMIT? JMP L608 NO.GO SEE ABOUT UPPER LIMIT LDA MODUL YES.IS MODUL CPA B70K IN MODULE 7? JMP CHKMD,I YES.DONE ADA B10K NO.BUMP STA MODUL MODUL 4K JMP L607 TRY AGAIN L608 LDA MODUL IS END OF ADA B7777 MODUL CMA,INA ABOVE ADA UPPER UPPER SSA LIMIT? JMP CHKMD,I YES.DONE ISZ CHKMD NO.RETURN JMP CHKMD,I P+2 HED RMEM * * READS MEMORY UNDER TEST FOR DATA IN A * * CALLING SEQUENCE: * * LDA DATA * JSB PRMEM,I * RMEM NOP LDB LOWER START AT LOWER LIMIT TEST AREA STO SET READING FLAG L623 CPA B,I VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE? JMP L621 YES.GO READ ALL MEMORY INB NO.BUMP POINTER JMP L623 CONTINUE L621 CLB START AT 0 L624 CPA B,I READ NOP IT CPB MSIZE DONE? JMP RMEM,I YES INB NO.BUMP POINTER JMP L624 CONTINUE HED WRMEM * WRITES/READ MEMORY UNDER TEST TO DATA IN A * * CALLING SEQUENCE: * * LDA DATA * JSB WRMEM * WRMEM NOP CLO SET WRITING FLAG L602 LDB LOWER START AT LOWER LIMIT TEST AREA L600 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L601 YES INB NO.BUMP POINTER JMP L600 CONTINUE L601 SOC DONE WRITING & READING? JMP WRMEM,I YES STO NO.SET READ FLAG JMP L602 DO TEST AREA AGAIN HED ERROR TABLE ENTRY ROUTINE * * ENTER ERRORS IN ERROR TABLE *  ENTRY LDA BERR ERROR ADA M10K LOCATED ADA M10K ABOVE SSA 17777? JMP L626 NO.GO HALT LDB PSTBL YES.INITIALIZE STB TEMP9 SUMMARY POINTER LDB PETBL START AT 1ST MOD. OF ERROR TABLE L627 ADA M10K ERROR IN SSA NEXT MODULE? JMP L628 YES ADB B24 BUMP POINTER BY A MODULE ISZ TEMP9 BUMP SUMMARY POINTER JMP L627 CONTINUE L628 CLA CLEAR ERRORS-PER- STA CNTR1 MODULE(EPM) COUNTER L630 CPA B,I ALREADY HAVE AN ERROR? JMP L629 NO.GO MAKE AN ENTRY ISZ CNTR1 BUMP EPM COUNTER ADB B3 YES.ALREADY HAVE LDA B,I AN ERROR ARS,ARS ENTRY STA SAVE1 IN THIS LDA MERR 4K MEMORY ARS,ARS MODULE? CPA SAVE1 JMP L643 YES.GO CHECK ADDRESS ADB B2 POINT TO NEXT ENTRY LDA CNTR1 THIS MODULE CPA B4 FULL? JMP L626 YES.GO HALT CLA JMP L630 CONTINUE L643 ADB M3 ARE THE LDA PERR ADDRESSES CPA B,I EQUAL? JMP L631 YES.GO BUMP COUNTER JMP L632 NO.SKIP THIS ERROR L629 LDA PERR ENTER FAILING STA B,I ADDRESS INB LDA AERR ENTER STA B,I DATA WRITTEN INB LDA BERR,I ENTER STA B,I DATA INB READ LDA MERR ENTER ONES STA B,I OR PAGE # INB ISZ B,I SET ERROR COUNTER TO 1 LDA CNTR1 BUMP EPM INA COUNTER AND STA TEMP9,I UPDATE SUMMARY TABLE JMP L632 CONTINUE PROGRAM L631 ADB B4 JUMP BUMP ISZ B,I ERROR COUNTER JMP L632 CONTINUE PROGRAM CCA STICK COUNTER STA B,I AT ALL ONES JMP L632 CONTINUE PROGRAM HED ~$"DEBNC,RENTR * * DEBOUNCES S-REG * DEBNC NOP LIA SWREG SAVE STA TEMP9 S-REG CCE CLEAR DELAY FLAG L644 CLA ANY OTA SWREG BITS LIA SWREG STILL SZA,RSS ON? JMP L645 NO.TRY ONES CLE YES.SET DELAY FLAG JMP L644 TRY AGAIN L645 CCA NO.ANY OTA SWREG BITS LIA SWREG STILL ISZ A OFF? CLE,RSS YES.SET DELAY FLAG JMP L648 NO.SEE IF DONE JMP L645 TRY AGAIN L648 SEZ DELAY? JMP L653 NO INA,SZA YES.DELAY APPROXIMATELY JMP *-1 315 MILLISECONDS JMP L644-1 GO PASS AGAIN L653 LDA TEMP9 RESTORE OTA SWREG S-REG JMP DEBNC,I * * RESERVES LOCATIONS 6177-7377 TO SAVE THE CONFIGURATOR * (IF MEMORY SIZE>4K) * ORG 6177B SCONF BSS 1200B PEND EQU * END VW$ j u 24395-18006 1644 S 0122 SEMICONDUCTOR MEMORY DIAGNOSTIC             H0101 dASMB,A,B,L,C HED MICROCODED MEMORY DIAGNOSTIC (DSN 102006) ORG 0 JANUARY 4, 1977 DATE CODE 1644 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. * B. LOAD DIAGNOSTIC MAIN PROGRAM * C. LOAD ADDRESS 100B. * D. LOAD SWITCH REG. WITH SELECT CODE AND OPTIONS * E. PRESS RUN AND WAIT FOR HALT 102074. * F. LOAD SWITCH REGISTER * IF SET =: * 15 = HALT AT END OF EACH TEST * 14 = SUPRESS ERROR HALTS * 13 = LOOP ON LAST TEST * 12 = LOOP ON DIAGNOSTIC * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = RESERVED * 7 * = MEMORY UNDER TEST 4K BLOCK NO. (DISPLAY ONLY) * 0 * * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 16 BIT WORD. * EACH BIT WILL = 1 TEST * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B * * PROGRAM HALTS * * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER SELECTION REQUEST * 102074 SELECT CODE INPUT COMPLETE * 102073 USER SELECT CODE ERROR * 102072 INCORRECT COMPUTER TYPE (CAN'T BE USED) * 102071 WCS NOT LOADED CORRECTLY * 102070 RESERVED * * 1020XX ERROR HALTS * * 106077 TRAP CELL HALT * SKP * CONFIGURATOR LINKAGE TABLE A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE WCS EQU 10B WCS SELECT CODE * ORG 2B * OCT 106077 DEF PERR LINK TO PARITY ERROR ROUTINE OCT 106077 JSB 3B,I GO TO PARITY ERROR ROUTINE REP 14 OCT 106077,106077,106077,106077 OCT 106077,106077 JMP 130B GO TO CONFIGURATION SECTION BSS 1 RESERVED BSS 1 CONSOLE OUTPUT DRIVER BSS 1 LINE PRINTER DRIVER BSS 1 CONSOLE INPUT DRIVER DEF FWAA FIRST WORD OF AVBL. MEMORY LWAA BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 RESERVED BY CONFIGURATOR BSS 1 RESERVED BY CONFIGURATOR BSS 4 SC FOR CONFIGURATOR DRIVERS CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEMO BSS 1 MEMORY SIZE AND TYPE BSS 1 RESERVED BSS 1 1 MILL SEC TIMER BSS 1 CONFIGURATOR SWITCH CK PTR BSS 1 INTEGER TO ASCII CONVERSION BSS 1 OCTAL TO ASCII CONVERSION BSS 1 ASCII CONVERSION DSN OCT 102006 DIAGNOSTIC SERIAL NUMBER BSS 1 FORMATTER (IN CONFIGURATOR) SKP * CONFIGURATION SECTION * CONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND B77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 7 ADB B7 SSB ? JMP *+3 OK GO ON E073 HLT 73B NO JMP CONF TRY AGAIN LDB IOIP INITIALIZE TEST I/O STA SAVA SAVE SELECT CODE STB SAVB SAVE TABLE ADDRESS IOL LDB SAVB,I GET ADDRESS OF LOCATION CPB BM1 IS IT THE TERMINATOR JMP MCF YES CONTINUE LDA B,I NO - GET CONTENTS AND IOM MASK OFF OLD SELECT CODE IOR SAVA ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ SAVB s  MOVE TO NEXT ADDRESS JMP IOL DO IT MCF LDA CNSLO CHECK IF ALREADY MOVED SZA ?? JMP MCF0 YES SKIP RELOCATION LDA LWAA SAVE CONFIGURATOR ROUTINES AND B7777 LDB A LDA LWAA MVW MCCT LDA 102B SET CONSOLE LINK TO 4K AREA AND B7777 STA CNSLO LDA 124B AND CONVERSION PROGRAM AND B7777 STA O2AS MCF0 LDB CPTO CHECK WHICH MICROCODE TO USE SSB,RSS E072 HLT 72B WRONG COMPUTER TYPE BLF LDA MX.MC GET 21MX-M MICROCODE POINTER SLB MX-M OR MX-E? LDA MX.EC 21MX-E MICROCODE POINTER STA SAVA SAVE PONTER STA TMP LDA MXCC SET MICROCODE TRANSFER COUNT STA SAVB LDA USSC CHECK WHICH INTERFACE IT IS SSA JMP QKWCS IT'S 256 SMALL WCS SKP WCS00 CLC WCS PUT INTERFACE IN COMMAND LDA SAVA,I GET STARTING ADDRESS ISZ SAVA WCS01 OTA WCS LDA SAVA,I GET MODULE NUMBER WCS02 OTA WCS GIVE IT TO INTERFACE WCS03 STC WCS PUT INTF IN DATA MODE ISZ SAVA MOVE UP TO NEXT MICRO INSTRUCTION LDA SAVA,I WCS04 OTA WCS ISZ SAVB DONE LOADING? JMP *-4 NO LDA TMP RESTORE POINTER STA SAVA LDA MXCC STA SAVB AND COUNT WCS05 CLC WCS PUT INTF IN COMMAND STATE LDA SAVA,I GET STARTING ADDRESS ISZ SAVA WCS06 OTA WCS OUTPUT ADDRESS WCS07 STC WCS PUT INTF IN DATA STATE ISZ SAVA SKIP MODULE NUMBER WCS08 LIA WCS CPA SAVA,I IS IT ALRIGHT? JMP *+3 E071 HLT 71B NO BAD WCS INTERFACE JMP CONF START AGAIN ISZ SAVB DONE CHECKING? JMP *-7 NO JMP CFCMP CONFIGURATION COMPLETE SPC 4 QKWCS SLB,RSS IS THIS A 21MX-E? JMP *+3 YES OK E070 HLT 70B NO THEN STOP HERE JMP CONF TRYY AGAIN WCS18 CLC WCS IF ERROR SET 1K TO MOD 17 17 CCA WCS19 OTA WCS WCS20 OTA WCS ISZ SAVA SKIP ADDRESS ISZ SAVA AND MODULE NUMBER SKP CLA SET STARTING ADDRESS STA HIADD QKLPW LDA HIADD GET ADDRESS ALF,ALF MOVE TO UPPER BYTE IOR SAVA,I GET LOWER BYTE FROM BUFFER ISZ SAVA MOVE TO NEXT WORD LDB SAVA,I ISZ SAVA WCS09 STF WCS SET DIRECTION (OUT) WCS10 OTA WCS OUTPUT MSB WCS11 OTB WCS AND LSB WCS12 STC WCS ENABLE DATA TO RAMS ISZ HIADD MOVE TO NEXT ADDRESS ISZ SAVB ISZ SAVB DONE LOADING? JMP QKLPW NO LDA TMP RESTORE POINTER FOR VERIFICATION INA INA STA SAVA LDA MXCC RESET COUNT STA SAVB CLA SET ADDRESS TO 0 STA HIADD QKLPR LDA HIADD GET ADDRESS ALF,ALF PUT IN UPPER BYTE WCS13 STF WCS SET DIR FF WCS14 OTA WCS OUTPUT ADDRESS WCS15 STF WCS RESET DIR FF WCS16 LIA WCS GET MSB WCS17 LIB WCS AND LSB AND B377 MASK OFF ADDRESS CPA SAVA,I FIRST OK? JMP *+3 HLT 71B BAD WCS JMP CONF TRY AGAIN ISZ SAVA MOVE TO NEXT WORD CPB SAVA,I IS IT OK? JMP *+3 HLT 71B NO JMP CONF TRY AGAIN ISZ SAVA ISZ HIADD ISZ SAVB ISZ SAVB DONE CHECKING? JMP QKLPR NO JMP CFCMP YES CONFIGURATION COMPLETE SKP * CHECK TO SUPPRESS ERROR HALTS * HLTS NOP ENTRY STA SAVA SAVE A REG STB SAVB AND B REG STX SAVX AND X REG STY SAVY AND Y REG LDB SW11 CHECK TO SUPPRESS ERROR MESSAGES JSB SWRT JMP HLTS0 YES SKIP OUTPUT LDA D21 OUTPUT TITLE LDB HLTS,I GET MESSAGE POINTER ISZ HLTS SKIP OVER POINTER j JSB CNSLO,I LDA HLTS,I GET HALT CODE ISZ HLTS IOR SFTER SOFT ERROR FLAG STA HLT CLE CONVERT NUMBERS LDA SAVA LDB DACT JSB O2AS,I DATA READ CLE LDA SAVB LDB DEXP JSB O2AS,I DATA WRITTEN LDA SAVX ELA,CLE,ERA CLEAR BIT 15 LDB DADD CLE JSB O2AS,I DATA ADDRESS LDA SAVY ELA,CLE,ERA CLEAR BIT 15 LDB DPTAD CLE JSB O2AS,I TEST PAT ADD CCE LDA MOD GET MODULE NO. LDB DMOD JSB O2AS,I CONVERT MODULE NUMBER LDA MSGM+3 STA MSG2+12 STA MSG3+12 LDA MSGM+2 STA MSG2+11 STA MSG3+11 SKP LDA SFTER CHECK SOFT ER FLAG CLE,SZA CCE LDA CMSG0 GET MESSAGE COUNT ADA G.R.F ADD COUNT IF IN GAL.READ SEZ SOFT ERROR? ADA CMSG1 YES ADD COUNT LDB DMSG0 SEZ SOFT ERROR LDB DMSG1 YES GET DIFFERENT POINTER JSB CNSLO,I JMP *+3 * HLTS0 ISZ HLTS ISZ HLTS LDB SW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT HALT JMP HLTS1 SKIP HALT INSTRUCTION JSB SWDB DEBOUNCE S-REG. LDA SAVX CONVERT ADDRESS AND B7777 CAX PUT IT IN X LDY SAVY LDA SAVA LDB SAVB HLT NOP CLA STA SFTER CLEAR SOFT ERROR FLAG HLTS1 LDA SAVA RESTORE A & B LDB SAVB LDX SAVX AND X LDY SAVY AND Y JMP HLTS,I RETURN TO CALLER * * * DACT DEF MSG0+12 DEXP DEF MSG1+12 DADD DEF MSG2+12 DPTAD DEF MSG3+12 DMOD DEF *+1 MSGM ASC 4,XXXXXXX CMSG0 DEC 96 CMSG1 DEC 12 DMSG0 DEF MSG0-1 DMSG1 DEF *+1 ASC 06, SOFT ERROR OCT 6412 MSG0 ASC 15,ACTUAL DATA (READ) XXXXXX OCT 6412 MSG1 ASC 15,EXPECTED DATA (WRITTEN) XXXXXX OCT 6412 MSG2 TASC 15,ADDR OF DATA FAILURE YYY ZZZZ OCT 6412 MSG3 ASC 15,TEST CELL ADDRESS YYY ZZZZ SKP * SWITCH REGISTER CHECK * SWRT NOP STA SWRTA SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ SWRT NO LDA SWRTA RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP SWRT,I RETURN TO CALLER * SWRTA NOP * * SWDB NOP STA SWDBA SAVE A-REG. STB SWDBB SAVE B-REG. SWDB0 LDA SWDBC SET LOOP COUNT STA SWRT LIB SW GET CURRENT S-REG. LDA B CMA OTA SW LIA SW OTB SW CMA CPA B ANY BUTTONS HELD? RSS NO JMP SWDB0 YES WAIT FOR RELEASE ISZ SWRT WAITED LONG ENOUGH? JMP SWDB0+2 NO CHECK AGAIN LDA SWDBA RESTORE A-REG. LDB SWDBB RESTORE B-REG. JMP SWDB,I RETURN * SWDBA NOP SWDBB NOP SWDBC DEC -100 SKP TSTR NOP LDA TSTR,I GET MACRO INSTRUCTION TO BE EXECUTED STA MACRO ISZ TSTR LDA TSTR,I GET MESSAGE POINTER STA TSTMS ISZ TSTR LDA TSTR,I GET HALT CODE STA TSTEX ISZ TSTR LDA LOADD GET STARING ADDRESS CAX PUT IT IN X LDA HIADD AND ENDING ADDRESS CAY PUT IT IN Y LDB BG GET BACKGROUND LDA TP AND TEST PATTERN IF APP WCSSF STF WCS TURN ON WCS MACRO NOP WCSCF CLF WCS TURN OFF WCS STA SAVA SAVE ACTUAL DATA CXA PUT X REG IN TO A REG SSA IS THIS AN ERROR? JMP TSTER YES CYA PUT Y REG IN A REG SSA,RSS IS THIS OPERATOR INTERRUPT? JMP TSTR,I NO THEN COMPLETE TSTRN LIA SW ABORT? ALF,ALF RAR,SLA JMP .USR,I YES CXA CLEAR BIT 15 IN X REG  ELA,CLE,ERA CAX STA SAVA CYA NOW DO THE Y REG ELA,CLE,ERA CAY CPA HIADD LAST ADDRESS XOR SAVA SZA,RSS ? JMP TSTR,I YES LDA MACRO CHECH IF GAL READ REENTER CPA MACGL ?? LDA MACGR YES GET DIFFERENT MACRO STA MACRO CPA MACGR IS THIS A RETURN TO GAL.READ? RSS YES DONT UPDATE X REG ISX UPDATE X-REG. JMP MACRO-1 CONTINUE EXECUTION * TSTER LDA SAVA RESTORE A REGISTER JSB HLTS REPORT ERROR TSTMS NOP TSTEX NOP SET TO ERROR HALT JMP TSTRN CONTINUE SKP * PARITY INTERRUPT ROUTINE * PERR NOP STA PERRS SAVE A REGISTER LIA 5B GET VIOLATION ADDRESS SSA IS THIS A PARITY ERROR JMP *+3 E067 HLT 67B NO JMP PEREX JUST SKIP IT ELA,CLE,ERA CPA PERRA SAME ERROR? JMP PERR0 YES STA PERRA NO SAVE ADDRESS LDA PERR SAVE RETURN ADDRESS STA PERTN CYA PUT TEST PATTERN ADDRESS IN A CPB BG IS THIS THE BACKGROUND? CXA YES GET BG ADDRESS ELA,CLE,ERA CLEAR BIT 15 (IF NECESSARY) CPA PERRA DOES ADDRESS AGREE WITH TEST ADDRESS JMP *+4 YES LDA PERRA GET PARITY ERROR ADDRESS E066 HLT 66B TELL OPERATOR JMP *-1 NOT RECOVERABLE STB A,I TRY STORING IT AGAIN STF 5B ENABLE PERR AGAIN LDA A,I READ IT AGAIN LDA SW11 SET SOFT ERROR FLAG STA SFTER * PERR0 LDA PERRS GET ORIGINAL ERROR DATA CPA B IS IT DATA OR PARITY CHIP RSS JMP PEREX DATA ERROR CONTINUE JSB HLTS DEF EM65 E065 HLT 65B PARITY CHIP CXA CLEAR ERROR BIT IN X ELA,CLE,ERA CAX CYA ADD BIT TO Y IOR SW15 wCAY PEREX CLA STA PERRA STF 5B ENABLE PARITY INTERRUPTS AGAIN LDA PERRS RESTORE A-REG. JMP *+1,I RETURN TO CONTINUE TESTING * PERTN NOP PERRA NOP PERRS NOP EM65 ASC 10,E065 PRTY CHIP ERROR OCT -1 SKP * SET 4K MEMORY BLOCK TO BE TESTED * ALSO SETS DMS (IF AVAILABLE) * TBLK NOP LDB SW9 CHECK FOR ABORT JSB SWRT JMP .USR,I YES ABORT SZA FIRST TIME? JMP TBLK3 NO DO NEXT BLOCK STA SYMPG CLEAR DMS FLAG LDA USADD IS USER IN MEMORY EXPANSION AND B370 SZA,RSS AREA?? JMP TBLK0 NO LDA USADD YES GET MODULE NUMBER AND B377 RAL,RAL MOVE TO BLOCK ADA BM1 MOVE BACK ONE STA SYMPG PUT IT IN SYSTEM MAP AREA JMP TBLK4 TBLK0 LDA USADD GET USER BLOCK ALF,ALF ALF AND B70K SZA,RSS IF 0 START WITH SECOND PAGE LDA B10K YES START AT 8K TBLK2 LDB A SET UPPER IOR B7777 LIMIT STA HIADD SAVE HIGH LIMIT STB LOADD AND LOW LIMIT BLF,RBL UPDATE S-REG. FOR DISPLAY RBL LDA SYMPG IN DMS? SZA LDB SYMPG-3 YES GET FIRST PAGE BRS,BRS LIA SW AND SWMM ELIMINATE OLD STATUS IOR B INCLUDE NEW OTA SW DISPLAY IT STB MOD SAVE MODULE NUMBER ISZ TBLK RETURN TO P+2 JMP TBLK,I RETURN FOR TEST SKP TBLK3 LDA USADD CHECK IF SZA,RSS ANY USER MODULES JMP *+6 NO ALF,ALF AND B377 SZA MORE THAN ONE BLOCK? CPA MOD OR END? JMP TBLK5 YES EXIT LDA MEMO DONE AND B70K ALL LDB A LDA LOADD AND B70K CPA B OF BASE MEMORY JMP *+3 YES - CHECK FOR DMS ADA B10K NO MOVE UP ONE BLOCK+ JMP TBLK2 NOW RETURN TBLK4 LDA USSC IS DMS PRESENT? RAL SSA,RSS ?? JMP TBLK,I NO END OF MEMORY LDA SYMPG YES IS THIS THE FIRST TIME SZA,RSS ?? LDA B37 YES SET LAST PAGE INA MOVE TO NEXT PAGE STA SYMPG-3 SET PAGE TO BE TESTED INA STA SYMPG-2 INA STA SYMPG-1 INA STA SYMPG LDA SYMT GET POINTER TO MAP TABLE SYA LOAD DMS SYSTEM MAP REGISTERS FROM TABLE CLA ZERO THE LFA BASE PAGE FENCE SJP *+2 TURN ON SYSTEM MAPS LDA B70K SET ADDRESS FOR CHECK STA LOADD LDA ALPT0 GET TEST PATTERN STA LOADD,I TRY TO STORE IT LDA B70K SET LAST PAGE FOR TEST LDB USADD SKIP CHECK IF USER SPECIFIES SZB JMP TBLK2 HE DID CLF 5B TURN OFF PAITY ERROR LDB LOADD,I GET DATA BACK STF 5B TURN PARITY CIRCUIT ON SZB WAS THERE ANY MEMORY THERE? JMP TBLK2 YES TEST IT TBLK5 LDA SYMPG CHECK TO TURN OFF DMS SZA,RSS JMP TBLK,I DJP *+2 YES SO END OF MEMORY DISABLE MAPS JMP TBLK,I RETURN SKP SYMT DEF *+1 OCT 00,01,02,03,04,05,06,07 OCT 10,11,12,13,14,15,16,17 OCT 20,21,22,23,24,25,26,27 OCT 30,31,32,33,34,35,36 SYMPG OCT 37 SKP SAVA NOP SAVB NOP SAVX NOP SAVY NOP EOLC NOP TSTA NOP SINA NOP UINA NOP STDA OCT 000077 B2 OCT 2 B3 OCT 3 B7 OCT 7 B77 OCT 77 BM1 DEC -1 BM2 DEC -2 IOM OCT 177700 SW15 OCT 100000 SW14 OCT 40000 SW13 OCT 20000 SW12 OCT 10000 SW11 OCT 4000 SW10 OCT 2000 SW9 OCT 1000 SWM9 OCT 176777 SWMM OCT 177600 TSTN NOP B10K OCT 10000 B37 OCT 37 B370 OCT 370 B377 OCT 377 B7777 OCT 7777 B70K OCT 70000 D21 DEC 21 D32 DEC 32 HIADD NOP LOADD NOP USADD NOP MOD Wo<:6NOP TP NOP BG NOP G.R.F NOP SFTER NOP TMP NOP MACGL OCT 105624 MACGR OCT 105627 FPMC OCT 105620 ALPT0 OCT 052525 ALPT1 OCT 125252 MX.MC DEF MX.MS MX.EC DEF MX.ES MXCC ABS MX.MS-MX.ME+2 MCCT ABS 10000B-6477B .USR DEF USR CNSLO DEF *-* O2AS DEF *-* SKP IOIP DEF *+1 DEF WCS00 DEF WCS01 DEF WCS02 DEF WCS03 DEF WCS04 DEF WCS05 DEF WCS06 DEF WCS07 DEF WCS08 DEF WCS09 DEF WCS10 DEF WCS11 DEF WCS12 DEF WCS13 DEF WCS14 DEF WCS15 DEF WCS16 DEF WCS17 DEF WCS18 DEF WCS19 DEF WCS20 DEF WCS21 DEF WCSSF DEF WCSCF DEF W.SSF DEF W.SCF DEC -1 * TSTP DEF *+1 DEF TST00 ADDRESS AND PATTERN TEST DEF TST01 GAL.READ 052525 DEF TST02 GAL.READ 125252 DEF TST03 GAL.READ 177776 DEF TST04 GAL.READ 000001 DEF TST05 MODULE 0 TEST (FIRST 4K) DEC -1 LIST TERMINATOR x[< kz 24395-18007 1644 S 0122 SEMICONDUCTOR MEMORY DIAGNOSTIC             H0101 d SKP ORG 1775B CFCMP CLA CLEAR S-REG. OTA SW H074 HLT 74B CONFIGURATION COMPLETE CLC INTP,C TURN I/O SYSTEM OFF CPB FPMC DID HE SET FOR FRONT PANNEL? JMP WCS21 LDA MEMO CHECK IF ONLY 4K OF MEMORY AND B70K SZA ?? JMP EXCS GREATER SO DO DIAGNOSTIC LDB FPMC GET MACROINSTRUCTION CLA DO MODULE 0 LDY ALPT0 GET TEST PATTERN LDX ALPT1 AND BACKGROUND H000 HLT 0B WAIT FOR OPERATOR WCS21 STF WCS TURN ON WCS JMP 1 EXECUTE FRONT PANNEL ROUTINE EXCS CLA CLEAR PASS STA EOLC COUNT LDA STDA SET STANDARD RUN STA SINA LDB SW10 CHECK TO SUPPRESS HEADER MESSAGE JSB SWRT JMP *+4 YES LDA HM00C NO OUTPUT HEADER MESSAGE LDB HM00P JSB CNSLO,I LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT JMP USR IT'S USERS CHOICE NUSR LDA STDA GET STANDARD TEST RUN CLB AND MEMORY BLOCK JMP EXC * USR JSB SWDB DEBOUNCE S-REG. LIA SW GET S-REGISTER AND SWM9 MASK OUT BIT 9 OTA SW UPDATE S-REGISTER LDA SINA RETRIEVE PREVIOUS RUN LDB USADD AND USER MEMORY BLOCK H075 HLT 75B WAIT FOR USER INPUT SKP EXC STA UINA SAVE STB USADD USER STA SINA INPUT LDA USADD CHECK UPER BOUND IS GREATER AND B377 STA B LDA USADD ALF,ALF AND B377 CMB,INB SZA,RSS JMP *+4 ADA B SSA IS IT? JMP USR NO ASK AGAIN CCA SET TEST NUMBER STA TSTN =-1 CLA STA TSTA CLEAR TEST RUN FLAG EXCL LDA UINA RESTORE A REG. RAR ROTATE FIRST TEST BIT STA UINA SAVE POSITIONS ISZ TSTN MOVE TEST UPY ONE NOP EXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA BM1 IS IT END OF LIST JMP EOL YES LDB UINA SSB,RSS SHOULD IT BE RUN? JMP EXCL NO STA TSTA YES - SAVE TEST ADDRESS CLA CLEAR PARITY ERROR STA PERRA STA G.R.F CLEAR GAL READ FLAG STA SFTER CLEAR SOFT ERROR FLAG STF 5B TURN ON PARITY ERROR LOGIC JSB TSTA,I GO DO TEST SKP LDA LWAA MOVE CONFIG BACK AND B7777 LDB LWAA TO LAST MEMORY LOCATION MVW MCCT DO IT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWRT RSS JMP *+3 JSB SWDB DEBOUNCE S-REG. H076 HLT 76B YES WAIT FOR OPERATOR LDB SW9 CHECK FOR ABORT JSB SWRT JMP USR YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWRT JMP EXCL1 YES - LOOP JMP EXCL CONTINUE EOL LDA TSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP NUSR NO SO PICK UP STANDARD RUN ISZ EOLC UP DATE PASS COUNT CLE LDA EOLC CONVERT PASS COUNT FOR DISPLAY LDB HM77X JSB O2AS,I LDB SW10 CHECK TO SKIP OUTPUT OF PASS COUNT JSB SWRT JMP *+4 YES LDA D21 LDB HM77P JSB CNSLO,I LDB SW12 CHECK FOR LOOP ON DIAG. JSB SWRT JMP H077+1 YES LDA EOLC JSB SWDB DEBOUNCE S-REG. H077 HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA SINA RESTORE ORIGINAL LDB USADD PROGRAM JMP EXC DO IT ALL AGAIN * HM77X DEF HM77+5 HM77P DEF HM77 HM77 ASC 12,H077 PASS XXXXXX * HM00C DEC 42 HM00P DEF HM00 HM00 ASC 21,MICROCODED SEMICONDUCTOR MEMORY DIAGNOSTIC SKP * MEMORY ADDRESS TEST (SOFTWARE) * TST00 EQU * ADDPT NOP CLA FIRST TIME THROUGH JSB TBLK GET TEST AREA JMP ADDPT,I DONE ALL OF MEMORY EXIT LDA LOADD GET STARTING ADDRESS CAX PUT IT IN X-REG. AND B7777 USE ONLY 4K MODULE ADDRESS LDB A ADD00 SBX 0 PUT ADDRESS IN ADDRESS LOCATION CXA CPA HIADD IS THIS THE LAST ADDRESS? JMP *+4 YES - GO VERIFY INB MOVE TO NEXT LOCATION ISX JMP ADD00 AND DO IT LDA LOADD GET LOWER LIMIT CAX PUT IT IN X-REG. AND B7777 CHECK ONLY 4K MODULE ADDRESS LDB A ADD01 LAX 0 GET CONTENTS STB BG SAVE EXPECTED CPA B DID ADDRESS STORE? JMP ADD02 YES JSB HLTS REPORT ERROR DEF EM10 E010 HLT 10B ADD02 LIA SW CHECK BIT 9 ALF,ALF RAR,SLA JMP .USR,I ABORT TEST CXA CPA HIADD END OF CHECK? JMP *+4 YES INB NO - MOVE TO NEXT LOCATION ISX JMP ADD01 SKP * MEMORY PATTERN TEST (SOFTWARE) * LDA LOADD GET STARTING ADDRESS CAX PUT IT IN X-REG. LDB ALPT0 GET 052525 STB TMP SAVE THE PATTERN PAT00 SBX 0 PUT IT IN LOCATION CMB CXA PUT ADDRESS IN A REG CPA HIADD DONE 4K BLOCK? JMP *+3 YES - VERIFY IT ISX JMP PAT00 NO DO NEXT LOCATION LDA LOADD RESET TO STARTING OF BLOCK CAX PUT IT IN X-REG. LDB TMP GET ORIGINAL PATTERN PAT01 LAX 0 GET CONTENTS STB BG SAVE EXPECTED CPA B IS THIS PATTERN OK? JMP PAT02 YES JSB HLTS NOW REPORT ERROR DEF EM10 EO10 HLT 10B PAT02 LIA SW CHECK BIT 9 ALF,ALF RAR,SLA JMP .USR,I ABORT TEST CMB REVERSE PATTERN CXA PUT ADDRESS IN A  CPA HIADD DONE ALL OF 4K BLOCK? JMP *+3 ISX NO MOVE TO NEXT LOCATION JMP PAT01 AND DO IT LDB TMP YES - GET ORIGINAL PATTERN CPB ALPT0 DONE SECOND PATTERN JMP *+3 YES CCA CALL FOR NEXT BLOCK JMP ADDPT+2 CMB REVERSE PATTERN LDA LOADD RESET LOW ADDRESS CAX PUT IT IN X-REG. JMP PAT00-1 DO THE OPPSITE PATTERN * * EM10 ASC 10,E010 ADDR.PAT ERROR OCT -1 SKP * GALLOPING READ RECOVERY * TST01 EQU * G.R01 NOP LDA ALPT1 LDB ALPT0 GET 052525 JSB G.R EXECUTE GAL.READ JMP G.R01,I RETURN * TST02 EQU * G.R02 NOP LDA ALPT0 LDB ALPT1 GET 125252 JSB G.R EXECUTE GAL.READ JMP G.R02,I RETURN * TST03 EQU * G.R03 NOP LDA B3 LDB BM2 GET 177776 FOR PARITY CHIP JSB G.R EXECUTE GAL.READ JMP G.R03,I RETURN * TST04 EQU * G.R04 NOP LDA BM2 LDB B3 GET 000003 FOR PARITY CHIP JSB G.R EXECUTE GAL.READ JMP G.R04,I RETURN SKP G.R NOP STA TP SAVE TEST PATTERN STB BG AND BACKGROUND CLA FIRST TIME THROUGH JSB TBLK GET TEST AREA JMP G.R,I DONE ALL OF MEMORY JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105622 EXECUTE WRT.READ DEF EM11 E011 HLT 11B WRITE.READ ERROR JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105623 EXECUTE READ DEF EM12 E012 HLT 12B ERROR HALT CODE LDA D32 SET GAL.READ FLAG FOR ERROR MESSAGE STA G.R.F JSB TSTR GO TO MACRO ECECUTION ROUTINE OCT 105624 EXECUTE GAL.READ DEF EM13 E013 HLT 13B GAL.READ ERROR HALT CLA CLEAR GAL.READ FLAG STA G.R.F JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105622@ EXECUTE WRT.READ TO LOAD MEMORY DEF EM14 E014 HLT 14B WRITE.READ ERROR JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105625 EXECUTE REFRESH DEF *-* E015 HLT 15B ERROR HALT CODE SHOULD NEVER OCCUR JSB TSTR GO TO MACRO ECECUTION ROUTINE OCT 105623 EXECUTE READ TO CHECK MEMORY DEF EM16 E016 HLT 16B REFRESH ERROR HALT CCA JMP G.R+4 * * EM11 ASC 10,E011 WRT.READ ERROR OCT -1 EM12 ASC 10,E012 READ ERROR OCT -1 EM13 ASC 10,E013 GAL.READ ERROR OCT -1 EM14 ASC 10,E014 WRT.READ ERROR OCT -1 EM16 ASC 10,E016 READ ERROR OCT -1 SKP * MODULE 0 TEST (FIRST 4K) * TST05 EQU * .4K NOP LDA USADD CHECK IF IT'S USER SELECTION SZA JMP .4K,I YES - EXIT THIS TEST LDA B2 MOVE PROGRAM TO SECOND 4K LDB B10K ADB B2 MVW B10K LDA B2 CHECK MOVE LDB B10K ADB B2 CMW B10K LDA .4KPE STA 3B LIA SW UPDATE S-REG. AND SWMM JMP *+1,I DEF *+1+10000B GO TO SECOND 4K MODULE SKP * ADDRESS TEST * OTA SW LDA .4KJX SET RESTART AT 10000 LDB .10K PUT AT 10000 STA B,I INB LDA .4KJD SET LINK STA B,I LDA .6 GET STARTING ADDRESS CAX PUT IT IN X-REG. LDB .6 AD4K0 SBX 0 PUT ADDRESS IN ADDRESS LOCATION CPB .7777 IS THIS THE LAST ADDRESS? JMP *+4 YES - GO VERIFY INB MOVE TO NEXT LOCATION ISX JMP AD4K0 AND DO IT LDA .6 GET LOWER LIMIT CAX PUT IT IN X-REG. LDB .6 AD4K1 LAX 0 GET CONTENTS CPA B DID ADDRESS STORE? JMP *+2 YES E020 HLT 20B NO TELL OPERATOR LIA SW CHECK BIT 9 ALF,ALF RAL,SLA JMP .4KEX ABORT TEST CPB .7777 END OF CHECK? JMP *+4 YES INB NO - MOVE TO NEXT LOCATION ISX JMP AD4K1 SKP * PATTERN TEST * * _ LDA .6 GET STARTING ADDRESS CAX PUT IT IN X-REG. LDB .ALP0 GET 052525 STB .SAVA SAVE THE PATTERN PT4K0 SBX 0 PUT IT IN LOCATION CMB CXA PUT ADDRESS IN A REG CPA .7777 DONE 4K BLOCK? JMP *+3 YES - VERIFY IT ISX JMP PT4K0 NO DO NEXT LOCATION LDA .6 RESET TO STARTING OF BLOCK CAX PUT IT IN X-REG. LDB .SAVA GET ORIGINAL PATTERN PT4K1 LAX 0 GET CONTENTS CPA B IS THIS PATTERN OK? JMP *+2 YES EO20 HLT 20B NO TELL OPERATOR LIA SW CHECK BIT 9 ALF,ALF RAL,SLA JMP .4KEX ABORT TEST CMB REVERSE PATTERN CXA PUT ADDRESS IN A CPA .7777 DONE ALL OF 4K BLOCK? JMP *+3 ISX NO MOVE TO NEXT LOCATION JMP PT4K1 AND DO IT LDB .SAVA YES - GET ORIGINAL PATTERN CPB .ALP1 DONE SECOND PATTERN JMP *+5 YES CMB REVERSE PATTERN LDA .6 RESET LOW ADDRESS CAX PUT IT IN X-REG. JMP PT4K0-1 DO THE OPPSITE PATTERN SKP * MICROCODED GALLOPING READ RECOVERY AND REFRESH * LDA .ALP1 LDB .ALP0 JSB .4KR DO 125252 LDA .ALP0 LDB .ALP1 JSB .4KR DO 052525 LDA .3 LDB .M2 JSB .4KR DO 000003 LDA .M2 LDB .3 JSB .4KR DO 177775 * .4KEX LDA .10K MOVE PROGRAM BACK ADA .2 LDB .2 MVW .10K+10000B JMP .4K,I RETURN TO EXEC * .4KR NOP STA .TP SAVE TEST PATTERN STB .BG AND BACKGROUND JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105622 EXECUTE WRT.READo E021 HLT 21B WRITE.READ ERROR JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105623 EXECUTE READ E022 HLT 22B ERROR HALT CODE JSB T4KR GO TO MACRO ECECUTION ROUTINE OCT 105624 EXECUTE GAL.READ E023 HLT 23B GAL.READ ERROR HALT JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105622 EXECUTE WRT.READ TO LOAD MEMORY E024 HLT 24B WRITE.READ ERROR JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105625 EXECUTE REFRESH E025 HLT 25B ERROR HALT CODE SHOULD NEVER OCCUR JSB T4KR GO TO MACRO ECECUTION ROUTINE OCT 105623 EXECUTE READ TO CHECK MEMORY E026 HLT 26B REFRESH ERROR HALT JMP .4KR,I RETURN * SKP T4KR NOP LDA T4KR,I GET MACRO INSTRUCTION TO BE EXECUTED STA MAC4K ISZ T4KR LDA T4KR,I GET HALT CODE STA T4KEX ISZ T4KR LDA .6 GET STARING ADDRESS CAX PUT IT IN X LDA .7777 AND ENDING ADDRESS CAY PUT IT IN Y LDA .TP TEST PATTERN IF APP LDB .BG AND BACKGROUND W.SSF STF WCS TURN ON WCS MAC4K NOP W.SCF CLF WCS TURN OFF WCS STA .SAVA SAVE ACTUAL DATA CXA PUT X REG IN TO A REG SSA IS THIS AN ERROR? JMP T4KER YES CYA PUT Y REG IN A REG SSA,RSS IS THIS OPERATOR INTERRUPT? JMP T4KR,I NO THEN COMPLETE T4KRN LIA SW ALF,ALF CHECK BIT 9 FOR ABORT RAR,SLA ? JMP .4KEX YES EXIT TEST CXA CLEAR BIT 15 IN X REG ELA,CLE,ERA CAX STA .SAVA CYA NOW DO THE Y REG ELA,CLE,ERA CAY CPA .7777 LAST ADDRESS? XOR .SAVA SZA,RSS JMP T4KR,I YES EXIT LDA MAC4K CHECH IF GAL READ REENTER CPA M4KGL ?? LDA M4KGR YES GET DIFFERENT MACRO ST#0.*A MAC4K CPA M4KGR IS THIS A RETURN TO GAL.READ? RSS YES DONT UPDATE X REG ISX UPDATE X-REG. JMP MAC4K-1 CONTINUE EXECUTION * M4KGL OCT 105624 M4KGR OCT 105627 * T4KER LDA .SAVA RESTORE A REGISTER T4KEX NOP SET TO ERROR HALT JMP T4KRN CONTINUE SKP .2 OCT 2 .3 OCT 3 .6 OCT 6 .7777 OCT 7777 .M2 OCT -2 .10K OCT 10000 .4KPE OCT 102064 .ALP0 OCT 125252 .ALP1 OCT 052525 .SAVA NOP .TP NOP .BG NOP .4KJX OCT 126001 .4KJD DEF .4KEX+10000B h0 l y 24395-18008 1644 S 0122 SEMICONDUCTOR MEMORY DIAGNOSTIC             H0101 d SKP *MICMX,B,L,C ** ** 21MX MICROCODED MEMORY TESTS * ORG 6000B MODULE 12 * JMP START FRONT PANNEL ENTRY * JMP RE.ENTER RE-ENTER FROM FRONT PANNEL * JMP WRT.READ * JMP READ * JMP GAL.READ * JMP REFRESH * RTN * JMP GL.RD.02 * RTN * JMP RE.ENTR1 * JMP RE.ENTR2 * JMP RE.ENTR3 * JMP RE.ENTR4 * JMP RE.ENTR5 * JMP RE.ENTR6 * JMP RE.ENTR7 SKP *START IMM HIGH S4 17B 7777 IN S4 * L S4 7777 IN L * ADD S12 A UPPER LIMIT IN S12 * PASS S11 A LOWER LIMIT IN S11 * PASS S10 Y SAVE TEST PATTERN IN S10 * PASS S9 X SAVE BG IN S9 * PASS S8 B SAVE MACRO INSTRUCTION ** *RE.ENTR0 PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR1 PASS B S9 AND BACKGROUND * IMM CMLO S7 376B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY * PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR2 PASS B S9 AND BACKGROUND * IMM CMLO S7 375B AND RE-ENTRY NUMBER * JSB READ CHECK MEMORY FOR GOOD LOAD * PASS X S11 SET WORKING ADDRESS * PASS Y S11 AND PATTERN ADDRESS *RE.ENTR3 IMM CMLO S7 374B SET RE-ENTRY NUMBER * JSB GL.RD.00 RUN PATTERcN THROUGH TEST AREA * PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR4 PASS B S9 AND BACKGROUND * IMM CMLO S7 373B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY *RE.ENTR5 IMM CMLO S7 372B SET RE-ENTRY NUMBER * JSB REFRESH STAY IN CODE TO ALLOW REFRESH * PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR6 PASS B S9 AND BACKGROUND * IMM CMLO S7 371B AND RE-ENTRY NUMBER * JSB READ INSURE MEMORY WAS NOT CHANGED * IMM CMLO S7 300B SET GOOD HALT 77B * ZERO X CLEAR X * ZERO Y AND Y FOR GOOD COMPLETION SKP *EXIT DEC S1 P CHECK IF FRONT PANNEL ENTRY * IMM LOW S2 370B * PASS L S2 * AND P * JMP CNDX TBZ *+2 IF P NOT = TO 0 THEN * RTN PASS M S1 RETURN TO SOFRWARE PROGRAM ** * ZERO P INSURE P=0 * IMM CMHI S6 173B GENERATE 102000 FOR HALT * PASS L S7 * IOR A S6 AND THEN 1020XX * INC B S8 SET MACRO FOR RE-ENTERY * JMP CNDX NHOI *+2 IS THIS THE HALT BUTTON * INC P P YES INCREMENT P * JSB *+1 * RTN ZERO M RETURN ** *RE.ENTER IMM HIGH S7 177B CLEAR BIT 15 OF * PASS L S7 * AND X X X AND * AND Y Y Y REGISTERS * INC X X MOVE TO NEXT ADDRESS * IMM [ CMLO S7 370B SET MASK TO DETERMINE * PASS L S7 WHICH ROUTINE TO * AND A A * IMM CMLO S7 367B ADD 10 OCTAL * PASS L S7 * IOR A A * PASS IR A RETURN TO * JMP J30 6000B RETURN TO IT ** *RE.ENTR7 PASS S DSPL * JMP CNDX AL15 RJS RE.ENTR0 MOVE TO NEXT BLOCK? * IMM CMHI S7 357B YES - ADD 4K * PASS L S7 * ADD S12 S12 * ADD S11 S11 * JMP CNDX AL15 RJS *+3 WRAPPAROUND? * ZERO S11 YES CLEAR LOWER LIMIT * IMM HIGH S12 17B SET UPPER LIMIT * JMP RE.ENTR0 SKP ** WRT.READ MEMORY FROM X TO Y TO BACKGROUND PATTERN IN B ** *WRT.READ M X M-REG=CURRENT ADDRESS * WRTE T B WRITE BACKGROUND * READ L B READ BACKGROUND * PASS A T SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX TBZ RJS D.ERROR DATA * JMP CNDX NHOI RJS HALT.INT HALT OR INTERRUPT? YES * L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX TBZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP WRT.READ CONTINUE * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN ** *READ M X M-REG=CURRENT ADDRESS * READ L B READ BACKGROUND * PASS A T SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX TBZ RJS D.ERROR DATA * JMP CNDX NH]?OI RJS HALT.INT HALT OR INTERRUPT? YES * L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX TBZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP READ CONTINUE * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN SKP ** GALLOPING READ RECOVERY TEST ** *GAL.READ PASS S10 A SAVE TEST PATTERN * PASS S9 B SAVE BACKGROUND * PASS S11 X STARTING ADDRESSS * PASS S12 Y ENDING ADDRESS * PASS Y X BOTH MUST BE THE SAME TO START ** *GL.RD.00 PASS B S10 SET TEST PATTERN AS EXPECTED * PASS M Y AND ADDRESS * WRTE T B WRITE TEST PATTERN OVER BG * IMM CMHI S1 375B DID USER WANT TO * PASS L S1 * AND DSPL * JMP CNDX TBZ RJS HALT.INT ABORT? YES GO EXIT *GL.RD.01 PASS B S10 SET TEST PATTERN AS EXPECTED * READ M Y READ PATTERN * PASS A T PUT DATA READ IN A * PASS L B DID IT * XOR A CONTAIN THE * JMP CNDX TBZ RJS D.ERROR TEST PATTERN? NO-DATA ERROR * JMP CNDX NHOI RJS HALT.INT HALT OR INTERRUPT? YES-GO PROCESS * L Y PATTERN ADDRESS * XOR X = WORKING * JMP CNDX TBZ GL.RD.02 ADDRESS? YES-SKIP READ * PASS B S9 SET EXPECTED TO BG * READ M X READ BACKGROUND ADDRESS * PASS A T PUT DATA READ IN A * PASS L B DID IT * dXOR A CONTAIN THE * JMP CNDX TBZ RJS D.ERROR BG PATTERN? NO-DATA ERROR * JMP CNDX NHOI RJS HALT.INT HALT OR INTERRUPT? YES *GL.RD.02 L S12 UPPER 4K LIMIT IN L * XOR X DONE ALL READ ACCESS TRANSITIONS * JMP CNDX TBZ *+3 FOR ONE TEST ADDRESS? * INC X X NO.BUMP WORKING ADDRESS * JMP GL.RD.01 CONTINUE * PASS B S9 RESTORE BG IN PATTERN ADDRESS * PASS M Y * WRTE T B * XOR Y DONE ALL TEST * JMP CNDX TBZ *+4 YES RETURN * INC Y Y (MOVE TO NEXT TEST ADDRESS)144 * PASS X S11 (RESET STARTING ADDRESS) * JMP GL.RD.00 ADDRESS IN 4K? * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN SKP ** REFRESH TEST ** *REFRESH IMM CMLO S1 367B DELAY * ZERO S2 FOR * JMP CNDX NHOI RJS HALT.INT APPROXIMATELY * DEC S2 S2 500 MILLISECONDS * JMP CNDX TBZ RJS *-2 WITHOUT * DEC S1 S1 ADDRESSING * JMP CNDX TBZ RJS REFRESH+1 MEMORY * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN ** ** HALT OR INTERRUPT ** *HALT.INT IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR Y Y IN Y TO INDICATE INTERRUPT * JMP EXIT RETURN ** ** PROCESSES ERRORS ** *D.ERROR IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR X X IN X TO INDICATE ERROR * JMP EXIT REuTURN * END SKP MX.MS EQU * OCT 6000,506 MODULE 12 ADDRESS 6000B OCT 321,101030 OCT 321,104170 OCT 321,105530 OCT 321,106430 OCT 321,107270 OCT 321,112070 OCT 017,136776 OCT 321,111130 OCT 017,136776 OCT 321,101470 OCT 321,101730 OCT 321,102170 OCT 321,102370 OCT 321,102530 OCT 321,102730 OCT 321,105030 OCT 340,037157 OCT 017,146157 OCT 004,127557 OCT 017,127517 OCT 017,173457 OCT 017,171417 OCT 017,125357 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,175317 OCT 301,105530 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,173317 OCT 301,106430 OCT 017,165617 OCT 017,165657 OCT 357,171317 OCT 301,107530 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,167317 OCT 301,105530 OCT 357,165317 OCT 301,112070 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,163317 OCT 301,106430 OCT 357,001317 OCT 001,137617 OCT 001,137657 OCT 007,175017 OCT 347,161057 OCT 017,142157 OCT 015,174757 OCT 320,043531 OCT 017,140476 OCT 001,137717 OCT 351,167257 OCT 017,154157 OCT 017,052557 OCT 000,056517 OCT 326,044071 OCT 000,075717 OCT 301,104130 OCT 001,136476 OCT 341,177317 OCT 017,154157 OCT 015,171617 OCT 015,173657 OCT 000,071617 OCT 357,161317 OCT 017,154157 OCT 015,126557 OCT 357,157317 OCT 017,154157 OCT 017,026557 OCT 017,126417 OCT 321,100035 OCT 017,115757 OCT 322,001371 OCT 353,137317 OCT 017,154157 OCT 004,167557 OCT 004,165517 OCT 322,005471 OCT 001,137517 OCT 34K0,037557 OCT 321,101370 OCT 017,170457 OCT 177,124117 OCT 237,124157 OCT 017,104557 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,172157 OCT 013,070757 OCT 320,046331 OCT 000,071617 OCT 321,105530 OCT 007,175017 OCT 017,140476 OCT 017,170457 OCT 237,124157 OCT 017,104557 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,172157 OCT 013,070757 OCT 320,047171 OCT 000,071617 OCT 321,106430 OCT 007,175017 OCT 017,140476 OCT 017,127457 OCT 017,125417 OCT 017,171517 OCT 017,173557 OCT 017,171657 OCT 017,162517 OCT 017,172457 OCT 177,124117 OCT 353,173017 OCT 017,140157 OCT 015,114757 OCT 320,012531 OCT 017,162517 OCT 237,172457 OCT 017,104557 OCT 017,124157 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,172157 OCT 013,070757 OCT 320,051131 OCT 017,160517 OCT 237,170457 OCT 017,104557 OCT 017,124157 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,166157 OCT 013,070757 OCT 320,051371 OCT 000,071617 OCT 321,110070 OCT 017,160517 OCT 017,172457 OCT 177,124117 OCT 013,072757 OCT 320,051771 OCT 000,073657 OCT 017,165617 OCT 321,107530 OCT 007,175017 OCT 017,140476 OCT 357,157017 OCT 001,137057 OCT 326,012531 OCT 007,143057 OCT 320,012171 OCT 007,141017 OCT 320,012131 OCT 007,175017 OCT 017,140476 OCT 351,177217 OCT 017,150157 OCT 017,073657 OCT 321,103230 OCT 351,177217 OCT 017,150157 OCT 017,071617 OCT 321,103230 MX.ME EQU * SKP *MICMXE,B,L,C ** ** 21MXE MICROCODED M6EMORY TESTS * ORG 34400B MODULE 57 * JMP START FRONT PANNEL ENTRY * JMP RE.ENTER RE-ENTER FROM FRONT PANNEL * JMP WRT.READ * JMP READ * JMP GAL.READ * JMP REFRESH * READ RTN * JMP GL.RD.02 * READ RTN * JMP RE.ENTR1 * JMP RE.ENTR2 * JMP RE.ENTR3 * JMP RE.ENTR4 * JMP RE.ENTR5 * JMP RE.ENTR6 * JMP RE.ENTR7 SKP *START IMM HIGH S4 17B 7777 IN S4 * L S4 7777 IN L * ADD SP A UPPER LIMIT IN SP * PASS S11 A LOWER LIMIT IN S11 * PASS S10 Y SAVE TEST PATTERN IN S10 * PASS S9 X SAVE BG IN S9 * PASS S8 B SAVE MACRO INSTRUCTION ** *RE.ENTR0 PASS X S11 SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR1 PASS B S9 AND BACKGROUND * IMM CMLO S7 376B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY * PASS X S11 SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR2 PASS B S9 AND BACKGROUND * IMM CMLO S7 375B AND RE-ENTRY NUMBER * JSB READ CHECK MEMORY FOR GOOD LOAD * PASS X S11 SET WORKING ADDRESS * PASS Y S11 AND PATTERN ADDRESS *RE.ENTR3 IMM CMLO S7 374B SET RE-ENTRY NUMBER * JSB GL.RD.00 RUN PATTERN THROUGH TEST AREA * PASS X S11 p SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR4 PASS B S9 AND BACKGROUND * IMM CMLO S7 373B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY *RE.ENTR5 IMM CMLO S7 372B SET RE-ENTRY NUMBER * JSB REFRESH STAY IN CODE TO ALLOW REFRESH * PASS X S11 SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR6 PASS B S9 AND BACKGROUND * IMM CMLO S7 371B AND RE-ENTRY NUMBER * JSB READ INSURE MEMORY WAS NOT CHANGED * IMM CMLO S7 300B SET GOOD HALT 77B * ZERO X CLEAR X * ZERO Y AND Y FOR GOOD COMPLETION SKP *EXIT DEC S1 P CHECK IF FRONT PANNEL ENTRY * IMM LOW S2 370B * PASS L S2 * AND P * JMP CNDX ALZ *+2 IF P NOT = TO 0 THEN * READ RTN PASS M S1 RETURN TO SOFRWARE PROGRAM ** * ZERO P INSURE P=0 * IMM CMHI S6 173B GENERATE 102000 FOR HALT * PASS L S7 * IOR A S6 AND THEN 1020XX * INC B S8 SET MACRO FOR RE-ENTERY * JMP CNDX HOI RJS *+2 IS THIS THE HALT BUTTON * INC P P YES INCREMENT P * JSB *+1 * READ RTN ZERO M RETURN ** *RE.ENTER IMM HIGH S7 177B CLEAR BIT 15 OF * PASS L S7 * AND X X X AND * AND Y Y Y REGISTERS * INC X X MOVE TO NEXT ADDRESS * IMM CMLO S7 370B SET MASK TO DETERMINE * } PASS L S7 WHICH ROUTINE TO * AND A A * IMM CMLO S7 367B ADD 10 OCTAL * PASS L S7 * IOR A A * PASS IRCM A RETURN TO * JMP RJ30 34400B RETURN TO IT ** *RE.ENTR7 PASS S DSPL * JMP CNDX AL15 RJS RE.ENTR0 MOVE TO NEXT BLOCK? * IMM CMHI S7 357B YES - ADD 4K * PASS L S7 * ADD SP SP * ADD S11 S11 * JMP CNDX AL15 RJS *+3 WRAPPAROUND? * ZERO S11 YES CLEAR LOWER LIMIT * IMM HIGH SP 17B SET UPPER LIMIT * JMP RE.ENTR0 SKP ** WRT.READ MEMORY FROM X TO Y TO BACKGROUND PATTERN IN B ** *WRT.READ M X M-REG=CURRENT ADDRESS * WRTE PRST TAB B WRITE BACKGROUND * READ PRST L B READ BACKGROUND * PASS A TAB SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX ALZ RJS D.ERROR DATA * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES * L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX ALZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP WRT.READ CONTINUE * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN ** *READ M X M-REG=CURRENT ADDRESS * READ PRST L B READ BACKGROUND * PASS A TAB SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX ALZ RJS D.ERROR DATA * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES * Hf L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX ALZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP READ CONTINUE * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN SKP ** GALLOPING READ RECOVERY TEST ** *GAL.READ PASS S10 A SAVE TEST PATTERN * PASS S9 B SAVE BACKGROUND * PASS S11 X STARTING ADDRESSS * PASS SP Y ENDING ADDRESS * PASS Y X BOTH MUST BE THE SAME TO START ** *GL.RD.00 PASS B S10 SET TEST PATTERN AS EXPECTED * PASS M Y AND ADDRESS * WRTE PRST TAB B WRITE TEST PATTERN OVER BG * IMM CMHI S1 375B DID USER WANT TO * PASS L S1 * AND DSPL * JMP CNDX ALZ RJS HALT.INT ABORT? YES GO EXIT *GL.RD.01 PASS B S10 SET TEST PATTERN AS EXPECTED * READ PRST M Y READ PATTERN * PASS A TAB PUT DATA READ IN A * PASS L B DID IT * XOR A CONTAIN THE * JMP CNDX ALZ RJS D.ERROR TEST PATTERN? NO-DATA ERROR * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES-GO PROCESS * L Y PATTERN ADDRESS * XOR X = WORKING * JMP CNDX ALZ GL.RD.02 ADDRESS? YES-SKIP READ * PASS B S9 SET EXPECTED TO BG * READ PRST M X READ BACKGROUND ADDRESS * PASS A TAB PUT DATA READ IN A * PASS L B DID IT * XOR A CONTAIN THE * JMP CNDX AL0Z RJS D.ERROR BG PATTERN? NO-DATA ERROR * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES *GL.RD.02 L SP UPPER 4K LIMIT IN L * XOR X DONE ALL READ ACCESS TRANSITIONS * JMP CNDX ALZ *+3 FOR ONE TEST ADDRESS? * INC X X NO.BUMP WORKING ADDRESS * JMP GL.RD.01 CONTINUE * PASS B S9 RESTORE BG IN PATTERN ADDRESS * PASS M Y * WRTE PRST TAB B * XOR Y DONE ALL TEST * JMP CNDX ALZ *+4 YES RETURN * INC Y Y (MOVE TO NEXT TEST ADDRESS)144 * PASS X S11 (RESET STARTING ADDRESS) * JMP GL.RD.00 ADDRESS IN 4K? * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN SKP ** REFRESH TEST ** *REFRESH IMM CMLO S1 367B DELAY * ZERO S2 FOR * JMP CNDX HOI HALT.INT APPROXIMATELY * DEC S2 S2 500 MILLISECONDS * JMP CNDX ALZ RJS *-2 WITHOUT * DEC S1 S1 ADDRESSING * JMP CNDX ALZ RJS REFRESH+1 MEMORY * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN ** ** HALT OR INTERRUPT ** *HALT.INT IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR Y Y IN Y TO INDICATE INTERRUPT * JMP EXIT RETURN ** ** PROCESSES ERRORS ** *D.ERROR IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR X X IN X TO INDICATE ERROR * JMP EXIT RETURN * END SKP MX.ES EQU * OCST 34400,3534 MODULE 57 ADDRESS 34400B OCT 327,021007 OCT 327,024147 OCT 327,025507 OCT 327,026407 OCT 327,027247 OCT 327,032047 OCT 230,036740 OCT 327,031107 OCT 230,036740 OCT 327,021447 OCT 327,021707 OCT 327,022147 OCT 327,022347 OCT 327,022507 OCT 327,022707 OCT 327,025007 OCT 344,037147 OCT 010,046507 OCT 003,007547 OCT 010,007507 OCT 010,073447 OCT 010,071407 OCT 010,011347 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,175307 OCT 307,025507 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,173307 OCT 307,026407 OCT 010,065607 OCT 010,065647 OCT 353,171307 OCT 307,027507 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,167307 OCT 307,025507 OCT 353,165307 OCT 307,032047 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,163307 OCT 307,026407 OCT 353,001307 OCT 006,037607 OCT 006,037647 OCT 000,075007 OCT 343,161047 OCT 010,042507 OCT 012,074747 OCT 320,023502 OCT 230,040640 OCT 006,037707 OCT 355,167247 OCT 010,054507 OCT 010,152147 OCT 007,156207 OCT 323,164042 OCT 007,175707 OCT 307,024107 OCT 226,036640 OCT 345,177307 OCT 010,054507 OCT 012,071607 OCT 012,073647 OCT 007,171607 OCT 353,161307 OCT 010,054507 OCT 012,006147 OCT 353,157307 OCT 010,054507 OCT 010,106147 OCT 010,006607 OCT 327,020004 OCT 010,015747 OCT 327,161342 OCT 357,137307 OCT 010,054507 OCT 003,067547 OCT 003,065507 OCT 327,165442 OCT 006,037507 OCT 344,037547 OCT 327,021347 OCT 010,070647  OCT 210,010015 OCT 230,010515 OCT 010,000147 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,072507 OCT 014,170747 OCT 320,026302 OCT 007,171607 OCT 327,025507 OCT 000,075007 OCT 230,040640 OCT 010,070647 OCT 230,010515 OCT 010,000147 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,072507 OCT 014,170747 OCT 320,027142 OCT 007,171607 OCT 327,026407 OCT 000,075007 OCT 230,040640 OCT 010,007447 OCT 010,011407 OCT 010,071507 OCT 010,073547 OCT 010,071647 OCT 010,062207 OCT 010,072647 OCT 210,010015 OCT 357,173007 OCT 010,040507 OCT 012,014747 OCT 320,072502 OCT 010,062207 OCT 230,072655 OCT 010,000147 OCT 010,010507 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,072507 OCT 014,170747 OCT 320,031102 OCT 010,060207 OCT 230,070655 OCT 010,000147 OCT 010,010507 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,066507 OCT 014,170747 OCT 320,031342 OCT 007,171607 OCT 327,030047 OCT 010,060207 OCT 010,072647 OCT 210,010015 OCT 014,172747 OCT 320,031742 OCT 007,173647 OCT 010,065607 OCT 327,027507 OCT 000,075007 OCT 230,040640 OCT 353,157007 OCT 006,037047 OCT 323,132502 OCT 000,043047 OCT 320,072142 OCT 000,041007 OCT 320,072102 OCT 000,075007 OCT 230,040640 OCT 355,177207 OCT 010,050507 OCT 010,173647 OCT 327,023207 OCT 355,177207 OCT 010,050507 OCT 010,171607 OCT 327,023207 MX.EE EQU * SKP FWAA EQU * END $xZXTTZ m 24397-18002 2040 S C0122 &KRNL KERNEL DIAGNOSTIC             H0101 ګASMB,A,B,L ****HP 1000 L/XL-SERIES KERNEL DIAGNOSTIC **** * * * ***************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED INTO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * ***************************************************************** * * NAME: L/XL KERNEL DIAGNOSTIC * SOURCE: 24397-18002 DATE CODE 2040 * ABS: 24397-16002 * PGMR: D.L.M.,D.W.N.,M.T.W. * ORG 0B OCT 0 OCT 20000 * * * **THE 1000 L/XL-SERIES GENERAL DIAGNOSTIC** * * * * THE KERNEL DIAGNOSTIC IS A STAND-ALONE PROGRAM THAT * IS USED TO VERIFY THE OPERATION OF THE L-SERIES COMPUTER. * THE PROGRAM TESTS MEMORY, CPU INSTRUCTIONS, PROCESSOR * FUNCTIONS, ALL I/O INSTRUCTION EXECUTION, * 95% OF THE I/O CHIP LOGIC, THE CPU I/O FUNCTIONS, * THE INTERRUPT SYSTEM, OVERFLOW AND OVERFLOW INTERRUPTS, * THE TIME BASE GENERATOR, UNIMPLEMENTED INSTRUCTION * TRAP, MEMORY PROTECT, AND DMA. IT INCLUDES A MULTIPLE * DMA TRANSFER TEST WHICH INVOLVES ALL I/O CHIPS IN * THE SYSTEM SIMULTANEOUSLY CONTENDING FOR SERVICE AND * INTERRUPT PRIORITY. THE I/O FUNCTIONS NOT TESTED * BY THIS DIAGNOSTIC ARE THOSE DEALING DIRECTLY WITH * THE LOGIC ON SPECIFIC INTERFACE CARDS. THOSE FUNCTIONS * WILL BE DEALT WITH IN THE INTERFACE DIAGNOSTICS AND * WILL BE DOCUMENTED IN THE ERS. * * *ERROR REPORTING * THIS DIAGNOSTIC REPORTS ERRORS IN TWO FORMATS. THE * FIRST IS USED WHENEVER A VIRTUAL CONTROL PANEL (VCP) * IS CONFIGURED IN THE SYSTEM AND MAKES USE OF THE VCP *  CODE CONTAINED IN THE CPU PRETEST/BOOT ROMS. IF AN * ERROR OCCURS AND THE PRESENCE OF AN RFP IS DETECTED, SKP * * THE STATUS CODES ARE AS FOLLOWS: * * STATUS - MEANING * * 10 CPU FAILURE * 11 PROCESSOR FUNCTIONS UNDER TEST * 12 MEMORY PROBABLY FAILED * 13 FAILURE IN I/O SYSTEM * 14 ILLEGAL INTERRUPT OCCURRED * 11 MEMORY PROTECT ON, PROCESSOR HUNG UP * (FLASHING IF BREAK IS HELD OFF) * 20-77 SELECT CODE OF CHIP UNDER TEST * * *KEY REFERENCES * THE FOLLOWING LABELS ARE USED FREQUENTLY THROUGHOUT * THE DIAGNOSTIC AND ARE LISTED HERE FOR REFERENCE: * * LABEL - MEANING * * S/C SELECT CODE * LEDS CPU STATUS LEDS ON PROCESSOR * GR GLOBAL REGISTER * RFP REMOTE FRONT PANEL * CIR CENTRAL INTERRUPT REGISTER * PE PARITY ERROR * MPT MEMORY PROTECT * VIOLA MEMORY PROTECT VIOLATION REGISTER * FENCE MEMORY PROTECT FENCE * TBG TIME BASE GENERATOR * INMSK INTERRUPT MASK REGISTER * CONAD DMA CONFIGURATION ADDRESS REGISTER * DMAAD DMA ADDRESS REGISTER * WRDCT DMA WORD COUNT REGISTER * CWRD1 DMA CONTROL WORD 1 REGISTER * M2 I/O CHIP M2 REGISTER * N1 I/O CHIP N1 REGISTER * N2 I/O CHIP N2 REGISTER * DF0 I/O CHIP DMA S/C 20 * DF1 I/O CHIP DMA S/C 21 * DF2 I/O CHIP DMA S/C 22 * DF3 I/O CHIP DMA S/C 23 * GSC REFERENCES DEVICE FLAG OR CONTROL SELECT CODE 30 * Tw*RPXX TRAP CELL CORRESPONDING TO SELECT CODE XX * SKP * * THE STARTING ADDRESS FOR THE DIAGNOSTIC IS ADDRESS 4. * * *TRAP CELLS * ORG 2 TRP02 JMP *+1,I BOOT-UP STARTING POINT TRP03 DEF START STARTING ADDRESS OF KERNEL TRP04 NOP POWER-FAIL AUTO RESTART INT. TRP05 JSB ILI,I PARITY ERROR INTERRUPT TRP06 JSB ILI,I TIME BASE GENERATOR INTERRUPT TRP07 JSB ILI,I MEMORY PROTECT INTERRUPT TRP10 JSB ILI,I UNIMPLEMENTED INSTRUCTION INTERRUPT ILI DEF ILINT ILLEGAL INTERRUPT POINTER TRP12 JSB ILI,I ILLEGAL INTERRUPT TRP13 JSB ILI,I ILLEGAL INTERRUPT TRP14 JSB ILI,I ILLEGAL INTERRUPT TRP15 JSB ILI,I ILLEGAL INTERRUPT TRP16 JSB ILI,I ILLEGAL INTERRUPT TRP17 JSB ILI,I ILLEGAL INTERRUPT TRP20 JSB ILI,I ILLEGAL INTERRUPT TRP21 JSB ILI,I ILLEGAL INTERRUPT TRP22 JSB ILI,I ILLEGAL INTERRUPT TRP23 JSB ILI,I ILLEGAL INTERRUPT TRP24 JSB ILI,I ILLEGAL INTERRUPT TRP25 JSB ILI,I ILLEGAL INTERRUPT TRP26 JSB ILI,I ILLEGAL INTERRUPT TRP27 JSB ILI,I ILLEGAL INTERRUPT TRP30 JSB ILI,I ILLEGAL INTERRUPT TRP31 JSB ILI,I ILLEGAL INTERRUPT TRP32 JSB ILI,I ILLEGAL INTERRUPT TRP33 JSB ILI,I ILLEGAL INTERRUPT TRP34 JSB ILI,I ILLEGAL INTERRUPT TRP35 JSB ILI,I ILLEGAL INTERRUPT TRP36 JSB ILI,I ILLEGAL INTERRUPT TRP37 JSB ILI,I ILLEGAL INTERRUPT TRP40 JSB ILI,I ILLEGAL INTERRUPT TRP41 JSB ILI,I ILLEGAL INTERRUPT TRP42 JSB ILI,I ILLEGAL INTERRUPT TRP43 JSB ILI,I ILLEGAL INTERRUPT TRP44 JSB ILI,I ILLEGAL INTERRUPT TRP45 JSB ILI,I ILLEGAL INTERRUPT TRP46 JSB ILI,I ILLEGAL INTERRUPT TRP47 JSB ILI,I ILLEGAL INTERRUPT TRP50 JSB ILI,I ILLEGAL INTERRUPT TRP51 JSB ILI,I ILLEGAL INTERRUPT TRP52 JSB ILI,I ILLEGAL INTERRUPT TRP53 JSB ILI,I ILLEGAL INTERRUPT TRP54 JSB ILI,I ILLEGAL INTERRUPT TRP55 JSB ILI,I ILLEGAL INTERRUPT SKP TRP56 JSjB ILI,I ILLEGAL INTERRUPT TRP57 JSB ILI,I ILLEGAL INTERRUPT TRP60 JSB ILI,I ILLEGAL INTERRUPT TRP61 JSB ILI,I ILLEGAL INTERRUPT TRP62 JSB ILI,I ILLEGAL INTERRUPT TRP63 JSB ILI,I ILLEGAL INTERRUPT TRP64 JSB ILI,I ILLEGAL INTERRUPT TRP65 JSB ILI,I ILLEGAL INTERRUPT TRP66 JSB ILI,I ILLEGAL INTERRUPT TRP67 JSB ILI,I ILLEGAL INTERRUPT TRP70 JSB ILI,I ILLEGAL INTERRUPT TRP71 JSB ILI,I ILLEGAL INTERRUPT TRP72 JSB ILI,I ILLEGAL INTERRUPT TRP73 JSB ILI,I ILLEGAL INTERRUPT TRP74 JSB ILI,I ILLEGAL INTERRUPT TRP75 JSB ILI,I ILLEGAL INTERRUPT TRP76 JSB ILI,I ILLEGAL INTERRUPT TRP77 JSB ILI,I ILLEGAL INTERRUPT SPC 3 * THESE LOCATIONS ARE USED FOR MEMORY PROTECT TESTS * NOP NOP SKP * * *SUBROUTINES TO FORM JMP AND JSB TARGETS * FOR INTERRUPT ROUTINES. ASSUMES A CONTAINS * TRAP CELL ADDRESS ENTERING ROUTINE. * JPTRP NOP RESERVED FOR ADDRESS OF IN-LINE DEF STB SAVEM SAVE B LDB JADII STB A,I TRAP CELL = JMP ADINT,I LDB JPTRP,I STB ADINT ADINT = INTERRUPT RETURN ADDRESS STA SAVSC SAVSC = TRAP CELL ADDRESS ISZ JPTRP POINTS TO IN-LINE RETURN ADDRESS LDB SAVEM RESTORE B JMP JPTRP,I RETURN TO PROGRAM * * JADII JMP ADINT,I ADINT NOP SAVSC NOP * * RSTRP NOP RETURN ADDRESS FROM PROGRAM STA SAVEM SAVE A LDA JSBIL GET JSB ILINT FOR TRAP CELL STA SAVSC,I RESTORE TRAP CELL LDA SAVEM RESTORE A JMP RSTRP,I RETURN TO PROGRAM * * JSTRP NOP RESERVED FOR ADDRESS OF IN-LINE DEF STB SAVEM SAVE B LDB JSAII STB A,I TRAP CELL = JSB JSADI,I LDB JSTRP,I STB JSADI JSADI = INTERRUPT RETURN ADDRESS STA SAVSC SAVSC = TRAP CELL ADDRESS ISZ JSTRP POINTS TO IN-LINE RETURN ADDRESS LDB SAVEM RESTORE B JMP JSTRP,I RETURN TO PROGRAM * * JSAII JSB JSADI,I JSADI NOP SKP * * **CHKIN** CHECKS MEMORY PROTECT INTERRUPT * INFORMATION TO DETERMINE IF THE VIOLATION * REGISTER CONTENTS ARE CORRECT. * CHKIN NOP CLF 0 TURN OFF INTERRUPT SYSTEM. STA SAVA SAVE A AND B REG STB SAVA+1 LDA EXPVR GET EXPECTED VIOLATION REG. LIB VIOLA,C GET ACTUAL VIOLATION REGISTER. CPB A ACTUAL VR = EXPECTED VR? RSS CHKER JSB PROER,I NO CHKRN LDA SPTST GET SPECIAL TEST INDICATOR. SZA IS THIS A SPECIAL TEST? JMP INCRT YES! GO UPDATE RETURN. ISZ CHKIN NO. INC CHKIN PAST HLT 03. JMP NOINC GO RETURN INCRT LDA B,I GET VIOLATING INSTRUCTION CPA VILST IS IT A JSB 100B? RSS YES JMP RETMO NO - CONTINUE LDB CHKIN GET JSB TARGET+1 FROM CHKIN CPB B101 WAS ILLEGAL JSB PROCESSED CORRECTLY? RSS YES JSB CPUER,I NO RETMO LDA MOVAD SET RETURN ADDRESS TO MOVLT STA CHKIN NOINC LDA SAVA RESTORE A AND B REGISTERS. LDB SAVA+1 JMP CHKIN,I RETURN TO TESTING. * * * * * **INTMP** INITIALIZES MEMORY PROTECT BY * LOADING THE FENCE REGISTER. * THE B REGISTER MUST CONTAIN THE ADDRESS TO * BE LOADED IN THE FENCE REGISTER. * * * INTMP NOP OTB FENCE OUTPUT TO FENCE REGISTER. STB FENVA SAVE ACTUAL FENCE VALUE. STF 0 TURN ON INTERRUPT SYSTEM. JMP INTMP,I RETURN TO TEST. HED TEST PARAMETERS * *CONSTANTS AND PARAMETERS * MEMPR DEF MPTST MOD.2 DEF MOD.1 SCTAD DEF SCTBL .5RTN DEF INT.5-1 B1ADR DEF B1 CONF1 DEF DMP01 CONF2 DEF DMP02 CONF3 DEF DMP03 CONF4 DEF DMP04 CONFX DEF DMPX CONFY DEF DMPY CONMD DEF MDM00 STBAD DEF STBAI IOVAD DEF IOVIO ALLAD DEF ALLIN ATBAD DEF ALLTB LECOD DEF LENCD EA001 DEF TH001 EA002 DEF TH002 EXA01 DEF THT10 MP08D DEF MPT08 EA003 DEF TH003 CHEAD DEF CHKRN IPNTR DEF VILST NTSAD DEF TST07 BCLAD DEF BUFCL LINAD DEF INLIN DMTAD DEF DMMPT STPAD DEF STPDM MOVAD DEF MOVLT M08AD DEF MPT08 RLOP DEF RLOOP CLFAD DEF CLF0 .IOTS DEF TST05 IOER DEF IOERR CPUER DEF CPERR PROER DEF PRERR DISP DEF DSPLY HALTP DEF HALT DISP5 DEF DSPL1 .END OCT 20000 SKP BIOIS STF GSC INSTRUCION FOR I/O PARITY TEST BDN1 DEF BADIN MDSC DEF MODSC HLT03 HLT 03 CFTBG CLF TBG LIASC LIA 00 MIBSC MIB 00,C LIVIO LIA VIOLA,C LISCC LIA 00,C SSC DEF SETSC LIA24 LIA M2 INSTRUCTION IORTN JMP IORT0,I RETURN INSTRUCTION IORT0 DEF IORT1 TO CURRENT PAGE CLC0 DEF CLC0R * * *JSB'S AND JMP'S * JSBIL JSB ILI,I RTNJS JSB CHKIN DMMTR JMP DMTAD,I JARTN JMP A,I JBRTN JMP B,I * * *CONFIGURATION DATA FOR DMA * DMP01 OCT 000200 IN OCT 001000 DMAAD = 1000 OCT 177777 WORD COUNT = -1 DMP02 OCT 105200 CONT,CINT,FOUR,IN OCT 000000 CWRD2 = 0 OCT 001004 DMAAD = 1004 OCT 177777 WORD COUNT = -1 DMP03 OCT 114400 CONT,CINT,AUTO,RES OCT 001000 DMAAD = 1000 OCT 177777 WORD COUNT = -1 OCT 005400 CINT,FOUR,AUTO OCT 000000 CWRD2 = 0 OCT 101005 DMAAD = 1005 OCT 177777 WORD COUNT = -1 DMP04 OCT 014400 RES,CINT,AUTO OCT 001006 DMAAD = 1006 OCT 177777 WORD COUNT = -1 DMPX OCT 000200 IN OCT 001010 DMAAD = 1010 OCT 177300 WORD COUNT = -500B DMPY NOP DMPZ OCT 000200 IN OCT 020000 DMAAD = CONAD = 20000 OCT 120001 WORD COUNT = -57777B SKP * * *CONFIGURATION DATA FOR THE MULTI-CHIP DMA TEST * MDMCW OCT 000200 IN MDMWD OCT 177770 WORD COUNT = -10B * * *DMA ADDRESS REGISTER/COrNFIG ADDRESS REGISTER VALUES * MDM00 OCT 1000 MDM01 OCT 1010 MDM02 OCT 1020 MDM03 OCT 1030 MDM04 OCT 1040 MDM05 OCT 1050 MDM06 OCT 1060 MDM07 OCT 1070 MDM10 OCT 1100 MDM11 OCT 1110 MDM12 OCT 1120 MDM13 OCT 1130 MDM14 OCT 1140 MDM15 OCT 1150 MDM16 OCT 1160 MDM17 OCT 1170 MDM20 OCT 1200 MDM21 OCT 1210 MDM22 OCT 1220 MDM23 OCT 1230 MDM24 OCT 1240 MDM25 OCT 1250 MDM26 OCT 1260 MDM27 OCT 1270 MDM30 OCT 1300 MDM31 OCT 1310 MDM32 OCT 1320 MDM33 OCT 1330 MDM34 OCT 1340 MDM35 OCT 1350 MDM36 OCT 1360 MDM37 OCT 1370 * * (CONTINUED) * SKP MDM40 OCT 1400 MDM41 OCT 1410 MDM42 OCT 1420 MDM43 OCT 1430 MDM44 OCT 1440 MDM45 OCT 1450 MDM46 OCT 1460 MDM47 OCT 1470 MDM50 OCT 1500 MDM51 OCT 1510 MDM52 OCT 1520 MDM53 OCT 1530 MDM54 OCT 1540 MDM55 OCT 1550 MDM56 OCT 1560 MDM57 OCT 1570 MDM60 OCT 1600 MDM61 OCT 1610 * SKP * POINT NOP SELECT CODE TABLE POINTER * * *SELECT CODE TABLE * SCTBL NOP FILL2 REP 60B NOP SKP * *TEMPORARY STORAGE LOCATIONS * ERRA NOP TEMP. STORAGE REG. FOR A & B ERRB NOP FOR ERROR ROUTINES IN KERNAL ERRS NOP TEMP. STORAGE REG. FOR ERROR ROUTINE. TEMP0 NOP TEMP1 NOP TEMP2 NOP TEMP3 NOP TEMP4 NOP TEMP5 NOP TEMP6 NOP TEMP7 NOP TEMP8 NOP TEMP9 NOP TMP0 NOP TMP1 NOP SAVEM NOP SAVEA NOP SAVED NOP MCNTR NOP EXPVR NOP INPNT NOP BUFPT NOP FENVA NOP SAVA NOP NOP SPTST NOP FENP1 NOP EOM NOP END OF MEMORY ADDRESS CNTR NOP ERROR COUNTER SKP * * *EQUATES * A EQU 0 B EQU 1 SC EQU 20B LEDS EQU 01 GR EQU 02 RFP EQU 03 CIR EQU 04 PES EQU 05 PETRP EQU 05 MPT EQU 07 MTRAP EQU 07 VIOLA EQU 07 FENCE EQU 07 TBG EQU 06 INMSK EQU 00 CONAD EQU 20B DF0 EQU 20B CWRD1 EQU 21B DF1 EQU 21B DMAAD EQU 22B DF2 EQU 22B WRDCT EQU 23B DF3 EQU 23B DF4 EQU 24B M2 EQU 24B N1 C EQU 25B N2 EQU 26B GSC EQU 30B DR EQU 30B CTL EQU 31B SKP * *CONSTANTS * BMPT OCT 7 B1 OCT 1 B2 OCT 2 B3 OCT 3 B4 OCT 4 B5 OCT 5 B6 OCT 6 B7 OCT 7 B10 OCT 10 B11 OCT 11 B12 OCT 12 B13 OCT 13 B14 OCT 14 B15 OCT 15 B16 OCT 16 B17 OCT 17 B20 OCT 20 B26 OCT 26 B40 OCT 40 B52 OCT 52 B60 OCT 60 B70 OCT 70 B77 OCT 77 B100 OCT 100 B101 OCT 101 B140 OCT 140 B177 OCT 177 B200 OCT 200 MB260 OCT 177520 = -260B B1000 OCT 1000 B1400 OCT 1400 B1510 OCT 1510 B1511 OCT 1511 B1560 OCT 1560 B1777 OCT 1777 B2000 OCT 2000 B3000 OCT 3000 B11MS OCT 1722 MB9MS OCT 177330 SCM OCT 100077 * SKP * * *BIT PATTERNS * PAT00 OCT 177700 PAT01 OCT 177716 PAT02 OCT 125252 PAT03 OCT 165653 PAT04 OCT 040401 PAT05 OCT 070000 PAT06 OCT 000401 BINARY 0000000100000001 PAT07 OCT 007700 PAT10 OCT 100000 PAT11 OCT 000016 PAT12 OCT 000006 PAT13 OCT 177706 PAT14 OCT 177776 PAT15 OCT 077777 PAT16 OCT 007700 PAT17 OCT 004000 PAT20 OCT 004200 PAT21 OCT 004000 PAT22 OCT 000004 BINARY 0000000000000100 PAT23 OCT 167700 PAT24 OCT 103600 PAT25 OCT 017777 PAT26 OCT 100070 PAT27 OCT 005300 PAT30 OCT 000200 PAT31 OCT 020000 PAT32 OCT 163700 PAT33 OCT 172000 PAT34 OCT 102000 SKP * * *VIOLATING INSTRUCTION LIST * VILST JSB 100B ISZ 100B JMP 100B OCT 100600 JLA 100B OCT 104600 JLB 100B STA 100B STB 100B OCT 104400 DST CLC 0 CLF 6 LIA 7,C LIB 7,C MIA 7,C MIB 7,C OTA 7 OTB 7 SFC 6 SFS 6 STC 6 STF 6 HLT 03 CLC 0,C MIN1 DEC -1 END OF LIST SKP SKP .JP CPA BAS4P RSS JSB CPUER,I A MODIFIED BY JMP TO BASE PAGE CPB BPTEN RSS JSB CPUER,I B MODIFIED BY JMP TO BASE PAGE SOC 6 JSB CPUER,I OV WAS INCORRECTLY SET SEZ,RSS JSB CPUER,I E WAS INCORRECTLY CLEARED * RETURN TO AFTER JMP TO BASE PAGE JMP .PG04,I * BPTEN OCT 000012 .PG04 DEF TST03 * * UNIMPLEMENTED INSTRUCTION PROCESSING ROUTINE * UIINT NOP RETURN ADDRESS ISZ TEMP7 INCREMENT TEMP7 JMP UIINT,I RETURN TO PROGRAM JSB PROER,I SPC 2 * BASE PAGE VALUES,LINKS AND STORAGE LOCATIONS BASEP OCT 077777 BAS1P OCT 052524 BAS2P OCT 077776 BAS3P OCT 052525 BAS4P NOP BAS5P OCT 1 DM2 DEC -2 DM5 DEC -5 SKP * PROCESSOR AND I/O REGISTER CHECK ROUTINES * IREGC NOP CLC PES TURN OFF THE PARITY SYSTEM LDA PAT02 GET A TEST PATTERN IR1 OTA CIR SEND TO CIR OTA PES AND TO PARITY REGISTER OTA FENCE,C AND TO MP VIOLATION REGISTER LDB B4 PUT A 4 IN B STA TEMP0 SAVE PATTERN TEMPORARILY AND B77 JSB IRGC1 CHECK OT*, LI*, MI* JSB PROER,I OT*, MI*, LI* FAILED OR REGISTER BAD LDA TEMP0 ELA,CLE,ERA STRIP OFF MSB LDB B5 CHECK PARITY REGISTER JSB IRGC1 CHECK OT*, MI*, LI* JSB PROER,I OT*, MI*, LI* BAD OR REGISTER FAILED LDB B7 CHECK OT*, MI*, LI* 7 JSB IRGC1 GO TO IT JSB PROER,I REGISTER OR ABOVE INSTRUCTIONS BAD SLA HAVE ALL PATTERNS BEEN CHECKED? JMP *+4 YES CMA NO - COMPLEMENT PATTERN STA TEMP0 SAVE IT JMP IR1 DO IT AGAIN STC PES TURN PARITY SYSTEM BACK ON JMP IREGC,I RETURN TO PROGRAM * * IRGC1 NOP ELA,CLE,ERA ADB MIBSC CREATE INSTR. MIB SC STB *+2 STORE IT IN-LINE CLB CLEAR B NOP RESERVED FOR INSTRUCTION CPA B ARE THEY THE SAME? RSS YES JMP IRGC1,I NO RETURN AND INDICATE ERROR LDB *-4 GET MERGE INSTRUCTION /ADB B100 ADD 100B TO CREATE LIB INSTRUCTION STB *+2 CLB CLEAR B NOP RESERVED FOR INSTRUCTION CPA B ARE THEY THE SAME? ISZ IRGC1 YES - INCREMENT RETURN JMP IRGC1,I NO - RETURN SKP * * *MEMORY LOCATIONS 1000 - 1777 ARE RESERVED AS A * TRANSFER BUFFER FOR THE DMA TESTS HED MEMORY TEST * SAVE AND RESTORE A AND B REGISTERS ON START UP * ORG 2000B START LDB RSRIN PUT START INSTRUCTION STB TRP02 STB TRP04 IN POWER-FAIL TRAP SFS 4B CHECK FOR POWER GOING DOWN JMP PFWDN IT IS SZA IS THIS A AUTO RESTART JMP STRT0 NO LDA PFWC YES - WAS THERE A POWER DOWN? SZA,RSS ?? JMP PFWER NO THEN ERROR LDA AFLG YES - RESTOR FLAGS OTA 3 CORRECT DEVICE SSA AUTO OR MANUAL JMP STRT1 MANUAL OTA 2,C AUTO SO RESET FILE NUMBER LDB AFLG+1 OTB 25B JMP STRT1 * STRT0 STA AFLG OTA 2,C GET FILE NUMBER LIA 25B STA AFLG+1 * STRT1 CLC 0,C LDA RSTRF CHECK IF A RESTORE IS NECESSARY SZA,RSS IS IT? JMP *+5 NO SO CONTINUE JSB RSTR YES SO RESTORE AND STA RSTFD,I CLEAR RSTRF JMP *+1,I RESTART DEF *+1 SKP * PERFORM CHECKSUM ON FIRST TEST AREA * STA BADIN CLEAR AREAS WITH STA BAD2,I BAD PARITY STA BAD3,I STA BAD4,I STA SAVE CLEAR ALL STA RSTR SUBROUTINE RETURNS STA MERR STA MTSTR STA PTGN1 STA PTGNC STA ILINT STA DSPLY LDB CKSA STARTING ADDRESS OF CHECKSUM AREA ADA B,I BUILD CHECKSUM INB CPB CKEA END OF AREA? JMP *+2 YES JMP *-4 NO DO NEXT LOCATION SZA WAS THE MEMORY GOOD? ;JMP * NO - THEN DON'T TRY ANYTHING * LDA Z12 INDICATE IN MEMORY TEST OTA LEDS CLB CLEAR B LDA PFWC GET THE POWER FAIL TIMER STB PFWC RESET TIMER SZA,RSS WAS POWER GOING DOWN? JMP MEMTS NO SO STARRT MEMORY TEST ADA PFWCC YES. WAS POWER AVAILABLE LONG ENOUGH? SSA,RSS JMP MEMTS YES SO START MEMORY TEST PFWER LDA Z4 NO SO INDICATE POWER STA CNTR FAIL ERROR IN COUNTER JSB PROER,I GO DISPLAY IT SKP MEMTS LDA ZBFA SET FIRST BUFFER AREA STA FADD FIRST ADDRESS TO BE CHECKED ADA Z1777 MAKE LAST ADDRESS STA LADD AND SAVE IT JSB MTSTR GO DO TEST ON BUFFER AREA LDA Z2000 SET STARTING ADDRESS OF TEST AREA JSB SAVE SAVE THE AREA FIRST STA RSTFD+1,I LDA ZBFA GET RESTART DEF STA TRP03 AND PUT IN LOCATION 3 LDA DILN1 GET NEW ILL. INT. LOCATION STA ILI AND STORE IN 11 LDA ZBFA NOW GO TO NEW PAGE IOR *+2 JMP A,I DEF *+1-2000B EXECUTE OUT OF BASE PAGE JSB MTSTR DO TEST JSB RSTR RESTORE PROGRAM JMP *+1,I RETURN TO CURRENT PAGE DEF *+1 LDA Z12 NOW CHECK BASE PAGE FROM 12 UP JSB SAVE JSB MTSTR JSB RSTR LDA Z4000 MOVE THROUGH REST OF MEMORY JSB SAVE JSB MTSTR JSB RSTR LDA LADD INCREMENT TO NEXT ADDRESS CPA PLAD LAST PROGRAM ADDRESS JMP *+3 INA JMP *-7 NO DO THE PAGE LDB ZMXAD GET MEMORY MAX ADDRESS LDA ALT0 USE A PATTERN STA B,I STORE IT CPA B,I DID IT STORE? JMP MEMTO YES LDA B,I CHECK IF MEMORY WAS NOT REALLY THERE CMA,SZA,RSS ?? LDB ZMXAD+1 SORRY BUT IT WAS THERE MEMTO STB EOM SAVE MEMORY SIZE LDA PLAD NOW REST OF MEMORY INA STA FADD LDA EOM END OF MEMORY STA LADD JSB MTSTR RUN TEST JMP PEIT RUN PARITY ERROR INT. CHK. SKP * THESE ROUTINES ARE TO SAVE AND RESTORE THE * PROGRAM AREA THAT IS CURRENT UNDER TEST * THE ROUTINE IS ENTERED WITH A = TO STARTING ADDRESS * SAVE NOP STA FADD IOR Z1777 STA LADD LDA ZBFA STA RSTR LDB FADD SAVEL LDA B,I STA RSTR,I CPB LADD JMP *+4 INB ISZ RSTR JMP SAVEL CCA SET RESTORE FLAG STA RSTRF JMP SAVE,I NOW RETURN * RSTR NOP LDA ZBFA STA SAVE LDB FADD RSTRL LDA SAVE,I STA B,I CPB LADD JMP *+4 INB ISZ SAVE JMP RSTRL LDA Z2000 RESTORE NORMAL RESTART STA TRP03 LDA DILN0 RESTORE NORMAL ILL. INT. STA ILI CLA CLEAR RESTORE FLAG STA RSTRF JMP RSTR,I NOW RETURN * PFWDN CLC 4B DISABLE FURTHER POWER FAIL INTERRUPTS SFC 4B IS POWER GOING DOWN? JMP *+4 NO SO RESTART ISZ PFWC START TIMER NOP DELAY JMP *-4 STAY HERE CLA POWER BACK UP SO CLEAR TIMER STA PFWC LDA AFLG RESTORE A REGISTER RSRIN JMP TRP03,I RESTART SKP * MEMORY ERROR HANDLER ROUTINE * TAKES BAD ADDRESS AND GOOD DATA AND OUTPUTS * TO LED'S OR REMOTE FRONT PANEL, IF IT EXISTS IN SYSTEM * MERR NOP STA ZERRA TEMPORARILY STORE A STB ZERRB AND B XOR B,I ELIMINATE GOOD DATA CLO SET FOR UPPER/LOWER ADDRESS RBL BIT 14 IS MSB SSB STO IT'S IN UPPER HALF RRR 16 SWAP A AND B CLA,RSS START WITH BIT 0 INA COUNT FOR BIT POSITION CPA Z20 END OF BIT CHECK JMP *+6 CLE,SLB,ERB NO CHK FOR BIT & ROTATE JMP *+2 BAD BIT SO DISPLAY JMP *-5 NO SO TRY AGAIN SZB CHK IF MULTI BIT ERROR IOR Z20 YES SO SET LEDS 1XXX SOC CHK FOR UPPER/LOWER IOR Z40 ITS UPPER ALF,ALF PUT DATA IN UPPER HALF IOR Z12 INDICATE MEMORY ERROR JSB DSPLY GO DISPLAY IT ADB MERR ERROR ADDRESS FOR DISPLAY HLT 12B STOP AND DISPLY FP LDA ZERRA GET A LDB ZERRB AND B BACK FROM TEMPORARY STORAGE DSFP HLT 52B A=GOOD DATA,B=ADDR. OF FAILURE JMP MERR+3 GO BACK AND CONT. SKP HED ILLEGAL INTERUPT AND DISPLAY SUBROUTINES * * *ERROR SUBROUTINES * * ERROR HANDLING ROUTINE * ILINT NOP RETURN ADDRESS STA ZERRA SAVE A STB ZERRB SAVE A AND B LIA CIR WAS INTERRUPT FROM MPT? CPA Z5 WAS IT A PARITY ERROR INTERRUPT? JMP ILPRT YES CPA Z7 WAS IT A MEMORY PROTECT INT? RSS YES JMP MPERR NO - PROCESS ERROR LIA VIOLA,C WAS THIS AN EXPECTED MPT INTERRUPT? CPA A.5AD DID DMA.5 CAUSE A VIOLATION? JMP ITSOK YES - IT'S OK MPERR CLC 0,C TURN OFF INTERRUPTS JSB RSTRP RESTORE TRAP CELL LIA CIR GET INTERRUPT REGISTER TO ERROR ALF,ALF MOVE IT TO UPPER HALF IOR Z14 PUT IN LOACATION OF ERROR JSB DSPLY GO DISPLAY IT HLT14 ADB ILINT CREATE ILLEGAL INTERRUPT ADDRESS HLT 14B STOP AND DISPLAY FP LDA ZERRA GET A AND LDB ZERRB B AT INTERRUPT HLT 54B STOP AND DISPLAY FP JMP MPERR+2 LOOP BACK AND CONTINUE DOING * ITSOK STA ILINT SAVE ADDRESS OF "ILLEGAL" INSTRUCTION LDA ZERRA RESTORE A JMP ILINT,I MPT IS OFF - CONTINUE WITH DMA TEST * ILPRT LIA PES GET VIOLATING ADDRESS SSA WAS IT AN INSTR._W FETCH? JMP MPERR YES SO PROCESSOR ERROR LDA ZERRA GET A AND JSB MERR GO SERVICE THE MEMORY ERROR SKP * TAKE CONTENTS IN A REGISTER AND DISPLAY TO * LED'S ON COMPUTER. CAUSES FLASHING DISPLAY * THIS ROUTINE IS CALLED BY THE DIFFERENT ERROR * THROUGHOUT THE KERNAL TO DISPLAY SYSTEM FAULT * MESSAGES ON THE LED'S. IT ALSO CHECKS FOR * A FRONT PANEL WHICH IF EXISTS,CAUSES A RETURN * TO THE MAIN PROGRAM FOR DISPLAY TO FRONT PANEL. * DSPLY NOP RETURN ADDRESS SECTION STA B STORE A IN B ALF,ALF SWAP UPPER AND LOWER BYTES AND Z77 MASK OUT LOWER SIX BITS. STA MTSTR SAVE ERROR CODE FOR FP CLA CLEAR A TO CHECK FOR LIA 3,C FRONT PANEL SZA IF A<>0 THEN FRONT PANEL EXISTS JMP HALT GET OUT OF SUBROUTINE TO FP DSPL1 LDA B LOAD A INTO B CCE SET FOR UPPER HALF AND Z177 GET LOWER HALF OTA LEDS OUTPUT TO LEDS ISZ A START TIME LOOP JMP *-1 ISZ A DO IT AGAIN JMP *-1 ISZ A AND AGAIN JMP *-1 ISZ A ONE MORE TIME! JMP *-1 LDA B GET A FROM B ALF,ALF SWAP UPPER AND LOWER HALVES STA B RESTORE A TO B AND Z177 GET OTHER HALF SEZ,CME OR BIT 6 IF E = 1 IOR Z100 INSERT BIT 6 JMP DSPL1+3 GO DO IT AGAIN HALT CLA CLEAR A RRR 4 LOAD S/C FAILURE INTO UPPER BITS A IOR MTSTR OR IN SUBSECTION FAILURE CCB PUT -1 IN B TO CREATE FAILURE ADDRESS JMP DSPLY,I BACK TO MAIN PROGRAM HED MEMORY TEST * * MEMORY ADDRESS TEST * MTSTR NOP START OF MEMORY TEST ROUTINE LDB FADD L00 LDA B PUT IN A FOR GOOD DATA STA B,I STORE IN EACH CPB LADD LOCATION OF AVAILABLE JMP *+3 r MEMORY THE ADDRESS INB OF THAT LOCATION JMP L00 LDB FADD L01 LDA B CPA B,I VERIFY MEMORY RSS CONTENTS JSB MERR MEMORY ADDRESS FAILURE CPB LADD JMP *+3 GO ON TO MEMORY PATTERN TEST INB JMP L01 * LDB FADD L00A LDA B CMA STORE IN EACH LOCATION STA B,I THE COMPLEMENTED ADDRESS CPB LADD OF THAT LOCATION JMP *+3 INB JMP L00A LDB FADD L01B LDA B VERIFY EACH LOCATION CMA CPA B,I JMP *+2 JSB MERR CPB LADD JMP *+3 INB JMP L01B SKP * * MEMORY PATTERN TEST * CCA START WITH 177777 L02 LDB FADD L03 STA B,I WRITE PATTERN INB IN A REG IN CPB LADD AVAILABLE MEMORY RSS JMP L03 LDB FADD L04 CPA B,I COMPARE PATTERN READ RSS TO PATTERN WRITTEN JSB MERR MEMORY PATTERN FAILED INB CPB LADD RSS JMP L04 CPA ALT3 IA IT ALT3? JMP NXT00 ALL DONE WITH TEST CPA ALT2 ALT2 DONE? LDA ALT3 LOAD ALT3(152777) CPA ALT1 ALT1 DONE? LDA ALT2 YES. LOAD ALT2(025000) CPA ALT0 ALT0 DONE? LDA ALT1 YES LOAD ALT1 SZA,RSS ALL ZEROES? LDA ALT0 YES,START CHECKERBOARD CPA MD1 IS FIRST TEST DONE? CLA SET TO ALL ZEROES JMP L02 NXT00 EQU * SKP * * WORST CASE PATTERN TEST * LDA FADD LDB FADD L05 STA SAVE AND Z140 WRITE CPA Z140 WORST CLA CASE SZA PATTERN CCA STA B,I IN MEMORY CPB LADD JMP NXT01 INB LDA SAVE INA JMP L05 NXT01 LDA FADD LDB FADD L06 STA SAVE AN+D Z140 NOW CPA Z140 COMPARE CLA PATTERN SZA CCA CPA B,I RSS JSB MERR MEMORY PATTERN FAILED CPB LADD JMP NXT02 CONTINUE CLA FILL UNUSED MEMORY STA B,I WITH ZEROS INB LDA SAVE INA JMP L06 Z140 OCT 140 * SKP * ADDRESS PARITY TEST * NXT02 CLE START WITH 0 FOR EVEN PARITY LDB FADD FIRST ADDRESS OF AVAILABLE MEMORY L07 LDA B USE A AS A WORKING REG RBL,ERB SAVE ODD OR EVEN FLAG SLA,ARS CME SET ODD OR EVEN FLAG SZA ALL OF ADDRESS DONE? JMP *-3 NO SEZ ODD OR EVEN? CCA,CLE ODD SO SET TO ALL ONES ELB,RBR RESTORE ODD/EVEN FLAG STA B,I PUT IT IN MEMORY CPB LADD JMP NXT03 INB JMP L07 * NXT03 LDB FADD GET STARTING ADDRESS AGAIN L08 LDA B DO THE SAME AS ABOVE RBL,ERB SAVE ODD OR EVEN FLAG SLA,ARS CME SZA JMP *-3 SEZ CCA,CLE ELB,RBR RESTORE ODD/EVEN FLAG CPA B,I JMP *+2 JSB MERR MEMORY FAILED CPB LADD JMP NXT04 INB JMP L08 * NXT04 SEZ,CME,RSS DONE ODD? JMP NXT02+1 NO SKP * DISTURBANCE (SOCCER BALL PATTERN) TEST * CLA START WITH REGULAR PATTERN L09 STA PTGNC CLE L10 CLO L11 LDB FADD GET STARTING ADDRESS L12 JSB PTGN1 GENERATE PATTERN STA B,I PUT PATTRN IN MEMORY CPB LADD IS THIS THE LAST ADDRESS? JMP *+3 YES- MOVE TO CHECK MEMORY INB NO- MOVE TO NEXT LOCATION JMP L12 LDB FADD CHECK PATTERN JUST STORED L13 JSB PTGN1 CPA B,I RSS JSB MERR MEMORY FAILED CPB LADD JMP *+3 INB JMP L13 t SOC SET TO DO NEXT PATTERN JMP *+3 STO JMP L11 SEZ JMP *+3 NOW DO COMPLEMENTED PATTERN CCE JMP L10 LDA PTGNC CHECH IF COMPLEMENTED PATTERN DONE? SZA ?? JMP MTSTR,I YES RETURN LDA ZCMA NO GET COMPLEMENT INSTRUCTION JMP L09 AND DO IT SPC 1 PTGN1 NOP CLA SEZ ZCMA CMA SLB CMA BLF,BLF SOS JMP *+4 SSB CLA JMP *+3 SSB,RSS CLA BLF,BLF PTGNC NOP COMPLEMENT INSTRUCTION JMP PTGN1,I RETURN SKP * * PARITY ERROR INTERRUPT TEST * * PEIT LDA Z5 ESTABLISH RETURN STA CNTR STORE IT IN SUBSECTION COUNTER JSB JPTRP ADDRESS WITH PARITY DEF PERT0 MERR,IIN TRAP CEL CLA CLEAR A AND STORE IN STA TEMP0 TEMPORARY REGISTER CLC PES TURN OFF PARITY SYSTEM STF PES CHANGE (SET) SENSE LDA Z1000 START WITH LOC 1000 L20 STA A,I STORE ADDRESS IN ITSELF INA INCREMENT ADDRESS CPA Z2000 IS IT 2000? RSS JMP L20 NO DO AGAIN LDA BADIS LD TEST INSTR. & CHG. STA BADIN SENSE,ST INSTR. CLF PES RESTORE PARITY SENSE LDA Z1000 LOAD STARTING ADDRESS L21 STC PES TURN ON PARITY SYSTEM LDB A,I TRY TO CAUSE INTERRUPT JSB PROER,I DIDN'T OCCUR PERT0 CPA B DID CONTENTS LOAD? RSS JSB PROER,I NO. MERR LIB PES GET VIOLATION ADDR. CPB A IS IT CORRECT? RSS JSB PROER,I NO. MERR STA A,I RESTOR GOOD PARITY TO LOCATION INA INCREMENT ADDR. CPA Z2000 LAST ADDR.? RSS JMP L21 BACK FOR MORE JSB RSTRP RESTORE TRAP CELL SKP * * LDA Z5 LOAD NEW PARITY JSB JPTRP MERR INTERRUPT DEF PERT1 RETURN ADDRESS STC PES ENABLE PARITY SYSTEM TURNED OFF BY INT. CCA FILL A WITH ONES BADIN NOP EXECUTE BAD INSTR. STA BADIN RESTORE GOOD PARITY TO ADDRESS JSB PROER,I DIDN'T CAUSE INTERRUPT PERT1 STA BADIN RESTORE GOOD PARITY TO LOCATION JSB RSTRP RESTORE TRAP CELL TURNED LDA TEMP0 CHECK IF WRITE IS TURNED SZA TO A READ JSB MERR WRITE OCCURRED LIA PES GET VIOLATION ADDR. STC PES TURN ON PARITY SYSTEM SSA,RSS SIGN BIT = 1 (PARITY INT. DURING FETCH?) JSB PROER,I NO ELA,CLE,ERA STRIP OFF SIGN BIT CPA BDN IS IT CORRECT? JMP TST01 GO TEST CPU JSB PROER,I NO. ERROR * * * *NOTE: IF THE STF 5, CLF 5, CLC 5, STC 5 INSTRUCTIONS FAIL AT THIS * POINT, A FAILURE WILL BE INDICATED EITHER BY NO INTERRUPT * OCCURING, OR THE INTERRUPT OCCURRING AT THE WRONG LOCATION * I.E. WRONG PARITY INTERRUPT REGISTER CONTENTS SKP * * STORAGE AND CONSTANTS * MD1 OCT -1 ZM1K OCT -1000 Z4 OCT 4 Z5 OCT 5 Z7 OCT 7 Z10 OCT 10 Z11 OCT 11 Z12 OCT 12 Z14 OCT 14 Z20 OCT 20 Z40 OCT 40 Z77 OCT 77 Z100 OCT 100 Z177 OCT 177 Z777 OCT 777 Z1000 OCT 1000 Z1777 OCT 1777 Z2000 OCT 2000 Z3000 OCT 3000 Z4000 OCT 4000 ZBFA OCT 20000 RSTFD DEF RSTRF DEF RSTRF-2000B+20000B A.5AD DEF DMA.5 PLAD OCT 17777 * ZMXAD OCT 77777 OCT 37777 BAD2 DEF BIOIN BAD3 DEF BDI BAD4 DEF BUI.1 ALT0 OCT 125252 ALT1 OCT 052525 ALT2 EQU Z1000 ALT3 EQU Z3000 PFWCC OCT 177340 DILN0 DEF ILINT DILN1 DEF ILINT-2000B+20000B BDN DEF BADIN BADIS STA TEMP0 TEST INSTRUCTION CKSA EQU Z2000 CKEA DEF *+2 OCT 135741 TWO'S COMPLEMENT OF CHECKSUM FADD NOP LADD NOP AFLG OCT 0,0 START UP FLAGS RSTRF NOP RESTORE FLAG ZERRA EQU SAVE ZEIRRB EQU RSTR PFWC NOP HED CPU INSTRUCTION TESTS ORG 3777B * TST01 LDA B10 LOAD STATUS AND OTA LEDS SEND TO LEDS * RSS DOES RSS WORK? JSB CPUER,I NO - RSS FAILED * CLA,SZA A=000000 B=XXXXXX E=X OV=X JSB CPUER,I CLA,SZA FAILED * SZA,RSS RSS JSB CPUER,I SZA,RSS FAILED * SSA JSB CPUER,I SSA FAILED * SLA JSB CPUER,I SLA FAILED * SSA,RSS RSS JSB CPUER,I SSA,RSS FAILED * SLA,RSS RSS JSB CPUER,I SLA,RSS FAILED * CMA,SZA A=177777 B=XXXXXX E=X OV=X RSS JSB CPUER,I CMA,SZA FAILED * SZA,RSS JSB CPUER,I SZA,RSS FAILED * SSA RSS JSB CPUER,I SSA FAILED * SLA RSS JSB CPUER,I SLA FAILED * SSA,RSS JSB CPUER,I SSA,RSS FAILED * SLA,RSS JSB CPUER,I SLA,RSS FAILED SKP CLA,SZA A=000000 B=XXXXXX E=X OV=X JSB CPUER,I CLA FAILED * CCA,SZA A=177777 B=XXXXXX E=X OV=X RSS JSB CPUER,I CCA,SZA FAILED SKP * CLB,SZB A=177777 B=000000 E=X OV=X JSB CPUER,I CLB,SZB FAILED(CLB CAN STILL FAIL IF * B IS 0 * SZB,RSS RSS JSB CPUER,I SZB,RSS FAILED * SSB JSB CPUER,I SSB FAILED * SLB JSB CPUER,I SLB FAILED * SSB,RSS RSS JSB CPUER,I SSB,RSS FAILED * SLB,RSS RSS JSB CPUER,I SLB,RSS FAILED * CMB,SZB A=177777 B=177777 E=X OV=X RSS JSB CPUER,I CMB,SZB FAILED * SZB,RSS JSB CPUER,I SZB,RSS FAILED * SSB RSS JSB CPUER,I SSB FAILED * SLB RSS JSB CPUER,I SLB FAILED * SSB,RSS JSB CPUER,I SSB,RSS FAILED *  SLB,RSS JSB CPUER,I SLB,RSS FAILED * CLB,SZB A=177777 B=000000 E=X OV=X JSB CPUER,I CLB FAILED SKP * CCB,SZB A=177777 B=177777 E=X OV=X RSS JSB CPUER,I CCB,SZB FAILED * CLE A=177777 B=177777 E=0 OV=X SEZ JSB CPUER,I CLE/SEZ FAILED * CME A=177777 B=177777 E=1 OV=X SEZ RSS JSB CPUER,I CME/SEZ FAILED * SEZ,RSS JSB CPUER,I SEZ,RSS FAILED ON E=1 * CLE A=177777 B=177777 E=0 OV=X SEZ JSB CPUER,I CLE FAIL * SEZ,RSS RSS JSB CPUER,I SEZ,RSS FAIL ON E=0 * CCE A=177777 B=177777 E=1 OV=X SEZ RSS JSB CPUER,I CCE FAILED * CCE SEZ,RSS JSB CPUER,I CCE FAILED - ACTED AS CME * SEZ,CLE,RSS A=177777 B=177777 E=0 OV=X JSB CPUER,I E CLEARED BEFORE SKIP OCCURRED * * SEZ,CCE A=177777 B=177777 E=1 OV=X JSB CPUER,I E SET BEFORE THE SKIP * * CME A=177777 B=177777 E=0 OV=X SEZ,CME A=177777 B=177777 E=1 OV=X JSB CPUER,I E COMPLEMENTED BEFORE SKIP CLE A=177777 B=177777 E=0 OV=X SPC 1 * * * AT THIS POINT, THE FOLLOWING IS TESTED: * * SEZ,CLE,CME,CCE * * CL*,CM*,CC*,SS*,SL*,SZ*,RSS * SKP CLA A=000000 B=177777 E=0 OV=X CPA B.0 RSS JSB CPUER,I CPA FAIL * CPA M1 JSB CPUER,I CPA FAIL * CCA A=177777 B=177777 E=0 OV=X CPA M1 RSS JSB CPUER,I CPA FAIL * CPA B.0 JSB CPUER,I CPA FAIL * CLB A=177777 B=000000 E=0 OV=X CPB B.0 RSS JSB CPUER,I CPB FAIL * CPB M1 JSB CPUER,I CPB FAIL * CCB A=177777 B=177777 E=0 OV=X CPB M1 RSS JSB CPUER,I CPB FAIL * CPB B.0 JSB CPUER,I CPB FAIL * * CP* NOW TESTED SKP LDA B.0 A=000000 B=177777 E=0 OV=X CPA B.0 RSS JSB CPUER,I LDA FAIL * LDA M1 A=177777 B=177777 E=0 OV=X CPA M1 RSS JSB CPUER,I LDA FAIL * LDA M.Z1 A=125252 B=177777 E=0 OV=X CPA M.Z1 RSS JSB CPUER,I LDA FAIL * LDA B.Z0 A=052525 B=177777 E=0 OV=X CPA B.Z0 RSS JSB CPUER,I LDA FAIL * CPB M1 CLA,RSS A=000000 B=177777 E=0 OV=X JSB CPUER,I B WAS MODIFIED DURING LDA * LDB B.0 A=000000 B=000000 E=0 OV=X CPB B.0 RSS JSB CPUER,I LDB FAIL * LDB M1 A=000000 B=177777 E=0 OV=X CPB M1 RSS JSB CPUER,I LDB FAIL * LDB M.Z1 A=000000 B=125252 E=0 OV=X CPB M.Z1 RSS JSB CPUER,I LDB FAIL * LDB B.Z0 A=000000 B=052525 E=0 OV=X CPB B.Z0 RSS JSB CPUER,I LDB FAIL * SEZ JSB CPUER,I E WAS SET BY LD* TESTS CCE,SZA A=000000 B=052525 E=1 OV=X JSB CPUER,I A WAS MODIFIED BY LDB * LD* TESTED AT THIS POINT SKP * * TEST OV INSTRUCTIONS * STO A=000000 B=052525 E=1 OV=1 SOS JSB CPUER,I SOS/STO FAILED SOS JSB CPUER,I CLEAR OCCURRED(SOS C) SOC JMP *+2 JSB CPUER,I SOC FAILED SOS JSB CPUER,I CLEAR OV OCCURRED(SOC C) CLO A=000000 B=052525 E=1 OV=0 SOC JSB CPUER,I CLO/SOC FAILED SOS JMP *+2 SOS JSB CPUER,I SOS FAILED STO A=000000 B=052525 E=1 OV=1 SO+S C A=000000 B=052525 E=1 OV=0 JSB CPUER,I SOS C FAILED SOC JSB CPUER,I CLEAR OF SOS C FAILED STO A=000000 B=052525 E=1 OV=1 SOC C A=000000 B=052525 E=1 OV=0 JMP *+2 JSB CPUER,I SOC C FAILED SOC JSB CPUER,I CLEAR OF SOC C FAILED * CHECK REGISTERS FOR CHANGES SZA JSB CPUER,I A MODIFIED CPB B.Z0 RSS JSB CPUER,I B MODIFIED SEZ,CLE,RSS A=000000 B=052525 E=0 OV=0 JSB CPUER,I E WAS CLEARED SKP * * TEST INA WITH E AND OV * E SET WHEN *=177777 AND IN* * OV SET WHEN *=077777 AND IN* * TEST INA STO A=000000 B=052525 E=1 OV=1 INA A=000001 B=052525 E=0 OV=1 RSS JSB CPUER,I INA CAUSED A SKIP TO OCCUR CPA B.1 RSS JSB CPUER,I INA FAILED SEZ,CCE A=000001 B=052525 E=1 OV=1 JSB CPUER,I E WAS SET BY INA SOS C A=000001 B=052525 E=1 OV=0 JSB CPUER,I OV INCORRECTLY SET BY INA * INA A=000002 B=052525 E=1 OV=0 RSS JSB CPUER,I INA CAUSED A SKIP TO OCCUR CPA B.2 RSS JSB CPUER,I INA FAILED SEZ,CLE,RSS A=000002 B=052525 E=0 OV=0 JSB CPUER,I E INCORRECTLY CLEARED BY OV SOC JSB CPUER,I OV INCORRECTLY SET BY INA * CCA A=177777 B=052525 E=0 OV=0 INA A=000000 B=052525 E=1 OV=0 RSS JSB CPUER,I INA CAUSED A SKIP TO OCCUR CPA B.0 RSS JSB CPUER,I INA FAILED SOC JSB CPUER,I OV INCORRECTLY SET BY INA SEZ,CLE,RSS A=000000 B=052525 E =0 OV=0 JSB CPUER,I E WAS NOT SET BY INA SKP LDA MAXP A=077777 B=052525 E=0 OV=0 INA A=100000 B=052525 E=0 OV=1 RSS JSB CPUER,I IN A CAUSED A SKIP TO OCCUR CPA MIT15 RSS JSB CPUER,I INA FAILED SOS C A=100000 B=052525 E=0 OV=0 JSB CPUER,I OV WAS NOT SET BY INA SEZ JSB CPUER,I E WAS INCORRECTLY SET BY INA * * DO LOOP FROM 100000 TO 000000 ALOOP INA A=A+1 B=052525 E=0(1 ON EXIT) * OV=0 SOC JSB CPUER,I OV SET DURING LOOP OR INA SKIPPED SEZ,CLE,RSS A=A B=052525 E=0 OV=0 JMP ALOOP CPA B.0 RSS JSB CPUER,I INA FAILED TO EXIT AT PROPER POINT * * DO LOOP FROM 000000 TO 100000 BLOOP INA A=A+1 B=052525 E=0 OV=0 * (OV=1 ON EXIT) SEZ JSB CPUER,I E SET IN LOOP OR INA SKIPPED SOS JMP BLOOP CPA MIT15 RSS JSB CPUER,I FAIL TO EXIT AT CORRECT PLACE IN LOOP * * CHECK B CPB B.Z0 RSS JSB CPUER,I B MODIFIED DURING INA TEST SKP * TEST INB LDA B.Z0 A=052525 B=052525 E=0 OV=1 CLB A=052525 B=000000 E=0 OV=1 INB A=052525 B=000001 E=0 OV=1 RSS JSB CPUER,I INB CAUSED A SKIP TO OCCUR CPB B.1 RSS JSB CPUER,I INB FAILED SEZ,CCE A=052525 B=000001 E=1 OV=1 JSB CPUER,I E WAS SET BY INB SOS C A=052525 B=000001 E=1 OV=0 JSB CPUER,I OV INCORRECTLY SET BY INB * INB A=052525 B=000002 E=1 OV=0 RSS JSB CPUER,I INB CAUSED A SKIP TO OCCUR CPB B.2 RSS JSB CPUER,I INB FAILED SEZ,CLE,RSS A=052525 B=000002 E=0 OV=0 JSB CPUER,I E INCORRECTLY CLEARED BY OV SOC JSB CPUER,I OV INCORRECTLY SET BY INB * CCB A=052525 B=177777 E=0 OV=0 INB A=052525 B=000000 E=1 OV=0 RSS  JSB CPUER,I INB CAUSED A SKIP TO OCCUR CPB B.0 RSS JSB CPUER,I INB FAILED SOC JSB CPUER,I OV INCORRECTLY SET BY INB SEZ,CLE,RSS A=052525 B=000000 E=0 OV=0 JSB CPUER,I E WAS NOT SET BY INB SKP LDB MAXP A=052525 B=077777 E=0 OV=0 INB A=052525 B=100000 E=0 OV=1 RSS JSB CPUER,I INB CAUSED A SKIP TO OCCUR CPB MIT15 RSS JSB CPUER,I INB FAILED SOS C A=052525 B=100000 E=0 OV=0 JSB CPUER,I OV WAS NOT SET BY INB SEZ JSB CPUER,I E WAS INCORRECTLY SET BY INB * * * DO LOOP FROM 100000 TO 000000 CLOOP INB A=052525 B=B+1 E=0(1 ON EXIT) OV=0 SOC JSB CPUER,I OV SET DURING LOOP OR INB SKIPPED SEZ,CLE,RSS A=052525 B=B E=0 OV=0 JMP CLOOP CPB B.0 RSS JSB CPUER,I INB FAILED TO EXIT AT PROPER POINT * * DO LOOP FROM 000000 TO 100000 DLOOP INB A=052525 B=B+1 E=0 OV=0(1 ON EXIT) SEZ JSB CPUER,I E SET IN LOOP OR INB SKIPPED SOS C A=052525 B=B E=0 OV=0 JMP DLOOP CPB MIT15 RSS JSB CPUER,I FAIL TO EXIT AT CORRECT PLACE IN LOOP * * CHECK A CPA B.Z0 RSS JSB CPUER,I A MODIFIED DURING INA TEST SKP JMP TSTST * LOC1 NOP SPC 1 TSTST STA LOC1 RSS JSB CPUER,I STA ACTED AS SKIP CPA LOC1 RSS JSB CPUER,I STA FAIL * LDA M.Z1 A=125252 B=100000 E=0 OV=0 STA LOC1 RSS JSB CPUER,I STA ACTED AS SKIP CPA LOC1 RSS JSB CPUER,I STA FAIL * CLA A=000000 B=100000 E=0 OV=0 STA LOC1 RSS JSB CPUER,I STA ACTED AS SKIP CPA LOC1 RSS JSB CPUER,I STA FAIL * CCA A=177777 B=100000 E=0 OV=0 ' STA LOC1 RSS JSB CPUER,I STA ACTED AS SKIP CPA LOC1 RSS JSB CPUER,I STA FAIL * CPB MIT15 RSS JSB CPUER,I B MODIFIED BY STA SEZ JSB CPUER,I E INCORRECTLY SET BY STA SOC JSB CPUER,I OV INCORRECTLY SET BY STA STB LOC1 RSS JSB CPUER,I STB ACTED AS A SKIP CPB LOC1 RSS JSB CPUER,I STB FAIL SKP LDB M.Z1 A=177777 B=125252 E=0 OV=0 STB LOC1 RSS JSB CPUER,I STB ACTED AS A SKIP CPB LOC1 RSS JSB CPUER,I STB FAIL * CLB A=177777 B=000000 E=0 OV=0 STB LOC1 RSS JSB CPUER,I STB ACTED AS A SKIP CPB LOC1 RSS JSB CPUER,I STB FAIL * CCB A=177777 B=177777 E=0 OV=X STB LOC1 RSS JSB CPUER,I STB ACTED AS A SKIP CPB LOC1 RSS JSB CPUER,I STB FAIL * CPA M1 RSS JSB CPUER,I A MODIFIED BY STB SEZ JSB CPUER,I E WAS IKNCORRECTLY SET BY STB SOC JSB CPUER,I OV WAS INCORRECTLY SET BY STB * ST* TESTED AT THIS POINT SKP * TEST ALL ALU FUNCTIONS AND B.0 A=000000 B=177777 E=0 OV=0 SZA JSB CPUER,I AND FAILED * AND M1 A=000000 B=177777 E=0 OV=0 SZA JSB CPUER,I AND FAILED * IOR M.Z1 A=125252 B=177777 E=0 OV=0 RSS JSB CPUER,I IOR ACTED AS SKIP CPA M.Z1 RSS JSB CPUER,I IOR FAILED * AND M.Z1 A=125252 B=177777 E=0 OV=0 CPA M.Z1 RSS JSB CPUER,I AND FAILED * AND B.Z0 A=000000 B=177777 E=0 OV=0 SZA JSB CPUER,I AND FAILED * IOR M1 A=177777 B=177777 E=0 OV=0 RSS JSB CPUER,I IOR ACTED AS SKIP CPA M1 RSS JSB CPUER,I IOw.R FAILED * AND M1 A=177777 B=177777 E=0 OV=0 CPA M1 RSS JSB CPUER,I AND FAILED * XOR M1 A=000000 B=177777 E=0 OV=0 SZA JSB CPUER,I XOR FAILED * XOR M1 A=177777 B=177777 E=0 OV=0 CPA M1 RSS JSB CPUER,I XOR FAILED SKP XOR B.Z0 A=052525 B=177777 E=0 OV=0 CPA M.Z1 RSS JSB CPUER,I XOR FAILED * XOR B.Z0 A=177777 B=177777 E=0 OV=0 CPA M1 RSS JSB CPUER,I XOR FAILED * IOR M1 A=177777 B=177777 E=0 OV=0 RSS JSB CPUER,I IOR ACTED AS SKIP CPA M1 RSS JSB CPUER,I IOR FAILED * LDA M.Z1 A=125252 B=177777 E=0 OV=0 IOR B.Z0 A=177777 B=177777 E=0 OV=0 RSS JSB CPUER,I IOR ACTED AS SKIP CPA M1 RSS JSB CPUER,I IOR FAILED * LDA B.Z0 A=052525 B=177777 E=0 OV=0 IOR B.Z0 A=052525 B=177777 E=0 OV=0 RSS JSB CPUER,I IOR ACTED AS SKIP CPA B.Z0 RSS JSB CPUER,I IOR FAILED * XOR B.Z0 A=000000 B=177777 E=0 OV=0 SZA JSB CPUER,I XOR FAILED * * XOR,AND,IOR TESTED * TEST THAT B,E,OV NOT CHANGED CPB M1 RSS JSB CPUER,I B MODIFIED SEZ JSB CPUER,I E INCORRECTLY SET SOC JSB CPUER,I OV INCORRECTLY SET * SKP * * * TEST AD* WITH E AND OV * LDA MAXP A=077777 B=177777 E=0 OV=0 ADA B.1 A=100000 B=177777 E=0 OV=1 CPA MIT15 RSS JSB CPUER,I ADA FAIL SEZ JSB CPUER,I E INCORRECTLY SET SOS C A=100000 B=177777 E=0 OV=0 JSB CPUER,I OV INCORRECTLY SET * ADA MIT15 A=000000 B=177777 E=1 OV=1 SZA JSB CPUER,I ADA FAIL SEZ,CLE,RSS CA=000000 B=177777 E=0 OV=1 JSB CPUER,I E WAS NOT SET SOS C A=000000 B=177777 E=0 OV=0 JSB CPUER,I OV WAS NOT SET * ADA B.0 A=000000 B=177777 E=0 OV=0 SZA JSB CPUER,I ADA FAIL CCA,SEZ A=177777 B=177777 E=0 OV=0 JSB CPUER,I E INCORRECTLY SET SOC JSB CPUER,I OV INCORRECTLY SET * ADA M1 A=177776 B=177777 E=1 OV=0 CPA DM2Z RSS JSB CPUER,I ADA FAIL SEZ,CLE,RSS A=177776 B=177777 E=0 OV=0 JSB CPUER,I E WAS NOT SET SOC JSB CPUER,I OV INCORRECTLY SET SKP * LDA MAXP A=077777 B=177777 E=0 OV=0 ADA MAXP A=177776 B=177777 E=0 OV=1 CPA DM2Z RSS JSB CPUER,I ADA FAIL CCA,SEZ A=177777 B=177777 E=0 OV=1 JSB CPUER,I E INCORRECTLY SET SOS C A=177777 B=177777 E=0 OV=0 JSB CPUER,I OV WAS NOT SET * ADA B.1 A=000000 B=177777 E=1 OV=0 SZA JSB CPUER,I ADA FAIL SEZ,INA,RSS A=000001 B=177777 E=1 OV=0 JSB CPUER,I E WAS NOT SET SOC JSB CPUER,I OV INCORRECTLY SET * STO A=000001 B=177777 E=1 OV=1 ADA B.1 A=000002 B=177777 E=1 OV=1 CPA B.2 RSS JSB CPUER,I ADA FAIL SEZ,CLE,RSS A=000002 B=177777 E=0 OV=1 JSB CPUER,I E WAS NOT SET SOS C A=000002 B=177777 E=0 OV=0 JSB CPUER,I OV WAS NOT SET * LDA MAXP A=077777 B=177777 E=0 OV=0 ADA MIT15 A=177777 B=177777 E=0 OV=0 CPA M1 RSS JSB CPUER,I ADA FAIL CLA,SEZ A=000000 B=177777 E=0 OV=0 JSB CPUER,I E INCORRECTLY SET SOC JSB CPUER,I OV INCORRECTLY SET SKP * * E AND OV ARE CHECKED OUT FOR ADA * ADA M1 A=177777 B=177777 E=0 OV=0 CPA M1 RSS JSB CPUER,I ADA FAIL * LDA M.Z1 A=125252 B=177777 E=0 OV=0 ADA M.Z1 A=152524 B=177777 E=1 OV=1 CPA M.Z21 CLE,RSS A=152524 B=177777 E=0 OV=1 JSB CPUER,I ADA FAIL * LDA B.Z0 A=052525 B=177777 E=0 OV=1 ADA B.Z0 A=125252 B=177777 E=0 OV=1 CPA M.Z1 RSS JSB CPUER,I ADA FAIL * * ADA WORKS * CHECK THAT B WAS NOT MODIFIED CMB,CLE,SZB A=125252 B=000000 E=0 OV=1 JSB CPUER,I B WAS NOT 177777 SKP * * TEST ADB WITH E AND OV * CLO A=125252 B=000000 E=0 OV=0 LDB MAXP A=125252 B=077777 E=0 OV=0 ADB B.1 A=125252 B=100000 E=0 OV=1 CPB MIT15 RSS JSB CPUER,I ADB FAIL SEZ JSB CPUER,I E INCORRECTLY SET SOS C A=125252 B=100000 E=0 OV=0 JSB CPUER,I OV INCORRECTLY SET * ADB MIT15 A=125252 B=000000 E=1 OV=1 SZB JSB CPUER,I ADB FAIL SEZ,CLE,RSS A=125252 B=000000 E=0 OV=1 JSB CPUER,I E WAS NOT SET SOS C A=125252 B=000000 E=0 OV=0 JSB CPUER,I OV WAS NOT SET * ADB B.0 A=125252 B=000000 E=0 OV=0 SZB JSB CPUER,I ADB FAIL CCB,SEZ A=125252 B=177777 E=0 OV=0 JSB CPUER,I E INCORRECTLY SET SOC JSB CPUER,I OV INCORRECTLY SET * ADB M1 A=125252 B=177776 E=1 OV=0 CPB DM2Z RSS JSB CPUER,I ADB FAIL SEZ,CLE,RSS A=125252 B=177776 E=0 OV=0 JSB CPUER,I E WAS NOT SET SOC JSB CPUER,I OV INCORRECTLY SET * LDB MAXP A=125252 B=077777 E=0 OV=0 ADB MAXP A=125252 B=177776 E=0 OV=1 CPB DM2Z RSS JSB CPUER,I ADB FAIL CCB,SEZ A=125252 B=177777 E=0 OV=1 JSB CPUER,I E INCORRECTLY SET SOS C A=125252 B=177777 E=0 OV=0 JSB CPUER,I OV WAS NOT SET SKP * ADB B.1 A=125252 B=000000 E=1 OV=0 SZB JSB CPUER,I ADB FAIL SEZ,RSS JSB CPUER,I E WAS NOT SET SOC JSB CPUER,I OV INCORRECTLY SET * STO A=125252 B=000000 E=1 OV=1 LDB B.1 A=125252 B=000001 E=1 OV=1 ADB B.1 A=125252 B=000002 E=1 OV=1 CPB B.2 RSS JSB CPUER,I ADB FAIL SEZ,CLE,RSS A=125252 B=000002 E=0 OV=1 JSB CPUER,I E WAS NOT SET SOS C A=125252 B=000002 E=0 OV=0 JSB CPUER,I OV WAS NOT SET * LDB MAXP A=125252 B=077777 E=0 OV=0 ADB MIT15 A=125252 B=177777 E=0 OV=0 CPB M1 RSS JSB CPUER,I ADB FAIL CLB,SEZ A=125252 B=000000 E=0 OV=0 JSB CPUER,I E INCORRECTLY SET SOC JSB CPUER,I OV INCORRECTLY SET SKP * * E AND OV ARE CHECKED OUT FOR ADB * ADB M1 A=125252 B=177777 E=0 OV=0 CPB M1 RSS JSB CPUER,I ADB FAIL * LDB M.Z1 A=125252 B=125252 E=0 OV=0 ADB M.Z1 A=125252 B=052524 E=1 OV=1 CPB M.Z21 CLE,RSS A=125252 B=052524 E=0 OV=1 JSB CPUER,I ADB FAIL * LDB B.Z0 A=125252 B=052525 E=0 OV=1 ADB B.Z0 A=125252 B=125252 E=0 OV=1 CPB M.Z1 RSS JSB CPUER,I ADB FAIL * * ADB WORKS * CHECK A NOT MODIFIED CPA M.Z1 CCE,RSS A=125252 B=125252 E=1 OV=1 JSB CPUER,I A WAS CHANGED BY ADB INSTRUCTIONS * TEST JUMP INSTRUCTION JMP JMNP1 TRY TO EXECUTE A JUMP JSB CPUER,I DIDN'T EXECUTE JMNP2 JMP JMNP3 TRY TO TO JUMP FORWARD JSB CPUER,I DIDN'T WORK JSB CPUER,I DIDN'T WORK JMNP1 JMP JMNP2 TRY TO JUMP BACK JSB CPUER,I DIDN'T WORK * TEST JSB INSTRUCTION JMNP3 JSB JSB1 RETR1 JSB CPUER,I JSB FAILS TO JUMP JSB1 NOP LDA JSB1 A=XXXXXX B=YYYYYY E=X OV=Y CPA JS1 RSS JSB CPUER,I NUMBER STORED IS NOT CORRECT JSB JSB2 RETR2 JSB CPUER,I JSB FAILS TO JUMP JSB2 NOP LDA JSB2 A=XXXXXX B=YYYYYY E=X OV=Y CPA JS2 RSS JSB CPUER,I NUMBER STORED IS NOT CORRECT * JSB WORKS FOR THESE CASES SKP * * TEST ISZ CLO A=XXXXXX B=YYYYYY E=X OV=0 CLE A=XXXXXX B=YYYYYY E=0 OV=0 LDA M1 A=177777 B=YYYYYY E=0 OV=0 STA ISZL ISZ ISZL JSB CPUER,I FAILURE TO SKIP ON INCREMENT TO 0 SEZ JSB CPUER,I E WAS INCORRECTLY SET SOC JSB CPUER,I OV WAS SET INCORRECTLY LDA MIT15 A=100000 B=YYYYYY E=0 OV=0 STA ISZL CLB A=100000 B=000000 E=0 OV=0 CLA A=000000 B=000000 E=0 OV=0 LOOP1 ISZ A A=A+1 B=000000 E=0 OV=0 NOP ISZ B A=A B=B+1 E=0 OV=0 NOP ISZ ISZL JMP LOOP1 RETURN TO LOOP AGAIN * EXIT TEST LOOP CPA MIT15 RSS JSB CPUER,I A NOT ISZ CORRECT TIMES CPB MIT15 RSS JSB CPUER,I B NOT ISZ CORRECT TIMES CLA A=000000 B=1000000 E=0 OV=0 CPA ISZL RSS JSB CPUER,I ISZL NOT ZERO, SO JUMP INCORRECTLY OCCURRED LOOP2 ISZ A A=A+1 B=YYYYYY E=0 OV=0 JMP *+2 JMP EXIT CPA MIT15 JMP TESN JMP LOOP2 TESN SOC JSB CPUER,I OV WAS SET INCORRECTLY SEZ,CCE A=XXXXXX B=YYYYYY E=1 OV=Y JSB CPUER,I E INCORRECTLY SET JMP LOOP2 EXIT NOP JMP TST02 SKP * CONSTANT AREA FOR PAGE 1Z B.0 OCT 0 M1 OCT 177777 M.Z1 OCT 125252 B.Z0 OCT 052525 MIT15 OCT 100000 MAXP OCT 077777 B.1 OCT 1 B.2 OCT 2 M.Z21 OCT 052524 JS1 DEF RETR1 JS2 DEF RETR2 ISZL NOP ISZ USES THIS LOCATION DM2Z DEC -2 SPC 1 * INDIRECT MRG LOCATIONS IND3 DEF MU3A IND5 DEF MU2B IND8 DEF IND9 IND9 NOP IND11 NOP IJMP DEF IJMPR JSB CPUER,I FAILURE TO JUMP INDIRECT PROPERLY SKP ORG 5777B * TEST MRG INDIRECTS TST02 NOP LDA IND1,I A=016161 B=121317 E=1 OV=0 CPA BMU2B RSS JSB CPUER,I INDIRECT LOAD FAILS LDB IND2,I A=016161 B=034344 E=1 OV=0 CPB BMU3A RSS JSB CPUER,I INDIRECT LOAD FAILS CPA BMU2B RSS JSB CPUER,I A MODIFIED BY INDIRECT B LOAD SEZ,RSS JSB CPUER,I E WAS CLEARED BY INDIRECT LOADS SOC JSB CPUER,I OV WAS SET BY INDIRECT LOADS CPA IND4,I RSS JSB CPUER,I INDIRECT COMPARE FAILS CPB IND6,I RSS JSB CPUER,I INDIRECT COMPARE FAILS SEZ,RSS JSB CPUER,I E WAS CLEARED BY INDIRECT COMPARES SOC JSB CPUER,I OV WAS CLEARED BY INDIRECT COMPARES STA IND7,I STB IND10,I CPA BMU2B RSS JSB CPUER,I A MODIFIED DURING INDIRECT STORE CPB BMU3A RSS JSB CPUER,I B MODIFIED DURING INDIRECT STORE CPA IND12,I RSS JSB CPUER,I INDIRECT STA FAILED CPB IND13,I RSS JSB CPUER,I INDIRECT STB FAILED SEZ,RSS JSB CPUER,I E WAS CLEARED BY INDIRECT STORES SOC JSB CPUER,I OV WAS SET BY INDIRECT STORES AND IND2,I A=014140 B=034344 E=1 OV=0 CPA BINX RSS JSB CPUER,I AND INDIRECT FAILED CPB BMU3A RSS JSB CPUER,I B MODIFIED BY INDIRECT AND SEZ,RSS JSB CPUER,I E WAS CLEARED BY INDIRECT AND SOC JSB CP~yUER,I OV WAS SET BY INDIRECT AND * IOR IND6,I A=034344 B=034344 E=1 OV=0 CPA BMU3A RSS JSB CPUER,I IOR INDIRECT FAILS CPB BMU3A RSS JSB CPUER,I B MODIFIED DURING INDIRECT IOR SOC JSB CPUER,I OV WAS SET BY INDIRECT IOR SEZ,RSS JSB CPUER,I E WAS CLEARED BY INDIRECT IOR * XOR IND1,I A=022225 B=034344 E=1 OV=0 CPA BIND RSS JSB CPUER,I XOR FAILED INDIRECT CPB BMU3A RSS JSB CPUER,I B MODIFIED BY INDIRECT XOR SEZ,RSS JSB CPUER,I E WAS CLEARED BY INDIRECT XOR SOC JSB CPUER,I OV WAS SET BY INDIRECT XOR * JMP IJP,I JSB CPUER,I JUMP FAILS IJSBR NOP LDA IJSBT A=XXXXXX B=YYYYYY E=1 OV=0 CPA IJSBR CCA,RSS A=177777 B=YYYYYY E=1 OV=0 JSB CPUER,I INCORRECT ADDRESS STORED * STA IND7,I ISZ IND14,I JSB CPUER,I FAILURE ON INDIRECT TO ISZ A -1 JMP PGAA4 IJMPR LDA BMU2B A=016161 B=034344 E=1 OV=0 ADA IND1,I A=034342 B=034344 E=1 OV=0 CPA BM4 RSS JSB CPUER,I ADA INDIRECT FAILS CPB BMU3A RSS JSB CPUER,I B MODIFIED DURING ADA INDIRECT SEZ,RSS JSB CPUER,I E WAS CLEARED BY ADA INDIRECT SOC JSB CPUER,I OV WAS SET BY ADA INDIRECT * LDB BMU2B A=034342 B=016161 E=1 OV=0 ADB IND1,I A=034342 B=016161 E=1 OV=0 CPA BM4 RSS JSB CPUER,I A MODIFIED BY ADB INDIRECT CPB BM4 RSS JSB CPUER,I ADB INDIRECT FAILS SEZ,RSS JSB CPUER,I E WAS CLEARED BY ADB INDIRECT SOC JSB CPUER,I OV WAS SET BY ADB INDIRECT * JSB IJSB,I IJSR JSB CPUER,I FAILURE TO JSB INDIRECT JSB CPUER,I FAILURE TO JSB INDIRECT SKP * * TEST BASE PAGE ADDRESSING TECHNIQUES * PGAA4 LDB BTEN  A=XXXXXX B=000012 E=X OV=Y CCE A=XXXXXX B=000012 E=1 OV=Y CLO A=XXXXXX B=000012 E=1 OV=0 * BASE LDA TRIED LDA BASEP A=077777 B=000012 E=1 OV=0 CPA BMAXV RSS JSB CPUER,I LDA BASE ADDRESS FAILED CPB BTEN RSS JSB CPUER,I B MODIFIED INCORRECTLY SOC JSB CPUER,I OV WAS INCORRECTLY SET SEZ,RSS JSB CPUER,I E WAS INCORRECTLY CLEARED * BASE CPA TRIED CPA BASEP RSS JSB CPUER,I BASE PAGE ADDRESS OF CPA FAILED CPB BTEN RSS JSB CPUER,I B WAS MODIFIED SOC JSB CPUER,I OV WAS INCORRECTLY SET SEZ,RSS JSB CPUER,I E WAS INCORRECTLY CLEARED * BASE ADDRESS WITH AND AND BAS1P A=0525244 B=000012 E=1 OV=0 CPA B.AN1 RSS JSB CPUER,I BASE PAGE ADDRESSING OF AND FAILS CPB BTEN RSS JSB CPUER,I B WAS INCORRECTLY MODIFIED SOC JSB CPUER,I OV WAS SET INCORRECTLY SEZ,RSS JSB CPUER,I E WAS CLEARED INCORRECTLY * BASE ADDRESSING WITH XOR XOR BAS2P A=025252 B=000012 E=1 OV=0 CPA B.XO1 RSS JSB CPUER,I BASE ADDRESSING OF XOR FAILED CPB BTEN RSS JSB CPUER,I B WAS INCORRECTLY MODIFIED SOC JSB CPUER,I OV WAS SET INCORRECTLY SEZ,RSS JSB CPUER,I E WAS CLEARED INCORRECTLY SKP * BASE PAGE ADDRESSING WITH IOR IOR BAS3P A=077777 B=000012 E=1 OV=0 CPA BMAXV RSS JSB CPUER,I BASE ADDRESSING WITH IOR FAILED CPB BTEN RSS JSB CPUER,I B WAS INCORRECTLY MODIFIED SOC JSB CPUER,I OV WAS SET INCORRECTLY SEZ,RSS JSB CPUER,I E WAS CLEARED INCORRECTLY * BASE ADDRESSING WITH STA STA BAS4P CPA BMAXV RSS JSB CPUER,I A MODIFIED INCORRECTLY CPB BTxEN RSS JSB CPUER,I B INCORRECTLY MODIFIED SOC JSB CPUER,I OV WAS SET INCORRECTLY SEZ,RSS JSB CPUER,I E WAS CLEARED INCORRECTLY * TEST ISZ BASE PAGE ADDRESSING ISZ BAS4P RSS JSB CPUER,I INCORRECT LOCATION CHOSEN FOR INCREMENT CPA BMAXV RSS JSB CPUER,I A MODIFIED INCORRECTLY CPB BTEN RSS JSB CPUER,I B MODIFIED INCORRECTLY SEZ,RSS JSB CPUER,I E INCORRECLTY CLEARED SOC JSB CPUER,I OV INCORRECTLY SET * TEST BASE ADDRESSING WITH ADA ADA BAS5P A=100000 B=000012 E=1 OV=0 CPA M.NEG RSS JSB CPUER,I A INCORRECT CPB BTEN RSS JSB CPUER,I B INCORRECTLY CHANGED SEZ,RSS JSB CPUER,I E INCORRECTLY CLEARED SOS C JSB CPUER,I OV INCORRECTLY SET * TEST BASE ADDRESSING WITH STA STA BAS4P CPA AIS1,I RSS JSB CPUER,I INCORRECTLY STORED IN BASE PAGE ADDRESS CPB BTEN RSS JSB CPUER,I B MODIFIED INCORRECTLY SEZ,RSS JSB CPUER,I E INCORRECTLY CLEARED SOC JSB CPUER,I OV INCORRECTLY SET * TEST JMP TO A BASE PAGE ADDRESS JMP .JP IND1 DEF MU2B IND2 DEF IND3,I IND4 DEF IND5,I IND6 DEF MU3A IND7 DEF IND8,I IND10 DEF IND11 IND12 DEF IND9 IND13 DEF IND11 BMU2B OCT 016161 BMU3A OCT 034344 BM4 OCT 034342 IND14 DEF IND9 BINX OCT 014140 IJP DEF IJMP,I IJSB DEF IJSBR JSB CPUER,I FAILURE TO INDIRECT JSB IJSBT DEF IJSR BIND OCT 022225 BMAXV OCT 077777 B.AN1 OCT 052524 BTEN OCT 000012 B.XO1 OCT 025252 M.NEG OCT 100000 AIS1 DEF BAS4P SKP *********************************************************** * TEST JL* *********************************************************** TSTJL CCE A=XXXXXX B=XXXXXX E=1 OV=X STO A=XXXXXX B=XXXXXX E=1 OV=1 LDA JL1 A=125252 B=XXXXXX E=1 OV=1 LDB JL2 A=125252 B=077777 E=1 OV=1 OCT 100600 JLA DEF JMP1N TO LOCATION JZ JSB CPUER,I JLA FAILS TO JUMP JMP1N CPA JAL1 RSS JSB CPUER,I A NOT CORRECTLY LOADED CPB JL2 RSS JSB CPUER,I B WAS MODIFIED SOS C A=ADD(JMP1N) B=077777 E=1 OV=0 JSB CPUER,I OV CLEARED BY JLA SEZ,CLE,RSS A=ADD(JMP1N) B=077777 E=0 OV=0 JSB CPUER,I E WAS CLEARED BY JLA LDA JL1 A=125252 B=077777 E=0 OV=0 OCT 100600 JLA DEF JMP2N TO LOCATION JZ1 JSB CPUER,I JLA FAILS TO JUMP JMP2N CPA JAL2 RSS JSB CPUER,I A NOT CORRECTLY LOADED CPB JL2 RSS JSB CPUER,I B WAS MODIFIED SOC JSB CPUER,I OV SET INCORRECTLY SEZ,CCE A=XXXXXX B=077777 E=1 OV=0 JSB CPUER,I E INCORRECTLY SET STO A=XXXXXX B=077777 E=1 OV=1 LDA JL1 A=125252 B=077777 E=1 OV=1 OCT 104600 JLB DEF JMP3N TO LOCATION JZ2 JSB CPUER,I FAIL TO JUMP JMP3N CPA JL1 RSS JSB CPUER,I A MODIFIED CPB JAL3 RSS JSB CPUER,I B NOT CORRECT SOS C A=125252 B=XXXXXX E=1 OV=0 JSB CPUER,I OV WAS INCORRECTLY CLEARED BY JLB SEZ,CLE,RSS A=125252 B=XXXXXX E=0 OV=0 JSB CPUER,I E WAS INCORRECTLY CLEARED BY JLB LDB JL2 A=125252 B=XXXXXX E=0 OV=0 OCT 104600 JLB DEF JMP4N TO LOCATION JZ3 JSB CPUER,I FAILED TO JUMP JMP4N CPA JL1 RSS JSB CPUER,I A MODIFIED CPB JAL4 RSS JSB CPUER,I B NOT CORRECTLY LOADED BY JLB SEZ JSB CPUER,I E INCORRECTLY SET BY JLB SOC JSB CPUER,I OV INCORRECTLY SET BY JLB JMP ASGAL JUMP TO EXTENDED ASG TEST JSB CPUER,I JUMP FAILS *********************************************************** * JL* TABLE *********************************************************** JL1 OCT 125252 JL2 OCT 077777 JAL1 DEF JZ JAL2 DEF JZ1 JAL3 DEF JZ2 JAL4 DEF JZ3 SKP * THIS PROGRAM IS TO FULLY TEST THE ASG INSTRUCTIONS * BY CYCLING THRU THEM SUCCESSIVELY BY INCREMENTING THE * INSTRUCTION. ASGAL LDA ASG.1 ASG-1 IS 001777 SO +1 =002000 STA ASGIN THE LOCATION OF INSTRUCTION EXECUTION FOR A REG LDB FIRST IS KEPT VALUE IN B REGISTER CLE CLO LDA ZEROA STA OLDE STA OLDOV * * SAVE CURRENT REGISTER * UPD LDA FIRST STA TEM0 STA ATEMP JSB SAVR * * UPDATE THE INSTRUCTION BUT CHECK FOR ROLLOVER * LDA ASGIN ADA ONE STA ASGIN AND MAS11 GETS BIT 11 CPA MAS11 JMP BDOIT FINISH A TEST...NOW DO B REGISTER JSB CHECK SETUP REQUIRED OUTPUT OF INSTRUCTION * * RESTORE ALL REGISTERS,ETC. * JSB RSTOR LDA TEM0 ASGIN NOP INSTRUCTION EXECUTION LOCATION JMP NOASK NO SKIP OCCURRED * * SKIP OCCURS * STA TEM0 JSB SAVR SAVE ROUTINE FOR E AND OV LDA SKIPO CPA ZEROA JSB CPUER,I NO EXPECTED SKIP BUT DID SKIP JMP CHEKZ GOTO CHEK REST OF RESULTS * * NO SKIP DID OCCUR * NOASK STA TEM0 JSB SAVR LDA SKIPO CPA ZEROA JMP CHEKZ JSB CPUER,I ERROR NO SKIP BUT EXPECTED SKIP * * CHECK E OV AND REGISTER CONTENTS * CHEKZ LDA ATEMP CPA TEM0 JMP CHEKO JSB CPUER,I FAILURE-REGISTER NOT CORRECT CHEKO LDA OLDOV CPA OVF JMP CHCKE JSB CPUER,I OV WAS NOT CORRECT CHCKE LDA OLDE CPA EKEEP JMP RESTA JSB CPUER,I E WAS NOT CORRECT * * RESTORE ALL REGISTERS AND GOTO NEXT CODE EXECUTION * RESTA JSB RSTOR CALL REGISTER RESTORE FOR E AND OV LDA TEM0 JMP UPD * * EXEC B REGISTER ASG TESTS * BDOIT LDA BSG.1 -@ IS 005777 STA ASGIN STA BSGIN LDA FIRST CLE CLO LDA ZEROA STA OLDE STA EKEEP ********DO SAME LOOP * THIS PROGRAM IS TO FULLY TEST THE ASG INSTRUCTIONS0 * BY CYCLING THRU THEM SUCCESSIVELY BY INCREMENTING THE * INSTRUCTION. * SAVE CURRENT REGISTER * UPDB LDB FIRST STB ATEMP STB TEM0 JSB SAVR * * UPDATE THE INSTRUCTION BUT CHECK FOR ROLLOVER * LDA ASGIN ADA ONE STA ASGIN STA BSGIN AND MAS12 GETS BIT 12 CPA MAS12 JMP .IOTS,I FINISH B TEST JSB CHECK SETUP REQUIRED OUTPUT OF INSTRUCTION * * RESTORE ALL REGISTERS,ETC. * JSB RSTOR LDB TEM0 BSGIN NOP INSTRUCTION EXECUTION LOCATION JMP NOBSK NO SKIP OCCURRED * * SKIP OCCURS * STB TEM0 JSB SAVR SAVE ROUTINE FOR E AND OV LDA SKIPO CPA ZEROA JSB CPUER,I NO EXPECTED SKIP BUT DID SKIP JMP BHEKZ GOTO BHEK REST OF RESULTS * * NO SKIP DID OCCUR * NOBSK STB TEM0 JSB SAVR LDA SKIPO CPA ZEROA JMP BHEKZ JSB CPUER,I ERROR NO SKIP BUT EXPECTED SKIP * * CHECK E OV AND REGISTER CONTENTS * BHEKZ LDA ATEMP CPB TEM0 JMP BHEKO JSB CPUER,I FAILURE-REGISTER NOT CORRECT BHEKO LDA OLDOV CPA OVF JMP BHCKE JSB CPUER,I OV WAS NOT CORRECT BHCKE LDA OLDE CPA EKEEP JMP RESTB JSB CPUER,I E WAS NOT CORRECT * * RESTORE ALL REGISTERS AND GOTO NEXT CODE EXECUTION * RESTB JSB RSTOR CALL REGISTER RESTORE FOR E AND OV LDB TEM0 JMP UPDB * * EXEC B REGISTER ASG TESTS * SAVR NOP SOC JMP OVK1 LDA ZEROA JMP STOOU OVK1 LDA INVE STOOU STA OVF SEZ JMP EK1 LDA ZEROA JMP STOOE EK1 LDA INVE STOOE STA EKEEP JMP SAVR,I RSTOR NOP LDA OVF CPA INVE JMP OEQU1 CLO  JMP CKE OEQU1 STO CKE LDA EKEEP CPA INVE JMP EEQU1 CLE JMP RSTOR,I EEQU1 CCE JMP RSTOR,I * * AREA FOR COMMON VARIABLES * ASG.1 OCT 001777 BSG.1 OCT 005777 FIRST OCT 125252 MAS11 OCT 004000 MAS12 OCT 010000 ZEROA OCT 000000 INVE OCT 177777 ONE OCT 1 *TEMP DATA SITES OVF OCT 0 EKEEP OCT 0 TEM0 OCT 0 * UPDATA SITES SKIPO OCT 0 OLDE OCT 0 OLDOV OCT 0 ATEMP OCT 0 * SUBR CHECKR IS TO DETERMINE WHAT THE RESULTS OF THE * ASG INSTRUCTION WILL DO TO THE REGISTER,E , OV, AND * SKIPPING. IT DEPENDS ON BEING CALLED WHEN * THE FOLLOWING IS AVAILABLE IN THE REGISTERS: * ATEMP:CONTAINS THE OLD REGISTER CONTENTS * OLDE :CONTAINS THE OLD E VALUE * OLDOV:CONTAINS THE OLD OV VALUE * * UPON LEAVING, ALL OF THESE ARE UPDATED CHECK NOP LDA ZEROA LOAD A WITH ZERO STA SKIPO CLEAR EXPECTED SKIP OUTPUT LDA ASGIN GETS THE INSTRUCTION TO EXECUTE AND MSK98 GETS CME,CLE,CCE BITS CPA MSK98 JMP ASCCR IS CC* CPA MSK9 JMP ASCMR IS CM* CPA MSK8 JMP ASCLR IS CL* JMP JUM1 NO CC*,CM*,CL* ASCCR LDA INVE CC* REGISTER JMP SAVAX ASCMR LDA ATEMP LOADS OLD REGISTER XOR INVE COMPLEMENTS IT JMP SAVAX ASCLR LDA ZEROA SAVAX STA ATEMP STORES MODIFIED REGISTER FOR LATER USE * * JUM1 LDA ASGIN GETS INSTRUCTION TO EXECUTE AND MSK50 BITS 5 AND 0 TO CHECK SEZ AND RSS CPA MSK50 JMP SEZRS IS SEZ AND RSS CPA MSK5 COMPARE TO FIND ONLY SEZ JMP ASSEZ SEZ ONLY JMP JUM2 SEZRS LDA OLDE LOADS OLD VALUE OF E CPA INVE ISZ SKIPO INCREMENT SO SKIP IS INDICATED JMP JUM2 ASSEZ LDA OLDE CPA INVE JMP JUM2 E IS 1 SO NO SKIP ISZ SKIPO E IS 0 SO SKIP * BEGIN TO UPDATE THE E REQUIRED JUM2 LDA ASGIN LOAD INSTRUCTION FOR DECODE AND MSK76 GET BITS FOR E CHANGE T CPA MSK76 JMP ASCCE IT IS CCE CPA MSK7 JMP ASCME IT IS CME CPA MSK6 JMP ASCLE IT IS CLE JMP JUM3 NO E UPDATE REQUIRED ASCCE LDA INVE LOAD A WITH 177777 TO CCE JMP SAVEX ASCME LDA OLDE XOR INVE DO THE CME JMP SAVEX ASCLE LDA ZEROA THIS IS TO CLEAR E SAVEX STA OLDE E SAVE LOCATION * * CHECK THE INSTRUCTION FOR RSS * JUM3 LDA ASGIN LOAD INSTRUCTION FOR DECODE AND MSK0 GET RSS BIT CPA ZEROA CHECKS FOR ZERO JMP NORSS NOT AN RSS IN THE INSTRUCTION * * RSS OCCURS-CHECK FIRST FOR SS* AND SL* THEN EACH ALONE * LDA ASGIN LOADS INSTRUCTION FOR DECODE AND MSK43 CHECK FOR SS* AND SL* CPA MSK43 JMP SSSLR SS* AND SL* OCCUR TOGETHER CPA MSK4 JMP ASSS SS* OCCURS CPA MSK3 JMP ASSL SL* OCCURS JMP JUM4 NO SKIP OF TYPE SS* OR SL* OCCURS SSSLR LDA ATEMP LOADS OLD REGISTER AND MSKF0 MASK OFF BITS 15 AND 0 CPA MSKF0 ISZ SKIPO BITS 15 AND 0 WERE 1 SO SETUP FOR SKIP JMP JUM4 ASSS LDA ATEMP AND MSKF MASK BIT 15 CPA MSKF ISZ SKIPO BIT 15 IS 1 SO SETUP FOR SKIP JMP JUM4 ASSL LDA ATEMP AND MSK0 CPA MSK0 CHECK IF BIT0 IS A 1 ISZ SKIPO BIT 0 IS 1 SO SETUP FOR THE SKIP JMP JUM4 * * NO RSS BUT STILL CHECK FOR SL* AND SS* * NORSS LDA ASGIN LOADS THE INSTRUCTION FOR DECODING AND MSK3 CPA ZEROA JMP CHKSS NO SL* OCCURRED LDA ATEMP AND MSK0 CPA ZEROA ISZ SKIPO SL* AND BIT0=0 SO SETUP THE SKIP CHKSS LDA ASGIN AND MSK4 CPA ZEROA JMP JUM4 NO SS* OCCURRED LDA ATEMP AND MSKF CPA ZEROA ISZ SKIPO SS* AND BIT15=0 SO SETUP FOR SKIP * * DO THE IN* IF IT OCCURRED * JUM4 LDA ASGIN AND MSK2 CPA ZEROA JMP JUM6 -NO IN* TO OCCUR * RESTORE OV AND E PRIOR TO IN* LDA OLDE CPA INVE JMP EZ1 CLE JMP CK0 EZ1 CCE CK0 LDA OLDOV CPA INVE JMP OVZ1 CLO JMP CK1 OVZ1 STO CK1 LDA ATEMP ADA ONE ADDS ONE TO SIMULATE IN* STA ATEMP UPDATE REGISTER CONTENTS SEZ JMP E1Z1 LDA ZEROA JMP STORE E1Z1 LDA INVE STORE STA OLDE UPDATE E REGISTER SOC JMP OV1Z1 LDA ZEROA JMP STORO OV1Z1 LDA INVE STORO STA OLDOV * * CHECK FOR SZ* AND RSS * JUM6 LDA ASGIN AND MSK10 CPA MSK10 JMP SZARS SZ* AND RSS OCCUR CPA MSK1 JMP ASSZA ONLY SZ* OCCURS JMP JUM7 SZARS LDA ATEMP CPA ZEROA JMP JUM7 ISZ SKIPO SZ* AND RSS AND REGISTER NOT ZERO SO SKIP JMP JUM7 ASSZA LDA ATEMP CPA ZEROA ISZ SKIPO SZA AND REGISTER IS ZERO SO SKIP SETUP * * CHECK FOR ONLY RSS * JUM7 LDA ASGIN AND MSKAB MASK OFF 000073 CPA MSK0 ONLY BIT 0 IS 1 ISZ SKIPO ONLY AN RSS SO UNCONDITIONAL SKIP * * RETURN SINCE ALL PROGRAM UPDATING HAS OCCURRED * AS REQUIRED. ATEMP,SKIPO,OLDE AND OLDOV * RETURN WITH REGISTER,SKIP,E AND OV INFORMATION * AS TO WHAT THE INSTRUCTION WAS SUPPOSED TO HAVE DONE JMP CHECK,I RETURN VIA INDIRECT MSK98 OCT 001400 MSK9 OCT 001000 MSK8 OCT 000400 MSK76 OCT 000300 MSK7 OCT 000200 MSK6 OCT 000100 MSK50 OCT 000041 MSK5 OCT 000040 MSK43 OCT 000030 MSK4 OCT 000020 MSK3 OCT 000010 MSK2 OCT 000004 MSK10 OCT 000003 MSK1 OCT 000002 MSKF0 OCT 100001 MSKF OCT 100000 MSKAB OCT 000073 MSK0 OCT 000001 SKP ORG 7777B * SRG DIAGNOSTIC * * TST03 NOP LDA NUMT LOADS NUMBER OF TESTS STA TNUMT STORES IN TEMPORARY LDA APTR LOADS TABLE POINTER STA TEMPC STORES INTO TEMPORARY LDB VALUE LOOPI LDA TEMPC,I LOADS NEXT INSTRUCTION $STA *+14 STORE BEFORE EXECUTION ISZ TEMPC LDA TEMPC LOADS POINTER INA POINTER NOW TO ELOAD VARIABLE INA LDA A,I LOADS ELOAD VALUE AND ELOAD GETS E LOAD BIT OUT SZA JMP ETO1 CLE E MADE TO BE 0 JMP DOIT ETO1 CCE E MADE TO BE 1 DOIT LDA TEMPC,I LOAD CONTENTS OF A ISZ TEMPC * NOTE THAT NO SKIP WILL NORMALLY OCCUR AS DATA WILL NEVER BE * PLACED SUCH THAT TEMPC=XXX(1777) SO THAT XXX(0) CAN OCCUR NOP INSTRUCTION LOCATION JMP NOSKP NO SKIP OCCURRED BY SRG INSTRUCTION JSB CHEKA SKIP OCCURRED-CHECK A CONTENTS ISZ TEMPC JSB GETSK LOADS E,SKIP,OV INFORMATION TO A * ANDS WITH SKIP SO ONLY SKIP INFO REMAINS SZA,RSS CHECKS WHETHER SKIP SHOULD HAVE OCCURRED JSB CPUER,I SKIP SHOULD NOT OCCUR BUT DID JMP CONT CONTINUE TEST NOSKP JSB CHEKA NO SKIP OCCURRED-CHECK A CONTENTS ISZ TEMPC JSB GETSK GET SKIP INFORMATION SZA CHECK WHETHER SKIP SHOULD HAVE OCCURRED JSB CPUER,I SKIP SHOULD HAVE OCCURRED BUT DID NOT CONT CPB VALUE COMPARE THAT B NOT MODIFIED RSS JSB CPUER,I B NOT CORRECT JSB EOVCK JUMP TO CHECK E AND OV RESULTS ISZ TEMPC INCREMENTS EX,SKIP,OV PCINTER * NOTE THAT IN NEITHER CASE DOES MEMORY ROLLOVER OCCUR * SINCE DATA IS NEVER IN THE LAST LOCATION IN MEMORY ISZ TNUMT CHECK IF ALL TESTS DONE JMP LOOPI NO-GO DO ANTOHER TEST * * DO ALL TESTS AGAIN, BUT WITH B REGISTER * LDA NUMT LOADS NUMBER OF TESTS STA TNUMT STORES IN TEMPORARY LDA APTR LOADS A POINTER STA TEMPC STORES INTO TEMPORARY LOOPB LDA TEMPC,I LOADS NEXT INSTRUCTION IOR BBIT ADDS B INSTRUCTION BIT ISZ TEMPC STA *+14 STORE BEFORE EXECUTION LDA TEMPC LOADS POINTER INA rW POINTER NOW TO E LOAD INA LDA A,I LOADS E INFO AND ELOAD FINDS E LOAD BIT SZA JMP ETO1B CLE E MADE TO 0 JMP DOITB ETO1B CCE DOITB LDA VALUE LOADS A CONTENTS LDB TEMPC,I LOADS B CONTENTS ISZ TEMPC INCREMENT POINTER * NOTE THAT NO SKIP WILL NORMALLY OCCUR AS DATA WILL NEVER BE * PLACED SUCH THAT TEMPC=XXX(1777) SO THAT XXX(0) CAN OCCUR NOP INSTRUCTION LOCATION JMP NBSKP NO SKIP OCCURRED BY SRG INSTRUCTION JSB CHEKB SKIP OCCURRED-CHECK B CONTENTS ISZ TEMPC CPA VALUE SEE IF A WAS MODIFIED RSS JSB CPUER,I A IS NOT CORRECT JSB GETSK LOADS E,SKIP,OV INFORMATION TO A * ANDS WITH SKIP SO ONLY SKIP INFO REMAINS SZA,RSS CHECKS WHETHER SKIP SHOULD HAVE OCCURRED JSB CPUER,I SKIP SHOULD NOT OCCUR BUT DID JMP CONTB CONTINUE TEST NBSKP JSB CHEKB NO SKIP OCCURRED-CHECK B CONTENTS ISZ TEMPC CPA VALUE SEE IF A MODIFIED RSS JSB CPUER,I A IS NOT CORRECT JSB GETSK GET SKIP INFORMATION SZA CHECK WHETHER SKIP SHOULD HAVE OCCURRED JSB CPUER,I SKIP SHOULD HAVE OCCURRED BUT DID NOT CONTB JSB EOVCK JUMP TO CHECK E AND OV RESULTS ISZ TEMPC INCREMENTS EX,SKIP,CV PCINTER * NOTE THAT IN NEITHER CASE DOES MEMORY ROLLOVER OCCUR * SINCE DATA IS NEVER IN THE LAST LOCATION IN MEMORY ISZ TNUMT CHECK IF ALL TESTS DONE JMP LOOPB NO-GO DO ANTOHER TEST * * DO ALL TESTS AGAIN, BUT WITH B REGISTER * JMP TST04 JUMP TO THE NEXT TEST SECTION CHEKA NOP CPA TEMPC,I COMPARE A WITH EXPECTED RESULTS JMP CHEKA,I RETURN-A IS CORRECT JSB CPUER,I A IS NOT CORRECT CHEKB NOP CPB TEMPC,I COMPARE B WITH EXPECTED RESULTS JMP CHEKB,I RETURN-B IS CORRECT JSB CPUER,I B IS NOT CORRECT GETSK NOP LDA TEMPC,I 4b LOADS E,SKIP,OV EXPECTED RESULTS AND SKIPS ANDS WITH 077776 TO GET SKIP RESULT JMP GETSK,I RETURN TO TEST BODY EOVCK NOP LDA TEMPC,I A GETS EX,SKIP,OV RESULT SSA SKIP ON E RESULT JMP EIS1 E SUPPOSED TO BE 1 SEZ CHECK RESULT OF E(E SUPPOSED TO BE 0) JSB CPUER,I E IS 1,SUPPOSED TO BE 0 JMP TOV JUMP TO OV CHECK EIS1 SEZ,RSS CHECK E RESULT(E SUPPOSED TO BE 1) JSB CPUER,I E IS 0,SUPPOSED TO BE 1 TOV SLA,RSS CHECK OV JMP OVIS0 OV SUPP OSED TO BE 0 SOC OV SUPPOSED TO BE 1,CHECK ACTUAL RESULTS JMP OUTS OV IS CORRECT JSB CPUER,I OV IS 0,SUPPOSED TO BE 1 OVIS0 SOC OV SUPPOSED TO BE 0,CHECK ACTUAL JSB CPUER,I OV IS 1,SUPPOSED TO BE 0 OUTS JMP EOVCK,I RETURN TO MAIN TEST * CONSTANTS FOLLOW NUMT DEC -201 NUMBER OF TESTS IN SRG APTR DEF TABL1 POINTER TO A RESULTS TEMPC OCT 0 TEMPORARY-HOLDS PTR FOR A TNUMT OCT 0 TEMPORARY-HOLDS 2 COMP OF NUMBER TESTS LEFT SKIPS OCT 077774 SKIP MASK ELOAD OCT 000002 E LOAD MASK BBIT OCT 004000 BIT TO AND WITH INSTRUCTION TO GET B VALUE OCT 045273 VALUE TO BE KEPT IN NONUSED REGISTER SKP SPC 5 ************************** * SRG TABLE DESCRIPTION * ************************** SPC 1 * WORD 1. INSTRUCTION * WORD 2. REGISTER LOAD * WORD 3. REGISTER RESULT * WORD 4. EXECUTION INFORMATION * BIT 15: E RESULT * BIT 14-2: SKIP IF 1'S, NO SKIP IF 0'S * BIT 1 : E LOAD * BIT 0 : O RESULT SKP ************************** * SRG TEST TABLES FOLLOW * *************************** TABL1 ALF OCT 131750 OCT 037213 OCT 100002 ALF,ALF OCT 037213 OCT 105476 OCT 100002 ALF,SLA OCT 105476 OCT 131750 5 OCT 177776 ALF,CLE OCT 131750 OCT 037213 OCT 000002 ALF,SLA OCT 037213 OCT 164263 OCT 100002 ALF,CLE,SLA OCT 164263 OCT 105476 OCT 077776 CLE,ALF OCT 105476 OCT 131750 OCT 000002 SLA,ALF OCT 131750 OCT 037213 OCT 177776 SLA,ALF OCT 037213 OCT 164263 OCT 100002 CLE,SLA,ALF OCT 164263 OCT 105476 OCT 000002 CLE,SLA,ALF OCT 105476 OCT 131750 OCT 077776 ALF,CLE,ALF OCT 131750 OCT 164263 OCT 000002 SKP ALF,SLA,ALF OCT 164263 OCT 131750 OCT 177776 ALF,CLE,SLA,ALF OCT 131750 OCT 164263 OCT 000002 ALF,SLA,ALF OCT 164263 OCT 131750 OCT 177776 ALF,ALF OCT 131750 OCT 164263 OCT 100002 ALF,CLE,SLA,ALF OCT 164263 OCT 131750 OCT 077776 RAL OCT 131750 OCT 063721 OCT 100002 RAL,RAL OCT 063721 OCT 117505 OCT 100002 RAL,SLA OCT 117505 OCT 037213 OCT 100002 RAL,CLE OCT 037213 OCT 076426 OCT 000002 RAL,SLA OCT 076426 OCT 175054 OCT 177776 RAL,CLE,SLA OCT 175054 OCT 172131 OCT 000002 CLE,RAL OCT 172131 OCT 164263 OCT 000002 SKP SLA,RAL OCT 164263 OCT 150547 OCT 100002 RAL,RAL OCT 150547 OCT 042637 OCT 100002 SLA,RAL OCT 042637 OCT 105476 OCT 100002 CLE,SLA,RAL OCT 105476 OCT 013175 OCT 077776 CLE,SLA,RAL OCT 013175 OCT 026372 OCT 000002 RAL,CLE,RAL OCT 026372 OCT 131750 OCT 000002 RAL,SLA,RAL OCT 131750 OCT 147642 OCT 100002 RAL,CLE,SLA,RAL OCT 147642 OCT 037213 OCT 000002 RAL,SLA,RAL OCT 037213 OCT 175054 OCT 177776 RAL,CLE,SLA,RAL OCT 175054 OCT 164263 OCT 000002 RAR OCT 131750 OCT 054764 OCT 100002 RAR,SLA OCT 054764 OCT 026372 OCT 177776 SKP RAR,SLA OCT 026372 OCT 013175 OCT 100002 SLA,RAR OCT 013175 OCT 105476 OCT 100002 SLA,RAR OCT 105476 OCT 042637 OCT 177776 CLE,SLA,RAR OCT 042637 OCT 121317 OCT 000002 RAR,CLE,RAR OCT 121317 OCT 164263 OCT 000002 RAR,RAR OCT 164263 OCT 175054 OCT 100002 CLE,SLA,RAR OCT 175054 OCT 076426 OCT 077776 RAR,SLA,RAR OCT 076426 OCT 117505 OCT 100002 RAR,SLA,RAR OCT 117505 OCT 063721 OCT 177776 RAR,CLE,SLA,RAR OCT 063721 OCT 054764 OCT 077776 RAR,CLE,SLA OCT 054764 OCT 026372 OCT 077776 RAR,CLE,SLA,RAR OCT 026372 OCT 105476 OCT 000002 SKP RAR,CLE OCT 105476 OCT 042637 OCT 000002 CLE,RAR OCT 042637 OCT 121317 OCT 000002 ARS OCT 131750 OCT 154764 OCT 100002 ARS,ARS OCT 154764 OCT 173175 OCT 100002 SLA,ARS OCT 173175 OCT 175476 OCT 100002 SLA,ARS OCT 175476 OCT 176637 OCT 177776 CLE,ARS OCT 176637 OCT 177317 OCT 000002 ARS,CLE OCT 177317 OCT 177547 OCT 000002 ARS,CLE,ARS OCT 177547 OCT 177731 OCT 000002 ARS,SLA OCT 177731 OCT 177754 OCT 177776 CLE,SLA,ARS OCT 046027 OCT 023013 4OCT 000002 ARS,SLA OCT 023013 OCT 011405 OCT 100002 SKP ARS,CLE,SLA OCT 011405 OCT 004602 OCT 077776 CLE,SLA,ARS OCT 004602 OCT 002301 OCT 077776 ARS,SLA,ARS OCT 005252 OCT 001252 OCT 100002 ARS,CLE,SLA,ARS OCT 001252 OCT 000252 OCT 000002 ARS,SLA,ARS OCT 000252 OCT 000052 OCT 100002 ARS,CLE,SLA,ARS OCT 000052 OCT 000012 OCT 000002 ALS OCT 046027 OCT 014056 OCT 100002 ALS,ALS OCT 014056 OCT 060270 OCT 100002 ALS,CLE OCT 131750 OCT 163720 OCT 000002 ALS,SLA OCT 046027 OCT 014056 OCT 177776 CLE,ALS OCT 014056 OCT 030134 OCT 000002 SLA,ALS OCT 046027 OCT 014056 OCT 100002 SKP SLA,ALS OCT 014056 OCT 030134 OCT 177776 CLE,SLA,ALS OCT 131750 OCT 163720 OCT 077776 ALS,CLE,SLA OCT 163720 OCT 147640 OCT 077776 CLE,SLA,ALS OCT 046027 OCT 014056 OCT 000002 ALS,CLE,ALS OCT 014056 OCT 060270 OCT 000002 ALS,SLA,ALS OCT 046027 OCT 030134 OCT 177776 ALS,CLE,SLA,ALS OCT 046027 OCT 030134 OCT 077776 ERA OCT 046027 OCT 123013 OCT 100002 SLA,ERA OCT 123013 OCT 151405 OCT 100002 ERA,SLA OCT 151405 OCT 164602 OCT 177776 ERA,SLA OCT 164602 OCT 172301 OCT 000002 ERA,CLE OCT 172301 OCT 075140 OCT 000000 SKP ERA,CLE,SLA OCT 073211 OCT 035504 OCT 077774 ERA,CLE,SLA OCT 004723 OCT 102351 OCT 2 SLA,ERA OCT 075140 OCT 0364%60 OCT 077774 CLE,ERA OCT 036460 OCT 017230 OCT 000000 CLE,SLA,ERA OCT 017230 OCT 007514 OCT 077774 ERA,SLA,ERA OCT 007514 OCT 001723 OCT 077774 ERA,ERA OCT 001723 OCT 100364 OCT 100000 CLE,SLA,ERA OCT 100364 OCT 040172 OCT 077776 ERA,SLA,ERA OCT 040172 OCT 010036 OCT 100000 CLE,SLA,ERA OCT 010036 OCT 004017 OCT 077776 ERA,CLE,ERA OCT 004017 OCT 001003 OCT 100000 ERA,CLE,SLA,ERA OCT 001003 OCT 040200 OCT 100002 SKP ERA,CLE,SLA,ERA OCT 052725 OCT 052565 OCT 077776 ELA OCT 046027 OCT 114057 OCT 000002 ELA,SLA OCT 114057 OCT 030136 OCT 177774 ELA,SLA OCT 030136 OCT 060275 OCT 000002 SLA,ELA OCT 060275 OCT 140572 OCT 000000 ELA,CLE OCT 140572 OCT 101364 OCT 000000 ELA,CLE,SLA OCT 101364 OCT 002750 OCT 077774 CLE,ELA OCT 002750 OCT 005720 OCT 000002 SLA,ELA OCT 005720 OCT 013640 OCT 077774 CLE,SLA,ELA OCT 013640 OCT 027500 OCT 077776 ELA,ELA OCT 027500 OCT 136400 OCT 000000 ELA,SLA,ELA OCT 136400 OCT 172001 OCT 077774 SKP CLE,SLA,ELA OCT 172001 OCT 164002 OCT 100002 ELA,CLE,SLA,ELA OCT 164002 OCT 120012 OCT 100002 ELA,CLE,ELA OCT 120012 OCT 100052 OCT 000002 ELA,CLE,SLA,ELA OCT 100052 OCT 000250 OCT 077774 ELA,SLA,ELA OCT 000250 OCT 001242 OCT 000002 SKP * NOP CONDITIONS NOP OCT 131750 OCT 131750 OCT 000000 7n NOP OCT 046027 OCT 046027 OCT 100002 * ALF NOP OCT 000707 OCT 131750 OCT 131750 OCT 100002 OCT 000707 OCT 046027 OCT 046027 OCT 000000 *ALR NOP OCT 000404 OCT 131750 OCT 131750 OCT 000000 OCT 000404 OCT 046027 OCT 046027 OCT 100002 * ALS NOP (SEE NORMAL NOP-000000) * ARS NOP OCT 000101 OCT 131750 OCT 131750 OCT 100002 OCT 000101 OCT 046027 OCT 046027 OCT 000000 * ELA NOP OCT 000606 OCT 131750 OCT 131750 OCT 100000 OCT 000606 OCT 046027 OCT 046027 OCT 000002 * ERA NOP OCT 000505 OCT 131750 OCT 131750 OCT 000002 OCT 000505 OCT 046027 OCT 046027 OCT 100000 SKP * RAL NOP OCT 000202 OCT 131750 OCT 131750 OCT 100002 OCT 000202 OCT 046027 OCT 046027 OCT 000000 * RAR NOP OCT 000303 OCT 131750 OCT 131750 OCT 100002 OCT 000303 OCT 046027 OCT 046027 OCT 000000 * SRG CLE OCT 000040 OCT 131750 OCT 131750 OCT 000002 OCT 000040 OCT 046027 OCT 046027 OCT 000000 * SRG SLA OCT 000010 OCT 131750 OCT 131750 OCT 077774 OCT 000010 OCT 046027 OCT 046027 OCT 100002 SKP * TEST MULTIPLE COMBINATIONS ALS,CLE,SLA,ARS OCT 054737 OCT 014737 OCT 077776 ALS,CLE,SLA,RAL OCT 063647 OCT 117234 OCT 077776 ALS,CLE,SLA,RAR OCT 130267 OCT 070267 OCT 077776 ALS,CLE,SLA,ALR OCT 163437 OCT 016174 OCT 077776 ALS,CLE,SLA,ERA OCT 126707 OCT 066707 OCT 077776 ALS,CLE,ERA OCT 126707 OCT 066707 OCT 000002 ALS,CLE,SLA,ELA  OCT 130563 OCT 142714 OCT 177776 ALS,CLE,SLA,ALF OCT 064731 OCT 035445 OCT 077776 ARS,CLE,SLA,ALS OCT 130567 OCT 130566 OCT 000002 ARS,CLE,SLA,RAL OCT 130564 OCT 130565 OCT 077776 ARS,CLE,SLA,RAR OCT 103566 OCT 160735 OCT 000002 ARS,CLE,SLA,ALR OCT 165775 OCT 065774 OCT 077776 SKP ARS,CLE,SLA,ERA OCT 115467 OCT 063315 OCT 100002 ARS,CLE,SLA,ELA OCT 114357 OCT 114356 OCT 100002 ARS,CLE,SLA,ALF OCT 130662 OCT 106635 OCT 000002 RAL,CLE,SLA,ALS OCT 156265 OCT 171326 OCT 000002 RAL,CLE,SLA,ARS OCT 053564 OCT 153564 OCT 077776 RAL,CLE,SLA,RAR OCT 105345 OCT 105345 OCT 000002 RAL,CLE,SLA,ALR OCT 130635 OCT 043166 OCT 000002 RAL,CLE,SLA,ERA OCT 135725 OCT 035725 OCT 100002 RAL,CLE,SLA,ELA OCT 156075 OCT 070366 OCT 100002 RAL,CLE,SLA,ALF OCT 025407 OCT 060345 OCT 077776 RAR,CLE,SLA,ALS OCT 053275 OCT 153274 OCT 077776 RAR,CLE,SLA,ARS OCT 035107 OCT 147221 OCT 000002 SKP RAR,CLE,SLA,RAL OCT 135171 OCT 135171 OCT 077776 RAR,CLE,SLA,ALR OCT 135171 OCT 035170 OCT 077776 RAR,CLE,SLA,ERA OCT 135073 OCT 067216 OCT 100002 RAR,CLE,SLA,ELA OCT 131755 OCT 131754 OCT 177776 RAR,CLE,SLA,ALF OCT 135171 OCT 151715 OCT 077776 ALR,CLE,SLA,ALS OCT 135177 OCT 064774 OCT 077776 ALR,CLE,SLA,ARS OCT 175137 OCT 035137 OCT 077776 ALR,CLE,SLA,RAL OCT 135177 OCT 164774 OCT 077776 ALR,CL.sE,SLA,RAR OCT 175137 OCT 035137 OCT 077776 ALR,CLE,SLA,ERA OCT 175137 OCT 035137 OCT 077776 ALR,CLE,SLA,ELA OCT 135177 OCT 164774 OCT 077776 ALR,CLE,SLA,ALF OCT 175177 OCT 047747 OCT 077776 SKP ERA,CLE,SLA,ALS OCT 135455 OCT 135454 OCT 077776 ERA,CLE,SLA,ARS OCT 173543 OCT 176730 OCT 000002 ERA,CLE,SLA,RAL OCT 137565 OCT 137565 OCT 077776 ERA,CLE,SLA,RAR OCT 057333 OCT 153666 OCT 000002 ERA,CLE,SLA,ALR OCT 157433 OCT 057432 OCT 000002 ERA,CLE,SLA,ELA OCT 154733 OCT 154732 OCT 100002 ERA,CLE,SLA,ALF OCT 154733 OCT 147336 OCT 000002 ELA,CLE,SLA,ALS OCT 135755 OCT 067666 OCT 000002 ELA,CLE,SLA,ARS OCT 135755 OCT 035755 OCT 000002 ELA,CLE,SLA,RAL OCT 135755 OCT 167666 OCT 000002 ELA,CLE,SLA,RAR OCT 157553 OCT 157553 OCT 000002 ELA,CLE,SLA,ERA OCT 137553 OCT 037553 OCT 100002 SKP ELA,CLE,SLA,ALR OCT 177553 OCT 076656 OCT 000002 ELA,CLE,SLA,ALF OCT 054321 OCT 015073 OCT 000002 ALF,CLE,SLA,ALS OCT 054321 OCT 115052 OCT 000002 ALF,CLE,SLA,ARS OCT 054321 OCT 143212 OCT 000002 ALF,CLE,SLA,RAL OCT 054321 OCT 015053 OCT 000002 ALF,CLE,SLA,RAR OCT 054321 OCT 143212 OCT 000002 ALF,CLE,SLA,ALR OCT 054321 OCT 015052 OCT 000002 ALF,CLE,SLA,ELA OCT 054321 OCT 015052 OCT 100002 ALF,CLE,SLA,ERA OCT 054321 OCT 043212 OCT 100002 SKP ALR OCT 073107 OCT 066216 OCT 000000 ع ALR,ALR OCT 066216 OCT 031070 OCT 100002 ALR,CLE OCT 104670 OCT 011560 OCT 000002 CLE,ALR OCT 011560 OCT 023340 OCT 000002 SLA,ALR OCT 130661 OCT 061542 OCT 100002 ALR,SLA OCT 130661 OCT 061542 OCT 077774 SLA,ALR OCT 061542 OCT 043304 OCT 177776 ALR,SLA,ALR OCT 163153 OCT 014654 OCT 077774 ALR,CLE,ALR OCT 127717 OCT 037474 OCT 000002 CLE,SLA,ALR OCT 037474 OCT 077170 OCT 077776 ALR,CLE,SLA OCT 163153 OCT 046326 OCT 077774 ALR,CLE,SLA,ALR OCT 046326 OCT 031530 OCT 077776 CLE,SLA,ALR OCT 163153 OCT 046326 OCT 000002 SKP ORG 11777B ************************************************************* * * TEST SECTION FOR EAUSH AND MOP(EXCEPT JL*, WHICH * RESIDES ON ANOTHER PAGE. * * THIS IS A TABLE DRIVEN TEST, WITH TABLE ENTRIES * DEFINED IN A COMMENT AREA PRECEDING THE TABLE * ************************************************************* TST04 CLA STA EANOP STORES NOP INTO 2ND INS WORD LDA MOPNU LOADS NUMBER OF MOP TESTS STA TEMOP STORE TO COUNTER LOCATION LDA EAUNU LOADS # EAU TESTS STA TEAUN STORES TO TEMPORARY LDA TABL2 LOADS TABLE ADDRESS STA TEAPT STORES TO TEMP POINTER FOR INCING JMP LOOPE EXECUTE EAUSH INSTRUCTIONS FIRST LOOPM LDA TEAPT,I LOADS ADDRESS STA EANOP STORES TO SECOND WORD OF INS ISZ TEAPT NO ROLLOVER POSSIBLE LOOPE LDA TEAPT,I LOADS INSTRUCTION STA EAINS STORES TO INSTRUCTION LOCATION ISZ TEAPT NO ROLLOVER POSSIBLE LDA TEAPT LOAD POINTER VALUE STA TEOV STORE FOR LATER USE LDA A,I LOADS E,OV NEEDS SLA CHECK OV NEED JMP OTO1E CLO JMP CHEE JUMP TO CHECK E OTO1E STO CHEE SSA CHECK E NEEDS JMP ETO1E CLE JMP GOE ETO1E CCE GOE ISZ TEAPT NO ROLLOVER POSSIBLE LDB TEAPT,I LOAD B ISZ TEAPT NO ROLLOVER POSSIBLE LDA TEAPT,I LOAD A ISZ TEAPT NO ROLLOVER POSSIBLE EAINS NOP FIRST INSTRUCTION WORD EANOP NOP SECOND INSTRUCTION WORD SKP ************************************************************* * INSTRUCTION HAS BEEN EXECUTED, NOW CHECK THE RESULTS ************************************************************* CPA TEAPT,I CHECK A RSS JSB CPUER,I A IS NOT CORRECT ISZ TEAPT NO ROLLOVER POSSIBLE CPB TEAPT,I CHECK B RSS JSB CPUER,I B NOT CORRECT ISZ TEAPT NO ROLLOVER POSSIBLE LDA TEOV,I LOADS EXPECTED E AND OV ALF,ALF GET BITS TO RIGHT LOCATION SLA CHECK OV RESULT JMP OEQ1 SOC CHECK IF 0 IS 0 AS NEEDED JSB CPUER,I OV IS 1 NOT 0 CHEKE SSA CHECK E NEEDED JMP EEQ1 SEZ CHECK IF E IS 0 JSB CPUER,I E IS 1,NOT A 0 JMP NEW OEQ1 SOS CHECK OV JSB CPUER,I OV IS 0 NOT A 1 JMP CHEKE EEQ1 SEZ,RSS CHECK E VALUE JSB CPUER,I E WAS 0 NOT A 1 NEW ISZ TEAUN INCREMENT NO TESTS REMAINING JMP LOOPE MORE EAU TESTS TO DO CCA A=-1 STA TEAUN ISZ TEMOP INCREMENT NUMBER OF MOPS TO DO JMP LOOPM MOREMOPS JMP NAXT SKP ************************************************************* * THIS TABLE CONTAINS VALUES USED DURING THE TEST * BY THE EAUSH/MOP ROUTINE ************************************************************* EAUNU DEC -96 NUMBER OF TESTS IN EAU TEAUN NOP TEMPORARY COUNTER TABL2 DEF TAB2 TABLE ADDRESS TEAPT NOP TEMPORARY MOPNU DEC -35 NUMBRER OF TESTS IN (MOP)+1 TEMOP NOP TEMPORARY COUNTER TEOV NOP TEMPORARY STORAGE MONE DEC 1 ONE DL1 OCT 125252 OCT 052525 DL2 OCT 077777 OCT 107070 DST1 NOP NOP SPC 1 ************************************************************* * THE FOLLOWING TABLE CONTAINS THE SETUP, INSTRUCTION * AND RESULTS FOR ALL TESTS OF EAUSH AND MOP(EXCEPT * JL* AND CERTAIN TESTS OF DIV WHERE THE RESULT IS * INDETERMINATE,SUCH AS DIVIDE BY 0...SEE LATER CODE * FOR THIS CASE ************************************************************* * TABLE SETUP: * * * WORD 0(MOP TESTS ONLY): CONTAINS ADDRESS OF WORD USED * IN OPERATION * WORD 1: CONATINS OP CODE OF INSTRUCTION TO BE EXECUTED * WORD 2: CONTAINS THE E AND OV SETUP AND RESULTS,AS FOLLOWS: * BIT 15: E SETUP PRIOR TO TEST * BIT 8: OV RESULTS AFTER TEST * BIT 7: E RESULTS AFTER TEST * BIT 0: OV SETUP PRIOR TO TEST * BITS 14-9,6-1: UNUSED * WORD 3: CONTENTS TO LOAD INTO B PRIOR TO TEST * WORD 4: CONTENTS TO LOAD INTO A PRIOR TO TEST * WORD 5: RESULTS IN A AFTER TEST * WORD 6: RESULTS IN B AFTER TEST SKP TAB2 RRR 1 RRR AREA OCT 100200 OCT 054273 OCT 161632 OCT 170715 OCT 026135 RRR 2 OCT 100200 OCT 161632 OCT 054273 OCT 113056 OCT 174346 RRR 3 OCT 100200 OCT 054273 OCT 161632 OCT 076163 OCT 045427 RRR 4 OCT 100200 OCT 161632 OCT 054273 OCT 122613 OCT 137071 RRR 5 OCT 100200 OCT 054273 OCT 161632 OCT 157434 OCT 151305 RRR 6 OCT 100200 OCT 161632 OCT 054273 OCT 064542 OCT 167616 RRR 7 OCT 100200 OCT 054273 OCT 161632 OCT 073707 OCT 032261 RRR 8 OCT 100200 OCT 054273 OC|T 161632 OCT 135743 OCT 115130 RRR 9 OCT 100200 OCT 032261 OCT 073707 OCT 054273 OCT 161632 SKP RRR 10 OCT 100200 OCT 167616 OCT 064542 OCT 161632 OCT 054273 RRR 11 OCT 100200 OCT 151305 OCT 157434 OCT 054273 OCT 161632 RRR 12 OCT 100200 OCT 137071 OCT 122613 OCT 161632 OCT 054273 RRR 13 OCT 100200 OCT 045427 OCT 076163 OCT 054273 OCT 161632 RRR 14 OCT 100200 OCT 174346 OCT 113056 OCT 161632 OCT 054273 RRR 15 OCT 100200 OCT 026135 OCT 170715 OCT 054273 OCT 161632 RRR 16 OCT 100200 OCT 054273 OCT 161632 OCT 054273 OCT 161632 SKP RRL 15 OCT 100200 OCT 161632 OCT 054273 OCT 170715 OCT 026135 RRL 14 OCT 100200 OCT 054273 OCT 161632 OCT 113056 OCT 174346 RRL 13 OCT 100200 OCT 161632 OCT 054273 OCT 076163 OCT 045427 RRL 12 OCT 100200 OCT 054273 OCT 161632 OCT 122613 OCT 137071 RRL 11 OCT 100200 OCT 161632 OCT 054273 OCT 157434 OCT 151305 RRL 10 OCT 100200 OCT 054273 OCT 161632 OCT 064542 OCT 167616 SKP RRL 9 OCT 100200 OCT 161632 OCT 054273 OCT 073707 OCT 032261 RRL 8 OCT 100200 OCT 054273 OCT 161632 OCT 115130 OCT 135743 RRL 7 OCT 100200 OCT 032261 OCT 073707 OCT 161632 OCT 054273 RRL 6 OCT 100200 OCT 167616 OCT 064542 OCT 054273 OCT 161632 RRL 5 OCT 100200 OCT 151305 OCT 157434 OCT 1616326 OCT 054273 RRL 4 OCT 100200 OCT 137071 OCT 122613 OCT 054273 OCT 161632 RRL 3 OCT 100200 OCT 045427 OCT 076163 OCT 161632 OCT 054273 RRL 2 OCT 100200 OCT 174346 OCT 113056 OCT 054273 OCT 161632 RRL 1 OCT 100200 OCT 026135 OCT 170715 OCT 161632 OCT 054273 RRL 16 OCT 100200 OCT 054273 OCT 161632 OCT 054273 OCT 161632 SKP LSR 1 OCT 100200 OCT 054273 OCT 161632 OCT 170715 OCT 026135 LSR 2 OCT 100200 OCT 161632 OCT 054273 OCT 113056 OCT 034346 LSR 3 OCT 100200 OCT 054273 OCT 161632 OCT 076163 OCT 005427 LSR 4 OCT 100200 OCT 161632 OCT 054273 OCT 122613 OCT 007071 LSR 5 OCT 100200 OCT 054273 OCT 161632 OCT 157434 OCT 001305 LSR 6 OCT 100200 OCT 161632 OCT 054273 OCT 064542 OCT 001616 LSR 7 OCT 100200 OCT 054273 OCT 161632 OCT 073707 OCT 000261 LSR 8 OCT 100200 OCT 161632 OCT 054273 OCT 115130 OCT 000343 SKP LSR 9 OCT 100200 OCT 000261 OCT 073707 OCT 054273 OCT 000000 LSR 10 OCT 100200 OCT 001616 OCT 064542 OCT 161632 OCT 000000 LSR 11 OCT 100200 OCT 001305 OCT 157434 OCT 054273 OCT 000000 LSR 12 OCT 100200 OCT 007071 OCT 122613 OCT 161632 OCT 000000 LSR 13 OCT 100200 OCT 005427 OCT 076163 OCT 054273 OCT 000000 LSR 14 OCT 100200 OCT 034346 OCT 113056 OCT 161632 OCT 000000 LSR 15 OCT 100200 OCT 026135 OCT 170715 OCT 054273 OCT 000000 LSR 16 OCT 100200 OCT 054273 OCT 161632 OCT 054273 OCT 000000 SKP ASR 1 OCT 100201 OCT 054273 OCT 161632 OCT 170715 OCT 026135 ASR 2 OCT 100201 OCT 161632 OCT 054273 OCT 113056 OCT 174346 ASR 3 OCT 100201 OCT 054273 OCT 161632 OCT 076163 OCT 005427 ASR 4 OCT 100201 OCT 161632 OCT 054273 OCT 122613 OCT 177071 ASR 5 OCT 100201 OCT 054273 OCT 161632 OCT 157434 OCT 001305 ASR 6 OCT 100201 OCT 161632 OCT 054273 OCT 064542 OCT 177616 ASR 7 OCT 100201 OCT 054273 OCT 161632 OCT 073707 OCT 000261 ASR 8 OCT 100201 OCT 161632 OCT 054273 OCT 115130 OCT 177743 SKP ASR 9 OCT 100201 OCT 000261 OCT 073707 OCT 054273 OCT 000000 ASR 10 OCT 100201 OCT 177616 OCT 064542 OCT 161632 OCT 177777 ASR 11 OCT 100201 OCT 001305 OCT 157434 OCT 054273 OCT 000000 ASR 12 OCT 100201 OCT 177071 OCT 122613 OCT 161632 OCT 177777 ASR 13 OCT 100201 OCT 005427 OCT 076163 OCT 054273 OCT 000000 ASR 14 OCT 100201 OCT 174346 OCT 113056 OCT 161632 OCT 177777 ASR 15 OCT 100201 OCT 026135 OCT 170715 OCT 054273 OCT 000000 ASR 16 OCT 100201 OCT 054273 OCT 161632 OCT 054273 OCT 000000 SKP LSL 15 OCT 100601 OCT 000000 OCT 054273 OCT 100000 OCT 026135 LSL 14 OCT 000401 OCT 054273 7 OCT 161632 OCT 100000 OCT 174346 LSL 13 OCT 000000 OCT 161632 OCT 054273 OCT 060000 OCT 045427 LSL 12 OCT 100200 OCT 054273 OCT 161632 OCT 120000 OCT 137071 LSL 11 OCT 000000 OCT 161632 OCT 054273 OCT 154000 OCT 151305 LSL 10 OCT 100601 OCT 054273 OCT 161632 OCT 064000 OCT 167616 SKP LSL 9 OCT 000401 OCT 161632 OCT 054273 OCT 073000 OCT 032261 LSL 8 OCT 100200 OCT 054273 OCT 161632 OCT 115000 OCT 135743 LSL 7 OCT 000000 OCT 032261 OCT 073000 OCT 000000 OCT 054273 LSL 6 OCT 100200 OCT 167616 OCT 064000 OCT 000000 OCT 161632 LSL 5 OCT 100601 OCT 151305 OCT 154000 OCT 000000 OCT 054273 LSL 4 OCT 000401 OCT 137071 OCT 120000 OCT 000000 OCT 161632 LSL 3 OCT 000000 OCT 045427 OCT 060000 OCT 000000 OCT 054273 LSL 2 OCT 100200 OCT 174346 OCT 100000 OCT 000000 OCT 161632 LSL 1 OCT 100601 OCT 026135 OCT 100000 OCT 000000 OCT 054273 LSL 16 OCT 000401 OCT 161632 OCT 054273 OCT 000000 OCT 054273 SKP ASL 15 OCT 100600 OCT 161632 OCT 054273 OCT 100000 OCT 126135 ASL 14 OCT 100600 OCT 054273 OCT 161632 OCT 100000 OCT 074346 ASL 13 OCT 100600 OCT 161632 OCT 054273 OCT 060000 OCT 145427 ASL 12 OCT 100600 OCT 054273 OCT 161632 OCT 120000 OCT 037071 ASL 11 OCT 100600 OCT 161632 OCT 054273 OCT 154000 OCT 151305 ASL 10 OCT 100600 OCT 054273 OCT 161632 OCT 064000 OCT 067616 SKP ASL 9 OCT 100600 OCT 161632 OCT 054273 OCT 073000 OCT 132261 ASL 8 OCT 100600 OCT 054273 OCT 161632 OCT 115000 OCT 035743 ASL 7 OCT 100600 OCT 132261 OCT 073000 OCT 000000 OCT 154273 ASL 6 OCT 100600 OCT 067616 OCT 064000 OCT 000000 OCT 061632 ASL 5 OCT 100600 OCT 151305 OCT 154000 OCT 000000 OCT 154273 ASL 4 OCT 100600 OCT 037071 OCT 120000 OCT 000000 OCT 061632 ASL 3 OCT 100600 OCT 145427 OCT 060000 OCT 000000 OCT 154273 ASL 2 OCT 100600 OCT 074346 OCT 100000 OCT 000000 OCT 061632 ASL 1 OCT 100600 OCT 126135 OCT 100000 OCT 000000 OCT 154273 ASL 16 OCT 100600 OCT 161632 OCT 054273 OCT 000000 OCT 154273 SKP ******************** * TEST MOPS * ******************** DEF DL1 OCT 104200 DLD OP OCT 000000 OCT 143221 OCT 152343 OCT 125252 OCT 052525 DEF DST1 OCT 104400 DST OP OCT 000000 OCT 052525 OCT 125252 OCT 125252 OCT 052525 DEF DST1 OCT 104200 DLD OP, TO CHECK DST OCT 000000 OCT 134562 OCT 123212 OCT 125252 OCT 052525 DEF DL2 OCT 104200 DLD OP OCT 100601 E AND OV STAY OCT 1 OCT 126453 OCT 163542 OCT 077777 OCT 107070 DEF DST1 OCT 104400 DST OP OCT 100601 OCT 107070 OCT 077777 OCT 077777 OCT 107070 DEF DST1 OCT 104200 DLD OP, TO CHECK DST OCT 100601 OCT 123432 OCT 154321 OCT 077777 OCT 107070 * ONE ATTEMPT AT INDIRECTS FOR MOP WILL TEST.. * SAME LOGIC USED FOR INDIRECTS DEF INDLD,I OCT 104200 DLD OCT 000000 OCT 000000 OCT 000000 OCT 177777 OCT 052525 DEF MONE OCT 100200 (MPY) OCT 100201 OCT 177777 OCT 000000 OCT 000000 OCT 000000 DEF DL2 OCT 100200 MPY OP OCT 100201 OCT 177777 OCT 000000 OCT 000000 OCT 000000 DEF DL3I OCT 100200 MPY OP OCT 100201 OCT 177777 OCT 000000 OCT 000000 OCT 000000 SKP DEF MONE OCT 100200 MPY OP OCT 100201 OCT 000000 OCT 177777 OCT 177777 OCT 177777 DEF DL2 OCT 100200 MPY OP OCT 100201 OCT 177777 OCT 125252 OCT 052526 OCT 152525 DEF DL2 OCT 100200 MPY OP OCT 100201 OCT 152525 OCT 052525 OCT 025253 OCT 025252 DEF DL2 OCT 100200 MPY OP OCT 100201 OCT 025252 OCT 107070 OCT 070710 OCT 143434 DEF DL2 OCT 100200 MPY OP OCT 100201 OCT 143434 OCT 070707 OCT 007071 OCT 034343 DEF DL3I OCT 100200 MPY OP OCT 100201 OCT 034343 OCT 177777 OCT 000001 OCT 000000 DEF DL3I OCT 100200 MPY OP OCT 100201 OCT 000000 OCT 125252 OCT 052526 OCT 000000 DEF DL3I OCT 100200 MPY OP OCT 100201 OCT 000000 OCT 052525 OCT 125253 OCT 177777 DEF DL3I OCT 100200 MPY OP OCT 100201 OCT 177777 OCT 070707 OCT 107071 OCT 177777 ^.DEF MNEG OCT 100200 MPY OP OCT 100201 OCT 177777 OCT 125252 OCT 000000 OCT 025253 SKP DEF MNEG OCT 100200 MPY OP OCT 100201 OCT 025253 OCT 052525 OCT 100000 OCT 152525 DEF DL1A OCT 100200 MPY OP OCT 100201 OCT 152525 OCT 052525 OCT 107071 OCT 016161 DEF DL1 OCT 100200 MPY OP OCT 100201 MU2B OCT 016161 OCT 125252 MU3A OCT 034344 OCT 016162 DEF MNEG OCT 100400 DIV OP CODE OCT 000000 OCT 000000 OCT 125252 OCT 177777 OCT 025252 DEF MNEG OCT 100400 DIV OP CODE OCT 000000 OCT 177776 OCT 125252 OCT 000002 OCT 125252 DEF DL2 OCT 100400 DIV OPCODE OCT 000000 OCT 177776 OCT 125252 OCT 177776 OCT 125250 DEF DL2 OCT 100400 DIV OP CODE OCT 000000 OCT 007777 OCT 177777 OCT 020000 OCT 017777 DEF MNEG OCT 100400 DIV OPCODE OCT 000000 OCT 007777 OCT 177777 OCT 160001 OCT 077777 DEF MNEG OCT 100400 DIV OPCODE OCT 000000 OCT 177777 OCT 160001 OCT 000000 OCT 160001 DEF MNEG OCT 100400 DIV OP CODE OCT 000000 OCT 152525 OCT 052526 OCT 052525 OCT 152526 DEF DL2 OCT 100400 DIV OPCODE OCT 000000 OCT 152525 OCT 052526 OCT 125252 OCT 000000 DEF DL2 OCT 100400 DIV OP CODE OCT 000000 OCT 000707 OCT 070707 OCT 001616 OCT 072525 DEF MNEG OCT 100400 DIV OPCODE OCT 000000 OCT 000707 OCT 070707 OCT 176162 OCT 070707 DEF MONE DIV BY 2**-15 OCT 100400 OCT 100200 OCT 1777PG77 OCT 100000 OCT 100000 OCT 000000 SKP ************************************************************* * THIS SECTION TESTS DIV FAILING IF DIVIDE BY 0 * OR DIVIDE BY A NUMBER TOO SMALL. * RESULTS WILL BE A AND B INDETERMINATE AND * OV WILL BE SET ************************************************************* NAXT CLA,CLE CLO CCB DIV ZEROD DIVIDE BY ZERO...OVWILL BE SET SOS C JSB CPUER,I OV FAILED TO SET SEZ JSB CPUER,I E WAS INCORRECTLY SET LDA ZEROD LDB MNEG DIV MONE DIVIDE MAXIMUM NEG NUMBER BY 1(OVWILL SET) SOS C JSB CPUER,I OV FAILED TO SET SEZ JSB CPUER,I E FAILEDWAS INCORRECTLY SET BY DIVIDE FAIL CCA LDB DL2 * B-A CONTAIN MAXIMUM SIZE POSITIVE NUMBER DIV MONE DIVIDE MAXIMUM SIZE POSITIVE NUMBER BY 1(OV WILL SET) SOS C JSB CPUER,I OV FAILED TO SET ON DIVIDE FAIL SEZ JSB CPUER,I E WAS INCORRECTLY SET JMP *+1,I JUMP TO NEXT TEST DEF TSTJL NOW MOVE TO JL* TEST DL3I OCT 177777 DL1A OCT 052525 ZEROD OCT 0 MNEG OCT 100000 INDLD DEF DL3I SKP * *CPU ERROR ROUTINE. LOADS A REGISTER WITH STATUS * *AND SUB-SECTION OF CPU TEST THAT FAILED FOR * *OUTPUT TO LED'S THROUGH DISPLAY * CPERR NOP RETURN ADDRESS TO PROGRAM STA ERRA STORE A STB ERRB AND B TEMPORARILY LDA B10 NO GET PATTERN FOR CPU ERROR JSB DISP,I GO DISPLAY IT ADB CPERR CREATE BAD INSTR. ADDRESS CLA CLEAR OUT A HLT 10B LDA ERRA LDB ERRB GET A AND B AGAIN HLT 50B STOP AND DISPLAY JMP CPERR+3 NEVER LEAVE THIS AREA SPC 3 * *PROCESSOR ERROR ROUTINE * *CAUSES ADDRESS OF FAILURE IN KERNAL PLUS WHICH * *BOARD FAILED TO BE SENT TO FRONT PANEL, OR. . . . * *CAUSES LED'S TO FLASH WITH BOARD AND SUB-SECTION >* *THAT FAILED * PRERR NOP ADDRESS OF FAILURE +1 STA ERRA STORE A STB ERRB AND B TEMPORARILY JSB RSTRP RESTORE TRAP CELL CLF PES RESET SENSE STC PES TURN ON PARITY SYSTEM CLC 0,C TURN OFF INTERRUPTS LDA B11 GET PATTERN FOR PROCESSOR ERROR DISPLAY ALF,ALF MOVE IT TO UPPER HALF IOR CNTR GET SUB-SECTION FAILURE ALF,ALF MOVE IT BACK JSB DISP,I GO DISPLAY IT ADB PRERR CREATE FAILING ADDRESS HLT 11B GO AND DISPLAY FRONT PANEL LDA ERRA GET A AND LDB ERRB B AGAIN HLT 51B GO DISPLAY FRONT PANEL JMP PRERR+4 NEVER LEAVE THIS AREA SKP * * *I/O ERROR HANDLING ROUTINE * IOERR NOP RETURN ADDRESS CLC 0B,C RESET I/O DEVICES INCLUDING INT. STA ERRA SAVE A STB ERRB SAVE B JSB RSTRP RESTORE TRAP CELL CLA CLEAR A TO OTA GR TURN OFF DIAGNOSE MODE JSB RSTRP RESTORE JSB ILINT TO TRAP CELL IN USE LDA JSBIL RESTORE JSB ILINT TO MPT TRAP CELL STA MTRAP LDA POINT,I GET SELECT CODE UNDER TEST ELA,CLE,ERA ALF,ALF MOVE IT TO UPPER HALF IOR B13 JSB DISP,I GO DISPLAY IT ADB IOERR CREATE BAD INSTRUCTION ADDRESS HLT 13B GO DISPLAY IT LDA ERRA YES SO RESTORE A LDB ERRB AND B HLT 53B JMP IOERR+10 NEVER LEAVE THIS AREA. HED PROCESSOR I/O FUNCTIONS UNDER TEST * *VERIFY THAT THE PROCESSOR I/O FUNCTIONS WORK * ORG 13777B TST05 CLC 0,C CLEAR I/O (INSTR. ASSUMED FUNCTIONAL) LDA B11 GET STATUS = CPU UNDER TEST OTA LEDS OUTPUT TO LEDS JSB IREGC GO CHECK PROCESSOR REGISTERS LDA B6 PUT A BINARY SIX INTO SUB-SECTION STA CNTR COUNTER STF GR DISABLE THE GLOBAL REGISTER SFC GR IS THE GLOBAL REGISTER DISABLED AND SFS GR DO SFS AND SFC WORK? JSB PROER,I NO. STF,SFS, OR SFC DIDN'T WORK SFS 0 IS THE INTERRUPT FF CLEAR SFC 0 AND DO SFS AND SFC WORK? JSB PROER,I NO. SFS OR SFC FAILED. CLF TBG CLEAR TBG FLAG SFS TBG IS THE TBG FLAG CLEAR? SFC TBG AND DO SFS AND SFC WORK? JSB PROER,I NO. FLAG NOT CLEAR OR SFS-SFC FAILURE CLA CLEAR THE INTERRUPT MASK OTA INMSK STF 0 TURN ON THE INTERRUPT SYSTEM SFC 0 IS IT ON AND DO SFS-SFC WORK? SFS 0 JSB PROER,I NO. STF, SFC, OR SFS FAILED CLF 0 DISABLE INTERRUPTS * IF INT OCCURS, CLF 0 DIDN'T WORK SO JSB ILINT STF TBG DOES TBG FLAG WORK? NOP DOES INTERRUPT OCCUR? SFC TBG DOES SFS-SFC TBG WORK? SFS TBG JSB PROER,I NO. STF, SFS, SFC FAILED ON TBG CLF TBG CAN TBG FLAG BE CLEARED AND SFS TBG DO SFS AND SFC WORK? SFC TBG JSB PROER,I NO. CLF,SFS, OR SFC FAILURE ON TBG LDA B6 SET TRAP CELL = JMP INTOK JSB JPTRP DEF INTOK STF 0 ENABLE INTERRUPTS STF TBG FORCE A TBG INTERRUPT * * (CONTINUED) * SKP NOP LET IT INTERRUPT JSB PROER,I TBG DIDN'T INT OR INT NOT ALLOWED INTOK CLF TBG INTERRUPT GOOD FROM TBG; TURN OFF JSB RSTRP RESTORE JSB ILINT TO TRAP CELL LIA CIR WAS CIR LOADED CORRECTLY? CPA PAT12 PAT12=000006 RSS YES JSB PROER,I NO LDA PAT00 TRY A MERGE; A = 177700 LDB PAT13 B = 177706 MIA CIR MERGE A WITH CIR CPA B MERGE GOOD? RSS YES JSB PROER,I NO HED TIME BASE GENERATOR TEST * * *CHECK ALL TBG FUNCTIONS * TBTST CC)rE INITIALIZE E = 1 LDA B6 A = TRAP CELL ADDRESS JSB JPTRP TRP06 = JMP IN10M DEF IN10M STC TBG TURN ON TBG TIM10 CLB THIS LOOP TAKES 11 MS INB CPB B11MS HAS 11 MS ELAPSED? RSS YES - SHOULD HAVE INTERRUPTED JMP *-3 NO REPEAT UNTIL TIMEOUT OR INT. CLC TBG,C NO INTERRUPT. TURN OFF TBG JSB PROER,I AND GO SHOW ERROR. IN10M SEZ,CME IS THIS THE FIRST INTERRUPT? JMP TIM10 YES - WAIT FOR SECOND INTERRUPT CLC TBG,C NO, IT IS THE SECOND. CONTINUE ADB MB9MS CHECK THAT IT IS GREATER THAN 9 MS SSB ?? JSB PROER,I NO IT WASN'T SO ERROR * DOES CLC TURN OFF TBG INTERRUPTS? JSB RSTRP RESTORE JSB ILINT TO TRAP CELL CLB WAIT FOR AN INTERRUPT ISZ B IF INTERRUPT OCCURS, GO OUT OF JMP *-1 LOOP TO ILLEGAL INT. CLF 0 NO INTERRUPT. CLF 0 HOLD OFF INT.? STC TBG TURN ON TBG ISZ B WAIT FOR AN INTERRUPT THAT SHOULDN'T JMP *-1 OCCUR. IF IT DOES, JSB ILINT LDA B2 NO INTERRUPT. CHECK INTERRUPT MASK OTA INMSK TO MASK TBG INT. STF 0 ENABLE INTERRUPTS ISZ B WAIT FOR AN INTERRUPT THAT SHOULDN'T JMP *-1 OCCUR. IF IT DOES, JSB ILINT CLA NO INT. CLEAR INMSK OTA INMSK CLC 0,C CLEAR I/O ISZ B CLC 0,C TURN OFF INTERRUPTS? JMP *-1 IF INT. OCCURS, JSB ILINT CLC TBG,C TURN OFF TBG SKP * * CHECK THAT STC4 HOLDS OFF INTERRUPTS * STF 0B TURN ON INTERRUPTS CLC 4B TURN OFF INTERRUPTS (2 & 3) STC TBG TURN ON TBG SFS 4B IS POWER GOING DOWN? JMP 4B YES - RESTART THE PROGRAM ISZ B WAIT FOR AN INT. IF INT. OCCURS JMP *-3 JSB ILINT. CLC 4 DIDN'T DISArBLE INT. LDA B6 NO INT. - SET TRAP CELL JSB JPTRP TRAP CELL 6 = JMP TIM11 DEF TIM11 STC 4 TURN ON INTERRUPTS ISZ B WAIT FOR INTERRUPT JMP *-1 JSB PROER,I NO INTERRUPT SO ERROR (STC 4 DIDN'T WORK) TIM11 CLC TBG,C TURN OFF TBG CLC 0,C AND WORLD JSB RSTRP RESTORE THE TRAP CELL * * * *TEST A JSB IN A TRAP CELL * JSBTR LDA B6 GET TBG SELECT CODE JSB JSTRP TBG TRAP CELL = JSB INTJS DEF INTJS CLA CLEAR TEMP0 STA TEMP0 STF TBG FORCE TBG INTERRUPT STF 0 ENABLE INTERRUPTS ISZ TEMP0 ONE ISZ SHOULD EXECUTE, THEN INTERRUPT INTJ. ISZ TEMP0 THIS SHOULD NOT BE EXECUTED JSB PROER,I NO INTERRUPT INTJS NOP TBG INTERRUPTED CLC 0,C DISABLE INTERRUPTS LDB TEMP0 CHECK HOW MANY ISZ'S WERE EXECUTED CPB B1 ONLY ONE? RSS YES JSB PROER,I TOO MANY ISZ'S JSB RSTRP RESTORE TRAP CELL JSB ILINT LDB INTJS GET SUBROUTINE RETURN ADDRESS CPB INJS. PROPER RETURN ADDRESS? (SEE BELOW) JMP *+3 YES -- GO ON JSB PROER,I NO ERROR INJS. DEF INTJ. CORRECT RETURN ADDRESS STF 0 ENABLE INTERRUPTS HED UNIMPLEMENTED INSTRUCTION TEST * * *TEST THE UNIMPLEMENTED INSTRUCTION TRAP * UITST LDA B10 A = TRAP CELL ADDRESS STA CNTR STORE THIS IN SUB-SECTION COUNTER JSB JSTRP TRP03 = JSB UIINT (ROUTINE IN BP) DEF UIINT CLB CLEAR TEMP7 STB TEMP7 UI OCT 105100 TRY TO EXECUTE UNIMPLEMENTED CODE OCT 104700 OCT 104000 NOTE: THESE SIX CODES CHECK ALL OCT 105600 UNIMPLEMENTED INSTRUCTION OCT 101300 DECODING LOGIC ON THE CPU CHIP OCT 101500 OCT 104100 OCT 104300 OCT 100300 OCT 101200  OCT 101400 OCT 101600 OCT 101700 OCT 100500 OCT 104500 OCT 100700 NOP JSB RSTRP RESTORE JSB ILINT TO TRAP CELL LDA TEMP7 GET TEMP7 CONTENTS CPA B20 WERE 20B INTERRUPTS PROCESSED? JMP MPTST YES - GO TEST MEMORY PROTECT JSB PROER,I NO * * *UNIMPLEMENTED INSTRUCTION TRAP WORKS CORRECTLY * HED MEMORY PROTECT TESTS * * *THE MEMORY PROTECT TEST * * *TEST THAT A HALT IS NOT ALLOWED BY MPT. * MPTST CLB FENCE WILL BE ZERO. LDA B7 LOAD A BINARY SEVEN AND STA CNTR STORE IN SUB-SECTION COUNTER STF 0 ENABLE INTERRUPTS LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB CHKIN DEF CHKIN JSB INTMP INITIALIZE MPT. LDA EA001 GET EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. STC5 STC MPT TURN ON MPT. NOP SHOULD NOT INTERRUPT HERE. TH001 HLT 03 MPT SHOULD NOT ALLOW HALT HERE. RSS FLASH LEDS IF NO MPT INT AND NO BREAK JMP MPT01 INTERRUPT GOOD. DO NEXT TEST FLASH LDA B7 GET CURRENT STATUS = MPT HANGING UP ALF,ALF MOVE IT TO UPPER HALF IOR B11 CPU BOARD LDB A PUT IT IN B JMP DISP5,I SKP * * *INSURE AN I/O INSTRUCTION IS NOT ALLOWED. * MPT01 LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB CHKIN DEF CHKIN JSB INTMP GO INITIALIZE MPT. LDA EA003 GET EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. CLB CLEAR B FOR TEST. STC MPT TURN ON MPT TH003 LIB CIR INSTRUCTION SHOULD CAUSE VIOLATION HLT 03 SHOULD NEVER GET HERE. SZB,RSS WAS B-REG ALTERED? JMP MPT02 NO - CONTINUE TESTING. JSB PROER,I LIB WAS ALLOWED SKP * * *INSURE NO VIOLATION OCCURS WITHOUT A STC 7 * AND VERIFY SELECT CODE 7 IS DECODED PROPERLY * MPT02 CLB FENCE WILL BE ZERO. LDA BMPT A = MPT S/C JSB JPTRP TRAP CELL = JMP ERR02 DEF ERR02 JSB INTMP INITIALIZE MPT. CLA CLEAR A LIA CIR NO INTERRUPT - MPT OFF, A = NON-ZERO SZA,RSS DID LIA CIR EXECUTE? JSB PROER,I NO LDA LISCC GET LIA SC,C INSTRUCTION STA INLIN PUT IN LINE LDB PAT24 SET UP COMPLETION INDICATOR. INLIN LIA SC,C EXECUTE TO VERIFY NO S/C 7 WAS DECODED CPA EA003 WAS THE VIOLATION REGISTER READ? JSB PROER,I YES - S/C 7 DECODED, INLIN = BAD S/C ISZ INLIN INCREMENT SELECT CODE CPB INLIN HAVE ALL S/C'S BEEN CHECKED? JMP MPT03 YES - GO TO NEXT TEST LDA LIVIO NO - IS S/C 7 THE NEXT S/C? CPA INLIN ISZ INLIN YES - INCREMENT THE S/C AGAIN JMP INLIN NO - TEST IT ERR02 JSB PROER,I MPT INTERRUPT WITH MPT OFF SKP * * *TEST ALL NON-VIOLATING INSTRUCTIONS * MPT03 LDB B5 FENCE VALUE. LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB ERR03 DEF ERR03 JSB INTMP INITIALIZE MPT. STC MPT TURN ON MPT. * * *TEST MEMORY REFERENCE INSTRUCTIONS * IOR B NO INTERRUPT SHOULD OCCUR ADA B UNTIL HLT 03 AT THE END OF ADB A THIS LIST OF NON-VIOLATING AND B INSTRUCTIONS. CPA A CPB B CLA ISZ A CLB ISZ B LDB B LDB A STA B STB A XOR B * * *TEST SHIFT-ROTATE FUNCTIONS * ALS,ALS NOP BLS,BLS ARS,ARS BRS,BRS RAL,RAL RBL,RBL RAR,RAR RBR,RBR ALR,ALR BLR,BLR ERA,ERA ERB,ERB ELA,ELA ELB,ELB ALF,ALF BLF,BLF SKP * * *TEST ALTER-SKIP FUNCTIONS * CMA B7000 CMB CME CLE CCE INA INB CCA CCB RSS NOP SEZ SLA SLB SSA SSB SZA SZB * * *TEST LEGAL I/O INSTRUCTIONS * CLO SOS STO SOC LIA 1 LIB 1 MIA 1 MIB 1 STC 1 CLC 1 * * *TEST EAU INSTRUCTIONS * DIV B5 DLD SAVEA MPY B5 ASL 5 ASR 5 LSL 5 LSR 5 RRL 5 RRR 5 SKP * * *TEST JSB 0 AND JSB 1 * JSBCK CLA FENCE = 5 STA MTRAP NOP MPT TRAP CELL. HLT 03 FORCE INTERRUPT. TURN MPT OFF. LDB JARTN SET UP RETURN IN CASE OF ERROR. LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB ERR03 DEF ERR03 STC MPT TURN ON MPT JSB A SHOULD RETURN TO NEXT INST. CLA STA MTRAP CLEAR TRAP AND HLT 03 FORCE INTERRUPT. TURN OFF MPT LDA JBRTN SET UP STA TRP02 RETURN LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB ERR03 DEF ERR03 STC MPT TURN ON MPT JSB B SHOULD RETURN TO NEXT INST. CLA CLEAR MPT STA MTRAP TRAP CELL LDA TRP04 RESTORE START POINTER TO 2 HLT 03 SHUT OFF MPT STA TRP02 JMP MPT04 CONTINUE WITH NEXT TEST. ERR03 NOP LIA VIOLA GET VIOLATION ADDRESS. JSB PROER,I * * SKP * * *TEST ALL VIOLATING INSTRUCTIONS * MPT04 LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB CHKIN DEF CHKIN STA SPTST SPECIAL TEST MARKER. LDB B140 FENCE REGISTER WILL EQUAL 140 JSB INTMP INITIALIZE MPT. LDA IPNTR GET INSTRUCTION LIST POINTER. 1 STA INPNT SAVE IT. LDA HLT03 PUT STA 100B HALTS IN STA 101B VIOLATED MEMORY. CLF GR ENABLE GLOBAL REGISTER VILOP STF 0 TURN ON INTERRUPT SYSTEM. LDA INPNT,I GET AN INSTRUCTION. CPA MIN1 END OF LIST? JMP CLSPT YES - GO CLEAR SPTST STA THT10 NO - PUT INSTRUCTION IN LINE LDA EXA01 EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. STC MPT TURN ON MPT. THT10 NOP VIOLATION SHOULD OCCUR HERE. OCT 100 CONSTANT IF NEEDED BY INST. HLT 03 FORCE INTERRUPT IF NONE OCCURRED NOP MOVLT ISZ INPNT MOVE INSTRUCTION POINTER. LDB 100B HAS 100 BEEN ALTERED? CPB HLT03 RSS NO JSB PROER,I YES LDB 101B HAS 101 BEEN ALTERED? CPB HLT03 RSS NO JSB PROER,I YES SFC GR FLAG SHOULD STILL BE CLEAR JSB PROER,I JMP VILOP TEST MORE INSTRUCTIONS. CLSPT CLA CLEAR SPECIAL TEST INDICATOR STA SPTST STF GR TURN OFF GLOBAL REGISTER SKP * * *TRY TO STORE AT AND BELOW FENCE * MPT05 LDA HLT03 ESTABLISH LOCATION TO BE TESTED STA 100B FOR TEST COMPARISON. LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB CHKIN DEF CHKIN LDB B101 FENCE WILL BE SET TO 101 JSB INTMP INITIALIZE MPT. LDA EA002 GET EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. LDB PAT02 GET A PATTERN FOR THE B-REGISTER STC MPT TURN ON MPT. STB 101B NO VIOLATION SHOULD OCCUR HERE. TH002 STB 100B VIOLATION OCCURS HERE. HLT 03 IF NO INT., MPT FENCE FAILED LDB 100B GET 100 DATA CPB HLT03 DID STORE CHANGE ADDRESS 100 DATA? JMP MPT06 NO! GO DO NEXT TEST LDA EA002 YES! GET STB LOCATION. JSB PROER,I STORE BELOW FENCdCE WAS ALLOWED SKP * * *STORE AT AND BELOW FENCE. THEN ROTATE FENCE * REGISTER BITS AND REPEAT UNTIL ALL BITS HAVE * BEEN CHECKED. * MPT06 CLC 0,C CLEAR THE I/O SYSTEM LDA B11 GET FIRST ADDRESS FOR THE FENCE STF 0 ENABLE INTERRUPTS CLB CLEAR TEMP5 STB TEMP5 M06.1 RAL ROTATE BITS LEFT ONE CPA B11 HAVE ALL PATTERNS BEEN CHECKED? JMP MPT07 YES STA TEMP1 SAVE THE PATTERN IOR PAT31 ADD BIT 12 TO PATTERN STA TEMP3 SAVE THE ACTUAL PATTERN FOR FENCE AND PAT15 MASK OFF BIT 15 LDB PAT02 B = 125252 STB A,I TRY TO WRITE AT THIS ADDRESS LDB A,I DID IT WRITE? (IS MEMORY THERE?) STB TEMP5 NO - REMEMBER A STORE AT FENCE WON'T WORK OTA FENCE LOAD THE FENCE REGISTER LDA BMPT A = MPT SELECT CODE JSB JPTRP TRAP CELL = JMP M06.2 DEF M06.2 LDA TEMP3 GET THE FENCE ADDRESS AND PAT15 MASK OFF BIT 15 CCB DECREMENT THE ADDRESS ADA B A = FENCE-1 STA TEMP2 SAVE FENCE-1 IN TEMP2 LDB A,I GET DATA FROM ADDRESS STB TEMP0 SAVE THE DATA CMB COMPLEMENT THE DATA * * *TRY TO STORE BELOW THE FENCE AT FENCE-1. * THIS SHOULD CAUSE A MEMORY PROTECT VIOLATION * INTERRUPT. * STC MPT TURN ON MEMORY PROTECT STBAI STB A,I TRY TO STORE AT FENCE-1 JSB PROER,I NO MPT INTERRUPT OCCURRED M06.2 JSB RSTRP RESTORE JSB ILINT TO TRAP CELL LDB A,I GET THE DATA AT THE ADDRESS CPB TEMP0 WAS IT ALTERRED? RSS NO JSB PROER,I YES - IT SHOULD NOT HAVE BEEN LIB VIOLA,C GET VIOLATION REGISTER CPB STBAD IS IT EQUAL TO STBAI'S ADDRESS? RSS YES JSB PROER,I NO SKP * * *TRY STORING AT THE FENCE. NO VIOLATION SHOULD OCCUR. * TRY TO EXECUTE AN I/O INSTRUCTION. A VIOLATION SHOULD * BE DETECTED. * LDA BMPT A = MPT SELECT CODE JSB JPTRP TRAP CELL = JMP M06.3 DEF M06.3 LDA TEMP2 GET THE FENCE ADDRESS-1 INA A = FENCE LDB A,I B = DATA AT FENCE ADDRESS CMB COMPLEMENT DATA STB TEMP4 SAVE DATA STC MPT TURN ON MEMORY PROTECT STB A,I TRY TO STORE AT FENCE IOVIO STF TBG TRY TO EXECUTE AN I/O INSTRUCTION LDA TEMP2 NO VIOLATION FROM I/O INSTRUCTION - STB A,I FORCE A VIOLATION JSB PROER,I STILL NO VIOLATION M06.3 LIB VIOLA,C GET VIOLATION REGISTER CPB IOVAD WAS VIOLATION FROM IOVIO? RSS YES JSB PROER,I NO - B = VIOLATION INSTRUCTION SFC TBG WAS STF TBG ALLOWED? JSB PROER,I YES LDB TEMP5 SHOULD A STORE AT FENCE HAVE WORKED? CPB PAT02 RSS JMP RESTR NO - DON'T CHECK THE FENCE DATA LDB A,I B = DATA FOR FENCE ADDRESS LOCATION CPB TEMP4 WAS THE STORE AT FENCE ALLOWED? RSS YES JSB PROER,I NO CMB B = ORIGINAL FENCE ADDRESS DATA STB A,I RESTORE DATA TO FENCE ADDRESS LOCATION RESTR LDA TEMP1 GET CURRENT FENCE PATTERN JSB RSTRP RESTORE JSB ILINT TO TRAP CELL JMP M06.1 TEST THE NEXT PATTERN SKP * * *THIS SECTION TESTS THE VIOLATION AND FENCE * REGISTERS AND THE VIOLATION LOGIC * MPT07 LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB CHKIN DEF CHKIN LDA MP08D SET UP INITIAL FENCE STA FENVA REGISTER SETTING. TLOOP LDA FENVA GET PRESENT FENCE. STA TEMP4 SAVE FENCE VALUE ADA LECOD ADD LENGTH OF TEST MODULE. IOR B7 OR WITH BITS 0,1,2 CPA EOM EN>D OF MEMORY? JMP M08AD,I YES - GO TO NEXT TEST, MPT08 LDB NLNCD NO! MOVE DATA OUT OF AREA STB MCNTR SAVE MOVE COUNT IN WORDS. LDB BUFAD GET ADDRESS OF SAVE BUFFER STB BUFPT SAVE IT. LDA TEMP4 JSB MOVE MOVE DATA BLOCK. LDA STCOD MOVE TEST MODULE IN AREA LDB FENVA JUST REMOVED. STB BUFPT SAVE MODULE ADDRESS. LDB NLNCD GET MOVE COUNT. STB MCNTR SAVE IT. JSB MOVE MOVE DATA BLOCK. LDA FENVA GET OLD FENCE VALUE STA FENP1 SAVE IT INA INCREMENT AND SAVE NEW VALUE STA FENVA OTA FENCE LOAD FENCE REGISTER ADA OFSTM GET EXPECTED INTERRUPT ADDRESS STA EXPVR SAVE IT STC MPT TURN ON MPT JMP FENVA,I TRANSFER CONTROL TO TEST. RLOOP LDA BUFAD RESTORE DATA WHERE TEST MODULE LDB FENP1 IS RESIDING. STB BUFPT SAVE IT. LDB NLNCD GET MOVE COUNT. STB MCNTR SAVE IT. JSB MOVE MOVE DATA BLOCK. JMP TLOOP CONTINUE TEST. SKP * * *MOVE SUBROUTINE * MOVE NOP MLOOP LDB A,I GET A WORD. STB BUFPT,I STORE IT. INA MOVE ISZ BUFPT POINTERS. ISZ MCNTR DONE YET? JMP MLOOP NO! GO MOVE ANOTHER WORD. JMP MOVE,I YES! EXIT. * ***************************************************************** * * *TEST MODULE * STCOD DEF *+1 BELOW NOP NOP THIS WILL BE THE FENCE LOCATION STA FENVA,I STORE AT FENCE. NO INTERRUPT. MPTVL STA FENP1,I STORE BELOW FENCE. INTERRUPT. HLT 03 FORCE INT IN CASE OF BAD FENCE. JMP RLOP,I TRANSFER CONTROL BACK TO TEST. ***************************************************************** ENCOD EQU * LENCD EQU ENCOD-BELOW NLNCD ABS BELOW-ENCOD OFSET EQU MPTVL-BELOW-1 OFSTM DEF OFSET BUFAD DEF *+1 NOP NOP 2 NOP NOP NOP NOP NOP SKP * * *TEST ABILITY OF AN I/O INSTRUCTION IN A TRAP * CELL NOT TO SHUT OFF MPT * MPT08 CLC 0,C TURN OFF I-O LDA BMPT A = MPT S/C JSB JSTRP TRAP CELL = JSB INT4 DEF INT4 LDA MP08D SET UP FENCE OTA FENCE STA FENVA LDA CFTBG A = CLF TBG STA TBG TRAP CELL = CLC TBG JSB ONTBG TURN ON TBG STC MTRAP TURN ON MPT NOP TBG INTERRUPT AFTER FIRST NOP NOP CLF0 CLC 0,C MPT VIOLATION SHOULD OCCUR HERE JSB PROER,I MPT VIOLATION DID NOT OCCUR * INT4 NOP MPT ROUTINE CLF 0 DISABLE INTERRUPTS LDA JSBIL GET JSB ILINT FOR TBG TRAP CELL STA TBG LOAD TRAP CELL SFC TBG DID TBG TICK AGAIN? JSB PROER,I YES - CLF IN TRAP CELL DID NOT EXECUTE LIA VIOLA,C NO - READ VIOLATION REGISTER CPA CLFAD COMPARE WITH EXPECTED VIOLATING ADDRESS RSS VIOLATIONG ADDRESS CORRECT JSB PROER,I WRONG INSTRUCTION CAUSED VIOLATION SFC TBG WAIT FOR TBG FLAG TO SET AGAIN JMP MPT09-1 IT SET. GO TO NEXT TEST ISZ A STILL CLEAR - INCREMENT COUNTER JMP *-3 CHECK FLAG AGAIN JSB CPUER,I TBG TURNED OFF BY CRS WITH MPT ON. * ONTBG NOP CLB CLF TBG CLEAR TBG FLAG STC TBG TURN ON TBG SFC TBG HAS TBG TICKED? JMP *+4 YES - GO ON ISZ B NO - GIVE IT TIME JMP *-3 JSB PROER,I TBG DID NOT TICK STF 0 JMP ONTBG,I RETURN TO PROGRAM * CLC 0,C AND WORLD SKP * *THIS VERIFIES THAT A MULTI-LEVEL INDIRECT * INSTRUCTION WILL BE INTERRUPTED DURING THE THIRD LEVEL MPT09 LDA B6 A = TBG S/C JSB JPTRP TRAP CELL = JMP ERR09 DEF ERR09 JSB ONTBG TURN ON TBG JMP *+1,I START MULTI-LEVEL DEF *+1 INDIRECT. NO INTERRUPT. CLC 0,C CLEAR INT SYSTEM. JSB JPTRP TRAP CELL = JMP E09.1 DEF E09.1 JSB ONTBG TURN ON TBG JMP *+1,I MULTI-LEVEL INDIRECT DEF *+1,I (TWO LEVELS-NO INTERRUPT). DEF *+1 CLC 0,C CLEAR INT. SYSTEM. JSB JSTRP TRAP CELL = JSB EXITM DEF EXITM JSB ONTBG TURN ON TBG JMP *+1,I THREE DEF *+1,I LEVEL DEF *+1,I INDIRECT. DEF *+1 INTERRUPT HERE. EXILP CLC 0,C NO INTERRUPT OCCURRED. JSB CPUER,I NO I/O INTERRUPT IN INDIRECT CHAIN ERR09 JSB CPUER,I INTERRUPT AFTER 1ST LEVEL INDIRECT E09.1 JSB CPUER,I INTERRUPT AFTER 2ND LEVEL INDIRECT EXILA DEF EXILP EXILB DEF EXILQ EXITM NOP LDA EXITM CHECK RETURN ADDRESS CPA EXILA ?? RSS OK JSB CPUER,I NO CLC 0,C CLEAR THE I/O SYSTEM LDA B6 A = TBG S/C JSB JSTRP TRAP CELL = JSB EXITN DEF EXITN JSB ONTBG TURN ON TBG EXILQ JMP *+1,I FOUR DEF *+1,I LEVELS DEF *+1,I OF INDIRECT DEF *+1,I DEF *+1 CLC 0,C TURN OFF INTERRUPTS JSB CPUER,I INTERRUPT ALLOWED AFTER INDIRECT CHAIN EXITN NOP LDA EXITN CHECK RETURN ADDRESS CPA EXILB IS IT RIGHT?? RSS JSB CPUER,I INTERRUPT ALLOWED AFTER INDIRECT CHAIN LDA JSBIL RESTORE JSB ILINT TO TRAP CELL STA MTRAP STA TRP06 CLC 0,C TURN EVERY THING OFF * *PROCESSOR INTERRUPT PRIORITY TEST. CHECKS THAT PARITY * * INTERRUPT IS SERVICED BEFORE A UIT OR A MEMORY PROTECT * * INTERRUPT. IF UI OR MP INTERRUTS OCCUR AHEAD OF * * PARITY ERROR INTERRUPTS, AN ILLEGAL INTERRUPT WILL * * BE INDICATED. * PRIPR LDA B7 LOAD 7 INTO THE STA CNTR SUBSECTION COUNTER LDA B2000 LOAD LOCATION 2000 OTA FENCE AND LOAD INTO THE FENCE CLC PES TURN OFF PARITY INTERRUPTS LDA BDN1,I BDN == INSTR. TO STORE BELOW FENCE LDB UI UI = UNIMPLEMENTED INSTRUCTION STF PES REVERSE PARITY SENSE SFC PES DOES SFS AND SFS PES SFC WORK? JSB PROER,I NO - FAILURE STA BDI STORE VIOLATING MP INSTR. W/ BAD PARITY STB BUI.1 STORE UI W/ BAD PARITY CLF PES RESET PARITY SENSE SFS PES DOES SFS AND SFC PES SFC WORK? JSB PROER,I NO - FAILURE LDA B5 SET UP NEW PARITY INTERRUPT RETURN JSB JPTRP TRAP CELL 5= JMP PRI.1 DEF PRI.1 STC PES TURN ON PARITY INTERRUPTS STC MPT TURN ON MEMORY PROTECT BDI NOP INSTR. W/ BAD PARITY.STORE BELOW FENCE STA BDI NO INTERRUPT OCCURRED JSB PROER,I GO SHOW ERROR PRI.1 STA BDI INTERRUPT WAS HANDLED CORRECTLY LDA B5 SET UP NEW PARITY INTERRUPT TRAP CELL JSB JPTRP TRAP CELL 5 = JMP PRI.2 DEF PRI.2 LDA B10 RESET COUNTER FOR STA CNTR UIT STC PES TURN ON PARITY SYSTEM BUI.1 NOP INSTR. W/ BAD PARITY -- UI STA BUI.1 RESTORE GOOD PARITY JSB PROER,I DIDN'T INTERRUPT PRI.2 STA BUI.1 INT. GOOD -- RESTORE GOOD PARITY JSB RSTRP RESTORE TRAP CELL 5 STC PES TURN ON PARITY SYSTEM * * *PROCESSOR TESTS COMPLETE. GO TEST I/O SYSTEM. HED I/O CHIP TESTS - REGISTERS AND FLAGS * * *BASIC CPU FUNCTIONS WORK. CHECK THE I/O CHIPS. * * *SET UP A TABLE OF ALL SYSTEM SELECT CODES * CHIPS LDA B13 GET STATUS = SETTING S/C TABLE OTA LEDS OUTPUT TO LEDS CLC 0,C CLEAR THE I/O SYSTEM CLA,INA SET DIAGNOSE MODE 1 OTA GR GIVE TO CHIPS LDA SCTAD GET S/C TABLE ADDRESS = SCTBL 1 STA POINT SET POINTER TO THE BEGINNING-1 GETSC CLA IN CASE OF NO RESPONSE ISZ POINT READY FOR NEXT ENTRY LIA GR GET A SELECT CODE SZA,RSS DID ONE COME BACK? JMP NOSC NO AND SCM YES - USE THE SELECT CODE AND BIT 15 STA POINT,I STORE IT IN THE SELECT CODE TABLE ELA,CLE,ERA STA TMP0 SAVE SC ONLY AND B70 SZA,RSS IS IT A VALID SELECT CODE? JSB IOER,I NO LDA SCTAD YES INA SET A TO FIRST ENTRY DUPSC LDB A CHECK FOR DUPLICATE S/C'S CPB POINT END OF TABLE? JMP GETSC YES - MOVE TO NEXT CHIP LDB A,I NO - GET S/C FROM TABLE CPB TMP0 IS IT THE SAME AS THE NEW S/C? JSB IOER,I YES INA JMP DUPSC NO - CHECK NEXT ENTRY NOSC LDA SCTBL+1 HAVE ANY S/C'S BEEN ENTERED? SZA,RSS JSB IOER,I NO, SO NO I/O CHIPS RESPONDED. ERROR LDA SCTAD YES, SO THE S/C TABLE IS COMPLETE STA POINT RESET POINTER TO BEGINNING-1 CLA DISABLE DIAGNOSE MODE 1 OTA GR * * *NOTE: IF OTA OR LIA GR FAILED, THE CODE WILL ERROR OUT EITHER * AT THE POINT INDICATING NO IO CHIPS, OR AT THE POINT * INDICATING DUPLICATE IO CHIPS SKP * *CHECK IF A BAD PRIORITY CHAIN PREVENTED * ANY I/O CHIPS FROM RESPONDING * TST06 LDA B7 START WITH 10 ISZ POINT STA TEMP3 TEMP3 IS THE COUNTER MIS.1 ISZ TEMP3 INCREMENT THE COUNTER LDA POINT GET THE TABLE ADDRESS MIS.2 LDB A,I B = CURRENT S/C TABLE ENTRY SZB,RSS END OF THE TABLE? JMP NOTIN S/C UNDER TEST NOT IN TABLE ELB,CLE,ERB CPB TEMP3 IS S/C UNDER TEST = TABLE ENTRY? JMP MIS.1 YES - TEST NEXT SELECT CODE INA NO - CHECK NEXT TABLE ENTRY JMP MIS.2 NOTIN LDB TEMP3 GET S/C UNDER TEST CPB B100 HAVE ALL S/C'S BEEN CHECKED? JMP GRTST YES OTB GR,C NO - TRY TALKING TO THIS S/C CLA LIA GR SZA DID ANYTHING COME BACK? JSB IOER,I YES - IT SHOULDN'T HAVE JMP MIS.1 NO - TEST NEXT SELECT CODE SKP * * *CHECK EACH CHIP'S REGISTERS AND FLAGS * * * *CHECK ALL THE GLOBAL REGISTERS * GRTST JSB CLC0,I CLEAR & DISABLE DIAGNOSE MODE 1 LDA B7 SET UP A SELECT CODE COUNTER OTA GR ESTABLISH DIAGNOSE MODE SEVEN STA TEMP3 TEMP3 IS THE COUNTER GRT.1 LDA B2 ESTABLISH DIAGNOSE MODE 2 OTA GR LDB SCTAD SET POINTER TO BEGINNING-1 STB POINT CLA STA TEMP4 CLEAR TEMP4 ISZ TEMP3 INCREMENT SELECT CODE COUNTER LDA TEMP3 HAVE ALL S/C'S BEEN CHECKED? CPA B100 JMP REGFL YES - DO NEXT TEST OTA GR NO - OUTPUT S/C TO GR GRT.2 ISZ POINT MOVE TO NEXT TABLE ENTRY LDB POINT,I GET NEXT TABLE SELECT CODE SZB,RSS IS THIS THE END OF THE TABLE? JMP GRT.1 YES - CHECK THE NEXT SELECT CODE ELB,CLE,ERB LDA TEMP3 GET S/C UNDER TEST FROM COUNTER CPA B IS S/C UNDER TEST = TO TABLE ENTRY? ISZ TEMP4 YES - REMEMBER THAT IT'S EQUAL LIA GR GET STATUS FROM CURRENT I/O CHIP STA TEMP5 SAVE STATUS AND B77 MASK OUT SELECT CODE CPA TEMP3 IS S/C IN STATUS = S/C SENT TO GR? RSS YES JSB IOER,I NO LDB TEMP4 DID S/C UNDER TEST = TABLE ENTRY? SZB JMP EQUAL YES NOTEQ LDA TEMP5 NO - GET STATUS AGAIN AND PAT16 MASK IRRELEVANT BITS CPA PAT17 IS STATUS CORRECT? RSS JSB IOER,I NO JMP GRT.2 YES - TEST NEXT I/O CHIP EQUAL LDA TEMP5 GET STATUS AGAIN AND PAT16 PRIO,DF3,CNTRL,FLAG,GR=SC,GREN CPA PAT20 IS STATUS CORRECT? RSS F  PRIORITY AND GR=S/C ONLY JSB IOER,I NO CLA CLEAR TEMP4 STA TEMP4 JMP GRT.2 YES - TEST NEXT I/O CHIP SKP * * *CHECK CHIP DATA PATHS AND THAT MERGE WORKS * REGFL LDA SCTAD SET POINTER TO BEGINNING-1 STA POINT SETSC JSB CLC0,I ISZ POINT GET THE NEXT CHIP SELECT CODE LDA POINT,I SZA,RSS IS THIS THE END OF THE TABLE? JMP NTSAD,I YES - GO TEST INTERRUPTS OTA GR,C NO - ENABLE THE GLOBAL REGISTER SFC GR IS GR ENABLED? JSB IOER,I NO CLA YES - NOW CHECK DATA BUS BUSCK OTA CWRD1 OUTPUT DATA TO CHIP LIB CWRD1 INPUT DATA FROM CHIP CPA B IS DATA CORRECT? RSS JSB IOER,I NO ISZ A YES - INCREMENT THE DATA, REPEAT JMP BUSCK LDB PAT02 BUS OK; VERIFY THAT MERGE WORKS OTB CWRD1 SET UP CWRD1 LDB PAT03 GET EXPECTED RESULT LDA PAT04 SET UP A MIA CWRD1 EXECUTE THE MERGE CPA B WAS THE MERGE CORRECT? RSS JSB IOER,I NO SKP * * *CHECK ALL REGISTERS * LIA N1 GET CONTENTS OF 25 STA TEMP9 AND STORE TEMPORARILY LDB PAT02 GET THE FIRST TEST PATTERN REGCK OTB INMSK WRITE INTERRUPT MASK REGISTER OTB CONAD WRITE CONFIGURATION ADDRESS REG LIA CONAD CHECK IF BIT 15 IS ALWAYS A ONE SSA,RSS IS IT A ONE? JSB IOER,I NO OTB CWRD1 WRITE DMA CONTROL WORD 1 REG OTB WRDCT WRITE DMA WORD COUNT REGISTER OTB DMAAD WRITE DMA ADDRESS REGISTER OTB N1 WRITE N1 REGISTER OTB N2 WRITE N2 REGISTER OTB M2 WRITE M2 REGISTER STB TEMP0 STORE PATTERN TEMPORARILY LDA POINT,I GET GLOBAL REGISTER LDB B2 INSTRUCTION TO READ JSB IRGC1 GO CHECK IT JSB IOER,I LI* OR MI* 2 FAILED  LDB TEMP0 GET PAT02 AGAIN LIA INMSK MERGE INTO A FROM INT MASK REG AND PAT14 MASK OFF BIT 0 MIA CWRD1 OR WITH CONT WORD 1 REG MIA WRDCT OR WITH WORD COUNT REG STA TEMP0 SAVE CONTENTS OF A LIA DMAAD GET DMA ADDR REG DATA MIA CONAD OR WITH CONF ADDR REG MIA DMAAD OR WITH DMA ADDR. AND PAT15 MASK OFF BIT 15 IOR TEMP0 OR WITH SAVED CONTENTS OF A MIA N1 OR WITH N1 REG MIA N2 OR WITH N2 REG MIA M2 OR WITH M2 REG CPA B WAS THE DATA CORRECT? RSS JSB IOER,I NO CMB YES - INVERT PATTERN CPB PAT02 HAVE BOTH PATTERNS BEEN CHECKED? RSS YES JMP REGCK NO - DO NEXT PATTERN LIA DMAAD CHECK THAT DMA ADDR BIT 15 WORKS SSA,RSS CWRD1 BIT 7 = 0; IS DMAAD 15 = 1? JSB IOER,I NO OTB CWRD1 CWRD1 BIT 7 = 1 LIA DMAAD GET DMA ADDR REG CONTENTS SSA IS BIT 15 = 0? JSB IOER,I NO JSB CLC0,I CLEAR I/O CLF GR AND RE-ENABLE GLOBAL REG. SKP * * *CHECK DEVICE FLAG WITH GR ENABLED * *ALSO CHECK PARITY IO INTERRUPTS. * FLAGS SFC DF3 FLAGS 20, 21, 22 CLEAR? SFC WORK? JSB IOER,I NO SFC DF0 DOES SFC 20 WORK? (USED LATER) JSB IOER,I NO STF GSC SET THE DEVICE FLAG (30) W/ GR ENABLED SFC GSC CHECK IF FLAG SET, SFS AND SFC SFS GSC IS FLAG SET? JSB IOER,I NO. FLAG CLEAR OR SFS-SFC BOMBED CLF GSC YES - CLEAR THE FLAG SFS GSC IS FLAG CLEAR? AND DO SFS-SFC SFC GSC DETECT IT? JSB IOER,I NO. FLAG NOT SET OR SFS-SFC BOMBED STF GR YES - DISABLE THE GR SKP * * *CHECK DEVICE FLAG WITH GR DISABLED * FLAG1 LDB POINT,I GET CURRENT SELECT CODE LDA B7 NUMBER OF INSTRU6ACTIONS TO CHANGE JSB MDSC,I GO TO SUBROUTINE STF SC SET FLAG SFC SC IS FLAG SET? AND DO SFS-SFC SFS SC DETECT IT? JSB IOER,I NO. FLAG NOT SET OR SFS-SFC FAILED CLF SC YES - CLEAR THE FLAG SFS SC IS FLAG CLEAR? AND DO SFS-SFC SFC SC DETECT IT? JSB IOER,I NO. FLAG NOT CLEAR OR SFS-SFC FAILED CLF GR YES - ENABLE THE GR STF GSC VERIFY I/O CHIP PARAMETERS CLC GSC INSURE CONTROL IS OFF LDA B2 ESTABLISH DIAGNOSE MODE 2 OTA GR LDA POINT,I A = S/C UNDER TEST IOR LIASC A = LIA CHIP SELECT CODE STA M2SET M2SET = LIA S/C M2SET NOP RESERVED FOR LIA FROM CURRENT S/C AND PAT23 RETAIN CONTROL,FLAG,GR=S/C?,GREN? XOR PAT27 MASK BITS SZA PARAMETERS CORRECT? JSB IOER,I NO OTA GR DISABLE DIAGNOSE MODE 2 CLC GSC,C CLEAR FLAG,CONTROL STF GR DISABLE GLOBAL REGISTER LDA B2 ESTABLISH DIAGNOSE MODE 2 OTA GR LDA M2SET GET LIA S/C INSTRUCTION STA M2CLR M2CLR = LIA S/C M2CLR NOP RESERVED FOR LIA FROM CURRENT S/C AND PAT32 RETAIN CONTROL,FLAG,GR=S/C?,GREN? XOR PAT30 MASK BITS; GR=S/C SHOULD BE A 1 SZA PARAMETERS CORRECT? JSB IOER,I NO OTA GR,C A=0, DISABLE DIAGNOSE MODE 2 SKP * * *ROTATE A PATTERN THROUGH EACH REGISTER * CCE INITIALIZE E LDA PAT06 GET THE PATTERN ROTAT RAL ROTATE DATA LEFT OTREG STA TEMP1 SAVE THE PATTERN IN A OTA INMSK WRITE INTERRUPT MASK REGISTER AND PAT14 MASK OFF BIT 0 STA TEMP2 SAVE THE PATTERN CLA CLEAR A MIA INMSK READ BACK FROM INTERRUPT MASK AND PAT14 MASK OFF BIT 0 CPA TEMP2 DATA CORRECT? RSS YES  JSB IOER,I NO - MERGE FAILED OR DATA INCORRECT LDA TEMP1 GET CURRENT PATTERN IOR PAT10 ADD BIT 15 TO PATTERN OTA CONAD WRITE CONFIGURATION ADDRESS REG LIB CONAD READ BACK CPA B DATA CORRECT? RSS YES JSB IOER,I NO LDA TEMP1 GET CURRENT PATTERN OTA CWRD1 WRITE DMA CONTROL WORD 1 REG LIB CWRD1 READ BACK CPA B DATA CORRECT? RSS YES JSB IOER,I NO OTA WRDCT WRITE DMA WORD COUNT REGISTER LIB WRDCT READ BACK CPA B DATA CORRECT? RSS YES JSB IOER,I NO OTA DMAAD WRITE DMA ADDRESS REGISTER AND PAT15 MASK OFF BIT 15 STA TEMP2 SAVE THE PATTERN LIA DMAAD READ BACK DMA ADDRESS REGISTER AND PAT15 MASK OFF BIT 15 CPA TEMP2 DATA CORRECT? RSS YES JSB IOER,I NO * * (CONTINUED) * SKP LDA TEMP1 GET CURRENT PATTERN OTA N1 WRITE N1 REGISTER LIB N1 READ BACK CPA B DATA CORRECT? RSS YES JSB IOER,I NO OTA N2 WRITE N2 REGISTER LIB N2 READ BACK CPA B DATA CORRECT? RSS YES JSB IOER,I NO OTA M2 WRITE M2 REGISTER LIB M2 READ BACK CPA B DATA CORRECT? RSS YES JSB IOER,I NO CMA COMPLEMENT DATA SEZ,CME HAS THE COMPLEMENT BEEN CHECKED? JMP OTREG NO - CHECK IT CPA PAT06 YES - WAS THAT LAST PATTERN? RSS YES JMP ROTAT NO - DO NEXT PATTERN SKP * * *CHECK FOR CROSSTALK BETWEEN REGISTERS LDA B2 SET A = 2 CROSS STA B STORE CURRENT PATTERN IN B OTA INMSK WRITE 000002 TO INT MASK REG INA OTA CONAD WRITbE 000003 TO CONF ADDR REG INA OTA CWRD1 WRITE 000004 TO CONT WORD 1 REG INA OTA WRDCT WRITE 000005 TO WORD COUNT REG INA OTA DMAAD WRITE 000006 TO DMA ADDR REG INA OTA N1 WRITE 000007 TO N1 REG INA OTA N2 WRITE 000010 TO N2 REG INA OTA M2 WRITE 000011 TO M2 REG STB TEMP3 SAVE B LDA B AND PAT14 MASK OFF BIT 0 LDB A PUT MODIFIED PATTERN IN B LIA INMSK CHECK IF CROSSTALK OCCURRED. GET INMSK AND PAT14 MASK OFF BIT 0 CPA B DATA CORRECT? RSS YES JSB IOER,I NO LDB TEMP3 RESTORE B INB LIA CONAD GET CONF ADDR DATA AND PAT15 MASK OFF BIT 15 CPA B DATA CORRECT? RSS YES JSB IOER,I NO INB LIA CWRD1 GET CONT WORD 1 DATA CPA B DATA CORRECT? RSS YES JSB IOER,I NO INB LIA WRDCT GET WORD COUNT DATA CPA B DATA CORRECT? RSS YES JSB IOER,I NO INB LIA DMAAD GET DMA ADDRESS DATA AND PAT15 MASK OFF BIT 15 CPA B DATA CORRECT? RSS YES JSB IOER,I NO * * (CONTINUED) * SKP INB LIA N1 GET N1 DATA CPA B DATA CORRECT? RSS YES JSB IOER,I NO INB LIA N2 GET N2 DATA CPA B DATA CORRECT? RSS YES JSB IOER,I NO INB LIA M2 GET M2 DATA CPA B DATA CORRECT? RSS YES JSB IOER,I NO RAL ROTATE PATTERN LEFT ONE SSA,RSS HAVE ALL PATTERNS BEEN CHECKED? JMP CROSS NO - CHECK THIS PATTERN CLC PES TURN OFF PARITY INT. STF PES REVERSE SENSE LDA BI OIS GET GOOD INSTR., REVERSE STA BIOIN SENSE AND STORE IN-LINE CLF PES RESET SENSE STC PES TURN ON SYSTEM LDA B5 LOAD NEW PAROITY INTERRUPT ADDRESS JSB JPTRP INTO TRAP CELL 5 DEF PIO1 CCA SET A TO ALL ONE'S BIOIN NOP TRY TO EXECUTE BAD INSTR. STA BIOIN CLEAR INSTRUCTION LOCATION JSB IOER,I NO INTERRUPT OCCURRED PIO1 STC PES TURN SYSTEM BACK ON AFTER INTERRUPT STA BIOIN RESTORE GOOD PARITY IN L0CATION SFC GSC DID INSTRUCTION EXECUTE? JSB IOER,I YES SO ERROR JSB RSTRP RESTORE TRAP CELL LDA TEMP9 GET ORIGINAL CONTENTS OF 25 OTA N1 AND SEND BACK TO 25 * * *THIS I/O CHIP'S REGISTERS AND NON-DMA FLAGS ARE GOOD * JMP SSC,I CHECK THE NEXT I/O CHIP SKP * *SELECT CODE MODIFICATION ROUTINE FOR I/O INSTRUCTIONS * * ORG 16000B MODSC NOP RETURN ADDRESS CMA,INA TWO'S COMPLEMENT NUMBER OF INSTR. STA TEMP0 STORE IN REG. LDA MODSC GET ADDRES OF FIRST INSTRUCTION STA TEMP1 STORE IN REG. MOD.1 LDA TEMP1,I GET FIRST INSTRUCION SSA,RSS IS BIT 15 1?(POSSIBLE I/O INSTRUCTION) JMP MODNX NO. GET NEXT INSTRUCTION AND PAT33 MASK WITH 172000 OCTAL CPA PAT34 COMPARE WITH 102000 OCTAL(I/0 INSTR. FORMAT) RSS JMP MODNX NOT EQUAL. TRY ANOTHER INST. LDA TEMP1,I GET INSTR. AGAIN AND B70 AND IT WITH 70 OCTAL SZA,RSS SKIP IF NOT ZERO JMP MODNX GO DO NEXT INSTRUCTION LDA TEMP1,I GET INSTRUCTION AGAIN AND PAT00 MASK WITH 177700 OCTAL IOR B PUT IN NEW SELECT CODE STA TEMP1,I RESTORE IT MODNX ISZ TEMP1 INCREMENT ADDRESS POINTER ISZ TEMP0 INCREMENT INSTR. COUNTER JMP MOD.1 DO IT AGAIN JMP MODSC,I END OF SUBROUTINE WHEN COUNT=0 :G HED I/O CHIP TESTS - NON-DMA INTERRUPTS * * *NOW THE INTERRUPT SYSTEM WILL BE CHECKED * TST07 RSS OR JSB CNTL JMP TST08 NOP LDA SCTAD SET TABLE POINTER TO BEGINNING-1 STA POINT INT.1 CLA CLEAR INTERRUPT MASK REGISTER OTA INMSK STA TEMP2 CLEAR TEMP2 INT.2 ISZ POINT INCREMENT S/C TABLE POINTER LDA POINT,I GET NEXT CHIP SELECT CODE SZA,RSS IS THIS THE END OF THE TABLE? JMP TST08 YES - GO TEST DMA OTA GR,C NO - LOAD GLOBAL REGISTER LDB B2 ESTABLISH DIAGNOSE MODE 2 OTB GR IOR LIASC A = LIA S/C STA INT.3 INT.3 = LIA S/C INT.3 NOP RESERVED FOR LIA FROM CURRENT S/C AND PAT21 SAVE PRIORITY BIT XOR PAT21 DOES CHIP HAVE PRIORITY? SZA JSB IOER,I NO OTA GR,C YES - DISABLE DIAGNOSE MODE 2 * * CHECK THAT AN I/O INSTR. IN TRAP CELL GETS EXECUTED * CCA STORE A -1 OTA M2 IN 24 LDB IORTN STORE RETURN ADDRESS IN B LDA LIA24 GET THE INSTRUCTION JMP A GO DO IT IORT1 CMA,SZA DID INSTRUCTION EXECUTE? JSB IOER,I NO - GO INDICATE SKP * * *CHECK INTERRUPT REQUEST HANDLING * LDA POINT,I GET THE CURRENT CHIP S/C ELA,CLE,ERA JSB JPTRP SET UP TRAP CELL = JMP INT.4 DEF INT.4 STF DF2 FORCE AN INTERRUPT FROM CHIP STF 0 ENABLE INTERRUPTS ISZ TEMP2 SHOULD INTERRUPT AFTER 1 ISZ TEMP2 ISZ TEMP2 EXECUTED? INTERRUPTED AT WRONG TIME JSB IOER,I NO INTERRUPT INT.4 CLF 0 TURN OFF THE INTERRUPT SYSTEM CLF DF2 TURN OFF PARITY INTERRUPT JSB RSTRP INTERRUPT GOOD. RESTORE TRAP CELL LDB TEMP2 CHECK WHERE INTERRUPT OCCURRED CPB B1 WAS IT AFTER FIRST ISZ TEMP2? RSS YES JSB IOER,I NO  STF DF2 WILL CLF 0 PREVENT INTERRUPTS? NOP GIVE IT TIME;NO INT. SHOULD OCCUR NOP IF INT. OCCURS JSB ILINT STF 0 CAN INTERRUPTS BE HELD OFF STF DF0 BY I/O INSTRUCTIONS? ALL INSTR. CLF DF0 SHOULD EXECUTE WITHOUT AN INT. SFS DF0 OCCURRING. IF ONE DOES, JSB ILINT SFC DF0 LIA 7,C MIA 7,C OTA 7 JMP *+1,I HELD OFF BY JMP,I? DEF *+1 JSB *+1,I HELD OFF BY JSB,I? DEF *+1 NOP CLF DF2 HELD OFF BY CLEARING THE FLAG? NOP GIVE IT TIME. NO INT. SHOULD OCCUR NOP SINCE FLAG HAS BEEN CLEARED. SKP * * *CHECK TO SEE IF MORE THAN ONE INTERRUPT OCCURS * FROM EACH CHIP * LDA POINT,I A = CHIP S/C UNDER TEST ELA,CLE,ERA JSB JSTRP SET TRAP CELL = JSB INT.5 DEF INT.5 STF DF2 FORCE AN INTERRUPT NOP GIVE IT TIME JSB IOER,I NO INTERRUPT OCCURRED INT.5 NOP LDA INT.5 GET RETURN ADDRESS CPA .5RTN DID A SECOND INTERRUPT OCCUR? RSS NO JSB IOER,I YES, MULTIPLE INTERRUPTS OCCURRED CLF DF2 CLEAR CHIP FLAG LDA POINT,I A = CHIP S/C UNDER TEST ELA,CLE,ERA * * *CHECK IF CLC 0 PREVENTS INTERRUPTS * ISZ TEMP2 TEMP2=2 ISZ TEMP2 TEMP2=3 STF DF2 NOW FORCE AN INTERRUPT CLC 0 CAN CLC 0 PREVENT INTERRUPTS? NOP GIVE IT TIME JSB CLC0,I TURN OFF INTERRUPTS AND CHECK CARDS CLF GR ENABLE GLOBAL REGISTER CLF DF2 CLEAR FLAG ON CHIP UNDER TEST SKP * * *NOW CHECK THE INTERRUPT MASK REGISTER BY * GENERATING THE PATTERN TO MASK THE CURRENT CHIP * AND THEN ATTEMPTING INTERRUPTS. THEN MASK ALL BUT * THE CURRENT CHIP AND INTERRUPT. EACH TIME THE * INTERRUPT MASK IS ALTERED INSURE THAT THE NEXT LOWER * PRIORITY I/O CHIP IS CORRECTLY GIVEN PRIORITY BY * THE CHIP UNDER TEST OR THAT PRIORITY IS REMOVED. * MSKCK LDB B1ADR GET ADDRESS OF CONSTANT TABLE STB TEMP3 SAVE THE ADDRESS LDB PAT22 BEGIN FORMING PATTERN. B = 000004 LDA POINT,I A = CHIP S/C UNDER TEST AND B70 RETAIN HIGH ORDER BITS RAR,RAR SHIFT HIGH BITS TO LOW POSITION RAR WCHSC CPA TEMP3,I DO THE HIGH ORDER BITS MATCH? JMP MATCH YES RBL,RBL NO - ROTATE MASK PATTERN LEFT TWICE ISZ TEMP3 MOVE TO NEXT CONSTANT JMP WCHSC CHECK THE NEXT VALUE MATCH LDA POINT,I A = CHIP S/C UNDER TEST ELA,CLE,ERA RAR,RAR LOOK AT S/C BIT 2 SLA IS IT A 1? RBL YES, ROTATE PATTERN LEFT ONCE MORE SFC DF0 WAS THE LAST ROUTINE USED BY DMA? JMP BACK YES - OTB INMSK AND RETURN TO DMA JSB CKPRI NO. CHECK PRIORITY ON THE NEXT CHIP SEZ,RSS DID IT HAVE PRIORITY? JSB IOER,I NO, BUT IT SHOULD HAVE STF DF2 FORCE A INTERRUPT FROM CHIP JSB CKPRI WANTS TO INTERRUPT. CHECK NEXT PRIORITY SEZ DID IT HAVE PRIORITY? JSB IOER,I YES, BUT IT SHOULDN'T HAVE OTB INMSK MASK CURRENT CHIP STF TBG SET FLAG INDICATING INMSK TEST JSB CKPRI CHECK PRIORITY OF NEXT CHIP SEZ,RSS DOES NEXT CHIP HAVE PRIORITY? JSB IOER,I NO, BUT IT SHOULD HAVE CMB COMPLEMENT MASK OTB INMSK MASK ALL BUT CURRENT CHIP JSB CKPRI CHECK PRIORITY OF NEXT CHIP SEZ DOES NEXT CHIP HAVE PRIORITY? JSB IOER,I YES, BUT IT SHOULDN'T HAVE CMB SET B TO ORIGINAL INMSK VALUE CLC GSC,C CLEAR CONTROL AND FLAG ON CURRENT CHIP * * (CONTINUED) * SKP MSK.1 OTB INMSK PATTERN IS CORRECT SET INTERRUPT MASK LIA INMSK GET INMSK FROM CHIP UNDER TEST SLA,RSS IS THIS CHIP MASKED? JSB IOER,I INMSK THINKS S/C IS NOT MASKED LDA POINT,I GET CHIP S/C UNDER TEST ELA,CLE,ERA JSB JPTRP TRAP CELL = JMP INT.7 DEF INT.7 STF DF2 TRY TO FORCE AN INTERRUPT STF 0 ENABLE INTERRUPTS NOP GIVE IT TIME RSS NO INTERRUPT HAS OCCURRED INT.7 JSB IOER,I THE INTERRUPT OCCURRED ILLEGALLY CLF 0 DISABLE INTERRUPTS LIA INMSK GET INTERRUPT MASK CMA MASK ALL S/C'S EXCEPT CURRENT CHIP OTA INMSK LDA POINT,I A = CHIP S/C UNDER TEST ELA,CLE,ERA JSB JPTRP TRAP CELL = JMP INT.8 DEF INT.8 STF 0 ALLOW THE INTERRUPT NOP GIVE IT TIME JSB IOER,I NO INTERRUPT INT.8 CLF DF2 INTERRUPT GOOD - CLEAR CHIP FLAG JSB RSTRP RESTORE JSB ILINT TO TRAP CELL JSB CLC0,I CLEAR ALL I/O * * *THIS CHIP INTERRUPTS CORRECTLY * JMP INT.1 TEST NEXT CHIP'S INTERRUPTS SKP * * *SUBROUTINE TO CHECK PRIORITY OF NEXT LOWER * PRIORITY I/O CHIP * CKPRI NOP RESERVED FOR RETURN ADDRESS DST SAVA SAVE A AND B LDA POINT,I GET CURRENT I/O CHIP S/C ELA,CLE,ERA STA TEMP1 SAVE IT IN TEMP1 ISZ POINT MOVE POINTER TO NEXT I/O CHIP S/C LDA POINT,I GET NEXT CHIP S/C ELA,CLE,ERA STA TEMP0 SAVE IT IN TEMP0 CCA DECREMENT POINTER ADA POINT STA POINT LDA TEMP0 A = NEXT CHIP S/C SZA,RSS IS THERE A NEXT CHIP? JMP MSK.1 NO - CONTINUE TESTING THE CURRENT CHIP OTA GR YES - GIVE S/C TO GR SFC TBG HAS THE INMSK TEST BEGUN? JSB NXMSK YES - ARE CURRENT AND NEXT BOTH MASKED? LDB B2 NO -r ESTABLISH DIAGNOSE MODE 2 ON NEXT OTB GR LDA TEMP0 GET NEXT CHIP S/C IOR LIASC GET LIA SC FOR MODIFICATION STA GETPR PUT INSTRUCTION IN LINE GETPR LIA SC RESERVED FOR LIA FROM NEXT S/C AND PAT17 DOES NEXT CHIP HAVE PRIORITY? CCE SZA CLE CME IF NO, CLEAR E. IF YES, SET E CLA DISABLE DIAGNOSE MODE 2 OTA GR LDA TEMP1 RESTORE GR TO CURRENT S/C OTA GR DLD SAVA RESTORE A AND B JMP CKPRI,I RETURN TO PROGRAM BACK OTB INMSK MASK CURRENT CHIP JMP FLG11 RETURN TO DMA TEST NXMSK NOP CLC TBG,C CLEAR TBG FLAG LIA INMSK GET INMSK FROM NEXT CHIP SLA IS CHIP MASKED? JMP SAMSK YES - SKIP INMSK TEST JMP NXMSK,I NO - RETURN TO PRIORITY CHECK SAMSK LDA TEMP1 RESTORE GR TO CURRENT S/C OTA GR DLD SAVA RESTORE A AND B CLC GSC,C CLEAR CONTROL AND FLAG ON CURRENT CHIP JMP MSK.1 CONTINUE TESTING CURRENT CHIP * * *THE I/O CHIPS ALL INTERRUPT CORRECTLY. HED I/O CHIP TESTS - DMA FUNCTIONS * *THE DMA TEST * * *TEST FLAGS ON S/C'S 20, 21, 22, AND 23 * TST08 EQU * DMATS LDA SCTAD SET TABLE POINTER TO BEGINNING-1 STA POINT DMAT1 ISZ POINT INCREMENT THE S/C TABLE POINTER LDA POINT,I GET THE NEXT CHIP S/C ELA,CLE,ERA SZA,RSS IS THIS THE END OF THE TABLE? JMP ALLAD,I YES - GO TEST MULTI INTERRUPTS OTA GR,C NO - LOAD THE GLOBAL REGISTER LDA B7 ESTABLISH DIAGNOSE MODE 7 OTA GR STF 0 ENABLE INTERRUPTS STF DF0 SET FLAG 20 SFC DF0 IS IT SET? AND DO SFS-SFC WORK? SFS DF0 JSB IOER,I NO. FLAG NOT SET OR SFS-SFC FAILED CLF DF0 CLEAR FLAG 20 SFS DF0 IS IT CLEAR? AND DO SFS-SFC WORK? SFC DF0 JSB IOER,IW NO. FLAG NOT CLEAR OR SFS-SFC FAILED STF DF0 SET THE INMSK FOR THIS S/C JMP MSKCK FLG11 CLF DF0 CLEAR FLAG 20 STF DF1 SET FLAG 21 SFC DF1 IS IT SET? AND DO SFS-SFC WORK? SFS DF1 JSB IOER,I NO. FLAG NOT SET OR SFS-SFC FAILED CLF DF1 CLEAR FLAG 21 SFS DF1 IS IT CLEAR? AND DO SFS-SFC WORK? SFC DF1 JSB IOER,I NO. FLAG NOT CLEAR OR SFS-SFC FAILED STF DF2 SET FLAG 22 SFC DF2 IS IT SET? AND DO SFS-SFC WORK? SFS DF2 JSB IOER,I NO. FLAG NOT SET OR SFS-SFC FAILED CLF DF2 CLEAR FLAG 22 SFS DF2 IS IT CLEAR? AND DO SFS-SFC WORK? SFC DF2 JSB IOER,I NO. FLAG NOT CLEAR OR SFS-SFC FAILED SFC DF3 ARE FLAGS 20-22 CLEAR? DOES SFC WORK? JSB IOER,I NO * * (CONTINUED) SKP STF DF0 SET FLAGS 20-22 STF DF1 STF DF2 STF DF3 SFS DF3 IS ANYONE SET? DOES SFS WORK? JSB IOER,I NO SFS DF0 IS 20? JSB IOER,I NO SFS DF1 IS 21? JSB IOER,I NO SFS DF2 IS 22? JSB IOER,I NO CLF DF0 CLEAR FLAG 20 SFS DF1 DID 21B GET CLEARED? SFS DF3 IS ANYONE SET? JSB IOER,I NO STF DF0 SET FLAG 20 CLF DF2 CLEAR FLAG 22 SFC DF3 IS EVERYONE CLEAR? SFS DF3 IS ANYONE SET? JSB IOER,I NO. STF DF3 SET 23 CLF DF3 CLEAR FLAGS 20-22 AND 23 SFC DF3 IS EVERYONE CLEAR? JSB IOER,I NO SKP * * *FLAGS WORK. TEST CONTROLS AND INTERRUPTS * CCA STORE A -1 IN STA DMP01+2 WORD COUNT CLA CLEAR THE INTERRUPT MASK REGISTER OTA INMSK OTA CWRD1 CLEAR CONTROL WORD 1 LDA POINT,I GET THE CHIP S/C UNDER TEST ELA,CLE,ERA JSB JPTR_P TRAP CELL = JMP DMA.1 DEF DMA.1 STC DF1 FORCE AN INTERRUPT FROM 21 STF DF1 NOP GIVE IT TIME JSB IOER,I NO INTERRUPT DMA.1 SFS DF1 WAS THE INTERRUPT FROM 21? JSB IOER,I NO CLC DF1,C CLEAR FLAG AND CONTROL 21 JSB JPTRP TRAP CELL = JMP DMA.2 DEF DMA.2 STF DF2 FORCE AN INTERRUPT FROM 22 NOP GIVE IT TIME JSB IOER,I NO INTERRUPT DMA.2 SFS DF2 WAS THE INTERRUPT FROM 22? JSB IOER,I NO CLF DF2 CLEAR FLAG 22 LDB CONF1 GET ADDRESS FOR CONAD OTB CONAD CONAD = DMP01 JSB JPTRP TRAP CELL = JMP DMA.3 DEF DMA.3 STF DF0 INTERRUPT AFTER SELF CONFIGURATION STC DF0 NOP GIVE IT TIME JSB IOER,I NO INTERRUPT * * (CONTINUED) * SKP DMA.3 SFS DF0 WAS THE INTERRUPT FROM 20? JSB IOER,I NO CLC DF0,C CLEAR FLAG AND CONTROL20 JSB RSTRP RESTORE JSB ILINT TO TRAP CELL LIA CONAD CHECK IF CONAD INCREMENTED BY 3 AND PAT15 MASK BIT 15 CPA CONF2 DID CONAD INCREMENT BY 3? RSS YES JSB IOER,I NO LIA CWRD1 GET CWRD1 CONTENTS CPA DMP01 WAS CWRD1 LOADED CORRECTLY? RSS YES JSB IOER,I NO LIA DMAAD GET DMAAD CONTENTS CPA DMP01+1 WAS DMAAD LOADED CORRECTLY? RSS YES JSB IOER,I NO LIA WRDCT GET WRDCT CONTENTS CPA DMP01+2 WAS WRDCT LOADED CORRECTLY? RSS YES JSB IOER,I NO LDA POINT,I GET CHIP S/C UNDER TEST ELA,CLE,ERA JSB JPTRP TRAP CELL = JMP DMA.4 DEF DMA.4 LIB DMAAD SET CONAD = DMAAD OTB CONAD LDA B3 ESTABLISH DIAGNOSE MODE 3 OTA GR STC DF1 START THE INPUT TRANSFER NOP GIVE IT TIME JSB IOER,I DMNA DID NOT INTERRUPT IN TIME DMA.4 CLA DISABLE DIAGNOSE MODE 3 OTA GR CPB B,I DID THE TRANSFER WORK? RSS YES JSB IOER,I NO INB DID CONAD AND DMAAD INCREMENT? LIA CONAD GET CONTENTS OF CONAD CPB A DID IT INCREMENT? AND PAT15 MASK BIT 15 RSS YES JSB IOER,I NO LIA DMAAD GET CONTENTS OF DMAAD CPB A DID IT INCREMENT? RSS YES JSB IOER,I NO LDA DMP01+2 CHECK IF RESIDUE WAS WRITTEN ILLEGALLY SZA,RSS JSB IOER,I IT WAS WRITTEN. DMP01+2 WAS BOMBED. JSB RSTRP RESIDUE NOT WRITTEN. RESTORE TRAP CELL SKP * * *CHECK A FOUR WORD SELF CONFIGURATION * FORWD CLF 0 DISABLE INTERRUPTS LDA CONF2 GET NEXT CONFIGURATION ADDRESS OTA CONAD GIVE TO CONAD STC DF0 SELF-CONFIGURE SFS DF4 IS 24 SET? (DMA OPERATING) JSB IOER,I NO. FAULTY FLAG LIA CONAD GET CONAD AND PAT15 MASK BIT 15 CPA CONF3 DID IT INCREMENT? RSS YES JSB IOER,I NO LIA CWRD1 GET CONTENTS OF CWRD1 CPA DMP02 IS CONTROL WORD RIGHT? RSS YES JSB IOER,I NO LIA DMAAD GET CONTENTS OF DMAAD CPA DMP02+2 IS ADDRESS RIGHT? RSS YES JSB IOER,I NO - 4 WORD CONFIGURATION FAILED LIA WRDCT GET WORD COUNT CPA DMP02+3 IS ADDRESS RIGHT? RSS YES JSB IOER,I NO SKP * * *CHECK THAT THE RESIDUE IS WRITTEN IN THE WORD * COUNT LOCATION IF SPECIFIED * RESDU CCB SET WORD COUNT CONSTANT TO -1 STB DMP04+2 LDA CONF4 GET CONFIGURATION ADDRESS OTA CONAD OUTPUT TO CONAD CLC DF2,C COMPLETE PREVIOUS DMA NOP GIVE IT TIME CLC DF2,C RESTART DMA SELF CONFIGURATION NOP GIVE DMA TIME NOP SFC DF4 IS 24 CLEAR?(DMA OFF) JSB IOER,I NO. FAULTY FLAG LIA WRDCT GET WORD COUNT RESIDUE SZA SHOULD BE ZERO JSB IOER,I IT ISN'T LDB DMP04+2 GET THE WORD COUNT LOCATION DATA SZB SHOULD BE ZERO JSB IOER,I IT ISN'T CCB RESTORE WORD COUNT CONSTANT STB DMP04+2 SKP * * *INITIATE A TRANSFER WITH RECONFIGURATION UPON * COMPLETION SPECIFIED * RECON LDA CONF3 GET CONFIGURATION ADDRESS OTA CONAD GIVE TO CONAD CCB STORE A -1 STB DMP03+2 IN WORD COUNT CLC DF2,C CLEAR PREVIOUS DMA STC DF0 START SELF-CONFIGURATION NOP GIVE FIRST DMA TIME CLC DF2,C COMPLETE IT AND START SECOND DMA NOP GIVE SECOND DMA TIME CLC DF2,C COMPLETE IT REDON SFS DF0 WAIT FOR BOTH CONFIGURATIONS AND JMP RWAIT TRANSFERS TO COMPLETE CLC DF0,C CLEAR CONTROL AND FLAG 20 CLC DF1,C CLEAR CONTROL AND FLAG 21 LIA CONAD CHECK THAT CONAD INCREMENTED BY 7 AND PAT15 MASK BIT 15 CPA CONF4 DID IT? RSS YES JSB IOER,I NO LIA DMAAD GET DMAAD CONTENTS LDB DMP03+5 GET ADDRESS OF SECOND TRANSFER INB INCREMENT ADDRESS CPB A DID DMAAD INCREMENT CORRECTLY? RSS YES JSB IOER,I NO LIA WRDCT GET WORD COUNT REGISTER SZA DID IT ROLL OVER? JSB IOER,I NO LDB DMP03+2 RESIDUE WRITTEN BACK? SZA SHOULD BE ZERO JSB IOER,I IT ISN'T CCB RESTORE DATA REGISTER STB DMP03+2 TO PROPER WORD COUNT JMP WD500 CONTINUE TO THE NEXT TEST * RWAIT ISZ A GIVE IT TIME JMP REDON HAVE TRANSFERS COMPLETED? JSB IOER,IHR TRANSFERS DIDN'T COMPLETE - SEE REDON * * *NOTE: FOR RESIDUE RETURN TEST, THE USER SHOULD INSERT THE * CORRECT INSTRUCTION CODES IN PARENTHESIS, AS WELL * AS CHANGE THE DMA CONTROL WORD AT DMP03. SKP * * *SET UP DMA FOR A 500 WORD TRANSFER INTO * PROTECTED MEMORY, TURN ON MEMORY PROTECT, * AND EXECUTE. MPT SHOULD ALLOW TRANSFER. * WD500 JSB BUFCL CLEAR THE TRANSFER BUFFER LDA DMPX+1 GET CONFIG-DMA ADDRESS = 1010 OTA CONAD GIVE TO CONAD OTA DMAAD GIVE TO DMAAD LDA DMPX GET CONTROL WORD = IN OTA CWRD1 GIVE TO CWRD1 LDA DMPX+2 GET WORD COUNT = -500B OTA WRDCT GIVE TO WRDCT LDA POINT,I GET CHIP S/C UNDER TEST ELA,CLE,ERA JSB JPTRP TRAP CELL = JMP DMA.5 DEF DMA.5 LDA DMMTR MPT TRAP CELL = JMP DMMPT STA MTRAP STF 0 ENABLE INTERRUPTS LDA B3 ESTABLISH DIAGNOSE MODE 3 OTA GR LDA B1777 SET FENCE = 1777 OTA FENCE LDA MB260 SET A = -260B STC DF1 START THE TRANSFER STC MPT TURN ON MPT ISZ A INCREMENT A 240B TIMES JMP *-1 NOT DONE YET STPDM HLT 03 DMA SHOULD HAVE COMPLETED - STOP LIB WRDCT B = WORD COUNT RESIDUE JSB IOER,I DMA DID NOT STEAL CYCLES CORRECTLY DMA.5 CLC DF3,C DMA INTERRUPTED. INDICATE DMA ROLLOVER CLC DF1,C DMA TURN OFF DMA LIB DMAAD GET DMA ADDRESS REGISTER CONTENTS CPB B1510 WERE 500B TRANSFERS COMPLETED? RSS YES JSB IOER,I NO ADA B140 ADD 140 TO A SSA DID A INCREMENT AT LEAST 100B TIMES? JSB IOER,I NO - CPU NOT TAKING ENOUGH CYCLES JMP BUFCK CHECK THE TRANSFER BUFFER DMMPT CLC DF1,C CLEAR FLAG AND CONTROL 21 LIA VIOLA,C A MPT INTERRUPT OCCURRED - FROM STPDM? CPA STPAD JMP STPDM+1 YES z LIB DMAAD NO - VIOLATION OCCURRED DURING DMA TRANSFER JSB IOER,I A = VIOLATION POINT, B = DMAAD * * *NOTE: THE CPU COUNT MAY BE OFF BY AS MANY AS 50 * DUE TO REFRESH. EXPERIMENT AND ADJUST MB260 * TO AN ACCEPTABLE MARGIN. * SKP * * *CHECK THE DATA TRANSFER BUFFER TO SEE IF THE * ADDRESS IS CONTAINED AS DATA AT EACH ADDRESS * BUFCK LDB DMPX+1 GET THE ORIGINAL DMA ADDRESS CPB B,I DOES THE DATA EQUAL THE ADDRESS? RSS YES JSB IOER,I NO INB INCREMENT THE ADDRESS CPB B1510 HAVE ALL THE ADDRESSES BEEN CHECKED? RSS YES - CONTINUE JMP *-6 NO - CHECK THE NEXT ADDRESS JSB RSTRP RESTORE TRAP CELL TO JSB ILINT LDA JSBIL RESTORE JSBIL IN MPT TRAP CELL STA MTRAP JSB BCLAD,I CLEAR THE TRANSFER BUFFER * * *SET UP A TRANSFER INTO HIGH MEMORY (20000 - 77777) * AFTER THE TRANSFER CHECK THAT CONAD AND DMAAD BOTH * INCREMENTED TO 77777. * HIMEM LDA DMPZ GET CONTROL WORD 1 = IN OTA CWRD1 GIVE TO CWRD1 LDA DMPZ+1 GET DMA/CONFIG ADDRESS = 20000 OTA DMAAD GIVE TO DMAAD OTA CONAD GIVE TO CONAD LDA DMPZ+2 GET WORD COUNT = -57777B OTA WRDCT GIVE TO WRDCT LDA POINT,I GET CURRENT I/O CHIP S/C ELA,CLE,ERA JSB JPTRP TRAP CELL = JMP DMA.6 DEF DMA.6 STF 0 ENABLE INTERRUPTS LDA B3 ESTABLISH DIAGNOSE MODE 3 OTA GR STC DF1 START THE TRANSFER LDA EOM GET END OF MEMORY COUNT CMA,INA 2'S COMPLEMENT STA TEMP1 STORE IN TEMPORARY REGISTER MCK LIA INMSK GET INTERRUPT MASK STA TEMP0 AND SAVE IT LDA PAT02 LOAD TEST PATTERN OTA INMSK AND STORE IN INTERRUPT MASK NOP GIVE IT TIME Ƿ NOP A LITTLE MORE CLA CLEAR A LIA INMSK GET MASK PATTERN BACK ERA,CLE,ELA STRIP OFF LSB CPA PAT02 IS THE PATTERN CORRECT? RSS JSB IOER,I NO. MASK CHANGED DURING DMA TRANSFER LDA MB260 GET SECOND TEST PATTERN OTA INMSK OUTPUT TO CHIP NOP GIVE IT TIME NOP LIA INMSK GET MASK AGAIN ERA,CLE,ELA STRIP OFF LSB CPA MB260 IS IT THE SAME? RSS JSB IOER,I NO - ERROR LDA TEMP0 GET ORIGINAL MASK OTA INMSK AND RESTORE TO INTERRUPT REG. ISZ TEMP1 GIVE IT PLENTY OF TIME TO COMPLETE JMP MCK JSB IOER,I DMA SHOULD HAVE INTERRUPTED BY NOW DMA.6 CLC DF3,C TURN OFF DMA LIA CONAD GET CONAD CPA MIN1 DOES CONAD = 177777? RSS YES JSB IOER,I NO LIA DMAAD GET DMAAD IOR PAT10 SET BIT 15 CPA MIN1 DOES DMAAD = 77777? RSS JSB IOER,I NO JSB RSTRP YES - RESTORE THE TRAP CELL CLA DISABLE DIAGNOSE MODE 3 OTA GR HED DMA PARITY TEST * * *DMA PARITY TEST. CHECKS FOR DMA PARITY ERROR ON SELF-CONFIGURATION * *WHLE READING CONTROL WORDS WITH BAD PARITY. SHOULD CAUSE FLAGS 22 * *AND 23 TO BE SET AS WELL AS DMA SELF CONFIGURATION TO END. * DMAPR CLF 0 DISABLE INTERRUPTS CLC PES TURN OFF PARITY SYSTEM LDA DM5 GET WORD COUNTER (-5) STA TEMP0 AND STORE IN TEMP REG. LDB B1000 GET DESTINATION ADDRESS STB TEMP1 AND STORE IN TEMP. REG. LDA CONF2 GET ADDRESS OF CONFIGURATION WORD QUAD N30 LDB A,I GET IT STF PES REVERSE PARITY SENSE STB TEMP1,I STORE IT CLF PES REVERSE SENSE BACK TO ORIGINAL INA INCREMENT TO NEXT ADDRESS ISZ TEMP1 INCREMENT DESTIANTION REG. ISZ TEMP0 INCREMENT COUNTER TOWARD ZERO JMP N30 BACK FOR MORE STC PES TURN ON PARITY SYSTEM STF 0 TURN ON INTERRUPTS LDA POINT,I SET UP INTERRUPT RETURN ELA,CLE,ERA JSB JPTRP ROUTINE DEF DMPR1 TRAP CELL 20=JMP DMPR1 LDA B1000 GET STARTING DMA ADDRESS OTA DF0 SEND TO I/O CHIP STC DF0 SELF CONFIGURE NOP GIVE IT TIME JSB IOER,I DIDN'T INTERRUPT DMPR1 CLC DF0 TURN OFF DMA SFS DF3 WAS 23 SET (INTERRUPT)? JSB IOER,I NO SFS DF2 WAS 22 SET(PARITY ERROR)? JSB IOER,I NO LDB DMP02 GET CORRECT DATA STB A,I AND STORE IT INA INCREMENT POINTER STA TEMP0 STORE IT TEMPORARILY LIB DF0 GET POINTER FROM CHIP ELB,CLE,ERB CLEAR SIGN BIT CPA B IS IT CORRECT? RSS JSB IOER,I NO LDA POINT,I SET UP INTERRUPT ELA,CLE,ERA JSB JPTRP RETURN ADDRESS DEF DMPR2 TRAP CELL 20=JMP DMPR2 CLF DF2 RESET 22 CLF DF3 &23 LDA B1000 GET STARING ADDRESS OTA DF0 PUT IN CHIP STC DF0 TRY IT AGAIN NOP GIVE IT TIME JSB IOER,I SKP DMPR2 CLC DF0 CLEAR CONTROL SFS DF3 WAS 23 SET? JSB IOER,I SFS DF2 WAS 22 SET? JSB IOER,I LDA TEMP0 GET A BACK AGAIN LDB DMP02+1 GET SECOND WORD AND STB A,I RESTORE IT INA INCREMENT POINTER LDB DMP02+2 GET THIRD WORD STB A,I CORRECT IT INA INCREMENT POINTER STA TEMP0 STORE IT TEMPORARILY ADA MIN1 DECREMENT POINTER AGAIN LIB CONAD GET ENDING ADDRESS ELB,CLE,ERB CLEAR SIGN BIT CPA B IS IT CORRECT? RSS JSB IOER,I NO LDA POINT,I SET UP INTERRUPT ROUTINE ELA,CLE,ERA JSB JPTRP Iz DEF DMPR3 TRAP CELL 20=JMP DMPR3 LDB B1000 GET START ADDRESS AGAIN OTB DF0 SEND IT TO CHIP CLF DF2 CLEAR 22 CLF DF3 &23 STC DF0 TURN ON AGAIN NOP GIVE IT TIME JSB IOER,I DIDN'T INTERRUPT DMPR3 CLC DF0 CLEAR CONTROL SFS DF3 WAS 23 SET? JSB IOER,I SFS DF2 WAS 22 SET? JSB IOER,I LDA TEMP0 GET A AGAIN LDB DMP02+3 RESTORE GOOD PARITY TO FOURTH LOCATION STB A,I INA INCREMENT POINTER STA TEMP0 STORE IT AGAIN LIB CONAD GET ADDRESS FROM CHIP ELB,CLE,ERB CLEAR SIGN BIT CPA B IS IT THE SAME? RSS JSB IOER,I NO SKP LDA POINT,I GET SELECT CODE ELA,CLE,ERA JSB JPTRP RESET TRAP CELL TO JMP DMPR4 DEF DMPR4 LDB B1000 GET STARTING ADDRESS OF SELF CONFIGURATION WORDS LDA B1400 GET NEW CONTROL WORD FOR INPUT TRANSFER STA B,I STORE IT IN PROPER LOCATION OTB DF0 SEND TO I/O CHIP CLF DF2 CLEAR FLAGS 22 CLC DF3,C (CLF DF3) AND 23 (BUG FIX ON I/O) STC DF0 SELF CONFIGURE NOP NOP GIVE IT TIME JSB IOER,I DIDN'T INTERRUPT DMPR4 CLC DF0 TURN OFF DMA SFS DF3 WAS 23 SET? JSB IOER,I NO SFS DF2 WAS 22 SET? JSB IOER,I NO LDA TEMP0 GET POINTER AGAIN INA INCREMENT IT LIB DF2 GET DMA ADDRESS ELB,CLE,ERB STRIP OFF SIGN BIT CPA B ARE THEY THE SAME? RSS YES SO CONTINUE JSB IOER,I NO HED I/O CHIP TESTS WITH MEMORY PROTECT * * *INSURE THAT THE I/O CHIP WILL NOT EXECUTE * ANY ILLEGAL I/O INSTRUCTIONS WITH MEMORY * PROTECT ON * MPTIO JSB CLC0,I INITIALIZE THE I/O SYSTEM CLF GR ENABLE GLOBAL REGISTER ` CLA A = 0 OTA FENCE FENCE = 0 STA MTRAP MPT TRAP CELL = NOP CLF GSC CLEAR DEVICE FLAG CCB B = 1'S OTB WRDCT WRDCT = 1'S OTB N2 N2 = 1'S STC MPT TURN ON MPT STF GSC TRY TO SET FLAG - SHOULD NOT EXECUTE SFC GSC DID IT SET? JSB IOER,I YES STC MPT TURN ON MPT LIA WRDCT TRY LIA - SHOULD NOT EXECUTE SZA WAS A ALTERED? JSB IOER,I YES STC MPT TURN ON MPT OTA N2 TRY OTA - SHOULD NOT EXECUTE LIA N2 WAS N2 ALTERED? SZA,RSS JSB IOER,I YES STF GSC SET DEVICE FLAG STC MPT TURN ON MPT CLF GSC TRY TO CLEAR FLAG - SHOULD NOT EXECUTE SFS GSC DID IT CLEAR? JSB IOER,I YES STC MPT TURN ON MPT SFS GSC TRY SFS - SHOULD NOT EXECUTE RSS JSB IOER,I IT SKIPPED STC MPT TURN ON MPT STF DF1 TRY STF DMA - SHOULD NOT EXECUTE SFC DF1 DID IT SET? JSB IOER,I YES STF DF1 SET FLAG 21 STC MPT TURN ON MPT CLF DF1 TRY CLF DMA - SHOULD NOT EXECUTE SFS DF1 DID IT CLEAR? JSB IOER,I YES * * (CONTINUED) * SKP STC MPT TURN ON MPT SFS DF1 TRY SFS DMA - SHOULD NOT EXECUTE RSS DID IT SKIP? JSB IOER,I YES STC MPT TURN ON MPT STC DF1 TRY STC DMA - SHOULD NOT EXECUTE NOP IF AN INTERRUPT OCCURS, CONTROL WAS SET STC MPT TURN ON MPT HLT 03 IS A HALT (BREAK) EXECUTED? CCA NO - SET A = 1'S OTA INMSK SET INMSK = 1'S CLA A = 0 STC MPT TURN ON MPT LIA INMSK TRY LIA INMSK - SHOULD NOT EXECUTE SZA WAS A ALTERED? JSB IOER,I YES qSTC MPT TURN ON MPT OTA INMSK TRY OTA INMSK - SHOULD NOT EXECUTE LIA INMSK WAS INMSK ALTERED? SZA,RSS JSB IOER,I YES STC MPT TURN ON MPT STF GR TRY STF GR - SHOULD NOT EXECUTE SFC GR DID IT SET? JSB IOER,I YES STF GR DISABLE GR STC MPT TURN ON MPT CLF GR TRY CLF GR - SHOULD NOT EXECUTE SFS GR DID IT CLEAR? JSB IOER,I YES CLF GR ENABLE GR LDA POINT,I GET CURRENT CHIP S/C ELA,CLE,ERA INA INC S/C STC MPT TURN ON MPT OTA GR TRY OTA GR - SHOULD NOT EXECUTE LIB GR GET CURRENT GR CPA B WAS IT ALTERED? JSB IOER,I YES CLB STC MPT TURN ON MPT LIB GR TRY LIB GR - SHOULD NOT EXECUTE SZB WAS B ALTERED? JSB IOER,I YES LDB B2 ESTABLISH DIAGNOSE MODE 2 OTB GR STC MPT TURN ON MPT CLA A = 0 LIA GR LIA GR IN DIAG MODE SHOULD NOT EXECUTE SZA WAS A ALTERED? JSB IOER,I YES OTA GR DISABLE DIAGNOSE MODE SKP * * *CONTINUE TEST REFERENCING DEVICE S/C WITH GR DISABLED * STF GR DISABLE GR LDB POINT,I GET CURRENT I/O CHIP S/C ELB,CLE,ERB LDA B26 GET ADDRESS OF TEST TO BE MODIFIED JSB MDSC,I GO MODIFY I/O S/C JSB CLC0,I INITIALIZE I/O STC MPT TURN ON MPT STF SC TRY STF SC - SHOULD NOT EXECUTE SFC SC DID IT SET? JSB IOER,I YES STF SC SET THE FLAG STC MPT TURN ON MPT CLF SC TRY CLF SC - SHOULD NOT EXECUTE SFS SC DID FLAG CLEAR? JSB IOER,I YES STC MPT TURN ON MPT SFS SC TRY SFS SC - SHOULD NOT EXECUTE RSS DID IT SKIP? o@JSB IOER,I YES STC MPT TURN ON MPT STC SC TRY STC SC - SHOULD NOT EXECUTE NOP IF AN INTERRUPT OCCURS, CONTROL WAS SET CLC SC CLEAR CONTROL LDA POINT,I GET CURRENT CHIP S/C ELA,CLE,ERA OTA GR,C GIVE TO GR AND ENABLE LDA B2 ESTABLISH DIAGNOSE MODE 2 OTA GR CLB B = 0 STC MPT TURN ON MPT MIB SC MIB SC IN DIAG MODE SHOULD NOT EXECUTE SZB WAS B ALTERED? JSB IOER,I YES OTB GR DISABLE DIAGNOSE MODE LDA JSBIL RESTORE JSB ILINT TO MPT TRAP CELL STA MTRAP JSB CLC0,I CLEAR THE I/O SYSTEM * JMP DMAT1 GO TEST THE NEXT CHIP'S DMA SKP * * *SUBROUTINE TO CLEAR THE TRANSFER BUFFER * BUFCL NOP RESERVED FOR RETURN ADDRESS LDA B1000 SET A TO THE BEGINNING OF BUFFER CLB CLEAR B STB A,I CLEAR THE BUFFER CONTENTS INA INCREMENT THE ADDRESS CPA B2000 IS THE BUFFER CLEAR? JMP BUFCL,I RETURN TO PROGRAM JMP *-4 NO - CLEAR THE NEXT LOCATION HED MULTIPLE I/O CHIP INTERRUPTS * * *EACH CHIP INTERRUPTS CORRECTLY; NOW TURN * ON ALL CHIPS AND CHECK THE HANDLING OF * MULTIPLE INTERRUPTS * * *SET FLAG AND CONTROL ON ALL CHIPS WITH * INTERRUPT SYSTEM TURNED OFF * ALLIN LDA SCTAD SET POINTER TO BEGINNING-1 STA POINT ALL.1 ISZ POINT MOVE TO NEXT TABLE ENTRY LDA POINT,I GET NEXT CHIP S/C ELA,CLE,ERA SZA,RSS IS THIS THE END OF THE TABLE? JMP ALLGO YES - BEGIN THE TEST OTA GR,C NO - LOAD GR WITH S/C AND ENABLE STF DF2 FORCE AN INTERRUPT FROM CHIP JMP ALL.1 GO SET UP THE NEXT CHIP * * *TURN ON THE INTERRUPT SYSTEM AND VERIFY * THAT EACH CHIP INTERRUPTS IN PRIORITY * :ALLGO SFC TBG WAS THE LAST ROUTINE USED BY THE JMP ATBAD,I TBG INTERRUPT TEST? RETURN LDA B14 GET STATUS = MULTIPLE INTERRUPT TEST LDA SCTAD SET POINTER TO BEGINNING-1 STA POINT ALL.2 ISZ POINT MOVE TO NEXT TABLE ENTRY LDA POINT,I GET THE NEXT CHIP S/C ELA,CLE,ERA SZA,RSS IS THIS THE END OF THE TABLE? JMP TBPRI YES - GO TEST TBG INT PRIORITY OTA GR,C NO - LOAD GR WITH S/C AND ENABLE JSB JPTRP TRAP CELL = JMP INT.9 DEF INT.9 STF 0 ENABLE INTERRUPTS NOP GIVE IT TIME JSB IOER,I NO INTERRUPT INT.9 CLF 0 TURN OFF INTERRUPTS LIB CIR GET INTERRUPTING S/C LDA POINT,I WAS INTERRUPTING S/C HIGH PRIORITY? ELA,CLE,ERA CPA B RSS YES JSB IOER,I NO JSB RSTRP RESTORE JSB ILINT TO TRAP CELL CLF DF2 CLEAR CHIP FLAG JMP ALL.2 GO ALLOW NEXT INTERRUPT SKP * * *CHECK THAT TBG HAS HIGHER INTERRUPT PRIORITY * THAN ANY DEVICE INTERFACES * TBPRI CLA CLEAR THE INTERRUPT MASK OTA INMSK CLF 0 DISABLE INTERRUPTS STC TBG TURN ON TBG SFS TBG WAIT FOR TBG TO TICK JMP *-1 JMP ALLAD,I SET INTERFACE FLAGS AND CONTROLS ALLTB LDA B6 A = TRAP CELL ADDRESS JSB JPTRP TRP06 = JMP INTAT DEF INTAT STF 0 ENABLE INTERRUPTS NOP GIVE IT TIME JSB CLC0,I TURN EVERYBODY OFF JSB IOER,I NO INTERRUPTS OCCURRED INTAT JSB CLC0,I INTERRUPT GOOD - TURN EVERYBODY OFF CLC TBG,C CLEAR TBG FLAG AND CONTROL JSB RSTRP RESTORE JSB ILINT TO TRAP CELL * * *TBG WORKS CORRECTLY HED MULTIPLE I/O CHIP DMA TRANSFERS * * *ALL CHIPS HANDLE DMA CORRECTLY. NOW CHECK MULTIPLE * SIMULTANEOUS DMA TRANSFERS BY STARTING TRANSFERS ON * ALL CHIPS AND ASSURING THAT THEY DECODE THEIR PRIORITIES * CORRECTLY AND COMPLETE ALL TRANSFERS IN AN ORDERLY MANNER. * MULTI LDA SCTAD FIND OUT IF MORE THAN ONE I/O CHIP ADA B2 IS IN THE SYSTEM LDB A,I LOOK AT THE 2ND S/C TABLE ENTRY SZB,RSS IF ZERO ONLY ONE CHIP EXISTS JMP TST09 ONLY ONE CHIP - SKIP MULTI DMA LDA B15 GET STATUS = MULTIPLE DMA TEST LDB CONMD SET TEMP6 = ADDRESS OF DMD00 STB TEMP6 LDA SCTAD SET TABLE POINTER TO BEGINNING-1 STA POINT MUL.1 ISZ POINT INCREMENT THE S/C TABLE POINTER LDA POINT,I GET THE NEXT CHIP S/C SZA,RSS IS THIS THE END OF THE TABLE? JMP MUL.2 YES - MOVE TO THE TEST OTA GR,C NO - LOAD THE GLOBAL REGISTER LDA B7 ESTABLISH DIAGNOSE MODE 7 OTA GR LDB MDMCW GET CONTROL WORD 1 OTB CWRD1 GIVE TO CWRD1 LDB MDMWD GET WORD COUNT = 10B OTB WRDCT GIVE TO WRDCT LDB TEMP6,I GET DMA ADDRESS OTB DMAAD GIVE IT TO DMAAD OTB CONAD AND CONAD ISZ TEMP6 SET TEMP6 FOR THE NEXT CHIP'S DMAAD STC DF1 TURN ON DMA BUT WAIT FOR DIAG MODE 3 JMP MUL.1 CONFIGURE THE NEXT CHIP MUL.2 LDB SCTAD SET TABLE POINTER TO BEGINNING-1 STB POINT STORE IT ISZ POINT LDB POINT,I GET HIGHEST PRIORITY S/C ELB,CLE,ERB BRS,BRS SHIFT RIGHT TWICE CMB,INB COMPLEMENT, INCREMENT CLA,INA LSB IN A SET TO 1 RAL MOVE IT OVER ONE INB,SZB INCREMENT AND SKIP ON ZERO JMP *-2 DO AGAIN IF NOT ZERO IOR B11 OR IN LOWER TWO BITS CMA COMPLEMENT TO CREATE THE PROPER MASK STA TEMP9 STORE COMPLETED PATTERN OTA INMSK GIVE TO INT. REG. * * (CONTINUED) SKP LIB DMAAD GET DMAAD FROM LOW PRIORITY CHIP.R STB TEMP0 TEMP0 = LOW PRIORITY DMAAD STF GR DISABLE THE GLOBAL REGISTER STF 0 ENABLE INTERRUPTS LDB SCTAD GET HIGHEST PRIORITY SELECT CODE INB LDA B,I ELA,CLE,ERA JSB JPTRP HI PRIORITY TRAP CELL = JMP MDINT DEF MDINT CLB CLEAR B LDA B3 ESTABLISH DIAGNOSE MODE 3 OTA GR NOP GIVE IT TIME NOP JSB IOER,I DMA SHOULD HAVE INTERRUPTED MDINT CLF 0 TURN OFF INTERRUPTS NOP WAIT FOR FINAL DMA LIA INMSK GET INTERRUPT MASK AGAIN ERA,CLE,ELA STRIP OFF LSB CPA TEMP9 IS IT THE SAME? RSS JSB IOER,I NO - ERROR CLA CLEAR A OTA INMSK AND STORE IN INT. REG. LDB B1000 B EQUALS THE FIRST TRANSFER ADDRESS RSS SKIP FIRST TIME IN MUL.3 INB INCREMENT THE ADDRESS CPB B,I COMPARE THE DATA TO THE ADDRESS JMP MUL.3 THEY ARE EQUAL, CHECK THE NEXT ADDRESS ADB MIN1 NOT EQUAL, CHECK FOR COMPLETION MUL.4 LDA TEMP0 GET DMAAD OF LOW PRIORITY CHIP ADA B7 INCREMENT ADDRESS BY 7B CPB A,I WERE ALL THE TRANSFERS COMPLETED? RSS YES JMP MUL.E NO MUL.5 STF GR DISABLE THE GLOBAL REGISTER JSB BCLAD,I CLEAR THE TRANSFER BUFFER CLC 0,C CLEAR THE I/O SYSTEM JMP TST09 ALL TRANSFERS COMPLETED CORRECTLY SKP * * *MULTIPLE DMA ERROR ROUTINE TO SEE WHICH CHIP FAILED * MUL.E INB INCREMENT B RRL 13 STORE IN A LESS LOWER 3 BITS CLB CLEAR B AND B77 STRIP OFF REST OF WORD LEAVING COUNT SZA,RSS IS IT ZERO? JSB IOER,I YES POINTER CORRECT AS IS CMA,INA TWO'S COMPLEMENT THE COUNT ISZ POINT INCREMENT S/C TABLE POINTER INA,SZA INCREMENT COUNT AND CHECK IF ZERO JMP *-2 WGpnj NOT ZERO. DO IT AGAIN JSB IOER,I POINTER CORRECT. GO DISPLAY IT SPC 2 * CLEAR I O AND WAIT FOR INTELLEGENT CARDS TO SET FLAG * CLC0R NOP CLC 0,C LDA B7 SET DIAG. MODE 7 TO DISABLE SRQ OTA GR GR IS DISABLED LEAVE IT CLA REMOVE FLAG OTA GR JMP CLC0R,I RETURN HED THE END PGEND EQU 17770B-* * * *THE I/O DIAGNOSTIC HAS SUCCESSFULLY COMPLETED! * ORG 17770B TST09 CCA CLEAR A OTA 1 SEND TO STATUS CLC 2 ENABLE ROM JSB 1 JUMP TO START OF ROM LDA 4 SET RESTART STA .END,I CLB HLT 77B ALL DONE!!!!!!! * * END Gp nl 24397-18003 2040 S C0122 &DDL DIAG. DISIGN LANGUAGE             H0101 ASMB,A,B,L ***** HP 1000 L/XL-SERIES DIAG. DESIGN LANGUAGE ***** HED * DIAGNOSTIC DESIGN LANGUAGE (DDL L/XL) ORG 0 OCT 0 BLOCK COUNT FOR PROM OCT 20000 TRANSFER COUNT FOR PROM * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * SOURCE: 24397-18003 DATE CODE 2040 * * BINARY: 24397-16003 * * MANUAL: 24397-90003 * * PROGMR: MIKE WINTERS * ORG 2 JMP *+1,I COLD START DEF START NOP UPDATED TO JSB PFAR JSB .PRTY,I PARITY ERROR INTERRUPT SUP A EQU 0 B EQU 1 INTP EQU 0 SKP * * THE FOLLOWING ARE THE PROGRAM * COMMANDS (SYSTEM CONTROL) * ONLY THE FIRST TWO CHRS ARE REQUIRED * THE REST WILL BE IGNORED TO THE FIRST SPACE * * * LIST SOURCE STATEMENT FILE * LI X Y CONSOLE= CONSOLE * SA N X Y SAVE FILE ON CARTRIDGE TAPE * * X Y = FIRST AND LAST LINE NUMBERS (X ONLY THEN ONLY X) * DEFAULT 1 AND 32767 * N = 1 = LEFT DRIVE 2 = RIGHT DRIVE 3 = SCREEN * * DELETE FILE * DE (ONLY) CLEAR ALL THE SOURCE STATEMENT FILE * DE X Y * X Y = FIRST AND LAST LINE NUMBERS (X ONLY THEN ONLY X) * * * RUN SOURCE STATEMENT FILE * RU (ONLY) START EXECUTION AT FIRST LINE * RU X START EXECUTION AT LINE NO. X - IF X = A NUMBER * OR START AT PRGM X - IF X = AN ALPHA CHARACTER * * LOAD A FILE FROM CARTRIDGE TAPE * LO N * N = 1 = LEFT DRIVE * 2 = RIGHT DRIVE * 3 = SCREEN (264X ONLY) * * BYE EXECUTES A HALT 77B OR CONTINUES TO NEXT PROGRAM * IF SEQUENTIAL LOADING * * RENUMBER STATEMENT FILE * RE N * N = SPACING BETWEEN STATEMENTS (DEFAULT IS 10) * * EDIT A STATEMENT IN THE FILE * ED N * N = LINE NUMBER TO BE EDITED * * SIZE PRINTS THE SIZE OF THE STATEMENT FILE IN WORDS USED * SI * * PROGRAM PRINTS ALL PRGM STATEMENT LINES * PR * * MAP PRINTS ALL MAP REGISTERSERROR MESSAGES * MAP R P CHANGE A REGISTER * R = REGISTER NO. (100-177 EXCEPT 140) * P = PAGE NUMBER 'STFE' TO 377 * R ONLY 0= MAPS OFF (140=0) -1=MAPS ON (140=-1) SKP * THESE CONSTANTS ARE ALSO USED BY THE USER I O ROUTINES * ORG 200B IODTS EQU * .0 OCT 0 .1 OCT 1 .2 OCT 2 .3 OCT 3 .4 OCT 4 .5 OCT 5 .6 OCT 6 .7 OCT 7 .10 OCT 10 .11 OCT 11 .12 OCT 12 .13 OCT 13 .14 OCT 14 .15 OCT 15 .16 OCT 16 .17 OCT 17 .20 OCT 20 .21 OCT 21 .22 OCT 22 .23 OCT 23 .24 OCT 24 .25 OCT 25 .26 OCT 26 .27 OCT 27 .30 OCT 30 .31 OCT 31 .36 OCT 36 .37 OCT 37 .40 OCT 40 .53 OCT 53 .55 OCT 55 .60 OCT 60 .61 OCT 61 .6412 OCT 6412 .77 OCT 77 .100 OCT 100 .140 OCT 140 .177 OCT 177 .200 OCT 200 .240 OCT 240 .377 OCT 377 .1777 OCT 1777 .7777 OCT 7777 .7.4 OCT 70000 SKP .M1 OCT -1 .M2 OCT -2 .M3 OCT -3 .M4 OCT -4 .M5 OCT -5 .M10 OCT -10 .M32 OCT -32 .M40 OCT -40 .M72 OCT -72 .M77 OCT -100 .M101 OCT -101 .M107 OCT -107 .M136 OCT -136 .M4K OCT -10000 .M2K OCT -4000 M7.3 OCT 137777 M7.43 OCT 143777 BIT15 OCT 100000 BIT14 OCT 40000 BIT13 OCT 20000 BIT12 OCT 10000 BIT11 OCT 04000 BIT10 OCT 02000 BIT9 OCT 01000 BIT6 EQU .100 DM100 DEC -100 DM72 DEC -72 DM54 DEC -54 DM52[6 DEC -52 DM48 DEC -48 DM40 DEC -40 DM17 DEC -17 DM16 DEC -16 DM10 DEC -10 DM6 DEC -6 DM5 EQU .M5 DM4 EQU .M4 D5 EQU .5 D10 EQU .12 D54 DEC 54 D72 DEC 72 D100 DEC 100 * ALT0 OCT 052525 * SKP AC OCT 103 AD OCT 104 AF OCT 106 AS OCT 123 AIOR OCT 72 AXOR OCT 73 A! OCT 41 A$ OCT 44 A% OCT 45 A& OCT 46 A@ EQU BIT6 LAROW OCT 137 AEQU OCT 75 AGTH OCT 76 ALTH OCT 74 AEGTH OCT 37075 AELTH OCT 36075 A# EQU * ANEQ OCT 43 AADD EQU .53 ASUB EQU .55 A. EQU * AAND OCT 56 ASTRK EQU * AMPY OCT 52 ADIV OCT 57 AA OCT 101 AB OCT 102 ADE ASC 1,DE ASA ASC 1,SA APR ASC 1,PR ALI ASC 1,LI ARU ASC 1,RU ACO ASC 1,CO AST ASC 1,ST ANO ASC 1,NO ALO ASC 1,LO AYE ASC 1,YE ABY ASC 1,BY ASI ASC 1,SI AED ASC 1,ED ARE ASC 1,RE AMA ASC 1,MA A/ EQU ADIV A.I EQU .11 A.T EQU .24 A.C EQU .3 A.R EQU .22 A.S EQU .23 SKP FC.CM OCT 54 FC.LP OCT 50 FC.RP OCT 51 FC.SL EQU A/ FC.QT OCT 42 FC.A EQU AA FC.AT EQU A@ FC.& EQU A& FC.H OCT 110 FC.K OCT 113 FC.I OCT 111 FC.B EQU AB FC.X OCT 130 IODTE EQU * SKP VARA DEF *-100B A2Z BSS 26 VARIABLES A TO Z BFA2Z BSS 52 BUFFERS A TO Z BFTBA DEF BFA2Z-2 DATAP DEF DATA DATA ARRAY DATAM DEC -512 ERRMP DEF ERRMT ERROR MESSAGE TABLE * IRQ DEF IRQ. *LINK .FMT DEF FMTR *LINK FMT DEF P2FMT *LINK FMT. DEF FMTC *LINK .DVIO DEF DVIO *LINK .FNCR DEF FNCRU *LINK .FNSY DEF FNCSY *LINK .CFI DEF CFI *LINK .CDN DEF CDN *LINK .CON DEF CON *LINK .CHN DEF CHN *LINK .CVDC DEF CVDEC *LINK .CVOC DEF CVOCT *LINK .CMT DEF CMTSY *LINK .CPR DEF CPRAM *LINK .GPR DEF GPRAM *LINK .PPR DEF PPRAM *LINK .PRU DEF PRU *LINK .RUN DEF RUN *LINK .PRST DEF PRSTM *LINK .PLN DEF PLN *LINK .RENM DEF RENM > *LINK .MVW DEF MWORD *LINK .PRMI DEF PRMIR *LINK .PRMP DEF PRMP *LINK .WTRU DEF WATRU *LINK .BFRU DEF BUFRU *LINK .PINT DEF PINT *LINK .WFI DEF WFI *LINK .IOPC DEF IOPC *LINK .IOA DEF IOA *LINK .IOB DEF IOB *LINK .IOC DEF IOC *LINK .IOD DEF IOD *LINK .INT NOP *LINK .PFAR DEF PFAR *LINK .PRTY DEF PRTY *LINK .OK? DEF OK? *LINK SKP JSBI JSB *+1,I INTERRUPT ROUTINE DEF INT JSBI. JSB .INT,I JPFAR JSB .PFAR,I JPTY JSB .PRTY,I RSS RSS CNSC OCT 20 ALSC OCT 24 STTBD DEF STTBL STATEMENT TABLE IOPDF DEF IOP IO PROGRAM TABLE STFE NOP END OF STATEMENT FILE FWAMA DEF FWAM+2 DEF FWAM+2 LWAMA OCT 77677 OCT 77677 WCMSK OCT 1777 MXLN DEC 32767 CRLF ASC 2,(/) SKP BUFRC NOP BUFRA NOP BUFRP NOP IOPAP NOP IOPSA NOP IOPEN NOP IDTBP DEF IDTBL INTERFACE IDENTIFICATION TABLE TMPD DEF TMP CRSA NOP BUFA DEF BUF+BUF BUFE ABS -BUFE.-BUFE. STBFD DEF *+1 STBF BSS 31 TMPA NOP TMPB NOP TMP OCT 0,0,0,0,0 SC NOP CVN NOP IOSC NOP DVN NOP CULN OCT 0 CURRENT LINE NUMBER FCN NOP LIC NOP TMRC NOP AFLG NOP BFLG NOP PFLG NOP LEDS NOP GSCFL NOP HOODF NOP * FMTS NOP FMTSR NOP FSR NOP FCR NOP SDFP NOP SIFF NOP NWDS NOP NWD NOP NWCS NOP NWC NOP SPCF NOP NFG NOP FMTBP DEF BUF+BUF SKP * BUFFER TO A REG. * BUF2A NOP CLE,ERB E _ UPPER/LOWER FLAG LDA B,I 2 CHR TO A REG SEZ,RSS UPPER OR LOWER? ALF,ALF UPPER AND .377 MASK UNWANTED CHARACTERS JMP BUF2A,I RETURN * * ADD A REG TO BUFFER * A2BUF NOP AND .377 MASK UPPER BYTE FOR PROTECTION STA A2BC SAVE CHARACTER SLB,INB OPPSITE ADB .M2 CHARACTER JSB BUF2A ALF,ALF WIOR A2BC ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED ALF,ALF YES STA B,I STORE IT LDA A2BC RESTORE CHARACTER JMP A2BUF,I A2BC NOP * * GET A CHARACTER FROM BUFFER * GETC NOP LDB GETP PICK UP BYTE ADDRESS JSB BUF2A LOAD THE CHARACTER ISZ GETP MOVE TO NEXT BYTE JMP GETC,I RETURN GETP NOP * * PUT A CHARACTER IN BUFFER * PUTC NOP LDB PUTP PICK UP BYTE ADDRESS JSB A2BUF PACK CHARACTER IN BUFFER ISZ PUTP MOVE TO NEXT BYTE JMP PUTC,I RETURN PUTP NOP * * GET A BYTE * GETB NOP LDB GETP GET BYTE JSB BUF2A FROM BUFFER CPA .15 IS IT A EOB JMP GETB,I YES RETURN P+1 ISZ GETP NO - MOVE UP ONE ISZ GETB NO JMP GETB,I RETURN P+2 SKP * CHECK A REG. = ASCII LETTER (101-132) * LTCK NOP LDB A SAVE CHARACTER ADB .M101 IS SSB JMP LTCK,I IT ADB .M32 A SSB LETTER ISZ LTCK JMP LTCK,I * * CHECK A REG = ASCII NUMBER (60-72) * DGCK NOP STA TMPA SAVE CHARACTER ADA .M72 IS SSA,RSS IT JMP *+4 A ADA .12 DIGIT SSA,RSS ISZ DGCK YES RETURN P+2 LDB A SAVE NUMBER VALUE LDA TMPA RESTORE A REG JMP DGCK,I RETURN * * OCTAL NUMBER CHECK * ONCK NOP JSB DGCK FIRST IS IT A DIGIT? JMP ONCK,I NO RBR,RBR RBR SLB IS IT > 7? JMP ONCK,I YES RBL,RBL RBL ISZ ONCK ADJUST GOOD RETURN JMP ONCK,I * CFEQU NOP JSB GETB CHECK FOR CHANGE JMP CFEQU,I END OF BUFFER NO CHANGE CPA AEQU IS IT AN EQUAL SIGN? ISZ CFEQU YES RETURN P+2  JMP CFEQU,I NO RETURN P+1 SKP * 1 MILLISECOND TIMER TMR NOP ENTRY 1 MILLSEC CLOCK CMA,INA NEGATE TIME WANTED LDB TMRC INB,SZB JMP *-1 INA,SZA IS THERE MORE TIME WANTED JMP *-4 YES LDA TMR GET RETURN ADDRESS STB TMR INDICATE OUT OF TIMER JMP A,I RETURN TO CALLER * IOTMR NOP CMA,INA NEGATE TIME WANTED LDB TMRC GET 1 MILL TIME COUNT INB,SZB JMP *-1 INA,SZA JMP *-4 JMP IOTMR,I * * INTERRUPT PROCESSOR INT NOP CLF 0 TURN OFF INTERRUPTS STA INTSA SAVE A REG. STB INTSB AND B REG. LIB 4B GET INTERRUPTING SELECT CODE ADB INTLP LDA B,I IOR BIT15 ADD FLAG BIT STA B,I ISZ INTF SET INTERRUPT FLAG LDA 140B TURN MAPS ON IF NECESSARY SZA STC 11B JMP *+1 LDA TMR WAS PROGRAM IN TIMER?? SZA ?? JMP *+5 YES - THEN ABORT TIMER LDA INTSA NO - RESTORE A REG. LDB INTSB AND B REG. STF 0 TURN ON INTERRUPTS JMP INT,I CONTINUE CLB STB TMR CLEAR TIMER FLAG CCB INDICATE IT WAS INTERRUPTED STF 0 TURN ON INTERRUPTS JMP A,I RETURN TO TIMER INTF NOP INTSC NOP INTLN NOP INTSA NOP INTSB NOP INTLP DEF INTLT SKP * INPUT ERROR * INPE JSB WHAT JMP IRQ,I * * !? * WHAT NOP JSB .FMT,I DEF WHATM CLA JSB FMT.,I JMP WHAT,I WHATM ASC 03,("!?") SPC 3 * RUNNING ERROR * ERR NOP CLF 0 INSURE INTERRUPTS ARE OFF STA .STOP SAVE ERROR NUMBER JSB .FMT,I ERROR NUMBER DEF ERRM,I LDA .STOP JSB FMT,I CLA OUTPUT TO CONSOLE JSB FMT.,I LD&A .STOP CHECK IF STOP TYPE SSA JMP ERR,I NO RETURN TO CALLER LDA ERRMP GET POINTER TO TABLE ADA .STOP ADD ERROR NUMBER LDA A,I GET MESSAGE ADDRESS STA *+2 JSB .FMT,I OUTPUT MESSAGE NOP ERRFM CLA TO THE CONSOLE JSB FMT.,I LDA .STOP SET ERROR NUMBER FOR DISPLAY IOR BIT6 ALF,ALF IOR .21 INDICATE EXECUTION ERROR JMP STOP. SKP * STOP ALL EXECUTION * .STOP NOP LDA .177 SET NORMAL STOP ALF,ALF IOR .21 STOP. CLF 0 INSURE INTERRUPTS ARE OFF LDB JPFAR RESTORE TRAP STB 4 LDB JPTY STB 5 CLB LIB 3,C CHECK FOR A FRONT PANEL SZB JMP STOP1 THERE IS SO USE IT LDB A SAVE A REG JSB DSPLY PUT IT OUT TO THE LEDS (DDL PORTION) LDA B RESTORE A REG ALF,ALF JSB DSPLY NOW SUBSECTION LDA B JMP *-5 STOP1 LDA .20 INDICATE IN CONSOLE INPUT MODE OTA 1 LDA CULN WAS I IN EXECUTION SZA,RSS ? JMP STOP0 NO JSB .FMT,I OUTPUT LINE NUMBER DEF STPLN,I LDA CULN JSB FMT,I CCA CHECK GOSB TABLE ADA STBF CPA STBFD ANY ENTRYS? JMP *+5 NO LDB A,I YES GET NUMBER INB LDA B,I JSB FMT,I PUT IN OUTPUT BUFFER STOP0 CLA OUTPUT STA CULN JSB .FMT,I STOP MESSAGE DEF STPM CLA OUTPUT IT TO THE CONSOLE JSB FMT.,I CLC 11B LDA 140B CHECK MAPS SZA STC 11B JMP IRQ,I SKP DSPLY NOP OTA 1 ISZ A JMP *-1 ISZ A JMP *-1 ISZ A JMP *-1 ISZ A JMP *-1 JMP DSPLY,I * ERRM ASC 07,("ERROR"XI3X) STPLN ASC 08,("LINE"2(XI5)X) STPM ASC 05,("STOP"/) * STnOP NOP JSB DVSSG SAVE CURRENT GLOBAL REGISTER STATUS CLA CHECK IF THERE IS A VCP LIA 3,C SZA,RSS JMP STOPX NO THEN SKIP CHECK LIA 1 CHECK FOR ALTERNATE CONSOLE ALF,SLA JMP STOPX IF IT IS THEN NO STOP LDA CNSC IT'S TERMINAL OTA 2,C TURN ON GLOBAL REGISTER SFS DR FLAG SET YET? STOPX ISZ STOP NO LDA DVSVA JSB DVRSG RESET GLOBAL REGISTER JMP STOP,I RETURN SKP SKP * THIS ROUTINE SERVICES PARITY ERRORS * IF IT'S AN ERROR ON A FETCH THEN NOT RECOVERABLE * IF IT'S AN ERROR ON DATA BELOW I/O ROUTINE AREA THEN * IT'S ALSO NOT RECOVERABLE. PRTY NOP CLC 4 INHIBIT ALL INTERRUPTS STA PRTYA SAVE A AND B REGISTERS STB PRTYB LIA 5 GET ADDRESS OF ERRROR CLC 0,C RESET MACHINE STA PRTYS SAVE FOR MESSAGE SSA IS THIS A FETCH INSTRUCTION? JMP PRTYH YES THEN NON RECOVERABLE CMA,INA CHECK IF BELOW DAA ADA .IOA SSA,RSS JMP PRTYH IT WAS SO NOT RECOVERABLE CLA,INA SET INCASE NO CONSOLE JSB PRTYC CHECK IF THERE IS A CONSOLE JSB .FMT,I OK TO RECOVER AND DEF PRTYM REPORT ERROR LDA PRTYS INDICATE ADDRESS OF ERROR JSB FMT,I CLA REPORT TO CONSOLE JSB FMT.,I JSB .STOP NOW STOP * PRTYH CLA INDICATE NOT RECOVERABLE JSB PRTYC CHECK FOR CONSOLE LDA PRTYS DISPLAY ADDRESS OF ERROR LDB PRTY AND INSTRUCTION THAT CAUSED IT HLT 25B DISPLAY IT LDA PRTYA NOW DISPLAY A + B REG. LDB PRTYB HLT 65B JMP PRTYH LOOP * PRTYC NOP CLB LIB 3,C SZB JMP PRTYC,I THERE IS A CONSOLE IOR BIT6 NOT SO DISPLAY IT ALF,ALF IOR .25 JMP STOP. * PR TYA NOP PRTYB NOP PRTYS NOP PRTYM ASC 11,("PARITY AT LOC. "K6/) SKP * SAVE GLOBAL REGISTER * DVSSG NOP STA DVSVA SAVE A REG. LIA 2 GET CONTENTS SFS 2 CHECK IF ON IOR BIT15 STA DVSVG SAVE THE STATUS STF 2 CLA DIABLE DIAGNOSE MODE OTA 2 LDA DVSVA RESTORE A REG. JMP DVSSG,I * DVSVA NOP DVSVG NOP * DVRSG NOP STA DVSVA SAVE A REGISTR LDA DVSVG GET GLOBAL REG STATUS OTA 2,C OUTPUT AND ENABLE IT SSA,RSS ON OR OFF? STF 2 OFF LDA DVSVA RESTORE A REG. JMP DVRSG,I RETURN * * TURN ON OR OFF INTERRUPTS * I?OF NOP OCT 103300 CHECK AND CLEAR INTERRUPT FLAG (SFS 0,C) JMP *+5 STA I?SA SAVE A REG. CLA SET INTS ON STA I?FL JMP *+4 STA I?SA CCA JMP *-4 CLC 11B TURN OFF MAPS LDA I?SA RESTOR A REGISTER JMP I?OF,I RETURN * I?ON NOP LDA 140B CHECK MAPS ON SZA STC 11B THERE ON ISZ I?FL ARE INTS ON STF 0 YES SET FLAG JMP I?ON,I RETURN * I?SA NOP I?FL NOP SKP * FIND A LINE NUMBER * FNDLN NOP STA TMPA SAVE LINE NUMBER CLA CLEAR NUMBER COUNT STA FNDLC LDB FWAMA SET START OF STATEMENT FILE FNDL0 STB FNDLA SAVE ADDRESS LDA B,I GET LINE # SZA,RSS IS IT END OF FILE? JMP FNDLN,I YES - RETURN P+1 ISZ FNDLC COUNT STATEMENT INB MOVE TO LINE NUMBER LDA B,I LDB FNDLA RESTOR B CMA,INA MAKE IT NEG ADA TMPA WHEN NEW NUMBER IS ADDED SZA IF IT'S 0 THEY ARE EQUAL JMP *+3 ISZ FNDLN AND LINE FOUND JMP FNDLN,I RETURN P+2 SSA IF IT'S STILL NEG THEN JMP FNDLN,I THEN NUMBER IS OVER NEW LINE LDA B,I GET WORD ALF,RAL AND .37 ADB A ADD COUNT TO MOVE TO NEXT LINE JMP FNDL0 CONTINUE SEARCH * FNDLA NOP FNDLC NOP * * GET LINE NUMBER AND CHECK IT * GTLN NOP JSB .CDN,I GET LINE NUMBER JMP GTLN,I NO NUMBER SSA,RSS NOT NEG. SZA,RSS OR ZERO JMP GTLN,I CPA STBF+1 DON'T ALLOW SAME LINE NUMBER JMP GTLN,I ISZ GTLN JMP GTLN,I RETURN SKP * FILE PARAMETER STORE * FPS NOP JSB .CPR,I CONVER PARAMETER JMP FPS,I NO PARAMETER STA TMP,I ISZ TMP STB TMP,I ISZ TMP ISZ FPS RETURN P+2 JMP FPS,I * * FILE PARAMETER GET * FPG NOP ADB CRSA LDA B,I INB LDB B,I JSB .GPR,I JMP FPG,I * * FILE PARAMETER LIST * FPL NOP LDA TMP,I ISZ TMP LDB TMP,I ISZ TMP JSB .PPR,I PRINT IT JMP FPL,I RETURN * BUF BSS 129 BUFE. EQU *-1 EOP0 EQU 2000B-* THIS WILL GUARANTEE NO OVER FLOW OF PAGE 0 SKP ORG 2000B * COLD START UP * * START CLC INTP,C TURN ALL I-O OFF STA AFLG SAVE DEVICE TYPE STB BFLG AND ASCII STRING POINTER CLB SET UP RUN DISPLAY ON LEDS SSA IF MANUAL USE FILE NO. 0 JMP *+4 IT'S MANUAL OTA 2,C NO AUTO USE FILE NUMBER ON LOAD INTERFACE LIB 25B ADB .M1 DECREMENT FILE NUMBER LDA B AND .77 IOR BIT6 ADD SUBSECTION ALF,ALF PUT IT IN UPPER HALF IOR .20 INDICATE DDL STA LEDS PUT IT IN STORAGE CLA CLEAR POWER FAIL FLAG STA PFLG LDB JPFAR SET POWER FAIL RESTART JSB IN 4 SFS 4 FIRST HAS POWER FAILED JMP *-1 YES LET IT GO DOWN STB 4 6 NO SO SET LOCATION 4 JMP UP START UP * * POWER FAIL AUTO RESTART * PFAR NOP SFC 4B CHECK IF POWER CAME UP AGAIN JMP UP YES START UP CCA INDICATE POWER FAIL INTERRUPT STA PFLG SET FLAG SFS 4 WAIT FOR IT TO GO DOWN JMP *-1 JMP UP START UP * SKP UP STC 4 INSURE POWER FAIL INTERRUPTS LDA .20 INDICATE DDL ON PROCESSOR LEDS OTA 1 LDB LWAMA+1 DETERMINE MEMORY SIZE UP0 LDA ARU USE ANY PATTERN STA B,I TRY LAST ADDRESS CPA B,I GET DATA BACK JMP UP1 DATA CAME BACK SO CONTINUE ADB .M4K NO MOVE DOWN 4K STB LWAMA SAVE ADDRESS SSB,RSS DID IT GO NEGATIVE? JMP UP0 NO CHECK FOR NEXT BLOCK HLT 0 INDICATE NO MEMORY JMP *-1 UP1 CCB STB BUF+1 CLB OCT 104413 XST CROSS MAP STORE (A ONLY) DEF BUF DLD BUF IF B DID NOT STORE THEN MAPPED CPA ARU SZB,RSS JMP *+3 IT DIDN'T LDA BIT15 IT DID SO CHANGE LWAMA STA LWAMA LDA STFE IS THIS A FRESH START? SZA JMP UP2 NO LDB FWAMA+1 CONVERT MEMORY PROGRAM STB FWAMA RESET STARTING POINTER STB STFE SET END OF FILE STA STFE,I JSB IMAP INITIALIZE MAPS UP2 CLA CLEAR MAP FLAG STA 140B LDA TBJBD SET JSB FOR TIME SET UP STA .INT LDA JSBI. SET INSTRUCTION STA 6 CLA STC 6,C START TBG SFS 6 WAIT FOR IT JMP *-1 STC 6,C START IT AGAIN STF 0 TURN ON INTERRUPTS INA,SZA JMP *-1 HLT 0 TBG HAS JMP *-1 FAILED SKP TBJBD DEF TBI TBI NOP CLF 0 TURN OFF INTERRUPTS CLB STB 6 CLEAR TRAP CELL CLC 6,C TURN OFF TBG DIV D10 DIVIDE BY TEN CMA,INA MAKE COUNT NEGATIVE STA TMRC LDA MXLN RESET STATEMENT FILE END INA JSB FNDLN NOP STB STFE CLA INITIALIZE DRIVER CLB JSB .DVIO,I NOP CLB LDA PFLG GET POWER FAIL FLAG STB PFLG CLEAR POWER FAIL FLAG SZA,RSS WAS THIS A POWER DOWN? JMP UP3 NO JSB .FMT,I YES - TELL OPERATOR OF RESTART DEF PFMS,I CLA JSB FMT.,I LDA AFLG RESTORE LOADER TYPE OTA 3 SKP UP3 LDA AFLG WAS THIS AN AUTO RUN SEQUENCE? LDB CULN OR WAS IT RUNNING SSA,RSS JMP UP4 THIS WAS AUTO SO CONTINUE SZB WAS THE STATEMENT FILE EXECUTING JSB .STOP YES JSB HDRDY PRINT TITLE AND 'READY' JMP IRQ,I UP4 LDB BFLG CHECK IF ANY STRING SZB LDB B,I SZB,RSS JMP UP5 NO STRING SO AUTO RUN LDA BUFA YES THEN MOVE TO RUN BUFFER STA PUTP LDA BFLG RAL STA GETP LDB DM40 TRANSFER 20 WORDS MAX STB TMP JSB GETC SZA,RSS JMP *+4 JSB PUTC ISZ TMP JMP *-5 LDA .15 JSB PUTC LDA BUFA STA GETP CCA STOP SEQUENTIAL EXECUTION OTA 3 STA AFLG JMP CMD UP5 LDA FWAMA START WIT FIRST LINE CLB,CLE SET FOR AUTO RUN JSB .RUN,I NOW RUN THE PROGRAM EXIT CLA CLEAR POWER FAIL RESTART STA 4 CCA OTA 1 START NEXT LOAD CLC 2 ENABLE ROM JSB 1 HLT 77B JSB .STOP RESTART * PFMS ASC 15,(/"POWER FAIL AUTO RESTART"/) SKP * THIS ROUTINE WILL PRINT THE TITLE * IN THE FIRST LINE OF THE STATEMENT FILE * IF THERE IS A FILE AND IT'S A FMT STATEMENT * THEN PRINTS 'READY' * HDFRDY NOP JSB .FMT,I DO A CRLF DEF DDLM. CLA JSB FMT.,I LDA FWAMA,I CHECK IS THERE A STATEMENT SZA,RSS JMP HDRD. NO SKIP OUTPUT JUST DO READY LDB FWAMA YES SO CHECK LDA B,I IF IT AND WCMSK IS A IOR STTBD LDA A,I FORMAT ADB .4 SET FORMAT ADDRESS ADB BIT15 SZA LINE HDRD. LDB DDLM NO - SO USE DDL TITLE STB *+2 JSB .FMT,I DO IT NOP CLA ONLY THE CONSOLE JSB FMT.,I JSB .FMT,I OUTPUT READY DEF HDRDM,I CLA TO CONSOLE JSB FMT.,I JMP HDRDY,I RETURN * DDLM. ASC 02,(3/) DDLM DEF *+1,I ASC 16,("DIAGNOSTIC DESIGN LANGUAGE"/) HDRDM ASC 08,("2040 READY"/) SKP * * INPUT REQUEST * IRQ. JSB .FMT,I OUTPUT PROMPT CHR. DEF BEEP CLA TO THE CONSOLE JSB FMT.,I CLA JSB .CFI,I CALL FOR INPUT LDB GETP CHECK FIRST JSB BUF2A CHARACTER CPA A# IS THIS A DATA EQUEST? JMP PRMI YES JSB DGCK CHECK IF IT'S A NUMBER JMP *+4 JSB .PRST,I YES THEN IT'S A STATEMENT JMP INPE JMP IRQ,I LDB GETP GET SECOND CHARACTER INB JSB BUF2A CPA .40 IF SPACE JMP PRMI THEN A PARAMETER CPA FC.LP OR IF A LEFT PREN JMP PRMI THEN A PARAMETER CPA .15 OR CARRIAGE RETURN JMP PRMI THEN A PARAMETER CPA AEQU OR EQUAL SIGN? JMP PRMI THEN A PARAMETER JMP CMD IT'S A COMMAND * BEEP ASC 01,(" BELL + > OCT 3476 ASC 01,") * * PARAMETER INTERROGATION * PRMI EQU * JSB PRMIR PROCESS REQUEST JMP INPE NO GOOD JMP IRQ,I SKP * PRINT OR CHANGE A PARAMETER * UPRMIR NOP JSB CPRAM CONVERT PARAMETER JMP PRMIR,I NO DATA STA TMP STB TMP+1 JSB CFEQU CHECK FOR EQUAL SIGN JMP PRMIB NO CHANGE IS THERE A SECOND CHARACTER JSB CPRAM GET NEXT PARAMETER JMP PRMIR,I NO DATA STA TMP+2 SAVE STB TMP+3 NEW CONTENTS CLA USE CONSOLE NUMBER JSB PRMP PRINT OLD CONTENTS LDA TMP+2 WAS AND .177 NEW CONTENTS SZA VALID? JMP PRMI.+2 LDA TMP YES LDB TMP+1 JSB GPRAM GET PARAM ADDRESS LDA TMP+3 STA B,I PRMI. CLA PRINT NEW CONTENTS JSB PRMP ISZ PRMIR ADJUST RETURN JMP PRMIR,I RETURN * PRMIB JSB CPRAM CHECK IF THERE IS ANOTHER PARAMETER JMP PRMI. NO JUST ONE STA TMP+2 YES - SAVE IT STB TMP+3 CPA TMP ARE THE TWO THE SAME RSS JMP PRMIR,I NO THEN INPUT ERROR CPA A# DATA REQUEST? JMP *+4 YES RAL,SLA NO - THEN IS IT A BUFFER AND SSA IS IT A VRIABLE? JMP PRMIR,I NO INPUT ERROR LDA TMP+2 CHECK IF SECOND IS IN LIMITS JSB GPRAM PRMBL CLA OK PRINT IT JSB PRMP ISZ TMP+1 LDA TMP+1 CMA ADA TMP+3 SSA IS THAT ALL? JMP PRMI. YES JMP PRMBL LOOP AND DO NEXT LOCATION SKP PRMP NOP STA PRMDV SAVE PRINT DEVICE LDA TMP SAVE A LDB TMP+1 JSB PPRAM PRINT PARAMETER JSB .FMT,I AND DEF PRMPM CONTENTS LDA TMP LDB TMP+1 JSB GPRAM STA PRMPT JSB FMT,I DECIMAL LDA PRMPT JSB FMT,I HEX LDA PRMPT JSB FMT,I OCTAL LDA PRMPT RAL STA PRMPR SAVE BINARY AND .1 JSB FMT,I BINARY JSB PRMPB JSB PRMPB  JSB PRMPB JSB PRMPB JSB PRMPB LDA PRMPT ALF,ALF AND .377 JSB FMT,I UPPER BYTE LDA PRMPT AND .377 JSB FMT,I LOWER BYTE LDA PRMPT ALF,ALF JSB PRMPR ASCII CHARACTER UPPER LDA PRMPT JSB PRMPR ASCII CHARACTER LOWER LDA PRMDV GET DEVICE NUMBER JSB FMT.,I JSB STOP JSB .STOP JMP PRMP,I RETURN SKP PRMPB NOP LDA PRMPR GET NUMBER RAL,RAL RAL STA PRMPR AND .7 JSB FMT,I JMP PRMPB,I * PRMPR NOP AND .177 STA B CHECK IF PRINTABLE ADB .M40 SSB LDA .40 ADB .M136 SSB,RSS LDA .40 JSB FMT,I JMP PRMPR,I * PRMPT NOP PRMDV NOP PRMPM ASC 15,(" = "I6XXH4XXK6XXB1,5(":"B3)X ASC 10,XK3XK3XX"("A1A1")"/) SKP * PROCESS A COMMAND * CMD JSB GETB GET JMP INPE ALF,ALF STA TMPA FIRST 2 JSB GETB JMP INPE INPUT ERROR IOR TMPA CHARACTERS STA TMPA CMD0 JSB GETB MOVE OVER SPACES LDA .40 END OF BUFFER FAKE SPACE CPA .40 JMP CMD1 JSB LTCK IS IT A LETTER? JMP INPE NO THEN ERROR JMP CMD0 CMD1 CLC 11B TURN OFF MAPS JMP *+1 LDA TMPA CPA ALI LIST FILE? JSB .PLI,I YES CPA ASA SAVE FILE? JSB .PSV,I YES CPA ADE DELETE FILE? JSB PDL YES CPA ALO LOAD FILE? JSB PLD YES CPA ARU RUN PROGRAM? JSB PRU YES CPA ABY EXIT OPDSIGN? JMP EXIT YES CPA AED EDIT LINE? JSB .EDIT,I YES CPA ARE RENUMBER LINES? JSB .RENM,I YES CPA ASI SIZE REQUEST? JSB .SIZE,I YES CPA APR PROGRAM LISTING JSB .PROG,I YEq%S CPA AMA IS THIS A MAP REQUEST? JSB .MAP,I YES LDB 140B RESET MAPS SZB STC 11B TURN THEM BACK ON SZA,RSS IF A = 0 THEN PROCESSED JMP IRQ,I OK JMP INPE ERROR * .PLI DEF PLI *LINK .PSV DEF PSV *LINK .PROG DEF PROG *LINK .EDIT DEF EDIT *LINK .MAP DEF MAP *LINK .SIZE DEF SIZE *LINK SKP * CLEAR FILE * PDL NOP LDB GETP CHECK IF IT'S A SECTION JSB BUF2A CPA .15 JMP PDL. NO SO CLEAR ALL OF FILE JSB .CDN,I GET STARTING LINE JMP PDLE NO NUMBER SO ERROR STA TMP+1 SAVE STARTING NUMBER JSB FNDLN FIND IT JMP PDLE NOT FOUND STB TMP OK JSB .CDN,I GET LAST LINE LDA TMP+1 NO NUMBER SO USE ONLY ONE JSB FNDLN FIND IT JMP PDLE NOT FOUND LDA B,I ALF,RAL AND .37 ADB A STB TMP+1 CMB,INB ADB TMP SSB,RSS IS FIRST < LAST JMP PDLE NO JSB .OK?,I OK TO DELETE? LDB STFE LDA TMP+1,I FROM STA TMP,I TO CPB TMP+1 JMP *+4 YES ISZ TMP ISZ TMP+1 JMP *-6 LDA TMP STA STFE YES CLA JMP PDL,I PDL. JSB .OK?,I OK TO DELETE? LDA FWAMA+1 STA FWAMA STA STFE CLA STA STFE,I JMP PDL,I PDLE CCA JMP PDL,I SKP * STORE FILE FROM DEVICE * PLD NOP JSB .CDN,I GET DEVICE NUMBER CLA,INA USE DEFAULT LEFT DRIVE STA PLDDN SAVE DEVICE NUMBER PLD0 JSB .CFI,I GET INPUT SZA,RSS ANY INPUT? JMP PLD2 NO PLD1 STA PLDNC SAVE COUNT SSA,RSS EOT? JMP *+4 JSB HDRDY PRINT TITLE AND READY CLA JMP PLD,I YES RETURN JSB .PRST,I PROCESS STATEMENT *w JMP PLDE ERROR PLD2 LDA PLDDN INPUT AGAIN JMP PLD0 * PLDE CLA OUTPUT LINE FOR OPERATOR LDB PLDNC JSB .DVIO,I DEF BUF JSB WHAT ASK !? JSB .FMT,I DEF BEEP CLA JSB FMT.,I CLA JSB .CFI,I JMP PLD1 TRY AGAIN * PLDNC NOP PLDDN NOP SKP * RUN PROCESSOR * PRU NOP JSB .CDN,I GET STARTING LINE NUMBER JMP PRU1 NOT FURNISHED JSB FNDLN YES FIND THE LINE JMP PRUE NO FOUND LDA B SAVE LINE ADDRESS CLB NO PROGRAM NAME JMP PRU3+1 PRUE CCA ERROR RETURN JMP PRU,I PRU1 JSB GETB CHECK FOR PROGRAM NAME JMP PRU2 CPA .40 IS IT STILL A SPACE? JMP *-3 YES JSB LTCK NOW CHECK FOR A LETTER JMP PRU4 NO SO TRY AUTO RUN LDB A PUT LETTER IN B REG. JMP PRU3 PRU2 CLB PRU3 LDA FWAMA START AT BEGINNING CCE NOT AUTO RUN PRUR JSB RUN JMP PRU,I PRU4 CPA A! IS THIS AUTO RUN? CLB,CLE,RSS YES JMP PRUE NO THEN ERROR LDA FWAMA SET STARTING ADDRESS JMP PRUR NOW DO IT * RUN NOP STA CRSA SAVE STARTING ADDRESS STB CULN SAVE PROGRAM NAME LDB .20 SET PROCESSOR LEDS OTB 1 LDB IDTBP SET POINTER TO TABLE LDA DM48 MAX ALLOWABLE SELECT CODES STA TMP CLA STA B,I CLEAR FIRST ENTRY SEZ IS THIS AUTO JMP RUN1 NO SO SKIP TABLE CLC 0,C TURN OFF THE WORLD CLA,INA DIAGNOSE MODE 1 OTA 2 RUN0 CLA LIA 2 STA B,I INB STA B,I CLEAR LAST ENTRY ISZ TMP DONE? JMP RUN0 NO SKP RUN1 CLA CLEAR ALL TRAP CELLS OTA 2 TURN OFF DIAGNOSE MODE LDB .6 STA B,I CPB .77 JMP *+3 INB JMP *-4 STA INTSC STA INTF LDB INTLP CLEAR INTERRUPT LINE NO. TABLE LDA B,I CPA .M1 END OF TABLE? JMP *+5 YES CLA STA B,I INB JMP *-6 CLA CLEAR STA GSCFL GTSC LOOP FLAG STA HOODF HOOD FLAG JSB .IOPC,I AND I O PROGRAMS CLA,INA JSB .IOPC,I LDA .2 JSB .IOPC,I LDA .3 JSB .IOPC,I LDA STBFD CLEAR GO SUB POINTER INA STA STBF LDB BFTBA CLEAR ALL BUFFER ADB .2 ALLOCATIONS STB TMP LDB DM52 CLA STA TMP,I ISZ TMP INB,SZB ALL CLEARED? JMP *-3 NO * JSB IMAP INITIALIZE MAPS SKP LDB DATAP SET PARAMETERS OF INTEREST ADB BIT9 ADB .M1 IN THE LAST DATA PARAMETERS LDA DATAP DATA STARTING ADDRESS STA B,I ADB .M1 LDA AFLG START UP FLAG STA B,I ADB .M1 LDA BFLG STA B,I ADB .M1 LDA LWAMA LAST WORD OF MEMORY STA B,I ADB .M1 LDA STFE STATEMENT FILE END STA B,I ADB .M1 LDA VARA SET VARABLES STARTING ADDRESS ADA AA STA B,I ADB .M1 LDA .IOA STATING ADDRESS OF IO ROUTINES STA B,I ADB .M1 LDA TMRC 1 MILL. TIME COUNT STA B,I ADB .M1 CLA CLEAR RUN STRING PARAMETERS STA B,I ADB .M1 STA B,I ADB .M1 STA B,I ADB .M1 STA B,I STB TMP SAVE ADDRESS OF #500 LDA .M4 SET COUNT STA TMP+1 LDA IDTBP,I CHECK IF AUTOMATIC SZA,RSS JSB .CPR,I CONVERT INPUT JMP *+6 NO MORE SO RUN JSB .GPR,I GET ITS DATA STA TMP,I PUT IT IN PLACE ISZ TMP ISZ TMP+1  JMP *-6 SKP LDA FWAMA SET TO SEARCH FOR NEW ALLOCATIONS STA TMP LDA LWAMA GET LAST WORD OF MEMORY STA BUFRP SET BUFFER POINTER RUN2 LDA TMP,I SZA,RSS END OF FILE? JMP RUN3 YES - SET INFO PARAMETERS AND WCMSK MASK OFF WORD COUNT IOR STTBD ADD BASE POINTER CPA RGT GOTO? JSB RGTS YES CPA RGS GOSUB? JSB RGTS YES CPA RYE YES? JSB RGTS YES CPA RPG PROGRAM IDENTIFY? JSB RPGR YES LDA TMP,I ALF,RAL AND .37 ADA TMP STA TMP JMP RUN2 DO NEXT LINE * * INITIALIZE MAPS * IMAP NOP CLA INITIALIZE MAPS LDB .100 STA B,I * INA * INB * PROGRAM MAPS CPB .140 * JMP *+2 * JMP *-5 CLA * STA B,I * INB * DMA I/O MAPS CPB .200 * JMP IMAP,I * JMP *-4 * SKP * PROGRAM NAME IDENTIFY * RPGR NOP LDA CULN WAS A PROGRAM SPECIFIED SZA,RSS ?? JMP RPGR,I NO SO FORGET IT LDB TMP YES SO GET FIRST CHR OF PRGM STMT ADB .4 LDA B,I GET WORD ALF,ALF GET UPPER BYTE AND .177 MASK OFF OTHER BYTE CPA CULN IS THIS THE PROGRAM JMP *+2 JMP RPGR,I NOT THIS ONE - RETURN LDA TMP THIS IS IT STA CRSA SET THIS LINE NUMBER JSB .PLN,I PRINT PROGRAM LDA CRSA RESTOR TMP STA TMP CLA STA CULN CLEAR LINE NUMBER JMP RPGR,I RETURN * * GOTO GOSUB YES LINE LOOKUP * RGTS NOP LDB TMP GET LINE NUMBER ADB .2 LDA B,I JSB FNDLN FIND IT CLB NOT FOUND LDA TMP PUT ADD. IN PLACE ADA .3 STB A,I CLA JMP RGTS,I * RGT DEF RGT. RGS DEF RGS. RYE DEF RYE. RPG DEF RPG. SKP RUN3 LDA CULN CHECK IF PROGRAM NAME WAS PROCESSED SZA JMP PRUE NO SO ERROR * LDA DM100 SET COUNTER FOR 100 LINES STA RGTS SAVE AS COUNTER RUNL ISZ RGTS COUNT THIS ONE JMP *+6 LDA LEDS TIME TO CHANGE LEDS ALF,ALF STA LEDS OTA 1 JMP RUNL-2 RESET COUNTER * LDB CRSA GET EXECUTE POINTER LDA B,I SZA END OF FILE? JMP RUNL0 STA CULN CLEAR LINE NUMBER LDB .20 RESET LEDS OTB 1 CLF 0 INSURE INTERRUPTS ARE OFF JMP RUN,I YES EXIT RUNL0 AND WCMSK GET RUN PROCESSOR POINTER IOR STTBD INB LDB B,I GET LINE NUMBER STB CULN LDA A,I SZA SKIP IF NO PROCESSOR JSB A,I GO DO IT CLB LDA B SZB CHANGE LINES? JMP *+5 YES LDA CRSA,I NO GET NEXT LINE ALF,RAL AND .37 ADA CRSA STA CRSA CLB IF LAST INSTRUCTION LDA IOSC WAS AN IO INSTRUCTION STB IOSC THEN ALLOW ONE MORE INSTRUCTION SZA BEFORE CHECKING INTERRUPTS JMP RUNL LDA INTF ANY INTERRUPTS SZA ? JSB .PINT,I YES JMP RUNL NOW CONTINUE SKP * PARAMETER * * * CONSTANT - ANY NUMBER * +32567 TO -32568 DECIMAL * 0 _ 177777 OCTAL * 0 _ FFFF HEX * * VARIABLE - ANY ALPHA CHARACTER A TO Z * DATA - ANY #N WHERE N= 0 TO 511 * * BUFFER - ANY ALPHA CHARACTER WITH * PARENTHESIS * A(...) TO Z(...) * * ... = ANY NUMBER * ... = ANY VARIABLE * * * JSB CPRAM CONVERT A PRAMETER * NO MORE DATA * . NORMAL RETURN * A + B = PRAM DEF * * * LDA PARAM * LDB DEF * JSB GPRAM GET PARAM ETER * . NORMAL RETURN * A = PARAMETER * B = ADDRESS * * * LDA PARAM * LDB DEF * JSB PPRAM LIST PARAMETER * . NORAML RETURN SKP * PARAMETER DISCRIPTION * * * 111111 * 5432109876543210 * ****************** * *00XXX00000000000* A * ****************** CONSTANT * * NUMBER * B * ****************** 13= OCTAL 12= ASCII 11= HEX * * ****************** * *00000000VARIABLE* A # = DATA * ****************** VARIABLE A B C ... Z * * BLANK * B DATA POSITION * ****************** * * ****************** * *10000000VARIABLE* A * ****************** BUFFER - CONSTANT A(123) * * NUMBER * B * ****************** * * ****************** * *11000000VARIABLE* A * ****************** BUFFER - VARIABLE A(X) * * VARIABLE * B A(!) = BUFFER STARTING ADDRESS * ****************** SKP * CONVERT A PARAMETER * CPRAM NOP JSB .CDN,I TRY CONVERSION FOR CONSTANT JMP CPR0 NOPE LDB A OK CLA INDICATE CONSTANT CPREX ISZ CPRAM RETURN JMP CPRAM,I P+2 * CPR0 JSB GETB JMP CPRAM,I NO MORE DATA CPA .40 SKIP SPACES JMP *-3 CPA A$ ASCII EQU INPUT JMP CPRA YES CPA A@ IS IT OCTAL INPUT? JMP CPRO YES CPA A& HEX INPUT? JMP CPRH YES CPA A# DATA AREA JMP CPRD YES JSB LTCK LETTER CHECK JMP CPRE NOT A LETTER SO ERROR STA GPRAM SAVE CHARACTER LDB GETP JSB BUF2A CPA FC.LP HOW ABOUT A BUFFER RSS JMP CPRV NO JUST A VARIABLE ISZ GETP MOVE PAST PREN JSB GETB JMP CPRE GET WHAT INSIDE PRENS JSB DGCK IS IT A NUMBER JMP CPRBV NO JSB .CVDC,I CONVERT NUMBER SZA,RSS ZERO NOT ALLOWED JMP CPRE CPRBE JSB GETB INSURE LAST CHARACTER IS RIGHT PREN JMP CPRE NO SO ERROR CPA FC.RP MUST BE RIGHT PAREN RSS JMP CPRE NO SO ERROR LDA GPRAM GET BUFFER LABEL IOR BIT15 SET BUFFER FLAG LDB CVN GET CONSTANT LOCATION JMP CPREX RETURN P+2 SKP CPRBV CPA A! IS IT BUFFER ADDRESS JMP *+3 YES JSB LTCK CHECK IT'S A LETTER JMP CPRE NO SO ERROR STA CVN SAVE VARIABLE LDA GPRAM SET VARIABLE FLAG IOR BIT14 STA GPRAM JMP CPRBE * CPRV LDA GPRAM RETRIEVE VARIABLE CLB JMP CPREX RETURN P+2 * CPRO JSB .CON,I CONVERT OCT NUMBER JMP CPRE LDB A LDA BIT13 INDICATE OCTAL INPUT JMP CPREX * CPRA JSB GETB GET NEXT CHR JMP CPRE STA CVN SAVE IT LDA BIT12 INDICATE INPUT AS ASCII LDB CVN JMP CPREX * CPRE CCA JMP CPRAM,I ERROR RETURN * CPRH JSB .CHN,I CONVERT HEX NUMBER JMP CPRE NO DATA LDB A CHANGE HANDS LDA BIT11 INDICATE HEX NUMBER JMP CPREX RETURN * CPRD JSB .CDN,I JMP CPRE NO NUMBER LDB A ADA DATAM CHECK LIMIT SSA,RSS JMP CPRE OVER THE LIMIT LDA A# JMP CPREX GOOD SKP * GET A PARAMETER * GPRAM NOP SSA IS IT A BUFFER? JMP GBFPR YES - GET BUFFER PARAMETER AND .177 NO - ELIMINATE UPPER BITS SZA IS IT A VARIABLE OR CONSTANTk? JMP *+4 LDA B CONSTANT CLB INDICATE NO ADDRESS JMP GPRAM,I RETURN CPA A# DATA AREA JMP GPRD YES LDB A VARIABLE - BREG TO ADDRESS ADB VARA ADD ADDRESS OF VARIABLES LDA B,I GET CONTENTS JMP GPRAM,I RETURN GBFPR CLE,ELA SSA,RSS IS IT BUFFER VARIABLE? JMP *+3 NO CPB A! IS IT A BUFFER ADDRESS? JMP GBFAD YES SSA VARIABLE ADDRESS? ADB VARA YES ADD ADDRESS OF VARIABLES SSA VARIABLE BUFFER ADDRESS? LDB B,I YES -GET IT SSB,RSS IF NUMBER IS NEG. JMP *+3 LDA .7 THEN ERROR JSB ERR AND .77 MASK UPPER BIT STA TMPA SAVE BUFFER LABEL LDA BFTBA * ADA TMPA * LDA A,I * SZA IS BUFFER DEFINED JMP *+3 YES GBFPE LDA .11 NO REPORT IT JSB ERR ADA B * SZB,RSS ZERO NOT ALLOWED JMP *+3 SKP SSA * JMP *+3 * LDA .10 NOT WITHIN BOUNDRIES OF BUFFER JSB ERR REPORT ERROR LDA BFTBA OK GET ADA TMPA INA ADB A,I ADDRESS ADB .M1 LDA B,I AND CONTENTS JMP GPRAM,I RETURN GBFAD AND .77 MASK UPPER BITS ADA BFTBA ADD BUFFER TABLE ADDRESS INA MOVE PAST COUNT TO ADDRESS LDA A,I GET THE ADDRESS SZA,RSS IS THERE A BUFFER DEFINED? JMP GBFPE NO CLB INDICATE NO STORE POINT JMP GPRAM,I RETURN * GPRD ADB DATAP ADD POINTER LDA B,I GET DATA JMP GPRAM,I RETURN SKP * PRINT A PRAMETER * PPRAM NOP STA TMPA SAVE A STB TMPB AND B SSA IS THIS A BUFFER? JMP PPRMB YES CPA A# IS IT DATA /E JMP PPRMD YES AND .177 SZA IS IT A VARIABLE? JMP PPRMV YES LDA TMPA RAL,RAL SSA,RSS IS IT OCTAL? JMP *+3 JSB PPRMO YES OUTPUT IT DEF PPRM1 RAL SSA,RSS IS IT ASCII? JMP *+3 JSB PPRMO YES OUTPUT IT DEF PPRM2 RAL SSA,RSS IS IT HEX? JMP *+3 JSB PPRMO YES OUTPUT IT DEF PPRM6 JSB PPRMO NEITHER JUST A CONSTANT DEF PPRM0 PPRMV STA TMPB JSB PPRMO OUTPUT A VARIABLE DEF PPRM3 PPRMB AND .177 PUT LABLE IN ALF,ALF FORMAT IOR FC.LP STA PPRM4+1 STA PPRM5+1 LDA TMPA RAL SSA IS IT A VARIABLE BUFFER JMP *+3 JSB PPRMO NO DEF PPRM4 JSB PPRMO YES DEF PPRM5 PPRMD JSB PPRMO OUTPUT DATA DEF PPRM7 SKP PPRMO NOP LDA PPRMO,I GET POINTER STA *+2 JSB .FMT,I START OUTPUT NOP LDA TMPB JSB FMT,I JMP PPRAM,I RETURN TO CALLER * PPRM0 ASC 03,(%I6X) PPRM1 ASC 05,("@"%@6X) PPRM2 ASC 04,("$"A1X) PPRM3 ASC 03,(A1X) PPRM4 ASC 07,("X("%I5")"X) PPRM5 ASC 06,("X("A1")"X) PPRM6 ASC 05,("&"%H4X) PPRM7 ASC 05,("#"%I3X) SKP * STATEMENTS (LN = LINE NUMBER) * * PROGRAM CONTROL * * LN REM * LN PRGM X +ANY ASCII STRING * LN GOTO LN * LN GOSB LN * LN RTN * LN CFS * LN STOP X X=DATA FOR LEDS IF NO VCP * LN GTSC @13500 S * LN HOOD * LN WAIT * LN DLY TIME * * DATA MANIPULATION * * LN BFMP R P * LN IOMP R P * WHERE R=REGISTER AND P=PAGE * LN BUF A(#) B(#) C(#) ... Z(#) (#=MAX BUF SIZE) * LN IBP C(1) C(10) XX * WHERE XX = R1/R0 ROTATING 1 OR 0 * C1/C2 CYCLIC ASCII 64 OR 128 * / IP/ID INCREMENT PROGRESSIVE OR DIGRESSIVE * AH/AV ALTERNATING HOR. OR VERTICAL * CL/CC CLEAR OR CLEAR &COMPPLEMENT * CM COMPLEMENT CONTENTS * PA/UA LN PACKED/UNPACKED ASCII STRING * LN CPBF A(1) B(1) COUNT MASK * LN LET X=(FUNCTION) * LN SKIF X><=#(FUNCTION) * FUNCTION = A+B-C*D/E OR A(1)-B+C(23)/D(12) * * MESSAGES IN/OUT * * LN INPT A(1) B Z CONSOLE * LN CTRL C J H(I) LEFT CARTRIDGE TAPE * LN CTRR K L M(N) RIGHT CARTRIDGE TAPE * LN YES? LN * LN PRNT 300 A B(12) CONSOLE * LN CTWL C L O LEFT CARTRIDGE TAPE * LN CTWR F K L RIGHT CARTRIDGE TAPE * LN FMT (I6XX"EXAMPLE"XI4/) SKP * I/O CONTROL * * LN LIA @10 A(1) **LIAC = ALSO CLEAR FLAG * LN OTA @10 A(1) **OTAC = ALSO CLEAR FLAG * LN SFC @10 * LN SFS @10 * LN STF @10 * LN CLF @10 * LN STC @10 **STCC = ALSO CLEAR FLAG * LN CLC @10 **CLCC = ALSO CLEAR FLAG * LN INT @10 200 **OR LETTER OF I O ROUTINE FOR DIRECT JSB * LN WFI @10 1000 * * IO ROUTINES * * THERE ARE FOUR (A,B,C,D) IO ROUTINES * TO CREATE AN INSTRUCTION * LN IOA LDA X GET PRAMETER * LN IOA STA Z * ETC. * * TO EXECUTE IO ROUTINE * LN IORA * * TO CLEAR IO ROUTINE * LN IOCA * * ALL MRG SRG ASG ARE AVAILABLE * PLUS I/O INSTRUCTIONS SKP * STATEMENT FILE LAYOUT * * ********************* * * * BITS 0-9 = STATEMENT TABLE N0. 4 * * WC / RUN TBL PTR * * * * BITS 11-15 = NUMBER OF WORDS * ********************* * * * * * LINE NUMBER * * * * * ********************* * * * * * WORD 3 * * q * * * ********************* * $ $ * ********************* * * * * * WORD N * N NOT GREATER THAN 31 * * * * ********************* * SKP * PROCESS STATEMENT * ORG 4000B PRSTM NOP JSB .CDN,I CONVERT NUMBER JMP PRSTM,I NOT A NUMBER SO ERROR SSA,RSS CANT BE NEGATIVE SZA,RSS ZERO IS NOT ALLOWED JMP PRSTM,I STA STBF+1 SAVE LINE NUMBER LDA MXLN CMA ADA STBF+1 SSA,RSS IS LN OVER THE MAX JMP PRSTM,I YES - SO ERROR LDA .M4 SET FOR FOUR CHARACTERS STA TMPA AND SAVE IT LDB TMPD MOVE LABEL TO RBL MAKE NEW LOCATION BYTE ADDRESS STB PUTP JSB GETB GET A BYTE FROM BUFFER JMP STDL DELETE THE LINE CPA .40 CHECK FOR SPACE JMP *-3 JMP *+3 JSB GETB LDA .40 IF BUF EMPTY USE SPACE JSB PUTC ISZ TMPA FINISHED? JMP *-4 NO JSB GETB YES SO CHECK NEXT CHR JMP STP.0-2 (IF BUFFER EMPTY SKIP CHECK) CPA .40 IS IT JMP *-3 YES TRY NEXT ONE CCA NO BACK UP POINTER ONE ADA GETP STA GETP LDA STTBD SET UP FOR STATEMENT TABLE STA TMPA SEARCH STP.0 LDA TMPA,I CPA .M1 END OF TABLE? JMP PRSTM,I YES - SO ERROR ISZ TMPA LDB TMPA,I ISZ TMPA CPA TMP FIRST OK JMP *+5 YES STP.1 ISZ TMPA NEITHER ISZ TMPA MOVE TO NEXT ONE ISZ TMPA JMP STP.0 TRY IT CPB TMP+1 SECOND OK RSS YES JMP STP.1 NO SKP LDB TMPA,I GET SYNTAX POINTER ISZ TMPA LDA TMPA SAVE RUN POINTER AND WCMSK STA STBF LDA STBFD SET POINTER FOR SYNTAX ADIA .2 STA TMP CLA SZB,RSS JMP *+3 SKIP IF NO SYNTAX PROCESSOR JSB B,I GO TO SYNTAX PROCESSOR JMP PRSTM,I ERROR RETURN ADA .2 ALF,ALF ALF,RAR ADD WORD COUNT IOR STBF TO STA STBF RUN POINTER LDA STBF+1 LINE NUMBER JSB FNDLN TRY TO FIND IT SZA,RSS END OF BUFFER? JMP *+3 YES CLB JMP STP.2 LDA FNDLA,I GET OLD COUNT ALF,RAL AND .37 CMA,INA STA B STP.2 LDA STBF GET NEW COUNT ALF,RAL AND .37 ADA B DETERMINE DIFFERENTIAL LDB FNDLA ADJUST JSB .MVW,I AREA LDA STBF MOVE NEW LINE IN ALF,RAL AND .37 CMA,INA STA TMPA LDA STBFD STA TMPB LDA TMPB,I STA FNDLA,I ISZ FNDLA ISZ TMPB ISZ TMPA JMP *-5 JMP STP.E RETURN P+2 SKP * DELETE A LINE * STDL JSB .OK?,I OK TO DELETE? LDA STBF+1 JSB FNDLN FIND LINE IN FILE JMP STP.E NOT FOUND SO FORGET IT LDA B,I ALF,RAL AND .37 CMA,INA JSB .MVW,I CLOSE UP AREA * * * * SET PROM COUNT AND ADDRESS * STP.E LDA FWAMA CMA,INA ADA STFE CMA,INA AND .M2K IOR .2 LDB FWAMA ADB .M2 STA B,I LDA FWAMA INB STA B,I * ISZ PRSTM JMP PRSTM,I SKP * * OK? NOP JSB .FMT,I ASK IF OK DEF OK?M CLA JSB FMT.,I CLA JSB .CFI,I GET ANSWER SZA,RSS JMP OK?,I YES RETURN LDA BUF GET CHRS CPA AYE IS IT YES? JMP OK?,I YES RETURN JSB .FMT,I INDICATE ABORT DEF AB?M CLA JSB FMT.,I JMP IRQ,I NO ABORT OPERATION * OK?M ASC 04,("OK?") AB?M ASC 05,("ABORT"/) * W SIZE NOP JSB .FMT,I START FORMAT DEF SIZM POINT TO FORMAT STRING LDA MXLN GET NUMBER OF LINES INA JSB FNDLN NOP LDA FNDLC JSB FMT,I OUTPUT NUMBER OF LINES LDA FWAMA GET START OF STATEMENT FILE CMA,INA SUBTRACT IT FORM ADA STFE END OF STATEMENT FILE JSB FMT,I PIT IT IN THE STRING CLA JSB FMT.,I OUT PUT STRING CLA GOOD RESULTS JMP SIZE,I RETURN * SIZM ASC 17,(I6" LINES AND "I6" WORDS USED"/) SKP * RENUMBER COMMAND * THIS COMMAND WILL RENUMBER THE STATEMENT FILE * USING THE SPACING SPECIFIED OR DEFAULT TO 10 * RENM NOP JSB .CDN,I GET SPACING LDA D10 DEFAULT TO 10 SZA CAN'T BE SERO SSA OR NEGATIVE JMP RENME STA TMP SAVE SPACING JSB .CDN,I NOW GET OFFSET CLA ZERO IF NOT SUPPLIED SSA CANT BE NEGATIVE JMP RENME IT WAS STA TMP+2 SAVE OFFSET LDA MXLN GET NUMBER OF STATEMENTS INA JSB FNDLN NOP LDA FNDLC WILL IT OVER FLOW? MPY TMP SSA,RSS ? SZB JMP RENME YES SO ERROR ADA TMP+2 ADD OFFSET SSA IF NEGATIVE THEN ERROR JMP RENME IT WAS * JSB .OK?,I ASK IF IT'S OK SKP LDA FWAMA START WITH FIRST STATEMENT RENM0 STA CRSA SET POINTER LDA A,I GET POINTER TO STATEMENT SZA,RSS END OF FILE? JMP RENM2 YES RE SEQUENCE FILE AND WCMSK ELIMINATE WORD COUNT IOR STTBD CPA RE.GT IS IT GOTO? JMP REGSY YES CPA RE.GS IS IT GOSUB? JMP REGSY YES CPA RE.YS IS IT YES? JMP REGSY YES CPA RE.IT IS IT INTERRUPT? JMP REINT YES CPA RE.IP IS IT INITIALIZE BUFFER PATTERN JMP REIBP YES CPA RE.PT IS IT PRINT? JMP REPNT YES CPA RE.CL IS IT CTWL? JMP REPNT YES CPA RE.CR IS IT CTWR? JMP REPNT YES * RENM1 LDA CRSA,I NONE SO MOVE TO TEXT STATEMENT ALF,RAL AND .37 ADA CRSA JMP RENM0 AND DO IT RENME CCA JMP RENM,I RETURN WITH ERROR SKP REGSY LDB .2 POINT TO LOCATION IN FILE RENMX ADB CRSA STB TMP+1 SAVE ADDRESS LDA B,I GET NUMBER JSB FNDLN FIND IT JMP RENM1 SKIP UPDATE IF NO NUMBER LDA FNDLC GET COUNT MPY TMP SET NEW NUMBER ADA TMP+2 ADD OFFSET STA TMP+1,I OVER WRITE THE OLD ONE JMP RENM1 DO NEXT LINE REINT LDB .4 POINT TO LINE NUMBER JMP RENMX AND CHANGE IT REIBP LDB .7 ADB CRSA CHECK IF IT'S A NUMBER ONLY LDA B,I SZA JMP RENM1 IT ISN'T SO SKIP UPDATE LDB .10 JMP RENMX OK DO IT REPNT LDB .3 ADB CRSA LDA B,I SZA,RSS JMP RENM1 JMP RENMX+1 * RENM2 LDA FWAMA RENUMBER FILE STA CRSA LDA TMP STA TMP+1 RENM3 LDB CRSA LDA B,I CHECK IF END OF FILE SZA,RSS JMP RENM,I YES RETURN INB LDA TMP+1 ADA TMP+2 ADD OFFSET STA B,I PUT NEW NUMBER IN FILE LDA TMP+1 ADA TMP STA TMP+1 MOVE TO NEXT NUMBER LDA CRSA,I ALF,RAL AND .37 ADA CRSA STA CRSA JMP RENM3 * RE.GT DEF RGT. RE.GS DEF RGS. RE.YS DEF RYE. RE.IT DEF RIT. RE.IP DEF RIP. RE.PT DEF RPT. RE.CL DEF RCWL. RE.CR DEF RCWR. SPC 3 * PROGRAM - LIST ALL PROGRAM STATEMENTS * PROG NOP LDA FWAMA START AT BEGINNING STA CRSA LDA CRSA,I SZA,RSS ANYTHING IN THE FILE JMP PROG,I AND WCMSK GET POINTER IOR STTBD ADD OFFSET ADDREaSS CPA PRRPG IS THIS A PROGRAM STATEMENT JSB .PLN,I YES SO PRINT IT LDA CRSA,I GET COUNT FOR ALF,RAL NEXT LINE AND .37 COUNT ONLY ADA CRSA JMP PROG+2 OK LOOP ON IT. * PRRPG DEF RPG. SKP * EDIT COMMAND * THIS COMMAND WILL OUTPUT THE REQUESTED LINE * AND SAVE THE BUFFER THEN ASK FOR INPUT OF THE EDIT LINE * FROM THE EDIT LINE A NEW LINE BUILT IN THE BUFFER AREA * * THE STANDARD EDIT COMMANDS ARE USED * / - RETAIN SAME CHARACTER * CTL S - INSERT FOLLOWING CHARACTERS * CTL I - " " " * CTL R - REPLACE FOLLOWING CHARACTERS * CTL T - TRUNCKATE REST OF LINE * CTL C - CLEAR FOLLOWING CHARACTERS * EDIT NOP JSB .CDN,I GET LINE NUMBER JMP EDIE NO NUMBER SO ERROR JSB FNDLN FINE LINE NUMBER JMP EDIE NO LINE SO ERROR STB CRSA SAVE POINTER JSB .PLN,I PRINT THE LINE NUMBER * LDA DM40 SET TO SAVE OUTPUT BUFFER STA TMP LDA BUFA GET BUFFER POINTER CLE,ERA MAKE ADDRESS STA TMP+1 LDB SBUFA GET SAVE BUFFER LDA TMP+1,I TRANSFER DATA STA B,I INB ISZ TMP+1 ISZ TMP DONE JMP *-5 NO * EDI.J CLA GET EDIT LINE LDB DM72 JSB .DVIO,I TBUFA DEF TBUF SZA,RSS ANY INPUT JMP EDIT,I NO THEN JUST RETURN LDB TBUFA CLE,ELB ADB A LDA .15 PUT TERMINATOR IN BUFFER JSB A2BUF LDA TBUFA SET GET POINTER CLE,ELA MAKE IT BYTE STA GETP LDA BUFA SET NEW BUFFER POINTER STA PUTP LDA SBUFA SET SAVE BUFFER POINTER CLE,ELA MAKE IT BYTE STA TMP SKP EDI.R JSB EDIGB GET A BYTE AND CHECK IT STA TMP+1 SAVE CHARACTER LDB TMP aGET A CHR FROM SAVE BUFFER JSB BUF2A CPA .15 END OF BUFFER JMP EDI.1 YES ISZ TMP MOVE TO NEXT CHR EDI.0 LDB TMP+1 CHECK PREVIOUS CHR CPB A/ LEAVE IT? RSS LDA B YES JSB PUTC JMP EDI.R TRY NEXT ONE EDI.1 LDA .40 USE SPACE JMP EDI.0 * EDI.I JSB EDIGB GET NEXT CHARACTER JSB PUTC PUT IT IN BUFFER JMP *-2 * EDI.C JSB EDIGB GET NEXT CHARACTER LDB TMP CHECK IF END OF BUFFER JSB BUF2A CPA .15 END OF BUFFER? JMP EDI.C YES SKP ADDRESS ADJUST ISZ TMP JMP EDI.C * EDI.T LDA .15 ADD TERMINATOR TO BUFFER JSB PUTC LDA BUFA NOW PROCESS LINE STA GETP JSB .PRST,I EDIE CCA,RSS ERROR IN PROCESSING CLA JMP EDIT,I DONE * EDI.X LDB TMP CHECK IF ANY MORE IN SAVE BUFFER JSB BUF2A CPA .15 END JMP EDI.T YES JSB PUTC NO ADD CHR TO BUFFER ISZ TMP JMP EDI.X TRY NEXT ONE SKP EDIGB NOP JSB GETB GET NEXT BYTE JMP EDI.X NO MORE DATA COPY REST OF SBUF CPA A.R REPLACE CHARACTER? JMP EDI.R YES CPA A.I INSERT CHARACTER? JMP EDI.I YES CPA A.S INSERT CHARACTER? JMP EDI.I YES CPA A.C CLEAR CHARACTERS? JMP EDI.C YES CPA A.T TRUNCATE REST OF LINE? JMP EDI.T YES JMP EDIGB,I NONE SO RETURN WITH CHARACTER * SBUFA DEF SBUF SBUFC NOP * SKP * THIS ROUTINE ENABLES THE OPERATOR TO * EXAMINE OR CHANGE MAPS FORM THE CONSOLE * MAP R P WHERE R = LOCATION REGISTER (100-177) * P = PAGE NUMBER (40-377) * R=0 MAPS OFF (140=0) * R=-1 MAPS ON (140=-1) * MAP NOP CLC 11B TURN OFF MAPS FOR OPERATION JMP *+1 DO IT V JSB .CON,I GET MAP REGISTER JMP MAPL NO DATA SO LIST REGISTERS STA TMP SAVE REGISTER SZA MAP OFF JMP *+3 NO STA 140B YES SO TURN MAPS OFF JMP MAPEX RETURN CMA,SZA MAP ON JMP MAP0 NO THEN IT'S A REGISTER CCA YES SO TURN MAPS ON STA 140B AND SET FLAG MAPEX CLA,RSS CCA LDB 140B ON OR OFF SZB STC 11B ON JMP MAP,I * MAPL LDA .100 SET STARTING MAP STA TMP MAPL0 LDA .M4 STA TMP+1 SET COUNT LDB TMP CPB .200 END OF MAPS? JMP MAPEX YES RETURN JSB .FMT,I SET UP FORMATTER DEF MAPM MAPL1 LDA TMP OUTPUT MAP REGISTER JSB FMT,I LDA TMP,I GET MAP CONTENTS JSB FMT,I ISZ TMP ISZ TMP+1 DONE 4 JMP MAPL1 NO CLA OUTPUT TO TERMINAL JSB FMT.,I JMP MAPL0 TRY NEXT ONE * MAPM ASC 08,(4(K3"="K6XX)/) SKP MAP0 LDA STFE SET LOWEST PAGE NUMBER ALF RAL,RAL AND .77 CMA STA TMP+2 JSB .CON,I GET PAGE NUMBER JMP MAPEX+1 NO PAGE SO ERROR STA TMP+1 SAVE IT SZA,RSS IF ZERO THEN OK JMP *+4 ADA TMP+2 CANT BE LESS THAN STFE SSA JMP MAPEX+1 IS WAS LDA TMP NOW CHECK REG NO. CPA .140 CANT BE FLAG REG. JMP MAPEX+1 IT IS SO ERROR ADA .M77 CANT BE LESS THAN 100 SSA JMP MAPEX+1 IT WAS SO ERROR CMA,INA ADA .40 IF GREATER THAN 40 THEN SSA JMP MAP1 IT MUST BE DMA LDA TMP CHECK NOT LESS THAN STFE ADA TMP+2 ADA .M77 SSA JMP MAPEX+1 LDA TMP AND .77 SET FOR CLEAR LDB TMP+1 SZB LDA TMP+1 STA TMP,I JMP MAPEX MAP1 LDA TMP+1 STA TMP,I = JMP MAPEX SKP * ERROR MESSAGE TABLE * ERRMT DEF ERM00 DEF ERM01 DEF ERM02 DEF ERM03 DEF ERM04 DEF ERM05 DEF ERM06 DEF ERM07 DEF ERM08 DEF ERM09 DEF ERM10 DEF ERM11 DEF ERM12 DEF ERM13 DEF ERM14 DEF ERM15 DEF ERM16 DEF ERM17 DEF ERM18 DEF ERM19 DEF ERM20 DEF ERM21 DEF ERM22 DEF ERM23 * ERM00 ASC 13,("= STATEMENT FILE FULL"/) ERM01 ASC 14,("= LINE NUMBER NOT FOUND"/) ERM02 ASC 18,("= GOSB OVERFLOW (MORE THAN 24)"/) ERM03 ASC 19,("= RTN TO WHAT LINE (NO GOSB LINE)"/) ERM04 ASC 17,("= INPUT CALL WITH NO CONSOLE"/) ERM05 ASC 18,("= 'LETC' MATHEMATICAL OVERFLOW"/) ERM06 ASC 13,("= WRITE ERROR TO CTU"/) ERM07 ASC 13,("= NEG BUFFER REQUEST"/) ERM08 ASC 19,("= REQUEST OUT OF LIMITS OF BUFFER"/) ERM09 ASC 13,("= BUFFER NOT DEFINED"/) ERM10 ASC 14,("= DOUBLY DEFINED BUFFER"/) ERM11 ASC 19,("= NOT ENOUGH ROOM FOR ALL BUFFERS"/) ERM12 ASC 14,("= NO FORMAT LINE NUMBER"/) ERM13 ASC 18,("= INITIALIZE BOUNDRIES IN ERROR"/) ERM14 ASC 17,("= COMPARE COUNT ZERO OR NEG"/) ERM15 ASC 12,("= SELECT CODE > 77"/) ERM16 ASC 12,("= BAD FORMAT ERROR"/) ERM17 ASC 17,("= INT CAUSED GOSB OVERFLOW"/) ERM18 ASC 13,("= NO ASC LINE NUMBER"/) ERM19 ASC 11,("= ILLEGAL REQUEST"/) ERM20 ASC 13,("= DS DRIVER TIME-OUT"/) ERM21 ASC 16,("= MAP REQUEST OUT OF LIMITS"/) ERM22 ASC 19,("= JMP INST. IN I/O OUT OF LIMITS"/) ERM23 ASC 19,("= I/O FULL INSTRUCTION NOT ADDED"/) SKP * STATEMENT LIST * PLI NOP CLA CONSOLE OUTPUT JSB PLFR JMP PLI,I * PSV NOP JSB .CDN,I GET DEVICE NUMBER CLA,INA USE DEFAULT LEFT DRIVE JSB PLFR JMP PSV,I * PLFR NOP STA DVN SAVE DEVICE NUMBER JSB .CDN,I GET STARTING NUMBER CLA IF NO NUMBER USE 0 STA TMP+1 SAVE IF ONLY ONE NUMBER JSB oFNDLN FIND FIRST LINE NUMBER NOP STB CRSA SAVE POINTER JSB .CDN,I GET ENDING LINE NUMBER LDA TMP+1 NO NUMBER SO USE FIRST SZA,RSS WAS IT DEFAULTED? LDA MXLN USE 1999 IF FIRST WAS DEFAULT CMA MAKE IT NEGATIVE STA TMP+1 SAVE IT PLFL LDA CRSA,I SZA,RSS IF ZERO END OF BUFFER JMP PLFR,I RETURN LDB CRSA ISOLATE LINE NUMBER INB LDA B,I LDB A CHECK IF LAST NUMBER ADB TMP+1 SSB JMP *+3 CLA JMP PLFR,I YES RETURN JSB .PLN,I PRINT LINE LDA CRSA,I MOVE TO NEXT LINE ALF,RAL AND .37 ADA CRSA STA CRSA JSB STOP CHECK OPERATOR INTERRUPT JSB .STOP JMP PLFL NO SO CONTINUE SKP * PRINT A SINGLE LINE POINTED TO BY CRSA * PLN NOP JSB .FMT,I OUTPUT LINE NUMBER AND STATEMENT LABLE DEF LSTM LDB CRSA GET LINE NUMBER INB LDA B,I JSB FMT,I LDA CRSA,I OUTPUT STATEMENT LABLE AND WCMSK IOR STTBD LDB A INB LDA B,I STA TMP+2 SAVE LIST POINTER ADB .M4 LDA B,I INB STB TMP+3 JSB FMT,I LDA TMP+3,I JSB FMT,I LDA CRSA SET POINTER FOR LIST ROUTINES ADA .2 STA TMP LDA TMP+2 GET LIST PROCESSOR SZA SKIP IF NO LIST PROCESSOR JSB A,I JSB .FMT,I DO CRLF DEF CRLF LDA DVN GET DEVICE NUMBER JSB FMT.,I PRINT IT AND RESET BUFFER JMP PLN,I RETURN TO CALLER * LSTM ASC 05,(I5X2A2X) SKP * MOVE WORDS * LDA * LDB
* JSB MWORD * MWORD NOP SZA,RSS IS THERE ANY MOVE? JMP MWORD,I NO RETURN STA TMPA SAVE COUNT SSA IS IT A POSITIVE OR NEG MOVE? JMP MWDN NEG ADA STFE CHECK IF THERE WILL BE ROOM CMA,INA STA TMPB SV RESULT LDA LWAMA GET LAST WORD OF MEMORY ADA TMPB SSA,RSS ? JMP *+3 OK CLA NO - TELL OPERATOR JSB ERR "STATEMENT FILE FULL LDA STFE STA TMPB ADA TMPA STA TMPA STA STFE MWDL LDA TMPB,I STA TMPA,I CPB TMPB JMP MWORD,I FINISHED EXIT CCA ADA TMPA STA TMPA CCA ADA TMPB STA TMPB JMP MWDL * MWDN LDA B,I DETERMINE ALF,RAL FROM AND .37 ADB A STB TMPB ADB TMPA SET TO STB TMPA ADDRESS LDB STFE GET LAST ADDRESS MWDNL LDA TMPB,I STA TMPA,I CPB TMPB FINISHED JMP *+4 ISZ TMPB ISZ TMPA JMP MWDNL LDA TMPA SET END OF FILE ADDRESS STA STFE JMP MWORD,I RETURN SKP * BUFFER SYNTAX * ORG 6000B BUFSY NOP LDA DM10 ALLOW ONLY 10 PER LINE STA STBF+2 ISZ TMP BUFSN JSB FPS FILE PARAMETER STORE JMP BUFSE NO MORE CHECK FOR ERROR SSA,RSS IS IT A BUFFER DISCRIPTION JMP BUFSY,I NO- SO ERROR RAL SSA MUST BE A NUMBER JMP BUFSY,I NO SO ERROR LDA STBF+2 OVER TEN INPUTS SZA,RSS ? JMP BUFSY,I YES INA OK COUNT IT STA STBF+2 JMP BUFSN AND DO NEXT ONE * BUFSE CPA .15 IS IT END OF BUFFER ISZ BUFSY YES LDA D10 DETERMINE INPUT COUNT ADA STBF+2 CMA,INA STA STBF+2 CMA,INA RAL DOUBLE COUNT INA ADD COUNT JMP BUFSY,I RETURN SKP BUFRU NOP LDA CRSA GET NUMBER OF BUFFERS ADA .2 LDB A,I INA AND ADDRESS STA BUFRA SAVE THEM STB BUFRC SZB,RSS IF NO BUFFER PARAMETERS THEN JMP BUFCL CLEAR ALL BUFFER ALLOCATIONS BUFRL LDA BUFRA,I HAS IT BEEN DEFINED AND .37 RAL ADA BFTBA LDB A,I SZB,RSS ? JMP *+3 LDA .12 YES SO ERROR JSB ERR ISZ BUFRA NO LDB BUFRA,I GET COUNT ISZ BUFRA CMB NEGATE IT STB A,I INB ADB BUFRP DETERMINE ADDRESS INA STB A,I STB BUFRP CMB STILL ROOM ADB STFE SSB ? JMP *+3 LDA .13 NO JSB ERR SO ERROR ISZ BUFRC DONE WITH THIS STATEMENT JMP BUFRL NO CLA JMP BUFRU,I YES * BUFCL LDB BFTBA CLEAR BUFFER ALLOCATIONS ADB .2 STB BUFRA LDB DM52 ALL OF THEM CLA STA BUFRA,I ISZ BUFRA INB,SZB JMP *-3 LDB LWAMA RESET BUFFER LAST ADDRESS STB BUFRP JMP BUFRU,I RETURN SKP * BUFFER DEF LIST * BUFLI NOP LDA TMP,I GET INPUT COUNT ISZ TMP STA LIC SAVE COUNT SZA,RSS IS THERE ANY BUFFERS DEFINED? JMP BUFLI,I NO THEN RETURN BUFL0 JSB FPL FILE PARAMETER LIST ISZ LIC DONE? JMP BUFL0 NO JMP BUFLI,I YES RETURN SKP * COMMENT (REMARK) PROCESSORS * CMTSY NOP LDA STBFD SET ADDRESS ADA .4 RAL STA PUTP LDA DM54 SET MAX STA STBF+3 NUMBER OF CHARACTERS JSB GETB MOVE ASCII STRING TO FILE JMP *+4 END OF BUFFER JSB PUTC NO ADD CHR TO FILE ISZ STBF+3 ADD COUNT FOR EACH CHARACTER JMP *-4 LDA D54 SET COUNT ADA STBF+3 TO STA STBF+3 BE POSITIVE SLA MAKE IT AN EVEN NUMBER INA RAR BYTE COUNT TO WORD C OUNT ADA .2 ADD TWO FOR ASCII COUNT ISZ CMTSY ADJUST RETURN JMP CMTSY,I RETURN P+2 * * COMMENT LIST * CMTLI NOP JSB .FMT,I START OUTPUT OF BUFFER DEF CMTFM ISZ TMP LDA TMP,I GET BYTE COUNT CMA,INA MAKE IT NEG. STA CMTSY SAVE COUNT SZA,RSS CHECK FOR ANY CHARACTERS JMP CMTLI,I NONE SO RETURN ISZ TMP LDB TMP GET ADDRESS CLE,ELB MAKE IT BYTE ADDRESS STB TMP CMTLL LDB TMP GET BYTE ADDRESS JSB BUF2A JSB FMT,I TRANSFER BYTE ISZ TMP MOVE TO NEXT BYTE ISZ CMTSY ALL DONE? JMP CMTLL NO JMP CMTLI,I YES RETURN TO CALLER * CMTFM ASC 02,(A1) SKP * GOTO GOSB SYNTAX * GTSSY NOP JSB GTLN GET LINE NUMBER JMP GTSSY,I STA STBF+2 OK LDA .2 LEAVE ROOM FOR ADDRESS ISZ GTSSY JMP GTSSY,I * * GOTO AND GOSB LIST * GTSLI NOP CLA LDB TMP,I GET LINE NUMBER JSB .PPR,I OUTPUT IT JMP GTSLI,I * * GOTO RUN PROCESSOR * GTORU NOP LDA CRSA GET STA IOSC SET HOLD OFF FLAG ADA .3 NEW LINE NUMBER LDB A,I SZB,RSS WAS IT FOUND? JMP *+3 ISZ GTORU RETURN FOR NEW LINE JMP GTORU,I CLA,INA REPORT NOT FOUND JSB ERR * * GOSUB RUN PROCESSOR * GSBRU NOP LDA STBFD CHECK STA IOSC (SET HOLD OFF FLAG) CMA,INA ADA STBF NOT OVER INA ADA .M32 24 SSA JMP *+3 LDA .2 REPORT GOSB OVER FLOW JSB ERR LDA CRSA,I SET RETURN POINTER ALF,RAL AND .37 ADA CRSA STA STBF,I ISZ STBF LDA GSBRU STA GTORU JMP GTORU+1 CHANGE LINES SKP * RETURN SYNTAX PROCESSOR * >RTNSY NOP JSB FPS GET INCREMENT NUMBER JMP *+4 NOT FURNISHED LDA .2 TWO LOCATIONS USED ISZ RTNSY GOOD RETURN JMP RTNSY,I CLA STA TMP,I CLEAR NUMBER ISZ TMP STA TMP,I JMP RTNSY+3 * * RETURN RUN PROCESSOR * RTNRU NOP LDB .2 GET RETURN NUMBER JSB FPG CMA STA RTNSY SAVE COUNT CCA ANY GOSBS? ADA STBF CPA STBFD RSS NO JMP *+3 LDA .3 REPORT AS ERROR JSB ERR LDB A,I YES GET RETURN LINE CCA MO E POINTER BACK ADA STBF STA STBF RTNRN ISZ RTNSY MOVE UP ONE? JMP *+3 YES ISZ RTNRU JMP RTNRU,I LDA B,I GET STATEMENT COUNT SZA,RSS WAS IT THE END? JMP RTNRN+2 YES ALF,RAL AND .37 ADB A JMP RTNRN * RTNLI NOP LDB TMP LDA B,I INB IOR B,I SZA WAS THERE A NUMBER JSB FPL YES JMP RTNLI,I SKP * STOP STATEMENT RUN PROCESSOR * RUSTP NOP LDB .2 GET STOP LED DISPLAY JSB FPG SZA IF ZERO THEN I/O JMP STOP. NOT I O SO USE DATA FOR DISPLAY LIA 2 I/O SO GET GLOBAL REGISTER IOR BIT6 INCLUDE SUBSECTION FLAG ALF,ALF PUT IN UPPER HALF IOR .23 INDICATE I/O DIAGNOSTIC JMP STOP. * * CHECK FOR STOP * RUCFS NOP JSB STOP JSB .STOP JMP RUCFS,I SPC 3 * GET SELECT CODE SYNTAX * GSCSY NOP JSB FPS STORE INTERFACE I.D. JMP GSCSY,I NOT FURNISHED SO ERROR AND M7.43 INSURE IT IS A NUMBER ONLY SZA JMP GSCSY,I NOT SO ERROR JSB FPS STORE SELECT CODE PARAMETER JMP GSCSY,I NOT FURNISHED SO ERROR AND M7.43 INSURE IT IS NOT A NUMBER SZA,RSt@S JMP GSCSY,I NOT SO ERROR LDA .4 USED 4 LOCATIONS ISZ GSCSY ADJUST RETURN JMP GSCSY,I AND RETURN * GSCLI NOP JSB FPL JSB FPL JMP GSCLI,I SKP * GET SELECT CODE RUN PROCESSOR * GSCRU NOP LDB .2 GET I.D. NUMBER JSB FPG STA GSCLI SAVE IT LDB .4 GET SELECT CODE PARAMETER JSB FPG STB GSCSY SAVE ADDRESS POINTER LDB GSCFL GET LOOP FLAG SZB,RSS DONT OUTPUT PAS COMPLETE IF LOOP SZA,RSS OR IF THE FIRST TIME THROUGH JMP GSCR. JSB .FMT,I OUTPUT PASS COMPLETE DEF GSCPM CLA TO THE CONSOLE JSB FMT.,I GSCR. LDA IDTBP,I CHECK IF AUTOMATIC SZA JMP GSCR2 YES LDA GSCSY,I CHECK IF SELECT CODE ALREADY ENTERED LDB GSCFL AND IF LOOP FLAG SET SZA SZB,RSS JMP GSCR0 NO ON BOTH LDA GSCX RESTORE PREVIOUS SELECT CODE STA GSCSY,I JSB .FMT,I OUTPUT PASS COUNT DEF GSCPC LDA GSCFL GET PASS COUNT JSB FMT,I CLA USE CONSOLE JSB FMT.,I ISZ GSCFL RSS ISZ GSCFL JSB RUCFS NOW CHECK FOR STOP JMP GSCRU,I AND CONTINUE * GSCPM ASC 09,("PASS COMPLETE"/) GSCPC ASC 07,("PASS "%I6/) SKP * MANUAL MODE * GSCR0 JSB .FMT,I NO ASK FOR SELECT CODE THEN DEF GSCM0 POINTER TO MESSAGE CLA STA GSCFL CLEAR LOOP FLAG JSB FMT.,I CLA JSB .CFI,I CALL FOR INPUT LDB GSCSY,I CHECK IF THERE WAS ONE SZA DID HE ENTER ONE? JMP GSCR1 YES SZB,RSS NO IS THERE ONE ALREADY? JMP GSCR0 NO LDA GSCX YES RESTORE SELECT CODE STA GSCSY,I AND CLA,INA SET LOOP FLAG (AND PASS 1) STA GSCFL JMP GSCRU,I YES SO CONTINUE GSCR1 JSB .CON,I CONVERT OCTAL INPUT ' JMP GSCR0 NO NUMBER SO ERROR SZA,RSS IF NUMBER IS ZERO JMP GSCRX THEN EXIT STA B SAVE NUMBER CPA .M1 IS THIS THE END? JMP *+8 YES AND .M77 CHECK NOT OVER 77 SZA JMP GSCR0 IT WAS SO TRY AGAIN LDA B CHECK NOT LESS THAN 20 AND DM16 SZA,RSS JMP GSCR0 IT WAS SO TRY AGAIN STB GSCSY,I IT'S OK - PUT IT IN PARAMETER STB GSCX SAVE FOR LOOP JMP GSCRU,I CONTINUE * GSCM0 ASC 11,("INPUT SELECT CODE ") SKP * AUTOMATIC RUN * GSCR2 LDB IDTBP GET POINTER TO TABLE LDA B,I GET A SELECT CODE CPA .M1 ALREADY DONE? JMP GSCR3 YEP SZA,RSS END OF TABLE? JMP GSCRE YES END OF DIAGNOSTIC AND .M77 CHECK ID CPA GSCLI IS THIS ONE OK JMP GSCR4 YEP GSCR3 INB JMP GSCR2+1 TRY NEXT ONE * GSCR4 LDA B,I AND .77 SC ONLY STA GSCSY,I PUT IT IN PARAMETER STA GSCX SAVE FOR LOOP CCA STA B,I INDICATE IT'S DONE JSB .FMT,I PRINT SELECT CODE UNDER TEST DEF GSCM1 LDA GSCSY,I JSB FMT,I CLA JSB FMT.,I JMP GSCRU,I * GSCM1 ASC 16,("SELECT CODE "K2" UNDER TEST"/) SPC 2 * END OF DIAGNOSTIC * GSCRE LDA GSCSY,I CHECK IF CALL BACK WHEN DONE CPA .M1 ?? JMP GSCRU,I YEP LEAVE SELECT CODE -1 JSB .FMT,I END OF DIAG DEF GSCM2 CLA JSB FMT.,I GSCRX LDB STFE POINT TO END OF PROGRAM ISZ GSCRU CHANGE LINES JMP GSCRU,I * GSCM2 ASC 12,("DIAGNOSTIC COMPLETE"/) * GSCX NOP SAVE SC FOR LOOP IDTBL BSS 49 I.D. TABLE SKP * HOOD CHECK RUN PROCESSOR * HODRU NOP CLA CHECK IF FRONT PANEL IS THERE LIA 3,C SZA JMP HODR0 YES HODRE CCA NO SO SKIP LINE R STA HOODF SET HOOD FLAG LDA CRSA,I ALF,RAL AND .37 ADA CRSA STA CRSA JMP HODRU,I * HODR0 LDA IDTBP,I CHECK IF AUTOMATIC SZA JMP HODRU,I YES NO HOOD LDA GSCFL CHECK LOOP FLAG LDB HOODF AND HOOD SZA,RSS JMP HODR1 NO SO ASK FOR HOOD SZB YES SO CHECK HOOD JMP HODRE JMP HODRU,I HODR1 JSB .FMT,I DEF HODM0 CLA STA HOODF CLEAR HOOD FLAG JSB FMT.,I CLA JSB .CFI,I SZA,RSS JMP HODR1 LDA BUF CPA AYE JMP HODRE CPA ANO JMP HODRU,I JMP HODR1 * HODM0 ASC 10,("HOOD INSTALLED? ") SKP * WAIT RUN PROCESSOR * WATRU NOP JSB .FMT,I DEF WAITM LDA CULN WITH CURRENT LINE NUMBER JSB FMT,I CLA TO CONSOLE JSB FMT.,I WTRU JSB .FMT,I OUTPUT ASTRISK DEF WSYBL CLA TO THE CONSOLE JSB FMT.,I CLA JSB .CFI,I CALL FOR INPUT LDA BUF CPA ACO CONTINUE JMP WATRU,I YES CPA AST STOP? JMP STOP0 YES JSB .PRMI,I MUST BE A PARAMETER JSB WHAT NOT !? JMP WTRU * WSYBL ASC 1,(" BELL + * OCT 3452 ASC 1,") OCT 177777 * WAITM ASC 06,(I5X"WAIT"/) SKP * DELAY SYNTAX * DLYSY NOP JSB FPS CONVERT PARAMETER JMP DLYSY,I NO PARAMETER LDA .2 ISZ DLYSY JMP DLYSY,I RETURN P+2 * * DELAY RUN PROCESSOR * DLYRU NOP LDB .2 JSB FPG FILE PARAMETER GET SSA IF NEGATIVE COUNT THEN CMA,INA MAKE IT POSITIVE SZA,RSS IF ZERO THEN SKIP TIMER JMP DLYRU,I LDB STF0 CHECK INTERRUPTS OCT 103300 SFS 0,C CLB STB *+4 LDB INTF NOW CHECK IF PENDING INTERRUPT SZB B JMP *+4 NOP JSB TMR GO TO TIMER JMP DLYRU,I LDB *-3 IF INTS ARE OFF DO DELAY SZB,RSS JMP *-4 STF0 STF 0 RESTOR INTERRUPTS JMP DLYRU,I * * DELAY LIST * DLYLI NOP JSB FPL FILE PARAMETER LIST JMP DLYLI,I SKP * INPUT SYNTAX * INPSY NOP CLA LDB INPSY GET RETURN ADDRESS JSB INNSY USE CONSOLE CRLSY NOP CLA,INA LDB CRLSY GET RETURN ADDRESS JSB INNSY USE LEFT CARTRIDGE TAPE CRRSY NOP LDA .2 LDB CRRSY GET RETURN ADDRESS JSB INNSY USE RIGHT CARTIDGE TAPE INSSY NOP LDA .3 LDB INSSY GET RETURN ADDRESS JSB INNSY USE SCREEN * INNSY NOP STB INNSY SAVE RETURN ADDRESS STA STBF+2 SAVE DEVICE NUMBER ISZ TMP LDA .M10 ALLOW ONLY 8 PARAMETERS TO BE INPUT STA STBF+3 ISZ TMP INNSN JSB GETB CHECK FIRST CHARACTER JMP INNSE NO DATA CPA .40 SKIP SPACES JMP *-3 CPA A& HEX INPUT? JMP *+6 YES CPA A$ ASCII INPUT? JMP *+4 YES CPA A@ OCTAL INPUT? JMP *+2 YES CLA NONE STA TMP,I SAVE TYPE ISZ TMP LDB GETP STEP BACK ONE ADB .M1 SZA,RSS NONE? STB GETP MOVE BACK CHARACTER JSB FPS FILE PARAMETER STORE JMP INNSE NO MORE CHECK FOR ERROR AND M7.43 CHECK IT ISN'T A NUMBER SZA,RSS JMP INNSY,I IT WEAS SO ERROR LDA STBF+3 OVER EIGHT INPUTS? SZA,RSS JMP INNSY,I YES INA OK COUNT IT STA STBF+3 JMP INNSN AND DO NEXT ONE SKP INNSE LDB STBF+3 THERE MUST BE AN INPUT PARAMETER CPB .M10 ? JMP INNSY,I NO SO ERROR CPA .15 IS IT END OF BUFFER? ISZ INNSY YES AD''JUST RETURN TO P+2 LDA .10 DETERMINE COUNT ADA STBF+3 CMA,INA STA STBF+3 CMA,INA STA B RAL DOUBLE COUNT ADA B TRIPLE COUNT ADA .2 ADD COUNT AND DEVICE JMP INNSY,I RETURN SKP * INPUT RUN PROCESSOR * INNRU NOP LDA CRSA GET DEVICE ADA .2 LDB A,I NUMBER STB TMP INA LDB A,I AND NUMBER OF PARAMETERS STB TMP+1 SAVE COUNT STB TMP+3 INA STA TMP+2 AND ADDRESS STA TMP+4 LDA TMP OK GET INPUT INNR0 JSB .CFI,I STA INNRC INNRN LDB A SAVE A STA INNRT AND AS A NUMBER LDA TMP+2,I GET TYPE OF INPUT ISZ TMP+2 CPA A$ ASCII INPUT? JMP INNAS YES SSB EOF? JMP INNRS+1 YES JUST PUT NEG IN DATA CPA A& HEX INPUT? JMP INNHD YES CPA A@ OCTAL INPUT? JMP *+4 YES JSB .CDN,I NO CONVERT TO DECIMAL JMP INNRE NOT A NUMBER JMP INNRS OK JSB .CON,I CONVERT TO OCTAL JMP INNRE NOT A NUMBER INNRS STA INNRT SAVE IT LDA TMP+2,I ISZ TMP+2 LDB TMP+2,I ISZ TMP+2 JSB .GPR,I LDA INNRT STA B,I INNR1 LDA INNRC RESTOR INPUT COUNT ISZ TMP+1 DONE? JMP INNRN NO JMP INNRU,I YES * INNHD JSB .CHN,I CONVERT HEX NUMBER JMP INNRE NO NUMBER OR DATA JMP INNRS OK SKP INNAS LDA TMP+2 GET PARAMETER LDA A,I SSA IS IT A BUFFER? JMP *+6 YES SSB EOF? JMP INNRS YES USE NEG ONE JSB GETB GET A CHARACTER NOP ALLOW EOB TO BE USED JMP INNRS LDB TMP+2 GET PARAMETER LDA B,I INB MOVE TO SECOND PART OF PARAMETER LDB B,I GET IT JSB .G!PR,I GET THE ADDRESS STB INNRA SAVE IT LDA TMP+2,I RAL,CLE,ELA ELIMINATE VARIABLE RAR,RAR CLB,INB GET FIRST LOCATION ISZ TMP+2 MOVE PAST IT ISZ TMP+2 JSB .GPR,I STB INNRA+1 LDA INNRT CHECK EOF SSA JMP INNR1-1 YES USE NEG ONE INNAB JSB GETB GET A CHARACTER NOP NO MORE DATA ALF,ALF PUT IT IN UPPER HALF STA INNRA+1,I JSB GETB GET NEXT CHR NOP NO MORE DATA IOR INNRA+1,I STA INNRA+1,I LDA INNRA+1 CHECK IF FILLED CPA INNRA ?? JMP INNR1 YES ISZ INNRA+1 NO MOVE TO NEXT LOCATION JMP INNAB DO MORE SKP INNRE CLB STB INNRT CLEAR INPUT SZA NO INPUT NUMBER CPA .15 END OF BUFFER? JMP INNRS+1 YES CLEAR THE REST OF THE DATA LDA TMP IS IT THE CONSOLE SZA,RSS ? JMP *+5 YES CLA LDB INNRC JSB .DVIO,I DEF BUF JSB WHAT LDA TMP+3 STA TMP+1 LDA TMP+4 STA TMP+2 CLA JMP INNR0 INNRC NOP INNRT NOP INNRA NOP NOP * * INPUT LIST * INNLI NOP ISZ TMP LDB TMP,I GET PARM COUNT ISZ TMP SKIP DEVICE NUMBER STB LIC SAVE IT INNL0 JSB .FMT,I DEF INNFM LDA TMP,I GET TYPE ISZ TMP SZA SKIP OUTPUT IF NONE JSB FMT,I JSB FPL FILE PARAMETER LIST ISZ LIC DONE? JMP INNL0 NO JMP INNLI,I YES * INNFM ASC 2,(A1) SKP * YES? RUN PROCESSOR * YESRU NOP CLA JSB .CFI,I CALL FOR INPUT LDA BUF CHECK IT CPA AYE YES JMP *+5 CHANGE LINES CPA ANO NO JMP YESRU,I CONTINUE JSB WHAT NEITHER ASK WHAT JMP YESRU+1 TRY AGAIN * PLDA YESRU STA GTORU JMP GTORU+1 SKP * MESSAGE SYNTAX * PNTSY NOP CLA LDB PNTSY GET RETURN ADDRESS JSB MSGSY OUTPUT TO CONSOLE * CWLSY NOP CLA,INA LDB CWLSY GET RETURN ADDRESS JSB MSGSY OUTPUT TO LEFT CARTRIDGE TAPE * CWRSY NOP LDA .2 LDB CWRSY GET RETURN ADDRESS JSB MSGSY OUTPUT TO RIGHT CARTRIDGE TAPE * MSGSY NOP STB MSGSY SAVE RETURN ADDRESS STA STBF+2 SAVE DEVICE NUMBER ISZ TMP JSB GTLN GET LINE NUMBER OF FORMAT CLA PARAMETERS ONLY STA STBF+3 OK ISZ TMP LDA DM10 SET MAX OF 10 PARAMS STA STBF+4 ISZ TMP MSGSN JSB FPS FILE PARAMETER STORE JMP MSGSE NO PARAMETERS LDA STBF+4 OVER TEN INPUTS SZA,RSS ? JMP MSGSY,I YES INA OK COUNT IT STA STBF+4 JMP MSGSN * MSGSE CPA .15 IS IT THE END OF THE BUFFER ISZ MSGSY LDA D10 DETERMINE COUNT ADA STBF+4 CMA,INA STA STBF+4 CMA,INA RAL DOUBLE COUNT ADA .3 ADD COUNT, DEVICE AND LINE NUMBER JMP MSGSY,I SKP * MESSAGE RUN PROCESSOR * MSGRU NOP LDA CRSA GET ADA .2 LDB A,I STB MSGDV DEVICE INA LDB A,I FORMAT LINE NUMBER INA STA TMP+1 SZB,RSS IS THERE A FORMAT? JMP PRMRU NO JUST PRINT PARAMETERS LDA B JSB FNDLN FIND LINE NUMBER RSS NOT FOUND JMP *+3 LDA .14 REPORT IT JSB ERR LDA B,I CHECK IF CMT FMT OR REM AND WCMSK IOR STTBD LDA A,I SZA JMP *-7 ADB .4 STB *+2 JSB .FMT,I NOP LDB TMP+1,I PARAM ISZ TMP+1 SZB,RSS IS THERE ANY JMP MSGRX NO STLB TMP STA MSGFC SAVE REPEAT COUNT SKP MSGRA LDA TMP+1,I GET PARAMETER ISZ TMP+1 LDB TMP+1,I ISZ TMP+1 SSA,RSS IS IT A BUFFER JMP MSGRB NOP RAL SSA,RSS VARIABLE OR FIXED? JMP *+3 FIXED ADB VARA VARIABLE SO FIX IT LDB B,I RAR MOVE A BACK AND M7.3 MASK OFF VARIABLE BIT MSGRB STA MSGSA SAVE IT STB MSGSB MSGRC JSB .GPR,I GET BUFFER CONTENT JSB FMT,I PASS IT TO FORMATTER ISZ MSGFC ANY REPEATS? RSS JMP MSGRD NO LDA MSGSA GET PARAMETER SSA,RSS IS IT A BUFFER? JMP MSGRD+1 NO ISZ MSGSB YES MOVE TO NEXT LOCATION LDB MSGSB JMP MSGRC USE IT MSGRD STA MSGFC SAVE REPEAT COUNT ISZ TMP DONE? JMP MSGRA NOP MSGRX LDA MSGDV YES GET DEVICE NUMBER JSB FMT.,I TERMINATE FORMAT JSB STOP WAS A KEY STRUCK? JSB .STOP YES JMP MSGRU,I RETURN * MSGSA NOP MSGSB NOP MSGFC NOP MSGDV NOP SKP PRMRU STA MSGSA SAVE POINTER LDB A,I GET COUNT SZB,RSS JMP PRMR1 NO PARAMETERS SO CRLF ISZ MSGSA MOVE TO PARAMETERS STB MSGFC SAVE COUNT PRMR0 LDA MSGSA,I ISZ MSGSA LDB MSGSA,I ISZ MSGSA STA TMP STB TMP+1 LDA MSGDV GET DEVICE NUMBER JSB .PRMP,I PRINT PARAMETER ISZ MSGFC DONE? JMP PRMR0 JMP MSGRU,I * PRMR1 JSB .FMT,I DEF PRMCR LDA MSGDV GET DEVICE NUMBER JSB FMT.,I JMP MSGRU,I * PRMCR ASC 02,(/) * * MESSAGE LIST * MSGLI NOP ISZ TMP CLA LDB TMP,I OUTPUT LINE NUMBER ISZ TMP SZB IF NO LINE THEN PARAMETERS JSB .PPR,I LDB TMP,I GET NUMBER OF PARAMETERS ISZ TMP STB LIC SZB,RSS IS Tn<HERE ANY JMP MSGLI,I NO MSGL0 JSB FPL FILE PARAMETER LIST ISZ LIC DONE? JMP MSGL0 NO JMP MSGLI,I YES SKP * INITIALIZE BUFFER PATTERN SYNTAX * ORG 10000B IBPSY NOP JSB FPS FILE PARAMETER STORE JMP IBPSY,I NO BUFFER SSA,RSS MUST BE A BUFFER JMP IBPSY,I NOT JSB FPS NEXT JMP IBPSY,I SSA,RSS JMP IBPSY,I AND .177 CHECK THAT BOTH ARE THE SAME STA B LDA STBF+2 AND .177 CPA B ? RSS JMP IBPSY,I NO JSB GETB GET TYPE OF PATTERN JMP IBPSY,I NO DATA TYPE CPA .40 IF SPACE SKIP IT JMP *-3 ALF,ALF STA TMP,I JSB GETB GET SECOND CHARACTER JMP IBPSY,I IOR TMP,I STA TMP,I ISZ TMP LDB IBPPT SEARCH FOR IT STB IBPRU CCB IBPSL CPB IBPRU,I JMP IBPSY,I NOT FOUND CPA IBPRU,I JMP *+4 FOUND IT ISZ IBPRU MOVE TO NEXT ONE ISZ IBPRU IN TABLE JMP IBPSL TRY IT CLA STA STBF+7 CLEAR PARAMETER STA STBF+8 JSB FPS NOP LDA .7 ISZ IBPSY JMP IBPSY,I RETURN P+2 * SKP * INITIALIZE BUFFER PATTERN RUN PROCESSOR * IBPRU NOP LDB .2 GET STARTING ADDRESS JSB FPG FILE PARAMETER GET STB TMP LDB .4 GET ENDING ADDRESS JSB FPG FILE PARAMETER GET STB TMP+1 CMB STARTING > ENDING ADB TMP SSB ? JMP *+3 LDA .15 NO SO ERROR JSB ERR LDA CRSA OK GET PATTERN TYPE ADA .6 LDA A,I LDB IBPPT SET FPR PATTERN CPA B,I JMP *+4 INB INB JMP *-4 INB LDA B,I LDB TMP+1 JMP A,I * IBPS NOP STA TMP,I LDB TM.P CPB TMP+1 JMP IBPRU,I ISZ TMP JMP IBPS,I SKP IBPPT DEF *+1 * ASC 1,R1 ROTATING 1 DEF IBPR1 * ASC 1,R0 ROTATING 0 DEF IBPR0 * ASC 1,C1 CYCLIC ASCII 64 DEF IBPC1 * ASC 1,C2 CYCLIC ASCII 128 DEF IBPC2 * ASC 1,IN INCREMENT PROGRESSIVE DEF IBPIP * ASC 1,DE DECREMENT DEF IBPID * ASC 1,AH ALTERNATING 101010 DEF IBPAH HORIZONTAL 010101 * ASC 1,AV ALTERNATING 111111 DEF IBPAV VERTICAL 000000 * ASC 1,CL CLEAR BUFFER DEF IBPCL * ASC 1,CC CLEAR AND COMPLEMENT DEF IBPCC * ASC 1,CM COMPLEMENT DEF IBPCM * ASC 1,PA PACKED ASCII DEF IBPPA * ASC 1,UA UNPACKED ASCII DEF IBPUA * DEC -1 SKP IBPR0 CLA,INA,RSS ROTATING 0 IBPR1 CLA,INA,RSS ROTATING 1 CMA JSB IBPS RAL JMP *-2 * IBPC1 LDA .40 CYCLIC ASCII 64 JSB IBPS INA CPA .140 LOOP LDA .40 YES JMP *-4 * IBPC2 LDA .40 CYCLIC ASCII 128 JSB IBPS INA CPA .240 LOOP LDA .40 JMP *-4 * IBPIP LDB .7 INCREMENT PROGRESSIVE JSB FPG GET STARTING NUMBER JSB IBPS INA JMP *-2 * IBPID LDB .7 INCREMENT DIGRESSIVE JSB FPG GET STARTING NUMBER SZA JSB IBPS ADA .M1 JMP *-2 SKP IBPAH LDA *+2 ALTERNATING HORIZONTAL JMP IBPR1+2 OCT 52525 * IBPAV CLA ALTERNATING VERTICAL JSB IBPS CMA JMP *-2 * IBPCL LDB .7 CLEAR BUFFER JSB FPG JSB IBPS JMP *-1 * IBPCC CCA CLEAR AND COMPLEMENT JSB IBPS JMP *-1 * IBPCM LDA TMP,I COMPLEMENT CMA JSB IBPS JMP *-3  SKP IBPUA CLA,RSS SET FOR PACKED ASCII IBPPA LDA RSS OR UNPACKED STA IBPAF LDB .7 GET LINE NUMBER JSB FPG SSA CANT BE NEG. JMP *+4 IT WAS JSB FNDLN FIND LINE NUMBER RSS JMP *+3 FOUND LDA .22 NOT FOUND SO ERROR JSB ERR LDA B,I AND WCMSK IOR STTBD LDA A,I SZA IS THIS AN ASC STMT? JMP *-7 NOT CMTSY ADB .3 GET COUNT LDA B,I CMA,INA MAKE COUNT NEG. STA IBPCT SAVE COUNT STA IBPCT+1 INB MOVE TO STARTING ADDRESS CLE,ELB MAKE ADDRESS TO BYTE STB IBPAD STB IBPAD+1 IBPAL LDB IBPAD GET ADDRESS JSB BUF2A STA TMP,I JSB IBPAC CHECK FOR END OF STRING IBPAF NOP JMP *+8 LDB IBPAD JSB BUF2A ALF,ALF IOR TMP,I ALF,ALF STA TMP,I JSB IBPAC CHECK FOR END OF STRING LDB TMP+1 CPB TMP JMP IBPRU,I ISZ TMP JMP IBPAL SKP IBPAC NOP ISZ IBPAD ISZ IBPCT DONE JMP IBPAC,I NO LDA IBPCT+1 YES RESTORE POINTERS STA IBPCT LDA IBPAD+1 STA IBPAD JMP IBPAC,I IBPAD NOP NOP IBPCT NOP NOP SPC 4 * INITIALIZE BUFFER PATTERN LIST * IBPLI NOP JSB FPL FILE PARAMETER LIST JSB FPL FILE PARAMETER LIST JSB .FMT,I OUTPUT THE PATTERN DEF IBPLM LDA TMP,I JSB FMT,I TYPE ISZ TMP LDB TMP AND PARAMETER LDA B,I INB IOR B,I SZA JSB FPL THERE IS ONE SO LIST IT JMP IBPLI,I RETURN * IBPLM ASC 03,(XA2X) SKP * COMPARE BUFFER SYNTAX * CPBSY NOP JSB FPS FILE PARAMETER STORE JMP CPBSY,I NO PARAMETER SSA,RSS MUST BE A BUFF +ER JMP CPBSY,I NOT JSB FPS FILE PARAMETER STORE JMP CPBSY,I NOT SSA,RSS MUST BE A BUFFER JMP CPBSY,I NOT JSB FPS COUNT JMP CPBSY,I JSB FPS MASK JMP CPBSY,I NOT FURNISHED LDA .10 8 LOCATIONS ISZ CPBSY GOOD RETURN JMP CPBSY,I SKP * COMPARE BUFFER RUN PROCESSOR * CPBRU NOP LDB .2 JSB FPG GET STARTING ADDRESS FIRST BUFFER STB TMP LDB .4 JSB FPG GET STARTING ADDRESS SEC BUFFER STB TMP+1 LDB .6 JSB FPG GET COUNT SSA CAN'T BE NEG JMP *+3 SZA OR ZERO JMP *+3 CPBRE LDA .16 COUNT ERROR JSB ERR ADA .M1 STA TMP+2 LDB .2 CHECK FIRST PARM LIMIT JSB CPBCR LDB .4 CHECK SECOND LIMIT JSB CPBCR LDB .10 JSB FPG GET MASK CMA STA TMP+3 CPBL0 LDA TMP,I GET FIRST AND TMP+3 MASK IT STA B SAVE IT LDA TMP+1,I GET SECOND AND TMP+3 MASK IT CPA B DO THEY COMPARE RSS JMP CPBRU,I NO DO NEXT LINE ISZ TMP YES DO NEXT WORD ISZ TMP+1 LDA TMP+2 CHECK IF DONE ADA .M1 STA TMP+2 INA,SZA ? JMP CPBL0 NO LDA CRSA,I YES COMPARE OK ALF,RAL MOVE OVER ONE LINE AND .37 ADA CRSA STA CRSA JMP CPBRU,I RETURN SKP CPBCR NOP ADB CRSA LDA B,I INB LDB B,I RAL SSA,RSS JMP *+5 CPB A! BUFFER ADDRESS JMP CPBRE THEN BUFFER ERROR ADB VARA LDB B,I RAR ADB TMP+2 AND M7.3 JSB .GPR,I JMP CPBCR,I * * COMPARE BUFFER LIST * CPBLI NOP JSB FPL BUFFER 1 JSB FPL BUFFER 2 JSB FPL  COUNT JSB FPL MASK JMP CPBLI,I RETURN SKP * LET SYNTAX * LETSY NOP JSB FNCOP GET OPERAND JMP LETSY,I NO OPERAND CPA AEQU IS IT AN EQUAL SIGN RSS JMP LETSY,I NO CCE ALLOW COMMAS JSB .FNSY,I CHECK FUNCTION JMP LETSY,I ISZ LETSY JMP LETSY,I * * LET RUN PROCESSOR * LTCRU NOP JSB LETPR SET UP PARAMETER LDA SOS DO OVERFLOW CHECK LDB LTCRU SET RETURN ADDRESS STB LETRU JMP LETRU+3 * LETRU NOP JSB LETPR SET UP PARAMETER CLA DON'T CHECK FOR OVERFLOW JSB .FNCR,I PROCESS FUNCTION LDA TMP REPLACE OLD STA LETAD,I WITH NEW LDA TMP+1 LAST PARAMETER? SZA,RSS ?? JMP LETRU,I YEP ISZ LETSB NO MOVE TO NEXT LOCATION LDA LETSA GET PARAMETER LDB LETSB JSB .GPR,I GET CONTENT STB LETAD SAVE ADDRESS LDB FCN DO NEXT LOCATION JMP FNCRN-2 SKP LETPR NOP LDB .2 GET PARAMETER ADB CRSA LDA B,I FROM FILE INB LDB B,I SSA,RSS IS IT A BUFFER JMP *+8 NO JUST A VARIABLE RAL IS IT A VARIABLE BUFFER? SSA,RSS ?? JMP *+3 NO ADB VARA YES LDB B,I GET VARIABLE NUMBER RAR AND M7.3 ELIMINATE VARIABLE BIT STA LETSA SAVE PARAMETER STB LETSB JSB .GPR,I GET CONTENT STB LETAD SAVE ADDRESS JMP LETPR,I RETURN LETSA NOP LETSB NOP LETAD NOP SKP * FUNCTION OPERAND * FNCOP NOP JSB FPS GET OPERAND JMP FNCOP,I NO DATA LDB FNCJP SET FOR COMMA CHECK IF SSA,RSS IT'S A BUFFER CLB IT'S NOT SO DONT ALLOW COMMAS STB FNCJI PUT IT IN PLACE JSB GETB GET TY"^PE OF OPERATION JMP FNCOP,I CPA .40 SKIP SPACES JMP *-3 STA TMP,I CPA AEQU CHECK IF IT'S AN = SIGN RSS JMP FNCP0 NO CONTINUE LDB GETP CHECK NEXT CHARACTER JSB BUF2A GET IT FROM BUFFER CPA AGTH IS A > SIGN? JMP *+4 YES CPA ALTH IS A < SIGN? RSS YES JMP FNCP0 NEITHER SO SKIP THE SAVE ISZ GETP MOVE PAST CHARACTER ALF,ALF PUT IT IN UPPER HALF IOR TMP,I INCLUDE = SIGN STA TMP,I PUT BOTH BACK FNCP0 LDA TMP,I ISZ TMP ISZ FNCOP JMP FNCOP,I SKP * SKIF SYNTAX * SKISY NOP JSB FNCOP GET OPERAND JMP SKISY,I CPA AEQU CHECK IF VALID JMP SKIS0 OK CPA AGTH GREATER THAN > JMP SKIS0 OK CPA ALTH LESS THAN < JMP SKIS0 OK CPA ANEQ NOT EQUAL JMP SKIS0 OK CPA AEGTH => JMP SKIS0 OK CPA AELTH =< JMP SKIS0 OK JMP SKISY,I NONE SO ERROR * SKIS0 CLE NO COMMAS ALLOWED JSB .FNSY,I CHECK FUNCTION JMP SKISY,I ERROR ISZ SKISY OK JMP SKISY,I * * SKIF RUN PROCESSOR * SKIRU NOP CLA NO OVERFLOW CHECK JSB .FNCR,I PROCESS FUNCTION LDB .2 GET THE PARAMETER JSB FPG LDB CRSA GET REQUEST ADB .4 LDB B,I CPB AGTH GREATER THAN JMP SKIRG YES CPB ALTH LESS THAN JMP SKIRL YES CPB ANEQ NOT EQUAL JMP SKIRN YES CPA TMP ARE THEY EQUAL? JMP SKIRS YES THEN SKIP CPB AEQU =? JMP SKIRU,I YES AND THEY WERN'T = SO DON'T SKIP CPB AEGTH =>? JMP SKIRG+2 YES CPB AELTH = * DR EQU 30B CTL EQU 31B STS EQU 32B * DVIO NOP JSB DVSSG SAVE CURRENT GLOBAL REGISTER STATUS CCE,SSB,RSS SET FOR INPUT. IS IT? CMB,CLE,INB NOT INPUT SO MAKE COUNT NEG. STB DVBCW WORKING BUFFER COUNT STB DVBCS SAVE BUFFER COUNT SZB,RSS CLE MAKE IT OUTPUT IF NO TRANSFER LDB DVIO,I GET BUFFER ADDRESS ISZ DVIO ADJUST RETURN ADDRESS SSB CHECK FOR INDIRECT LDB B,I YES GET IT RBL MAKE IT BYTE ADDRESS STB DVBAW WORKING BUFFER ADDRESS STB DVBAS SAVE BUFFER ADDRESS CLB LIB 3,C CHECK FOR A RFP SZB JMP *+5 YES SO GO AHEAD CLA,SEZ,RSS IN OR OUT JMP DVIOR+1 OUT SO IGNORE IT LDA .4 INPUT SO ERROR JSB ERR LIB 1 CHECK FOR ALTERNATE FRONT PANEL BLF,SLB JMP ALDVR GO USE ALTERNATE DRIVER SKP LDB CNSC GET SELECT CODE OF CONSOLE OTB 2,C SET GLOBAL REG. AND ENABLE IT CLC 20B,C INSURE DMA IS OFF CLC 21B,C LDB DVBCW CHECK IF ANY TRANSFER SZB,RSS ? JMP CNILZ INITIALIZE DRIVER FOR ENQ-ACK SZA,RSS CONSOLE? JMP CN0 YES CKEA0 RSS NOP IF NO ENQ-ACK JMP DVERR CPA .1 LEFT TAPE DRIVE? JMP CN1 YES CPA .2 RIGHT TAPE DRIVE? JMP CN1 YES CPA .3 CONSOLE BLOCK MODE? JMP CN1 YES CPA .4 LINE PRINTER? JMP CN1 YES DVERR JSB DVRSG RESTORE GLOBAL REGISTER LDA .23 INDICATE ILLEGAL CALL ERROR 19 JSB ERR * DVIOR CCA NONE SO EOF JSB DVRSG RESTORE GLOBAL REGISTER STATUS JMP DVIO,I RETURN * CNILZ LDA .5 ASK IF READY (ENQ) JSB CNBO SEND "ENQ" LDB CNCWR RECEIVE NO ECHO OTB CTL STC DR,C CLA SFC DR JMP CNIZ0 ISZ A JMP *-3 JMP CNIZ1 CNIZ0 LIA DR CHECK FOR "ACK" STC DR,C CLEAR DATA RECEIVED AND .177 MASK OFF UPPER BYTE CPA .6 JMP *+2 YES THEN OK JMP CNILZ NO THEN TRY AGAIN LDA RSS OK THEN USE ENQ-ACK CNIZ1 STA CKEA0 OK TO USE CASSETTES STA CKEA1 AND NORMAL OUTPUT CCE NOW ENABLE INPUT AND JMP CN2 EXIT SKP CN0 SEZ IN OR OUT? JMP CN0B CKEA1 RSS NOP IF NO ENQ-ACK REQUIRED JMP CN0A NOT NECESSARY LDA .5 GET ENQ JSB CNBO OUTPUT IT JSB CNBI WAIT FOR RESPONSE STC DR,C CLEAR DATA RECEIVED FLAG CPA .6 RSS JMP CKEA1 CN0A JSB CNOB OUTPUT CLE JMP CN2 PUT INTERFACE IN INPUT MODE CN0B CLA INPUT WITH ECHO JSB CNIB INPUT LDA .6412 ADD RETURN LINE FEED JSB CNWO OUTPUT A WORD CCE JMP CN2 > RETURN * CN1 IOR AP.0 ADD ASCII CODE FOR NUMBER STA CN1.O SET OUTPUT DEVICE NUMBER STA CN1.I AND INPUT DEVICE NUMBER SEZ IN OR OUT? JMP CN1I INPUT JSB CNESC OUTPUT RECORD COMMAND OCT 15446 "ESC & CN1.O OCT 70060 P' 0 OCT 62127 D' W" OCT 0 TERMINATOR JSB CNOB OUTPUT BUFFER LDA .21 SEND "DC1" FOR STATUS RESPONSE JSB CNBO JSB CNBI WAIT FOR STATUS STC DR,C CLEAR DR FLAG CLE CPA AS PASSED? JMP CN2 YES RETURN LDA .6 NO REPORT ERROR JSB ERR * CN1I JSB CNESC OUTPUT READ COMMAND OCT 15446 "ESC & CN1.I OCT 70060 P' 0 OCT 71522 S' R" OCT 0 TERMINATOR CCA INPUT NO ECHO JSB CNIB INPUT TO BUFFER CCE SKP CN2 LDB CNCWR GET RECEIVE CONTROL WORD (NO ECHO) OTB CTL PUT INTERFACE IN RECEIVE CLB,SEZ,RSS CHECK FOR IN OR OUT LIB STS OUTPUT SO GET LAST STATUS STC DR,C ENABLE RECEIVE SLB CHECK IF ANY DATA RECEIVED? STF DR YES LEAVE FLAG SET SEZ,RSS IF OUTPUT SKIF EOF CHECK JMP DVRTN LDA BUF CHECK FOR EOF ALF,ALF AND .177 CPA .36 RS? JMP DVIOR YES DVRTN LDA DVBCS GET TRANSFER COUNT CMA,INA ADA DVBCW JMP DVIOR+1 RETURN TO CALLER AP.0 OCT 70060 P' 0 ASCII * CNESC NOP LDA .5 ASK IF READY JSB CNBO SEND "ENQ" JSB CNBI WAIT FOR "ACK" CPA .6 RSS OK JMP CNESC+1 TRY AGAIN CNES0 LDA CNESC,I GET FIRST CHR ALF,ALF MOVE TO UPPER BYTE AND .177 AND ONLY THE UPPER SZA,RSS END OF STRING? JMP CNES1 YES JSB CNBO NO - OUTPUT THE CHR LDA CNESC,I GET NEXT CHR * AND .177 SZA,RSS END OF STRING JMP CNES1 YES JSB CNBO NO OUTPUT ISZ CNESC MOVE TO NEXT SET JMP CNES0 DO NEXT CHR CNES1 ISZ CNESC MOVE PAST TERMINATOR JMP CNESC,I RETURN * * CNOB NOP LDB DVBAW GET ADDRESS OF CHARACTER JSB BUF2A GET IT IN THE A REG. JSB CNBO OUTPUT IT ISZ DVBAW MOVE TO NEXT CHARACTER ISZ DVBCW COUNT CHARACTER JMP CNOB+1 JMP CNOB,I SKP CNIB NOP STA DVFLG SAVE ECHO FLAG LDA .21 RELEASE BUFFER FOR INPUT JSB CNBO OUTPUT "DC1" CNIB0 LDA DVFLG GET ECHO FLAG LDB CNCWE GET ECHO CONTROL SZA ECHO? LDB CNCWR NO JSB CNBIX GET A CHR AND .177 MASK OFF UNWANTER BITS CPA .15 RETURN FOR END OF ENTRY JMP CNIB,I YES CPA .177 RUBOUT? JMP CNRBT RESTORE BUFFER CPA .10 BACK SPACE JMP CNBKS YES CPA .31 BACK SPACE? JMP CNBKS YES LDB DVBAW GET ADDRESS TO STORE IN MEMORY JSB A2BUF PUT CHR IN BUFFER ISZ DVBAW MOVE ADDRESS UP ISZ DVBCW MOVE COUNT JMP CNIB0 DO NEXT CHARACTER JMP CNIB,I * CNRBT LDA .6412 DO A RETURN AND LINE FEED JSB CNWO OUTPUT WORD LDA DVBCS RESTORE STA DVBCW WORKING COUNT LDA DVBAS AND STA DVBAW ADDRESS JMP CNIB0 CONTINUE * CNBKS LDA DVBAW GET BUFFER ADDRESS CPA DVBAS BACK TO STARTING ADDRESS? JMP CNRBT ADA .M1 NO BACK UP ONE STA DVBAW LDA DVBCW AND COUNT ADA .M1 STA DVBCW JMP CNIB0 SKP CNWO NOP STA DVTMP SAVE WORD ALF,ALF AND .177 JSB CNBO OUTPUT UPPER HALF LDA DVTMP GET WORD AGAIN AND .177 JSB CNBO AND LOWER HALF JMP CCNWO,I RETURN * CNBO NOP LDB CNCWT GET TRANSMIT WORD OTB CTL GIVE IT TO INTERFACE OTA DR GIVE INTERFACE THE CHR STC DR,C START TRANSFER SFS DR WAIT FOR COMPLETION JMP *-1 JMP CNBO,I RETURN * CNBI NOP LDB CNCWR RECEIVE CONTROL WORD NO ECHO JSB CNBIX JMP CNBI,I * CNBIE NOP LDB CNCWE RECEIVE CONTROL WORD WITH ECHO JSB CNBIX JMP CNBIE,I * CNBIX NOP OTB CTL GIVE IT TO INTEFACE STC DR,C ENABLE INPUT SFS DR WAIT FOR A CHR JMP *-1 LIA DR CLC DR,C AND .377 JMP CNBIX,I RETURN * DVTMP NOP DVFLG NOP DVBCW NOP DEVICE WORKING BUFFER COUNT DVBAW NOP DEVICE WORKING ADDRESS DVBCS NOP SAVE BUFFER COUNT DVBAS NOP SAVE BUFFER ADDRESS CNCWR OCT 002000 RECEIVE NO ECHO CNCWE OCT 006000 RECEIVE WITH ECHO CNCWT OCT 001000 TRANSMIT SKP * ALTERNATE DRIVER * ALDVR SZA CONSOLE ONLY OVER ALTERNATE INTERFACE JMP DVERR NOT CONSOLE SO ERROR LDB ALSC GET ALTERNATE SELECT CODE OTB 2,C SET GLOBAL REGISTER CLC 20B,C INSURE DMA IS OFF CLC 21B,C LDA .M4 TRY FOUR TIMES STA DVTMP ALDV0 LDA ALVCM DO A VCP MODE TWICE INCASE OF SELF TEST OTA DR STC DR,C LDA DM16 SET TIME OUT SFC DR WAIT FOR COMPLETION JMP ALDV1 ISZ B JMP *-3 ISZ A JMP *-5 ISZ DVTMP ENOUGH TIMES JMP ALDV0 NO CLC 0,C YES RESET MACHINE AND LDA .24 AND TRY TO REPORT JSB ERR ALDV1 LDA ALVCM TELL IT TO GO INTO VCP MODE JSB ALIO LDB DVBCW CHECK IF ANY TRANSFER SZB,RSS JMP DVRTN NO JUST SET UP SEZ IN OR OUT JMP *+3 JSB ALOB OUTPUT BUFFER JMP *+2 JSB AL4 IB INPUT BUFFER LDA D100 WAIT TO START TRANSMISSION JSB IOTMR JMP DVRTN RETURN TO CALLER PICK UP INPUT COUNT SKP ALOB NOP LDB DVBAW GET ADDRESS OF CHR JSB BUF2A PUT CHR IN A REG. IOR ALOT ADD OUT PUT COMMAND JSB ALIO TELL CARD TO ACT ON IT ISZ DVBAW MOVE TO NEXT CHR ISZ DVBCW AND COUNT CHR - DONE? JMP ALOB+1 NO LDA .377 INDICATE NOW IN INPUT REQUEST IOR ALOT ADD PUT BYTE COMMAND JSB ALIO LDA .377 ADD RUBOUT TO END IOR ALOT JSB ALIO LDA ALTR TELL CARD TO TRANSMITT JSB ALIO JMP ALOB,I RETURN * ALIB NOP LDA ALOT OFICIALLY REQUEST INPUT JSB ALIO LDA .377 IOR ALOT JSB ALIO LDA ALTR TRANSMITT REQUEST JSB ALIO LDA ALINR GET BUFFER JSB ALIO ALIB0 LDA ALINB GET INPUT REQUEST JSB ALIO ASK FOR IT CPA .15 END OF DATA?0 JMP ALIB,I YES RETURN LDB DVBAW GET ADDRESS FOR CHR JSB A2BUF PUT IT IN BUFFER ISZ DVBAW MOVE TO NEXT LOCATION ISZ DVBCW AND COUNT IT - DONE? JMP ALIB0 NO DO ANOTHER ONE JMP ALIB,I YES EXIT * ALIO NOP OTA DR OUTPUT COMMAND STC DR,C TELL INTERFACE TO READ IT SFS DR WAIT FOR IT JMP *-1 TO RESPOND LIA DR,C GET INPUT DATA JMP ALIO,I RETURN * ALOT OCT 60000 6000 HEX FOR OUTPUT ALTR OCT 60400 6100 HEX FOR TRANSMITT ALINB OCT 61000 6200 HEX FOR INPUT REQUEST ALINR OCT 61400 6300 HEX FOR INPUT FRAME ALVCM OCT 67400 6F00 HEX FOR GO INTO VCP PROGRAM SKP ORG 14000B * STATEMENT TABLE * * ********************* * * * * * G / O * 1 * * * * ********************* 4 ASCII CHR. STATEMENT LABLE * * w * * * S / B * 2 * * * * ********************* * * * * * SYNTAX PROCESSOR * 3 * * * * ********************* * * * * * RUN PROCESSOR * 4 ZERO = NO PROCESSOR * * * * ********************* * * * * * LIST PROCESSOR * 5 * * * * ********************* * * FOR FUTURE CHANGES THIS TABLE MUST NOT * BE MOVED FROM THIS ADDRESS SPACE NOR * THE SEQUENCE ORDER. THIS IS TO FACILITATE * BACKWARDS COMPATIABLITY TO BINARY PROGRAM THAT * ARE IN USE THAT CONTAIN ADDRESSES POINTING * INTO THIS TABLE. SKP STTBL EQU * ASC 2,BUF DEF BUFSY DEF BUFRU DEF BUFLI * ASC 2,REM REMARK DEF CMTSY COMMENT SYNTAX NOP NO RUN PROCESSOR DEF CMTLI COMMENT LIST * ASC 2,PRGM PROGRAM MARK DEF CMTSY USE COMMENT SYNTAX RPG. NOP NO RUN PROCESSOR DEF CMTLI COMMENT LIST * ASC 2,FMT DEF CMTSY USE CMT NOP DEF CMTLI * ASC 2,ASC DEF CMTSY NOP DEF CMTLI * ASC 2,GOTO DEF GTSSY RGT. DEF GTORU DEF GTSLI * ASC 2,GOSB DEF GTSSY RGS. DEF GSBRU DEF GTSLI * ASC 2,RTN DEF RTNSY DEF RTNRU DEF RTNLI * ASC 2,CFS NOP DEF RUCFS NOP * ASC 2,STOP DEF RTNSY DEF RUSTP DEF RTNLI * ASC 2,GTSC DEF GSCSY DEF GSCRU DEF GSCLI SKP ASC 2,HOOD NOP DEF HODRU NOP * ASC 2,WAIT NOP DEF WATRU NOP * ASC 2,DLY DEF DLYSY DEF DLYRU DEF DLYLI * * ASC 2,INPT DEF INPSY DEF INNRU DEF INNLΪI * ASC 2,CTRL DEF CRLSY DEF INNRU DEF INNLI * ASC 2,CTRR DEF CRRSY DEF INNRU DEF INNLI * ASC 2,ISCR DEF INSSY DEF INNRU DEF INNLI * ASC 2,YES? DEF GTSSY RYE. DEF YESRU DEF GTSLI * ASC 2,PRNT DEF PNTSY RPT. DEF MSGRU DEF MSGLI * ASC 2,CTWL DEF CWLSY RCWL. DEF MSGRU DEF MSGLI * ASC 2,CTWR DEF CWRSY RCWR. DEF MSGRU DEF MSGLI SKP ASC 2,IBP DEF IBPSY RIP. DEF IBPRU DEF IBPLI * ASC 2,CPBF DEF CPBSY DEF CPBRU DEF CPBLI * ASC 2,LET DEF LETSY DEF LETRU DEF FNCLI * ASC 2,LETC DEF LETSY DEF LTCRU DEF FNCLI * ASC 2,SKIF DEF SKISY DEF SKIRU DEF FNCLI * ASC 2,LIA DEF LOSY DEF LI1RU DEF LOLI * ASC 2,LIAC DEF LOSY DEF LI2RU DEF LOLI * ASC 2,OTA DEF LOSY DEF OT1RU DEF LOLI * ASC 2,OTAC DEF LOSY DEF OT2RU DEF LOLI SKP ASC 2,SFS DEF IOCSY DEF SFSRU DEF IOCLI * ASC 2,SFC DEF IOCSY DEF SFCRU DEF IOCLI * ASC 2,STF DEF IOCSY DEF STFRU DEF IOCLI * ASC 2,CLF DEF IOCSY DEF CLFRU DEF IOCLI * ASC 2,STC DEF IOCSY DEF STCRU DEF IOCLI * ASC 2,STCC DEF IOCSY DEF STCCR DEF IOCLI * ASC 2,CLC DEF IOCSY DEF CLCRU DEF IOCLI * ASC 2,CLCC DEF IOCSY DEF CLCCR DEF IOCLI * ASC 2,WFI DEF LOSY DEF WFIRU DEF LOLI * ASC 2,INT DEF INTSY RIT. DEF INTRU DEF INTLI SKP ASC 2,IOA DEF IOPSY DEF IOPRA  DEF CMTLI * ASC 2,IOB DEF IOPSY DEF IOPRB DEF CMTLI * ASC 2,IOC DEF IOPSY DEF IOPRC DEF CMTLI * ASC 2,IOD DEF IOPSY DEF IOPRD DEF CMTLI * ASC 2,IOCA NOP DEF IOPCA NOP * ASC 2,IOCB NOP DEF IOPCB NOP * ASC 2,IOCC NOP DEF IOPCC NOP * ASC 2,IOCD NOP DEF IOPCD NOP SKP ASC 2,IORA NOP DEF IOA NOP * ASC 2,IORB NOP DEF IOB NOP * ASC 2,IORC NOP DEF IOC NOP * ASC 2,IORD NOP DEF IOD NOP * ASC 2,MAP DEF MAPSY DEF MAPRU DEF MAPLI * DEC -1 SKP * I/O PROGRAM SYNTAX * IOPSY NOP LDA GETP SAVE POINTER TO INPUT BUFFER STA TMP+2 JSB .CMT,I STORE INPUT AS A COMMENT NOP STA TMP+3 SAVE INPUT COUNT LDA TMP+2 RESTORE BUFFER POINTER STA GETP CLA DON'T CHECK FOR A - B STA IOABF AND CLEAR THE FLAG JSB IOPCI GET FIRST 3 CHR'S JMP IOPSY,I NO INPUT SO ERROR LDB IOPMR SEARCH MEMORY REFERENCE INSTRUCTIONS JSB IOPTS TABLE JMP IOPN1 NOT FOUND MOVE TO NEXT TYPE STA STBF+2 SAVE INSTRUCTION JSB GETB GET NEXT CHARACTER JMP IOPSY,I NO CHR SO ERROR CPA .40 MUST BE A SPACE JMP *+2 OK JMP IOPSY,I NOT SO ERROR LDA STBF+2 GET INSTRUCTION CPA .M1 IS IT OCTAL JMP IOPOC YES CPA IOJSB IS IT A JSB? JMP IOPJB YES CPA IOJMP IS IT A JMP? JMP IOPJP YES JSB GETB NEITHER SO GET NEXT CHR JMP IOPSY,I NO CHR SO ERROR JSB LTCK IS CHR A LETTER? JMP IOPN. NO - CHECK FOR BUFFER OR A-B AD2KA VARA ADD POINTER TO VARIABLE IOPID IOR STBF+2 ADD INSTRUCTION STA STBF+2 JSB GETB CHECK FOR INDIRECT JMP IOPSX NO JUST INSTRUCTION CPA .40 JMP IOPSX CPA FC.CM IS IT A COMMA RSS JMP IOPSY,I NO SO ERROR JSB GETB GET NEXT CHR JMP IOPSY,I NONE SO ERROR CPA FC.I IS IT AN I RSS JMP IOPSY,I LDA BIT15 YES SET BIT 15 IOR STBF+2 SKP IOPEX STA STBF+2 PUT IT IN BUFFER JSB GETB GET NEXT CHR JMP *+4 CPA .40 MUST BE SPACE OR "EOB" JMP *+2 JMP IOPSY,I NEITHER SO ERROR IOPSX LDA TMP+3 GET INPUT COUNT ISZ IOPSY ADJUST RETURN JMP IOPSY,I RETURN P+2 SPC 1 IOPN. LDB A SWAP AB CPB A. OCTAL NUMBER CONSTANT JMP IOP. YES CPB A# IS IT LOCATION REQUEST JMP IOP# YES CPB .60 A-REG.REFERENCE JMP IOPID+2 YES ISZ STBF+2 CPB .61 B-REG. REFERENCE? JMP IOPID+2 YES JMP IOPSY,I NONE SO ERROR * IOP. LDA STBF+2 CHECK IT ISN'T STORE OR ISZ CPA IOSTA JMP IOPSY,I CPA IOSTB JMP IOPSY,I CPA IOISZ JMP IOPSY,I JSB .CON,I GET OCTAL NUMBER JMP IOPSY,I LDB IO.S CPA B,I JMP *+5 INB CPB IO.E JMP IOPSY,I JMP *-5 LDA B JMP IOPEX-1 * IO.S DEF IODTS IO.E DEF IODTE * * PROCESS AN OCTAL VALUE * IOPOC JSB .CON,I CONVERT INPUT JMP IOPSY,I NO INPUT SO ERROR JMP IOPEX NOW PUT IT IN PLACE SKP IOP# JSB .CDN,I GET LOCATION JMP IOPSY,I NOT FURNISHED STA B SAVE IT ADA DATAM CHECK NOT OVER THE NUMBER SSA,RSS JMP IOPSY,I IT WAS LDA B LDB STBF+2 CHECK FOR DEF SZB,RSS JMP *+4 YES ADD ADDRESS IOR BIT9( UPPER HALF OF PAGE IOR BIT10 CURRENT PAGE JMP IOPID IOR DATAP JMP IOPID+1 * IOPJB CLA DON'T CHECK FOR A-B JSB IOPCI GET NEXT 3 CHR'S JMP IOPSY,I NO INPUT SO ERROR LDB IOPRL GET ROUTINE LIST JSB IOPTS FIND REQUESTED ROUTINE JMP IOPSY,I NOT FOUND SO ERROR JMP IOPEX PUT IT IN BUFFER AND RETURN * IOPJP LDB GETP GET NEXT CHR JSB BUF2A JSB DGCK IS IT A DIGIT? JMP IOPJ0 NO JSB .CDN,I YES - CONVERT NUMBER JMP IOPSY,I NOT A NUMBER STA B SAVE NUMBER ADB DM100 CHECH IF OVER MAX AND SSA,RSS IT IS POSITIVE SSB,RSS JMP IOPSY,I ERROR JMP IOPEX-1 CONTINUE IOPJ0 CPA ASTRK IS IT AN ASTERISK JMP *+2 JMP IOPSY,I NO SO ERROR ISZ GETP SKIP ASTERISK JSB .CDN,I CONVERT NUMBER JMP IOPSY,I NOT A NUMBER CLE,SSA IF NEGATIVE CMA,CCE,INA MAKE POSITIVE AND SET FLAG LDB A CHECK IF OVER MAX ADB DM100 SSB,RSS ?? JMP IOPSY,I YES - SO ERROR ELA ADD POS.-NEG. FLAG IOR BIT10 ADD RELATIVE FLAG JMP IOPEX-1 SKP IOPN1 LDB IOPIO SEARCH I/O INSTRUCTIONS JSB IOPTS TABLE JMP IOPN2 NOT FOUND SO MOVE TO NEXT TABLE STA STBF+2 SAVE INSTRUCTION JSB GETB GET NEXT CHR JMP IOPSY,I NO CHR SO ERROR CPA .40 MUST BE A SPACE JMP *+2 JMP IOPSY,I NOT SO ERROR JSB .CON,I CONVERT OCTAL NUMBER JMP IOPSY,I NO NUMBER SO ERROR STA B SAVE IT AND .M77 CAN'T BE OVER 77 OCTAL SZA JMP IOPSY,I IT IS SO ERROR LDA STBF+2 GET INSTRUCTION IOR B PUT SC IN STA STBF+2 PUT IT BACK IN PLACE JSB GETB GET NEXT CHR JMP IOPEX+1 NO CHR SO INSTRUCTION STANDS CPA .4C0 GOT ONE IT MUST BE A SPACE JMP IOPEX+1 SPACE SO INSTRUCTION STANDS CPA FC.CM IS IT A COMMA? JSB GETB YES GET NEXT CHR JMP IOPSY,I NO CHR SO ERROR CPA AC IS IT A C? RSS JMP IOPSY,I NO SO ERROR LDA STBF+2 GET INSTRUCTION AND .M77 ELIMINATE SELECT CODE CPA IOSTF JMP IOPSY,I CPA IOCLF JMP IOPSY,I CPA IOSFS JMP IOPSY,I CPA IOSFC JMP IOPSY,I LDA BIT9 GET CLEAR FLAG BIT JMP IOPEX-1 SKP IOPN2 LDA TMP+2 RESTORE POINTER TO STA GETP INPUT BUFFER LDA RSS THIS TIME CHECK FOR A OR B REFERENCE JSB IOPCI GET FIRST THREE AGAIN JMP IOPSY,I NO INPUT LDB IOPAS SEARCH ALTER SKIP INSTRUCTION JSB IOPTS TABLE RSS NOT FOUND THERE JMP *+4 LDB IOPSR TRY SHIFT ROTATE INSTRUCTIONS JSB IOPTS JMP IOPN6 NOT THERE SO TRY LONG SHIFTS IOPN3 STA STBF+2 SAVE INSTRUCTION STB TMP+2 SAVE POINTER IN TABLE JSB GETB GET NEXT CHR JMP IOPN4+3 NO INPUT SO ONLY ONE INSTRUCTION CPA .40 IF SPACE ALSO JMP IOPN4 ONLY ONE INSTRUCTION CPA FC.CM IS IT A COMMA? RSS JMP IOPSY,I NO ERROR LDA RSS YES THEN JSB IOPCI GET NEXT 3 CHRS JMP IOPSY NO INPUT SO ERROR LDB TMP+2 CONTINUE IN TABLE IOPN5 JSB IOPTS JMP *+3 CHECK FOR CLE ONLY IOR STBF+2 INCLUDE PREVIOUS INSTRUCTION JMP IOPN3 TRY AGAIN FOR MORE * CLB LDA STBF+2 WAS IT CLE ONLY CPA CLEAS ?? LDB CLESR YES CPA SLAAS NO - HOW ABOUT SLA? LDB SLASR YEP CPA CSLAS NO - THEN IT MUST BE CLE,SLA LDB CSLSR YEP SZB,RSS DID I GET ANY? JMP IOPSY,I NO THEN HE WAS WRONG STB STBF+2 LDB *+2 GET POINTER zTO RS INSTRUCTIONS JMP IOPN5 TRY THE REST DEF SLASR+1 CSLAS OCT 2110 CSLSR OCT 50 SKP IOPN4 CCA ADA GETP BACK UP BUFFER POINTER STA GETP LDA STBF+2 CHECK IF CLE ONLY LDB CLESR IF SO USE SHIF ROTATE INST CPA CLEAS STB STBF+2 YES LDB IOABF SET A OR B FLAG SZB,RSS WAS IT DEFINED JMP IOPEX+1 NO LDA BIT11 SSB YES - DEFINED A OR B ? JMP IOPEX-1 B JMP IOPEX+1 A * * IOPN6 LDB IOPLS SEARCH LONG SHIFTS JSB IOPTS TABLE JMP IOPN7 NOT THERE SO TRY MOP INSTRUCTIONS STA STBF+2 SAVE INSTRUCTION JSB GETB GET NEXT CHR JMP IOPSY,I NO CHR SO ERROR CPA .40 MUST BE A SPACE JMP *+2 OK JMP IOPSY,I WASN'T SO ERROR JSB .CDN,I OK - CONVERT NUMBER JMP IOPSY,I NO NUMBER SO ERROR SZA,RSS CAN'T BE ZERO JMP IOPSY,I IT WAS STA B SAVE NUMBER ADB DM17 SUBTRACT 17 SSB,RSS SHOULD REMAIN NEGATIVE JMP IOPSY,I DIDN'T SO ERROR AND .17 MASK OFF NUMBER IOR STBF+2 ADD INSTRUCTION JMP IOPEX CHECK NEXT CHR AND EXIT * IOPN7 LDB IOPMD CHECK MOP INSTRUCTIONS JSB IOPTS JMP IOPSY,I NOT IN ANY TABLE SO ERROR JMP IOPEX GOTO IT SO EXIT SKP IOPCI NOP STA IOPAB+1 SET TO CHECK FOR A OR B JSB GETB GET A CHARACTER FROM BUFFER JMP IOPCI,I NO INPUT JSB IOPAB CHECK FOR A OR B REG ALF,ALF MOVE IT TO UPPER HALF STA TMPA SAVE IT JSB GETB GET SECOND CHARACTER JMP IOPSY,I NO INPUT SO ERROR JSB IOPAB CHECK FOR A OR B REG IOR TMPA ADD FIRST CHR STA TMPA SAVE THEM BOTH JSB GETB GET THIRD CHARACTER JMP IOPSY,I NO INPUT SO ERROR JSB IOPAB CHECK FOR A OR B REG ALF,ALF a MOVE IT TO UPPER HALF IOR .40 ADD SPACE STA TMPB SAVE IT ISZ IOPCI ADJUST RETURN JMP IOPCI,I NOW RETURN * * IOPAB NOP RSS NOP IF NO CHECK JMP IOPAB,I CPA AA IS IT A? JMP *+5 YES CPA AB IS IT B? JMP *+2 YES JMP IOPAB,I NEITHER JUST EXIT CCE,RSS B CLE A LDA AA MAKE IT AN A LDB IOABF HAS IT BEEN DEFINED? SZB JMP *+5 YES INB NO RBL,ERB THEN DEFINE IT STB IOABF JMP IOPAB,I SSB CAN'T BE BOTH A AND B CME IN THE SAME LINE SEZ JMP IOPSY,I BOTH SO ERROR JMP IOPAB,I OK IOABF NOP SKP IOPTS NOP STB TMP+1 SAVE TABLE POINTER LDA TMP+1,I GET FIRST TWO CHAR'S ISZ TMP+1 MOVE TO NEXT TWO LDB TMP+1,I GET THEM ISZ TMP+1 MOVE TO INSTRUCTION ERB,CLE,ELB CHANGE LAST CHR TO A SPACE SZA,RSS END OF TABLE? JMP IOPTS,I YES RETURN P+1 CPA TMPA DO THE FIRST TWO COMPARE? JMP *+3 YES ISZ TMP+1 NO SO MOVE TO NEXT INSTRUCTION JMP IOPTS+2 AND TRY IT CPB TMPB DO THE SECOND TWO COMAPRE? JMP *+2 YES JMP *-4 NO MOVE TO NEXT ONE LDA TMP+1,I GET INSTRUCTION STA TMPA AND SAVE IT CCB ADB TMP+1 MOVE TO NEXT VALID INPUT IN TABLE RSS ADB .2 LDA B,I INB SLA,RSS JMP *-4 ADB .M2 LDA TMPA ISZ IOPTS ADJUST RETURN JMP IOPTS,I SKP IOPRL DEF *+1 INSTRUCTION LIST ASC 2,WFI WAIT FOR INTERRUPT JSB .WFI,I ASC 2,TMR 1 MS TIMER JSB IOTMR ASC 2,RTN RETURN TO NEXT LINE JMP 0,I ASC 2,IOA ROUTINE A JSB .IOA,I ASC 2,IOB ROUTINE B  JSB .IOB,I ASC 2,IOC ROUTINE C JSB .IOC,I ASC 2,IOD ROUTINE D JSB .IOD,I ASC 2,STP JSB .STOP ASC 2,CFS CHECK FOR STOP JSB STOP OCT 0,1,0 TERMINATOR SKP IOPMR DEF *+1 ASC 2,DEF OCT 0 OCTIO ASC 2,OCT DEC -1 ASC 2,LDA LDA 0 ASC 2,LDB LDB 0 ASC 2,STA IOSTA STA 0 ASC 2,STB IOSTB STB 0 ASC 2,ADA ADA 0 ASC 2,ADB ADB 0 ASC 2,CPA CPA 0 ASC 2,CPB CPB 0 ASC 2,ISZ IOISZ ISZ 0 ASC 2,IOR IOR 0 ASC 2,XOR XOR 0 ASC 2,AND AND 0 ASC 2,JMP IOJMP JMP 0 ASC 2,JSB IOJSB JSB 0 OCT 0,1,0 TERMINATOR SKP IOPIO DEF *+1 ASC 2,HLT HLT 0 ASC 2,LIA LIA 0 ASC 2,LIB LIB 0 ASC 2,OTA OTA 0 ASC 2,OTB OTB 0 ASC 2,MIA MIA 0 ASC 2,MIB MIB 0 ASC 2,STC STC 0 ASC 2,CLC CLC 0 ASC 2,STF IOSTF STF 0 ASC 2,CLF IOCLF CLF 0 ASC 2,SFS IOSFS SFS 0 ASC 2,SFC IOSFC SFC 0 OCT 0,1,0 TERMINATOR SKP IOPAS DEF *+1 ASC 2,CLA OCT 2400 ASC 2,CMA OCT 3000 ASC 2,CCA! OCT 3400 ASC 2,SEZ! OCT 2040 ASC 2,CLE CLEAS OCT 2100 ASC 2,CME OCT 2200 ASC 2,CCE! OCT 2300 ASC 2,SSA! OCT 2020 ASC 2,SLA! SLAAS OCT 2010 ASC 2,INA! OCT 2004 ASC 2,SZA! OCT 2002 ASC 2,RSS! OCT 2001 OCT 0,1,0 SKP IOPSR DEF *+1 ASC 2,ALS OCT 1000 ASC 2,ARS OCT 1100 ASC 2,RAL OCT 1200 ASC 2,RAR OCT 1300 ASC 2,ALR OCT 1400 ASC 2,ERA OCT 1500 ASC 2,ELA OCT 1600 ASC 2,ALF OCT 1700  ASC 2,CLE! CLESR OCT 0040 ASC 2,SLA! SLASR OCT 0010 ASC 2,ALS OCT 0020 ASC 2,ARS OCT 0021 ASC 2,RAL OCT 0022 ASC 2,RAR OCT 0023 ASC 2,ALR OCT 0024 ASC 2,ERA OCT 0025 ASC 2,ELA OCT 0026 ASC 2,ALF! OCT 0027 ASC 2,NOP OCT 0 OCT 0,1,0 TERMINATOR SKP IOPLS DEF *+1 ASC 2,ASR ASR 16 ASC 2,ASL ASL 16 ASC 2,LSR LSR 16 ASC 2,LSL LSL 16 ASC 2,RRR RRR 16 ASC 2,RRL RRL 16 OCT 0,1,0 * IOPMD DEF *+1 ASC 2,MPY OCT 100200 ASC 2,DIV OCT 100400 ASC 2,DLD OCT 104200 ASC 2,DST OCT 104400 ASC 2,XLD OCT 104213 ASC 2,XST OCT 104413 OCT 0,1,0 SKP * IO STORE DURING RUN * IOPRA NOP CLA DEF IOA JSB IOPR JSB .IOA,I JMP IOPRA,I * IOPRB NOP CLA,INA DEF IOB JSB IOPR JSB .IOB,I JMP IOPRB,I * IOPRC NOP LDA .2 DEF IOC JSB IOPR JSB .IOC,I JMP IOPRC,I * IOPRD NOP LDA .3 JSB IOPR JSB .IOD,I JMP IOPRD,I SKP * I/O PROGRAM RUN * IOPR NOP RAL,RAL MPY ROUTINE NUMBER BY 4 ADA IOPDF ADD POINTER TO TABLE STA IOPSA STARTING ADDRESS INA STA IOPAP CURRENT ADDRESS INA STA IOPEN EXIT JMP IOX,I LDA IOPSA,I CHECK IF ANOTHER IS ALLOWED ADA D100 CPA IOPAP,I JMP *+2 JMP *+3 LDA .27 JSB ERR NO ROOM LDB CRSA GET INSTRUCTION ADB .2 LDA B,I STA TMPA SAVE IT ADB .2 MOVE TO TYPE LDB B,I GET INST CPB OCTIO IS IT OCTAL JMP IOPRS+3 YES STOR IT AND .7.4 SZA,RSS IS IT MEM. R]EF. JMP IOPRS NO - THEN STORE IT LDA TMPA YES ELA ALF AND .17 CPA .5 JMP INSTRUCTION? RSS JMP IOPRS NO THEN STORE IT SEZ,RSS YES - IS IT THE END JMP *+4 NO LDA IOPEN,I YES GET EXIT STA TMPA JMP IOPRS STORE IT LDA TMPA NO AND BIT10 SZA RLATIVE PAGE JMP *+7 YES LDA IOPSA,I GET STARTING ADDRESS AND .1777 GET ON PAGE ADDRESS IOR BIT10 ADD CURRENT PAGE ADA TMPA ADD INSTRUCTION STA TMPA JMP IOPRS LDA TMPA CONVERT RELATIVE PAGE JMP ERA AND .177 SEZ *+ OR *- CMA,INA *- ADA IOPAP,I LDB A CMB ADB IOPSA,I SSB OUT OF LIMITS? JMP *+3 NO IOPRE LDA .26 JMP OUT OF LIMITS ERROR 22 JSB ERR ADB D100 SSB OUT OF LIMITS UPPER? JMP *-4 YES AND .1777 IOR BIT10 ADD CURRENT PAGE IOR IOJMP ADD INSTRUCTION STA TMPA * IOPRS LDA TMPA STORE INSTRUCTION CPA IOPR,I CANT BE A JSB TO SELF JMP IOPRE LDB IOPAP,I GET ADDRESS STA B,I LDA IOPEN,I SET RETURN JMPS INB STA B,I INB STA B,I ISZ IOPAP,I MOVE TO NEXT ONE ISZ IOPR JMP IOPR,I RETURN SKP * I/O PROGRAM TABLE * * IOP EQU * DEF IOA+1 DEF IOA+1 ABS IOA-16000B+126000B JMP IOA,I NOP DEF IOB+1 DEF IOB+1 ABS IOB-16000B+126000B JMP IOB,I NOP DEF IOC+1 DEF IOC+1 ABS IOC-16000B+126000B JMP IOC,I NOP DEF IOD+1 DEF IOD+1 ABS IOD-16000B+126000B JMP IOD,I * IOA EQU 16000B * IOB EQU IOA+128 * IOC EQU IOB+128 * IOD EQU IOC+128 * DATA EQU 17000B * SBUF EQU IOA   TBUF EQU IOB SPC 2 ORG 20000B FWAM EQU * FIRST WORD OF AVAILABLE MEMORY * END >  o[ 24397-18004 2040 S C0122 &XLMD EXTENDED MEMORY DIAGNOSTIC            H0101 p 1 FMT ("12002A/B XL MEMORY DIAGNOSTIC"/) 2 REM (C) HEWLETT-PACKARD CO. 3 REM SERVICE #24397-16004 REV. 2040 4 PRNT 1 5 CLCC 0 6 LET I=0 7 BUF D(1024) E(1024) X(14336) I(56) 10 IOCA 12 IOA LDA #0 14 IOA STA #1 16 IOA CMA 18 IOA STA #2 20 IOA LDB #1 22 IOA XST 24 IOA DEF #1 26 IOA CPA #1 27 IOA JMP *+2 28 IOA JSB RTN 30 IOA CPB #2 32 IOA JMP *+2 34 IOA JSB RTN 36 IOA LDA .36 38 IOA STA A,I 40 IOA STA B,I 41 IOA CMA 42 IOA STA C,I 44 IOA STC 11 46 IOA JMP *+1 48 IOA LDB B 49 IOA CMA 50 IOA STA 1,I 52 IOA CLC 11 54 IOA JMP *+1 56 IOA CPA C,I 58 IOA JSB RTN 60 IOA STA E 62 IOA JSB RTN 64 LET #0=@125252 66 LET A=@137 68 LET B=@77777 70 LET C=@73777 72 LET E=0 74 IORA 76 SKIF E#0 78 GOTO 100 80 SKIF #510#-1 82 GOTO 100 90 PRNT 99 92 GOTO 9999 99 FMT ("NOT MAPPED DIAG. NOT EXECUTED"/) 100 LET Z=X(!) 101 GOSB 6500 102 GOSB 7000 104 GOSB 7500 114 LET S=@40 116 GOSB 800 120 GOSB 1000 122 GOSB 200 124 GOSB 2000 126 GOSB 200 128 GOSB 3000 130 GOSB 200 132 GOSB 4000 134 GOSB 200 136 GOSB 5000 138 GOSB 200 142 GOSB 6000 144 GOSB 200 146 GOSB 8000 166 GOTO 9990 200 REM 201 LET P=0 202 LET N=S 203 PRNT 290 204 GOSB 900 205 PRNT 292 N 206 STC @11 208 LET E=0 209 LET #400=0 210 IORA 212 SKIF E#0 214 GOSB 9000 215 LET N=N+@20 218 SKIF N=>M 220 GOTO 204 222 PRNT 223 CLC @11 224 RTN 290 FMT ("PAGES ") 292 FMT (K3X) 294 FMT (/6X) 400 PRGM A CONTROLLED TEST 401 BUF D(1024) E(1024) X(14336) I(56) 402 LET Z=X(!) 403 PRNT 404 404 FMT ("TEST NO.? ") 406 INPT #500 407 SKIF #500#-1 408 GOTO 9999 409 SKIF #500<10 410 GOTO 665 411 SKIF #500=>0 412 GOTO 665 413 SKIF #500#0 414 GOTO 665 415 GOSB 800 416 SKIF #500#1 418 GOTO 500 419 SKIF #500#2 420 GOTO 510 421 SKIF #500#3 422 GOTO 520 424 SKIF #500#4 426 GOTO 530 428 SKIF #500#5 430 GOTO 540 432 SKIF #500#6 434 GOTO 550 436 SKIF #500#7 438 GOTO 560 440 SKIF #500#8 442 GOTO 570 444 SKIF #500#9 446 GOTO 580 449 STOP 500 GOSB 600 501 GOSB 7000 502 GOSB 640 503 GOTO 501 504 GOTO 402 510 GOSB 600 511 GOSB 7500 512 GOSB 640 513 GOTO 511 514 GOTO 402 520 GOSB 650 521 GOSB 1000 522 GOSB 200 523 GOSB 640 524 GOTO 521 525 GOTO 402 530 GOSB 650 531 GOSB 2000 532 GOSB 200 533 GOSB 640 534 GOTO 531 535 GOTO 402 540 GOSB 650 541 GOSB 3000 542 GOSB 200 543 GOSB 640 544 GOTO 541 545 GOTO 402 550 GOSB 650 551 GOSB 4000 552 GOSB 200 553 GOSB 640 554 GOTO 551 555 GOTO 402 560 GOSB 650 561 GOSB 5000 562 GOSB 200 563 GOSB 640 564 GOTO 561 565 GOTO 402 570 GOSB 650 571 GOSB 6000 572 GOSB 200 573 GOSB 640 574 GOTO 571 575 GOTO 402 580 GOSB 620 581 GOSB 600 582 GOSB 8014 583 GOSB 640 584 GOTO 582 585 GOTO 402 600 PRNT 691 602 INPT @M 604 SKIF M>@40 606 GOTO 600 608 SKIF M=<@377 610 GOTO 600 611 LET M=M+1 612 PRNT 698 613 INPT I 614 SKIF I#0 616 LET I=1 618 RTN 620 PRNT 692 621 INPT @X 622 SKIF X>@17 623 GOTO 620 624 SKIF X<@100 625 GOTO 620 626 LET I(1)=X 627 LET I(2)=0 628 LET X=1 630 RTN 640 SKIF I#0 641 RTN 1 642 LET I=I-1 643 SKIF I#0 644 RTN 1 645 RTN 650 PRNT 690 651 INPT @S 652 SKIF S=>@40 653 GOTO 650 654 PRNT 691 655 INPT @M 656 SKIF M=<@377 657 GOTO 654 R 658 SKIF S@137 912 GOTO 904 914 RTN 1000 FMT ("MEMORY ADDRESS TEST"/) 1002 IOCA 1004 IOA CCA 1006 IOA STA #0 1008 IOA LDB Z 1010 IOA LDA 1 1012 IOA XOR #0 1014 IOA STA #405 1016 IOA STA 1,I 1018 IOA LDA 1,I 1020 IOA CPA #405 1022 IOA RSS 1024 IOA JSB IOD 1026 IOA ISZ E 1028 IOA INB,RSS 1030 IOA JSB RTN 1032 IOA SSB,RSS 1034 IOA JMP *-12 1035 IOA JSB CFS 1036 IOA JSB STP 1037 IOA LDB Z 1038 IOA LDA 1 1040 IOA XOR #0 1042 IOA STA # 405 1044 IOA LDA 1,I 1046 IOA CPA #405 1048 IOA JMP *+2 1050 IOA JSB IOD 1052 IOA ISZ E 1054 IOA INB,RSS 1056 IOA JSB RTN 1058 IOA SSB,RSS 1060 IOA JMP *-11 1062 IOA ISZ #0 1064 IOA JSB RTN 1065 IOA JSB CFS 1066 IOA JSB STP 1067 IOA CLA 1068 IOA STA E 1070 IOA JMP 2 1090 PRNT 1000 1092 RTN 2000 FMT ("MEMORY PATTERN TEST"/) 2001 IOCA 2002 IOA CCA 2003 IOA STA #405 2004 IOA LDB Z 2006 IOA STA 1,I 2008 IOA INB 2010 IOA SSB,RSS 2012 IOA JMP *-3 2014 IOA JSB CFS 2015 IOA JSB STP 2016 IOA LDB Z 2017 IOA LDA 1,I 2018 IOA CPA #405 2020 IOA RSS 2022 IOA JSB IOD 2023 IOA ISZ E 2024 IOA INB,RSS 2025 IOA JSB RTN 2026 IOA SSB,RSS 2030 IOA JMP *-8 2032 IOA CPA #3 2034 IOA JSB RTN 2036 IOA CPA #2 2038 IOA LDA #3 2040 IOA CPA #1 2042 IOA LDA #2 2044 IOA CPA #0 2046 IOA LDA #1 2048 IOA SZA,RSS 2050 IOA LDA #0 2052 IOA CPA .-1 2054 IOA CLA 2056 IOA CLB 2058 IOA STB E 2060 IOA JSB CFS 2062 IOA JSB STP 2064 IOA JMP 1 2100 LET #0=@52525 2102 LET #1=@125252 2104 LET #2=@25000 2106 LET #3=@152777 2110 PRNT 2000 2112 RTN 3000 FMT ("WORST CASE PATTERN TEST"/) 3001 IOCA 3012 IOA LDA Z 3014 IOA LDB Z 3016 IOA STA #4 3018 IOA AND .140 3020 IOA CPA .140 3022 IOA CLA 3024 IOA SZA 3026 IOA CCA 3028 IOA STA 1,I 3030 IOA LDA #4 3032 IOA INA 3034 IOA INB 3036 IOA SSB,RSS 3038 IOA JMP 2 3039 IOA JSB CFS 3040 IOA JSB STP 3042 IOA LDA Z 3044 IOA LDB Z 3046 IOA STA #4 3048 IOA AND .140 3050 IOA CPA .140 3052 IOA CLA 3054 IOA SZA 3055 IOA CCA 3056 IOA STA #405 3057 IOA LDA 1,I 3058 IOA CPA #405 3060 IOA RSS 3062 IOA JSB IOD 3064 IOA CLA 3066 IOA STA 1,I 3068 IOA LDA #4 3070 IOA INA 3071 IOA ISZ E 3072 IOA INB,RSS 3073 IOA JSB RTN 3074 IOA SSB,RSS 3076 IOA JMP *-19 3078 IOA JSB CFS 3080 IOA JSB STP 3j100 PRNT 3000 3110 RTN 4000 FMT ("ADDRESS PARITY TEST"/) 4001 IOCA 4002 IOA CLE 4004 IOA LDB Z 4006 IOA LDA 1 4008 IOA RBL,ERB 4010 IOA SLA,ARS 4012 IOA CME 4014 IOA SZA 4016 IOA JMP *-3 4018 IOA SEZ 4020 IOA CCA,CLE 4022 IOA ELB,RBR 4024 IOA STA 1,I 4026 IOA CPB #0 4028 LET #0=@77777 4030 IOA JMP *+3 4032 IOA INB 4034 IOA JMP 2 4035 IOA JSB CFS 4036 IOA JSB STP 4037 IOA LDB Z 4038 IOA LDA 1 4040 IOA RBL,ERB 4042 IOA SLA,ARS 4044 IOA CME 4046 IOA SZA 4048 IOA JMP *-3 4050 IOA SEZ 4052 IOA CCA,CLE 4053 IOA ELB,RBR 4054 IOA STA #405 4055 IOA LDA 1,I 4056 IOA CPA #405 4058 IOA JMP *+2 4059 IOA JSB IOB 4060 IOA ISZ E 4061 IOA RSS 4062 IOA JSB RTN 4063 IOA CPB #0 4064 IOA JMP *+3 4066 IOA INB 4068 IOA JMP *-20 4070 IOA SEZ,CME 4072 IOA JSB RTN 4074 IOA CLA 4076 IOA STA E 4078 IOA JSB CFS 4080 IOA JSB STP 4082 IOA JMP 1 4100 PRNT 4000 4110 RTN 5000 FMT ("DISTURBANCE TEST"/) 5001 IOCA 5002 IOA CLA 5004 IOA STA #5 5006 IOA CLE 5008 IOA CLF 1 5010 IOA LDB Z 5012 IOA JSB IOC 5014 IOA STA 1,I 5016 IOA LDA 1 5017 IOA IOR .100000 5018 IOA CMA,SZA,RSS 5019 IOA JMP *+3 5020 IOA INB 5022 IOA JMP *-7 5024 IOA LDB Z 5025 IOA JSB IOC 5026 IOA STA #405 5027 IOA LDA 1,I 5028 IOA CPA #405 5030 IOA RSS 5031 IOA JSB IOD 5032 IOA ISZ E 5033 IOA CLA,INA,RSS 5034 IOA JSB RTN 5035 IOA STA E 5036 IOA LDA 1 5037 IOA IOR .100000 5038 IOA CMA,SZA,RSS 5039 IOA JMP *+3 5040 IOA INB 5041 IOA JMP *-15 5042 IOA JSB CFS 5043 IOA JSB STP 5044 IOA SFC 1 5045 IOA JMP *+3 5046 IOA STF 1 5048 IOA JMP 4 5050 IOA SEZ 5052 IOA JMP *+3 5054 IOA CCE 5056 IOA JMP 3 5058 IOA LDA #5 5060 IOA SZA 5062 IOA JSB RTN 5064 IOA CCA 5066 IOA JMP 1 5068 IOCC 5070 IOC CLA 5072 IOC SEZ 5074 IOC CMA 5076 IOC SLB 5078 IOC CMA 5080 IOC 7 BLF,BLF 5082 IOC SFS 1 5084 IOC JMP *+4 5086 IOC SSB 5088 IOC CLA 5090 IOC JMP *+3 5092 IOC SSB,RSS 5094 IOC CLA 5096 IOC BLF,BLF 5098 IOC IOR #5 5100 IOC JSB RTN 5200 PRNT 5000 5210 RTN 6000 FMT ("PARITY GENERATOR TEST"/) 6002 IOCA 6003 IOA CLA 6004 IOA STA #0 6005 IOA LDB Z 6012 IOA STA #405 6014 IOA CLC 5 6016 IOA STF 5 6018 IOA STA 1,I 6020 IOA CLF 5 6022 IOA STC 5 6024 IOA LDA 1,I 6026 IOA CPA #405 6028 IOA JMP *+5 6030 IOA JSB IOD 6032 IOA CLA 6034 IOA STA E 6036 IOA HLT 0 6038 IOA ISZ E 6040 IOA JMP *-5 6042 IOA CPB #400 6044 IOA RSS 6046 IOA JMP *-8 6047 IOA STA 1,I 6048 IOA CPA .-1 6049 IOA JMP *+10 6050 IOA CLE,ELA 6051 IOA IOR #0 6052 IOA CPA #0 6053 IOA JMP *+2 6054 IOA JMP 2 6055 IOA ERA 6056 IOA STA #0 6057 IOA INA 6058 IOA JMP 2 6059 IOA STA E 6060 IOA CLC 0 6061 IOA JSB RTN 6062 PRNT 6000 6063 RTN 6500 REM XLD & XST 6502 IOCA 6504 IOA LDA A 6506 IOA STA A,I 6508 IOA LDA B 6510 IOA STA B,I 6512 IOA LDA C 6514 IOA STA C,I 6516 IOA LDA D 6518 IOA STA D,I 6520 IOA LDB B 6522 IOA XLD 6524 IOA DEF 1,I 6526 IOA CPA A 6528 IOA RSS 6530 IOA JSB RTN 6532 IOA CPB D 6534 IOA RSS 6536 IOA JSB RTN 6538 IOA CLA 6540 IOA LDB B 6542 IOA XST 6552 IOA DEF 1,I 6554 IOA CPA A,I 6556 IOA RSS 6558 IOA JSB RTN 6560 IOA LDA C 6562 IOA CPA C,I 6564 IOA RSS 6566 IOA JSB RTN 6568 IOA DLD 6570 IOA DEF B,I 6572 IOA CPA B 6574 IOA RSS 6576 IOA JSB RTN 6578 IOA CPB D 6580 IOA RSS 6582 IOA JSB RTN 6584 IOA ISZ E 6585 LET A=@77776 6586 LET B=@75776 6587 LET C=@77777 6588 LET D=@75777 6589 MAP @136 @37 6590 MAP @137 @37 6591 LET E=0 6592 IORA 6593 SKIF E=0 6594 GOTO 6600 6595 PRNT 6599 6596 LET L=@26*256+@40 6597 STOP L 6599 FMT (/"ERROR - XST, XLD FAILED"//) 6600 REM 6622 IOCA  6624 LET P=@137 6630 IOA LDA .377 6632 IOA STA M 6634 IOA STA P,I 6638 IOA LDA #0 6639 LET #0=@125252 6640 IOA LDB #1 6641 LET #1=@77777 6642 IOA XST 6644 IOA DEF 1,I 6646 IOA XLD 6647 IOA DEF 1,I 6648 IOA LDB #400 6649 IOA SZB 6650 IOA JSB RTN 6651 IOA CPA #0 6652 IOA JSB RTN 6653 IOA INA,SZA 6654 IOA JSB RTN 6655 IOA CCA 6656 IOA ADA M 6658 IOA STA M 6660 IOA CPA .37 6662 IOA JSB RTN 6664 IOA JMP 2 6666 GOSB 800 6668 LET #400=0 6670 IORA 6672 CLC 0 6674 LET M=M+1 6676 PRNT 6680 M 6680 FMT ("TOTAL MEMORY = "I3"K WORDS"/) 6699 RTN 7000 FMT ("XST, XLD & MAP RAM TEST"/) 7001 PRNT 7000 7100 REM MAP RAM TEST 7101 IOCA 7102 IOA LDA .30 7104 IOA STA P,I 7106 IOA LDB A 7107 IOA XST 7108 IOA DEF 1,I 7113 IOA LDA P,I 7114 IOA INA 7115 IOA CPA M 7116 IOA JMP *+2 7118 IOA JMP *-8 7120 IOA LDA .30 7122 IOA STA P,I 7124 IOA LDB A 7125 IOA STA #405 7126 IOA XLD 7128 IOA DEF 1,I 7130 IOA CPA P,I 7132 IOA JMP *+2 7134 IOA JSB IOD 7135 IOA LDA P,I 7136 IOA INA 7137 IOA LDB A 7138 IOA STB #403 7139 IOA ISZ E 7140 IOA CPA M 7142 IOA JMP *+2 7144 IOA JMP *-15 7146 IOA LDA P 7148 IOA AND .77 7150 IOA STA P,I 7152 GOSB 800 7162 LET P=@137 7164 LET A=@77776 7166 LET E=0 7167 LET #400=0 7168 IORA 7170 SKIF E#0 7172 GOSB 9000 7174 LET P=P-1 7176 LET A=A-1024 7178 SKIF P<@100 7180 GOTO 7166 7200 REM 7202 IOCA 7220 IOA LDA .100 7222 IOA STA P 7224 IOA LDA .1777 7226 IOA STA A 7228 IOA LDA P 7230 IOA AND .77 7232 IOA IOR .40 7234 IOA STA P,I 7236 IOA LDB A 7238 IOA XST 7240 IOA DEF 1,I 7242 IOA ISZ P 7244 IOA LDA A 7246 IOA ADA .2000 7248 IOA SSA,RSS 7250 IOA JMP *-12 7252 IOA LDA .100 7254 IOA STA P 7256 IOA LDA .1777 7257 IOA STA A 7258 IOA LDB P,I 7259 IOA STB #405 7260 IOA LDB A 7y262 IOA XLD 7264 IOA DEF 1,I 7266 IOA CPA P,I 7268 IOA JMP *+2 7270 IOA JSB IOD 7271 IOA ISZ P 7272 IOA LDA A 7273 IOA STA #403 7274 IOA ADA .2000 7275 IOA ISZ E 7276 IOA SSA 7277 IOA JMP *+2 7278 IOA JMP *-16 7280 IOA LDB .100 7282 IOA CLA 7284 IOA STA 1,I 7286 IOA INB 7288 IOA INA 7290 IOA CPB .140 7292 IOA JSB RTN 7293 IOA JMP *-5 7294 LET E=0 7295 LET #400=0 7296 IORA 7297 SKIF E#0 7298 GOSB 9000 7300 REM 7304 IOCC 7306 IOC ISZ #0 7310 INT 7 C 7320 IOCA 7322 IOA CLC 0 7324 IOA CLA 7325 IOA STA #0 7326 IOA OTA 7 7328 IOA LDA #1 7330 LET #1=@125252 7332 IOA STA A,I 7334 IOA LDB A 7336 IOA CMA 7338 IOA STF 0 7340 IOA STC 7 7342 IOA XST 7344 IOA DEF 1,I 7346 IOA LIA 2 7347 IOA CLF 0 7348 IOA LDA #0 7350 IOA SZA,RSS 7352 IOA JSB RTN 7354 IOA LDA A,I 7356 IOA CPA #1 7358 IOA ISZ E 7400 LET E=0 7402 LET P=@37 7404 MAP @137 @37 7407 LET A=@77776 7408 IORA 7410 SKIF E=0 7412 RTN 7414 PRNT 7490 7415 LET L=@26*256+@41 7420 STOP L 7490 FMT (/"ERROR - XST WITH MPT ON FAILED"//) 7500 REM ("MAP ENABLE TEST"/) 7502 PRNT 7500 7504 IOCA 7506 IOA LDA #1 7508 IOA CLB 7510 IOA STB A,I 7512 IOA STB B,I 7514 IOA STA A,I 7516 IOA CPA B,I 7518 IOA JSB RTN 7520 IOA STB A,I 7522 IOA STA B,I 7524 IOA CPA A,I 7526 IOA JSB RTN 7528 IOA STC 11 7530 IOA STA B,I 7532 IOA CPA A,I 7534 IOA JSB RTN 7536 IOA STB B,I 7537 IOA STA A,I 7538 IOA CPB A,I 7540 IOA JSB RTN 7541 IOA STB A,I 7542 IOA JMP *+1 7544 IOA STA B,I 7546 IOA CPA A,I 7548 IOA RSS 7550 IOA JSB RTN 7552 IOA CLC 11 7554 IOA STB B,I 7556 IOA CPB A,I 7557 IOA JMP *+2 7558 IOA JSB RTN 7560 IOA STA B,I 7562 IOA CPA A,I 7564 IOA JSB RTN 7566 IOA STC 11 7568 IOA JMP *+1 7570 IOA CLC 13 7572 IOA CPB B,I 7574 IOA JSB RTN 7576 IOA STC 13 C 7578 IOA CPB B,I 7580 IOA RSS 7582 IOA JSB RTN 7583 IOA CCA 7584 IOA XOR .2 7585 IOA OTA 0 7586 IOA STF 0 7587 IOA STC 6,C 7588 IOA CLA 7589 IOA INA,SZA 7590 IOA SFC 6 7591 IOA JMP *+2 7592 IOA JMP *-3 7593 IOA CPB B,I 7594 IOA JSB RTN 7595 IOA CLC 0 7596 IOA CLA 7597 IOA OTA 0 7598 IOA ISZ E 7600 LET #1=@125252 7602 LET A=@77776 7604 LET B=@75776 7606 MAP @136 @37 7608 MAP @137 @37 7610 LET E=0 7612 IOCC 7613 INT 6 0 7614 INT 6 C 7616 IORA 7617 INT 6 0 7618 SKIF E=0 7620 RTN 7621 PRNT 7622 7622 FMT (/"ERROR - MAP ENABLE FAILED"//) 7623 LET L=@26*256+@42 7624 STOP L 8000 FMT ("DMA AND ADDRESS EXTENSION TEST"/) 8002 CLC 0 8004 IBP I(1) I(56) CL 8005 LET X=1 8006 OTA 2 1 8007 LET D=0 8008 LIA 2 D 8009 LET I(X)=D.@77 8010 LET X=X+1 8011 SKIF D=0 8012 GOTO 8007 8013 OTA 2 0 8014 PRNT 8000 8016 PRNT 8019 8019 FMT (" LOGICAL - PHYSICAL"/) 8020 IOCA 8022 IOA LDA .140 8024 IOA LDB .40 8026 IOA STB 0,I 8028 IOA STC 20,C 8030 IOA LIA 20 8032 IOA STA #0 8034 IOA LIA 21 8036 IOA STA #1 8038 IOA LIA 22 8040 IOA STA #2 8042 IOA LIA 23 8044 IOA STA #3 8046 IOA CLC 0 8048 IOA LDA .140 8050 IOA CLB 8052 IOA STB 0,I 8054 IOA JSB RTN 8070 MAP @137 @77 8075 STC @11 8080 IBP D(1) D(1024) CL 8085 MAP @137 @76 8090 IBP D(1) D(1024) CL 8092 CLC @11 8100 MAP @141 @40 8110 MAP @142 @41 8115 LET X=1 8120 OTAC 2 I(X) 8130 OTA 2 7 8135 LET D(1)=2,D(!),-1 8140 OTA @20 D(!) 8145 OTA @21 1 8150 IORA 8180 SKIF D(!)=#0.@77777-3 8185 GOSB 9100 8190 SKIF #1=2 8195 GOSB 9100 8200 SKIF D(!)=#2.@77777 8205 GOSB 9100 8210 SKIF #3=-1 8215 GOSB 9100 8225 LET X=X+1 8230 SKIF I(X)=0 8235 GOTO 8120 8260 MAP @137 @77 8265 STC @11 8270 LET D(1)=0,@125252,-4 8275 MAP @137 @76  8280 LET D(1)=2,0,0 8282 CLC @11 8285 MAP @141 @40 8290 MAP @142 @41 8295 LET X=1 8300 OTAC 2 I(X) 8310 OTA 2 7 8315 STCC @13 8320 OTA @20 E(!) 8325 OTA @21 1 8330 IORA 8360 SKIF E(!)=#0.@77777-3 8365 GOSB 9130 8370 SKIF #1=2 8375 GOSB 9130 8380 SKIF #2=@125252 8381 GOSB 9130 8382 SKIF #3=-4 8383 GOSB 9130 8384 OTAC 2 I(X) 8390 OTA 2 7 8391 OTA @20 E(!) 8392 OTA @21 0 8393 LET E(1)=0,0,0 8394 STCC @13 8395 IORA 8396 SKIF E(!)=#0.@77777-3 8400 GOSB 9140 8401 SKIF 0=#2.@77777:#1:#3 8402 GOSB 9140 8405 LET X=X+1 8410 SKIF I(X)=0 8415 GOTO 8300 8420 PRNT 8425 8425 FMT (" MAP RAM DATA & INTF. LATCH"/) 8430 LET X=1 8435 LET J=1 8440 LET N=@40 8445 MAP @137 N 8450 STC @11 8455 LET D(1)=J,N,N*-1 8457 CLC @11 8460 LET N=N+1 8465 SKIF N>M-1 8470 GOTO 8445 8475 LET N=1 8480 LET #10=J+@140 8485 LET #11=N+@40 8495 MAP #10 #11 8505 STCC @13 8510 OTAC 2 I(X) 8515 OTA 2 7 8520 OTA @20 0 8525 OTA @21 J 8530 IORA 8560 SKIF #0=@100003 8565 GOSB 9150 8570 SKIF #1=J 8575 GOSB 9150 8580 SKIF #2=N+@40:@100000 8585 GOSB 9150 8590 SKIF #3=N+@40*-1 8595 GOSB 9150 8600 LET N=N+1 8605 SKIF M=@37 8625 GOTO 8440 8630 LET X=X+1 8632 CFS 8635 SKIF I(X)=0 8640 GOTO 8435 8700 FMT (" ADDER TEST ON CONTROLLER"/) 8701 PRNT 8700 8702 LET P=@20 8703 OTAC 2 I(1) 8705 MAP @141 P 8706 OTA @20 0 8708 OTA @21 @201 8710 OTA @22 0 8712 OTA @23 0 8714 OTA 2 7 8716 OTA 2 3 8717 STCC @13 8718 STCC @21 8720 LET C=0 8722 SFC @21 8724 GOTO 8740 8726 LET C=C+1 8728 SKIF C>200 8730 GOTO 8722 8731 CLC 0 8732 PRNT 8739 I(1) 8734 STOP 8739 FMT (/"ERROR - DMA TIMED OUT SC "K2//) 8740 CLC 0 8746 IOCA 8748 IOA LDB Z 8750 IO7A LDA D 8752 IOA STA #405 8754 IOA STB #403 8755 IOA LDA 1,I 8756 IOA CPA #405 8757 IOA JMP *+3 8758 IOA STA #404 8759 IOA JMP *+7 8760 IOA ADA .100 8761 IOA ADB .100 8762 IOA SSB,RSS 8765 IOA JMP *-10 8766 IOA CLA 8767 IOA CLB 8768 IOA STB E 8770 IOA STA D 8773 LET Q=0 8774 LET N=Q*@20+P 8775 LET D=Q*@40000 8776 GOSB 900 8777 LET E=0 8778 STC @11 8779 IORA 8780 SKIF E=0 8781 GOSB 8800 8784 LET Q=Q+1 8786 SKIF Q>1 8788 GOTO 8774 8794 LET P=P+1 8795 SKIF P=>M-@40 8796 GOTO 8703 8799 RTN 8800 CLC 0 8802 PRNT 8890 8804 PRNT 9092 @141 N 8806 GOTO 9022 8890 FMT (/"ERROR - DMA ADDER FAILED"/) 9000 CLC 0 9010 SKIF #400=0 9012 GOTO 9018 9014 PRNT 9090 9016 GOTO 9020 9018 PRNT 9091 #400 9020 PRNT 9092 #401 #402 9022 PRNT 9093 #403 #404 #405 9090 FMT (/"ERROR - COMPARE"/) 9091 FMT (/"ERROR - PARITY ADDR. "K6/) 9092 FMT (6X"- MAP LOC. "K3" PAGE "K3/) 9093 FMT (6X"- ADDR. "K6" ACT. "K6" EXP. "K6//) 9094 LET L=#402/16 9095 LET L=@26*256+L 9099 STOP L 9100 PRNT 9190 I(X) 9102 PRNT 9191 9104 GOTO 9162 9130 PRNT 9190 I(X) 9132 PRNT 9192 9134 GOTO 9162 9140 PRNT 9190 I(X) 9142 PRNT 9196 9144 GOTO 9162 9150 PRNT 9190 I(X) 9152 PRNT 9193 9154 PRNT 9194 #0 #1 #2 #3 9156 LET K=N+@40:@100000 9158 LET L=N+@40*-1 9160 PRNT 9195 @100003 J K L 9162 PRNT 9164 LET L=@26*256+@43 9166 STOP L 9190 FMT (/"ERROR - DMA SELECT CODE "K2/) 9191 FMT (8X"SELF CONFIGURE NOT FROM PHYSICAL"/) 9192 FMT (8X"SELF CONFIGURE OVERIDE FAILED"/) 9193 FMT (8X"MAPPED DMA FAILED"/) 9194 FMT (8X"CARD DMA R0 "K6" R1 "K6" R2 "K6" R3 "K6/) 9195 FMT (8X"EXPECTED"4(4XK6)/) 9196 FMT (8X"MAP TO LOC. 140 FAILED"/) 9900 PRGM L LOOP ON DIAGNOSTIC 9901 CLC 0 9902 LET I=1 9903 BUF D(1024) E(1024) X(14336) I(56) 9904 GOTO 100 9989 FMT ("PASS "%I6/) 9990 SKIF I#0 9KHFB991 GOTO 9998 9992 PRNT 9989 I 9993 LET I=I+1 9994 SKIF I=<32767 9995 LET I=1 9996 CLC 0 9997 GOTO 100 9998 PRNT 9999 9999 FMT ("DIAGNOSTIC COMPLETE"/) ؠH p 24397-18005 2001 S C0122 &ASIC ASIC 12005A DIAG.             H0101 Y+ 1 FMT ("12005A ASYNCHRONOUS SERIAL INTERFACE DIAGNOSTIC"/) 2 REM (C) HEWLETT-PACKARD CO. ALL RIGHTS RESERVED 3 REM SERVICE #24397-16005 REV. 2001 4 PRNT 1 5 LET Z=0 6 GTSC 0 Z 7 GOSB 1440 8 GOTO 6 9 GOSB 745 10 REM CONTROL REGISTER CHECK 11 BUF 12 BUF P(8) E(2) S(5) T(15) U(15) V(15) L(30) 13 LET P(1)=@125052,@52525,0,@177577 14 LET A=1 16 GOSB 680 18 OTA @31 P(A) 20 LIA @31 C 22 SKIF P(A)=C 23 GOSB 750 24 LET A=A+1 26 SKIF A>4 27 GOTO 18 28 CLCC 0 30 CLF @2 32 LIA @31 C 34 SKIF C=0 35 GOSB 755 36 OTA @31 @177577 38 OTA @32 0 40 LIA @31 C 42 SKIF 0=C.@177400 43 GOSB 755 45 REM BREAK CHECK 46 LET Y=@170 48 GOSB 620 50 OTA @32 1 52 LET H=0 54 INT Z 630 56 OTA @31 @3170 58 STCC @30 60 LIA @32 B 62 SKIF 0=B.@6 63 GOSB 760 64 DLY 1000 66 STF 0 68 OTA @31 @3174 70 DLY 50 72 LIA @32 C 74 SKIF @40100=B.@40100*H 75 GOSB 760 76 SKIF 0=C.@40000 77 GOSB 760 78 DLY 1000 80 LIA @32 C 82 SKIF 0=C.@40000 83 GOSB 760 84 LET B=0 86 OTA @32 0 90 REM EIGHT-BIT AND SPECIAL CHARACTER RECOGNITION CHECK 94 LET P(1)=@43574,@103574,@143574 98 LET R=1 100 LET A=0 102 LET I=0 104 LET F=1 108 OTA @32 1 110 OTA @31 P(F) 112 OTAC @30 A 114 STCC @30 116 WFI Z 1000 117 GOSB 800 118 LIA @32 B 120 SFS @30 121 GOSB 800 122 LIA @30 C 124 SKIF A=C.@377 126 GOSB 800 128 SKIF @100100=B.@174100 129 GOSB 800 130 GOSB 690 132 LET F=F+1 134 GOSB 710 136 LET F=F+1 138 GOSB 730 140 LET A=A+1 142 SKIF A=@400 143 GOTO 104 144 SKIF 14=I*R 145 PRNT 1220 148 OTA @32 1 150 REM SEVEN BIT TRANSMISSION CHECK 152 OTA @31 @3174 154 LET D=0 156 LET C=0 158 LET A=D 160 OTAC @30 A 162 LET A=A.@177 164 STCC @30 166 WFI Z 1000 167 GOSB 800 168 LIA @32 B 170 SKIF @100101=B.@174101 171 GOSB 800 172 LIAC @30 C 174 SKIF A=C.@377 176 GOSB 800 178 LET D=D+1 180 SKIF D=@201 181 GOTO 158 185 REM DMA CHECK 186 OTA @32 1 188 OTA @31 @4 190 LET E(1)=@125125,0 192 LET P(1)=@165400,@3574,E(!),-2 194 LET P(5)=@61600,@3574,E(!)+1,-2 196 OTAC @20 P(!) 198 STCC @20 200 WFI Z 2000 201 GOSB 770 202 SFS @23 203 GOSB 770 204 SFS @20 205 GOSB 770 206 SFS @21 207 GOSB 770 208 SKIF E(1)=E(2) 209 GOSB 770 210 CLCC @23 212 LET E(1)=E(1)*-1-1 213 SKIF E(1)>0 214 GOTO 196 218 LET E(1)=@6400,0 219 LET P(1)=@71600,@43574,E(!)+1,-2 220 SKIF R=1 221 GOTO 236 222 OTA @32 1 223 OTAC @20 P(!) 224 OTAC @30 E(1) 225 STCC @20 226 WFI Z 2000 227 GOSB 770 228 SKIF P(4)=-1 230 GOSB 770 232 SKIF E(1)=E(2).@177400 234 GOSB 770 236 CLCC @23 240 REM BREAK-OVERRUN CHECK 242 OTA @32 1 244 OTA @31 @11170 246 OTAC @30 @25252 248 STCC @30 250 DLY 1000 252 LIA @32 C 254 LET C=C.@2 256 SKIF C=@2 258 GOSB 780 260 STC @30 261 STC @30 262 WFI Z 2000 263 GOTO 265 264 GOSB 780 265 LIA @32 C 266 SKIF @4000=C.@4000 267 GOSB 780 268 OTA @31 @11174 269 WFI Z 2000 270 GOSB 780 271 LIA @32 C 272 SKIF @44000=C.@44000 273 GOSB 780 274 STCC @30 275 WFI Z 2000 276 GOSB 780 278 GOSB 740 279 GOTO 550 280 REM HOOD TESTS 281 GOSB 680 282 OTA @31 @1574 283 OTA @30 @125252 284 STCC @30 285 LIA @32 B 286 SKIF 0=B.@2 287 GOSB 810 288 WFI Z 1000 289 GOSB 810 290 SFS @30 291 GOSB 810 292 LIA @30 C 294 SKIF @52=C.@177 295 GOSB 810 296 REM BAUD RATE TEST 298 PRNT 1320 300 LET T(1)=1003,669,458,375,336 301 LET T(6)=169,86,58,44,30 302 LET T(11)=25,17,13,10,8 303 LET V(1)=50,75,110,134,150 304 LET V(6)=300,600,900,1200,1800 305 LET V(11)=2400,3600u,4800,7200,9600 306 LET U(1)=999,665,454,371,332 307 LET U(6)=165,82,54,40,26 308 LET U(11)=21,13,9,6,4 310 LET B=1 312 LET J=@5014 314 OTA @32 0 316 LET Y=J 317 GOSB 620 318 PRNT 1330 V(B) 320 INT Z 0 322 LET A=0 324 CLF @30 326 LET P(1)=@60400,L(!),-50 330 IBP L(1) L(30) PA 1300 332 LET H=0 334 INT 6 640 336 CLCC @21 338 CLCC @23 340 STF 0 341 STCC 6 342 OTAC @20 P(!) 343 SKIF H=1 344 GOTO 343 345 STCC @20 346 STF 0 347 REM ALLOW TIME FOR TBG INT. 348 SFS @20 349 GOTO 346 350 CLF 0 351 CLC 6 352 SKIF AU(B) 355 GOSB 840 356 LET J=J+@10 358 LET B=B+1 360 CLCC @23 362 SKIF B=16 363 GOTO 314 364 CLF 0 366 INT Z 0 368 INT 6 0 370 PRNT 1340 371 LET H=0 372 LET Y=@7004 373 GOSB 620 374 OTA @32 1 375 OTA @31 @3004 376 OTA @30 @125 378 STCC @30 380 WFI Z 100 381 GOSB 840 382 LIAC @30 C 383 SKIF @125=C.@377 384 GOSB 840 385 OTA @31 @3000 386 OTA @31 @3004 387 SFS @30 388 GOSB 840 389 PRNT 1350 390 REM PARITY ERROR TEST 392 LIAC @30 C 394 OTA @32 0 396 INT Z 630 398 LET H=0 400 OTAC @30 @176 402 OTA @31 @23014 404 STF 0 406 STCC @30 408 OTA @31 @22010 410 DLY 15 412 OTA @31 @22014 414 DLY 2500 416 SKIF H=1 417 GOSB 845 418 SKIF @20000=B.@160000 419 GOSB 845 420 REM PARITY SENSE CHECK 422 OTA @32 1 424 LET Y=@17175 425 GOSB 620 426 OTAC @30 @125 428 STCC @30 430 WFI Z 2000 431 GOSB 860 432 LIAC @30 C 434 SKIF @125=C.@377 435 GOSB 860 438 OTA @32 0 440 REM MODEM CHECK 442 LET V(1)=@367,@357,@347,@277 443 LET V(5)=@1214,@1224,@1244,@1304 445 INT Z 0 446 LET Y=@5014 447 GOSB 620 448 OTA @31 @17 450 LIA @32 B 452 SKIF @3070=B.@3070 453 GOSB 850 454 OTA @31 @1014 456 OTAC @30 0 458 STCC @30 460 DLY 10 4672 LIA @32 B 464 SKIF 0=B.@3070 465 GOSB 850 466 WFI Z 1500 467 GOSB 850 468 LET C=1 470 OTA @32 0 472 CLF @30 474 OTA @31 @177 476 SFC @30 477 GOSB 850 478 OTA @31 @377 480 DLY 1 482 SFC @30 484 GOSB 850 486 OTA @31 V(C) 488 SFS @30 489 GOSB 850 490 LIA @32 B 492 OTA @31 @177 494 SKIF 0=B.@100 495 GOSB 850 496 LET C=C+1 498 SKIF C>4 499 GOTO 470 500 OTA @32 0 502 CLF @30 504 OTAC @30 0 506 OTA @31 @1004 508 SFC @30 509 GOSB 850 510 OTA @31 @1204 512 OTA @31 V(C) 514 STC @30 516 DLY 100 518 SFS @30 519 GOSB 850 520 LIA @32 B 522 OTA @31 @1004 524 LET B=B.@100 526 SKIF B=0 528 GOSB 850 530 LET C=C+1 532 SKIF C>8 533 GOTO 500 550 REM DIAGNOSTIC COMPLETE 552 OTA @2 0 554 STF @2 556 CLCC 0 558 GOTO 1999 600 OTA @31 P(F) 601 LIA @32 G 604 SKIF 0=G.@200 605 RTN 607 RTN 1 620 OTA @31 Y 621 DLY 40 622 LET Y=Y-@4000 623 OTA @31 Y 624 RTN 630 CLF 0 632 SFS @30 633 GOSB 760 635 LET H=1 636 LIA @32 B 637 RTN 640 CLF 0 641 LET H=1 642 LET A=A+1 644 SKIF A<2000 645 GOSB 840 646 RTN 680 CLCC 0 682 OTAC @2 Z 684 RTN 690 LET S(1)=@4,@10,@15,@22,@177 692 GOSB 600 693 RTN 694 LET S=1 696 SKIF S(S)#C.@177 697 GOTO 705 698 LET S=S+1 700 SKIF S=6 701 GOTO 696 702 LET R=0 704 RTN 705 LET I=I+1 706 RTN 710 GOSB 600 711 RTN 712 SKIF @36#C.@177 713 GOTO 716 714 LET R=0 715 RTN 716 LET I=I+1 717 RTN 730 GOSB 600 731 RTN 732 SKIF @15#C.@177 733 GOTO 736 734 LET R=0 735 RTN 736 LET I=I+1 737 RTN 740 SKIF M=0 741 RTN 1 742 PRNT 1230 743 RTN 745 LET M=1 746 HOOD 747 LET M=0 748 RTN 750 PRNT 1000 752 GOTO 804 755 PRNT 1010 756 GOTO 804 760 PRNT 1050 762 GOTO 804 770 PRNT 1100 772 GOTO 804 78F0 PRNT 1250 782 GOTO 804 800 PRNT 1150 802 PRNT 1151 A B C 804 OTA @2 0 806 STF @2 808 STOP 810 PRNT 1260 811 GOTO 804 820 PRNT 1270 821 GOTO 804 830 PRNT 1280 831 GOTO 804 840 PRNT 1310 842 GOTO 804 845 PRNT 1360 846 GOTO 804 850 PRNT 1370 851 GOTO 804 860 PRNT 1400 861 GOTO 804 1000 FMT ("ERROR - CONTROL REGISTER CHECK"/) 1010 FMT ("ERROR - CARD RESET"/) 1050 FMT ("ERROR - BREAK FEATURE CHECK"/) 1100 FMT ("ERROR - DMA CHECK FAILURE"/) 1150 FMT ("ERROR - TRANSMISSION"/) 1151 FMT ("DATA OUT="K6" STATUS="K6" DATA IN="K6/) 1200 FMT ("SPECIAL CHARACTER RECOGNITION"/) 1205 FMT ("ASCII CHR.(OCT) T1 T2 T3"//) 1210 FMT (11X,K3,4X,A2,5X,A2,4X,A2/) 1220 FMT ("WARNING - NON-STANDARD ROM INSTALLED"/) 1230 FMT ("HOOD TESTS NOT EXECUTED"/) 1250 FMT ("ERROR - BREAK/OVERRUN CHECK"/) 1260 FMT ("ERROR - HOOD TRANSMISSION TEST"/) 1300 ASC THIS IS A BAUD RATE TEST PATTERN!!!!!!!!!! 1310 FMT ("ERROR - BAUD RATE GENERATOR TEST"/) 1320 FMT (/"BAUD RATE TEST"/) 1330 FMT ("BAUD RATE UNDER TEST = "I4/) 1340 FMT ("EXTERNAL CLOCK SOURCE TEST"/) 1350 FMT ("BAUD RATE TEST COMPLETE"//) 1360 FMT ("ERROR - PARITY ERROR"/) 1370 FMT ("ERROR - MODEM CHECK"/) 1400 FMT ("ERROR - PARITY OR STOP-BIT CHECK"/) 1410 FMT ("CARD IS VCP. TEST NOT EXECUTED"/) 1440 SKIF Z=@20 1442 RTN 1 1450 GOSB 680 1451 OTA @2 @2 1452 LIA @2 B 1453 OTA @2 0 1455 SKIF @10000=B.@10000 1456 RTN 1 1457 PRNT 1410 1458 RTN 1500 PRGM A TERMINAL-12005A INTERFACE COMMUNCICATION TEST 1502 LET Z=0 1505 GTSC 0 Z 1510 BUF 1520 BUF A(40) B(40) C(40) D(40) Q(40) 1530 IBP A(1) A(24) PA 1500 1532 IBP A(25) A(40) CL 1534 LET A(1)=0 1540 LET A(39)=@6412 1545 IBP B(1) B(21) PA 1550 1547 IBP B(22) B(40) CL 1550 REM TYPE TWENTY CHARACTERS ON THE KEYBOARD NOW 1555 LET B(39)=@6412 1560 IBP D(2) D(14) PA 1565 1561 LET D(1)=@6412 1562 IBP D(15) D(39) CL$" 1565 REM TIC-TERMINAL TEST COMPLETE 1570 LET D(40)=@6412 1580 LET Q(1)=@161400,@1000,A(!),-80 1585 LET Q(5)=@161400,@1000,B(!),-80 1590 LET Q(9)=@71200,@46000,C(!),-20 1598 LET Q(13)=@61400,@1000,D(!),-80 1600 GOSB 680 1601 INT Z 1650 1602 OTAC @20 Q(!) 1603 LET H=0 1604 STF 0 1605 STCC @20 1608 DLY 32767 1610 SKIF H=0 1611 GOTO 1505 1616 CLF 0 1617 CLCC @23 1618 PRNT 1699 1620 STOP 1650 CLF 0 1651 SFS @20 1652 GOTO 1618 1653 CLCC @21 1654 STCC @20 1655 WFI Z 2000 1656 STOP 1657 CLCC @23 1658 LET C=20+Q(12) 1659 PRNT 1698 C 1660 LET H=1 1662 RTN 1698 FMT (I2" CHARACTERS RECEIVED"/) 1699 FMT (/"TEST FAILURE"/) 1700 PRGM B SPECIAL CHR. TEST 1701 LET Z=0 1702 GTSC 0 Z 1703 GOSB 1440 1704 GOTO 1701 1705 PRNT 1200 1706 PRNT 1205 1707 GOSB 680 1708 BUF 1710 BUF P(3) F(3) 1712 LET P(1)=@43574,@103574,@143574 1714 OTA @32 1 1716 OTA @31 @3574 1718 LET A=0 1722 LET R=0 1723 LET F=1 1724 LET F(1)=0,0,0 1725 OTAC @30 A 1726 STCC @30 1728 WFI Z 2000 1729 STOP 1730 GOSB 600 1731 GOTO 1734 1732 LET F(F)=$X 1733 LET R=1 1734 LET F=F+1 1735 SKIF F=4 1736 GOTO 1730 1738 SKIF R=0 1739 PRNT 1210 A F(1) F(2) F(3) 1740 LET A=A+1 1742 SKIF A=@400 1743 GOTO 1722 1744 GOTO 1702 1999 GOTO 6 $ q | 24397-18006 2001 S C0122 &PIC PIC 12006A DIAG.             H0101 ' 1 FMT ("12006A PARALLEL INTERFACE DIAGNOSTIC"/) 2 REM (C) COPYRIGHT HEWLETT-PACKARD CO. ALL RIGHTS RESERVED 3 REM SERVICE #24397-16006 REV. 2001 4 PRNT 1 5 BUF C(30) T(10) M(55) P(10) S(2048) Q(50) 6 LET H=0 7 LET Z=0 12 GTSC @1000 Z 13 CLCC @0 15 HOOD 18 GOTO 24 21 LET H=1 24 OTAC @2 Z 30 LIA @32 T(1) 31 LET M=T(1).@7400 32 LET M=M/256 33 LET E=T(1).@20 36 PRNT 1801 39 SKIF E=0 42 GOTO 1802 45 GOTO 1805 50 REM ON-LINE SECTION 57 LET C=@100212 60 OTA @31 @100212 63 GOSB 1580 66 LET C=@5 69 OTA @31 C 72 GOSB 1580 75 REM TEST BITS 6,12,13 OF 32 81 LIA @32 T(3) 84 SKIF @20000=T(3).@20000 87 GOSB 1826 90 LET T(4)=T(3).@10000 93 SKIF T(4)=0 96 GOSB 1898 99 LET T(4)=T(3).@100 102 SKIF T(4)=0 105 GOSB 1832 106 OTA @31 M 108 SKIF H=1 111 GOTO 12 114 REM MAIN PROGRAM OFF-LINE SECTION 117 REM CARD RESET TEST 120 OTA @30 @177777 123 OTA @31 @100217 126 LIA @32 T(4) 129 OTA @32 0 132 LIA @30 T(1) 138 LIA @32 T(3) 141 SKIF T(1)=0 144 GOSB 1841 150 LET T(5)=T(3).@107617 153 SKIF T(5)=0 156 GOSB 1841 158 LET T(4)=T(4).@70160 159 SKIF T(4)#0 162 GOSB 1844 165 REM SNS TEST 168 CLF @30 171 LET R=0 174 LET T(4)=@25 177 LET T(5)=@52525 180 OTA @31 @20 183 OTA @30 T(5) 186 LIA @30 T(6) 189 SKIF T(5)=T(6) 192 GOSB 1847 195 OTA @31 T(4) 198 LIA @32 T(8) 201 LET T(9)=T(8).@17 204 LET T(3)=T(4).@17 207 SKIF T(3)=T(9) 210 GOSB 1850 213 SKIF R=0 216 GOTO 231 219 LET R=1 222 LET T(5)=@125252 225 LET T(4)=@32 228 GOTO 180 231 REM I/O DRIVER TEST 234 OTA @32 0 237 LET C=@102012 240 LET P=@52525 243 GOSB 1400 246 GOSB 1500 249 GOSB 1580 252 LET C=@102005 255 LET P=@125252 258 GOSB 1400 261 GOSB 1500 264 GOSB 1580 267 LET C=@102032 270 LET P=@52525 273 GOSB 1400 276 GOSB 1500 279 GOSB 1580 282 LET C=@102025 285 LET P=@125252 288 GOSB 1400 291 GOSB 1500 294 GOSB 1580 297 REM DRM TEST 300 OTA @32 0 303 OTA @30 @52525 306 LIA @30 T(5) 309 SKIF T(5)=@52525 312 GOSB 1835 315 OTA @31 @4040 318 OTAC @30 @52525 321 STC @30 324 LIA @30 T(5) 327 OTAC @30 @125252 330 LIA @30 T(6) 333 SKIF T(6)=T(5) 336 GOSB 1814 339 REM SRM TEST 342 OTA @32 0 345 OTA @31 @104212 348 LIA @32 T(5) 351 LET T(6)=T(5).@107617 354 SKIF T(6)=@105212 357 GOSB 1838 360 OTA @31 @4100 363 STC @30 366 LIA @32 T(5) 369 OTA @31 @4177 372 LIA @32 T(6) 375 SKIF T(6)=T(5) 378 GOSB 1817 379 REM IRQEN TEST 381 IBP S(1) S(2048) IN 384 IBP M(1) M(50) CL 387 CLF @30 390 OTA @31 @400 393 SFS @30 402 GOTO 411 405 GOSB 1820 411 OTA @31 @401 414 SFS @30 417 GOSB 1823 420 REM DFF TEST 423 OTA @32 0 426 OTA @31 @4000 429 CLCC @30 432 LIA @32 T(2) 435 LET T(3)=T(2).@100 438 SKIF T(3)=0 441 GOSB 1832 444 STC @30 447 LIA @32 T(2) 450 LET T(3)=T(2).@100 453 SKIF T(3)#0 456 GOSB 1832 459 REM PLV TEST 462 OTA @32 0 465 OTA @31 @12000 468 CLCC @30 471 LIA @32 T(1) 474 LET T(2)=T(1).@40 477 STC @30 480 LIA @32 T(3) 483 LET T(4)=T(3).@40 486 SKIF T(4)=T(2) 489 GOSB 1832 492 OTA @31 @4000 495 LIA @32 T(1) 498 LET T(2)=T(1).@40 501 STCC @30 504 LIA @32 T(3) 507 LET T(4)=T(3).@40 510 SKIF T(4)#T(2) 513 GOSB 1877 516 REM SRQ LINE AND FLAG LINE TEST 519 OTA @32 0 522 CLCC @30 525 LIA @32 T(1) 528 LET T(2)=T(1).@40 531 SKIF E=0 534 GOTO 552 537 SKIF T(2)=0 540 GOSB 1877 546 OTA @31 0 549 GOTO 561 552 SKIF T(2)#0 555 GOSB 1832 558 OTA @31 @10000 561 STC @30 564 SFS @30 567 GOSB 1901 570 REM DFS AND DCL TEST 573[ SKIF E=0 576 GOTO 585 579 LET P(1)=@10000,@14000 582 GOTO 588 585 LET P(1)=@0,@4000 588 OTA @32 0 591 CLCC @30 594 OTA @31 P(1) 597 STCC @30 600 LIA @32 T(1) 603 LET T(2)=T(1).@100 606 OTA @31 P(2) 609 LIA @32 T(3) 612 LET T(4)=T(3).@100 615 SKIF T(4)#T(2) 618 GOSB 1907 621 SFS @30 623 GOSB 1904 625 REM LBYEN TEST 626 REM SET UP DMA 628 OTA @32 0 630 OTAC @21 @40200 632 OTA @22 S(!) 634 OTAC @23 @176030 636 GOSB 1628 638 STCC @21 640 WFI Z 1000 642 GOSB 1890 644 OTA @32 0 645 OTAC @21 @200 647 OTA @22 S(!) 649 OTAC @23 @177775 651 LET V=V+1000 653 STCC @21 655 STCC @30 657 OTA @31 V 659 STCC @30 661 STCC @30 663 CLCC @21 665 LIA @23 D 669 SKIF D=0 672 GOSB 1892 673 OTA @32 0 675 OTAC @21 @200 678 OTA @22 S(!) 681 OTAC @23 @177775 684 LET V=V+@2 685 CLF @30 687 STC @21 690 STCC @30 692 OTA @31 V 694 STCC @30 696 STCC @30 698 CLCC @21 702 LIA @23 D 704 SKIF D#0 706 GOSB 1895 717 REM BYTE PACKING AND PACK FF TEST 720 LIA @32 Y 723 LET T(1)=Y.@10000 726 SKIF T(1)=0 729 GOSB 1898 732 REM 50 WORD (100 BYTE) TRANSFER 735 IBP M(1) M(50) CL 738 IBP Q(1) Q(50) PA 739 739 ASC THIS IS RANDOM DATA TO CHECK BYTE PACKING 741 CLCC 0 744 OTAC @2 Z 747 GOSB 1647 749 REM THE FIRST WORD TRANSFERRED IS JUNK 750 CPBF M(2) Q(1) 49 0 753 GOSB 1910 760 GOTO 12 1400 REM SUBROUTINE 1 1401 REM CHECKS DATA REGISTERS 1402 REM PASS PARMS C (CONTROL WORD), P (PATTERN) 1409 OTA @32 0 1412 OTA @31 C 1415 OTAC @30 P 1418 LIA @30 R 1421 SKIF P=R 1424 GOSB 1808 1427 LET P=P*@2 1430 SKIF P#0 1433 RTN 1436 GOTO 1415 1500 REM SUBROUTINE 2 1501 REM COMPARES 0-3 & 7 OF 31 & 32 1505 LIA @32 S 1508 LET S(1)=S.@217 1511 LET T(1)=C.@217 1514 SKIF T(1)=S(1) 1517 GOSB 1811 1520 RTN 1580 REM SUBROUTINE 3 1581 REM COMP+ARES 0-3,7,15 OF 31 TO 7,8-11,15 OF 32 1586 LET T(2)=C.@100200 1589 LIA @32 S 1592 LET S(2)=S.@107600 1595 LET T(3)=C.@17 1598 LET T(3)=T(3)*256 1604 LET T(5)=T(3)+T(2) 1607 SKIF S(2)=T(5) 1610 GOSB 1853 1613 RTN 1628 REM SETUP 31 FOR F.S. DMA 1630 SKIF E#0 1632 GOTO 1636 1634 GOTO 1642 1636 LET V=@14000 1638 OTA @31 V 1640 RTN 1642 LET V=@2000 1644 OTA @31 V 1646 RTN 1647 REM THIS SUB RUNS BYTE MODE MDMA 1648 SKIF E=0 1650 GOTO 1658 1652 LET J=@10140 1654 LET K=@140 1656 GOTO 1662 1658 LET J=@14140 1660 LET K=@4140 1662 LET X=1 1664 OTA @21 @20000 1666 OTA @22 Q(!) 1668 OTAC @23 @177634 1670 STC @21 1672 OTA @31 J 1683 STC @30 1685 LIA @30 M(X) 1686 OTA @31 K 1688 LIA @32 T(3) 1690 SKIF X#1 1691 GOTO 1696 1692 LET T(4)=T(3).@30000 1693 SKIF T(4)=@10000 1694 GOSB 1913 1696 LET X=X+1 1697 SKIF X<51 1698 RTN 1699 GOTO 1672 1801 FMT ("DEVICE COMMAND SENSE SWITCH--ACTIVE ") 1802 PRNT 1803 1803 FMT ("HIGH"/) 1804 GOTO 50 1805 PRNT 1806 1806 FMT ("LOW"/) 1807 GOTO 50 1808 PRNT 1809 1809 FMT ("ERROR - DATA REG. FAILED"/) 1810 STOP 1811 PRNT 1812 1812 FMT ("ERROR - IN COMMON BITS OF REG. 31 AND 32"/) 1813 STOP 1814 PRNT 1815 1815 FMT ("ERROR - DATA REG. DID NOT LATCH"/) 1816 STOP 1817 PRNT 1818 1818 FMT ("ERROR - STATUS REG. DID NOT LATCH"/) 1819 STOP 1820 PRNT 1821 1821 FMT ("ERROR - IRQEN CAUSES ERRONEOUS INTERRUPT"/) 1822 STOP 1823 PRNT 1824 1824 FMT ("ERROR - IRQEN DOES NOT CAUSE INTERRUPT"/) 1825 STOP 1826 PRNT 1827 1827 FMT ("ERROR - DMAON FLIP FLOP FAILED"/) 1828 STOP 1832 PRNT 1833 1833 FMT ("ERROR - DEVICE COMMAND FLIP FLOP FAILED"/) 1834 STOP 1835 PRNT 1836 1836 FMT ("ERROR - DATA REG. NOT IN TRANSPARENT MODE"/) 1837 STOP 1838 PRNT 1839 1839 FMT ("ERROR - STATUS REG. NOT IN TRANSPARENT MODE"/) 1840 STOP 1841 PRNT 1842 1842 FMT ("ERROR - CARD RESET FAILED"/) 1843 STOP 1844 PRNT 1845 1845 FMT ("ERROR - STATUS REG. FAILED"/) 1846 STOP 1847 PRNT 1848 1848 FMT ("ERROR - SNS DID NOT INVERT DATA BITS"/) 1849 STOP 1850 PRNT 1851 1851 FMT ("ERROR - SNS DID NOT INVERT STATUS BITS"/) 1852 STOP 1853 PRNT 1812 1854 PRNT 1855 1855 FMT ("ERROR - INTERNAL PATH FAILURE"/) 1856 STOP 1877 PRNT 1878 1878 FMT ("ERROR - IN DEVICE FLAG SIGNAL"/) 1879 STOP 1889 PRNT 1890 1890 FMT ("ERROR - DMA DID NOT START"/) 1891 STOP 1892 PRNT 1893 1893 FMT ("ERROR - PREMATURE TERMINATION OF DMA BY LBYEN"/) 1894 STOP 1895 PRNT 1896 1896 FMT ("ERROR - LBYEN DID NOT TERMINATE DMA"/) 1897 STOP 1898 PRNT 1899 1899 FMT ("ERROR - PACK FLIP FLOP FAILED"/) 1900 STOP 1901 PRNT 1902 1902 FMT ("ERROR - SRQ FLIP FLOP FAILED"/) 1903 STOP 1904 PRNT 1905 1905 FMT ("ERROR - DFS LINE FAILED"/) 1906 STOP 1907 PRNT 1908 1908 FMT ("ERROR - DCL LINE FAILED"/) 1909 STOP 1910 PRNT 1911 1911 FMT ("ERROR - IN BYTE MODE DMA TRANSFER"/) 1912 STOP 1913 PRNT 1914 1914 FMT ("ERROR - BYTE MODE DMA : PACK OR DMAON STATUS "/) 1915 STOP  r | 24397-18008 2001 S C0122 &PROM PROM 12008A DIAG.             H0101 zL 1 REM ("12008A PROM CARD DIAGNOSTIC"/) 2 REM (C) COPYRIGHT HEWLETT-PACKARD CO. ALL RIGHTS RESERVED 3 REM SERVICE #24397-16008 REV. 2001 4 PRNT 1 5 BUF P(10) D(2048) 6 LET P=0 7 GTSC @3000 P 8 CLCC @0 10 OTAC @2 P 20 IOCA 22 LET F=0 30 IOA CLA 32 IOA OTA 31 34 IOA STC 30,C 38 IOA SFS 30 40 IOA JSB RTN 42 IOA LIB 31 43 IOA CLF 30 44 IOA CPA 1 46 IOA INA,RSS 52 IOA JSB RTN 54 IOA STA F 56 IOA SSA,RSS 58 IOA JMP 2 62 IOA JSB RTN 70 IORA 72 SKIF F#@100000 74 GOTO 100 76 SFS @30 78 GOSB 900 82 SKIF F=0 84 GOSB 905 86 GOSB 910 100 OTA @31 @100000 102 LIA @30 D 104 SKIF D=@100000 106 GOSB 915 108 OTA @31 @177777 110 LIA @30 D 112 SKIF D=@177777 114 GOSB 915 116 OTA @31 @125252 118 LIA @30 D 120 SKIF D=@125252 122 GOSB 915 124 OTA @31 @152525 126 LIA @30 D 128 SKIF D=@152525 130 GOSB 915 150 OTA @31 0 152 CLF @30 154 OTA @31 @100000 156 SFS @30 158 GOSB 920 300 REM START DMA TEST 302 LET P(1)=@41600,0,D(!),-2048 303 IBP D(1) D(2048) CL 305 LET F=0 310 LET U=1 320 LET N=1 321 CLCC @0 323 SKIF F=0 324 GOTO 330 326 GOSB 540 328 GOTO 370 330 GOSB 560 332 GOTO 370 370 SFC @22 380 GOSB 940 381 STF 0 390 LET M=P(2) 400 LET Q=-2048 410 LET R=D(!) 420 IOCB 422 IOB LDA R,I 424 IOB CPA M 426 IOB RSS 428 IOB JSB RTN 430 IOB ISZ M 432 IOB ISZ R 434 IOB ISZ Q 436 IOB JMP *-7 438 IOB JSB RTN 440 IORB 450 SKIF Q=0 460 GOSB 947 470 LET P(2)=U*2048 480 SKIF U=<15 490 GOTO 532 500 LET U=U+1 530 GOTO 320 532 SKIF F=0 534 GOTO 600 536 LET F=1 537 LET P(2)=0 538 LET U=1 539 GOTO 320 540 REM NONB SELF CONFIGURED DMA (326) 542 OTAC @2 P 546 LET P(2)=P(2)+@100000 547 OTA @31 P(2) 548 OTA @21 P(1) 549 OTA @22 P(3) 550 OTA @23 P(4) 551 STCC @21 552 LET C=0 553 SFC @21 554 RTN 556 LET C=C+1 557 SKIF C>2000 558 GOTO 553 559 GOSB 999 560 REM SELF CONFIGURED DMA (330) 561 OTAC @2 P 562 LET P(2)=P(2)+@100000 566 OTA @20 P(!) 568 STCC @20 570 LET C=0 572 SFC @20 576 RTN 578 LET C=C+1 580 SKIF C>2000 582 GOTO 572 584 GOSB 1002 600 REM IRQ TEST 602 IOCA 604 LET P(1)=@41600,@77770,D(!),-2048 605 CLCC 0 606 OTAC 2 P 608 OTAC @20 P(!) 610 IOA CLA 611 IOA CLF 30 612 IOA STC 20,C 614 IOA INA,SZA,RSS 616 IOA JMP *+10 618 IOA SFS 30 619 IOA JMP *-3 620 IOA CLC 21,C 621 IOA CLC 0,C 622 IOA STA T 623 IOA CLF 2 626 IOA LIA 23 628 IOA STA C 630 IOA JSB RTN 632 IOA STA T 634 IOA JSB RTN 636 IORA 638 SKIF T#0 640 GOSB 1002 641 SKIF C#0 642 GOSB 1020 643 SFC @30 644 GOSB 1025 645 LIA @31 A 646 SKIF A=0 647 GOSB 1025 649 GOTO 7 650 PRGM A PROM ACCESS PROGRAM 652 LET P=0 654 GTSC @3000 P 656 OTAC 2 P 658 PRNT 930 660 INPT @A $B @E 670 LET S=A 680 SKIF A=>0 682 GOTO 936 684 SKIF A=<32767 690 GOTO 936 700 SKIF B#@15 710 LET E=S 712 SKIF E=>0 714 GOTO 936 716 SKIF E=<32767 718 GOTO 936 720 SKIF A=@1777 53 GOTO 46 54 LET D=@60003 55 GOSB 805 56 LET Q(1)=@165000,@2000,P(!),-2 57 LET Q(5)=@61200,@2000,P(!)+1,-2 58 GOSB 820 60 GOSB 825 61 GOSB 740 62 SKIF P(1)=P(2) 63 GOSB 740 64 GOSB 810 65 OTA @31 1 66 LET P(1)=P(1)*-1-1 67 SKIF P(1)<0 68 GOTO 56 70 REM PHI CHIP/HP-IB CARD CHECK 72 GOSB 801 74 LET P(1)=@40125,@50252,@10201,@30177,@70140 76 LET P(6)=@20100 78 LET Q(1)=@41000,0,P(!),-6 80 GOSB 820 82 GOSB 825 83 GOSB 725 91 LET C=0 92 OTA @31 @120000 94 GOSB 815 98 LET D=D.@120004 100 SKIF D=@120004 102 GOTO 120 104 OTA @30 @100000 106 STCC @30 108 LIA @30 A 110 LET C=C+1 112 SKIF C>8 114 GOTO 92 116 GOSB 725 120 OTA @31 0 122 LET P(1)=@70040,@10220,@20211 124 LET Q(4)=-3 126 GOSB 810 130 GOSB 820 133 GOSB 825 134 GOSB 725 137 OTA @31 @120000 138 GOSB 815 140 GOSB 810 141 LET D=D.@120377 142 SKIF D=@120012 144 GOSB 725 146 LET P(1)=@10100,@60042,@31114,@{21777,@537 147 LET P(6)=@477,@536,@476,8,2 148 LET P(11)=@125,@252,@377,0,@1010 149 LET Q(4)=-15 151 OTA @31 1 152 GOSB 820 156 GOSB 825 157 GOSB 725 160 DLY 1000 162 OTA @31 @120000 164 GOSB 815 166 SKIF @14=D.@14 167 GOSB 725 168 LIA @32 B 170 SKIF @4400=B.@177400 171 GOSB 725 178 LET D=@60040 179 GOSB 805 180 IBP R(1) R(15) CL 182 LET Q(1)=@51200,@101604,R(!),-15 184 GOSB 810 186 GOSB 820 190 GOSB 825 191 GOSB 725 196 SKIF Q(4)=-4 197 GOSB 725 200 CPBF P(5) R(1) 11 @177600 201 GOSB 725 202 SKIF @200=R(1).R(2).R(9).@200 203 GOSB 725 204 SKIF @101410=R(11) 205 GOSB 725 206 LIA @32 B 207 SKIF @24000=B.@177400 208 GOSB 725 210 GOSB 815 212 LIA @32 B 214 SKIF @4000=B.@177400 215 GOSB 725 216 OTA @31 1 217 GOSB 810 218 LET D=@60042 219 GOSB 805 220 LET P(15)=8,9,10,11,12 221 LET P(20)=13,14,15 222 LET P(3)=@31100 223 OTA @31 @104 224 LET Q(1)=@51000,@104,P(!),-22 225 CLF @30 226 GOSB 820 230 WFI Z 3000 231 GOSB 725 232 SFC @20 233 GOSB 725 234 SFS @30 235 GOSB 725 236 LIA @32 B 237 SKIF @6400=B.@177400 238 GOSB 725 239 CLCC @23 240 LIA @23 B 242 SKIF B=-22 243 GOSB 725 244 OTA @31 @120000 245 GOSB 815 246 SKIF D=@121110 247 GOSB 725 248 OTA @31 1 251 LET D=@21777 252 GOSB 805 254 LET D=@60040 256 GOSB 805 258 CLF @30 260 LET Q(2)=4 261 GOSB 820 264 WFI Z 3000 265 GOSB 725 266 SFC @20 267 GOSB 725 268 LIA @23 B 269 SKIF B=-1 270 GOSB 725 272 SFS @30 273 GOSB 725 274 GOSB 810 275 OTA @31 @120000 276 GOSB 815 277 SKIF D=@120000 278 GOSB 725 279 GOSB 810 280 LET D=@60040 281 GOSB 805 282 IBP R(1) R(32) CL 283 LET Q(1)=@51200,@100604,R(!),@-30 284 CLF @30 285 GOSB 820 287 DLY 1000 288 GOSB 810 289 LIA @23 B 290 SKIF B=-14 291 GOSB 725 292 OTA @31 @120000 293 GOSB 815 294 SKIF D=@121100 295 GOSB 725 296 OTA @31 0 297 LET D=@60040 298 GOSB 805 299 CLF @30 300 LET Q(2)=@105614,R(!),-8 301 IBP R(1) R(8) CL 302 GOSB 850 303 GOSB 725 304 GOSB 825 305 GOSB 725 310 IBP R(20) R(28) CL 311 CPBF R(1) R(20) 8 @100000 312 GOSB 725 313 GOSB 810 315 OTA @31 4 320 LET D=@31200 322 GOSB 805 324 LET D=@21777 325 GOSB 805 326 CLF @30 328 SFC @30 329 GOSB 725 330 LET D=@60062 332 GOSB 805 334 SFS @30 335 GOSB 725 336 OTA @31 @120000 337 GOSB 815 338 SKIF D=@121200 339 GOSB 725 340 LET P(9)=@574 341 LET Q(1)=@51000,0,P(!),-9 342 GOSB 810 343 GOSB 820 345 GOSB 825 346 GOSB 725 349 GOSB 810 350 IBP R(1) R(8) CL 351 CLF @30 352 LET Q(1)=@51200,@100604,R(!),-8 353 OTA @31 0 354 LET D=@60040 355 GOSB 805 356 GOSB 820 357 CLF @30 358 GOSB 825 359 GOSB 725 362 SFS @30 363 GOSB 725 364 SKIF Q(4)=-7 365 GOSB 725 366 LIA @32 B 367 SKIF @10000=B.@177400 368 GOSB 725 370 OTA @32 0 371 LIA @32 B 372 SKIF 0=B.@177400 373 GOSB 725 374 LET P(9)=@410 375 LET Q(1)=@51000,4,P(!),-9 376 CLF @30 377 OTA @31 @100000 378 GOSB 815 379 GOSB 810 380 GOSB 820 381 GOSB 825 382 GOSB 725 384 SFS @30 385 GOSB 725 386 LIA @32 B 387 SKIF @40400=B.@177400 388 GOSB 725 389 LIA @32 B 390 SKIF @400=B.@177400 391 GOSB 725 392 OTA @31 0 393 LET D=@60052 394 GOSB 805 395 LET D=@70140 396 GOSB 805 397 LET G=@121040 398 LET P(9)=@40377,@50000,@405,@550 399 LET P(2)=@60052,@31040 400 LET Q(1)=@51000,@4,P(!),-*12 402 CLF @30 403 GOSB 820 404 GOSB 825 405 GOSB 725 410 SFS @30 411 GOSB 725 412 LET E=@550 413 LET F=1 414 OTA @31 @120000 415 GOSB 815 416 SKIF D=G 417 GOSB 725 418 OTA @31 0 419 LET D=E 420 GOSB 805 421 OTA @31 @100000 422 GOSB 815 423 SKIF D=@100000+F 424 GOSB 725 425 LET E=E+1 426 LET F=F*2 427 SKIF E=@560 428 GOTO 414 429 SKIF F#0 430 GOTO 440 432 LET F=0 433 OTA @31 0 434 LET D=@40000 435 GOSB 805 436 LET G=@120000 437 LET E=@550 438 GOTO 414 440 LET D=@60042 441 GOSB 805 442 LET P(1)=@57477,@57076,@76160 443 LET Q(1)=@71000,@2400,P(!),-6 444 CLF @30 445 GOSB 810 446 GOSB 820 447 GOSB 825 448 GOSB 725 450 LET Q(2)=@3002,P(!),-8 451 LET P(1)=@125252,@177777,@52525,0 452 GOSB 810 453 GOSB 820 454 GOSB 825 455 GOTO 457 456 GOSB 725 457 GOSB 810 458 LIA @23 C 459 SKIF C=0 460 GOSB 725 462 OTA @31 1 464 LET R(1)=@21000 465 LET Q(2)=@62000,R(!),-1 466 GOSB 810 467 GOSB 820 468 GOSB 825 469 GOSB 725 472 IBP R(1) R(10) CL 474 LET Q(1)=@71200,@103000,R(!),-12 476 GOSB 810 477 GOSB 820 478 GOSB 825 479 GOSB 725 482 SKIF Q(4)=-2 483 GOSB 725 484 CPBF P(1) R(2) 4 0 485 GOSB 725 486 OTA @31 1 487 LET D=@60042 488 GOSB 805 490 LET P(1)=@57477 492 LET Q(1)=@71000,@2402,P(!),-2 493 REM ON-LINE TEST 494 LET D=@70200 496 GOSB 805 498 OTA @31 @110000 499 GOSB 815 500 SKIF @10=D.@10 501 GOTO 795 502 SKIF D=@110310 503 GOSB 730 504 OTA @31 0 506 LET D=@31200 507 GOSB 805 508 LET D=@21777 509 GOSB 805 510 SFC @30 511 GOSB 725 512 LET D=@60062 513 GOSB 805 514 DLY 100 516 LET D=@60042 517 GOSB 805 518 SFC @30 519 GOSB*v 730 520 OTA @31 4 521 SFS @30 522 GOSB 730 523 OTA @31 @120000 524 GOSB 815 525 SKIF D=@121200 526 GOSB 730 527 OTA @31 @110000 528 GOSB 815 530 SKIF D=@110230 531 GOSB 730 532 OTA @31 0 533 LET D=@70000 534 GOSB 805 535 LET D=@70200 536 GOSB 805 537 LET D=@60046 538 GOSB 805 539 SFC @30 540 GOSB 730 541 OTA @31 @24 542 SFS @30 543 GOSB 730 544 LIA @32 B 545 SKIF @1400=B.@177400 546 GOSB 730 547 LET D=@60042 548 GOSB 805 549 LIA @32 B 550 SKIF @400=B.@177400 551 GOSB 730 552 CLF @30 553 LET D=@30777 554 GOSB 805 555 LET D=@60062 556 GOSB 805 557 LET D=@60042 558 GOSB 805 559 CLF @30 560 SFC @30 561 GOSB 725 562 GOSB 810 563 GOSB 820 564 GOSB 825 565 GOSB 730 568 LIA @32 B 569 SKIF @100400=B.@177400 570 GOSB 730 572 LET H=0 574 LET P=-1 575 LET P(1)=@31004,@21777 576 LET Q(1)=@51000,0,P(!),-2 577 GOSB 810 578 GOSB 820 579 GOSB 825 580 GOSB 730 583 LET P(1)=@476,@537 585 LET P=P+1 586 LET D=@60063 587 GOSB 805 588 LET D=@60042 589 GOSB 805 590 LET P(3)=P+@540 591 SKIF P#@10 592 GOTO 900 599 REM INTERACTIVE TEST 600 OTA @31 0 601 LET P(4)=@1002,@60040 602 LET Q(4)=-5 603 GOSB 810 604 GOSB 820 605 GOSB 825 606 GOSB 730 609 OTA @31 4 610 SFS @30 611 GOTO 575 612 OTA @31 @120000 613 GOSB 815 614 SKIF D=@121004 615 GOSB 730 616 OTA @31 @100000 617 GOSB 815 618 LET C=D.@377*@400 619 GOSB 815 620 LET C=D.@377+C 621 PRNT 1220 P C 622 SKIF 0=C.@177400 623 GOTO 575 628 GOSB 750 629 GOTO 575 630 PRNT 1040 P 631 LET H=1 632 LET P=P(3) 633 LET P(1)=@537,@477,@536 634 LET P(4)=P.@477 635 LET P(5)=@576 636 IBP P(6) P(15ܰ) R1 637 IBP P(14) P(22) IN 638 LET P(22)=P(22)+@1000 639 LET P(23)=@477,@537,@476 640 LET P(26)=P.@537 641 LET P(27)=@576,@1020,@537,@477,@60040 642 OTA @31 0 643 LET P(14)=@252,@125 644 LET D=@60042 645 GOSB 805 646 LET Q(1)=@51000,@1400,P(!),-31 648 GOSB 810 649 GOSB 820 650 GOSB 825 651 GOSB 735 654 LET Q(1)=@51200,@101000,R(!),-16 655 IBP R(1) R(20) CL 656 GOSB 810 657 GOSB 820 658 GOSB 825 659 GOSB 735 662 CPBF P(6) R(1) 16 @177400 663 GOSB 735 664 SKIF @1000=R(16).@1000 665 GOSB 735 666 OTA @31 0 667 CLF @30 668 LET P=P.@7 669 SKIF P=@7 670 GOTO 575 672 GOTO 900 700 PRNT 1010 702 STF @2 704 STOP 705 PRNT 1011 706 GOTO 702 710 PRNT 1020 711 GOTO 702 715 PRNT 1020 716 GOTO 702 725 PRNT 1030 726 GOTO 702 730 PRNT 1035 732 GOTO 702 735 PRNT 1060 736 GOTO 702 740 PRNT 1021 742 GOTO 702 745 PRNT 1111 746 GOTO 702 750 SKIF D#@101403 751 RTN 1 752 SKIF D#@101601 753 RTN 1 754 SKIF D#@101401 755 RTN 1 756 SKIF D#@101604 757 RTN 1 770 RTN 795 PRNT 1099 796 PRNT 1098 797 GOTO 6 800 REM SUBROUTINES 801 CLCC 0 802 OTAC @2 Z 803 RTN 805 OTAC @30 D 806 STCC @30 807 RTN 810 CLCC @23 811 CLCC @21 812 RTN 815 STCC @30 816 LIAC @30 D 817 RTN 820 OTAC @20 Q(!) 821 STCC @20 822 RTN 825 WFI Z 2000 826 RTN 827 SFS @20 828 RTN 829 RTN 1 850 OTA @31 0 851 LET D=@30777 852 GOSB 805 853 GOSB 820 854 GOSB 825 855 GOTO 857 856 RTN 857 GOSB 810 858 LET D=@31100 859 GOSB 805 860 GOSB 820 861 RTN 1 870 LET A=0 871 SFC @20 872 RTN 1 873 LET A=A+1 874 SKIF A=1000 875 GOTO 871 876 RTN 880 LET X=0 881 LET Y=0 882 LET Z=0 883 RTN 900 SKIF H=1 901 PRNT 1050 948 OTAC @2 Z 950 LIA @32 B 952 SKIF @201=B.@377 953 GOTO 6 954 LET X=Y 955 LET Y=Z 956 SKIF X#0 957 GOTO 6 982 SKIF X#Y 983 GOTO 6 1010 FMT ("ERROR - CONTROL REGISTER CHECK"/) 1011 FMT ("ERROR - CARD RESET"/) 1020 FMT ("ERROR - CARD BUS CHECK"/) 1021 FMT ("ERROR - DMA CHECK"/) 1030 FMT ("ERROR - PHI CHIP/HP-IB CARD FAILURE"/) 1035 FMT ("ERROR - ON-LINE TEST FAILURE"/) 1040 FMT ("DISC CONTROLLER LOOPBACK TEST ON HP-IB ADDR. "I1/) 1050 FMT ("NO HP-IB DISCS FOUND"/) 1060 FMT ("ERROR - HP-IB INTERACTIVE TEST FAILURE"/) 1098 FMT ("ON-LINE TEST NOT EXECUTED"/) 1099 FMT ("CARD NOT SYSTEM CONTROLLER"/) 1100 FMT ("CARD-CARD TEST: SELECT CODES ",K2) 1101 FMT (" AND ",K2/) 1102 FMT ("PASS COMPLETE"/) 1111 FMT ("ERROR - CARD-CARD TEST FAILURE"/) 1220 FMT ("ADDR. "I1" IDENTIFIES WITH "K6" OCTAL"/) 1999 PRNT 1102 2000 REM CARD-CARD TEST 2001 PRNT 1100 X 2002 PRNT 1101 Y 2003 LET F=0 2004 CLCC 0 2005 IBP R(1) R(64) CL 2006 LET P(1)=@537,@477,@536,@440 2008 IBP P(5) P(12) R1 2010 LET P(13)=@252,@125,@377,@1000,@537 2011 LET P(18)=@477 2012 OTAC @2 X 2014 LET D=@70200 2016 GOSB 805 2018 LET D=@60062 2020 GOSB 805 2022 LET D=@60042 2024 GOSB 805 2030 OTAC @2 Y 2032 LET D=@70200 2034 GOSB 805 2038 LET Q(1)=@41000,@0,P(!),-18 2040 LET Q(5)=@51200,@101000,R(!),-16 2042 LET Q=Q(!)+4 2044 OTAC @20 Q 2046 STCC @20 2048 OTAC @2 X 2050 OTAC @20 Q(!) 2052 STCC @20 2054 OTAC @2 X 2058 GOSB 870 2061 GOSB 745 2062 OTAC @2 Y 2066 GOSB 870 2069 GOSB 745 2070 SKIF Q(8)=-4 2071 GOSB 745 2072 CPBF P(5) R(1) 12 @177400 2073 GOSB 745 2080 OTAC @2 X 2082 GOSB 805 2084 LET D=@40200 2086 GOSB 805 2088 OTAC @2 Y 2090 LET D=@60010 2092 GOSB 805 2094 OTAC @2 X 2096 OTA @31 @100000 2098 GOSB 815Y 2100 SKIF @200=D.@200 2101 GOSB 745 2110 OTAC @2 Y 2112 LET D=@60004 2114 GOSB 805 2116 OTAC @2 X 2118 LIA @32 B 2120 SKIF @1000=B.@1000 2121 GOSB 745 2128 LET R(1)=@537,@477,@430,@476,@500 2130 LET R(6)=@1,@431,@537,@477 2132 LET Q(1)=@41000,@0,R(!),-9 2134 OTAC @20 Q(!) 2136 STCC @20 2138 GOSB 870 2140 GOSB 745 2142 OTA @31 @100000 2144 GOSB 815 2146 SKIF @1100=D.@1777 2147 GOSB 745 2150 CLCC 0 2152 OTAC @2 X 2154 LET D=@70200 2156 GOSB 805 2158 LET D=@60062 2160 GOSB 805 2162 LET D=@60002 2164 GOSB 805 2166 OTAC @2 Y 2168 LET D=@70200 2170 GOSB 805 2172 LET D=@60042 2174 GOSB 805 2230 OTAC @2 X 2232 LET P(3)=@476,@500,@13 2234 LET Q(1)=@41000,@0,P(!),-5 2235 OTA @31 1 2236 OTAC @20 Q(!) 2238 STCC @20 2240 WFI X 2000 2241 GOSB 745 2242 LET Q(1)=@51200,@101000,R(!),-18 2243 IBP R(1) R(18) CL 2244 LET Q(5)=@41000,@0,P(!)+5,-11 2246 LET D=@60040 2248 GOSB 805 2250 LET D=@21004 2252 GOSB 805 2254 OTAC @20 Q(!) 2256 STCC @20 2258 OTAC @2 Y 2260 LET Q=Q(!)+4 2262 OTAC @20 Q 2264 STCC @20 2268 GOSB 870 2271 GOSB 745 2272 OTAC @2 X 2276 GOSB 870 2278 GOSB 745 2280 CPBF P(6) R(1) 11 @177400 2282 GOSB 745 2300 LET A=X 2302 LET X=Y 2303 LET Y=A 2304 SKIF F=0 2305 GOTO 6 2306 LET F=1 2307 GOTO 2004 3000 PRGM A PHI REGISTER ACCESS 3001 LET Z=0 3002 GTSC @4000 Z 3003 GOSB 800 3005 PRNT 3098 3006 INPT $M @N 3007 SKIF M#$S 3008 GOTO 3002 3009 SKIF M=$W 3010 GOTO 3030 3011 PRNT 3097 3012 INPT @O 3014 SKIF O=>0 3015 GOTO 3005 3016 OTA @31 0 3017 LET O=O.@1777 3018 LET D=N*4096+O 3020 GOSB 805 3022 SKIF N#0 3023 GOTO 3011 3030 LET X=N*4096+@100000 3032 OTA @31 X 3034 GOSB 815 3036 LET D=D.@1777 3038 PRNT 3096 N D 3040 SKIF N=0 3042 GOTO 3005 3044 PRNT 3095 640 3045 YES? 3030 3046 GOTO 3005 3095 FMT ("AGAIN? ") 3096 FMT ("REGISTER "I1" = "K4" OCTAL"/) 3097 FMT ("DATA? -1 TO END ENTRY: ") 3098 FMT ("R/W/S REGISTER? ") >o6 t  24397-18999 2040 S C0122 A24397 SNC             H0101 w************************************************************************ * SOFTWARE PRODUCT CATALOG * * * * PRODUCT CATALOG FOR L-SERIES DIAGNOSTICS, 24397A * * * * Part Number 24397-18999 REV.2040 * * * ************************************************************************ * * * This file provides a list of the manuals, test hoods and * * software modules that comprise the product. The list is * * organized into three parts as follows: * * * * A. MANUALS. The entry for each manual includes the title * * of the manual, manual part number, print date, and if * * applicable, the latest manual change number and date. * * * * * * B. TEST HOODS. Test hoods are supplied with the standard * * product. The test hoods are not required in order to * * run the diagnostic, however, they allow a more thorough * * check of the board. * * * * * * C. SOFTWARE MODULES. Each serviceable software module is * * listed by file type. The General Binary Files are Memory * * Image files (provided on 7902 Flexible Disc) of the * * Absolute Binary Files (provided2t on Minicartridge). * * As such, the source part and REV CODE of the files are * * the same, and any reference to one equally applies to * * the other. * * * * * * * * This product is deliverable on the following media. The * * specific media is specified at time of order of the product. * * * * * * 24397A Opt 020 MINICARTRIDGES 24397-133nn * * 24397A Opt 041 7902 FLEXIBLE DISC 24397-13401 * * * * * * SECTION 1: MANUALS * * * * * * PART DESCRIPTION PRINT CHANGE CHANGE * * NUMBER DATE # DATE * * ----------- ------------------------------ ----- ----- ----- * * 24397-90001 HARDWARE TROUBLESHOOTING GUIDE 10/80 * * 24397-90002 KERNAL DIAGNOSTIC OPER MNL 10/80 * * 24397-90003 DIAG. DESIGN LANGUAGE OPER MNL 10/80 * * 24397-90004 12002A/B XL MEMORY DIAGNOSTIC 10/80 * * 24397-90005 12005A ASIC DIAG MNL 1/80 1 10/80 * * 24397-90006 12006A PARALLEL DIAG MNL 10/80 * * 24397-90008 12008A PROM DIAG MNL 10/80 * * 24397-9000 9 12009A HP-IB DIAG MNL 10/80 * * * ************************************************************************ * * * SECTION 2: TEST HOODS * * * * * * PART # DESCRIPTION * * ----------- --------------------------------------- * * 24397-60003 TEST HOOD FOR 12005A ASIC * * 24397-60004 TEST HOOD FOR 12006A PARALLEL * * * ************************************************************************ * * * SECTION 3: SOFTWARE MODULES * * * * FILE SERVICE REV DESCRIPTION MEDIA * * NAME PART # CODE * * ------ ----------- ---- ------------------------- ----------- * * * * * *(ASC) GENERAL ASCII FILES * * * * A24397 24397-18999 2040 S/W NUMBERING GUIDE FILE 24397-13301 * * A24397 24397-18999 2040 S/W NUMBERING GUIDE FILE 24397-13401 * * * *(BIN) GENERAL BINARY FILES * * Q * * BOOTEX 92071-16364 2040 BOOT EXTENSION 24397-13401 * * KRNL 24397-16013 2040 KERNEL DIAGNOSTIC 24397-13401 * * DDL 24397-16011 2040 DIAG. DESIGN LANGUAGE 24397-13401 * * XLMD 24397-16016 2040 12002A/B XL MEMORY DIAG. 24397-13401 * * ASIC 24397-16010 2040 12005A ASIC DIAGNOSTIC 24397-13401 * * HPIB 24397-16012 2040 12009A HP-IB DIAGNOSTIC 24397-13401 * * PIC 24397-16014 2040 12006A PARALLEL DIAGNOSTIC 24397-13401 * * PROM 24397-16015 2040 12008A PROM DIAGNOSTIC 24397-13401 * * * *(ABS) ABSOLUTE BINARY FILES * * * * !ASIC 24397-16005 2040 12005A ASIC DIAGNOSTIC 24397-13302 * * !DDL 24397-16002 2040 DIAG. DESIGN LANGUAGE 24397-13301 * * !HPIB 24397-16009 2040 12009A HP-IB DIAGNOSTIC 24397-13302 * * !KRNL 24397-16002 2040 KERNEL DIAGNOSTIC 24397-13301 * * !PIC 24397-16006 2040 12006A PARALLEL DIAGNOSTIC 24397-13302 * * !PROM 24397-16008 2040 12008A PROM DIAGNOSTIC 24397-13303 * * !XLMD 24397-16004 2040 12002A/B XL MEMORY DIAG. 24397-13303 * * * * * ************************************************************************  u~ 24998-18002 1926 S 0722 &FF4.N REAL-TIME FORTRAN FORMATTER             H0107 hASMB,R,L NAM FF4.A 24998-16002 REV.1926 790516 END myASMB,Q,C HED "FRMTR" REAL TIME FORTRAN FORMATTER. NAM FRMTR,6 24998-16002 REV.1926 790503 ENT .FRMN,.LS2F,.INPN,.DTAN EXT .FLUN,.CFER,.XPAK,$SETP EXT .ZRNT EXT IFIX,FLOAT,.LBT,.SBT A EQU 0 B EQU 1 SPC 1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * F O R T R A N * * * * I / O * * * * P R O G R A M * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * THE FORTRAN I/O PROGRAM PROVIDES FOR ALL INPUT AND * OUTPUT SERVICES SPECIFIED BY THE -HP-2116 FORTRAN * COMPILER. THIS INCLUDES THE FOLLOWING TYPES OF * FORTRAN STATEMENTS: * * I WRITE (,) * II READ (,) * III WRITE () * IV READ () * * THE FIRST TWO STATEMENTS PROVIDE FOR FORMATTED * INPUT/OUTPUT, THE LAST TWO FOR BINARY INPUT/ * OUTPUT. A SPECIAL FORM OF THE TYPE II STATEMENT * IS FREE-FIELD INPUT. THIS IS SPECIFIED BY A STAR * IN THE FORMAT FIELD. * * IN ADDITION TO THE USUAL BASIC FORTRAN FORMAT SPE- * CIFICATIONS, THE FOLLOWING SPECIFICATIONS ARE RE- * COGNIZED: * * 1) Q-FORMAT: THIS CAN BE USED TO OUTPUT A CHARACTER * STRING WITHOUT EXPLICITLY SPECIFYING THE NUMBER * OF CHARACTERS. ITS FORM IS: * " " * * 2) FREE-FIELD INPUT: THIS ALLOWS FOR INPUT DATA * WITHOUT ANY PARTICULAR FORMAT BEING SPECIFIED. * * FOR THE REAL TIME SYSTEM, FRMTR IS USED FOR DATA CONVERSION * AND FMTIO IS USED FOR I/O. IN THIS WAY FRMTR CAN BE MADE * RE-ENTRANT. FRMTR ACCEPTS AS INPUT A FORMAT STRING AND,FOR * INPUT, A CHARACTER STRING OR, FOR OUTPUT, A SINGLE V?ARIABLE. * THE NECESSARY DATA CONVERSION IS PERFORMED,AND FRMTR RETURNS * TO FMTIO. ITEMS THAT MUST BE SAVED ARE STORED IN FMTIO AND * REFERENCED INDIRECTLY BY FRMTR. SKP * THE PROGRAM ITSELF CONSISTS OF THREE SETS OF * ROUTINES. THESE CAN BE CLASSIFIED AS: * * 1) THE FORMAT ANALYZER. THESE ROUTINES ARE RESPON- * SIBLE FOR SCANNING THE FORMAT STRING AND PASSING * CONTROL TO THE CORRECT CONVERSION ROUTINE. * * 2) THE CONVERSION ROUTINES. THESE ROUTINES ARE THE * ONES THAT PERFORM THE ACTUAL CONVERSION BETWEEN * INTERNAL AND EXTERNAL REPRESENTATIONS. * * 3) THE COMMUNICATION ROUTINES. THESE ARE THE ROU- * TINES THAT ARE ACTUALLY CALLED BY THE FORTRAN * PROGRAM. THEY ESSENTIALLY DRIVE THE ROUTINES * OF CLASSES 1 AND 2. * * THE CALLING SEQUENCES ARE AS FOLLOWS: * *********************************************************************** * INITIALIZATION CALL: * * BINARY INPUT/OUTPUT * * JSB .BIO. (A=UNIT, B=0 FOR OUTPUT, 1 FOR INPUT) * * DECIMAL INPUT/OUTPUT * * JSB .DIO. (A=UNIT, B=0 FOR OUTPUT, 1 FOR INPUT) * DEF BUFFER (ONLY IF UNIT=0) * DEF FORMAT (=0 FOR FREE-FIELD INPUT) * DEF ENDLIST * * WHEN UNIT=0, THE FORMATTER WILL CONVERT DIRECTLY TO OR FROM * THE USER'S BUFFER. NO ACTUAL I/O WILL TAKE PLACE. ************************************************************************ * CONTINUATION CALLS: * * Single element I/O: * * JSB .zIO. z=I,J,R,X,T * DEF JSB .IOz. z=I,J,R * * Array I/O: * * JSB .zAY. z=I,J,R,X,T LDA length * DEF
LDB address * DEC JSB .zAR. z = I,J,R,X,T * * Where the letters I,J,R,X,T are for 1 & 2-word i-nteger and * 2, 3 & 4-word floating, in that order. *********************************************************************** * TERMINATION CALL: (USED ONLY FOR OUTPUT) * * JSB .DTA. SKP * SUBROUTINE ENTRY POINTS. * TDB NOP ABS TDBND-* THIS MANY WORDS MUST BE STACKED TO NOP SUPPORT REENTRANTCY. TRNAD NOP JMP TRNAX F2LST NOP JMP F2LSX DTA NOP JMP DTX FCHAR NOP JMP FCHAX OUTCR NOP JMP OUTCX INCHR NOP JMP INCHX DIGIT NOP JMP DIGIX FINTG NOP JMP FINTX RFCHK NOP JMP RFCHX WGET NOP JMP WGEX WSET NOP JMP WSEX WDFIX NOP JMP WDFIZ WDGET NOP JMP WDGEX OUTPT NOP JMP OUTPX OUTP1 NOP JMP OUTPZ MTPLO NOP JMP MTPLX GETDG NOP JMP GETDX NORML NOP JMP NORMX INPUT NOP JMP INPUX .XCOM NOP JMP XCOMX PTEN NOP JMP PTENX MULT NOP JMP MULTX DIVD NOP JMP DIVDX RSN NOP JMP RSNX LSONE NOP JMP LSONX INDIG NOP JMP INDIX ABLKS NOP JMP ABLKX BCKUP NOP JMP BCKUX * * INDIRECTS FROM FMTIO. * AADX DEF 0 ADDR VARIABLE. TYPE BSS 1 TYPE. LENTH BSS 1 LENGTH. SKIP BSS 1 FREE FIELD SKIP FCR BSS 1 FORMAT POINTER CCNT BSS 1 BUFFER COUNT CMAX BSS 1 MAX VALUE OF CCNT AFTER TAB LEFT. BCR BSS 1 BUFFER POINTER IO BSS 1 FLAG FOR I/O SKIPL BSS 1 FOR UNLIMITED GROUPS TSCAL BSS 1 SCALE FACTOR SCALE BSS 1 USED FOR F AND I FIELDS NEST BSS 1 NEST LEVEL FOR GROUPS. CFLAG BSS 1 COMMA CHECK FOR FREE F. BCRS BSS 1 SAVE BCR F2LSI BSS 1 ENTRANCE INTO FRMTR SWITH BSS 1 TYPE OF EXIT FOR FMTIO. * 1-5:ERR1-5. * 6:F2LST * ] 7:ENDLS * 8:DTA (NEW RECORD) RNEST BSS 1 NEST FOR UNLIMITED GROUPS ADRFD BSS 1 INDEX FOR RFLD RF BSS 1 REPEAT FIELD. WSAVE BSS 1 DSAVE BSS 1 GFLAG BSS 1 .OBUF BSS 1 EORD BSS 1 OFLAG BSS 1 OLD-NEW DEFINITIONS FLAG ATMP EQU EORD FLAG FOR A VS. R FORMAT. DTAI EQU EORD ENTRANCE AFTER I/O. SPC 3 * MANTISSA AND "XEQ", A ROUTINE FOR VARIABLE SHIFTING. * MANT BSS 5 MANTISSA OF NUMBER BEING CONVERTED. XEQ NOP NOP TDBND JMP XEQ,I (NEED NOT BE SAVED) SKP * TEMPS LOCAL TO NAMED ROUTINES. * MULTA EQU FCHAR MULTB EQU OUTCR MULTC EQU INCHR MULTD EQU DIGIT DIVDA EQU FCHAR DIVDB EQU OUTCR DIVDC EQU INCHR DIVDD EQU DIGIT DIVDE EQU WGET DIVDF EQU WSET PTENA EQU OUTP1 PTENB EQU MTPLO MTPL1 EQU XEQ MTPL2 EQU XEQ+1 FINTA EQU XEQ QTYPA EQU XEQ QTYPB EQU XEQ+1 ATYPA EQU WGET ATYPB EQU WSET TTYPA EQU XEQ+1 INDIA EQU OUTP1 INPUA EQU XEQ INPUB EQU XEQ+1 INPUC EQU WGET INPUD EQU WSET OUTA EQU OUTP1 GETDB EQU XEQ+1 NORMA EQU GETDG NORMB EQU DIVD * * GLOBAL TEMPS. * GETDA EQU XEQ GETDC EQU WGET ADX EQU F2LST DIRECT ADDR VARIABLE. EXP EQU WDFIX EXPONENT W EQU NORML -W D EQU .XCOM -D-1 EFLAG EQU WDGET THE E FORMAT FLAG DBLNK EQU OUTPT FLAG FOR SKIPPING BLANKS IN FMT BCNT EQU MTPLO COUNTS LEADING BLANKS FOR OUTPOT EXPON EQU DTA EXPONENT PART OF NUMBER EXPNS EQU INDIG COPY OF EXPON FOR G-FORMAT. SGDIG EQU OUTPT FOR NEG SCALE FACTORS, E-FORMAT. OCONT EQU PTEN # ZEROES FOR E SCALE FACTOR. POST EQU WDGET INPUT CONTROL INDICATOR SIGN EQU ABLKS SIGN OF NUMBER. MANTP EQU TRNAD FWA WORKING AREA IN MANTISSA MANTL EQU FINTG LWA DITTO OVTOG EQU RFCHK FLAG INDICATING OUTPUT BUFFER OVERRUN. SKP * ADDRESS CONSTANTS & SHIFT INST&RUCTIONS. * MULTZ DEF MULT DIVDZ DEF DIVD AAADX DEF AADX TO SEE IF ADDRESSES NEED BE RESET. AMANT DEF MANT FWA MANTISSA AMNT3 DEF MANT+3 LWA USED BY .XCOM MANTE DEF MANT+5 LWA+1 MANTISSA RRR16 RRR 16 RRL16 RRL 16 * * NUMERIC AND CHARACTER CONSTANTS. * NUMAD ABS OFLAG-AADX+1 NUMBER OF ADDRESSES FROM FMTIO NEG1 OCT 100000 LOGICAL TRUE. MIN72 OCT -72 -"9"-1 MIN5 DEC -5 MIN4 DEC -4 MIN3 DEC -3 MIN2 DEC -2 MIN1 DEC -1 ....2 DEC 2 ....3 DEC 3 ....6 DEC 6 ....8 DEC 8 ....9 DEC 9 .177 OCT 177 BLANK OCT 40 CHARACTER CONSTANTS. QUOTE OCT 42 " "$" OCT 44 "&" OCT 46 PLUS OCT 53 COMMA OCT 54 MINUS OCT 55 "." OCT 56 "/" OCT 57 "0" OCT 60 "1" OCT 61 "7" OCT 67 "@" OCT 100 "D" OCT 104 "E" OCT 105 "F" OCT 106 "L" OCT 114 "P" OCT 120 "R" OCT 122 "T" OCT 124 _"Y" OCT -131 -"Y" "Y_@" ABS 131B-100B "Y"-"@" "@_&" ABS 100B-046B "@"-"&" "0_." EQU ....2 "0"-"." HED ENTRY POINTS. * GENERAL ENTRY ROUTINE. * TRNAX LDA MIN4 FIND ORIGIONAL CALLER ADA TRNAD NOP ADDRESS LDB A,I GET NOP'S CONTENTS INA NOW GET THE POSSIBLE LDA A,I JSB $LIBR?? STA .LS2F+1 FIX UP P+1 OF OTHER CALLS STA .DTAN+1 SSA,RSS IS IT A JSB $LIBR? STB TDB+2 NO, SET THE TDB RETURN LDB AAADX LDA TDB+2,I CPA B,I CHECK IF ADDRESSES NEED SETTING JMP SAME NO, SKIP IT JSB $SETP SET UP INDIRECTS FROM FMTIO. DEF NUMAD SAME LDA AADX,I COPY ADDR VARIABLE. STA ADX ISZ TDB+2 SKIP PARAM JMP TRNAD,I * * FORMATTED I/O ENTRY POINT. * .FRMN NOP ENTRANCE TO FORMAT SCANNER JSB .ZRNT DEF LIBX JSB TRNAD CCA SET FLAG THAT NO LIST ITEM PROCESSED YET. STA ADX JMP FORMT * * FREE-FIEVLD INPUT ENTRY. * .INPN NOP ENTRANCE FOR FREE FIELD INPUT JSB .ZRNT 1ST ENTRY IF FREE FIELD INPUT DEF LIBX1 DEF ANOTHER LIBX JSB TRNAD JSB INPUT LIBX1 JMP TDB+2,I RETURN DEF TDB DEC 0 SKP * ROUTINE TO REQUEST LIST ELEMENT FROM FMTIO. * F2LSX LDA F2LST STA F2LSI,I LDA ....6 STA SWITH,I JMP LIBX .LS2F NOP ENTRANCE FROM ELEMENT LIST JMP * STALL IF CALLED BEFORE .FRMN DEF TDB JSB TRNAD TRANSFER ADDRESSES LDA F2LSI,I JMP A,I ENTER FORMATTER * * ROUTINE TO REQUEST I/O FROM FMTIO. * DTX LDA DTA STA DTAI,I LDA ....8 STA SWITH,I LIBX JMP TDB+2,I DEF TDB DEC 0 .DTAN NOP ENTRANCE AFTER AN I/O REQUEST JMP * STALL IF CALLED BEFORE .FRMN DEF TDB JSB TRNAD LDA DTAI,I JMP A,I RETURN TO THE DTA CALL * * ERROR EXITS. * ERR1 LDA ....1 JMP STERR ERR2 LDA ....2 JMP STERR ERR3 LDA ....3 JMP STERR ERR4 LDA ....4 JMP STERR ERR5 LDA ....5 STERR STA SWITH,I JMP LIBX HED SOME UTILITY ROUTINES ********************* * UTILITY ROUTINES * ********************* * * THE ROUTINES THAT HANDLE CHARACTER MANIPULATION USE * STANDARD BYTE ADDRESSES. SPC 5 * CALL: JSB FCHAR * RETURNS: A = THE NEXT VALID FORMAT STRING CHARACTER * B = MEANINGLESS * * BLANKS ARE IGNORED DEPENDING ON THE FLAG DBLNK. SPC 2 FCHAX ISZ FCR,I A _ NEXT FORMAT CHAR. LDB FCR,I LOAD CHARACTER INTO A AND TEST JSB .LBT FOR BLANK OR COMMA LDB DBLNK SKIP BLANKS IF DBLNK=1 CPA BLANK CHAR=BLANK ? SZB,RSS AND DBLNK.NE.0 ? JMP FCHAR,I NO, DONE. JMP FCHAX YES, SKIP THE BLANK. SPC 4 * CALL: LDA CHAR * JSB OUTCR * RETURN: A = OVTOG * B = NEXT BYTE ADDRESS IN THE OUTPUT BUFFER SPC 2 OUTCX ISZ CCNT,I A<7:0> PLACED IN OUTPUT. END OF BUFFER ? JMP OUTC1 CCA YES-- RESET CCNT AND RETURN STA CCNT,I JMP OUTC2 SET OVTOG TO SAY BUFFER IS BOMBED OUTC1 ISZ BCR,I ADVANCE BUFFER POINTER LDB BCR,I JSB .SBT STORE CHARACTER IN BUFFER. CLA CLEAR OVTOG AND WERE OKAY OUTC2 STA OVTOG JMP OUTCR,I RETURN. SKP * CALL: JSB INCHR * RETURN: A = THE NEXT CHARACTER IN THE INPUT STRING OR A BLANK * B MEANINGLESS SPC 3 INCHX LDA CCNT,I A_NEXT INPUT CHAR. IF CCNT=0 THEN SZA,RSS RETURN A JMP RTBNK BLANK ISZ CCNT,I IF CCNT=-1 THEN SKIP JMP GETC CCA RESET CCNT TO -1. STA CCNT,I LDA POST IF BEGINNING OF NUMBER SCAN IOR FCR,I IN FREE FIELD INPUT SZA JMP RTBNK LDA ....7 STA SWITH,I JMP LIBX GO TO END OF LIST RTBNK LDA BLANK OTHERWISE RETURN A BLANK JMP INCHR,I GETC ISZ BCR,I IF CCNT <-1 THEN LDB BCR,I JUST JSB .LBT GET THE NEXT JMP INCHR,I CHARACTER SKP * CALL: LDA CHAR * JSB DIGIT * RETURN: P+1 CHAR IN A NOT A DIGIT * A = CHAR * P+2 CHAR IN A A DIGIT * A = B = VALUE. SPC 2 DIGIX LDB A TESTS CHARACTER IN A FOR A DIGIT * * IF IT IS RETURN THE TRUE * * DIGIT IN A AND SKIP. ELSE * * RETURN THE CHARACTER AND ******************************* DON'T SKIP. ADB MIN72 CHARACTERS > '9' REMAIN POSITIVE SSB,RSS SKIP IF B NEGATIVE JMP DIGIT,I RETURN...NOT A DIGIT ADB ...10 CHARACTERS < '0' REMAIN NEGATIVE SSB JMP DIGIT,I RETURN...NOT A DIGIT ISZ DIGIT BUMP RETURN ADDRES!S LDA B PLACE THE DIGIT IN A JMP DIGIT,I SPC 3 ******************************* FINTX JSB DIGIT COMPUTES THE INTEGER IN THE FOR- * * MAT STRING. THE FIRST DIGIT ******************************* IS ALREADY IN A. MAX VALUE 511. JMP FINTG,I IF NOT A DIGIT ISZ FINTG ELSE GOOD RETURN (IF ANY) FINT1 STA FINTA SAVE RESULT SO FAR JSB FCHAR GET NEXT CHARACTER JSB DIGIT CHECK FOR DIGIT JMP GOTIT END OF INTEGER CLO MULTIPLY RESULT SO FAR BY 10. LDB FINTA *1 ADB B *2 ADB B *4 ADB FINTA *5 ADB B *10 ADA B ADD THAT TO CURRENT DIGIT. LDB A LIMIT VALUE TO 16383. ADB B BY DOUBLING THE FINAL VALUE IN (B). SOS DID IT FIT ? JMP FINT1 YES. LOOP. JMP ERR1 NO. ERROR. * GOTIT CCB BACK UP FORMAT POINTER ADB FCR,I STB FCR,I LDA FINTA RETURN WITH JMP FINTG,I RESULT IN A HED FORMAT ANALYZER * * * THE FOLLOWING SECTION IS THE FORMAT ANALYZER. CONTROL IN * * HERE IS GOVERNED BY THE CONTROL LOOP, WHICH EXAMINES THE * * FORMAT AND PASSES CONTROL TO THE VARIOUS CONVERSION ROU- * * TINES. SINCE TERMINATION OF THE I/O STATEMENT IS DETER- * * MINED BY THE CALLING SEQUENCE, EACH CONVERSION ROUTINE * * MUST CHECK THE LIST BEFORE PERFORMING A CONVERSION. THIS * * IS DONE BY CALLING A ROUTINE CALLED F2LST. THE SOLE FUNC-* * TION OF THIS ROUTINE IS TO HOLD THE ADDRESS FROM WHICH * * IT WAS CALLED, AND THEN TO GET BACK TO THE CALLING * * SEQUENCE. THE CALLING SEQUENCE WILL THEN PASS CONTROL * * BACK THROUGH THE COMMUNICATION ROUTINES (SEE ABOVE). * * EACH OF THESE CALLS A ROUTINE CALLED LST2F, WHICH GETS * * BACK TO THE FORMATTER BY USING THE ADDRESS LEFT AT * * F2LST. * * * ******************************************************************** RFCHX ISZ RF,I CHECK REPEAT. IF RF GOES TO ZERO, JMP RFCHK,I CONTROL FALLS THROUGH TO FORMT. FORMT CLA,INA SET DBLNK FOR SKIPPING. STA DBLNK STA GFLAG,I LDA "E" STA EORD,I LDB TSCAL,I SCALE FACTOR CMB,INB STB SCALE,I CCA FORM1 STA RF,I SET REPEAT FIELD AT ONE. * * GET FORMAT CHARACTER AND GO TO APPROPRIATE ROUTINE. * FORM2 JSB FCHAR GET THE CHARACTER AND TEST IT ADA _"Y" -"Y" SSA,RSS >X ? JMP FORM3 YES. ADA "Y_@" +"Y"-"@" SSA <@ ? JMP FORM3 YES. ADA FMTBL IN [@,X], USE JUMP TABLE. LDA A,I A = ADDR ROUTINE TO HANDLE CHAR. JMP A,I SKP FORM3 ADA "@_&" +"@"-"&" CPA MIN4 " JMP QTYPE CPA ....1 ' JMP QTYPE CPA ....2 ( JMP LPTYP CPA ....3 ) JMP RPTYP CPA ....6 , JMP FORM2 CPA ....7 - JMP MTYPE CPA ....9 / JMP INOUT ADA "&" RESTORE ORIGINAL CHAR. JSB FINTG LAST CHANCE: NUMBER JMP ERR3 CMA,INA,SZA,RSS JMP STRNP JMP FORM1 * * JUMP TABLE FOR FORMAT CHARACTERS "@" THRU "X". * FMTBL DEF *+1 DEF OTYPE @ DEF ATYPE A DEF ERR3 B DEF ERR3 C DEF DTYPE D DEF ETYPE E DEF FTYPE F DEF GTYPE G DEF HTYPE H DEF ITYPE I DEF ERR3 J DEF OTYPE K DEF LTYPE L DEF ERR3 M DEF ERR3 N DEF OTYPE O  DEF PTYPE P DEF ERR3 Q DEF RTYPE R DEF ERR3 S DEF TTYPE T DEF ERR3 U DEF ERR3 V DEF ERR3 W DEF XTYPE X HED P, X & H SPECIFICATIONS. ***************************************** * * * FOLLOWING ARE THE CONVERSION ROUTINES * * * ***************************************** SPC 3 MTYPE JSB FCHAR GET NEGATIVE SCALE FACTOR. JSB FINTG TEST FOR NUMBER JMP ERR1 NOT A DIGIT STRNP STA TSCAL,I JSB FCHAR MAKE SURE NEXT CPA "P" CHARACTER IS P. JMP FORMT JMP ERR3 TOO BAD. * PTYPE LDA RF,I STA TSCAL,I JMP FORMT SPC 3 ********************************** * HTYPE HANDLES H-CONVERSION * ********************************** HTYPE CLA SET FOR NO STA DBLNK SKIPPING HLOOP LDB IO,I WHICH WAY? SZB,RSS JMP HOUT OUT JSB INCHR IN ISZ FCR,I ADVANCE FORMAT COUNTER LDB FCR,I JSB .SBT PLACE INTO FORMAT HCHEK JSB RFCHK TEST RF JMP HLOOP HOUT JSB FCHAR GET A CHAR FROM STRING JSB OUTCR OUTPUT IT JMP HCHEK HED T SPECIFICATION. TTYPE JSB FCHAR GET DIGIT, L OR R. CPA "R" R ? JMP TR1 YES. LDB BCR,I NO. B = (ADDR CURRENT COLUMN)-1 CMB -(ADDR CUR COL) ADB .OBUF,I -(ADDR CUR COL)+(ADDR COL 1)/2 ADB .OBUF,I -(ADDR CUR COL)+(ADDR COL 1) ADB MIN1 -(CURRENT COL #) STB TTYPA CPA "L" L ? JMP TL1 YES. * * T-FORMAT. CONVERT TO RELATIVE TAB. * JSB FINTG NUMBER ? JMP ERR3 NO, ERROR. ADA TTYPA M = REL TAB = N-(CUR COL #) SSA,RSS WHICH WAY ? JMP TR2 RIGHT. M >= 0. CMA,INA LEFT. TL GETSë -M > 0. JMP TL2 * * TL-FORMAT. IF NEW COL < 1, SET TO 1. * TL1 JSB FCHAR GET AMOUNT TO GO LEFT. (-M) JSB FINTG JMP ERR3 IF NO NUMBER. TL2 STA B CHECK IF COL < 1 (INCLUDES T0) ADB TTYPA -(NEW COL) CMA,INA M SSB,INB,RSS NEW COL > 0 ? ADA B NO, M = 1 - (CURRENT COL) LDB CCNT,I SEE IF OLD POSITION WAS MAX REACHED. CMB,CLE,INB -CCNT ADB CMAX,I CMAX-CCNT (E=0 IFF B<0) LDB CCNT,I TO SET NEW MAX. SEZ,RSS IS CCNT > CMAX ? STB CMAX,I YES, SET NEW MAX COLUMN. TL3 STA B UPDATE BCR & CCNT. ADB CCNT,I ADA BCR,I STA BCR,I STB CCNT,I JMP FORMT DONE. SKP * TR-FORMAT. IF NEW COL > LAST COL, SET TO LAST+1. * XTYPE LDA RF,I X FORMAT: CHANGE NX TO TRN. CMA,INA JMP TR2 TR1 JSB FCHAR GET AMOUNT TO GO RIGHT. JSB FINTG JMP ERR3 IF NOT A NUMBER. TR2 STA B M ADB CCNT,I CCNT+M. SSB SHOULD BE < 0. JMP TR3 IS, O.K. LDA CCNT,I CMA M = -CCNT-1 TR3 LDB IO,I IN OR OUT ? SZB JMP TL3 IN. STA B OUT. B=M. SEE IF OLD POS > OLD MAX. LDA CCNT,I CMA,INA -OLD POS. ADA CMAX,I CMAX-CCNT SSA CCNT > CMAX ? (NOW AT MAX ?) JMP TR4 YES. JUST OUTPUT SPACES. LDA B A=B=M. IS NEW POS > OLD MAX ? ADB CCNT,I NEW CCNT. CMB,INB -CCNT. ADB CMAX,I CMAX-CCNT SSB,RSS CCNT > CMAX ? JMP TL3 NO, JUST POSITION TO NEW POSITION. ADA B YES. A = AMNT TO ADVANCE TO GET TO CMAX. ADA BCR,I ADVANCE TO CMAX. STA BCR,I LDA CMAX,I STA CCNT,I CMB,INB OUTPUT EXCESS SPACES. TR4 LDA BLANK JSB MTPLO JMP FORMT HED SLsASH & L SPECIFICATIONS. * INOUT HANDLES THE SLASH IN A FORMAT. * INOUT JSB DTA JSB RFCHK JMP INOUT SPC 4 LTYPE CLA JSB WGET LLOOP JSB F2LST GET LIST ITEM. JSB WSET SET UP W. LDB IO,I WHICH WAY? SZB,RSS JMP LOUT LIN JSB INCHR SKIP BLANKS UNTIL CPA BLANK FIND A T OR F. JMP NEXTC IF RUN OUT OF FIELD, ERROR 4. CLB,INB B<0> = NOT FOUND FLAG. CPA "T" LDB NEG1 IF TRUE, MANT = 100000B CPA "F" CLB SLB FOUND ONE ? JMP ERR5 NO, ERROR. STB ADX,I YES, STORE RESULT. JMP *+2 SKIP REST OF FIELD. JSB INCHR ISZ W JMP *-2 LTYP1 JSB RFCHK CHECK FOR REPEATS JMP LLOOP * NEXTC ISZ W JMP LIN JMP ERR5 SPC 2 LOUT LDA BLANK OUTPUT W-1 LEADING BLANKS. LDB W CMB JSB MTPLO LDB ADX,I OUTPUT "T" OR "F" LDA "T" "T" IF SIGN BIT SET. SSB,RSS LDA "F" "F" IF NOT. JSB OUTCR JMP LTYP1 HED A & R SPECIFICATIONS. ATYPE CCB A: ATMP=-1. LDA OFLAG,I OLD ? SSA SKIP IF NOT. RTYPE CLB R, OLD A: ATMP=0. STB ATMP,I CLA GET W JSB WGET ALOOP JSB F2LST GET LIST ITEM. JSB WSET SET W. LDA ADX FORM BYTE ADDR OF VARIABLE. RAL STA ATYPA LDB LENTH,I # WDS DATA. BLS # CHARS DATA. ADB W # CHARS - W STB ATYPB LDA IO,I IN OR OUT ? SZA,RSS JMP AOUT OUT. * * A&R INPUT. * AIN SSB W > # CHARS DATA. (EXCESS DATA) ? JMP AIN1 YES. LDA ATMP,I NO. EXACT OR TOO LITTLE DATA. (B=DIFF) SZA,RSS R-FORMAT ? (IF SO, A=0 FOR ABLKS) JSB ABLKS YES, SUPPLY LEADING BINARY ZEROES. JMP AIiNLHN3 (ATYPB=0 NOW FOR R-FORMAT) AIN1 STB ATYPB - # CHARS EXCESS. AIN2 JSB INCHR SKIP THEM. ISZ W (CAN'T GO TO ZERO) ISZ ATYPB JMP AIN2 (ATYPB=0 WHEN DONE) AIN3 JSB INCHR COPY W CHARS. LDB ATYPA JSB .SBT STB ATYPA ISZ W JMP AIN3 LOOP. LDA BLANK SUPPLY TRAILING BLANKS, IF ANY. LDB ATYPB JSB ABLKS ATYP1 JSB RFCHK REPEAT ? JMP ALOOP YES. SKP * A&R OUTPUT. * AOUT SSB W VS # CHARS DATA. JMP AOUT1 W > # CHARS. ADB ATYPA W <= # CHARS. SKIP CHARS IN DATA. LDA ATMP,I BUT ONLY IF R FORMAT. SSA,RSS STB ATYPA JMP AOUT2 AOUT1 CMB,INB B = AMOUNT W EXCEEDS DATA. LDA BLANK OUTPUT THAT MANY BLANKS. JSB MTPLO AOUT2 LDB ATYPA COPY W CHARS TO OUTPUT. JSB .LBT STB ATYPA JSB OUTCR ISZ W JMP AOUT2 LOOP. JMP ATYP1 GO CHECK REPEATS. SPC 3 * ROUTINE TO PUT -B- COPIES OF A<7:0> * INTO A/R VARIABLE, B >= 0. ]N* ABLKX CMB,INB,SZB,RSS -COUNT. ZERO ? JMP ABLKS,I YES, DONE. STB ATYPB (WILL BE ZERO NEXT TIME) LDB ATYPA ABLK1 JSB .SBT ISZ ATYPB JMP ABLK1 STB ATYPA JMP ABLKS,I HED @, K & O SPECIFICATIONS. * OTYPE HANDLES @ SPECIFICATIONS * * OTYPE CLA GET JSB WGET THE W-FIELD OLOOP JSB F2LST GET A LIST ITEM. JSB WSET SET W. LDB IO,I IN/OUT SWITCH SZB,RSS JMP OCOUT * * INPUT. * CLA INITIALIZE TO STA ADX,I ZERO OCT1 JSB INCHR GET A CHARACTER STA B SAVE IN B IOR ....7 TEST FOR OCTAL DIGIT CPA "7" JMP OCT2 IT IS ONE OCT3 ISZ W END OF THIS INPUT ? JMP OCT1 NOPE OCT6 JSB RFCHK CHECK FOR REPEATS JMP OLOOP * ADD NEW DIGIT IN * OCT2 LDA B GET OCTAL DIGIT BACK IN A AND ....7 REMOVE ASCII BITS LDB ADX,I REPOSITION PREVIOUS RESULT. BLF,RBR ADA B ADD TO NEW DIGIT STA ADX,I PUT IT BACK. JMP OCT3 * * OUTPUT. * OCOUT LDA BLANK LDB W IS W GEQ -6 ? ADB ....6 SSB JMP OCT4 NO---OUTPUT A BLANK LDA ADX,I GET NUMBER CMB RAR,RAR POSITION OVER 2 FOR 16TH BIT CPB MIN1 ALR,RAR ALF,RAR ROTATE 3 INB,SZB DONE ROTATING???? JMP *-2 NOT YET, SON AND ....7 MASK OFF IOR "0" ASCII BITS OCT4 JSB OUTCR THERE IT GOES ISZ W END OF VALUE ? JMP OCOUT JMP OCT6 HED " AND ' SPECIFICATIONS. ********************************** * QTYPE HANDLES "-CONVERSION * ********************************** QTYPE ADA "&" RESTORE " OR ' STA QTYPA REMEMBER WHICH. CLA SET FOR NO STA DBLNK SKIPPING LDA FCR,I SAVE FCR FOR STA QTYPB REPEATS QLOOP JSB FCHAR GET FORMAT CHARACTER CPA QTYPA CHECK FOR SAME KIND OF QUOTE. JMP QUOT1 JMP FOR SPECIAL HANDLIG LDB IO,I WHICH WAY? SZB,RSS JMP *+3 JSB INCHR JMP QLOOP JSB OUTCR JMP QLOOP QUOT1 JSB RFCHK CHECK THE REPEAT COUNT LDA QTYPB RESTORE FCR STA FCR,I AND JMP QLOOP LOOP SPC 4 ******************************************************************** * LPTYP AND RPTYP HANDLE THE PARENTHESIS MANIPULATION * * LPRN CONTAINS ADDRESS OF LEFT PARENTHESIS. * * RFSV CONTAINS INITIAL VALUE OF REPEAT FIELD FOR THE GROUP. * * RFLD CONTAINS CURRENT VALUE OF REPEAT FIELD. * * THESE 5-WORD ARRAYS ARE INDEXED BY THE CURRENT VALUE OF NEST.* * THE ORDER OF THE ARRAYS IS : RFLD,RFSV,LPRN. * ******************************************************************** * LPTYP ISZ NEST,I ADVANCE DEPTH COUNTER JMP *+2 JMP ERR2 TOO DEEP, GAS IT. LDA NEST,I LDB A ADA ....3 IF NEST = -5 OR -4, SSA STB RNEST,I STORE FOR UNLIMITED GROUPS ADB ADRFD,I CONTAINS INDEXED ADDRESS ADB ...10 LDA FCR,I OF LPRN. STA B,I STORE FORMAT LOC. OF LEFT PAREN. ADB MIN5 NOW IN RFSV. LDA RF,I STA B,I STORE REPEAT FIELD IN RFSV STRF ADB MIN5 STA B,I AND IN RFLD. JMP FORMT HED PARENTHESIS MANIPULATION. RPTYP LDA NEST,I ADA ....5 OUTER PAREN? (NEST=-5) SZA,RSS JMP LASTP YES. SSA NO. NEST <-5 ? JMP ERR2 YES. GAS IT. LDB NEST,I NO. ADB ADRFD,I B CONTAINS INDEXED ADD. IN RFLD. ISZ B,I CHECK CURRENT VALUE OF REPEAT FD JMP STFCR STILL MORE REPEATS. LDA NEST,I REPEAT FIELD EXHAUSTED ADA MIN1 STA NEST,I  DECREMENT NEST BY 1. ADB ....5 NOW B IN RFSV. LDA B,I RESTORE REPEAT JMP STRF FIELD AND EXIT. STFCR ADB ...10 MORE REPEATS. B IN LPRN. LDA B,I RESET FCR TO STA FCR,I LEFT PAREN LOC. JMP FORMT LASTP LDA ADX REMEMBER IF WE USED ANY LIST ITEMS. STA DTA JSB F2LST RETURN TO CALLING SEQ. LDA DTA LIST ITEMS BUT NO CONVERSION SPECS ? SSA JMP ERR3 JSB DTA IF WE GET BACK, UNLIMITED GROUP. CCA I/O THE RECORD AND AVOID STA SKIPL,I A SPURIOUS RETURN TO CALLER STA ADX NOTE NO CONVERSIONS SO FAR. LDB RNEST,I STB NEST,I RESET NEST ADB ADRFD,I JMP STFCR SET FCR, EXIT. HED MANIPULATION OF W & D. ******************************************************************** * * * FOLLOWING ARE SOME UTILITY ROUTINES FOR OBTAINING THE W AND D * * FIELDS, AND DOING A FEW OTHER LITTLE THINGS. * * * ******************************************************************** WGEX STA SIGN SAVE LENGTH OF EXPONENT FIELD. JSB FCHAR GET NUMBER IN FORMAT. JSB FINTG JMP ERR1 NOT A DIGIT!! CMA,INA NEGATE. ADA SIGN =4 FOR E AND G TYPE, 0 OTHERWISE SSA,RSS IF NOT NEGATIVE THEN JMP ERR1 TAKE GAS. STA WSAVE,I JMP WGET,I SPC 3 WSEX LDA WSAVE,I RESTORES W. STA W JMP WSET,I SPC 3 WDFIZ LDA DSAVE,I INIT W AND D. A=POS D. CMA A=-D-1. WDFX1 STA D SET D TO INCLUDE POINT LDB SIGN SIGN. CMB,INB -SIGN. ADB WSAVE,I -W-SIGN. STB W SET UP W. CMB,INB W+SIGN. ADA B W-D-1+SIGN. STA BCNT NUMBER OF LEADING BLANKS. SSA,RSS e <0 ? JMP WDFIX,I NO, DONE. LDA W YES, SET D=W. JMP WDFX1 SPC 3 WDGEX JSB WGET GETS W AND W. FIRST W. JSB FCHAR MAKE SURE NEXT CHARACTER CPA "." IS A DECIMAL POINT. JMP *+2 IT IS...OK JMP ERR1 IT'S NOT...TOO BAD JSB FCHAR COMPUTE NEXT NUMBER IN FORMAT JSB FINTG TEST FOR DIGIT JMP ERR1 NOT A DIGIT!! STA DSAVE,I SET D. JMP WDGET,I HED SCALING AND CONVERSION ROUTINES. * NORML - MANTISSA NORMALIZATION. * THE MANTISSA AND EXPONENT ARE ADJUSTED SO THAT THEY * CONTAIN A NORMALIZED VALUE. IT IS ASSUMED THAT THE * INITIAL STATE IS NOT UNNORMLIZED BY MORE THAN 31 BITS. * NORMX LDB MANT SEE IF NORMALIZED. LDA MANT+1 ASL 1 SOC JMP NORML,I YES, DONE. ASL 15 NO, SEE IF WORD SHIFT. SOC JMP NORM1 NO. SZB,RSS YES, IS SECOND WORD ZERO TOO ? JMP NORM3 YES, IS ZERO. STB MANT NO, DO WORD SHIFT. LDB MANT+2 STB MANT+1 LDB MANT+3 STB MANT+2 LDB MANT+4 STB MANT+3 STA MANT+4 LDA EXP ADJUST EXPONENT ADA =D-16 STA EXP NORM1 LDA MANT DETERMINE BIT SHIFT. JSB FLOAT B = 30 - 2*SHIFT BRS B = 15-SHIFT ADB =D-15 B = -SHIFT LDA B SAVE SHIFT COUNT CMA,INA,SZA,RSS A = SHIFT. IS IT ZERO ? JMP NORML,I YES, DONE. ADB EXP ADJUST EXPONENT. STB EXP IOR RRL16 SET UP SHIFT. STA XEQ+1 LDA AMANT SET UP BIT NORMALIZE LOOP. STA NORMA LDA MIN4 STA NORMB NORM2 DLD NORMA,I WORD PAIR. JSB XEQ LEFT SHIFT. STA NORMA,I NEW FIRST WORD OF PAIR. ISZ NORMA BUMP ADDR. ISZ NORMB BUMP COUNT. JMP NORM2 IF MORE. JMP NORML,I EXIT. NORM3 STB EXP ZERO, SET EXPONENT ZERO @TOO. JMP NORML,I SKP * PTEN - SCALE NUMBER BY A POWER OF TEN. * * PTEN MULTIPLIES THE VALUE IN (MANT...MANT2) AND (EXP) * BY 10**(A). NO CHECK IS MADE FOR OVERFLOW/UNDERFLOW. * * CALLING SEQUENCE: * LDA POWER * JSB PTEN SPC 2 PTENX LDB AMANT SET UP MANTISSA POINTERS. STB MANTP LDB TYPE,I SZB CPB ....1 ADB ....2 IF TYPE<2, USE EXTRA WORD. ADB MIN1 # WORDS PRECISION TO USE - 1 ADB MANTP LWA USED MANTISSA STB MANTL SZA,RSS IF N=0, LEAVE ALONE. JMP PTEN,I SSA,RSS N>0 ? JMP PTEN1 YES. CMA,INA NO, TAKE IABS(N) STA PTENA LDA ....2 RIGHT SHIFT MANTISSA TWO BITS. JSB RSN LDB DIVDZ SET "DIVIDE" JMP PTEN2 PTEN1 LDB MULTZ SET "MULTIPLY" STA PTENA PTENA = IABS(N) PTEN2 STB PTENB PTENB = ADDR MULT OR DIVD PTEN3 LDA PTENA A=N ADA MIN6 N-6 CLE,SSA N<6 ? (E=0 FOR MULT) JMP PTEN4 YES, GO DO LAST ONE. STA PTENA NO, MULT/DIV BY 10**6 LDA PWR1A+10 LDB PWR1A+11 JSB PTENB,I JMP PTEN3 TRY AGAIN. PTEN4 ADA ....5 A = N-1 RAL,CLE,SLA N=0 ? JMP PTEN5 YES, GO NORMALIZE. ADA PWR10 GET POWER OF TEN. (E=0 FOR MULT.) DLD A,I JSB PTENB,I GO MPY DIV USING IT. PTEN5 LDB MANT NORMALIZE. ASL 1 SOC THERE ? JMP PTEN,I YES. JSB LSONE NO, LEFT SHIFT. JMP PTEN5 AND TRY AGAIN. SKP * POWER OF TEN TABLE. FIRST PART IS (10**I)/2, I=1,2,3. SECOND * PART IS IDENTICAL TO 2-WORD FLOATING EXCEPT THE SECOND WORD HAS * BEEN RIGHT SHIFTED ONE BIT. VALUES ARE 1O**I FOR I=1,6. SPC 1 .5000 DEC 5000 PWR10 DEF PWR1A BASE ADDRESS. ....5 DEC 5 DEC 50 DEC 500 PWR1A DEC 20480 10**1 ....4 DEC 4 DEC 25600 10**2 ....7 DEC 7 DEC 32000,10 10**3 DEC 20000,14 10**4 DEC 25000,17 10**5 DEC 31250,20 10**6 SPC 3 * INDIG - ADD INPUT DIGIT TO NUMBER. * * INDIG TAKES AN INPUT DIGIT AND COMBINES IT WITH THE * RUNNING MANTISSA. THE RUNNING MANTISSA IS NOT IN A * USABLE FORM UNIL A TERMINAION CALL IS MADE. THE * MANTISSA IS THEN USABLE BUT MAY NOT BE NORMALIZED. * * CALLING SEQUENCE: * * LDA * JSB INDIG * * A TERMINATION CALL IS SIGNALLED BY NEGATIVE. * ANY TRAILING ZEROES OR DIGITS AFTER THE LIMIT (20) * AFFECT ONLY THE TRAILING ZERO COUNT IN "INPUD". SPC 1 * CHECK FOR ZERO, EXTRA DIGIT OR TERMINATION. * INDIX STA INDIA SAVE DIGIT. SSA TERMINATION CALL ? JMP INDI7 YES. INDI1 LDB MANTL NO. AT LIMIT ? SZA OR ZERO DIGIT ? CPB MANTE JMP INDI6 YES, JUST COUNT IT. * * GOOD DIGIT. ADD IT OR A SKIPPED ZERO. * LDA INPUA NO. GOOD DIGIT. MULTIPLY OTHERS BY 10. ALS,ALS ADA INPUA ALS LDB INPUD ANY UNUSED ZEROES ? SZB,RSS IF SO, ADD THEM FIRST. ADA INDIA IF NOT, ADD THIS DIGIT. STA INPUA ISZ INPUB COUNT DIGITS. FULL GROUP OF 4 ? JMP INDI5 NO. LDA .5000 YES, ADD THEM. INDI2 LDB =D-16 MAKE ROOM. CMB,CCE,INB B=16, E=1. JSB MULT LDB MANTL ADD DIGIT(S) ISZ MANTL LDA B,I CLE ADA INPUA STA B,I CCA,SEZ,RSS CARRY ? JMP INDI4 NO. INDI3 ADB A PROPOGATE IT. ISZ B,I JMP INDI4 JMP INDI3 INDI4 LDA MIN4 RESET COUNT. STA INPUB CLA RESET DIGITS. STA INPUA LDB INPUD RELOAD TRAILING ZERO COUNT. * * IF JUST PROCESSED A SKIPPED ZERO, DO ANOTHER DIGIT=. * INDI5 LDA INDIA WAS IT A TERMINATION CALL ? SSA,RSS SZB,RSS OR NO TRAILING ZEROES ? JMP INDIG,I YES, DONE WITH THIS DIGIT. ADB MIN1 IT WAS A SKIPPED ZERO. DECREMENT COUNT. STB INPUD JMP INDI1 TRY AGAIN. * * ZERO, EXTRA DIGIT & TERMINATION PROCESSING. * INDI6 LDA INPUA ZERO OR EXTRA DIGIT. LEADING ZERO ? ADA EXP (IF SO, EXP=-1 AND INPUA=0) SSA,RSS ISZ INPUD NO, TRAILING DIGIT, COUNT IT. JMP INDIG,I DONE WITH THIS ONE. INDI7 LDA INPUB ANY UNUSED DIGITS ? CPA MIN4 JMP INDIG,I NO, DONE. ADA PWR10 YES. ADD THEM. LDA A,I JMP INDI2 SKP * GETDG - EXTRACT DIGITS FOR OUTPUT. * * GETDG EXTRACTS DIGITS FROM THE MANTISSA AND RETURNS THEM * FOR OUTPUT PURPOSES. ONLY (SGCNT) DIGITS WILL BE RETURNED, * ANY AFTER THAT ARE 0 OR 9 AS REQUIRED TO PRODUCE THE CORRECT * ROUNDING. LESS PRECISION IS USED AS DIGITS ARE GENERATED. SPC 2 GETDX LDA GETDA TOO MANY DIGITS ? CLE,SSA,RSS JMP NOSIG YES, SEND ROUNDING DIGIT. ISZ GETDC ANY DIGITS LEFT ? JMP GETD1 YES, GET ONE. LDA .5000 NO, GENERATE 4 MORE. JSB MULT ISZ MANTP THEY'RE IN THE NEXT WORD. LDA MIN4 STA GETDC GETD1 LDA GETDC A = - # DIGITS IN WORD. ADA GETDZ GET POWER OF TEN FOR EXTRACTING DIGIT. STA GETDB LDA MANTP,I DIGITS. CLB DIV GETDB,I A = NEW DIGIT, B = REST. STB MANTP,I ISZ GETDA IS THIS FIRST AFTER LAST VALID DIGIT ? JMP GETDG,I NO. LDB ....9 YES. IF .GE. 5, RETURN NINES NOW. ADA MIN5 SSA CLB ELSE RETURN ZEROES. STB GETDC NOSIG LDA GETDC RETURN ROUNDING DIGIT (0 OR 9) JMP GETDG,I SPC 2 .1000 DEC 1000 DEC 100 ...10 DEC 10 ....1 DEC 1 GETDZ DEF * SKP * RSN - LOeGICAL RIGHT SHIFT MANTISSA BY N BITS, N IN [1,15]. * RSNX LDB A ADJUST EXPONENT. ADB EXP STB EXP IOR RRR16 SET UP SHIFT INSTRUCTION. STA XEQ+1 LDA MANT+2 SHIFT. LDB MANT+3 JSB XEQ STB MANT+3 LDA MANT+1 LDB MANT+2 JSB XEQ STB MANT+2 LDA MANT LDB MANT+1 JSB XEQ STB MANT+1 CLA LDB MANT JSB XEQ STB MANT JMP RSN,I EXIT SPC 4 * LSONE - LOGICAL LEFT SHIFT MANTISSA ONE BIT. * LSONX LDA MANT+3 SHIFT. CLE,ELA STA MANT+3 LDA MANT+2 ELA STA MANT+2 LDA MANT+1 ELA STA MANT+1 LDA MANT ELA STA MANT CCA ADJUST EXP ADA EXP STA EXP JMP LSONE,I SKP * .XCOM - NEGATE MANTISSA / ROUND RESULT. * * IF B=-1 THE MANTISSA IS NEGATED ELSE IT IS ROUNDED USING * B+1 AS THE ROUND CONSTANT. WHEN ROUNDING, THE LOCATION * INPUA IS SET TO THE ADDRESS OF THE LAST WORD. SPC 2 XCOMX INB,SZB NEGATE OR ROUND ? JMP XCOM1 ROUND, DON'T COMPLEMENT. LDA MANT COMPLEMENT MANTISSA. CMA STA MANT LDA MANT+1 CMA STA MANT+1 LDA MANT+2 CMA STA MANT+2 LDA MANT+3 CMA STA MANT+3 LDA AMNT3 ADDR WORD TO START INCR. JMP XCOM2 XCOM1 CCA FORM ADDR LAST WORD. ADA LENTH,I ADA AMANT STA INPUA SPECIAL: SET UP FOR INPUT. XCOM2 CLE,INB ADB A,I ADD ROUND CONSTANT. XCOM3 STB A,I SEZ,RSS CARRY ? JMP .XCOM,I NO, DONE. ADA MIN1 YES, PROPOGATE IT. LDB A,I CLE,INB CPA AMANT AT FIRST WORD ? JMP *+2 JMP XCOM3 NO, KEEP GOING. STB MANT STORE FIRST WORD. CLA,INA A=1. CPB NEG1 OVERFLOW ? JMP XCOM4 YES. ASL 1 z NEG UNNORM ? SOC JMP .XCOM,I NO, DONE. CCA,RSS YES. B = NEW FIRST WD. DECR EXP. XCOM4 RBR OFL. R.S. & INCR EXP. (A=1) STB MANT ADA EXP STA EXP JMP .XCOM,I SKP * MULT - MULTIPLY THE MANTISSA BY A SCALAR. * * MULT MULTIPLIES THE MANTISSA BY A 15-BIT SCALAR AND ADJUSTS THE * EXPONENT. THE RESULT IS AS IF AN INTEGER MULTIPLY OF THE MANTISSA * AND SCALAR WERE DONE FOLLOWED BY A RIGHT SHIFT 15. THE RESULT * WILL NOT OVERFLOW BUT IT MAY BECOME UNNORMALIZED. * * CALLING SEQUENCE: * * CLE/CCE LAST WORD FLAG. * LDA SCALAR MULTIPLIER. * LDB N EXPONENT ADJUSTMENT. * JSB MULT * * WHERE E=1 INDICATES THAT THE LAST WORD OF THE CURRENT * MANTISSA IS ZERO. (INPUT CONVERSION). FOR THIS * CASE, THE EXPONENT ADJUSTMENT MUST NOT CARRY OUT. SPC 2 MULTX STA MULTA SAVE MULTIPLIER. RAL AND 2*MULTIPLIER. STA MULTD CME E=0 IFF INPUT ADB EXP ADJUST EXPONENT STB EXP LDB MANTL CURRENT WORD ADDR SEZ,RSS INPUT ? JMP MULT3 YES, SKIP FIRST MPY STB MULTB RAR RESTORE MULTIPLIER. MPY B,I ASL 1 JMP MULT2 MULT1 LDA MULTA MULTIPLIER. MPY B,I * CURRENT WORD. CLE,ELA ALIGN. ELB,CLE ADA MULTC,I ADD LOWER TO CURRENT + 1 STA MULTC,I SEZ PROPOGATE CARRY. INB MULT2 LDA MULTB,I CORRECT FOR BIT 15. SSA ADB MULTD STB MULTB,I LDB MULTB SEE IF DONE. MULT3 CPB MANTP I.E., IS CURRENT WORD THE START ? JMP MULT,I YES, DONE. STB MULTC NO, UPDATE POINTERS. ADB MIN1 STB MULTB JMP MULT1 AND LOOP. SKP * DIVD - DIVIDE MANTISSA BY A SCALAR. * * DIVD DIVIDES THE MANTISSA BYy A SCALAR AND ADJUSTS THE * EXPONENT ACCORDINGLY. THE EFFECT IS AS IF THE TWO WERE * INTEGERS AND THE DIVIDE WERE DONE, KEEPING 15 FRACTION * BITS, FOLLOWED BY A LEFT SHIFT 15. * OVERFLOW CAN OCCUR ONLY IF THE MANTISSA IS NORMALIZED * OR THE DIVISOR IS LESS THAN 2**14. * * CALLING SEQUENCE: * * LDA SCALAR 15-BIT DIVISOR. * LDB N EXPONENT ADJUSTMENT. * JSB DIVD SPC 4 DIVDX STA DIVDA SAVE DIVISOR. ARS SAVE DIVISOR/2. STA DIVDD CMB,INB CORRECT EXPONENT. ADB EXP STB EXP LDA MANTP SET UP POINTERS. STA DIVDB STA DIVDC LDB A,I B = FIRST WORD. CMA,INA -MANTP ADA MANTL MANTL-MANTP = # WDS - 1 CMA - # WDS STA DIVDE CLA BITS 15,14 FIRST WORD = 0 JMP DIVD2 DIVD1 ISZ DIVDB CLA SAVE BIT 15 (IN E). ELA,ELA CMB FORM REM - DIVISOR/2 ADB DIVDD CMB,CLE,SSB POS ? ADB DIVDD NO, RESTORE REM & SET E. CME SAVE BIT 14 (IN E). ERA,RAR DIVD2 STA DIVDF SAVE BITS 15,14. ISZ DIVDC LDA DIVDC,I A = NEXT WORD (LOW) DIV DIVDA DIVIDE. CLE,ERA SHIFT RIGHT, SAVE BIT 0 AS BIT 15. IOR DIVDF ADD PREV BITS 15,14. STA DIVDB,I ISZ DIVDE DONE ? JMP DIVD1 NO, LOOP. JMP DIVD,I YES, EXIT. SKP * OUTPT - SCALE NUMBER FOR OUTPUT. * * OUTPT COPIES A VARIABLE TO BE NUMERICALLY OUTPUT, PUTTING * IT IN A STANDARD FORMAT (4 WORD MANTISSA, SEPARATE EXPONENT). * THEN IT MULTIPLIES OR DIVIDES THE NUMBER BY A POWER OF TEN * TO THAT IT IS IN [1000,10000). THE BINARY POINT IS PLACED * AFTER THE FIRST WORD SO THE FIRST 4 DIGITS ARE IN THAT WORD. * THE VALUE OF N S.T. (ORIGINAL #) * (10**(-N)) IS IN [.1,1) * IS STORED IN EXPON, I.E. NUMBER * 10**EXPON = ORIG NUMBER. * THE FOLLOWING APPROXIMATION IS USED: * * LOG10(X*(2**N)) = [((N*19729)/128)+((X*(2**15))*617)/(2**16)-290]/512 * * WHERE X IS IN [0.5,1). THE ERROR IS ALWAYS POSITIVE. SPC 2 * COPY NUMBER AND CONVERT IT. * OUTPX LDA AMANT COPY THE DATA. STA OUTA (MUST COPY ONLY EXACT AMOUNT TO AVOID DM) LDA LENTH,I # WORDS. CMA,INA OUTPE LDB ADX,I COPY A WORD. STB OUTA,I ISZ ADX BUMP SOURCE. ISZ OUTA BUMP DEST. INA,SZA COUNT & LOOP. JMP OUTPE * LDA TYPE,I WHAT TYPE IS IT ? ADA MIN2 SSA,INA,RSS JMP OUTPB FLOATING. * * INTEGER. * SZA,RSS INTEGER. 1 OR 2-WORD. JMP OUTPC 2-WORD. LDA MANT 1-WORD. FLOAT IT. JSB FLOAT STA MANT SET UP AS IF 2-WORD FLOATING. STB MANT+1 CLA,INA JMP OUTPB OUTPC STA MANT+2 2-WORD. FLOAT TO 3-WD FLOATING. LDA =D31 JSB .XPAK DEF MANT LDA ....2 SET UP AS IF 3-WORD FLOATING. SKP * FLOATING. * OUTPB ADA AMANT FORM ADDR LAST WORD STA OUTA LDB A,I UNPACK THAT WORD. JSB .FLUN STB OUTA,I STA EXP ISZ OUTA ZERO OUT NEXT WORD. CLA STA OUTA,I * * REMEMBER SIGN, TAKE ABS VALUE, CHECK FOR ZERO. * JSB NORML NORMALIZE. LDB MANT SET SIGN. ASR 16 STB SIGN STB EXPON IN CASE ZERO. SZA,RSS ZERO ? JMP OUTPD YES, DON'T SCALE. SSA NEGATIVE ? JSB .XCOM YES, TAKE ABS VALUE. (B=-1) * * SCALE TO [1000,10000). * FIRST, ESTIMATE LOG BASE 10. * LDA EXP FORM N*19729 MPY =D19729 ASR 7 (N*19729)/128 STA OUTA LDA MANT X*(2**15) MPY =D617 r B = ((X*(2**15))*617)/(2**16) ADB OUTA + (N*19729)/128 ADB =D222 -290+512 ASR 9 B = FLOOR(LOG10(NUMBER))+1 STB EXPON = N. * * NOW PERFORM THE SCALING. * CMB,INB DIVIDE NUMBER BY 10**(N-4) ADB ....4 LDA B JSB PTEN SKP * IF < 1000, MULTIPLY BY 10. * (CAN HAPPEN DUE TO ERROR IN COMPUTING LOG.) * LDA MANT GET INTEGER PART. LDB EXP RBL JSB IFIX ADA =D-1000 IS IT < 1000 ? CLE,SSA,RSS JMP OUTPA NO, O.K. LDA PWR1A YES, MULTIPLY BY TEN. LDB PWR1A+1 JSB MULT (E=0: NON-INPUT MODE) CCA DECREMENT EXPONENT. ADA EXPON STA EXPON * * MOVE BINARY POINT TO AFTER FIRST WORD. * OUTPA LDA EXP ADJUST EXP TO +15 ADA =D-15 CMA,INA JSB RSN * * SET UP MANTP, MANTL, W AND D. EXIT. * OUTPD LDA AMANT RESET TO HIGHER ACCURACY. STA MANTP (FOR ZERO CASE) ADA LENTH,I FOR DIGIT PRODUCTION. STA MANTL JSB WDFIX SET W AND ADJUST AND SET D. JMP OUTPT,I EXIT. HED D, E, F, G & I SPECIFICATIONS. GTYPE LDB IO,I I/O SWITCH SZB OUTPUT JMP FTYPE INPUT SAME AS F-TYPE LDA ....4 JSB WDGET PICK OFF W AND D FIELDS CLA STA SCALE,I NO SCALE FACTOR IF F-TYPE USED GCONV JSB F2LST JSB OUTPT SCALE, SET W & D. CCA SET FLAG SO FTYPE & ETYPE WILL RETURN. STA GFLAG,I LDA EXPON CHECK RANGE. A = SCALE FROM [.1,1) STA EXPNS SAVE FOR RECHECKING LATER. SSA < 0.1 ? JMP GTOE YES, USE -E-. ADA D FLOOR(LOG10(X))+1-D-1 LDB D CHECK D TOO. CMB,SZB,RSS IF D=-1 AND EXPON=0, FORCE -E-. INA SSA,RSS FLOOR(LOG10(X))= -1 ? JMP FOUT2 NO, AT LEAST ONE DIGIT AFTER POINT. STB EFLAG YES, FORCE A LEADING ZERO. FOUT1 CMB,INB NO, REMOVE LEADING BLANKS. LDA GFLAG,I IF G-FORMAT, TREAT BCNT AS ZERO. SSA JMP FOUT3 ADB BCNT ADJUST BCNT. STB BCNT FOUT3 CMB,SSB -BCNT-1. BCNT<0 ? JMP FOUT2 NO, O.K. ADB D YES. D-BCNT-1. SSB,INB,RSS SKIP IF BCNT>=D. D-BCNT. STB W DOESN'T FIT. OUTPUT DOLLARS. STB D FITS. ADJUST D ACCORDINGLY. CLB AND BCNT=0. SSA,RSS IF G-FORMAT, LEAVE BCNT ALONE. STB BCNT FOUT2 JSB OUTP1 PRINT NUMBER. LDA GFLAG,I GFIELD ? SSA JMP BACKF YES. GO BACK TO GTYPE. JSB RFCHK AGAIN ? JMP FOUT YES. SKP DTYPE LDA "D" STA EORD,I PUT ASCII D FOR EXPONENT FIELD. ETYPE LDB IO,I I/O SWITCH SZB JMP FTYPE INPUT IS THE SAME AS F-TYPE. LDA ....4 4 CHARS EXPONENT. JSB WDGET ELOOP JSB F2LST CHECK THE LIST JSB OUTPT SCALE, SET W & D. GTOE CCA SET EFLAG:=TRUE. STA EFLAG LDA EXPON SUBTRACT SCALE FACTOR FROM EXPONENT. ADA TSCAL,I STA EXPON LDA TSCAL,I ADD IT TO D. CMA,INA + SCALE FACTOR. STA SGDIG (IF + SCALE, NO SPECIAL ROUNDING) ADA D STA D A = D. LDB TSCAL,I - SCALE FACTOR. SSB,RSS SCALE FACTOR <= 0 ? JMP ETYP2 YES. * * SCALE FACTOR > 0. DECREMENT D. IF BCNT > 0, DECR * BCNT. THEN IF TOO FEW PLACES, ADJUST D & EXPON. * CCB TRY TO DECREMENT BCNT. ADB BCNT SSB STILL + ? JMP ETYP1 NO, LEAVE BCNT & D. STB BCNT YES. DO IT. ADA MIN1 D TOO. STA D ETYP1 LDB MANT NUMBER ZERO ? SZB,RSS JMP ETYP5 YES, DELETE EXTRA LEADING ZEROES. SSA NO. DIGITS BEFORE POINT LOST ? JMP ETYP4 NO. LDB D YES, ADJUST EXPON TO REFLECT THIS. JMP ETYP3 ETYP5 CMA,SSA,INA -D. WAS D >= 0 ? CLA YES, USE D=0. ADA W W-D CMA D-W-1 = # OF EXTRA ZEROES + BCNT. STA BCNT JUST DELETE THEM. JMP ETYP4 SKP * SCALE FACTOR <= 0, MAKE SURE AT LEAST ONE DIGIT. * ETYP2 ADA B RESTORE ORIGINAL D. ADA B ACCOUNT FOR LEADING ZEROES. STA SGDIG REMEMBER FOR ROUNDING. INA (OLD D)+(# LDNG ZEROES)+1 = - # SIG DIG. CMA,SSA,RSS # SIG DIG - 1. AT LEAST ONE ? JMP ETYP4 YES, IS O.K. STA B NO. FIX D & EXPON. CMA,INA 1 - # SIG DIG ADA D START DIGITS THAT MUCH SOONER. STA D LDA MIN2 LIMIT ROUNDING. STA SGDIG ETYP3 ADB EXPON CORRECT EXPONENT. STB EXPON * * OUTPUT NUMBER AND EXPONENT. * ETYP4 LDA MANT SZA,RSS IF NUMBER ZERO, SET EXPONENT = 0 STA EXPON JSB OUTP1 LDA EORD,I OUTPUT EXPONENT. FIRST, JSB OUTCR DESCRIPTIVE E (OR D) LDA MINUS LDB EXPON SSB SKIP IF POSITIVE CMB,INB,RSS IF NEGATIVE, 2'S COMPLEMENT&SKIP LDA PLUS IF POSITIVE,CHANGE A TO '+' STB EXPON JSB OUTCR OUTPUT THE SIGN LDA EXPON NOW THE MAGNITUDE. CLB DIV ...10 A=FIRST, B=SECOND. ADA "0" ADB "0" STB EXPON JSB OUTCR LDA EXPON JSB OUTCR SECOND DIGIT LDA GFLAG,I SSA JMP BACKE JSB RFCHK CHECK FOR REPEATS JMP ELOOP HED GENERAL DIGIT OUTPUT. ********************************************************************** * OUTP1 IS THE ROUTINE WHICH PERFORMS THE ACTUAL OUTPUT CONVERSION. * * IT ASSUMES THAT WSAVE, DSAVE, AND BCNT HAVE BEEN PROPERLY INI- * * TIALIZED, AND THAT THE NUMBER HAS BEEN PROPERLY SCALED BY OUTPT. * * IT USES GETDG TO PRODUCE SIGNIFICANT DIGITS FROM LEFT TO RIGHT * * AND PRODUCES LEADING BLANKS, LEADING ZEROES AND THE DECIMAL POINT * * ACCORDING TO WSAVE, DSAVE AND BCNT. SPECIAL CARE IS TAKEN TO * * OUTPUT THE SIGN AND THE DECIMAL POINT PROPERLY, AND TO ROUND THE * * RESULT CORRECTLY.  * ********************************************************************** * * * THIS ROUTINE HAS BEEN MODIFIED TO OUTPUT 0'S AFTER THE NUMBER OF * SIGNIFICANT DIGITS GIVEN BY THE TABLE "SDTBL". * THIS WAS DONE TO SUPPRESS THE RETURN OF INSIGNIFICANT DIGITS IN * LARGE FORMAT FIELDS. SPC 3 * INITIALIZE, OUTPUT LEADING BLANKS & SIGN. * OUTPZ LDA W MAY ALREADY BE TOO LATE. SSA,RSS JMP BCKS3 YUP. DOLLARS. LDB BCNT OUTPUT LEADING BLANKS LDA BLANK JSB MTPLO LDB SIGN OUTPUT A MINUS ? LDA MINUS SZB IF NOT. JSB OUTCR YES. LDA "0" SPECIAL CASE FROM F-FORMAT. LDB EFLAG IF EFLAG=+1, OUTPUT "0" CPB ....1 JSB MTPLO (UPDATE W TOO) LDA SDTBL ADA TYPE,I LDA A,I STA GETDA SET COUNTER FOR # OF SIGNIFICANT DIGITS LDA MIN5 SET UP CONVERSION FOR GETDG. STA GETDC SKP * OUTPUT DIGITS. * LDA D D CMA,INA -D ADA W W-D STA OCONT LDB W IF W=0, DONE. SSB,RSS JMP ALDON SSA ANY DIGITS BEFORE POINT (W * * ALL OF THESE ARE OPTIONAL, AND THE APPEARANCE OF THE FIRST * SIGN, DIGIT, OR DECIMAL PT. DEFINES A NUMBER. ANY COMBINATION * OF THE ABOVE IS LEGAL, WITH THE FOLLOWING EXEPTIONS: * * * (1) AN INITIAL E IS IGNORED IN FREE-FIELD, AND IS ILLEGAL IN * FIXED FIELD; * (2) IF NO INTEGER PART OR FRACTION APPEARS (AND A SIGN OR * DEC.PT. DOES), THE RESULT IS ZERO * * IN FIXED-FIELD INPUT, IF NO DECIMAL PT. APPEARS, THE RESULT IS * * MULTIPLIED BY 10**(-D). * * THE FOLLOWING SPECġIAL FEATURES ARE INCLUDED FOR FREE-FIELD INPUT: * * (1) WHEN 2 CONSECUTIVE COMMAS APPEAR WITH NO DATA BETWEEN, * THAT LIST ELEMENT IS SKIPPED. * * (2) WHEN A SLASH OCCURS IN AN INPUT RECORD, THE REMAINDER * OF THE RECORD IS TREATED AS COMMENTS. * * (3) IF A LINE TERMINATES WITHOUT A SLASH, THE INPUT OPERATION * TERMINATES AND THE REMAINDER OF THE LIST REMAINS * UNCHANGED. * * (4) WHEN A QUOTE APPEARS, THE FOLLOWING * * CHARACTERS IN THAT LINE ARE TREATED AS COMMENTS * * UNTIL ANOTHER QUOTE APPEARS. * * * (5) ALL UNRECOGNIZED CHARACTERS ARE TREATED AS BLANKS * * (6) WHEN AN INTEGER IS PRECEDED BY THE CHARACTER "@", THE IN- * TEGER IS INTERPRETED AS OCTAL. * * CONTROL WITHIN INPUT IS GOVERNED BY THE VARIABLE POST, * WHOSE VALUE INDICATES HOW FAR THE NUMBER HAS BEEN * SCANNED, AS FOLLOWS: * * POST = 0 : NUMBER NOT STARTED YET * 1 : NUMBER STARTED, BUT NO DECIMAL PT. REACHED YET * 3 : LAST CHARACTER WAS THE 'E' * 4 : EXPONENT BEING PROCESSED * ******************************************************************* * * INITIALIZATION. SKP INPUX LDA AMANT SET UP MANTISSA ADDRESSES. STA MANTP STA MANTL LDA MIN4 FOR INDIG. STA INPUB # DIGITS THIS GROUP - 4. CCA STA EXP CLA STA INPUA ACCUMULATED DIGITS THIS GROUP. (UP TO 4) STA INPUC SIGN OF EXPONENT. STA INPUD # TRAILING ZEROES. STA SIGN SIGN OF MANTISSA. STA MANT STA MANT+1 STA MANT+2 STA MANT+3 STA MANT+4 STA EXPON STA SKIP,I STA POST CPA FCR,I FREE FIELD ? JMP *+2 JMP INLUP STA W STA D STA DSAVE,I * * MAIN LOOP. READ A CHAR AND DECIDE WHAT TO DO. * FLIP ISZ W CHECK FOR END OF FIELD [JMP INLUP NO, KEEP GOING. JMP FINAL YES, GO PACK IT UP. INLUP JSB INCHR LDB POST CPA "/" JMP INSLS CPA COMMA JMP INCOM CPA PLUS JMP INPLS CPA MINUS JMP INMIN CPA "." JMP INPNT CPA "E" JMP INE CPA "D" JMP INE CPA QUOTE JMP INQUO CPA "@" JMP INOCT JSB DIGIT JMP INBLN SKP ***** THE CHARACTER IS A DIGIT. WE FIRST SET POST AS FOLLOWS: **** * POST=0 : POST_1 * POST=2 : DF_DF+1 * POST=3 : POST_6 * ******************************************************************* BNKNM LDB POST SZB,RSS ISZ POST IF POST=0, SET IT TO 1 CPB ....3 JMP INEX3 PROCESSING EXPONENT CPB ....4 JMP INEX4 PROCESSING EXPONENT * * ADD THIS DIGIT TO MANTISSA. * LDB POST IF PAST DEC POINT, COUNT DIGITS. CPB ....2 ISZ D NOP COULD SKIP ! JSB INDIG ADD DIGIT. JMP FLIP * * EXPONENT PROCESSING. * INEX3 ISZ POST INEX4 LDB EXPON MULTIPLY EXPON BY 10 BLS,BLS ADB EXPON BLS ADB A ASL 4 GUARANTEE LARGE EXPONENTS STAY LARGE. SOC IF TOO BIG, LDB =B77777 SET TO MAX POS. (BECOMES 3777) ASR 4 STB EXPON JMP FLIP * * COMMA. * INCOM LDA FCR,I TREAT A COMMA ON INPUT SZA TEST FOR FREE FIELD INPUT JMP ERR4 CCA SZB IS POST=0? JMP FINL1 CPA CFLAG,I JMP *+3 DOUBLE COMMA STA CFLAG,I JMP FLIP STA SKIP,I STA SWITH,I JMP INPUT,I SKP * "+" AND "-": SET THE APPROPRIATE SIGN. * INMIN CCA FOR MINUS SZB WHICH ? JMP INPL2 DEC EXPONENT. 0 STA SIGN MANTISSA. JMP FLIP INPL2 STA INPUC INPLS CPB ....4 IF POST=4 THIS IS ILLEGAL JMP ERR5 LDA ....4 SZB IF POST>0 THEN SET IT TO 4 STORP STA POST JMP FLIP * * "." : DECIMAL POINT. * INPNT BRS HANDLES DECIMAL POINT SZB JMP ERR5 MEANS POST WAS 2 OR MORE LDA DSAVE,I SUBTRACT DSAVE FROM D. CMA,INA ADA D STA D LDA ....2 JMP STORP * * "E" : NOTE END OF MANTISSA. * INE ADB MIN3 SSB,RSS JMP ERR5 POST WAS 3 OR 4 LDA ....3 SET IT TO 3 JMP STORP * * "/" : FORMATTED, ERROR. FREE-FIELD, IS END-OF-LINE. * INSLS LDA FCR,I SZA JMP ERR4 STA CCNT,I SET CCNT=0 TO READ NEXT LINE JMP FINAL BEAT IT * * FREE-FIELD COMMENT PROCESSING. * INQUO LDA FCR,I ERROR IF NOT FREE-FIELD. SZA JMP ERR4 FIXED, ERROR 4. INQU1 JSB INCHR READ CHARACTERS UNTIL ANOTHER CPA QUOTE QUOTE IS READ. JMP INBLN INBLN CCA *** CHECK IF END OF BUFFER? CPA CCNT,I *** THIS CODE ADDED TO FIX '123"' JMP INSLS *** YES FREE FIELD INPUT BUG JMP INQU1 SKP * BLANK. * INBLN LDB FCR,I SEE IF FREE-FIELD. SZB,RSS JMP INBL1 YES. CPA BLANK NO. MUST BE A TRUE BLANK. RSS JMP ERR4 NO, UNRECOGNIZED CHAR. LDA OFLAG,I YES. IGNORE OR TREAT AS A ZERO ? LDB POST SZB IF POST=0, ALWAYS IGNORE. SZA JMP FLIP OLDIO. IGNORE. JMP BNKNM NEWIO. TREAT AS ZERO. (A=0) INBL1 LDB POST FREE-FIELD. POST=0 ? SZB,RSS JMP FLIP YES. IGNORE IT. (ELSE FALL INTO "FINAL") * * END OF NUMBER. PUT IT ALL TOGETHER. * FINAL CLA FINL1 STA CFLAG,I CCA ADD ANY REiMAINING DIGITS. JSB INDIG JSB NORML NORMALIZE. LDA MANT IF ZERO, DONE. SZA,RSS JMP FNL11 LDA EXPON FINAL COMPUTATION OF NUMBER ISZ INPUC COMPUTE EXTERNAL CMA,INA EXPONENT AS NEGATIVE LDB POST IF NO E-FIELD ADB MIN3 ADD SSB SCALE FACTOR ADA SCALE,I ADA D ADJUST FOR DECIMAL POINT OR EXCESS DIGITS. CMA,INA ADA INPUD ACCOUNT FOR TRAILING ZEROES, EXTRA DIGITS. LDB A CHECK FOR LARGE VALUE. ASL 9 OFL IF OUTSIDE [-64,+64) SOC SHOULD NEVER BE OUTSIDE [-60,+39] JMP FNL13 (MANTISSA IN [1,10**20], RRR 9 RESULT IN [10**-39,10**39] ) JSB PTEN MULTIPLY BY POWER OF TEN. LDB SIGN TEST THE SIGN SSB NEGATIVE ? JSB .XCOM YES, COMPLEMENT MANTISSA. (B=-1) SKP * ALL SET EXCEPT COMBINING MANTISSA & EXPONENT. * INPCK LDA TYPE,I WHAT TYPE ? ADA MIN2 CLE,SSA,INA,RSS JMP FINL6 FLOATING. LDA EXP INTEGER. CHECK EXPONENT. CMA,SSA,INA,RSS IN [-.5,+.5) ? JMP FNL14 YES, RESULT = 0 ADA =D15 NO. A = SHIFT-16 TO INTEGERIZE. SSA SHIFT<16 ? JMP FINL3 YES. MIGHT BE <0 (OFL) STA EXP NO. REMEMBER REST OF SHIFT. LDA MANT+2 DO WORD SHIFT. IOR MANT+1 STA MANT+2 LDB MANT STB MANT+1 ASR16 ASR 16 STB MANT LDA EXP REST OF SHIFT JMP FINL4 GO DO IT. FINL3 ADA =D16 SHIFT. CLE,SSA <0 ? (OVERFLOW) JMP FNL15 YES. FINL4 SZA,RSS NO. SHIFT>0 ? JMP FNL4A NO, DONE SHIFTING. IOR ASR16 FORM ASR SHIFT STA XEQ+1 LDB MANT+1 CATCH BITS SHIFTED PAST POINT. CLA JSB XEQ IOR MANT+2 JUST OR THEM IN STA MANT+2 LDB MANT NOW DO THE SHIFT. M LDA MANT+1 JSB XEQ STB MANT STA MANT+1 FNL4A LDB MANT NUMBER<0 ? SSB,RSS JMP FINL5 NO. LDA MANT+2 YES. CHECK FOR BITS PAST POINT. IOR MANT+3 SZA,RSS JMP FINL5 IF NONE. ISZ MANT+1 SOME. INCREMENT RESULT. JMP *+2 NO CARRY. INB PROPOGATE CARRY. FINL5 LDA TYPE,I SINGLE OR DOUBLE INTEGER ? CLE,SZA JMP FNL5A DOUBLE, DONE. LDA MANT+1 SINGLE, SHORTEN IT. ASL 16 SOC OVERFLOW ? JMP FNL15 YES. (E=0) FNL5A STB MANT NO. UPDATE FIRST WORD. JMP FNL11 * * ROUND FLOATING. CHECK FOR OFL UFL, PACK EXPONENT. * FINL6 LDB .177 ADD 200B TO ROUND. JSB .XCOM ROUND. ALSO SET INPUA TO LWA. LDB EXP CHECK EXP CLA FOR USE IN FORMATTING EXP ASL 8 MUST FIT IN 8 BITS WITH SIGN. SOC JMP FNL13 NO, OFL/UFL. CLE,ELB E=EXP SIGN, B<15:9>=EXP MANT. BLF,BLF B<7:1>=EXP MANT. RBR,ELB B<7:0>=FORMATTED EXPONENT. LDA INPUA,I LAST WORD MANTISSA. AND =B177400 MAKE ROOM FOR EXP. IOR B PUT TOGETHER. STA INPUA,I FNL11 LDA AMANT COPY RESULT. LDB ADX STB INPUB LDB LENTH,I SET UP COUNT. CMB,INB STB INPUA FNL12 LDB A,I CAN'T USE .MVW: IS TYPE 7. STB INPUB,I INA INCR ADDRESSES & LOOP. ISZ INPUB ISZ INPUA DO "LENTH" TIMES. JMP FNL12 STA SWITH,I INDICATE PRESENCE OF NUMBER. JMP INPUT,I EXIT. * * OVERFLOW & UNDERFLOW HANDLING. * FNL13 CCE,SSB OFL OR UFL ? (IF OFL, E=1) FNL14 CLA,CLE,RSS UFL. (E=0) FNL15 LDA =B77777 OFL. E=1 IF FLOATING. STA MANT RAL,ARS UFL:0 OFL:-1 STA MANT+1 STA MANT+2 STA MANT+3 CCB,SEZ,RSS INTEGER OR UFL ? (B=-1) JMP FNL11 NLH YES, DONE. ADB LENTH,I NO, COMPUTE ADDR LAST WORD. ADB AMANT LDA B,I FLOATING & OFL, CLEAR LAST BIT. ALS STA B,I JMP FNL11 GO COPY IT. SKP * FREE-FIELD OCTAL PROCESSING. * INOCT STA POST SZB IF POST WAS NON ZERO, TREAT AS A JMP INBLN BLANK. STB CFLAG,I RESET CFLAG TO SAY NO COMMA LDA FCR,I SZA TEST FOR FREE FIELD INPUT JMP ERR4 INOC2 JSB INCHR GET NEXT CHARACTER. JSB DIGIT CHECK FOR DIGIT. JMP INOC1 NO. LDB MANT GET PREVIOUS OCTAL RESULT BLF,RBR SHIFT LEFT 3. IOR B MERGE WITH NEW DIGIT. STA MANT JMP INOC2 INOC1 LDA MANT FLOAT IT. JSB FLOAT STA MANT BRS STB EXP STA SWITH,I INDICATES NUMBER PROCESSED (A.NE.7) CPA BLANK IF TERMINATING CHARACTER IS JMP INPCK OTHER THAN A BLANK, CCB UNREAD IT. ADB BCR,I STB BCR,I CCB ADB CCNT,I STB CCNT,I JMP INPCK END KNASMB,R,L,C HED FMTIO NAM FMTIO,7 24998-16002 REV.1926 790417 SPC 2 ENT .IOI.,.IOJ.,.IOR. ENT .IIO.,.JIO.,.RIO.,.XIO.,.TIO. ENT .IAR.,.JAR.,.RAR.,.XAR.,.TAR. ENT .IAY.,.JAY.,.RAY.,.XAY.,.TAY. ENT .DIO.,.BIO.,.DTA. ENT NEWIO,OLDIO,CODE,ACODE,ITLOG,ISTAT,LGBUF EXT .FRMN,.LS2F,.INPN,.DTAN,FMT.E EXT PNAME,REIO,EXEC,.SBT * A EQU 0 B EQU 1 SPC 2 * SPECIAL ENTRY POINTS: * ************************************************************************ * ASSEMBLY FORTRAN (IV) * * JSB CODE CALL CODE(ICHRS) * DEF *+2 READ (IBUF,*) A,B,C * DEF ICHRS * LDA IBUFR(,I) * CLB(,INB) * JSB .DIO. * DEF FORMT * DEF ENDLS * * WHERE: * IBUFR = THE IN MEMORY BUFFER TO CONVERT TO BINARY * ICHRS = THE NUMBER OF ASCII CHARACTERS IN " IBUFR " * * NOTES: * THE ENTRY POINT " CODE " IS NOW IN THE FORMATTER WHICH * ALLOWS THE OPTIONAL PARAMETTER " ICHRS " TO BE PASSED * TO LIMIT THE SIZE OF THE BUFFER THAT THE FORMATTER WILL * READ. IF " IBUFR " IS NOT PASSED, THEN THE FORMATTER WILL * SEARCH ALL OF MEMORY, IF NECESSARY, TO SATISFY THE VARIABLE * LIST. (A,B,C) SKP * JSB ITLOG ICHRS = ITLOG(IXXXX) * DEF *+1 * STA ICHRS * WHERE: * ICHRS = THE NUMBER OF CHARACTORS READ OR WRITTEN BY THE FORMATTER * BY ITS LAST INPUT/OUTPUT REQUEST TO THE SYSTEM. " ICHRS " VALUE * WILL BE 0 TO 134 (120 OF BINARY) REGARDLESS OF THE SPECIFIED * BUFFER SIZE IN THE READ OR WRITE STATEMENT. * IXXXX = THE SAME AS " ICHRS " *********************************************************************** * JSB ISTAT ISTUS = ISTAT(IXXXX) * DEF *+1 * STA ISTUS * WHERE: * ISTUS = THE STATUS WORD RETURNED FROM THE EXEC IN THE LAST * INPUT/OgUTPUT CALL THE FORMATTER DID. * IXXXX = SAME AS " ISTUS " ************************************************************************ * JSB LGBUF CALL LGBUF(IBUFF,LENTH) * DEF *+3 * DEF IBUFF * DEF LENTH * WHERE: * IBUFF = ADDRESS OF A USER BUFFER. * LENTH = LENGTH OF BUFFER, IN WORDS. THIS BECOMES THE NEW MAXIMUM * RECORD LENGTH. *********************************************************************** * FORTRAN EXAMPLES. *** * CALL EXEC (1,401B,IBUFR,-80) * CALL ABREG(IA,ICHRS) * CALL CODE(ICHRS) * READ(IBUFR,*) A,B,C,D *** * 5 READ (1,10) (IBUF(I),I=1,36) * 10 FORMAT (36A2) * IF (ITLOG(ICHRS)) 20,5,20 * 20 ISTRC = 1 * CALL NAMR(IPBUF,IBUF,ICHRS,ISTRC) * * NOTE: ICHRS CAN BE AS LARGE AS 134 IF 134 CHARACTERS ARE INPUT. *** * READ (8,10) (IBUF(I),I=1,80) * 10 FORMAT (40A2) * IF (IAND(ISTAT(ISTUS),240B)) 99,20,99 * 20 CONTINUE * --- * 99 CONTINUE (END OF FILE OR END TAPE DETECTED) *** * DIMENSION IBUFF(1000) * --- * CALL LGBUF(IBUFF,1000) * READ(8,10) (ARRAY(I),I=1,2000) * 10 FORMAT(2000A1) HED COMMUNICATION WITH FRMTR. * FOLLOWING LOCATIONS REFERENCED IN FRMTR: * ADX BSS 1 ADDRESS VARIABLE. TYPE BSS 1 TYPE LENTH BSS 1 LENGTH (IN WORDS) SKIP BSS 1 FLAG TO SKIP STORE IN .IOI./.IOJ./.IOR. FCR BSS 1 POINTS TO CHARACTER IN FORMAT CCNT BSS 1 COUNTS WORDS/CHARS IN BUFFER CMAX BSS 1 MAX VALUE OF CCNT AT TAB LEFT. BCR BSS 1 IO BSS 1 FLAG...=0 FOR OUTPUT, 1 FOR IN SKIPL BSS 1 FLAG TO AVOID SPURIOUS RTN TO LIST. TSCAL BSS 1 SCALE BSS 1 SCALE FACTOR NEST BSS 1 PAREN LVLS. INIT -6, -5 IN FMT, * -4 TO -1 FOR NESTING. CFLAG BSS 1 BCRS BSS 1 USED FOR REMEMBERING BCR F2LSI BSS 1 SWITH BSS 1 RNEST BSS 1 NEKST VALUE OF UNLIMITED GROUPS. ADRFD DEF RFSV USED FOR INDEXING IN RFLD. RF BSS 1 FORMAT REPEAT FIELD COUNTER WSAVE BSS 1 HOLDS INITIAL W FOR REPEATS DSAVE BSS 1 HOLDS INITIAL D FOR REPEATS GFLAG BSS 1 = -1 IF G FIELD, +1 OTHERWISE. .OBUF DEF BUFO EORD BSS 1 ALSO DTAI & ATMP. OFLAG DEC 0 =0,-1 FOR ASA/OLD FORMATS. HED CONSTANTS & LOCALS. * CONSTANTS. * CNTRL BSS 1 MIN6 DEC -6 MIN2 DEC -2 MIN1 DEC -1 ....1 DEC 1 ....2 DEC 2 ....3 DEC 3 ....7 DEC 7 ...13 DEC 13 PAPER OCT 34000 TEST FOR PAPER TAPE. O76K OCT 76000 O2000 OCT 2000 PBIT OCT 200 SET BIT FOR IOC. BASIC OCT 400 .4000 OCT 4000 CHECK FOR TYPE CODE = 1X ASC2B OCT 500 SPCOL ABS 72B-40B ":" - " " "B" OCT 102 "^0" BYT 40,60 " 0" "0" OCT 60 BLANK OCT 40 MXPS OCT 77777 MAX POS # DMXPS DEF MXPS * * LOCALS. * FMTAD BSS 1 ADDR FORMAT TEMP1 BSS 2 TEMPORARY TEMP2 BSS 1 STORAGE RFLD BSS 5 REPEAT FIELD FOR GROUPS. RFSV BSS 5 INITIAL VALUE OF R-FIELD. LPRN BSS 5 ADDRESS OF LEFT PAREN'S IN GROUP UNIT OCT 1 INPUT/OUTPUT UNIT ENDLS BSS 1 POINTS TO ENDOF CALLING SEQUENCE ALNTH BSS 1 AND .IAR. BFLAG BSS 1 =1 FOR BINARY I/O, 0 FOR DECIMAL STXXX NOP BUFBN EQU 60 BUFLN EQU 67 BUFI BSS BUFLN BUFO EQU BUFI BINRY ABS -BUFBN-BUFBN BINARY RECORD LENGTH ASCRY ABS -BUFLN-BUFLN FORMATTED RECORD LENGTH CLEN ABS -BUFLN-BUFLN HED ROUTINES TO PASS LIST ITEMS. ******************************************************************** * THIS SET OF ROUTINES IS USED TO PASS THE ADDRESS, TYPE AND * * LENGTH (IF ARRAY). FOR EACH VARIABLE OR ARRAY OF TYPE: * * INTEGER (I), DOUBLE INTEGER (J), REAL/2-WD FLOATING (R), * * EXTENDED PRECISION/3-WD FLOATING (X) OR DOUBLE PRECISION/4-WD * * FLOATING (T), THERE IS A SINGLE CALL TO ONE OF THE FOLLOWING:  * * .IOZ., Z=I,J,R; .ZIO./.ZAR./.ZAY., Z=I,J,R,X,T. * * THERE IS INITIALLY A SINGLE CALL TO EITHER .DIO. OR .BIO. . * ******************************************************************** SPC 3 IOCHK NOP A SWITCH ON THE VALUE OF IO. RE- STB TEMP2 SAVE B LDB IO TURN TO P+1 FOR OUTPUT, P+2 FOR SZB INPUT. ISZ IOCHK LDB TEMP2 RESTORE B JMP IOCHK,I SPC 3 BCHEK NOP RETURNS TO P+1 IF BINARY, ELSE 2 STB TEMP2 LDB BFLAG SZB,RSS ISZ BCHEK LDB TEMP2 JMP BCHEK,I SPC 2 * ROUTINE TO INITIALIZE .ZIO. / .ZAR. / .ZAY. * CTYPE NOP ADB MIN2 ACTUAL ENTRY POINT ADDR. LDA B,I COPY ENTRY POINT. STA .TIO. CMB COMPUTE OFFSET FROM FIRST ONE. ADB CTYPE,I CMB BRS TYPE = OFFSET / 2 STB TYPE SZB TYPE = 0 CPB ....1 OR 1 ? INB YES, LENTH IS ONE LARGER (ELSE EQUAL) STB LENTH ISZ CTYPE EXIT JMP CTYPE,I SKP * .IOI. / .IOJ. / .IOR. * * CALLING SEQUENCE: * * * JSB ROUTINE * SPC 2 .IOI. NOP STORE ARG & CALL .IIO. STA TEMP1 JSB .IIO. DEF TEMP1 LDA TEMP1 LDB SKIP IF FREE-FIELD & NULL, SKIP STORE. SZB ISZ .IOI. JMP .IOI.,I * .IOJ. NOP STORE ARG & CALL .JIO. STA TEMP1 STB TEMP1+1 JSB .JIO. DEF TEMP1 LDA .IOJ. SAVE A LITTLE SPACE HERE. STA .IOR. JMP IOR1 * .IOR. NOP STORE ARG & CALL .RIO. STA TEMP1 STB TEMP1+1 JSB .RIO. DEF TEMP1 IOR1 LDA SKIP FREE-FIELD & NULL ? SZA ISZ .IOR. YES. SKIP. SZA ISZ .IOR. X LDA TEMP1 LOAD UP RESULT. LDB TEMP1+1 JMP .IOR.,I EXIT. SKP * .IIO. / .JIO. / .RIO. / .XIO. / .TIO. * * CALLING SEQUENCE: * * JSB ROUTINE * DEF SPC 2 .IIO. NOP JSB TIO .JIO. NOP JSB TIO .RIO. NOP JSB TIO .XIO. NOP JSB TIO .TIO. NOP JSB TIO SPC 1 TIO NOP LDB TIO COMPUTE TYPE, LENTH. JSB CTYPE DEF .IIO. LDB A,I B = BASE ADDR. ISZ .TIO. CLA,INA A = # ELEMENTS = 1. JMP TAY1 SKP * .IAR./.JAR./.RAR./.XAR./.TAR. .IAY./.JAY./.RAY./.XAY./.TAY. * * CALLING SEQUENCES: * * LDA <# ELEMENTS> JSB ROUTINE * LDB DEF * JSB ROUTINE DEC <# ELEMENTS> * * INDIRECTION IS ALLOWED ON BOTH VALUES (THE # OF ELEMENTS * IS TREATED AS AN ADDRESS). SPC 3 .IAR. NOP JSB TAR .JAR. NOP JSB TAR .RAR. NOP JSB TAR .XAR. NOP JSB TAR .TAR. NOP JSB TAR * TAR NOP STB ADX SAVE A,B. STA ALNTH LDB TAR SET TYPE, LENTH. JSB CTYPE DEF .IAR. LDB ADX B = BASE ADDR. LDA ALNTH A = # ELEMENTS. JMP TAY1 SPC 2 .IAY. NOP JSB TAY .JAY. NOP JSB TAY .RAY. NOP JSB TAY .XAY. NOP JSB TAY .TAY. NOP JSB TAY * TAY NOP LDB TAY SET TYPE, LENTH. JSB CTYPE DEF .IAY. LDB A,I B = BASE ADDR. ISZ .TIO. LDA .TIO.,I A = # ELEMENTS. ISZ .TIO. JMP TAY1 SKP * AT THIS POINT: TYPE, LENTH & RETURN ADDR ARE * SET UP, AND: B=BASE ADDR, A=# ELEMENTS. SPC 2 LDB B,I REMOVE INDIRECTS FROM BASE ADDR. TAY1 RBL,CLE,SLB,ERB JMP *-2 STB ADX # JMP *+2 REMOVE "INDIRECTS" ON LENGTH LDA A,I RAL,CLE,SLA,ERA JMP *-2 JSB BCHEK BINARY ? JMP TAY3 YES. CMA,INA,SZA,RSS - # ELEMENTS. JMP .TIO.,I IF NONE. STA ALNTH TAY2 JSB LST2J GO CONVERT. LDA ADX BUMP TO NEXT ELEMENT. ADA LENTH STA ADX ISZ ALNTH DONE ? JMP TAY2 NO, DO ANOTHER. JMP .TIO.,I YES, EXIT. * * BINARY ARRAY I/O. * TAY3 MPY LENTH A = TOTAL LENGTH. CMA,INA,SZA,RSS SET UP COUNT. JMP .TIO.,I IF ZERO. STA ALNTH TAY4 ISZ CCNT TEST FOR END OF BUFFER. JMP TAY5 NO. JSB DTA YES, DO I/O. JMP TAY4 AND TRY AGAIN. TAY5 ISZ BCR BUMP BUFFER POINTER. LDA ADX,I FOR OUTPUT. JSB IOCHK WHICH ? STA BCR,I OUTPUT. LDA BCR,I INPUT. JSB IOCHK WHICH ? JMP *+2 OUTPUT - DONE. STA ADX,I INPUT - STORE IN VARIABLE. ISZ ADX TO NEXT ELEMENT. ISZ ALNTH DONE ? JMP TAY4 NO, DO AGAIN. JMP .TIO.,I EXIT. HED CODE - ENCODE/DECODE. * THE FOLLOWING CODE WAS ADDED FOR THE "CALL CODE" PROBLEM * CALLING: * JSB CODE JSB CODE * DEF *+1 DEF *+2 * LDA IBUFR(,I) DEF TLOG +CHARS * CLB(,INB) - OR - LDA IBUFR(,I) * JSB .DIO. CLB(,INB) * DEF FORMT JSB .DIO. * DEF ENDLS DEF FORMT * ETC. DEF ENDLS * ETC. ****************************************** CODE NOP SPECIAL ENTRY FOR INTERNAL CONVERSION ACODE EQU CODE DO THE ALGOL THING ******************************************* LDB CODE,I GET RETURN ADDRESS + LDA BUFFR(,I) ISZ CODE BUMP TO FIND OUT IF TLOG C*($ LDA CODE,I GET POSSIBLE PRAM ADDRESS CPB CODE CHECK IF PASSED PARM LDA DMXPS NO, GET DEF MAX POS #. LDA A,I GET TLOG IN CHARS OR MAX POS #. CMA MAKE -TLOG-1 OR MAX NEG #. STA CCNT SAVE AS BUFFER LEN STA CMAX STB BFLAG SAVE RETURN ADDRESS LDA B,I LOAD: "LDA IBUFR(,I)". AND O2000 MASK TO FIND IF CLE,SZA CURRENT OF BASE PAGE? LDA B CURRENT, GET PAGE BITS XOR B,I LOAD IF BASE, MIRGE IF CURRENT AND O76K MASK OFF PAGE IF BASE, XOR B,I MIRGE IN IF CURRENT RSS NOW TRACK DOWN ANY LDA A,I INDIRECT ADDRESSES RAL,CLE,SLA,ERA INDIRECT? JMP *-2 YES, DO IT AGAIN RAL DOUBLE IT AND ADA MIN1 SUBTRACT ONE STA BCR SAVE THE BUFFER ADDRESS ADB ....3 POINT TO THE P+1 OF JSB .DIO. STB CODE SAVE IN CONVENENT PLACE JMP BFLAG,I RETURN TO EXECUTE LDA IBUFF,CLB,JSB .DIO. HED .DIO. & .BIO. - INITIALIZATION. *************************** .DIO. NOP * THE INITIAL CALL TO THE I/O ROU- * * TINES FOR FORMATTED INPUT/ *************************** OUTPUT. STA UNIT STB IO LDA .DIO. CHECK IF CALL CODE BEFORE CPA CODE MUST BE SAME JMP INTCN YES, CALL CODE CONVERSION LDA UNIT SET FUNCTION BITS JSB SETLU STA CNTRL LDA UNIT NO, PROCESS AS BEFORE * CCE,SZA CHECK FOR UNIT=0. (E=1) JMP DIO1 NO-IO TRANSFER. ERA INTERNAL CONVERSION. (A=MAX NEG #) STA CCNT SET CCNT = MAX NEG #. STA CMAX LDB .DIO.,I B = BUFFER ADDR. LDA B,I VERIFY ABOVE FENCE. STA B,I RBL FORM BYTE ADDR - 1: BCR. ADB MIN1 STB BCR ISZ .DIO. INTCN CLA,RSS CALL CODE INTERNAL CONVERSION DIO1 CLA,RSS STA UNIT STA BFLAG STA SKIP STA SKIPL STA TSCAL INITIAL SCALE FACTOR = 0 STA SCALE CLEAR SCALE FACTOR FOR FREE INPT STA SWITH LDA ASCRY STA CLEN RECORD SIZE LDA MIN6 STA NEST OUTSIDE LEVEL 0 PARENS. CCA STA CFLAG FREE-FIELD COMMAS. SKP * COPY FORMAT AND END-OF-LIST ADDRESSES. * LDA .DIO. GET FORMAT ADDRESS LDA A,I GET DOWN TO NEXT LEVEL RAL,CLE,SLA,ERA TEST FOR INDIRECT (1 LEVEL) JMP *-2 SEARCH FOR EVER IF NEED BE STA FMTAD SAVE FORMAT ADDRESS LDB A,I VERIFY ABOVE FENCE. STB A,I RAL CONVERT TO A CHARACTER CMA,INA,SZA ADDRESS CMA STA FCR ISZ .DIO. GET THE END-OF LIST LDA .DIO.,I ADDRESS STA ENDLS LDB A,I VERIFY ABOVE FENCE. STB A,I * * IF FORMATTED OUTPUT, WAIT FOR PREV. OUTPUT & GO. * IF INPUT, READ RECORD. IF FORMATTED, GO. * ISZ .DIO. SET UP LDA .DIO. THE RETURN STA LST2J ADDRESS JSB IOCHK IF OUTPUT, JSB WAITO WAIT. JSB IOCHK JMP FORMT GO. JSB DTA INPUT. READ A RECORD. LDA FCR FORMATTED ? SZA JMP FORMT YES, GO. * * FREE-FIELD INPUT. * NXTON JSB F2LST LIST DEFINITION IOTST LDB UNIT CHECK IF INTERNAL CONVERSION LDA XCCNT IF CCNT = 0, SZA CHECK IF SLASH WAS ENCOUNTERED JMP NSLSH NO SZB,RSS SLASH, BUT INTERNAL CONVERSION? JMP ENDLS,I YES RETURN, UNSATISFYING LIST JSB DTA SO READ NEXT RECORD NSLSH JSB .INPN ENTER FRMTR TO CONVERT DATA DEF ADX LDA SWITH CPA ....7 IF SWITH = 7, GO TO END OF LIST JMP ENDLS,I SZA JMP NXTON STORE ELEMENT JMP IOTST MUST BE SLASH SKP *************************** .BIO. NOP * THE INITIAL CALL TO THE I/O ROU- * * TINES FOR NON-FORMATTED *************************** INPUT/OUTPUT STA UNIT STB IO JSB SETLU CONFIGURE THE LU CONTROL WORD XOR ASC2B MAKE IT BINARY STA CNTRL AND PUT IT AWAY CLA,INA BFLAG = 1. STA BFLAG CLA SKIP = 0. STA SKIP LDA BINRY STA CLEN RECORD SIZE LDB IO TEST FOR I/O DIRECTION SZB JMP BIO1 IF INPUT. JSB WAITO OUTPUT, WAIT. JMP .BIO.,I BIO1 JSB DTA INPUT, READ. JMP .BIO.,I SPC 3 *************************** SET NEW FORMAT DEFS. NEWIO NOP * CALLING SEQUENCE: * JSB NEWIO *************************** DEF *+1 CLA STA OFLAG ISZ NEWIO JMP NEWIO,I SPC 3 *************************** SET OLD FORMAT DEFS. OLDIO NOP * CALLING SEQUENCE: * JSB OLDIO *************************** DEF *+1 CCA STA OFLAG ISZ OLDIO JMP OLDIO,I HED LINKAGE TO "FRMTR". * MAIN LOOP. CALL FRMTR & ACCEPT REQUESTS: * SWITH<6: PRODUCE ERROR MSG & QUIT. * SWITH=6: GET A LIST ITEM. * SWITH=8: DO I/O. * FORMT JSB .FRMN ENTER FRMTR _TO PROCESS LIST DEF ADX TSTSW LDA MIN6 ADA SWITH SSA JMP ERROR SWITCH < 6 = ERROR. SZA,RSS JMP NRML SWITCH=6=F2LST JSB DTA SWITCH=8 JSB .DTAN ENTER FRMTR AFTER DATA I/O DEF ADX JMP TSTSW NRML JSB F2LST JSB .LS2F CONTINUE LIST PROCESS DEF ADX JMP TSTSW SPC 3 * COROUTINE MECHANISM FOR LIST ITEMS: * THE CONVERSION ROUTINES IN FRMTR AND THE LIST-ITEM * HANDLERS IN FMTIO ACT AS COROUTINES. THE LINKAGE IS * PERFORMED BY LST2J AND F2LST. WHEN FRMTR IS READY * FOR A LIST ITEM, IT RETURNS TO THE FREE-FIELD OR * FORMATTED LOOP IN FMTIO, WHICH CALLS F2LST. * F2LST RETURNS THRU LST2J TO THE PREVIOUSLY CALLED * ITEM HANDLER, WHICH RETURNS TO THE CALLER. THE * CALLER CALLS ANOTHER ITEM HANDLER, WHICH CALLS LST2J * (SAVING ITS RETURN POINT). LST2J RETURNS THRU F2LST * TO THE CONVERSION LOOP, WHICH "RETURNS" TO FRMTR BY * CALLING THE APPROPRIATE ENTRY POINT. * SINCE FORMATTED I/O CALLS FRMTR FIRST, FORMATTED * I/O IS DRIVEN BY THE FORMAT. SINCE FREE-FIELD * I/O RETURNS FOR A LIST ITEM FIRST, FREE-FIELD * INPUT IS DRIVEN THE THE LIST. SPC 1 LST2J NOP LDA ADX,I VERIFY DATA ABOVE FENCE. STA ADX,I JMP F2LST,I SPC 1 F2LST NOP LDA BCR STA BCRS ISZ SKIPL PROCESSING FINAL RIGHT PAREN ? JMP LST2J,I NO, RETURN TO .IOI. & FRIENDS. JMP F2LST,I YES, RETURN TO FORMAT PROCESSOR. HED I/O ROUTINES. DTA NOP PERFORMS A COMPLETE I/O OPERA- JSB .DTA. TION. JSB IOCHK JMP *+3 JSB WAITI INPUT WAIT JMP DTA,I JSB WAITO OUTPUT WAIT $ JMP DTA,I SPC 2 .DTA. NOP LDA UNIT SET UP STATUS CONTROL SZA,RSS IF UNIT=0, JMP .DTA.,I IGNORE CALL. JSB IOCHK NOW TEST FOR INPUT OR OUTPUT. JMP DTAO * INPUT SECTION * JSB IOCIN PERFORM IOC CALL. JMP .DTA.,I RETURN * OUTPUT SECTION * DTAO LDB CCNT GET NUMBER OF CHARACTERS/WORDS. JSB BCHEK BINARY ? JMP DTAO2 YES. CMB,CLE,INB -CCNT ADB CMAX CMAX-CCNT (E=0 IFF B<0) LDB CCNT NORMALLY USE CCNT. SEZ CMAX > CCNT ? LDB CMAX YES, USE IT. CMB # CHARS UNUSED. ADB CLEN CHAR COUNT. STB OUTBL STORE AS # OF CHARS. OUTPUT. CMB,SLB,INB B=# CHARS. EVEN ? JMP DTAO1 YES, IS O.K. ADB BUFOA NO. FORM ADDR CHAR AFTER LAST. ADB BUFOA LDA BLANK STORE A BLANK AFTER LAST CHAR. JSB .SBT DTAO1 JSB IOCOU PERFORM IOC CALL JMP .DTA.,I RETURN DTAO2 SZB BINARY RECORD CONTINUATION ? CMB NO. B = # WORDS NOT USED. BLS B = # CHARS NOT USED. ADB CLEN B = -(# CHARS USED) STB OUTBL CMB,INB B = REC LENGTH BLF,BLF POSITION AS HIGH CHARACTER RBR IN WORDS. LDA CNTRL ALF,ALF ROTATE P-BIT TO SIGN SSA IF NOT ZERO, STORE AS STB .IBUF,I FIRST CHARACTER IN BUFFER. JMP DTAO1 SKP WAITI NOP WAITS FOR INPUT LDB UNIT IGNORE SZB,RSS CALL IF JMP WAITI,I UNIT=0. JSB BCHEK BINARY OR ASCII? ARS BINARY--CONVERT TO WORD COUNT. CMA STORE AS NEGATIVE IN STA CCNT COUNTER. STA CMAX LDB .IBUF GET BUFFER ADDRESS JSB BCHEK BINARY ? JMP WTI3 YES RBL FOR ASCII SET BCR TO POINT TO WTI2 ADB MIN1 THE FIRST CHARACTER PRECEDING WTI4 9 STB BCR THE BUFFER. JMP WAITI,I WTI3 LDA CNTRL ALF,ALF SSA,RSS PAPER TAPE ? JMP WTI2 NO ISZ CCNT YES JMP WTI4 * INPUT ERROR * * WAITO NOP WAITS FOR OUTPUT TO BE COMPLETED LDA UNIT IGNORE CALL IF SZA,RSS UNIT=0. JMP WAITO,I LDA .OBUF SET UP BUFFER ADDRESS AND CCB LENGTH. ADB CLEN JSB BCHEK BINARY. JMP WTO6 RAL ADJUST BUFFER ADDRESS FOR ADA MIN1 CHARACTERS STA BCR STB CCNT STB CMAX JMP WAITO,I WTO6 BRS ADJUST LENGTH FOR WORDS. ADA MIN1 STA BCR STB CCNT (DON'T NEED CMAX FOR BINARY) LDA CNTRL ALF,ALF SSA,RSS TEST FOR PAPER TAPE. JMP WAITO,I NOT PAPER TAPE. ISZ CCNT IF PAPER TAPE, BUMP BUFFER ISZ BCR ADDRESS AND COUNTER. JMP WAITO,I RETURN SKP SETLU BSS 1 SZA,RSS IF LU = 0 THEN JMP SETLU,I RETURN JSB EXEC ELSE DEF *+3+1 TEST FOR PAPER TAPE AND CONFIGURE DEF ...13 THE CONTROL WORD DEF UNIT DEF STXXX LDA STXXX AND PAPER CPA .4000 CLA SZA CLA,RSS LDA PBIT IOR UNIT IOR BASIC JMP SETLU,I SKP IOCIN NOP INPUT CALL TO IOC INAGN JSB REIO DEF *+5 DEF ....1 DEF CNTRL .IBUF DEF BUFI DEF CLEN STA STATS SAVE STATUS FOR LATER STB TLOG SAVE TRANSMISSION LOG FOR LATER RAL TEST DOWN BIT SSA ARE WE OK? JMP INAGN NO GO TRY AGAIN AND O500 IS EOT OR EOF BITS SET? SZA,RSS JMP IOCI1 NO, CONTINUE JSB BCHEK CHECK IF BINARY OR ASCII RSS BINARY JMP ENDLS,I ASCII, EXIT LDB CLEN YES, DUMMY THE TLOG SSB -? CMB,^INB YES, MAKE POSITIVE IOCI1 LDA B JMP IOCIN,I SPC 3 IOCOU NOP OUTPUT CALL TO IOC LDA CNTRL CLEAR BIT 7 AND =B177577 FOR OUTPUT REQUESTS STA CNTRO JSB REIO DEF *+5 DEF ....2 DEF CNTRO BUFOA DEF BUFO DEF OUTBL STA STATS STB TLOG SAVE STATUS AND TLOG JMP IOCOU,I OUTBL BSS 1 CNTRO BSS 1 SKP * ITLOG - GET LAST TRANSMISSION LOG. * ITLOG NOP ENTRY TO GET LAST TRANSMISSION LOG LDA TLOG GET LAST TRANSMITTION LOG LDB ITLOG GET RETURN ADDRESS STB ISTAT DUMMY UP ENTRY JMP ISTAT+2 SPC 4 * ISTAT - GET LAST STATUS WORD. * ISTAT NOP ENTRY TO GET LAST STATUS WORD LDA STATS GET LAST STATUS LDB ISTAT,I GET RETURN ADDRESS STB ITLOG SAVE TEMP ISZ ISTAT CHECK IF PARAMETER PASSED CPB ISTAT CLB,RSS SET DUMMY ADDRESS IN B-REG LDB ISTAT,I GET PARAMETER ADDRESS STA B,I RETURN PARAMETER JMP ITLOG,I RETURN SPC 1 STATS NOP LAST I/O STATUS WORD TLOG NOP LAST I/O TRANSMITTION LOG O500 EQU ASC2B SPC 4 * LGBUF - SUBSTITUTE USER BUFFER FOR FMTIO BUFFER. * LGBUF BSS 1 ISZ LGBUF LDA LGBUF FETCH THE BUFFER ADDRESS LGLP1 LDA A,I RAL,CLE,SLA,ERA TEST AND CLEAR INDIRECT BIT JMP LGLP1 TRY AGAIN STA BUFOA FIX THE ADDRESS POINTERS STA .IBUF STA .OBUF ISZ LGBUF LDA LGBUF,I FETCH THE BUFFER LENGTH LDA A,I ALS MAKE IT INTO A BYTE COUNT CMA,INA STA ASCRY STA BINRY ISZ LGBUF JMP LGBUF,I HED ERROR PROCESSING. * PRINT ON LU "FMT.E" THE FORMAT ERROR IN THE FORM: * " /PROGM: FMT ERR 3 @12345B" * (WITHOUT QUOTES) THIS EXAMPLE HAS ERROR #3 FROM THE FORMAT AT * K.*($ ADDRESS 12345 OCTAL, AND THE CALLING PROGRAM IS NAMED "PROGM". SPC 1 ERROR LDA UNIT INHIBIT ERRORS WHEN SZA,RSS INTERNAL CONVERSION JMP ENDLS,I LDA SWITH GET ERROR NUMBER ADA "^0" CONVERT TO ASCII " 0" STA MESSS+8 FIRST WORD OF ERROR CODE LDA FMTAD GET FORMAT ADDRESS LDB DFADS GET ADDRESS OF MEM BUFFER RAL,CLE,SLA POSITION MEM ADDRESS & SKIP AGAIN LDA IOCOU GET NEXT OCT DIGIT ALF,RAR ROTATE LEFT 3 STA IOCOU SAVE FOR NEXT PASS AND ....7 MASK DOWN TO DIGIT IOR "0" MIRGE IN TO ASCII SEZ,RSS SKIP IF LO-CHAR IN WORD ALF,SLA,ALF POSITION TO HI-HALF IOR B,I MIRGE IN HI-HALF STA B,I AND PUT IN WORD SEZ,CME BUMP WORD TO NEXT WORD? INB YES, DONE WITH BOTH CHARS CPB DFEND DONE WITH 5 CHARS? SEZ,RSS YES JMP AGAIN NO, FINISH CONVERSION IOR "B" LAST CHAR IS "B" STA B,I AND PUT IN LAST WORD JSB PNAME COPY PROGRAM NAME DEF *+2 DEF MESSS+1 LDA MESSS+3 CHANGE 6TH CHAR TO ":" ADA SPCOL STA MESSS+3 3RD WORD OF NAME JSB REIO DEF *+5 DEF ....2 DEF FMT.E DEF MESSS DEF ...13 JMP ENDLS,I SPC 1 DFADS DEF MESSS+10 DFEND DEF MESSS+12 SUP MESSS ASC 13, /PROGS: FMT ERR 4 @12345B UNS LITERALS, IF ANY: END *ASMB,R,L HED "FMT.E" ROUTINE TO DEFINE LIST LU FOR "FMTIO" MODULE NAM FMT.E,7 24998-16002 REV.1901 781107 ENT FMT.E SPC 1 * PURPOSE: * THE REASON THIS ROUTINE IS IN THE LIBRARY IS TO ALLOW * THE USER TO EASILY CHANGE THE LOGICAL UNIT THAT ERROR * MESSAGES GET PRINTED TO BY THE "FMTIO" ROUTINE. (OR * INHIBIT THEM ALL TOGETHER BY SETTING = 0) SPC 1 FMT.E DEC 6 LINE PRINTER SHALL BE DEFAULT * FOR ALL ERROR MESSAGES. END  |A 24998-18013 2001 S C0122 &$SETP SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "$SETP" - SET UP POINTERS. NAM $SETP,6 24998-1X013 REV.2001 781106 * ENT $SETP EXT .ZPRV * A EQU 0 B EQU 1 * * $SETP SETS A COLUMN OF POINTERS TO THE ADDRESSES * OF A SPECIFIC COLUMN IN AN ARRAY, I.E. IT PERFORMS * * DO 10 I=0,COUNT-1 * 10 MEM(B+I)=A+I * * CALLING SEQUENCE: * * LDA * LDB (BIT 15 IGNORED) * JSB $SETP * DEF COUNT NUMBER OF POINTERS TO SET * * * * RETURN: A = 0. * B = B + COUNT (BIT 15 = 0) SPC 3 $SETP NOP JSB .ZPRV FOR SHARING. DEF LIBX STA REGA SAVE A. LDA $SETP,I SET UP COUNT. LDA A,I CMA,INA STA CNT LDA REGA RESTORE A RBL,CLE,ERB CLEAR B<15> SETP1 STA B,I SET A POINTER. INA BUMP VALUE. INB BUMP ADDR. ISZ CNT DONE ? JMP SETP1 NO, AGAIN. CLA YES, CLEAR A & RETURN. ISZ $SETP LIBX JMP $SETP,I DEF $SETP * CNT BSS 1 - COUNT REGA BSS 1 TEMP FOR A. * END    } 24998-18014 2001 S C0122 &$TAN SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "$TAN - 3-WD TAN WITH NO ERROR RETURN" NAM $TAN,7 24998-1X014 REV.2001 780424 * ENT $TAN EXT DTAN,.ENTR * RESLT DEF *-* ARG DEF *-* $TAN NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB DTAN USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP $TAN,I EXIT, IGNORING ERROR RETURN. JMP $TAN,I * END - ~ 24998-18015 2001 S C0122 &%ABS SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL TO IABS * NAM %ABS,7 24998-1X015 REV.2001 750701 ENT %ABS EXT IABS %ABS NOP ENTRY/EXIT ISZ %ABS LDB %ABS,I LDA 1,I LOAD PARAMETER INTO A REGISTER JSB IABS CALL IABS ROUTINE ISZ %ABS JMP %ABS,I RETURN END * *   24998-18016 2001 S C0122 &%AND SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL %AND NAM %AND,7 24998-1X016 REV.2001 750701 ENT %AND %AND NOP ENTRY/EXIT ISZ %AND LDA %AND,I LDA 0,I ISZ %AND LDB %AND,I AND 1,I ISZ %AND JMP %AND,I RETURN END * *   24998-18017 2001 S C0122 &%ANH SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * * N O V E M B E R 6 , 1 9 6 8 * * * * UTILITY ROUTINE CALL TO TANH * NAM %ANH,7 24998-1X017 REV.2001 750701 ENT %ANH EXT TANH %ANH NOP ENTRY/EXIT ISZ %ANH LDB %ANH,I DLD 1,I LOAD PARAMETER INTO A AND B REG JSB TANH CALL TO TANH ROUTINE ISZ %ANH JMP %ANH,I RETURN END * * Ob  24998-18018 2001 S C0122 &%BS SYS INDEPENDENT LIBRARY             H0101 aASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL TO ABS * NAM %BS,7 24998-1X018 REV.2001 750701 ENT %BS EXT ABS %BS NOP ENTRY/EXIT ISZ %BS LDB %BS,I WORD 1 ADDRESS OF CALL DLD 1,I LOAD PARAMETER INTO A AND B REG JSB ABS CALL ABS ROUTINE ISZ %BS JMP %BS,I RETURN END * * O  24998-18019 2001 S C0122 &%FIX SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL TO IFIX NAM %FIX,7 24998-1X019 REV.2001 750701 ENT %FIX EXT IFIX %FIX NOP ISZ %FIX LDB %FIX,I DLD 1,I LOAD PARAMETER INTO A AND B REG JSB IFIX CALL TO IFIX SUBROUTINE ISZ %FIX JMP %FIX,I RETURN END * *   24998-18020 2001 S C0122 &%IGN SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL TO ISIGN * NAM %IGN,7 24998-1X020 REV.2001 750701 ENT %IGN EXT SIGN %IGN NOP ENTRY/EXIT ISZ %IGN LDA %IGN,I STA %10 ISZ %IGN LDA %IGN,I STA %10+1 JSB SIGN CALL SIGN ROUTINE %10 DEF * DEF * ISZ %IGN JMP %IGN,I RETURN END * *   24998-18021 2001 S C0122 &%INT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED CALL BY NAME TO AINT NAM %INT,7 24998-1X021 REV.2001 750701 ENT %INT EXT AINT %INT NOP ISZ %INT LDB %INT,I GET PARAMETER ADDRESS DLD 1,I LOAD PARAMETER INTO A AND B JSB AINT ISZ %INT JMP %INT,I RETURN END * * <  24998-18022 2001 S C0122 &%LOAT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL TO FLOAT NAM %LOAT,7 24998-1X022 REV.2001 750701 ENT %LOAT EXT FLOAT %LOAT NOP ENTRY/EXIT ISZ %LOAT LDB %LOAT,I LDA 1,I LOAD PARAMETER INTO A REGISTER JSB FLOAT CALL FLOAT ROUTINE ISZ %LOAT JMP %LOAT,I RETURN END * * M%  24998-18023 2001 S C0122 &%NT SYS INDEPENDENT LIBRARY             H0101 hASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED CALL BY NAME TO INT NAM %NT,7 24998-1X023 REV.2001 750701 ENT %NT EXT INT %NT NOP ISZ %NT LDB %NT,I DLD 1,I LOAD PARAMETER INTO A AND B JSB INT ISZ %NT JMP %NT,I RETURN END * * r  24998-18024 2001 S C0122 &%OR SYS INDEPENDENT LIBRARY             H0101 jASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL %OR * NAM %OR,7 24998-1X024 REV.2001 750701 ENT %OR %OR NOP ISZ %OR LDA %OR,I LDA 0,I ISZ %OR LDB %OR,I IOR 1,I ISZ %OR JMP %OR,I RETURN END * * e  24998-18025 2001 S C0122 &%OT SYS INDEPENDENT LIBRARY             H0101 kASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE %OT * NOT??? * NAM %OT,7 24998-1X025 REV.2001 750701 ENT %OT %OT NOP ENTRY/EXIT ISZ %OT LDB %OT,I LDA 1,I LOAD PARAMETER INTO A REGISTER CMA COMPLEMENT ISZ %OT JMP %OT,I RETURN END * * -  24998-18026 2001 S C0122 &%SIGN SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * UTILITY ROUTINE CALL TO ISIGN * NAM %SIGN,7 24998-1X026 REV.2001 750701 ENT %SIGN EXT ISIGN %SIGN NOP ISZ %SIGN LDA %SIGN,I STA %10 ISZ %SIGN LDA %SIGN,I STA %10+1 JSB ISIGN CALL TO ISIGN ROUTINE %10 DEF * PARAMETER A DEF * PARAMETER B ISZ %SIGN JMP %SIGN,I RETURN END * * $  24998-18028 2001 S C0122 &..CCM SYS INDEPENDENT LIBRARY             H0101 pASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "..CCM" COMPLEX COMPLEMENT ROUTINE NAM ..CCM,7 24998-1X028 REV.2001 750701 ENT ..CCM EXT ..DLC * * COMPLEMENT COMPLEX VARIABLE IN PLACE * * CALLING SEQUENCE: JSB ..CCM * DEF C * ..CCM NOP LDA ..CCM LDA A,I RAL,CLE,SLA,ERA JMP *-2 STA .C. JSB ..DLC GET REAL AND COMPLEMENT .C. DEF * DST .C.,I AND STORE BACK IN C ISZ .C. ISZ .C. ADDRESS OF IMAG. PART OF C JSB ..DLC GET IMAGINARY AND COMPLEMENT DEF .C.,I DST .C.,I AND STORE BACK IN C ISZ ..CCM JMP ..CCM,I RETURN A EQU 0 END * * * * fd  24998-18029 2001 S C0122 &..MAP SYS INDEPENDENT LIBRARY             H0101 pASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "..MAP" FTN4 1,2 & 3 ARRAY ADDRESS CALC. ROUTINE (DLB) NAM ..MAP,7 24998-1X029 REV.2001 751101 ENT ..MAP SPC 1 * SPC 1 * PURPOSE: * THIS ROUTINE IS USED BY FORTRAN IV COMPILED CODE TO CALCULATE * THE MEMORY ADDRESS OF AN ARRAY. SPC 1 * USED: * FORTRAN IV * WHERE "ARRAY" CAN BE INTEGER, REAL, DOUBLE PRECISION OR COMPLEX * ARRAY(I) = VALUE * ARRAY(I,J) = VALUE * ARRAY(I,J,K) = VALUE SPC 1 * CALLED: * ONE DIMENSION TWO DIMENSIONS THREE DIMENSIONS * * CCA, CLA, CLA,INA, * LDB WDSPD LDB WDSPD LDB WDSPD * JSB ..MAP JSB ..MAP JSB ..MAP * DEF BASEA DEF BASEA DEF BASEA * DEF ELEM1 DEF ELEM1 DEF ELEM1 * P+3 DEF ELEM2 DEF ELEM2 * DEF DIMN1 DEF ELEM3 * P+5 DEF DIMN1 * DEF DIMN2 * P+7 SPC 1 * WHERE: * WDSPD = NUMBER OF WORDS PER ELEMENT IN ARRAY (1,2,3 OR 4) * A-REG = NUMBER OF DIMENSIONS-2 IN THE ARRAY (-1,0,+1) FOR * 1, 2 OR 3 DIMENSIONS * E-REG = 1 IF A STORE TO THIS ELEMENT, OR 0 IF READ FROM ELEMENT * BASEA = POINTER TO "ADDRESS" OF 1ST ELEMENT O]BF ARRAY * ELEM1 = POINTER TO "VALUE" OF 1ST SUBSCRIPT OF ARRAY * ELEM2 = POINTER TO "VALUE" OF 2ND SUBSCRIPT OF ARRAY * ELEM3 = POINTER TO "VALUE" OF 3RD SUBSCRIPT OF ARRAY * DIMN1 = POINTER TO "VALUE" OF 1ST SUBSCRIPT DECLARATOR * DIMN2 = POINTER TO "VALUE" OF 2ND SUBSCRIPT DECLARATOR SPC 1 * RETURN: * A-REG = THE 15 BIT MEMORY ADDRESS OF THE ELEMENT OF THE ARRAY * SPC 1 * TIME: * ABOUT 40-50 2100A MACHING CYCLES FOR 1 DIMENSION ARRAYS. * ABOUT 60-70 + 1 MPY INSTRUCTION FOR 2 DIMENSIONAL ARRAYS. * ABOUT 80-90 + 2 MPY INSTRUCTIONS FOR 3 DIMENSIONAL ARRAYS. SPC 1 * NOTES: * THE FORTRAN COMPILER MAY NOT USE THIS ROUTINE FOR ONE * DIMENSIONAL ARRAYS. THE E-REGISTER MAY BE IGNORED IF THE * ENTIRE ARRAY IS CONTAINED IN ONE 32767 WORD ADDRESS SPACE. SPC 1 ..MAP NOP A=-1>1DIMS A=0>2DIMS A=1>3DIMS STB SLEN SAVE # WORDS PER ELEMENT LDB ..MAP SET THE SIGN BIT OF ADB BIT15 P+1 POINTER FROM ..MAP STB BASE SAVE INDIRECT POINTER TO BASE INB TO ALL THE "DEF'S" FOLLOWING STB S1 SAVE SUBSCRIPT ADDRESS SSA,RSS CHECK IF ONE DIMENSION JMP T2OR3 NO, MUST BE 2 OR 3 ELSIZ INB BUMP TO RETURN ADDRESS RBL,CLE,ERB STRIP OFF BIT 15 STB ..MAP SET RETURN ADDRESS ADA S1,I SUBSCRIPT AND ADD LDB SLEN MPY THE RESULTS BY THE NUMBER CPB D1 AOF WORDS PER ELEMENT IN THE ARRAY. JMP INTG MPY BY ONE STA S1 SAVE A TEMP CPB D4 MPY BY 4 ALS COMPLEX ALS MPY BY 2 (DEFAULT), REAL CPB D3 ADA S1 MPY BY 3, DOUBLE PRECISION INTG ADA BASE,I ADD IN THE BASE ADDRESS OF JMP ..MAP,I THE ARRAY AND RETURN SPC 1 T2OR3 ERA SET E=0>2DIMS, E=1>DIMS INB STB S2 SUBSCRIPT 2 INB CCA,SEZ CHECK IF 2 OR 3 DIMENSIONS g JMP THREE STB DIM1 SAVE DIMENSION ONE LENGTH STB RTN SAVE RETURN ADDRESS SPC 1 CONT ADA S2,I DECREMENT SUBSCRIPT VALUE MPY DIM1,I MPY BY SUBSCRIPT 1 LENGTH DIM1 EQU *-1 DEFINE P+1 FROM MPY INSTRUCTION ADA DM1 SUBTRACT ONE FROM 1ST LDB RTN RESTORE B-REG JMP ELSIZ SPC 1 DM1 DEC -1 S1 NOP S2 NOP S3 NOP BASE NOP BIT15 OCT 100000 SLEN NOP D1 DEC 1 D3 DEC 3 D4 DEC 4 SPC 1 THREE STB S3 SAVE 3RD SUBSCRIPT INB STB DIM1 DIMENSION 1 LENGTH INB STB DIM2 DIMENSION 2 LENGTH STB RTN SAVE RETURN ADDRSESS ADA S3,I DECREMENT 3RD SUBSCRIPT VALUE MPY DIM2,I MPY BY THE 2ND SUB DIMENSION VALUE DIM2 EQU *-1 P+1 OF MPY INSTRUCTION ADA DM1 DECREMENT THE NEXT SUBSCRIPT JMP CONT (EXTRA INSTR FOR TIME SAVE) RTN NOP END * * * *   24998-18030 2001 S C0122 &.ABS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ABS" - TRIPLE PRECISION ABSOLUTE VALUE. NAM .ABS,7 24998-1X030 REV.2001 781016 * ENT .ABS EXT .CFER,.TSUB,.4ZRO,.ENTR * * ABS TAKES THE TRIPLE-PRECISION ABSOLUTE VALUE OF * A TRIPLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * JSB .ABS * DEF *+3 * DEF * DEF * * IF THE ARGUMENT IS -2**127, THE VALUE (1-2**-55)*2**127 IS * RETURNED AND THE OVERFLOW BIT IS SET. SPC 4 RESLT DEF *-* ARG DEF *-* .ABS NOP JSB .ENTR COPY ADDRESSES DEF RESLT LDB ARG,I FIRST WORD ARG SSB,RSS POS? JMP ABS1 YES JSB .TSUB NO, NEGATE DEF RESLT,I DEF .4ZRO+0 DEF ARG,I JMP .ABS,I EXIT ABS1 JSB .CFER POS, JUST COPY DEF RESLT,I DEF ARG,I CLO JMP .ABS,I EXIT * END   24998-18031 2001 S C0122 &.CDBL SYS INDEPENDENT LIBRARY             H0101 }ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CDBL" DOUBLE VALUE = REAL(COMPLEX VALUE) (DLB) NAM .CDBL,7 24998-1X031 REV.2001 750701 ENT .CDBL EXT DBLE SPC 1 * * CALLED: * JSB .CDBL * DEF D * DEF C * D = REAL(C) SPC 1 .CDBL NOP LDA .CDBL,I STA DEFD ISZ .CDBL BUMP TO C LDA .CDBL,I GET DEF C STA DEFR ISZ .CDBL SEQUENCE. JSB DBLE CALLS DBLE. DOUBLE STORED IN RES DEF *+3 DEFD DEF * DEFR DEF * JMP .CDBL,I RETURN END * ѩ  24998-18032 2001 S C0122 &.CHEB SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CHEB" CHEBY. COEFF'S ROUTINE NAM .CHEB,6 24998-1X032 REV.2001 750701 ENT .CHEB EXT .ZRNT * * * CALL.. * * DLD X (FLOATING) * JSB .CHEB (RESULT FLOATING) * DEF C (TABLE OF CHEBY. COEFF'S., FLOATING) * .CHEB NOP JSB .ZRNT DEF LIBX STA X2 STB X2+1 X2=X FAD X2 STA X2 STB X2+1 X2=2*X LDB .CHEB LDA .CHEB+1 SSA,RSS STB TDB+2 LDA TDB+2 LDA .A.,I RAL,CLE,SLA,ERA JMP *-2 TRACK DOWN INDIRECTS STA C C POINTS TO COEFFICIENT TABLE DLD C,I GET FIRST COEFF. STA D STB D+1 D=C(N) CLA STA B STA B+1 B=0 LOOP ISZ C ISZ C N=N-1 LDA C,I SZA,RSS C(N)=0 ? JMP OUT ZERO FLAGS END OF TABLE LDA B NO LDB B+1 STA A STB A+1 A=B LDA D LDB D+1 STA B STB B+1 B=D FMP X2 FSB A FAD C,I STA D STB D+1 D=C(N)-A+B*X2 JMP LOOP OUT LDA D LDB D+1 FSB A FMP HLF ISZ TDB+2 LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 1 HLF DEC .5 TDB NOP DEC 12 NOP X2 REP 2 NOP C NOP D REP 2 NOP B REP 2 B   NOP A REP 2 NOP .A. EQU 0 END * * * * J\   24998-18033 2001 S C0122 &.CINT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CINT" COMPLEX TO INTEGER (DLB) NAM .CINT,7 24998-1X033 REV.2001 750701 ENT .CINT EXT IFIX SPC 1 * * CALLING SEQUENCE: * * JSB .CINT * DEF C * A-REG = INTEGER OF REAL(C) SPC 1 .CINT NOP LDA .CINT,I DLD A,I GET REAL PORTION JSB IFIX IFIX CONVERTS REAL TO INTEGER ISZ .CINT INTEGER STOR JMP .CINT,I A EQU 0 END * >X  24998-18034 2001 S C0122 &.CTBL SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CTBL" - CONVERT COMPLEX TO TRIPLE. NAM .CTBL,7 24998-1X034 REV.2001 780424 * ENT .CTBL EXT .BLE * * .CTBL CONVERTS A COMPLEX NUMBER TO A TRIPLE-PRECISION * NUMBER. THE CONVERSION IS EXACT. * * CALLING SEQUENCE: * * JSB .CTBL * DEF * DEF * SPC 4 .CTBL NOP LDA .CTBL,I COPY ADDR RESULT. STA RESLT ISZ .CTBL LDA .CTBL,I COPY ADDR ARG. STA ARG ISZ .CTBL JSB .BLE USE .BLE TO DO IT. DEF *+3 RESLT DEF *-* ARG DEF *-* JMP .CTBL,I EXIT. * END   24998-18035 2013 S C0122 &.CTOI SYSTEM IND. LIB.             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18035 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CTOI" COMPLEX TO INTEGER POWER NAM .CTOI,7 24998-1X035 REV.2013 791022 ENT .CTOI EXT .ZRNT,.ENTC,.CFER EXT .CMPY,.CDIV SPC 1 * * CALLING SEQUENCE * CY = CX**I * JSB .CTOI * DEF CY * DEF CX * DEF I * * SPC 2 C BSS 4 BASE CY NOP CX NOP I NOP .CTOI NOP STA SAVEA STB SAVEB JSB ENTR1 STA CY ADDRESS OF RESULT JSB ENTR1 STA CX ADDRESS OF BASE JSB ENTR1 STA I ADDRES OF POWER LDA SAVEA LDB SAVEB POWER MIGHT BE IN A OR B LDA I,I STA I JSB .CFER MOVE CX INTO TEMP C DEF C DEF CX,I LDA C+2 LDB C SZA,RSS C=0 ? SZB JMP NOTZO LDA I YES. SSA,RSS I < 0 SZA,RSS OR I = 0 ? JMP ERROR YES. ERROR CONDITION JSB .CFER I > 0 , THEN Y = 0 DEF CY,I DEF CZERO EXIT ISZ .CTOI JMP LIBX ERROR LDA MSG LDB MSG+1 LIBX JMP .CTOI,I * MSG ASC 2,14UN NOTZO JSB .CFER DEF CY,I DEF CONE LDA I SZA,RSS I=0 ? JMP EXIT YES. ANSWER= 1 + 0I STA CX SAVE SIGN OF EXPONENT SSA CMA,INA SET I = /I/ STA I LOOP LDA I SLA,RSS LAST BIT OF I = 0   ? JMP *+5 JSB .CMPY NO. Y = Y * C DEF CY,I DEF CY,I DEF C LDA I ARS DIVIDE I BY 2 SZA,RSS I = 0 ? JMP FINIS YES. STA I NO. SAVE I JSB .CMPY C = C * C DEF C DEF C DEF C JMP LOOP DO IT AGAIN FINIS LDA CX I > 0 ? SSA,RSS JMP EXIT YES. FINISHED JSB .CDIV NO. Y = 1 / Y DEF CY,I DEF CONE DEF CY,I JMP EXIT DONE SPC 1 * ENTR1 NOP ROUTINE TO GET NEXT ADDR IN PARAM LIST LDA .CTOI ADDR ADDR PARAM ISZ .CTOI LDB SAVEB RESTORE ORIGINAL B ENTR2 STA T2 SAVE ADDR TO INDIRECT THRU LDA SAVEA RESTORE ORIGINAL A LDA T2,I DO THE INDIRECT RAL,CLE,SLA,ERA JMP ENTR2 INDIRECT BIT WAS SET, TRY AGAIN JMP ENTR1,I EXIT SAVEA BSS 1 SAVEB BSS 1 T2 BSS 1 CONE DEC 1.0 CZERO DEC 0.0,0.0 END * ^\   24998-18036 2001 S C0122 &.DADS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DADS" - DOUBLE INTEGER ADD & SUBTRACT. NAM .DADS,7 24998-1X036 REV.2001 780818 * ENT .DAD,.DSB,.DSBR * A EQU 0 B EQU 1 * * .DADS ADDS OR SUBTRACTS DOUBLE INTEGERS, GIVING A DOUBLE INTEGER * RESULT. THE NUMBER FORMAT IS: * FIRST WORD = SIGN, MSB IN A-REG OR LOCATION K. * SECOND WORD = LSB IN B-REG OR LOCATION K+1. * THE OPERATIONS PERFORMED ARE: * .DAD (A,B) _ (A,B) + MEM * .DSB (A,B) _ (A,B) - MEM * .DSBR (A,B) _ MEM - (A,B) * * CALLING SEQUENCE: * * DLD * JSB <.DAD,.DSB OR .DSBR> * DEF * * * IF OVERFLOW OCCURS, THE OVERFLOW BIT IS SET AND THE LEAST * SIGNIFICANT 32 BITS OF THE RESULT ARE RETURNED, ELSE * OVERFLOW IS CLEARED. THE "E" BIT IS CHANGED ONLY IF IT * IS CLEAR AND A CARRY OUT OF BIT 31 OCCURS. SKP * ".DAD" AND COMMON CODE. * .DAD NOP STA ARG1 SAVE ARG 1 STB ARG1+1 CCA SET FLAG. STA FLAG ERA,CLE SAVE E-BIT. STA E LDA .DAD,I GET ARG 2 STA ARGP MAY BE IN (A,B) ! LDA ARG1 DAD1 DLD ARGP,I DAD2 ISZ .DAD SKIP ARG. ADB ARG1+1 ADD LOWERS. CLO IGNORE OFL IN LOWER ADD SEZ,CCE,RSS CARRY ? JMP DAD4 NO. r ISZ E RESTORE E. CLE SSA YES. A<0 ? JMP DAD3 YES, ADD CARRY FIRST. ADA ARG1 NO, ADD UPPERS FIRST. INA THEN CARRY JMP DAD6 GO CHECK FLAG. DAD3 INA A<0, ADD CARRY FIRST. JMP DAD5 DAD4 ISZ E RESTORE E CLE DAD5 ADA ARG1 THEN UPPERS. DAD6 ISZ FLAG ADD OR E WAS SET ? CME NO, BORROW = .NOT. CARRY JMP .DAD,I EXIT SKP * ".DSBR" * .DSBR NOP STB ARG1 SAVE ORIGINAL B. CCB SAVE E BIT ERB STB E STB FLAG FLAG = (ADD).OR.(E) LDB ARG1 CMA,CLE NEGATE FIRST ARG (IN A & B) CMB,INB LEAVE E WITH CARRY INTO UPPER. STB ARG1+1 SAVE 2ND WD NEGATED 1ST ARG. LDB .DSBR COPY ENTRY PT. STB .DAD LDB B,I SAVE ADDR ARG. STB ARGP LDB ARG1 RESTORE ORIGINAL ARG. STA ARG1 SAVE 1ST WD NEGATED 1ST ARG. CMA (2ND ARG MAY BE IN (A,B) TOO) JMP DAD1 FINISH USING ".DAD" * * ".DSB" * .DSB NOP STA ARG1 SAVE ARG 1 STB ARG1+1 CCA SAVE E-BIT ERA STA E STA FLAG FLAG = (ADD).OR.(E) LDA .DSB COPY ENTRY PT STA .DAD LDA A,I GET SECOND ARG STA ARGP MAY BE IN (A,B) ! LDA ARG1 DLD ARGP,I CMA,CLE NEGATE IT CMB,INB LEAVE CARRY IN E. JMP DAD2 FINISH USING ".DAD" * * LOCALS. * ARG1 BSS 2 TEMP FOR ARG 1 OR 2. ARGP BSS 1 ADDR OF ARG. FLAG BSS 1 -1 IFF (SUBTRACT) & (E) E BSS 1 -1 IFF (E) END '   24998-18037 2001 S C0122 &.DCO SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DCO" - DOUBLE INTEGER COMPARE. NAM .DCO,7 24998-1X037 REV.2001 790417 * ENT .DCO * A EQU 0 B EQU 1 * * .DCO COMPARES TWO DOUBLE INTEGERS. A,B,E & O ARE PRESERVED. * * CALLING SEQUENCE: * * DLD * JSB .DCO * DEF * [RETURN IF ARG1=ARG2] * [RETURN IF ARG1ARG2] SPC 2 .DCO NOP STA SAVEA SAVE A & B. STB SAVEB ERA,ALS SAVE E & O. SOC INA STA E&O LDA .DCO,I GET ARG2. STA ARGP MAY BE IN (A,B) ! LDA SAVEA DLD ARGP,I XOR SAVEA SIGNS SAME ? SSA JMP DCO1 NO, ALREADY HAVE ANSWER. XOR SAVEA YES, SUBTRACT. CMA -ARG2-1 ADA SAVEA ARG1-ARG2-1 CMA,SZA ARG2-ARG1. UPPER WORDS EQUAL ? JMP DCO2 NO, HAVE ANSWER. (+ IS <) CMB,CLE (1-E,B) = -ARG2L-1, 17-BIT. ADB SAVEB (1-E,B) = ARG1L-ARG2L-1 CMB,SZB,RSS (E,B) = ARG2L-ARG1L. EQUAL ? JMP DCO3 YES. ALS,SLA,ERA COPY SIGN TO A, SKIP. DCO1 XOR SAVEA RESTORE ARG2 DCO2 ISZ .DCO SKIP "=" RETURN SSA ARG2-ARG1>0 ? ISZ .DCO NO, ARG1>ARG2, SKIP "<" RETURN DCO3 ISZ .DCO SKIP ARG ADDR LDA E&O 9   RESTORE E & O. CLO SLA,ELA STO LDA SAVEA RESTORE A & B. LDB SAVEB JMP .DCO,I EXIT * SAVEA BSS 1 SAVEB BSS 1 ARGP BSS 1 ADDR ARG E&O BSS 1 E & O. END á   24998-18038 2001 S C0122 &.DCPX SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .DCPX,7 24998-1X038 REV.2001 750701 ENT .DCPX EXT SNGL,CMPLX .DCPX NOP LDA .DCPX,I STA *+11 STORES RES LOCATION FOR SNGL ISZ .DCPX CALLING SEQUENCE LDA .DCPX,I STA *+3 STORES VAR LOCATION FOR CMPLX JSB SNGL CALLING SEQUENCE DEF *+2 NOP DST .TEMP STORES SINGLE PRECISION CONVERSN JSB CMPLX DEF *+4 NOP DEF .TEMP DEF ZERO IMAGINARY PART IS 0.0 ISZ .DCPX JMP .DCPX,I .TEMP REP 2 NOP ZERO DEC 0.0 END * * 3a  24998-18039 2001 S C0122 &.DDE SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DDE" - DOUBLE INTEGER DECREMENT. NAM .DDE,7 24998-1X039 REV.2001 780818 * ENT .DDE * A EQU 0 B EQU 1 * * .DDE SUBTRACTS ONE FROM A DOUBLE INTEGER. * * CALLING SEQUENCE: * * DLD * JSB .DDE * (A,B) = RESULT * * IF THE ARGUMENT IS (100000,000000) THE VALUE (077777,177777) * IS RETURNED AND THE OVERFLOW BIT IS SET, ELSE IT IS CLEARED. * THE "E" BIT IS CHANGED ONLY IF BOTH IT AND THE ARGUMENT ARE ZERO. SPC 4 .DDE NOP CLO NEGATE ARGUMENT. CMA CMB ISZ B JMP *+2 INA CMA COMPLEMENT IT. CMB JMP .DDE,I * END |k  24998-18040 2001 S C0122 &.DDI SYS INDEPENDENT LIBRARY             H0101 ASMB,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DDI" - DOUBLE INTEGER DIVIDE. NAM .DDI,7 24998-1X040 REV.2001 781021 * ENT .DDI,.DDIR EXT FLOAT * A EQU 0 B EQU 1 SUP * * .DDI TAKES THE QUOTIENT OF TWO DOUBLE INTEGERS. SEE ".DADS" * FOR THE NUMBER FORMAT. NOTE: THE INSTRUCTION "DIV" IS NOT * COMPATIBLE WITH .DDI . * * CALLING SEQUENCE: * * DLD * JSB <.DDI OR .DDIR> * DEF * RESULT IN (A,B) * * FOR ".DDI", THE RESULT IS ARG1/ARG2. FOR ".DDIR" THE RESULT IS * ARG2/ARG1. THE OVERFLOW BIT IS SET IFF THE DIVISOR IS ZERO OR * THE DIVIDEND IS -2**31 AND THE DIVISOR IS -1. IN THIS CASE * THE VALUE RETURNED IS (077777,177777). THE E-BIT IS PRESERVED. SPC 2 * ENTRY. COPY ARGS, DETERMINE SIGN OF RESULT, TAKE ABS VALUES. * .DDI NOP STA D1 REMEMBER SIGN OF NUMERATOR. ERA REMEMBER "E" STA E LDA D1 SSA,RSS TAKE ABS VALUE. JMP DIVA CMA CMB,INB,SZB,RSS INA DIVA STA N1 (N1,N2) = ABS NUMERATOR STB N2 LDB .DDI,I GET DENOM ADDR. ISZ .DDI LDA B,I COMPUTE SIGN OF RESULT. XOR D1 IOR =B77777 = -1 IFF SIGN RESULT IS "-". STA SIGN DLD B,I SSA,RSS TAKE ABS VALUE JMLP DIVB CMA CMB,INB,SZB,RSS INA DIVB STA D1 (D1,D2) = ABS VALUE DENOMINATOR STB D2 SKP * DETERMINE IF EASY OR HARD. IF EASY, DO IT. * SWP ASL 16 DOES DENOM FIT IN ONE WORD ? SOC JMP DIV2 NO. CLB YES. USE EASY WAY. LDA N1 UPPER DIVIDE. DIV D2 SOC DIVIDE BY ZERO ? JMP SPEC2 YES. [ALSO (MAX NEG)/(+-1)] SSA CORRECT FOR DENOM = 2**15. CMA,INA STA Q1 UPPER RESULT. SSB CORRECT FOR DENOM = 2**15. CMB,INB LDA N2 FORM FULL REMAINDER. ASR 1 CAN ONLY GENERATE 15 BITS. DIV D2 FORM THEM. RAL POSITION. STA Q2 LDA N2 FORM REMAINDER. ERA E = LAST BIT QUOTIENT. ELB TACK ON TO REM. CMB,INB FORM DIVISOR - REMAINDER. ADB D2 CMB,SSB,INB,SZB REM >= DIV ? (B = REM - DIV) RSS NO. ISZ Q2 YES. Q <-- Q + 1 JMP FINIS GO ATTACH SIGN. SPC 4 * .DDIR - REVERSE DIVIDE. * .DDIR NOP STA Q1 JUST SET UP CALL TO .DDI STB Q2 LDA .DDIR,I ISZ .DDIR DLD A,I JSB .DDI DEF Q1 JMP .DDIR,I SKP * DIVISOR DOES NOT FIT IN ONE WORD. DO HARD WAY. * DIV2 STA Q1 ZERO OUT UPPER RESULT (A=0) STA Q2 & LOWER IN CASE HAVE 2**15 BIT. LDA D1 GET SHIFT COUNT TO MAKE DIVISOR SINGLE. JSB FLOAT RBR B = COUNT - 1 CPB =D15 WHOLE WORD ? JMP DIV10 YES, BIG DIVISOR, HANDLE SEPARATELY. ADB LSR01 NO. FORM "LSR N" STB DIV3 WILL USE IT FOUR TIMES. STB DIV4 STB DIV5 STB DIV6 LDB D1 RIGHT SHIFT DENOMINATOR. LDA D2 DIV3 LSR 16 LDB D2 STA D1 CLA DIV4 LSPR 16 STA D2 LDB N2 RIGHT SHIFT NUMERATOR. CLA DIV5 LSR 16 LDB N2 STA N2 LDA B LDB N1 DIV6 LSR 16 * * (B,A) = (N0,N1). FORM TENTATIVE QUOTIENT. * DIV7 STB N0 STA N1 DIV D1 FORM IT. SOS OFL ? JMP DIV8 NO. LDB N0 YES. GEN FIRST 15 BITS, THEN REST. LDA N1 ASR 15 DIV D1 RAR,SLA IS 1 OR 2: IF 2, JMP SPEC1 (MAX NEG) / (+-32768, +-32769) STA Q2 WAS 1. VALUE IS 2**15. LDA N1 FORM REMAINDER. CLE,ERB RAL,ERA JMP DIV7 TRY AGAIN. (IT BETTER WORK THIS TIME) SKP * FORM TRUE REMAINDER. * DIV8 IOR Q2 ADD 2**15 BIT IF PRESENT. STA Q2 TENTATIVE QUOTIENT. STB N1 (N1,N2) = REMAINDER. MPY D2 ADJUST FOR D2: SUBTRACT Q2*D2 FROM REM. STA N0 (UNSIGNED MPY: UNDO CORRECTIONS FOR SIGNS) LDA Q2 SSA ADB D2 LDA D2 SSA ADB Q2 LDA N0 CMB,CLE NEGATE Q2*D2 CMA,INA (E = CARRY) ADA N2 + (N1,N2) SEZ INB ADB N1 (B,A) = TENTATIVE REMAINDER. * * IF REM < 0, DECREMENT QUOTIENT & ADD DIV TO REM. * DIV8B CLE,SSB,RSS REM < 0 ? JMP FINIS NO. ADA D2 YES. ADD DIVISOR. SEZ INB ADB D1 STB N1 FIX QUOTIENT. CCB ADB Q2 STB Q2 LDB N1 GO RECHECK. JMP DIV8B * * ATTACH SIGN. (B = RESULT LOWER) * FINIS LDB Q2 (B = 2ND WD RESULT) FINI0 LDA Q1 (A = 1ST WD RESULT) ISZ SIGN POS ? JMP FINI1 YES. CMA NO, NEGATE. CMB,INB,SZB,RSS INA FINI1 CLO "O" CLEARED. FINI2 STA Q1 RESTORE "E" & EXIT. LDA E ELA LDA Q1 (A,B) = RESULT. JMP .DDI,I EXIT. SKP * DIVISOR IN [-2**31,-2**30) OR [2**30,2**31). * DIV10 CLB DO DIVISION. D1 MAX BE MAX NEG. LDA N1 DIV D1 (0,N1) / D1 SSA SPECIAL CASE: (MAX NEG) / (MAX NEG) CMA,INA (JUST LET IT GO THRU) JMP DIV8 * * SPECIAL CASE: (MAX NEG) / (32768) = 65536. [REM=0] * (MAX NEG) / (32769) = 65534. [REM=2] * SPEC1 LDB D2 0 IF 32768, 100000 IF 32769. SSB,RSS IF 32768, ISZ Q1 UPPER WORD = 1. (65536) ASR 14 LOWER WORD: 0 OR 65534. JMP FINI0 FINISH UP. * * SPECIAL CASE: DIV BY ZERO * (MAX NEG) / (+-1) [REM=0] * SPEC2 LDB SIGN SEE IF OFL OR NOT. LDA D2 CPA =D1 D2 MUST BE 1. INB,SZB AND SIGN MUST BE < 0. JMP OFL NOPE. RAR (MAX NEG) / 1, RESULT = MAX NEG. JMP FINI1 * * OFL. DIV BY ZERO OR (MAX NEG) / (-1) * OFL LDA =B77777 (A,B) = MAX POS. CCB STO "O" SET. JMP FINI2 RESTORE "E" & EXIT. * * LOCALS. * N0 BSS 1 NUMERATOR & REMAINDER. N1 BSS 1 N2 BSS 1 D1 BSS 1 DENOMINATOR. D2 BSS 1 Q1 BSS 1 QUOTIENT. Q2 BSS 1 E BSS 1 "E" SIGN BSS 1 SIGN OF RESULT. LSR01 LSR 1 CONSTANT. UNS END )  24998-18041 2001 S C0122 &.DDS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DDS" - DOUBLE INTEGER DECREMENT AND SKIP IF ZERO. NAM .DDS,7 24998-1X041 REV.2001 780818 ENT .DDS * * .DDS DECREMENTS A DOUBLE INTEGER IN MEMORY AND SKIPS IF * THE RESULT IS ZERO. A,B,E & O ARE PRESERVED. * * CALLING SEQUENCE: * * JSB .DDS * DEF * * SKP .DDS NOP STA SAVEA SAVE A,B STB SAVEB ERA,ALS ALS SAVE E,O SOC INA STA E&O LDA .DDS GET ARG ADDR. ISZ .DDS STA TEMP RESOLVE IND: ADDR MAY BE IN -A-. LDA SAVEA JUST IN CASE. LDA TEMP,I RAL,CLE,SLA,ERA JMP *-4 STA TEMP DIRECT ADDR ARG. ADA =D-1 -1 IFF ARG IN (A,B) STA A&B LDA SAVEA IN CASE (A,B) DLD TEMP,I GET ARG. SZB,RSS BORROW ? ADA =D-1 YES, DO IT. ADB =D-1 SZA,RSS RESULT ZERO ? SZB JMP *+2 NO. ISZ .DDS YES, SKIP. DST TEMP,I STORE RESULT. (NOP IF IN A&B) STA TEMP RESTORE E&O. LDA E&O CLO SLA,ELA STO LDA TEMP ISZ A&B ARG IN (A,B) ? JMP *+2 NO. JMP .DDS,I YES, DONE. LDA SAVEA RESTORE A,B LDB SAVEB JMP .DDS,I EXIT * SAVEA BSS ҿ  1 SCRATCH FOR A,B SAVEB BSS 1 TEMP BSS 1 ADDR ARG A&B BSS 1 FLAG: -1 IFF ARG IN (A,B) E&O BSS 1 E & O * END   24998-18042 2001 S C0122 &.DIN SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DIN" - DOUBLE INTEGER INCREMENT. NAM .DIN,7 24998-1X042 REV.2001 780818 * ENT .DIN * A EQU 0 B EQU 1 * * .DIN ADDS ONE TO A DOUBLE INTEGER. * * CALLING SEQUENCE: * * DLD * JSB .DIN * (A,B) = RESULT * * IF THE ARGUMENT IS (077777,177777) THE VALUE (100000,000000) * IS RETURNED AND THE OVERFLOW BIT IS SET, ELSE THE OVERFLOW * BIT IS CLEARED. THE "E" BIT IS CHANGED ONLY IF IT IS CLEAR * AND THE ARGUMENT IS -1. SPC 4 .DIN NOP CLO CLEAR OFL ISZ B INCREMENT LOWER. JMP .DIN,I NO CARRY, EXIT. INA PROPOGATE CARRY. JMP .DIN,I EXIT * END   24998-18043 2001 S C0122 &.DINT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DINT" DOUBLE TO INTEGER TRUNCATION NAM .DINT,6 24998-1X043 REV.2001 780921 ENT .DINT,.XFXS EXT .ZPRV,SNGM,IFIX SPC 2 * * CALLING SEQUENCE: * JSB .DINT * DEF X (3 WORD ARGUMENT) * (RESULT IN A) SPC 2 .DINT NOP .XFXS EQU .DINT JSB .ZPRV DEF LIBX LDA .DINT,I A CONTAINS ADDRESS OF X STA DEFX STORE ADDRESS OF ARGUMENT JSB SNGM CONVERT TO REAL DEF *+2 DEFX DEF * JSB IFIX CONVERT TO INTEGER ISZ .DINT SET RETURN ADDRESS LIBX JMP .DINT,I DEF .DINT END *   24998-18044 2001 S C0122 &.DIS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DIS" - DOUBLE INTEGER INCREMENT AND SKIP IF ZERO. NAM .DIS,7 24998-1X044 REV.2001 780818 * ENT .DIS * A EQU 0 B EQU 1 * * .DIS INCREMENTS A DOUBLE INTEGER IN MEMORY AND SKIPS IF * THE RESULT IS ZERO. A,B,E & O ARE PRESERVED. * * CALLING SEQUENCE: * * JSB .DIS * DEF * * SPC 4 .DIS NOP STA SAVEA SAVE A LDA .DIS GET ADDR ARG ISZ .DIS DIS1 AND =B77777 (TAKE CARE TO PRESERVE "E") STA AARG RESOLVE IND: ADDR MAY BE IN -A-. LDA SAVEA JUST IN CASE. LDA AARG,I SSA JMP DIS1 STA AARG SAVE IT INA ADDR 2ND WD STA AARG+1 MAY BE IN (A,B) ! LDA SAVEA ISZ AARG+1,I BUMP 2ND WD. JMP .DIS,I NOT ZERO, DONE. ISZ AARG,I BUMP 1ST WD JMP .DIS,I NOT ZERO, DONE. ISZ .DIS ZERO, SKIP. JMP .DIS,I EXIT * SAVEA BSS 1 FOR A AARG BSS 2 ADDR ARG * END 4  24998-18045 2001 S C0122 &.DMP SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DMP" - DOUBLE INTEGER MULTIPLY. NAM .DMP,7 24998-1X045 REV.2001 780818 * ENT .DMP * A EQU 0 B EQU 1 * * .DMP TAKES THE PRODUCT OF TWO DOUBLE INTEGERS. SEE ".DADS" * FOR DATA FORMAT. * NOTE: THE INSTRUCTION "MPY" IS NOT COMPATIBLE WITH ".DMP" ! * * CALLING SEQUENCE: * * DLD * JSB .DMP * DEF * * * IF OVERFLOW OCCURS, THE OVERFLOW BIT IS SET AND THE VALUE * (077777,177777) IS RETURNED, ELSE OVERFLOW IS CLEARED. * THE E-BIT IS PRESERVED. SPC 3 * COPY ARGS, DECIDE WHICH IS SHORT (IN [-2**15,+2**15) ). * .DMP NOP STA ARG1 SAVE ARG 1 STB ARG1+1 CCA SAVE "E". ERA STA E LDA B SWAP LDB ARG1 ASL 16 O=0 IF SHORT CLE COPY O TO E SOC CCE LDA .DMP,I COPY ARG 2 ISZ .DMP STA ARG2 MAY BE IN (A,B) ! LDA ARG1 LDB ARG1+1 DLD ARG2,I STA ARG2 STB ARG2+1 SWP ASL 16 O=0 IF SHORT SKP * NOW E=0 IFF ARG1 SHORT, O=0 IFF ARG2 SHORT. * CHECK IF SIMPLE MULTIPLY OR REVERSED ORDEFR. * SOC ARG 2 SHORT ? JMP DMP1 NO. SEZ,RSS YES, ARG 1 S)aHORT ? JMP DMP4 YES, SIMPLE MULTIPLY. LDA ARG1 NO, LONG*SHORT, SWITCH. LDB ARG2 STB ARG1 STA ARG2 LDA ARG1+1 LDB ARG2+1 STB ARG1+1 STA ARG2+1 * * NOW ARG2 IS OUTSIDE [-2**15,+2**15). ASSUME THAT * ARG1 IS IN [-2**16,+2**16). FORM THE PRODUCT * (ARG1L)*(ARG2U,ARG2L), WHICH IS A 16-BIT UNSIGNED * BY 32-BIT SIGNED MULTIPLY, YIELDING A 48-BIT SIGNED * RESULT. THE PRODUCT CANNOT OVERFLOW. * DMP1 LDA ARG1+1 ARG1L*ARG2L MPY ARG2+1 STA RES+1 LDA ARG2+1 CORRECT FOR ARG2L<15> SSA ADB ARG1+1 LDA ARG1+1 CORRECT FOR ARG1L<15> SSA ADB ARG2+1 STB RES MPY ARG2 ARG1L*ARG2U CLE FORM MIDDLE RESULT WORD. ADA RES STA RES SEZ PROPOGATE CARRY INB LDA ARG1+1 CORRECT FOR ARG1L<15> SSA ADB ARG2 * * THE PRODUCT IS NOW IN (B,RES,RES+1). VERIFY THAT * ARG1 IS IN [-2**16,+2**16). * LDA ARG1 UPPER WORD MUST BE ZERO OR -1. SZA,RSS JMP DMP3 ZERO, PRODUCT IS O.K. INA,SZA JMP OFL NOT -1, OVERFLOW. SKP * ARG1U = -1, CORRECT FOR IT: SUBTRACT ARG2 * 2**16 . * IF ARG2 = MAX NEG #, THE WHOLE PRODUCT OVERFLOWS. * IF NOT, THE WHOLE PRODUCT FITS IN 48 BITS. * STB ARG1 SAVE FIRST WORD RESULT. LDB ARG2 NEGATE ARG2. LDA ARG2+1 CMB CMA,CLE,INA,SZA JMP DMP2 IF NO CARRY. (E=0) CLE,INB ELSE PROPOGATE. (E=0: ARG2.NE.0) CPB =B040000 OVERFLOW ? JMP OFL YES, WHOLE THING OVERFLOWS. DMP2 ADA RES ADD -ARG2 TO PRODUCT. STA RES SEZ INB ADB ARG1 * * CHECK FOR OVERFLOW, SET RESULT, EXIT. * DX DMP3 LDA RES CHECK FOR OFL. ASL 16 LDA B FORM RESULT. LDB RES+1 SOS CHECK FOR OVERFLOW. JMP EXIT NO, GO RESTORE "E". OFL LDA =B77777 RETURN (077777,177777) CCB STO SET OVERFLOW. JMP EXIT GO RESTORE "E". * * SIMPLE MULTIPLY. * DMP4 LDA B ARG2L MPY ARG1+1 ARG2L*ARG1L SWP EXIT CCE RESTORE "E". ISZ E CLE JMP .DMP,I * * LOCALS. * ARG1 BSS 2 ARG 1 ARG2 BSS 2 ARG2 & RESULT RES BSS 2 LAST 2 WORDS OF 48-BIT PRODUCT. E BSS 1 -1 IFF E=1. END   24998-18047 2001 S C0122 &.DRCT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * NAME: .DRCT * PGMR: G. A. A. * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * NAM .DRCT,7 24998-1X047 REV.2001 790523 ENT .DRCT * * CALLING SEQUENCE * THIS ROUTINE TRACKS DOWN POSSIBLE INDIRECT ADDRESSES * * JSB .DRCT * DEF ADDR * RETURN IS HERE WITH A THE ADDRESS * B IS UNALTERED E IS LOST * .DRCT NOP LDA .DRCT LDA A,I RAL,CLE,SLA,ERA JMP *-2 ISZ .DRCT JMP .DRCT,I A EQU 0 END _ 0  24998-18048 2001 S C0122 &.DTOI SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DTOI" DOUBLE TO INTEGER POWER NAM .DTOI,6 24998-1X048 REV.2001 750701 ENT .DTOI EXT .ZRNT,.XMPY,.XDIV,.DFER SPC 1 * * CALLING SEQUENCE: Y = D ** I * JSB .DTOI * DEF Y * DEF D * DEF I * (ERROR RETURN : D = 0 ; I < = 0) * (NORMAL RETURN) SPC 2 TDB NOP DEC 12 NOP I NOP EXPONENT D REP 3 BASE NOP Y NOP F REP 3 NOP SIGN NOP =+1,-1 IF I > 0, < 0 .DTOI NOP JSB .ZRNT DEF LIBX LDA *-2 LDB *-4 SSA,RSS STB TDB+2 CHECK IF RE-ENTERENT OR NOT LDA TDB+2,I STA Y SAVE ADDRESS OF Y ISZ TDB+2 LDA TDB+2,I STA D SAVE ADDRESS OF D ISZ TDB+2 LDA TDB+2,I LDA 0,I STA I STORE I ISZ TDB+2 SET RETURN ADDRESS JSB .DFER D=D DEF D DEF D,I LDA D LDB I SZA D = 0 ? JMP NOT0 NO. SSB,RSS I < 0 SZB,RSS OR I = 0 ? JMP ERROR YES ERROR JMP ANS0 NO. ANSWER = 0. NOT0 SZB,RSS I = 0 ? JMP ANS1 YES. ANSWER = 1. JSB .DFER SET F=1.0 DEF F DEF ONE CLB,INB IF I > 0 , SIGN = +1 LDA I SSA CCB IF I < 0 , SIGN = -1 STB SIGNVU   SSB CMA,INA SET I = / I / STA I LOOP LDA I SLA,RSS LAST BIT OF I = 0 ? JMP *+5 YES JSB .XMPY NO. F = F * D ADF DEF F DEF F DEF D LDA I ARS DIVIDE I BY 2 SZA,RSS I = 0 ? JMP FINIS YES. STA I NO. SAVE I JSB .XMPY D = D * D DEF D DEF D DEF D JMP LOOP DO IT AGAIN FINIS ISZ SIGN I > 0 ? JMP POS JSB .XDIV NO. F = 1 / F DEF F ADONE DEF ONE DEF F POS LDA ADF RSS ANS0 LDA ADZRO GET ADDRESS OF CEX 0.0 RSS ANS1 LDA ADONE GET ADDRESS OF DEX 1.0 STA I TEMP JSB .DFER MOVE TO Y DEF Y,I DEF I,I ISZ TDB+2 GOOD RETURN JMP LIBX ERROR LDA MSG LDB MSG+1 LIBX JMP TDB+2,I RETURN ZERO DEX 0.0 ADZRO DEF ZERO ONE DEX 1.0 MSG ASC 2,12UN ERROR MESSAGE END * 11   24998-18049 2001 S C0122 &.DTOR SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED DOUBLE TO REAL POWER NAM .DTOR,7 24998-1X049 REV.2001 750701 ENT .DTOR EXT .DTOD,DBLE SPC 2 * CALLING SEQUENCE: Y = D **R * JSB .DTOR * DEF Y * DEF D * DEF R * (ERROR RETURN) * (NORMAL RETURN) SPC 2 .DTOR NOP LDA .DTOR,I STA Y SAVE ADDRESS OF Y ISZ .DTOR LDA .DTOR,I STA D SAVE ADDRESS OF D ISZ .DTOR LDA .DTOR,I STA R SAVE ADDRESS OF R ISZ .DTOR SET RETURN ADDRESS JSB DBLE CONVERT R TO DOUBLE PRECISION DEF *+3 DEF R DEF R,I JSB .DTOD COMPUTE Y = D **R DEF Y,I DEF D,I DEF R JMP .DTOR,I ERROR RETURN ISZ .DTOR JMP .DTOR,I NORMAL RETURN Y NOP ADDRESS OF Y D NOP ADDRESS OF D R REP 3 POWER. CONVERTED TO DOUBLE NOP END * * u  24998-18051 2001 S C0122 &.GOTO SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .GOTO,7 24998-1X051 REV.2001 750701 ENT .GOTO .GOTO NOP LDA .GOTO,I GET MAXIMUM RETURN ADDRESS. ISZ .GOTO LDB .GOTO,I GET SWITCH LDB 1,I INDEX. CMB,INB TEST FOR LEQ 0 CMB,SSB,INB SKIP IF IT WAS OK CLB,INB SET TO 1 IF IT WASN'T ADB .GOTO GET DESTINATION ADDRESS STB DEST CMB TEST FOR GEQ MAX ADDRESS ADB 0 ADA MIN1 SET A TO LAST SWITCH ADDRESS SSB,RSS IF B IS POSITIVE OR 0, LDA DEST USE DEST LDA 0,I NOW GET ADDRESS OF LABEL JMP 0,I PERFORM JUMP DEST REP 1 NOP MIN1 DEC -1 END * *   24998-18052 2001 S C0122 &.ICPX SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .ICPX,7 24998-1X052 REV.2001 750701 ENT .ICPX EXT FLOAT,CMPLX .ICPX NOP JSB FLOAT DST .TEMP STORES REAL CONVERSION LDA .ICPX,I STA *+3 STORES LOCATION RES WHICH HOLDS JSB CMPLX THE FOUR WORD COMPEX CONVERSION DEF *+4 NOP DEF .TEMP DEF ZERO ISZ .ICPX JMP .ICPX,I RETURNS .TEMP REP 2 NOP ZERO DEC 0.0 END * * T  24998-18053 2001 S C0122 &.IDBL SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".IDBL" - INTEGER TO EXTENDED PRECISION CONVERSION. NAM .IDBL,7 24998-1X053 REV.2001 780921 ENT .IDBL,.XFTS EXT FLOAT,DBLE .IDBL NOP .XFTS EQU .IDBL JSB FLOAT CONVERT INT. TO FLOATING POINT DST .TEMP STORE RESULT IN TEMP CELL LDA .IDBL,I TRANSFER IN ADDRESS OF 3 WORDS STA *+3 TO HOLD DOUBLE PREC RESULT JSB DBLE CONVERT REAL TO DOUBLE DEF *+3 NOP DEF .TEMP ISZ .IDBL JMP .IDBL,I RETURN .TEMP REP 2 NOP END [  24998-18054 2001 S C0122 &.IENT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .IENT,6 24998-1X054 REV.2001 750701 ENT .IENT EXT IFIX,.FLUN,FLOAT EXT .ZPRV * * REAL TIME EXECUTIVE PRIVILEGED LIBRARY ROUTINE * * CALL.. * * DLD X (FLOATING) * JSB .IENT (RESULT INTEGER) * JMP ERROR (EXIT IF EXPO(X)>14) * * CALCULATES GREATEST INTEGER NOT * EXCEEDING X. * .IENT NOP JSB .ZPRV DEF LIBX STA X STB X+1 JSB .FLUN ADA M15 SSA,RSS EXPO(X)>14 ? JMP LIBX X TOO LARGE TO FIX ISZ .IENT NO LDA X LDB X+1 JSB IFIX STA ANS ANS =FIX(X) JSB FLOAT CPA X IS X "INTEGER" ? JMP TESTB MAYBE SUB LDA ANS X NOT "INTEGER" LDB X SSB IF X<0, THEN ADA M1 ANS=FIX(X)-1 JMP LIBX TESTB LDA ANS CPB X+1 IS X "INTEGER" ? JMP LIBX JMP SUB+1 NO LIBX JMP .IENT,I DEF .IENT M15 DEC -15 M1 DEC -1 X REP 2 NOP ANS NOP END * *   24998-18055 2001 S C0122 &.ITOI SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ITOI" INTEGER TO INTEGER POWER NAM .ITOI,6 24998-1X055 REV.2001 750701 ENT .ITOI EXT .ZPRV * * * CALLING SEQUENCE.. * * JSB .ITOI (RESULT INTEGER) * DEF BASE (INTEGER) * DEF POWER (INTEGER) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES BASE**POWER. * .ITOI NOP JSB .ZPRV DEF LIBX LDA .ITOI,I LDA A,I PICK UP BASE STA BASE ISZ .ITOI LDB .ITOI,I LDB B,I PICK UP POWER STB PWR ISZ .ITOI SZA,RSS BASE=0 ? JMP BZER YES SZB,RSS POWER=0 ? CLA,INA,RSS ANS = 1 CPA E1 BASE=1 ? JMP EXIT YES, ANS=1 CPA EM1 BASE=-1 ? RSS YES JMP L2 SLB,RSS ANS = 1 IF EVEN POWER ELSE -1 CLA,INA JMP EXIT ANS=1-2*(LOW BIT OF POWER) SPC 1 L2 SSB BASE<0 ? JMP ZER YES CLA,INA STA F F=1 LOOP LDB PWR SLB,BRS POWER=POWER/2 JMP MUL LOW ORDER BIT WAS ONE STB PWR TEST SZB POWER=0 ? JMP SQR NO LDA F JMP EXIT ANS=F BZER CMB,INB SSB WHEN BASE=0, IF POWER=0, ERROR JMP ZER ELSE ANS = 0 FAIL LDB ASCII+1 LDA ASCII LIBX JMP .ITOI,I DEF .ITOI SPC 1 ZER CLA    EXIT ISZ .ITOI JMP LIBX MUL STB PWR LDA BASE MPY F STA F F=F*BASE JSB OFLO TEST FOR OVERFLOW. LDB PWR JMP TEST SQR LDA BASE MPY BASE STA BASE BASE=BASE**2 JSB OFLO TEST FOR OVERFLOW JMP LOOP OFLO NOP B SHOULD EXTEND SIGN OF A SSA A<0 ? INB YES, B SHOULD BE -1 SZB,RSS B=0 ? JMP OFLO,I YES LDB ASCII+2 JMP FAIL+1 ASCII ASC 3,08UNOF E1 DEC 1 EM1 DEC -1 BASE NOP PWR NOP F NOP A EQU 0 B EQU 1 END * >   24998-18056 2013 S C0122 &.ITOI SYSTEM IND. LIB.             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18055 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ITOI" INTEGER TO INTEGER POWER NAM .ITOI,7 24998-1X055 REV.2013 791017 ENT .ITOI * * * CALLING SEQUENCE.. * * JSB .ITOI (RESULT INTEGER) * DEF BASE (INTEGER) * DEF POWER (INTEGER) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES BASE**POWER. * .ITOI NOP STA REG SAVE A LDA .ITOI,I STA ARG LDA REG ARG MIGHT BE IN A REG LDA ARG,I PICK UP BASE STA BASE ISZ .ITOI STB REG SAVE B ARG MIGHT BE THERE LDB .ITOI,I STB ARG LDB REG LDB ARG,I PICK UP POWER STB PWR ISZ .ITOI SZA,RSS BASE=0 ? JMP BZER YES SZB,RSS POWER=0 ? CLA,INA,RSS ANS = 1 CPA E1 BASE=1 ? JMP EXIT YES, ANS=1 CPA EM1 BASE=-1 ? RSS YES JMP L2 SLB,RSS ANS = 1 IF EVEN POWER ELSE -1 CLA,INA JMP EXIT ANS=1-2*(LOW BIT OF POWER) SPC 1 L2 SSB BASE<0 ? JMP ZER YES CLA,INA STA F F=1 LOOP LDB PWR SLB,BRS POWER=POWER/2 JMP MUL LOW ORDER BIT WAS ONE STB PWR TEST SZB POWER=0 ? JMP SQR NO LDA F JMP EXIT ANS=F BZER CMB,INB SSB WHEN BASE=0, IF POWER=0, ERROR JMP ZER ELSE ANS = 0 FAIL LDB ASCII+4  1 LDA ASCII LIBX JMP .ITOI,I SPC 1 ZER CLA EXIT ISZ .ITOI JMP LIBX MUL STB PWR LDA BASE MPY F STA F F=F*BASE JSB OFLO TEST FOR OVERFLOW. LDB PWR JMP TEST SQR LDA BASE MPY BASE STA BASE BASE=BASE**2 JSB OFLO TEST FOR OVERFLOW JMP LOOP OFLO NOP B SHOULD EXTEND SIGN OF A SSA A<0 ? INB YES, B SHOULD BE -1 SZB,RSS B=0 ? JMP OFLO,I YES LDB ASCII+2 JMP FAIL+1 ASCII ASC 3,08UNOF E1 DEC 1 EM1 DEC -1 BASE NOP PWR NOP REG NOP ARG NOP PWR F NOP A EQU 0 B EQU 1 END * y   24998-18057 2001 S C0122 &.MAP. SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .MAP.,7 24998-1X057 REV.2001 750701 ENT .MAP. .MAP. NOP LDA .MAP.,I GET BASE ADDRESS OF ARRAY. RAL,CLE,SLA,ERA REMOVE INDIRECT BIT LDA 0,I STA A ISZ .MAP. CCA LDB .MAP.,I GET FIRST DIM.-1 ADA 1,I STA I ISZ .MAP. CCA LDB .MAP.,I ADA 1,I STA J ISZ .MAP. LDA .MAP.,I GET DIM1 SSA GET ABSOLUTE VALUE. CMA,INA MPY J ADA I LDB .MAP.,I IF DIMENSION IS SSB,RSS POSITIVE, DOUBLE FOR A ALS REAL ARRAY ADA A ADD BASE ADDRESS. ISZ .MAP. JMP .MAP.,I RETURN A NOP I NOP J NOP END * * ٿ  24998-18058 2001 S C0122 &.MOD SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".MOD" - TRIPLE PRECISION REMAINDERING. NAM .MOD,7 24998-1X058 REV.2001 781016 * ENT .MOD EXT .CFER,.TSUB,.TMPY,.TDIV,.YINT,.ENTR,.4ZRO * * .MOD TAKES THE TRIPLE-PRECISION REMAINDER FROM THE DIVISION * OF TWO TRIPLE-PRECISION ARGUMENTS, I.E. * .MOD(X,Y) = X - [X/Y]*Y * WHERE [Z] DENOTES TRUNCATION, AS IN .YINT . * * CALLING SEQUENCE: * * JSB .MOD * DEF *+4 * DEF * DEF * DEF * * * METHOD: AS ABOVE, UNLESS X/Y OVERFLOWS OR Y=0, IN WHICH CASE * X IS RETURNED. SKP RESLT BSS 1 X BSS 1 Y BSS 1 .MOD NOP JSB .ENTR COPY ADDRESSES DEF RESLT JSB .TDIV X/Y DEF TEMP DEF X,I DEF Y,I SOC OFL ? JMP OFL YES, RESULT = X JSB .YINT [X/Y] DEF *+3 DEF TEMP DEF TEMP JSB .TMPY [X/Y]*Y DEF TEMP DEF TEMP DEF Y,I JSB .TSUB X-[X/Y]*Y DEF RESLT,I DEF X,I DEF TEMP JMP .MOD,I EXIT * * X/Y OVERFLOWS OR Y=0, RESULT=X * OFL JSB .CFER SET RESULT = X DEF RESLT,I DEF X,I JMP .MOD,I EXIT * * LOCALS. * TEMP BSS 4   TEMP * END ݧ   24998-18059 2001 S C0122 &.MXMN SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".MXMN" - TRIPLE PRECISION MAX & MIN. NAM .MXMN,7 24998-1X059 REV.2001 781021 * ENT .MAX1,.MIN1 EXT .CFER,.TSUB,.4ZRO * B EQU 1 * * .MXMN TAKE THE MAX OR MIN OF A LIST OF TRIPLE PRECISION NUMBERS. * * CALLING SEQUENCE: * * JSB .MAX1 OR .MIN1 * DEF *+N+2 * DEF * DEF * . . * . . * DEF * * * IF N=0, ZERO IS RETURNED. IF N=1, THE ARGUMENT IS RETURNED. SPC 2 * INITIALIZE... SET MIN VS. MAX, CHECK # PARAMS * .MAX1 NOP LDA .MAX1 COPY ENTRY PT STA .MIN1 LDB SSBRS SET TEST TO "SSB,RSS" JMP MXMN1 .MIN1 NOP LDA .MIN1 SET TEST TO "SSB" LDB SSB MXMN1 STB TEST CMA -*-1 IN "DEF *+N+2" ADA .MIN1,I (-*-1)+(*+N+2) = N+1 LDB .MIN1,I SET RETURN ADDR STB .MAX1 ISZ .MIN1 LDB .MIN1,I SET RESULT ADDR STB RESLT ISZ .MIN1 CMA,INA -N-1 CCE,INA,SZA,RSS N=0 ? (E=1) JMP ZERO YES STA N LDA .MIN1,I SET CURRENT MIN/MAX = ARG 1 STA CMM LDA .MIN1 SET UP INDEX TO PARAM LIST RAL,ERA (SET SIGN TO INDIRECT) STA NEXT JMP MX  MN5 SKP * LOOK THRU LIST FOR NEW MIN/MAX * MXMN2 ISZ NEXT ADDR NEXT ARG LDA CMM,I IF SIGNS DIFFER, DON'T SUBTRACT LDB NEXT,I XOR B SSA JMP MXMN4 DIFFER, USE (NEXT) AS COMPARE VALUE JSB .TSUB SAME, TAKE (THIS ARG) = (CURRENT MIN/MAX) DEF DIFF NEXT DEF *-* INDIRECT THRU PARAM LIST CMM DEF *-* ADDR CURRENT MIN/MAX SOS UNDERFLOW ? (OFL CAN'T HAPPEN) JMP MXMN3 NO. JSB .CFER YES. SCALE NUMBERS & DO AGAIN. DEF DIFF DEF NEXT,I JSB .CFER DEF TEMP DEF CMM,I LDA DIFF+3 ADA =D112 BUMP EXP BY 56. STA DIFF+3 LDA TEMP+3 ADA =D112 STA TEMP+3 JSB .TSUB DEF DIFF DEF DIFF DEF TEMP MXMN3 LDB DIFF TEST DIFFERENCE MXMN4 LDA NEXT ADDR POSSIBLE NEW MIN/MAX TEST ABS *-* MIN: SSB MAX: SSB,RSS STA CMM IF NEW MIN/MAX MXMN5 ISZ N MORE ? JMP MXMN2 YES. LDA CMM RESULT ADDR * * COPY RESULT * MXMN6 STA SRC JSB .CFER COPY RESULT RESLT DEF *-* TO RESULT SRC DEF *-* JMP .MAX1,I EXIT ZERO LDA ZEROP ZERO RESULT, COPY IT JMP MXMN6 SKP * LOCALS & CONSTANTS * N BSS 1 -(# PARAMS LEFT) - 1 DIFF BSS 4 DIFFERENCE OF COMPARED NUMBERS TEMP BSS 4 FOR USE ON UNDERFLOW. SSB SSB FOR PLUGGING MIN SSBRS SSB,RSS FOR PLUGGING MAX ZEROP DEF .4ZRO+0 END   24998-18060 2001 S C0122 &.PCAD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".PCAD" GET ADDRESS FOR PRIVILEGED ROUTINES NAM .PCAD,6 24998-1X060 REV.2001 750701 ENT .PCAD EXT .ZPRV * THIS ROUTINE WILL GET THE DIRECT ADDRESS THAT IS * POINTED TO BY THE P+1 PARAMETER. NOTE: THE P+1 * PARAMETER MAY POINT TO THE A OR B-REGS. * CALLING SEQUENCE: * JSB .PCAD * DEF
(,I) * A-REG = DIRECT ADDRESS THAT IS POINTED * TO BY THE P+1 PARAMETER * TIME: APPROX 21 2100 CYCLES + 11 PER INDIRECT + PRIV. PROC. SPC 2 .PCAD NOP JSB .ZPRV DEF LIBX STA TEMP SAVE A LDA .PCAD,I LOOP STA ADRES LDA TEMP RESTORE A LDA ADRES,I RAL,CLE,SLA,ERA JMP LOOP INDIRECT ADDRESS. DO AGAIN ISZ .PCAD BUMP RETURN ADDRESS LIBX JMP .PCAD,I DEF .PCAD ADRES NOP TEMP NOP END * * I  24998-18061 2001 S C0122 &.PRAM SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .PRAM,7 24998-1X061 REV.2001 750701 ENT .PRAM * ****************************************************** * * .PRAM - PROCESS AND SET PARAMETER VALUES AND/OR * * * ADDRESSES IN THE PROCEDURE PARAMETER LINKG. * * * * * * LINKAGE: * * * JSB .PRAM * * * (CODE WORDS) * * * 1ST PARAMETER ADDRESS OR VALUE(REAL=2WORDS) * * * 2ND PARAMETER ADDRESS OR VALUE(REAL=2WORDS) * * * : : : : * * * LAST PARAMETER ADDRESS OR VALUE * * * * * * CODE WORDS: * * * * * * 1ST: UPPER 6 BITS CONTAINS NO. OF PARAMTRS. * * * LOWER 10 BITS CONTAIN FLAGS FOR EACH OF* * * 1ST 5 PARAMETERS IN PAIRS OF BITS. * * * UPPER=1, PARAMETER IS BY VALUE. * * * LOWER=1, PARAMETER VALUE IS REAL. * * * * * * IF UPPER BIT=0, THE LINKAGE CONTAINS * * O * THE PARAMETER ADDRESS(IGNORE LOWER). * * * * * * IF UPPER BIT=1,THE LINKAGE CONTAINS * * * THE PARAMETER VALUE. * * * * * * IF BOTH BITS=1, THE VALUE IS REAL AND * * * THE VALUE WILL NEED 2 WORDS IN THE * * * LINKAGE. * * * * * * SUBSEQUENT CODE WORDS: * * * CONTAIN 8 PAIRS OF BITS FOR 8 PARAMETRS* * * * * * MAXIMUM OF 7 CODE WORDS(52 PARAMETERS). * * ****************************************************** .PRAM NOP ENTRY TO .PRAM HERE LDA *-1 PICK UP ENTRY ADDRESS + 1 STA ADDRA SET LOC'N OF 1ST CODE WORD INA STA ADDRL SET LOC'N OF 1ST PARAMETER ADDRES * OR VALUE(TO BE BUMPED ACCORDING * TO NO. OF PARAMETERS, +1 FOR 5 * PARAMETERS, 1 NORE FOR EACH SUB- * SEQUENT MULTIPLE OF 8.). ADA M3 GET ADDRESSOF PARAM, COUNT LDB A,I GET PROCEDURE'S RETURN ADB BIT15 ADDRESS AND MAKE IT STB A,I INDIRECT. ELB,CLE,ERB NOW REMOVE THE INDIRECT BIT. INB STB ADDRP SET PICKUP LOC'N OF ACTUAL PAR- * AMETER ADDRESSES(IN .PROC LINKG) * * GET NUMBER OF PARAMETERS FROM 1ST CODE WORD. * LDA ADDRA,I GET 1ST CODE WORD FROM LINKAGE ALF,RAL RAL ROTATE PARAM COUNT TO LOWER 6 BIT AND M77 NOW A REG. = PARAMETER COUNT SZA,RSS ARE THERE ANY PARAMETERS? JMP ADDRL,I NO, EXIT THE .PRAM ROUTINE HERE.. STA CNTR SAVE PARAMETER COUNT ADA M6 START SKIP OF ADDRL PAST ALL CODE SSA WORDS.. IS IT PAST THEM? JMP PRM10 YES, GO TO PARAMETER MOVE/SETUP ISZ ADDRL NO, BUMP ADDRL BY 1 ADA M8 REDUCE A BY 8(1 SET OF CODE WORDS JMP *-4 GO BACK TO TEST AGAIN.. * * PLACE INITIAL CODE WORD INTO A REG. AND POSITION IT * * * INITIALIZE CODE COUNTER(CODES) AND PARAMETER COUN- * * * TER(CNTR). * PRM10 LDA ADDRA,I GET INITIAL CODE WORD ALF,RAL ROTATE CODE PAIRS TO INITIAL PON LDB M5 STB CODES SET CODE COUNTER FOR 5 PAIRS LDB CNTR GET PARAMETER COUNTER CMB,INB STB CNTR COMPLEMENT IT FOR COUNTING * * PROCESS PARAMETER ADDRESS OR VALUE ACCORDING TO CODE WRD PRM15 LDB ADDRP,I PICK UP PARAMETER ADDRESS RBL,CLE,SLB,ERB IF IT'S DIRET, SKIP NEXT INST LDB B,I IF IT'S INDIRECT GET THE DIRECT * * PARAMETER ADDRESS NOW IN B REG. * RAL,RAL REPOSITION CODE PAIR SLA,RSS IS CURRENT PARAMETER A VALUE? JMP PRM25 NO, IT'S AN ADDRESS... STB T ADDRESS OF VALUE TO T LDB T,I GET THE VALUE.. SSA,RSS IS THE VALUE REAL? JMP PRM25 NO, IT'S AN INTEGER STB ADDRL,I STORE 1ST PART OF REAL VLUE ISZ ADDRL BUMP LINKAGE ADDRESS ISZ T BUMP ADDRESS OF VALUE LDB T,I GET 2ND PART OF RAEL VALUE. PRM25 STB ADDRL,I STORE IT IN THE LINKAGE ISZ ADDRL BUMP .PRAM LINKAGE ADDRESS ISZ ADDRP BUMP PARAM LOC'N IN PROCED LINK. ISZ CNTR IS FINAL PARAMETER PROCESSED? RSS NO, SKIP TO CONTINUE JMP ADDRL,I YES, EXIT FROM .PRAM HERE.... ISZ CODES LAST PAIR IN CODE WORD OUT? JMP PRM15 NO, GO BACK AND CONTINUE.. LDA M8 YES, GET -8 FOR RESETTING STA CODES RESET CODES FOR 8 PAIRS ~ISZ ADDRA BUMP CODE WORD POINTER LDA ADDRA,I GET CURRENT CODE WORD RAR POSITION IT FOR PROCESSING JMP PRM15 GO BACK AND CONTINUE CHECKING.. * * DATA AND TEMPORARY AREA * ADDRA NOP LOC'N OF CODE WORD IN .PRAM LINK ADDRL NOP LOC'N OF PARAM ADDR IN .PRAM LINK ADDRP NOP LOC'N OF ACTUAL PARAMETER ADDR. CODES NOP CODE COUNTER FOR CODE PAIRS IN * CODE WORD... CNTR NOP PARAMETER COUNTER(# OF PROC.PARAM T NOP TEMPORARY FOR VALUE LOCATIONS BIT15 OCT 100000 M3 DEC -3 M5 DEC -5 M6 DEC -6 M8 DEC -8 M77 OCT 77 A EQU 0 B EQU 1 END * * [  24998-18062 2001 S C0122 &.RTOD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED REAL TO DOUBLE POWER NAM .RTOD,7 24998-1X062 REV.2001 750701 ENT .RTOD EXT .DTOD,DBLE SPC 2 * CALLING SEQUENCE: Y = R **D * JSB .RTOD * DEF Y * DEF R * DEF D * (ERROR RETURN) * (NORMAL RETURN) SPC 2 .RTOD NOP LDA .RTOD,I STA Y STORE ADDRESS OF Y ISZ .RTOD LDA .RTOD,I STA R STORE ADDRESS OF R ISZ .RTOD LDA .RTOD,I STA D STORE ADDRESS OF D ISZ .RTOD SET RETURN ADDRESS JSB DBLE CONVERT BASE TO DOUBLE PRECISION DEF *+3 DEF R DEF R,I JSB .DTOD COMPUTE Y = R **D DEF Y,I DEF R DEF D,I JMP .RTOD,I ERROR RETURN ISZ .RTOD JMP .RTOD,I NORMAL RETURN Y NOP ADDRESS OF Y D NOP ADDRESS OF D R REP 3 BASE. CONVERTED TO DUB. PRESN. NOP END * * n   24998-18063 2013 S C0122 &.RTOI SYSTEM IND. LIB.             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18063 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".RTOI" - SINGLE TO AN INTEGER POWER. NAM .RTOI,7 24998-1X063 REV.2013 791230 * ENT .RTOI EXT .FPWR SUP * A EQU 0 B EQU 1 * * .RTOI RAISES A SINGLE-PRECISION BASE TO AN INTEGER POWER * PRODUCING A SINGLE-PRECISION RESULT. * * CALLING SEQUENCE: * * JSB .RTOI * DEF * DEF * (A,B) = "06UN" * (A,B) = RESULT. * * THE ERROR RETURN IS TAKEN IF THE BASE IS ZERO AND THE POWER IS * NEGATIVE OR ZERO. OVERFLOW PRODUCES THE MAXIMUM POSITIVE NUMBER * WITH OVERFLOW SET, UNDERFLOW PRODUCES ZERO WITH OVERFLOW SET. * * FOR NEGATIVE POWERS, X**(-I) IS COMPUTED AS 1/X**I, SO IF THE * ABSOLUTE VALUE OF THE RESULT IS IN [2**-129,2**-127], UNDERFLOW * WILL OCCUR EVEN THOUGH THE RESULT IS IN RANGE. SPC 3 * COPY BASE ADDR, GET & TEST POWER. * .RTOI NOP STA AREG STB BREG LDB .RTOI,I COPY BASE ADDR. STB ARG LDA AREG RESTORE A AND B LDB BREG BECAUSE ARGS MIGHT BE IN REGISTERS DLD ARG,I DST BASE SET UP BASE ISZ .RTOI LDA .RTOI,I GET POWER. ISZ .RTOI STA ARG LDA AREG RESTORE A AND B LDB BREG BECAUSE POWER MIGHT BE IN THEM LDA ARG,I A = POWER. ST6   A POWER CLO JUST IN CASE. LDB BASE BASE = 0 ? SZB,RSS JMP RTOI2 YES. SZA,RSS POWER = 0 ? JMP ONE YES, RESULT = 1.0 IOR =B77777 SET UP FLAG IF POWER < 0. STA SGNP SKP * FORM X ** IABS(I). * LDA POWER TAKE ABS. SSA CMA,INA CPA =D1 POWER = 1 ? JMP IDENT YES. JSB .FPWR NO. USE ".FPWR" DEF BASE * * INVERT IF POWER < 0. * RTOI1 ISZ SGNP < 0 ? JMP EXIT NO. SOC H YES, DON'T INVERT IF OVERFLOW. SZA,RSS JMP *+2 JMP ZERO INSTEAD RETURN ZERO. DST TEMP INVERT. DLD =F1.0 FDV TEMP EXIT ISZ .RTOI SKIP ERROR EXIT. JMP .RTOI,I EXIT. * * SPECIAL CASES AND ERROR PROCESSING. * IDENT DLD BASE JMP RTOI1 RTOI2 SZA POWER <= 0 ? SSA JMP ERROR YES, ERROR. ZERO CLA NO, RESULT = 0. CLB JMP EXIT ONE DLD =F1.0 JMP EXIT ERROR LDA =A06 (A,B) = ASCII "06UN" LDB =AUN JMP .RTOI,I TAKE ERROR EXIT. * * LOCALS. * SGNP BSS 1 SIGN(POWER) POWER BSS 1 BASE BSS 2 ARG EQU SGNP AREG BSS 1 BREG BSS 1 TEMP EQU SGNP TEMP FOR 1/X**I UNS END   24998-18064 2026 S C0122 &.RTOR              H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18064 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".RTOR" REAL TO REAL POWER NAM .RTOR,6 24998-1X064 REV.2026 800509 ENT .RTOR EXT ALOG,EXP * * * * CALL.. * * JSB .RTOR (RESULT FLOATING) * DEF BASE (FLOATING) * DEF POWER (FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES BASE**POWER. SPC 1 .RTOR NOP STA AREG STB BREG LDA .RTOR,I STA ARG SET UP SO AS TO ALLOW ARGS IN A AND B ISZ .RTOR LDA AREG LDB BREG DLD ARG,I PICK UP BASE STA BASE STB BASE+1 LDA .RTOR,I STA ARG ISZ .RTOR LDA AREG LDB BREG DLD ARG,I PICK UP POWER STA PWR STB PWR+1 LDB BASE SZB,RSS BASE=0 ? JMP BZER YES SZA,RSS POWER=0 ? JMP PZER YES SSB BASE<0 ? JMP FAIL YES LDA BASE LDB BASE+1 JSB ALOG NOP FMP PWR JSB EXP JMP LIBX JMP EXIT ANS=EXP(POWER*ALOG(BASE)) BZER SSA POWER<=0 ? JMP FAIL YES CLA NO JMP EXIT ANS=0 FAIL LDA ASCII LDB ASCII+1 STO LIBX JMP .RTOR,I PZER LDA E1 ANS=1 LDB E1+1 EXIT ISZ .RTOR JMP LIBX ASCII ASC 2,04UN E1 DEC 1. BASE REP 2 NOP PWR REP 2 NOP AREG NOP BREG NOP ARG EQU PWR B EQU 1   END * Ψ   24998-18065 2013 S C0122 &.RTOT SYSTEM IND. LIB.             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18065 SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".RTOT" - REAL TO A TRIPLE POWER. NAM .RTOT,7 24998-1X065 REV.2013 791019 SUP * ENT .RTOT EXT .TTOT * A EQU 0 B EQU 1 * * .RTOT RAISES A SINGLE-PRECISION NUMBER TO A TRIPLE-PRECISION * POWER. * * CALLING SEQUENCE: * * JSB .RTOT * DEF * DEF * DEF * (A,B) = ASCII "13UN" (ERROR) * OR "07OF" (OVERFLOW) * * SEE ".TTOT" FOR DETAILS. * .RTOT NOP STA SAVEA SAVE A,B IN CASE WE INDIRECT THRU THEM. STB SAVEB JSB ENTR1 GET RESULT ADDR STA RESLT LDA .RTOT,I COPY RESULT ADDR ISZ .RTOT STA ARG LDA SAVEA LDB SAVEB SET UP REGS AS ARG MIGHT BE IN THEM DLD ARG,I CONVERT BASE TO TRIPLE STA BASE LDA B AND =B177400 STA BASE+1 XOR B STA BASE+3 (BASE+2 = 0, CONSTANT) JSB ENTR1 GET POWER ADDR STA POWER JSB .TTOT USE ".TTOT" RESLT DEF *-* DEF BASE POWER DEF *-* JMP .RTOT,I ERROR EXIT ISZ .RTOT JMP .RTOT,I NORMAL EXIT * * * ENTR1 NOP ROUTINE TO GET NEXT ADDR IN PARAM LIST LDA .RTOT ADDR ADDR PARAM ISZ .RTOT LDB SAVEB @  RESTORE ORIGINAL B ENTR2 STA T2 SAVE ADDR TO INDIRECT THRU LDA SAVEA RESTORE ORIGINAL A LDA T2,I DO THE INDIRECT RAL,CLE,SLA,ERA JMP ENTR2 INDIRECT BIT WAS SET, TRY AGAIN JMP ENTR1,I EXIT * BASE OCT 0,0,0,0 4-WORD VERSION OF BASE SAVEA BSS 1 SAVEB BSS 1 ARG BSS 1 T2 EQU ARG * END   24998-18066 2001 S C0122 &.SIGN SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".SIGN" - TRIPLE PRECISION TRANSFER OF SIGN. NAM .SIGN,7 24998-1X066 REV.2001 781016 * ENT .SIGN EXT .CFER,.TSUB,.4ZRO,.ENTR * * .SIGN TRANSFERS THE SIGN OF ONE NUMBER (ANY PRECISION) TO A * TRIPLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * JSB .SIGN * DEF *+4 * DEF * DEF * DEF SPC 4 RESLT BSS 1 VALUE BSS 1 SIGN BSS 1 .SIGN NOP JSB .ENTR COPY ADDRESSES DEF RESLT LDA VALUE,I FIRST WORD VALUE XOR SIGN,I IS SIGN CORRECT ? SSA,RSS JMP SIGN1 YES. JSB .TSUB NO, NEGATE DEF RESLT,I DEF .4ZRO+0 DEF VALUE,I JMP .SIGN,I EXIT SIGN1 JSB .CFER SIGN CORRECT, JUST COPY DEF RESLT,I DEF VALUE,I CLO NO OFL ON JUST COPY. JMP .SIGN,I EXIT * END   24998-18067 2001 S C0122 &.SWCH SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .SWCH,7 24998-1X067 REV.2001 750701 ENT .SWCH * ************************************* * * .SWCH - EXECUTE A SWITCH TEST AND * * * JUMP AS INDICATED. * * * * * * A = VALUE OF SWITCH (1 TO NO. * * * OF LABELS IN DECLARATION). * * * * * * IF A = 0 OR GRTR THAN NO. OF * * * LABELS IN SWITCH CONTROL RE-* * * TURNS TO NEXT STATEMENT IN * * * THE OBJECT PROGRAM * * ************************************* .SWCH NOP =1ST LOC IN LINKAGE(LABEL COUNT) SSA,RSS SKIP IF COUNT IS NEGATIVE SZA,RSS A = 0? JMP SWCHX YES - BAD COUNT - RETURN LDB .SWCH,I GET LABEL COUNT CMB MAKE LABELCOUNT+1 NEGATIVE ADB 0 B _ A+B ADA .SWCH POINT A REG. AT DESIRED LABEL SSB IS 'A' GREATER THAN LABEL COUNT? JMP *+3 NO - JUMP TO DESIGNATED ADDRESS SWCHX LDA .SWCH COMPUTE ADDRESS FOR ABNORMAL EXIT ADA MIN2 FROM SWITCH ROUTINE LDA 0,I JMP 0,I RETURN TO THAT ADDRESS MIN2 DEC -2 END * * t    24998-18068 2001 S C0122 &.TANH SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TANH" - TRIPLE PRECISION HYPERBOLIC TANGENT. NAM .TANH,7 24998-1X068 REV.2001 780424 * ENT .TANH EXT .ENTR,.CFER,.TADD,.TDIV,/CMRT,/EXTH,.4ZRO * A EQU 0 B EQU 1 * * .TANH TAKES THE TRIPLE-PRECISION HYPERBOLIC TANGENT * OF A TRIPLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * JSB .TANH * DEF *+3 * DEF * DEF * * METHOD: THE IDENTITIES: * * TANH(X) = (EXP(2*X)-1) / (EXP(2*X)+1) * EXP(X) = (2**N) * (2**(X/LN(2)-N)) * * ARE USED TO REDUCE THE PROBLEM TO EVALUATION OF 2**(Y-1) * ON THE INTERVAL [-.5,+.5] . THE ROUTINE "/CMRT" IS USED * FOR THE REDUCTION. ON THIS INTERVAL, "/EXTH" IS USED * TO COMPUTE "EXP" GIVEN N AND Y. FOR THE SPECIAL CASE OF * N=0, "TANH" IS A BY-PRODUCT OF "/EXTH", AND IS COMPUTED * DIRECTLY. SPC 2 * RANGE REDUCE. * RESLT DEF *-* ARG DEF *-* .TANH NOP JSB .ENTR COPY ADDRESSES DEF RESLT CCA FLAG TO /CMRT JSB /CMRT REDUCE DEF EXP2X DEF .4LN2 DEF ARG,I JMP LARGE IF WAY TOO BIG SZB,RSS JMP SMALL IF N=0 STB TEMP SEE IF N OUTSIDE [-128,128) ASL 8 SOC JMP LARGE YES. SKP *    USE /EXTH TO COMPUTE EXP(2*X) . * THEN DO (EXP-1)/(EXP+1) * LDA TEMP JSB /EXTH DEF EXP2X DEF EXP2X RESULT JSB .TADD EXP(2*X)+1 DEF TEMP DEF EXP2X PONE DEF ONE JSB .TADD EXP(2*X)-1 DEF EXP2X DEF EXP2X PMONE DEF MONE JSB .TDIV RESULT = (EXP(2*X)-1) / (EXP(2*X)+1) DEF RESLT,I DEF EXP2X DEF TEMP JMP .TANH,I * * SPECIAL CASES: N LARGE AND N=0. * LARGE LDA ARG,I PICK +1 OR -1 LDB PONE B = ADDR RESULT SSA LDB PMONE MAKE IT -1 EXIT STB SRC JSB .CFER COPY IT DEF RESLT,I SRC DEF *-* JMP .TANH,I EXIT. SPC 1 SMALL LDB ZEROP IN CASE ZERO LDA ARG,I SZA,RSS ZERO ? JMP EXIT YES, RESULT = 0. LDA MONE SET A = -32768 FOR SPECIAL CALL JSB /EXTH DEF RESLT,I DEF EXP2X JMP .TANH,I SPC 2 * LOCALS & CONSTANTS. * EXP2X BSS 4 FOR EXP(2*X) TEMP BSS 4 TEMP FOR EXP(2*X)+1 SUP .4LN2 OCT 056125,016624,127013,174006 ONE DEY 1.0 MONE DEY -1.0 ZEROP DEF .4ZRO+0 UNS END a   24998-18069 2001 S C0122 &.TCPX SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TCPX" - CONVERT TRIPLE TO COMPLEX. NAM .TCPX,7 24998-1X069 REV.2001 780424 * ENT .TCPX EXT .NGL * A EQU 0 B EQU 1 * * .TCPX CONVERTS A TRIPLE-PRECISION NUMBER TO A COMPLEX NUMBER * BY SETTING THE REAL PART TO THE ROUNDED SINGLE-PRECISION * APPROXIMATION OF THE ARGUMENT AND SETTING THE IMAGINARY PART * TO ZERO. * * CALLING SEQUENCE: * * JSB .TCPX * DEF * DEF * .TCPX NOP LDA .TCPX ADDR ADDR RESULT ISZ .TCPX LDA A,I RESOLVE INDIRECTS RAL,CLE,SLA,ERA JMP *-2 STA RESLT DIRECT RESULT ADDR LDA .TCPX,I ADDR ARG ISZ .TCPX STA ARG JSB .NGL CONVERT TO SINGLE DEF *+2 ARG DEF *-* STA RESLT,I STORE REAL PART ISZ RESLT STB RESLT,I ISZ RESLT CLA STORE IMAGINARY PART = 0 STA RESLT,I ISZ RESLT STA RESLT,I JMP .TCPX,I EXIT * RESLT BSS 1 DIRECT RESULT ADDR * END   24998-18070 2013 S C0122 &.TTOI SYSTEM IND. LIB.             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18070 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TTOI" - TRIPLE TO AN INTEGER POWER. NAM .TTOI,7 24998-1X070 REV.2013 791019 * ENT .TTOI EXT .TDIV,.TPWR,.CFER,.4ZRO * A EQU 0 B EQU 1 * * .TTOI RAISES A TRIPLE-PRECISION BASE TO AN INTEGER POWER * PRODUCING A TRIPLE-PRECISION RESULT. * * CALLING SEQUENCE: * * JSB .TTOI * DEF * DEF * DEF * (A,B) = ASCII "12UN" * * * THE ERROR RETURN IS TAKEN IF THE BASE IS ZERO AND THE POWER IS * NEGATIVE OR ZERO. OVERFLOW PRODUCES THE MAXIMUM POSITIVE NUMBER * WITH THE OVERFLOW BIT SET, WHILE UNDERFLOW PRODUCES ZERO WITH THE * OVERFLOW BIT SET. * * FOR NEGATIVE POWERS, X**(-I) IS COMPUTED AS 1/X**I, SO IF THE * ABSOLUTE VALUE OF THE RESULT IS IN [2**-129,2**-127], UNDERFLOW * WILL OCCUR EVEN THOUGH THE RESULT IS IN RANGE. SPC 4 * COPY ADDRESSES, GET POWER. * .TTOI NOP STA SAVEA STB SAVEB SAVE A,B BECAUSE ARG ADDRESSES MIGHT BE THERE JSB ENTR1 STA RESLT JSB ENTR1 STA BASE JSB ENTR1 STA POWER LDA SAVEA ARG MIGHT BE IN A OR B LDB SAVEB LDA POWER,I STA POWER LDB BASE CLO JUST IN CASE. LDB B,I BASE = 0 ? SZB,RSS JMP Z$$I YES. SZA,RSS POWER = 0 ? JMP ONE YES, RESULT = 1.0 SKP * SET RESULT = X ** IABS(I). * SSA TAKE ABS VALUE. CMA,INA CPA =D1 X**1 ? JMP X$$1 YES, DONE. JSB .TPWR USE .TPWR TO DO THE WORK. RESLT DEF *-* BASE DEF *-* * * INVERT IF POWER < 0. * FLIP LDA POWER POWER < 0 ? SSA,RSS JMP EXIT NO, DONE. LDA RESLT,I A = FIRST WD RESULT. SOC H YES, DON'T INVERT IF OVERFLOW SZA,RSS (UNDERFLOW SETS OFL BIT) JMP *+2 JMP ZERO JUST RETURN ZERO & OFL=1 JSB .TDIV INVERT FOR NEGATIVE POWERS DEF RESLT,I TONEP DEF TONE DEF RESLT,I EXIT ISZ .TTOI GOOD RETURN JMP .TTOI,I EXIT * * SPECIAL CASES & ERROR PROCESSING. * Z$$I SZA POWER <= 0 ? SSA JMP ERROR YES, ERROR. ZERO LDA ZEROP JMP *+2 ONE LDA TONEP STA BASE SET UP CFER CLB,INB SET POWER = 1 TO FORCE SIMPLE COPY. STB POWER X$$1 JSB .CFER JUST COPY ARG, 0.0 OR 1.0 DEF RESLT,I DEF BASE,I JMP FLIP IF ARG, MIGHT YET INVERT IT. ERROR LDA =A12 RETURN (A,B) = ASCII "12UN" LDB =AUN JMP .TTOI,I * ENTR1 NOP ROUTINE TO GET NEXT ADDR IN PARAM LIST LDA .TTOI ADDR ADDR PARAM ISZ .TTOI LDB SAVEB RESTORE ORIGINAL B ENTR2 STA T2 SAVE ADDR TO INDIRECT THRU LDA SAVEA RESTORE ORIGINAL A LDA T2,I DO THE INDIRECT RAL,CLE,SLA,ERA JMP ENTR2 INDIRECT BIT WAS SET, TRY AGAIN JMP ENTR1,I EXIT SAVEA BSS 1 SAVEB BSS 1 T2 BSS 1 * * LOCALS & CONSTANTS * POWER BSS 1 REMAINING BITS OF IABS(POWER) SUP ZEROP DEF .4ZRO+0 TONE DEY 1.0 UNS END R   24998-18071 2013 S C0122 &.TTOR SYSTEM IND. LIB.             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18071 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TTOR" - TRIPLE TO A REAL POWER. NAM .TTOR,7 24998-1X071 REV.2013 791022 SUP * ENT .TTOR EXT .TTOT * A EQU 0 B EQU 1 * * .TTOR RAISES A TRIPLE-PRECISION NUMBER TO A * SINGLE-PRECISION POWER. * * CALLING SEQUENCE: * * JSB .TTOR * DEF * DEF * DEF * (A,B) = ASCII "13UN" (ERROR) * OR "07OF" (OVERFLOW) * * SEE ".TTOT" FOR DETAILS. * .TTOR NOP STA SAVEA STB SAVEB SAVE A,B ARGS MIGHT BE THERE OR INDIRECT THRU THEM JSB ENTR1 STA RESLT ADDRESS OF RESULT JSB ENTR1 STA BASE ADDRESS OF BASE JSB ENTR1 STA POWER LDA SAVEA LDB SAVEB DLD POWER,I CONVERT POWER TO TRIPLE STA POWER LDA B AND =B177400 STA POWER+1 XOR B STA POWER+3 (POWER + 2 =0,CONSTANT) JSB .TTOT USE ".TTOT" TO DO THE WORK RESLT DEF *-* BASE DEF *-* DEF POWER JMP .TTOR,I ERROR EXIT ISZ .TTOR JMP .TTOR,I NORMAL EXIT * ENTR1 NOP ROUTINE TO GET NEXT ADDR IN PARAM LIST LDA .TTOR ADDR ADDR PARAM ISZ .TTOR LDB SAVEB RESTORE ORIGINAL B ENTR2 STA T2 SAVE ADDR TO INDIRECT THRU LD=  A SAVEA RESTORE ORIGINAL A LDA T2,I DO THE INDIRECT RAL,CLE,SLA,ERA JMP ENTR2 INDIRECT BIT WAS SET, TRY AGAIN JMP ENTR1,I EXIT SAVEA BSS 1 SAVEB BSS 1 POWER OCT 0,0,0,0 4-WORD VERSION OF POWER T2 EQU POWER * END    24998-18072 2001 S C0122 &.XCOM SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".XCOM" EXTENDED PRECISION MANTISSA COMPLEMENT NAM .XCOM,6 24998-1X072 REV.2001 750701 ENT .XCOM EXT .ZPRV SPC 1 * * THIS ROUTINE COMPLEMENTS A THREE WORD MANTISSA IN PLACE * CALLING SEQUENCE: * JSB .XCOM * DEF X * ON RETURN -A- CONTAINS THE ADJUSTMENT TO THE EXPONENT (0 OR 1) * TIME: APPROX 56-74 2100 MACHINE CYCLES + PRIV. PROC. SPC 1 .XCOM NOP JSB .ZPRV DEF LIBX LDA .XCOM LDA A,I WE CAN BEAT .DFER RAL,CLE,SLA,ERA JMP *-2 TRACK DOWN INDIRECTS STA X1 SAVE ADDRESS OF 1ST INA STA X2 2ND INA STA X3 3RD LDA X3,I LDB X2,I CMB COMPLEMENT MID-MANTISSA CMA,INA,SZA 2'S COMPLEMENT LOW MANTISSA JMP OK NO CARRY LDA X1,I CMA COMPLEMENT HIGH-MANTISSA CLE,INB,SZB CARRY-IN TO MID-MANTISSA JMP OK1 NO CARRY OUT, DONE CLE,SSA,INA,RSS CARRY-IN TO HIGH SSA,RSS IF POSITIVE, CHECK OVERFLOW JMP OK1 NO, DONE RAR YES, SHIFT IT DOWN AND CCE BUMP EXPONENT JMP OK1 OK STA X3,I SAVE LOW MANTISSA LDA X1,I FINISH COMPLEMENTING HIGH CMA,CLE MANTISSA OK1 STA X1,I SAVE HIGH AND MID MANTISSA STB X2,I CLA,SEZ ADJUdd  ST EXPONENT CLE,INA ISZ .XCOM BUMP RETURN ADDRESS LIBX JMP .XCOM,I DEF .XCOM X1 NOP X2 NOP X3 NOP A EQU 0 END * * * * * *   24998-18073 2001 S C0122 &.XFTD SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".XFTD" - FLOAT DOUBLE INTEGER TO 3-WORD FLOATING. NAM .XFTD,7 24998-1X073 REV.2001 780424 * ENT .XFTD EXT .XPAK * A EQU 0 B EQU 1 * * .XFTD CONVERTS A TWO-WORD INTEGER TO A 3-WORD * FLOATING-POINT NUMBER. * * CALLING SEQUENCE: * * DLD * JSB .XFTD * DEF SPC 4 .XFTD NOP STB TEMP SAVE LOWER WORD LDB .XFTD CHASE INDIRECTS ISZ .XFTD LDB B,I RBL,CLE,SLB,ERB JMP *-2 STB RESLT STA B,I STORE MANTISSA INB LDA TEMP STA B,I INB CLA STA B,I LDA =D31 FLOAT TO 3-WORD JSB .XPAK RESLT DEF *-* JMP .XFTD,I EXIT * TEMP BSS 1 SCRATCH END !j  24998-18074 2001 S C0122 &.XFXD SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".XFXD" - FIX 3-WORD FLOATING TO DOUBLE INTEGER. NAM .XFXD,7 24998-1X074 REV.2001 780424 * ENT .XFXD EXT .FLUN,.FIXD,.FXDE,.DFER * * .XFXD CONVERTS A 3-WORD FLOATING-POINT NUMBER * TO A TWO-WORD INTEGER. * * CALLING SEQUENCE: * * JSB .XFXD * DEF * (A,B) = RESULT * * OVERFLOW OCCURS IF THE ARGUMENT IS OUTSIDE THE RANGE * [-2**31,+2**31) . THE OVERFLOW BIT IS SET AND THE * VALUE RETURNED IS (77777,177777) . SPC 4 * CONVERT INTO ".FIXD" * .XFXD NOP STA .FXDE+1 SAVE A-REG. LDA .XFXD,I COPY ARG ADDR. ISZ .XFXD STA ARG LDA .FXDE+1 RESTORE A-REG. JSB .DFER COPY ARG INTO ".FIXD" DEF .FXDE+1 ARG DEF *-* LDB .FXDE+3 LAST WORD JSB .FLUN A=EXP, B=LAST 8 MANTISSA BITS STB .FXDE+3 TRUNCATED BITS LDB .XFXD COPY ENTRY PT STB .FIXD JMP .FXDE,I USE COMMON CODE * END   24998-18075 2001 S C0122 &/ATA2 SYS INDEPENDENT LIBRARY             H0101 ~ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/ATA2 - 4-WD ATAN2 WITH NO ERROR RETURN" NAM /ATA2,7 24998-1X075 REV.2001 780424 * ENT /ATA2,/ATN2 EXT .ATA2,.ENTR * RESLT DEF *-* ARG1 DEF *-* ARG2 DEF *-* /ATA2 NOP /ATN2 EQU /ATA2 JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .ATA2 USE THEM IN OUR CALL. DEF *+4 DEF RESLT,I DEF ARG1,I DEF ARG2,I JMP /ATA2,I EXIT, IGNORING ERROR RETURN. JMP /ATA2,I * END 1W  24998-18076 2001 S C0122 &/COS SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/COS - 4-WD COS WITH NO ERROR RETURN" NAM /COS,7 24998-1X076 REV.2001 780424 * ENT /COS EXT .COS,.ENTR * RESLT DEF *-* ARG DEF *-* /COS NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .COS USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /COS,I EXIT, IGNORING ERROR RETURN. JMP /COS,I * END '  24998-18077 2001 S C0122 &/EXP SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/EXP - 4-WD EXP WITH NO ERROR RETURN" NAM /EXP,7 24998-1X077 REV.2001 780424 * ENT /EXP EXT .EXP,.ENTR * RESLT DEF *-* ARG DEF *-* /EXP NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .EXP USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /EXP,I EXIT, IGNORING ERROR RETURN. JMP /EXP,I * END n  24998-18078 2001 S C0122 &/LOG SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/LOG - 4-WD LOG WITH NO ERROR RETURN" NAM /LOG,7 24998-1X078 REV.2001 780424 * ENT /LOG EXT .LOG,.ENTR * RESLT DEF *-* ARG DEF *-* /LOG NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .LOG USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /LOG,I EXIT, IGNORING ERROR RETURN. JMP /LOG,I * END $  24998-18079 2001 S C0122 &/LOG0 SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/LOG0 - 4-WD COMMON LOG WITH NO ERROR RETURN" NAM /LOG0,7 24998-1X079 REV.2001 780424 * ENT /LOG0,/LOGT EXT .LOG0,.ENTR * RESLT DEF *-* ARG DEF *-* /LOG0 NOP /LOGT EQU /LOG0 JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .LOG0 USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /LOG0,I EXIT, IGNORING ERROR RETURN. JMP /LOG0,I * END i  24998-18080 2001 S C0122 &/SIN SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/SIN - 4-WD SIN WITH NO ERROR RETURN" NAM /SIN,7 24998-1X080 REV.2001 870424 * ENT /SIN EXT .SIN,.ENTR * RESLT DEF *-* ARG DEF *-* /SIN NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .SIN USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /SIN,I EXIT, IGNORING ERROR RETURN. JMP /SIN,I * END 3  24998-18081 2001 S C0122 &/SQRT SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/SQRT - 4-WD SQRT WITH NO ERROR RETURN" NAM /SQRT,7 24998-1X081 REV.2001 780424 * ENT /SQRT EXT .SQRT,.ENTR * RESLT DEF *-* ARG DEF *-* /SQRT NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .SQRT USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /SQRT,I EXIT, IGNORING ERROR RETURN. JMP /SQRT,I * END ?  24998-18082 2001 S C0122 &/TAN SYS INDEPENDENT LIBRARY             H0101 ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/TAN - 4-WD TAN WITH NO ERROR RETURN" NAM /TAN,7 24998-1X082 REV.2001 780424 * ENT /TAN EXT .TAN,.ENTR * RESLT DEF *-* ARG DEF *-* /TAN NOP JSB .ENTR COPY ADDRESSES IN CALL. DEF RESLT JSB .TAN USE THEM IN OUR CALL. DEF *+3 DEF RESLT,I DEF ARG,I JMP /TAN,I EXIT, IGNORING ERROR RETURN. JMP /TAN,I * END 6  24998-18083 2001 S C0122 &/TINT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/TINT" - TRIPLE TO INTEGER CONVERSION. NAM /TINT,7 24998-1X083 REV.2001 780829 * ENT /TINT EXT .TINT * * /TINT PROVIDES A FORTRAN-LIKE INTERFACE TO .TINT WHICH * TRUNCATES A 4-WORD FLOATING-POINT NUMBER TO AN INTEGER. * * CALLING SEQUENCE: * * JSB /TINT * DEF *+2 * DEF * SPC 4 /TINT NOP ISZ /TINT SKIP RETURN ADDR. LDA /TINT,I COPY ARG ADDR, SKIP IT. STA ARG ISZ /TINT JSB .TINT CONVERT. ARG DEF *-* JMP /TINT,I EXIT. * END f9  24998-18084 2001 S C0122 &AIMAG SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "AIMAG" OBTAIN IMAGINARY PART OF COMPLEX NUMBER NAM AIMAG,6 24998-1X084 REV.2001 750701 ENT AIMAG EXT .ZPRV SPC 2 * * CALLING SEQUENCE * JSB AIMAG * DEF *+2 * DEF X (COMPLEX ARG) * (RESULT IN A AND B) SPC 2 AIMAG NOP JSB .ZPRV DEF LIBX ISZ AIMAG LDA AIMAG LDA A,I RAL,CLE,SLA,ERA JMP *-2 GET NEXT LEVEL OF INDIRECT ADA D2 BUMP TO IMAGINARY ADDRESS DLD A,I GET IMAGINARY VALUE ISZ AIMAG LIBX JMP AIMAG,I DEF AIMAG D2 DEC 2 A EQU 0 END *   24998-18085 2001 S C0122 &AMOD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "AMOD" FLOATING POINT REMAINDERING NAM AMOD,6 24998-1X085 REV.2001 750701 ENT AMOD EXT .ZPRV,.ENTP,AINT SPC 2 * * CALLING SEQUENCE: * Y = X1 MOD(X2), OR X = X1 - AINT(X1/X2) * X2 * JSB AMOD * DEF *+3 * DEF X1 * DEF X2 * (RESULT IN A AND B) SPC 2 X1 NOP X2 NOP AMOD NOP JSB .ZPRV DEF LIBX JSB .ENTP DEF X1 DLD X1,I FDV X2,I X1 / X2 JSB AINT AINT(X1 /X2) FMP X2,I AINT(X1 /X2) * X2 DST Y DLD X1,I FSB Y Y = X1 - (X1 / X2) * X2 LIBX JMP AMOD,I DEF AMOD Y REP 2 NOP END * -H  24998-18086 2001 S C0122 &CADD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "CADD" .ENTR ENTRY TO ".CADD" NAM CADD,7 24998-1X086 REV.2001 780921 ENT CADD EXT .RCNG,.CADD SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 CADD NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @CADD+0 ".CADD" FROM "CADD" ORB @CADD DEF .CADD+0 ORR END ~  24998-18087 2001 S C0122 &CDIV SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "CDIV" .ENTR ENTRY TO ".CDIV" NAM CDIV,7 24998-1X087 REV.2001 780921 ENT CDIV EXT .RCNG,.CDIV SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 CDIV NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @CDIV+0 ".CDIV" FROM "CDIV" ORB @CDIV DEF .CDIV+0 ORR END T  24998-18088 2001 S C0122 &CMPY SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "CMPY" .ENTR ENTRY TO ".CMPY" NAM CMPY,7 24998-1X088 REV.2001 780921 ENT CMPY EXT .RCNG,.CMPY SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 CMPY NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @CMPY+0 ".CMPY" FROM "CMPY" ORB @CMPY DEF .CMPY+0 ORR END   24998-18089 2013 S C0122 &CONJG SYSTEM IND. LIB.             H0101 ASMB,R,L,C NAM CONJG,6 24998-1X089 REV.2013 791017 ENT CONJG EXT .ZPRV,.ENTP,..FCM *********************************************************************** * * * NAME: CONJG * * SOURCE: 24998-18089 * * RELOC: PART OF 24998-12002 * * PGMR: CRG * * * *********************************************************************** * * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * * *********************************************************************** * * * COMPLEX CONJUGATE * * CALLING SEQUENCE: Y=CONJG(X) * * JSB CONJG * DEF *+3 * DEF Y * DEF X * * *********************************************************************** * Y BSS 1 X BSS 1 * CONJG NOP ENTRY POINT JSB .ZPRV DEF LIBX JSB .ENTP GET ADDRESSES DEF Y * *********************************************************************** * * MOVE REAL(X) INTO REAL(Y) * DLD X,I DST Y,I * *********************************************************************** SKP *********************************************************************** * * BUMP ADDRESSES TO IMAGINARY PARTS * ISh  Z X ISZ X * ISZ Y ISZ Y * *********************************************************************** * * COMPLEMENT IMAG(X) INTO IMAG(Y) * DLD X,I JSB ..FCM -IX DST Y,I * *********************************************************************** * * EXIT * LIBX JMP CONJG,I RETURN DEF CONJG * *********************************************************************** END ]   24998-18090 2013 S C0122 &CSQRT SYSTEM IND. LIB.             H0101 ASMB,R,L,C NAM CSQRT,6 24998-1X090 REV.2013 791016 ENT CSQRT EXT .ZRNT,.ENTP,CABS,SQRT,..FCM,.CFER *********************************************************************** * * * NAME: CSQRT * * SOURCE: 24998-18090 * * RELOC: PART OF 24998-12002 * * PGMR: CRG * * * *********************************************************************** * * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * * *********************************************************************** * * COMPLEX SQUARE ROOT * * CALLING SEQUENCE: Y = CSQRT(X) * * JSB CSQRT * DEF *+3 * DEF Y * DEF X * *********************************************************************** * TDB NOP ABS CSQRT-TDB TDBP2 NOP ADIX BSS 1 ADIY BSS 1 SGNRX BSS 1 TEMP BSS 2 Y BSS 1 X BSS 1 * CSQRT NOP ENTRY POINT JSB .ZRNT DEF LIBX JSB .ENTP GET ADDRESSES DEF Y STA TDBP2 SAVE RTN ADDR * *********************************************************************** SKP *********************************************************************** * * CALCULATE CABS(X) AND CHECK FOR X = 0 * .] JSB CABS COMPLEX ABS VALUE OF X DEF *+2 RTN ADDR DEF X,I DST TEMP TEMP = CABS(X) * SZA,RSS SKIP IF NOT ZERO JMP ZERO ZERO, FINISH UP * *********************************************************************** * * CALCULATE REAL(Y) * DLD X,I GET RX STA SGNRX SGNRX = SIGN(RX) * SSA SKIP IF RX > 0 JSB ..FCM ABS(RX) * FAD TEMP ABS(RX) + CABS(X) FDV F2.0 (ABS(RX)+CABS(X))/2.0 JSB SQRT TAKE SQUARE ROOT HLT 33B NEVER ERROR RETURN DST Y,I RY = SQRT((ABS(RX)+CABS(X))/2.0) * FAD A TEMP = 2.0 * RY DST TEMP * *********************************************************************** * * CALCULATE ADDRESSES OF IMAG(X) AND IMAG(Y) * LDA X ADA .2 STA ADIX ADIX = ADDR(IX) * LDB Y ADB .2 STB ADIY ADIY = ADDR(IY) * *********************************************************************** SKP *********************************************************************** * * CALCULATE IMAG(Y) * DLD ADIX,I GET IX FDV TEMP DST ADIY,I IY = IX / (2.0 * RY) DST TEMP TEMP = IY * *********************************************************************** * * TEST FOR REAL(X) > 0 * LDB SGNRX RX < 0 ? SSB,RSS SKIP IF RX < 0 JMP LIBX RX > 0, DONE * ************************************************************************ * * REAL(X) < 0, SO SWAP REAL(Y) AND IMAG(Y) * * ALSO, IF IMAG(X) < 0, COMPLEMENT Y * SSA IX < 0 ? JMP NEG JUMP IF IX < 0 * DLD Y,I SWAP RY AND IY DST ADIY,I DLD TEMP DST Y,I JMP LIBX DONE * ************************************************************************* SKP ****************************************************R ********************* * * COMPLEMENT AND SWAP REAL(Y) AND IMAG(Y) * NEG DLD Y,I JSB ..FCM -RY DST ADIY,I DLD TEMP JSB ..FCM -IY DST Y,I * ************************************************************************* * LIBX JMP TDBP2,I RETURN DEF TDB DEC 0 * ************************************************************************* * ZERO JSB .CFER DEF Y,I DEF X,I JMP LIBX EXIT * ************************************************************************ * A EQU 0 F2.0 DEC 2.0 .2 DEC 2 * *********************************************************************** END   24998-18091 2001 S C0122 &CSUB SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "CSUB" .ENTR ENTRY TO ".CSUB" NAM CSUB,7 24998-1X091 REV.2001 780921 ENT CSUB EXT .RCNG,.CSUB SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 CSUB NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @CSUB+0 ".CSUB" FROM "CSUB" ORB @CSUB DEF .CSUB+0 ORR END .  24998-18092 2001 S C0122 &DABS SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DABS" DOUBLE PRECISION ABSOLUTE VALUE NAM DABS,6 24998-1X092 REV.2001 750701 ENT DABS EXT .ZRNT,..DCM,.DFER,.ENTP SPC 2 * * CALLING SEQUENCE: * Y= /X/ * JSB DABS * DEF *+3 * DEF Y (3 WORD RESULT) * DEF X SPC 2 TDB NOP DEC 5 NOP Y NOP X NOP DABS NOP ABSOLUTE VALUE ENTRANCE JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB .DFER Y=X DEF Y,I DEF X,I LDB Y,I SSB,RSS X POSITIVE? JMP LIBX YES JSB ..DCM DEF Y,I LIBX JMP TDB+2,I DEF TDB DEC 0 END * )  24998-18093 2001 S C0122 &DATN2 SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DATN2" ARCTANGENT OF (X1/X2). DOUBLE PRECISION NAM DATN2,6 24998-1X093 REV.2001 770518 ENT DATN2 ENT DATA2 EXT .ZRNT,.ENTP,DSIGN,DATAN EXT .XADD,.XDIV EXT .DFER XADD EQU .XADD XDIV EQU .XDIV SPC 2 * * CALLING SEQUENCE: Y = ARCTAN(X1/X2) * JSB DATN2 * DEF *+4 * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 13 NOP T REP 3 NOP ARG NOP ADDRESS FOR DSIGN Z REP 3 Z = DATAN(X1/X2) NOP Y NOP X1 NOP X2 NOP DATA2 EQU * DATN2 NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB XDIV Z = X1 / X2 DEF Z DEF X1,I DEF X2,I LDA Z SOC OVERFLOW ? SZA,RSS YES. Z TOO BIG? JMP ARGOK NO. Z IS OKAY. JSB DSIGN YES. X2 = 0 OR Z TOO BIG. DEF *+4 DEF T Y = SIGN(X1) * PI/2 DEF PI2 DEF X1,I JMP EXIT ARGOK JSB DATAN Y = ARCTAN(X1/X2) DEF *+3 DEF T DEF Z LDA X2,I X2 < 0 ? SSA,RSS JMP EXIT LDA X1 YES. LDB X1,I IF X1 = 0, Y = PI, SZB,RSS ELSE Y = ARCTAN(X1/X2) + LDA ADPI SIGN(X1) * PI STA ARG STORE X1 OR PI JSB DSIGN DEF *+4 DEF Z ADc  PI DEF PI DEF ARG,I JSB XADD DEF T DEF T DEF Z EXIT JSB .DFER TRANSFER RESULT DEF Y,I DEF T LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 2 PI OCT 062207,166521,010404 PI PI2 OCT 062207,166521,010402 PI/2 END *   24998-18094 2001 S C0122 &DCOS SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DCOS" EXTENDED PRECISION COSINE NAM DCOS,6 24998-1X094 REV.2001 750701 ENT DCOS EXT DSIN,.ENTP,.XADD EXT .ZRNT XADD EQU .XADD SPC 1 * * EXTENDED PRECISION COSINE (COS(X) = SIN(X+PI/2)) * CALLING SEQUENCE: * JSB DCOS * DEF *+3 * DEF Y Y = COS(X) * DEF X SPC 1 TDB NOP DEC 8 NOP X1 REP 3 NOP Y NOP X NOP SPC 1 DCOS NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB XADD DEF X1 DEF X,I DEF PI2 JSB DSIN Y = DSIN(X1) DEF *+3 DEF Y,I DEF X1 LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 1 PI2 OCT 62207,166521,10402 END * F  24998-18095 2001 S C0122 &DIM SYS INDEPENDENT LIBRARY             H0101 eASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DIM" REAL POSITIVE DIFFERENCE. NAM DIM,6 24998-1X095 REV.2001 750701 ENT DIM EXT .ZPRV SPC 2 * * CALLING SEQUENCE: ALL VARIABLES ARE REAL * Y = X1 - MIN(X1,X2) * JSB DIM * DEF *+3 * DEF X1 * DEF X2 * (RESULT IN A AND B) SPC 2 X2 NOP DIM NOP JSB .ZPRV DEF LIBX ISZ DIM LDA DIM,I ISZ DIM LDB DIM,I ISZ DIM STB X2 SAVE ADDRESS OF X2 DLD A,I FSB X2,I X1 - X2 SSA,RSS RESULT POSITIVE ? JMP LIBX YES. CLA NO. RESULT = 0 CLB LIBX JMP DIM,I DEF DIM A EQU 0 END * N  24998-18096 2001 S C0122 &DMOD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DMOD" DOUBLE PRECISION REMAINDERING NAM DMOD,6 24998-1X096 REV.2001 750701 ENT DMOD EXT .ZRNT,.ENTP EXT .XSUB,.XMPY,.XDIV,DDINT XSUB EQU .XSUB XMPY EQU .XMPY XDIV EQU .XDIV SPC 2 * * CALLING SEQUENCE: Y = X1 - DDINT(X1/X2)*X2 * JSB DMOD * DEF *+4 * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 9 NOP T REP 3 NOP Y NOP X1 NOP X2 NOP DMOD NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB XDIV Y = X1 / X2 DEF T DEF X1,I DEF X2,I JSB DDINT Y = ENTIER(Y) DEF *+3 DEF T DEF T JSB XMPY Y = DDINT(X1/X2) * X2 DEF T DEF T DEF X2,I JSB XSUB Y = X1 - DDINT(X1/X2) * X2 DEF Y,I DEF X1,I DEF T LIBX JMP TDB+2,I DEF TDB DEC 0 END * d  24998-18097 2001 S C0122 &DTANH SYS INDEPENDENT LIBRARY             H0101 ASMB,L,F,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DTANH" - DOUBLE PRECISION HYPERBOLIC TANGENT. NAM DTANH,7 24998-1X097 REV.2001 780320 * ENT DTANH EXT .ENTR,.DFER,.XFER,.FLUN,.PWR2 EXT DEXP,.XADD,.XMPY,.XDIV * * DTANH TAKES THE DOUBLE-PRECISION HYPERBOLIC TANGENT OF A * DOUBLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * JSB DTANH * DEF *+3 * DEF * DEF * * * METHOD: OUTSIDE THE RANGE [-32,+32) THE RESULT IS 1.0 TIMES THE * SIGN OF THE ARGUMENT. WITHIN THE ABOVE RANGE BUT OUTSIDE THE * RANGE [-0.25,+0.25) THE DEFINITION IS USED: * * EXP(2*X) - 1 * TANH(X) = -------------- * EXP(2*X) + 1 * * WITHIN [-0.25,+0.25) THE FOLLOWING APPROXIMATION IS USED: * * C1 * TANH(X) = X * ( -------- + C3 + C4*XSQ ) * C2+XSQ * WHERE: * C1 = .201101929221D+01 * C2 = .247073386009D+01 * C3 = .186063976899D+00 * C4 = .390245451777D-02 SPC 4 * COPY ARG, GET ITS EXPONENT. * RESLT DEF *-* ARG DEF *-* DTANH NOP JSB .ENTR COPY ADDRESSES DEF RESLT JSB .DFER COPY ARG rDEF X DEF ARG,I LDB X+2 LAST WORD JSB .FLUN A = EXPONENT SKP * DETERMINE WHICH RANGE. * INA EXPONENT+1 SSA EXPONENT < -1 ? (IN [-.25,.25) ) JMP DTNH1 YES, USE APPROXIMATION. STA TEMP SAVE EXPONENT+1 TO FORM 2*X ADA =D-7 EXPONENT >= 6 ? (OUTSIDE [-32,32) ) SSA,RSS JMP DTNH2 YES, JUST SIGN(1,X) LDA X X=0 ? SZA JMP DTNH3 NO, MIDDLE RANGE, USE DEFINITION.OX. * * USE APPROXIMATION IN [-.25,+.25) . * DTNH1 JSB .XMPY X**2 DEF XSQ DEF X DEF X JSB .XADD C2+XSQ DEF TEMP DEF C2 DEF XSQ JSB .XDIV C1/(C2+XSQ) DEF TEMP DEF C1 DEF TEMP JSB .XADD +C3 DEF TEMP DEF TEMP DEF C3 JSB .XMPY C4*XSQ DEF XSQ DEF C4 DEF XSQ JSB .XADD C1/(C2+XSQ) + C3 + C4*XSQ DEF TEMP DEF TEMP DEF XSQ JSB .XMPY TANH DEF RESLT,I DEF X DEF TEMP JMP DTANH,I EXIT * * OUTSIDE [-32,+32), RESULT IS SIGN(1.0,X) . * DTNH2 LDB X PICK -1 OR +1 LDA ONEP SSB LDA MONEP LDB RESLT COPY TO RESULT JSB .XFER JMP DTANH,I EXIT. * * IN [-32,-.25) OR [.25,32), USE DEFINITION. * DTNH3 JSB .PWR2 FORM 2*X DEF TEMP STB X+2 JSB DEXP EXP(2*X) DEF *+3 DEF X DEF X NOP JSB .XADD EXP(2*X)-1 DEF XSQ DEF X MONEP DEF MONE JSB .XADD EXP(2*X)+1 DEF X DEF X ONEP DEF ONE JSB .XDIV RESULT. DEF RESLT,I DEF XSQ DEF X JMP DTANH,I EXIT. * * LOCALS & CONSTANTS. * X BSS 3 ARG XSQ BSS 3 X**2 TEMP BSS 3 TEMP ONE DEX 1.0  MONE DEX -1.0 C1 OCT 040132,042441,073004 C2 OCT 047420,040164,143404 C3 OCT 057503,143417,077375 C4 OCT 100037,153274,065761 END o  24998-18098 2001 S C0122 &ENTIE SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM ENTIE,7 24998-1X098 REV.2001 750701 ENT ENTIE,.RND * THE ENTIER AND ROUND ROUTINES ARE USED FOR CONVERTING * FLOATING POINT NUMBERS TO INTEGERS. THEY ARE DEFINED AS * FOLLOWS: * * ENTIER(X) = MAX (N ! N<= X) * .RND(X) = ENTIER (+.5) * * IF THE RESULT OVERFLOWS, 77777 OR 100000 IS RETURNED. ENTIE NOP STA T SAVE HIGH PART OF REAL # STB 0 MOVE LOW PART TO A. AND .377 ISOLATE EXPONENT SLA,RAR EXTEND IOR XSEXP EXPONENT. ADA MIN16 COMPUTE -SHIFT-1 SSA,RSS IF NOT NEGATIVE, THE JMP OVER CONVERSION OVERFLOWS. ELB FORCE E TO EQUAL THE FIRST BIT STA 1 SHIFTED OUT. LDA T GET FRACTION BACK IN A. ISZ 1 TEST FOR END OF COUNT (ISZ IS RSS USED TO PRESERVE E REGISTER) JMP ENTIE,I RETURN---ALL DONE CLE,SLA,ARS RIGHT SHIFT& CME RESET E REGISTER. JMP *-5 * OVER LDA MAX RETURN LARGEST INTEGER LDB T WITH CORRECT SIGN CLE,SSB FOR OVERFLOW CMA JMP ENTIE,I .RND NOP JSB ENTIE DO ENTIE FIRST SEZ IF E IS SET, WE ROUND BY INA ADDING ONE TO THE ENTIER RESULT. JMP .RND,I * * T NOP TEMP STORAGE .377 OCT 377 USED TO MASK OFF EXPONENT XSEXP OCT 77600 US.  ED TO FILL IN NEGABITS FOR - EX MIN16 DEC -16 MAX OCT 77777 END * * B   24998-18099 2001 S C0122 &FIXDR SYS INDEPENDENT LIBRARY             H0101 .ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "FIXDR" - FORTRAN INTERFACE TO .FIXD . NAM FIXDR,7 24998-1X099 REV.2001 790417 * ENT FIXDR EXT .FIXD,.ENTR * * FIXDR PROVIDES A FORTRAN-CALLABLE CONVERSION FROM * SINGLE-PRECISION (32-BIT) FLOATING-POINT TO DOUBLE * INTEGER. * * CALLING SEQUENCE: * * Y = FIXDR(A) * * WHERE Y IS DECLARED REAL BUT CONTAINS A DOUBLE * INTEGER VALUE. * * OVERFLOW IS SET ONLY IF THE ARGUMENT IS OUTSIDE THE RANGE * [-2**31,+2**31), AND IS TESTABLE BY THE ROUTINE "OFL". SPC 3 FIXDA DEF *-* FIXDR NOP JSB .ENTR COPY ADDRESS. DEF FIXDA DLD FIXDA,I DO OPERATION. JSB .FIXD JMP FIXDR,I EXIT. RESULT IS IN (A,B) * END G  24998-18100 2001 S C0122 &FLTDR SYS INDEPENDENT LIBRARY             H0101 !ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "FLTDR" - FORTRAN INTERFACE TO .FLTD . NAM FLTDR,7 24998-1X100 REV.2001 790417 * ENT FLTDR EXT .FLTD,.ENTR * * FLTDR PROVIDES A FORTRAN-CALLABLE CONVERSION FROM * DOUBLE INTEGER TO SINGLE-PRECISION (32-BIT) * FLOATING-POINT. * * CALLING SEQUENCE: * * A = FLTDR(X) * * WHERE X IS DECLARED REAL BUT CONTAINS A DOUBLE * INTEGER VALUE. * * OVERFLOW CANNOT OCCUR, BUT PRECISION MAY BE LOST * SINCE SINGLE PRECISION CARRIES ONLY 23 BITS AND * DOUBLE INTEGER HAS 31. EXCESS BITS ARE TRUNCATED, * SO THE VALUE OF THE RESULT IS ALWAYS LESS THAN OR * EQUAL TO THE VALUE OF THE ARGUMENT: IF IT IS NEGATIVE, * THE ABSOLUTE VALUE IS GREATER THAN OR EQUAL TO. SPC 3 FLTDA DEF *-* FLTDR NOP JSB .ENTR COPY ADDRESS. DEF FLTDA DLD FLTDA,I DO OPERATION. JSB .FLTD JMP FLTDR,I EXIT. RESULT IS IN (A,B) * END \r  24998-18101 2001 S C0122 &GETAD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * * * GET EFFECTIVE ADDRESS UTILITY ROUTINE * NAM GETAD,7 24998-1X101 REV.2001 750701 ENT GETAD,ADRES GETAD NOP ENTRY/EXIT STA TEMP SAVE A REGISTER LDA GETAD,I LOOP STA ADRES LDA TEMP LDA ADRES,I RAL,CLE,SLA,ERA JMP LOOP NOT EFFECT ADDR-GO TO NEXT LEVEL STA ADRES SAVE EFFECTIVE ADDRESS LDA TEMP RESTORE A REGISTER ISZ GETAD INCREMENT EXIT ADDRESS JMP GETAD,I RETURN ADRES NOP TEMP NOP END * * Ux  24998-18102 2001 S C0122 &IAND SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM IAND,7 24998-1X102 REV.2001 750701 ENT IAND IAND NOP LDA IAND,I GET ADDRESS OF FIRST ARGUMENT ISZ IAND LDB IAND,I GET ADDRESS OF SECOND LDA 0,I AND 1,I ISZ IAND JMP IAND,I END * *   24998-18103 2001 S C0122 &IDIM SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "IDIM" INTEGER POSITIVE DIFFERENCE NAM IDIM,6 24998-1X103 REV.2001 760106 ENT IDIM EXT .ZPRV SPC 2 * * CALLING SEQUENCE: ALL VARIABLES ARE INTEGER * Y = X1 - MIN(X1,X2) * JSB IDIM * DEF *+3 * DEF X1 * DEF X2 * (RESULT IN A) SPC 2 IDIM NOP JSB .ZPRV DEF LIBX ISZ IDIM LDB IDIM,I ISZ IDIM LDA IDIM,I ISZ IDIM LDA A,I LDB B,I CLO CMA,INA SOC DID X2 = 100000B JMP IDM2 YES ADA B SOC OVERFLOW JMP OUTR YES,GO CHECK IDM3 SSA X1 - X2 > 0 ? CLA NO. SET Y = 0 CLO LIBX JMP IDIM,I DEF IDIM A EQU 0 B EQU 1 IDM2 SSB,RSS IS B NEG JMP OUTR NO,THEN OUT OF RANGE CMA YES ADA B INA CLO JMP LIBX OUTR SSB WERE 2 NUMBERS SAME SIGN JMP IDM3+1 IF X1 SMALLEST,OK SSA JMP ERR JMP LIBX ERR LDA MAX JMP LIBX MAX OCT 77777 END * '   24998-18104 2001 S C0122 &IDINT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "IDINT" DOUBLE TO INTEGER TRUNCATION NAM IDINT,6 24998-1X104 REV.2001 750701 ENT IDINT EXT .ZPRV,SNGM,IFIX SPC 2 * * CALLING SEQUENCE: * JSB IDINT * DEF *+2 * DEF X (3 WORD ARGUMENT) * (RESULT IN A) SPC 2 IDINT NOP JSB .ZPRV DEF LIBX LDB IDINT,I GET RETURN ADDRESS ISZ IDINT LDA IDINT,I A CONTAINS ADDRESS OF X STB IDINT SAVE RETURN ADDRESS STA DEFX STORE ADDRESS OF ARGUMENT JSB SNGM CONVERT TO REAL DEF *+2 DEFX DEF * JSB IFIX CONVERT TO INTEGER LIBX JMP IDINT,I DEF IDINT END *   24998-18105 2001 S C0122 &IOR SYS INDEPENDENT LIBRARY             H0101 lASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM IOR,7 24998-1X105 REV.2001 750701 ENT IOR IOR NOP LDA IOR,I ISZ IOR LDB IOR,I LDA 0,I IOR 1,I ISZ IOR JMP IOR,I END * * ;  24998-18106 2001 S C0122 &IXOR SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "IXOR" FORTRAN CALLABLE INTEGER 'XOR' ROUTINE NAM IXOR,7 24998-1X106 REV.2001 750701 ENT IXOR SPC 1 * * CALLED: * * INTVAL = IXOR(INTA,INTB) SPC 1 IXOR NOP ISZ IXOR BUMP PAST THE DEF *+3 LDA IXOR,I GET ADDRESS OF INTA LDA A,I GET VALUE OF INTA ISZ IXOR BUMP TO INTB LDB IXOR,I GET ADDRESS XOR B,I DO IT ISZ IXOR JMP IXOR,I A EQU 0 B EQU 1 END *   24998-18107 2001 S C0122 &MOD SYS INDEPENDENT LIBRARY             H0101 nASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "MOD" INTEGER REMAINDERING NAM MOD,6 24998-1X107 REV.2001 751101 ENT MOD EXT .ZPRV SPC 2 * * CALLING SEQUENCE: * Y = X1 MOD (X2), OR Y = X1 - (X1/X2) * X2 * JSB MOD * DEF *+3 * DEF X1 * DEF X2 * (RESULT IN A) SPC 2 X2 NOP X1 NOP MOD NOP JSB .ZPRV DEF LIBX ISZ MOD BUMP TO P+2 LDA MOD,I GET X1 ADDRESS STA X1 LDA A,I GET X1 VALUE ISZ MOD BUMP TO P+3 LDB MOD,I GET X2 ADDRESS STB X2 ISZ MOD BUMP TO P+4 CLB,CLE SSA CMB SET B TO 177777 IF X1 < O DIV X2,I X1 / X2 MPY X2,I (X1/X2)*X2 CMA,INA ADA X1,I Y=X1-(X1/X1)*X2 LIBX JMP MOD,I DEF MOD A EQU 0 B EQU 1 END * e  24998-18108 2001 S C0122 &MXMND SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "MXMND" DOUBLE PRECISION MAXIMUM AND MINIMUM NAM MXMND,7 24998-1X108 REV.2001 750701 ENT DMAX1,DMIN1 EXT .XSUB,.DFER SPC 2 * * CALLING SEQUENCES: ALL VARIABLES ARE DOUBLE PRECISION * JSB DMAX1 JSB DMIN1 * DEF *+(N+2) DEF *+(N+2) * DEF Y DEF Y * DEF X1 DEF X1 * . . . . * . . . . * . . . . * DEF XN DEF XN SPC 2 DMAX1 NOP DOUBLE MAX LDB *-1 CCA SET INDICATOR JMP SETFG DMIN1 NOP DOUBLE MIN LDB *-1 CLA SETFG STB CALAD OCTAL INSTRUCTION: SSA, DMAX1 LDB SSA STB SKFLG SZA ISZ SKFLG LDA CALAD = ADDRESS OF (DEF *+N+2) = * CMA,INA = -* ADA CALAD,I = -* + * + N + 2 = N + 2 ADA =D-2 = N CMA,INA STA N = -N ISZ CALAD LDB CALAD,I STB Y = ADDRESS OF RESULT INA SSA N < 2 ? JMP ARGOK NO. PROCESS LIST LDA ADZRO YES. STA ANS SET RESULT TO ZERO LDA CALAD ADA =D-1 LDB 0,I STB CALAD SET RETURN ADDRESS JMP EXIT AND EXIT ARGOK ISZ CALAD CALAD POINTS TO X1 a   LDA CALAD,I STA ANS ANS = ADDRESS OF CURRENT ANSWER ISZ CALAD ISZ N DONE ? JMP TESTM NO. EXIT JSB .DFER YES. STORE RESULT Y DEF * DEF ANS,I JMP CALAD,I CALAD NOP ZERO DEC 0,0,0 TESTM LDA CALAD,I STA ADARG STORE ADDRESS OF ARG FOR XSUB SUBTR JSB .XSUB DBL = ARG - ANS DEF DBL ADARG NOP ANS NOP ADDRESS OF ANSWER LDA DBL SKFLG NOP SKIP FLAG FOR MIN OR MAX JMP ARGOK+1 NEW ANSWER JMP ARGOK+3 CURRENT ANSWER OKAY N NOP NUMBER ARGUMENTS DBL REP 3 ARG - ANS NOP ADZRO DEF ZERO USED IF N < 2 SSA SSA END *    24998-18109 2001 S C0122 &MXMNI SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "MXMNI" MAXIMUM AND MINIMUM WITH INTEGER ARGUMENTS NAM MXMNI,7 24998-1X109 REV.2001 750701 ENT AMAX0,MAX0,AMIN0,MIN0 EXT FLOAT SPC 2 * * CALLING SEQUENCES: X1,X2,...XN ARE INTEGERS. * JSB AMAX0 JSB MAX0 JSB AMIN0 JSB MIN0 * DEF *+(N+1) DEF *+(N+1) DEF *+(N+1) DEF *+(N+1) * DEF X1 DEF X1 DEF X1 DEF X1 * . . . . . . . . * . . . . . . . . * . . . . . . . . * DEF XN DEF XN DEF XN DEF XN * (REAL RESULT (INTEGER RESULT (REAL RESULT (INTEGER RESULT * IN A AND B) IN A) IN A AND B) IN A) SPC 2 AMAX0 NOP REAL MAX OF INTEGER ARGS. LDB *-1 CCA,CLE SET INDICATORS JMP SETFG MAX0 NOP INTEGER MAX OF INTEGER ARGS. LDB *-1 CCA,CCE SET INDICATORS JMP SETFG AMIN0 NOP REAL MIN OF INTEGER ARGS. LDB *-1 CLA,CCE SET INDICATORS JMP SETFG MIN0 NOP INTEGER MIN OF INTEGER ARGS. LDB *-1 CLA,CLE SET INDICATORS SETFG STB CALAD SET RETURN ADDRESS LDB SSA OCTAL INSTRUCTION : SSA * USED FOR AMIN0 AND MIN0 * USED FOR AMAX0 AND MAX0 Ԏ   STB SKFLG SZA ISZ SKFLG SEZ,RSS CMA STA TPFLG =-1FOR INTEGER,0 FOR REAL LDA CALAD = ADDRESS OF (DEF *+N+1) = * CMA,INA = -* ADA CALAD,I = -* + * + N + 1 = N + 1 ADA =D-1 A = N CMA,INA STA N = - N INA SSA N < 2 ? JMP ARGOK NO. PROCESS LIST. LDA ADZRO YES. STA ANS SET THE RESULT TO ZERO LDA CALAD LDB 0,I STB CALAD SET RETURN ADDRESS JMP EXIT AND EXIT ARGOK ISZ CALAD CALAD POINTS TO X1 LDA CALAD,I STA ANS ANS = ADDRESS OF CURRENT ANSWER LDA 0,I CONVERT ANS TO ADA LWEST 16 BIT POS. INTEGER STA SAVE AND SAVE. ISZ CALAD ISZ N DONE ? JMP TESTM NO. EXIT LDA ANS,I YES. STORE RESULT ISZ TPFLG JSB FLOAT CONVERT TO REAL IF TPFLG = 0 JMP CALAD,I CALAD NOP ZERO DEC 0 TESTM LDB CALAD,I B = ADDRESS OF ARG. LDA 1,I A = ARG ADA LWEST MAKE POSITIVE CLE USE E-REG AS SIGN BIT CMA,INA NEGATE NEW NO. ADA SAVE ADD TO OLD CME MAKE E LOOK LIKE SIGN ERA ROTATE E INTO SIGN POSITION SKFLG NOP SKIP FLAG FOR MIN OR MAX. JMP ARGOK+6 CURRENT ARGUMENT OK. JMP ARGOK+1 NEW ANSWER ANS NOP ADDRESS OF ANSWER N NOP NUMBER ARGUMENTS TPFLG NOP TYPE OF RESULT:0,-1=REAL,INT ADZRO DEF ZERO USED FOR ERROR CONDITION : N < 2 SSA SSA SAVE NOP LWEST OCT 100000 END *   24998-18110 2013 S C0122 &.MXM1 SYSTEM IND. LIB.             H0101 }ASMB,Q,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS HED ".MXM1" MAX AND MIN WITH REAL ARGUMENTS. NAM .MXM1,7 24998-1X110 REV.2013 800205 ENT MIN1,MAX1,.JMN1,.JMX1,AMIN1,AMAX1 EXT .FSB,IFIX,.FIXD * * CALLING SEQUENCES: * * JSB MIN1/MAX1/.JMN1/.JMX1/AMIN1/AMAX1 * DEF *+N+1 * DEF X1 (ALL ARGUMENTS ARE REAL*4) * . . * . . * . . * DEF XN * -->(A) OR (A,B) = RESULT OF APPROPRIATE TYPE. SPC 2 * ENTRY. SET UP FLAGS: * (A)=RESULT TYPE: -1=INT*4, 0=INT*2, +1=REAL*4. * (E)=MAX/MIN: 0=MIN, 1=MAX. * MIN1 NOP CLA,CLE JSB MXMN1 * MAX1 NOP CLA,CCE JSB MXMN1 * .JMN1 NOP CCA,CLE JSB MXMN1 * .JMX1 NOP CCA,CCE JSB MXMN1 * AMIN1 NOP CLA,CLE,INA JSB MXMN1 * AMAX1 NOP CLA,CCE,INA JSB MXMN1 * MXMN1 NOP LDB SSA FOR MIN, USE 'SSA'. SEZ INB FOR MAX, USE 'SSA,RSS'. STB TEST ADA KM1 ALTER FLAG: -2:INT*4, -1:INT*2, 0:REAL*4. STA FFLAG IT'S THE FIX FLAG. SKP * SET UP RTN ADDR, ARG COUNT, ARG POINTER. * LDA MXMN1 GET THE TRUE ENTRY POINT. ADA KM3 LDA 0,I STA MIN1 LDB 0,I  SET RETURN ADDR. STB MAX1 CMA -*-1 IN 'DEF *+N+1' ADA MIN1,I (-*-1)+(*+N+1) = N CMA,CCE,INA,SZA,RSS N=0 ? (A=-N) (E=1) JMP ZERO YES. * STA N NO. SET UP COUNTER. LDA MIN1 SET UP POINTER THRU PARAM LIST. INA RAL,ERA SET INDIRECT: POINTS TO ADDRESSES. STA DLIST JMP MXMN4 GO SET 1ST ARG AS CURRENT MAX/MIN. * * LOOK THRU LIST FOR NEW MAX/MIN. * MXMN2 ISZ DLIST BUMP ADDR TO NEXT ARG. LDA VALUE CHECK SIGNS. XOR DLIST,I SAME SIGN ? SSA JMP MXMN3 NO. * DLD VALUE YES. SUBTRACT. JSB .FSB DLIST DEF *-* SOS UNDERFLOW ? (CAN'T OVERFLOW) JMP TEST NO. * DLD DLIST,I YES. ADD 128 TO BOTH EXPONENTS. INB DST TEMP DLD VALUE INB JSB .FSB NOW REPEAT THE SUBTRACT. DEF TEMP JMP TEST THIS TIME IT HAS TO WORK. * MXMN3 LDA VALUE SIGNS DIFF, TEST SIGN OF CURRENT MIN/MAX. TEST ABS *-* MIN: SSA MAX: SSA,RSS JMP MXMN5 CURRENT VALUE IS O.K., LEAVE IT. * MXMN4 DLD DLIST,I NEW VALUE IS BETTER. REPLACE. DST VALUE MXMN5 ISZ N COUNT 'EM. DONE ? JMP MXMN2 NO. GO FOR MORE. * * IF NEED BE, FIX THE RESULT. * DLD VALUE (A,B) = REAL VERSION. ISZ FFLAG WHAT IS REQUIRED ? RSS JSB IFIX INTEGER*2. FIX. ISZ FFLAG RSS JSB .FIXD INTEGER*4. FIX. JMP MAX1,I DONE. * * ZERO ARGUMENTS, RESULT = 0. * ZERO CLA SAME FOR ALL TYPES. CLB JMP MAX1,I * * LOCALS & CONSTANTS. * N NOP PARAM COUNTER. FFLAG NOP FIX FLAG. VALUE DEC 0,0 BEST VALUE SO FAR. TEMP DEC 0,0 ARGUMENT * (2**128) SSA SSA KM1 DEC -1 KM3 DEC -3 * END K   24998-18111 2001 S C0122 &REAL SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "REAL" OBTAIN REAL PART OF COMPLEX NUMBER NAM REAL,6 24998-1X111 REV.2001 750701 ENT REAL EXT .ZPRV SPC 2 * * CALLING SEQUENCE * JSB REAL * DEF *+2 * DEF X (COMPLEX ARG) * (RESULT IN A AND B) SPC 2 REAL NOP JSB .ZPRV DEF LIBX ISZ REAL BUMP TO P+2 LDA REAL,I GET DEF X DLD A,I ISZ REAL RETURN P+3 LIBX JMP REAL,I DEF REAL A EQU 0 END * z  24998-18112 2001 S C0122 &XADD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "XADD" .ENTR ENTRY TO ".XADD" NAM XADD,7 24998-1X112 REV.2001 780921 ENT XADD EXT .RCNG,.XADD SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 XADD NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @XADD+0 ".XADD" FROM "XADD" ORB @XADD DEF .XADD+0 ORR END C  24998-18113 2001 S C0122 &XDIV SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "XDIV" .ENTR ENTRY TO ".XDIV" NAM XDIV,7 24998-1X113 REV.2001 780921 ENT XDIV EXT .RCNG,.XDIV SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 XDIV NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @XDIV+0 ".XDIV" FROM "XDIV" ORB @XDIV DEF .XDIV+0 ORR END |  24998-18114 2001 S C0122 &XMPY SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "XMPY" .ENTR ENTRY TO ".XMPY" NAM XMPY,7 24998-1X114 REV.2001 780921 ENT XMPY EXT .RCNG,.XMPY SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 XMPY NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @XMPY+0 ".XMPY" FROM "XMPY" ORB @XMPY DEF .XMPY+0 ORR END 1  24998-18115 2001 S C0122 &XSUB SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "XSUB" .ENTR ENTRY TO ".XSUB" NAM XSUB,7 24998-1X115 REV.2001 780921 ENT XSUB EXT .RCNG,.XSUB SPC 1 * THIS IS AN INTERFACE ROUTINE TO ALLOW A FORTRAN II PROGRAM * TO CALL MATH ROUTINES IN THE FORTRAN IV LIBRARY. SEE * THE LISTING OF ".RCNG" FOR MORE INFORMATION. SPC 1 XSUB NOP ENTRY TO FIX THE PROPER JSB .RCNG CALLING SEQUENCE TO DEF @XSUB+0 ".XSUB" FROM "XSUB" ORB @XSUB DEF .XSUB+0 ORR END   24998-18116 2001 S C0122 &Z$DBL SYS INDEPENDENT LIBRARY             H0101 e ASMB,L * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "Z$DBL" - SYSTEM PARAMETER: # WDS IN DOUBLE PRECISION. NAM Z$DBL,6 24998-1X116 REV.2001 781106 * ENT Z$DBL * Z$DBL RPL 3 * END U  24998-18117 2001 S C0122 &..DLC SYS INDEPENDENT LIBRARY             H0101 yASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "..DLC" DOUBLE LOAD REAL AND COMPLEMENT NAM ..DLC,6 24998-1X117 REV.2001 750701 ENT ..DLC EXT .ZPRV * * ..DLC NOP JSB .ZPRV DEF LIBX LDA ..DLC,I GET ADDRESS OF ARGUMENT ISZ ..DLC BUMP RETURN ADDRESS STA ARG CLA SUBTRACT CLB FROM FSB ARG,I ZERO LIBX JMP ..DLC,I DEF ..DLC ARG NOP END * * *   24998-18118 2001 S C0122 &.ATA2 SYS INDEPENDENT LIBRARY             H0101 ASMB,L,F,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ATA2" - TRIPLE PRECISION INVERSE TANGENT OF TWO ARGUMENTS. NAM .ATA2,7 24998-1X118 REV.2001 780424 * ENT .ATA2,.ATN2 EXT .ATAN,.TADD,.TSUB,.TDIV,.ENTR,.4ZRO,.CFER * * .ATA2(Y,X) TAKES THE TRIPLE-PRECISION INVERSE TRIGONOMETRIC * TANGENT OF TWO ARGUMENTS, I.E. ATAN(Y/X) PROPERLY ADJUSTED SO THAT * THE RESULT ANGLE LIES IN THE PROPER QUADRANT. IF X OR Y IS ZERO, * THE RESULT IS 0,PI/2, -PI/2 OR PI, AS IS APPROPRIATE. IN OTHER * WORDS, .ATA2 COMPUTES THE ANGLE PART OF A CARTESIAN TO POLAR * CONVERSION. * * CALLING SEQUENCE: * * JSB .ATA2 * DEF *+4 * DEF * DEF * DEF * (A,B) = ASCII "15UN" * * * THE ERROR RETURN IS TAKEN IF X=Y=0. * * METHOD: THE DIVISION Y/X IS DONE. IF IT OVERFLOWS, THE RESULT IS * SIGN(PI/2,Y) . IF NOT, THE RESULT IS ATAN(Y/X) IF X>0 ELSE * ATAN(Y/X)+SIGN(PI,Y) . SPC 3 * COPY ADDRESSES, FORM Y/X, CHECK FOR OVERFLOW. * RESLT DEF *-* Y DEF *-* X DEF *-* .ATA2 NOP .ATN2 EQU .ATA2 JSB .ENTR COPY ADDRESSES DEF RESLT JSB .TDIV Z _ Y/X DEF Z DEF Y,I DEF X,I SOC OVERFLOW ? JMP OFL YES. SKP }   * NO OVERFLOW, USE .ATAN . * LDA X,I X>0 ? SSA JMP ATA2A NO. JSB .ATAN YES, RESULT = .ATAN(Z) DEF *+3 DEF RESLT,I DEF Z JMP EXIT EXIT ATA2A LDA Z FIRST WORD Y/X SZA,RSS Y/X UNDERFLOW OR Y=0 ? JMP ATA2C (A=0) SKIP ATAN: IS ZERO ANYWAY. JSB .ATAN ATAN(Z) DEF *+3 DEF Z DEF Z LDA X,I SGN(X) ATA2C XOR Z SGN(Y) SSA Y>0 ? JMP ATA2D NO. JSB .TADD YES, RESULT = ATAN(Z) + PI DEF RESLT,I DEF Z DEF PI JMP EXIT ATA2D JSB .TSUB Y<0, RESULT = ATAN(Z) - PI DEF RESLT,I DEF Z DEF PI EXIT ISZ .ATA2 SKIP ERROR RETURN. JMP .ATA2,I * * Y/X OVERFLOWS. RESULT = -PI/2, +PI/2 OR ERROR. * OFL LDA X,I X=Y=0 ? IOR Z SZA,RSS JMP ERROR YES. LDA Z NO, RESULT = SIGN(PI/2,Y) SSA Y>0 ? JMP OFL1 NO, -PI/2 JSB .CFER YES, +PI/2 DEF RESLT,I DEF PI2 JMP EXIT OFL1 JSB .TSUB NO, -PI/2 DEF RESLT,I DEF .4ZRO+0 DEF PI2 JMP EXIT SKP * ERROR PROCESSING. * ERROR LDA =A15 (A,B) _ ASCII "15UN" LDB =AUN JMP .ATA2,I TAKE ERROR EXIT. * * LOCALS & CONSTANTS. * Z BSS 4 Y/X PI OCT 062207,166521,010264,060404 PI2 OCT 062207,166521,010264,060402 * END С   24998-18119 2001 S C0122 &.CADD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CADD" COMPLEX ADDITION NAM .CADD,6 24998-1X119 REV.2001 750701 ENT .CADD EXT .ZRNT,.ENTC SPC 2 * * CALLING SEQUENCE: Y=X1+X2 * * JSB .CADD * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 6 NOP Y NOP X1 NOP X2 NOP .CADD NOP JSB .ZRNT DEF LIBX JSB .ENTC DEF Y GET PRAMS ADDRESSES STA TDB+2 DLD X1,I FAD X2,I R(X1) + R(X2) DST Y,I STORE REAL PART ISZ Y ISZ Y ISZ X1 ISZ X1 ISZ X2 ISZ X2 DLD X1,I FAD X2,I I(X1) + I(X2) DST Y,I STORE IMAGINARY PART LIBX JMP TDB+2,I DEF TDB DEC 0 END * * * * +  24998-18120 2013 S C0122 &.CDIV SYSTEM IND. LIB.             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18120 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CDIV" COMPLEX DIVISION NAM .CDIV,6 24998-1X120 REV.2013 791227 * ENT .CDIV EXT .ZRNT,.ENTC,.FLUN,..FCM * * .CDIV - COMPLEX DIVIDE. * * CALLING SEQUENCE: Y = X1 / X2 * * JSB .CDIV * DEF Y * DEF X1 * DEF X2 * * METHOD: THE MOST OFTEN QUOTED FORM OF COMPLEX DIVIDE IS: * * (A,B) (A*C+B*D,B*C-A*D) * ----- = ----------------- * (C,D) C*C+D*D * * WHICH FAILS FOR LARGE VALUES OF C OR D, EVEN THOUGH THE RESULT * MAY BE EASILY REPRESENTABLE. A MODIFICATION IS USED WHICH AVOIDS * THIS PROBLEM: * * (A,B) (A+B*D/C,B-A*D/C) * ----- = ----------------- IF ABS(C) > ABS(D) * (C,D) C+D*D/C * AND * * (A,B) (B+A*C/D,-A+B*C/D) * ----- ----------------- IF ABS(C) < ABS(D) * (C,D) D+C*C/D * * NOTE THAT THE SECOND FORM IS IDENTICAL TO THE FIRST EXCEPT THAT: * * 1) "A" HAS BEEN SWITCHED WITH "B", AND "C" WITH "D". * 2) THE SIGN OF THE IMAGINARY PART HAS CHANGED. * * THE SECOND FORM IS COMPUTED BY PERFORMING THESE TWO OPERATIONS. SKP * INITIALIZATION. GET ADDRESSES OF A,B,C,D & RESULT. * TDB NOP ABS _  .CDIV-TDB NOP T1 BSS 2 T2 BSS 2 T3 BSS 2 IY NOP B NOP D NOP Y NOP A NOP C NOP .CDIV NOP JSB .ZRNT DEF LIBX JSB .ENTC GET PRAMS ADDRESS DEF Y STA TDB+2 LDA Y COMPUTE ADDRESSES OF IMAG PARTS. ADA =D2 STA IY LDA A ADA =D2 STA B LDA C ADA =D2 STA D * * DECIDE WHICH PART OF DENOMINATOR IS BIGGER. * DLD C,I T1 = - EXPONENT OF C. CCE,SZA,RSS C=0 ? (E=1) ERA,SLA,ARS IF SO, SET EXP TO -16384. JSB .FLUN CMA,INA STA T1 DLD D,I GET EXP OF D. CCE,SZA,RSS D=0 ? (E=1) ERA,SLA,ARS IF SO, SET EXP TO -16384. JSB .FLUN ADA T1 EXP(D) - EXP(C) RAL,SLA,ERA ABS(C) > ABS(D) ? (E=1 IF SO) JMP CDIV1 YES. USE D/C. LDA A NO. D>C. SWAP (USE OF) A & B, C & D. LDB B STA B STB A LDA C LDB D STA D STB C SKP * PERFORM THE DIVIDE. * CDIV1 DLD D,I T1 = D / C FDV C,I STA T1 STB T1+1 FMP D,I T2 = C+D*D/C FAD C,I STA T2 STB T2+1 DLD B,I REAL PART = (A+B*D/C) / T2 FMP T1 FAD A,I FDV T2 DST T3 DLD A,I IMAG PART = +-(B-A*D/C) / T2 FMP T1 FSB B,I SEZ C>D ? JSB ..FCM YES, IS (B-A*D/C). FDV T2 DST IY,I DLD T3 DST Y,I LIBX JMP TDB+2,I DEF TDB DEC 0 END r   24998-18121 2001 S C0122 &.CMPY SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CMPY" COMPLEX MULTIPLICATION NAM .CMPY,6 24998-1X121 REV.2001 750701 ENT .CMPY EXT .ZRNT,.ENTC SPC 2 * * CALLING SEQUENCE: Y = X1 * X2 * * JSB .CMPY * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 14 NOP T REP 2 NOP IX1 NOP IX2 NOP RX1 REP 2 R(X1) NOP RX2 REP 2 R(X2) NOP Y NOP X1 NOP X2 NOP .CMPY NOP JSB .ZRNT DEF LIBX JSB .ENTC GET PRAMS ADDRESSES DEF Y STA TDB+2 LDA X1 INA INA STA IX1 SAVE ADDRESS OF I(X1) LDA X2 INA INA STA IX2 SAVE ADDRESS OF I(X2) DLD IX1,I FMP IX2,I I(X1) * I(X2) STA T STB T+1 SAVE DLD X2,I STA RX2 SAVE R(X2) STB RX2+1 DLD X1,I STA RX1 SAVE R(X1) STB RX1+1 FMP RX2 R(X1) * R(X2) FSB T R(X1) * R(X2) - I(X1) * I(X2) DST Y,I STORE REAL PART LDA RX2 LDB RX2+1 FMP IX1,I R(X2) * I(X1) STA T STB T+1 SAVE LDA RX1 LDB RX1+1 FMP IX2,I R(X1) * I(X2) FAD T R(X1) * I(X2) + R(X2) * I(X1) ISZ Y ISZ Y DST Y,I STORE IMAGINARY PART LIBX JMP TDB+2,I DEF TDB DEC 0    SPC 2 END * r   24998-18122 2001 S C0122 &.CSUB SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CSUB" COMPLEX SUBTRACTION NAM .CSUB,6 24998-1X122 REV.2001 750701 ENT .CSUB EXT .ZRNT,.ENTC SPC 2 * * CALLING SEQUENCE: Y=X1-X2 * * JSB .CSUB * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 6 NOP Y NOP X1 NOP X2 NOP .CSUB NOP JSB .ZRNT DEF LIBX JSB .ENTC GET PRAMS ADDRESSES DEF Y STA TDB+2 DLD X1,I FSB X2,I R(X1) - R(X2) DST Y,I STORE REAL PART ISZ Y ISZ Y ISZ X1 ISZ X1 ISZ X2 ISZ X2 DLD X1,I FSB X2,I I(X1) - I(X2) DST Y,I STORE IMAGINARY PART LIBX JMP TDB+2,I DEF TDB DEC 0 END * o  24998-18123 2001 S C0122 &.DTOD SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".DTOD" DOUBLE TO DOUBLE POWER (DLB) NAM .DTOD,6 24998-1X123 REV.2001 750701 ENT .DTOD EXT .ZRNT EXT DEXP,DLOG,.XMPY,.DFER,.ENTC XMPY EQU .XMPY SPC 2 * * CALLING SEQUENCE: Y = D ** P * JSB .DTOD * DEF Y * DEF D * DEF P * (ERROR RETURN) * (NORMAL RETURN) SPC 1 TDB NOP DEC 9 NOP T REP 3 TEMPORARY NOP Y NOP ADDRESS OF Y D NOP ADDRESS OF D P NOP ADDRESS OF P .DTOD NOP JSB .ZRNT DEF LIBX JSB .ENTC GET PRAM ADDRESSES DEF Y STA TDB+2 SET RETURN ADDRESS LDA D,I LDB P,I SZA D = 0 ? JMP NOT0 NO. SSB,RSS P < 0 SZB,RSS OR P = 0 ? JMP ERROR YES. ERROR JMP ANS0 NO. ANSWER = 0 NOT0 SZB,RSS JMP ANS1 ANS MUST BE 1.0 SSA NEGATIVE? JMP ERROR YES JSB DLOG T = LN(D) DEF *+3 DEF T DEF D,I NOP NO CHANCE FOR ERROR JSB XMPY T = P * LN(D) DEF T DEF T DEF P,I JSB DEXP T = DEXP(P * LN(D)) DEF *+3 DEF Y,I PUT IN CALLERS VALUE DEF T JMP ERROR+2 ERROR CONDITION: JMP ANSOK RETURN OK ANS0 LDA ADZRO GET ADDRESS OF DEX 0.0 RSS    ANS1 LDA ADONE GET ADDRESS OF DEX 1.0 STA D SAVE TEMPORARY JSB .DFER MOVE VALUE TO OUTPUT VALUE DEF Y,I OUTPUT VALUE ADDRESS DEF D,I INTERNAL VALUE ANSOK ISZ TDB+2 BUMP RETURN ADDRESS TO P+5 JMP LIBX RETURN DONE ERROR LDA MSG LDB MSG+1 LIBX JMP TDB+2,I DEF TDB ZERO DEX 0.0 ADZRO DEF ZERO ADONE DEF ONE ONE DEX 1.0 MSG ASC 2,13UN ERROR MESSAGE END *   24998-18124 2001 S C0122 &.FPWR SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".FPWR" - INTERNAL SINGLE ** INTEGER. NAM .FPWR,7 24998-1X124 REV.2001 781106 * ENT .FPWR EXT FLOAT,.FLUN,.FMP * A EQU 0 B EQU 1 * * .FPWR TAKES A 32-BIT FLOATING-POINT NUMBER TO A POSITIVE * INTEGER POWER IN THE RANGE [2,32768]. * * CALLING SEQUENCE: * * LDA POWER * JSB .FPWR * DEF * (A,B) = RESULT. * * IF THE RESULT OVERFLOWS, THE MAX POSITIVE NUMBER IS * RETURNED WITH OVERFLOW SET. IF IT UNDERFLOWS, ZERO IS * RETURNED WITH OVERFLOW SET. FOR OTHER CASES OVERFLOW * IS CLEARED. SKP * GET ARG ADDR, LEFT-JUSTIFY POWER. * .FPWR NOP JSB FLOAT LEFT-JUSTIFY POWER. ELA,RAL REMEMBER SIGN, DISCARD HIGH BIT. STA POWER JSB .FLUN A = # BITS. CMA,SEZ,INA,RSS - # BITS. INA 1 - # BITS. (WAS O.K. FOR 32768) STA COUNT SAVE COUNT. LDA .FPWR,I COPY ARG ADDR. ISZ .FPWR STA ARG * * FOR EACH BIT, SQUARE. IF SET, MULTIPLY BY ARG. * DLD A,I GET ARG. SZA,RSS ZERO ? JMP .FPWR,I YES, DONE. FPWR1 FMP A SQUARE IT. STA TEMP GET NEXT BIT OF POWER. LDA POWER ELA STA POWER LDA TEMP SEZ,RSS IF SET, MULTIPLY BY ARd  G. JMP FPWR2 JSB .FMP ARG DEF *-* FPWR2 ISZ COUNT COUNT BIT. JMP FPWR1 IF MORE. SZA,RSS ZERO ? STO YES, UNDERFLOW. JMP .FPWR,I ELSE EXIT. * * LOCALS. * COUNT BSS 1 - # BITS LEFT. POWER BSS 1 POWER. TEMP BSS 1 END S(   24998-18125 2001 S C0122 &.LOG0 SYS INDEPENDENT LIBRARY             H0101 ASMB,L,F,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".LOG0" - TRIPLE PRECISION COMMON LOGARITHM. NAM .LOG0,7 24998-1X125 REV.2001 780424 * ENT .LOG0,.LOGT EXT .LOG,.TMPY,.ENTR * * .LOG0 TAKES THE TRIPLE-PRECISION COMMON LOGARITHM OF A * TRIPLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * JSB <.LOG0 OR .LOGT> * DEF *+3 * DEF * DEF * (A,B) = ASCII "02UN" * * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS NEGATIVE OR ZERO. * * METHOD: .LOG IS CALLED TO DO ERROR CHECKING AND COMPUTE THE * NATURAL LOG. THE RESULT IS MULTIPLIED BY THE COMMON LOG OF E. SPC 4 RESLT DEF *-* ARG DEF *-* .LOG0 NOP .LOGT EQU .LOG0 JSB .ENTR COPY ADDRESSES. DEF RESLT JSB .LOG TAKE NATURAL LOG. DEF *+3 DEF RESLT,I DEF ARG,I JMP .LOG0,I ERROR: TAKE ERROR EXIT. ISZ .LOG0 BUMP TO NORMAL EXIT. JSB .TMPY LOG10 = LN * LOG10(E) DEF RESLT,I DEF RESLT,I DEF .LOGE JMP .LOG0,I EXIT * .LOGE OCT 067455,166124,115624,034777 END U    24998-18126 2001 S C0122 &.NGL SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".NGL" - CONVERT TRIPLE TO SINGLE WITH ROUNDING. NAM .NGL,7 24998-1X126 REV.2001 780424 * ENT .NGL EXT SNGL,.CFER * A EQU 0 B EQU 1 * * .NGL CONVERTS A TRIPLE-PRECISION NUMBER TO A SINGLE-PRECISION * NUMBER WITH ROUNDING. * * CALLING SEQUENCE: * * JSB .NGL * DEF *+2 * DEF * RESULT IN (A,B), OVERFLOW AS PER SNGL. * * METHOD: AFTER THE FIRST 25 BITS, THE ONLY EFFECT MANTISSA BITS * HAVE ON THE RESULT IS FOR ROUNDING NEGATIVE NUMBERS. FOR THESE, * IT ONLY MATTERS WHETHER THE REMAINING BITS ARE ALL ZERO OR NOT. * THE TRIPLE NUMBER IS CONVERTED TO DOUBLE BY DELETING THE THIRD * WORD AND EXPLICITLY SETTING THE NEXT BIT IF ANY DELETED BIT WAS * SET. THE RESULT IS ROUNDED USING ".NGL" . SPC 4 TEMP BSS 4 .NGL NOP STA TEMP SAVE A-REG. ISZ .NGL SKIP RETURN ADDR. LDA .NGL,I COPY ARG ADDR. ISZ .NGL STA ARG LDA TEMP RESTORE A-REG. JSB .CFER COPY ARG. DEF TEMP ARG DEF *-* LDA TEMP+2 THIRD WORD. LDB TEMP+3 FOURTH WORD. CCE,SZA THIRD WORD NONZERO ? RBL,ERB YES, SET TOP BIT IN FOURTH WORD STB TEMP+2 DELETE THIRD WORD JSB SNGL USE "SNGL" TO ROUND DEF *+2 DEF TEMP    JMP .NGL,I * END   24998-18127 2001 S C0122 &.RCNG SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".RCNG" FTN2 TO FTN4 LIBRARY 2DN LEVEL INTERFACE NAM .RCNG,7 24998-1X127 REV.2001 780921 * ENT .RCNG B EQU 1 * * THIS ROUTINE WILL PATCH CALLS TO VARIOUS FTN4 LIBRARY ROUTINES USING * THE ".ENTR" CONVENTION TO THE ".ENTC" CONVENTION. ENTRY POINTS * CURRENTLY IMPLEMENTED ARE XADD,XSUB,XMPY,XDIV,CADD,CSUB,CMPY,CDIV. * THESE ARE THE NON-INTRINSIC ENTRY POINTS TO THE SAME ROUTINE WITH * THE SAME NAME WITH A "." IN FRONT. * CAUTION!!!! * THIS ROUTINE WILL CHANGE THE IN-LINE CODE OF CALLS TO THESE * ROUTINES, THEREFORE THE "JSB'S" TO THESE ROUTINES SHOULD NOT BE * USED AS DATA. THIS IS ONLY POSSIBLE IN ASSEMBLY LANGUAGE, * THEREFORE THE ACTUAL INTRINSIC ROUTINES SHOULD BE USED * * BEFORE CALL: AFTER CALL: HOW THIS ROUTINE IS USED * * JSB XADD NOP XADD NOP * DEF *+4 JSB .XADD JSB .RCNG * DEF Z DEF Z DEF @XADD+0 * DEF X DEF X ORB * DEF Y DEF Y @XADD DEF .XADD+0 * ORR SPC 2 .RCNG NOP ENTRY SAVE ALL REGISTERSERS STB SAVB LDB .RCNG GET P+1 OF CALLER CMB,INB SUBTRACT 2 TO GET HIS INB CALLERS ADDRESS CMB P+1 LDB B,I ADDRESS OF IE. X;%  ADD CMB,INB SUBTRACT ONE TO GET P+0 CMB OF HIS CALLER STB RETRN SAVE JSB XADD ADDRESS CLB NOW STORE BACK A "NOP" STB RETRN,I IN PLACE OF JSB XADD ISZ RETRN NOW STORE A JSB .XADD LDB .RCNG,I IN PLACE OF THE "DEF *+N+1" LDB B,I PTR TO ROUTINE OR ITS OPCODE. SSB,RSS PTR ? LDB .RCNG,I YES, CONSTRUCT JSB THRU BASE PAGE. SSB,RSS ADB JSBI0 STB RETRN,I LDB SAVB RESTORE ALL REGISTERS JMP RETRN,I NOW GO EXECUTE SPC 1 RETRN NOP SAVB NOP JSBI0 JSB 0,I END   24998-18128 2001 S C0122 &.SQRT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".SQRT" - TRIPLE PRECISION SQUARE ROOT. NAM .SQRT,7 24998-1X128 REV.2001 780424 * ENT .SQRT EXT .ENTR,.CFER,.PWR2,SQRT,.XADD,.XDIV,.TADD,.TDIV * * .SQRT TAKES THE TRIPLE-PRECISION SQUARE ROOT OF A * TRIPLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * JSB .SQRT * DEF *+3 * DEF * DEF * (A,B) = ASCII "02UN" * * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS NEGATIVE. * * METHOD: "SQRT" IS CALLED TO GIVE A 2-WORD APPROXIMATION. SINCE * ONLY 15 BITS OF THE ARGUMENT TO SQRT ARE VALID (FIRST WORD), ONLY * 15 BITS OF THIS INITIAL APPROXIMATION ARE VALID. HERON'S RULE IS * APPLIED TWICE IN THE FORM: X(N+1)=0.5*(X(N)+Y/X(N)) GIVING 31 * BITS AND (IF SUFFICIENT PRECISION WAS USED) 63 BITS. SPC 4 * TEST Y=0, COPY Y, TAKE 15-BIT APPROX, CHECK Y<0 . * RESLT DEF *-* ARG DEF *-* .SQRT NOP JSB .ENTR COPY ADDRESSES DEF RESLT JSB .CFER COPY ARG DEF Y DEF ARG,I LDA Y TAKE 15-BIT APPROX. = X0 SZA,RSS ZERO ? JMP ZERO YES. LDB Y+3 JSB SQRT JMP .SQRT,I Y<0, ERROR. SKP * TWO HERON'S RULES: FIRST IN 3-WORD, SECOND IN 4-WORD*x  . * STA X EXTEND TO 3-WORD. STA X+1 FOR CONSISTENT RESULTS, NOT ACCURACY. STB X+2 LDA Y+2 REDUCE Y TO 3-WORD (TEMPORARILY) STA TEMP LDA Y+3 STA Y+2 JSB .XDIV Y/X0 DEF YDIVX DEF Y DEF X JSB .XADD 2*X1 = X0+Y/X0 DEF X DEF X DEF YDIVX LDA X+2 EXTEND TO 4-WORD STA X+3 LDA TEMP RESTORE Y TO 4-WORD STA Y+2 JSB .TDIV Y/(2*X1) = 0.5*(Y/X1) DEF Y DEF Y DEF X CCA (FOR .PWR2) LDB X+3 0.25*(2*X1) = 0.5*(X1) JSB .PWR2 DEF MTWO STB X+3 JSB .TADD X2 = 0.5*(X1)+0.5*(Y/X1) = 0.5*(X1+Y/X1) DEF RESLT,I DEF X DEF Y SQRT1 ISZ .SQRT NORMAL RETURN JMP .SQRT,I * * ARG = 0, RESULT = 0 * ZERO JSB .CFER JUST COPY ARG. DEF RESLT,I DEF ARG,I JMP SQRT1 * * LOCALS & CONSTANTS. * Y BSS 4 ARGUMENT X BSS 4 CURRENT APPROXIMATION YDIVX BSS 3 Y/X0, 3-WORD TEMP BSS 1 SCRATCH FOR SAVING Y+2 MTWO DEC -2 SINCE "DEF" DOESN'T ALLOW LITERALS. END ^   24998-18129 2001 S C0122 &.TAN SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TAN" - TRIPLE PRECISION TRIGONOMETRIC TANGENT. NAM .TAN,7 24998-1X129 REV.2001 790417 * ENT .TAN EXT .ENTR,/CMRT,DPOLY,.TDIV * * .TAN TAKES THE TRIPLE-PRECISION TANGENT OF A * TRIPLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * JSB .TAN * DEF *+3 * DEF * DEF * (A,B) = ASCII "09OR" * * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS OUTSIDE * THE RANGE [-2**23,+2**23) . * * METHOD: THE ROUTINE ".CMRT" IS USED TO SUBTRACT N*PI/2 FROM * THE ARGUMENT AND MULTIPLY BY 4/PI, WHERE N IS CHOSEN S.T. * THE RESULT IS IN [-1,+1] . THE LOWEST BIT OF N (EVEN/ODD) * IS ALSO RETURNED. * THE TANGENT IS THEN EVALUATED ON THIS REDUCED INTERVAL, AND * THE RESULT IS INVERTED AND NEGATED IF N WAS ODD. SEE "TAN". * * THE APPROXIMATION USED FOR TANGENT ON [-1,+1] IS: * * C1+YSQ*(C2+YSQ*(C3+YSQ*C4)) * TANGENT(Y*4/PI) = Y * ----------------------------- * C5+YSQ*(C6+YSQ*(C7+YSQ)) * * WHERE: * C1 = -.160528895723771175D+5 * C2 = +.127029221227298238D+4 * C3 = -.171390807007805963D+2 * C4 = +.281970876313544687D-1 * C5 = -.204391738108172811D+5 * C6 = +.582002294049071829D+4 * C7 = -.181557373390721805D+3 * * NOTE ON SPEED: IF DPOLY WERE NOT USED, IT WOULD BE POSSIBLE TO * AVOID THE INVERSION STEP BY REVERSING THE ORDER OF THE ABOVE * DIVIDE. THIS WOULD REQUIRE TWO CALLS TO DPOLY (ONE FOR THE * NUMERATOR AND ONE FOR THE DENOMINATOR) AND A DIVIDE, WHICH WOULD * TAKE AS MUCH ADDITIONAL TIME AS THE EXTRA DIVIDE NOW TAKES. SKP * RANGE REDUCE. * RESLT DEF *-* ARG DEF *-* .TAN NOP JSB .ENTR COPY ADDRESSES DEF RESLT CLA "TAN" FLAG TO /CMRT JSB /CMRT REDUCE DEF X DEF C DEF ARG,I JMP ERROR TOO BIG. STB N SAVE EVEN/ODD FLAG ISZ .TAN SET NORMAL RETURN * * EVALUATE APPROXIMATION * JSB DPOLY OCT 100000 FLAGS DEF RESLT,I DEF X DEF C4 CONSTANTS DEF THREE ORDER OF NUMERATOR DEF THREE ORDER OF DENOMINATOR LDA N ODD # OF PI/2 ? RAR,SLA JMP *+2 JMP .TAN,I NO, EXIT. JSB .TDIV YES, TAKE -1.0 / RESULT DEF RESLT,I DEF MONE DEF RESLT,I JMP .TAN,I EXIT * * ERROR PROCESSING * ERROR LDA =A09 (A,B) = ASCII "09OR" LDB =AOR JMP .TAN,I SKP * LOCALS & CONSTANTS * X BSS 4 REDUCED ARG N BSS 1 EVEN/ODD FLAG THREE DEC 3 INTEGER 3 MONE OCT 100000,0,0,0 4-WD -1.0 C OCT 050574,140667,023442,005402 4/PI FIRST 55 BITS CL OCT 071162,020251,047741,035713 4/PI AFTER 1ST 28 BITS C4 OCT 071576,145023,100575,032767 C3 OCT 135561,112324,025222,000012 C2 OCT 047544,126346,143277,030026 C1 OCT 101226,034211,174051,133034 C7 OCT 122470,123775,016630,034020 C6 OCT 055360,013575,133105,107432 C5 & OCT 130050,151601,021140,013036 END `  24998-18130 2001 S C0122 &.TPWR SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TPWR" - INTERNAL TRIPLE ** INTEGER. NAM .TPWR,7 24998-1X130 REV.2001 781106 * ENT .TPWR EXT .TMPY,FLOAT,.FLUN,.CFER * * .TPWR TAKES A 64-BIT FLOATING-POINT NUMBER TO A POSITIVE * INTEGER POWER IN THE RANGE [2,32768]. * * CALLING SEQUENCE: * * LDA POWER * JSB .TPWR * DEF * DEF * * IF THE RESULT OVERFLOWS, THE MAX POSITIVE NUMBER IS * RETURNED WITH OVERFLOW SET. IF IT UNDERFLOWS, ZERO IS * RETURNED WITH OVERFLOW SET. FOR OTHER CASES OVERFLOW * IS CLEARED. SPC 4 * GET ADDRESSES, LEFT-JUSTIFY POWER. * .TPWR NOP LDB .TPWR,I COPY RESULT ADDR. ISZ .TPWR STB RESLT LDB .TPWR,I COPY ARG ADDR. ISZ .TPWR STB ARG JSB FLOAT LEFT-JUSTIFY NUMBER. ELA,RAL REMEMBER SIGN, DISCARD HIGH BIT. STA POWER JSB .FLUN A = # BITS. CMA,SEZ,INA,RSS - # BITS. INA 1 - # BITS. (WAS O.K. FOR 32768) STA COUNT SAVE COUNT. SKP * COPY ARG, SET UP INITIAL VALUE. * JSB .CFER SAVE ARG FOR MULTIPLIER. DEF TEMP ARG DEF *-* JSB .TMPY SET UP INITIAL VALUE. DEF RESLT,I DEF TEMP DEF TEMP LDA TEMP IS ARG ZERO ? SZA,RSS JMP .TPWR,  I YES, DONE. LDB POWER LEFT-JUSTIFIED POWER. CMB REVERSE SENSE OF SLB BELOW. JMP TPWR2 FIRST SQUARE ALREADY DONE. * * FOR EACH BIT, SQUARE. IF SET, MULTIPLY BY ARG. * TPWR1 JSB .TMPY SQUARE IT. RESLT DEF *-* DEF RESLT,I DEF RESLT,I TPWR2 RBL,SLB NEXT BIT POWER. MULTIPLY ? JMP TPWR3 NO. JSB .TMPY YES, DO IT. DEF RESLT,I DEF RESLT,I DEF TEMP TPWR3 ISZ COUNT OUT OF BITS ? JMP TPWR1 NO, DO AGAIN. LDA RESLT,I IS RESULT ZERO ? SZA,RSS STO YES, UNDERFLOW. JMP .TPWR,I DONE. * * LOCALS. * COUNT BSS 1 COUNTER OF BITS USED. POWER BSS 1 LEFT-JUSTIFIED POWER. TEMP BSS 4 MULTIPLIER. * END Z   24998-18131 2001 S C0122 &.TSCS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TSCS" - TRIPLE PRECISION TRIGONOMETRIC SINE AND COSINE. NAM .TSCS,7 24998-1X131 REV.2001 790417 * ENT .SIN,.COS EXT .ENTR,/CMRT,DPOLY,..TCM * * .TSCS TAKES THE TRIPLE-PRECISION SINE OR COSINE * TRIPLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * JSB .SIN OR .COS * DEF *+3 * DEF * DEF * (A,B) = ASCII "05OR" * * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS OUTSIDE * THE RANGE [-2**23,+2**23) . * * METHOD: THE ROUTINE "/CMRT" IS USED TO SUBTRACT N*PI/2 FROM * THE ARGUMENT AND MULTIPLY BY 4/PI, WHERE N IS CHOSEN S.T. * THE RESULT IS IN [-1,+1]. THE LOWER TWO BITS OF N ARE IN A. * THE FINAL RESULT IS THEN THE SINE OR COSINE OF THE REDUCED VALUE, * DEPENDING ON WHETHER AN EVEN OR ODD MULTIPLE OF PI/2 WAS * SUBTRACTED. THE RESULT IS NEGATED IF AN ODD MULTIPLE OF PI * WAS SUBTRACTED. * * THE APPROXIMATIONS USED FOR SINE AND COSINE ON [-1,+1] ARE: * * S1+XSQ*(S2+XSQ*(S3+XSQ*S4)) * SINE(X*PI/4) = X * ----------------------------- * S5+XSQ*(S6+XSQ*(S7+XSQ) * * * C1+XSQ*(C2+XSQ*(C3+XSQ*C4)) *  COSINE(X*4/PI) = ----------------------------- * C5+XSQ*(C6+XSQ*(C7+XSQ)) * * WHERE: * S1 = +.206643399057353636D7 C1 = +.129054063552079782D7 * S2 = -.181603957072347052D6 C2 = -.374567381232715042D6 * S3 = +.359993003561793397D4 C3 = +.134323138925688837D5 * S4 = -.201074790195269777D2 C4 = -.112314630290509841D3 * S5 = +.263106547338311489D7 C5 = +.129054063552079782D7 * S6 = +.392702372048540481D5 C6 = +.234677917710655242D5 * S7 = +.278119167978678163D3 C7 = +.209695300876930826D3 SKP * RANGE REDUCE, PICK WHICH APPROXIMATION TO USE. * .SIN NOP ".SIN" ENTRY POINT LDA .SIN LDB =D4 JMP TSCS0 .COS NOP ".COS" ENTRY POINT LDA .COS LDB =D6 TSCS0 STA TSCS DUMMY UP ENTRY FOR .ENTR STB J SAVE J JMP TSCS+1 * RESLT DEF *-* ARG DEF *-* TSCS NOP FAKE ENTRY POINT JSB .ENTR COPY ADDRESSES DEF RESLT LDA J RANGE REDUCE. JSB /CMRT DEF X DEF C DEF ARG,I JMP ERROR ARG TOO BIG. ADB J N+J: BITS 1,2 CONTROL SIN/COS & SIGN INB (SET BIT 15 IN FLAG WORD) RBL,CLE,ERB (CLEAR BIT 14 IN FLAG WORD) LDA SINP SET UP POINTER TO PROPER COEFS RBR,SLB SET UP DPOLY FLAGS LDA COSP STB J STA CONST * * EVALUATE THE SINE OR COSINE RATIONAL FORM. * JSB DPOLY EVALUATE 3/3 RATIONAL FORM. J ABS *-* FLAGS DEF RESLT,I DEF X CONST DEF *-* CONSTANTS DEF THREE +3 DEF THREE +3 * * ATTACH SIGN, EXIT. * ISZ TSCS NORMAL RETURN. LDA J NEED TO NEGATE ? RAR,SLA JMP TSCS,I NO, EXIT. JSB ..TCM YES, DO IT. DEF RESLT,I Z JMP TSCS,I EXIT. SKP * ERROR PROCESSING. * ERROR LDA =A05 (A,B) = ASCII "05OR" LDB =AOR JMP TSCS,I TAKE ERROR EXIT. * * LOCALS & CONSTANTS. * X BSS 4 REDUCED ARG. SINP DEF S4 POINTER FOR DPOLY COSP DEF C4 POINTER FOR DPOLY THREE DEC 3 SUP C OCT 050574,140667,023442,005402 4/PI FIRST 55 BITS CL OCT 071162,020251,047741,035713 4/PI AFTER 1ST 28 BITS S4 OCT 127621,170405,014200,077412 S3 OCT 070177,070266,101631,021030 S2 OCT 123523,100537,124720,030044 S1 OCT 077040,003766,054350,136052 S7 OCT 042607,120162,135311,146422 S6 OCT 046263,017134,135211,045440 S5 OCT 050113,031362,057505,105054 C4 OCT 107657,072143,123755,161416 C3 OCT 064360,120266,103333,120034 C2 OCT 122215,104746,074206,046046 C1 OCT 047304,131212,142766,145052 C7 OCT 064330,177636,077646,023020 C6 OCT 055653,145261,101060,054036 C5 OCT 047304,131212,142766,145052 UNS END q  24998-18132 2013 S C0122 &.TTOT SYSTEM IND. LIB.             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18132 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TTOT" - TRIPLE TO A TRIPLE POWER. NAM .TTOT,7 24998-1X132 REV.2013 791019 * ENT .TTOT EXT .LOG,.EXP,.CFER,.TMPY,.4ZRO * B EQU 1 * * .TTOT RAISES A TRIPLE-PRECISION NUMBER TO A * TRIPLE-PRECISION POWER: X**Y = .EXP(Y*.LOG(X)) * * CALLING SEQUENCE: * * JSB .TTOT * DEF * DEF * DEF * (A,B) = ASCII "13UN" (ERROR) * OR "07OF" (OVERFLOW) * * THE ERROR RETURN IS TAKEN IF (X<0) OR (X=0 AND Y<=0) OR * (RESULT >= 2**127). UNDERFLOW PRODUCES ZERO. * * ACCURACY NOTE: ABOUT LOG2(Y*.LOG(X)) BITS ARE LOST BY ERROR * PROPOGATION FROM THE ERROR IN Y*.LOG(X) . FOR EXAMPLE, WHEN * THE RESULT IS 8.9E6, ABOUT 4 BITS ARE LOST. TO CORRECT THIS * ERROR, THE LOG AND MULTIPLY WOULD HAVE TO BE ACCURATE TO AN * ADDITIONAL 6-7 BITS AND THE EXP WOULD HAVE TO BE CORRECTED * BY THE FIRST TAYLOR SERIES TERM, I.E. IF Z=Y*.LOG(X) TO EXTRA * PRECISION, ZU=(Z ROUNDED TO 4 WORDS) AND ZL=Z-ZU, THEN THE * CORRECTED RESULT WOULD BE: .EXP(ZU)*(1.0+ZL) SPC 4 * TAKE .LOG(X), IMPLICITLY CHECKING FOR X <= 0 . * .TTOT NOP STA SAVEA STB SAVEB SAVE A,B IN CASE WE INDIRECT THRU THEM JSB ENTR1 STA RESLT JSB ENTR1 GET ADDRESS OF BAS8E STA BASE JSB ENTR1 GET ADDRESS OF POWER STA POWER JSB .LOG TAKE .LOG(X) DEF *+3 DEF LOGX BASE DEF *-* JMP XLEZ IF X <= 0 SKP * TAKE .EXP(Y*.LOG(X)) * JSB .TMPY Y*.LOG(X) DEF YLOGX DEF LOGX POWER DEF *-* SOS MULTIPLY OVERFLOWED ? JMP TTOT1 NO. LDA LOGX YES. DETERMINE SIGN OF Y*.LOG(X) XOR POWER,I SSA <0 ? JMP UFL YES, UNDERFLOW. GO RETURN ZERO. TTOT1 JSB .EXP .EXP(Y*.LOG(X)) (OFL IF MPY OFL) DEF *+3 RESLT DEF *-* DEF YLOGX JMP .TTOT,I OFL IN .EXP TTOT2 ISZ .TTOT GOOD RETURN JMP .TTOT,I EXIT * * X<=0 : IF X=0 AND Y>0 THEN RESULT=0, ELSE ERROR * XLEZ LDA BASE,I X, FIRST WORD. LDB POWER,I Y, FIRST WORD. IOR B - IFF X<0 OR Y<0. SSA,RSS X<0 OR Y<0 SZB,RSS OR Y=0 ? JMP ERROR YES, ERROR UFL JSB .CFER NO, RESULT = 0 DEF RESLT,I DEF .4ZRO+0 CLO RETURN OVERFLOW CLEAR. JMP TTOT2 EXIT * * ERROR PROCESSING * ERROR LDA =A13 (A,B) = ASCII "13UN" LDB =AUN JMP .TTOT,I TAKE ERROR EXIT * * LOCALS, CONSTANTS * ENTR1 NOP ROUTINE TO GET NEXT ADDR IN PARAM LIST LDA .TTOT ADDR ADDR PARAM ISZ .TTOT LDB SAVEB RESTORE ORIGINAL B ENTR2 STA T2 SAVE ADDR TO INDIRECT THRU LDA SAVEA RESTORE ORIGINAL A LDA T2,I DO THE INDIRECT RAL,CLE,SLA,ERA JMP ENTR2 INDIRECT BIT WAS SET, TRY AGAIN JMP ENTR1,I EXIT * SAVEA BSS 1 SAVEB BSS 1 * LOGX BSS 4 .LOG(X) T2 BSS 1 YLOGX BSS 4 Y*.LOG(X) END Ɛ   24998-18133 2001 S C0122 &.YINT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".YINT" - TRIPLE PRECISION TRUNCATION. NAM .YINT,7 24998-1X133 REV.2001 780424 * ENT .YINT EXT .TENT,.TADD,.ENTR * * .YINT RETURNS THE TRIPLE PRECISION NUMBER OF INTEGER VALUE * WHICH HAS THE MAXIMUM MAGNITUDE LESS THAN OR EQUAL TO THE * ARGUMENT, I.E. * .YINT(X) = SIGN(FLOOR(ABS(X)),X) * * CALLING SEQUENCE: * * JSB .YINT * DEF *+3 * DEF * DEF * * * METHOD: RESULT = FLOOR(X) IS TAKEN USING .TENT . IF X<0 AND * BITS WERE TRUNCATED, 1.0 IS ADDED. * RESLT BSS 1 ARG BSS 1 .YINT NOP JSB .ENTR COPY ADDR DEF RESLT JSB .TENT TAKE FLOOR(X) DEF *+3 DEF RESLT,I DEF ARG,I LDA ARG,I SZB IF NO BITS WERE TRUNCATED, DONE. SSA,RSS IF X>= 0, DONE. JMP .YINT,I JSB .TADD ELSE ADD 1.0 DEF RESLT,I DEF RESLT,I DEF ONE JMP .YINT,I EXIT * ONE DEY 1.0 END e3  24998-18134 2001 S C0122 &AINT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "AINT" REAL TO REAL TRUNCATION NAM AINT,6 24998-1X134 REV.2001 750701 ENT AINT EXT .ZPRV SPC 2 * * CALLING SEQUENCE * DLD Y (REAL NUMBER) * JSB AINT * (RESULT IN A AND B) SPC 2 X1 NOP X2 NOP AINT NOP JSB .ZPRV DEF LIBX STA X1 STB X2 SAVE POS. VALUE LDA B AND O377 MASK DOWN TO EXPONENT CLE,SLA,RAR FORM EXPONENT JMP ZERO NEG. EXP ANS = 0 LDB =D-23 TEST IF EXP > 22 ADB A CLB,SEZ,CLE EXP > 22, ALREADY INTEGER JMP EXIT DIV D16 CLE,ERB DIV BY 2 AND E=EVEN/ODD FLAG ADB MTBL POINT TO MASK LDB B,I GET MASK CMB,SEZ,CLE NEED TO BE ODD MASK? BRS OF TRICK TO HAVE 1/2 SIZE TABLE SLA MASK 1ST OR 2ND WORD? JMP SECND JUST SECONE LDA X1 GET HI-MANTISSA AND B MASK IT SZA ANY BITS SET? CCE YES, SET FLAG XOR X1 MAKE HI-MANTISSA STA X1 CCB SET MASK FULL SECND LDA X2 GET LO-MAN+EXPONENT AND OM400 MASK OF EXPONENT AND B MASK LEAST BITS SZA ANY BITS SET? CCE YES SET FLAG XOR X2 MAKE LO-MANTISSA+EXP STA X2 AND PUT IN B-REG EXIT LDB X2 RESTORE REGS. |   LDA X1 RESTORE A&B REG. SEZ NEED POSSIBLE BUMP? SSA,RSS YES, BUT ONLY OF NEG. JMP LIBX RETURN DONE FAD =F1.0 ADD ONE. LIBX JMP AINT,I DEF AINT SPC 1 ZERO CLB CLA RETURN A&B = 0 JMP LIBX SPC 1 MTBL DEF *+1 OCT 100000 OCT 160000 OCT 174000 OCT 177000 OCT 177600 OCT 177740 OCT 177770 OCT 177776 SPC 1 O377 OCT 377 OM400 OCT -400 D16 DEC 16 A EQU 0 B EQU 1 END *   24998-18135 2001 S C0122 &ALOGT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED COMMON REAL LOGARITHM NAM ALOGT,7 24998-1X135 REV.2001 770518 ENT ALOGT ENT ALOG0 EXT ALOG SPC 2 * CALLING SEQUENCE : Y = LOG10(X) * DLD X * JSB ALOGT * (ERROR RETURN) * (NORMAL RETURN. RESULT IN A AND B) SPC 2 ALOG0 EQU * ALOGT NOP JSB ALOG COMPUTE LN(X) JMP ALOGT,I ERROR RETURN FMP LOGTE RESULT = LOG10(E) * LN(X) ISZ ALOGT SET CORRECT RETURN ADDRESS JMP ALOGT,I LOGTE DEC .43429448 LOG10(E) END * * 5  24998-18136 2013 S C0122 &CEXP SYSTEM IND. LIB.             H0101 ASMB,R,L,C NAM CEXP,6 24998-1X136 REV.2013 791018 ENT CEXP EXT .ZRNT,.ENTP,EXP,SIN,COS *********************************************************************** * * * NAME: CEXP * * SOURCE: 24998-18136 * * RELOC: PART OF 24998-12002 * * PGMR: CRG * * * *********************************************************************** * * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * * *********************************************************************** * * COMPLEX EXPONENTIAL * * CALLING SEQUENCE: Y=CEXP(X) * * JSB CEXP * DEF *+3 * DEF Y * DEF X * * * *********************************************************************** * TDB NOP ABS CEXP-TDB TDBP2 NOP EXPRX BSS 2 Y BSS 1 X BSS 1 * CEXP NOP ENTRY POINT JSB .ZRNT DEF LIBX JSB .ENTP GET ADDRESSES DEF Y STA TDBP2 SAVE RETURN ADDR * *********************************************************************** SKP *********************************************************************** * * COMPUTE EXPRX = EXP(REAL(X)) * U   DLD X,I JSB EXP JMP LIBX ERROR RETURN * DST EXPRX SAVE IN EXPRX * *********************************************************************** * * COMPUTE REAL(Y) = EXP(REAL(X)) * COS(IMAG(X)) * ISZ X BUMP X ADDR TO IMAG(X) ISZ X * DLD X,I JSB COS JMP LIBX ERROR RETURN * FMP EXPRX DST Y,I STORE IN REAL(Y) * *********************************************************************** * * COMPUTE IMAG(Y) = EXP(REAL(X)) * SIN(IMAG(X)) * ISZ Y BUMP Y ADDR TO IMAG(Y) ISZ Y * DLD X,I JSB SIN JMP LIBX ERROR RETURN * FMP EXPRX DST Y,I STORE IN IMAG(Y) * *********************************************************************** SKP *********************************************************************** * * SET NORMAL RETURN AND EXIT * ISZ TDBP2 BUMP RETURN ADDR LIBX JMP TDBP2,I RETURN DEF TDB DEC 0 * *********************************************************************** END 8   24998-18137 2013 S C0122 &CLOG SYSTEM IND. LIB.             H0101 zASMB,R,L,C NAM CLOG,6 24998-1X137 REV.2013 791016 ENT CLOG EXT .ZRNT,.ENTP,CABS,ALOG,ATAN2 *********************************************************************** * * * NAME: CLOG * * SOURCE: 24998-18137 * * RELOC: PART OF 24998-12002 * * PGMR: CRG * * * *********************************************************************** * * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * * *********************************************************************** * * COMPLEX LOGARITHM * * CALLING SEQUENCE: Y=CLOG(X) * * JSB CLOG * DEF *+3 * DEF Y * DEF X * * * *********************************************************************** * TDB NOP ABS CLOG-TDB TDBP2 NOP RYTMP BSS 2 ADIX BSS 1 ADIY BSS 1 Y BSS 1 X BSS 1 * CLOG NOP ENTRY POINT JSB .ZRNT DEF LIBX JSB .ENTP GET ADDRESSES DEF Y STA TDBP2 SAVE RETURN ADDR * *********************************************************************** SKP *********************************************************************** * * CAR  LCULATE REAL(Y) = ALOG(CABS(X)) * * CHECK FOR ERROR CONDITION (X = 0) * JSB CABS COMPLEX ABS VALUE DEF *+2 DEF X,I * JSB ALOG JMP LIBX ERROR RTN DST RYTMP SAVE IN RYTMP * *********************************************************************** * * CALCULATE ADDRESSES OF IMAG(X) AND IMAG(Y) * LDA X ADA .2 STA ADIX * LDA Y ADA .2 STA ADIY * *********************************************************************** * * CALCULATE IMAG(Y) = ATAN2(IMAG(X)/REAL(X)) * JSB ATAN2 DEF *+3 DEF ADIX,I IMAG(X) DEF X,I REAL(X) * DST ADIY,I STORE IN IMAG(Y) * *********************************************************************** * * STORE REAL(Y), BUMP TO NORMAL RETURN, AND EXIT * DLD RYTMP DST Y,I * ISZ TDBP2 SET NORMAL RETURN LIBX JMP TDBP2,I RETURN DEF TDB DEC 0 * *********************************************************************** SKP *********************************************************************** * .2 DEC 2 * *********************************************************************** END .   24998-18138 2001 S C0122 &CMPLX SYS INDEPENDENT LIBRARY             H0101 #ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "CMPLX" EXPRESS TWO ARGUMENTS AS COMPLEX NAM CMPLX,6 24998-1X138 REV.2001 750701 ENT CMPLX EXT .ZPRV,.ENTP SPC 2 * * CALLING SEQUENCE: * JSB CMPLX * DEF *+4 * DEF Y (COMPLEX RESULT) * DEF X1(REAL PART) * DEF X2(IMAGINARY PART) SPC 2 Y NOP X1 NOP X2 NOP CMPLX NOP JSB .ZPRV DEF LIBX JSB .ENTP DEF Y DLD X1,I DST Y,I STORE REAL PART. ISZ Y ISZ Y DLD X2,I DST Y,I STORE IMAGINARY PART. LIBX JMP CMPLX,I DEF CMPLX END * q  24998-18139 2013 S C0122 &CSNCS SYSTEM IND. LIB.             H0101 ASMB,R,L,C NAM CSNCS,7 24998-1X139 REV.2013 791018 ENT CCOS,CSIN EXT .ENTR,SIN,COS,EXP,..FCM *********************************************************************** * * * NAME: CSNCS * * SOURCE: 24998-18139 * * RELOC: PART OF 24998-12002 * * PGMR: CRG * * * *********************************************************************** * * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * * *********************************************************************** * * COMPLEX COSINE * * CALLING SEQUENCE: Y=CCOS(X) * * JSB CCOS * DEF *+3 * DEF Y * DEF X * * * *********************************************************************** * CY NOP CX NOP * CCOS NOP ENTRY POINT JSB .ENTR GET ADDRESSES DEF CY * *********************************************************************** * * CALL COMMON ROUTINE WITH A = ADDR(X) * LDA CX SET A = DEF(X) JSB COMON JMP CCOS,I ERROR RETURN * *********************************************************************** SKP *********************************************************************** * * CALCULATE REAL(Y) = (E(IX) + E(-IX)) * COS(RX)/2 * FMP COS2 DST CY,I STORE REAL(Y) * *********************************************************************** * * CALCULATE IMAG(Y) = (E(-IX) - E(IX)) * SIN(RX)/2 * ISZ CY BUMP Y ADDR TO IMAG(Y) ISZ CY * DLD EDIFF E(-IX) - E(IX) FMP SIN2 (E(-IX) - E(IX)) * SIN(RX)/2 DST CY,I STORE IMAG(Y) * *********************************************************************** * * BUMP RETURN ADDRESS AND RETURN * ISZ CCOS JMP CCOS,I RETURN * *********************************************************************** SKP *********************************************************************** * * COMPLEX SIN * * CALLING SEQUENCE: Y=CSIN(X) * * JSB CSIN * DEF *+3 * DEF Y * DEF X * * * *********************************************************************** * SY BSS 1 SX BSS 1 * CSIN NOP ENTRY POINT JSB .ENTR GET ADDRESSES DEF SY * *********************************************************************** * * CALL COMMON ROUTINE WITH A = ADDR(X) * LDA SX JSB COMON JMP CSIN,I ERROR RETURN * *********************************************************************** * * CALCULATE REAL(Y) = (E(IX) + E(-IX)) * SIN(RX)/2 * FMP SIN2 (E(IX) + E(-IX)) * SIN(RX)/2 DST SY,I STORE IN REAL(Y) * *********************************************************************** SKP *********************************************************************** * * CALCULATE IMAG(Y) = (E(IX) - E(-IX)) * COS(RX)/2 * ISZ SY BUMP Y ADDR TO IMAG(Y) ISZ SY V* DLD EDIFF E(-IX) - E(IX) JSB ..FCM E(IX) - E(-IX) FMP COS2 (E(IX) - E(-IX)) * COS(RX)/2 DST SY,I STORE IN IMAG(Y) * *********************************************************************** * * BUMP RETURN ADDRESS AND RETURN * ISZ CSIN JMP CSIN,I RETURN * *********************************************************************** SKP *********************************************************************** * * * COMMON ROUTINE FOR CCOS AND CSIN * * CALLING SEQUENCE: LDA SX(CX) * JSB COMON * * * * COMON NOP ENTRY POINT STA X SET X = ADDR(X) * *********************************************************************** * * COMPUTE COS2 = COS(RX)/2 * DLD X,I JSB COS JMP COMON,I ERROR RETURN * FDV F2.0 DST COS2 * *********************************************************************** * * COMPUTE SIN2 = SIN(RX)/2 * DLD X,I JSB SIN JMP COMON,I ERROR RETURN * FDV F2.0 DST SIN2 * *********************************************************************** SKP *********************************************************************** * * COMPUTE EXPIX = EXP(IMAG(X)) * ISZ X BUMP X ADDR TO IMAG(X) ISZ X * DLD X,I JSB EXP JMP COMON,I ERROR RETURN * DST EXPIX * *********************************************************************** * * CALCULATE EXPMX = EXP(-IMAG(X))= 1.0 / EXP(IMAG(X)) * DLD F1.0 FDV EXPIX DST EXPMX * *********************************************************************** * * COMPUTE EDIFF = E(-IMAG(X)) - E(IMAG(X)) * FSB EXPIX DST EDIFF * *********************************************************************** * * 7 RETURN WITH (A B) = E(IMAG(X) + E(-IMAG(X)) * DLD EXPIX FAD EXPMX * ISZ COMON SET NORMAL RETURN JMP COMON,I RETURN * *********************************************************************** SKP *********************************************************************** * X BSS 1 COS2 BSS 2 SIN2 BSS 2 EXPIX BSS 2 EXPMX BSS 2 EDIFF BSS 2 F1.0 DEC 1.0 F2.0 DEC 2.0 * *********************************************************************** END   24998-18140 2001 S C0122 &DATAN SYS INDEPENDENT LIBRARY             H0101 {ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DATAN" DOUBLE PRECISION ARCTANGENT OF X. NAM DATAN,6 24998-1X140 REV.2001 750701 ENT DATAN EXT .ZRNT,.ENTP EXT .XADD,.XSUB,.XMPY,.XDIV EXT .DFER,..DCM,.FLUN SPC 2 * * CALLING SEQUENCE : Y = ARCTAN(X) * JSB DATAN * DEF *+3 * DEF Y (RESULT) * DEF X SPC 2 TDB NOP DEC 24 NOP T REP 3 STORAGE NOP P1 REP 3 NOP V REP 3 FOR NOP Q1 REP 3 NOP U REP 3 NOP Y1 NOP ADDRESS OF TAN(3*PI/16),T(PI/16) ALPHA NOP ADDRESS OF 3*PI/16 OR PI/16 FLAG NOP =-1,+1 IF X NEG. OR POS. SIGN NOP =-1,+1 IF /X/ > 1 OR <1 Y NOP X NOP DATAN NOP JSB .ZRNT DEF LIBX JSB .ENTP TRANSFER PARAMETERS DEF Y STA TDB+2 JSB .DFER TRANSFER PRAM X TO T DEF T DEF X,I LDA T SZA X = 0 ? JMP CONTU JSB .DFER SET Y = 0 DEF Y,I DEF T JMP LIBX CONTU CLB,INB IF X > 0, SIGN = +1 SSA CCB ELSE SIGN = -1 STB SIGN SSB,RSS IF T < 0, JMP *+3 JSB ..DCM T = -T DEF T LDB T+2 JSB .FLUN IF T >= 1, THEN CMA,INA -EXPON(T) < 0 CLB,INB IF T < 1 , FLAG = +1, SSA T~ ELSE CCB FLAG = -1 STB FLAG SSB,RSS JMP *+5 JSB .XDIV IF T >= 1, DEF T DEF ONE DEF T JSB .XSUB U = (SQRT(2) - 1) - T DEF U DEF SQ2M1 DEF T LDB U LDA ADCN2 IF T <= SQRT(2) - 1 - T, * Y1 = TAN(PI/16) AND * ALPHA = PI/16 SSB LDA ADCN1 IF T > SQRT(2) - 1 - T, * Y1 = TAN(3*PI/16) AND * ALPHA = 3*PI/16 STA Y1 ADA THREE STA ALPHA JSB .XMPY U = T * Y1 DEF U DEF T DEF Y1,I NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD U = 1 + T * Y1 DEF U DEF U DEF ONE NOP GIVE THE INTERRUPTS A CHANCE JSB .XSUB T = T - Y1 DEF T DEF T DEF Y1,I JSB .XDIV T = (T - Y1) / (1 + T * Y1) DEF T DEF T DEF U JSB .XMPY U = T * T = T ** 2 DEF U DEF T DEF T NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD V = U + B3 DEF V DEF U DEF B3 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY P1 = C2 * (U + B3) DEF P1 DEF C2 DEF V NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Q1 = U + B2 DEF Q1 DEF U DEF B2 JSB .XMPY Q1 = (U + B2) * (U + B3) DEF Q1 DEF Q1 DEF V NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Q1 = (U + B2) * (U + B3) + C3 DEF Q1 DEF Q1 DEF C3 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY V = C1 * Q1 DEF V DEF C1 DEF Q1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD U = U + B1 DEF U DEF U DEF B1 G NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY U = (U + B1) * Q1 DEF U DEF U DEF Q1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD U = (U + B1) * Q1 + P1 DEF U DEF U DEF P1 JSB .XDIV U = V / U DEF U DEF V DEF U JSB .XADD U = C0 + V / U DEF U DEF U DEF C0 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY U = U * T DEF U DEF U DEF T NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Y = U + ALPHA DEF Y,I DEF U DEF ALPHA,I ISZ FLAG IF FLAG = -1, X WAS INVERTED, JMP *+5 JSB .XSUB SO Y = PI/2 - Y DEF Y,I DEF PI2 DEF Y,I ISZ SIGN IF SIGN = -1, X WAS < 0, JMP *+3 JSB ..DCM SO Y = -Y DEF Y,I LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 2 ONE OCT 040000,0,2 1. THREE DEC 3 SQ2M1 OCT 065011,163147,172377 SQRT(2) - 1. PI2 OCT 062207,166521,010402 PI/2 CN1 OCT 052606,160252,160000 TAN(3*PI/16) OCT 045545,170774,146400 3*PI/16 CN2 OCT 062727,153601,052775 TAN(PI/16) OCT 062207,166521,010775 PI/16 ADCN1 DEF CN1 ADCN2 DEF CN2 C0 OCT 065377,057600,170775 .208979591837 C1 OCT 057417,040551,017004 2.97061224490 C2 OCT 112312,135516,167004 -3.35025248131 C3 OCT 137030,044035,144775 -.128720995297 B1 OCT 050645,157155,170406 5.10299532839 B2 OCT 051261,113644,177004 2.58417875505 B3 OCT 052005,053376,037402 1.31282591656 END *   24998-18142 2001 S C0122 &DLOGT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED COMMON DOUBLE LOGARITHM NAM DLOGT,7 24998-1X142 REV.2001 770518 ENT DLOGT ENT DLOG0 EXT DLOG,.ENTR EXT .XMPY XMPY EQU .XMPY SPC 2 * CALLING SEQUENCE: Y = LOG10(X) * JSB DLOGT * DEF *+3 * DEF Y * DEF X * (ERROR RETURN) * (NORMAL RETURN) SPC 2 Y NOP X NOP DLOG0 EQU * DLOGT NOP JSB .ENTR DEF Y JSB DLOG Y = LN(X) DEF *+3 DEF Y,I DEF X,I JMP DLOGT,I ERROR RETURN JSB XMPY Y = LN(X) * LOG10(E) DEF Y,I DEF Y,I DEF LOGTE ISZ DLOGT SET CORRECT RETURN ADDRESS JMP DLOGT,I LOGTE OCT 067455,166124,116377 LOG10(E) END * *   24998-18143 2001 S C0122 &DSIGN SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DSIGN" DOUBLE PRECISION TRANSFER OF SIGN NAM DSIGN,6 24998-1X143 REV.2001 750701 ENT DSIGN EXT .ZRNT,.ENTP,.DFER,..DCM SPC 2 * * CALLING SEQUENCE: ALL VARIABLES ARE DOUBLE * JSB DSIGN * DEF *+4 * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 6 NOP Y NOP X1 NOP X2 NOP DSIGN NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB .DFER Y=X1 DEF Y,I DEF X1,I LDA X2,I GET HI-MAN OF X2 SZA,RSS EQUAL 0? JMP ZERO YES XOR Y,I COMP IF SIGN'S ARE DIFFERENT SSA,RSS JMP LIBX JSB ..DCM DEF Y,I JMP LIBX ZERO JSB .DFER Y = 0.0 DEF Y,I DEF DEX0 LIBX JMP TDB+2,I DEF TDB DEX0 DEX 0.0 END * v  24998-18144 2001 S C0122 &DSIN SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DSIN" EXTENDED PRECISION SINE NAM DSIN,6 24998-1X144 REV.2001 750701 ENT DSIN EXT .ZRNT,.ENTP,..DCM EXT .DFER,ENTIX,XPOLY,.XADD,.XSUB,.XMPY,.XDIV SPC 1 * * EVALUATE SIN(X) = Y IN EXTENDED PRECISION. * CALLING SEQUENCE: * JSB DSIN * DEF *+3 * DEF Y * DEF X SPC 1 TDB NOP DEC 14 NOP SUB2 NOP JMP XUB2 SIGN NOP X1 REP 3 NOP TEMP REP 3 NOP Y NOP X NOP SPC 1 DSIN NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 CLA STA SIGN SET SIGN FLAG = POSITIVE JSB .DFER PUT X INTO X1 DEF X1 DEF X,I LDA X1 SSA,RSS IF X < 0 THEN JMP NOCNG ISZ SIGN CHANGE SIGN JSB ..DCM X = -X SIGN = -SIGN DEF X1 NOCNG JSB .XSUB DEF TEMP TEMP = X - PI DEF X1 DEF PI LDA TEMP SSA,RSS IF X >= PI THEN JSB SUB2 ADJUST X AND SIGN FOR 0<= X = PI/2 THEN JMP NOADJ JSB .XSUB ADJUST X TO -PI/2 <= X < PI/2 DEF X1 DEF X1 DEF PI ISZ SIGN AND SET SIGN = -SIGN SPC 1 NOADJ LDA X1 IF ABS5  (X) < 10^-6 THEN SSA SIN(X) = X * SIGN JMP MINX JSB .XSUB DEF TEMP DEF X1 DEF .10M6 LDA TEMP SMALL SSA,RSS JMP POLY ELSE USE POLY. APPROX. OUT LDA SIGN SLA,RSS IF SIGN = NEG. JMP EXIT JSB ..DCM X1 = -X1 DEF X1 EXIT JSB .DFER Y = X1 DEF Y,I DEF X1 LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 1 MINX JSB .XADD DEF TEMP DEF X1 DEF .10M6 LDA TEMP CMA JMP SMALL SPC 1 XUB2 JSB .XDIV DEF TEMP TEMP = X / PI DEF X1 DEF PI JSB ENTIX DEF *+3 DEF TEMP TEMP = ENTIER(X/PI) DEF TEMP SLA IF TEMP IS ODD THEN ISZ SIGN SIGN = -SIGN JSB .XMPY DEF TEMP TEMP = PI*ENTIER(X/PI) DEF TEMP DEF PI JSB .XSUB DEF X1 DEF X1 DEF TEMP JMP SUB2,I SPC 1 SPC 1 POLY JSB .XMPY DEF TEMP TEMP = X * X DEF X1 DEF X1 JSB XPOLY DEF *+5 DEF TEMP TEMP = POLY(TEMP) DEF N7 DEF TEMP DEF K1 JSB .XMPY DEF X1 X = TEMP * X DEF TEMP DEF X1 JMP OUT SPC 1 PI OCT 62207,166521,10404 .10M6 OCT 41433,15702,153333 PI2 OCT 62207,166521,10402 N7 OCT 7 K1 OCT 52251,144311,26301 OCT 112177,152274,154317 OCT 56167,34402,77735 OCT 113771,100307,114351 OCT 42104,42102,41365 OCT 125252,125252,125775 OCT 40000,0,2 END *   24998-18145 2001 S C0122 &DSQRT SYS INDEPENDENT LIBRARY             H0101 "ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DSQRT" DOUBLE PRECISION SQUARE ROOT (DLB) NAM DSQRT,6 24998-1X145 REV.2001 750701 ENT DSQRT EXT DBLE,SNGL,SQRT,.XDIV,.XADD,.XMPY EXT .ENTP,.ZRNT SPC 1 * * CALCULATE Y = SQRT(X) IN EXTENDED PRECISION * CALLING SEQUENCE: * JSB DSQRT * DEF *+3 * DEF Y * DEF X * NORMAL RETURN SPC 1 * NOTE: THERE ARE MUCH FASTER WAYS TO DO THIS IF HARDWARE * DOUBLE PRECISION IS NOT AVAILABLE. (DLB) SPC 1 TDB NOP DEC 11 NOP X1 REP 3 NOP R REP 3 NOP Y NOP X NOP SPC 1 DSQRT NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB SNGL PACK ARGUMENT TO SINGLE DEF *+2 PRECISION. DEF X,I JSB SQRT FIND FIRST APPROX. TO SQRT JMP LIBX ERROR RETURN Y<0 STA R STB R+1 STA R+2 SET FOR POSSIBLE ZERO SZA,RSS EQUAL 0? JMP PZERO YES SET Y=0 JSB DBLE EXTEND APPROXIMATION DEF *+3 DEF R APPROX = R DEF R JSB .XDIV X1 = X/R DEF X1 DEF X,I DEF R NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD DEF R R = X1 + R DEF X1 DEF R NOP GIVE THE INTERRUPTS A CHANCE PZERO JSB .XMPY DIVIDE   BY 2 DEF Y,I RETURN PRAM TO CALLER DEF R TEMP STORAGE DEF D.5 MULT BY .5 ISZ TDB+2 RETURN P+4 LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 1 D.5 DEX 0.5 END * &   24998-18146 2001 S C0122 &DTAN SYS INDEPENDENT LIBRARY             H0101 ASMB,L,F,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DTAN" - DOUBLE PRECISION TRIGONOMETRIC TANGENT. NAM DTAN,7 24998-1X146 REV.2001 780320 * ENT DTAN EXT .ENTR,.DFER,.TMPY,.TSUB,.TINT,.ITBL EXT .XADD,.XMPY,.XDIV,XPOLY * * DTAN TAKES THE DOUBLE-PRECISION TRIGONOMETRIC TANGENT OF A * DOUBLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * JSB DTAN * DEF *+3 * DEF * DEF * (A,B) = ASCII "09OR" * * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS OUTSIDE THE * RANGE [-8192*PI,+8192*PI) . * * METHOD: THE ARGUMENT IS MULTIPLIED BY 4/PI AND THE NEAREST * EVEN INTEGER IS SUBTRACTED, REDUCING THE PROBLEM TO EVALUATION * OF TAN(X*PI/4) ON [-1,1] BY THE FOLLOWING IDENTITIES: * * TAN(X) = TAN(X-N*PI) * TAN(X*4/PI) = TAN(X*4/PI-4*N) * TAN(X) = -1.0 / TAN(X-PI/2) * TAN(X*4/PI) = -1.0 / TAN(X*4/PI-2) * * SO THAT THE UPPER BITS OF THE EVEN INTEGER MAY BE IGNORED * (AS MULTIPLES OF 4) AND BIT 1, IF SET, REQUIRES THAT THE * RESULT BE NEGATED AND INVERTED. * * THE FOLLOWING APPROXIMATION IS USED ON THE REDUCED RANGE: * * C1 * TAN(X*PI/4) = X * ( -------- + C3+XSQ*(C4+XSQ*(C5+XSQ*C6)) ) * Q C2+XSQ * WHERE: * C1 = -.254660667110D+01 * C2 = -.400002835440D+01 * C3 = .148751008558D+00 * C4 = .233036398271D-02 * C5 = .564290881573D-04 * C6 = .133098254545D-05 SKP * COPY ARG. * RESLT DEF *-* ARG DEF *-* DTAN NOP JSB .ENTR COPY ADDRESSES. DEF RESLT JSB .DFER COPY ARG DEF X DEF ARG,I * * RANGE REDUCE. * LDA X+2 EXTEND TO 4-WORD AND =B377 STA X+3 XOR X+2 STA X+2 JSB .TMPY X*4/PI DEF X DEF X DEF .4PI JSB .TINT IFIX(X*4/PI) DEF X SSA,RSS FIND NEAREST EVEN INTEGER INA SOC TOO BIG ? JMP ERROR YES, ERROR. ISZ DTAN NO, SKIP ERROR RETURN. ERA,CLE,ELA CLEAR BIT 0 STA N JSB .ITBL FLOAT IT DEF XSQ JSB .TSUB X*4/PI-N DEF X DEF X DEF XSQ LDA X+2 SHORTEN TO 3-WORD AND =B177400 STA X+2 LDA X+3 AND =B377 IOR X+2 STA X+2 SKP * EVALUATE TANGENT OF REDUCED ARG. * JSB .XMPY X**2 DEF XSQ DEF X DEF X JSB XPOLY C3+XSQ*(C4+XSQ*(C5+XSQ*C6)) DEF *+5 DEF TEMP DEF K4 DEF XSQ DEF C6 JSB .XADD C2+XSQ DEF XSQ DEF C2 DEF XSQ JSB .XDIV C1/(C2+XSQ) DEF XSQ DEF C1 DEF XSQ JSB .XADD C1/(C2+XSQ) + C3+... DEF TEMP DEF XSQ DEF TEMP JSB .XMPY X * (C1/...) DEF RESLT,I DEF X DEF TEMP * * IF ODD NUMBER OF PI/2, INVERT & NEGATE. * LDA N I.E., CHECK BIT 1ULT. RAR,SLA JMP *+2 SET, DO -1.0/RESUL T JMP DTAN,I CLEAR, EXIT. JSB .XDIV RESULT _ -1.0 / RESULT DEF RESLT,I DEF MONE DEF RESLT,I JMP DTAN,I EXIT * * ERROR PROCESSING. * ERROR LDA =A09 (A,B) = ASCII "09OR" LDB =AOR JMP DTAN,I TAKE ERROR EXIT. SKP * LOCALS & CONSTANTS. * X BSS 4 ARG & REDUCED ARG XSQ BSS 4 X**2 TEMP BSS 4 TEMP N BSS 1 2 * NUMBER OF PI/2 SUBTRACTED K4 DEC 4 LENGTH OF POLY TO XPOLY MONE DEX -1.0 C1 OCT 127202,031271,175404 C2 OCT 137777,161104,126406 C6 OCT 054522,015443,167733 C5 OCT 073127,021322,056345 C4 OCT 046134,101213,174761 C3 OCT 046051,013632,000775 .4PI OCT 050574,140667,023442,005402 END [Q  24998-18147 2001 S C0122 &IABS SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "IABS" ABSOLUTE INTEGER ROUTINE NAM IABS,6 24998-1X147 REV.2001 750701 ENT IABS EXT .ZPRV * * * CALL.. * * LDA I (INTEGER) * JSB IABS (RESULT INTEGER) * * CALCULATES ABS(I). * IABS NOP JSB .ZPRV DEF LIBX CLO SSA,RSS A<0 ? JMP LIBX NO,ANS=A CMA,INA A=-A SOC DID A=100000B ? CMA YES, A=77777B LIBX JMP IABS,I DEF IABS END * h  24998-18148 2001 S C0122 &INT SYS INDEPENDENT LIBRARY             H0101 nASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED REAL TO INTEGER TRUNCATION NAM INT,7 24998-1X148 REV.2001 750701 ENT INT EXT IFIX SPC 2 * CALLING SEQUENCE: * DLD X (REAL NUMBER) * JSB INT * (RESULT IN A) SPC 2 INT NOP JSB IFIX JMP INT,I END * *   24998-18149 2001 S C0122 &ISIGN SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ISIGN" ABS(INTEGER) * SIGN (ANY NUMB) NAM ISIGN,6 24998-1X149 REV.2001 750701 ENT ISIGN EXT .ZPRV * * * CALL.. * * JSB ISIGN (RESULT INTEGER) * DEF A (INTEGER) * DEF B (INTEGER OR FLOATING) * O-REG SET IF OVERFLOW * * CALCULATES SIGNUM(B)*ABS(A). * ISIGN NOP JSB .ZPRV DEF LIBX LDB ISIGN,I GET A LDB B,I IN THE B-REG. ISZ ISIGN GET B IN A-REG LDA ISIGN,I LDA A,I ISZ ISIGN SZA SZB,RSS A=0 OR B=0 ? CLB YES ANS=0 XOR B COMPLEMENT IF SIGN'S SSA,RSS ARE DIFFERENT JMP EXIT CLO CMB,INB COMPLEMENT ANS SOC OVERFLOW? ANS = 32767 CMB EXIT LDA B LIBX JMP ISIGN,I DEF ISIGN A EQU 0 B EQU 1 END *   24998-18150 2001 S C0122 &SNGM SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "SNGM" DOUBLE PRECISION TO REAL WITHOUT ROUNDING (DLB) NAM SNGM,6 24998-1X150 REV.2001 750701 ENT SNGM EXT .ZPRV SPC 1 * * THIS ROUTINE WILL CONVERT A DOUBLE PRECISION NUMBER (3 WORDS) * TO A REAL NUMBER (2 WORDS) WITHOUT ROUNDING. THIS MEANS THAT * THE ABSOLUTE VALUE OF THE RESULTANT NUMBER WILL BE EQUAL OR * LESS THAN THE ORIGIONAL NUMBER. MAX ERROR WILL BE LESS THAN * ONE BIT. (LEAST SIGNIFICANT BIT OF THE REAL NUMBER) * CALLABLE: * JSB SNGM * DEF *+2 * DEF X * * WHERE: * X = DOUBLE PRECISION (3 WORD) PARAMETER * A-REG & B-REG = REAL (2 WORD) RESULTS * NO ERROR RETURNS * NOTE: ZERO IS RETURNED IF LESS THAN ABS((-1+2**-23)*(2**-128)) * * TIME: * APPROX. TIME IS 70 2100 MACHINE CYCLES (100 MAX) * PLUS THE TIME TO EXECUTE PRIVLEGED PROCESSING. SPC 1 SNGM NOP ENTRY A&B = SNGM (X) JSB .ZPRV DEF LIBX LDA SNGM,I WE CAN BEAT .ENTR ISZ SNGM BUMP TO P+2 LDB SNGM STA SNGM PUT BACK THE RETURN ADDRESS LDB B,I PICK UP CONTENTS OF P+2 RBL,CLE,SLB,ERB INDIRECTS? JMP *-2 YES, TRY AGAIN LDA B,I GET FIRST WORD OF X STA Y1 SAVE INTERNALLY CLE,INB GO GET NEXT WORD OF X LDA B,I AND OM400 h   MASK OFF BITS 24-31 STA Y2 SAVE LO-MAN OF REAL NUMB CPA B,I NUMBER CHANGED? CCE NO, SKIP SETTING THE CHANGE FLAG CME,INB YES, SET FLAG TO MEAN TRUNK BITS LDA B,I LAST WORD=LO-MAN + EXP. AND O377 GET EXP. STA Y3 SAVE EXPONENT. CPA B,I CHANGED? RSS NO, SKIP SETTING THE CHANGE FLAG CCE YES, SET FLAG TO MEAN TRUNKED BITS LDA Y1 PICK UP HI-MAN. LDB Y2 PICK LO-MAN FOR REAL VALUE SEZ,CLE,SSA IF NEG. & TRUNKED BITS INCREMENT ADB O400 TO DECREASE ABS(X) VALUE SEZ,RSS PROPAGATED CARRY? JMP DONE NO, DONE INA YES, BUMP HI-MAN. CPA O140K BUMPED HI-MAN TO .5? JMP SPECL YES, SPECIAL CASE DONE ADB Y3 MIRGE IN EXPONENT LIBX JMP SNGM,I RETURN DEF SNGM SPC 1 SPECL LDA Y3 GET EXP.(MANT=-1 OR 0 IF EXP=-200) SLA,RAR POSITION EXP IOR OM200 MIRGE IN BITS IF NEG. CPA OM200 EXP = -200? CCA,CLE,RSS YES, RETURN Y = 0 CMA,CCE,INA CMA RAL POSITION EXPONENT BACK AND O377 MASK OF NEG. BITS STA B SAVE IN B-REG. CLA SET A=100000B OR = 0 ERA FORM HI-MANTISSA = -1 OR 0 JMP LIBX DONE SPC 1 OM400 OCT -400 OM200 OCT -200 O377 OCT 377 O400 OCT 400 O140K OCT 140000 Y1 NOP Y2 NOP Y3 NOP B EQU 1 END * WT   24998-18151 2001 S C0122 &TAN SYS INDEPENDENT LIBRARY             H0101 ZASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "TAN" SINGLE PRECISION TRIGONOMETRIC TANGENT. NAM TAN,6 24998-1X151 REV.2001 780424 * ENT TAN EXT .ZPRV,.CMRS * A EQU 0 B EQU 1 * * TAN TAKES THE SINGLE-PRECISION TANGENT OF A SINGLE-PRECISION * ARGUMENT. * * CALLING SEQUENCE: * * DLD * JSB TAN * (A,B) = ASCII "09OR" * (A,B) = RESULT * * THE ERROR RETURN IS TAKEN FOR ARGUMENTS OUTSIDE THE RANGE * [-32768*PI/4,+32768*PI/4). * * METHOD: THE ARGUMENT IS REDUCED TO THE RANGE [-PI/4,+PI/4] * USING THE IDENTITIES: * TAN(X) = TAN(X+K*PI) * TAN(X) = -1.0 / TAN(X+PI/2) * EFFECTIVELY, THE CLOSEST MULTIPLE OF PI/2 TO X IS SUBTRACTED * FROM IT. ACTUALLY, THE ARGUMENT IS MULTIPLIED BY 4/PI (IN DOUBLE * PRECISION) AND THE NEAREST EVEN INTEGER IS SUBTRACTED, SCALING * THE RESULT BY 4/PI TO THE RANGE [-1,+1]. THE TANGENT IS EVALUATED * ON THIS RANGE, AND THE RESULT IS INVERTED AND NEGATED IF AN ODD # * OF PI/2 WERE SUBTRACTED (BIT 1 OF THE ABOVE EVEN INTEGER IS SET). * * IN THE RANGE [-PI/4,+PI/4] THE FOLLOWING APPROXIMATION IS USED: * * C3 * TAN(X) = X * (C1 + C2 * (XSQ + ----------- ) ) ) *  C4 + X**2 * WHERE: * C1 = .14692695 * C2 = .0019974806 * C3 = -1279.5424 * C3 = -4.0030956 SKP * RANGE REDUCE, SET FLIP FLAG. * TAN NOP JSB .ZPRV FOR SHARING. DEF LIBX JSB .CMRS X = MOD(ARG*4/PI+SIGN(1,ARG),2)-1 DEF .4PI I.E., SUBTRACT THE MULTIPLE OF PI/2 WHICH DEF N MINIMIZES THE RESULT, THEN MULT BY 4/PI. JMP ERROR IF ARGUMENT TOO BIG ISZ TAN ELSE GOOD RETURN STA X X IS REDUCED VALUE STB X+1 LDA N SET N = -1 IFF ODD MULTIPLE OF PI/2 IOR =B177775 I.E., BIT 1 SET. STA N LDA X * * COMPUTE RATIONAL FORM APPROXIMATION * FMP X X**2 STA XSQ STB XSQ+1 FAD C4 C4+XSQ STA TEMP STB TEMP+1 LDA C3 LDB C3+1 FDV TEMP C3/(C4+XSQ) FAD XSQ XSQ+C3/... FMP C2 C2*(XSQ+...) FAD C1 C1+C2*(...) FMP X RESULT = X*(C1+C2*(XSQ+C3/(C4+XSQ))) ISZ N INVERT ? JMP LIBX NO, DONE. STA TEMP YES, TAKE NEGATIVE RECIPROCAL. STB TEMP+1 LDA =B100000 FORM -1.0 CLB FDV TEMP RESULT LIBX JMP TAN,I EXIT DEF TAN SKP * ERROR PROCESSING * ERROR LDA =A09 LDB =AOR JMP LIBX * * LOCAL STORAGE AND CONSTANTS * X BSS 2 REDUCED ARGUMENT XSQ BSS 2 X**2 TEMP BSS 2 TEMP N BSS 1 INVERT FLAG: -1 IFF MUST INVERT RESULT C1 DEC .14692695 C2 DEC .0019974806 C3 DEC -1279.5424 C4 DEC -4.0030956 .4PI OCT 050574,140667,023402 4/PI END $    24998-18152 2001 S C0122 &TANH SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "TANH" - SINGLE PRECISION HYPERBOLIC TANGENT. NAM TANH,6 24998-1X152 REV.2001 780424 * ENT TANH EXT .ZPRV,EXP * A EQU 0 B EQU 1 * * TANH TAKES THE SINGLE-PRECISION HYPERBOLIC TANGENT OF A * SINGLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * DLD * JSB TANH * (A,B) = RESULT NO ERROR RETURN * * METHOD: OUTSIDE THE RANGE [-8,+8) THE APPROXIMATION * * TANH(X) = SIGN(1.0,X) * * IS USED. WITHIN THIS RANGE BUT OUTSIDE THE RANGE [-0.5,+0.5) * THE DEFINITION IS USED: * * EXP(2*X) - 1 * TANH(X) = -------------- * EXP(2*X) + 1 * * WITHIN THE RANGE [-0.5,+0.5) SEVERE CANCELLATION OCCURS IN * THE ABOVE, SO THE FOLLOWING RATIONAL APPROXIMATION IS USED: * * C2 * TANH(X) = X * ( C1 + ----------- ) * X**2 + C3 * WHERE: * C1 = .16520923 * C2 = 2.0907609 * C3 = 2.5046337 SKP * CHECK FOR < 0.5 OR > 8 * TANH NOP JSB .ZPRV DEF LIBX STA X SAVE X UPPER SLB CHECK [-0.5,+0.5) : EXP<0 JMP TANH1 YUP. LDA B u   CHECK [-8,+8) : EXP<4 AND =B370 SZA JMP TANH2 NOPE, BIG ARGUMENT * * X IS IN [-8,-0.5) OR [0.5,8), USE EXP * LDA X ADB =D2 2*X JSB EXP EXP(2*X) NOP NEVER AN ERROR STA X STB X+1 FAD ONE EXP(2X)+1 STA TEMP STB TEMP+1 LDA X LDB X+1 FSB ONE EXP(2X)-1 FDV TEMP TANH = (EXP(2X)-1) / (EXP(2X)+1) LIBX JMP TANH,I EXIT DEF TANH * * SMALL, USE RATIONAL FORM * TANH1 STB X+1 FMP X X**2 FAD C3 X**2+C3 STA TEMP STB TEMP+1 LDA C2 LDB C2+1 FDV TEMP C2/(X**2+C3) FAD C1 C1+C2/... FMP X TANH = X*(C1+...) JMP LIBX EXIT SKP * BIG, USE SIGN(1.0,X) * TANH2 LDA X IF -, FORM -1.0 & EXIT AND =B100000 CLB CCE,SSA JMP LIBX ERA,RAR +, FORM +1.0 & EXIT LDB =D2 JMP LIBX * * LOCALS & CONSTANTS * X BSS 2 ARGUMENT TEMP BSS 2 TEMP ONE DEC 1.0 C1 DEC .16520923 C2 DEC 2.0907609 C3 DEC 2.5045337 END C   24998-18153 2001 S C0122 &..DCM SYS INDEPENDENT LIBRARY             H0101 lASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "..DCM" DOUBLE PRECISION COMPLEMENT NAM ..DCM,6 24998-1X153 REV.2001 750701 ENT ..DCM EXT .ZRNT,.XSUB SPC 2 * * CALLING SEQUENCE: * X = -X * JSB ..DCM * DEF X * (RESULT IN X) SPC 2 TDB NOP DEC 4 NOP X NOP X ENT. ..DCM NOP COMPLIMENT ENTRANCE JSB .ZRNT DEF LIBX LDA *-2 LDB *-4 SSA,RSS STB TDB+2 CHECK IF RE-ENTERENT OR NOT LDA TDB+2,I STA X SAVE DEF IN TEMP JSB .XSUB COMPLEMENT BY SUB FROM 0 DEF X,I DEF ZERO DEF X,I ISZ TDB+2 FIX RETURN ADDRESS LIBX JMP TDB+2,I DEF TDB ZERO DEX 0.0 END * Aa  24998-18154 2001 S C0122 &.ATAN SYS INDEPENDENT LIBRARY             H0101  ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ATAN" - TRIPLE PRECISION INVERSE TRIGONOMETRIC TANGENT. NAM .ATAN,7 24998-1X154 REV.2001 790417 * ENT .ATAN EXT .ENTR,.CFER,.FLUN,/ATLG,DPOLY,.TSUB,.TDIV,..TCM * * .ATAN TAKES THE TRIPLE-PRECISION ARCTANGENT OF A * TRIPLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * JSB .ATAN * DEF *+3 * DEF * DEF * * THERE IS NO ERROR RETURN. * * METHOD: THE FOLLOWING IDENTITIES ARE USED TO REDUCE THE RANGE * TO [-.414213,+.414213] : * * IDENTITY RANGE USED * ATAN(X) = -ATAN(-X) [-INF,-.414] * ATAN(X) = PI/4 - ATAN((1-X)/(1+X)) [.414,2.414] * ATAN(X) = PI/2 - ATAN(1/X) [2.414,+INF] * * ON THIS RANGE, THE FOLLOWING APPROXIMATION IS USED: * * C1+XSQ*(C2+XSQ*(C3+XSQ*(C4+XSQ*C5))) * ATAN(X) = X * -------------------------------------- * C6+XSQ*(C7+XSQ*(C8+XSQ*(C9+XSQ))) * * WHERE: * C1 = +.445452376106737266D2 * C2 = +.774832800120330864D2 * C3 = +.409713682601679458D2 * C4 = +.666072298720980281D1 * C5 = +.158970310916497573D0 * C6 = +.4454522376106737267D2 * C7 = +.923316925489242028D2 * C8 = +.628395515876957856D2 * C9 = +.155045070449078784D2 SKP * RANGE REDUCE. * RESLT DEF *-* ARG DEF *-* .ATAN NOP JSB .ENTR DEF RESLT JSB .CFER COPY ARG DEF X DEF ARG,I LDA X+3 IN [-.5,+.5) ? CCB (SET CONST = 0) SLA,RSS JMP ATAN1 NO. IOR =B177400 YES, CHECK [.414,.5) INA,SZA JMP ATAN5 IN [-.25,+.25) LDA X ABS(X) IN [.25,.5] OR ZERO SSA TAKE ABS(X) CMA ADA =B-65012 ABS(X) - .414 SSA JMP ATAN5 IN [-.414,+.414], NO REDUCTION. ATAN1 LDA X TAKE ABS(X) SZA,RSS IS X = 0 ? JMP ATAN5 YES, NO REDUCTION. STA SIGN SSA,RSS JMP ATAN2 JSB ..TCM DEF X ATAN2 LDB X+3 X >= 4 ? JSB .FLUN ADA =D-3 SSA,RSS JMP ATAN4 YES, USE 1/X INA,SZA X < 2 ? JMP ATAN3 YES, USE (1-X)/(1+X) LDA X X IN [2,4], CHECK 2.414213 ADA =B-46501 ABS(X) - 2.414213 SSA,RSS X > 2.414 ? JMP ATAN4 YES, USE 1/X ATAN3 JSB /ATLG FORM (1-X)/(1+X) DEF X LDB PI4L (PI/4 LAST WORD) - 1 JMP ATAN5 ATAN4 JSB .TDIV 1/X DEF X DEF ONE DEF X LDB PI2L (PI/2 LAST WORD) - 1 SKP * EVALUATE APPROXIMATION, UNDO RANGE REDUCTION. * ATAN5 STB CONST+3 SET CONSTANT VALUE JSB DPOLY EVALUATE RATIONAL FORM OCT 100000 FLAG DEF RESLT,I DEF X DEF C5 CONSTANTS DEF FOUR DEF FOUR ISZ CONST+3 IN [-.414,+.414] ? JMP *+2 JMP .ATAN,I YES, DONE. LDA SIGN ARG > 0 ? SSA JMP ATAN6 NO, DO CONST - Z JSB .TSUB DEF RESLT,I DEF CONST { DEF RESLT,I JMP .ATAN,I (EXIT) ATAN6 JSB .TSUB YES, DO Z - CONST DEF RESLT,I DEF RESLT,I DEF CONST JMP .ATAN,I EXIT * * LOCALS & CONSTANTS * SIGN BSS 1 SIGN OF ARG X BSS 4 REDUCED ARG PI4L OCT 060377 (4TH WD PI/4) - 1 PI2L OCT 060401 (4TH WD PI/2) - 1 FOUR DEC 4 CONSTANT FOR DPOLY SUP CONST OCT 062207,166521,010264,0 FIRST 3 WDS OF PI/2, PI/4 ONE OCT 040000,0,0,2 4-WD 1.0 C5 OCT 050544,107174,153665,146375 C4 OCT 065222,051104,056201,022406 C3 OCT 050761,053456,035626,063014 C2 OCT 046573,134075,023176,015416 C1 OCT 054427,024542,052311,021014 C9 OCT 076011,035375,051730,174010 C8 OCT 076655,154664,124352,121414 C7 OCT 056124,164715,104764,151016 C6 OCT 054427,024542,052311,021014 UNS END @6  24998-18155 2001 S C0122 &.ENTC SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ENTC" GET PRAMS ADDRESS WITHOUT RETURN DEF. (DLB) NAM .ENTC,6 24998-1X155 REV.2001 750701 ENT .ENTC EXT .ZPRV SPC 1 * * THIS ROUTINE IS THE SAME AS THE ".ENTP" ROUTINE EXCEPT * THE RETURN "DEF *+1+N" IS NOT NEEDED. IT WILL GET THE * DIRECT ADDRESSES AND DETERMINE THE NUMBET OF PARAMETER * ADDRESSES BY THE NUMBER ASKED FOR BY THE DESTINATION * ROUTINE. CAUTION! THE NUMBET OF PARAMETER ADDRESSES * PASSED BY THE CALLING ROUTINE MUST AGREE WITH THE NUMBER * REQUESTED BY THE RECEIVING ROUTINE. * CALLER ROUTINE: DESTINATION ROUTINE: * * JSB .SUB P1 NOP * DEF P1<,I> P2 NOP * DEF P2<,I> P3 NOP * DEF P2<,I> .SUB NOP * JSB .ZRNT -OR- .ZRPV * DEF LIBX * JSB .ENTC * DEF P1 * STA TDB+2 (IF RE-ENTERENT) * * TIME: APPORX. 26 + 18/PARAM + 7/INDIRECT + PRIV. PROCESSING * 2100 CYCLES. SPC 1 .ENTC NOP ENTRY = .SUB+4 JSB .ZPRV PRIVLEGED ROUTINE DEF LIBX LDA .ENTC GET .SUB+4 ADDRESS ADA DM4 GET .SUB ADDRESS STA DONEA SAVE AS DONE POINTER LDA A,I GET .SUB'S NOP CONTENTS STA SORCF  A AND SAVE AS SOURCE LIST POINTER LDA .ENTC,I GET DESTINATION LIST POINTER LOOP LDB SORCA GET NEXT SOURCE ADDRESS LDB B,I GET IT'S CONTENTS RBL,CLE,SLB,ERB INDIRECT? JMP *-2 YES, TRY NEXT LEVEL STB A,I NO, PUT IS .SUB'S LIST INA BUMP DEST'S ADDRESS ISZ SORCA BUMP SOURCES'S ADDRESS CPA DONEA DONE? RSS YES JMP LOOP NO, GET NEXT ADDRESS LDA SORCA YES, GET RETURN ADDRESS FOR .SUB'S STA DONEA,I NOP & SET FOR PROPER RETURN ADDRESS ISZ .ENTC P+2 RETURN LIBX JMP .ENTC,I RETURN DEF .ENTC SPC 1 DM4 DEC -4 DONEA NOP SORCA NOP A EQU 0 B EQU 1 END *   24998-18156 2001 S C0122 &.EXP SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".EXP" - TRIPLE PRECISION EXPONENTIAL FUNCTION. NAM .EXP,7 24998-1X156 REV.2001 780921 * ENT .EXP EXT .ENTR,.CFER,.4ZRO,/CMRT,/EXTH * * .EXP TAKES THE TRIPLE-PRECISION EXPONENTIAL FUNCTION (E**X) * OF A TRIPLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * JSB .EXP * DEF *+3 * DEF * DEF * (A,B) = ASCII "07OF" * * * ERROR RETURN: ARG > 88.029692, OFL. IF THE * ARG IS < -88.722839, ZERO IS RETURNED (NO ERROR). * * METHOD: THE IDENTITY: * * EXP(X) = 2**N * 2**(X/LN(2)-N) * * IS USED TO REDUCE THE PROBLEM TO EVALUATION OF 2**(Y-1) ON * THE INTERVAL [-.5,+.5] . THE SUBTRACTION X/LN(2)-N IS DONE * USING THE ROUTINE "/CMRT" TO AVOID LOSS OF PRECISION FROM * CANCELLATION. (ACTUALLY, 2/LN(2) IS USED SO THAT N MAY BE * COMPUTED MORE EASILY. ".EXTH" COMPENSATES.) THEN "/EXTH" IS * USED TO COMPUTE EXP(X) GIVEN N AND X/LN(2)-N . SPC 1 * RANGE REDUCE. * RESLT DEF *-* RESULT ADDR ARG DEF *-* ARG ADDR .EXP NOP JSB .ENTR DEF RESLT LDA =D-2 "EXP" FLAG TO /CMRT JSB /CMRT DEF EX DEF C DEF ARG,I JMP OFUFL ARG TOO LARGE. STB   N SAVE N, SIGN(X) LDA EX (ALLOW 2**126.9) SSA,RSS CHECK FOR OFL,UFL. COMPUTE FINAL EXPONENT. ADB =D2 ASL 7 DOESN'T CATCH 2**127 WHEN X*C-N = -EPS SOC JMP OFUFL OFL OR UFL. SKP * CALL /EXTH TO DO THE WORK. * LDA N N JSB /EXTH EXPTR DEF EX DEF EX LDA ARG,I SPECIAL OVERFLOW CHECK: ELA ARG >= 0 AND LDA EX+3 EXPONENT(RESULT) = 0 (RES = 0.5) SEZ,SZA,RSS BOTH ? JMP OFL YES, OFL. LDB EXPTR RESULT = E**X EXIT STB SRC JSB .CFER COPY RESULT. DEF RESLT,I SRC DEF *-* CLO LEAVE OFL CLEAR. ISZ .EXP EXIT JMP .EXP,I * * OFL/UFL HANDLING. * OFUFL LDA ARG,I USE SIGN TO DECIDE LDB ZEROP (IN CASE UFL) CMA,SSA,RSS WHICH ? JMP EXIT UFL, RETURN ZERO. OFL LDA =A07 (A,B) = ASCII "07OF" LDB =AOF STO SET OFL. JMP .EXP,I ERROR EXIT * * LOCALS & CONSTANTS. * EX BSS 4 E**X AND REDUCED X N BSS 1 N ZEROP DEF .4ZRO+0 SUP C OCT 056125,016624,127013,174004 CL OCT 045340,137605,156764,040315 UNS END p   24998-18157 2001 S C0122 &.ITBL SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".ITBL" - CONVERT INTEGER TO TRIPLE NAM .ITBL,7 24998-1X157 REV.2001 780921 * ENT .ITBL,.TFTS EXT .BLE,FLOAT * * .ITBL CONVERTS AN INTEGER TO A TRIPLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * LDA * JSB .ITBL * DEF * .ITBL NOP .TFTS EQU .ITBL LDB .ITBL,I COPY RESULT ADDR ISZ .ITBL STB RESLT JSB FLOAT CONVERT TO SINGLE STA TEMP CONVERT TO TRIPLE STB TEMP+1 JSB .BLE DEF *+3 RESLT DEF *-* DEF TEMP JMP .ITBL,I EXIT * TEMP BSS 2 TEMP FOR CALLING .BLE * END    24998-18158 2001 S C0122 &.LOG SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".LOG" - TRIPLE PRECISION NATURAL LOGARITHM. NAM .LOG,7 24998-1X158 REV.2001 790417 * ENT .LOG EXT .ENTR,.CFER,.FLUN,.TADD,.TMPY,DPOLY,/ATLG,FLOAT * * .LOG TAKES THE TRIPLE-PRECISION NATURAL LOGARITMH OF A * TRIPLE-PRECISION NUMBER. * * CALLING SEQUENCE: * * JSB .LOG * DEF *+3 * DEF * DEF * (A,B) = ASCII "02UN" * * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS NEGATIVE OR ZERO. * * METHOD: THE IDENTITY: * * LN(X) = N*LN(2) + LN(X/LN(2)) * * IS USED TO REDUCE THE RANGE TO [.707,1.414] . ON THIS RANGE, * THE FOLLOWING APPROXIMATION IS USED: * * C1+ZSQ*(C2+ZSQ*C3) * LN(Y) = Z * -------------------------- * C4+ZSQ*(C5+ZSQ*(C6+ZSQ)) * * WHERE: * Z = (1-Y) / (1+Y) * C1 = +.903435497728419518D2 * C2 = -.935961251529860988D2 * C3 = +.183395455436327320D2 * C4 = -.451717748864209816D2 * C5 = +.618553208719806812D2 * C6 = -.207538580906546412D2 SPC 2 * COPY ARGUMENT. * RESLT DEF *-* ARG DEF *-* .LOG NOP  JSB .ENTR COPY ADDRESSES DEF RESLT JSB .CFER COPY ARG DEF Y DEF ARG,I SKP * SEE IF ARG <= 0, SCALE: Y = X * 2**N . * LDA Y X <= 0 ? SSA,RSS CLE,SZA,RSS (E=0) JMP ERROR YES, ERROR. ISZ .LOG NO, SET NORMAL RETURN. ADA =B-55202 MANTISSA - .707 : E=1 IFF > .707 LDB Y+3 SCALE TO [.5,1) JSB .FLUN SEZ,RSS IF IN [.5,.707) : ADB TWO DOUBLE IT SEZ,RSS ADA =D-1 AND DECR N . STB Y+3 JSB FLOAT FLOAT N STA TEMP STORE AS 4-WORD CLA STA TEMP+1 STA TEMP+2 STB TEMP+3 JSB .TMPY TAKE N*LN(2) NOW DEF TEMP DEF TEMP DEF LN2 * * TAKE LOG OF SCALED VALUE. * JSB /ATLG Z = (1-Y)/(1+Y) DEF Y JSB DPOLY OCT 100000 DEF Y DEF Y DEF C3 CONSTANTS DEF TWO NUMERATOR: SECOND ORDER DEF THREE DENOMINATOR: THIRD ORDER * * UNDO RANGE REDUCTION: ADD N*LN(2) . * JSB .TADD RESULT = N*LN(2) + LN(Y) DEF RESLT,I DEF TEMP DEF Y JMP .LOG,I EXIT * * ERROR HANDLING. * ERROR LDA =A02 (A,B) = ASCII "02UN" LDB =AUN JMP .LOG,I ERROR EXIT SKP * LOCALS & CONSTANTS. * Y BSS 4 ARG, REDUCED ARG. TEMP BSS 4 FOR FLOAT(N) AND N*LN(2) TWO DEC 2 INTEGER 2 THREE DEC 3 INTEGER 3 SUP C3 OCT 044533,130723,132636,054412 C2 OCT 121147,062127,105632,005016 C1 OCT 055127,171340,137347,104016 C6 OCT 126374,006237,165500,152412 C5 OCT 075665,166236,004574,104014 C4 OCT 122650,006437,040430,072414 LN2 OCT 054271,005773,164347,136400 UNS END k    24998-18159 2001 S C0122 &.SNCS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".SNCS" - SINGLE PRECISION TRIGONOMETRIC SINE, COSINE. NAM .SNCS,6 24998-1X159 REV.2001 780424 * ENT SIN,COS EXT .ZPRV,.CMRS,..FCM * A EQU 0 B EQU 1 * * .SNCS TAKES THE SINGLE-PRECISION SINE OR COSINE OF A * SINGLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * DLD * JSB "SIN" OR "COS" * (A,B) = ASCII "05OR" * (A,B) = RESULT * * THE ERROR RETURN IS TAKEN FOR ARGUMENTS OUTSIDE THE RANGE * [-32768*PI/4,+32768*PI/4). * * METHOD: THE ARGUMENT IS REDUCED TO THE RANGE [-PI/4,PI/4] * USING THE IDENTIES: * SIN(X)=SIN(X-2*K*PI) * COS(X)=COS(X-2*K*PI) * SIN(X)=-SIN(X-PI) * COS(X)=-COS(X-PI) * SIN(X)=COS(X-PI/2) * COS(X)=SIN(X+PI/2) * THIS IS DONE BY SUBTRACTING THE MULTIPLE (N) OF PI/2 WHICH * MINIMIZES THE RESULT, AND OBSERVING THE FOLLOWING: * 1) ALL BITS ABOVE BIT 1 IN N MAY BE IGNORED, SINCE THESE ARE * MULTIPLES OF 4, OR MULTIPLES OF 2*PI SUBTRACTED. * 2) IF BIT 1 IS SET, THE RESULT SHOULD BE NEGATED, SINCE PI WAS * SUBTRACTED. * 3) IF BIT 0 IS SET, THE COSINE SERIES SHOULD BE USED, SINCE PI/2 * WAS SUBTRACTED. * THE COSINE ENTRY PiOINT EFFECTIVELY ADDS PI/2 TO THE ARGUMENT BY * ADDING 1 TO N JUST AFTER THE REDUCTION. * * THE FOLLOWING APPROXIMATIONS ARE USED IN THE RANGE [-PI/4,+PI/4] . * * SINE(X) = X*(S1+XSQ*(S2+XSQ*(S3+XSQ*S4))) * COSINE(Y) = C1+YSQ*(C2+YSQ*(C3+YSQ*C4)) * WHERE: * XSQ = X**2 YSQ = Y**2 * S1 = .78539816 C1 = 1.0 * S2 = -.0807454325 C2 = -.30842483 * S3 = .002490001 C3 = .015851077 * S4 = -.000035950439 C4 = -.00031957 SKP * RANGE REDUCE, SET SIGN FLAG, CHOOSE WHICH SERIES. * SIN NOP JSB .ZPRV FOR SHARING. DEF LIBX STA Y CLA J=0 SIN1 STA J LDA Y REDUCE ARG JSB .CMRS DEF .4PI DEF N JMP ERROR IF WAS TOO BIG ISZ SIN GOOD RETURN STA Y SAVE Y = REDUCED X STB Y+1 FMP Y Y**2 STA YSQ STB YSQ+1 LDA N 2*(NUMBER OF PI/2 SUBTRACTED) ADA J 0 FOR SIN, 2 FOR COS ERA,ERA E=1 IFF ODD NUMBER OF PI/2 (USE COSINE) IOR =B177776 A=-1 IFF ODD NUMBER OF PI (NEGATE RESULT) STA N DONE NOW SO DON'T HAVE TO STORE RESULT LDA YSQ NOW (A,B) = Y**2 SEZ SINE ? JMP SIN2 NO, USE COSINE SERIES * * USE SINE SERIES * FMP S4 FORM Y*(S1+YSQ*(S2+YSQ*(S3+YSQ*S4))) FAD S3 FMP YSQ FAD S2 FMP YSQ FAD S1 FMP Y RESULT JMP SIN3 GO ATTACH SIGN SKP * USE COSINE SERIES * SIN2 FMP C4 FORM C1+YSQ*(C2+YSQ*(C3+YSQ*C4)) FAD C3 FMP YSQ FAD C2 FMP YSQ FAD C1 * * NEGATE IF ODD NUMBER OF PI * SIN3 ISZ N NEGATE ? JMP LIBX NO, EXIT JSB ..FCM NEGATE LIBX JMP SIN,I ' EXIT DEF SIN * * ERROR PROCESSING * ERROR LDA =A05 RETURN (A,B) = ASCII "05OR" LDB =AOR JMP LIBX * * COSINE ENTRY POINT. * COS NOP JSB .ZPRV FOR SHARING. DEF LIBX2 FAKE EXIT STA Y LDA COS COPY ENTRY POINT STA SIN LDA =D2 J=2 JMP SIN1 LIBX2 JMP SIN,I FAKE EXIT. ORG *-1 SKP * LOCALS & CONSTANTS * Y BSS 2 REDUCED ARG YSQ BSS 2 Y**2 .4PI OCT 050574,140667,023402 4/PI N BSS 1 2*(NUMBER OF PI/2 SUBTRACTED) J BSS 1 0 FOR SIN, 2 FOR COS S1 DEC .78539816 S2 DEC -.0807454325 S3 DEC .002490001 S4 DEC -.000035950439 C1 DEC 1.0 C2 DEC -.30842483 C3 DEC .015851077 C4 DEC -.00031957 END 8V   24998-18160 2001 S C0122 &.TENT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TENT" - TRIPLE PRECISION FLOOR (ENTIER) . NAM .TENT,7 24998-1X160 REV.2001 780424 SUP * ENT .TENT EXT .FLUN,.ENTR,.CFER * A EQU 0 B EQU 1 * * .TENT RETURNS THE GREATEST TRIPLE-PRECISION NUMBER OF INTEGER * VALUE WHICH IS LESS THAN OR EQUAL TO ITS ARGUMENT. * * CALLING SEQUENCE: * * JSB .TENT * DEF *+3 * DEF * DEF * B=0 IFF ARG UNCHANGED. (FOR .YINT) * * METHOD: ARG IN [-.5,+.5): CLEAR ALL BUT SIGN BIT * [-INF,-2**54) OR [+2**54,+INF]: CLEAR NO BITS * [-2**54,-.5) OR [+.5,+2**54]: CLEAR BITS AFTER BINARY POINT SPC 4 * COPY ADDRESSES, COPY ARG, CHECK EXPONENT. * RESLT BSS 1 ARG BSS 1 .TENT NOP JSB .ENTR DEF RESLT JSB .CFER COPY ARG DEF RESLT,I DEF ARG,I LDB RESLT FORM ADDR LAST WORD RESULT AREA ADB =D3 STB LAST LDB B,I LAST WORD SLB EXP < 0 ? JMP TENT3 YES, IN [-.5,+.5) JSB .FLUN GET EXP ADA =D-55 EXP-55 CLB B=0 FOR FAST RETURN SSA,RSS EXP>54 ? JMP .TENT,I YES, DONE. NO BITS TRUNCATED. STB TRUNC INITIALLY, NO BITS TRUNCATED ADA =D55 EXP = (#BITS TO RETAIN  ) - 1 SKP * CLEAR BITS IN MANTISSA AFTER BINARY POINT. * LDB A AND =B17 (# BITS IN LAST WORD RETAINED) - 1 BRS,BRS BRS,BRS # WORDS BEFORE THAT ADB RESLT ADDR LAST WORD RETAINED CLE,ERA #BITS/2 ADA MASKP GET MASK (1 BIT SHORT IF # BITS ODD) LDA A,I CMA,SEZ COMPLEMENT MASK ARS IF ODD, EXTEND MASK ONE BIT TENT1 AND B,I BITS WHICH WILL BE CLEARED CPB LAST LAST WORD ? JMP TENT2 YES, SPECIAL. SZA ANY BITS CLEARED ? ISZ TRUNC YES, NOTE THAT XOR B,I BITS NOT CLEARED STA B,I CCA CLEAR REST OF MANTISSA INB GO TO NEXT WORD JMP TENT1 TENT2 AND =B177400 DON'T CLEAR EXP SZA NOTE IF BITS TRUNCATED ISZ TRUNC XOR B,I STA B,I LDB TRUNC RETURN TRUNCATION FLAG JMP .TENT,I EXIT * * IN [-.5,+.5) JUST CLEAR ALL BUT SIGN BIT, INCLUDING EXP. * TENT3 LDB RESLT,I TRUNCATION IFF ARG NONZERO. LDA RESLT,I AND MASKS STA RESLT,I JUST SIGN BIT CLA ISZ RESLT STA RESLT,I ISZ RESLT STA RESLT,I ISZ RESLT STA RESLT,I JMP .TENT,I EXIT * * LOCALS & CONSTANTS * MASKP DEF MASKS MASK TABLE ADDR MASKS OCT 100000,160000,174000,177000 OCT 177600,177740,177770,177776 TRUNC BSS 1 ZERO IFF NO BITS TRUNCATED LAST BSS 1 ADDR LAST WORD RESULT END _    24998-18161 2001 S C0122 &.TINT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TINT" - CONVERT TRIPLE TO INTEGER. NAM .TINT,7 24998-1X161 REV.2001 780921 * ENT .TINT,.TFXS EXT IFIX,.CFER * A EQU 0 B EQU 1 * * .TINT CONVERTS A TRIPLE-PRECISION NUMBER TO AN INTEGER. * * CALLING SEQUENCE: * * JSB .TINT * DEF * A = INTEGER * * IF THE ARGUMENT IS OUTSIDE THE RANGE [-32768,+32768) THE * OVERFLOW BIT IS SET AND 32767 IS RETURNED. SPC 4 .TINT NOP .TFXS EQU .TINT STA TEMP SAVE A-REG. LDA .TINT,I COPY ARG ADDR. ISZ .TINT STA ARG LDA TEMP RESTORE A-REG. JSB .CFER COPY ARG. DEF TEMP ARG DEF *-* LDA TEMP+1 2ND WD. IOR TEMP+2 .OR. 3RD WD. LDB TEMP+3 CCE,SZA ANY BITS SET IN 2ND OR 3RD ? RBL,ERB YES, SET SIGN BIT IN 4TH WD. LDA TEMP DELETE 2ND, 3RD WDS. JSB IFIX FIX JMP .TINT,I EXIT * TEMP BSS 4 ARG. * END    24998-18162 2001 S C0122 &ALOG SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ALOG" - SINGLE PRECISION NATURAL LOGARITHM. NAM ALOG,6 24998-1X162 REV.2001 780424 * ENT ALOG,LN EXT .ZPRV,.FLUN,FLOAT * A EQU 0 B EQU 1 * * ALOG TAKES THE SINGLE-PRECISION NATURAL LOGARITHM OF A * SINGLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * DLD * JSB ALOG * (A,B) = ASCII "02UN" * (A,B) = RESULT * * THE ERROR RETURN IS TAKEN IF (A,B) <= 0 . * * METHOD: THE IDENTITY * * ALOG(X) = LN(2) * (N + LOG2(X/2**N) ) * * IS USED TO REDUCE THE COMPUTATION TO EVALUATING LOG2(Y) ON * [.707,1.414] . THIS FUNCTION IS APPROXIMATED BY: * * C2 * Z * ( C1 + ----------- ) * C3 + Z**2 * WHERE: * Z = (Y-1)/(Y+1) * C1 = 1.29061344 * C2 = -2.6444261 * C3 = -1.6581795 SKP * ERROR CHECKING AND RANGE REDUCTION. * ALOG NOP LN EQU ALOG FOR ALGOL. JSB .ZPRV FOR SHARING. DEF LIBX SSA,RSS TEST FOR X <= 0 CLE,SZA,RSS (E=0) JMP ERROR YES, ERROR ISZ ALOG NO, SET NORMAL RETURN STA Y SCALE: UPPER WORD UNCHANGED ADA =B-55202   E=1 IFF MANTISSA IN [.707,1) JSB .FLUN SCALE TO [.5,1) SEZ,RSS IF IN [.5,.707), THEN: ADB TWO DOUBLE Y, AND SEZ,RSS ADA =D-1 DECR N . STB Y+1 JSB FLOAT SAVE SCALE FACTOR (N) IN FLOATING STA FLTN STB FLTN+1 * * EVALUATE LOG2(Y) * LDA Y FORM Z = (Y-1)/(Y+1) LDB Y+1 FAD ONE Y+1 STA TEMP STB TEMP+1 LDA Y LDB Y+1 FSB ONE Y-1 FDV TEMP Z STA Y STB Y+1 FMP Y Z**2 FAD C3 C3+Z**2 STA TEMP STB TEMP+1 LDA C2 LDB C2+1 FDV TEMP C2/... FAD C1 C1+C2/... FMP Y LOG2(Y) = Z * (C1+C2/(C3+Z**2)) SKP * UNDO RANGE REDUCTION * FAD FLTN N+LOG2(Y) FMP LOG2 ALOG(X) = LN(2) * (N+LOG2(Y)) LIBX JMP ALOG,I EXIT DEF ALOG * * ERROR PROCESSING * ERROR LDA =A02 RETURN (A,B) = ASCII "02UN" LDB =AUN JMP LIBX * * LOCALS & CONSTANTS. * Y BSS 2 SCALED ARG FLTN BSS 2 FLOAT(N), SCALE FACTOR TEMP BSS 2 TEMP ONE OCT 040000 1.0 TWO OCT 000002 2 & SECOND WORD OF 1.0 LOG2 OCT 054271,006000 0.69314718 C1 OCT 051231,064402 1.2906134432 C2 OCT 125540,156404 -2.6444260995 C3 OCT 112740,061402 -1.6581795496 END   24998-18163 2001 S C0122 &ATAN2 SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ATAN2" ARCTANGENT OF (X1/X2). SINGLE PRECISION NAM ATAN2,6 24998-1X163 REV.2001 750701 ENT ATAN2 EXT .ZRNT,.ENTP,SIGN,ATAN SPC 2 * * CALLING SEQUENCE: Y = ARCTAN(X1/X2) * JSB ATAN2 * DEF *+3 * DEF X1 * DEF X2 * (RESULT IN A AND B) SPC 2 TDB NOP DEC 8 NOP ARG NOP ADDRESS FOR SIGN T REP 2 TEMPORARY NOP X1 NOP X2 NOP ATAN2 NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF X1 STA TDB+2 DLD X1,I FDV X2,I COMPUTE X1/X2 SOC ANSWER OUT OF RANGE ? SZA,RSS YES. Z TOO BIG ? JMP ARGOK NO. Z OKAY JSB SIGN YES. ANSWER = SIGN(X1) * PI/2 DEF PI2 DEF X1,I JMP LIBX ARGOK JSB ATAN COMPUTE ARCTAN(X1/X2) STA T LDA X2,I SSA,RSS X2 < 0 ? JMP TAKIT STB T+1 YES LDA X1 IF X1 = 0 , Y = PI, LDB X1,I ELSE Y = ARCTAN(X1/X2) + SZB,RSS SIGN(X1) * PI LDA ADPI STA ARG STORE ADDRESS OF PI OR X1 JSB SIGN ADPI DEF PI DEF ARG,I FAD T RSS TAKIT LDA T LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 2 PI DEC 3.1415926 PI PI2 DEC 1.5707963 PI/2 END * {    24998-18164 2013 S C0122 &CABS SYSTEM IND. LIB.             H0101 pASMB,R,L,C NAM CABS,6 24998-1X164 REV.2013 791016 ENT CABS EXT .ZRNT,.ENTP,SQRT,..FCM *********************************************************************** * * * NAME: CABS * * SOURCE: 24998-18164 * * RELOC: PART OF 24998-12002 * * PGMR: CRG * * * *********************************************************************** * * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * * *********************************************************************** * * * COMPLEX ABSOLUTE VALUE * * CALLING SEQUENCE: Y=CABS(X) * * JSB CABS * DEF *+2 * DEF X * * * *********************************************************************** * TDB NOP ABS CABS-TDB TDBP2 NOP L BSS 2 S BSS 2 X BSS 1 * CABS NOP ENTRY POINT JSB .ZRNT DEF LIBX JSB .ENTP GET ADDRESSES DEF X STA TDBP2 SAVE RTN ADDR * *********************************************************************** SKP *********************************************************************** * * CALCULATE S = ABS(REAL(X)) * DLD X,I GET REAL(X) SSA    SKIP IF POISITIVE JSB ..FCM ABS(REAL(X)) DST S * *********************************************************************** * * CALCULATE L = ABS(IMAG(X)) * ISZ X BUMP ADDR(X) ISZ X DLD X,I GET IMAG(X) SSA SKIP IF POSITIVE JSB ..FCM ABS(IMAG(X)) DST L * *********************************************************************** * * COMPARE S TO L AND SWAP IF LARGER * FSB S L - S SSA,RSS SKIP IF NEGATIVE JMP OK JUMP IF L > S * LDA L SWAP L AND S LDB S STA S STB L LDA L+1 LDB S+1 STA S+1 STB L+1 * *********************************************************************** * * TEST FOR X = 0 * OK LDA L GET LARGER VALUE SZA,RSS SKIP IF NOT ZERO JMP LIBX X = 0, RETURN ZERO * *********************************************************************** SKP *********************************************************************** * * FINISH CALCULATION * DLD S FDV L S / L FMP A (S / L)**2 FAD F1.0 1.0 + (S / L)**2 JSB SQRT SQRT(1.0 + (S / L)**2)) HLT 33B NEVER ERROR RETURN * FMP L L * SQRT(1.0 + (S / L)**2)) * *********************************************************************** * * EXIT * LIBX JMP TDBP2,I RETURN DEF TDB DEC 0 * *********************************************************************** * A EQU 0 F1.0 DEC 1.0 * *********************************************************************** END    24998-18165 2001 S C0122 &DEXP SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DEXP" DOUBLE PRECISION EXPONENTIAL (DLB) NAM DEXP,6 24998-1X165 REV.2001 750701 ENT DEXP EXT .ZRNT,SNGL,IFIX,DDINT EXT .XADD,.XSUB,.XMPY,.XDIV EXT .FLUN,.XPAK,.ENTP,.DFER SPC 1 * * CALLING SEQUENCE: Y = EXP(X) * JSB DEXP * DEF *+3 * DEF Y (RESULT) * DEF X (ARGUMENT) * (ERROR RETURN) * (NORMAL RETURN) SPC 2 TDB NOP DEC 18 NOP T REP 3 TEMPORY STORAGE NOP EXPON NOP EXPONENT FOR REDUCED RANGE P1 REP 3 STORAGE NOP Q1 REP 3 FOR NOP P2 REP 3 EVALUATION. NOP Y NOP ADDRESS OF Y X NOP ADDRESS OF X DEXP NOP JSB .ZRNT DEF LIBX JSB .ENTP TRANSFER PARAMETERS DEF Y STA TDB+2 JSB .XMPY T = X * LOG2(E) DEF T DEF X,I DEF LOG2E LDA T SSA JMP X.NEG JSB .XADD IF X > 0, P1 = T + .5 DEF P1 DEF T DEF D.5 JMP INTGR X.NEG JSB .XSUB IF X < 0, P1 = T - .5 DEF P1 DEF T DEF D.5 NOP GIVE THE INTERUPTS A CHANCE INTGR JSB DDINT P1 = LARGEST INTEGER <= ABS(P1) DEF *+3 DEF P1 DEF P1 NOP GIVE THE INTERUPTS A CHANCE JSB SNGL CONVERT P1 TO INTEGER DEF Z*+2 DEF P1 JSB IFIX STA EXPON AND SAVE. JSB .XSUB T = T - Y DEF T DEF T DEF P1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY T = T * LN(2) DEF T DEF T DEF LN2 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY P1 = T * C3 DEF P1 DEF T DEF C3 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY Q1 = T * T DEF Q1 DEF T DEF T NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Q1 = T * T + C4 DEF Q1 DEF Q1 DEF C4 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY DEF P2 DEF Q1 DEF C2 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY Q1 = Q1 * T DEF Q1 DEF Q1 DEF T NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Q1 = Q1 * T + P1 DEF Q1 DEF Q1 DEF P1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY P1 = Q1 * C1 DEF P1 DEF Q1 DEF C1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD T = T + B1 DEF T DEF T DEF B1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY T = (T + B1) * Q1 DEF T DEF T DEF Q1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD T = (T + B1) * Q1 + P2 DEF T DEF T DEF P2 NOP GIVE THE INTERRUPTS A CHANCE JSB .XDIV T = P1 / T DEF T DEF P1 DEF T JSB .XADD T = C0 + P1 / T DEF T DEF T DEF C0 LDB T+2 JSB .FLUN UNPACK EXPONENT STB T+2 ADA EXPON ADD EXPONENT FROM RANGE REDUCTN SOC OVERFLOW ? JMP ERROR YES. ERROR MESSAGE. JSB .XPAK PACK RESULT DEF T LDA T SOC OVERFLOW B IT SET ? SZA,RSS YES. AND = 0 ? JMP OK NO OVERFLOW, OR AN UNDERFLOW ERROR LDA ERMSG ERROR RETURN LDB ERMSG+1 LIBX JMP TDB+2,I RETURN DEF TDB DEC 0 OK JSB .DFER ANSWER OKAY DEF Y,I DEF T ISZ TDB+2 JMP LIBX DONE SPC 1 ERMSG ASC 2,10OF D.5 OCT 040000,0,0 .5 C0 OCT 040000,0,2 1. C1 OCT 050000,0,14 40. C2 OCT 042400,0,20 138. C3 OCT 073515,164675,033412 29.82608695652 C4 OCT 060544,026205,110410 12.17391304347 B1 OCT 130000,0,12 -20. LN2 OCT 054271,005773,164400 LN(2) LOG2E OCT 056125,016624,127002 LOG2(E) END * @  24998-18166 2001 S C0122 &DLOG SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DLOG" DOUBLE PRECISION NATURAL LOGARITHM NAM DLOG,6 24998-1X166 REV.2001 750701 ENT DLOG EXT .ZRNT,.ENTP EXT .XADD,.XSUB,.XMPY,.XDIV EXT .DFER,.FLUN,FLOAT,DBLE SPC 2 * * CALLING SEQUENCE : Y = LN(X) * JSB DLOG * DEF *+3 * DEF Y (RESULT) * DEF X (ARGUMENT) * (ERROR RETURN) * (NORMAL RETURN) SPC 2 TDB NOP DEC 23 NOP T REP 3 TEMPORARY STORAGE NOP U REP 3 (EXPON - 1/2) * LN(2) NOP V REP 3 NOP Z REP 3 NOP P1 REP 3 NOP Q1 REP 3 NOP Y NOP ADDRESS OF Y X NOP ADDRESS OF X DLOG NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB .DFER MOVE X INTO T DEF T DEF X,I LDA T SSA,RSS IF X < 0 SZA,RSS OR X = 0 JMP ERROR GO TO ERROR EXIT. LDB T+2 JSB .FLUN UNPACK THE EXPONENT STB T+2 JSB FLOAT AND FSB F.5 U = EXPON -.5 STA U STB U+1 JSB DBLE CONVERT TO DOUBLE PRECISION DEF *+3 DEF U DEF U JSB .XMPY U = (EXPON - .5) * LN(2) DEF U DEF U DEF LN2 NOP GIVE THE INTERRUPTS A CHANCE JSB .XSUB V = T - SQRT(2)/2  DEF V DEF T DEF HSQT2 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD DEF T T = T + SQRT(2)/2 DEF T DEF HSQT2 JSB .XDIV Z = (T - SQRT(2)/2) / DEF Z (T + SQRT(2)/2) DEF V DEF T JSB .XMPY T = Z * Z DEF T DEF Z DEF Z NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD V = T + B3 DEF V DEF T DEF B3 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY P1 = C2 * (T + B3) DEF P1 DEF C2 DEF V NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Q1 = T + B2 DEF Q1 DEF T DEF B2 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY Q1 = (T + B2) * (T + B3) DEF Q1 DEF Q1 DEF V NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Q1 = (T + B2) * (T + B3) + C3 DEF Q1 DEF Q1 DEF C3 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY V = C1 * Q1 DEF V DEF C1 DEF Q1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD T = T + B1 DEF T DEF T DEF B1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XMPY T = (T + B1) * Q1 DEF T DEF T DEF Q1 NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD T = (T + B1) * Q1 + P1 DEF T DEF T DEF P1 JSB .XDIV T = V / T DEF T DEF V DEF T JSB .XMPY T = Z * (V / T) DEF T DEF T DEF Z NOP GIVE THE INTERRUPTS A CHANCE JSB .XADD Y = T + U DEF Y,I DEF T DEF U ISZ TDB+2 JMP LIBX ERROR LDA ERMSG ERROR EXIT LDB ERMSG+1 LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 2 ERMSG ASC 2,11UN F.5 DEC 0.5 LN2 OCT 054271 ,005773,164400 LN(2) HSQT2 OCT 055202,074631,176400 SQRT(2)/2 C1 OCT 133024,075341,044012 -18.48 C2 OCT 120554,153524,156412 -23.6437098255 C3 OCT 100750,162307,156775 -.246270037272 B1 OCT 100466,046623,062410 -15.8484848485 B2 OCT 103737,034700,147004 -3.75400078147 B3 OCT 123217,017743,036402 -1.39751437005 END * 5  24998-18167 2001 S C0122 &EXP SYS INDEPENDENT LIBRARY             H0101 wASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "EXP" - SINGLE PRECISION EXPONENTIAL FUNCTION. NAM EXP,6 24998-1X167 REV.2001 780424 * ENT EXP EXT .ZPRV,.CMRS,.PWR2 * * EXP TAKES THE SINGLE-PRECISION EXPONENTIAL (E**X) OF A * SINGLE-PRECISION ARGUMENT. * * CALLING SEQUENCE: * * DLD * JSB EXP * (A,B) = ASCII "07OF" * (A,B) = RESULT * * THE ERROR RETURN IS TAKEN FOR ARGUMENTS GREATER THAN 88.029678 * (OVERFLOW). FOR ARGUMENTS LESS THAN -89.415985 THE NORMAL RETURN * IS TAKEN BUT (A,B) = 0.0 (UNDERFLOW). * * METHOD: THE IDENTITY * EXP(X) = (2**N) * (2 ** (X/LN(2)-N) ) * IS USED TO REDUCE THE COMPUTATION TO EVALUATING 2**(Y-1) ON * [-0.5,+0.5] BY LETTING N BE THE CLOSEST INTEGER TO X/LN(2)+1 . * * THE FUNCTION 2**(Y-1) IS APPROXIMATED ON [-0.5,+0.5] BY: * * Y * 0.5 + ------------------ * C1 - Y + C2*Y**2 * WHERE: * C1 = 5.7708162 * C2 = .05761803 SKP * RANGE REDUCTION AND BOUNDS CHECK. * EXP NOP JSB .ZPRV DEF LIBX STA Y REMEMBER SIGN IN CASE .CMRS OFL JSB .CMRS MULT BY 2/LN(2), EXTRACT EVEN INTEGER DEF .2LN2 DEF N JMP OFUFL  IF .CMRS OFL STA Y STB Y+1 LDB N HALF N (.CMRS DOUBLES IT) BRS INB ADD ONE (FOR 2**(Y-1), NOT 2**Y) STB N ADB =D-129 CHECK N IN [-127,128] STB NMAX -1 IFF N = 128 SSA,RSS IS 2**(Y-1) >= 0.5 ? INB YES, ACCOUNT FOR THAT SSB,RSS JMP OFL N > 128, OVERFLOW ADB =D256 SSB JMP UFL N < -127, UNDERFLOW LDB Y+1 RELOAD Y LOWER * * EVALUATE 2**(Y-1) * FMP Y Y**2 FMP C2 C2*YSQ FSB Y -Y+C2/... FAD C1 C1-Y+C2/... STA TEMP STB TEMP+1 LDA Y LDB Y+1 FDV TEMP Y (C1-...) FAD HALF 2**(Y-1) = 0.5+Y/... * CHECK SPECIAL OVERFLOW CASE: Y IN (-EPS,0), N = 128 * SO THAT 2**(Y-1) = 0.5 AND OUR RESULT = 2**127 . * THIS TEST IS POSTPONED UNTIL NOW BECAUSE THE RANGE * Y IN (-EPS,0) CANNOT EASILY BE SEEN TO PRODUCE * 2**(Y-1) = 0.5 UNTIL 2**(Y-1) IS CALCULATED. * ISZ NMAX N = 128 ? JMP EXP1 NO. SLB,RSS 2**(Y-1) .GE. 0.5 ? JMP OFL YES, TOO BIG. SKP * MULTIPLY BY 2**N, EXIT. * EXP1 JSB .PWR2 USE .PWR2 TO DO *2**N DEF N EXP2 ISZ EXP GOOD EXIT LIBX JMP EXP,I DEF EXP * * OVERFLOW & UNDERFLOW HANDLING. * OFUFL LDA Y SEE WHICH SSA,RSS JMP OFL UFL CLA UNDERFLOW, SET ZERO & EXIT CLB CLO JMP EXP2 OFL LDA =A07 OVERFLOW, RETURN ASCII "07OF" LDB =AOF STO JMP LIBX TAKE ERROR EXIT * * LOCALS & CONSTANTS * Y BSS 2 REDUCED ARG TEMP BSS 2 TEMP FOR REVERSE DIVIDES N BSS 1 BINARY SCALE FACTOR NMAX BSS 1 -1 IFF N = 128 (MAX VALUE) .2LNI 2 OCT 056125,016624,126404 2/LN(2) C1 DEC 5.7708162 C2 DEC .05761803 HALF DEC 0.5 END Y  24998-18168 2001 S C0122 &XPOLY SYS INDEPENDENT LIBRARY             H0101 ;ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "XPOLY" EXTENDED PRECISION POLYNOMIAL EVALUATOR NAM XPOLY,6 24998-1X168 REV.2001 750801 ENT .XPLY,XPOLY EXT .ZRNT,.ENTP EXT .DFER,.XADD,.XMPY XADD EQU .XADD XMPY EQU .XMPY SPC 1 * * THIS ROUTINE EVALUATES AN N-TH DEGREE POLYNOMIAL. * Y = K1*X^(N-1)+K2*X^(N-2)+...+K(N-^)*X+KN * CALLING SEQUENCE: * JSB .XPLY * DEF *+5 * DEF Y RESULT * DEF N DEGREE OF POLYNOMIAL + 1 * DEF X ARGUMENT * DEF K1 FIRST ELEMENT OF COEFFICIENT ARRAY SPC 2 TDB NOP DEC 10 NOP Y1 NOP Y2 NOP Y3 NOP Y NOP N NOP X NOP K NOP SPC 1 .XPLY NOP XPOLY EQU .XPLY JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 CLA INITIALIZE STA Y1 RESULT STA Y2 TO STA Y3 ZERO LDA N,I CMA,INA SSA,RSS IF DEGREE < 0 THEN JMP EXIT RESULT = 0 STA N SPC 1 * * LOOP TO EVALUATE POLYNOMIAL * SPC 1 LOOP JSB XADD Y = Y + K(I) DEF Y1 DEF Y1 DEF K,I ISZ N TEST FOR END OF LOOP RSS JMP EXIT DONE, EXIT JSB XMPY Y = Y * X DEF Y1 DEF Y1 DEF X,I ISZ K MOVE TO NEXT COEFFICIENT ISZ K ISӟ  Z K JMP LOOP SPC 1 EXIT JSB .DFER Y=Y1 DEF Y,I DEF Y1 LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 1 END *   24998-18169 2001 S C0122 &..TCM SYS INDEPENDENT LIBRARY             H0101 s ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "..TCM" - NEGATE TRIPLE-PRECISION NUMBER IN PLACE. NAM ..TCM,7 24998-1X169 REV.2001 780424 * ENT ..TCM EXT .TSUB,.4ZRO * A EQU 0 B EQU 1 * * ..TCM NEGATES A TRIPLE-PRECISION NUMBER IN PLACE BY SUBTRACTING * IT FROM ZERO. IF THE NUMBER WAS -2**127 THE RESULT IS * (1-2**-55)*2**127 WITH OVERFLOW. IF THE NUMBER WAS * 2**-129 THE RESULT IS ZERO WITH NO OVERFLOW. * * CALLING SEQUENCE: * * JSB ..TCM * DEF * ..TCM NOP STA TEMP SAVE A-REG. LDA ..TCM,I COPY ARG ADDR. ISZ ..TCM STA ARG LDA TEMP RESTORE A-REG. JSB .TSUB SUBTRACT FROM ZERO. ARG DEF *-* DEF .4ZRO+0 DEF ARG,I JMP ..TCM,I EXIT * TEMP BSS 1 FOR A-REG. * END   24998-18170 2001 S C0122 &.BLE SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".BLE" - CONVERT SINGLE TO TRIPLE. NAM .BLE,7 24998-1X170 REV.2001 780424 * ENT .BLE EXT .ENTR * A EQU 0 B EQU 1 * * .BLE CONVERTS A SINGLE-PRECISION NUMBER TO A TRIPLE-PRECISION * NUMBER. THE CONVERSION IS EXACT. * * CALLING SEQUENCE: * * JSB .BLE * DEF *+3 * DEF * DEF * SPC 4 RESLT DEF *-* ARG DEF *-* .BLE NOP JSB .ENTR DEF RESLT DLD ARG,I RESLT(1) = ARG(1) STA RESLT,I ISZ RESLT LDA B RESLT(2) = ARG(2)<15:8> & 0 AND =B177400 STA RESLT,I ISZ RESLT XOR B CLB RESLT(3) = 0 STB RESLT,I ISZ RESLT STA RESLT,I RESLT(4) = 0 & ARG(2)<7:0> JMP .BLE,I END qE  24998-18171 2001 S C0122 &.CMRS SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CMRS" - COMMON RANGE REDUCTION FOR SINGLE PRECISION MATH. NAM .CMRS,6 24998-1X171 REV.2001 780424 * ENT .CMRS EXT .ZPRV,.XMPY,.XSUB,SNGL,IFIX,FLOAT * A EQU 0 B EQU 1 * * .CMRS PERFORMS ARGUMENT REDUCTION FOR SIN,COS,TAN AND EXP. THE * OPERATIONS PERFORMED (IN DOUBLE PRECISION) ARE: * * N _ (NEAREST EVEN INTEGER TO) ((A,B)*CONST) * (A,B) _ ((A,B)*CONST) - N * * WHICH IS MATHEMATICALLY EQUIVALENT TO SUBTRACTING N*CONST FROM * (A,B), WHERE N IS CHOSEN TO MINIMIZE THE RESULT, AND THEN * MULTIPLYING (A,B) BY CONST AND DOUBLING N. * * CALLING SEQUENCE: * * DLD NUMBER TO BE REDUCED * JSB .CMRS * DEF CONST E.G. 4/PI FOR TRIG * DEF N TO RECEIVE INTEGER * * (A,B) = REDUCED VALUE. * * THE ERROR RETURN IS TAKEN IFF THE ARGUMENT IS OUTSIDE THE RANGE * [-32768/CONST,+32768*CONST). SKP .CMRS NOP JSB .ZPRV IN CASE MEM-RES DEF LIBX STA ARG STORE ARG AS DOUBLE LDA B AND =B177400 STA ARG+1 XOR B STA ARG+2 LDA .CMRS,I A = ADDR OF CONST STA CMRS1 ISZ .CMRS JSB .XMPY MULTIPLY BY CONSTANT DEF PROD DEF ARG %   CMRS1 DEF *-* CONST JSB SNGL REDUCE TO SINGLE DEF *+2 DEF PROD JSB IFIX TO INTEGER SSA,RSS FIND NEAREST EVEN INTEGER INA ERA,CLE,ELA LDB .CMRS,I STORE IT STA B,I ISZ .CMRS SOC TOO BIG ? JMP LIBX YES, TAKE ERROR EXIT ISZ .CMRS NO, SET NORMAL EXIT JSB FLOAT FLOAT(N) STA ARG STORE AS DOUBLE LDA B AND =B177400 STA ARG+1 XOR B STA ARG+2 JSB .XSUB X*CONST-N (IN DOUBLE) DEF ARG DEF PROD DEF ARG JSB SNGL TAKE SINGLE PART DEF *+2 DEF ARG LIBX JMP .CMRS,I EXIT DEF .CMRS * ARG BSS 3 FOR DBLE(ARG) AND X*CONST-N PROD BSS 3 FOR X*CONST END O"   24998-18172 2001 S C0122 &.XDIV SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".XDIV" EXTENDED PRECISION DIVIDE NAM .XDIV,6 24998-1X172 REV.2001 750701 ENT .XDIV EXT .ZRNT,.XPAK SPC 1 * * EXTENDED PRECISION DIVISION IS PERFORMED BY THIS ROUTINE * CALLING SEQUENCE: * * JSB .XDIV * DEF X * DEF Y * DEF Z * WHERE X = Y / Z SPC 2 TDB NOP DEC 23 NOP GETAD NOP JMP GETAX GETPM NOP JMP GETPX X1 NOP X2 NOP QUOTIENT X3 NOP TEM1 NOP TEM2 NOP TEMPORARY TEM3 NOP Y1 NOP Y2 NOP DIVIDEND Y3 NOP EXPY NOP Z1 NOP Z2 NOP DIVISOR Z3 NOP EXPZ NOP SIGN NOP X NOP QUOTIENT SPC 1 .XDIV NOP JSB .ZRNT DEF LIBX LDA *-2 LDB *-4 SSA,RSS STB TDB+2 CHECK IF RE-ENTERENT OR NOT JSB GETAD GET ADDRESS OF X STB X SAVE FOR LATER USE CLA,INA SET SIGN NEG. STA SIGN INITIALIZE SIGN LDB DEFY JSB GETPM PRODUCE +ABS (Y) CCA PRODUCE -ABS (Z) LDB DEFZ JSB GETPM CCE,SZB CHECK FOR 0 DIVISOR (Z) JMP NZERO NOT ZERO SO CONTINUE ERB,RBR SET B-REG TO 40000B STB X1 SET HI-MANTISSA TO APPROX +1 STB EXPY SET EXPONENT TO + INFINITY JMP OUTPT PACK AND PUT IN X NZERO CLA,CLE STA X3 INITIALIZE QUOTIENT LDA =D-47 STA GETAD SET SHIFT COUNT TO -47 SPC 1 * * PERFORM THE DIVIDE * SPC 1 LOOP LDB Y3 T = Y + Z ADB Z3 LO-MANT Z LDA Y2 MID-MANT Y SEZ,CLE CARRY FROM LO-MANT? INA YES ADA Z2 ADD MID-MANTS STA TEM2 AND SAVE LDA Y1 HI-MANT Y SEZ,CLE CARRY FROM MID-MANT? INA YES ADA Z1 ADD HI-MANTS? STA TEM1 WITH E-REG = OVERFLOW STB TEM3 SPC 1 * SHIFT E-REG INTO X SPC 1 LDA X3 NOW SHIFT E-REG LDB X2 INTO LEAST BIT OF X ELA ELB STA X3 STB X2 LDB X1 ELB,CLE EXIT E-REG = 0 STB X1 SLA,RSS LEAST BIT OF X = 1 JMP SHFTY NO SPC 1 * SET Y = Y + Z IF Y + Z OVERFLOWED SPC 1 LDA TEM3 YES, LET Y = Y + Z STA Y3 LDA TEM2 STA Y2 LDA TEM1 STA Y1 SPC 1 * SHIFT Y LEFT ONE PLACE (MPY BY 2) SPC 1 SHFTY LDA Y3 NOW SHIFT Y LEFT LDB Y2 ONE PLACE (MPY BY 2) ELA ELB STA Y3 STB Y2 LDA Y1 ELA,CLE STA Y1 ISZ GETAD TEST FOR END OF LOOP JMP LOOP SPC 1 * MOVE RESULTS TO X SPC 1 OUTPT LDA SIGN CHECK IF SIGN CHANGE ERA SAVE CHANGE IN E-REG LDA X GET X'S ADDRESS STA TEM1 SAVE TEMPORARY LDA X1 SEZ COMPLEMENT IF SIGN CHANGE CMA STA X,I PUT IN HI-MANTISSA LDA X2 SEZ CMA LDB X3 SEZ CMB,INB,SZB LO-MANTISSA & CHECK IF BUMP JMP PACK NO BUMP CONTINUE INA,SZA BUMP MID-MANTISSA JMP PACK NO BUMP, CONTINUE ISZ X,I BUMP HI-MANTISSA NOP 0 IS POSSIBLE, BUT -\1 IS NOT. PACK ISZ TEM1 NOW PUT IN CALLERS Z PARAM STA TEM1,I ISZ TEM1 STB TEM1,I LDA EXPZ CALCULATE EXPONENT CMA,INA EXP = EXPY - EXPZ + 1 ADA EXPY INA PLUS 1 JSB .XPAK PACK RESULT DEF X,I IN "X'S" PLACE LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 1 GETPX EQU * ENTRY B=ADDRESS OF DESTINATION PLACE STB X1 SAVE DEST ADDRESS INB STB X2 INB STB X3 JSB GETAD GET DIRECT ADDRESS STB TEM1 SAVE ADDRESS OF Y OR Z LDB TEM1,I GET HI-MAN OF Y OR Z XOR B RESULTS = SIGN(Y-OR-Z,A-REG.) RAL,SLA,ERA "SIGN CHANGE NEEDED" IN E-REG ISZ SIGN MARK A CHANGE OF SIGN ISZ TEM1 BUMP LDA TEM1,I GET MID-MANTISSA SEZ COMPLEMENT IF NEG. CMA STA X2,I SAVE ISZ TEM1 BUMP LDA TEM1,I GET LO-MAN + EXPONENT AND OM400 MASK OF EXPONENT SEZ COMPLEMENT IF NEG. CMA STA X3,I AND SAVE SEZ RESTORE IF CHANGED CMA XOR TEM1,I NOW GET EXPONENT SLA,RAR POSITION EXPONENT IOR OM200 MIRGE IF NEG. SEZ,RSS NEED TO COMPLEMENT HI-MAN JMP DONE NO, FINISH UP CMB COMPLEMENT & CHECK FURTHER PROC. ISZ X3,I NOW DO THE INA'S JMP DONE ISZ X2,I BUMP MID-MANTISSA JMP DONE SSB,INB,RSS BUMP HI-MANTISSA SSB,RSS OVERFLOWED? JMP DONE RBR DIVIDE BY 2 AND INA BUMP EXPONENT DONE ISZ X3 BUMP X3 TO EXPONENT STA X3,I STORE EXPONENT STB X1,I SAVE HI-MANTISSA JMP GETPM,I RETURN, B-REG = HI-MANTISSA SPC 1 GETAX EQU * ENTRY A=DEF OF DEF PRAM LDB TDB+2 RETURN A-REG = A-REG+1 & LDB B,I B-REG = DIRECT ADDRESS OF PRAM RBL,CL ,E,SLB,ERB INDIRECT? JMP *-2 YES, TRY AGAIN ISZ TDB+2 BUMP TO NEXT PARAM JMP GETAD,I RETURN, E-REG = 0 SPC 1 DEFZ DEF Z1 DEFY DEF Y1 OM200 OCT -200 OM400 OCT -400 SPC 1 B EQU 1 END * %} ! 24998-18173 2001 S C0122 &/ATLG SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/ATLG" - COMMON CODE FOR .ATAN, .LOG . NAM /ATLG,7 24998-1X173 REV.2001 780424 * ENT /ATLG EXT .TADD,.TSUB,.TDIV * A EQU 0 B EQU 1 * * /ATLG COMPUTES THE EXPRESSION: (1-X)/(1+X) WHICH * IS USED IN .ATAN AND .LOG . * * CALLING SEQUENCE: * * JSB /ATLG * DEF DIRECT ADDRESS. * SPC 4 /ATLG NOP LDA /ATLG,I ADDR ARG ISZ /ATLG JSB .TSUB FORM (1-X) DEF TEMP1 DEF ONE DEF A,I JSB .TADD FORM (1+X) DEF TEMP2 DEF ONE DEF A,I JSB .TDIV FORM (1-X)/(1+X) DEF A,I DEF TEMP1 DEF TEMP2 JMP /ATLG,I EXIT SPC 3 TEMP1 BSS 4 TEMP FOR (1-X) TEMP2 BSS 4 TEMP FOR (1+X) ONE OCT 040000,0,0,2 4-WD 1.0 SPC 2 END _  24998-18174 2001 S C0122 &/CMRT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/CMRT" - COMMON REDUCTION FOR .SIN, .COS, .TAN . NAM /CMRT,7 24998-1X174 REV.2001 781109 * ENT /CMRT EXT .CFER,.TADD,.TSUB,.TMPY,.PWR2,.YINT,.FLUN,IFIX,FLOAT * A EQU 0 B EQU 1 * * /CMRT MULTIPLES A 4-WORD NUMBER BY A CONSTANT * (2/LN(2) OR 4/PI) AND SUBTRACTS THE NEAREST EVEN INTEGER FROM THE * RESULT. IF CANCELLATION OCCURS WHICH WOULD AFFECT THE CALLER'S * RESULT, ADDITIONAL PRECISION IS USED. * * CALLING SEQUENCE: * * * JSB /CMRT * DEF (CANNOT BE SAME AS ARG) * DEF (DIRECT) * DEF * (IF OUTSIDE [-2**23,+2**23) ) * B=N LOWER. * * THE CONSTANTS ARE THE 4-WORD VERSION AND THE * THE 4-WORD VALUE WHICH IS THE CONSTANT MINUS * THE FIRST 28 BITS OF THE CONSTANT. * * THE FLAGS ARE: EXP: -2 TANH: -1 TAN: 0 * SIN: 4 OR 8 COS: 2 OR 6 * * THE ERROR RETURN IS TAKEN IF N DOES NOT FIT IN TWO WORDS. * (ONE WORD FOR TANH.) * * METHOD: TWO METHODS ARE USED, DEPENDING ON THE AMOUNT OF * CANCELLATION. IF THE ARGUMENT IS IN THE RANGE [-8,8) OR * TANH IS INDICATED, IT IS MULTIPLIED BY C AND THE NEAREST EVEN * INTEGER (N) IS FOUND AND SUBTRACTED. IF THE CANCELLATION * DOES NOT EXCEED ABOUT 3 BITS OR THE RESULT WILL BE FOR COS, * TANH OR EXP, THIS RESULT IS RETURNED. * IF TOO MUCH CANCELLATION OCCURS OR THE ARGUMENT IS OUTSIDE * [-8,8), THE ARGUMENT AND THE CONSTANT ARE BROKEN INTO TWO * PARTS AND THE PARTIAL PRODUCTS ARE TAKEN. SINCE THE FIRST * PARTIAL PRODUCT IS EXACT, N MAY BE SUBTRACTED SAFELY AND THE * SIGNIFICANT BITS IN THE OTHER PRODUCTS ARE NOT LOST IN THE SUM. SKP * COPY ADDRESSES, ARG. SEE IF EASY OR HARD. * /CMRT NOP STA FLAG SAVE FLAG LDB /CMRT,I COPY RESULT ADDR ISZ /CMRT STB RESLT LDB /CMRT,I COPY ADDR CONST ISZ /CMRT STB C LDB /CMRT,I COPY ARG ISZ /CMRT STB SRC JSB .CFER DEF X SRC DEF *-* LDA FLAG INA,SZA,RSS IF TANH, EASY. JMP CMRT1 LDB X+3 GET EXPONENT JSB .FLUN STA EXP REMEMBER FOR COMPUTING CANCELLATION ADA =D-4 EXP >= 4 ? SSA,RSS JMP CMRT4 YES, MUST USE HARD WAY. * * TRY EASY WAY. * CMRT1 JSB .TMPY MULTIPLY BY C DEF PROD DEF X C DEF *-* LDA PROD FIX LDB PROD+3 JSB IFIX SOC TANH MAY OFL JMP /CMRT,I YES. SSA,RSS FORM NEAREST EVEN INTEGER INA RAR,CLE,ELA STA N JSB FLOAT FLOAT TO 4-WORD STA FN CLA STA FN+1 STA FN+2 STB FN+3 JSB .TSUB X*(4/PI) - N RESLT DEF *-* DEF PROD DEF FN SKP * IF EXP, TANH OR COS, IGNORE CANCELLATION. * LDA FLAG SSA JMP CMRT3 EXP OR TANH, NO. SZA,RSS JMP CMRT2 TAN, YES. ADA N SIN OR COS, SEE WHICH. RAR,SLA JMP CMRT3 COS, NO. (SIN, YES.) * * SEE IF EXCESSIVE CANCELLATION. * CMRT2 LDB RESLT SEE HOW MANY BITS LOST JMP *+2 REMOVE INDIRECTS LDB B,I RBL,CLE,SLB,ERB JMP *-2 ADB =D3 LDB B,I JSB .FLUN CMA,INA -EXPONENT(RESULT) ADA EXP EXP(X) - EXP(RESULT) = #BITS LOST ADA =D-4 LOST 4 OR MORE ? SSA,RSS JMP CMRT5 YES, HARD WAY. * * SET B=N LOWER, A=FIRST WD X, EXIT. * CMRT3 LDB N EXIT WITH B=N LOWER ISZ /CMRT SKIP ERROR RETURN. JMP /CMRT,I * * LARGE ARGUMENT OR TOO MUCH CANCELLATION: HARD WAY. * CHECK RANGE AND FORM X UPPER. * CMRT4 CCA FLAG N NOT VALID. CMRT5 STA NVALD SAVE N VALID FLAG LDA FLAG DO RANGE CHECKS FOR EXP, SIN/COS/TAN LDB EXP RAL A<0 IF EXP ADB =D-8 EXP(ARG)-8 FOR EXP SSA,RSS ADB =D-16 EXP(ARG)-24 FOR SIN/COS/TAN SSB,RSS TOO BIG ? JMP /CMRT,I YES. LDA X XU = FIRST PART (FIRST 28 BITS) STA XU LDA X+1 AND =B177770 STA XU+1 LDA X+3 (3RD WD = 0) AND =B377 STA XU+3 SKP * FORM C UPPER AND TAKE PRODUCT XU*CU. * LDB C FORM CU = FIRST 28 BITS OF C LDA B,I STA PROD INB LDA B,I AND =B177770 STA PROD+1 CLA STA PROD+2 ADB =D2 LDA B,I AND =B7 TO MATCH MICROCODE. STA PROD+3 JSB .TMPY XU*CU DEF PROD DEF XU DEF PROD * * COMPUTE N & FLOAT(N). * ISZ NVALD HAS N ALREADY BEEN COMPUTED ? JMP CMRT6 YES, USE IT. JSB .YINT NO. TRUNCATE XU*CU. DEF *+3 DEF FN DEF PROD LDA FN MUST FIT EASILY IN 23 BITS. LDB FN+3 SO THIS IS ALL OF IT. STB FN+1 (NEED IT TOGETHER LATER) JSB .PWR2 DIVIDE BY 4096 DEF KM12 JSB IFIX TRUNXCATE. JSB FLOAT JSB .PWR2 & MULTIPLY BY 4096: VOILA, THE UPPER BITS. DEF K12 STA FN+2 SAVE THEM. STB FN+3 FSB FN (UPPER) - (ALL) = -(LOWER) JSB IFIX LEAST BITS OF -N. CMA,SSA,INA,RSS FORM N... MAKE IT NEAREST EVEN. INA (THIS CAN'T OVERFLOW) RAR,CLE,ELA STA N SAVE LEAST BITS OF N. JSB FLOAT PUT IT ALL BACK TOGETHER. FAD FN+2 STA FN NOW EXPAND BACK TO 4-WORD FORM STB FN+3 & WE'RE DONE. CLA STA FN+1 STA FN+2 SKP * DO THE CRUCIAL SUBTRACT, THEN ADD PARTIAL PRODUCTS. * CMRT6 JSB .TSUB XU*CU-N DEF PROD DEF PROD DEF FN JSB .TSUB XL = X-XU DEF X DEF X DEF XU JSB .TMPY (X-XU)*C DEF X DEF X DEF C,I JSB .TADD (XU*CU-N) + (X-XU)*C DEF PROD DEF PROD DEF X LDA C FORM ADDR CL ADA =D4 JSB .TMPY XU*CL DEF X DEF XU DEF A,I JSB .TADD RESULT = X*(4/PI)-N DEF RESLT,I DEF PROD DEF X JMP CMRT3 EXIT * * LOCALS & CONSTANTS * N BSS 1 LOW 3 BITS MATCH INTEGER SUBTRACTED. NVALD BSS 1 -1 IFF N NOT VALID. X BSS 4 ARGUMENT PROD BSS 4 GENERAL ACCUMULATOR XU OCT 0,0,0,0 FIRST 28 BITS OF X FLAG EQU XU SIN/COS/TAN FLAG EXP EQU XU+1 EXP(X), FOR DETERMINING CANCELLATION. FN BSS 4 4-WORD FLOAT(N) KM12 DEC -12 K12 DEC 12 END ! # 24998-18175 2001 S C0122 &/EXTH SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "/EXTH" - COMMON CODE FOR .EXP AND .TANH . HYPERBOLIC TANGENT. NAM /EXTH,7 24998-1X175 REV.2001 790417 * ENT /EXTH EXT .PWR2,.TADD,DPOLY * A EQU 0 B EQU 1 * * /EXTH PERFORMS X _ (2**N) * (2.**(X/2)) AS COMMON FUNCTION FOR * .EXP & .TANH . IF N=-32768 THE SPECIAL CASE X _ TANH(X) IS DONE. * * CALLING SEQUENCE: * * LDA N -32768 FOR TANH, N=0. * JSB /EXTH * DEF * DEF * * METHOD: THE FOLLOWING APPROXIMATIONS ARE USED: * * 2**(Y-1)-0.5 = P(Y)/(Q(Y)-P(Y)) * TANH(Y) = P(Y)/Q(Y) * P(Y) = Y*(P0+YSQ*(P1+YSQ*P2)) * Q(Y) = Q0+YSQ*(Q1+YSQ) * WHERE: * P0 = 1513.86417304653562 * P1 = 20.2017000069531260 * P2 = .023094321272953857 * Q0 = 4368.08867006741699 * Q1 = 233.178232051431036 * SPC 3 * COPY ADDRESSES, CHECK IF SPECIAL. * /EXTH NOP LDB /EXTH COPY RESULT ADDR ISZ /EXTH LDB B,I REMOVE INDIRECTS. RBL,CLE,SLB,ERB JMP *-2 STB X ADB =D3 ADDR LAST WD RESULT STB XP3 LDB /EXTH,I ADDR ARG ISZ /EXTH STB ARG CPA =D-32768 SPECIAL CASE ?    JMP EXTH1 YES. STA N NO, SAVE N SKP * COMPUTE 2**(Y-1) = 0.5+P/(Q-P) * JSB DPOLY COMPUTE P/(Q-P) OCT 140000 DEF X,I ARG DEF *-* DEF P2 DEF TWO DEF TWO JSB .TADD 0.5+P/(Q-P) X DEF *-* DEF HALF DEF X,I * * SCALE RESULT BY 2**N. * LDA N N ARS N/2 INA N/2+1 = SCALE FACTOR STA N LDB XP3,I COMPUTE FINAL EXPONENT CCA SET A NONZERO FOR .PWR2 JSB .PWR2 EXP(X) DEF N STB XP3,I JMP /EXTH,I EXIT * * SPECIAL CASE, RETURN P/Q . * EXTH1 JSB DPOLY OCT 100000 DEF X,I DEF ARG,I DEF P2 DEF TWO DEF TWO JMP /EXTH,I EXIT * * LOCALS & CONSTANTS. * N BSS 1 N XP3 BSS 1 POINTER TO LAST WORD OF ARG/RESULT TWO DEC 2 SUP P2 OCT 057230,023251,071521,101365 P1 OCT 050316,105162,052735,154414 P0 OCT 057235,151647,016717,044034 Q1 OCT 072226,150116,147777,063024 Q0 OCT 042100,055314,051576,141442 HALF OCT 040000,0,0,0 4-WD 0.5 UNS END  " 24998-18176 2001 S C0122 &ABS SYS INDEPENDENT LIBRARY             H0101 `ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ABS" REAL ABSOLUTE VALUE ROUTINE NAM ABS,6 24998-1X176 REV.2001 750701 ENT ABS EXT ..FCM EXT .ZPRV * * * CALLING SEQUENCE.. * * DLD X (FLOATING) * JSB ABS * * ABS RETURNS WITH ABS(X) IN A/B. * ABS NOP JSB .ZPRV DEF LIBX SSA X>=0 ? JSB ..FCM LIBX JMP ABS,I DEF ABS END *  " 24998-18177 2001 S C0122 &ATAN SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ATAN" - SINGLE PRECISION TRIGONOMETRIC INVERSE TANGENT. NAM ATAN,6 24998-1X177 REV.2001 780424 * ENT ATAN,ARCTA EXT .ZPRV,..FCM * A EQU 0 B EQU 1 * * ATAN TAKES THE SINGLE-PRECISION ARCTANGENT OF A SINGLE-PRECISION * ARGUMENT. * * CALLING SEQUENCE: * DLD * JSB ATAN * (A,B) = RESULT NO ERROR RETURN. * * METHOD: THE FOLLOWING IDENTITIES ARE USED TO REDUCE THE RANGE * TO [-.5,+.5): * IDENTITY USED IN * ATAN(X)=-ATAN(-X) [-INF,-.5) * ATAN(X)=PI/4-ATAN((1-X)/(1+X)) [.5,2) * ATAN(X)=PI/2-ATAN(1/X) [2,+INF] * * ON THIS RANGE, ATAN(X) IS APPROXIMATED BY: * * X * ---------------------------------- * C3 * C1 + C2 * ( X**2 + ----------- ) * C4 + X**2 * WHERE: * C1 = 1.3504734 * C2 = .15700588 * C3 =-4.4369869 * C4 = 1.9876921 SKP * RANGE REDUCE * ATAN NOP ARCTA EQU ATAN FOR ALGOL. JSB .ZPRV FOR SHARING. DEF LIBX STA X SAVE FIRST WORD ARG CCA n IF X IN [-0.5,+0.5) SET CONST TO (ZERO)-1 SLB JMP ATAN3 STB X+1 SAVE SECOND WORD LDA X SET FLAG FOR X<0 RAL IOR =B177776 -1 IFF X<0 STA SIGN SLA,RSS TAKE ABS(X) JMP ATAN1 IF + LDA X ELSE NEGATE JSB ..FCM STA X STB X+1 ATAN1 LDA B SEE IF X IN [-2,2) AND =B374 SZA JMP ATAN2 NO. LDA X YES, REPLACE WITH (1-X)/(1+X) SZA,RSS ARG ZERO ? JMP LIBX YES, RESULT ZERO. FAD ONE 1+X STA TEMP STB TEMP+1 LDA ONE LDB ONE+1 FSB X 1-X FDV TEMP (1-X)/(1+X) STA X LDA PI4 (LOWER WD OF PI/4) - 1 JMP ATAN3 ATAN2 LDA ONE X OUTSIDE [-2,2), REPLACE WITH 1/X LDB ONE+1 FDV X 1/X STA X LDA PI2 (LOWER WD OF PI/2) - 1 ATAN3 STA CONST+1 (LOWER WORD OF CONSTANT) - 1 STB X+1 FINALLY STORE X LOWER LDA X RELOAD X UPPER SKP * EVALUATE ATAN OF REDUCED ARG * FMP X X**2 STA XSQ STB XSQ+1 FAD C4 C4+XSQ STA TEMP STB TEMP+1 LDA C3 LDB C3+1 FDV TEMP C3/(C4+XSQ) FAD XSQ XSQ+C3/... FMP C2 C2*(XSQ+...) FAD C1 C1+C2*... STA TEMP STB TEMP+1 LDA X LDB X+1 FDV TEMP Z = RESULT = X/(C1+...) * * ADJUST BY ZERO, PI/4, PI/2; ATTACH SIGN. * ISZ CONST+1 FIX CONSTANT, SEE IF ZERO JMP *+2 NO JMP LIBX YES, DONE. FSB CONST Z - CONST ISZ SIGN WAS ORIGINAL ARG + ? JSB ..FCM YES, WANT (CONST - Z) LIBX JMP ATAN,I DONE. DEF ATAN SKP * LOCALS & CONSTANTS. * X BSS 2 REDUCED ARG XSQ BSS 2 X**2 TEMP BSS 2 TEMP SIGN  BSS 1 -1 IFF ARG<0 CONST OCT 062207 FIRST WORD OF PI/2 & PI/4 BSS 1 DETERMINES WHICH CONSTANT USED PI2 ABS 166402B-1 (LOWER WORD OF PI/2) - 1 PI4 ABS 166400B-1 (LOWER WORD OF PI/4) - 1 ONE DEC 1.0 C1 DEC 1.3617611 C2 DEC .15435765 C3 DEC -4.7376165 C4 DEC 2.0214656 END ݸ % 24998-18178 2001 S C0122 &DBLE SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DBLE" STANDARD TO EXTENDED PRECISION CONVERSION NAM DBLE,6 24998-1X178 REV.2001 750701 ENT DBLE EXT .ZPRV SPC 1 * * TWO WORD FLOATING POINT NUMBERS ARE CONVERTED TO * THREE WORD FLOATING POINT NUMBERS BY THIS ROUTINE * CALLING SEQUENCE: * JSB DBLE * DEF *+3 * DEF Y (RESULT:3 WORDS) * DEF X (ARGUMENT:2 WORDS) * * TIME: APPROX 50 2100 CYCLES + PRIVLEDGE PROCESSING SPC 2 Y NOP DBLE NOP JSB .ZPRV DEF LIBX ISZ DBLE BUMP TO P+2 LDA DBLE GET ADDRESS OF P+2 LDA A,I GET CONTENTS RAL,CLE,SLA,ERA INDIRECT BIT SET? JMP *-2 YES, TRY AGAIN STA Y SAVE ADDRESS OF Y ISZ DBLE GET ADDRESS OF P+3 LDA DBLE,I DLD A,I GET VALUE OF X STA Y,I PUT IN HI-MANTISSA ISZ Y BUMP TO MID-MANTISSA LDA B GET LO-MAN + EXP. OF REAL AND OM400 OBTAIN LO-MAN STA Y,I PUT IN DBL MID-MANTISSA XOR B GET EXPONENT ISZ Y BUMP TO DBL LO-MAN+EXP. STA Y,I AND SET ISZ DBLE SET FOR P+4 RETURN LIBX JMP DBLE,I DEF DBLE SPC 1 OM400 OCT -400 A EQU 0 B EQU 1 END * Q7   % 24998-18179 2001 S C0122 &DDINT SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DDINT" DOUBLE TO DOUBLE TRUNCATION NAM DDINT,6 24998-1X179 REV.2001 750701 ENT DDINT EXT .ZRNT,.ENTP,ENTIX,.XADD SPC 2 * * CALLING SEQUENCE: * JSB DDINT * DEF *+3 * DEF Y (RESULT) * DEF X SPC 2 TDB NOP DEC 5 NOP Y NOP X NOP DDINT NOP JSB .ZRNT DEF LIBX JSB .ENTP DEF Y STA TDB+2 JSB ENTIX TAKE THE Y=ENTIER(X) DEF *+3 DEF Y,I DEF X,I LDA X,I FIND OF ORIGIONAL SSA NUMBER WAS NEG & BITS WERE SZB,RSS TRUNCATED OFF JMP LIBX OK INTEGER JSB .XADD YES >>ADD +1.0 DEF Y,I DEF ONE DEF Y,I LIBX JMP TDB+2,I DEF TDB DEC 0 ONE DEX 1.0 END *  % 24998-18180 2001 S C0122 &SIGN SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "SIGN" ABS(REAL VALUE) * SIGN (ANY VALUE) NAM SIGN,6 24998-1X180 REV.2001 760106 ENT SIGN EXT ..FCM EXT .ZPRV * * * * * CALL.. * * JSB SIGN (RESULT FLOATING) * DEF A (FLOATING) * DEF B (FLOATING OR INTEGER) * * CALCULATES SIGNUM(B)*ABS(A) . * SIGN NOP JSB .ZPRV DEF LIBX LDA SIGN,I DLD A,I PICK UP A ISZ SIGN SZA,RSS EQUAL 0? JMP CLEAR YES, RETURN STA T LDA SIGN,I LDA A,I PICK UP SIGN(B) SZA,RSS B = 0? JMP CLEAR YES XOR T ELA SAVE COMPLEMENT FLAG LDA T SEZ SIGN CHANGE NEEDED? JSB ..FCM YES JMP EXIT CLEAR CLB ANS=0 EXIT ISZ SIGN LIBX JMP SIGN,I DEF SIGN * T OCT 0 A EQU 0 END * H  & 24998-18181 2001 S C0122 &SQRT SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "SQRT" - SINGLE PRECISION SQUARE ROOT. NAM SQRT,6 24998-1X181 REV.2001 780424 * ENT SQRT EXT .ZPRV,.FLUN,.PWR2 * A EQU 0 B EQU 1 * * SQRT TAKES THE SINGLE-PRECISION SQUARE ROOT OF A SINGLE-PRECISION * ARGUMENT. * * CALLING SEQUENCE: * DLD * JSB SQRT * (A,B) = ASCII "03UN" * (A,B) = RESULT * * THE ERROR RETURN IS TAKEN IF THE ARGUMENT IS NEGATIVE. * * METHOD: THE RANGE IS REDUCED TO [0.5,2) USING THE IDENTITY: * * SQRT(X) = (2**N) * SQRT(X/2**N) * * IN THIS RANGE, THE INITIAL APPROXIMATION X0 = A*X+B IS USED, * WHERE: * X0 = .59016 * Y + .41778 IN [0.5,1) * AND X0 = .41778 * Y + .59016 IN [1,2) * * GIVING AT LEAST 7 BITS ACCURACY. HERON'S RULE IS APPLIED TWICE, * GIVING 2*X1 = (X1+Y/X1) AND 4*X2 = (2*X1)+(4*Y)/(2*X1) . THE * RESULT IS THEN X2 * 2**(N-2), USING .PWR2 . SKP * CHECK X <= 0, FORM X0 = INITIAL APPROXIMATION * SQRT NOP JSB .ZPRV FOR SHARING. DEF LIBX SSA < 0 ? JMP ERROR YES, ERROR ISZ SQRT NO, GOOD RETURN SZA,RSS = 0 ? JMP LIBX YES, RESULT = 0 STA Y SCALE: FIRST WORD IS SAME JSB .FLU3  N FORCE TO [0.5,1) ADA =D-4 2*N-4 SLA,ERA N-2: AT END, MULT. BY 2**(N-2) = (2**N)/4 ADB =D2 IF REMAINDER ODD, FORCE TO [1,2) RAL,ARS RESTORE SIGN BIT STA N STB Y+1 LDA Y SEZ IN [.5,1) ? JMP SQRT1 NO FMP A1B2 IN [0.5,1): X0 = A1*Y+B1 FAD A2B1 JMP SQRT2 SQRT1 FMP A2B1 IN [1,2): X0 = A2*Y+B2 FAD A1B2 SQRT2 STA X SAVE X0 STB X+1 * * TWO HERON'S STEPS * LDA Y LDB Y+1 FDV X Y/X0 FAD X 2*X1 = X0+Y/X0 STA X STB X+1 LDA Y LDB Y+1 ADB =D4 4*Y FDV X (4*Y)/(2*X1) = 2*(Y/X1) FAD X 4*X2 = 2*X1 + 2*(Y/X1) JSB .PWR2 MULTIPLY BY (2**N)/4 DEF N LIBX JMP SQRT,I EXIT DEF SQRT SKP * ERROR PROCESSING * ERROR LDA =A03 RETURN ASCII "03UN" LDB =AUN JMP LIBX * * LOCALS & CONSTANTS. * Y BSS 2 SCALED ARG X BSS 2 CURRENT APPROXIMATION N BSS 2 (SCALE FACTOR) - 2 A1B2 OCT 045612 FIRST WORD 0.59016 A2B1 OCT 065400 SECOND WORD 0.59016, FIRST WORD 0.41778 OCT 000377 SECOND WORD 0.41778 END   !( 24998-18182 2001 S C0122 &..FCM SYS INDEPENDENT LIBRARY             H0101 kASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "..FCM" REAL COMPLEMENT IN A&B REGS. NAM ..FCM,6 24998-1X182 REV.2001 750701 ENT ..FCM EXT .ZPRV * * * ..FCM NOP JSB .ZPRV DEF LIBX STA A STORE ARGUMENT STB A+1 CLA CLB FSB A LIBX JMP ..FCM,I DEF ..FCM A REP 2 NOP END * l "( 24998-18183 2001 S C0122 &.4ZRO SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".4ZRO" - COMMON 4-WORD ZERO. NAM .4ZRO,6 24998-1X183 REV.2001 780424 * ENT .4ZRO * .4ZRO OCT 0,0,0,0 * END  #) 24998-18184 2001 S C0122 &.PWR2 SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".PWR2" REAL VALUE * 2**(N) ROUTINE (ADDS EXPONENTS) NAM .PWR2,6 24998-1X184 REV.2001 781106 ENT .PWR2 EXT .ZPRV * * * CALLING SEQUENCE.. * * DLD X (FLOATING) * JSB .PWR2 (RESULT FLOATING) * DEF N * * N DEC I (INTEGER) * * .PWR2 RETURNS WITH X*2**N IN A/B. * NO CHECK IS MADE FOR EXPONENT * OVERFLOW OR UNDERFLOW. * * TIME: APPROX 38 2100 MACHINE CYCLES + PRIVLEDGE PROC. * .PWR2 NOP JSB .ZPRV DEF LIBX STA HIMAN SAVE HI-MANTISSA LDA B GET LO-MANTISSA + EXPONENT AND OM400 MASK OF EXP. STA LOMAN SAVE LO-MANTISSA XOR B GET EXPONENT SLA,RAR POSITION EXPONENT IOR OM200 MIRGE IN NEG. BITS LDB .PWR2,I GET N ADA B,I ADD N TO EXPONENT RAL REPOSITION AND O377 MASK OFF NEG/OVF BITS IOR LOMAN MIRGE IN LO-MANTISSA BITS LDB A PUT IN B-REG LDA HIMAN GET HI-MANTISSA ISZ .PWR2 LIBX JMP .PWR2,I DEF .PWR2 O377 OCT 377 OM400 OCT -400 OM200 OCT -200 LOMAN NOP HIMAN NOP A EQU 0 B EQU 1 END * Jj   $+ 24998-18185 2001 S C0122 &.TFTD SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TFTD" - FLOAT DOUBLE INTEGER TO 4-WORD FLOATING. NAM .TFTD,7 24998-1X185 REV.2001 780424 * ENT .TFTD EXT .XPAK * A EQU 0 B EQU 1 * * .TFTD CONVERTS A TWO-WORD INTEGER TO A 4-WORD * FLOATING-POINT NUMBER. * * CALLING SEQUENCE: * * DLD * JSB .TFTD * DEF SPC 4 .TFTD NOP STB TEMP SAVE B-REG LDB .TFTD GET ADDR RESULT ISZ .TFTD LDB B,I RESOLVE INDIRECTS RBL,CLE,SLB,ERB JMP *-2 STB RESLT STA B,I COPY ARG INB LDA TEMP STA B,I INB CLA THIRD WORD = 0 STA B,I STB TEMP TEMP = ADDR(RESULT) + 2 LDA =D31 FLOAT TO 3-WORD JSB .XPAK RESLT DEF *-* LDA TEMP,I EXTEND TO 4-WORD CLB STB TEMP,I 3RD WD = 0 ISZ TEMP STA TEMP,I 4TH WD = OLD 3RD WD JMP .TFTD,I EXIT * TEMP BSS 1 END  %+ 24998-18186 2001 S C0122 &.TFXD SYS INDEPENDENT LIBRARY             H0101 ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TFXD" - FIX 4-WORD FLOATING TO DOUBLE INTEGER. NAM .TFXD,7 24998-1X186 REV.2001 780424 * ENT .TFXD EXT .FLUN,.CFER,.FIXD,.FXDE * A EQU 0 B EQU 1 * * .TFXD CONVERTS A 4-WORD FLOATING-POINT NUMBER * TO A TWO-WORD INTEGER. * * CALLING SEQUENCE: * * JSB .TFXD * DEF * (A,B) = RESULT * * OVERFLOW OCCURS IF THE ARGUMENT IS OUTSIDE THE RANGE * [-2**31,+2**31) . THE OVERFLOW BIT IS SET AND THE * VALUE RETURNED IS (77777,177777) . SPC 4 * CONVERT INTO ".FIXD" * .TFXD NOP STA .FXDE+1 SAVE A-REG. LDA .TFXD,I COPY ARG ADDR. ISZ .TFXD STA ARG LDA .FXDE+1 RESTORE A-REG. JSB .CFER COPY ARG INTO ".FIXD" DEF .FXDE+1 ARG DEF *-* LDB .FXDE+4 LAST WORD JSB .FLUN SEPARATE MANT, EXP IN LAST WD SWP IOR .FXDE+3 TRUNCATED BITS STA .FXDE+3 LDA B EXPONENT LDB .TFXD COPY ENTRY PT STB .FIXD JMP .FXDE,I USE COMMON CODE * END ( &, 24998-18187 2001 S C0122 &.XMPY SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".XMPY" EXTENDED PRECISION MULTIPLY NAM .XMPY,6 24998-1X187 REV.2001 750701 ENT .XMPY EXT .ZPRV EXT .XPAK SPC 1 * * THIS ROUTINE DOES AN EXTENDED PRECISION MULTIPLICATION * CALLING SEQUENCE: * * JSB .XMPY * DEF X * DEF Y * DEF Z * WHERE X= Y * Z SPC 2 X4 NOP X3 NOP X2 NOP X1 NOP Y1 NOP Y2 NOP Y3 NOP EXPY NOP Z1 NOP Z2 NOP Z3 NOP EXPZ NOP HIGH NOP MID NOP LOW NOP SIGN NOP TEMP NOP X NOP SPC 1 .XMPY NOP JSB .ZPRV DEF LIBX CLA STA SIGN INITIALIZE THE SIGN SPC 1 * GET, UNPACK, AND COMPLEMENT (IF NECESSARY) Y & Z SPC 1 JSB GETAD STB X SAVE FOR RETURN PARAM. LDB DEFY GET ADDRESS OF Y1 JSB GETPM GET PARAMS & UNPAK & MOVE LDB DEFZ GET ADDRESS OF Z1 JSB GETPM GET PRAMS & UNPAK & MOVE TO Z1-4 CLA INITIALIZE PRODUCT STA X1 STA X2 STA X3 STA X4 LDA DEFX4 SET POINTER FOR STA LOW MULTIPLY LOOP INA STA MID INA STA HIGH LDA Y3 COMPUTE CROSS-PRODUCTS LDB Z1 JSB MPY Z1 * Y3 LDA Y2 LDB Z2 + JSB MPY Z2 * Y2 LDA Y1 LDB Z3 + e$JSB MPY Z3 * Y1 ISZ LOW ISZ MID SHIFT FOR SECOND SET ISZ HIGH OF CROSS-PRODUCTS LDA Y1 LDB Z2 + 2**16 * JSB MPY (Y1 * Z2 LDA Y2 LDB Z1 + JSB MPY Y2 * Z1 ISZ LOW SHIFT FOR FINAL PRODUCT ISZ MID LDA Y1 + 2**32 * LDB Z1 JSB MPY Y1 * Z1 LDA SIGN CHECK IF SIGN CHANGE ERA SAVE CHANGE IN E-REG SPC 1 * MOVE RESULTS TO X SPC 1 LDA X GET X'S ADDRESS STA TEMP SAVE TEMPORARY LDA X1 SEZ COMPLEMENT IF SIGN CHANGE CMA STA X,I PUT IN HI-MANTISSA LDA X2 SEZ CMA LDB X3 SEZ CMB,INB,SZB LO-MANTISSA & CHECK IF BUMP JMP PACK NO BUMP CONTINUE INA,SZA BUMP MID-MANTISSA JMP PACK NO BUMP, CONTINUE ISZ X,I BUMP HI-MANTISSA NOP POSSIBLE = 0 PACK ISZ TEMP NOW PUT IN CALLERS Z PARAM STA TEMP,I ISZ TEMP STB TEMP,I CLA,INA CALCULATE EXPONENT ADA EXPY ADA EXPZ JSB .XPAK PACK RESULT DEF X,I IN "X'S" PLACE LIBX JMP .XMPY,I DEF .XMPY DEC 0 SPC 1 GETPM NOP ENTRY B=ADDRESS OF DESTINATION PLACE STB X1 SAVE DEST ADDRESS INB STB X2 INB STB X3 JSB GETAD GET DIRECT ADDRESS STB TEMP SAVE ADDRESS OF Y OR Z LDB TEMP,I GET HI-MAN OF Y OR Z ISZ TEMP BUMP LDA TEMP,I GET MID-MANTISSA SSB COMPLEMENT IF NEG. CMA STA X2,I SAVE ISZ TEMP BUMP LDA TEMP,I GET LO-MAN + EXPONENT AND OM400 MASK OF EXPONENT SSB COMPLEMENT IF NEG. CMA STA X3,I AND SAVE SSB RESTORE IF CHANGED CMA XOR TEMP,I NOW GET EXPONENT  SLA,RAR POSITION EXPONENT IOR OM200 MIRGE IF NEG. SSB,RSS CHECK FURTHER PROC. JMP DONE NONE, GET OUT CMB MAKE POSITIVE ISZ SIGN AND MARK THAT SIGN CHANGED ISZ X3,I NOW DO THE INA'S JMP DONE ISZ X2,I BUMP MID-MANTISSA JMP DONE INB BUMP HI-MANTISSA SSB,RSS OVERFLOWED? JMP DONE RBR DIVIDE BY 2 AND INA BUMP EXPONENT DONE ISZ X3 BUMP TO EXPONENT STA X3,I SAVE EXPONENT STB X1,I SAVE HI-MANTISSA JMP GETPM,I RETURN SPC 1 GETAD NOP ENTRY A=DEF OF DEF PRAM LDB .XMPY RETURN A-REG = A-REG+1 & LDB B,I B-REG = DIRECT ADDRESS OF PRAM RBL,CLE,SLB,ERB INDIRECT? JMP *-2 YES, TRY AGAIN ISZ .XMPY BUMP TO NEXT PARAM JMP GETAD,I RETURN SPC 1 DEFY DEF Y1 DEFZ DEF Z1 DEFX4 DEF X4 OM200 OCT -200 OM400 OCT -400 SPC 1 * * 16-BIT INTEGER MULTIPLY * SPC 1 MPY NOP NOT 15 BIT MPY STB TEMP COMPUTE A*B. RESULT: B=HIGH A=LOW CLB INITIALIZE PRODUCT TO ZERO CLE,SLA SHIFT, TEST AND ADD SEQUENCE ADB TEMP ERB 1 ERA,CLE,SLA ADB TEMP ERB 2 ERA,CLE,SLA ADB TEMP ERB 3 ERA,CLE,SLA ADB TEMP ERB 4 ERA,CLE,SLA ADB TEMP ERB 5 ERA,CLE,SLA ADB TEMP ERB 6 ERA,CLE,SLA ADB TEMP ERB 7 ERA,CLE,SLA ADB TEMP ERB 8 ERA,CLE,SLA ADB TEMP ERB 9 ERA,CLE,SLA ADB TEMP ERB 10 ERA,CLE,SLA ADB TEMP ERB 11 ERA,CLE,SLA ADB TEMP ERB 12 ERA,CLE,SLA ADB TEMP ERB e 13 ERA,CLE,SLA ADB TEMP ERB 14 ERA,CLE,SLA ADB TEMP ERB 15 ERA,CLE,SLA ADB TEMP ERB 16 ERA,CLE CLO ADA LOW,I STA LOW,I SEZ,CLE INB ADB MID,I STB MID,I SEZ,CLE ISZ HIGH,I JMP MPY,I SPC 1 B EQU 1 END *  '0 24998-18188 2001 S C0122 &DPOLY SYS INDEPENDENT LIBRARY             H0101 )ASMB,L,R,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "DPOLY" - 4-WORD RATIONAL FORM EVALUATOR. NAM DPOLY,7 24998-1X188 REV.2001 790417 * ENT DPOLY,TRNL EXT .ENTR,.CFER,.TADD,.TSUB,.TMPY,.TDIV * A EQU 0 B EQU 1 * * DPOLY EVALUATES A RATIONAL FORM GIVEN THE COEFFICIENTS AND THE * POINT AT WHICH TO EVALUATE. THE COMPUTATION HAS THE FORM: * * (P[0]+X*(P[1]+X*...(P[M-1]+X*P[M]))) * RESULT = -------------------------------------- * (Q[0]+X*[Q[1]+X*...(Q[N-1]+X))) * * I.E., Q[N] IS ASSUMED TO BE 1.0 . IF N=0, THE DIVIDE IS SKIPPED * AND DPOLY JUST DOES A POLYNOMIAL EVALUATION. * * CALLING SEQUENCE: * * JSB DPOLY * DEF *+6 OR OCT FLAGS+100000 * DEF * DEF * DEF P[M]...P[0],Q[N-1]...Q[0] * DEF * DEF * * WHERE: IF FLAG BIT 0 CLEAR: DO P/(Q-P) (IF N>0) * IF FLAG BIT 14 SET: MULTIPLY P BY X. * IF FLAG BIT 15 SET: EVALUATE IN X**2 & ENABLE FLAGS. SPC 2 * ENTRY POINT. SET UP FLAGS. * DPOLY NOP TRNL EQU DPOLY LDA TRNL COPY ENTRY PT. STA TRNLX LDA A,I COPY FLAG WORD. STA FLGWD CLB,INB DEFAULT FLAGS. SSA,RSS FLAGS PRES2ENT ? JMP TRNL0 NO. LDB A YES, USE THEM. LDA TRNL FAKE THE RETURN ADDR. ADA =D6 STA TRNL,I TRNL0 STB FLAGS SAVE FLAGS. JMP TRNLX+1 GO USE .ENTR TO GET PARAMS. SKP * FAKE ENTRY PT. USE .ENTR TO COPY PARAM ADDR. * RESLT DEF *-* ARG DEF *-* CONST DEF *-* MPTR DEF *-* NPTR DEF *-* TRNLX NOP JSB .ENTR COPY ADDRESSES DEF RESLT LDA FLGWD RESTORE FLAG WORD. STA TRNL,I SSA SQUARE ARG ? JMP TRNL1 YES. JSB .CFER NO, COPY ARG DEF X DEF ARG,I JMP TRNL2 TRNL1 JSB .TMPY SQUARE ARG. DEF X DEF ARG,I DEF ARG,I * * EVALUATE NUMERATOR * TRNL2 LDA MPTR,I M CMA,INA -M LDB CONST B = CONSTANT POINTER THROUGHOUT. JSB .TMPY X*P[M] DEF P DEF X DEF B,I ADB =D4 ADDR P[M-1] INA,SZA,RSS I=0 ? JMP TRNL4 YES, GO FINISH. TRNL3 JSB .TADD P[I] + X * (...) DEF P DEF B,I DEF P ADB =D4 ADDR P[I-1] JSB .TMPY X * ( P[I] + ...) DEF P DEF X DEF P INA,SZA I_I-1. I=0 ? JMP TRNL3 NO, LOOP. TRNL4 JSB .TADD P = P[0] + ... DEF P DEF B,I DEF P SKP * CONDITINALLY MULTIPLY BY ARG. * LDA FLAGS CHECK FLAG SLA JMP TRNL5 SET, NO MULTIPLY. JSB .TMPY CLEAR, MULTIPLY. DEF P DEF ARG,I DEF P TRNL5 LDA NPTR,I N CMA,INA,SZA,RSS -N. N=0 ? JMP TRNL9 YES, DONE. * * EVALUATE DENOMINATOR * ADB =D4 ADDR Q[N-1] JSB .TADD Q[N-1] + X DEF Q DEF B,I DEF X INA,SZA,RSS N=1 ? JMP TRNL7 YES, DONE. TRNL6 JSB .TMPY X * (Q[J] + ...) DEF Q DEF X DEF Q ls ADB =D4 ADDR Q[J-1] JSB .TADD Q[J-1] + X * (...) DEF Q DEF B,I DEF Q INA,SZA J_J-1. J=0 ? JMP TRNL6 NO, LOOP. TRNL7 LDA FLAGS CONDITIONALLY SUBTRACT NUM FROM DENOM RAL SSA,RSS JMP TRNL8 IF FLAG CLEAR. JSB .TSUB ELSE DO IT DEF Q DEF Q DEF P * * RETURN QUOTIENT. * TRNL8 JSB .TDIV P/Q DEF RESLT,I DEF P DEF Q JMP TRNLX,I EXIT. SKP * M>0, N=0. RESULT = NUMERATOR. * TRNL9 JSB .CFER COPY IT. DEF RESLT,I DEF P JMP TRNLX,I EXIT * * LOCALS. * FLAGS BSS 1 FLAGS FOR *X AND Q-P P BSS 4 NUMERATOR Q BSS 4 DENOMINATOR X BSS 4 VALUE USED IN EVALUATION FLGWD EQU P TEMP FOR ENTRY CODE. END  (0 24998-18189 2001 S C0122 &ENTIX SYS INDEPENDENT LIBRARY             H0101 .ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "ENTIX/.XENT" DOUBLE PRECISION ENTIER ROUTINE (DLB) NAM ENTIX,6 24998-1X189 REV.2001 750701 ENT ENTIX,.XENT EXT .ZPRV,.ENTP SPC 1 * * THIS ROUTINE WILL PRODUCE THE LARGEST INTERGER (NO FRACTIONAL BITS) * NOT ALGEBRAICALLY EXCEEDING X. WHERE Y = ENTIX (X) IN FTN4. * CALLABLE: * JSB ENTIX * DEF *+3 * DEF Y * DEF X * * WHERE: * X = DOUBLE PRECISION (3 WORD) PARAMETER * Y = ENTIER (X) * A-REG CONTAINS LEAST BIT OF X.(1=ODD, 0=EVEN),(DLOG) * B-REG = 0 IF X=Y ON RETURN (NO-TRUNKCATION DONE),(DDINT) * TIME: * APPROX. TIME IS ABOUT 110 TO 140 2100 MACHINE CYCLE * PLUS THE TIME TO EXECUTE ".ENTP" & PRIVLEGED PROCESSING. SPC 1 XDEF NOP ADDRESS OF RESULTS YDEF NOP ADDRESS OF SOURCE ENTIX NOP .ENTR STYLE ENTRY .XENT EQU ENTIX JSB .ZPRV DO THE PRIVLEGDGE THING DEF LIBX JSB .ENTP GET ADDRESSES DEF XDEF SPC 1 * GET EXPONENT SPC 1 LDA D2 GET PRAM OFFSET ADA YDEF GET ADDRESS OF EXPONENT LDA A,I GET LO-MAN + EXPONENT WORD AND O377 MASK TO GET EXPONENT CLB PREPARE NEG. EXP FLAG O73 CLE,SLA,RAR FORM 16 BIT EXP. WORD CLA,RSS FORCE NEG. CASE TO BE 0 CLB,INB NOT NEG. MAKE FLAG = 1 STB NFLAG SET FLAG IF NOT NEG. EXP. LDB DM40 GET NEG MAX EXP ADB A NOW TEST FOR EXP => 40 CLB,SEZ IF EXP. > 39 ALREADY INTEGERIZED LDA O73 GET # SUCH 3 = NUMB/16 STB BITS INITIALIZE FLAG STB EV/OD INITIALIZE FLAG SPC 1 * NOW CALCULATEMASK AND WORD NUMBER SPC 1 DIV D16 A=WORD# & B=BIT# STA STORE SAVE WORD NUMBER OF MASK CLE,ERB B-REG. = BIT NUMBER TO TRUNK. ADB MTBL POINT TO MASK TABLE LDA B,I PICK UP MASK CMA,SEZ,CCE INVERT MASK & TAKE ADVANTAGE ARS OF TRICK TO HAVE 1/2 SIZE TABLE STA MASK SAVE FOR LATER USE ELA NOW FORM "LEAST BIT MASK" XOR MASK FOR TESTING EVEN/ODD NUMB STA LESBT AND SAVE FOR LATER USE SPC 1 * NOW GO MASK THE DOUBLE NUMBER SPC 1 LDB DM3 GET PRAM LENGTH-1 LDA STORE GET WORD # OF MASK CMA,INA MAKE NEG. TO INDEX BACKWARD ADA DALG0 ADD POINTER TO LAST ALG. JMP A,I JUMP TO CORRECT ALG DALG0 DEF ALG0 ALG3 JSB STORE MOVE FIRST WORD TO OUTPUT BUFF ALG2 JSB STORE ONLY 3 OF THESE SUBS. WILL BE ALG1 JSB STORE EXECUTED ALG0 JSB MASKB MASK HI-MANTISSA JSB CLRBT CLEAR MID-MANTISSA JSB CLRBT CLEAR LO-MANTISSA SPC 1 MASKB NOP MASKING ROUTINE LDA YDEF,I GET WORD TO MASKWORD AND MASK MASK OFF SIGNIFICANT BITS. INB,SZB,RSS LAST PASS = LO-MAN + EXP. AND OM400 MASK OF EXPONENT SZA AND BITS LEFT? ISZ BITS YES, SET FLAG XOR YDEF,I NOW RESTORE LO-MAN + EXPON - MASKED BITS STA XDEF,I AND PUT AND LESBT NOW TEST IF NUMB. EVEN/ODD STA EV/OD AND SET/CLEAR FLAG ISZ YDEF BUMP TO NEXT PRAM ISZ XDEF DITTO SZB DONE? JMP MASKB,I RETURN JMP OUT DONE SP8' C 1 STORE NOP ENTRY ADVANCE PRAMETER LDA YDEF,I GET CONTENTS STA XDEF,I AND PUT ISZ YDEF BUMP ADDRESS ISZ XDEF BUMP DESTIONATION ADDRESS INB,SZB BUMP COUNTER JMP STORE,I RETURN JMP OUT DONE SPC 1 CLRBT NOP CLEAR BITS ROUTINE LDA YDEF,I GET PRAM INB,SZB,RSS LAST PASS = LO-MAN + EXP. AND OM400 CLEAR ONLY MANTISSA BITS SZA ANY BITS STRIPED? ISZ BITS YES XOR YDEF,I PRODUCE EXPONENT OR 0 CPB NFLAG IF LAST & EXP = 0 THEN = 0 CLA EXPONENT = ZER0 STA XDEF,I PUT ISZ YDEF BUMP TO NEXT WORD ISZ XDEF DITTO SZB DONE JMP CLRBT,I RETURN SPC 1 OUT LDA EV/OD GET EVEN/ODD FLAG LDB BITS GET CHANGED NUMBER FLAG SZA SET? CLA,INA YES (FOR THE "DSIN" ROUTINE) LIBX JMP ENTIX,I RETURN DONE DEF ENTIX SPC 1 MTBL DEF *+1 OCT 100000 OCT 160000 OCT 174000 OCT 177000 OCT 177600 OCT 177740 OCT 177770 OCT 177776 D2 DEC 2 DM3 DEC -3 DM40 DEC -40 MASK NOP NFLAG NOP BITS NOP EV/OD NOP LESBT NOP D16 DEC 16 O377 OCT 377 OM400 OCT -400 A EQU 0 B EQU 1 END * O )1 24998-18190 2001 S C0122 &SNGL SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "SNGL" DOUBLE PRECISION TO REAL WITH ROUNDING (DLB) NAM SNGL,6 24998-1X190 REV.2001 750701 ENT SNGL EXT .ZPRV SPC 1 * * THIS ROUTINE WILL CONVERT A DOUBLE PRECISION NUMBER (3 WORDS) * TO A REAL NUMBER (2 WORDS) WITH ROUNDING. THIS MEANS THAT * THE ABSOLUTE VALUE OF THE RESULTANT NUMBER WILL HAVE 1/2 THE * LEAST SIGNIFICANT BIT ADDED AND THEN THE NUMBER WILL BE * TRUNCATED. MAX ERROR FROM DOUBLE PRECISION WILL BE LESS THAN * 1/2 THE LEAST SIGNIFICANT BIT. * * CALLABLE: * JSB SNGL * DEF *+2 * DEF X * * WHERE: * X = DOUBLE PRECISION (3 WORD) PARAMETER * A-REG & B-REG = REAL (2 WORD) RESULTS * * ERRORS: IF X=> 1*2**127, THEN Y = (1-2**-23)*2**127 * AND O-REG. WILL BE SET * * TIME: * APPROX. TIME IS 70 2100 MACHINE CYCLES (100 MAX) * PLUS THE TIME TO EXECUTE PRIVLEGED PROCESSING. SPC 1 SNGL NOP ENTRY A&B = SNGL (X) JSB .ZPRV DEF LIBX LDA SNGL,I WE CAN BEAT .ENTR ISZ SNGL BUMP TO P+2 LDB SNGL STA SNGL PUT BACK THE RETURN ADDRESS LDB B,I PICK UP CONTENTS OF P+2 RBL,CLE,SLB,ERB INDIRECTS?+ (CLE) JMP *-2 YES, TRY AGAIN STB ADDR SAVE ADDRESS OF X LDB ADDR,I GET X(1) ISZ ADDR BUMP TO X(2) LDA ADnHDR,I GET X(2) STA Y2 SAVE TEMPORARY ISZ ADDR BUMP TO X(3) LDA ADDR,I GET X(3) AND O377 GET EXPONENT STA Y3 SAVE TEMPORARY CPA ADDR,I TRUNCATED ANY BITS? CCE NO, CLEAR TRUNK FLAG. LDA O177 PREPARE FOR ROUNDING SEZ,CLE,SSB,RSS IF NEG & NO BITS TRUNK, SKIP INA IF POSITIVE OR TRUNKED BITS A=200B ADA Y2 ROUND AND OM400 MASK OFF LO-BITS IOR Y3 MIRGE IN EXPONENT SEZ,RSS ROUND UP INTO HI-MAN IF E SET JMP SWAPR SWAP REGISTERS AND RETURN CPB PINF CHECK IF ROUND MANT TO 1. JMP SPECP YES, MANT = .5, EXP = EXP+1 INB BUMP UP HI-MANT CPB O140K CHECK IF ROUND MANT TO -.5 JMP SPECM YES, MANT = -1., EXP = EXP-1 SWAPR SWP SWAP A&B REGISTERS CLO RETURN O-REG = 0 LIBX JMP SNGL,I RETURN DEF SNGL SPC 1 SPECM CLB INIT B=0 LDA Y3 GET EXP.(MANT=-1 OR 0 IF EXP=-200) SLA,RAR POSITION EXP IOR OM200 MIRGE IN BITS IF NEG. CPA OM200 EXP = -200? CCA,CLE,RSS YES, RETURN Y = 0 CMA,CCE,INA DECREMENT EXPONENT ERB SET B=0 OR 100000B CMA CONTU RAL POSITION EXPONENT BACK AND O377 MASK OFF NEG. BITS JMP SWAPR DONE SPC 1 SPECP LDB O40K SET B=.5 LDA Y3 GET EXPONENT SLA,RAR POSITION IOR OM200 MIRGE IN NEG. BITS IF NEG CPA O177 ALREADY MAX EXP? JMP PLINF YES, SET TO +INF INA BUMP JMP CONTU RETURN SPC 1 PLINF LDA PINF LDB PINF+1 STO SET THE O-REG FOR PLUS INFINITY JMP LIBX RETURN PLUS INF SPC 1 ADDR NOP OM400 OCT -400 OM200 OCT -200 O377 OCT 377 O177 OCT 177 O40K OCT 40000 O140K OCT 140000 PINF OCT 77777 OCT 177776 Y2 NOP Y3 NOP B EQU 1 *ASMB,R,L,C * HED "SNGL" ROUND DOUBLE TO SINGLE PRECISION VALUEION * NAM SNGL,6 PRE-REL 7-15-75 (DLB) * ENT SNGL * EXT .ZPRV,.XFER,.FLUN,.PACK * SPC 1 * * THREE WORD EXTENDED PRECISION NUMBERS ARE ROUNDED TO * TWO WORD FLOATING POINT QUANTITIES. THE RESULT IS * RETURNED IN THE A AND B REGISTERS * CALLING SEQUENCE: * JSB SNGL * DEF *+2 * DEF X (ARGUMENT:3 WORDS) * (RESULT IN A AND B REGISTERS) * SPC 1 *SNGL NOP * JSB .ZPRV * DEF LIBX * ISZ SNGL * LDA SNGL,I GET ADDRESS OF X * ISZ SNGL * LDB .X1 * JSB .XFER MOVE ARGUMENT IN * LDB X3 * JSB .FLUN EXTRACT EXPONENT * STA X4 * LDA X1 * CLE,SZB * CCE ADD ROUND FOR NEG. # * LDB X2 GET DBL LO-MAN+EXP * SLB,RSS IF LEAST BIT SET, NO NEED TO * RBR,ELB PROPAGATE. ELSE SET LEAST BIT * JSB .PACK PACK IN EXPONENT *X4 NOP *LIBX JMP SNGL,I * DEF SNGL *X1 NOP *X2 NOP *X3 NOP *.X1 DEF X1 * END END  *2 24998-18191 2001 S C0122 &XADSB SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED "XADSB" EXTENDED PRECISION ADD / SUBTRACT NAM XADSB,6 24998-1X191 REV.2001 750701 ENT .XADD,.XSUB EXT .ZPRV EXT .XPAK SPC 1 * * THIS ROUTINE HANDLES FLOATING POINT ADDITION AND SUBTRACTION * IN EXTENDED PRECISION. NUMBERS ARE REPRESENTED BY THREE * 16 BIT WORDS. THE MANTISSA IS 40 BITS, TWO'S COMPLEMENT. * THE EXPONENT IS 8 BITS WITH THE SIGN IN THE LSB. * CALLING SEQUENCE: * * JSB .XADD OR .XSUB * DEF X * DEF Y X = Y - Z * DEF Z X = Y + Z SPC 1 Y1 NOP Y2 NOP Y3 NOP Y4 NOP Z1 NOP Z2 NOP Z3 NOP Z4 NOP SPC 1 .XADD NOP JSB .ZPRV DEF LIBX JSB UNPAK GET AND UNPAK X & Y ARGS. JMP ADSUB GO TO COMMON CODE SPC 1 .XSUB NOP JSB .ZPRV DEF LIBX LDA .XSUB STA .XADD SET CALLERS ADDRES JSB UNPAK GET & UNPACK ARGUMENTS LDA Z2 TWO'S COMPLEMENT SECOND ARGUMENT LDB Z3 GET LO & MID MANTISSA CMA,CLE COMPLEMENT MID-MANT. CMB,INB,SZB,RSS COMPLEMENT LO-MANT CLE,INA BUMP MID-MANT IF LO-MANT = 0 STB Z3 PUT BACK LO-MANT STA Z2 PUT BACK MID-MANT LDA Z1 GET HI-MANT CMA,SEZ COMPLEMENT AND INCREMENT INA IF MID-MANT OVERFLOWED (=0) STA Z1 SPC 1 * a * COMMON SECTION * SPC 1 ADSUB LDA Z4 COMPUTE EXPONENT DIFFERENCE AGAIN CMA,INA ADA Y4 SSA,RSS IF EXP1 > EXP2 THEN JMP ADDEM GO TO ADD THEM TOGETHER. LDA Y1 OTHERWIZE EXCHANGE ARGUMENTS LDB Z1 STA Z1 STB Y1 LDA Y2 LDB Z2 STA Z2 STB Y2 LDA Y3 LDB Z3 STA Z3 STB Y3 LDA Y4 LDB Z4 STA Z4 STB Y4 JMP AGAIN SPC 1 ADDEM STA B SAVE POSSIBLE ABS(EXP1-EXP2) ADA DM41 IF SHIFT COUNT IS 41 OR MORE SSA,RSS THEN IGNORE SMALLER ARGUMENT. JMP TAKIT SPC 1 * DO 3 REGISTER SHIFT ON Z1 - Z3 SPC 1 LDA B GET DIFFERENCE OF EXPONENTS AND O17 MASK TO GET MOD(DIF,16) CMA FORM SHIFT BIT COUNT -1 TO -16 STA TEMP2 SAVE SHIFT BIT COUNT -1 TO -16 STA TEMP1 REALLY = 0 TO 15 BRS,BRS DIVIDE COUNT BY 16 BRS,CLE,BRS TO DETERMINE NEG. WORD SHIFT -1 CMB STB GETPM SAVE = -1 TO -3 (0 TO 2 WORDS) LDA Z1 GET HI-MANTISSA LDB Z2 GET MID-MANTISSA JMP CONT1 ANY BIT SHIFTS? LOOP1 CLE,SLA,ARS MORE BIT SHIFTS CCE CARRY NEGATIVE BITS ERB,CLE INTO B-REG CONT1 ISZ TEMP2 ANY BIT SHIFTS? JMP LOOP1 YES, TRY MORE ISZ GETPM ANY WORD SHIFTS? JMP SFT12 YES - ONE OR TWO WORDS! STA Z1 NO, PUT IN PLACE LDA Z2 GET MID-MANTISSA STB Z2 PUT BACK NEW MID-MANTISSA LDB Z3 GET LO-MANTISSA JMP CONT2 NOW SHIFT MID TO LO-MANTISSA LOOP2 ERA ERB,CLE CONT2 ISZ TEMP1 ANY MORE BITS? JMP LOOP2 YES, TRY MORE STB Z3 SAVE LO-MANTISSA JMP ADDIT NO, GO ADD THE MANTISSA'S SPC 1 SFT12 STA Z2 SAVE HI-MAN IN MID WORD STB Z3 AND IN LO WORD ISZ GETPM ON\E WORD SHIFT? STA Z3 MID-MANTISSA IN LO WORD CLB,CLE NOW PATCH UP LEADING BITS SSA TO BE CLEAR IF + CCB AND BE SET IF - STB Z1 HI-MANTISSA IS FOR SURE ISZ GETPM IF 2 WORD SHIFT SET MID-WORD RSS STB Z2 ELSE SKIP IF 1 WORD SHIFT SPC 1 * * THE ADDITION IS DONE HERE * SPC 1 ADDIT LDA Z3 LDB Z2 ADA Y3 ADD LOW MANTISSAS SEZ IF OVERFLOW CLE,INB BUMP MID-MANTISSA STA Y3 SAVE LOW MANTISSA LDA Z1 ADB Y2 ADD MID-MANTISSAS SEZ IF CARRY OUT THEN CLE,INA BUMP HIGH MANTISSA ADA Y1 ADD IN HIGH PART STA Y1 STB Y2 TAKIT LDA Y4 INA MULTIPLY BY 2 JSB .XPAK PACK EXPONENT AND LOW MANTISSA DEFY DEF Y1 LDB .XSUB LDA Y1 STA B,I INB LDA Y2 STA B,I INB LDA Y3 STA B,I MOVE RESULT TO MAIN PROGRAM LIBX JMP .XADD,I DEF .XADD SPC 1 UNPAK NOP ENTRY A=NOP OF CALLER (XADD-XSUB) JSB GETAD STB .XSUB SAVE FOR RETURN PARAM. LDB DEFY GET ADDRESS OF Y1 JSB GETPM GET PARAMS & UNPAK & MOVE LDB DEFZ GET ADDRESS OF Z1 JSB GETPM GET PRAMS & UNPAK & MOVE TO Z1-4 JMP UNPAK,I RETURN SPC 1 GETPM NOP ENTRY B=ADDRESS OF DESTINATION PLACE STB TEMP2 SAVE DEST ADDRESS JSB GETAD GET DIRECT ADDRESS OF Z STB TEMP1 SAVE ADDRESS OF Z LDB TEMP1,I GET HI-MAN OF Z CLE,SLB,BRS DIVIDE BY 2 TO AVOID CCE OVERFLOWS WHEN ADDING STB TEMP2,I SAVE ISZ TEMP2 BUMP TO PARAM(2) ISZ TEMP1 BUMP LDA TEMP1,I GET MID-MANTISSA ERA PROPAGATE BITS STA TEMP2,I SAVE ISZ TEMP2 ISZ TEMP1 BUMP LDA TEMP1,I GET LO-MAN + EXPONENT AND OM400 MASK OF EXPONENT ERA PROPAGATE BITS STA TEMP2,I AND SAVE ISZ TEMP2 BUMP TO PARAM(4) ELA RESTORE A-REG. FROM PRE-SHIFT XOR TEMP1,I NOW GET EXPONENT SZB,RSS FORCE = -200B IF HI-MAN = 0 CLA,INA SLA,RAR POSITION EXPONENT IOR OM200 MIRGE IF NEG. STA TEMP2,I SAVE EXPONENT JMP GETPM,I RETURN TO CALLER SPC 1 GETAD NOP ENTRY A=DEF OF DEF PRAM LDB .XADD RETURN A-REG = A-REG+1 & LDB B,I B-REG = DIRECT ADDRESS OF PRAM RBL,CLE,SLB,ERB INDIRECT? JMP *-2 YES, TRY AGAIN ISZ .XADD BUMP TO NEXT PARAM JMP GETAD,I RETURN SPC 1 DEFZ DEF Z1 TEMP2 NOP TEMP1 NOP DM41 DEC -41 O17 OCT 17 OM200 OCT -200 OM400 OCT -400 B EQU 1 END * Q +4 24998-18192 2001 S C0122 &.ENTR SYS INDEPENDENT LIBRARY             H0101 ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED FORTRAN PASS PARAMETER ADDRESSES ROUTINE NAM .ENTR,6 24998-1X192 REV.2001 750701 ENT .ENTR,.ENTP EXT .ZPRV SPC 2 * * CALLING SEQUENCES: * SUBROUTINE CALL: * JSB SUBR * DEF *+(N+1) * ARG1 * ARG2 * . * . * . * ARGN * * 1) UTILITY ROUTINES : * PARM BSS M * SUBR NOP * JSB .ENTR * DEF PARM * SAME AS BELOW * * 2) PRIVILEGED ROUTINES : * PARM BSS M * SUBR NOP * JSB $LIBR * NOP * JSB .ENTP * DEF PARM * SAME AS BELOW * * 3) RE-ENTRANT ROUTINES : * PARM BSS M * SUBR NOP * JSB $LIBR * DEF TDB * JSB .ENTP * DEF PARM * STA TDB+2 * CMB,INB * ADB *-3 * STB * JSB .FIXD * (A,B) = RESULT * * OVERFLOW OCCURS IF THE ARGUMENT IS OUTSIDE THE RANGE * [-2**31,+2**31) . THE OVERFLOW BIT IS SET AND THE * VALUE RETURNED IS (77777,177777) . * * UNPACK AND CHECK EXP. * .FIXD NOP STA X MANTISSA UPPER CLA CLEAR TRUNCATION FLAG STA TRUNC JSB .FLUN A=EXP, B=LAST 8 MANTISSA BITS STB X+1 MANTISSA LOWER FIXD1 SSA EXPONENT NEG ? JMP ZERO YES, IN [-.5,+.5), RESULT = 0 ADA =D-32 (EXP-32) = -(# BITS TO SHIFT)-1 CMA,SSA EXP > 31 ? (A = # BITS TO SHIFT) JMP FIXD9 YES, OFL. STA EXP * * SHIFT BY (N-1)/16 WORDS, THEN MOD(N-1,16)+1 BITS * CLE,SZA,RSS IF ZERO, DON'T SHIFT (E=0 HERE) JMP FIXD8 AND =B17 # BITS OVER WORD SHIFT (0=16) IOR ASR16 FORM "ASR N" STA FIXD3 XOR LSMRS "ASL N" STA FIXD4 LDA EXP SHIFT COUNT ADA =D-17 + E=1 IFF WORD SHIFT LDB X MANTISSA LDA X+1 SEZ,RSS WORD SHIFT ? JMP FIXD2 NO. IOR TRUNC YES, NOTE TRUNCATED BITS. STA TRUNC ASR16 ASR 16 WORD SHIFT (ONLY IF COUNT > 16) FIXD2 STA EXP REMEMBER LOW WORD FIXD3 ASR 16 BIT SHIFT (1-16 BITS) SSB,RSS MANTISSA NEGATIVE ? JMP FIXD6 NO, IGNORE TRUNCATED BITS, DONE. SKP * MANTISSA NEGATIVE, MUST ADD ONE IF BITS TRUNCATED. * STB X SAVE RESULT STA X+1 FIXD4 ASL 16 UNDO BIT SHIFT XOR EXP TRUNCATED BITS IOR TRUNC PLUS PREVIOUSLY TRUNCATED BITS LDB X UPPER WORD FIXD5 SZA BITS TRUNCATED ? ISZ X+1 YES, INCREMENT LOWER JMP *+2 NO CARRY OR NO BITS TRUNC INB PROPOGATE CARRY (NO OFL) LDA X+1 LOWER WORD * * EXIT. * FIXD6 SWP (A,B) = RESULT, OVERFLOW CLEAR. FIXD7 CLO JMP .FIXD,I EXIT FIXD8 LDB X (B,A) = MANTISSA (SHIFT = 0) LDA X+1 SSB,RSS IF POSITIVE, JMP FIXD6 SWAP & EXIT. LDA TRUNC ELSE MAY INCREMENT. JMP FIXD5 * * IN [-.5,+.5), RESULT = 0 * ZERO CLA (A,B) = 0 CLB JMP FIXD7 EXIT. * * EXP > 31, OFL * FIXD9 LDA =B77777 RETURN MAX POS NUMBER CCB STO SET OFL JMP .FIXD,I EXIT * * LOCALS * .FXDE DEF FIXD1 ENTRY FROM .XFXD,.TFXD X BSS 4 MANTISSA (SET BY .XFXD, .TFXD) TRUNC EQU X+2 BITS TRUNCATED EXP EQU X+3 SHIFT COUNT (SCRATCH FOR .XFXD, .TFXD) LSMRS OCT 001000 "ASR 16" .XOR. "ASL 16" END c  -5