aboutsummaryrefslogtreecommitdiff
path: root/MicSim/components/ijvm.py
blob: 86f5f6340340ca8559a784c18c5b601b68c2cf7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# Quick link about opcode: https://users-cs.au.dk/bouvin/dComArk/2015/noter/Note_2/#Instructions

# Build IJVM
ijvm=dict({
	"BIPUSH":0x10,
	"DUP":0x59,
	"GOTO":0xA7,
	"IADD":0x60,
	"IAND":0x7E,
	"IFEQ":0x99,
	"IFLT":0x9B,
	"IF_ICMPEQ":0x9F,
	"IINC":0x84,
	"ILOAD":0x15,
	"INVOKEVIRTUAL":0xB6,
	"IOR":0x80,
	"IRETURN":0xAC,
	"ISTORE":0x36,
	"ISUB":0x64,
	"LDC_W":0x13,
	"NOP":0x00,
	"POP":0x57,
	"SWAP":0x5F,
	"WIDE":0xC4
})

# Add extras instructions
ijvm["OUT"]=0x23 # Print next byte as char
ijvm["HALT"]=0x2F # Stop simulator