Странная вещь: есть у меня примерно такой исходник:
section .text
align 16
...
mov [eax+0x20], es
или так:
mov word [eax+0x20], es
mov [eax+0x20], word es
mov word [eax+0x20], word es
Что неясно: во всех случаях NASM генерит код инструкции movl.
Как я узнаю? Объектник, полученный насмом, передаю objdump,
потом смотрю листинг, и там вместо movw стоит movl.
Причем as-овский сорец компиляется правильно:
.text
.align 16
movw %es, 0x20(%eax)
т.е. листинг, полученный objdump и оригинальный сорец
совпадают.
В чем может быть дело? Версия НАСМа у меня 0.98.34.
Может быть, так сделать нельзя, и тогда нужно просто
вставить в сорец коды нужной команды? Подскажите, если
кто знает, как это сделать.
Всем ответившим большое спасибо.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [x86_64/asm/c] использование параметров в C-функции (2011)
- Статьи Линукс, ассемблер и X11 (2023)
- Форум nasm macro (2015)
- Форум gas && nasm (2009)
- Форум nasm+макросы (2008)
- Форум nasm Assembler маркеры (2019)
- Форум Как инсталлировать nasm? (2018)
- Форум NASM под OpenBSD (2020)
- Форум Вышел nasm 2.14 (2018)
- Форум GDB и NASM (2012)