不涉及特殊暫存器lo、hi:
movn:判斷位址為rt的通用暫存器的值,如果不為零,將位址為rs的通用暫存器的值賦給位址為rd的通用暫存器;反之,儲存rd的值涉及特殊暫存器lo、hi:movz:與movn相反。判斷位址為rt的通用暫存器的值,如果為零,將位址為rs的通用暫存器的值賦給位址為rd的通用暫存器;反之,儲存rd的值
mfhi:將特殊暫存器hi的值賦給位址為rd的通用暫存器r型指令op[31:26]mflo:將特殊暫存器lo的值賦給位址為rd的通用暫存器
mthi:將位址為rs的通用暫存器的值賦給特殊暫存器hi
mtlo:將位址為rs的通用暫存器的值賦給特殊暫存器lo
rs[25:21]
rt[20:16]
rd[15:11]
sa[10:6]
func[5:0] 名稱
指令用法
指令作用
指令碼[31:26]
移位相關[10:6]
功能碼[5:0]
movn
movn rd, rs, rt
if rt ≠ 0 then rd
6』b 00_0000
5』b 00000
6』b 00_1011
monz
monz rd, rs, rt
if rt = 0 then rd
6』b 00_0000
5』b 00000
6』b 00_1010
mfhi
mfhi rd
rd 6』b 00_0000
5』b 00000
6』b 01_0000
mflo
mflo rd
rd 6』b 00_0000
5』b 00000
6』b 01_0010
mthi
mthi rs
hi 6』b 00_0000
5』b 00000
6』b 01_0001
mtlo
mtlo rs
lo 6』b 00_0000
5』b 00000
6』b 01_0011
用於儲存乘法、除法結果。當用於儲存乘法結果,hi暫存器儲存結果的高32位,lo暫存器儲存結果的低32位;當用於儲存除法結果,hi暫存器儲存餘數,lo暫存器儲存商
自己動手寫CPU(9) 轉移指令說明
跳轉指令是絕對轉移 jr 將位址為rs的通用暫存器的值賦值給暫存器pc jalr 將位址為rs的通用暫存器的值賦值給暫存器pc,作為新的指令位址,同時將跳轉指令後面指令的位址作為返回位址儲存在位址為rd的通用暫存器,如果沒有在指令中指明rd,那麼預設將返回位址儲存到 31 op 31 26 rs 2...
自己動手寫bootloader
原始出處 作者資訊和本宣告。否則將追究法律責任。為了寫乙個bootloader讓板子跑起來,首先我們要知道bootloader是個什麼東東才行。簡單的說,bootloader就是乙個引導核心啟動的一段小 也就是說當啟動完核心之後,它的使命就已經結束。bootloader生命週期 初始化硬體 設定啟動...
自己動手寫CMS
簡易的cms外掛程式,可供借鑑或者擴充套件 流程 定義內容 分類與組織內容 儲存內容 操作控制內容 定義內容 制定目標 確定需要的內容型別 目標使用者定位 確定目標使用者需要何種技術 分類與組織內容 按內容所屬的邏輯層級關係來劃分 按內容的種類來劃分,比如video text audio等等 儲存內...