DIRECTORY Convert USING [CardFromRope, Error], LarkWork USING [LarkWorkProc, RegisterLarkWorkProc], LarkPrograms USING [AddOrReplaceProgram, Program, ReadProgramFromMBFile], Rope USING [ROPE], TeleLoad USING [CoreAddress]; LarkWorkCommandsD: CEDAR PROGRAM IMPORTS Convert, LarkPrograms, LarkWork = BEGIN BadArgsRope: Rope.ROPE = "Bad Arguments\n"; ParseMBProgram: LarkWork.LarkWorkProc = { ENABLE { Convert.Error => GOTO BadArgs; }; program: LarkPrograms.Program; baseAddress: TeleLoad.CoreAddress; IF argv.argc < 2 THEN RETURN; IF argv.argc = 3 THEN baseAddress _ Convert.CardFromRope[argv[2], 16] ELSE baseAddress _ 0E000H; program _ LarkPrograms.ReadProgramFromMBFile[mbFileName: argv[1], baseAddress: baseAddress, log: lark.h.log, addressSpace: IF capital THEN slave ELSE main, wDir: lark.world.wDir]; IF program # NIL THEN LarkPrograms.AddOrReplaceProgram[program]; EXITS BadArgs => RETURN[BadArgsRope]; }; LarkWork.RegisterLarkWorkProc[proc: ParseMBProgram, key: "MBParse", caseMatters: FALSE, doc: "Read a program from disk", usage: "[m/M]BParse programName {base}, m => main CPU, M => slave CPU"]; END. August 26, 1983 1:34 pm, LCS, created December 22, 1983 2:51 pm, LCS, Cedar 5 ΖLarkWorkCommandsD.mesa Copyright Σ 1987 by Xerox Corporation. All rights reserved. L. Stewart, December 22, 1983 2:51 pm Swinehart, April 6, 1987 10:13:13 am PDT Register all the commands Κo˜šœ™Icode™<—šœ%™%K™(—J˜šΟk ˜ Jšœœ˜$Jšœ œ&˜4Jšœ œ7˜IJšœœœ˜Jšœ œ˜—J˜Jšœœ˜ Jšœ"˜)Jš˜Jšœœ˜+J˜šœ)˜)šœ˜Jšœœ ˜J˜—Jšœ˜Jšœ"˜"Jšœœœ˜Jšœœ0˜EJšœ˜Jšœ{œ œœ˜³Jšœ œœ+˜@Jš˜Jšœ œ˜J˜—J˜J™J™JšœQœk˜ΑJ™Jšœ˜Jšœœ ˜%Jšœœ ˜'—…—¬α