0 Swat.help -- Swat help messages. Copyright Xerox Corporation 1979, 1980 Last modified March 16, 1980 5:41 PM by Boggs $$1 ^A [Address] opens and prints cell pointed to by current cell. $$2 ^B sets breakpoint at current cell. addr ^B sets breakpoint at addr. n $'$ addr ^B sets multiple-proceed breakpoint with proceed count n. 0 $'$ addr ^B deletes breakpoint at addr. index $'$ ^B deletes breakpoint with given index. 0 $'$$'$ ^B deletes all breakpoints. $'$$'$ ^B enumerates all breakpoints, each with index and address. $$3 proc ^C calls procedure proc with zero arguments. proc $'$ arg $'$ ... arg $'$ ^C calls proc with supplied arguments. $$4 addr ^D opens cell at addr and prints contents in decimal. ^D prints contents of current cell in decimal. n $'$ ^D prints n cells starting with the current cell. $$5 ^E computes effective address of instruction in current cell, and opens and prints cell at that address. $$6 n ^F prints parameters of n'th most recent stack frame (0 = current), and assigns its address to the symbol $'$ (dollar-sign, not ESC). $$7 addr ^G [Go] resumes swatee at addr. $$9 addr ^I opens cell at addr and prints contents as two 8-bit bytes. ^I prints contents of current cell as two 8-bit bytes. n $'$ ^I prints n cells starting with the current cell. $$10 LF (^J) opens and prints cell after current cell. value LF stores value in current cell (if open) and advances to next. $'$ LF opens and prints cell after last open cell (the one open immediately prior to the last cell-opening command other than LF or ^W). a$'$b LF stores a lshift 8 + b; otherwise same as value LF. $$11 ^K [Kill] resumes swatee and forces it to execute BCPL abort. $$12 ^L prompts you for filename and saves swatee on that file (SysOut). $$13 CR (^M) closes current cell if open. value CR stores value in current cell (if open) and closes cell. $'$ CR makes current cell be the last open cell (the open immediately before the last cell-opening command other than LF or ^W). a$'$b CR stores a lshift 8 + b; otherwise same as value CR. $$14 addr ^N opens cell at addr and prints contents as an instruction. ^N prints contents of current cell as an instruction. n $'$ ^N prints n cells starting with the current cell. $$15 addr ^O opens cell at addr and prints contents in octal. ^O prints contents of current cell in octal. n $'$ ^O prints n cells starting with the current cell. $$16 ^P [Proceed] resumes swatee where it stopped. $'$ ^P removes breakpoint program last stopped at and proceed. n $'$ ^P sets breakpoint at BCPL return point in n'th most recent frame and proceeds. addr $'$$'$ ^P sets one-shot breakpoint at addr and proceeds. $$17 ^Q prompts you for filename and loads saved swatee (SysIn). $$18 n ^R prints contents of R-register n. ^R prints contents of all R- and S-registers. $$19 addr ^S opens cell at addr and prints contents as pair of characters. ^S prints contents of current cell as pair of characters. n $'$ ^S prints n cells starting with the current cell. $$20 ^T traces the stack starting from the frame pointed at by AC2. "2: 43752 137 0 Foo+45--(14 177777)" means the 2nd most recent frame at 43752, of length 137 is procedure Foo in bank 0, called with arguments 14 and -1. n ^T traces the stack starting from the frame at location n. $$21 ^U [UserScreen] restores swatee's display until you hit again. $$22 value ^V prints value in octal and decimal. ^V prints address of current cell in octal and decimal. $$23 ^W opens and prints cell before current cell. value ^W stores value in current cell (if open) and backs up to previous. $'$ ^W opens and prints cell before last open cell (the one open prior to the last cell-opening command other than LF or ^W). a$'$b ^W stores a lshift 8 + b; otherwise same as value ^W. $$24 ^X displays amount of space required by spy facility. addr ^X gives space starting at addr to spy facility and starts spying. $'$ ^X displays spy results and terminates spying. $'$$'$ ^X displays spy results and continues spying. $$25 ^Y prompts for filename and reads BCPL symbols from that file. $'$ ^Y prompts for filename and reads Swat commands from that file. $'$$'$ ^Y enables TeleSwatting, controlled from some other Swat. Hit to terminate. $$26 ^Z prompts for target address space: FileName (normally Swatee), Bank0 (Swat itself), Bank1, Bank2, Bank3 (only XMs), or net address ([name] or [net#host#]) of host to control via TeleSwat protocol. $'$ ^Z displays internal Swat debugging information. $'$$'$ ^Z repeats message displayed at most recent entry to Swat. $$29 value ^= searches starting at current cell +1 for word that contains value and opens and prints that location. value$^= searches starting at current cell +1 for word whose effective address is value and opens and prints that location. ^= or $^= (i.e., no value specified) uses the value last searched for. $$63 Type "?" followed by control-character for information about commands invoked by that control-character. Or type "?" followed by: C - Conventions E - Expressions K - Keys used in Swat S - Summary of commands $$67 The "swatee" is the program you are debugging. Commands are one or more expressions, separated by ESC, terminated by a control-character that invokes the desired action. The "current cell" is the one you examined most recently. The current cell remains "open" (able to be stored into) until you type CR. $$69 Expressions are as in BCPL except: ' means xor, \ means rem, ~ means not | means lshift for positive right operand, rshift for negative ^ means lv, but only if applied to the name of a static. Numbers are octal unless terminated by ".", in which case they are decimal. Special addresses: . current cell $'$ base of last frame examined by ^F command. PC swatee's program counter. AC0, AC1, etc. swatee's accumulators CRY swatee's carry bit, INT interrupt-on bit. $$75 BS backspaces one character. DEL cancels current command, start over. ESC modifies command or separates arguments (displays as "$'$"). SWAT (the blank key at lower-right on Alto-I, upper-right on Alto-II) stops whatever Swat is doing and gives you control. $$83 ^A address. ^B breakpoint. ^C call procedure. ^D print decimal. ^E effective address. ^F examine stack frame. ^G go. ^I print 8-bit bytes. ^J (LF) open next cell. ^K kill. ^L SysOut. ^M (CR) close cell. ^N print instruction. ^O print octal. ^P proceed. ^Q SysIn. ^R read R-register. ^S print characters. ^T trace. ^U user screen. ^V value. ^W open previous cell. ^X spy. ^Y read symbols. ^Z target address space. ^= search. $$99 The "swatee" is the program you are debugging. Commands are one or more expressions, separated by ESC, terminated by a control-character that invokes the desired action. The "current cell" is the one you examined most recently. The current cell remains "open" (able to be stored into) until you type CR. $$101 Expressions are as in BCPL except: ' means xor, \ means rem, ~ means not | means lshift for positive right operand, rshift for negative ^ means lv, but only if applied to the name of a static. Numbers are octal unless terminated by ".", in which case they are decimal. Special addresses: . current cell $'$ base of last frame examined by ^F command. PC swatee's program counter. AC0, AC1, etc. swatee's accumulators CRY swatee's carry bit, INT interrupt-on bit. $$107 BS backspaces one character. DEL cancels current command, start over. ESC modifies command or separates arguments (displays as "$'$"). SWAT (the blank key at lower-right on Alto-I, upper-right on Alto-II) stops whatever Swat is doing and gives you control. $$115 ^A address. ^B breakpoint. ^C call procedure. ^D print decimal. ^E effective address. ^F examine stack frame. ^G go. ^I print 8-bit bytes. ^J (LF) open next cell. ^K kill. ^L SysOut. ^M (CR) close cell. ^N print instruction. ^O print octal. ^P proceed. ^Q SysIn. ^R read R-register. ^S print characters. ^T trace. ^U user screen. ^V value. ^W open previous cell. ^X spy. ^Y read symbols. ^Z target address space. ^= search. $$