<> <> <> <> <> <<>> DIRECTORY DragOpsCross, IFUPLA, PLAOps; IFUPLAInstrDecode3: CEDAR PROGRAM IMPORTS IFUPLA EXPORTS IFUPLA = BEGIN OPEN IFUPLA, PLAOps; <> GenInstrDecodePLA3: PUBLIC GenInstrDecodePLAProc = { current _ old; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dADDB], out:[ aReg: abStackTop, xaSource: alpha, cReg: cStackTop, aluOp: SAdd, condSel: OvFl ]]; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dSUBB], out:[ aReg: abStackTop, xaSource: alpha, cReg: cStackTop, aluOp: SSub, condSel: OvFl ]]; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dADDDB], out:[ aReg: abStackTop, xaSource: alphaBeta, cReg: cStackTop, aluOp: SAdd, condSel: OvFl ]]; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dSUBDB], out:[ aReg: abStackTop, xaSource: alphaBeta, cReg: cStackTop, aluOp: SSub, condSel: OvFl ]]; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dSHD], out:[ aReg: [ s, offset, minus1 ], bReg: [ s, offset, zero ], xaSource: alphaBeta, cReg: [s, offset, minus1], aluOp: FOPK ]]; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dSHL], out:[ aReg: [ s, offset, zero ], bReg: [ cBase, offset, zero ], xaSource: alphaBeta, cReg: cStackTop, aluOp: FOPK ]]; Set[s:current, m:[op: InstrTopSig[8]], d:[op: dSHR], out:[ aReg: [ s, offset, zero ], bReg: [ s, offset, zero ], xaSource: alphaBeta, cReg: [ s, offset, zero ], aluOp: FOPK ]]; <> <<>> <> <> <> <> <> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> }; END.