Попытка написать функцию сборки, которая возвращает символ в заданной позиции в тексте utf-8.
Я пробовал много решений, но я не могу заставить его работать успешно. Это то, что я до сих пор:
.globl utf8_get
.globl _utf8_get
utf8_get:
_utf8_get:
pushl %ebp
movl %esp, %ebp
movl 4(%ebp), %eax
movl 12(%ebp), %ecx
u_loop: cmpb $0x0, (%eax)
jz n_fnd
incl %eax
cmpl $0x0, %ecx
jz fnd
decl %ecx
jmp u_loop
n_fnd: movl $-0x1, %eax
popl %ebp
ret
fnd: movzbl (%eax), %eax
popl %ebp
ret
Параметры без знака char * и int.
Но он не возвращает правильный символ.