File: usecode32.txt

package info (click to toggle)
exult 1.12.0-2
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 43,608 kB
  • sloc: cpp: 169,917; xml: 7,400; yacc: 2,850; makefile: 2,419; java: 1,901; ansic: 1,654; lex: 673; sh: 539; objc: 416
file content (50 lines) | stat: -rw-r--r-- 1,091 bytes parent folder | download | duplicates (4)
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
41
42
43
44
45
46
47
48
49
50
Additional specs for 32 bit usecode:

Function header:
this usually is:
<16 bit: function id><16 bit: function length><16 bit: data length>

for 32 bit usecode this is: (marked by the 'extended' flag in Usecode_function)
<16: 0xFFFF><16: function id><32: function length><32: data length>



Extra opcodes: (0x80 + old opcode. See original opcodes for details)

0x84: CONV32
0x84 <32 bit rel. code offset>

0x85: JNE32
0x85 <32 bit rel. code offset>

0x86: JMP32
0x86 <32 bit rel. code offset>

0x87: CMPS32
0x87: <16 bit string count><32 bit rel. code offset>

0x9C: ADDSI32
0x9C <32 bit data offset>

0x9D: PUSHS32
0x9D <32 bit data offset>

0x9F: PUSHI32
0x9F <32 bit immediate>

0xAE 0x82: LOOP
0xAE 0x82 <4 16-bit local var indices><32 bit rel. code offset>

0xB1: ....32
0xB1 <16 bit unknown><32 bit rel. code offset>

0xCD: INIT32
0xCD <32 bit data offset><32 bit data offset>



Changes to ucxt/wuc:

wuc will output an extended function header if there is a '.ext32' keyword
directly between the .funcnumber and .data lines.
ucxt will output this keyword automatically if asked to.