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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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