; FCB layout ; 1 byte drive (0=default, 1=A:, 2=B:, ...) ; 8.3 filename ; 8.3 filename for rename FCBDEN: equ 23 ; WORD directory entry number FCBSIZ: equ 30 section .text ; auto-complete drive field in fcb ; IN es:bx far ptr FCB ; OUT si copy of bx fixfcb: cmp byte [es:bx], 0 jne .ret call getdd inc dl mov byte [es:bx], dl .ret: ret ; Load root directory entry ; IN ax number of directory entry ; OUT cs:si ptr to directory entry lddir: push ax mov cl, 4 shr ax, cl xor dx, dx call maprd ; get si to point to entry pop si mov cl, 5 shl si, cl and si, 0x1FF add si, dskbuf ret ; find first matching file ; IN ES:BX input fcb fndfst: open: ret