/*
* fnext — следующая запись перебора каталога, начатого ffirst().
* ESTEX F_NEXT ($1A): DE = тот же буфер; CF = err / A = код ошибки.
* Возвращает 0 или -1 + errno (ENOENT-класс в конце перебора).
*/
#include
int fnext(ffblk_t *buf) __naked
{
(void)buf;
__asm
;; HL = buf на входе; ESTEX F_NEXT хочет буфер в DE.
push ix
ex de, hl
ld c, #0x1A ; ESTEX F_NEXT
rst #0x10
pop ix
jr c, _fnext_err
ld de, #0
ret
_fnext_err:
call __errno_set
ld de, #-1
ret
__endasm;
}