mips組合語言筆記

2021-10-06 08:50:29 字數 772 閱讀 5267

因為乙個課程涉及mips組合語言,自己做一些筆記。

部落格還有乙個b站的,查mips能查到那個文章。

(注意 彙編使用的位址也是邏輯位址,有偏移量,通過硬體進行轉化。比如乙個 la操作就會進行對記憶體的好幾次訪問)

具體暫存器操作貼乙個圖

1 往a0裡寫資料。

3種方式。1 寫立即數 li $a0 1

2 暫存器定址

sw $t0 $s0 // t0暫存器內容放到s0所在的記憶體位址中

lw $t0 $s0 從s0中的內容做位址,從記憶體中讀放t0中。

sw t04(

t0 4(

t04(

s0) 帶偏移量

另外還有倆問題。寫一下

1 move t2,

t2,t2

,t3 是移動,但是我看**,好多有 add t2,

t2,t2

,t3,$zero (zero永是0,所以這倆意思一樣,但是區別是啥。)

2 跳轉指令這裡還不太會。jar 跳轉出乙個死迴圈。。jr沒用過。我跳轉是用 if語句跳轉的。

這裡需要加強一下。

C語言轉成MIPS組合語言

功能 隨機輸入兩個整數,然後計算這兩個數的最小公倍數和最大公約數,並作為計算結果輸出。include stdio.h include conio.h int main a num1 b num2 while b 0 一直重複賦值和計算,直到找到正確結果 printf gongyueshu d n a...

MIPS組合語言實現選擇排序

mips組合語言實現排序演算法,其實並不難。只要你掌握了基本的指令語句,並且熟悉c或c 相關演算法,即可輕鬆寫出來。對於mips組合語言還不太熟悉的夥伴,可以參考下面這篇部落格 它的具體實現 如下 c include using namespace std int main num index nu...

組合語言筆記

1 暫存器操作 cs暫存器不能用mov指令賦值,需要用jmp等調轉指令。但還可以將cs暫存器的值mov到暫存器或者記憶體 ds暫存器可以用mov賦值,通常是這樣操作 mov bx 位址 mov ds bx。可以將ds中的值mov到暫存器或者記憶體。2 實模式和保護模式 實模式 實模式下訪問記憶體是通...