我想问一下关于MIX中的加法结果为啥是56000000而不是20000
验证溢出的情况,假设2000地址单元中的内容为
2000: + 60 00 00 00 00 (1006632960),程序将这个值和自身相加,这将超过寄存器A
的表示范围。
1 ORIG 2000 寄存器A的内容 溢出标志
2 CON 1006632960
3 START LDA 2000 rA: + 60 00 00 00 00 (1006632960) F
4 ADD 2000 rA: + 56 00 00 00 00 (0939524096) T
5 HLT
6 END START
从上面的结果可以看出,寄存器A中的内容就相当于向左进1之后的剩余数值,而溢出标
志则从FALSE变为了TRUE。
+ 60 00 00 00 00
+ + 60 00 00 00 00
--------------------
+ 01 56 00 00 00 00
验证溢出的情况,假设2000地址单元中的内容为
2000: + 60 00 00 00 00 (1006632960),程序将这个值和自身相加,这将超过寄存器A
的表示范围。
1 ORIG 2000 寄存器A的内容 溢出标志
2 CON 1006632960
3 START LDA 2000 rA: + 60 00 00 00 00 (1006632960) F
4 ADD 2000 rA: + 56 00 00 00 00 (0939524096) T
5 HLT
6 END START
从上面的结果可以看出,寄存器A中的内容就相当于向左进1之后的剩余数值,而溢出标
志则从FALSE变为了TRUE。
+ 60 00 00 00 00
+ + 60 00 00 00 00
--------------------
+ 01 56 00 00 00 00