« SF小説 『七人のイヴ』  Q符号が出てくるよ | トップページ | パナソニック「HCリレー」廃番に! »

2018年10月11日 (木)

魔法の言葉「volatile」

割り込み関連プログラミングの説明のため、ちょいと昔の記事を
発掘してきましたんで紹介しておきます。
※状況
・8bitマイコンでの処理。
・割り込み内で多バイトデータを処理したい。
・一度に処理できるのが1バイトの8bitマイコンなんで、
 wordとかlongの値だと、メイン側での読み書き処理中
 に割り込みが入ると値をミスするかもしれない。
・メイン側での読み書き中は、割り込み禁止状態にして
 おかなくちゃならない。
・メイン側でのwordデータの読み書きの直前に割り込み禁止に
 して、処理後、割り込み有効状態を元に戻す処理が必要。
  ※8bitマイコンでもZ80なんかだと2バイトのロード、ストア命令
   があるんで、2バイト値までだったら気にしなくて済みそう
   なんですが・・・
   しかし、、、2バイトの値を加工してメモリーに戻す時に、割り
   込み内の処理と競合するかもしれません。
   やはり割り込み禁止状態は必須。

こんなとき、処理する変数に「volatile」を付けておかないダメだっ
というお話しです。

ちなみに・・・・ Z80の割り込み処理に関してはこんな注意も!
Z80・割り込みフラグの不具合に関するレポートの詳細情報 : Vector

「プロセッサ:1989年3月号、9月号に載せてもらった記事(テキスト)です。

※Z80のWikipaediaに
Z80 - Wikipedia の脚注[4]にこのリンクと私の名が出てました。
さっき、初めて知った(喜)。


|

« SF小説 『七人のイヴ』  Q符号が出てくるよ | トップページ | パナソニック「HCリレー」廃番に! »

電子回路工作」カテゴリの記事

電子工作」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 魔法の言葉「volatile」:

« SF小説 『七人のイヴ』  Q符号が出てくるよ | トップページ | パナソニック「HCリレー」廃番に! »