You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MIPS汇编中输入负数时打印控制台错误提示?

解决MIPS汇编输入负数时打印错误提示的问题

要实现输入负数时打印错误提示,你只需要在数据段添加错误提示字符串,然后修改分支逻辑,先打印错误信息再回到输入流程。以下是修改后的完整代码:

.globl  main

.data
# program output text constants
prompt:
.asciiz "Please enter a positive integer: "
error_msg:
.asciiz "Error: Input must be a positive integer!\n"  # 新增错误提示字符串

.text

main:
    li      $v0,    4                   # 输出输入提示
    la      $a0,    prompt
    syscall 

    li      $v0,    5                   # 获取用户输入
    syscall 

    blt     $v0,    $zero,      error_handler    # 输入为负时跳转到错误处理逻辑

    # 输入为正时执行的后续代码
    # ...(这里保留你原有的业务代码)

    # 程序结束(可选,避免执行到错误处理逻辑)
    li      $v0, 10
    syscall

error_handler:
    li      $v0, 4                   # 打印错误提示
    la      $a0, error_msg
    syscall
    j       main                     # 跳转回输入提示流程

关键改动说明:

  • 在.data段新增了error_msg字符串,存储错误提示内容
  • 将原来直接跳回main的分支指令,改为跳转到新的error_handler标签
  • 添加error_handler代码块:先通过系统调用打印错误信息,再用j指令跳回main重新发起输入请求
  • 新增了程序结束的系统调用(li $v0,10; syscall),避免输入合法时意外执行到错误处理逻辑

内容的提问来源于stack exchange,提问作者Geeky Quentin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 12:54:17