8-Bit Software

The BBC and Master Computer Public Domain Library

Back to 8BS Or Back to Disassembly


Page Last Altered:

97F4 REPORT

Submitted by Steve Fewell

Description:

Call &9BA6 to check that the Statement terminates correctly ('Syntax' error is issued if end of statement marker is
not found).
Call routine &BA92 to print a carriage return and begin a new output line - so that the Error Message is shown on a new
line.

Load each character of the string pointed to by the Operating System's 'Last Error' pointer [&FD-&FE] and, for
each character, if it isn't 0 (end of String), call routine &BD37 to output the Token (in ASCII-text), or [ASCII]
Character (if the value isn't a token).
When a ASCII Character with a code of 0 is encountered, or after 255 characters have been output, jump to &9005 to start
processing the next program statement.


Disassembly for the REPORT routine

97F4   032 166 155 20 A6 9B JSR &9BA6 Check end of Statement
97F7   032 146 186 20 92 BA JSR &BA92 Start new output line
97FA   160 001 A0 01 LDY#&01
97FC   177 253 B1 FD LDA (&FD),Y
97FE   240 241 F0 F1 BEQ -15 --> &97F1
9800 7 032 055 189 20 37 BD JSR &BD37 Output Character/Token on screen
9803   200 C8 INY
9804   208 246 D0 F6 BNE -10 --> &97FC
9806   128 233 80 E9 BRA -23 --> &97F1   [JMP &9005]   Execute next statement

 


 Back to 8BS
Or