質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

ARMv7

ARMv7は、ARM命令セットアーキテクチャーVersion 7のことです。

Q&A

解決済

1回答

3300閲覧

ARMのアセンブリ言語の文法

marny

総合スコア19

アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

ARMv7

ARMv7は、ARM命令セットアーキテクチャーVersion 7のことです。

0グッド

0クリップ

投稿2019/01/12 12:24

編集2019/01/12 12:25

お世話になっております。
ARM-CortexA9のことで2つ質問させてください。

・str r1, [r3, r2, lsl #2]
という命令はなんとなく
「r1レジスタの指すものをr3レジスタにオフセットr2を足したアドレスに書き込む」
と考えているのですが、lsl #2というのがよく分かりませんでした。2ビット論理左シフトということは調べられたのですが、どこに対して処理がなされているのでしょうか。

・stmdane r0, {r2, r4, r7, r10, r12, lr, pc}

この命令はどういう意味なのでしょうか。
ARMのテクニカルリファレンスマニュアルを読んでみたのですが、stmdaneで検索しても出てこず質問させていただきました。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

・str r1, [r3, r2, lsl #2]

DWORDテーブルアクセスで、
str r1,[r3 + (r2<<2)]
という意味だったかと。

#ちとうろおぼえ


・stmdane r0, {r2, r4, r7, r10, r12, lr, pc}

STM のcondition 付き命令じゃないでしょうか
#dane ってconditionはなんだったか。。

ぐぐったらでてきましたねw
STMDA命令のneのコンディション付き命令だわ

2.8.3. Implementing stacks with LDM and STM

投稿2019/01/12 13:18

編集2019/01/12 13:36
y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marny

2019/01/14 06:29

コンディションフィールドのことをまだ知らなかったので勉強になりました. つまり、「フラグが等しくなければ、r0レジスタから4bitずつr2,r4,r7...に書き込んでいく、スタックポインタは減る方向に」という意味合いでしょうか. 回答くださりありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問