5.2 A Register Machine Simulator

one way to test our machine design is to carry out the state during
operations by hand. but that would be silly!! lol. it's a scheme
program with 4 interface procedures:

  • (make-machine reg-names operations controller)
  • (set-register-contents! machine-model reg-name value)
  • (get-register-contents machine-model reg-name)
  • (start machine-model)

5.2.1 the machine model

make-machine extends the basic machine model with a message passing
technique.

it has registers holding value as local state. we can get and set.

the stack is likewise a procedure with local state. we can push, pop,
and initialize to empty.

5.2.2 the assembler

the assembler transforms a series of controller expressions into a
corresponding list of machine instructions.

(assemble controller-text machine)

5.2.3 generating execution procedures for instructions

this is some wild shit! true galaxy brain takes.

implementing the fundamental instructions of the machine.

assign, test, branch, goto,
save, restore, perform,
primitive exp

5.2.4 monitoring machine performance

we can verify not only correctness of a machine design, but also
measure its performance

cool souped up stack implementation

Author: jordyn

Created: 2021-02-15 Mon 16:09