feat: astuce pour recuperer de la mémoire

This commit is contained in:
Nicolas Hordé 2004-11-19 21:56:38 +00:00
parent 0348ef59a4
commit 08af9a9788
1 changed files with 31 additions and 12 deletions

View File

@ -57,6 +57,9 @@ noone:
call showstr call showstr
call MBinit call MBinit
jc nomem1 jc nomem1
mov cx,65453
mov si,offset sysname
call MBcreate
call InitDrive call InitDrive
mov si,offset premice mov si,offset premice
mov bl,7 mov bl,7
@ -137,6 +140,12 @@ suites:
;initialisation des MCBs ;initialisation des MCBs
mov ah,0 mov ah,0
int 49h int 49h
push memorystart
pop gs
mov ah,10
int 49h
mov ah,1
int 49h
mov si,offset fini mov si,offset fini
mov bl,7 mov bl,7
@ -218,11 +227,12 @@ erroron:
db 0CBh db 0CBh
address db ' [',0 address db ' [',0
addressend db ':0100] ',0 addressend db '] ',0
irqs db ' (IRQ ',0 irqs db ' (IRQ ',0
irqsend db ')',0 irqsend db ')',0
prompt db 'commande.ce ',0 prompt db 'commande.ce',0
conf db 'systeme.ini',0 conf db 'systeme.ini',0
sysname db 'SYSTEME.SYS',0
premice db 0Dh,0Ah,'Chargement du fichier de configuration:',0 premice db 0Dh,0Ah,'Chargement du fichier de configuration:',0
debut db 0Dh,0Ah,'Chargement des pilotes systeme:',0 debut db 0Dh,0Ah,'Chargement des pilotes systeme:',0
fini db 0Dh,0Ah,'Chargement de l''interpreteur de commande:',0 fini db 0Dh,0Ah,'Chargement de l''interpreteur de commande:',0
@ -898,36 +908,45 @@ enduppercase:
pop ax si pop ax si
ret ret
;Compare le nom ds:si '.' avec es:di ;Compare le nom ds:si '.' avec es:di
CmpNames: CmpNames:
push ax cx si di push ax cx si di
mov cx,8 mov cx,8
repe cmpsb repe cmpsb
jne nequal jne nequal
inc si inc si
jmp equal
nequal: nequal:
cmp byte ptr es:[di-1],' '
jne notequal
equal:
cmp byte ptr [si-1],'.' cmp byte ptr [si-1],'.'
jne trynoext jne trynoext
mov al,' ' mov al,' '
rep scasb rep scasb
mov cx,3 mov cx,3
rep cmpsb rep cmpsb
jne notequal jne nequal2
cmp byte ptr [si],0 inc si
jne notequal jmp equal2
cmp cx,0 nequal2:
jl notequal cmp byte ptr es:[di-1],' '
jne notequal
equal2:
cmp byte ptr [si-1],0
jne notequal
itok: itok:
clc
pop di si cx ax pop di si cx ax
ret ret
notequal:
stc
pop di si cx ax
ret
trynoext: trynoext:
cmp byte ptr [si-1],0 cmp byte ptr [si-1],0
jne notequal jne notequal
jmp itok jmp itok
notequal:
stc
pop di si cx ax
ret
;charge le fichier de de groupe CX et de taille eax ;charge le fichier de de groupe CX et de taille eax
LoadWay: LoadWay: