Re: A85: What i really need is...
[Prev][Next][Index][Thread]
Re: A85: What i really need is...
Michael Pearce wrote:
>
> I didn't really need a multiplication earlier, what i needed was a
> *signed* multiplication routine. Still 8 bit * 8 bit. Again, if
> anyone has one, i'd like to see it.
>
> -mike pearce
I'm thinking of this as I type, so correct any mistakes I make:
;multiplies signed b and signed e, result stored in hl
;destroys af,bc,de
;if b=0,hl=256*e
;if e=0,hl=0
;instruction estimated execution time,microseconds,4 Mhz
xor a ;1.00
ld a,b ;1.00
and %10000000 ;1.75
ld c,a ;1.00
ld a,e ;1.00
and %10000000 ;1.75
xor c ;1.00
ld c,a ;1.00
set 7,b ;2.00
set 7,e ;2.00
ld d,0 ;1.75
ld hl,0 ;2.50
loop:
add hl,de ;2.75
djnz loop ;3.25/2.00 if b=0
ld a,c ;1.00
or h ;1.00
ld h,a ;1.00
Fairly quick; you can always optimize.
--
Terry Peng
email- tpeng@geocities.com
web- http://www.geocities.com/SiliconValley/Bay/5104/index.html
Follow-Ups:
References: