MIPS Ассемблер языковой программы Power - PullRequest
0 голосов
/ 30 октября 2019

Я учу Мипс, и я не понимаю, что поместить в раздел (заполните коды), и мой учитель вводит в заблуждение всех, так что это попытка понять, поэтому любая помощь приветствуется

# Power program
# ----------------------------------
# Data Segment
.data
var_x:      .word   3

var_y:      .word   5   
result:     .word   0

# ----------------------------------
# Text/Code Segment

.text
.globl  main
main:
    lw  $a0, var_x  # load word var_x in memory to $a0
    lw  $a1, var_y  # load word var_y in memory to $a1
    jal power       # call the function power   
    sw  $v0, result # save word from $v0 to result in memory

    # complete other codes here to print result in console window

    # -----
    # Done, exit program.
    li  $v0, 10     # call code for exit
    syscall         # system call
.end main

# ----------------------------------
#   power
# arguments:    $a0 = x
#       $a1 = y
# return:   $v0 = x^y
# ----------------------------------

.globl  power
power:  
        add   $t0,$zero,$zero   # initialize $t0 = 0, $t0 is used to record how many times we do the operations of multiplication
        addi $v0,$v0,1          # set initial value of $v0 = 1
power_loop: beq $t0, $a1, exit_L    
        mul $v0,$v0,$a0         # multiple $v0 and $a0 into $v0 
        addi $t0,$t0,1          # update the value of $t0   
        j   power_loop
exit_L:     jr  $ra
.end    power
...