mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-07 15:07:36 +00:00
vm: implement POW opcode
This commit is contained in:
parent
347212c0c5
commit
6496782736
5 changed files with 61 additions and 38 deletions
|
@ -159,6 +159,7 @@ func _() {
|
|||
_ = x[MUL-160]
|
||||
_ = x[DIV-161]
|
||||
_ = x[MOD-162]
|
||||
_ = x[POW-163]
|
||||
_ = x[SHL-168]
|
||||
_ = x[SHR-169]
|
||||
_ = x[NOT-170]
|
||||
|
@ -198,7 +199,7 @@ func _() {
|
|||
_ = x[CONVERT-219]
|
||||
}
|
||||
|
||||
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHAPUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMP_LJMPIFJMPIF_LJMPIFNOTJMPIFNOT_LJMPEQJMPEQ_LJMPNEJMPNE_LJMPGTJMPGT_LJMPGEJMPGE_LJMPLTJMPLT_LJMPLEJMPLE_LCALLCALL_LCALLACALLTABORTASSERTTHROWTRYTRY_LENDTRYENDTRY_LENDFINALLYRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPROTROLLREVERSE3REVERSE4REVERSENINITSSLOTINITSLOTLDSFLD0LDSFLD1LDSFLD2LDSFLD3LDSFLD4LDSFLD5LDSFLD6LDSFLDSTSFLD0STSFLD1STSFLD2STSFLD3STSFLD4STSFLD5STSFLD6STSFLDLDLOC0LDLOC1LDLOC2LDLOC3LDLOC4LDLOC5LDLOC6LDLOCSTLOC0STLOC1STLOC2STLOC3STLOC4STLOC5STLOC6STLOCLDARG0LDARG1LDARG2LDARG3LDARG4LDARG5LDARG6LDARGSTARG0STARG1STARG2STARG3STARG4STARG5STARG6STARGNEWBUFFERMEMCPYCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAY_TNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSPOPITEMISNULLISTYPECONVERT"
|
||||
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHAPUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMP_LJMPIFJMPIF_LJMPIFNOTJMPIFNOT_LJMPEQJMPEQ_LJMPNEJMPNE_LJMPGTJMPGT_LJMPGEJMPGE_LJMPLTJMPLT_LJMPLEJMPLE_LCALLCALL_LCALLACALLTABORTASSERTTHROWTRYTRY_LENDTRYENDTRY_LENDFINALLYRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPROTROLLREVERSE3REVERSE4REVERSENINITSSLOTINITSLOTLDSFLD0LDSFLD1LDSFLD2LDSFLD3LDSFLD4LDSFLD5LDSFLD6LDSFLDSTSFLD0STSFLD1STSFLD2STSFLD3STSFLD4STSFLD5STSFLD6STSFLDLDLOC0LDLOC1LDLOC2LDLOC3LDLOC4LDLOC5LDLOC6LDLOCSTLOC0STLOC1STLOC2STLOC3STLOC4STLOC5STLOC6STLOCLDARG0LDARG1LDARG2LDARG3LDARG4LDARG5LDARG6LDARGSTARG0STARG1STARG2STARG3STARG4STARG5STARG6STARGNEWBUFFERMEMCPYCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODPOWSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAY_TNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSPOPITEMISNULLISTYPECONVERT"
|
||||
|
||||
var _Opcode_map = map[Opcode]string{
|
||||
0: _Opcode_name[0:8],
|
||||
|
@ -350,43 +351,44 @@ var _Opcode_map = map[Opcode]string{
|
|||
160: _Opcode_name[856:859],
|
||||
161: _Opcode_name[859:862],
|
||||
162: _Opcode_name[862:865],
|
||||
168: _Opcode_name[865:868],
|
||||
169: _Opcode_name[868:871],
|
||||
170: _Opcode_name[871:874],
|
||||
171: _Opcode_name[874:881],
|
||||
172: _Opcode_name[881:887],
|
||||
177: _Opcode_name[887:889],
|
||||
179: _Opcode_name[889:897],
|
||||
180: _Opcode_name[897:908],
|
||||
181: _Opcode_name[908:910],
|
||||
182: _Opcode_name[910:913],
|
||||
183: _Opcode_name[913:915],
|
||||
184: _Opcode_name[915:918],
|
||||
185: _Opcode_name[918:921],
|
||||
186: _Opcode_name[921:924],
|
||||
187: _Opcode_name[924:930],
|
||||
192: _Opcode_name[930:934],
|
||||
193: _Opcode_name[934:940],
|
||||
194: _Opcode_name[940:949],
|
||||
195: _Opcode_name[949:957],
|
||||
196: _Opcode_name[957:967],
|
||||
197: _Opcode_name[967:977],
|
||||
198: _Opcode_name[977:986],
|
||||
200: _Opcode_name[986:992],
|
||||
202: _Opcode_name[992:996],
|
||||
203: _Opcode_name[996:1002],
|
||||
204: _Opcode_name[1002:1006],
|
||||
205: _Opcode_name[1006:1012],
|
||||
206: _Opcode_name[1012:1020],
|
||||
207: _Opcode_name[1020:1026],
|
||||
208: _Opcode_name[1026:1033],
|
||||
209: _Opcode_name[1033:1045],
|
||||
210: _Opcode_name[1045:1051],
|
||||
211: _Opcode_name[1051:1061],
|
||||
212: _Opcode_name[1061:1068],
|
||||
216: _Opcode_name[1068:1074],
|
||||
217: _Opcode_name[1074:1080],
|
||||
219: _Opcode_name[1080:1087],
|
||||
163: _Opcode_name[865:868],
|
||||
168: _Opcode_name[868:871],
|
||||
169: _Opcode_name[871:874],
|
||||
170: _Opcode_name[874:877],
|
||||
171: _Opcode_name[877:884],
|
||||
172: _Opcode_name[884:890],
|
||||
177: _Opcode_name[890:892],
|
||||
179: _Opcode_name[892:900],
|
||||
180: _Opcode_name[900:911],
|
||||
181: _Opcode_name[911:913],
|
||||
182: _Opcode_name[913:916],
|
||||
183: _Opcode_name[916:918],
|
||||
184: _Opcode_name[918:921],
|
||||
185: _Opcode_name[921:924],
|
||||
186: _Opcode_name[924:927],
|
||||
187: _Opcode_name[927:933],
|
||||
192: _Opcode_name[933:937],
|
||||
193: _Opcode_name[937:943],
|
||||
194: _Opcode_name[943:952],
|
||||
195: _Opcode_name[952:960],
|
||||
196: _Opcode_name[960:970],
|
||||
197: _Opcode_name[970:980],
|
||||
198: _Opcode_name[980:989],
|
||||
200: _Opcode_name[989:995],
|
||||
202: _Opcode_name[995:999],
|
||||
203: _Opcode_name[999:1005],
|
||||
204: _Opcode_name[1005:1009],
|
||||
205: _Opcode_name[1009:1015],
|
||||
206: _Opcode_name[1015:1023],
|
||||
207: _Opcode_name[1023:1029],
|
||||
208: _Opcode_name[1029:1036],
|
||||
209: _Opcode_name[1036:1048],
|
||||
210: _Opcode_name[1048:1054],
|
||||
211: _Opcode_name[1054:1064],
|
||||
212: _Opcode_name[1064:1071],
|
||||
216: _Opcode_name[1071:1077],
|
||||
217: _Opcode_name[1077:1083],
|
||||
219: _Opcode_name[1083:1090],
|
||||
}
|
||||
|
||||
func (i Opcode) String() string {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue