The XSM (eXperimental String Machine) Simulator is used to simulate the hardware and OS
abstractions specified in the ExpOS Application Binary
Interface.
Within your XSM directory, use the following command to run the simulator
./xsm [-l library.lib] -e <filename.xsm> [--debug]
(i) Syntax : -l library.lib
Semantics : This flag loads the library, library.lib to the machine memory. (The
simulator specification does not allow any name other than library.lib for the library file.)
The argument is optional and needs to be given only if the library is to be linked to page 0 and
page 1 of the virtual
address space
(ii) Syntax : -e <filename.xsm>
Semantics : This flag loads the executable file named as filename which is of the
XEXE format . This
argument is mandatory. The file is loaded into pages 4,5,6 and 7 in the virtual address space .
(iii) Syntax : --debug
Semantics : This flag sets the machine into DEBUG mode when it encounters a BRKP
machine instruction. Any BRKP instruction in
the program will be ignored by the machine if this flag is not set. Further details are given in
the section below.