Framed arithmetic on multiword register banks #
The bank starts at physical register forty-four. Multiplication uses thirty-six scratch digits in registers eight through forty-three and copies the low eighteen digits into the destination. Subtraction copies its minuend into a fresh destination and clears that destination when a final borrow signals underflow. Both wrappers preserve memory and every other bank entry.
Main definitions #
Bank.multiply: multiplication through a separate full-product scratch area.Bank.subtract: copying followed by truncating natural-number subtraction.
Main results #
Bank.exec_multiply: a product smaller than six physical words updates a bank entry in exactly 2484 instructions.Bank.exec_subtract: general natural-number subtraction updates a fresh bank entry in at most 151 instructions.
References #
Compute the full scratch product, then copy its low eighteen digits to a bank entry. The destination may coincide with either source.
Instances For
A six-word-bounded exact product can be placed in any bank entry, including a source entry. The full scratch execution precedes the copy, and all other bank registers survive.
Copy the minuend to a fresh destination, then subtract with underflow cleared to zero.
Instances For
General subtraction needs no sign hypothesis. Its destination is distinct from the two sources; those sources may coincide. Every other bank entry and all memory are preserved.