RXEDumper give me the message when decompile the rxe file generated by LEGO-NXT-G v2.0.
How should i do?
Thanks.
Invalid variable declaration??
Invalid variable declaration??
- Attachments
-
- Untitled-1.rxe
- (1.67 KiB) Downloaded 273 times
Re: Invalid variable declaration??
RXEDumper has not been actively updated for quite a while. I would recommend opening the RXE in the latest BricxCC version. You can also drag and drop from a Windows Explorer window to BricxCC to decompile the RXE file. I get the following code when I do that:
John Hansen
Code: Select all
/*
Untitled-1.rxe
Header
----------------
FormatString = MindstormsNXT
Version = 5
DSCount = 139 (0x8B)
DSSize = 478 (0x1DE)
DSStaticSize = 208 (0xD0)
DSDefaultsSize = 364 (0x16C)
DynDSDefaultsOffset = 94 (0x5E)
DynDSDefaultsSize = 270 (0x10E)
MemMgrHead = 3 (0x3)
MemMgrTail = 8 (0x8)
DVArrayOffset = 278 (0x116)
ClumpCount = 5 (0x5)
CodespaceCount = 363 (0x16B)
----------------
DataSpace
----------------
DSTOC
sl0000: 06 00 0000
sl0001: 06 01 0004
sl0002: 06 01 0008
sl0003: 06 01 000C
sl0004: 06 01 0010
f0005: 0A 01 0014
ul0006: 05 00 0018
sl0007: 06 00 001C
sl0008: 06 00 0020
sl0009: 06 01 0024
sl000A: 06 00 0028
ul000B: 05 01 002C
ul000C: 05 01 0030
f000D: 0A 01 0034
uw000E: 03 00 0038
sw000F: 04 00 003A
sw0010: 04 01 003C
sw0011: 04 01 003E
sw0012: 04 01 0040
sw0013: 04 01 0042
uw0014: 03 01 0044
sw0015: 04 01 0046
sw0016: 04 00 0048
sw0017: 04 00 004A
uw0018: 03 00 004C
ub0019: 01 01 004E
ub001A: 01 00 004F
ub001B: 01 00 0050
ub001C: 01 00 0051
ub001D: 01 00 0052
ub001E: 01 01 0053
ub001F: 01 00 0054
ub0020: 01 01 0055
ub0021: 01 01 0056
ub0022: 01 01 0057
ub0023: 01 00 0058
ub0024: 01 00 0059
ub0025: 01 01 005A
ub0026: 01 01 005B
ub0027: 01 01 005C
ub0028: 01 01 005D
ub0029: 01 01 005E
ub002A: 01 01 005F
ub002B: 01 00 0060
ub002C: 01 00 0061
ub002D: 01 01 0062
ub002E: 01 00 0063
ub002F: 01 01 0064
ub0030: 01 00 0065
ub0031: 01 00 0066
ub0032: 01 00 0067
ub0033: 01 00 0068
ub0034: 01 00 0069
ub0035: 01 00 006A
ub0036: 01 00 006B
ub0037: 01 00 006C
ub0038: 01 00 006D
sb0039: 02 00 006E
sb003A: 02 01 006F
ub003B: 01 00 0070
ub003C: 01 00 0071
ub003D: 01 01 0072
ub003E: 01 01 0073
sb003F: 02 00 0074
ub0040: 01 00 0075
ub0041: 01 01 0076
ub0042: 01 01 0077
ub0043: 01 00 0078
ub0044: 01 01 0079
c0045: 08 00 0005
sb0046: 02 01 007C
ub0047: 01 01 007D
ub0048: 01 00 007E
ub0049: 01 01 007F
ub004A: 01 01 0080
c004B: 08 00 0001
sw004C: 04 01 0084
c004D: 08 00 0003
sb004E: 02 01 0088
ub004F: 01 01 0089
a0050: 07 00 008A
ub0051: 01 00 0000
c0052: 08 00 0002
sb0053: 02 01 008C
ub0054: 01 01 008D
c0055: 08 00 0003
sb0056: 02 01 0090
ub0057: 01 01 0091
a0058: 07 00 0092
ub0059: 01 00 0000
c005A: 08 00 0002
sb005B: 02 01 0094
ub005C: 01 01 0095
c005D: 08 00 0003
sb005E: 02 01 0098
ub005F: 01 01 0099
a0060: 07 00 009A
ub0061: 01 00 0000
c0062: 08 00 0002
sw0063: 04 01 009C
sw0064: 04 01 009E
c0065: 08 00 0004
sb0066: 02 01 00A0
c0067: 08 00 0002
sw0068: 04 01 00A4
sw0069: 04 01 00A6
a006A: 07 00 00A8
ub006B: 01 00 0000
ul006C: 05 01 00AC
a006D: 07 00 00B0
sl006E: 06 00 0000
a006F: 07 00 00B2
sl0070: 06 00 0000
a0071: 07 00 00B4
sl0072: 06 00 0000
a0073: 07 00 00B6
sl0074: 06 00 0000
a0075: 07 00 00B8
ub0076: 01 00 0000
a0077: 07 00 00BA
ub0078: 01 00 0000
a0079: 07 00 00BC
ub007A: 01 00 0000
a007B: 07 00 00BE
ub007C: 01 00 0000
a007D: 07 00 00C0
ub007E: 01 00 0000
a007F: 07 00 00C2
ub0080: 01 00 0000
a0081: 07 00 00C4
ub0082: 01 00 0000
a0083: 07 00 00C6
ub0084: 01 00 0000
a0085: 07 00 00C8
ub0086: 01 00 0000
a0087: 07 00 00CA
ub0088: 01 00 0000
a0089: 07 00 00CC
ub008A: 01 00 0000
Static DS Defaults
FF FF FF FF 32 00 00 00 02 00 00 00 01 00 00 00
3A 00 00 00 03 00 64 00 20 00 08 00 01 00 01 02
01 01 03 01 01 01 01 01 01 01 01 04 0A 01 01 01
01 E0 01 01 E0 01 01 01 01 00 02 00 03 00 04 00
05 00 06 00 07 00 08 00 09 00 0A 00 0B 00 0C 00
0D 00 0E 00 0F 00 10 00 11 00 12 00 13 00
Dynamic DS Defaults
00 FF FF FF 00 FF FF FF 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 FF FF FF 44 65 66 61
75 6C 74 00 00 FF FF FF 00 FF FF FF 00 FF FF FF
00 00 FF FF 80 09 00 FF 00 FF FF FF 00 FF FF FF
00 FF FF FF 00 FF
Dope Vectors (offset, elem size, count, back ptr, link)
01 16 00 0A 00 14 FF FF 00 01
FF FF 00 01 00 00 00 8A 00 02
FF FF 00 01 00 00 00 92 00 06
00 D0 00 01 00 01 00 9A 00 04
00 D4 00 01 00 01 00 A8 00 05
00 D8 00 04 00 04 00 B0 00 09
FF FF 00 04 00 00 00 B2 00 07
FF FF 00 04 00 00 00 B4 00 08
FF FF 00 04 00 00 00 B6 FF FF
00 E8 00 01 00 01 00 B8 00 0A
00 EC 00 01 00 08 00 BA 00 0B
00 F4 00 01 00 01 00 BC 00 0C
00 F8 00 01 00 01 00 BE 00 0D
00 FC 00 01 00 01 00 C0 00 0E
01 00 00 01 00 02 00 C2 00 0F
01 04 00 01 00 03 00 C4 00 10
01 08 00 01 00 01 00 C6 00 11
01 0C 00 01 00 01 00 C8 00 12
01 10 00 01 00 01 00 CA 00 13
01 14 00 01 00 01 00 CC 00 00
----------------
ClumpRecords
----------------
5 record(s) (Fire Cnt, Dependent Cnt, Code Start)
t000: 00 00 0000
t001: 01 01 0007
t002: 01 01 015A
t003: 01 03 015D
t004: 03 00 0160
t001 dependencies: t004
t002 dependencies: t004
t003 dependencies: t001 t002 t004
----------------
*/
; -------------- variable declarations --------------
dseg segment
;------- definitions -------
c0045_def struct
sb0046 sbyte
ub0047 byte
ub0048 byte
ub0049 byte
ub004A byte
c0045_def ends
c004B_def struct
sw004C sword
c004B_def ends
c004D_def struct
sb004E sbyte
ub004F byte
a0050 byte[]
c004D_def ends
c0052_def struct
sb0053 sbyte
ub0054 byte
c0052_def ends
c0055_def struct
sb0056 sbyte
ub0057 byte
a0058 byte[]
c0055_def ends
c005A_def struct
sb005B sbyte
ub005C byte
c005A_def ends
c005D_def struct
sb005E sbyte
ub005F byte
a0060 byte[]
c005D_def ends
c0062_def struct
sw0063 sword
sw0064 sword
c0062_def ends
c0067_def struct
sw0068 sword
sw0069 sword
c0067_def ends
c0065_def struct
sb0066 sbyte
c0067 c0067_def
a006A byte[]
ul006C dword
c0065_def ends
;------- declarations -------
sl0000 sdword -1
sl0001 sdword
sl0002 sdword
sl0003 sdword
sl0004 sdword
f0005 float
ul0006 dword 50
sl0007 sdword 2
sl0008 sdword 1
sl0009 sdword
sl000A sdword 58
ul000B dword
ul000C dword
f000D float
uw000E word 3
sw000F sword 100
sw0010 sword
sw0011 sword
sw0012 sword
sw0013 sword
uw0014 word
sw0015 sword
sw0016 sword 32
sw0017 sword 8
uw0018 word 1
ub0019 byte
ub001A byte 1
ub001B byte 2
ub001C byte 1
ub001D byte 1
ub001E byte
ub001F byte 3
ub0020 byte
ub0021 byte
ub0022 byte
ub0023 byte 1
ub0024 byte 1
ub0025 byte
ub0026 byte
ub0027 byte
ub0028 byte
ub0029 byte
ub002A byte
ub002B byte 1
ub002C byte 1
ub002D byte
ub002E byte 1
ub002F byte
ub0030 byte 1
ub0031 byte 1
ub0032 byte 1
ub0033 byte 4
ub0034 byte 10
ub0035 byte 1
ub0036 byte 1
ub0037 byte 1
ub0038 byte 1
sb0039 sbyte -32
sb003A sbyte
ub003B byte 1
ub003C byte 1
ub003D byte
ub003E byte
sb003F sbyte -32
ub0040 byte 1
ub0041 byte
ub0042 byte
ub0043 byte 1
ub0044 byte
c0045 c0045_def {1, , }
c004B c004B_def
c004D c004D_def
c0052 c0052_def
c0055 c0055_def
c005A c005A_def
c005D c005D_def {0x0}
c0062 c0062_def
c0065 c0065_def {0x0, }
a006D sdword[] 0x0, 0x0, 0x0, 0x0
a006F sdword[]
a0071 sdword[]
a0073 sdword[]
a0075 byte[] 0x0
a0077 byte[] 'Default'
a0079 byte[] 0x0
a007B byte[] 0x0
a007D byte[] 0x0
a007F byte[] 0x0, 0x0
a0081 byte[] 0x80, 0x9, 0x0
a0083 byte[] 0x0
a0085 byte[] 0x0
a0087 byte[] 0x0
a0089 byte[] 0x0
dseg ends
; -------------- program code --------------
thread t000
mov sl0001, ub0019
subcall t003, sl0000
exit -1, -1
endt
;-----------------------------------
thread t001
precedes t004
mov ub001E, uw000E
mov a006F, a006D
cmp LTEQ, ub0020, ub001E, ub001F
and ub0020, ub0020, ub001D
mov c0045.ub0047, ub001E
syscall ReadButton, c0045
mov ub0021, c0045.ub0048
mov ub0022, c0045.ub0049
brcmp EQ, lbl0040, ub0020, ub0026
index sl0002, a006F, ub001E
sub sl0002, ub0022, sl0002
tst GT, ub0020, sl0002
brcmp EQ, lbl0038, ub0020, ub0025
replace a0071, a006F, ub001E, ub0022
mov a0073, a0071
jmp lbl003A
lbl0038: mov a0073, a006F
lbl003A: mov a006D, a0073
mov ub0027, ub0020
jmp lbl0042
lbl0040: mov ub0027, ub0021
lbl0042: mov ub0028, ub0027
not ub0027, ub0028
mov ub0021, ub0027
brtst EQ, lbl004E, ub001C
mov ub0021, ub0028
lbl004E: mov ub0029, ub0021
brcmp EQ, lbl0056, ub0029, ub002B
jmp lbl0157
lbl0056: cmp LT, ub0029, sw000F, sw0010
brcmp EQ, lbl0064, ub0029, ub002D
mov sw0012, sw0010
mov sw0011, sw000F
jmp lbl0068
lbl0064: mov sw0012, sw000F
mov sw0011, sw0010
lbl0068: add sw0012, sw0012, ub002E
sub sw0012, sw0012, sw0011
syscall RandomNumber, c004B
mov sw0013, c004B.sw004C
mov uw0014, sw0013
mov sl0002, uw0014
mod sl0003, sl0002, sw0012
add sl0003, sw0011, sl0003
mov sw0015, sl0003
mov sl0004, sw0015
mov f0005, sl0004
cmp LT, ub0029, ub0030, ub0033
sub ub0021, ub0031, ub0035
cmp LT, ub0027, ub0021, ub0034
and ub0029, ub0027, ub0029
brcmp EQ, lbl0141, ub0029, ub0042
brcmp EQ, lbl00B9, ub0032, sl0009
brcmp EQ, lbl00B2, ub0032, sl0008
brcmp EQ, lbl00AB, ub0032, sl0007
mov a007D, a0079
jmp lbl00C0
lbl00AB: flatten a007B, ub002F
mov a007D, a007B
jmp lbl00C0
lbl00B2: flatten a007B, f0005
mov a007D, a007B
jmp lbl00C0
lbl00B9: strsubset a007B, a0075, NA, sl000A
mov a007D, a007B
lbl00C0: brcmp EQ, lbl0123, ub0030, sl0009
flatten a0083, ub0021
arrsize sl0003, a007D
sub sl0003, sl0003, ub0037
mov ub0029, sl0003
add ub0029, ub0029, ub0038
flatten a0085, ub0029
strcat a0087, a0081, a0083, a0085, a007D, a007F
strtoarr a0087, a0087
mov a007B, a0087
mov c004D.ub004F, ub0030
mov c004D.a0050, a007B
syscall CommBTWrite, c004D
mov sb003A, c004D.sb004E
cmp EQ, ub0029, sb003A, sb0039
brcmp EQ, lbl0121, ub0029, ub003E
gettick ul000B
lbl00F7: gettick ul000C
sub ul000C, ul000C, ul000B
cmp GT, ub0029, ul000C, ul0006
mov c0052.ub0054, ub0030
syscall CommBTCheckStatus, c0052
mov sb003A, c0052.sb0053
tst EQ, ub0027, sb003A
or ub0028, ub0027, ub0029
brtst EQ, lbl00F7, ub0028
brcmp EQ, lbl011F, ub0027, ub003D
mov c0055.ub0057, ub0030
mov c0055.a0058, a007B
syscall CommBTWrite, c0055
jmp lbl011F
lbl011F: jmp lbl0121
lbl0121: jmp lbl013F
lbl0123: mov c005A.ub005C, ub0030
syscall CommBTCheckStatus, c005A
mov sb003A, c005A.sb005B
cmp NEQ, ub0027, sb003F, sb003A
brcmp EQ, lbl013F, ub0027, ub0041
add ub0021, ub0034, ub0021
mov c005D.ub005F, ub0021
mov c005D.a0060, a007D
syscall MessageWrite, c005D
jmp lbl013F
lbl013F: jmp lbl0141
lbl0141: mov f000D, sl0004
numtostr a007D, f000D
mov a0089, a007D
mov c0062.sw0063, sw0017
mov c0062.sw0064, sw0016
mov sw0015, ub0043
mov c0065.c0067, c0062
mov c0065.a006A, a0089
mov c0065.ul006C, sw0015
syscall DrawText, c0065
lbl0157: exit 0, 0
endt
;-----------------------------------
thread t002
precedes t004
exit 0, 0
endt
;-----------------------------------
thread t003
precedes t001, t002, t004
exit 0, 2
endt
;-----------------------------------
thread t004
brtst NEQ, lbl0169, ub0044
add sl0001, sl0001, ub001A
exitto t003
lbl0169: subret sl0000
endt
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
Re: Invalid variable declaration??
Smart BricxCC and stupid me....
Thanks again.
Thanks again.
Who is online
Users browsing this forum: No registered users and 5 guests