私の学校の研究室では、arm-elf-gdb を使用して (アセンブリで記述された) プログラムを段階的にデバッグするように依頼されました。_start にブレーク ポイントを設定し、プログラムを実行してステップ スルーすると、レジスタの現在の値が表示されます。ただし、ステップ実行しようとすると、デバッガーはレジスターの値を表示しません。「i r」を使用してレジスタの最終値を表示しましたが、値が段階的に変化するのを確認する必要があります。デバッガーが値を表示しない理由は何ですか?
前もって感謝します。
アセンブリ コード:
.text @ Executable code below
_start: .global _start @ "_start" is required by the linker
.global main @ "main" is the main program
b main @ Start the main program
main: @ Entry to function "main"
mov r0, #10
mov r1, #3
add r2, r1, r0 @ r2 = r1 + r0
sub r3, r0, r1 @ r3 = r1 - r0
mul r1, r0, r1 @ r1 = r0 * r1
swi 0x11 @ Software interrupt to terminate
.end