Improved some multiplication code.
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user