数据/堆栈中的错误地址读取:mips中的0x10040000。找到最多1000000的素数#

时间:2015-03-26 02:28:05

标签: mips

我正在尝试查找从用户获取的数量的素数。我正在使用“Eratosthenes的Sieve”方法(http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)。让我们说采取的数字是n。我存储数字Array1 2,n。 (例如2,3,4,5 ...... n)。然后我会计算找到素数的数量,但首先我想找到错误(异常发生在PC = 0x0040004c,   数据/堆栈中的错误地址读取:0x10040000)计数。此代码现在正在运行,但如果n <65532。我想找到n = 1000000,但是给出了一个错误,我没有找到我的错。如果有人可以帮助我,我感谢...谢谢。

.data 0x10000000
Input: 	.asciiz "Please enter an integer number: "
Array1: 
	.word ?
	.text
	.globl main

main:
	addi $t1,$0,2
	li $v0,4
	la $a0, Input
	syscall
	li $v0,5
	syscall
	addi $t3,$v0,1
	la $s0,Array1
FirstGenerationNumbers:	
	sw $t1, 0($s0)
	addi $s0,$s0,4
	addi $t1, $t1, 1
	beq $t1, $t3, FinishGeneration
	j FirstGenerationNumbers

FinishGeneration:

	
	jr $ra

1 个答案:

答案 0 :(得分:2)

Array1: 
    .word ?

我认为技术上可能是一个数组,但它只是一个非常小的数组: - )

我想你可能想为你的数组分配一个单词。