检查内存中是否已存在该值

时间:2015-10-06 00:47:48

标签: assembly mips spim

我不知道如何查看内存地址并查看数组内是否存在单词。

如果我有以下代码,其中$ t0包含数组的基址

.data
array: .space 800 #For 200 integers

la $t0, table
sw $t1, 0($t0) #Add the value at t1 to the table

现在我如何检查我添加的单词是否已经在表格中?

1 个答案:

答案 0 :(得分:0)

也许你可以选择这样的事情:

.data
array: .space 800       #200 int á 4 bits
value: .word 0          #value

table: #some crazy value....

.text

.globl Main
MAIN:
    li $t0, 0           #Loop-Start_Point
    li $t1, 200     #LOOP-Break-Point
    la $t2, table       #load table
    addi $t4, $t2, 0    #store table address
    lw $t5, value       #load value
    li $t6, 4           #load multiplier


LOOP:   
    mul $t3, $t0, $t6   #calculate offset
    addi $t2, $t2, $t3     #add offset
    beg $t2, $t5, END      #check if value is in table
    addi $t0, $t0, 1       #add 1 to loop count
    blt $t0, $t1, LOOP   #if loop not finish -> LOOP:

STORE:
    sw $t5, ($t4)      #add value

END: