Improved some multiplication code.

This commit is contained in:
Greg King
2014-07-17 07:11:14 -04:00
parent c6e7d835ef
commit 8324221360

View File

@@ -1,5 +1,6 @@
; ;
; Oliver Schmidt, 2012-10-16 ; 2012-10-16, Oliver Schmidt
; 2014-07-16, Greg King
; ;
; unsigned char __fastcall__ _syschdir (const char* name); ; unsigned char __fastcall__ _syschdir (const char* name);
; ;
@@ -39,18 +40,14 @@
; Multiply first digit by 10 ; Multiply first digit by 10
ldx #8 txa
@L0: asl asl a ; * 2
asl tmp1 asl a ; * 4, carry cleared
bcc @L1 adc tmp1 ; * 5
clc asl a ; * 10, carry cleared
adc #10
@L1: dex
bne @L0
; Add second digit to product ; Add second digit to product
clc
adc tmp2 adc tmp2
tax tax
@@ -80,7 +77,8 @@ done: rts
.endproc .endproc
;-------------------------------------------------------------------------- ;--------------------------------------------------------------------------
; getdigit ; getdigit -- Converts PetSCII to binary.
; Sets carry if the character is outside of '0'-'9'.
.proc getdigit .proc getdigit