mips

    0熱度

    1回答

    這裏是addiu指令操作碼(16位指令,GCC選項-mmicromips): full instruction: addiu sp,sp,-280 opcode, hexa: 4F75 opcode, binary: 1001(instruction) 11101(sp is $29) 110101 我的目的是爲了檢測這種類型的所有指令(addiu sp,sp,) 和然後在上面的情況

    1熱度

    1回答

    鏈接到:How to get a call stack backtrace?(GCC,MIPS,no frame pointer) 我通過使用匯編代碼和用戶堆棧迭代函數來再現調用堆棧(更多細節請參見上面的鏈接)。 我必須找到每個函數前面$ SP,大部分功能開始下面的指令: addiu sp, sp, -80 我不難得出結論,從操作碼之前的$ SP。 問題是我發現即使使用堆棧也不會改變$ sp的函數

    1熱度

    1回答

    因此,我知道MIPS以32位運行,並且這些字是8位(4個字節)。 如果我有下面的代碼, .data .word 5 .asciiz "Hi" 我知道有存儲一個字,它必須是4個字節,但如何確定在第三行的字節數?我問過我的老師尋求幫助,但她一直參考我下面的例子: .asciiz "help" 顯然,這是5個字節,但我不能看到如何或爲何是5個字節。我很感謝一些澄清,我的教師不願意分享技術

    0熱度

    1回答

    如何接受MIPS中浮點數的輸入?我曾嘗試使用: li.s $f0, 6 syscall 但我只是不斷收到該行有錯誤。

    0熱度

    1回答

    我正在處理排序整數數組的排序程序,爲此我將用戶輸入的數組複製到要變異的新數組中。但是,我不確定我是否正確地做了。 .globl main .data input: .asciiz "Enter the size of the array: \n" entries: .asciiz "Enter the elements of the array, one line at a time:

    0熱度

    1回答

    假設當前的PC是0x00400010(增量後)並且目標標籤的值爲0x00400040。指令中常量的二進制值是多少? beq $s0, $s0, target 我不太確定如何解決這個問題。我希望有一個提示,或解釋如何找到解決方案。

    0熱度

    1回答

    對於此任務,我需要能夠根據用戶從0到50的輸入值創建一個大小爲n的數組。到目前爲止,這是以下所做的。如果您對整體問題有任何建議,那也會非常有幫助。 a)提示用戶輸入範圍在0到50之間的整數。如果用戶輸入0,程序將停止。 b)否則,程序將從0直到輸入值的數字存儲到存儲器中的字數組中,即用從0到N的值初始化該數組,其中N是用戶輸入的值。 c)然後,程序通過從主存儲器中加載數組,將它們的所有項目的值加到

    0熱度

    1回答

    所以,最近我一直在服用裝配類,其中一人給了我一個任務。我編碼了除最後一部分以外的所有內容...我只需要在給定數組中添加數字並打印總和...容易吧? 沒有,我當我運行它說,該行12超出範圍出於某種原因有一個錯誤=/ 所以,這裏是我的代碼: .data array: .word 1,2 size: .word 2 la $s0, array lw $s1, size li $t9, 0

    1熱度

    1回答

    我正在編寫一個程序來確定一個整數是偶數還是奇數。該程序首先要求用戶輸入一個整數,並根據該整數是什麼來打印「偶數」和「奇數」。我無法創建If-else語句。 該語句應該是,如果$ t2 = $ t0,則輸出「Odd」,否則輸出「Even」。這是我現在已經不工作的代碼($ T1 = 1,$ T2 =用戶與1整數AND'd,odd_str = 「奇」,even_str = 「連」): bne $t2,

    -1熱度

    1回答

    我想從用戶輸入的數字倒數,並希望顯示數字和0之間的所有整數。我的輸出我相信去然後它在1處進入無限循環。它似乎永遠不會變爲零。 我剛開始學習大會,所以如果這是一個糟糕的問題,我會提前道歉。 感謝 這裏是我的代碼: .globl main .data msg: .asciiz "Input a number: " x: .word 1 .text main: