С другой неприятностью мы столкнемся,
С другой неприятностью мы столкнемся, если попытаемся включить в программу операции с 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
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий