I have two numbers x and y. The upper bits of x are stored at location m, while the lower bits of x are stored at location n. The upper bits of y are stored at location i, while the lower bits of y are stored at location j.
I have the division operator "/" and the multiplication operator "*", but only for numbers stored at a single memory location. For example, if q was small enough to be stored at memory location a, and p was small enough to be stored at memory location b, then I can compute q/p and store this in a single memory location.
The question is: how do I compute x/y and x*y in the fastest way? I was thinking along the lines of using / and * in places where I am only multiplying parts of the number at one memory location, because this would be faster than strictly using repeated addition or repeated subtraction.
For specifics, I am using the language 7800basic, where numbers can only be 1 byte large. And I am looking to be able to multiple and divide larger numbers in the fastest way.