問題タブ [lc3]

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 に答える
347 参照

subroutine - LC3でジャンプ失敗

LC3 の組み立てに問題があるようです。

サブルーチンにジャンプしようとしていますが、代わりに次のコマンドに進みます。

私はもう試した:

一番下に、Subpgm を定義するこの行があります。

これが にジャンプすることを期待してPC x4000いましたが、代わりに PC は通常の 1 だけインクリメントされます。

どんな助けでも大歓迎です!

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

duplicates - LC-3 入力された番号が以前に入力された番号と重複していないことを確認する

ユーザーは、キーボードから一度に 1 つずつ数字を最大 5 回まで入力する必要があります。プログラムは、入力された番号が以前の番号と重複していないことを確認する必要があります。それを確認するにはどうすればよいですか? ありがとう!

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

assembly - ユーザーが「Enter」キーを押したときに別のプロンプトを表示するにはどうすればよいですか?

最終的に単語を豚のラテン語に翻訳するプログラムを書いていますが、これまでのところ、ユーザー入力の文字を別々のメモリ位置に保存しました (単語は最大 19 文字まで)。

ここで、ユーザーがエンター キーを押したときに別のプロンプトを出力したいと考えています (英語で単語を入力し終わった後)。いくつかの例を見てきましたが、プログラムの一番下に "NEWLINE .FILL x00A" という行があることがわかりました。これが Enter キーの ASCII コードであることは理解していますが、「Enter」を押した後に別のプロンプトを表示する必要があることをプログラムに伝える方法がわかりません。ヒントやアイデアをいただければ幸いです。

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

lc3 - 余分な文字が表示されるのはなぜですか?

プログラムの説明

.BLKW を使用して、ユーザーが入力する文字ごとに 20 の場所を割り当てました。今のところ、ユーザーが最初のプロンプトで入力した文字列を表示したいだけです。(これは豚のラテン語翻訳者になるため、2 番目のプロンプトになります。しかし、今は、ユーザー入力を出力できるかどうかを確認したいだけです)

問題

問題は、実行すると最後に余分な文字が表示されることです。

例えば:

マイプログラム

試みられた解決策

問題は、R4 が最初のユーザー入力の文字列をプログラム全体で保持していることだと考えていました。そのため、解決策として、R4 が表示された後に R4 をクリアして、次のユーザー入力を受け取る準備ができるようにすることを考えました。誰かが私がそれを行う方法を知っていますか?

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

arrays - LC-3 アセンブリで配列をループして各項目を印刷するにはどうすればよいですか?

ユーザーからの文字入力を受け取るサイズ 10 の配列があります。ここで、配列をループして、各文字とそれに続く新しい行を出力する必要がありますが、どこから始めればよいかわかりません。LC-3 アセンブリは私の得意分野ではありません...これまでの私のコードは次のとおりです。

私の質問は、基本的に OUT_LOOP の中に何を入れるのですか?

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

c - LC3 ADD 命令への 16 進数の解析

LC3 プロセッサ用にコンパイルされた 16 進ファイルをアセンブリ言語に変換するプログラムを C で作成しています。

現在、ADD命令をデコードしようとしています。

ADDLC3 アセンブリ言語には 2 種類の があります。

  • add by reference : 2 つのレジスタを追加する
  • add immediate : ハードコードされた値にレジスタを追加します

たとえば、16 進コード164Fは次のように変換されますADD R3, R1, R7。これは参照による追加です。逆に、 の 16 進コードは次の153Fように変換されますADD R2, R4, #-1。これは即時追加です。

関数は、必要に応じて両方をデコードする必要があります。