pragma solidity 0.4.24; contract AssemblyTest { uint[] d = [1,2,3]; uint[3] s = [1,2,3]; function foo_d(uint offset) public view returns (uint r) { uint[] memory arr = d; assembly { r := mload(add(arr, mul(0x20, offset))) } } function foo_s(uint offset) public view returns (uint r) { uint[3] memory arr = s; assembly { r := mload(add(arr, mul(0x20, offset))) } } }
0.4.24