LINUX.ORG.RU

Вопрос про NASM


0

0

 Странная вещь: есть у меня примерно такой исходник:

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

Всем ответившим большое спасибо.




Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.