Re: newbie: MUL product
- From: Herbert Kleebauer <klee@xxxxxxxxx>
- Date: Thu, 29 Mar 2007 22:30:07 +0200
Brian wrote:
ie: IMUL eax,ebx,-09
(unfortunately no unsigned MUL in this forms)
Maybe you should use an other assembler which allows
you to define the alias MUL for this IMUL instruction.
Or directly code it in HEX, if you use uppercase letters,
the CPU does an unsigned multiply (try it and you will
see it works):
00000000: 69 c3 fffffff7 muls.l #-9,r3,r0
00000006: 69 C3 FFFFFFF7 mulu.l #4294967287,r3,r0
Thanks Herbert, but to switch to another assembler would seem
counter-productive for me at this point, as I'm a complete newbie, and
I mainly want to learn "one" assembler at this point.
Sorry if I confused you. This was meant as a joke for Wolfgang
(he is a hex coder). The "IMUL eax,ebx,-09" instruction is
a 32x32->32 operation and therefore the result is (as for
add/sub) calculated modulo 2^32. And the least significant
32 bit of a 32 x 32 bit multiplication are independent from
the interpretation of the number (signed/unsigned). Only
the most significant 32 bit are different for signed/unsigned
numbers. Therefore there exist two different instructions
for 32x32->64 multiplication (one for signed and one for
unsigned numbers) but only one for 32x32->32 multiplication
which gives the correct result for signed and unsigned numbers.
The different meaning of uppercase/lowercase letters was just
a joke.
.
- Follow-Ups:
- Re: newbie: MUL product
- From: Wolfgang Kern
- Re: newbie: MUL product
- References:
- newbie: MUL product
- From: Brian
- Re: newbie: MUL product
- From: Wolfgang Kern
- Re: newbie: MUL product
- From: Herbert Kleebauer
- Re: newbie: MUL product
- From: Brian
- newbie: MUL product
- Prev by Date: Re: newbie: MUL product
- Next by Date: Re: newbie: MUL product
- Previous by thread: Re: newbie: MUL product
- Next by thread: Re: newbie: MUL product
- Index(es):
Relevant Pages
|