Entry | |
---|---|
R0 | Pointer to null terminated string to write |
R1 | Pointer to dictionary (0 = RISC OS dictionary) |
R2 | Pointer to null terminated special string |
Exit | |
---|---|
R0 | Preserved |
R1 | Preserved |
R2 | Preserved |
The purpose of this call is to write an indirect string, with formatting, to all of the active output streams.
Compacted text uses an escape character in the print string to indicate a dictionary entry. It is followed immediately by a byte which is the dictionary entry number. If this byte is in the range 1-255, then the appropriate string in the dictionary is substituted. If its 0, then the special string pointed to by R2 is substituted. (This is used in particular by the *Help command.)
The format of a dictionary is a linear list of entries, which can recursively refer to other dictionary entries; each entry is a length byte followed by a 0 terminated string. This means that a dictionary doesn’t have to have 255 entries – it can be ended at a point with a zero length entry.
This call acts like OS_Write0 with several differences: