"Loading Floating-Point words..." $PRINT CRLF "FIX FLT FP+ FP- FP* FP/" $PRINT CRLF ; ; THIS IS TESTED CODE 12-27-2005 ; FLOATING POINT VALUES ARE STORED HIGH WORD, LOW WORD ; JUST LIKE DOUBLE INTEGER VALUES. ; ; FIX - pops 2-word FP, pushes 1-word int ; CREATE FIX JSB ZSPOP,I STA FPB2 JSB ZSPOP,I STA FPB1 LDA FPB1 LDB FPB2 OCT 105100 JSB ZSPSH,I JMP END FPB1 OCT 0 FPB2 OCT 0 END ; ; ; FLT - pops 1-word int, pushes 2-word FP ; CREATE FLT JSB ZSPOP,I OCT 105120 STA FPB1 STB FPB2 LDA FPB1 JSB ZSPSH,I LDA FPB2 JSB ZSPSH,I JMP END FPB1 OCT 0 FPB2 OCT 0 END ; ; ; FP+ ; 2 FLT 3 FLT FP+ FIX PNUM prints 5 ; CREATE FP+ JSB ZSPOP,I STA FPB2 JSB ZSPOP,I STA FPB1 JSB ZSPOP,I STA FPB4 JSB ZSPOP,I STA FPB3 LDA FPB3 LDB FPB4 OCT 105000 DEF FPB1 STA FPB1 STB FPB2 LDA FPB1 JSB ZSPSH,I LDA FPB2 JSB ZSPSH,I JMP END FPB1 OCT 0 FPB2 OCT 0 FPB3 OCT 0 FPB4 OCT 0 END ; ; ; FP- ; 5 FLT 3 FLT FP- FIX PNUM prints 2 ; CREATE FP- JSB ZSPOP,I STA FPB2 JSB ZSPOP,I STA FPB1 JSB ZSPOP,I STA FPB4 JSB ZSPOP,I STA FPB3 LDA FPB3 LDB FPB4 OCT 105020 DEF FPB1 STA FPB1 STB FPB2 LDA FPB1 JSB ZSPSH,I LDA FPB2 JSB ZSPSH,I JMP END FPB1 OCT 0 FPB2 OCT 0 FPB3 OCT 0 FPB4 OCT 0 END ; ; ; FP* ; 2 FLT 3 FLT FP* FIX PNUM prints 6 ; CREATE FP* JSB ZSPOP,I STA FPB2 JSB ZSPOP,I STA FPB1 JSB ZSPOP,I STA FPB4 JSB ZSPOP,I STA FPB3 LDA FPB3 LDB FPB4 OCT 105040 DEF FPB1 STA FPB1 STB FPB2 LDA FPB1 JSB ZSPSH,I LDA FPB2 JSB ZSPSH,I JMP END FPB1 OCT 0 FPB2 OCT 0 FPB3 OCT 0 FPB4 OCT 0 END ; ; ; FP/ ; 6 FLT 2 FLT FP/ FIX PNUM prints 3 ; CREATE FP/ JSB ZSPOP,I STA FPB2 JSB ZSPOP,I STA FPB1 JSB ZSPOP,I STA FPB4 JSB ZSPOP,I STA FPB3 LDA FPB3 LDB FPB4 OCT 105060 DEF FPB1 STA FPB1 STB FPB2 LDA FPB1 JSB ZSPSH,I LDA FPB2 JSB ZSPSH,I JMP END FPB1 OCT 0 FPB2 OCT 0 FPB3 OCT 0 FPB4 OCT 0 END ; ; "Done" $PRINT CONSOLE