
以下のURLの最後で、eaxの「0」を戻り値として使うことができる。とは、戻り値に使わなくてもいいし、使っても良いという事でしょうか? また、なぜ、単に「0」が戻り値として戻ってくるというだけという事でしょうか?は違うのでしょうか?教えていただけると幸いです。すみません。
https://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al …
よろしくお願いします。
で、なぜ、eaxレジスタの値を使うのでしょうか?ebxなどではなぜダメなのでしょうか?教えていただけると幸いです。すみません。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
RAX を使うのは x64 CPU での一般的な「呼び出し規約」です。
すべてにおいて規約を守る必要はありませんが、
対外的に提供する部分については規約通りにすべきです。
参考)
https://ja.wikipedia.org/wiki/%E5%91%BC%E5%87%BA …
https://docs.microsoft.com/ja-jp/cpp/build/x64-c …

No.1
- 回答日時:
>とは、戻り値に使わなくてもいいし、使っても良いという事でしょうか?
どちらでも構いません。あなたが作るメインプログラム次第です。
引用URLの内容に限らず、
何から何まであなたプログラマが全部作るのは負担が多いし
まずバグが出て対策に時間も手間もかかります。
なので
「ナントカコール」という、既にある既存のライブラリ等を使うのが
そこら辺の手間を省く意味で有効です。
で
それを使う約束というか方法として
決め打ちのレジスタに値を設定してコールする。
結果は決め打ちのレジスタに格納されているのでそれを使う。
ってのが一般的です。
何かをしてもらうつもりでコールしたのだから、
結果どうなったのか、eaxレジスタにその結果が残されてるんだから
普通はそれを確認しますよね。
失敗してたら他の手を使わなけりゃ失敗したままなので。
>なぜ、eaxレジスタの値を使うのでしょうか?
>ebxなどではなぜダメなのでしょうか?
その機能をコールする時の約束がeaxを使うようになってるから、です。
呼ばれるモジュールがそう作られてるんだから、合うように使うのが普通です。
ebx を見てもいいですけど、どういう値になってるのかわからないのに
そんなことしても意味ないので、するだけ無駄ですけどね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像生成AIのプロンプトの作り...
-
vba 正規表現について教えてく...
-
pythonでのローカルファイルか...
-
if関数とは?
-
プログラム言語
-
今のプログラミング言語
-
vba クリップボードクリアにつ...
-
itエンジニアに就職希望で未経...
-
Pythonのエラーメッセージをコ...
-
P2P地震速報のEEW APIの仕様書...
-
著作権法について
-
プログラミングについて
-
自作scratch アニメの商用利用
-
Geminiフォーム 画像生成で 人...
-
数学、プログラミング、物理、...
-
Python 3.12.2 か一番最新のパ...
-
MOVEコマンドでサブフォルダー...
-
AIがプログラムする時代のプロ...
-
pythonについて(初心者です)
-
pythonでhtmlファイルの指定文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
繰り返し1行~28行までを順順に...
-
MATLABにおける行の挿入方法
-
c言語
-
C言語で余りがマイナスになる場合
-
!(否定)演算子について
-
五目並べ
-
Matlabのspdiags関数
-
StandardMLで整数リストの奇数...
-
Z80のフラグレジスタについて
-
matlab、対角行列の作り方
-
H8マイコン C言語でのプロ...
-
Pythonの公式リファレンスガイド
-
最大値を見つけるプログラム。
-
【MATLAB】配列内の数値のキャ...
-
MATLABのデータ抽出についてお...
-
OPENCVを使ったエピポーラ幾何...
-
パイソンのプログラミングにつ...
-
教えて下さい
-
特定のPCだけ動作しないVBAマク...
-
配列数式の解除
おすすめ情報