Jayson Smith wrote:
>I'm having problems using the Modulus operator under Applesoft, or don't
>know how to do it. In Integer, if I remember correctly, you could do, E.G.
>10 poke 493,x mod 256:poke 494,x/256
>and have a memory address poked in. That's just an example. However, doing
>print 900 mod 256
>in Applesoft produces the result 9000, and I think I just figured out why.
>I think it's printing the number 900, then the contents of variable 'mod'
>which is 0. So how do you do that in Applesoft?
There is no modulus function in Applesoft, though it would be handy.
It is usually done like this:
555 H = INT(V / 256): L = V - H * 256
This sets H to the high byte of V and L to the low byte.
The generalization to other divisors is straightforward.
-michael
Check out parallel computing for 8-bit Apples on my
Home page: http://members.aol.com/MJMahon/
"Jayson Smith" wrote in message news:...
> Hi,
> I'm having problems using the Modulus operator under Applesoft, or don't
> know how to do it. In Integer, if I remember correctly, you could do, E.G.
> 10 poke 493,x mod 256:poke 494,x/256
> and have a memory address poked in. That's just an example. However, doing
> print 900 mod 256
> in Applesoft produces the result 9000, and I think I just figured out why.
> I think it's printing the number 900, then the contents of variable 'mod'
> which is 0. So how do you do that in Applesoft?
> Thanks.
My Applesoft is rusty, but a MOD such as x = a mod b can be done as:
x = a - int( a / b )* b
Ben