blob: 47cf30ae2dfd30a14e33a7dfb0bdce54129d53bb (
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
31
|
n: min number of bits to be able to represent all types
y: min size required to represent each power of two value less than or equal to the current mode (in bytes, and greater than or equal to 1)
x: y + [min size to represent each valid offset into the immediate value array]
Binary format:
type[n], data[x]
Types:
Short immediate reference:
Value is placed directly in the data section
Immediate reference:
data[0 to x-y-1]:
size of immediate value
data[x-y to x-1]:
byte offset into the array of immediate values
Register:
data just to select which register
Memory at immediate reference:
Uses RAM pointed to by the value as obtained in `immediate reference` above
Memory at register:
Uses RAM pointed to by the value as obtained in `register` above
TODO: Will add more later
All memory references go through any configured translation thereof, unless specified otherwise
|