feat(L08): add subroutines and ABI card
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
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]
|
||||
Reference in New Issue
Block a user