私はLC3で2D配列を作成しようとしています。これまで私は、.BLKWを使ってメモリのブロックを初期化し、その別の配列を各エントリにロードすることを考えていました。しかし、それは正しい軌道に私を導くようには思われません。助言がありますか?LC3で2D配列を作成する方法
答えて
確かに.BLKWでも.STRINGZでも可能ですが、後者は少し珍しいですが。
通常より大きな問題は、メモリの特定の領域にデータを「取得」し「入れる」ということです。これを行うにはいくつかの方法があります(正解はありません)。
あなたの最初の考えはクールで有効ですが、特にLC3ではもっと複雑に思えます。
連続したメモリ位置が行(行のメジャー)内の次のエントリを表す、より直接的な「行メジャー」または「コラムメジャー」形式、または列(メジャー列)の次のエントリ)これを行う標準的な方法です。
基本的には、そのメモリ領域を割り当て、2つの関数、1つはアイテムを場所(r、c)に置き、1つは場所(r、c)からアイテムを取得します。
このためには、LC3の16ビットメモリ上に収まるサイズのアイテムを置くだけでよいでしょう。それは数字でも文字でも可能です。 (16ビットより大きい値は実行可能ですが、プログラムの複雑さが増します)。
完全に荒れたサンプルが必要な場合は、http://lc3tutor.org/#array2Dcolordersmp(または単にlc3tutor.orgに行き、2D配列のサンプルを参照してください)をご覧ください。
これを自分で学習したい場合は、その説明を読んで、サンプルコードを無視してください(宿題をしていて、学習していることを確認したい場合に最適です)。それ以外の場合は、そこに参照されているブラウザベースのlc3シミュレータで正常に動作するはずです。
幸運を祈る!
ジェフ
PSは、ここでは、ちょうどこのことから仕事をしたい場合は...うまくいけば、この例では、完全なコードサンプルで取らCOL主要なアプローチをアンカーに役立ちます、そのコードにプリアンブルです:
.ORIG x3000
BR MAIN;下のストレージをメインセクションの先頭にジャンプする
.STRINGZ "ABCDEFGHIJKLMNOPQRSTUVWZYZ";ややこしい - 私たちは参照のために私たちの2D配列に一連の文字を保存しています。
;上記の文字列のアドレスは、x3001で始まり、xxxxxは
です。下の2D_ARRAYラベルの値と同じです。
;これは本質的に2D_ARRAYで、x3001から始まり26の場所を占めています。
;プラス1(文字列のNULLターミネータの場合)。
; 2D配列には13行と2列があるものとします。
; 1行に2文字、1列に13文字。 26文字
;したがって、NUM_ROWラベルは13、NUM_COLラベルは2になります(下のラベルを参照)。
;この配列は、カラムメジャーに格納された配列として扱います。
;上記の文字列に基づいて、それは最初のセルを意味します。
;列(我々の規則では列番号0)は、A-Mである。
;第2列(列#1)のセルは、N-Zである。
;配列を行主形式で格納していた場合、最初の行のセル
; A、Bとなり、2番目のROWはC、Dとなります。その他
;このように:
;
; R \ C | 0 | 1
; ------------
; 0 | | N
; 1 | B | O
; 2 | C | P
; 3 | D | Q
; 4 | E | R
; 5 | F | S
; 6 | G | T
; 7 | H | U
; 8 |私| V
; 9 | J | W
; 10 | K | X
; 11 | L | Y
; 12 | M | Z
; 2D_ARRAY [ROW = 8、COL = 1]は文字「V」となるようにする。
- 1. Kotlin:タイプ文字列の2D配列を作成する方法
- 2. JAVAで文字の2D配列を作成する方法
- 3. 2d Arraylistを含む2d配列の作成方法は? (JAVA)
- 4. Javaで2D配列を使用するメソッドを作成する方法
- 5. 異なる方法で2D配列を生成する
- 6. JCheckBoxの2D配列の作成方法は?
- 7. txtファイルから2D配列を作成
- 8. ゲームのために異なるオブジェクトの2D配列を作成する方法
- 9. デフォルト値を使用して2Dベクトル配列を作成する方法は?
- 10. ベクトルを使用して2D配列を作成する方法は?
- 11. 2D配列を使用して地図を作成する方法
- 12. Holoviewsグリッドデータセットの例 - 2D画像(numpy配列)からデータセットを作成する方法
- 13. アンドロイドスタジオで2D配列を操作する
- 14. SystemVerilogでランダムなダイナミック2D配列を作成するには?
- 15. Javaで巨大な2D配列を作成する
- 16. Javascriptでチェスゲームのオブジェクトと2Dの配列を作成する
- 17. Rubyで既存の配列に2D配列を作成するには?
- 18. 2Dリストを作成する方法
- 19. 2dリストを2d numpy配列に変換する方法は?
- 20. スカラーで配列の配列を作成する方法
- 21. 複数の2D配列から3D配列を作成
- 22. 2D配列の配列を初期化する方法は?
- 23. 1d numpy配列を2d numpy配列に変換する方法
- 24. C#。 1D配列を2D配列に変換する方法
- 25. forループを使用して2d numpy配列から3d numpy配列を動的に作成する方法
- 26. 2dデータベースの作成方法
- 27. JS配列 - 配列の作成方法
- 28. 2d配列を作成してリンクリストをエミュレートする
- 29. 2D配列を持つTreeSetのコンパレータを作成する - Java
- 30. getmemを使用して2D配列を作成する