Skip to content

Commit

Permalink
Mr Hyde was here …
Browse files Browse the repository at this point in the history
  • Loading branch information
karino2 committed Nov 28, 2018
1 parent 9abe179 commit eafd80c
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions arm_asm.md
Original file line number Diff line number Diff line change
Expand Up @@ -2682,17 +2682,18 @@ loop:
なおトークンとしてはコロンは取り除く。タイプのenumで区別。
ラベルのシンボル化はパーサーでは無くバイナリ吐く方でやりますか(どっちでもいいけど)。

### アドレス用に辞書を持ってくる
### アドレス用に辞書を第一回から持ってくる

ラベルのアドレス用の辞書を作る。
先頭から現在のemitterの位置を覚えておき、ラベルが来たらこの辞書にその位置を追加。
辞書のキーはintにしておく。ハッシュ関数は単なる剰余で(手抜き)。
辞書のキーはintにしておく。

辞書は今回はstreqも無いし、配列にkeyとvalueを入れて、全部比較していく、という実装で良いかと(第一回でハッシュの手前に実装した奴)


### bのサポート

bをサポートする。ラベルの部分は0でも入れておいて、
解決が必要な物を集めるリストに登録する。線形リストでいいでしょう。
bをサポートする。ラベルの部分は0でも入れておいて、解決が必要な物を集めるリストに登録する。線形リストでいいでしょう。

解決の時の為に取っておくべき情報は

Expand Down Expand Up @@ -2736,6 +2737,7 @@ add, cmp, lsr, andあたりをサポートする。

これで一応2章でやったアセンブリと同じ事は全部出来るはず?

この簡易アセンブリでprint_loop、putchar_mem、print_hex_memあたりを書き直して実行してみる。

# 06 Cの関数をより詳細に理解する

Expand Down

0 comments on commit eafd80c

Please sign in to comment.