diff --git a/CHANGELOG.md b/CHANGELOG.md index f3f091e9a..f96b72e58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file. - ESP32 Platform from 2025.01.31 to 2025.02.30, Framework (Arduino Core) from v3.1.1.250109 to v3.1.1.250203 and IDF to 5.3.2 (#22943) ### Fixed +- Berry fixed parser error in rare case ### Removed diff --git a/lib/libesp32/berry/src/be_code.c b/lib/libesp32/berry/src/be_code.c index 0c53ca658..7b9483974 100644 --- a/lib/libesp32/berry/src/be_code.c +++ b/lib/libesp32/berry/src/be_code.c @@ -698,7 +698,9 @@ static void setsfxvar(bfuncinfo *finfo, bopcode op, bexpdesc *e1, int src) int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg) { /* free_e2 indicates special case where ETINDEX or ETMEMBER need to be freed if top of registers */ - bbool free_e2 = (e2->type == ETINDEX || e2->type == ETMEMBER) && (e2->v.ss.idx != e1->v.idx) && (e2->v.ss.idx == finfo->freereg - 1); + bbool free_e2 = (e2->type == ETINDEX || e2->type == ETMEMBER) && + (((e2->v.ss.idx != e1->v.idx) && (e2->v.ss.idx == finfo->freereg - 1)) || + ((e2->v.ss.obj != e1->v.idx) && (e2->v.ss.obj == finfo->freereg - 1)) ); int src = exp2reg(finfo, e2, e1->type == ETLOCAL ? e1->v.idx : -1); /* Convert e2 to kreg */ /* If e1 is a local variable, use the register */ @@ -706,7 +708,10 @@ int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg) if (!keep_reg && (e1->type != ETLOCAL || e1->v.idx != src)) { free_expreg(finfo, e2); /* free source (checks only ETREG) */ /* TODO e2 is at top */ } else if (!keep_reg && free_e2) { - be_code_freeregs(finfo, 1); + /* remove only if we know it's not a local variable */ + if (finfo->freereg > (bbyte)be_list_count(finfo->local)) { + be_code_freeregs(finfo, 1); + } } switch (e1->type) { case ETLOCAL: /* It can't be ETREG. */ diff --git a/lib/libesp32/berry/tests/parser.be b/lib/libesp32/berry/tests/parser.be index 2b64b4c50..014ffe0da 100644 --- a/lib/libesp32/berry/tests/parser.be +++ b/lib/libesp32/berry/tests/parser.be @@ -9,3 +9,17 @@ def f() end end assert(f() == 2) + +# Parser error reported in Feb 2025 +def parse_022025() + var s, value + var js = {'a':{'a':1}} + value = js['a']['a'] + + if value != nil + for x:0..1 + return x + end + end +end +assert(parse_022025() == 0) diff --git a/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h b/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h index 36b654bd8..9a05a9cab 100644 --- a/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h +++ b/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h @@ -379,7 +379,7 @@ be_local_closure(class_Animate_palette_animate, /* name */ &be_ktab_class_Animate_palette, /* shared constants */ be_str_weak(animate), &be_const_str_solidified, - ( &(const binstruction[193]) { /* code */ + ( &(const binstruction[192]) { /* code */ 0x88080104, // 0000 GETMBR R2 R0 K4 0x4C0C0000, // 0001 LDNIL R3 0x1C080403, // 0002 EQ R2 R2 R3 @@ -438,141 +438,140 @@ be_local_closure(class_Animate_palette_animate, /* name */ 0x00280D02, // 0037 ADD R10 R6 K2 0x882C010B, // 0038 GETMBR R11 R0 K11 0x9428160A, // 0039 GETIDX R10 R11 R10 - 0x5C300800, // 003A MOVE R12 R4 - 0x5C340400, // 003B MOVE R13 R2 - 0x5C381200, // 003C MOVE R14 R9 - 0x5C3C1400, // 003D MOVE R15 R10 - 0x54420007, // 003E LDINT R16 8 - 0x3C400E10, // 003F SHR R16 R7 R16 - 0x544600FE, // 0040 LDINT R17 255 - 0x2C402011, // 0041 AND R16 R16 R17 - 0x54460007, // 0042 LDINT R17 8 - 0x3C441011, // 0043 SHR R17 R8 R17 - 0x544A00FE, // 0044 LDINT R18 255 - 0x2C442212, // 0045 AND R17 R17 R18 - 0x7C300A00, // 0046 CALL R12 5 - 0x5C2C1800, // 0047 MOVE R11 R12 - 0x5C300800, // 0048 MOVE R12 R4 - 0x5C340400, // 0049 MOVE R13 R2 - 0x5C381200, // 004A MOVE R14 R9 - 0x5C3C1400, // 004B MOVE R15 R10 - 0x5442000F, // 004C LDINT R16 16 - 0x3C400E10, // 004D SHR R16 R7 R16 - 0x544600FE, // 004E LDINT R17 255 - 0x2C402011, // 004F AND R16 R16 R17 - 0x5446000F, // 0050 LDINT R17 16 - 0x3C441011, // 0051 SHR R17 R8 R17 - 0x544A00FE, // 0052 LDINT R18 255 - 0x2C442212, // 0053 AND R17 R17 R18 - 0x7C300A00, // 0054 CALL R12 5 - 0x5C340800, // 0055 MOVE R13 R4 - 0x5C380400, // 0056 MOVE R14 R2 - 0x5C3C1200, // 0057 MOVE R15 R9 - 0x5C401400, // 0058 MOVE R16 R10 - 0x54460017, // 0059 LDINT R17 24 - 0x3C440E11, // 005A SHR R17 R7 R17 - 0x544A00FE, // 005B LDINT R18 255 - 0x2C442212, // 005C AND R17 R17 R18 - 0x544A0017, // 005D LDINT R18 24 - 0x3C481012, // 005E SHR R18 R8 R18 - 0x544E00FE, // 005F LDINT R19 255 - 0x2C482413, // 0060 AND R18 R18 R19 - 0x7C340A00, // 0061 CALL R13 5 - 0x8838010E, // 0062 GETMBR R14 R0 K14 - 0x8C3C1D0F, // 0063 GETMET R15 R14 K15 - 0x54460007, // 0064 LDINT R17 8 - 0x3C440E11, // 0065 SHR R17 R7 R17 - 0x544A00FE, // 0066 LDINT R18 255 - 0x2C442212, // 0067 AND R17 R17 R18 - 0x544A000F, // 0068 LDINT R18 16 - 0x3C480E12, // 0069 SHR R18 R7 R18 - 0x544E00FE, // 006A LDINT R19 255 - 0x2C482413, // 006B AND R18 R18 R19 - 0x544E0017, // 006C LDINT R19 24 - 0x3C4C0E13, // 006D SHR R19 R7 R19 - 0x545200FE, // 006E LDINT R20 255 - 0x2C4C2614, // 006F AND R19 R19 R20 - 0x7C3C0800, // 0070 CALL R15 4 - 0x883C1D10, // 0071 GETMBR R15 R14 K16 - 0x8C401D0F, // 0072 GETMET R16 R14 K15 - 0x544A0007, // 0073 LDINT R18 8 - 0x3C481012, // 0074 SHR R18 R8 R18 - 0x544E00FE, // 0075 LDINT R19 255 - 0x2C482413, // 0076 AND R18 R18 R19 - 0x544E000F, // 0077 LDINT R19 16 - 0x3C4C1013, // 0078 SHR R19 R8 R19 - 0x545200FE, // 0079 LDINT R20 255 - 0x2C4C2614, // 007A AND R19 R19 R20 - 0x54520017, // 007B LDINT R20 24 - 0x3C501014, // 007C SHR R20 R8 R20 - 0x545600FE, // 007D LDINT R21 255 - 0x2C502815, // 007E AND R20 R20 R21 - 0x7C400800, // 007F CALL R16 4 - 0x88401D10, // 0080 GETMBR R16 R14 K16 - 0x5C440800, // 0081 MOVE R17 R4 - 0x5C480400, // 0082 MOVE R18 R2 - 0x5C4C1200, // 0083 MOVE R19 R9 - 0x5C501400, // 0084 MOVE R20 R10 - 0x5C541E00, // 0085 MOVE R21 R15 - 0x5C582000, // 0086 MOVE R22 R16 - 0x7C440A00, // 0087 CALL R17 5 - 0x8C481D0F, // 0088 GETMET R18 R14 K15 - 0x5C501600, // 0089 MOVE R20 R11 - 0x5C541800, // 008A MOVE R21 R12 - 0x5C581A00, // 008B MOVE R22 R13 - 0x7C480800, // 008C CALL R18 4 - 0x8C481D11, // 008D GETMET R18 R14 K17 - 0x5C502200, // 008E MOVE R20 R17 - 0x7C480400, // 008F CALL R18 2 - 0x882C1D12, // 0090 GETMBR R11 R14 K18 - 0x88301D13, // 0091 GETMBR R12 R14 K19 - 0x88341D14, // 0092 GETMBR R13 R14 K20 - 0x88480110, // 0093 GETMBR R18 R0 K16 - 0x544E0063, // 0094 LDINT R19 100 - 0x204C2413, // 0095 NE R19 R18 R19 - 0x784E001A, // 0096 JMPF R19 #00B2 - 0xB84E0A00, // 0097 GETNGBL R19 K5 - 0x8C4C2708, // 0098 GETMET R19 R19 K8 - 0x5C541600, // 0099 MOVE R21 R11 - 0x58580003, // 009A LDCONST R22 K3 - 0x545E0063, // 009B LDINT R23 100 - 0x58600003, // 009C LDCONST R24 K3 - 0x5C642400, // 009D MOVE R25 R18 - 0x7C4C0C00, // 009E CALL R19 6 - 0x5C2C2600, // 009F MOVE R11 R19 - 0xB84E0A00, // 00A0 GETNGBL R19 K5 - 0x8C4C2708, // 00A1 GETMET R19 R19 K8 - 0x5C541800, // 00A2 MOVE R21 R12 - 0x58580003, // 00A3 LDCONST R22 K3 - 0x545E0063, // 00A4 LDINT R23 100 - 0x58600003, // 00A5 LDCONST R24 K3 - 0x5C642400, // 00A6 MOVE R25 R18 - 0x7C4C0C00, // 00A7 CALL R19 6 - 0x5C302600, // 00A8 MOVE R12 R19 - 0xB84E0A00, // 00A9 GETNGBL R19 K5 - 0x8C4C2708, // 00AA GETMET R19 R19 K8 - 0x5C541A00, // 00AB MOVE R21 R13 - 0x58580003, // 00AC LDCONST R22 K3 - 0x545E0063, // 00AD LDINT R23 100 - 0x58600003, // 00AE LDCONST R24 K3 - 0x5C642400, // 00AF MOVE R25 R18 - 0x7C4C0C00, // 00B0 CALL R19 6 - 0x5C342600, // 00B1 MOVE R13 R19 - 0x544E000F, // 00B2 LDINT R19 16 - 0x384C1613, // 00B3 SHL R19 R11 R19 - 0x54520007, // 00B4 LDINT R20 8 - 0x38501814, // 00B5 SHL R20 R12 R20 - 0x304C2614, // 00B6 OR R19 R19 R20 - 0x304C260D, // 00B7 OR R19 R19 R13 - 0x88500115, // 00B8 GETMBR R20 R0 K21 - 0x88540116, // 00B9 GETMBR R21 R0 K22 - 0x78520004, // 00BA JMPF R20 #00C0 - 0x78560003, // 00BB JMPF R21 #00C0 - 0x5C582A00, // 00BC MOVE R22 R21 - 0x5C5C2800, // 00BD MOVE R23 R20 - 0x5C602600, // 00BE MOVE R24 R19 - 0x7C580400, // 00BF CALL R22 2 - 0x80042600, // 00C0 RET 1 R19 + 0x5C2C0800, // 003A MOVE R11 R4 + 0x5C300400, // 003B MOVE R12 R2 + 0x5C341200, // 003C MOVE R13 R9 + 0x5C381400, // 003D MOVE R14 R10 + 0x543E0007, // 003E LDINT R15 8 + 0x3C3C0E0F, // 003F SHR R15 R7 R15 + 0x544200FE, // 0040 LDINT R16 255 + 0x2C3C1E10, // 0041 AND R15 R15 R16 + 0x54420007, // 0042 LDINT R16 8 + 0x3C401010, // 0043 SHR R16 R8 R16 + 0x544600FE, // 0044 LDINT R17 255 + 0x2C402011, // 0045 AND R16 R16 R17 + 0x7C2C0A00, // 0046 CALL R11 5 + 0x5C300800, // 0047 MOVE R12 R4 + 0x5C340400, // 0048 MOVE R13 R2 + 0x5C381200, // 0049 MOVE R14 R9 + 0x5C3C1400, // 004A MOVE R15 R10 + 0x5442000F, // 004B LDINT R16 16 + 0x3C400E10, // 004C SHR R16 R7 R16 + 0x544600FE, // 004D LDINT R17 255 + 0x2C402011, // 004E AND R16 R16 R17 + 0x5446000F, // 004F LDINT R17 16 + 0x3C441011, // 0050 SHR R17 R8 R17 + 0x544A00FE, // 0051 LDINT R18 255 + 0x2C442212, // 0052 AND R17 R17 R18 + 0x7C300A00, // 0053 CALL R12 5 + 0x5C340800, // 0054 MOVE R13 R4 + 0x5C380400, // 0055 MOVE R14 R2 + 0x5C3C1200, // 0056 MOVE R15 R9 + 0x5C401400, // 0057 MOVE R16 R10 + 0x54460017, // 0058 LDINT R17 24 + 0x3C440E11, // 0059 SHR R17 R7 R17 + 0x544A00FE, // 005A LDINT R18 255 + 0x2C442212, // 005B AND R17 R17 R18 + 0x544A0017, // 005C LDINT R18 24 + 0x3C481012, // 005D SHR R18 R8 R18 + 0x544E00FE, // 005E LDINT R19 255 + 0x2C482413, // 005F AND R18 R18 R19 + 0x7C340A00, // 0060 CALL R13 5 + 0x8838010E, // 0061 GETMBR R14 R0 K14 + 0x8C3C1D0F, // 0062 GETMET R15 R14 K15 + 0x54460007, // 0063 LDINT R17 8 + 0x3C440E11, // 0064 SHR R17 R7 R17 + 0x544A00FE, // 0065 LDINT R18 255 + 0x2C442212, // 0066 AND R17 R17 R18 + 0x544A000F, // 0067 LDINT R18 16 + 0x3C480E12, // 0068 SHR R18 R7 R18 + 0x544E00FE, // 0069 LDINT R19 255 + 0x2C482413, // 006A AND R18 R18 R19 + 0x544E0017, // 006B LDINT R19 24 + 0x3C4C0E13, // 006C SHR R19 R7 R19 + 0x545200FE, // 006D LDINT R20 255 + 0x2C4C2614, // 006E AND R19 R19 R20 + 0x7C3C0800, // 006F CALL R15 4 + 0x883C1D10, // 0070 GETMBR R15 R14 K16 + 0x8C401D0F, // 0071 GETMET R16 R14 K15 + 0x544A0007, // 0072 LDINT R18 8 + 0x3C481012, // 0073 SHR R18 R8 R18 + 0x544E00FE, // 0074 LDINT R19 255 + 0x2C482413, // 0075 AND R18 R18 R19 + 0x544E000F, // 0076 LDINT R19 16 + 0x3C4C1013, // 0077 SHR R19 R8 R19 + 0x545200FE, // 0078 LDINT R20 255 + 0x2C4C2614, // 0079 AND R19 R19 R20 + 0x54520017, // 007A LDINT R20 24 + 0x3C501014, // 007B SHR R20 R8 R20 + 0x545600FE, // 007C LDINT R21 255 + 0x2C502815, // 007D AND R20 R20 R21 + 0x7C400800, // 007E CALL R16 4 + 0x88401D10, // 007F GETMBR R16 R14 K16 + 0x5C440800, // 0080 MOVE R17 R4 + 0x5C480400, // 0081 MOVE R18 R2 + 0x5C4C1200, // 0082 MOVE R19 R9 + 0x5C501400, // 0083 MOVE R20 R10 + 0x5C541E00, // 0084 MOVE R21 R15 + 0x5C582000, // 0085 MOVE R22 R16 + 0x7C440A00, // 0086 CALL R17 5 + 0x8C481D0F, // 0087 GETMET R18 R14 K15 + 0x5C501600, // 0088 MOVE R20 R11 + 0x5C541800, // 0089 MOVE R21 R12 + 0x5C581A00, // 008A MOVE R22 R13 + 0x7C480800, // 008B CALL R18 4 + 0x8C481D11, // 008C GETMET R18 R14 K17 + 0x5C502200, // 008D MOVE R20 R17 + 0x7C480400, // 008E CALL R18 2 + 0x882C1D12, // 008F GETMBR R11 R14 K18 + 0x88301D13, // 0090 GETMBR R12 R14 K19 + 0x88341D14, // 0091 GETMBR R13 R14 K20 + 0x88480110, // 0092 GETMBR R18 R0 K16 + 0x544E0063, // 0093 LDINT R19 100 + 0x204C2413, // 0094 NE R19 R18 R19 + 0x784E001A, // 0095 JMPF R19 #00B1 + 0xB84E0A00, // 0096 GETNGBL R19 K5 + 0x8C4C2708, // 0097 GETMET R19 R19 K8 + 0x5C541600, // 0098 MOVE R21 R11 + 0x58580003, // 0099 LDCONST R22 K3 + 0x545E0063, // 009A LDINT R23 100 + 0x58600003, // 009B LDCONST R24 K3 + 0x5C642400, // 009C MOVE R25 R18 + 0x7C4C0C00, // 009D CALL R19 6 + 0x5C2C2600, // 009E MOVE R11 R19 + 0xB84E0A00, // 009F GETNGBL R19 K5 + 0x8C4C2708, // 00A0 GETMET R19 R19 K8 + 0x5C541800, // 00A1 MOVE R21 R12 + 0x58580003, // 00A2 LDCONST R22 K3 + 0x545E0063, // 00A3 LDINT R23 100 + 0x58600003, // 00A4 LDCONST R24 K3 + 0x5C642400, // 00A5 MOVE R25 R18 + 0x7C4C0C00, // 00A6 CALL R19 6 + 0x5C302600, // 00A7 MOVE R12 R19 + 0xB84E0A00, // 00A8 GETNGBL R19 K5 + 0x8C4C2708, // 00A9 GETMET R19 R19 K8 + 0x5C541A00, // 00AA MOVE R21 R13 + 0x58580003, // 00AB LDCONST R22 K3 + 0x545E0063, // 00AC LDINT R23 100 + 0x58600003, // 00AD LDCONST R24 K3 + 0x5C642400, // 00AE MOVE R25 R18 + 0x7C4C0C00, // 00AF CALL R19 6 + 0x5C342600, // 00B0 MOVE R13 R19 + 0x544E000F, // 00B1 LDINT R19 16 + 0x384C1613, // 00B2 SHL R19 R11 R19 + 0x54520007, // 00B3 LDINT R20 8 + 0x38501814, // 00B4 SHL R20 R12 R20 + 0x304C2614, // 00B5 OR R19 R19 R20 + 0x304C260D, // 00B6 OR R19 R19 R13 + 0x88500115, // 00B7 GETMBR R20 R0 K21 + 0x88540116, // 00B8 GETMBR R21 R0 K22 + 0x78520004, // 00B9 JMPF R20 #00BF + 0x78560003, // 00BA JMPF R21 #00BF + 0x5C582A00, // 00BB MOVE R22 R21 + 0x5C5C2800, // 00BC MOVE R23 R20 + 0x5C602600, // 00BD MOVE R24 R19 + 0x7C580400, // 00BE CALL R22 2 + 0x80042600, // 00BF RET 1 R19 }) ) ); @@ -880,7 +879,7 @@ be_local_closure(class_Animate_palette_set_value, /* name */ &be_ktab_class_Animate_palette, /* shared constants */ be_str_weak(set_value), &be_const_str_solidified, - ( &(const binstruction[96]) { /* code */ + ( &(const binstruction[95]) { /* code */ 0x88080119, // 0000 GETMBR R2 R0 K25 0x4C0C0000, // 0001 LDNIL R3 0x1C080403, // 0002 EQ R2 R2 R3 @@ -922,61 +921,60 @@ be_local_closure(class_Animate_palette_set_value, /* name */ 0x00200902, // 0026 ADD R8 R4 K2 0x8824010B, // 0027 GETMBR R9 R0 K11 0x94201208, // 0028 GETIDX R8 R9 R8 - 0x5C280400, // 0029 MOVE R10 R2 - 0x5C2C0200, // 002A MOVE R11 R1 - 0x5C300E00, // 002B MOVE R12 R7 - 0x5C341000, // 002C MOVE R13 R8 - 0x543A0007, // 002D LDINT R14 8 - 0x3C380A0E, // 002E SHR R14 R5 R14 - 0x543E00FE, // 002F LDINT R15 255 - 0x2C381C0F, // 0030 AND R14 R14 R15 - 0x543E0007, // 0031 LDINT R15 8 - 0x3C3C0C0F, // 0032 SHR R15 R6 R15 - 0x544200FE, // 0033 LDINT R16 255 - 0x2C3C1E10, // 0034 AND R15 R15 R16 - 0x7C280A00, // 0035 CALL R10 5 - 0x5C241400, // 0036 MOVE R9 R10 - 0x5C280400, // 0037 MOVE R10 R2 - 0x5C2C0200, // 0038 MOVE R11 R1 - 0x5C300E00, // 0039 MOVE R12 R7 - 0x5C341000, // 003A MOVE R13 R8 - 0x543A000F, // 003B LDINT R14 16 - 0x3C380A0E, // 003C SHR R14 R5 R14 - 0x543E00FE, // 003D LDINT R15 255 - 0x2C381C0F, // 003E AND R14 R14 R15 - 0x543E000F, // 003F LDINT R15 16 - 0x3C3C0C0F, // 0040 SHR R15 R6 R15 - 0x544200FE, // 0041 LDINT R16 255 - 0x2C3C1E10, // 0042 AND R15 R15 R16 - 0x7C280A00, // 0043 CALL R10 5 - 0x5C2C0400, // 0044 MOVE R11 R2 - 0x5C300200, // 0045 MOVE R12 R1 - 0x5C340E00, // 0046 MOVE R13 R7 - 0x5C381000, // 0047 MOVE R14 R8 - 0x543E0017, // 0048 LDINT R15 24 - 0x3C3C0A0F, // 0049 SHR R15 R5 R15 - 0x544200FE, // 004A LDINT R16 255 - 0x2C3C1E10, // 004B AND R15 R15 R16 - 0x54420017, // 004C LDINT R16 24 - 0x3C400C10, // 004D SHR R16 R6 R16 - 0x544600FE, // 004E LDINT R17 255 - 0x2C402011, // 004F AND R16 R16 R17 - 0x7C2C0A00, // 0050 CALL R11 5 - 0x5432000F, // 0051 LDINT R12 16 - 0x3830120C, // 0052 SHL R12 R9 R12 - 0x54360007, // 0053 LDINT R13 8 - 0x3834140D, // 0054 SHL R13 R10 R13 - 0x3030180D, // 0055 OR R12 R12 R13 - 0x3030180B, // 0056 OR R12 R12 R11 - 0x88340115, // 0057 GETMBR R13 R0 K21 - 0x88380116, // 0058 GETMBR R14 R0 K22 - 0x78360004, // 0059 JMPF R13 #005F - 0x783A0003, // 005A JMPF R14 #005F - 0x5C3C1C00, // 005B MOVE R15 R14 - 0x5C401A00, // 005C MOVE R16 R13 - 0x5C441800, // 005D MOVE R17 R12 - 0x7C3C0400, // 005E CALL R15 2 - 0x80041800, // 005F RET 1 R12 + 0x5C240400, // 0029 MOVE R9 R2 + 0x5C280200, // 002A MOVE R10 R1 + 0x5C2C0E00, // 002B MOVE R11 R7 + 0x5C301000, // 002C MOVE R12 R8 + 0x54360007, // 002D LDINT R13 8 + 0x3C340A0D, // 002E SHR R13 R5 R13 + 0x543A00FE, // 002F LDINT R14 255 + 0x2C341A0E, // 0030 AND R13 R13 R14 + 0x543A0007, // 0031 LDINT R14 8 + 0x3C380C0E, // 0032 SHR R14 R6 R14 + 0x543E00FE, // 0033 LDINT R15 255 + 0x2C381C0F, // 0034 AND R14 R14 R15 + 0x7C240A00, // 0035 CALL R9 5 + 0x5C280400, // 0036 MOVE R10 R2 + 0x5C2C0200, // 0037 MOVE R11 R1 + 0x5C300E00, // 0038 MOVE R12 R7 + 0x5C341000, // 0039 MOVE R13 R8 + 0x543A000F, // 003A LDINT R14 16 + 0x3C380A0E, // 003B SHR R14 R5 R14 + 0x543E00FE, // 003C LDINT R15 255 + 0x2C381C0F, // 003D AND R14 R14 R15 + 0x543E000F, // 003E LDINT R15 16 + 0x3C3C0C0F, // 003F SHR R15 R6 R15 + 0x544200FE, // 0040 LDINT R16 255 + 0x2C3C1E10, // 0041 AND R15 R15 R16 + 0x7C280A00, // 0042 CALL R10 5 + 0x5C2C0400, // 0043 MOVE R11 R2 + 0x5C300200, // 0044 MOVE R12 R1 + 0x5C340E00, // 0045 MOVE R13 R7 + 0x5C381000, // 0046 MOVE R14 R8 + 0x543E0017, // 0047 LDINT R15 24 + 0x3C3C0A0F, // 0048 SHR R15 R5 R15 + 0x544200FE, // 0049 LDINT R16 255 + 0x2C3C1E10, // 004A AND R15 R15 R16 + 0x54420017, // 004B LDINT R16 24 + 0x3C400C10, // 004C SHR R16 R6 R16 + 0x544600FE, // 004D LDINT R17 255 + 0x2C402011, // 004E AND R16 R16 R17 + 0x7C2C0A00, // 004F CALL R11 5 + 0x5432000F, // 0050 LDINT R12 16 + 0x3830120C, // 0051 SHL R12 R9 R12 + 0x54360007, // 0052 LDINT R13 8 + 0x3834140D, // 0053 SHL R13 R10 R13 + 0x3030180D, // 0054 OR R12 R12 R13 + 0x3030180B, // 0055 OR R12 R12 R11 + 0x88340115, // 0056 GETMBR R13 R0 K21 + 0x88380116, // 0057 GETMBR R14 R0 K22 + 0x78360004, // 0058 JMPF R13 #005E + 0x783A0003, // 0059 JMPF R14 #005E + 0x5C3C1C00, // 005A MOVE R15 R14 + 0x5C401A00, // 005B MOVE R16 R13 + 0x5C441800, // 005C MOVE R17 R12 + 0x7C3C0400, // 005D CALL R15 2 + 0x80041800, // 005E RET 1 R12 }) ) ); diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_zzz_TLV_test.be b/lib/libesp32/berry_matter/src/embedded/Matter_zzz_TLV_test.be index 7b8eab8a0..3ecc27392 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_zzz_TLV_test.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_zzz_TLV_test.be @@ -24,6 +24,12 @@ import matter def test_TLV(b, s) var m = matter.TLV.parse(b) + var s2 = m.tostring() + if (s2 != s) print(f"{s2=} {s=}") end + var b2 = m.tlv2raw() + if (b2 != b) print(f"{b2=} {b=}") end + var sz = m.encode_len() + if (sz != size(b)) print(f"{sz=} {size(b)=}") end assert(m.tostring() == s) assert(m.tlv2raw() == b) assert(m.encode_len() == size(b)) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h index 944e0a787..3a151fa9e 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h @@ -891,7 +891,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ be_str_weak(parse_Sigma3), &be_const_str_solidified, - ( &(const binstruction[280]) { /* code */ + ( &(const binstruction[278]) { /* code */ 0xA40A1200, // 0000 IMPORT R2 K9 0x880C031D, // 0001 GETMBR R3 R1 K29 0x54120031, // 0002 LDINT R4 50 @@ -953,225 +953,223 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x40223E08, // 003A CONNECT R8 K31 R8 0x88240967, // 003B GETMBR R9 R4 K103 0x94201208, // 003C GETIDX R8 R9 R8 - 0x5429FFEF, // 003D LDINT R10 -16 - 0x40281503, // 003E CONNECT R10 R10 K3 - 0x882C0967, // 003F GETMBR R11 R4 K103 - 0x9424160A, // 0040 GETIDX R9 R11 R10 - 0x8C300568, // 0041 GETMET R12 R2 K104 - 0x5C380E00, // 0042 MOVE R14 R7 - 0x603C0015, // 0043 GETGBL R15 G21 - 0x7C3C0000, // 0044 CALL R15 0 - 0x8C3C1F4E, // 0045 GETMET R15 R15 K78 - 0x88440169, // 0046 GETMBR R17 R0 K105 - 0x7C3C0400, // 0047 CALL R15 2 - 0x60400015, // 0048 GETGBL R16 G21 - 0x7C400000, // 0049 CALL R16 0 - 0x6044000C, // 004A GETGBL R17 G12 - 0x5C481000, // 004B MOVE R18 R8 - 0x7C440200, // 004C CALL R17 1 - 0x544A000F, // 004D LDINT R18 16 - 0x7C300C00, // 004E CALL R12 6 - 0x5C281800, // 004F MOVE R10 R12 - 0x8C30156A, // 0050 GETMET R12 R10 K106 - 0x5C381000, // 0051 MOVE R14 R8 - 0x7C300400, // 0052 CALL R12 2 - 0x5C2C1800, // 0053 MOVE R11 R12 - 0x8C30156B, // 0054 GETMET R12 R10 K107 - 0x7C300200, // 0055 CALL R12 1 - 0x20341809, // 0056 NE R13 R12 R9 - 0x78360010, // 0057 JMPF R13 #0069 - 0xB8360A00, // 0058 GETNGBL R13 K5 - 0x5838006C, // 0059 LDCONST R14 K108 - 0x583C0008, // 005A LDCONST R15 K8 - 0x7C340400, // 005B CALL R13 2 - 0xB8360A00, // 005C GETNGBL R13 K5 - 0x58380023, // 005D LDCONST R14 K35 - 0x583C0008, // 005E LDCONST R15 K8 - 0x7C340400, // 005F CALL R13 2 - 0x8C340124, // 0060 GETMET R13 R0 K36 - 0x5C3C0200, // 0061 MOVE R15 R1 - 0x58400025, // 0062 LDCONST R16 K37 - 0x5844001F, // 0063 LDCONST R17 K31 - 0x58480022, // 0064 LDCONST R18 K34 - 0x504C0000, // 0065 LDBOOL R19 0 0 - 0x7C340C00, // 0066 CALL R13 6 - 0x50340000, // 0067 LDBOOL R13 0 0 - 0x80041A00, // 0068 RET 1 R13 - 0xB8364C00, // 0069 GETNGBL R13 K38 - 0x88341B6D, // 006A GETMBR R13 R13 K109 - 0x8C341B28, // 006B GETMET R13 R13 K40 - 0x5C3C1600, // 006C MOVE R15 R11 - 0x7C340400, // 006D CALL R13 2 - 0x8C381B6E, // 006E GETMET R14 R13 K110 - 0x58400025, // 006F LDCONST R16 K37 - 0x7C380400, // 0070 CALL R14 2 - 0x8C3C1B6E, // 0071 GETMET R15 R13 K110 - 0x58440022, // 0072 LDCONST R17 K34 - 0x7C3C0400, // 0073 CALL R15 2 - 0x8C401B6E, // 0074 GETMET R16 R13 K110 - 0x58480008, // 0075 LDCONST R18 K8 - 0x7C400400, // 0076 CALL R16 2 - 0xB8464C00, // 0077 GETNGBL R17 K38 - 0x8844236D, // 0078 GETMBR R17 R17 K109 - 0x8C442328, // 0079 GETMET R17 R17 K40 - 0x5C4C1C00, // 007A MOVE R19 R14 - 0x7C440400, // 007B CALL R17 2 - 0x8C48236E, // 007C GETMET R18 R17 K110 - 0x54520008, // 007D LDINT R20 9 - 0x7C480400, // 007E CALL R18 2 - 0x8C4C236F, // 007F GETMET R19 R17 K111 - 0x54560005, // 0080 LDINT R21 6 - 0x7C4C0400, // 0081 CALL R19 2 - 0x8C50276E, // 0082 GETMET R20 R19 K110 - 0x545A0010, // 0083 LDINT R22 17 - 0x7C500400, // 0084 CALL R20 2 - 0x60540004, // 0085 GETGBL R21 G4 - 0x5C582800, // 0086 MOVE R22 R20 - 0x7C540200, // 0087 CALL R21 1 - 0x1C542B70, // 0088 EQ R21 R21 K112 - 0x78560007, // 0089 JMPF R21 #0092 - 0xB856E400, // 008A GETNGBL R21 K114 - 0x8C542B73, // 008B GETMET R21 R21 K115 - 0x5C5C2800, // 008C MOVE R23 R20 - 0x7C540400, // 008D CALL R21 2 - 0x8C542B74, // 008E GETMET R21 R21 K116 - 0x7C540200, // 008F CALL R21 1 - 0x900EE215, // 0090 SETMBR R3 K113 R21 - 0x70020002, // 0091 JMP #0095 - 0x8C542974, // 0092 GETMET R21 R20 K116 - 0x7C540200, // 0093 CALL R21 1 - 0x900EE215, // 0094 SETMBR R3 K113 R21 - 0xB8564C00, // 0095 GETNGBL R21 K38 - 0x88542B6D, // 0096 GETMBR R21 R21 K109 - 0x8C542B75, // 0097 GETMET R21 R21 K117 - 0x7C540200, // 0098 CALL R21 1 - 0x8C582B76, // 0099 GETMET R22 R21 K118 - 0x58600025, // 009A LDCONST R24 K37 - 0xB8664C00, // 009B GETNGBL R25 K38 - 0x8864336D, // 009C GETMBR R25 R25 K109 - 0x88643377, // 009D GETMBR R25 R25 K119 - 0x5C681C00, // 009E MOVE R26 R14 - 0x7C580800, // 009F CALL R22 4 - 0x8C582B76, // 00A0 GETMET R22 R21 K118 - 0x58600022, // 00A1 LDCONST R24 K34 - 0xB8664C00, // 00A2 GETNGBL R25 K38 - 0x8864336D, // 00A3 GETMBR R25 R25 K109 - 0x88643377, // 00A4 GETMBR R25 R25 K119 - 0x5C681E00, // 00A5 MOVE R26 R15 - 0x7C580800, // 00A6 CALL R22 4 - 0x8C582B76, // 00A7 GETMET R22 R21 K118 - 0x58600008, // 00A8 LDCONST R24 K8 - 0xB8664C00, // 00A9 GETNGBL R25 K38 - 0x8864336D, // 00AA GETMBR R25 R25 K109 - 0x88643377, // 00AB GETMBR R25 R25 K119 - 0x88680778, // 00AC GETMBR R26 R3 K120 - 0x7C580800, // 00AD CALL R22 4 - 0x8C582B76, // 00AE GETMET R22 R21 K118 - 0x54620003, // 00AF LDINT R24 4 - 0xB8664C00, // 00B0 GETNGBL R25 K38 - 0x8864336D, // 00B1 GETMBR R25 R25 K109 - 0x88643377, // 00B2 GETMBR R25 R25 K119 - 0x88680779, // 00B3 GETMBR R26 R3 K121 - 0x7C580800, // 00B4 CALL R22 4 - 0x8C582B3E, // 00B5 GETMET R22 R21 K62 - 0x7C580200, // 00B6 CALL R22 1 - 0x8C5C057A, // 00B7 GETMET R23 R2 K122 - 0x7C5C0200, // 00B8 CALL R23 1 - 0x8C5C2F7B, // 00B9 GETMET R23 R23 K123 - 0x5C642400, // 00BA MOVE R25 R18 - 0x5C682C00, // 00BB MOVE R26 R22 - 0x5C6C2000, // 00BC MOVE R27 R16 - 0x7C5C0800, // 00BD CALL R23 4 - 0x5C602E00, // 00BE MOVE R24 R23 - 0x74620008, // 00BF JMPT R24 #00C9 - 0xB8620A00, // 00C0 GETNGBL R24 K5 - 0x5864007C, // 00C1 LDCONST R25 K124 - 0x58680022, // 00C2 LDCONST R26 K34 - 0x7C600400, // 00C3 CALL R24 2 - 0xB8620A00, // 00C4 GETNGBL R24 K5 - 0x5864007D, // 00C5 LDCONST R25 K125 - 0x58680022, // 00C6 LDCONST R26 K34 - 0x7C600400, // 00C7 CALL R24 2 - 0x70020003, // 00C8 JMP #00CD - 0xB8620A00, // 00C9 GETNGBL R24 K5 - 0x5864007E, // 00CA LDCONST R25 K126 - 0x58680008, // 00CB LDCONST R26 K8 - 0x7C600400, // 00CC CALL R24 2 - 0x8C60054D, // 00CD GETMET R24 R2 K77 - 0x7C600200, // 00CE CALL R24 1 - 0x8C603116, // 00CF GETMET R24 R24 K22 - 0x8868072A, // 00D0 GETMBR R26 R3 K42 - 0x7C600400, // 00D1 CALL R24 2 - 0x8C603116, // 00D2 GETMET R24 R24 K22 - 0x8868073F, // 00D3 GETMBR R26 R3 K63 - 0x7C600400, // 00D4 CALL R24 2 - 0x8C603116, // 00D5 GETMET R24 R24 K22 - 0x8868097F, // 00D6 GETMBR R26 R4 K127 - 0x7C600400, // 00D7 CALL R24 2 - 0x8C603117, // 00D8 GETMET R24 R24 K23 - 0x7C600200, // 00D9 CALL R24 1 - 0x5C143000, // 00DA MOVE R5 R24 + 0x5425FFEF, // 003D LDINT R9 -16 + 0x40241303, // 003E CONNECT R9 R9 K3 + 0x88280967, // 003F GETMBR R10 R4 K103 + 0x94241409, // 0040 GETIDX R9 R10 R9 + 0x8C280568, // 0041 GETMET R10 R2 K104 + 0x5C300E00, // 0042 MOVE R12 R7 + 0x60340015, // 0043 GETGBL R13 G21 + 0x7C340000, // 0044 CALL R13 0 + 0x8C341B4E, // 0045 GETMET R13 R13 K78 + 0x883C0169, // 0046 GETMBR R15 R0 K105 + 0x7C340400, // 0047 CALL R13 2 + 0x60380015, // 0048 GETGBL R14 G21 + 0x7C380000, // 0049 CALL R14 0 + 0x603C000C, // 004A GETGBL R15 G12 + 0x5C401000, // 004B MOVE R16 R8 + 0x7C3C0200, // 004C CALL R15 1 + 0x5442000F, // 004D LDINT R16 16 + 0x7C280C00, // 004E CALL R10 6 + 0x8C2C156A, // 004F GETMET R11 R10 K106 + 0x5C341000, // 0050 MOVE R13 R8 + 0x7C2C0400, // 0051 CALL R11 2 + 0x8C30156B, // 0052 GETMET R12 R10 K107 + 0x7C300200, // 0053 CALL R12 1 + 0x20341809, // 0054 NE R13 R12 R9 + 0x78360010, // 0055 JMPF R13 #0067 + 0xB8360A00, // 0056 GETNGBL R13 K5 + 0x5838006C, // 0057 LDCONST R14 K108 + 0x583C0008, // 0058 LDCONST R15 K8 + 0x7C340400, // 0059 CALL R13 2 + 0xB8360A00, // 005A GETNGBL R13 K5 + 0x58380023, // 005B LDCONST R14 K35 + 0x583C0008, // 005C LDCONST R15 K8 + 0x7C340400, // 005D CALL R13 2 + 0x8C340124, // 005E GETMET R13 R0 K36 + 0x5C3C0200, // 005F MOVE R15 R1 + 0x58400025, // 0060 LDCONST R16 K37 + 0x5844001F, // 0061 LDCONST R17 K31 + 0x58480022, // 0062 LDCONST R18 K34 + 0x504C0000, // 0063 LDBOOL R19 0 0 + 0x7C340C00, // 0064 CALL R13 6 + 0x50340000, // 0065 LDBOOL R13 0 0 + 0x80041A00, // 0066 RET 1 R13 + 0xB8364C00, // 0067 GETNGBL R13 K38 + 0x88341B6D, // 0068 GETMBR R13 R13 K109 + 0x8C341B28, // 0069 GETMET R13 R13 K40 + 0x5C3C1600, // 006A MOVE R15 R11 + 0x7C340400, // 006B CALL R13 2 + 0x8C381B6E, // 006C GETMET R14 R13 K110 + 0x58400025, // 006D LDCONST R16 K37 + 0x7C380400, // 006E CALL R14 2 + 0x8C3C1B6E, // 006F GETMET R15 R13 K110 + 0x58440022, // 0070 LDCONST R17 K34 + 0x7C3C0400, // 0071 CALL R15 2 + 0x8C401B6E, // 0072 GETMET R16 R13 K110 + 0x58480008, // 0073 LDCONST R18 K8 + 0x7C400400, // 0074 CALL R16 2 + 0xB8464C00, // 0075 GETNGBL R17 K38 + 0x8844236D, // 0076 GETMBR R17 R17 K109 + 0x8C442328, // 0077 GETMET R17 R17 K40 + 0x5C4C1C00, // 0078 MOVE R19 R14 + 0x7C440400, // 0079 CALL R17 2 + 0x8C48236E, // 007A GETMET R18 R17 K110 + 0x54520008, // 007B LDINT R20 9 + 0x7C480400, // 007C CALL R18 2 + 0x8C4C236F, // 007D GETMET R19 R17 K111 + 0x54560005, // 007E LDINT R21 6 + 0x7C4C0400, // 007F CALL R19 2 + 0x8C50276E, // 0080 GETMET R20 R19 K110 + 0x545A0010, // 0081 LDINT R22 17 + 0x7C500400, // 0082 CALL R20 2 + 0x60540004, // 0083 GETGBL R21 G4 + 0x5C582800, // 0084 MOVE R22 R20 + 0x7C540200, // 0085 CALL R21 1 + 0x1C542B70, // 0086 EQ R21 R21 K112 + 0x78560007, // 0087 JMPF R21 #0090 + 0xB856E400, // 0088 GETNGBL R21 K114 + 0x8C542B73, // 0089 GETMET R21 R21 K115 + 0x5C5C2800, // 008A MOVE R23 R20 + 0x7C540400, // 008B CALL R21 2 + 0x8C542B74, // 008C GETMET R21 R21 K116 + 0x7C540200, // 008D CALL R21 1 + 0x900EE215, // 008E SETMBR R3 K113 R21 + 0x70020002, // 008F JMP #0093 + 0x8C542974, // 0090 GETMET R21 R20 K116 + 0x7C540200, // 0091 CALL R21 1 + 0x900EE215, // 0092 SETMBR R3 K113 R21 + 0xB8564C00, // 0093 GETNGBL R21 K38 + 0x88542B6D, // 0094 GETMBR R21 R21 K109 + 0x8C542B75, // 0095 GETMET R21 R21 K117 + 0x7C540200, // 0096 CALL R21 1 + 0x8C582B76, // 0097 GETMET R22 R21 K118 + 0x58600025, // 0098 LDCONST R24 K37 + 0xB8664C00, // 0099 GETNGBL R25 K38 + 0x8864336D, // 009A GETMBR R25 R25 K109 + 0x88643377, // 009B GETMBR R25 R25 K119 + 0x5C681C00, // 009C MOVE R26 R14 + 0x7C580800, // 009D CALL R22 4 + 0x8C582B76, // 009E GETMET R22 R21 K118 + 0x58600022, // 009F LDCONST R24 K34 + 0xB8664C00, // 00A0 GETNGBL R25 K38 + 0x8864336D, // 00A1 GETMBR R25 R25 K109 + 0x88643377, // 00A2 GETMBR R25 R25 K119 + 0x5C681E00, // 00A3 MOVE R26 R15 + 0x7C580800, // 00A4 CALL R22 4 + 0x8C582B76, // 00A5 GETMET R22 R21 K118 + 0x58600008, // 00A6 LDCONST R24 K8 + 0xB8664C00, // 00A7 GETNGBL R25 K38 + 0x8864336D, // 00A8 GETMBR R25 R25 K109 + 0x88643377, // 00A9 GETMBR R25 R25 K119 + 0x88680778, // 00AA GETMBR R26 R3 K120 + 0x7C580800, // 00AB CALL R22 4 + 0x8C582B76, // 00AC GETMET R22 R21 K118 + 0x54620003, // 00AD LDINT R24 4 + 0xB8664C00, // 00AE GETNGBL R25 K38 + 0x8864336D, // 00AF GETMBR R25 R25 K109 + 0x88643377, // 00B0 GETMBR R25 R25 K119 + 0x88680779, // 00B1 GETMBR R26 R3 K121 + 0x7C580800, // 00B2 CALL R22 4 + 0x8C582B3E, // 00B3 GETMET R22 R21 K62 + 0x7C580200, // 00B4 CALL R22 1 + 0x8C5C057A, // 00B5 GETMET R23 R2 K122 + 0x7C5C0200, // 00B6 CALL R23 1 + 0x8C5C2F7B, // 00B7 GETMET R23 R23 K123 + 0x5C642400, // 00B8 MOVE R25 R18 + 0x5C682C00, // 00B9 MOVE R26 R22 + 0x5C6C2000, // 00BA MOVE R27 R16 + 0x7C5C0800, // 00BB CALL R23 4 + 0x5C602E00, // 00BC MOVE R24 R23 + 0x74620008, // 00BD JMPT R24 #00C7 + 0xB8620A00, // 00BE GETNGBL R24 K5 + 0x5864007C, // 00BF LDCONST R25 K124 + 0x58680022, // 00C0 LDCONST R26 K34 + 0x7C600400, // 00C1 CALL R24 2 + 0xB8620A00, // 00C2 GETNGBL R24 K5 + 0x5864007D, // 00C3 LDCONST R25 K125 + 0x58680022, // 00C4 LDCONST R26 K34 + 0x7C600400, // 00C5 CALL R24 2 + 0x70020003, // 00C6 JMP #00CB + 0xB8620A00, // 00C7 GETNGBL R24 K5 + 0x5864007E, // 00C8 LDCONST R25 K126 + 0x58680008, // 00C9 LDCONST R26 K8 + 0x7C600400, // 00CA CALL R24 2 + 0x8C60054D, // 00CB GETMET R24 R2 K77 + 0x7C600200, // 00CC CALL R24 1 + 0x8C603116, // 00CD GETMET R24 R24 K22 + 0x8868072A, // 00CE GETMBR R26 R3 K42 + 0x7C600400, // 00CF CALL R24 2 + 0x8C603116, // 00D0 GETMET R24 R24 K22 + 0x8868073F, // 00D1 GETMBR R26 R3 K63 + 0x7C600400, // 00D2 CALL R24 2 + 0x8C603116, // 00D3 GETMET R24 R24 K22 + 0x8868097F, // 00D4 GETMBR R26 R4 K127 + 0x7C600400, // 00D5 CALL R24 2 + 0x8C603117, // 00D6 GETMET R24 R24 K23 + 0x7C600200, // 00D7 CALL R24 1 + 0x5C143000, // 00D8 MOVE R5 R24 + 0x4C600000, // 00D9 LDNIL R24 + 0x900E5418, // 00DA SETMBR R3 K42 R24 0x4C600000, // 00DB LDNIL R24 - 0x900E5418, // 00DC SETMBR R3 K42 R24 - 0x4C600000, // 00DD LDNIL R24 - 0x900E7E18, // 00DE SETMBR R3 K63 R24 - 0x8C600560, // 00DF GETMET R24 R2 K96 - 0x7C600200, // 00E0 CALL R24 1 - 0x8C603161, // 00E1 GETMET R24 R24 K97 - 0x88680766, // 00E2 GETMBR R26 R3 K102 - 0x8C6C0714, // 00E3 GETMET R27 R3 K20 - 0x7C6C0200, // 00E4 CALL R27 1 - 0x006C3605, // 00E5 ADD R27 R27 R5 - 0x60700015, // 00E6 GETGBL R28 G21 - 0x7C700000, // 00E7 CALL R28 0 - 0x8C70394E, // 00E8 GETMET R28 R28 K78 - 0x88780162, // 00E9 GETMBR R30 R0 K98 - 0x7C700400, // 00EA CALL R28 2 - 0x5476002F, // 00EB LDINT R29 48 - 0x7C600A00, // 00EC CALL R24 5 - 0x5466000E, // 00ED LDINT R25 15 - 0x40663E19, // 00EE CONNECT R25 K31 R25 - 0x94643019, // 00EF GETIDX R25 R24 R25 - 0x546A000F, // 00F0 LDINT R26 16 - 0x546E001E, // 00F1 LDINT R27 31 - 0x4068341B, // 00F2 CONNECT R26 R26 R27 - 0x9468301A, // 00F3 GETIDX R26 R24 R26 - 0x546E001F, // 00F4 LDINT R27 32 - 0x5472002E, // 00F5 LDINT R28 47 - 0x406C361C, // 00F6 CONNECT R27 R27 R28 - 0x946C301B, // 00F7 GETIDX R27 R24 R27 - 0xB8721400, // 00F8 GETNGBL R28 K10 - 0x8C70395F, // 00F9 GETMET R28 R28 K95 - 0x7C700200, // 00FA CALL R28 1 - 0x8C740124, // 00FB GETMET R29 R0 K36 - 0x5C7C0200, // 00FC MOVE R31 R1 - 0x5880001F, // 00FD LDCONST R32 K31 - 0x5884001F, // 00FE LDCONST R33 K31 - 0x5888001F, // 00FF LDCONST R34 K31 - 0x508C0200, // 0100 LDBOOL R35 1 0 - 0x7C740C00, // 0101 CALL R29 6 - 0x8C740780, // 0102 GETMET R29 R3 K128 - 0x7C740200, // 0103 CALL R29 1 - 0x8C74071C, // 0104 GETMET R29 R3 K28 - 0x5C7C3200, // 0105 MOVE R31 R25 - 0x5C803400, // 0106 MOVE R32 R26 - 0x5C843600, // 0107 MOVE R33 R27 - 0x5C883800, // 0108 MOVE R34 R28 - 0x7C740A00, // 0109 CALL R29 5 - 0x900F031F, // 010A SETMBR R3 K129 K31 - 0x8C740782, // 010B GETMET R29 R3 K130 - 0x7C740200, // 010C CALL R29 1 - 0x8C740783, // 010D GETMET R29 R3 K131 - 0x507C0200, // 010E LDBOOL R31 1 0 - 0x7C740400, // 010F CALL R29 2 - 0x8C740784, // 0110 GETMET R29 R3 K132 + 0x900E7E18, // 00DC SETMBR R3 K63 R24 + 0x8C600560, // 00DD GETMET R24 R2 K96 + 0x7C600200, // 00DE CALL R24 1 + 0x8C603161, // 00DF GETMET R24 R24 K97 + 0x88680766, // 00E0 GETMBR R26 R3 K102 + 0x8C6C0714, // 00E1 GETMET R27 R3 K20 + 0x7C6C0200, // 00E2 CALL R27 1 + 0x006C3605, // 00E3 ADD R27 R27 R5 + 0x60700015, // 00E4 GETGBL R28 G21 + 0x7C700000, // 00E5 CALL R28 0 + 0x8C70394E, // 00E6 GETMET R28 R28 K78 + 0x88780162, // 00E7 GETMBR R30 R0 K98 + 0x7C700400, // 00E8 CALL R28 2 + 0x5476002F, // 00E9 LDINT R29 48 + 0x7C600A00, // 00EA CALL R24 5 + 0x5466000E, // 00EB LDINT R25 15 + 0x40663E19, // 00EC CONNECT R25 K31 R25 + 0x94643019, // 00ED GETIDX R25 R24 R25 + 0x546A000F, // 00EE LDINT R26 16 + 0x546E001E, // 00EF LDINT R27 31 + 0x4068341B, // 00F0 CONNECT R26 R26 R27 + 0x9468301A, // 00F1 GETIDX R26 R24 R26 + 0x546E001F, // 00F2 LDINT R27 32 + 0x5472002E, // 00F3 LDINT R28 47 + 0x406C361C, // 00F4 CONNECT R27 R27 R28 + 0x946C301B, // 00F5 GETIDX R27 R24 R27 + 0xB8721400, // 00F6 GETNGBL R28 K10 + 0x8C70395F, // 00F7 GETMET R28 R28 K95 + 0x7C700200, // 00F8 CALL R28 1 + 0x8C740124, // 00F9 GETMET R29 R0 K36 + 0x5C7C0200, // 00FA MOVE R31 R1 + 0x5880001F, // 00FB LDCONST R32 K31 + 0x5884001F, // 00FC LDCONST R33 K31 + 0x5888001F, // 00FD LDCONST R34 K31 + 0x508C0200, // 00FE LDBOOL R35 1 0 + 0x7C740C00, // 00FF CALL R29 6 + 0x8C740780, // 0100 GETMET R29 R3 K128 + 0x7C740200, // 0101 CALL R29 1 + 0x8C74071C, // 0102 GETMET R29 R3 K28 + 0x5C7C3200, // 0103 MOVE R31 R25 + 0x5C803400, // 0104 MOVE R32 R26 + 0x5C843600, // 0105 MOVE R33 R27 + 0x5C883800, // 0106 MOVE R34 R28 + 0x7C740A00, // 0107 CALL R29 5 + 0x900F031F, // 0108 SETMBR R3 K129 K31 + 0x8C740782, // 0109 GETMET R29 R3 K130 + 0x7C740200, // 010A CALL R29 1 + 0x8C740783, // 010B GETMET R29 R3 K131 + 0x507C0200, // 010C LDBOOL R31 1 0 + 0x7C740400, // 010D CALL R29 2 + 0x8C740784, // 010E GETMET R29 R3 K132 + 0x7C740200, // 010F CALL R29 1 + 0x8C740785, // 0110 GETMET R29 R3 K133 0x7C740200, // 0111 CALL R29 1 - 0x8C740785, // 0112 GETMET R29 R3 K133 + 0x8C740786, // 0112 GETMET R29 R3 K134 0x7C740200, // 0113 CALL R29 1 - 0x8C740786, // 0114 GETMET R29 R3 K134 - 0x7C740200, // 0115 CALL R29 1 - 0x50740200, // 0116 LDBOOL R29 1 0 - 0x80043A00, // 0117 RET 1 R29 + 0x50740200, // 0114 LDBOOL R29 1 0 + 0x80043A00, // 0115 RET 1 R29 }) ) ); @@ -1306,7 +1304,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ be_str_weak(parse_Sigma1), &be_const_str_solidified, - ( &(const binstruction[497]) { /* code */ + ( &(const binstruction[495]) { /* code */ 0xA40A1200, // 0000 IMPORT R2 K9 0x880C0300, // 0001 GETMBR R3 R1 K0 0x8810031D, // 0002 GETMBR R4 R1 K29 @@ -1374,7 +1372,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x58240008, // 0040 LDCONST R9 K8 0x7C1C0400, // 0041 CALL R7 2 0x50140000, // 0042 LDBOOL R5 0 0 - 0x781600C3, // 0043 JMPF R5 #0108 + 0x781600C1, // 0043 JMPF R5 #0106 0xB81E0A00, // 0044 GETNGBL R7 K5 0x58200097, // 0045 LDCONST R8 K151 0x58240008, // 0046 LDCONST R9 K8 @@ -1404,406 +1402,404 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x402E3E0B, // 005E CONNECT R11 K31 R11 0x88300993, // 005F GETMBR R12 R4 K147 0x942C180B, // 0060 GETIDX R11 R12 R11 - 0x5435FFEF, // 0061 LDINT R13 -16 - 0x40341B03, // 0062 CONNECT R13 R13 K3 - 0x88380993, // 0063 GETMBR R14 R4 K147 - 0x94301C0D, // 0064 GETIDX R12 R14 R13 - 0x8C3C0568, // 0065 GETMET R15 R2 K104 - 0x5C441200, // 0066 MOVE R17 R9 - 0x5C481400, // 0067 MOVE R18 R10 - 0x604C0015, // 0068 GETGBL R19 G21 - 0x7C4C0000, // 0069 CALL R19 0 - 0x6050000C, // 006A GETGBL R20 G12 - 0x5C541600, // 006B MOVE R21 R11 - 0x7C500200, // 006C CALL R20 1 - 0x5456000F, // 006D LDINT R21 16 - 0x7C3C0C00, // 006E CALL R15 6 - 0x5C341E00, // 006F MOVE R13 R15 - 0x8C3C1B6A, // 0070 GETMET R15 R13 K106 - 0x5C441600, // 0071 MOVE R17 R11 - 0x7C3C0400, // 0072 CALL R15 2 - 0x5C381E00, // 0073 MOVE R14 R15 - 0x8C3C1B6B, // 0074 GETMET R15 R13 K107 - 0x7C3C0200, // 0075 CALL R15 1 - 0x1C40180F, // 0076 EQ R16 R12 R15 - 0x7842008A, // 0077 JMPF R16 #0103 - 0x88400D95, // 0078 GETMBR R16 R6 K149 - 0x900F2A10, // 0079 SETMBR R3 K149 R16 - 0x8840039B, // 007A GETMBR R16 R1 K155 - 0x900F3410, // 007B SETMBR R3 K154 R16 - 0x8C40079C, // 007C GETMET R16 R3 K156 - 0x7C400200, // 007D CALL R16 1 - 0x8840092E, // 007E GETMBR R16 R4 K46 - 0x900E5A10, // 007F SETMBR R3 K45 R16 - 0x8840010D, // 0080 GETMBR R16 R0 K13 - 0x8840210E, // 0081 GETMBR R16 R16 K14 - 0x8C402130, // 0082 GETMET R16 R16 K48 - 0x7C400200, // 0083 CALL R16 1 - 0x900E5E10, // 0084 SETMBR R3 K47 R16 - 0xB8420A00, // 0085 GETNGBL R16 K5 - 0x60440018, // 0086 GETGBL R17 G24 - 0x58480031, // 0087 LDCONST R18 K49 - 0x884C072F, // 0088 GETMBR R19 R3 K47 - 0x88500332, // 0089 GETMBR R20 R1 K50 - 0x88540333, // 008A GETMBR R21 R1 K51 - 0x7C440800, // 008B CALL R17 4 - 0x58480008, // 008C LDCONST R18 K8 - 0x7C400400, // 008D CALL R16 2 - 0x88400D66, // 008E GETMBR R16 R6 K102 - 0x900ECC10, // 008F SETMBR R3 K102 R16 - 0x8C400537, // 0090 GETMET R16 R2 K55 - 0x544A000F, // 0091 LDINT R18 16 - 0x7C400400, // 0092 CALL R16 2 - 0x900F3A10, // 0093 SETMBR R3 K157 R16 - 0x60400015, // 0094 GETGBL R16 G21 - 0x7C400000, // 0095 CALL R16 0 - 0x8C40214E, // 0096 GETMET R16 R16 K78 - 0x5848009E, // 0097 LDCONST R18 K158 - 0x7C400400, // 0098 CALL R16 2 - 0x88440935, // 0099 GETMBR R17 R4 K53 - 0x8848079D, // 009A GETMBR R18 R3 K157 - 0x00442212, // 009B ADD R17 R17 R18 - 0x8C480560, // 009C GETMET R18 R2 K96 - 0x7C480200, // 009D CALL R18 1 - 0x8C482561, // 009E GETMET R18 R18 K97 - 0x88500766, // 009F GETMBR R20 R3 K102 - 0x5C542200, // 00A0 MOVE R21 R17 - 0x5C582000, // 00A1 MOVE R22 R16 - 0x545E000F, // 00A2 LDINT R23 16 - 0x7C480A00, // 00A3 CALL R18 5 - 0x8C4C0568, // 00A4 GETMET R19 R2 K104 - 0x5C542400, // 00A5 MOVE R21 R18 - 0x60580015, // 00A6 GETGBL R22 G21 - 0x7C580000, // 00A7 CALL R22 0 - 0x8C582D4E, // 00A8 GETMET R22 R22 K78 - 0x5860009F, // 00A9 LDCONST R24 K159 - 0x7C580400, // 00AA CALL R22 2 - 0x605C0015, // 00AB GETGBL R23 G21 - 0x7C5C0000, // 00AC CALL R23 0 - 0x5860001F, // 00AD LDCONST R24 K31 - 0x5466000F, // 00AE LDINT R25 16 - 0x7C4C0C00, // 00AF CALL R19 6 - 0x8C50276B, // 00B0 GETMET R20 R19 K107 - 0x7C500200, // 00B1 CALL R20 1 - 0xB8564C00, // 00B2 GETNGBL R21 K38 - 0x8C542BA0, // 00B3 GETMET R21 R21 K160 - 0x7C540200, // 00B4 CALL R21 1 - 0x8858079D, // 00B5 GETMBR R22 R3 K157 - 0x90572416, // 00B6 SETMBR R21 K146 R22 - 0x90574214, // 00B7 SETMBR R21 K161 R20 - 0x8858072F, // 00B8 GETMBR R22 R3 K47 - 0x90574416, // 00B9 SETMBR R21 K162 R22 - 0x88580935, // 00BA GETMBR R22 R4 K53 - 0x885C0D9D, // 00BB GETMBR R23 R6 K157 - 0x00582C17, // 00BC ADD R22 R22 R23 - 0x8C5C0560, // 00BD GETMET R23 R2 K96 - 0x7C5C0200, // 00BE CALL R23 1 - 0x8C5C2F61, // 00BF GETMET R23 R23 K97 - 0x88640766, // 00C0 GETMBR R25 R3 K102 - 0x5C682C00, // 00C1 MOVE R26 R22 - 0x606C0015, // 00C2 GETGBL R27 G21 - 0x7C6C0000, // 00C3 CALL R27 0 - 0x8C6C374E, // 00C4 GETMET R27 R27 K78 - 0x587400A3, // 00C5 LDCONST R29 K163 - 0x7C6C0400, // 00C6 CALL R27 2 - 0x5472002F, // 00C7 LDINT R28 48 - 0x7C5C0A00, // 00C8 CALL R23 5 - 0x5462000E, // 00C9 LDINT R24 15 - 0x40623E18, // 00CA CONNECT R24 K31 R24 - 0x94602E18, // 00CB GETIDX R24 R23 R24 - 0x5466000F, // 00CC LDINT R25 16 - 0x546A001E, // 00CD LDINT R26 31 - 0x4064321A, // 00CE CONNECT R25 R25 R26 - 0x94642E19, // 00CF GETIDX R25 R23 R25 - 0x546A001F, // 00D0 LDINT R26 32 - 0x546E002E, // 00D1 LDINT R27 47 - 0x4068341B, // 00D2 CONNECT R26 R26 R27 - 0x94682E1A, // 00D3 GETIDX R26 R23 R26 - 0xB86E1400, // 00D4 GETNGBL R27 K10 - 0x8C6C375F, // 00D5 GETMET R27 R27 K95 - 0x7C6C0200, // 00D6 CALL R27 1 - 0x8C702B3E, // 00D7 GETMET R28 R21 K62 - 0x7C700200, // 00D8 CALL R28 1 - 0x4C740000, // 00D9 LDNIL R29 - 0x900E541D, // 00DA SETMBR R3 K42 R29 - 0x8C740340, // 00DB GETMET R29 R1 K64 - 0x547E0032, // 00DC LDINT R31 51 - 0x50800200, // 00DD LDBOOL R32 1 0 - 0x7C740600, // 00DE CALL R29 3 - 0x8C783B41, // 00DF GETMET R30 R29 K65 - 0x5C803800, // 00E0 MOVE R32 R28 - 0x7C780400, // 00E1 CALL R30 2 - 0x887C0142, // 00E2 GETMBR R31 R0 K66 - 0x8C7C3F43, // 00E3 GETMET R31 R31 K67 - 0x5C843A00, // 00E4 MOVE R33 R29 - 0x7C7C0400, // 00E5 CALL R31 2 - 0x8C7C0780, // 00E6 GETMET R31 R3 K128 - 0x7C7C0200, // 00E7 CALL R31 1 - 0x8C7C071C, // 00E8 GETMET R31 R3 K28 - 0x5C843000, // 00E9 MOVE R33 R24 - 0x5C883200, // 00EA MOVE R34 R25 - 0x5C8C3400, // 00EB MOVE R35 R26 - 0x5C903600, // 00EC MOVE R36 R27 - 0x7C7C0A00, // 00ED CALL R31 5 - 0x887C0D71, // 00EE GETMBR R31 R6 K113 - 0x900EE21F, // 00EF SETMBR R3 K113 R31 - 0x900F031F, // 00F0 SETMBR R3 K129 K31 - 0x8C7C0782, // 00F1 GETMET R31 R3 K130 - 0x7C7C0200, // 00F2 CALL R31 1 - 0x8C7C0783, // 00F3 GETMET R31 R3 K131 - 0x50840200, // 00F4 LDBOOL R33 1 0 - 0x7C7C0400, // 00F5 CALL R31 2 - 0x8C7C0784, // 00F6 GETMET R31 R3 K132 + 0x5431FFEF, // 0061 LDINT R12 -16 + 0x40301903, // 0062 CONNECT R12 R12 K3 + 0x88340993, // 0063 GETMBR R13 R4 K147 + 0x94301A0C, // 0064 GETIDX R12 R13 R12 + 0x8C340568, // 0065 GETMET R13 R2 K104 + 0x5C3C1200, // 0066 MOVE R15 R9 + 0x5C401400, // 0067 MOVE R16 R10 + 0x60440015, // 0068 GETGBL R17 G21 + 0x7C440000, // 0069 CALL R17 0 + 0x6048000C, // 006A GETGBL R18 G12 + 0x5C4C1600, // 006B MOVE R19 R11 + 0x7C480200, // 006C CALL R18 1 + 0x544E000F, // 006D LDINT R19 16 + 0x7C340C00, // 006E CALL R13 6 + 0x8C381B6A, // 006F GETMET R14 R13 K106 + 0x5C401600, // 0070 MOVE R16 R11 + 0x7C380400, // 0071 CALL R14 2 + 0x8C3C1B6B, // 0072 GETMET R15 R13 K107 + 0x7C3C0200, // 0073 CALL R15 1 + 0x1C40180F, // 0074 EQ R16 R12 R15 + 0x7842008A, // 0075 JMPF R16 #0101 + 0x88400D95, // 0076 GETMBR R16 R6 K149 + 0x900F2A10, // 0077 SETMBR R3 K149 R16 + 0x8840039B, // 0078 GETMBR R16 R1 K155 + 0x900F3410, // 0079 SETMBR R3 K154 R16 + 0x8C40079C, // 007A GETMET R16 R3 K156 + 0x7C400200, // 007B CALL R16 1 + 0x8840092E, // 007C GETMBR R16 R4 K46 + 0x900E5A10, // 007D SETMBR R3 K45 R16 + 0x8840010D, // 007E GETMBR R16 R0 K13 + 0x8840210E, // 007F GETMBR R16 R16 K14 + 0x8C402130, // 0080 GETMET R16 R16 K48 + 0x7C400200, // 0081 CALL R16 1 + 0x900E5E10, // 0082 SETMBR R3 K47 R16 + 0xB8420A00, // 0083 GETNGBL R16 K5 + 0x60440018, // 0084 GETGBL R17 G24 + 0x58480031, // 0085 LDCONST R18 K49 + 0x884C072F, // 0086 GETMBR R19 R3 K47 + 0x88500332, // 0087 GETMBR R20 R1 K50 + 0x88540333, // 0088 GETMBR R21 R1 K51 + 0x7C440800, // 0089 CALL R17 4 + 0x58480008, // 008A LDCONST R18 K8 + 0x7C400400, // 008B CALL R16 2 + 0x88400D66, // 008C GETMBR R16 R6 K102 + 0x900ECC10, // 008D SETMBR R3 K102 R16 + 0x8C400537, // 008E GETMET R16 R2 K55 + 0x544A000F, // 008F LDINT R18 16 + 0x7C400400, // 0090 CALL R16 2 + 0x900F3A10, // 0091 SETMBR R3 K157 R16 + 0x60400015, // 0092 GETGBL R16 G21 + 0x7C400000, // 0093 CALL R16 0 + 0x8C40214E, // 0094 GETMET R16 R16 K78 + 0x5848009E, // 0095 LDCONST R18 K158 + 0x7C400400, // 0096 CALL R16 2 + 0x88440935, // 0097 GETMBR R17 R4 K53 + 0x8848079D, // 0098 GETMBR R18 R3 K157 + 0x00442212, // 0099 ADD R17 R17 R18 + 0x8C480560, // 009A GETMET R18 R2 K96 + 0x7C480200, // 009B CALL R18 1 + 0x8C482561, // 009C GETMET R18 R18 K97 + 0x88500766, // 009D GETMBR R20 R3 K102 + 0x5C542200, // 009E MOVE R21 R17 + 0x5C582000, // 009F MOVE R22 R16 + 0x545E000F, // 00A0 LDINT R23 16 + 0x7C480A00, // 00A1 CALL R18 5 + 0x8C4C0568, // 00A2 GETMET R19 R2 K104 + 0x5C542400, // 00A3 MOVE R21 R18 + 0x60580015, // 00A4 GETGBL R22 G21 + 0x7C580000, // 00A5 CALL R22 0 + 0x8C582D4E, // 00A6 GETMET R22 R22 K78 + 0x5860009F, // 00A7 LDCONST R24 K159 + 0x7C580400, // 00A8 CALL R22 2 + 0x605C0015, // 00A9 GETGBL R23 G21 + 0x7C5C0000, // 00AA CALL R23 0 + 0x5860001F, // 00AB LDCONST R24 K31 + 0x5466000F, // 00AC LDINT R25 16 + 0x7C4C0C00, // 00AD CALL R19 6 + 0x8C50276B, // 00AE GETMET R20 R19 K107 + 0x7C500200, // 00AF CALL R20 1 + 0xB8564C00, // 00B0 GETNGBL R21 K38 + 0x8C542BA0, // 00B1 GETMET R21 R21 K160 + 0x7C540200, // 00B2 CALL R21 1 + 0x8858079D, // 00B3 GETMBR R22 R3 K157 + 0x90572416, // 00B4 SETMBR R21 K146 R22 + 0x90574214, // 00B5 SETMBR R21 K161 R20 + 0x8858072F, // 00B6 GETMBR R22 R3 K47 + 0x90574416, // 00B7 SETMBR R21 K162 R22 + 0x88580935, // 00B8 GETMBR R22 R4 K53 + 0x885C0D9D, // 00B9 GETMBR R23 R6 K157 + 0x00582C17, // 00BA ADD R22 R22 R23 + 0x8C5C0560, // 00BB GETMET R23 R2 K96 + 0x7C5C0200, // 00BC CALL R23 1 + 0x8C5C2F61, // 00BD GETMET R23 R23 K97 + 0x88640766, // 00BE GETMBR R25 R3 K102 + 0x5C682C00, // 00BF MOVE R26 R22 + 0x606C0015, // 00C0 GETGBL R27 G21 + 0x7C6C0000, // 00C1 CALL R27 0 + 0x8C6C374E, // 00C2 GETMET R27 R27 K78 + 0x587400A3, // 00C3 LDCONST R29 K163 + 0x7C6C0400, // 00C4 CALL R27 2 + 0x5472002F, // 00C5 LDINT R28 48 + 0x7C5C0A00, // 00C6 CALL R23 5 + 0x5462000E, // 00C7 LDINT R24 15 + 0x40623E18, // 00C8 CONNECT R24 K31 R24 + 0x94602E18, // 00C9 GETIDX R24 R23 R24 + 0x5466000F, // 00CA LDINT R25 16 + 0x546A001E, // 00CB LDINT R26 31 + 0x4064321A, // 00CC CONNECT R25 R25 R26 + 0x94642E19, // 00CD GETIDX R25 R23 R25 + 0x546A001F, // 00CE LDINT R26 32 + 0x546E002E, // 00CF LDINT R27 47 + 0x4068341B, // 00D0 CONNECT R26 R26 R27 + 0x94682E1A, // 00D1 GETIDX R26 R23 R26 + 0xB86E1400, // 00D2 GETNGBL R27 K10 + 0x8C6C375F, // 00D3 GETMET R27 R27 K95 + 0x7C6C0200, // 00D4 CALL R27 1 + 0x8C702B3E, // 00D5 GETMET R28 R21 K62 + 0x7C700200, // 00D6 CALL R28 1 + 0x4C740000, // 00D7 LDNIL R29 + 0x900E541D, // 00D8 SETMBR R3 K42 R29 + 0x8C740340, // 00D9 GETMET R29 R1 K64 + 0x547E0032, // 00DA LDINT R31 51 + 0x50800200, // 00DB LDBOOL R32 1 0 + 0x7C740600, // 00DC CALL R29 3 + 0x8C783B41, // 00DD GETMET R30 R29 K65 + 0x5C803800, // 00DE MOVE R32 R28 + 0x7C780400, // 00DF CALL R30 2 + 0x887C0142, // 00E0 GETMBR R31 R0 K66 + 0x8C7C3F43, // 00E1 GETMET R31 R31 K67 + 0x5C843A00, // 00E2 MOVE R33 R29 + 0x7C7C0400, // 00E3 CALL R31 2 + 0x8C7C0780, // 00E4 GETMET R31 R3 K128 + 0x7C7C0200, // 00E5 CALL R31 1 + 0x8C7C071C, // 00E6 GETMET R31 R3 K28 + 0x5C843000, // 00E7 MOVE R33 R24 + 0x5C883200, // 00E8 MOVE R34 R25 + 0x5C8C3400, // 00E9 MOVE R35 R26 + 0x5C903600, // 00EA MOVE R36 R27 + 0x7C7C0A00, // 00EB CALL R31 5 + 0x887C0D71, // 00EC GETMBR R31 R6 K113 + 0x900EE21F, // 00ED SETMBR R3 K113 R31 + 0x900F031F, // 00EE SETMBR R3 K129 K31 + 0x8C7C0782, // 00EF GETMET R31 R3 K130 + 0x7C7C0200, // 00F0 CALL R31 1 + 0x8C7C0783, // 00F1 GETMET R31 R3 K131 + 0x50840200, // 00F2 LDBOOL R33 1 0 + 0x7C7C0400, // 00F3 CALL R31 2 + 0x8C7C0784, // 00F4 GETMET R31 R3 K132 + 0x7C7C0200, // 00F5 CALL R31 1 + 0x8C7C0785, // 00F6 GETMET R31 R3 K133 0x7C7C0200, // 00F7 CALL R31 1 - 0x8C7C0785, // 00F8 GETMET R31 R3 K133 + 0x8C7C0786, // 00F8 GETMET R31 R3 K134 0x7C7C0200, // 00F9 CALL R31 1 - 0x8C7C0786, // 00FA GETMET R31 R3 K134 - 0x7C7C0200, // 00FB CALL R31 1 - 0xB87E0A00, // 00FC GETNGBL R31 K5 - 0x588000A4, // 00FD LDCONST R32 K164 - 0x58840008, // 00FE LDCONST R33 K8 - 0x7C7C0400, // 00FF CALL R31 2 - 0x507C0200, // 0100 LDBOOL R31 1 0 - 0x80043E00, // 0101 RET 1 R31 - 0x70020004, // 0102 JMP #0108 - 0xB8420A00, // 0103 GETNGBL R16 K5 - 0x584400A5, // 0104 LDCONST R17 K165 - 0x58480008, // 0105 LDCONST R18 K8 - 0x7C400400, // 0106 CALL R16 2 - 0x50140000, // 0107 LDBOOL R5 0 0 - 0x5C1C0A00, // 0108 MOVE R7 R5 - 0x741E00E4, // 0109 JMPT R7 #01EF - 0x8C1C01A6, // 010A GETMET R7 R0 K166 - 0x882409A7, // 010B GETMBR R9 R4 K167 - 0x88280935, // 010C GETMBR R10 R4 K53 - 0x7C1C0600, // 010D CALL R7 3 - 0x900F2A07, // 010E SETMBR R3 K149 R7 - 0x4C200000, // 010F LDNIL R8 - 0x1C200608, // 0110 EQ R8 R3 R8 - 0x74220003, // 0111 JMPT R8 #0116 - 0x88200795, // 0112 GETMBR R8 R3 K149 - 0x4C240000, // 0113 LDNIL R9 - 0x1C201009, // 0114 EQ R8 R8 R9 - 0x7822000C, // 0115 JMPF R8 #0123 - 0xB8220A00, // 0116 GETNGBL R8 K5 - 0x582400A8, // 0117 LDCONST R9 K168 - 0x58280008, // 0118 LDCONST R10 K8 - 0x7C200400, // 0119 CALL R8 2 - 0x8C200124, // 011A GETMET R8 R0 K36 - 0x5C280200, // 011B MOVE R10 R1 - 0x582C0025, // 011C LDCONST R11 K37 - 0x5830001F, // 011D LDCONST R12 K31 - 0x58340025, // 011E LDCONST R13 K37 - 0x50380000, // 011F LDBOOL R14 0 0 - 0x7C200C00, // 0120 CALL R8 6 - 0x50200000, // 0121 LDBOOL R8 0 0 - 0x80041000, // 0122 RET 1 R8 - 0x8820039B, // 0123 GETMBR R8 R1 K155 - 0x900F3408, // 0124 SETMBR R3 K154 R8 - 0x8C20079C, // 0125 GETMET R8 R3 K156 - 0x7C200200, // 0126 CALL R8 1 - 0x8820092E, // 0127 GETMBR R8 R4 K46 - 0x900E5A08, // 0128 SETMBR R3 K45 R8 - 0x8820010D, // 0129 GETMBR R8 R0 K13 - 0x8820110E, // 012A GETMBR R8 R8 K14 - 0x8C201130, // 012B GETMET R8 R8 K48 - 0x7C200200, // 012C CALL R8 1 - 0x900E5E08, // 012D SETMBR R3 K47 R8 - 0xB8220A00, // 012E GETNGBL R8 K5 - 0x60240018, // 012F GETGBL R9 G24 - 0x58280031, // 0130 LDCONST R10 K49 - 0x882C072F, // 0131 GETMBR R11 R3 K47 - 0x88300332, // 0132 GETMBR R12 R1 K50 - 0x88340333, // 0133 GETMBR R13 R1 K51 - 0x7C240800, // 0134 CALL R9 4 - 0x58280008, // 0135 LDCONST R10 K8 - 0x7C200400, // 0136 CALL R8 2 - 0x8C200537, // 0137 GETMET R8 R2 K55 - 0x542A000F, // 0138 LDINT R10 16 - 0x7C200400, // 0139 CALL R8 2 - 0x900F3A08, // 013A SETMBR R3 K157 R8 - 0x8C200537, // 013B GETMET R8 R2 K55 - 0x542A001F, // 013C LDINT R10 32 - 0x7C200400, // 013D CALL R8 2 - 0x900F5208, // 013E SETMBR R3 K169 R8 - 0x8C20057A, // 013F GETMET R8 R2 K122 - 0x7C200200, // 0140 CALL R8 1 - 0x8C2011AA, // 0141 GETMET R8 R8 K170 - 0x882807A9, // 0142 GETMBR R10 R3 K169 - 0x7C200400, // 0143 CALL R8 2 - 0x900EF208, // 0144 SETMBR R3 K121 R8 - 0x8C200537, // 0145 GETMET R8 R2 K55 - 0x542A001F, // 0146 LDINT R10 32 - 0x7C200400, // 0147 CALL R8 2 - 0x8C24057A, // 0148 GETMET R9 R2 K122 - 0x7C240200, // 0149 CALL R9 1 - 0x8C2413AB, // 014A GETMET R9 R9 K171 - 0x882C07A9, // 014B GETMBR R11 R3 K169 - 0x88300991, // 014C GETMBR R12 R4 K145 - 0x7C240600, // 014D CALL R9 3 - 0x900ECC09, // 014E SETMBR R3 K102 R9 - 0xB8264C00, // 014F GETNGBL R9 K38 - 0x8824136D, // 0150 GETMBR R9 R9 K109 - 0x8C241375, // 0151 GETMET R9 R9 K117 - 0x7C240200, // 0152 CALL R9 1 - 0x8C281376, // 0153 GETMET R10 R9 K118 - 0x58300025, // 0154 LDCONST R12 K37 - 0xB8364C00, // 0155 GETNGBL R13 K38 - 0x88341B6D, // 0156 GETMBR R13 R13 K109 - 0x88341BAC, // 0157 GETMBR R13 R13 K172 - 0x8C380FAD, // 0158 GETMET R14 R7 K173 - 0x7C380200, // 0159 CALL R14 1 - 0x7C280800, // 015A CALL R10 4 - 0x8C281376, // 015B GETMET R10 R9 K118 - 0x58300022, // 015C LDCONST R12 K34 - 0xB8364C00, // 015D GETNGBL R13 K38 - 0x88341B6D, // 015E GETMBR R13 R13 K109 - 0x88341BAC, // 015F GETMBR R13 R13 K172 - 0x8C380FAE, // 0160 GETMET R14 R7 K174 - 0x7C380200, // 0161 CALL R14 1 - 0x7C280800, // 0162 CALL R10 4 - 0x8C281376, // 0163 GETMET R10 R9 K118 - 0x58300008, // 0164 LDCONST R12 K8 - 0xB8364C00, // 0165 GETNGBL R13 K38 - 0x88341B6D, // 0166 GETMBR R13 R13 K109 - 0x88341BAC, // 0167 GETMBR R13 R13 K172 - 0x88380779, // 0168 GETMBR R14 R3 K121 - 0x7C280800, // 0169 CALL R10 4 - 0x8C281376, // 016A GETMET R10 R9 K118 - 0x54320003, // 016B LDINT R12 4 - 0xB8364C00, // 016C GETNGBL R13 K38 - 0x88341B6D, // 016D GETMBR R13 R13 K109 - 0x88341BAC, // 016E GETMBR R13 R13 K172 - 0x88380991, // 016F GETMBR R14 R4 K145 - 0x7C280800, // 0170 CALL R10 4 - 0x8C28057A, // 0171 GETMET R10 R2 K122 - 0x7C280200, // 0172 CALL R10 1 - 0x8C2815AF, // 0173 GETMET R10 R10 K175 - 0x8C300FB0, // 0174 GETMET R12 R7 K176 - 0x7C300200, // 0175 CALL R12 1 - 0x8C34133E, // 0176 GETMET R13 R9 K62 - 0x7C340200, // 0177 CALL R13 1 - 0x7C280600, // 0178 CALL R10 3 - 0xB82E4C00, // 0179 GETNGBL R11 K38 - 0x882C176D, // 017A GETMBR R11 R11 K109 - 0x8C2C1775, // 017B GETMET R11 R11 K117 - 0x7C2C0200, // 017C CALL R11 1 - 0x8C301776, // 017D GETMET R12 R11 K118 - 0x58380025, // 017E LDCONST R14 K37 - 0xB83E4C00, // 017F GETNGBL R15 K38 - 0x883C1F6D, // 0180 GETMBR R15 R15 K109 - 0x883C1FAC, // 0181 GETMBR R15 R15 K172 - 0x8C400FAD, // 0182 GETMET R16 R7 K173 - 0x7C400200, // 0183 CALL R16 1 - 0x7C300800, // 0184 CALL R12 4 - 0x8C301776, // 0185 GETMET R12 R11 K118 - 0x58380022, // 0186 LDCONST R14 K34 - 0xB83E4C00, // 0187 GETNGBL R15 K38 - 0x883C1F6D, // 0188 GETMBR R15 R15 K109 - 0x883C1FAC, // 0189 GETMBR R15 R15 K172 - 0x8C400FAE, // 018A GETMET R16 R7 K174 - 0x7C400200, // 018B CALL R16 1 - 0x7C300800, // 018C CALL R12 4 - 0x8C301776, // 018D GETMET R12 R11 K118 - 0x58380008, // 018E LDCONST R14 K8 - 0xB83E4C00, // 018F GETNGBL R15 K38 - 0x883C1F6D, // 0190 GETMBR R15 R15 K109 - 0x883C1FAC, // 0191 GETMBR R15 R15 K172 - 0x5C401400, // 0192 MOVE R16 R10 - 0x7C300800, // 0193 CALL R12 4 - 0x8C301776, // 0194 GETMET R12 R11 K118 - 0x543A0003, // 0195 LDINT R14 4 - 0xB83E4C00, // 0196 GETNGBL R15 K38 - 0x883C1F6D, // 0197 GETMBR R15 R15 K109 - 0x883C1FAC, // 0198 GETMBR R15 R15 K172 - 0x8840079D, // 0199 GETMBR R16 R3 K157 - 0x7C300800, // 019A CALL R12 4 - 0x883009B1, // 019B GETMBR R12 R4 K177 - 0x900E540C, // 019C SETMBR R3 K42 R12 - 0x8C30054D, // 019D GETMET R12 R2 K77 - 0x7C300200, // 019E CALL R12 1 - 0x8C301916, // 019F GETMET R12 R12 K22 - 0x8838072A, // 01A0 GETMBR R14 R3 K42 - 0x7C300400, // 01A1 CALL R12 2 - 0x8C301917, // 01A2 GETMET R12 R12 K23 - 0x7C300200, // 01A3 CALL R12 1 - 0x60340015, // 01A4 GETGBL R13 G21 - 0x7C340000, // 01A5 CALL R13 0 - 0x8C341B4E, // 01A6 GETMET R13 R13 K78 - 0x883C01B2, // 01A7 GETMBR R15 R0 K178 - 0x7C340400, // 01A8 CALL R13 2 - 0x8C380F14, // 01A9 GETMET R14 R7 K20 - 0x7C380200, // 01AA CALL R14 1 - 0x00381C08, // 01AB ADD R14 R14 R8 - 0x883C0779, // 01AC GETMBR R15 R3 K121 - 0x00381C0F, // 01AD ADD R14 R14 R15 - 0x00381C0C, // 01AE ADD R14 R14 R12 - 0x8C3C0560, // 01AF GETMET R15 R2 K96 - 0x7C3C0200, // 01B0 CALL R15 1 - 0x8C3C1F61, // 01B1 GETMET R15 R15 K97 - 0x88440766, // 01B2 GETMBR R17 R3 K102 - 0x5C481C00, // 01B3 MOVE R18 R14 - 0x5C4C1A00, // 01B4 MOVE R19 R13 - 0x5452000F, // 01B5 LDINT R20 16 - 0x7C3C0A00, // 01B6 CALL R15 5 - 0x8C40173E, // 01B7 GETMET R16 R11 K62 - 0x7C400200, // 01B8 CALL R16 1 - 0x8C440568, // 01B9 GETMET R17 R2 K104 - 0x5C4C1E00, // 01BA MOVE R19 R15 - 0x60500015, // 01BB GETGBL R20 G21 - 0x7C500000, // 01BC CALL R20 0 - 0x8C50294E, // 01BD GETMET R20 R20 K78 - 0x885801B3, // 01BE GETMBR R22 R0 K179 - 0x7C500400, // 01BF CALL R20 2 - 0x60540015, // 01C0 GETGBL R21 G21 - 0x7C540000, // 01C1 CALL R21 0 - 0x6058000C, // 01C2 GETGBL R22 G12 - 0x5C5C2000, // 01C3 MOVE R23 R16 - 0x7C580200, // 01C4 CALL R22 1 - 0x545E000F, // 01C5 LDINT R23 16 - 0x7C440C00, // 01C6 CALL R17 6 - 0x8C4823B4, // 01C7 GETMET R18 R17 K180 - 0x5C502000, // 01C8 MOVE R20 R16 - 0x7C480400, // 01C9 CALL R18 2 - 0x8C4C236B, // 01CA GETMET R19 R17 K107 - 0x7C4C0200, // 01CB CALL R19 1 - 0x00482413, // 01CC ADD R18 R18 R19 - 0xB84E4C00, // 01CD GETNGBL R19 K38 - 0x8C4C27B5, // 01CE GETMET R19 R19 K181 - 0x7C4C0200, // 01CF CALL R19 1 - 0x904E6C08, // 01D0 SETMBR R19 K54 R8 - 0x8850072F, // 01D1 GETMBR R20 R3 K47 - 0x904E7014, // 01D2 SETMBR R19 K56 R20 - 0x88500779, // 01D3 GETMBR R20 R3 K121 - 0x904F6C14, // 01D4 SETMBR R19 K182 R20 - 0x904F6E12, // 01D5 SETMBR R19 K183 R18 - 0x8C50273E, // 01D6 GETMET R20 R19 K62 - 0x7C500200, // 01D7 CALL R20 1 - 0x900E7E14, // 01D8 SETMBR R3 K63 R20 - 0x8C540340, // 01D9 GETMET R21 R1 K64 - 0x545E0030, // 01DA LDINT R23 49 - 0x50600200, // 01DB LDBOOL R24 1 0 - 0x7C540600, // 01DC CALL R21 3 - 0x8C582B41, // 01DD GETMET R22 R21 K65 - 0x5C602800, // 01DE MOVE R24 R20 - 0x7C580400, // 01DF CALL R22 2 - 0xB85E0A00, // 01E0 GETNGBL R23 K5 - 0x60600018, // 01E1 GETGBL R24 G24 - 0x586400B8, // 01E2 LDCONST R25 K184 - 0x8868072F, // 01E3 GETMBR R26 R3 K47 - 0x886C075A, // 01E4 GETMBR R27 R3 K90 - 0x8870075B, // 01E5 GETMBR R28 R3 K91 - 0x7C600800, // 01E6 CALL R24 4 - 0x58640022, // 01E7 LDCONST R25 K34 - 0x7C5C0400, // 01E8 CALL R23 2 - 0x885C0142, // 01E9 GETMBR R23 R0 K66 - 0x8C5C2F43, // 01EA GETMET R23 R23 K67 - 0x5C642A00, // 01EB MOVE R25 R21 - 0x7C5C0400, // 01EC CALL R23 2 - 0x505C0200, // 01ED LDBOOL R23 1 0 - 0x80042E00, // 01EE RET 1 R23 - 0x501C0200, // 01EF LDBOOL R7 1 0 - 0x80040E00, // 01F0 RET 1 R7 + 0xB87E0A00, // 00FA GETNGBL R31 K5 + 0x588000A4, // 00FB LDCONST R32 K164 + 0x58840008, // 00FC LDCONST R33 K8 + 0x7C7C0400, // 00FD CALL R31 2 + 0x507C0200, // 00FE LDBOOL R31 1 0 + 0x80043E00, // 00FF RET 1 R31 + 0x70020004, // 0100 JMP #0106 + 0xB8420A00, // 0101 GETNGBL R16 K5 + 0x584400A5, // 0102 LDCONST R17 K165 + 0x58480008, // 0103 LDCONST R18 K8 + 0x7C400400, // 0104 CALL R16 2 + 0x50140000, // 0105 LDBOOL R5 0 0 + 0x5C1C0A00, // 0106 MOVE R7 R5 + 0x741E00E4, // 0107 JMPT R7 #01ED + 0x8C1C01A6, // 0108 GETMET R7 R0 K166 + 0x882409A7, // 0109 GETMBR R9 R4 K167 + 0x88280935, // 010A GETMBR R10 R4 K53 + 0x7C1C0600, // 010B CALL R7 3 + 0x900F2A07, // 010C SETMBR R3 K149 R7 + 0x4C200000, // 010D LDNIL R8 + 0x1C200608, // 010E EQ R8 R3 R8 + 0x74220003, // 010F JMPT R8 #0114 + 0x88200795, // 0110 GETMBR R8 R3 K149 + 0x4C240000, // 0111 LDNIL R9 + 0x1C201009, // 0112 EQ R8 R8 R9 + 0x7822000C, // 0113 JMPF R8 #0121 + 0xB8220A00, // 0114 GETNGBL R8 K5 + 0x582400A8, // 0115 LDCONST R9 K168 + 0x58280008, // 0116 LDCONST R10 K8 + 0x7C200400, // 0117 CALL R8 2 + 0x8C200124, // 0118 GETMET R8 R0 K36 + 0x5C280200, // 0119 MOVE R10 R1 + 0x582C0025, // 011A LDCONST R11 K37 + 0x5830001F, // 011B LDCONST R12 K31 + 0x58340025, // 011C LDCONST R13 K37 + 0x50380000, // 011D LDBOOL R14 0 0 + 0x7C200C00, // 011E CALL R8 6 + 0x50200000, // 011F LDBOOL R8 0 0 + 0x80041000, // 0120 RET 1 R8 + 0x8820039B, // 0121 GETMBR R8 R1 K155 + 0x900F3408, // 0122 SETMBR R3 K154 R8 + 0x8C20079C, // 0123 GETMET R8 R3 K156 + 0x7C200200, // 0124 CALL R8 1 + 0x8820092E, // 0125 GETMBR R8 R4 K46 + 0x900E5A08, // 0126 SETMBR R3 K45 R8 + 0x8820010D, // 0127 GETMBR R8 R0 K13 + 0x8820110E, // 0128 GETMBR R8 R8 K14 + 0x8C201130, // 0129 GETMET R8 R8 K48 + 0x7C200200, // 012A CALL R8 1 + 0x900E5E08, // 012B SETMBR R3 K47 R8 + 0xB8220A00, // 012C GETNGBL R8 K5 + 0x60240018, // 012D GETGBL R9 G24 + 0x58280031, // 012E LDCONST R10 K49 + 0x882C072F, // 012F GETMBR R11 R3 K47 + 0x88300332, // 0130 GETMBR R12 R1 K50 + 0x88340333, // 0131 GETMBR R13 R1 K51 + 0x7C240800, // 0132 CALL R9 4 + 0x58280008, // 0133 LDCONST R10 K8 + 0x7C200400, // 0134 CALL R8 2 + 0x8C200537, // 0135 GETMET R8 R2 K55 + 0x542A000F, // 0136 LDINT R10 16 + 0x7C200400, // 0137 CALL R8 2 + 0x900F3A08, // 0138 SETMBR R3 K157 R8 + 0x8C200537, // 0139 GETMET R8 R2 K55 + 0x542A001F, // 013A LDINT R10 32 + 0x7C200400, // 013B CALL R8 2 + 0x900F5208, // 013C SETMBR R3 K169 R8 + 0x8C20057A, // 013D GETMET R8 R2 K122 + 0x7C200200, // 013E CALL R8 1 + 0x8C2011AA, // 013F GETMET R8 R8 K170 + 0x882807A9, // 0140 GETMBR R10 R3 K169 + 0x7C200400, // 0141 CALL R8 2 + 0x900EF208, // 0142 SETMBR R3 K121 R8 + 0x8C200537, // 0143 GETMET R8 R2 K55 + 0x542A001F, // 0144 LDINT R10 32 + 0x7C200400, // 0145 CALL R8 2 + 0x8C24057A, // 0146 GETMET R9 R2 K122 + 0x7C240200, // 0147 CALL R9 1 + 0x8C2413AB, // 0148 GETMET R9 R9 K171 + 0x882C07A9, // 0149 GETMBR R11 R3 K169 + 0x88300991, // 014A GETMBR R12 R4 K145 + 0x7C240600, // 014B CALL R9 3 + 0x900ECC09, // 014C SETMBR R3 K102 R9 + 0xB8264C00, // 014D GETNGBL R9 K38 + 0x8824136D, // 014E GETMBR R9 R9 K109 + 0x8C241375, // 014F GETMET R9 R9 K117 + 0x7C240200, // 0150 CALL R9 1 + 0x8C281376, // 0151 GETMET R10 R9 K118 + 0x58300025, // 0152 LDCONST R12 K37 + 0xB8364C00, // 0153 GETNGBL R13 K38 + 0x88341B6D, // 0154 GETMBR R13 R13 K109 + 0x88341BAC, // 0155 GETMBR R13 R13 K172 + 0x8C380FAD, // 0156 GETMET R14 R7 K173 + 0x7C380200, // 0157 CALL R14 1 + 0x7C280800, // 0158 CALL R10 4 + 0x8C281376, // 0159 GETMET R10 R9 K118 + 0x58300022, // 015A LDCONST R12 K34 + 0xB8364C00, // 015B GETNGBL R13 K38 + 0x88341B6D, // 015C GETMBR R13 R13 K109 + 0x88341BAC, // 015D GETMBR R13 R13 K172 + 0x8C380FAE, // 015E GETMET R14 R7 K174 + 0x7C380200, // 015F CALL R14 1 + 0x7C280800, // 0160 CALL R10 4 + 0x8C281376, // 0161 GETMET R10 R9 K118 + 0x58300008, // 0162 LDCONST R12 K8 + 0xB8364C00, // 0163 GETNGBL R13 K38 + 0x88341B6D, // 0164 GETMBR R13 R13 K109 + 0x88341BAC, // 0165 GETMBR R13 R13 K172 + 0x88380779, // 0166 GETMBR R14 R3 K121 + 0x7C280800, // 0167 CALL R10 4 + 0x8C281376, // 0168 GETMET R10 R9 K118 + 0x54320003, // 0169 LDINT R12 4 + 0xB8364C00, // 016A GETNGBL R13 K38 + 0x88341B6D, // 016B GETMBR R13 R13 K109 + 0x88341BAC, // 016C GETMBR R13 R13 K172 + 0x88380991, // 016D GETMBR R14 R4 K145 + 0x7C280800, // 016E CALL R10 4 + 0x8C28057A, // 016F GETMET R10 R2 K122 + 0x7C280200, // 0170 CALL R10 1 + 0x8C2815AF, // 0171 GETMET R10 R10 K175 + 0x8C300FB0, // 0172 GETMET R12 R7 K176 + 0x7C300200, // 0173 CALL R12 1 + 0x8C34133E, // 0174 GETMET R13 R9 K62 + 0x7C340200, // 0175 CALL R13 1 + 0x7C280600, // 0176 CALL R10 3 + 0xB82E4C00, // 0177 GETNGBL R11 K38 + 0x882C176D, // 0178 GETMBR R11 R11 K109 + 0x8C2C1775, // 0179 GETMET R11 R11 K117 + 0x7C2C0200, // 017A CALL R11 1 + 0x8C301776, // 017B GETMET R12 R11 K118 + 0x58380025, // 017C LDCONST R14 K37 + 0xB83E4C00, // 017D GETNGBL R15 K38 + 0x883C1F6D, // 017E GETMBR R15 R15 K109 + 0x883C1FAC, // 017F GETMBR R15 R15 K172 + 0x8C400FAD, // 0180 GETMET R16 R7 K173 + 0x7C400200, // 0181 CALL R16 1 + 0x7C300800, // 0182 CALL R12 4 + 0x8C301776, // 0183 GETMET R12 R11 K118 + 0x58380022, // 0184 LDCONST R14 K34 + 0xB83E4C00, // 0185 GETNGBL R15 K38 + 0x883C1F6D, // 0186 GETMBR R15 R15 K109 + 0x883C1FAC, // 0187 GETMBR R15 R15 K172 + 0x8C400FAE, // 0188 GETMET R16 R7 K174 + 0x7C400200, // 0189 CALL R16 1 + 0x7C300800, // 018A CALL R12 4 + 0x8C301776, // 018B GETMET R12 R11 K118 + 0x58380008, // 018C LDCONST R14 K8 + 0xB83E4C00, // 018D GETNGBL R15 K38 + 0x883C1F6D, // 018E GETMBR R15 R15 K109 + 0x883C1FAC, // 018F GETMBR R15 R15 K172 + 0x5C401400, // 0190 MOVE R16 R10 + 0x7C300800, // 0191 CALL R12 4 + 0x8C301776, // 0192 GETMET R12 R11 K118 + 0x543A0003, // 0193 LDINT R14 4 + 0xB83E4C00, // 0194 GETNGBL R15 K38 + 0x883C1F6D, // 0195 GETMBR R15 R15 K109 + 0x883C1FAC, // 0196 GETMBR R15 R15 K172 + 0x8840079D, // 0197 GETMBR R16 R3 K157 + 0x7C300800, // 0198 CALL R12 4 + 0x883009B1, // 0199 GETMBR R12 R4 K177 + 0x900E540C, // 019A SETMBR R3 K42 R12 + 0x8C30054D, // 019B GETMET R12 R2 K77 + 0x7C300200, // 019C CALL R12 1 + 0x8C301916, // 019D GETMET R12 R12 K22 + 0x8838072A, // 019E GETMBR R14 R3 K42 + 0x7C300400, // 019F CALL R12 2 + 0x8C301917, // 01A0 GETMET R12 R12 K23 + 0x7C300200, // 01A1 CALL R12 1 + 0x60340015, // 01A2 GETGBL R13 G21 + 0x7C340000, // 01A3 CALL R13 0 + 0x8C341B4E, // 01A4 GETMET R13 R13 K78 + 0x883C01B2, // 01A5 GETMBR R15 R0 K178 + 0x7C340400, // 01A6 CALL R13 2 + 0x8C380F14, // 01A7 GETMET R14 R7 K20 + 0x7C380200, // 01A8 CALL R14 1 + 0x00381C08, // 01A9 ADD R14 R14 R8 + 0x883C0779, // 01AA GETMBR R15 R3 K121 + 0x00381C0F, // 01AB ADD R14 R14 R15 + 0x00381C0C, // 01AC ADD R14 R14 R12 + 0x8C3C0560, // 01AD GETMET R15 R2 K96 + 0x7C3C0200, // 01AE CALL R15 1 + 0x8C3C1F61, // 01AF GETMET R15 R15 K97 + 0x88440766, // 01B0 GETMBR R17 R3 K102 + 0x5C481C00, // 01B1 MOVE R18 R14 + 0x5C4C1A00, // 01B2 MOVE R19 R13 + 0x5452000F, // 01B3 LDINT R20 16 + 0x7C3C0A00, // 01B4 CALL R15 5 + 0x8C40173E, // 01B5 GETMET R16 R11 K62 + 0x7C400200, // 01B6 CALL R16 1 + 0x8C440568, // 01B7 GETMET R17 R2 K104 + 0x5C4C1E00, // 01B8 MOVE R19 R15 + 0x60500015, // 01B9 GETGBL R20 G21 + 0x7C500000, // 01BA CALL R20 0 + 0x8C50294E, // 01BB GETMET R20 R20 K78 + 0x885801B3, // 01BC GETMBR R22 R0 K179 + 0x7C500400, // 01BD CALL R20 2 + 0x60540015, // 01BE GETGBL R21 G21 + 0x7C540000, // 01BF CALL R21 0 + 0x6058000C, // 01C0 GETGBL R22 G12 + 0x5C5C2000, // 01C1 MOVE R23 R16 + 0x7C580200, // 01C2 CALL R22 1 + 0x545E000F, // 01C3 LDINT R23 16 + 0x7C440C00, // 01C4 CALL R17 6 + 0x8C4823B4, // 01C5 GETMET R18 R17 K180 + 0x5C502000, // 01C6 MOVE R20 R16 + 0x7C480400, // 01C7 CALL R18 2 + 0x8C4C236B, // 01C8 GETMET R19 R17 K107 + 0x7C4C0200, // 01C9 CALL R19 1 + 0x00482413, // 01CA ADD R18 R18 R19 + 0xB84E4C00, // 01CB GETNGBL R19 K38 + 0x8C4C27B5, // 01CC GETMET R19 R19 K181 + 0x7C4C0200, // 01CD CALL R19 1 + 0x904E6C08, // 01CE SETMBR R19 K54 R8 + 0x8850072F, // 01CF GETMBR R20 R3 K47 + 0x904E7014, // 01D0 SETMBR R19 K56 R20 + 0x88500779, // 01D1 GETMBR R20 R3 K121 + 0x904F6C14, // 01D2 SETMBR R19 K182 R20 + 0x904F6E12, // 01D3 SETMBR R19 K183 R18 + 0x8C50273E, // 01D4 GETMET R20 R19 K62 + 0x7C500200, // 01D5 CALL R20 1 + 0x900E7E14, // 01D6 SETMBR R3 K63 R20 + 0x8C540340, // 01D7 GETMET R21 R1 K64 + 0x545E0030, // 01D8 LDINT R23 49 + 0x50600200, // 01D9 LDBOOL R24 1 0 + 0x7C540600, // 01DA CALL R21 3 + 0x8C582B41, // 01DB GETMET R22 R21 K65 + 0x5C602800, // 01DC MOVE R24 R20 + 0x7C580400, // 01DD CALL R22 2 + 0xB85E0A00, // 01DE GETNGBL R23 K5 + 0x60600018, // 01DF GETGBL R24 G24 + 0x586400B8, // 01E0 LDCONST R25 K184 + 0x8868072F, // 01E1 GETMBR R26 R3 K47 + 0x886C075A, // 01E2 GETMBR R27 R3 K90 + 0x8870075B, // 01E3 GETMBR R28 R3 K91 + 0x7C600800, // 01E4 CALL R24 4 + 0x58640022, // 01E5 LDCONST R25 K34 + 0x7C5C0400, // 01E6 CALL R23 2 + 0x885C0142, // 01E7 GETMBR R23 R0 K66 + 0x8C5C2F43, // 01E8 GETMET R23 R23 K67 + 0x5C642A00, // 01E9 MOVE R25 R21 + 0x7C5C0400, // 01EA CALL R23 2 + 0x505C0200, // 01EB LDBOOL R23 1 0 + 0x80042E00, // 01EC RET 1 R23 + 0x501C0200, // 01ED LDBOOL R7 1 0 + 0x80040E00, // 01EE RET 1 R7 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h index 58559d111..9f2d1b63a 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h @@ -719,7 +719,7 @@ be_local_closure(class_Matter_Frame_decrypt, /* name */ &be_ktab_class_Matter_Frame, /* shared constants */ be_str_weak(decrypt), &be_const_str_solidified, - ( &(const binstruction[115]) { /* code */ + ( &(const binstruction[114]) { /* code */ 0xA4060400, // 0000 IMPORT R1 K2 0x88080100, // 0001 GETMBR R2 R0 K0 0x880C0103, // 0002 GETMBR R3 R0 K3 @@ -728,7 +728,7 @@ be_local_closure(class_Matter_Frame_decrypt, /* name */ 0x8C18053A, // 0005 GETMET R6 R2 K58 0x7C180200, // 0006 CALL R6 1 0x881C011B, // 0007 GETMBR R7 R0 K27 - 0x781E002B, // 0008 JMPF R7 #0035 + 0x781E002A, // 0008 JMPF R7 #0034 0xB81E7000, // 0009 GETNGBL R7 K56 0x5820003B, // 000A LDCONST R8 K59 0x5824001A, // 000B LDCONST R9 K26 @@ -755,86 +755,85 @@ be_local_closure(class_Matter_Frame_decrypt, /* name */ 0x4028140B, // 0020 CONNECT R10 R10 R11 0x882C0103, // 0021 GETMBR R11 R0 K3 0x9428160A, // 0022 GETIDX R10 R11 R10 - 0x8C30033E, // 0023 GETMET R12 R1 K62 - 0x5C380E00, // 0024 MOVE R14 R7 - 0x7C300400, // 0025 CALL R12 2 - 0x8C30193F, // 0026 GETMET R12 R12 K63 - 0x5C381400, // 0027 MOVE R14 R10 - 0x5C3C1200, // 0028 MOVE R15 R9 - 0x5840001A, // 0029 LDCONST R16 K26 - 0x7C300800, // 002A CALL R12 4 - 0x5C2C1800, // 002B MOVE R11 R12 - 0x40322518, // 002C CONNECT R12 K18 K24 - 0x88340103, // 002D GETMBR R13 R0 K3 - 0x94301A0C, // 002E GETIDX R12 R13 R12 - 0x0030180B, // 002F ADD R12 R12 R11 - 0x88340104, // 0030 GETMBR R13 R0 K4 - 0x40341B3D, // 0031 CONNECT R13 R13 K61 - 0x9434140D, // 0032 GETIDX R13 R10 R13 - 0x0030180D, // 0033 ADD R12 R12 R13 - 0x9002060C, // 0034 SETMBR R0 K3 R12 - 0x881C0106, // 0035 GETMBR R7 R0 K6 - 0x881C0F07, // 0036 GETMBR R7 R7 K7 - 0x8C200F08, // 0037 GETMET R8 R7 K8 - 0x7C200200, // 0038 CALL R8 1 - 0x8C200F09, // 0039 GETMET R8 R7 K9 - 0x8828010A, // 003A GETMBR R10 R0 K10 - 0x582C000B, // 003B LDCONST R11 K11 - 0x7C200600, // 003C CALL R8 3 - 0x8C200F09, // 003D GETMET R8 R7 K9 - 0x8828010C, // 003E GETMBR R10 R0 K12 - 0x542E0003, // 003F LDINT R11 4 - 0x7C200600, // 0040 CALL R8 3 - 0x8820011E, // 0041 GETMBR R8 R0 K30 - 0x78220002, // 0042 JMPF R8 #0046 - 0x8820011E, // 0043 GETMBR R8 R0 K30 - 0x40200E08, // 0044 CONNECT R8 R7 R8 - 0x70020006, // 0045 JMP #004D - 0x88200540, // 0046 GETMBR R8 R2 K64 - 0x78220001, // 0047 JMPF R8 #004A - 0x88200540, // 0048 GETMBR R8 R2 K64 - 0x40200E08, // 0049 CONNECT R8 R7 R8 - 0x8C200F0F, // 004A GETMET R8 R7 K15 - 0x542A000C, // 004B LDINT R10 13 - 0x7C200400, // 004C CALL R8 2 - 0x88200310, // 004D GETMBR R8 R1 K16 - 0x8C201141, // 004E GETMET R8 R8 K65 - 0x5C280C00, // 004F MOVE R10 R6 - 0x5C2C0E00, // 0050 MOVE R11 R7 - 0x58300012, // 0051 LDCONST R12 K18 - 0x6034000C, // 0052 GETGBL R13 G12 - 0x5C380E00, // 0053 MOVE R14 R7 - 0x7C340200, // 0054 CALL R13 1 - 0x5C380600, // 0055 MOVE R14 R3 - 0x583C0012, // 0056 LDCONST R15 K18 - 0x5C400800, // 0057 MOVE R16 R4 - 0x5C440600, // 0058 MOVE R17 R3 - 0x5C480800, // 0059 MOVE R18 R4 - 0x604C000C, // 005A GETGBL R19 G12 - 0x5C500600, // 005B MOVE R20 R3 - 0x7C4C0200, // 005C CALL R19 1 - 0x044C2604, // 005D SUB R19 R19 R4 - 0x044C2605, // 005E SUB R19 R19 R5 - 0x5C500600, // 005F MOVE R20 R3 - 0x6054000C, // 0060 GETGBL R21 G12 - 0x5C580600, // 0061 MOVE R22 R3 - 0x7C540200, // 0062 CALL R21 1 - 0x04542A05, // 0063 SUB R21 R21 R5 - 0x5C580A00, // 0064 MOVE R22 R5 - 0x7C201C00, // 0065 CALL R8 14 - 0x78220006, // 0066 JMPF R8 #006E - 0x8C24070F, // 0067 GETMET R9 R3 K15 - 0x602C000C, // 0068 GETGBL R11 G12 - 0x5C300600, // 0069 MOVE R12 R3 - 0x7C2C0200, // 006A CALL R11 1 - 0x042C1605, // 006B SUB R11 R11 R5 - 0x7C240400, // 006C CALL R9 2 - 0x70020003, // 006D JMP #0072 - 0xB8267000, // 006E GETNGBL R9 K56 - 0x58280042, // 006F LDCONST R10 K66 - 0x582C0018, // 0070 LDCONST R11 K24 - 0x7C240400, // 0071 CALL R9 2 - 0x80041000, // 0072 RET 1 R8 + 0x8C2C033E, // 0023 GETMET R11 R1 K62 + 0x5C340E00, // 0024 MOVE R13 R7 + 0x7C2C0400, // 0025 CALL R11 2 + 0x8C2C173F, // 0026 GETMET R11 R11 K63 + 0x5C341400, // 0027 MOVE R13 R10 + 0x5C381200, // 0028 MOVE R14 R9 + 0x583C001A, // 0029 LDCONST R15 K26 + 0x7C2C0800, // 002A CALL R11 4 + 0x40322518, // 002B CONNECT R12 K18 K24 + 0x88340103, // 002C GETMBR R13 R0 K3 + 0x94301A0C, // 002D GETIDX R12 R13 R12 + 0x0030180B, // 002E ADD R12 R12 R11 + 0x88340104, // 002F GETMBR R13 R0 K4 + 0x40341B3D, // 0030 CONNECT R13 R13 K61 + 0x9434140D, // 0031 GETIDX R13 R10 R13 + 0x0030180D, // 0032 ADD R12 R12 R13 + 0x9002060C, // 0033 SETMBR R0 K3 R12 + 0x881C0106, // 0034 GETMBR R7 R0 K6 + 0x881C0F07, // 0035 GETMBR R7 R7 K7 + 0x8C200F08, // 0036 GETMET R8 R7 K8 + 0x7C200200, // 0037 CALL R8 1 + 0x8C200F09, // 0038 GETMET R8 R7 K9 + 0x8828010A, // 0039 GETMBR R10 R0 K10 + 0x582C000B, // 003A LDCONST R11 K11 + 0x7C200600, // 003B CALL R8 3 + 0x8C200F09, // 003C GETMET R8 R7 K9 + 0x8828010C, // 003D GETMBR R10 R0 K12 + 0x542E0003, // 003E LDINT R11 4 + 0x7C200600, // 003F CALL R8 3 + 0x8820011E, // 0040 GETMBR R8 R0 K30 + 0x78220002, // 0041 JMPF R8 #0045 + 0x8820011E, // 0042 GETMBR R8 R0 K30 + 0x40200E08, // 0043 CONNECT R8 R7 R8 + 0x70020006, // 0044 JMP #004C + 0x88200540, // 0045 GETMBR R8 R2 K64 + 0x78220001, // 0046 JMPF R8 #0049 + 0x88200540, // 0047 GETMBR R8 R2 K64 + 0x40200E08, // 0048 CONNECT R8 R7 R8 + 0x8C200F0F, // 0049 GETMET R8 R7 K15 + 0x542A000C, // 004A LDINT R10 13 + 0x7C200400, // 004B CALL R8 2 + 0x88200310, // 004C GETMBR R8 R1 K16 + 0x8C201141, // 004D GETMET R8 R8 K65 + 0x5C280C00, // 004E MOVE R10 R6 + 0x5C2C0E00, // 004F MOVE R11 R7 + 0x58300012, // 0050 LDCONST R12 K18 + 0x6034000C, // 0051 GETGBL R13 G12 + 0x5C380E00, // 0052 MOVE R14 R7 + 0x7C340200, // 0053 CALL R13 1 + 0x5C380600, // 0054 MOVE R14 R3 + 0x583C0012, // 0055 LDCONST R15 K18 + 0x5C400800, // 0056 MOVE R16 R4 + 0x5C440600, // 0057 MOVE R17 R3 + 0x5C480800, // 0058 MOVE R18 R4 + 0x604C000C, // 0059 GETGBL R19 G12 + 0x5C500600, // 005A MOVE R20 R3 + 0x7C4C0200, // 005B CALL R19 1 + 0x044C2604, // 005C SUB R19 R19 R4 + 0x044C2605, // 005D SUB R19 R19 R5 + 0x5C500600, // 005E MOVE R20 R3 + 0x6054000C, // 005F GETGBL R21 G12 + 0x5C580600, // 0060 MOVE R22 R3 + 0x7C540200, // 0061 CALL R21 1 + 0x04542A05, // 0062 SUB R21 R21 R5 + 0x5C580A00, // 0063 MOVE R22 R5 + 0x7C201C00, // 0064 CALL R8 14 + 0x78220006, // 0065 JMPF R8 #006D + 0x8C24070F, // 0066 GETMET R9 R3 K15 + 0x602C000C, // 0067 GETGBL R11 G12 + 0x5C300600, // 0068 MOVE R12 R3 + 0x7C2C0200, // 0069 CALL R11 1 + 0x042C1605, // 006A SUB R11 R11 R5 + 0x7C240400, // 006B CALL R9 2 + 0x70020003, // 006C JMP #0071 + 0xB8267000, // 006D GETNGBL R9 K56 + 0x58280042, // 006E LDCONST R10 K66 + 0x582C0018, // 006F LDCONST R11 K24 + 0x7C240400, // 0070 CALL R9 2 + 0x80041000, // 0071 RET 1 R8 }) ) ); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h index a3fdf5e99..63ab5e4fd 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h @@ -692,12 +692,12 @@ be_local_closure(class_Partition_parse, /* name */ &be_ktab_class_Partition, /* shared constants */ &be_const_str_parse, &be_const_str_solidified, - ( &(const binstruction[57]) { /* code */ + ( &(const binstruction[56]) { /* code */ 0x60040010, // 0000 GETGBL R1 G16 0x540A005D, // 0001 LDINT R2 94 0x400A1A02, // 0002 CONNECT R2 K13 R2 0x7C040200, // 0003 CALL R1 1 - 0xA802002F, // 0004 EXBLK 0 #0035 + 0xA802002E, // 0004 EXBLK 0 #0034 0x5C080200, // 0005 MOVE R2 R1 0x7C080000, // 0006 CALL R2 0 0x540E001F, // 0007 LDINT R3 32 @@ -709,47 +709,46 @@ be_local_closure(class_Partition_parse, /* name */ 0x400C0604, // 000D CONNECT R3 R3 R4 0x88100106, // 000E GETMBR R4 R0 K6 0x940C0803, // 000F GETIDX R3 R4 R3 - 0x8C14070F, // 0010 GETMET R5 R3 K15 - 0x581C000D, // 0011 LDCONST R7 K13 - 0x58200010, // 0012 LDCONST R8 K16 - 0x7C140600, // 0013 CALL R5 3 - 0x5C100A00, // 0014 MOVE R4 R5 - 0x541650A9, // 0015 LDINT R5 20650 - 0x1C140805, // 0016 EQ R5 R4 R5 - 0x78160008, // 0017 JMPF R5 #0021 - 0xB8162200, // 0018 GETNGBL R5 K17 - 0x8C140B12, // 0019 GETMET R5 R5 K18 - 0x5C1C0600, // 001A MOVE R7 R3 - 0x7C140400, // 001B CALL R5 2 - 0x88180109, // 001C GETMBR R6 R0 K9 - 0x8C180D13, // 001D GETMET R6 R6 K19 - 0x5C200A00, // 001E MOVE R8 R5 - 0x7C180400, // 001F CALL R6 2 - 0x70020010, // 0020 JMP #0032 - 0x5416EBEA, // 0021 LDINT R5 60395 - 0x1C140805, // 0022 EQ R5 R4 R5 - 0x7816000C, // 0023 JMPF R5 #0031 - 0x5416001F, // 0024 LDINT R5 32 - 0x08140405, // 0025 MUL R5 R2 R5 - 0x541A000F, // 0026 LDINT R6 16 - 0x00140A06, // 0027 ADD R5 R5 R6 - 0x541A0020, // 0028 LDINT R6 33 - 0x08180406, // 0029 MUL R6 R2 R6 - 0x04180D0E, // 002A SUB R6 R6 K14 - 0x40140A06, // 002B CONNECT R5 R5 R6 - 0x88180106, // 002C GETMBR R6 R0 K6 - 0x94140C05, // 002D GETIDX R5 R6 R5 - 0x90022805, // 002E SETMBR R0 K20 R5 - 0x70020002, // 002F JMP #0033 + 0x8C10070F, // 0010 GETMET R4 R3 K15 + 0x5818000D, // 0011 LDCONST R6 K13 + 0x581C0010, // 0012 LDCONST R7 K16 + 0x7C100600, // 0013 CALL R4 3 + 0x541650A9, // 0014 LDINT R5 20650 + 0x1C140805, // 0015 EQ R5 R4 R5 + 0x78160008, // 0016 JMPF R5 #0020 + 0xB8162200, // 0017 GETNGBL R5 K17 + 0x8C140B12, // 0018 GETMET R5 R5 K18 + 0x5C1C0600, // 0019 MOVE R7 R3 + 0x7C140400, // 001A CALL R5 2 + 0x88180109, // 001B GETMBR R6 R0 K9 + 0x8C180D13, // 001C GETMET R6 R6 K19 + 0x5C200A00, // 001D MOVE R8 R5 + 0x7C180400, // 001E CALL R6 2 + 0x70020010, // 001F JMP #0031 + 0x5416EBEA, // 0020 LDINT R5 60395 + 0x1C140805, // 0021 EQ R5 R4 R5 + 0x7816000C, // 0022 JMPF R5 #0030 + 0x5416001F, // 0023 LDINT R5 32 + 0x08140405, // 0024 MUL R5 R2 R5 + 0x541A000F, // 0025 LDINT R6 16 + 0x00140A06, // 0026 ADD R5 R5 R6 + 0x541A0020, // 0027 LDINT R6 33 + 0x08180406, // 0028 MUL R6 R2 R6 + 0x04180D0E, // 0029 SUB R6 R6 K14 + 0x40140A06, // 002A CONNECT R5 R5 R6 + 0x88180106, // 002B GETMBR R6 R0 K6 + 0x94140C05, // 002C GETIDX R5 R6 R5 + 0x90022805, // 002D SETMBR R0 K20 R5 + 0x70020002, // 002E JMP #0032 + 0x70020000, // 002F JMP #0031 0x70020000, // 0030 JMP #0032 - 0x70020000, // 0031 JMP #0033 - 0x7001FFD1, // 0032 JMP #0005 - 0xA8040001, // 0033 EXBLK 1 1 - 0x70020002, // 0034 JMP #0038 - 0x58040015, // 0035 LDCONST R1 K21 - 0xAC040200, // 0036 CATCH R1 1 0 - 0xB0080000, // 0037 RAISE 2 R0 R0 - 0x80000000, // 0038 RET 0 + 0x7001FFD2, // 0031 JMP #0005 + 0xA8040001, // 0032 EXBLK 1 1 + 0x70020002, // 0033 JMP #0037 + 0x58040015, // 0034 LDCONST R1 K21 + 0xAC040200, // 0035 CATCH R1 1 0 + 0xB0080000, // 0036 RAISE 2 R0 R0 + 0x80000000, // 0037 RET 0 }) ) );