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.