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 <swat> 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 <swat> 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. $$