MIPS 兩個數的和(輸入,計算,輸出)

2022-08-10 07:24:13 字數 1136 閱讀 5359

c語言

void main()

彙編

.data

control: .word32

0x10000

data: .word32

0x10008

tips1: .asciiz

"enter the 1st number:

"tips2: .asciiz

"enter the 2st number:

"tips3: .asciiz

"the sum=

".text

main:

lwu r31,control(r0)#控制暫存器

lwu r30,data(r0)#變數暫存器

daddi r28,r0,tips1 #tips1位址給r28

daddi r29,r0,

4sd r28,(r30) #變數暫存器得到變數位址

sd r29,(r31) #控制暫存器得到4(輸出字串)

daddi r29,r0,8;

sd r29,(r31) #控制暫存器

8(讀入)

ld r26,(r30) #得到內容給r26

daddi r28,r0,tips2 ;output tips2

daddi r29,r0,

4sd r28,(r30)

sd r29,(r31)

daddi r29,r0,

8;read input value to r27

sd r29,(r31)

ld r27,(r30)

daddu r25,r26,r27 #r25=r26+r27

daddi r28,r0,tips3 ;output tips3

daddi r29,r0,

4sd r28,(r30)

sd r29,(r31)

daddi r29,r0,

1sd r25,(r30)

sd r29,(r31) #控制暫存器

1(輸出整型)

mips基礎指令

輸入任意兩個數,找到兩個數之間的回文數

如題,編寫乙個這樣的程式實現找出兩個數之間的回文數,先介紹下什麼是回文數,回文數就是這個數正過來寫和反過來寫的數值是相等的,如12321,反過來寫還是12321.先上 include include include using namespace std bool fun int void main...

POJ2562 輸入兩個數計算進製

如題,一開始想用陣列去做想想覺得逐個位判斷即可,注意特殊資料999 1 等 include include include include include using namespace std int main if a 0 b 0 break 結束標誌還是得注意其中乙個為零還得繼續計算 n值。如...

計算兩個數 不同位數的個數

先來分析一下,比如456和457,不同的位數即為1.異或是相同為0,不同為1.我們可以使用異或來方便的解決這個問題,把這兩個數異或可以拿到乙個二進位制數,有多少個1就有多少不同的位數,所以主要任務就成為了如何拿到乙個數一的個數,這最好的辦法就是每次右移一位,然後與1,這也是拿到1的個數的最便利的方法...