On 2021-07-17 23:53, Mouse wrote:
I usually think of the carry as an extra bit left to the most significant bit of the register involved; [...]The VAX just has the actual C bit inverted after the operation (set to 1 if there was need to borrow, instead of 0 because it was borrowed from). So you *could* describe it as "(a) borrow into most significant bit (happened)".That's a logically consistent point of view. But it requires that the "most significant bit" text refer to this one-bit-wider conceptual value formed by concatenating the complement of C with the overt operand. That's not how "most significant bit" works elsewhere in the document, nor how it works in most other uses I've seen/heard of such language.
I'm not sure I follow. The most significant bit is still the highest bit in the register (or wherever), and not the carry bit itself. The fact that the carry is extending the value is not meaning it is the most significant bit.
But I would actually not describe it as the carry in any way extend the value when we are talking subtraction. I would rather say that in a subtraction, the value that is being subtracted from has an implied "1" above the most significant bit. Always. And the carry essentially just indicate if this bit was flipped, which means the value was borrowed into the most significant bit.
If you ever learned subtraction in decimal on paper in elementary school, it's just the same thing going on here. Except with binary it's a little simpler.
Johnny -- Johnny Billquist || "I'm on a bus || on a psychedelic trip email: bqt%softjar.se@localhost || Reading murder books pdp is alive! || tryin' to stay hip" - B. Idol