Я пытаюсь сравнить 2 разных символа в сборке (вызов функции сборки в программе C). Один из символов принадлежит структуре, а другой передается при вызове функции.'C' появляется как 2 разных значения?
struct node {
void *previous;
void *next;
unsigned int num;
unsigned int A;
unsigned int B;
}
node something;
something.A = 'C'; //assume everything else is correct
char A = 'C';
int func(char A){ }:
find_course:
pushl %ebp
movl %esp, %ebp
subl $28, %esp
movl 8(%ebp), %ebx
movl 10(%ebp), %ecx
movl 16(%ebp), %edx
movl something, %edi
cmpl 10(%edi), %ebx
.END:
leave
ret
, когда я отладки с GDB,% EBX составляет 83, тогда как 10 (% ЭОД) является 21315. Если я распечатать их как символы, как представляется, 'C'. Есть ли способ конвертировать 21315 в 83?
Каковы параметры find_course? –