在汇编语言中要实现转换两个整数,可使用以下代码:
move $t3, $t1
move $t1, $t2
move $t2, $t3
在以下代码中要使用临时寄存器$t3
现在有一种优化算法,可以不使用临时寄存器:
xor $t1, $t1, $t2
xor $t2, $t1, $t2
xor $t1, $t1, $t2
该算法效率更高
测试程序:
##
##################################################
#
#### programed by stevie zou ###
# purpose:to swap two values #
##### 5-15-2008 ######### ################
##
############# text segment ###############
.text
.globl main
main: la $t0, number #读取两个整数并放入寄存器$t1,$t2
lw $t1, 0($t0)
lw $t2, 4($t0)
li $v0, 4 #打印msg1
la $a0, msg1
syscall
li $v
move $t3, $t1
move $t1, $t2
move $t2, $t3
在以下代码中要使用临时寄存器$t3
现在有一种优化算法,可以不使用临时寄存器:
xor $t1, $t1, $t2
xor $t2, $t1, $t2
xor $t1, $t1, $t2
该算法效率更高
测试程序:
##
##################################################
#
#### programed by stevie zou ###
# purpose:to swap two values #
##### 5-15-2008 ######### ################
##
############# text segment ###############
.text
.globl main
main: la $t0, number #读取两个整数并放入寄存器$t1,$t2
lw $t1, 0($t0)
lw $t2, 4($t0)
li $v0, 4 #打印msg1
la $a0, msg1
syscall
li $v