• ベストアンサー

デバックについて教えてください。

新入社員で右も左もわかりません。。 部長からこんな課題をいただきました。 「入出力処理引数、関数値をデバックするためにどこのレジスタを見たらわかるか?」 全然わかりません。この場合はデバックレジスタになるんでしょうか? それとも、アキュムレータになるんですか?? 一応かなり考え込んだんですがわかりませんでした。 どうか助けてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KOH_da
  • ベストアンサー率31% (161/506)
回答No.6

プログラミング言語であっても、 コンパイルすればアセンブラで記述され、 CPUにわかるような形になっています。 コンパイラは、関数の引数(渡す値)が少ない場合はレジスタ、 多い場合はスタックで渡すと決めてコンパイル (アセンブラの命令に置き換えること)していきます。 ただそれはCPUごとに違うので何ともいえません。 あなたが使っている環境、OS、言語、コンパイラ名、 それからCPUがわかればわかります。

sup1
質問者

補足

返答ありがとうございます。 OS、言語、コンパイラ、CPUなど指定されてないんです。 とりあえず今使ってるのは、ウィンドウズ2000でVC++を自宅で使ってます。 CPUはペン3です。 何か分かりましたらよろしくお願いします。

その他の回答 (5)

  • nagare
  • ベストアンサー率33% (280/831)
回答No.5

ごめんなさい 訂正 関数値は’AXレジスタ’です(但しWORD) DWORDの場合は。。。あれ忘れた

  • nagare
  • ベストアンサー率33% (280/831)
回答No.4

>どこのレジスタ 8086系アセンブラでよいのでしょうか? (CPUとか機種を確認した方がいいですよ) スタックならSS:SPなんですが、「入出力処理引数、関数値」ですのSS:BPでしょう (動的変数の場合) 静的変数ならDSまたはES わからないなら、わからないことを言った方がいいですよ その場合、何がわからないのかを言うことですね

sup1
質問者

お礼

ありがとうございます。 CPUとか指定されてないんですよ。 とりあえずいまは8086系を調べてます。 何か分かったらよろしくお願いします。

  • fu-bon
  • ベストアンサー率0% (0/1)
回答No.3

右も左もわからなければ前か後ろを見なさい! てゆーか、うちの会社もまったく同じ課題出されたYO! これって偶然? いちおーC言語なら「コールスタック」を見ればわかると思います...多分。

sup1
質問者

お礼

煽りはやめて下さい。 参考にしますけど・・・

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.2

質問の答えとは少し趣旨がずれますが、、、 新入社員なんですよね? でしたら「わかりません、教えてもらえないでしょうか?」 と部長さんに言うのがベターだと思うのですが。 事実、あなたはわからないからここで質問してますよね? 社会人として聞く勇気、知らないと言う勇気を持つことは大事です。 これが最初から出来る、出来ないは天性の差があると思います。 人間、どうしても見栄を張ってしまうものですから。 初めての経験でわからないことだらけなのですから、できない、わからないは当たり前です。 質問の文面の様子を見ると、相当調べたようですね。 最初のうちは調べてもわからないことなんかは山のようにあります。 そこで、悩んでいても、作業は進みません。そのときは分かる人に聞く。 これが最速の解決策であり、業務においては重要だと私は思います。

sup1
質問者

お礼

返答ありがとうございます。 聞きにいったんですが、見事に自分で調べなさいと言われました。

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

一般的には処理系によって異なる話だと思いますが、 関数の引数等はスタックに置かれることが多い。 ・・・ということは、スタックポインタかな?

sup1
質問者

お礼

返答ありがとうございます。 参考にして調べさせていただきます。

関連するQ&A