... | ... | @@ -2,7 +2,7 @@ |
|
|
|
|
|
### 概述
|
|
|
|
|
|
概述:加法取模指令,对栈中的两个值进行加法取模计算(此操作的所有中间计算不受2^256模的限制。)。
|
|
|
概述:加法取模指令,对栈中的两个值进行加法取模计算(此操作的所有中间计算不受2^256模的限制)。
|
|
|
|
|
|
具体操作:从栈顶弹出三个值a,b和n,对a,b进行整数加法再对n取模,将结果存进栈。
|
|
|
|
... | ... | @@ -10,16 +10,16 @@ trace示例: |
|
|
|
|
|
```code
|
|
|
// Example 1
|
|
|
// Result 4
|
|
|
PUSH1 8
|
|
|
PUSH1 10
|
|
|
PUSH1 10
|
|
|
ADDMOD
|
|
|
|
|
|
// Example 2
|
|
|
// Result 1
|
|
|
PUSH1 2
|
|
|
PUSH1 2
|
|
|
// Result 4 //0x4
|
|
|
PUSH1 8 //0x8
|
|
|
PUSH1 10 //0xA
|
|
|
PUSH1 10 //0xA
|
|
|
ADDMOD //0x2
|
|
|
|
|
|
// Example 2
|
|
|
// Result 1 //0x01
|
|
|
PUSH1 2 //0x2
|
|
|
PUSH1 2 //0x2
|
|
|
PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
|
|
ADDMOD
|
|
|
```
|
... | ... | @@ -48,7 +48,7 @@ cnt=1,vers[24]~vers[31]的位置用来存进栈顶的值stack_push。 |
|
|
|
|
|
| tag | operand_a_hi | operand_a_lo | operand_b_hi | operand_b_lo | operand_n_hi | operand_n_lo | result_hi | result_lo |
|
|
|
| ------ | ------------ | ------------ | ------------ | ------------ | ---------------------------------- | ---------------------------------- | --------- | --------- |
|
|
|
| ADDMOD | 0x00 | 0x10 | 0x00 | 0x10 | 0x00 | 0x08 | 0x00 | 0x04 |
|
|
|
| ADDMOD | 0x00 | 0xA | 0x00 | 0xA | 0x00 | 0x08 | 0x00 | 0x04 |
|
|
|
| ADDMOD | 0x00 | 0x02 | 0x00 | 0x02 | 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF | 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF | 0x00 | 0x01 |
|
|
|
|
|
|
各个字段的含义如下:
|
... | ... | |