PUSH16 0xc84ba6bc95484008f6362f93160ef3e5
As you can see the bytecode ends with
f3e5 and it seems to ignore the last byte
63. When I remove this last byte from the TheDAO bytecode and try running it through disasm again, it works properly.
Can someone explain what is the purpose of the last byte (
I am using disasm packaged with ethereum-go in release 1.3.6.
This is the error I get when I run theDAO bytecode through disasm:
<code>... 10819 CODESIZE 10820 PUSH16 => c84ba6bc95484008f6362f93160ef3e5 10837 PUSH4panic: runtime error: slice bounds out of range goroutine 1 [running]: panic(0x598e80, 0xc42000c110) /usr/local/go/src/runtime/panic.go:500 +0x1a1 main.main() /root/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/disasm/main.go:45 +0x43e </code>
And this is the error with the evm disasm v1.6.0 - https://pastebin.com/zx48s5ax