I believe the logic goes like this:
- This MIX machine is a decimal machine; each byte holds two decimal digits.
rA
contains the value - 1234 00 00 09
.
- Memory
M
contains the value - 2000 0150 00
.
- Subtracting
M
from rA
using plain decimal arithmetic gives 766,014,991, or + 0766 0149 91
.
Alternatively,
- This MIX machine is a binary machine; each byte holds eight binary bits.
rA
contains the value - 04D2 00 00 09
.
M
contains the value - 07D0 0096 00
.
- Subtracting
M
from rA
using plain hexadecimal arithmetic gives 0x2FE0095F7, or + 02FE 0095 F7
, or in decimal, + 0766 0149 247
[sic].
So, without knowing the binary/decimalness of this particular MIX machine, we can't say for certain what the low-order byte of the result will be. It is guaranteed to be the single-byte representation of -9
, but whether this is 91
decimal or 0xF7
binary is unknowable.
I don't have TAOCP in front of me right now to check, but I believe this logic is a pretty good explanation of the ?
that was puzzling you.