作者nowar100 (拋磚引玉)
看板Grad-ProbAsk
標題Re: [理工] 計組-指令集一些問題
時間Wed Jun 10 01:30:06 2009
※ 引述《bernachom (Terry)》之銘言:
: 這是今天和一些同學討論出來的
: 請教一下
: 1.如果程式很大的話,超過jump或是分支指令的長度,多很多的話
: 那程式會怎麼跳?跳兩次嗎?還是就不執行了?
印象中之前有討論過
因為以範例來說,J-type分為 6bit + 26bit
26bit*4頂多28bit,是有極限的
所以課本當時有說,在decode的時候
他會以原本code前面4bit+後面的28bit
在課本的白算盤3ed P.313 Figure5.23下面小字
不過實際上也不用擔心這個啦,程式總不會大到28bit還裝不下吧
: 2.像我們會有一些op rs rt rd之類的東西使用暫存器來存一些指令
: 例如 : else: add $t0,$s0,$s1
: add之後的指令都可以存放在暫存器,那 else:
: ^^^^^^^
: 這東西會放在哪呢?也是放在暫存器嗎?
這東西不是code,只是一個label
他會放在label table裡面
至於這個label table是在compile-time或assemble-time就會解決掉的東西
: 謝謝
--
美少女飛踢殺人事件示意圖 おわだ
兇嫌羽山ミ○キ,於 音羽 學園頂樓,
囧// –○~ 對患有心臟疾病的被害人久瀨修○施以
∕ ∣> 毒腳,被害人隨即被送往owada hospital
﹨  ̄ ̄ ̄\ 加以急救。
∥ ╲
by akitolin@ptt 《民明書房 ef -你所不知道的melody-》
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.249.10
※ 編輯: nowar100 來自: 140.113.249.10 (06/10 01:40)
→ bernachom:請教一下,第二個,那如果有兩個else那他怎麼分辦得出來 06/10 09:04
推 bernachom:這會在label table裡按照程式進入的先後順序排嗎?謝謝 06/10 09:07
推 icrts:我想兩個else應該compile不會過喔..XD 06/10 09:15
推 bernachom:一個程式裡可以有兩個ELSE吧? 06/10 09:17
→ nowar100:不會有兩個label一樣阿 不然怎麼知道要跳哪 XD 06/10 13:19
→ icrts:你必需改為else1 else2之類的 06/10 16:06
推 bernachom:謝謝各位幫忙^^ 06/10 21:06