問題タブ [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.
assembly - LC-3 レジスタ内のデータが有効な 7 ビット ASCII コードかどうかを確認する方法は?
私は LC3 プログラミングを含む決勝に向けて勉強しています。サンプルの質問の 1 つは、アセンブリ コードを記述して、レジスタの値が有効な ASCII コードであるかどうかに応じてさまざまなことを実行できるようにする必要があります。値が有効な 7 ビット ASCII コードであるかどうかを確認する方法は何ですか?
前もって感謝します!
lc3 - LC-3 で文字列を出力する
ユーザーに名前を入力して印刷するように求める短い LC-3 プログラムを作成しています。
こんな感じのはず……。
しかし、私はこれを出力に入れました......
文章用に 2 つの .STRINGZ を作成しましたが、
"Hi " as String1 と ", have a good day." Strings2として、
しかし、「良い一日を」という文をどのように言えばよいでしょうか。ユーザー名の後に?
ありがとう
lc3 - 簡単な LC-3 プログラムの書き方
R1 と R2 の 2 つの数値を比較し、R1 = R2 の場合は値 0、R1 > R2 の場合は 1、R1 < R2 の場合は -1 を R0 に入れる単純な LC-3 プログラムを作成するにはどうすればよいでしょうか。
assembly - LC3 LEA 命令と格納された値
私はこの質問に混乱しています: 命令“LEA R0,A"
が実行された後にレジスタ 0 に格納される値は何ですか? なぜ答えは x370C なのですか? AのアドレスをR0にロードすることになっていると思いますか?もしそうなら、どうやって住所を知るのですか?誰か助けてくれませんか?どうもありがとう!
assembly - lc3 LDR 命令と格納された値
After instruction “LDR R3, R0, 2” is executed, the value stored in R3 is x370C.
この命令で 2 が何を表しているのかわかりません。即時値のようには見えません。この時点で、R0 に x370C が含まれていることがわかりました。誰か助けてくれませんか?どうもありがとう!
assembly - LC3組立プログラム、印刷命令
次の LC3 プログラムは、"Hello" を出力します。しかし、なぜそれが起こるのかを説明するのを手伝ってくれる人はいますか? PUTSのような指示がないので戸惑います。R0に値をロードすることと関係がありますか? ありがとうございました!
hex - 1 つの命令で他のビットを変更せずにレジスタの特定のビットをクリアするにはどうすればよいですか?
たとえば、レジスタ 4 (R4) の値が 0001110010101111であるとします。単一の 16 進命令で他のビットを移動または変更せずに、ビット 5 (0001110010 > 1 < 01111) を 0 (既に 0 であっても) に変更するにはどうすればよいでしょうか? ?
だから 0001110010 1 01111 -> 0001110010 0 01111
assembly - アセンブリ言語 - LD レジスタからレジスタへ
私は新しいアセンブリ プログラマーです。
そして、私が頭を悩ませているように見える1つの概念は、あなたがどのようにできるかということです
LD R0, R1
どこ
AND R0, R0, #0
AND R1, R1, #1
オペコードを使用してメモリアドレスをレジスタにロードする必要があることは知っていますがLD
、10 進数の 1 を含むレジスタを 10 進数の 0 を含むレジスタにロードするにはどうすればよいでしょうか?
私はフィボナッチループを作ろうとしています:
負荷を設定する必要がある場所R0
とR1
、新しく計算されたフィボナッチ和R2
lc3 - カスタム LC-3 トラップ ルーチンの使用
Trap x26 経由で Trap 呼び出しとして使用するサブルーチンを作成しました。サブルーチンのコードはアドレス x3300 にあります。x26 から x3300 のサブルーチンの実際の命令にジャンプする方法がわかりません。ギャップが JSR の PC オフセット パラメータで許可されているよりも大きいためです。x3300 までずっとジャンプできるようにするために、x26 の近くにコードを追加できることはわかっていますが、そうすべきだとは思いません。一般的にトラップを理解する上で何かが欠けていると思います。
これがトラップの私の理解/混乱です。つまり、x0000から-X00FFはトラップベクターテーブルです。たとえば、 を呼び出すTRAP x20
と、PC は x20 に移動し、x20 で命令の実行を続行します。(これが間違っている場合はお知らせください!) LC-3 のアドレス x20 にはBRZ x0021
、PC を x21 に移動するコマンドがあるため、この時点で混乱しています。x21にはBRZ x52
コマンドがあります。このブランチが実行されて x52 と PC に移動すると、そこにコマンドがありTRAP x00
ます。Trap 20 のコマンドのほとんどは、これらの (どのように見えるか) ナンセンスなトラップ コマンドに移動するようです。トラップ x00 が実行された後、プログラムは xFD79 に移動します。メモリ内の x00 には別のTRAP x00
. 私には、プログラムは xFD79 ではなく x00 に移動する必要があるようです。
誰かが私にこれを説明するのを手伝ってくれますか? トラップが呼び出されると、正確には何が起こっているのでしょうか? 命令の実際のコードがあるメモリ内の別のアドレスに移動してそれを実行しただけだと思いましたが、私が見たものはそれを反映していません。これにより、現在学校のプロジェクトを完了することができなくなっているため、どんな助けも大歓迎です。
ありがとう!