Странная вещь: есть у меня примерно такой исходник:
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.
Может быть, так сделать нельзя, и тогда нужно просто
вставить в сорец коды нужной команды? Подскажите, если
кто знает, как это сделать.
Всем ответившим большое спасибо.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.