首页 > 解决方案 > 在 MIPS 汇编语言中拆分字符串并存储为 2 个整数变量

问题描述

我目前正在做一个程序,需要用户输入一个 7 位数字的字符串,然后分成 2 个不同的整数变量来执行一个方程。

字符串的示例是 1900991:我想将前 3 位数字 190 拆分为整数 G,将 0991 拆分为整数 K,这样我就可以使用它们与其他 2 个用户定义的整数做方程式。

任何帮助表示赞赏。我是汇编语言的超级新手.....谢谢!以下是我到目前为止的代码

.data 
prompt: .asciiz "Please enter a value between 1-99: "
prompt2:.asciiz "Please enter a value between 2-4: "
message1:.asciiz "The first value is "
message2:.asciiz "\nThe second value is "
messageName: .asciiz "\nYour name is "
messageID: .asciiz "\nYour student id is "
messageResult: .asciiz "\nYour result is "
nameInput: .space 20
idInput:.space 20

。文本

main:

li $v0,8
la $a0,nameInput
li $a1,20
syscall

li $v0,8
la $a0,idInput
li $a1,20
syscall

#Display hello
li $v0,4
la $a0,messageName
syscall

#Display name
li $v0,4
la $a0,nameInput
syscall

#Display hello
li $v0,4
la $a0,messageID
syscall

#Display name
li $v0,4
la $a0,idInput
syscall

#Prompt for user value 1
li $v0,4
la $a0,prompt
syscall

#get value 1
li $v0,5
syscall

#store the value 1 into temp value 1
move $t0,$v0

#Prompt for user value 2
li $v0,4
la $a0,prompt2
syscall

#get value 2
li $v0,5
syscall

#store value 2 into temp value 2
move $t1,$v0

#display value 1
li $v0,4
la $a0,message1
syscall

li $v0,1
move $a0,$t0
syscall

#display value 2
li $v0,4
la $a0,message2
syscall

li $v0,1
move $a0,$t1
syscall

#Display result (1)
li $v0,4
la $a0,messageResult
syscall

#Display result
jal equation
li $v0,1
addi $a0,$v1,0
syscall

#tell the system this is the end of main
li $v0,10
syscall

标签: stringassemblymips

解决方案


推荐阅读