下記、C 言語プログラムをアセンブリ言語に変換し、そして
アセンブリ言語をアセンブルして機械語との関係を見たところ、
下記のようなアセンブル結果が得られました。
アセンブル結果についてお聞きしたいのですが、
BSS セグメント内の変数 data_one のアドレスは 0x8 バイト(0000000000000008)だが、
機械語としての表現はリトルエンディアンで逆順になって
08000000 となるということでしょうか?
BSS セグメントが存在するオブジェクトファイルは機械語で書かれているので、
0000000000000008 という表現も機械語なのだろうかと思い混乱しています
■ C 言語プログラム
#include <stdio.h>
main() {
static int data_one ;
static int data_two ;
static int data_three ;
int counter ;
data_one = 1000 ;
for (counter=0 ; counter < 5 ; counter++) {
data_two = data_one + 1 ;
data_three = data_two + 2 ;
data_one = data_one - 3 ;
}
printf("data one,two,three : %d,%d,%d \n",data_one,data_two,data_three) ;
printf("logical address of data_one : 0x%x \n", &data_one);
printf("logical address of data_two : 0x%x \n", &data_two);
printf("logical address of data_three : 0x%x \n", &data_three);
}
■アセンブル結果のリダイレクト
44 0046 A3080000 movl%eax, data_one.1931
44 00
(中略)
DEFINED SYMBOLS
sample_4_2.s:7 .bss:0000000000000008 data_one.1931
以上、お手数おかけしますがコメントいただけると嬉しいです。
よろしくお願いします
No.2ベストアンサー
- 回答日時:
> DEFINED SYMBOLS
> sample_4_2.s:7 .bss:0000000000000008 data_one.1931
.bss の先頭アドレスからのオフセットでしょう。global 変数や static 宣言された変数を割り当てた仮の位置です。
丁度 64bit 表記になってる気がしますし、シンボル定義って書いてありますから。
No.1
- 回答日時:
詳しくは知りませんが...
>BSS セグメント内の変数 data_one のアドレスは 0x...
--> (少なくとも直接な)アドレスとは思えません。余計な0が多過ぎます。
>0000000000000008 という表現も機械語なのだろうかと思い混乱しています
--> データですから有り得ないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# [至急]Project Euler:#17Number letter countsコード入力出力解説 2 2022/09/24 02:46
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- 英語 data について 6 2023/03/25 11:05
- C言語・C++・C# プログラミングの問題です。写真のプログラムの1から10を下のように入力しましたがプログラムが上手くい 3 2022/07/01 23:31
- ノンジャンルトーク 数字を英語で書いてみました。合ってるか見てください。 one two three four five 1 2022/07/24 18:22
- C言語・C++・C# 現在プログラムを作っているのですが、実行したときに写真のように結果が表示されるのですが、これを CH 2 2023/01/18 16:22
- 洋楽 曲名 2 2022/12/14 22:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
C言語の構造体にてバブルソート...
-
ビットデータのチェック方法
-
CSVデータについての質問です。
-
(C言語・配列)date[i]の分散...
-
FFTがうまくできない
-
printfの%eで指数部分の桁数を...
-
値によって組み分けを作成する...
-
【Excel VBA】10進数を2進数に...
-
matlabでのRRI検出
-
関数マクロの書き方
-
C言語 リスト構造
-
エクセルVBA:日付データの変換...
-
C言語でPBYTE型からDOUBLE型へ変換
-
H8/36064を使ったシリアル通信...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
stable diffusionのエラー
-
ポインター引数の関数でコンパ...
-
printfの%eで指数部分の桁数を...
-
パイソン、データーサイエンス...
-
エクセルVBA:日付データの変換...
-
C#でのswitch文
-
int型(2バイト)データの分割
-
CreateProcessでの環境変数の設...
-
【Excel VBA】10進数を2進数に...
-
python 気象データの取得
-
テキストファイルの結合について
-
RegQueryValueExでの2バイト文字
-
linuxのシェルでファイル名に先...
-
'dataType' 引数を Null にする...
-
C言語についてです! 同じ年の...
-
オセロゲーム 2次元配列で困...
-
PINVOKEで構造体配列をマーシャ...
-
matlabのソースコードをpython...
-
C言語の勉強しています。すみま...
-
System.Collections.ArrayList ...
おすすめ情報