[H8-ML(3270)] Re: 割込みによるシリアル通信について(ビットフィールド話)
From: "Shouji Hirata" <shouji@xxxxxxxxxxxxx>
Date: 2003年05月26日(月)01時02分56秒
平田@マイクロフトです 

なんでそんなにビットフィールドにこだわらなければいけないんだろうとちょっとめ
んどくさくなりつつ(^_^;

> そんな事は無いですよ、平田さんが、同じメーカー、同じCPUのバージョン
> アップなのに、トラブルに遭遇したと書いているからです。
> でもそれは、そのメーカーの問題であり、ビットフィールドの問題では無いで
> しょう。
ちがうでしょ ビットフィールドの実装はもともと仕様ではっきり決まっていない部
分ですから、どう実装しようとコンパイラメーカーの自由です。実装方法を変えたか
らといって、メーカーの責任だったり、問題だったりではありません。そんなあいま
いな機能をあてにしてI/O処理を書いたプログラマの責任です。

> 『シビアな制御には使わないでくれ』なんて言うメーカーが有るのでしょうか
これは僕の書き方が悪かったかな。「シビア」は制御(ミッションクリティカルな応
用)にかかっているのではなく、ビット位置にかけたつもりです。

 たとえば8ビットI/Oの下から3ビット目をON/OFFするといった処理に、ビット
フィールドを使用して操作するような記述をすべきではないと思います。なぜならそ
の処理系の、そのバージョンで該当するビット位置がON/OFFできているだけで、将来
にわたって同じソースをコンパイルして同一のビット位置がON/OFFできるとは限らな
いからです(そしてI/Oの同一のビット位置をON/OFFしなくなったからといって、メー
カーのせいにするのは筋違い あくまで不定なものを当てにしたプログラマーが悪
い)。

処理系を変えたり(バージョンが変わったり(^_^;、オプティマイザのパラメータを変
えるたびにコンパイラが吐き出したアセンブラソースを確認しながら、それでもビッ
トフィールドを使用してI/O処理を記述するというなら反対はしませんが、私はしま
せんと言いたかったわけです。

--
=====================================
平田祥司(shouji@xxxxxxxxxxxxx)

株式会社マイクロフト(www.microft.co.jp)
神奈川県横浜市青葉区あかね台2-11-29
=====================================


スレッド概略
[3245(R)](起点)
 └[3268(U)]
   └[表示中]
     └[3276(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]