mips

    0熱度

    1回答

    我自配C++和JavaScript來MIPS大會 調用一個或多個功能時,包括遞歸什麼是保存在棧中的全局變量,最好的辦法語言開發編譯器? 在主函數中,全局變量和局部變量位於堆棧中,從$ fp開始,該部分運行良好。 但是,在調用另一個函數時,我使用的方法會保存返回地址$ ra並設置新的$ fp和$ sp。 這意味着我無法再訪問保存全局變量的舊$ fp地址。 如何繼續? 下圖描述了我正在使用的過程。從森

    0熱度

    1回答

    我在讀一本關於MIPS的書。在那本書中,我找到了下圖,其中D代表數據,Clk是時鐘。有人可以解釋我,因爲我不是來自電氣工程背景(我來自計算機工程背景)。數據中的十字(數字)是什麼?

    0熱度

    1回答

    A,B,C是長度爲6,以及基地址的陣列中的寄存器被發現如下: A=[0 1 2 3 4 5], Base = $t0 B=[1 3 5 7 9 11] Base = $t1 C=[0 5 2 6 3 8] Base = $t2 現在的代碼本身: add $t4, $zero, $zero Loop: add $t5, $t4, $t1 lw $t6, 0($t5)

    1熱度

    1回答

    我試圖打印任何整數輸入的二進制數字,並將它們存儲在數組中,從最後一個索引開始。然後我試圖從數組中打印出來。 .data prompt: .asciiz "Enter an int: " errorLarge: .asciiz "Error Value to large CANNOT be held in 16 bit" errorSmall: .asciiz "Error Value is

    0熱度

    2回答

    我想更好地理解棧上的項目以及如何解決它們。我發現here的文章似乎表明,當MIPS堆棧被初始化時,將分配固定數量的內存,並且堆棧增長到堆棧限制,這看起來是較小的地址。我會假設基於這種邏輯,當遍歷0x0000時會發生堆棧溢出? 我意識到MIPS是大端,但這是否會改變棧的增長?我寫了我認爲可以在x86_64機器上觀察到這種情況的一種快速方法,但堆棧似乎正在成長,正如我原先假定的那樣。 #include

    -1熱度

    1回答

    下面是彙編語言代碼,除了測試符號溢出: addu $t0, $t1, $t2 xor $t3, $t1, $t2 slt $t3, $t3, $zero bne $t3, $zero, No_overflow xor $t3, $t0, $t1 slt $t3, $t3, $zero bne $t3, $zero, Overflow 什麼是人類語言的確切含義是什麼?

    0熱度

    1回答

    我一直對多路複用器的概念感到困惑。我只是想知道32位n對1多路複用器的結構是什麼。

    0熱度

    1回答

    我最近開始探索MIPS,我不確定是否理解這段代碼。 addi s4, $0, 0 // s4 = 0; addi s1, $0, 7 // s1 = 7; addi t2, $0, 7 // t2 = 7; addi s0, $0, 1 // s0 = 1; addi t1, $0, 21 // t1 = 21; L1: addi s1, $0, 0 //

    0熱度

    1回答

    目前,我正在學習一個測試,下面的問題是在舊考試之一: 給從當前指令1.073.742.000(十二月)到221860跳躍的MIPS代碼(十二月)。 現在第一個問題是j標籤指令比jr指令更有效嗎? 第二我假設221860超出範圍從1073742000跳轉,因爲它在不同的256 MB塊?那麼在這種情況下,我將別無選擇,只能使用jr對嗎?

    0熱度

    1回答

    我使用GCC編譯器。取消-mno-gpopt標誌 後,我在編譯過程中收到以下錯誤: c:/................../ld.exe: small-data section exceeds 64KB; lower small-data size limit (see option -G) .....................:(.text._ii_sem+0x56): reloc