電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
immediate

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 板主碎碎唸
上一篇主題 :: 下一篇主題  
發表人 內容
yag
Site Admin


註冊時間: 2007-05-02
文章: 684

2639.56 果凍幣

發表發表於: 2008-2-22, PM 1:26 星期五    文章主題: immediate 引言回覆

immediate一般用法是個形容詞

不過在計算機組織(應該是計算機組織吧…)的領域中,有時會把它當成名詞來看,意義就跟常數差不多

像是如下的RISC指令:
Addition immediate
addi rt, rs, imm # 將rs暫存器裡的值跟imm的值相加存入rt暫存器

AND immediate
and rt, rs, imm # 跟rs暫存器裡的值跟imm的值做邏輯AND後把結果存入rt暫存器

Shift left logical
sll rd, rt, imm # 將rt暫存器裡的值往左移動imm個位元,並將結果存入rd暫存器。左移後右邊多出來的位元皆填入0

Shift right logical
srl rd, rt, imm # 將rt暫存器裡的值往右移動imm個位元,並將結果存入rd暫存器。右移後左邊多出來的位元皆填入0

如上指令,其中的imm是指任意一個十進位的數字,比如說
addi rt, rs, 43 # 以c++來說,這行就跟rt = rs + 43;是一樣的意思
srl rd, rt, 5 # 以c++來說,這行就跟rd = rt >> 5;是一樣的意思

不過我看有些講義裡似乎會使用像
addi rt, rs, #43

srl rd, rt, #5
這樣的用法來代表imm,我也不知道到底是否應該要在數字前加個#號,又或許加了#號是有特殊的用意,這個就要再查一下,如果有知道其中差異的高手看了此篇,還請幫忙解答一下。

另外底下附加兩題台大研究所的考題,有興趣可以做做看。

請使用上面四個指令的任何「一個」,來完成跟下面c語言敘述同義的RISC碼。在RISC碼中可直接使用c語言的變數名稱來代表暫存器名稱。
(a) b = a / 8;
(b) b = a % 16;
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
happylin
略有貢獻的成員


註冊時間: 2007-07-26
文章: 70

127.34 果凍幣

發表發表於: 2008-2-25, AM 10:06 星期一    文章主題: 引言回覆

引言回覆:

(a) b = a / 8;
(b) b = a % 16;


a) 如果 a 是無號數. 才可以使用srl 來處理/2/2/2 = /8 的問題
srl b,a,#3 右旋3次表示/8

b)
b = a % 16 剛好就是 & 15 的結果(最後4個bit )

所以是
and b,a,#15
回頂端
檢視會員個人資料 發送私人訊息
yag
Site Admin


註冊時間: 2007-05-02
文章: 684

2639.56 果凍幣

發表發表於: 2008-2-25, PM 12:10 星期一    文章主題: 引言回覆

happylin 寫到:
引言回覆:

(a) b = a / 8;
(b) b = a % 16;


a) 如果 a 是無號數. 才可以使用srl 來處理/2/2/2 = /8 的問題
srl b,a,#3 右旋3次表示/8

b)
b = a % 16 剛好就是 & 15 的結果(最後4個bit )

所以是
and b,a,#15

嗯嗯
我忘了加上無號數的限制
話說
你在imm加#號是因為你們當初學的是這樣?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
happylin
略有貢獻的成員


註冊時間: 2007-07-26
文章: 70

127.34 果凍幣

發表發表於: 2008-2-25, PM 7:35 星期一    文章主題: 引言回覆

我沒學過這個組語. 我是看你加跟這加的.

基本上這跟不同的組譯器設計有關係把.
有的組譯器會加有的不會加.
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 板主碎碎唸 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作