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.

Zadnja sprememba: torek, 23. november 2021, 10.38