BASIC's question mark and PRINT

Scott LaBombard labomb_s at
Tue Nov 22 10:22:24 CST 2005

--- Jim Battle <frustum at> wrote:
> Rich, if you can get your version 3.2 MS BASIC
> running on your Altair32 emulator 
> perhaps you can run the program and report what
> token is used for PRINT.

Depending on the specific release, Microsoft used
different token values for many Basic keywords. For 4K
version 3.2, the token used for 'Print' was 90h. For
the 8K version 4.0 release, the token used was 96h.
For Extended Basic 4.1, it was 91h. And for the 680b
variation (which was essentially equivalent to 8k
version 3.2 for the 8080) the token for 'Print' was

Regarding the use of '?' for 'Print', he question mark
was not handled with it's own unique assigned token.
Early in the bit of code that 'tokenizes' a line,
there is an explicit check for a '?' after the line
number is processed (or as the first byte in direct
command mode) ...if found, the actual token for
'Print' is substituted, and it is processed

As new revisions of MS Basic were introduced, the
methodology used to interpret/process Basic tokens
evolved somewhat as well. There was mention previously
in this thread that token values less than 80h were
likely not used. This was indeed the case until
Extended Basic (and Extended Disk Basic) was released.
It was at that point that token values that were less
than 80h were used expressly for functions. In
addition, token values from F0h to FFh were used for
logic operations (AND, XOR, etc...).


Yahoo! Mail - PC Magazine Editors' Choice 2005

More information about the cctalk mailing list