![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
EVM
文章平均质量分 77
zxh0
a "programmer"
展开
-
以太坊虚拟机介绍3-算术运算指令
以太坊虚拟机算术运算指令EVM总共定义了11条算术运算指令,分别是ADD(加法指令,操作码0x01)、MUL(乘法指令,操作码0x02)、SUB(减法指令,操作码0x03)、DIV(无符号整除指令,操作码0x04)、SDIV(有符号整除指令,操作码0x05)、MOD(有符号取模指令,操作码0x06)、SMOD(无符号取模指令,操作码0x07)、ADDMOD指令(操作码0x08)、MULMOD指...原创 2018-08-22 23:10:56 · 1923 阅读 · 0 评论 -
以太坊虚拟机介绍
以太坊虚拟机介绍近期打算写一些关于以太坊虚拟机(后面简称EVM)的文章,这是其中的第一篇。这一系列文章想站在EVM指令集的角度,带领读者逐步理解EVM工作原理,进而理解以太坊区块链技术细节。由于网上介绍以太坊的文章也比较多,所以这一系列文章将最大程度减少不必要的废话,直接提供文章想要表达的信息。EVM基本信息编程语言虚拟机一般有两种类型,基于栈,或者基于寄存器。大部分我们所熟知的语...原创 2018-08-20 09:16:41 · 5872 阅读 · 0 评论 -
以太坊虚拟机介绍4-按位运算指令
以太坊虚拟机按位运算指令EVM定义了8条按位运算指令,分别是: * AND,按位与,操作码0x16 * OR,按位或,操作码0x17 * XOR,按位异或,操作码0x18 * NOT,按位取反,操作码0x19 * BYTE,取第n个字节,操作码0x1A * SHL,左移,操作码0x1B * SHR,逻辑右移,操作码0x1C * SAR,算术右移,操作码0x1D下面是按位运算...原创 2018-08-27 15:00:32 · 1481 阅读 · 0 评论 -
以太坊虚拟机介绍2-栈操作指令
以太坊虚拟机栈操作指令本文介绍POP指令、PUSHx系列指令、DUPx系列指令、SWAPx系列指令。这些指令只对EVM栈进行单纯的操作,它们的操作码分布如下图所示:POP指令POP指令(操作码0x50)从栈顶弹出一个元素。下面是POP指令的操作示意图(白色表示元素即将发生变动):PUSHx指令PUSH系列指令把紧跟在指令后面的N(1 ~ 32)字节元素推入栈顶。PUSH...原创 2018-08-21 07:32:00 · 2475 阅读 · 1 评论