OK05 色々試してみた (5)
ええと kernel.list という出力があるのを発見していたり。
以下が
ldr r4,=pattern ldr r4,[r4]
以下に翻訳されてるのかどうか。
80a8: e59f402c ldr r4, [pc #44] ; 80dc <loop$+0x28> 80ac: e5944000 ldr r4, [r4]
80dc な記述が以下。
80dc: 00008124 .word 0x00008124
ええと、ダンプによると 8124 番地の中身は不明。ケツの出力が以下。
8120: 20003000 .word 0x20003000
これ、動くソレのダンプを確認してみた方が良いですね。ちなみに以下な場合の出力が
diff --git a/source/main.s b/source/main.s index e03235a..28f881a 100755 --- a/source/main.s +++ b/source/main.s @@ -60,8 +60,7 @@ bl SetGpioFunction * sequence. */ ptrn .req r4 -ldr ptrn,=pattern -ldr ptrn,[ptrn] +ldr ptrn,=0b11111111101010100010001000101010 seq .req r5 mov seq,#0
以下な形です。
80a8: e59f4028 ldr r4, [pc, #40] ; 80d8 <loop$+0x28>
80d8 番地がどうなってるかというと
80d8: ffaa222a .word 0xffaa222a
これって翻訳する側の問題なのではないか、という話が (ry
ビットパターン的に
代入されてるソレは
0x00008124
てのは
0b00000000000000001000000100100100
で、
0xffaa222a
は
0b11111111101010100010001000101010
になるのか。でも駄目なパターンって点きっぱなんだけどな。