diff options
author | chriseth <chris@ethereum.org> | 2017-06-14 21:46:16 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2017-06-14 21:46:16 +0800 |
commit | 98139ead42e8641f99eb98cbe7997493f03ae099 (patch) | |
tree | 2963972936aa777a78147765ae6ee27953dab48b | |
parent | 1b1f35762e7d761a6a97f825699972472ba44888 (diff) | |
download | dexon-solidity-98139ead42e8641f99eb98cbe7997493f03ae099.tar.gz dexon-solidity-98139ead42e8641f99eb98cbe7997493f03ae099.tar.zst dexon-solidity-98139ead42e8641f99eb98cbe7997493f03ae099.zip |
Clarify functional style.
-rw-r--r-- | docs/assembly.rst | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/docs/assembly.rst b/docs/assembly.rst index cd3ff4c0..9455dfb3 100644 --- a/docs/assembly.rst +++ b/docs/assembly.rst @@ -318,8 +318,10 @@ would be written as follows mstore(0x80, add(mload(0x80), 3)) -Functional style and instructional style can be mixed, but any opcode inside a -functional style expression has to return exactly one stack slot (most of the opcodes do). +Functional style expressions cannot use instructional style internally, i.e. +``1 2 mstore(0x80, add)`` is not valid assembly, it has to be written as +``mstore(0x80, add(2, 1))``. For opcodes that do not take arguments, the +parentheses can be omitted. Note that the order of arguments is reversed in functional-style as opposed to the instruction-style way. If you use functional-style, the first argument will end up on the stack top. |