Ада-95. Компилятор GNAT

         

Суффиксы размера


Ассемблер Intel пытается определить размер инструкции пересылки анализируя размеры операндов. Таким образом, код:

mov ax, 10

будет пересылать 16-битное слово в регистр ax.

Ассемблер as, как правило, отказывается "играть в догадки".

Вместо этого, при написании имени инструкции необходимо использовать суффикс явной символьной индикации размеров операндов:

movw $10, %ax

где допустимыми символами являются b, w и l:

b - byte (8-бит) [movb $10, %al]

  • w - word (16-бит) [movw $10, %ax]

  • l - long (32-бит) [movl $10, %eax]

    Можно встретить и другие случаи использования модификаторов размера, подобно тому как pushfd становиться pushfl.

    Чаще всего использование модификаторов размера очевидно, а в случае ошибки - ассемблер обязательно подскажет.



    Содержание раздела