mips汇编语言编写计数器

来源:互联网 发布:ddos防御软件 编辑:程序博客网 时间:2024/05/20 20:04
这是一个简单的mips汇编语言编写的计数程序,用户被要求输入一个整数n,程序则一次输入从一到n的整数。程序具有简单的错误处理功能。源代码如下:

以下程序已在pcspim7.0下编译通过

##
##############  counter ############
####### by stevie zou ########
########## 10-20-2008  ##
##

#------------text segment-------------------#

         .text
         .globl main
        
error:                      #错误处理,若输入整数不再指定范围内,从新输入
         li      $v0,   4
         la      $a0,   errormsg
         syscall

         j get
        
main:
         addi    $s0,   $zero,  21
get:
         li      $v0,   4
         la      $a0,   str1
         syscall

         li      $v0,   5
         syscall
        
         slt     $s1,   $v0,   $s0        #判断输入整数是否在范围内
         beq     $s1,   $zero, error
         blez    $v0,   error 
        
         move    $t0,   $v0

         add     $t1,   $0,  $0     #初始化$t1

loop:
         addi    $t1,    $t1,   1    #i++
         li      $v0,    1           #打印整数
         move    $a0,    $t1
         syscall

         la      $a0,    nline         
         li      $v0,    4
         syscall
  
         slt     $t2,    $t1,   $t0     #判断$t1是否达到上界
         bnez    $t2,    loop

         li      $v0,    10             #退出
         syscall

#-------------------data segment--------------------#      

         .data
str1:    .asciiz "please give an integer from 1 to 20:"
errormsg: .asciiz "out of range(1 to 20)/n"
nline:    .asciiz "/n"

###----end of file     
 
程序运行结果:

原创粉丝点击