![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
今研修で秋月のH8のキットを使って勉強をしているのですが
割り込みについて理解できないところがあります。
タイマ割り込みなどの割り込みとは
メインの関数をよんでいる時に割り込んで今まで実行していたのに変わって実行されるわけですよね?
そのタイミングなんですが
ファイルを実行させるとソースの上から読むってのはわかるんですけど
例えば5行目の途中とかでも割り込みが行われるんですか?
つまり行単位で実行していてその間にはいってくるのか
行の中の単語?をよんでる最中に割り込んでくるのか。。。
知識が無いためうまく説明できませんがわかりますでしょうか?
よろしくおねがいします
No.4
- 回答日時:
> こうゆうプログラムにタイマかなんかで割り込むとき
> 上もしくは下の行の実行が終わった時に割り込まれるのか
>
> 上もしくは下の行の実行が終わって次の行を読み始めた途中でも割り込みが発生するのかどうかって事です。
この場合は、行の途中でも割り込みが入ります。
秋月のどのボードを使っているのかわかりませんが、コンパイラにGCCを使っているのであれば、
h8300-hms-gcc -S -mh オプション ファイル名
とすれば、アセンブリ言語のソースが出力されるので、それを見るとよくわかります。
まず、代入すべき値(ここでは0x01や0xfe)をレジスタに読み込んで、その値を出力ポートに書き込んでいるはずです。
P5.DR.BYTEの定義次第では、さらに複雑な命令に展開されているはずです。
No.3
- 回答日時:
詳細は補足していただくのを待つとして、わかる範囲で書いてみます。
H8/300Hの場合、ほとんどの命令は不分割ですが、一つだけ例外があります。それはEEPROM命令でワード単位の転送を行う場合です。この命令に限り、命令の実行が終わる前でも割り込みが入り、命令が中断されます。
それ以外は、1つの命令の実行が終わるまで、割り込みは入りません。
C言語での行単位の話であれば、C言語の場合、コンパイラが受け付けてくれる限り(翻訳限界まで)、同じ行にいくらでも式をかけますし、たった一つの代入しかしていないように見えても、実は多くの命令が実行されている場合があります。
機械語レベルで、命令が複数になれば、当然その間に割り込みが入ってきます。割り込みが入ってまずいのであれば、明示的に割り込みを禁止する必要があります。
No.2
- 回答日時:
割りこみは機械語の一命令語の終了のタイミングで行われます。
割りこんだ側が戻ってきたときの先頭番地を保存します。
割りこみ処理が終わると先ほど保存した次実行の先頭番地から続けて何事も無かったように
実行が再開されます。
こう言う関係ですからお同じデータエリアを2つのプログラムが共有することはまずありえません。
No.1
- 回答日時:
> 例えば5行目の途中とかでも割り込みが行われるんですか?
5行目というのがよくわからないのですが、アセンブリ言語でプログラムを書いていますか?それともC言語ですか?
この回答への補足
すいません。5行目とはたとえで何でもないです。
ちなみに言語はCです。
用は。
void main(void){
P5.DR.BYTE =0x01; (上)
P5.DR.BYTE =0xfe; (下)
}
こうゆうプログラムにタイマかなんかで割り込むとき
上もしくは下の行の実行が終わった時に割り込まれるのか
上もしくは下の行の実行が終わって次の行を読み始めた途中でも割り込みが発生するのかどうかって事です。
言葉、知識が足らなくてすみません;;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# pythonで外部のファイルを読み込む際のエラー 2 2022/04/12 19:22
- 友達・仲間 立て替えた時の支払い方法について 3 2022/12/09 06:40
- 教育ソフト・学習ソフト vbsで分割した値をそれぞれの変数に 1 2022/10/17 19:52
- 大学受験 大学生に保護者なんかいるの? 4 2023/08/23 16:52
- その他(地域情報・旅行・お出掛け) 楽天トラベルの楽パックで国内の飛行機とホテルセットの旅行を申し込んだのですが旅行の日に単位がかかった 4 2023/07/08 16:51
- その他(車) 何故オラオラ顔の車に道を譲る? 11 2022/07/07 11:47
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- 格安スマホ・SIMフリースマホ uqモバイル使用の方、割引の仕組みに詳しい方、教えてください・・ 2 2023/04/24 15:04
- 簿記検定・漢字検定・秘書検定 日商簿記2級の商業簿記の新株発行(増資)について質問です。 今、日商簿記2級の受けようと独学で宅建勉 1 2022/07/30 09:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スーパーのレジで並んでいたら...
-
このレジの並び方は間違ってま...
-
割り込み処理のシミュレート
-
Excelでタイマーの一時停止する...
-
H8 3694 受信割込みについてです
-
CPUの処理量を減らすコーデ...
-
電車で待機列の割り込みについ...
-
一定時間操作がなかったら、と...
-
VB.net 割り込みの禁止
-
pic 複数の割り込み関数 切り分...
-
picタイマ0割り込みについて
-
割り込みの入り方。考え方。
-
緯度、経度の 10進法と 60進法...
-
Macターミナルで実行中のプログ...
-
バックグラウンドのプロセスの...
-
プロダクションコードとは?
-
エクセル VBA でのCOMポート...
-
指定したフォルダーを最前面表...
-
メモリが不足しています(VBA)
-
VBSの処理中一旦処理を止めて再...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
このレジの並び方は間違ってま...
-
電車で待機列の割り込みについ...
-
スーパーのレジで並んでいたら...
-
ショッピング
-
CPUの処理量を減らすコーデ...
-
一定時間操作がなかったら、と...
-
CPU負荷率の安全な上限と計...
-
pic 複数の割り込み関数 切り分...
-
Amazonfireタブレットにわから...
-
【組込み】割り込み中のstatic...
-
マイコン C言語 割り込み処理...
-
USB機器からのデータ受信による...
-
駅のトイレでナイチンに邪魔さ...
-
インバウンドで迷惑している人...
-
PICのSleepからの復帰に関して
-
PICでのプログラムによるチャタ...
-
実行した後、どうしてもフリー...
-
PICで内部タイマーを使わずカウ...
-
SH2のタイマ出力
-
割り込み中に例外異常
おすすめ情報