feat: reprogrammation en utilisant la librairie video

This commit is contained in:
Nicolas Hordé 2004-11-25 00:04:02 +00:00
parent ca530927a7
commit 85f66f34d5
1 changed files with 33 additions and 121 deletions

View File

@ -5,131 +5,40 @@ smart
org 0h org 0h
include ..\include\mem.h
include ..\include\fat.h include ..\include\fat.h
start: start:
mov ah,2 header exe <,1,0,,,offset imports,,>
int 47h
mov ah,25 realstart:
mov bx,0 push offset msg1
int 47h call [print]
mov ah,21
mov cl,70h
int 47h
mov ah,13
mov si,offset msg1
int 47h
mov ah,21
mov cl,7
int 47h
mov ah,13
mov si,offset prompt
int 47h
mov ah,13
mov si,offset infos
int 47h
mov ah,13
mov si,offset prompt
int 47h
mov ah,3 mov ah,3
int 48h int 48h
xor bp,bp xor bp,bp
mov di,offset bufferentry mov di,offset bufferentry
mov si,di
mov ah,7 mov ah,7
int 48h int 48h
jc nofiles jc nofiles
go: go:
test [si+Entries.FileAttr],00010000b push word ptr [di+Entries.FileAttr]
je notdirectory push dword ptr [di+Entries.FileSize]
mov ah,21 push word ptr [di+Entries.FileTime]
mov cl,4 push word ptr [di+Entries.FileDate]
int 47h push word ptr [di+Entries.FileTimeCrea]
jmp notall push word ptr [di+Entries.FileDateCrea]
notdirectory: push di
cmp [si+Entries.FilExt],'C' push offset line
jne notexe call [print]
cmp [si+Entries.FilExt+1],'E'
jne notexe
cmp [si+Entries.FilExt+2],' '
jne notexe
mov ah,21
mov cl,5
int 47h
jmp notall
notexe:
cmp [si+Entries.FilExt],'S'
jne notsys
cmp [si+Entries.FilExt+1],'Y'
jne notsys
cmp [si+Entries.FilExt+2],'S'
jne notsys
mov ah,21
mov cl,0Ah
int 47h
jmp notall
notsys:
mov ah,21
mov cl,7h
int 47h
notall:
mov ah,46
int 47h
mov ah,05
int 47h
int 47h
int 47h
mov ah,44
mov dx,[si+Entries.FileDateCrea]
int 47h
mov ah,05
int 47h
int 47h
int 47h
mov ah,45
mov dx,[si+Entries.FileTimeCrea]
int 47h
mov ah,05
int 47h
int 47h
int 47h
mov ah,44
mov dx,[si+Entries.FileDate]
int 47h
mov ah,05
int 47h
int 47h
int 47h
mov ah,45
mov dx,[si+Entries.FileTime]
int 47h
mov ah,05
int 47h
int 47h
int 47h
mov ah,48
mov edx,[si+Entries.FileSize]
int 47h
mov ah,05
int 47h
int 47h
int 47h
mov ah,47
mov dl,[si+Entries.FileAttr]
int 47h
mov ah,6
int 47h
inc bp inc bp
mov ah,8 mov ah,8
int 48h int 48h
jnc go jnc go
nofiles: nofiles:
mov ah,21 push offset menu
mov cl,70h call [print]
int 47h
mov ah,13
mov si,offset menu
int 47h
mov xx,1 mov xx,1
mov xxold,2 mov xxold,2
call Select call Select
@ -139,7 +48,7 @@ int 16h
cmp ah,50h cmp ah,50h
jne tre1 jne tre1
cmp xx,bp cmp xx,bp
je endof ja endof
inc xx inc xx
call select call select
jmp endof jmp endof
@ -157,14 +66,11 @@ tre2:
tre3: tre3:
cmp ah,59 cmp ah,59
jne tre4 jne tre4
jmp start jmp realstart
tre4: tre4:
cmp ah,67 cmp ah,67
jne endof jne endof
mov ah,15h retf
mov cl,7
int 47h
db 0CBh
;selectionne la ligne xx ;selectionne la ligne xx
Select: Select:
@ -186,12 +92,18 @@ ret
xx dw 1 xx dw 1
xxold dw 0 xxold dw 0
menu db '[F1] Lire disque [F9] Quitter ',0 menu db '\c70 [F1] Lire disque [F9] Quitter \c07',0
msg1 db ' Gestionnaire de fichier Version 1.5 ',0 msg1 db '\e\g00,00\c70 Gestionnaire de fichier Version 1.5 '
msg2 db 'Programme en cours de chargement',0 db '\g00,01\c07--------------------------------------------------------------------------------'
prompt db '--------------------------------------------------------------------------------',0 db '\g00,02Nom Ext. Date creation Date modification Taille Attributs'
infos db 'Nom Ext. Date creation Date modification Taille Attributs',0 db '\g00,03--------------------------------------------------------------------------------\l',0
line db '\c07%n %d %t %d %t %z %a\l',0
bufferentry db 512 dup (0) bufferentry db 512 dup (0)
imports:
db "VIDEO.LIB::print",0
print dd 0
dw 0
end start end start