文件
查看文件
按Esc退出

编写
写文件并保存到硬盘(须先格式化,执行format.com)
按Esc退出


1~7设置颜色 0擦除颜色 
d画点(空格) l画线
按Esc退出

TEST
查看硬件资源
按Esc退出

ED
分区工具:删除第一分区-->建立EleOS分区-->设第一分区为启动分区-->按s保存分区表
按Esc退出

GAME
a向左 d向右
按Esc退出


;基础文件系统版权许可协议:完全自由 
;发布日期 2008年4月
;自由代码
org 7600h
jmp bg
db '111,0,0,0
db 'FL'
db 0,0,0,0,0,0,0,0
db 0,0,0,0
db 0,0,0,0
db 'FA'
db 6,0 ;跳
db 'ab.com',0
db 1,2,0,0,0,0,0,0 ;起始地址
db 46,0,0,0,0,0,0,0 ;占用
db 255,255,0,0,0,0,0,0 ;大小
db 127,2,0,0,0,0,0,0 ;结束
db 0,6,11,1,8,25,11,12
db 0,6,11,1,8,25,11,12
db 1,0

bg:
mov ax,0
mov ds,ax
mov es,ax

main:
mov ax,3
int 10h

mov cl,1
mov ch,2
mov dh,0
mov dl,80h
mov ah,2
mov al,5
mov bx,8000h
int 13h

mov di,0
mov ax,0b800h
mov es,ax
mov si,8000h
add di,2
cmp al,'F'
je fa_1
jmp gkey

fa_1:
inc si
mov al,[si]
add di,2
cmp al,'L'
je sFL
gkey:
mov ah,0
int 16h
exit:
mov ax,cs
mov ds,ax
mov ax,7200h
jmp ax
sFL:
add si,13
mov ax,[si]
add si,4
add si,ax
mov al,'F'
mov [si],al
inc si
mov al,'A'
mov [si],al
inc si
inc si
inc si
mov di,si
mov si,7f00h
mov cx,0
copy21: ;复制文件名
mov al,[si]
mov [di],al
inc si
inc di
inc cx
cmp al,0
je sFL
jmp copy21
sFL:
sub di,cx
sub di,2
mov ax,cx
sub ax,1
mov [di],ax ;保存文件名大小
add di,cx
add di,2
mov si,8000h
add si,40
mov al,[si]

mov [di],al ;保存使用的开始扇区
mov cl,al
inc di
inc si
mov al,[si]
mov [di],al ;保存使用的开始磁道
mov ch,al
inc di
inc si
mov al,[si]
mov [di],al ;保存使用的开始柱面
mov dh,al
add di,6
mov si,[7e20h]
mov al,1
subsi_1:  ;计算所需扇区
cmp si,512
jl subend_
sub si,512
inc al
jmp subsi_1
subend_1:
mov bl,al
mov [di],al  ;保存占用的扇区数
add di,8
mov ax,[7e20h]
mov [di],ax  ;保存文件大小
mov si,8000h
add si,40
add di,8
mov al,cl
add al,bl
cmp al,64
jge ch0
mov [di],al  ;保存最后扇区
mov [si],al
mov al,ch
jmp ch2
ch0:
cmp ch,255
jge err0
mov al,1
mov [di],al  ;保存文件结术扇区
mov [si],al
inc ch
ch2:
inc si
inc di
mov al,ch
mov [di],al
mov [si],al
dh0:
inc si
inc di
mov al,dh
mov [di],al
mov [si],al
add di,6
add di,8
add di,8
add di,2
sub di,8000h
sub di,512
sub di,18
mov ax,di
mov di,8000h
add di,512
add di,14
mov [di],ax  ;保存文件列表大小

w13:
mov ax,cs
mov es,ax
mov ds,ax
cmp cx,1h
je err
mov ah,3
mov al,bl
mov bx,2000h
mov dl,80h
int 13h
mov ax,cs
mov ds,ax
mov es,ax
mov bx,8000h
mov cl,1
mov ch,2
mov dh,0
mov dl,80
mov ah,3
mov al,3
int 13h

err:
jmp exit


;调用
mov ax,cs
mov ds,ax
mov ax,7600h
jmp ax