0
    .text
main:
    la  $a0,n1
    la  $a1,n2
    jal     swap
    li  $v0,1   # print n1 and n2; should be 27 and 14
    lw  $a0,n1
    syscall
    li  $v0,11
    li  $a0,' '
    syscall
    li  $v0,1
    lw  $a0,n2
    syscall
    li  $v0,11
    li  $a0,'\n'
    syscall
    li  $v0,10  # exit
    syscall

swap:
    xor $a0 $a0 $a1
    xor $a1 $a0 $a1
    xor $a0 $a0 $a1
    jr $ra


L1: 

    .data
n1: .word   14
n2: .word   27

好的,所以我的目标是添加要交换的目标

但是,无论我对 swap 中的变量做什么,它似乎都没有被保存,我正在编辑 a0 和 a1,这不应该吗?

代码总是打印 14 和 27

4

0 回答 0