[解決済み] アセンブリ命令のトラップは何をするのですか?
2022-02-10 05:22:24
質問内容
" RTFM "
<ブロッククオートプログラムは、通常、ソフトウェア・トラップを発行します。 オペレーティングシステムがサービスを提供します。一般的な例外ハンドラは オペレーティングシステムは、トラップの理由を判断し、対応する。 を適切に設定します。
アセンブリ命令のtrapは、BASICのTRAPと同じような命令なのでしょうか? 答えはYESのようです。私の結論に賛成ですか、反対ですか?
割り込み禁止」のコードは、私の指示通りです。
noint:
PUSH r8
movia r8,0x003b683a # machine code for TRAP
ldw et,-4(ea) # read instr closest to return
cmpeq et,et,r8 # compare
POP r8
bne et,r0,TrapHandler # if equal, jump to traphandler
更新情報
BASICでは、例えば次のように書くことができます。
10 TRAP 20
で、20 行目をエラー処理用の行にします。
どのように解決するのですか?
BASICでTRAPが何をするのかよくわからないが
TRAP
リンク先のアセンブラマニュアルにある命令は、オペレーティングシステムが処理できるハードウェア例外を発生させます。
プログラマーがこの命令をコード内で使用する必要はほとんどありません。一般的な使用方法は、デバッガがデバッグ対象のコードの中で停止したい箇所(ブレークポイント)に挿入し、プログラムを実行/継続し、その後に
TRAP
命令に到達する。
関連
-
[解決済み】テスト %eax %eax のポイント【重複あり
-
[解決済み] 着信側セーブレジスタ、発信側セーブレジスタとは何ですか?
-
[解決済み] popまたはadd esp、4 ? その差は何ですか?
-
[解決済み] WAWハザードとは?
-
[解決済み] ARMアセンブリループ
-
[解決済み] アセンブリ言語 - sarqはコードの中で何をするのですか?
-
[解決済み] MIPS:lw(ロードワード)命令
-
[解決済み] Collatz予想の検証を行うC++のコードは、なぜ手書きのアセンブリよりも高速に動作するのでしょうか?
-
[解決済み】マルチコアアセンブラとはどのようなものですか?
-
[解決済み】GDBで現在のアセンブリ命令を表示する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】アセンブリJLEのjmp命令例
-
[解決済み] MIPs Assemblyでsllなどを使ってビットをずらすのはなぜですか?
-
[解決済み] NASMでscanfを使うには?
-
[解決済み] MIPS: スタックポインタ($sp)とスタックの関連した使用法
-
[解決済み] x86-64におけるmovqとmovabsqの違いについて
-
[解決済み] なぜSet on Less ThanはALU演算なのか?
-
[解決済み] アセンブリで文字列の長さを表示する方法
-
[解決済み] ARMv8でリテラル0ではなく、xzrレジスタを使用するのはなぜですか?
-
[解決済み] MIPS:lw(ロードワード)命令
-
[解決済み] cmp命令の理解