WIP: Hashset #24
@@ -78,6 +78,8 @@ pub contains:
|
|||||||
add r9, r2, r3 ; Pointer to bucket
|
add r9, r2, r3 ; Pointer to bucket
|
||||||
|
|
||||||
load_32 r3, [r9] ; First hash
|
load_32 r3, [r9] ; First hash
|
||||||
|
cmp r3, rz
|
||||||
|
je contains_notfourth ; If hash is zero, no items left to check
|
||||||
cmp r12, r3
|
cmp r12, r3
|
||||||
jne contains_notfirst
|
jne contains_notfirst
|
||||||
; First item hash passed - checking equality
|
; First item hash passed - checking equality
|
||||||
@@ -87,6 +89,8 @@ pub contains:
|
|||||||
contains_notfirst:
|
contains_notfirst:
|
||||||
add r9, r9, 8
|
add r9, r9, 8
|
||||||
load_32 r3, [r9] ; Second hash
|
load_32 r3, [r9] ; Second hash
|
||||||
|
cmp r3, rz
|
||||||
|
je contains_notfourth ; If hash is zero, no items left to check
|
||||||
cmp r12, r3
|
cmp r12, r3
|
||||||
jne contains_notsecond
|
jne contains_notsecond
|
||||||
; Second item hash passed - checking equality
|
; Second item hash passed - checking equality
|
||||||
@@ -96,6 +100,8 @@ pub contains:
|
|||||||
contains_notsecond:
|
contains_notsecond:
|
||||||
add r9, r9, 8
|
add r9, r9, 8
|
||||||
load_32 r3, [r9] ; Third hash
|
load_32 r3, [r9] ; Third hash
|
||||||
|
cmp r3, rz
|
||||||
|
je contains_notfourth ; If hash is zero, no items left to check
|
||||||
cmp r12, r3
|
cmp r12, r3
|
||||||
jne contains_notthird
|
jne contains_notthird
|
||||||
; Third item hash passed - checking equality
|
; Third item hash passed - checking equality
|
||||||
@@ -105,6 +111,8 @@ pub contains:
|
|||||||
contains_notthird:
|
contains_notthird:
|
||||||
add r9, r9, 8
|
add r9, r9, 8
|
||||||
load_32 r3, [r9] ; Fourth hash
|
load_32 r3, [r9] ; Fourth hash
|
||||||
|
cmp r3, rz
|
||||||
|
je contains_notfourth ; If hash is zero, no items left to check
|
||||||
cmp r12, r3
|
cmp r12, r3
|
||||||
jne contains_notfourth
|
jne contains_notfourth
|
||||||
; Fourth item hash passed - checking equality
|
; Fourth item hash passed - checking equality
|
||||||
|
|||||||
Reference in New Issue
Block a user