8-Bit Software

The BBC and Master Computer Public Domain Library

Back to 8BS Or Back to Disassembly


Page Last Altered:

ACB7 ABS

Submitted by Steve Fewell

Description:

Call the Evaluate value routine (&AD36) which will evaluate the next value at BASIC text
pointer B location, or the expression at that location if the value begins with an open bracket ("(").
If the returned value is a String (A = 0) then issue a Type mismatch error as the value is not numeric.

If the returned value is a Floating-Point value then jump to &ACC4 to set the FWA Sign byte to zero.
This will force the FWA's sign to be positive.
Otherwise, continue to the Integer Positive routine (&ACBE), which will make the number in the IWA positive.


Disassembly for the ABS routine

ACB4 L 076 146 144 4C 92 90 JMP &9092 Type mismatch error
ACB7 6 032 054 173 20 36 AD JSR &AD36 Evaluate value
ACBA   240 248 F0 F8 BEQ -8 --> &ACB4
ACBC 0 048 006 30 06 BMI 6 --> &ACC4
... ...
ACC4 d. 100 046 64 2E STZ &2E
ACC6 ` 096 60 RTS

 


 Back to 8BS
Or