好的,所以我有一个任务,我必须找到并打印素数。
我已经完成了,但现在我需要将结果打印到文件中。
长话短说,我如何将整数打印到文件中?
很长的故事
我可以将整数和字符串打印到控制台,所以我的输出如下:
1.) 2
2.) 3
3.) 5
...
我可以很好地将字符/字符串打印到文件中,但我只能打印:
.)
.)
.)
....
有没有办法将整数转换或存储为 MIPS 程序集中的字符串?我的任务不是做一个 MIPS 版本的 iota,所以如果有一个简单的输出一个整数到文件,我会很感激任何见解。
我已阅读此页面: MIPS 文件 I/O 示例
这就是我学会将字符串打印到文件的方式,但我找不到任何关于如何打印程序中计算的整数的信息。从昨晚开始,我一直在寻找一个简单的解决方案,但它让我无法理解。
这是第一个 MIPS 分配,我们必须编写 ac 程序,然后将其转换为 MIPS 程序集,所以我没有太多经验,因此不胜感激。
提前致谢。
这是我想要处理的代码部分,如您所见,我正在尝试在文本文件中镜像控制台上所期望的内容。我正在使用 MARS MIPS 模拟器。
FOR:
beq $t0, $t1, EndFOR
IF:
jal test_prime
bne $s1, 1, EndIF
addi $s0, $s0, 1 #Increment 'c'.
#Print 'c', the nth counted place of the found Prime Integer.
li $v0, 1
move $a0, $s0
syscall
sw $s0, buffer($0)
li $v0, 15
move $a0, $s7
la $a1, buffer
li $a2, 1
syscall
#Print '.) '
li $v0, 4
la $a0, dotP
syscall
li $v0, 15
move $a0, $s7
la $a1, dotP
li $a2, 3
syscall
#Print the Prime integer, 'i'.
li $v0, 1
move $a0, $t0
syscall
#Print a New Line.
li $v0, 4
la $a0, newL
syscall
li $v0, 15
move $a0, $s7
la $a1, newL
li $a2, 1
syscall
EndIF:
IF2:
beq $s0, 100, EndFOR #Once 100 Prime Integers have been found, escape out of the 'For' loop.
EndIF2: #Not Necessary, but just there to have a complete coding style.
addi $t0, $t0, 1 #Increment 'i'.
j FOR
EndFOR: