OIS Master debugger


Debug

This is a quick reference for the debugger that resides within the Master of the OIS operating system.

Typing in an address displays the contents in the current mode (symbol, hexadecimal, or character). Pressing return or execute will display the next address contents. The following commands are available:

Command Name
Usage
Comments
X - examine memory
[start addr][,end addr]X
Displays contents of memory.
A - address display mode
Ax
Where x is the mode, h being hexadecimal and s being symbolic.
D - data display mode
[width]Dx
Width is number of bytes to display. x is mode:
h - hexadecimal
s - symbolic
a - ASCII
H - display value in hex
[addr expression]H
Displays expression in hex. Can be used to display value of symbols.
Y - display value symbolically
[addr expression]Y
Opposite of above.
V - set screen size
[[bottom line addr],lines nr]V
Defines bounds of screen. Bottom line addr can be from E0 to E7 (0 to 23), while linesnr is the window size from 1 to 24.
C - change register/memory
[start addr/symbol],data exprC
Allows memory/registers to be changed. Examples:
1000,22C - change value at location 1000 to 22
C - change memory
[start addr/symbol]Cs
Allows a string of data to be written. s is as follows:
symbolic processor instructions (Z80 assembly language):
1000Cld (hl),a
# followed by hex digits:
1000C#66
' followed by ASCII characters:
1000'Wang
M - move data
[source addr[,dest addr[,count]]]Mx
Move data from source to dest, moving number of bytes specified by count.
x is optional, and specifies the destination target:
s - To slave (specified by current Unit setting)
m - To Master (from slave specified by current Unit setting):
1000,1000,20Ms - Would move 20(hex) bytes from the Slave at address 1000 to address 1000 in the Master.
G - Go
[break count][,start addr]G
Start execution at [start addr]. break count sets the number of breakpoints that can pass before control is returned to the debugger.
S -Single step
[count]S
Step through [count] instructions.
E - Execute disk command
[page addr][,sector][,page count],[drive address]Ex
Perform disk operation, where x is the operation to perform:
r - read
w - write
f - format
c - compare
u - release disk drive
The read/write commands operate on the current Unit number.
U - Set current Unit
[unit address]U
Sets unit for operations. 00 = Master.
I - IPL current Unit
[address]I
IPL (restart) slave to address. Does nothing if the Unit is 00 (master).
B - Set symbol
[addr exp]Bsymbol
Assigns symbol name to address expression:
6e00Biplinit
Z - Clear symbol
Zsymbol
Removes symbol from table.

Register symbols

These are builtin symbols that represent registers and other important data elements:
.a
.a'
.b
.b'
.c
.c'
.d
.d'
.e
.e'
.h
.h'
.l
.l'
.bc
.bc'
.de
.de'
.hl
.hl'
.f - processor flags
.f'
.ix
.iy
.i - interrupt page register
.iff - interrupt flip-flop
.b0 - break point 0
.b1 - bp 1
.b2 - bp 2
.b3 - bp 3
.c0 - change register 0
.c1
.c2
.c3
.u - unit #
.uadrs - ?? don't know

Happy debugging!

Debugger again

Back