From e51b5c8b599659b328ded874ec0f4805101fba03 Mon Sep 17 00:00:00 2001 From: cpg Date: Fri, 23 Jun 2000 22:06:37 +0000 Subject: [PATCH] multiply by 40 routine git-svn-id: svn://svn.cc65.org/cc65/trunk@118 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/atari/mul40.s | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 libsrc/atari/mul40.s 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