Denne side opdateres ikke mere; gå i stedet til min nye hjemmeside. Visse uddaterede informationer fra denne side er ikke flyttet over og findes kun på denne gamle side.

Kort og brugbart

Dette program er et jeg skrev da jeg brugte en hel sommerferie på at undersøge hvordan operativsystemer fungerede, specielt hvordan man fik kørt et program fra en boot-diskette.

Programmet var det første jeg skrev med dette for øje, og det viste sig faktisk at programmet var enormt kraftigt.

Lad os lige se på source koden. Den er skrevet i Assembler (virker kun på Intel CPU'er, men til gengæld på dem alle sammen).

        ORG 0h
        INT 19h

Det var unægteligt meget kort, og når det bliver assembleret vil programmet fylde så meget som 2 bytes (det skal assembleres til binary output - det vil ofte sige en .COM fil).

De 2 bytes er det dobbelte af det mindste mulige program, men der er ikke nogle af 1-bytes programmerne der faktisk kan bruges til noget. Ideen med programmet er at det skal lægges i de første to bytes på en diskette. Det vil sige i boot-sektoen (men overskriv ikke noget andet).

Vi ved alle at hvis vi glemmer en diskette i diskettedrevet og genstarter computeren vil den melde fejl, og komme med en ligegyldig fejlmeddelelse, som ganske vist er korrekt tekniske set, men som ikke har den helt store praktiske værdi for brugeren.

Dette lille program vil få computeren til at vente indtil disketten bliver taget ud. Der skrives ingen meddelelse, men så snart disketten fjernes, booter computeren som normalt.

Dette program har et par å på bagen og derfor ikke mere så anvendeligt som da det blev skrevet, men det er et godt eksempel på at man faktisk kan lave noget der kan bruges på kun 2 bytes. Det vækker så lidt til eftertanke at et Delphi-program rask væk fylder over 200 KiB bare for at starte, at Windows 98 kommer på en CD og at MS Office 2000 fylder 4 CD'ere...


Dette dokument er: http://old.westergaard.eu/nerd/short.php3.
Send kommentarer angående denne side til Michael Westergaard <michael@westergaard.eu>.
Siden er senest opdateret Monday 30th of November 2009 05:26:17.

Statistik

Michael's Blog

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /Library/WebServer/Sites/old.westergaard.eu/include/twitter.php on line 254 Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in /Library/WebServer/Sites/old.westergaard.eu/include/twitter.php on line 255

Pink & Purple

Saturday, May 14th at 16:19:56

Salad Snacks

Tuesday, April 26th at 22:26:34

Per Consumptie Wijser

Tuesday, April 26th at 21:49:29

Transition System

Thursday, April 21st at 22:42:38

Black or White

Thursday, February 24th at 13:40:47