Pointers 在MIPS/MARS中如何在反转前添加/打印用户输入
这是我在火星上的密码。它请求一个名称并将其反转。示例输出: 输入您的姓名(格式为“FIRST-LAST”):arya stark 相反的是:斯塔克,雅利娅 --程序已完成运行(从底部掉落)-- 我想说: 输入您的姓名(格式为“FIRST-LAST”):arya stark 雅利娅·斯塔克反过来说是:斯塔克,雅利娅 --程序已完成运行(从底部掉落)-- 我该怎么做Pointers 在MIPS/MARS中如何在反转前添加/打印用户输入,pointers,assembly,mips,sql-server-mars,mips64,Pointers,Assembly,Mips,Sql Server Mars,Mips64,这是我在火星上的密码。它请求一个名称并将其反转。示例输出: 输入您的姓名(格式为“FIRST-LAST”):arya stark 相反的是:斯塔克,雅利娅 --程序已完成运行(从底部掉落)-- 我想说: 输入您的姓名(格式为“FIRST-LAST”):arya stark 雅利娅·斯塔克反过来说是:斯塔克,雅利娅 --程序已完成运行(从底部掉落)-- 我该怎么做 ############################ data segment #########################
############################ data segment ################################
.data
promptuser: .asciiz "Enter your name (format 'FIRST LAST'): "
putComma: .asciiz ", " #prompt for string
userinput: .space 400 #string that user enters
reverse: .asciiz " reversed is : " #prompt for string
############################ code segment ################################
.text
.globl main
main:
li $v0, 4
la $a0, promptuser #prints a srting prompt to the user
syscall
li $v0, 8
la $a0, userinput #asks the user to enter name
li $a1, 100
syscall
move $s0, $a0 #move data to s0
move $s1, $a1
li $v0, 4
la $a0, reverse #prompt to reverse
syscall
move $s1,$s0
loop:
#loop while end of string
lb $a0, 0($s0) #load first character to a0
addi $s0, $s0, 1 #add index by one
beq $a0, $zero, exit #else print character
beq $a0, 32, exitLoop #if current character is space go to loop
j loop
exitLoop:
loopPrint:
lb $a0, 0($s0) #load first character to a0
addi $s0, $s0, 1 #add index by one
beq $a0, $zero, printOtherStr #else print character
beq $a0, 10, printOtherStr #else print character
beq $a0, 32, exit #if current character is space go to loop
li $v0, 11
syscall
j loopPrint
printOtherStr:
li $v0, 4
la $a0, putComma #padding comma to name
syscall
printOther:
lb $a0, 0($s1) #load first character to a0
addi $s1, $s1, 1 #add index by one
beq $a0, $zero, exit #else print character
beq $a0, 32, exit #if current character is space go to loop
li $v0, 11
syscall
j printOther
exit: