Wiki

Clone wiki

eml_simulator_android / Easy_Machine_Language_Specifications

About "Easy Machine Language"

This is a Simple and Easy machine language designed for the company's workshop that I belong.

Specifications

Memory

  • Designed for 8 bits Virtual CPU.
  • Only unsigned values.
  • This has 2 memory areas: Program Memories and Data Memories.
  • Each memory area size is 128 bytes.
  • Program Memories address : 0x00 - 0x7F
  • Data Memories address: 0x80 - 0xFF

Counters and Registers

  • There is a Operation Code Counter that size is 2 bytes.
  • There is a Register that named "Register A".
  • There is a Program Counter that size is 1 byte.
  • There is a Overflow bit.

Operation Code Structure

OperatorOperand
ReferenceFrom RegisterTo Register
xxxxxxxx

x : 1 bit

Operand Details

ReferenceDescription
00Register
01Next Address
10[Reserved]
11[Reserved]
From / To RegisterDescription
0Register A
1[Reserved]

Operator and Operation Code Details

OperatorRef.From Reg.To Reg.SizeHexDescription
END0000000010x00END PROGRAM. Operator 0000 is control commands.
ADD0001010020x14RegisterA(To Reg.) = RegisterA(From Reg.) + [Next Address (Value)]
SUB0010010020x24RegisterA(To Reg.) = RegisterA(From Reg.) - [Next Address (Value)]
LSH0011000010x30RegisterA(To Reg.) = RegisterA(From Reg.) << 1
RSH0100000010x40RegisterA(To Reg.) = RegisterA(From Reg.) >> 1
STR0101010020x54[Next Address (Value)] = RegisterA(From Reg.)
LOD0110010020x64RegisterA(To Reg.) = [Next Address (Value)]
AND0111010020x74RegisterA(To Reg.) = RegisterA(From Reg.) & [Next Address (Value)]
OR1000010020x84RegisterA(To Reg.) = RegisterA(From Reg.) | [Next Address (Value)]
XOR1001010020x94RegisterA(To Reg.) = RegisterA(From Reg.) ^ [Next Address (Value)]
JMP1010010020xA4[Program Counter] = [Next Address (Literal)]
JRZ1011010020xB4[Program Counter] = [Next Address (Literal)] (if RegisterA(From Reg.) is Zero)
JOV1100010020xC4[Program Counter] = [Next Address (Literal)] (if Over Flow is Zero)

Not defined codes the above table is "Not Function."

Updated