;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@                                                               @
;@            Вывод на печать списка логических дисков           @
;@                                                               @
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.Model	Small

;
; ===== DiskCfg, Version 1.0, Copyright (C) 1991 by Tony Berezin
;
; ===== Меня можно найти:
;
;        320038, г. Днепропетровск, ул. Привокзальная 3/38
;
;        Антон Березин
;
;        Дом. тел. 50-40-84
;        Раб. тел. 46-21-94
;

;
; ===== Списки импорта
;
	ExtP	I$Init		; Из модуля I.ASM - главная иницализация
;
	ExtB	D$DrvList	; Из модуля Disks - список логических дисков
	ExtP	D$DrvInfo	; Из модуля Disks - заполнить D$DrvList

;
; ===== Задача смехотворно мала - стек почти не нужен
;
	.Stack	512

;
; ===== Переменные модуля
;
	.Data
Mess	DB	13,10,10,10,'DiskCfg, Version 1.0, Copyright (C) 1991 by Tony Berezin',13
	DB	10,10,'Список логических дисков в вашей системе : $'

;
; ===== Процедуры модуля
;
	.Code
Start:
	call	I$Init		; Инициализация всего, всего
	ASSUME	DS: _DATA	; I$Init автоматом устанавливает DS
;--- Выдадим авторское сообщение
	lea	dx,	Mess
	mov	ah,	9
	int	21H
;--- Заполним список логических дисков
	call	D$DrvInfo
;--- И выведем его на экран
	lea	si,	D$DrvList
	cld
	mov	ah,	2
Cicl:
	lodsb
	or	al,	al
	jz	Exit
	mov	dl,	al
	int	21H
	jmp	Cicl
Exit:
;--- "Оконечный" перевод строки
	mov	dl,	13
	int	21H
	mov	dl,	10
	int	21H
;--- И нормальное завершение
	mov	ax,	4C00H
	int	21H

;
END Start

;
; ===== Конец файла DiskCfg.Asm
;