-
Notifications
You must be signed in to change notification settings - Fork 0
/
isaformat_1.0.json
40 lines (40 loc) · 1.28 KB
/
isaformat_1.0.json
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
32
33
34
35
36
37
38
39
40
{
"version": "1.0",
"formats": [
{
"name": "<ISA-UNIQUE CASE-INSENSITIVE FORMAT NAME>",
"fields": [
{
"from": <starting bit (in instruction, lower boundary, included)>,
"to": <ending bit (in instruction, upper boundary, included)>,
"variable": "<FORMAT-UNIQUE CASE-INSENSITIVE VARIABLE NAME>",
"isSlice": <boolean, has field only slice of variable?>,
"sliceFrom": <starting bit (only required for slices, lower boundary, included)>,
"sliceTo": <starting bit (only required for slices, upper boundary, included)>
}
]
}
],
"instructions": [
{
"name": "<CASE-INSENSITIVE INSTRUCTION NAME>",
"argNum": <NUMBER OF ARGUMENTS>,
"format": "<FORMAT NAME>",
"variables": [
{
"name": "<VARIABLE NAME>",
"value": "<INTEGER VALUE (for binary: prefix with b, for hexadecimal: prefix with x or 0x, for octal: prefix with o or 0, defaults to decimal), get arguments with bash-syntax ($0, $1...)>",
"length": <length in bit of this variable>
}
]
}
],
"constants": [
{
"name": "<CASE-INSENSITIVE NAME>",
"value": "<PLAIN NUMBER VALUE (like variable), will be replaced in all occurences (in values or fields)>",
"inSpec": <boolean, replace in instruction-definitions?>,
"inCode": <boolean, replace in code?>
}
]
}