<> <> <> DIRECTORY CD, CDFrame, Commander, IFUAsm, IFUPW, IFUPWControl; IFUAsmFetchControler: CEDAR PROGRAM IMPORTS CDFrame, Commander, IFUAsm, IFUPW, IFUPWControl EXPORTS IFUAsm = BEGIN OPEN IFUAsm, IFUPWControl, CDF: CDFrame; module: ROPE _ "IFUAsmFetchControler"; FetchRdDecodeProc: CDF.ExpandProc = {new _ MakePLA["FetchRdDecode", static, BA, B, BA, B, Ac, design]}; FetchWtDecodeProc: CDF.ExpandProc = {new _ MakePLA["FetchWtDecode", static, AB, A, AB, A, Bc, design]}; FetchControlProc: CDF.ExpandProc = {new _ MakePLA["FetchControl", static, BA, B, BA, A, AB, design, 0, 2]}; FetchPreDecodeProc: CDF.ExpandProc = {new _ MakePLA["FetchPreDecode", static, AB, A, AB, A, AB, design, 0, 2]}; FetchControler: PUBLIC Frame _ IFUPW.NFS[module, y, LIST[ IFUPWControl.DriverFill[], CDF.NewExpandFrame["FetchRdDecode", FetchRdDecodeProc], IFUPWControl.DriverFill[], CDF.NewExpandFrame["FetchWtDecode", FetchWtDecodeProc], IFUPWControl.DriverFill[], IFUPW.NFS["FetchIndexingFillx", x, LIST[ CDF.Glue[l: ext, r: conn], IFUPW.NFS["FetchIndexing", y, LIST[ IFUPWControl.DriverFill[], CDF.Glue[b: conn, t: conn, r:diff], FetchIndexing, CDF.Glue[b: conn, t: conn, r:diff], IFUPWControl.DriverFill[] ]] ]], IFUPWControl.DriverFill[], CDF.NewExpandFrame["FetchControl", FetchControlProc], IFUPWControl.DriverFill[], CDF.NewExpandFrame["FetchPreDecode", FetchPreDecodeProc], IFUPWControl.DriverFill[] ] ]; FetchControlerCT: Commander.CommandProc = {IFUPW.AssembleFrame[IFUAsm.RefDesign[], FetchControler, cmd ] }; FetchControlerCD: IFUPW.PWUserProc = {RETURN[CDF.FrameToObject[FetchControler, design]]}; Commander.Register [proc: FetchControlerCT, key: module]; IFUPW.Register [userProc: FetchControlerCD, name: module]; END.