rdos/kernel/fcb.asm

45 lines
706 B
NASM

; 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