按Enter继续程序(MIPS)

问题描述 投票:0回答:1

所以我用mips制作了一个简单的基于RPG文本的冒险游戏(大约有2200行代码,与我的问题无关,所以我不会发布它)。我想格式化它,所以在打印一行文本后,用户必须按回车键才能显示下一行(也就是继续下一条指令),类似于视频游戏文本框的工作方式。有任何想法吗?

谢谢!

assembly mips enter mars-simulator
1个回答
0
投票

我在一个小程序中添加了类似的东西。我用了提示然后读了一个字符。我把它放在循环上,直到用户按下Enter键,ASCII码10.有些帖子会将ENTER键调用为ASCII 13(回车),但在Mac上读为10。无论哪种方式,您还可以将读取的char显示为int(sys代码1)以查看您获得的内容(10或13)。

以下是我使用的代码:

.data
    contPrompt: .asciiz "Press ENTER to continue...\n"
    newLine: .asciiz "\n"



.text

# your other code goes here

    jal readEnter

# next instruction in your code

....

readEnter: # Ask user to press ENTER to continue
    li $v0, 4
    la $a0, contPrompt
    syscall
    li $v0, 12 # sys code for readchar
    syscall

    move $t0, $v0

    li $v0, 4
    la $a0, newLine
    syscall

    bne $t0, 10, readEnter # repeat if not ENTER

    jr $ra # return to the calling subroutine

我不确定你是否在寻找更复杂的东西,但这对我的目的很有用。

© www.soinside.com 2019 - 2024. All rights reserved.