Skip to content

Commit c92173f

Browse files
Merge pull request #37 from grosged/patch-3
optimisation of imuls|imulu (8,5% faster)
2 parents 489df90 + f34dd84 commit c92173f

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

CEdev/lib/src/libraries/graphics_src/graphx/v2/graphics_lib.asm

+27-32
Original file line numberDiff line numberDiff line change
@@ -3845,43 +3845,38 @@ __imulu_ASM:
38453845
; BC : Operand 2
38463846
; Outputs:
38473847
; HL = HL*BC
3848+
3849+
push hl
38483850
push bc
38493851
push hl
3850-
ex de,hl
3851-
ld hl,2
3852-
add hl,sp
3853-
ld b,(hl)
3854-
mlt bc
3855-
inc hl
3856-
inc hl
3857-
inc hl
3858-
ld a,d
3859-
ld d,(hl)
3852+
ld iy,0
3853+
ld d,l
3854+
ld e,b
38603855
mlt de
3861-
dec hl
3862-
ld l,(hl)
3863-
ld h,a
3864-
mlt hl
3865-
ld a,l
3866-
add a,e
3867-
add a,c
3868-
pop de
3869-
pop bc
3870-
push bc
3871-
or a,a
3872-
sbc hl,hl
3873-
add.s hl,de
3874-
ex de,hl
3875-
ld h,b
3876-
mlt hl
3877-
ld b,d
3878-
mlt bc
3879-
add hl,bc
3880-
add a,h
3881-
ld h,a
3882-
pop bc
3856+
add iy,de
38833857
ld d,c
3858+
ld e,h
38843859
mlt de
3860+
add iy,de
3861+
ld d,c
3862+
ld e,l
3863+
mlt de
3864+
ld c,h
3865+
mlt bc
3866+
ld a,c
3867+
inc sp
3868+
inc sp
3869+
pop hl
3870+
mlt hl
3871+
add a,l
3872+
pop hl
3873+
inc sp
3874+
mlt hl
3875+
add a,l
3876+
ld b,a
3877+
ld c,0
3878+
lea hl,iy+0
3879+
add hl,bc
38853880
add hl,hl
38863881
add hl,hl
38873882
add hl,hl

0 commit comments

Comments
 (0)