na, ez érdekes!
úgy tűnik, az enterprise-os HiSoft Pascal-ban működik a WRITE(EXOS(xx)); parancs
és a regiszter értékadás is működik. Persze nem közvetlenül a BC regiszternek ad értéket pl. az RBC:=1000 utasítás, hanem elmenti egy memóriacímre, amit majd a WRITE(EXOS(xx)) utasítás kiolvas. Szóval, az INLINE-os módszer azért egy kicsit gyorsabb.
Pl. egy EXOS 11 hívás így történik:
LD HL,11
CALL 04D7H
04D7H LD A,L ;A-ban az EXOS funkcióhívás száma
LD (04E7H),A ;az RST 30h autasítás mögé bemásolásra kerül a funkcióhívás száma
LD A,(04F4H)
LD BC,(04F5H)
LD DE,(04F7H)
04E6H EXOS xx
LD (04F7H),DE
LD (04F5H),BC
LD (04F4H),A
RET