pub struct Frame {
pub caller_addr: u16,
pub callee_addr: u16,
pub frame_type: FrameType,
pub frame_ptr: Option<Word>,
pub arguments: Vec<Word>,
}Expand description
A frame entry, which defines all the known information about a frame.
This information is only exposed by the Simulator if the debug_frames flag is enabled.
Fields§
§caller_addr: u16The memory location of the caller instruction.
callee_addr: u16The memory location of the start of the callee subroutine.
For subroutines, this should point to the start of the callee subroutine.
For traps and interrupts, this should point to where the entry exists within their respective tables
(in other words, this value should be 0x00-0xFF for traps and 0x100-0x1FF for interrupts).
frame_type: FrameTypeWhether this frame is from a subroutine call, trap call, or interrupt.
frame_ptr: Option<Word>The address of the current frame pointer.
This is only Some when:
- the callee’s definition is defined, and
- the callee’s definition is defined with the standard LC-3 calling convention variant
arguments: Vec<Word>The arguments of the call.
If the callee’s definition is defined, this is a list of the arguments used in the call. Otherwise, this is an empty Vec.