169 похожих чатов

Почему в функции записывается в eax а читается из rax?

12 ответов

12 просмотров

Гарантии есть. Все команды работающие с 32 битными регистрами - обнуляют старшие 32 бита 64 битного регистра.

🇷🇺 Artur-Leonov (Depish) Автор вопроса
Евгений
Гарантии есть. Все команды работающие с 32 битными...

О, классно) а читается из rax я так понимаю потому, что разрядность x64, но почему тогда пишется в eax в таком случае?

🇷🇺 Artur Leonov (Depish)
О, классно) а читается из rax я так понимаю потому...

Ну если пишется заведомо 32битное безнаковое число - то его быстрее и компактнее писать в eax, а не в rax.

Евгений
Гарантии есть. Все команды работающие с 32 битными...

Обнуляют или записыают единицы. Это зависит от применения. mov, емнип, аналогичен movzx (результат будет дополнен нулевыми битами. Есть movsx - результат будет дополнен битами таким образом, чтобы сохранить знак источника)

koren
Обнуляют или записыают единицы. Это зависит от при...

не только mov, все. например xor rax, rax; dec rax; dec eax; результат будет 00000000FFFFFFFE

Честно говоря странно, что 64-битный адрес запихивает в 32-битный регистр. Компилятор надеется на свое везение))

koren
Обнуляют или записыают единицы. Это зависит от при...

для 32ух битного mov всегда расширение нулём, для знакового расшерения отдельная команда вроде

randomize usr
Честно говоря странно, что 64-битный адрес запихив...

возможно, какой-то особый набор флагов компиляции, позволяющий обходится 32битными адресами

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта