schema: 1 card: rv32i-asm/L08 title: Subroutines and ABI steps: - id: link-target task: task01_link_address action: debug profile: hazard3-sim target: hazard3-baremetal command: stemctl debug hazard3-sim rv32i-asm L08 1 board: show: [pc, rs1, immediate, jalr, target, link, waveform] highlight: [pc_plus_4, pc_relative_target, jalr_bit_zero] question: Dlaczego link jest taki sam dla JAL i JALR przy tym samym PC? evidence: [jal_target, jalr_target, link, trace_vcd] - id: abi-map task: task02_abi_registers action: test profile: hazard3-sim target: hazard3-baremetal command: stemctl test hazard3-sim rv32i-asm L08 2 board: show: [register_index, abi_class, class_counts] highlight: [arguments, callee_saved, temporaries, fixed] question: Które rejestry funkcja wywołana musi odtworzyć przed return? evidence: [all_32_classified, class_counts] - id: nested-calls task: task03_call_stack action: debug profile: hazard3-sim target: hazard3-baremetal command: stemctl debug hazard3-sim rv32i-asm L08 3 board: show: [call, ret, link, depth, return_address, underflow, waveform] highlight: [push_104, push_204, pop_204, pop_104] question: Dlaczego pierwszy return używa adresu 0x204, a nie 0x104? evidence: [nested_depth, return_order, underflow, trace_vcd]