|
|
# ADD 指令
|
|
|
|
|
|
|
|
|
本节和接下来的章节主要介绍 EVM 中各个指令的具体操作、约束条件和 witness 表示,以及如何在电路设计中实现和验证相关指令。
|
|
|
## 详细设计
|
|
|
### 概述
|
|
|
|
|
|
概述:加法指令,对栈中的两个值进行加法计算(256位)。
|
... | ... | @@ -47,11 +50,11 @@ ADD |
|
|
|
|
|
core row中的表格设计如下:
|
|
|
|
|
|
| cnt | ver[0-7] | ver[8-15] | ver[16-23] | 其他 |
|
|
|
| ---- | ------------------- | ------------------- | ------------------ | ---- |
|
|
|
| 2 | ARITH | - | - | - |
|
|
|
| 1 | STATE (stack_pop_a) | STATE (stack_pop_b) | STATE (stack_push) | - |
|
|
|
| 0 | DYNA_SELECTOR | AUX | - | - |
|
|
|
| cnt | ver[0-7] | ver[8-15] | ver[16-23] | 其他 |
|
|
|
| --- | ------------------- | ------------------- | ------------------ | ---- |
|
|
|
| 2 | ARITH | - | - | - |
|
|
|
| 1 | STATE (stack_pop_a) | STATE (stack_pop_b) | STATE (stack_push) | - |
|
|
|
| 0 | DYNA_SELECTOR | AUX | - | - |
|
|
|
|
|
|
cnt=2,vers[0]~vers[8]的位置用来存放arithmetic table lookup,目的是将具体的算数约束放在arithmetic子电路中,将core子电路与具体的算数约束解耦;
|
|
|
|
... | ... | |