Nulling %al Register перед вызовом печатиC++

Программы на C++. Форум разработчиков
Anonymous
Nulling %al Register перед вызовом печати

Сообщение Anonymous »

Учитывая код: < /p>

Код: Выделить всё

#include 
int main()
{
printf("null");
return 0;
}
Почему сборка от Clang 3.3 для x86-64 GNU/Linux:

Код: Выделить всё

main:                                   # @main
pushq   %rax
movl    $.L.str, %edi
xorb    %al, %al
callq   printf
xorl    %eax, %eax
popq    %rdx
ret

.L.str:
.asciz   "null"
Что такое xorb %al, %al для? Я знаю, что %al - это самый низкий 8 бит %rax regirec>

Подробнее здесь: https://stackoverflow.com/questions/232 ... ling-print

Вернуться в «C++»