github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/hello.evm (about) 1 /* "../contracts/hello.sol":26:135 contract hello {... */ 2 mstore(0x40, 0x60) 3 jumpi(tag_1, iszero(callvalue)) 4 0x0 5 dup1 6 revert 7 tag_1: 8 dataSize(sub_0) 9 dup1 10 dataOffset(sub_0) 11 0x0 12 codecopy 13 0x0 14 return 15 stop 16 17 sub_0: assembly { 18 /* "../contracts/hello.sol":26:135 contract hello {... */ 19 mstore(0x40, 0x60) 20 jumpi(tag_1, lt(calldatasize, 0x4)) 21 calldataload(0x0) 22 0x100000000000000000000000000000000000000000000000000000000 23 swap1 24 div 25 0xffffffff 26 and 27 dup1 28 0xc605f76c 29 eq 30 tag_2 31 jumpi 32 tag_1: 33 0x0 34 dup1 35 revert 36 /* "../contracts/hello.sol":47:133 function helloWorld() public pure returns (string){... */ 37 tag_2: 38 jumpi(tag_3, iszero(callvalue)) 39 0x0 40 dup1 41 revert 42 tag_3: 43 tag_4 44 jump(tag_5) 45 tag_4: 46 mload(0x40) 47 dup1 48 dup1 49 0x20 50 add 51 dup3 52 dup2 53 sub 54 dup3 55 mstore 56 dup4 57 dup2 58 dup2 59 mload 60 dup2 61 mstore 62 0x20 63 add 64 swap2 65 pop 66 dup1 67 mload 68 swap1 69 0x20 70 add 71 swap1 72 dup1 73 dup4 74 dup4 75 /* "--CODEGEN--":23:24 */ 76 0x0 77 /* "--CODEGEN--":8:108 */ 78 tag_6: 79 /* "--CODEGEN--":33:36 */ 80 dup4 81 /* "--CODEGEN--":30:31 */ 82 dup2 83 /* "--CODEGEN--":27:37 */ 84 lt 85 /* "--CODEGEN--":8:108 */ 86 iszero 87 tag_7 88 jumpi 89 /* "--CODEGEN--":99:100 */ 90 dup1 91 /* "--CODEGEN--":94:97 */ 92 dup3 93 /* "--CODEGEN--":90:101 */ 94 add 95 /* "--CODEGEN--":84:102 */ 96 mload 97 /* "--CODEGEN--":80:81 */ 98 dup2 99 /* "--CODEGEN--":75:78 */ 100 dup5 101 /* "--CODEGEN--":71:82 */ 102 add 103 /* "--CODEGEN--":64:103 */ 104 mstore 105 /* "--CODEGEN--":52:54 */ 106 0x20 107 /* "--CODEGEN--":49:50 */ 108 dup2 109 /* "--CODEGEN--":45:55 */ 110 add 111 /* "--CODEGEN--":40:55 */ 112 swap1 113 pop 114 /* "--CODEGEN--":8:108 */ 115 jump(tag_6) 116 tag_7: 117 /* "--CODEGEN--":12:26 */ 118 pop 119 /* "../contracts/hello.sol":47:133 function helloWorld() public pure returns (string){... */ 120 pop 121 pop 122 pop 123 swap1 124 pop 125 swap1 126 dup2 127 add 128 swap1 129 0x1f 130 and 131 dup1 132 iszero 133 tag_9 134 jumpi 135 dup1 136 dup3 137 sub 138 dup1 139 mload 140 0x1 141 dup4 142 0x20 143 sub 144 0x100 145 exp 146 sub 147 not 148 and 149 dup2 150 mstore 151 0x20 152 add 153 swap2 154 pop 155 tag_9: 156 pop 157 swap3 158 pop 159 pop 160 pop 161 mload(0x40) 162 dup1 163 swap2 164 sub 165 swap1 166 return 167 tag_5: 168 /* "../contracts/hello.sol":90:96 string */ 169 tag_10 170 jump // in(tag_11) 171 tag_10: 172 /* "../contracts/hello.sol":107:126 return 'helloWorld' */ 173 0x40 174 dup1 175 mload 176 swap1 177 dup2 178 add 179 0x40 180 mstore 181 dup1 182 0xa 183 dup2 184 mstore 185 0x20 186 add 187 0x68656c6c6f576f726c6400000000000000000000000000000000000000000000 188 dup2 189 mstore 190 pop 191 swap1 192 pop 193 /* "../contracts/hello.sol":47:133 function helloWorld() public pure returns (string){... */ 194 swap1 195 jump // out 196 /* "../contracts/hello.sol":26:135 contract hello {... */ 197 tag_11: 198 0x20 199 mload(0x40) 200 swap1 201 dup2 202 add 203 0x40 204 mstore 205 dup1 206 0x0 207 dup2 208 mstore 209 pop 210 swap1 211 jump // out 212 213 auxdata: 0xa165627a7a72305820c2e7a24c71858a11d5be7e81de5ff69bcfcee87b11dd2c7addb4433df383ab2e0029 214 }