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


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


С другой неприятностью мы столкнемся, если попытаемся включить в программу операции с 32-разрядными операндами (даже и с командами МП 86). Компоновщик TASM по умолчанию запрещает такого рода операции. Чтобы преодолеть этот запрет, следует в команде вызова компоновщика указать ключ /3.

Таким образом, приведенный в гл. 1 командный файл должен выглядеть (для подготовки программы P.ASM) следующим образом:

tasm /z /zi /n /m2 p,p,p


tlink /x /v /3 p,p

Включение указанных описателей и ключей не обязывает нас использовать новые команды или 32-разрядные операнды, так что приведенные выше тексты командного файла и самой программы можно использовать как образец для подготовки всех приведенных в этой книге программных примеров, даже если они используют только средства МП 86. В дальнейших примерах программ, в основном посвященных системе команд МП 86, эти описатели будут опускаться.

Приведем в качестве еще одного примера простую законченную программу типа .ЕХЕ, которая выясняет букву - обозначение текущего диска и выводит ее на экран с поясняющей надписью.

Пример 3-1. Получение текущего диска

; Опишем сегмент команд

assume CS:code,DS:data

code segment

main proc

move AX, data   ;Настроим DS

mov DS,AX    ; на сегмент данных

mov AH,19h    ; Функция DOS получения

int 21h             ; текущего диска

add disk,AL   ; Преобразуем номер в код

                        ; ASCII

mov AH,09h  ; Функция DOS вывода на экран

mov DX,offset msg  ; Адрес строки

int 21h                       ; Вызов DOS

mov  AH,01h            ; Функция DOS ввода символа

int 2 In                       ; Вызов DOS




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



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