Пример программы на ассемблере для 16 битного приложения (DOS приложение)
ideal
MODEL SMALL
DATASEG
; Распределение памяти
X DW 5; Исходные данные
Y DW 6
Z DW ?; Результат
CODESEG
; Программа
begin:
; Связь с данными
mov ax, @data
mov ds, ax
; Выполнение требуемых операций
mov ax, [x]
add ax,[y]
mov [z], ax
; Выход из программы
mov ax, 4c00h
int 21h
;Конец программы
end begin
Трансляция, компоновка и загрузка в отладчик программы выполняется с помощью команд:
TASM /zi <Имя>.asm
TLINK /v < Имя >.obj
TD < Имя >
При написании командного файла предполагается, что программы для обработки файла (tasm, tlink, td) находятся в доступном каталоге. Недостатки приведенного командного файла:
· несмотря на наличие ошибок, все этапы выполняются;
· командный файл можно использовать только для работы с заданным файлом (с заданным именем).
Для исправления этих недостатков рекомендуем использовать командный файл:
TASM /zi %1
IF ERRORLEVEL 1 GOTO m1
TLINK /v %1
IF ERRORLEVEL 1 GOTO m1
TD %1
:m1
Оператор IF ERRORLEVEL 1 GOTO m1 означает, что выполняется переход на метку m1, если код возврата исполняемой программы равен 1 или выше. Все системные программы возвращают 0 при успешном завершения и число, не равное 0 для завершения с ошибками[1]. Поэтому данная проверка позволяет проверить наличие ошибок при компиляции и компоновке. Обратите внимание на синтаксис записи метки на языке команд операционной системы!