mirror of https://git.ia64.cc/perso/cos2000v1.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
4.1 KiB
164 lines
4.1 KiB
model tiny,stdcall |
|
p486 |
|
locals |
|
jumps |
|
codeseg |
|
option procalign:byte |
|
|
|
org 0100h |
|
|
|
ent equ 32h |
|
|
|
jmp copycos |
|
|
|
message db 0Dh,0Ah,'COS 2000 V1.4Fr programme d''installation',0Dh,0AH,'Inserez une disquette formatee et appuyez sur entre...',0Dh,0AH,'Attention le contenu de celle ci peut etre altere !!!',0Dh,0AH,'$' |
|
message2 db 0Dh,0AH,'Creation du secteur de demarrage...',0Dh,0Ah,'$' |
|
message3 db 0Dh,0AH,'Copie des fichiers systeme...',0Dh,0Ah,'$' |
|
errormsg db 0Dh,0AH,'Erreur d''installation, contactez moi a COS2000@MULTIMANIA.COM !',0Dh,0AH,'$' |
|
ok db 0Dh,0AH,'COS2000 a ete correctement installe, veuillez redemarrer votre PC',0Dh,0AH,'$' |
|
files db '*.*',0 |
|
boot db 'boot.bin',0 |
|
dat db 'data',0 |
|
retu db 0Dh,0AH,'$' |
|
dta db 43 dup (0) |
|
|
|
copycos: |
|
mov ah,9 |
|
mov dx,offset message |
|
int 21h |
|
xor ax,ax |
|
int 16h |
|
mov ah,4ah |
|
mov bx,1000h |
|
int 21h |
|
jc error |
|
mov ah,48h |
|
mov bx,65536/16 |
|
int 21h |
|
jc error |
|
mov fs,ax |
|
mov ah,3Bh |
|
mov dx,offset dat |
|
int 21h |
|
jc error |
|
mov ah,1Ah |
|
mov dx,offset dta |
|
int 21h |
|
jc error |
|
mov ah,4eh |
|
xor cx,cx |
|
mov dx,offset files |
|
int 21h |
|
jc error |
|
mov ah,09 |
|
mov dx,offset message3 |
|
int 21h |
|
allfile: |
|
mov [byte ptr offset dta+43],'$' |
|
mov ah,9 |
|
mov dx,offset dta+30 |
|
int 21h |
|
push dx |
|
mov ah,09 |
|
mov dx,offset retu |
|
int 21h |
|
pop dx |
|
mov ax,3D00h |
|
int 21h |
|
jc error |
|
mov bx,ax |
|
mov ax,4202h |
|
xor cx,cx |
|
xor dx,dx |
|
int 21h |
|
jc error |
|
cmp dx,0 |
|
jne error |
|
cmp ax,0 |
|
je error |
|
mov bp,ax |
|
mov ax,4200h |
|
xor cx,cx |
|
xor dx,dx |
|
int 21h |
|
jc error |
|
push fs |
|
pop ds |
|
mov ah,3fh |
|
mov cx,0FFFFh |
|
xor dx,dx |
|
int 21h |
|
push cs |
|
pop ds |
|
jc error |
|
mov ah,3eh |
|
int 21h |
|
jc error |
|
mov ah,3ch |
|
push cs |
|
pop es |
|
mov di,offset dta+30-3 |
|
mov [word ptr di],":a" |
|
mov [byte ptr di+2],"\" |
|
xor cx,cx |
|
mov dx,di |
|
int 21h |
|
jc error |
|
mov bx,ax |
|
push fs |
|
pop ds |
|
xor dx,dx |
|
mov ah,40h |
|
mov cx,bp |
|
int 21h |
|
push cs |
|
pop ds |
|
jc error |
|
mov ah,3eh |
|
int 21h |
|
jc error |
|
mov ah,4fh |
|
int 21h |
|
jnc allfile |
|
mov ah,09 |
|
mov dx,offset message2 |
|
int 21h |
|
mov ax,3D00h |
|
mov dx,offset boot |
|
int 21h |
|
jc error |
|
push fs |
|
pop ds |
|
mov ah,3fh |
|
mov cx,0FFFFh |
|
xor dx,dx |
|
int 21h |
|
push cs |
|
pop ds |
|
jc error |
|
mov ah,3eh |
|
int 21h |
|
jc error |
|
push fs |
|
pop es |
|
mov ax,0301h |
|
mov dx,0 |
|
mov cx,0001h |
|
xor bx,bx |
|
int 13h |
|
mov ah,09 |
|
mov dx,offset ok |
|
int 21h |
|
xor ax,ax |
|
int 16h |
|
ret |
|
|
|
|
|
error: |
|
mov ah,09 |
|
mov dx,offset errormsg |
|
int 21h |
|
xor ax,ax |
|
int 16h |
|
ret |
|
|
|
|