2011-05-01から1ヶ月間の記事一覧

ビット操作

*val に bitfield があり、指定 bit を toggle し、その結果の bit で表示する文字列を変更するという処理。 void hoge(uint8_t *const val, enum config_bit bit, uint16_t text_offset, const char *const str[]) { const uint8_t v = 1 << bit; const cha…

global 変数の使い方

C

存在自体が好ましくない extern な global 変数を使うときは、 .h に定義が書いてあったり、ソースファイルの #include の次の関数の外あたりに宣言を書きがち。 extern int global_value; void nantara(int val) { if(val == xxx){ nanika_shori(global_val…

6809 あせんぶら

uPD70616 関連は一息ついたので、もう1つに気になっている 6809 もどきの 052001 のアセンブラを作れるか調べてみた。6809 のアドレッシングモードをよくしらなかったりするわけで比較する以前の勉強が必要だったわけだがとりあえず OK. あとは AS の code68…

uPD70616 あせんぶらその3

アドレッシングモード [disp[Rn/PC] ] の構文解析は実装完了。文節の先頭と最後に[]があるか確認して、] を \0 にすり替えて、1文字ずらした上で disp[Rn/PC] の解析関数に飛ばす。その結果を見て、モードを2重indirect にすげかえる。残りの [disp[Rn]](Rx)…

uPD70616 あせんぶらその2

disp[Rn](Rx) の実装完了。/addr, [/addr] の分岐とかエラー処理が適当。svn に登録して管理するか。

uPD70616 あせんぶら

Macro Assembler AS の Pascal like な BEGIN, END のマクロを削除 Pascal like であろう辺なコーディングスタイルを uncrustify で整形 コンパイルが通るまでソースを修正 ここまできてソースを読む準備が始められる。 知っている CPU のコード生成をみなが…

今夜のはません

563 名前:どうですか解説の名無しさん[sage] 投稿日:2011/05/11(水) 21:01:26.58 id:j2u2K/mO キタ━━━━━━(゚∀゚)━━━━━━ !!!!! 優勝だ!!!! 572 名前:どうですか解説の名無しさん[sage] 投稿日:2011/05/11(水) 21:01:28.08 ID:9zgkb1/d キタ━━━━━━(゚∀゚)━━━━━…