DIRECTORY DragOpsCross, HandCoding, HandCodingSupport; HandCodingImpl: CEDAR PROGRAM IMPORTS HandCodingSupport EXPORTS HandCoding = BEGIN OPEN DragOpsCross, HandCoding, HandCodingSupport; IllegalDst: PUBLIC ERROR = CODE; IllegalReg: PUBLIC ERROR = CODE; IllegalSrc: PUBLIC ERROR = CODE; IllegalMix: PUBLIC ERROR = CODE; drDFC: PUBLIC OQBformInst = {OQBcommon[dDFC, rest];}; drLIQB: PUBLIC OQBformInst = {OQBcommon[dLIQB, rest];}; drADDQB: PUBLIC OQBformInst = {OQBcommon[dADDQB, rest];}; drSUBQB: PUBLIC OQBformInst = {OQBcommon[dSUBQB, rest];}; drJQB: PUBLIC OQBformInst = {OQBcommon[dJQB, rest];}; drOR: PUBLIC OIformInst = {OIcommon[dOR]}; drAND: PUBLIC OIformInst = {OIcommon[dAND]}; drRX: PUBLIC OIformInst = {OIcommon[dRX]}; drBC: PUBLIC OIformInst = {OIcommon[dBC]}; drADD: PUBLIC OIformInst = {OIcommon[dADD]}; drSUB: PUBLIC OIformInst = {OIcommon[dSUB]}; drLADD: PUBLIC OIformInst = {OIcommon[dLADD]}; drLSUB: PUBLIC OIformInst = {OIcommon[dLSUB]}; drDUP: PUBLIC OIformInst = {OIcommon[dDUP]}; drDIS: PUBLIC OIformInst = {OIcommon[dDIS]}; drEXDIS: PUBLIC OIformInst = {OIcommon[dEXDIS]}; drSFC: PUBLIC OIformInst = {OIcommon[dSFC]}; drSFCI: PUBLIC OIformInst = {OIcommon[dSFCI]}; drRETN: PUBLIC OIformInst = {OIcommon[dRETN]}; drKFC: PUBLIC OIformInst = {OIcommon[dKFC]}; drJ1: PUBLIC OIformInst = {OIcommon[dJ1]}; drJSD: PUBLIC OIformInst = {OIcommon[dJSD]}; drJSR: PUBLIC OIformInst = {OIcommon[dJSR]}; drLC0: PUBLIC OIformInst = {OIcommon[dLC0]}; drLC1: PUBLIC OIformInst = {OIcommon[dLC1]}; drLC2: PUBLIC OIformInst = {OIcommon[dLC2]}; drLC3: PUBLIC OIformInst = {OIcommon[dLC3]}; drLC4: PUBLIC OIformInst = {OIcommon[dLC4]}; drLC5: PUBLIC OIformInst = {OIcommon[dLC5]}; drLC6: PUBLIC OIformInst = {OIcommon[dLC6]}; drLC7: PUBLIC OIformInst = {OIcommon[dLC7]}; drLC8: PUBLIC OIformInst = {OIcommon[dLC8]}; drLC9: PUBLIC OIformInst = {OIcommon[dLC9]}; drLC10: PUBLIC OIformInst = {OIcommon[dLC10]}; drLC11: PUBLIC OIformInst = {OIcommon[dLC11]}; drJ5: PUBLIC OIformInst = {OIcommon[dJ5]}; drJ2: PUBLIC OIformInst = {OIcommon[dJ2]}; drJ3: PUBLIC OIformInst = {OIcommon[dJ3]}; drLRn: PUBLIC LRformInst = { IF reg.kind # reg THEN ERROR IllegalReg; LRcommon[dLR0, reg]; }; drSRn: PUBLIC LRformInst = { IF reg.kind # reg THEN ERROR IllegalReg; LRcommon[dSR0, reg]; }; drQOR: PUBLIC QRformInst = {QRcommon[dQOR, left, right]}; drQAND: PUBLIC QRformInst = {QRcommon[dQAND, left, right]}; drQRX: PUBLIC QRformInst = {QRcommon[dQRX, left, right]}; drQBC: PUBLIC QRformInst = {QRcommon[dQBC, left, right]}; drQADD: PUBLIC QRformInst = {QRcommon[dQADD, left, right]}; drQSUB: PUBLIC QRformInst = {QRcommon[dQSUB, left, right]}; drQLADD: PUBLIC QRformInst = {QRcommon[dQLADD, left, right]}; drQLSUB: PUBLIC QRformInst = {QRcommon[dQLSUB, left, right]}; drALS: PUBLIC OBformInst = {OBcommon[dALS, lit]}; drAL: PUBLIC OBformInst = {OBcommon[dAL, lit]}; drASL: PUBLIC OBformInst = {OBcommon[dASL, lit]}; drAS: PUBLIC OBformInst = {OBcommon[dAS, lit]}; drCST: PUBLIC OBformInst = {OBcommon[dCST, lit]}; drRET: PUBLIC OBformInst = {OBcommon[dRET, lit]}; drLIP: PUBLIC OBformInst = {OBcommon[dLIP, lit]}; drSIP: PUBLIC OBformInst = {OBcommon[dSIP, lit]}; drLIB: PUBLIC OBformInst = {OBcommon[dLIB, lit]}; drADDB: PUBLIC OBformInst = {OBcommon[dADDB, lit]}; drSUBB: PUBLIC OBformInst = {OBcommon[dSUBB, lit]}; drJB: PUBLIC OBformInst = {OBcommon[dJB, lit]}; drRB: PUBLIC OBformInst = {OBcommon[dRB, lit]}; drWB: PUBLIC OBformInst = {OBcommon[dWB, lit]}; drRSB: PUBLIC OBformInst = {OBcommon[dRSB, lit]}; drWSB: PUBLIC OBformInst = {OBcommon[dWSB, lit]}; drPSB: PUBLIC OBformInst = {OBcommon[dPSB, lit]}; drLRIn: PUBLIC LRBformInst = { IF reg.kind # reg THEN ERROR IllegalReg; LRBcommon[op: dLRI0, reg: reg, lit: lit]; }; drSRIn: PUBLIC LRBformInst = { IF reg.kind # reg THEN ERROR IllegalReg; LRBcommon[op: dSRI0, reg: reg, lit: lit]; }; drROR: PUBLIC RRformInst = {RRcommon[dROR, c,a,b]}; drRAND: PUBLIC RRformInst = {RRcommon[dRAND, c,a,b]}; drRRX: PUBLIC RRformInst = {RRcommon[dRRX, c,a,b]}; drRBC: PUBLIC RRformInst = {RRcommon[dRBC, c,a,b]}; drRADD: PUBLIC RRformInst = {RRcommon[dRADD, c,a,b]}; drRSUB: PUBLIC RRformInst = {RRcommon[dRSUB, c,a,b]}; drRLADD: PUBLIC RRformInst = {RRcommon[dRLADD, c,a,b]}; drRLSUB: PUBLIC RRformInst = {RRcommon[dRLSUB, c,a,b]}; drRXOR: PUBLIC RRformInst = {RRcommon[dRXOR, c,a,b]}; drRFU: PUBLIC RRformInst = {RRcommon[dRFU, c,a,b]}; drRVADD: PUBLIC RRformInst = {RRcommon[dRVADD, c,a,b]}; drRVSUB: PUBLIC RRformInst = {RRcommon[dRVSUB, c,a,b]}; drRUADD: PUBLIC RRformInst = {RRcommon[dRUADD, c,a,b]}; drRUSUB: PUBLIC RRformInst = {RRcommon[dRUSUB, c,a,b]}; drLGF: PUBLIC ODBformInst = {ODBcommon[dLGF, lit]}; drLFC: PUBLIC ODBformInst = {ODBcommon[dLFC, lit]}; drLIDB: PUBLIC ODBformInst = {ODBcommon[dLIDB, lit]}; drADDDB: PUBLIC ODBformInst = {ODBcommon[dADDDB, lit]}; drSUBDB: PUBLIC ODBformInst = {ODBcommon[dSUBDB, lit]}; drJDB: PUBLIC ODBformInst = {ODBcommon[dJDB, lit]}; drIODA: PUBLIC ODBformInst = {ODBcommon[dIODA, lit]}; drIOD: PUBLIC ODBformInst = {ODBcommon[dIOD, lit]}; drION: PUBLIC ODBformInst = {ODBcommon[dION, lit]}; drSHL: PUBLIC ODBformInst = {ODBcommon[dSHL, lit]}; drSHR: PUBLIC ODBformInst = {ODBcommon[dSHR, lit]}; drSHDL: PUBLIC ODBformInst = {ODBcommon[dSHDL, lit]}; drSHDR: PUBLIC ODBformInst = {ODBcommon[dSHDR, lit]}; drFSDB: PUBLIC ODBformInst = {ODBcommon[dFSDB, lit]}; drRAI: PUBLIC LRRBformInst = { IF reg1.kind # reg THEN ERROR IllegalReg; IF reg2.kind # aux THEN ERROR IllegalReg; LRRBcommon[op: dRAI, reg1: reg1, reg2: reg2, disp: disp]; }; drRRI: PUBLIC LRRBformInst = { IF reg1.kind # reg THEN ERROR IllegalReg; IF reg2.kind # reg THEN ERROR IllegalReg; LRRBcommon[op: dRRI, reg1: reg1, reg2: reg2, disp: disp]; }; drWAI: PUBLIC LRRBformInst = { IF reg1.kind # reg THEN ERROR IllegalReg; IF reg2.kind # aux THEN ERROR IllegalReg; LRRBcommon[op: dWAI, reg1: reg1, reg2: reg2, disp: disp]; }; drWRI: PUBLIC LRRBformInst = { IF reg1.kind # reg THEN ERROR IllegalReg; IF reg2.kind # reg THEN ERROR IllegalReg; LRRBcommon[op: dWRI, reg1: reg1, reg2: reg2, disp: disp]; }; drRJEB: PUBLIC RJBformInst = {RJBcommon[dRJEB, left, right, dist]}; drRJEBJ: PUBLIC RJBformInst = {RJBcommon[dRJEBJ, left, right, dist]}; drRJGB: PUBLIC RJBformInst = {RJBcommon[dRJGB, left, right, dist]}; drRJGBJ: PUBLIC RJBformInst = {RJBcommon[dRJGBJ, left, right, dist]}; drRJGEB: PUBLIC RJBformInst = {RJBcommon[dRJGEB, left, right, dist]}; drRJGEBJ: PUBLIC RJBformInst = {RJBcommon[dRJGEBJ, left, right, dist]}; drRJLB: PUBLIC RJBformInst = {RJBcommon[dRJLB, left, right, dist]}; drRJLBJ: PUBLIC RJBformInst = {RJBcommon[dRJLBJ, left, right, dist]}; drRJLEB: PUBLIC RJBformInst = {RJBcommon[dRJLEB, left, right, dist]}; drRJLEBJ: PUBLIC RJBformInst = {RJBcommon[dRJLEBJ, left, right, dist]}; drRJNEB: PUBLIC RJBformInst = {RJBcommon[dRJNEB, left, right, dist]}; drRJNEBJ: PUBLIC RJBformInst = {RJBcommon[dRJNEBJ, left, right, dist]}; drJEBB: PUBLIC JBBformInst = {JBBcommon[dJEBB, dist, lit]}; drJEBBJ: PUBLIC JBBformInst = {JBBcommon[dJEBBJ, dist, lit]}; drJNEBB: PUBLIC JBBformInst = {JBBcommon[dJNEBB, dist, lit]}; drJNEBBJ: PUBLIC JBBformInst = {JBBcommon[dJNEBBJ, dist, lit]}; END. HandCodingImpl.mesa Copyright c 1984, 1985, 1986 by Xerox Corporation. All rights reserved. Russ Atkinson (RRA) September 10, 1986 11:01:00 pm PDT Errors Machine Instruction Implementations OQBformInst: TYPE = PROC [rest: DragOpsCross.Word]; OIformInst: TYPE = PROC []; LRformInst: TYPE = PROC [reg: RegSpec]; QRformInst: TYPE = PROC [left: ShortRegQR, right: RegSpec]; OBformInst: TYPE = PROC [lit: Lit8 _ 0]; LRBformInst: TYPE = PROC [reg: RegSpec, lit: Lit8 _ 0]; RRformInst: TYPE = PROC [c: RegSpec _ pushDst, a,b: RegSpec _ popSrc]; ODBformInst: TYPE = PROC [lit: Lit16 _ 0]; LRRBformInst: TYPE = PROC [reg1,reg2: RegSpec, disp: Lit8 _ 0]; RJBformInst: TYPE = PROC [left: ShortRegSpec, right: RegSpec, dist: Lit8]; JBBformInst: TYPE = PROC [lit: Lit8 _ 0, dist: Lit8 _ 0]; Κ±˜codešœ™Kšœ Οmœ=™HK™6K˜šΟk ˜ Kšœ ˜ Kšœ ˜ Kšœ˜K˜——šΟnœžœž˜Kšžœ˜Kšžœ ˜Kšœžœžœ-˜9K˜—™K˜Kšœ žœžœžœ˜ Kšœ žœžœžœ˜ Kšœ žœžœžœ˜ Kšœ žœžœžœ˜ K˜—šœ#™#K˜šŸ œžœžœ™3K˜Kšœžœ(˜5Kšœžœ)˜7Kšœ žœ*˜9Kšœ žœ*˜9Kšœžœ(˜5K˜—šŸ œžœžœ™K™Kšœžœ˜*Kšœžœ˜,Kšœžœ˜*Kšœžœ˜*Kšœžœ˜,Kšœžœ˜,Kšœžœ ˜.Kšœžœ ˜.Kšœžœ˜,Kšœžœ˜,Kšœ žœ!˜0Kšœžœ˜,Kšœžœ ˜.Kšœžœ ˜.Kšœžœ˜,Kšœžœ˜*Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ˜,Kšœžœ ˜.Kšœžœ ˜.K˜Kšœžœ˜*Kšœžœ˜*Kšœžœ˜*K˜—šŸ œžœžœ™'K˜šœžœ˜Kšžœžœžœ ˜(Kšœ˜Kšœ˜—šœžœ˜Kšžœžœžœ ˜(Kšœ˜Kšœ˜—K˜—šŸ œžœžœ$™;K˜K–16 sp tabStopsšœžœ,˜9K–16 sp tabStopsšœžœ-˜;K–16 sp tabStopsšœžœ,˜9K–16 sp tabStopsšœžœ,˜9K–16 sp tabStopsšœžœ-˜;K–16 sp tabStopsšœžœ-˜;K–16 sp tabStopsšœ žœ.˜=K–16 sp tabStopsšœ žœ.˜=K˜—šŸ œžœžœ™(K˜Kšœžœ$˜1Kšœžœ#˜/Kšœžœ$˜1Kšœžœ#˜/Kšœžœ$˜1Kšœžœ$˜1Kšœžœ$˜1Kšœžœ$˜1Kšœžœ$˜1Kšœžœ%˜3Kšœžœ%˜3Kšœžœ#˜/Kšœžœ#˜/Kšœžœ#˜/Kšœžœ$˜1Kšœžœ$˜1Kšœžœ$˜1K˜—šŸ œžœžœ™7K˜šœžœ˜Kšžœžœžœ ˜(Kšœ)˜)K˜—šœžœ˜Kšžœžœžœ ˜(Kšœ)˜)K˜K˜——šŸ œžœžœ/™FK˜Kšœžœ&˜3Kšœžœ'˜5Kšœžœ&˜3Kšœžœ&˜3Kšœžœ'˜5Kšœžœ'˜5Kšœ žœ(˜7Kšœ žœ(˜7Kšœžœ'˜5Kšœžœ&˜3Kšœ žœ(˜7Kšœ žœ(˜7Kšœ žœ(˜7Kšœ žœ(˜7K˜—šŸ œžœžœ™*K˜Kšœžœ&˜3Kšœžœ&˜3Kšœžœ'˜5Kšœ žœ(˜7Kšœ žœ(˜7Kšœžœ&˜3K˜Kšœžœ'˜5Kšœžœ&˜3Kšœžœ&˜3K˜Kšœžœ&˜3Kšœžœ&˜3Kšœžœ'˜5Kšœžœ'˜5Kšœžœ'˜5K˜—šŸ œžœžœ&™?K˜šœžœ˜Kšžœžœžœ ˜)Kšžœžœžœ ˜)Kšœ9˜9K˜—šœžœ˜Kšžœžœžœ ˜)Kšžœžœžœ ˜)Kšœ9˜9K˜—šœžœ˜Kšžœžœžœ ˜)Kšžœžœžœ ˜)Kšœ9˜9K˜—šœžœ˜Kšžœžœžœ ˜)Kšžœžœžœ ˜)Kšœ9˜9K˜K˜——šŸ œžœžœ2™JK˜Kšœžœ5˜CKšœ žœ6˜EKšœžœ5˜CKšœ žœ6˜EKšœ žœ6˜EKšœ žœ7˜GKšœžœ5˜CKšœ žœ6˜EKšœ žœ6˜EKšœ žœ7˜GKšœ žœ6˜EKšœ žœ7˜GK˜—šŸ œžœžœ!™9K˜Kšœžœ-˜;Kšœ žœ.˜=Kšœ žœ.˜=Kšœ žœ/˜?K˜—Kšžœ˜K˜——…—ώ'Α