13.3 Оператор Asm |
Вверх Предыдущий Следующий |
Оператор ассемблера позволяет вставлять код ассемблера прямо в код Pascal. Оператор Ассемблера Более подробную информацию о блоках ассемблера можно найти в Справочник программиста 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. |