Mythsim Syntax

The syntax for a line in a Mythsim ucode file begins with a label followed by a colon. Next is a listing of the control lines and their values separated by commas. Finally is the next instruction information followed by a semicolon. Any control line that is not specified is assumed to have the value of zero. If a control line has a value of either OFF or ON, specifying the control line without a value implies the value is ON while not specifying the control line at all implies the value is OFF. The following shows an example:
fetch0: a_sel=7, b_sel=7, alu_sel=OR, mar_sel=LOAD,
           r6write, goto fetch1;
Contol LineValues and Mneumonic
ri_sel
  • 0: OFF
  • 1: ON
rj_sel
  • 0: OFF
  • 1: ON
rk_sel
  • 0: OFF
  • 1: ON
a_sel
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
b_sel
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
r0_write
  • 0: OFF
  • 1: ON
r1_write
  • 0: OFF
  • 1: ON
r2_write
  • 0: OFF
  • 1: ON
r3_write
  • 0: OFF
  • 1: ON
r4_write
  • 0: OFF
  • 1: ON
r5_write
  • 0: OFF
  • 1: ON
r6_write
  • 0: OFF
  • 1: ON
r7_write
  • 0: OFF
  • 1: ON
alu_sel
  • 0: NOT
  • 1: OR
  • 2: AND
  • 3: XOR
  • 4: ADD
  • 5: SUB
  • 6: ADDA
  • 7: SUBA
c_in
  • 0: OFF
  • 1: ON
mar_sel
  • 0: HOLD
  • 1: LOAD
mdr_sel
  • 0: HOLD
  • 1: LOAD_ALU
  • 2: LOAD_MEM
ir0_sel
  • 0: HOLD
  • 1: LOAD
ir2_sel
  • 0: HOLD
  • 1: LOAD
result_sel
  • 0: ALU
  • 1: MDR
  • 2: IR_CONST4
  • 3: IR_CONST8
write
  • 0: OFF
  • 1: ON
read
  • 0: OFF
  • 1: ON

Status LineNotes
c_outNote that for the SUBA alu operation, the values for c_out are inverted.
m_7
v
wait