Nalagalnik
Format OBJ
Prevedite nekaj programov v zbirniku SIC/XE, ki smo jih napisali v začetku vaj. Oglejte si nastale datoteke .obj:
- Katere zapise vsebujejo?
- Kateri je začetni naslov programa?
- Na katere naslove se naloži koda?
- Kateri naslov je prvi naslov za izvajanje?
Nalagalnik v Javi
Pomožne metode
Za nalaganje datoteke .obj potrebujemo metode za branje niza, enega bajta in ene besede. Lahko jih napišemo (kot statične metode) v nekem pomožnem razredu, npr. Utils. Branje je smiselno izvesti preko razreda Reader; kasneje bomo to uporabili, da bomo lahko brali iz datoteke, niza ipd. Napišite torej naslednje metode:
String readString(Reader r, int len)
int readByte(Reader r)
int readWord(Reader r)
Nalaganje sekcije
Datoteka .obj pravzaprav predstavlja kontrolno sekcijo (angl. control section). V razredu Machine podprite njeno nalaganje. Potrebujemo metodo, npr.:
boolean loadSection(Reader r)
Napišite absolutni nalagalnik, t.j. koda naj se naloži na naslov, ki je podan v datoteki. Po nalaganju ne pozabite ustrezno nastaviti registra PC.
★ Nalagalnik v SIC/XE zbirniku
Oglejte si primer nalagalnika v zbirniku SIC/XE.
- Kam se program naloži?
- Iz katere naprave bere kodo?
- V kakšni obliki je zapisana koda?
Prenesite datoteko F1.dev s programom, ki ga zna zgornji nalagalnik naložiti in zagnati. Preizkusite! Za kateri program gre?
Poskusite katerega od svojih programov naložiti na ta način. Datoteko .obj lahko predelate, da bo kompatibilna z zgornjim nalagalnikom. Bodite pozorni na ukaze, kot sta RESB in RESW, ki ne generirajo zapisov T. Namesto teh morate sami vstaviti ustrezno število ničel.