zoukankan      html  css  js  c++  java
  • MIPS 两个数的和(输入,计算,输出)

    C语言

    Void main()
    { 
       unsigned int num1,num2;    //16位
       scanf(“
    Enter the 1st number:%d”,&num1);
       scanf(“
    Enter the 2nd number:%d”,&num2);
       Printf(“The sum = %d”,num1+num2);
    
    }

    汇编

    .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,4 
    sd 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,4
    sd 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,4
    sd r28,(r30)
    sd r29,(r31)
    
    daddi r29,r0,1 
    sd r25,(r30)
    sd r29,(r31) #控制寄存器 1 (输出整型)
    
    halt

    MIPS基础指令https://blog.csdn.net/flyingqr/article/details/7072977

  • 相关阅读:
    Linux
    Linux
    Linux
    Linux
    Linux
    shell tr命令
    grep 正则表达
    shell 运算符
    shell 重定向
    bzoj 1026 DP,数位统计
  • 原文地址:https://www.cnblogs.com/ZCM98/p/12906869.html
Copyright © 2011-2022 走看看