Page 40 of 62
SBasic User's Manual SBasic Version 2.7 Page 40
Printed: December 5, 1999
between receiving a NULL (returned value = $0100) and not receiving
any character (returned value = $0).
For example:
do
n = inkey()
loop while n = 0
n = n and $ff
This code loops until INKEY() returns a valid character from the
console. It then strips off the upper byte, leaving only the received
character in N.
INKEY() sets bit 8 to permit receiving any character, including NULLs,
from the console input device.
The actual code that supports the INKEY() function appears in the
library files INKEY11.LIB (for the 68hc11) and INKEY12.LIB (for the
68hc12). You can edit the supplied INKEYxx.LIB source file to support
using INKEY() with other devices. Take care, however, to ensure your
new version of INKEY() preserves the register usage of the original.
NOTE: Your code must issue any setup instructions necessary
to prepare the default I/O port for use with the INKEY()
function. For details on setting up the 68hc11's SCI,
consult the section below, "Character I/O on the 68hc11."
Sbasic provides the OUTCH statement, used to send an 8-bit character
directly to the console. This statement provides the same
functionality as the usual Basic phrase:
PRINT CHR$(N);
only the OUTCH statement takes much less space, both in the source
file and in the final executable.
For example:
outch n+2
This example adds 2 to the current value in variable N, then sends the
low eight bits of the sum directly to the console device as an ASCII
character.
The actual code that supports OUTCH appears in the library files
OUTCH11.LIB (for the 68hc11) and OUTCH12.LIB (for the 68hc12). You
can edit the supplied OUTCHxx.LIB source file to support using OUTCH
with other devices. Take care, however, to ensure your new version of
OUTCH preserves the register usage of the original.