Цитата Сообщение от NovaStorm Посмотреть сообщение
symbos - ужоснах ещё хуже исдоса внутри. Вы поглядите на её api!
А где вы видели нормальный АПИ?! Прочитайте ВЕСЬ msdn и подумайте как такое организовать на Ассемблере.
Между прочем - макросы никто не отменял, а с ними всё стройно и красиво получается.
Вот такая конструкция:
Код:
;Тех.задание: в первой попавшейся папке создать текстовый файл.


BEGIN
	F_VOLTOPART 0,0,0	;определяем нулевой раздел ZSD карты как том №0
	F_MOUNT FS			;монтируем нулевой том(он будет юзать структуру FS)
						;корневая папка становится текущей.
	F_CHDRIVE 0			;установим текущим нулевой том
	F_OPENDIR DJ,PATH1	;ОТКРОЕМ ДЛЯ ЧТЕНИЯ ТЕКУЩУЮ ПАПКУ
	LD HL,FNO			;ДОБАВИМ НА СТЕК УКАЗАТЕЛЬ НА СТРУКТУРУ
	PUSH HL
.L1	F_READDIR			;ЧИТАЕМ ЗАПИСЬ В ПАПКЕ DJ
	LD A,(FNO.FNAME)	;проверим первый байт имени
	OR A				;если он #0, то файлы/папки закончились
	JR Z,.EXIT
	LD A,(FNO.FATTRIB)	;проверим атрибут записи
	AND #10				;ЕСЛИ ЭТО НЕ ПАПКА то читаем следующую запись
	JR Z,.L1
	POP BC,BC			; снимем аргументы
	;ЩА ЗАЙДЁМ В НАЙДЕННУЮ ПАПКУ
	XOR A
	LD (FNO.FNAME+11),A	; сделаем нолик в конце строки
	F_CHDIR FNO.FNAME	; открываем папочку
	F_OPEN FP,PATH2,FA_WRITE|FA_CREATE_ALWAYS	;создаём файл
	F_WRITE STROKA,BW-STROKA,BW		;пишем в него
	F_CLOSE		;закрываем файл
	RET		;тех.задание выполнено
	
.EXIT
	POP BC,BC
	RET
На чистом асме смотрится просто ужасно.