## See findcset.c and masde4.c. .intel_syntax noprefix find_cset: mov rax, rdi # Parsed token starts at the beginning of input. 1: cmp rdi, rsi # Are we at the end of input? je 1f # If so, go to end of parsing. mov r9b, [rdi] # Load input character into r9l mov r8, rdx # Load first delimiter pointer into r8 2: cmp r8, rcx # Check for last delimiter je 2f # If so, exit inner loop mov r10b, [r8] # Load delimiter into r10l cmp r10b, r9b # Is this delimiter found here? je 1f # If so, we’re done. inc r8 # Otherwise, move to next delimiter jmp 2b # and repeat inner loop. 2: inc rdi # If no more delimiters, go to next input byte jmp 1b # and repeat outer loop. 1: mov rdx, rdi # End of token is beginning of remaining input. ret