13.3 Оператор Asm

На верх  Назад  Вперёд

Оператор ассемблера позволяет вставлять код ассемблера прямо в код Pascal.


Оператор Ассемблера

1319


Более подробную информацию о блоках ассемблера можно найти в Справочник программиста Free Pascal. В списке регистр используется для обозначения регистров, которые изменяются при помощи инструкции ассемблере в блоке ассемблере. Список регистров используется для обозначения, какие регистры компилятору следует сохранить ибо они будут меняться. Компилятор возвращает определенные результаты в регистрах. Если регистры модифицируются в операторе ассемблера, компилятор иногда сообщает об этом. Регистры обозначаются их именами, для процессора Intel (i386), например 'EAX', 'ESI' и т.д. В качестве примера, рассмотрим следующий код на ассемблере:

asm

Movl $1,%ebx

Movl $0,%eax

addl %eax,%ebx

end ['EAX','EBX'];

Это говорит компилятору, что он должен сохранить и восстановить регистры EAX и EBX, когда он встретит этот оператор.

Free Pascal поддерживает различные стили синтаксиса ассемблера. По умолчанию, для платформы 80386 и Compatibles предполагается синтаксис AT&T. Стиль ассемблера по умолчанию, может быть изменен переключателем {$asmmode ххх} в коде Pascal, или опцией ‑R командной строки. Более подробно об этом можно найти в Справочник программиста Free Pascal.