(FILECREATED " 5-Sep-86 20:36:28" ("compiled on " {ERIS}UCODE>MICROASSEMBLER.;71) "12-Nov-85 14:59:23" recompiled changes: AssembleOps AddVmTable ClearMemoryArray in "INTERLISP-D 11-May-86 ..." dated "11-May-86 15:19:08") (FILECREATED " 5-Sep-86 20:36:04" {ERIS}UCODE>MICROASSEMBLER.;71 110600Q changes to: (FNS AddVmTable AssembleOps ClearMemoryArray) previous date: "22-Aug-86 17:38:18" {ERIS}UCODE>MICROASSEMBLER.;69) AUCode D1 (I 0 local F 4 labellist F 5 undefinedlist F 6 startlist) E@dig@gbd @ @ T1HIc dVJ KhZYHXK&Z(35Q CLOSEF? 31Q AssembleUCode 25Q CLOSEF?) (17Q {eris}Ucode>TUCODE 10Q {DSK}TUCODE) () AssembleUCode D1 (P 10Q UCODELEFT P 4 i P 3 fixLst P 2 line P 1 mi P 0 fl I 0 file F 11Q UCodeRom F 12Q AtomList F 13Q OpPlaList F 14Q OpPlaArray F 15Q OpPlaSpec F 16Q defaultlist F 17Q startlist F 20Q labellist F 21Q EltLst F 22Q OpCodeList F 23Q PreCondList F 24Q OpPlaTerms F 25Q LabelList) $ @hccc @ hc$nghj coohhcnghj chc*gn hcW&dLgj hc"cc(H Z YiWd cH ZW YiW0Wd NMh_M&OljdNMWN(Ok_Nk^Ooi W i i Oi oi W i i H h(440Q CLOSEF 433Q TERPRI 426Q PRIN1 422Q ARRAYSIZE 414Q PRIN1 403Q PRIN1 374Q TERPRI 367Q PRIN1 363Q LENGTH 355Q PRIN1 253Q ReformatOpPla 232Q CheckUndefinedLabels 222Q ParseLine2 214Q CollectLine 203Q LDIFFERENCE 171Q ParseLine 165Q CollectLine 144Q PUTPROP 117Q PutLabel 77Q ARRAY 41Q ARRAY 21Q INPUT 16Q INFILE) (140Q PreCondStart 111Q done 72Q POINTER 34Q POINTER) ( 410Q " Microcode Locations Left out of " 351Q "Pla locations used: " 54Q ((#OpLength 0 3 0) (#StartAddr 3 10Q 0) (#ModStartAddr 13Q 1 0) (#ForceNewOp 21Q 1 0)) 50Q ((#Opcode 0 10Q 0) (*DoReset 10Q 1 0) (#Interrupt 11Q 1 0) (#RefillRq 12Q 1 0) (#FramesEmpty 13Q 1 0) (#FramesFull 14Q 1 0) (#$RefCnt 15Q 1 0) (#$Refresh 16Q 1 0) (#$StackRefill 17Q 1 0))) AssignAddrs D1 (P 7 nm P 6 j P 0 addr I 3 offset I 2 cnt I 1 start I 0 name F 10Q UCodeRom) SPnCLdKhXAHM)HBLJIWJ(hJkZiLiLl\_N MNkԾ(107Q PutLabel) NIL () CheckLabel D1 (P 0 a I 2 label I 1 field I 0 datum) >Bd3A@hgB hB Xd3A@hgH BA@hH h(72Q PutAssocHash 56Q RECORDACCESS 36Q GetAssocHash 31Q HELP 23Q RECORDACCESS) (51Q REPLACE 16Q REPLACE) () CheckUndefinedLabels D1 (P 10Q v P 7 addr P 6 key P 5 val P 0 i F 11Q UCodeRom F 12Q LabelList) Wi dAHHM hhY0hoi Ni i njLK&WL(LiZgJiILk\h_M.dOdgWOO*OOhgO ӱv(234Q RECORDACCESS 73Q TERPRI 66Q PRIN1 60Q PRIN1 5 SORT) (226Q REPLACE 176Q Addr 131Q Addr) ( 54Q "Undefined label - ") CollectLine D1 (P 0 c I 0 file F 4 lineReadTable) *0@ @T XdgIJ KhZK&(17Q READ 11Q EOFP) (24Q ;) () FixEltLstA0001 D1 (P 1 p2 P 0 p1 I 1 y I 0 x F 2 FieldOrder) ( @RXARYHddHH I @A (45Q ALPHORDER) NIL () FixEltLst D1 (P 4 i P 2 last P 1 reslst P 0 lastlst F 5 EltLst F 6 NEltLst) s0U i c dKIO\o 2JLLdH HLh ILLhXh YLK[dL Ig I(157Q SORT 143Q SORT 117Q \NCONC2 77Q \NCONC2 63Q MEMB 42Q MEMB 12Q SORT 6 \APPEND2) (154Q FixEltLstA0001) ( 37Q (nextinsta nextinstb start opname label opnbr)) NoteOpcode D1 (I 2 len I 1 addr I 0 name F 0 xname F 1 OpCodeList F 2 opArray F 3 opd) A@ cgABh PABhQcRdA(oi Ai i RAPSh*(65Q TERPRI 60Q PRIN1 52Q PRIN1 20Q PUTPROP 3 U-CASE) (10Q TamarinOp) ( 46Q "Opcode already defined - nbr=") ParseElt D1 (P 4 pos P 3 elt P 2 type P 1 val P 0 fval I 1 prop I 0 elt1 F 5 AtomList F 6 EltLst F 7 defaultlist F 10Q line) GP@goo@ \d?@Lk @Lk Uc @kLk @kLk Uc @ @ Uc iKAZKdW0d*d%djKJhVc KWcJdIKIhVc JgId3XcgX\JdgIlIXJJ#IJXI3Ag2Hd. X(X%JdgIikXJgIdl*3&H&W o K o I hXKHIh(470Q PRINT 463Q PRIN1 453Q PRIN1 446Q PRIN1 436Q PRINT 356Q EVAL 137Q MKATOM 132Q L-CASE 120Q MKATOM 115Q SUBSTRING 104Q L-CASE 101Q MKATOM 76Q SUBSTRING 61Q MKATOM 56Q SUBSTRING 46Q L-CASE 43Q MKATOM 40Q SUBSTRING 25Q STRPOS) (410Q Label 371Q Flag 343Q uField 302Q atom 271Q TamConst 254Q val 6 *) ( 460Q "_" 443Q "Unknown field - " 21Q "_" 14Q (Comment)) ParseLine D1 (P 22Q i P 21Q elt P 17Q nextinstb P 16Q nextinsta P 15Q label P 14Q val P 13Q res P 12Q addr P 11Q mi P 10Q hadDswap P 7 hadWCycle P 6 hadTag P 5 hadWrite P 4 hadRD2addr P 3 hadRD1addr P 2 hadRaddr P 1 hadEUop P 0 muxrdselchk I 0 line F 23Q startlist F 24Q fixLst F 25Q labellist) @dgigh`_@@O 3Og _OOOOO OO_"g __OdgO_fdgO_W*Oh c*KdgOO7dgOOa#dgOOdgOO2dgOo_OO#dgiOOdgiOOadg!Hhio OOObdgiOOqdgiOO[dgOOO"@dgi_Okp(dgiOOdgiOORdgOOdgOOdgOO2dgOOdgOOdgOOdgOOpdgOk^dgOO KdgO_W&;W&Oh c&-dgO_W&W&Oh c&dgSO _ BOgO W(dO$O$O hc(OOghhc(OgOdgO OOj%OghW(c(OgOdgO IMN@ oi i OOJL@ oi i JOKJOL OOhg@ oi i (1731Q TERPRI 1724Q PRIN1 1713Q PRINT 1650Q TERPRI 1643Q PRIN1 1632Q PRINT 1607Q TERPRI 1602Q PRIN1 1571Q PRINT 1553Q CheckLabel 1470Q CheckLabel 1413Q CheckLabel 1365Q CheckLabel 1342Q HELP 1321Q \NCONC2 1263Q \NCONC2 513Q BREAK1 225Q \NCONC2 147Q ParseElt 121Q PutLabel 67Q GENSYM) (1704Q raddr-1 1543Q rpt 1535Q NextInstB 1516Q NextInstB 1502Q MI 1460Q rpt 1452Q NextInstA 1434Q NextInstA 1360Q Addr 1330Q Comment 1273Q nextinstb 1235Q nextinsta 1222Q MI 1212Q misc 1200Q MI 1170Q cwrite 1155Q MI 1145Q condcode 1131Q MI 1121Q newarg2 1105Q MI 1075Q newarg 1061Q MI 1051Q k 1035Q MI 1025Q newtos 1011Q MI 1001Q tos' 765Q MI 755Q arg' 741Q MI 727Q w2addr 713Q MI 701Q waddr 666Q MI 651Q dswap 635Q MI 616Q rd2addr 602Q MI 570Q raddr 554Q MI 542Q rd1addr 526Q MI 474Q muxrdsel 460Q MI 446Q tag 432Q MI 420Q euop 404Q MI 356Q cycle 342Q MI 332Q wcxt 316Q MI 306Q rcxt 272Q MI 262Q newtopcxt 246Q MI 236Q newbotcxt 203Q label 165Q addr 144Q uField 127Q MI 77Q MI 64Q LAB 40Q MI 32Q MITYPE# 23Q * 13Q End) ( 1720Q "Conflicting read addresses" 1637Q "Missing field for Write Cycle" 1576Q "Missing Tag Field for EUop " 510Q (Field used twice) 373Q (w1 s4)) ParseLine2 D1 (P 17Q nm P 16Q i P 14Q elt P 13Q ucCnt P 12Q opMsk P 11Q ucaddr P 10Q opcnt P 7 start P 6 val P 5 name P 4 res P 3 opNbr P 2 opd P 1 opMask P 0 opSelect I 1 opArray I 0 line F 20Q len F 21Q startlist F 22Q OpPlaList F 23Q OpPlaTerms) jd @gi`Z@d Og \LdgMNh ]dgN[dgN_tdgHNINY`dgNc TdgONh _W"Nh c"5dgJk$gJk@oi Li i KJW W o@ O MO _O _Oo JjOOOkOk_KOjOkMOOKl _JO JgO JKHJIOnjnOmlMjO W$Jh c$W&J h c&KJh_KOW O_Ok_(663Q NoteOpcode 637Q \NCONC2 632Q ReformatOpPla 622Q \NCONC2 530Q CheckLabel 501Q AssignAddrs 456Q HELP 435Q HELP 405Q HELP 401Q MEMB 366Q LENGTH 357Q LENGTH 342Q HELP 305Q TERPRI 300Q PRIN1 272Q PRIN1 216Q \NCONC2 203Q \NCONC2 67Q \NCONC2 43Q ParseElt) (546Q OpD 535Q OpD 522Q Start 510Q OpD 412Q OpD 322Q OpD 254Q OpD 246Q forcenewop 235Q OpD 226Q modstartaddr 167Q start 153Q length 127Q precond 113Q opcnt 77Q opnbr 55Q opname 40Q uField2 20Q OpDTYPE# 11Q End) ( 376Q (1 2 4 10Q 20Q 400Q) 336Q "Not enough Opcode info - " 266Q "Unknown Field - ") PutLabel D1 (P 2 i P 1 flg P 0 a I 1 val I 0 label F 3 UCodeRom)  @ Xdd3oi @i i hKHEdJdg(iSdA(oi Ai i SAJ*JJhgA I"@goi @i i SAi*@A h(227Q PutAssocHash 214Q TERPRI 207Q PRIN1 201Q PRIN1 152Q RECORDACCESS 124Q TERPRI 117Q PRIN1 111Q PRIN1 41Q TERPRI 34Q PRIN1 26Q PRIN1 6 GetAssocHash) (166Q done 145Q REPLACE 64Q Addr) ( 175Q "Undefined ucode location - " 105Q "Multiply defined ucode location - " 22Q "Multiply defined label - ") MakeOpList D1 (P 3 tab P 2 op P 1 i I 0 FILE F 4 OpPlaArray) }@g blx@ o@ @ @ @ lj"IHDTI(Ill[h@ JJdgo@ Klh@ oI@ IkY@ (172Q CLOSEF 156Q PRINTNUM 144Q TAB 132Q PRIN1 104Q TAB 50Q TERPRI 43Q TERPRI 36Q PRIN1 32Q DATE 26Q PRIN1 16Q LINELENGTH 6 OPENFILE) (115Q Undefined 3 OUTPUT) ( 151Q (FIX 3 10Q) 124Q "" 22Q "Tamarin opcode assignments, generated ") ReformatOpPla D1 (I 0 opd F 0 OpPlaSpec) 9@@P@@ @@@h h(62Q ConcatBitsVal) (47Q OpD 40Q OpD 31Q OpD 22Q OpD 11Q OpD 3 OpD) () ShowFields D1 (P 3 I P 1 NAMELIST P 0 OPLIST F 14Q MICROASSEMBLERCOMS) 0WdKHALMX0HzgHK _dgCgOgZd'0 Jd_O Oh_O&_O_NOh^]L\O&^dMLh^L&N Y0IdKHMLh^L&N(244Q SORT 61Q \APPEND2) (107Q uField 102Q : 73Q uField 50Q PROP) () PutAssocHash D1 (I 1 val I 0 key F 0 LabelList) P@AP @Ahc(7 PUTASSOC) NIL () GetAssocHash D1 (I 0 key F 0 LabelList) @PNIL NIL () AssembleOps D1 (P 1 opl P 0 start I 1 clearFirst? I 0 oplist F 2 CurrentOpList) AjAg `ggi @@ cRYd g` (76Q AddAtom 65Q AssembleOps.1 54Q \APPEND2 42Q ReadAtom 27Q AddVmTable 23Q ClearMemoryArray 13Q BOUNDP) (73Q FreeMemIndex 70Q FreeMemIndex 45Q FreeMemIndex 36Q val 33Q FreeMemIndex 17Q FreeMemIndex 10Q FreeMemIndex) () AssembleOps.1 D1 (P 1 i P 0 x I 0 opl F 2 start) @dg@ lc@b@dg--Xdoi @i i @b3R@ j@dFdg$ dRI Rkc@bug@bgR@  gXRH o @ @bRkc.(310Q PRINT 302Q PRIN1 272Q StoreTamByte 256Q U-CASE 250Q StoreTamByte 245Q EVAL 177Q StoreTamByte 163Q EVAL 136Q StoreTamByte 114Q AssembleOps.1 110Q TERPRI 103Q PRIN1 73Q PRIN1 23Q EVAL) (261Q TamarinOp 226Q * 154Q EvalBytes 46Q * 12Q @) ( 277Q "Unknown Op: " 67Q "Bad indirect list") AddAtom D1 (P 2 i P 0 index I 3 prop I 2 def I 1 val I 0 atom F 3 FreeMemIndex F 4 AtomHashArray) l@TH@ST SXlcljJdI7AHkA BHlB CHlC Hl@ gH Hg JkZ(143Q MemoryAccess 140Q TamRep 127Q TamRep 120Q MemoryAccess 115Q TamRep 103Q MemoryAccess 70Q MemoryAccess 55Q MemoryAccess 16Q PUTHASH) (135Q Unbound 123Q Atm) () ReadAtom D1 (I 2 noTypeBits? I 1 part I 0 atom F 1 AtomHashArray) J@Q o@ AgdgkdglgloA BHoH(72Q MemoryAccess 66Q HELP 14Q HELP) (51Q prop 40Q def 26Q val 22Q val) ( 104Q 77777777Q 62Q "bad part" 10Q "atom not yet defined") AddItem D1 (I 0 item) (@dd3 @ @l@ io (45Q BREAK1 34Q AddAtom 20Q AddList 11Q TamRep) NIL ( 42Q (AddItem Error)) AddList D1 (P 0 Index I 0 list F 1 FreeMemIndex) 8@d1d)QQlcH@ Hk@ gH   (65Q TamRep 61Q AddItem 55Q TamRep 46Q MemoryAccess 43Q AddItem 33Q MemoryAccess 30Q AddItem) (51Q List) () AddMemFrame D1 (P 3 i P 1 FrameSize P 0 Ptr I 0 NextFrame F 4 FreeMemIndex) DTlmcdl,TITKdJTl@ TIcgH g i Kk[(73Q MemoryAccess 67Q TamRep 60Q TamRep 44Q MemoryAccess) (64Q Unbound 54Q Frame) () AddCode D1 (P 12Q toByteAddr P 11Q fromByteAddr P 7 nrBytesInHdr P 6 nrWordsInHdr P 5 nrWords P 4 nrBytes P 3 theLinkInfo P 2 theTCodeP P 1 codePAddr P 0 theTCodeProperty I 0 theAtom) `o @gqH,HHJ!J gJ jJ \dlm@o `lmYLl]`MIJM ^d_LkOIO OOOJO( Ok_Ok_IK gI (256Q TamRep 247Q LinkCode 220Q StoreTamByte 154Q LoadFnHdr 111Q ERROR 67Q ARRAYSIZE 60Q ARRAYORIG 46Q ARRAYTYP 12Q ERROR) (252Q Code 146Q FreeMemIndex 141Q FreeMemIndex 126Q FreeMemIndex 115Q FreeMemIndex 51Q BYTE 17Q TCODE 2 FreeMemIndex) ( 106Q "has bad TCode Property" 7 "FreeMemIndex uninitialized") LoadFnHdr D1 (P 4 I P 2 self P 1 fnHdr P 0 hdrSize I 2 objectSize I 1 theTCodeP I 0 tamBase) lA g@ Hlo @jg @kgB @lI @lgIII @lgII I @lg @lJ @lJ ljLdKHlH@gIL @o Lk\(306Q MemoryAccess 303Q TamRep 267Q TFNHDR.EVN 232Q MemoryAccess 222Q MemoryAccess 212Q MemoryAccess 207Q TamRep 175Q MemoryAccess 172Q TamRep 137Q MemoryAccess 134Q TamRep 102Q MemoryAccess 77Q AddAtom 65Q MemoryAccess 62Q TamRep 50Q MemoryAccess 45Q TamRep 33Q SHOULDNT 14Q TamRep 5 ARRAYBASEPTR) (262Q Int 204Q Unbound 146Q Int 111Q Int 56Q Int 42Q Unbound 10Q Code) ( 274Q 77777777Q 30Q "Tam fn hdr size changed?") LinkCode D1 (P 7 bytePointer P 6 counter P 4 theTamRep P 3 nrBytes P 2 theThing P 1 linkInfo I 1 linkInfos I 0 codeAddr F 10Q byteOffset) tAAHhYIIcJdldo  J oJ Kk@WNMOLl LNkԾOk_HX(133Q StoreTamByte 101Q HELP 70Q AddList 61Q AddAtom 54Q TamRep 50Q MEMB) NIL ( 75Q "not atom nor list" 45Q (NIL T UNBIND)) AddFnHeader D1 (P 3 I P 1 newat P 0 at I 2 sp I 1 wordat I 0 fnname F 4 newatbyte F 5 start) AUllbBlbAlm@hgH Hl YdlcljKdJFHlB Hlj HlgH HlgH ljKJTc hHj Kk[HKlT Kk[(240Q MemoryAccess 235Q TamRep 214Q MemoryAccess 211Q TamRep 162Q MemoryAccess 157Q TamRep 144Q MemoryAccess 141Q TamRep 126Q MemoryAccess 123Q TamRep 113Q MemoryAccess 110Q TamRep 50Q AddAtom 45Q TamRep) (153Q Code 135Q Code 41Q Code) () AddVmTable D1 (P 2 i P 0 pageaddr I 3 WriteProtect I 2 NotPresent I 1 Size I 0 Where) D@nbAnbj!@A@JdIhBjkCjlH i HkظJkZ(67Q MemoryAccess 63Q TamRep) NIL () AddUfns D1 (P 7 opNr P 6 ufnName P 5 opName P 4 X P 0 ufnTableBase I 0 ufnList F 10Q OpPlaArray) fg ok o!@AKh\LljJIMWJ(J iJkZh_oM HON K[(136Q MemoryAccess 133Q AddCode 122Q HELP 17Q MemoryAccess 5 AddAtom) (2 UfnTable) ( 116Q "opName not in OpPlaArray" 23Q 7777777777Q 11Q 77777777Q) NextFnAddr D1 (F 0 start) PlloNIL NIL ( 12Q 10000000Q) EvalBytes D1 (P 2 word P 1 val P 0 wstart I 1 expr I 0 bytes F 10Q start) WllA @djhj3@k2LK'ILkl l_NOh^Lk\O&M@ @ l