私は現在、クラスの ARM アセンブリを学習していて、「配列」を使用する必要がある問題に遭遇しました。ARMには配列のようなものがないことを知っているので、スペースを割り当ててそれを配列として扱う必要があります。2 つの質問があります。
- 配列に新しい値を正しく追加していますか、それとも以前の値を上書きしているだけですか? 値を上書きする場合、新しい値を追加するにはどうすればよいですか?
- 配列のさまざまな値をループするにはどうすればよいですか? 使用する必要
loop:
があることはわかっていますが、それを使用してさまざまな「インデックス」にアクセスする方法がわかりません。
これまでのところ、オンラインのリソースから収集した ARM のドキュメントを読んで得たものは次のとおりです。
.equ SWI_Exit, 0x11
.text
.global _start
_start: .global _start
.global main
b main
main:
ldr R0, =MyArray
mov R1, #42
str R1, [R0], #4
mov R1, #43
str R1, [R0], #4
swi SWI_Exit
MyArray: .skip 20 * 4
.end
補足として、私は教授の要求に応じてARMSim#を使用しているため、GNU ツールで認識される一部のコマンドが ARMSim# で認識されないか、少なくともそうであると考えています。私が間違っている場合は、私を修正してください。