Fixed disasamble for all pushes

This commit is contained in:
obscuren 2014-05-08 14:20:06 +02:00
parent 6c66cb3fa9
commit 554f4f6f7d

@ -21,9 +21,10 @@ func Disassemble(script []byte) (asm []string) {
asm = append(asm, fmt.Sprintf("%v", op)) asm = append(asm, fmt.Sprintf("%v", op))
switch op { switch op {
case oPUSH32: // Push PC+1 on to the stack case oPUSH1, oPUSH2, oPUSH3, oPUSH4, oPUSH5, oPUSH6, oPUSH7, oPUSH8, oPUSH9, oPUSH10, oPUSH11, oPUSH12, oPUSH13, oPUSH14, oPUSH15, oPUSH16, oPUSH17, oPUSH18, oPUSH19, oPUSH20, oPUSH21, oPUSH22, oPUSH23, oPUSH24, oPUSH25, oPUSH26, oPUSH27, oPUSH28, oPUSH29, oPUSH30, oPUSH31, oPUSH32:
pc.Add(pc, ethutil.Big1) pc.Add(pc, ethutil.Big1)
data := script[pc.Int64() : pc.Int64()+32] a := int64(op) - int64(oPUSH1) + 1
data := script[pc.Int64() : pc.Int64()+a]
val := ethutil.BigD(data) val := ethutil.BigD(data)
var b []byte var b []byte
@ -35,7 +36,7 @@ func Disassemble(script []byte) (asm []string) {
asm = append(asm, fmt.Sprintf("0x%x", b)) asm = append(asm, fmt.Sprintf("0x%x", b))
pc.Add(pc, big.NewInt(31)) pc.Add(pc, big.NewInt(a-1))
} }
pc.Add(pc, ethutil.Big1) pc.Add(pc, ethutil.Big1)