Описание тега disk
Ты должна ноль-продлить их, но для общего дела 32-разрядные значения на x86-64, нет необходимости думать об этом: хранение значений в 32-битовый регистр результатов в ноль-расширенных хранимых в соответствующий 64-битный регистр (т. е., мовл $4, %неделя
4 магазинах по гексогена
). 8 - и 16-разрядных значений должны быть явно ноль-расширенная (movzbl
или movzwl
с 8 - или 16-битного регистра в 32-разрядный регистр, неявно ноль-расширение до 64 бит).
На практике, для некурящих, указатели, системный вызов реализация только прочитать ниже в n бит в любом случае, так что вы не должны видеть никакой практической разницы, по крайней мере для 32-разрядных значений. (Напр. звоню SYS_read
с мусором в топ-32 бита РДИ
не выдаст ошибку, и только занимает 32 бита во внимание.) Я не проверял, что произойдет, если вы устанавливаете __Х32_вызов_бит
, не очищая верхние 32 бита указателей.