
No.5ベストアンサー
- 回答日時:
人間が筆算で行う場合も引き算しか使いませんね。
(厳密にいえば10進数の除算の場合は乗算も使ってますが・・・)ビットシフト命令を使えばNo4の回答のようなループも必要ありません。
筆算でも数字のシフトは行ってますし、アセンブラでもやり方は同じです。
人間の脳は2進数に慣れてないからわからないかな。
RJMPはリラティブジャンプ (相対ジャンプ)で現在位置から±いくつジャンプという小さなジャンプです。移動距離に制限があります。
JMPは絶対ジャンプで、位置を指定して一気に遠くまでジャンプできます。
RJMPの方がプログラムメモリも少なく実行速度も速いため、ループ処理などの移動距離が少なく回数の多いジャンプに使用するとメリットがあります。
No.4
- 回答日時:
割り算を加減算で表現すると
6 / 2 = 3
6 = 2 * 3
6 - 2*3 = 0
6 - (2+2+2) = 0
(((6-2)-2)-2) = 0
つまり A ÷ B の商は
「A から B を引く」を「A が 0 になる」まで繰り返し実行した回数
で求めることができます。
AVR の命令セットならば、以下を用いればプログラムできるでしょう。
* 初期設定に LDI
* 引き算は SUB
* 回数の勘定は INC
* 繰り返しは CP,BREQ,RJMP
余裕があるなら、負数とか剰余とかも考慮してみてください。
No.3
- 回答日時:
No.1が解決できたらインストラクションセットはこちらにあります。
http://www.avr.jp/user/DS/PDF/AVRinst.pdf
AVR専用ライブラリ。参考まで。
http://elm-chan.org/cc.html
No.2
- 回答日時:
あと、ニーモニックは、CPUやアセンブラによって違うものです。
例え同じ「SUB」が使われていたとしても、その引数とか制限とかフラグの変化とかが違ってきます。
どのCPUのどんなアセンブラなのか、書くようにしましょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像生成AIのプロンプトの作り...
-
pythonでのローカルファイルか...
-
vba 正規表現について教えてく...
-
if関数とは?
-
プログラミングに興味があるの...
-
uwscでPauseキーが押されたら、...
-
Fortranでシステム時刻をカレン...
-
数行削除してコピーするbatファ...
-
秀丸エディターでの置き換え
-
vba クリップボードクリアにつ...
-
Geminiフォーム 画像生成で 人...
-
Python 3.12.2 か一番最新のパ...
-
AIがプログラムする時代のプロ...
-
pythonについて(初心者です)
-
pythonでhtmlファイルの指定文...
-
プログラム上での行のマージ方法
-
覚えることが少ないプログラミ...
-
従業員が1名だけのSierっている...
-
アルゴリズムとコードとは何で...
-
IT業で開発をされてる方々に質...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
アセンブラ言語がわかりません。
-
実行ファイルからソースはみれる?
-
このアセンブラの意味を教えて...
-
アセンブラのコマンドについて
-
PICに書き込むプログラムや変数...
-
アセンブラのLA
-
アセンブラwordという単位
-
アセンブラの実行速度
-
Windowsはオープンソースですか?
-
バイナリの実行ファイルをgccを...
-
void __cdeclなど_
-
MPLAB IDE v8.92アセンブラにつ...
-
ArduinoIDEのコンパイル結果の表示
-
GASの入門書
-
アセンブラ言語で
-
アセンブラで割り算
-
アセンブラのリンカのダウンロ...
おすすめ情報