29.12.2012 Views

The Programmer's Guide to TRSDOS Version 6 - Tim Mann's Home ...

The Programmer's Guide to TRSDOS Version 6 - Tim Mann's Home ...

The Programmer's Guide to TRSDOS Version 6 - Tim Mann's Home ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.6.40 @HEX8 SVC-98<br />

This SVC will convert a 1-byte number <strong>to</strong> hex ASCII.<br />

Registers Affected: AF, HL.<br />

Entry:<br />

C Contains the value <strong>to</strong> convert.<br />

HL A pointer <strong>to</strong> your 2-character buffer.<br />

Exit:<br />

HL Will point <strong>to</strong> end-of-buffer + 1.<br />

7.6.41 @HEXDEC SVC-97<br />

This SVC converts a 16-bit binary number in<strong>to</strong> decimal ASCII.<br />

Registers Affected: AF, BC, HL.<br />

Entry:<br />

HL Contains the value <strong>to</strong> convert.<br />

DE A pointer <strong>to</strong> your 5-character buffer.<br />

Exit:<br />

DE Will point <strong>to</strong> end-of-buffer + 1.<br />

7.6.42 @HIGH$ SVC-100<br />

This SVC will alter or return the current value of HIGH$/LOW$. Note that neither can be<br />

altered if bit-0 of the CFLAG$ is set. HIGH$ is a word containing the highest RAM address<br />

usable by the system. User modules that need be protected from being overwritten are<br />

placed in high memory. <strong>The</strong> module's last address should occupy the current HIGH$ and<br />

HIGH$ is then lowered <strong>to</strong> correspond <strong>to</strong> the memory location just prior <strong>to</strong> the module. LOW$<br />

needs <strong>to</strong> be set by those programs using @CMNDR that want <strong>to</strong> protect memory starting from<br />

their lowest address (LOW$ defaults <strong>to</strong> X'2FFF').<br />

Registers Affected: AF [HL if originally set <strong>to</strong> 0].<br />

Entry:<br />

B 0, SVC deals with HIGH$<br />

B 1, SVC deals with LOW$<br />

HL If a non-zero value is contained in HL, then HIGH$/LOW$ is changed the that<br />

value. If HL contains a zero value, then the current value of HIGH$/LOW$ is<br />

returned.<br />

7.6.43 @INIT SVC-58<br />

INIT will open an existing file. If the file is not found, it will be created according<br />

<strong>to</strong> the file specification.<br />

Registers Affected: AF.<br />

Entry:<br />

HL <strong>The</strong> 256-byte disk I/O buffer <strong>to</strong> be used during I/O.<br />

DE File Control Block containing the file specification.<br />

B Logical Record Length <strong>to</strong> be used while the file is open.<br />

7-26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!