现在的位置: 首页 > 综合 > 正文

mips汇编语言之实现swap函数

2013年09月07日 ⁄ 综合 ⁄ 共 1253字 ⁄ 字号 评论关闭
此程序用来交换两个整数
已在pcspim下编译通过

##
##################################################
#
####      programed by stevie zou              ###
#        purpose:to swap two values              #
#####   10-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   $v0,  1        #打印转换前$t1中的值
         move $a0,  $t1
         syscall

         li   $v0,  4        #打印msg2
         la   $a0,  msg2
         syscall

         li   $v0,  1         #打印转换前$t2中的值
         move $a0,  $t2
         syscall

         move $t3,  $t1      #关键部分,在寄存器间move数据
         move $t1,  $t2
         move $t2,  $t3

         li   $v0,  4        #打印msg3
         la   $a0,  msg3
         syscall

         li   $v0,  1        #打印转换后$t1中的值 
         move $a0,  $t1
         syscall

         li   $v0,  4         #打印换行符  /n
         la   $a0,  msg4
         syscall

         li   $v0,  1         #打印转换后$t2中的值
         move $a0,  $t2
         syscall

########### data segment  ##############
         .data
number:  .word 12,34
msg1:    .asciiz  "the first number is:/n"
msg2:    .asciiz  "/nthe second number is:/n"
msg3:    .asciiz  "/nnow they are swapped as:/n"
msg4:    .ascii   "/n"

## end of file

程序运行结果为:

抱歉!评论已关闭.