問題タブ [68hc11]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
769 参照

assembly - 68HC11 アセンブリ言語でのバイト配列のチェックサムの計算

チェックサムは、配列の各バイトのキャリーなしの合計として計算され、レジスタ B に格納されます。配列のサイズはレジスタ A にあり、配列はレジスタ X のアドレスから始まるメモリにあります。

これまでのところ、私はこのプログラムを手に入れました:

私はそれでうまくいくと思いますが、私は組み立てと 68HC11 が初めてです。何か間違っているかどうかわかりますか?前もって感謝します。

0 投票する
1 に答える
1707 参照

assembly - 16 ビットの符号なし整数を 16 進数で表す ASCII 文字列に変換

組立用(68hc11) 紙で扱う作業です。

符号なしの 16 ビット整数を、数値を 16 進数で表す ASCII 文字列に変換するプログラムを作成してください。数値はレジスタ D0 にあり、文字列はレジスタ A0 のアドレスから始まるメモリに入れられます。

アセンブリで16進数を表すためにビット番号を4ビットに分割するにはどうすればよいですか?これを行うための指示はありますか? プログラムのロジックを視覚化するのにも問題があります。4つのビットを分離した後、アセンブリを16進数に変換するにはどうすればよいですか?? そして、16進文字を取得したら、それらをASCIIの可能な各文字と比較する必要がありますか??

どこから始めればいいのか本当にわかりません。

0 投票する
0 に答える
143 参照

gcc - インデックス付きアドレッシングの制約

(これは「GCC を使用してハンド アセンブリを最適化する」のフォローアップです)

GCC (3.3.6-m68hc1x-20060122) にインデックス付きアドレス指定を使用して命令を発行bsetおよびbclrアセンブリさせようとしましたが、使用する制約のセットが機能していないようです。

asm:_

C:

アセンブリ コードの結果:

今、これは本当に、本当に近いです。しかし、残念ながらそれは完全に無効です。次のように読む必要があります。

そのアセンブリ コードを出力するように GCC に指示するには、どのような制約を使用する必要がありますか?

GCC 3.3.6 拡張アセンブリ ドキュメント
GCC 3.3.6 制約ドキュメント

0 投票する
1 に答える
160 参照

pipeline - 68HC11 はパイプライン化されていますか?

68HC11 には、集積回路のパフォーマンスを向上させるためのパイプライン技術がありますか? 68HC11 はパイプラインで使用されますか? 有益な情報が見つかりませんでした ありがとう

0 投票する
0 に答える
2524 参照

c - CMake の C コンパイラ フラグをオーバーライド/削除する方法

CMakeLists.txt ファイルがあり、GCC 68HC11 C コンパイラでファームウェア プログラムをコンパイルしています。

問題は、CMake が最後に「-E」コンパイラ フラグを追加していることです。これは望ましくありません。他の追加フラグ「-v」「-dD」および「-D___CIDR...」も不要ですが、「-E」のようにコンパイル エラーを引き起こしません。これらの追加フラグをオフにするにはどうすればよいですか?

set(CMAKE_C_FLAGS_DEBUG "") を試してみましたが、効果はありませんでした。

これが私のCMakeLists.txtファイルの全文です

生成されたコンパイラ コマンドは次のとおりです。

0 投票する
1 に答える
508 参照

assembly - アセンブリプログラミング 68HC11 マイクロコントローラ

1) 6 要素テーブルがアドレス 007f から 009d にコピーされる場合のシナリオを示します (6 要素の値は任意に入力できます)。

2) 13 行目の TST Count が不要になるようにプログラムを修正します。(つまり、14 行目の BEQ 分岐命令は、分岐条件を決定するためにプログラム実行の正しいステータスを調べます。)

3) 6 行目の「Ptr RMB 2」を使用しないようにプログラムを修正します。代わりに、レジスタ X は表 1 の要素を指し、レジスタ Y は表 2 の要素を指します。

ねえ、私はこの質問に困惑しています.3番目の質問については、私の特定の質問はテーブルに関係しています.Xはスペースを指し、Yは長さを指していますか? どのテーブルが参照されているのかわかりません...

2 番目の場合、23 行目の残りのループと共に TST 行を完全に削除するということですか? プログラムの「正しい状態」を調べるとはどういう意味ですか?

どんな助けでもとてもいいでしょう...ありがとう。

0 投票する
2 に答える
629 参照

arrays - 68hc11 のアセンブリで配列を作成する方法は?

$100 から実行し、$800 で 200 バイトの配列を割り当て、その配列を値 200、199、… 1 で初期化するプログラムを作成する必要があります。

配列に格納される値をデクリメントしながら、配列をデクリメントするループを作成する方法を知る必要があります。

アイデアや提案はありますか?このプロセッサのサンプル コードはあまり見つかりません。

0 投票する
1 に答える
171 参照

assembly - 68hc11 アセンブリ コンベヤー ベルト プログラム

こんにちは、私は 68hc11 アセンブリのプログラミングにかなり慣れていないので、この問題をどのように処理すればよいのか疑問に思っていました。

コンベア ベルト センサーは、メモリ位置 $8000 のビット 0 に接続されています。通過するオブジェクトの数をカウントするプログラムを作成します (これは < 10 000 です)。

私が理解していることから、センサーはオンになるたびにカウンターを増やします(ビット0 == 1)。しかし、センサーがオンになっている合計時間ではなく、オブジェクトごとにカウンターを1回だけ増やしたい

ここに私がこれまでにプログラムしたものがあります