|
GEOS SDK TechDocs
|
|
imem ...
|
keyboard ...
intr
Catch, ignore, or deliver an interrupt on the target PC. First argument is the interrupt number. Optional second argument is "catch" to catch delivery of the interrupt, "ignore" to ignore the delivery, or "send" to send the interrupt (the machine will keep going once the interrupt has been handled). If no second argument is given, the interrupt is delivered.
io
io [w] <port> [<value>]
Examples:
-
"io 21h"
- Reads byte-sized I/O port 21h.
-
"io 20h 10"
- Writes decimal 10 to byte-sized I/O port 20h.
Provides access to any I/O port on the PC.
-
If you give the optional first argument "w" then Swat will perform a 16-bit I/O read or write, rather than the default 8-bit access. Be aware that most devices don't handle this too well.
-
<port> must be a number (in any radix); it cannot be a register or other complex expression.
-
If you don't give a <value>, you will be returned the contents of the I/O port (it will not be printed to the screen).
irq
irq
irq (no|yes)
irq (set|clear)
Examples:
-
"irq"
- Returns non-zero if an interrupt is pending.
-
"irq no"
- Disable recognition and acting on a break request from the keyboard.
-
"irq set"
- Pretend the user typed Ctrl-C.
Controls Swat's behavior with respect to interrupt requests from the keyboard.
-
Swat maintains an interrupt-pending flag that is set when you type Ctrl+C (it can also be set or cleared by this command). It delays acting on the interrupt until the start of the next or the completion of the current Tcl command, whichever comes first.
-
When given no arguments, it returns the current state of the interrupt-pending flag. This will only ever be non-zero if Swat is ignoring the flag (since the command wouldn't actually return if the flag were set and being paid attention to, as the interpreter would act on the flag to vault straight back to the command prompt).
-
If given "no" or "yes" as an argument, it causes Swat to ignore or pay attention to the interrupt-pending flag, respectively.
-
You can set or clear the flag by giving "set" or "clear" as an argument.
is-obj-in-class
is-obj-in-class <obj-addr> <class-name>
Examples:
-
"is-obj-in-class ^l4e10h:1eh GenPrimaryClass"
-
see if the object at ^l4e10h:1eh is in
GenPrimaryClass
.
Returns whether a given object is in the specified class.
-
Returns one if the object is in the specified class, zero otherwise. It will return one if the object's class is a subclass of the passed class.
-
The special object flags may be used to specify <object>. For a list of these flags, see pobject.
See Also: psup.
istep
istep [<default command>]
Examples:
-
"is"
- enter instruction step mode
-
"istep n"
- enter instruction step mode, <ret> does a next command
Step through the execution of the current patient. This is THE command for stepping through assembly code.
-
The default command argument determines what pressing the <Return> key does. By default, <Return> executes a step command. Any other command listed below may be substituted by passing the letter of the command.
-
Istep steps through the patient instruction by instruction, printing where the ip is, what instruction will be executed, and what the instruction arguments contain or reference. Istep waits for the user to type a command which it performs and then prints out again where istep is executing.
-
This is a list of
istep
commands:
-
q
, <
Esc
>, ` `
- Stops istep and returns to command level.
-
b
- Toggles a breakpoint at the current location.
-
c
- Stops istep and continues execution.
-
n
- Continues to the next instruction, skipping procedure calls, repeated string instructions, and software interrupts. Using this procedure, istep only stops when the machine returns to the right context (i.e. the stack pointer and current thread are the same as they are when the "n" command was given). Routines which change the stack pointer should use "N" instead.
-
o
- Like "n" but steps over macros as well.
-
l
- Goes to the next library routine.
-
N
- Like `n', but stops whenever the breakpoint is hit, whether you're in the same frame or not.
-
O
- Like `N' but steps over macros as well.
-
m, M
- Goes to the next method called. Doesn't work when the message is not handled anywhere.
-
F
- Finishes the current message.
-
f
- Finishes out the current stack frame.
-
s
, <
Return
>
- Steps one instruction.
-
A
-
Aborts the current stack frame.
-
S
- Skips the current instruction
-
B
-
Backs up an instruction (opposite of "S").
-
J
- Jump on a conditional jump, even when "Will not jump" appears. This does not change the condition codes.
-
g
- Executes the `go' command with the rest of the line as arguments.
-
e
- Executes a Tcl command and returns to the prompt.
-
r
- Lists the registers (uses the regs command)
-
R
- References either the function to be called or the function currently executing.
-
h
,
?
- Displays a help message.
-
If the current patient isn't the actual current thread,
istep
waits for the patient to wake up before single-stepping it.
See Also: sstep,
listi.
|
GEOS SDK TechDocs
|
|
imem ...
|
keyboard ...