[理工] [計組]97交大資工考古

看板Grad-ProbAsk作者 (chi)時間13年前 (2012/10/26 01:58), 編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/1
http://www2.lib.nctu.edu.tw/n_exam/exam97/cslz/cslz1006.pdf 第五大題c小題有問題的地方 不太懂高銘解答上說 (163841)word數>往上可跳躍的word數→無法跳到欲執行的指令(32768) 欲執行哪條指令?? 然後d小題要如何改? 麻煩大大們解惑謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 106.1.17.157

10/26 02:45, , 1F
把32GB的memory切成16個區塊 jump只能在區塊中跳
10/26 02:45, 1F

10/26 02:48, , 2F
branch的話則是後16bit決定跳的word數
10/26 02:48, 2F

10/26 02:48, , 3F
可以往上下跳16bit可以表達的範圍 2^15-1~-(2^15)
10/26 02:48, 3F

10/26 02:49, , 4F
而L1的address和bne指令的address差距不足以用branch去
10/26 02:49, 4F

10/26 02:50, , 5F
表示 所以改用jump就可以跳過去(因為在相同區塊)
10/26 02:50, 5F

10/26 02:51, , 6F
branch可以跳範圍 4(2^15-1)~4(-2^15) byteaddress
10/26 02:51, 6F

10/26 02:54, , 7F
[bne s0 s1 L2 ] [jump L1] [ L2: ]
10/26 02:54, 7F

10/26 02:55, , 8F
因為題目的意思是改成s0s1相等然後跳到L1
10/26 02:55, 8F

10/26 02:55, , 9F
所以遵照題意
10/26 02:55, 9F

10/26 19:05, , 10F
感謝!!想通了
10/26 19:05, 10F
文章代碼(AID): #1GYNtXWU (Grad-ProbAsk)