evm v0.1.8 EVM.Operation.Push
Link to this section Summary
Functions
Place n-byte item on stack
Link to this section Functions
Link to this function
push_n(n, args, map)
push_n(integer, Operation.stack_args, Operation.vm_map) :: Operation.op_result
Place n-byte item on stack
Examples
iex> EVM.Operation.Push.push_n(1, [], %{machine_state: %EVM.MachineState{stack: [], pc: 1}, exec_env: %EVM.ExecEnv{machine_code: <<0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 2, stack: [0x12]}
iex> EVM.Operation.Push.push_n(1, [], %{machine_state: %EVM.MachineState{stack: [], pc: 2}, exec_env: %EVM.ExecEnv{machine_code: <<0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 3, stack: [0x13]}
iex> EVM.Operation.Push.push_n(1, [], %{machine_state: %EVM.MachineState{stack: [], pc: 3}, exec_env: %EVM.ExecEnv{machine_code: <<0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 4, stack: [0x00]}
iex> EVM.Operation.Push.push_n(1, [], %{machine_state: %EVM.MachineState{stack: [], pc: 4}, exec_env: %EVM.ExecEnv{machine_code: <<0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 5, stack: [0x00]}
iex> EVM.Operation.Push.push_n(1, [], %{machine_state: %EVM.MachineState{stack: [], pc: 100}, exec_env: %EVM.ExecEnv{machine_code: <<0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 101, stack: [0x00]}
iex> EVM.Operation.Push.push_n(6, [], %{machine_state: %EVM.MachineState{stack: [], pc: 0}, exec_env: %EVM.ExecEnv{machine_code: <<0xFF, 0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 6, stack: [17665503723520]}
iex> EVM.Operation.Push.push_n(16, [], %{machine_state: %EVM.MachineState{stack: [], pc: 100}, exec_env: %EVM.ExecEnv{machine_code: <<0x10, 0x11, 0x12, 0x13>>}})
%EVM.MachineState{pc: 116, stack: [0x00]}