Так что я все еще пытаюсь выяснить, как получить доступ к первому символу строки из ввода из C. Результат, который я получаю, это «4194172» для строки «abcd», которая, я считаю, является адресомвсей строки.Я хочу иметь возможность вывести букву «а».Ниже вы можете увидеть код C (который был дан) и код сборки, который я написал.
КОД C
extern int count(char *string, char c);
int main(void)
{
char s[100];
char c;
printf("Enter a string of characters:\n");
scanf("%s", s);
printf("Enter a character to count:\n");
scanf("%c", &c);
printf("\nThe number of %c's in the string %s is %d\n", c, s,
count(s,c));
return 0;
}
КОД СБОРКИ
.text
.globl _count
_count:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl 12(%ebp), %edx
movzbl (%edx), %eax
done:
movl %ebp, %esp
popl %ebp
ret
.end