close
10005

計算機組織 MIPS組語

我只對虛擬直接定址有問題格式 j(6bit)address(26bit)首先老師教我們由指令較低的26位元和PC較高的位元合併例: j---25002500*4=10000換成16進位=00002710而我們只要前面的7位數字(28bit

之所以28bit是因為左移2次所以乘4)接下來和PC一個4bit合併

假設PC指到 1xxxxxxx

我們只需最前面的1位(4bit)最後變成10002710H而有一題 40020--------------Loop: sll $t1

$s3

2 40024----------------------add $t1

$t1

$s6 40028----------------------lw $t0

0($t1) 40032----------------------bne $t0

$s5

Exit 40036----------------------addi $s3

$s3

1 40040----------------------j Loop最後一個的機械碼為 2-----20000照老師講解的我做一次

希望能看我觀念錯再哪假設他為8bit

你經過左移2次(*4)的值出來應該為 0040020(因為pc的高位元0)跟pc 起來所以為00040020

要求原本的

所以要右移回來2次00040020 = 0000--0000--0000--0100--0000--0000--0010--0000變成0000--0000--0000-0000--0001--0000--0000--0000--1000答案為j--10008

可是答案卻是j--10005
看仔細點你會發現題目的地址是十進位的

你的組合語言例子也使用十進位地址。

例如 j---2500 的 2500是十進位的。

所以應該是 40020/4=10005 (十進位)不是 40020/4=10008 (十六進位)

mips指令,mips組合語言,mips是什麼,mips cpu,mips arm,mips架構,mips計算,mips教學,mips code,mips語言MIPS,計算機,直接定址,組織,16進位,address,6bit,位元,有問題,組合語言

函數|read|矩陣|撰寫|程式設計|程式|連結|運算|API|陣列|會員登入|會員管理|線性|8051|C|數值|do-while|進位|指令|讀取|C |題目|字串|迴圈|code|語法|for|堆疊|

10005
參考:http://tw.knowledge.yahoo.com/question/question?qid=1609112600539如有不適當的文章於本部落格,請留言給我,將移除本文。謝謝!
arrow
arrow

    10401 發表在 痞客邦 留言(0) 人氣()