1. 程式人生 > >TIS-100攻略 Segment 1~3 解法與DEBUG彩蛋

TIS-100攻略 Segment 1~3 解法與DEBUG彩蛋

his http 分享圖片 ike any 技術 right add 使用

技術分享圖片

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.
有趣。
看起來(*亂碼,內存損壞)這玩意裏面有一些靜態內存。
像是某種編碼或者其他的東西。

TIS-100攻略 Segment 1~3 解法與DEBUG彩蛋