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 Line | Values and Mneumonic
|
|---|
| ri_sel |
|
| rj_sel |
|
| rk_sel |
|
| a_sel |
|
| b_sel |
|
| r0_write |
|
| r1_write |
|
| r2_write |
|
| r3_write |
|
| r4_write |
|
| r5_write |
|
| r6_write |
|
| r7_write |
|
| alu_sel |
- 0: NOT
- 1: OR
- 2: AND
- 3: XOR
- 4: ADD
- 5: SUB
- 6: ADDA
- 7: SUBA
|
| c_in |
|
| mar_sel |
|
| mdr_sel | - 0: HOLD
- 1: LOAD_ALU
- 2: LOAD_MEM
|
| ir0_sel |
|
| ir2_sel |
|
| result_sel |
- 0: ALU
- 1: MDR
- 2: IR_CONST4
- 3: IR_CONST8
|
| write |
|
| read |
|
| Status Line | Notes
|
|---|
| c_out | Note that for the SUBA alu operation, the values for c_out
are inverted.
|
| m_7
|
| v
|
| wait
|