Skip to content

Commit

Permalink
fix: Disassembled code contains cells #5
Browse files Browse the repository at this point in the history
  • Loading branch information
dvlkv committed Jan 3, 2023
1 parent 510270e commit af02284
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 8 deletions.
Binary file not shown.
116 changes: 116 additions & 0 deletions src/__snapshots__/disassembler.spec.ts.snap
Original file line number Diff line number Diff line change
@@ -1,5 +1,121 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`disassembler should disassemble #5 1`] = `
"SETCP0
(:methods
recv_internal:
0 PUSHINT
s2 PUSH
CTOS
s3 POP
s2 PUSH
3 PUSHINT
SDSKIPFIRST
1 PLDU
s2 PUSH
SEMPTY
<{
s0 PUSH
0 EQINT
<{
s2 PUSH
853192861 PUSHINT
1 JMP
6 BLKDROP
RET
}> PUSHCONT
IFJMP
6 BLKDROP
RET
}> PUSHCONT
IFJMP
s2 PUSH
32 LDU
s4 POP
s1 PUSH
1 EQINT
<{
s0 PUSH
7 PUSHINT
1 JMP
7 BLKDROP
RET
}> PUSHCONT
IFJMP
s3 PUSH
s1 PUSH
1 JMP
7 BLKDROP
775908857:
825700012:
853192861:
0 PUSHINT
c4 PUSH
CTOS
s0 PUSH
LDDICT
s2 POP
s2 POP
s0 PUSH
129 LDSLICE
s2 POP
c7 PUSH
s2 PUSH
TPUSH
s3 PUSH
TPUSH
s1 PUSH
TPUSH
s0 PUSH
c7 POP
4 BLKDROP
s0 POP
NEWC
c7 PUSH
2 INDEX
s0 s1 XCHG
STDICT
c7 PUSH
3 INDEX
STSLICER
c7 PUSH
1 INDEX
STSLICER
s0 PUSH
ENDC
c4 POP
s0 POP
0 PUSHINT
ONLYTOPX
RET
1347199168:
recv_external:
) 32 DICTPUSHCONST
s2 PUSH
1 EQINT
<{
DICTIGETJMP
}> PUSHCONT
IFNOTJMP
PUSHREFCONT
c3 POP
ROT
s0 POP
DICTUGETJMP
(:methods
7:
s0 POP
RET
) 32 DICTPUSHCONST
DICTUGETJMP
"
`;

exports[`disassembler should disassemble config 1`] = `
"SETCP0
(:methods
Expand Down
16 changes: 8 additions & 8 deletions src/codepages/cp0.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -986,14 +986,14 @@ CP0Auto.insertHex('f10', 10, (slice) => {
let n = slice.loadUint(14);
return `${n} CALL`;
});
// CP0Auto.insertHex('f14', 10, (slice) => {
// let args = slice.loadUint(14);
// return '(FIXED 1047)';
// });
// CP0Auto.insertHex('f18', 10, (slice) => {
// let args = slice.loadUint(14);
// return '(FIXED 1051)';
// });
CP0Auto.insertHex('f14', 10, (slice) => {
let args = slice.loadUint(14);
return `${args} JMP`;
});
CP0Auto.insertHex('f18', 10, (slice) => {
let args = slice.loadUint(14);
return `${args} PREPARE`;
});
// 15843328 (DUMMY)
CP0Auto.insertHex('f20', 10, (slice) => {
let nn = slice.loadUint(6);
Expand Down
6 changes: 6 additions & 0 deletions src/disassembler.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,10 @@ describe('disassembler', () => {

expect(fromBoc(boc)).toMatchSnapshot();
})

it('should disassemble #5', async () => {
let boc = await fetchCodeOrSnapshot('EQDSbgHX03B9_0cNBAMdlmhVbvhRNYhZNhTRH4wfNBmisKB5');

expect(fromBoc(boc)).toMatchSnapshot();
})
})

0 comments on commit af02284

Please sign in to comment.