diff --git a/libsrc/atari/mul40.s b/libsrc/atari/mul40.s new file mode 100644 index 000000000..b14d960a0 --- /dev/null +++ b/libsrc/atari/mul40.s @@ -0,0 +1,35 @@ +; +; Christian Groessler, June 2000 +; +; mul40 +; multiplies A by 40 and returns result in AX +; uses tmp4 + + .importzp tmp4 + .export mul40 + +.proc mul40 + + ldx #0 + stx tmp4 + sta loc_tmp + asl a + rol tmp4 + asl a + rol tmp4 ; val * 4 + adc loc_tmp + bcc L1 + inc tmp4 ; val * 5 +L1: asl a + rol tmp4 ; val * 10 + asl a + rol tmp4 + asl a + rol tmp4 ; val * 40 + ldx tmp4 + rts + +.endproc + + .bss +loc_tmp:.res 1