в наиболее значимый байт регистра
Запрос на прерывание по-
мещается в наиболее значимый байт регистра AX (AH), а дополни-
тельные, при необходимости, размещаются в других регистрах. DOS
предоставляет множество полезных функций, доступ к которым может
быть осуществлен с помощью описанного выше способа.
В качестве примера рассмотрим функцию FNFreeSpace, опреде-
ляющую количество пустого дискового пространства.
DEF FNFreeSPACE (drive%) 'Функция DOS 36H возвращает число
'свободных кластеров на выбранном
'устройстве: 0=устройство по умолчанию,
'1=А,2=В и т.д.
REG 4,drive%
REG 1,&H3600
CALL INTERRUPT &H21
'своб. пространство = доступные кластеры * байт/сектор *
'сектор/кластер = BC*CX*AX
FNFreeSpace = CSNG(REG(2))*REG(3)*REG(1)
END DEF
Определенная в одном месте программы, функция FNFreeSpace
может быть вызвана в любом другом, также как и все остальные
функции.
Использование CALL вместе с INLINE
----------------------------------
Встроенные процедуры на ассмеблере и обычные процедуры на
ТУРБО БЕЙСИКЕ используют одну и ту же вызывающую последователь-
ность. Изменяется определение процедуры SUB при задании программ
на языке ассмеблера. Встроенные процедуры - наиболее мощный ре-
жим использования ассмеблера в ТУРБО БЕЙСИКЕ.
Синтаксис:
CALL <имя процедуры> [(список параметров)]
Синтаксис:
SUB <имя процедуры> INLINE
$INLINE <список-байтов>
$INLINE <имя-файла-COM>
END SUB
Может быть задано произвольное количество операторов
$INLINE в любом порядке. Единственное ограничение - количество
файлов COM в одной процедуре не должно быть больше 16.
Список-байтов состоит из констант или выражений, значения
которых находятся в диапазоне от 0 до 255, разделенных запятыми.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий