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  }