plonky2/evm/src/cpu/kernel/asm/memory/metadata.asm

48 lines
1.1 KiB
NASM
Raw Normal View History

// Load the given global metadata field from memory.
%macro mload_global_metadata(field)
// stack: (empty)
PUSH $field
// stack: offset
%mload_kernel(@SEGMENT_GLOBAL_METADATA)
// stack: value
%endmacro
// Store the given global metadata field to memory.
%macro mstore_global_metadata(field)
// stack: value
PUSH $field
// stack: offset, value
2022-09-22 20:09:48 -07:00
%mstore_kernel(@SEGMENT_GLOBAL_METADATA)
// stack: (empty)
%endmacro
// Load the given context metadata field from memory.
%macro mload_context_metadata(field)
// stack: (empty)
PUSH $field
// stack: offset
%mload_current(@SEGMENT_CONTEXT_METADATA)
// stack: value
%endmacro
// Store the given context metadata field to memory.
%macro mstore_context_metadata(field)
// stack: value
PUSH $field
// stack: offset, value
2022-09-22 20:09:48 -07:00
%mstore_current(@SEGMENT_CONTEXT_METADATA)
// stack: (empty)
%endmacro
%macro address
2022-09-22 20:09:48 -07:00
%mload_context_metadata(@CTX_METADATA_ADDRESS)
%endmacro
%macro sender
2022-09-22 20:09:48 -07:00
%mload_context_metadata(@CTX_METADATA_CALLER)
%endmacro
%macro callvalue
2022-09-22 20:09:48 -07:00
%mload_context_metadata(@CTX_METADATA_CALL_VALUE)
%endmacro