Submitted by Steve Fewell
Name: Integer Positive
Starting Address: &ACBE
Entry criteria: The IWA contains the integer to make positive.
Exit: If the IWA contained a negative value, it will now be positive, otherwise IWA will be unchanged.
Check the most significant byte of the Integer Number in the IWA. If bit 7 of this byte is set [N flag], the IWA contains a negative number, so the icomp routine is jumped to (to compliment the value). Otherwise the routine exists with A = #&40, indicating that an Integer number is being processed. [Note: The code for this is located in the icomp routine].
Disassembly for the integer positive routine
|ACBE||$-||036 045||24 2D||BIT &2D|
|ACC0||0||048 028||30 1C||BMI 28 --> &ACDE Integer Compliment|
|ACC2||1||128 049||80 31||BRA 49 --> &ACF5 [LDA#&40 : RTS]|