Files

38 lines
1.4 KiB
YAML

schema: 1
card: rv32i-asm/L06
title: Control Flow — Jumps and Branches
steps:
- id: compare
task: task01_branch_compare
action: debug
profile: hazard3-sim
target: hazard3-baremetal
command: stemctl debug hazard3-sim rv32i-asm L06 1
board:
show: [lhs, rhs, funct3, taken, illegal, waveform]
highlight: [signed-less-than, unsigned-less-than, equality]
question: Dlaczego 0xffffffff jest mniejsze od 1 dla BLT, ale nie dla BLTU?
evidence: [six_conditions, signed_unsigned_pair, illegal, trace_vcd]
- id: immediate
task: task02_control_immediate
action: test
profile: hazard3-sim
target: hazard3-baremetal
command: stemctl test hazard3-sim rv32i-asm L06 2
board:
show: [instruction, format_j, immediate, pc, target]
highlight: [implicit-zero-bit, sign-extension, pc-relative-add]
question: Dlaczego najmłodszy bit przesunięcia nie jest zapisany w instrukcji?
evidence: [branch_plus12, jal_minus8, aligned_targets]
- id: pc-sequence
task: task03_program_counter
action: debug
profile: hazard3-sim
target: hazard3-baremetal
command: stemctl debug hazard3-sim rv32i-asm L06 3
board:
show: [pc, branch_taken, jump, target, waveform]
highlight: [pc-plus-4, branch-target, jump-target]
question: Która wartość PC zostanie użyta po skoku do 0x10?
evidence: [pc_sequence, branch_count, jump_count, trace_vcd]