C64 ROM | Routines |
Prev: BD7E | Up: Map | Next: BDB3 |
Used by the routine at BCF3.
|
||||
BD91 | A5 5E | LDA $5E | get exponent count byte | |
BD93 | C9 0A | CMP #$0A | compare with 10 decimal | |
BD95 | 90 09 | BCC $BDA0 | branch if less | |
BD97 | A9 64 | LDA #$64 | make all -ve exponents = -100 decimal (causes underflow) | |
BD99 | 24 60 | BIT $60 | test exponent -ve flag | |
BD9B | 30 11 | BMI $BDAE | branch if -ve | |
BD9D | 4C 7E B9 | JMP $B97E | else do overflow error then warm start | |
BDA0 | 0A | ASL A | *2 | |
BDA1 | 0A | ASL A | *4 | |
BDA2 | 18 | CLC | clear carry for add | |
BDA3 | 65 5E | ADC $5E | *5 | |
BDA5 | 0A | ASL A | *10 | |
BDA6 | 18 | CLC | clear carry for add | |
BDA7 | A0 00 | LDY #$00 | set index | |
BDA9 | 71 7A | ADC ($7A),Y | add character (will be $30 too much!) | |
BDAB | 38 | SEC | set carry for subtract | |
BDAC | E9 30 | SBC #"0" | convert character to binary | |
BDAE | 85 5E | STA $5E | save exponent count byte | |
BDB0 | 4C 30 BD | JMP $BD30 | go get next character |
Prev: BD7E | Up: Map | Next: BDB3 |