Пишем свой загрузочный сектор Страница 4. Компиляция
|
Страница 4 из 4
Компиляция
Ну вот вроде бы и все. Компилируется все это до безобразия просто: > nasm -f bin boot.asm -lboot.lst -oboot.bin Осталось только как-то записать этот образ в загрузочный сектор вашей дискеты и разместить в корне этой дискеты файл загрузчика BOOTOR. Загрузочный сектор можно записать с помощью такой вот простой программы на Turbo (Borland) Pascal. Эта программа будет работать как в DOS, так и в Windows - пробовал на WinXP - работает как ни странно, но только с floopy. Но все же я рекомендую запускать эту утилиту из-под чистого DOS'а, т.к. WinXP обновляет не все поля в заголовке FAT и загрузочный сектор может работать некорректно. var fn:string; f:file; buf:array[0..511] of byte; ok:boolean; begin fn:=ParamStr(1); if fn='' then writeln('makeboot bootsect.bin') else begin writeln('Making boot floppy'); {$I-} assign(f,fn); reset(f,sizeof(buf)); BlockRead(f,buf,1); close(f); {$I+} if IOResult<>0 then begin Writeln('Failed to read file "',fn,'"'); Halt(1); end; ok:=false; asm mov ax, 0301h mov cx, 1 mov dx, 0 mov bx, seg buf mov es, bx mov bx, offset buf int 13h jc @error mov ok, true @error: end; if ok then writeln('Done :)') else begin writeln('Makeboot failed :('); Halt(1); end; end; end. |