Vhodno/izhodne naprave so v SIC/XE oštevilčene z 0–255, pri čemer naprave 0, 1 in 2 predstavljajo standardni vhod, izhod in napako (angl. stdin, stdout in stderr). Ostale naprave simulator predstavi z datoteko XX.dev, kjer je XX šestnajstiški zapis številke naprave.

  1. Napišite program print.asm, ki na napravo z oznako AA zapiše niz SIC/XE in znak za skok v novo vrstico. Sledite programu v simulatorju. V programu spremenite oznako naprave in ga ponovno zaženite. Katere nove datoteke so nastale? Kaj je v njih?
  2. Napišite program cat.asm, ki kopira znake s standardnega vhoda na standardni izhod.

Rutine

Napišite program echo.asm za izpis besedila na standardni izhod. Program naj bo sestavljen iz rutin in glavnega dela, ki jih testira. Pazite, da rutine ne popackajo registrov. Napišite naslednje rutine:

  • char - izpis znaka, podanega v registru A.
  • nl - izpis znaka za skok v novo vrstico.
  • string - izpis niza, ki se nahaja na naslovu, podanem v registru A. Podprite C-jevske nize, t.j. nizi se končajo z znakom s kodo 0. Namig: potrebovali boste posredno naslavljanje.
  • num - desetiški izpis števila, podanega v registru A. Ta rutina je malce bolj zapletena, zato je pametno malce vnaprej razmisliti. Kako pridemo do števk števila? V kakšnem vrstnem redu jih dobimo?
Last modified: Tuesday, 14 December 2021, 1:30 PM