0
我不知道如何檢查內存地址並查看數組內是否存在單詞。檢查內存中的值是否已經存在
如果我有下面的代碼,其中$ T0包含數組
.data
array: .space 800 #For 200 integers
la $t0, table
sw $t1, 0($t0) #Add the value at t1 to the table
的基地址現在我將如何檢查,如果我加入這個詞已經在表中?
我不知道如何檢查內存地址並查看數組內是否存在單詞。檢查內存中的值是否已經存在
如果我有下面的代碼,其中$ T0包含數組
.data
array: .space 800 #For 200 integers
la $t0, table
sw $t1, 0($t0) #Add the value at t1 to the table
的基地址現在我將如何檢查,如果我加入這個詞已經在表中?
也許你可以用一些像這樣的東西去:
.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:
通過所有的項目維護元素的計數數組中,然後簡單地循環和檢查,如果你發現了它。哪一部分導致你的問題? – Jester
主要是循環本身,當我想到它時,我將不得不遍歷數組本身,如果它存在分支。但是,我將如何遍歷數組? –
哦,等等,我不得不將索引增加4。我想我明白要做什麼,我會去嘗試它。 –