No.3ベストアンサー
- 回答日時:
失礼しました。
スタックポインタ(退避メモリの現在の位置アドレス)
0x1000~:AX,BX,CX,DX,BP,DI,SI(レジスタ各2バイト)
0xFF2:DS,ES(セグメントレジスタ各2バイト)
0xFEE:割り込み対処用フラグ退避(2バイト)
0xFEC:0x09(0x109の下位)
0xFEA:0x01(0x109の上位)
0xFE8:ここで割り込みルーチンに移った(0x200)
0xFEE:IRETにより、(0x109)の番地2バイトを復帰、フラグ(2バイト)
を復帰し、プログラムカウンタレジスタに移し実行アドレスを
更新(0x109へ飛ぶ)
0xFF2~:元通りスタックメモリからレジスタへ復帰していく。
0x1000:元に戻る
ですね…。
No.2
- 回答日時:
No1さんの通りですね。
例えば現在の実行中アドレスが、0x100 番地
スタックポインタ0x1000(LIFO方式のメモリ構造です)とすると…、
(8086系16ビットCPUとします)
----------------------------------------------------------------
実行の流れ
----------------------------------------------------------------
0x100:PUSHA(汎用レジスタ退避)
0x101:PUSH DS
0x103:PUSH ES
0x105:PUSHF(フラグ退避)
0x106:CALL 0x200(CALL命令1バイト、飛び先番地2バイト)
0x109:POP ES
0x10B:POP DS
0x10D:POPA
0x10E:...
0x200:IRET(割り込みから戻る)
----------------------------------------------------------------
スタックの流れ
----------------------------------------------------------------
0x1000~:AX,BX,CX,DX,BP,DI,SI(レジスタ各2バイト)
0x9F2:DS,ES(セグメントレジスタ各2バイト)
0x9EE:割り込み対処用フラグ退避(2バイト)
0x9EC:0x09(0x109の下位)
0x9EA:0x01(0x109の上位)
0x9E8:ここで割り込みルーチンに移った(0x200)
0x9EE:IRETにより、(0x109)の番地2バイトを復帰、フラグ(2バイト)
を復帰し、プログラムカウンタレジスタに移し実行アドレスを
更新(0x109へ飛ぶ)
0x9EE~:元通りスタックメモリからレジスタへ復帰していく。
0x1000:元に戻る
汚くてすみません…。
No.1
- 回答日時:
「スタック(エリア)」です。
メモリーの一部を割り当てその管理はSP(スタックポインタ)が受け持ちます。機械語レベルで細かく言えば、(機械によって名前は違いますが)
レジスターの値や引数は呼び出し側プログラムがPUSH命令で退避し
プログラムカウンターの値はCALL命令がハード的に(内部的に)退避します。
RET又はRETURN命令でスタックの先頭をプログラムカウンターに入れることでもとのプログラムに戻ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CPUの問題について 2 2022/07/09 12:04
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
- その他(社会・学校・職場) セルフイメージを高める21日間自分開発プログラム という自己啓発プログラムを売り込まれ 3 2022/03/30 16:52
- その他(メンタルヘルス) 申し込んで購入する価値あるでしょうか? 6 2022/03/31 17:12
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- au(KDDI) iPhone 12 pro(au povo) から iPhone14(買い換えるならPro) に機種 7 2022/09/08 19:53
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
タイミーでバイトを雇った際の...
-
高校で隠れてバイトしたら学校...
-
バイトの制服を家で洗って返す...
-
椿屋珈琲店でバイトしようと思...
-
左目が腫れてしまいました。 も...
-
3バイトを10進数で表現した...
-
バイト始めて2日目ですが休みた...
-
これは痩せた!というバイトを...
-
最大バイト数を調べるSQL文を教...
-
Vドラッグでのバイト時の服装に...
-
低カロリーで腹もちする食べ物!
-
フィレオフィッシュバーガーに...
-
夏休み中の帰省先でのバイト、...
-
昨日の昼に縮毛矯正をかけまし...
-
私がしているバイトでは賄いは...
-
公文の採点バイトについて。 こ...
-
今のバイト先に客として行くの...
-
高学歴の男性と出会えるバイト
-
SQLServer2008での1レコードバ...
-
“ありますか?”ではなく、“あっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タイミーでバイトを雇った際の...
-
バイト始めて2日目ですが休みた...
-
レースクイーンってバイトある...
-
バイトの制服を家で洗って返す...
-
左目が腫れてしまいました。 も...
-
バイト中ってトイレ行けないん...
-
低カロリーで腹もちする食べ物!
-
今朝起きたら全身に蕁麻疹と、...
-
雇用保険に入ってる状態でバイ...
-
バイトしている方に質問です。 ...
-
塾のバイトをやめたいです、(...
-
最大バイト数を調べるSQL文を教...
-
バイトバックれはよくないですか?
-
バイトについてです。 ファミマ...
-
“ありますか?”ではなく、“あっ...
-
公文の採点バイトについて。 こ...
-
5Lサイズの制服
-
学生時代とかでバイトばっくれ...
-
3バイトを10進数で表現した...
-
本業が夜勤明けの日にバイトで...
おすすめ情報