1
我怎樣寫一個MIPS代碼打印所有數字,大於10的陣列?MIPS,如何打印所有大於數字10
假設:
- 陣列存在於存儲器塊;
- 起始地址寄存器
$t0;
- 數組的大小是在寄存器
$t1;
這是出現在我的期末考試審查表的問題之一,我不知道有關它。因此,我希望任何一個有MIPS的人都能幫助我解決這個問題。
我怎樣寫一個MIPS代碼打印所有數字,大於10的陣列?MIPS,如何打印所有大於數字10
假設:
$t0;
$t1;
這是出現在我的期末考試審查表的問題之一,我不知道有關它。因此,我希望任何一個有MIPS的人都能幫助我解決這個問題。
如果這是你最後的考試學習表,那麼你或許應該瞭解基本的語法已經,這麼說,你需要初始化一個計數器的值,並設置在臨時寄存器中的一個,說$ T2,你開始它在零。在執行結束時通過您的代碼進行每次迭代:
bgt $t2, $t1, BEGINNING_OF_LOOP
這會告訴您是否已通過陣列循環。您存儲10個在寄存器中的一個,說$ T3,並通過陣列中的每個循環,你搶在$ T0的價值,一個單詞的長度遞增寄存器,並檢查該值是否大於10:
lw $t4, $t0
addi $t0, $t0, 4
bgt $t4, 10, CODE_TO_PRINT_VARIABLE
這應該讓你在路上,但是你需要了解MIPS的基本知識才能回答這樣的問題。如果你有時間,我建議你寫出這個簡短的程序。如果您至少可以看到一次控制結構的實際操作,它有助於鞏固您的想法。希望這有幫助,祝你好運!
提示:你需要查找的MIPS彙編操作碼補充登記,註冊和常數,你如何比較和分支機構工作,如何有效地址的工作,如何加載數組的元素,瞭解如何調用的功能等printn或你有什麼,包括如何傳遞一個參數給它。一種方法是用C編寫它並將其編譯爲彙編器,然後研究彙編器。 – 2010-12-13 05:49:15