Search destructured

In a previous post we had this pseudo code for looking for an item in the dictionary:

# We are looking for an entry with key KEY
item := LATEST
while item <> NULL:
    if item.key == KEY: return value
    else: item := item.LINK

# item not found

Let’s start to transform this into a destructured version.

# We are looking for an entry with key KEY
    item := LATEST
    BZ item, done
while:
    if item.key == KEY:
        return value
        JMP done
    else: 
        LD item, *(item + LINK)
    JMP while
done:

# item not found