Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Создать, удалить, сделать текущим каталог. (15 билет)




Операции над каталогами:

39h - создать каталог;

3Ah - удалить каталог;

3Bh - сменить текущий каталог;

47h - получить текущий каталог;

Создание каталога:

mov ah,39h

mov dx,offset Directory

int 21h

Сделать текущим:

Функция 3BH прерывания 21H устанавливает текущий каталог. DS:DX должны указывать на путь к каталогу в стандартном виде и
эта строка должна завершаться байтом ASCII 0.

;в сегменте данных

PATH DB 'B:BIRDS\PARROTS',0
;---делаем POLLY текущим каталогом
MOV AH,3BH;номер функции
LEA DX,PATH;DS:DX должны указывать на путь INT 21H; устанавливаем текущий каталог
Чтобы определить какой каталог является текущим надо использовать функцию 47H прерывания 21H. DS:SI должны указывать на область данных размером 64 байта, в которую будет записан путь. В
DL указывается накопитель, причем 0 = "по умолчанию", 1 = A, 2 = B и т.д. При возврате функция возвращает строку без имени накопителя. Если был указан несуществующий накопитель, то в AL возвращается код ошибки 15. Строка начинается с имени первого подката-
лога цепочки, а не с обратной косой черты. Байт ASCII 0 сигнализирует о конце строки. В данном примере имя текущего каталога присваивается переменной "CURRENT_DIR":
;в сегменте данных

CURRENT_DIR DB 64 DUP(?)
;получить текущий каталог

MOV AH,47h; номер функции

LEA SI,CURRENT_DIR; указываем на область данных

MOV DL,1; накопитель A
INT 21H; помещает строку по адресу DS:SI

Макрокоманды, процедуры. Отличия. (16 билет)

Процедура – группа команд для решения конкретной подзадачи.

Синтаксис процедуры:

имя_процедуры PROC [[модификатор_языка] язык] [расстояние]

команды

[имя_процедуры] ENDP

Процедуру можно располагать в конце программы либо вкладывать в другую. Во втором случае необходимо предусмотреть обход тела процедуры, ограниченного директивами PROC и ENDP, с помощью JMP/

Макрокоманды.

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

Макроопределение должно начинаться строкой с именем макроопределения и директивой MACRO, в поле аргументов которого указывается список формальных аргументов. Заканчивается макроопределение директивой ENDM.





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 334 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2307 - | 2155 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.