В следующем примере программы мы выполним поиск элемента в массиве. Программа вернёт в аккумуляторе индекс найденного элемента. Если элемент не будет найден, то в аккумуляторе вернёт значение -1.
- ; Автор: Довгополов Евгений Сергеевич
- array:_db 01h, 02h, 03h, 04h, 05h, 06h, __________07h, 08h, 09h, 0Ah, 0Bh, 0Ch, __________0Dh, 0Eh, 0Fh, 10h, 11h, 12h, __________13h, 14h
- main:
- ____mvi ____c, 14h
- ____mvi ____d, 00h
- ____lxi ____h, array
- FindLoop:
- ____mov ____a, m
- ____cpi ____04h
- ____jz _____Found
- ____inx ____h
- ____inr ____d
- ____dcr ____c
- ____jnz ____FindLoop
- ____mvi ____a, 0FFh
- ____hlt
- Found:
- ____mov ____a, d
- ____hlt