Submitted by Steve Fewell
Description:
[BE87] Call &BE36 to do the following:
* Set BASIC Text Pointer B offset to BASIC Text Pointer A offset.
* Get result of expression at BASIC Text Pointer B.
* Issue 'Type mismatch' error if the result is not a String value.
* Call routine &BE25 to Store a carriage return (#&0D) character at the end of the String, and to set &37-&38
to point the the SWA address (&0600).
* Call &9B91 to check that the Statement is terminated correctly.
This obtains the ASCII String specified after the OSCLI keyword and appends a '<CR>' character to the end of the SWA value
so that the string is in the correct format to be processed by the Operating System as a MOS command - ready for an operating
system call to OSCLI (&FFF7) [which requires a <cr> to terminate the command String].
Set X (LSB - &00) and Y (MSB - &06) to the SWA address (&0600). This is the address of the command to send
to the operating system command line interpreter routine (OSCLI).
Call OSCLI (&FFF7) to execute the Operating System ('*') command.
Jump to &9005 to execute the next BASIC command/statement.
BE87 | 6 | 032 054 190 | 20 36 BE | JSR &BE36 Obtain string value and append an '<cr>' character to the string |
BE8A | 162 000 | A2 00 | LDX#&00 | |
BE8C | 160 006 | A0 06 | LDY#&06 | |
BE8E | 032 247 255 | 20 F7 FF | JSR &FFF7 OSCLI | |
BE91 | 128 024 | 80 18 | BRA 24 --> &BEAB [JMP &9005 Execute next statement] |