Программирование на Ассемблере


Пример программы на ассемблере для 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-битных приложений.



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