Пример программы на ассемблере для 32 - битного приложения
ideal
p586
MODEL FLAT
EXTRN ExitProcess : proc
DATASEG
X DW 5
Y DW 6
Z DW ?
CODESEG
begin:
mov ax, X
add ax,Y
mov Z, ax
call ExitProcess
end begin
Модель FLAT соответствует 32-битному режиму, когда для задания адреса используется 32-битное число, и диапазон изменения адреса равен 0.. 232-1. Эта модель работает только для 32 битных процессоров, что задается директивой p586.Программа использует функцию операционной системы для завершения программы. Для выполнения этой операции используется функция ExitProcess. Все функции операционной системы (функции WINDOWS API) откомпилированы в регистро – чувствительном режиме.
Командный файл для 32 – битного режима:
TASM32 /ml /zi %1
IF ERRORLEVEL 1 GOTO m1
TLINK32 /v %1 import32.lib
IF ERRORLEVEL 1 GOTO m1
TD32 %1
:m1
Заметим, что регистро - чувствительная компоновка (флаг /ml) для 32-битного варианта обязательна. Функция ExitProcess предназначена для завершения процесса.
Как показывает сравнительный анализ программ существуют незначительные отличия для программ разных типов. В данном курсе будут рассматриваться программы для 32-битных приложений.