8-Bit Software

The BBC and Master Computer Public Domain Library

Back to 8BS Or Back to Disassembly


Page Last Altered:

BBE8 Pop Float from Stack (and point (&4A,&4B) to popped value)

Submitted by Steve Fewell

Description:

Store the Stack Pointer LSB in &4A and the Stack Pointer MSB in &4B.
Add 5 to the Stack Pointer LSB (&04) (add any carry resulting from this add to the
Stack Pointer MSB (&05). This will increase Stack size by 5 bytes (reclaiming the 5 bytes
occupied by the Floating-Point value that is now pointed to by (&4A,&4B).

Basically, this routine decreases occupied stack space by 5 bytes and stores old values of the
stack pointer in (&4A,&4B - the argp).


Disassembly for the Pop Float from Stack routine

BBE8   165 004 A5 04 LDA &04
BBEA   024 18 CLC
BBEB J 133 074 85 4A STA &4A
BBED i 105 005 69 05 ADC#&05
BBEF   133 004 85 04 STA &04
BBF1   165 005 A5 05 LDA &05
BBF3 K 133 075 85 4B STA &4B
BBF5 i 105 000 69 00 ADC#&00
BBF7   133 005 85 05 STA &05
BBF9 ` 096 60 RTS

 


 Back to 8BS
Or