segment .data
data db "hello world", 0
length equ $ - data - 1
loc dq 0
n dq length
needle db 'o'
segment .text
global main
main:
push rbp
mov rbp, rsp
sub rsp, 32
mov al, [needle]
mov ecx, [n]
more: cmp [data+rcx-1],al
je found
loop more
found: sub ecx, 1
mov [loc], ecx
xor eax, eax
leave
ret