Segment 1:
简单的熟悉MOV语句和四个方向端口的语句使用。入门关卡。
仿照 IN.X->OUT.X 写出 IN.A->OUT.A 即可。
DEBUG彩蛋:
Can‘t find a pen right now so i‘m just going to take notes here.loos like short term storage.
Got this one at the swap meet today,fella wanted $450 for it but i talked him down to $200.Good deal!
No idea who makes this thing.Never heard of the tis series and the architecture doesn‘t look like anything i‘ve seen before.
Asked the guys down at the 151.N31000 but no joy.
Randy has a mystery on his hands!
现在找不到笔,所以我只是想在这里做个便笺记录,就像短期存储。
在今天的交换会上得到了这个,费拉想卖450美元,但是我把他砍到了200美元。很好的交易!
不知道是谁造了这个玩意儿。
从没听说过什么TIS系列,它的架构我以前也从来没有见过。
在[151.N31000(*乱码,内存损坏)问了问那些家伙,但也没问出个所以然。
这真是一个谜啊!
Segment 2:
要求把输入的值翻倍输出。
这里要用到ACC(寄存器)。
用MOV语句把端口的值读入到ACC中。
ADD ACC即是对寄存器ACC中的值加上ACC,做到了翻倍计算。
再将ACC输出即可。
DEBUG彩蛋:
Continues to baffle....
Chatted with Bernie at IBM and he says it sounds like something they‘d 0_N.A come up with in the USSR...
But then why is the manual in english??
仍然很困扰...
在IBM和伯尔尼聊天,他说这东西听起来(*乱码,内存损坏)可能是苏联的玩意儿。
可是为什么使用手册是英文的?
Segment 3:
往 OUT.P 输入 IN.A-IN.B 的值,往 OUT.N 输出 IN.B-IN.A的值。
这里能用到BAK,ACC是可以读取地址随取随用的寄存器,而BAK不可寻址只能用SAV临时保存一次ACC的值。
计算步骤是:
先把被减数读取到左侧单元ACC中,再从右侧端口读取减数,在寄存器中相减之后,用BAK保存结果 IN.A-IN.B 。
把左侧单元寄存器中的计算结果送到右侧端口进行NEG取反运算得到 IN.B-IN.A 并向下输出。
再用SWP把左侧单元BAK里保存好的 IN.A-IN.B 结果读出来,向下输出即可。
DEBUG彩蛋:
Interesting.
It look I.V.D$I.@SI there‘s some kind of static memory in this thing.Encoded something or other.
有趣。
看起来(*乱码,内存损坏)这玩意里面有一些静态内存。
像是某种编码或者其他的东西。