07/01/06 14:27:28
こんにちは。
フラグ処理のコードを書いています。
wire_ack_acquirememt_bus[object_numb][wire_wsr_num]
はwire_wsr_num行の中で一つだけアサートすることになっています。
ack_sender = flag_pick(wire_ack_acquirememt_bus[object_numb][wire_wsr_num], 1, SEND_ON_BUS);
で送信者がアサートさせているフラグを拾い、列番号object_numbをピックアップします。
後半コードでその列から若い列、古い列へフラグを埋めていきます(flag_fill(fill_data, fill_target, fill_width, fill_start_bit))。
VC++8でトレースして追ってみているのですが、挙動がおかしく、その問題点を探しているのですが、私には見つけることが出来ませんでした。
flag_pick()、flag_fill()も公開する必要があると思いますが、まずは下記のコードで分かることを教えていただけないでしょうか。
ff_event_check()はソースのアサートとネゲートイベントで1を返し続けます。