Иллюстрированный самоучитель по Assembler


Организация приложений MS-DOS - часть 6


mov  AX,4C00h           ;Вызов функции DOS

int 2 In                      ; Завершение программы

main endp                  ; Конец главной процедуры

code ends                  ; Конец сегмента команды

data segments use16  ; Начало сегмента данных

...                               ; Определения данных

data ends                    ; Конец сегмента данных

stk segment stack         ; Начало сегмента данных

  db  256 dup(0)            ; Стек

stk ends                       ; Конец сегмента стека

end main                      ; Конец программы и точка входа

Программа начинается с директивы ассемблера .586, разрешающей использовать в тексте программы весь набор команд процессора Pentium (кроме привилегированных). Если программа будет использовать только базовый набор команд МП 86, указание этой директивы не обязательно.

С другой стороны, ее указание не обязывает нас обязательно использовать команды Pentium. Если в программе предполагается использовать лишь дополнительные команды процессоров 486 или 386, то вместо .586 можно написать .486 или .386.

Указание любого номера 32-разрядного процессора приведет к тому, что по умолчанию программа будет транслироваться, как 32-разрядное приложение, в то время как нам нужно создать обычное 16-разрядное приложение. Для того, чтобы все адреса в программе рассматривались, как 16-битовые, необходимо придать сегментам команд и данных описатели use16. Для сегмента стека этот описатель не нужен, так как в стеке нет поименованных ячеек.




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



Книжный магазин