Function 63 - work with the debug board.
The debug board is the global system buffer (with the size
512 bytes), to which any program can write (generally speaking,
arbitrary) data and from which other program can read these data.
By the agreement written data are text strings interpreted as
debug messages on a course of program execution. The kernel in
some situations also writes to the debug board information on
execution of some functions; by the agreement kernel messages
begins from the prefix "K : ".
For view of the debug board the application 'board' was created,
which reads data from the buffer and displays them in its window.
'board' interpretes the sequence of codes 13,10 as newline.
A character with null code in an end of line is not necessary,
but also does not prevent.
Because debugger has been written, the value of the debug board
has decreased, as debugger allows to inspect completely a course of
program execution without any efforts from the direction of program
itself. Nevertheless in some cases the debug board is still useful.
Write byte
Parameters:
- eax = 63 - function number
- ebx = 1 - subfunction number
- cl = data byte
Returned value:
- function does not return value
Remarks:
- Byte is written to the buffer. Buffer size is 512 bytes.
At buffer overflow all obtained data are lost.
- For output to the debug board of more complicated objects
(strings, numbers) it is enough to call this function in cycle.
It is possible not to write the appropriate code manually and use
file 'debug.inc', which is included into the distributive.
Read byte
Takes away byte from the buffer.
Parameters:
- eax = 63 - function number
- ebx = 2 - subfunction number
Returned value:
- eax = ebx = 0 - the buffer is empty
- eax = byte, ebx = 1 - byte was successfully read