我正在编写一个编写更简单版本的sprintf的任务,我需要遍历char *来查找'%'字符,它指示格式应该发生的位置。我在英特尔汇编中看到了很多关于如何做到这一点的例子,但是我很难将它翻译成AT& T并将其应用到我的程序中......
find_index:
cmpb $0, (%edx, %ecx, 1) #check if end of string
je reslength #go to next part of the code if true
cmpb $'%', (%edx, %ecx, 1) #check if byte = %
incl %ecx #increase counter
jne find_index #if not %, check next char