Win32asm обучение


Урок 11 - Основы ассемблера в windows - часть 3


.code

start:

    <Здесь ваш код>

end start

Это основной "каркас" программы исходного файла ассемблера под windows (.asm).

.486Сообщает ассемблеру, чтобы он генерировал опкоды для 486 процессора. Вы также можете использовать .386, но .486 работает в большинстве случаев.
.model flat, stdcallИспользуйте плоскую модель памяти (о которой рассказано в предыдущих уроках), и используйте вид вызовов stdcall. Это означает, что параметры для функции помещаются в стек справа налево (последний параметр, помещается в стек первым) и что функция сама должна исправить стек при выходе из нее. Это стандарт почти для всех windows API функций и dll.
option casemap:none говорит ассемблеру сделать метки чувствительными к регистрам, то есть MessageBox и messagebox - это различные имена. Для правильной работы файла windows.inc, это значение должно быть 'none'.
includelibрассмотрены выше
includeтакже рассмотрены выше
.dataначало секции инициализированных данных (см. предыдущие уроки)
.data?начало секции не инициализированных данных (см. предыдущие уроки)
.constначало секции констант (см. предыдущие уроки)
.codeначало секции кода (см. предыдущие уроки)

start:
end start

Метка указывающая начало программы. Обратите внимание, что не требуется вызов метки 'start'. Вы можете использовать любое название для нее, т.к. используя директиву 'end' вы указываете, что это метка начала:

startofprog:

end startofprog

[наверх]




- Начало -  - Назад -  - Вперед -