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