var: .word 0xe1a3
movw var, %ax
のアセンブラをリトルインディン系のシステムで動かした場合、
メモリのアドレスの下位に0xa3が入り、上位に0xe1が入り、
アドレスの下位(0xa3)がレジスタの下位レジスタ(%al)に入り、
アドレスの上位(0xe1)がレジスタの上位レジスタ(%ah)に入る。
ビッグインディアン系のシステムで動かした場合、
メモリのアドレスの下位に0xe1が入り、上位に0xa3が入り、
アドレスの下位(0xe1)がレジスタの上位レジスタ(%ah)に入り、
アドレスの上位(0xa3)がレジスタの下位レジスタ(%al)に入る。
という理解で正しいですか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ビッグエンディアンとリトルエンディンは「メモリ上」に整数値を
どのように配置するかを表わす言葉で、CPU内部のレジスタは
関係ありません。
低いアドレスの端に LSB, 高いアドレスの端に MSB が入るように
するのがリトルエンディアン、逆がビッグエンディアンです。
質問のケース(16bit整数)の場合、
データのメモリ上の先頭アドレスを A とすると
リトルエンディアン
A + 0番地 0xa3
A + 1番地 0xe1
ビッグエンディアン
A + 0番地 0xe1
A + 1番地 0xa3
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング アドレス空間(メモリマップ)について教えてください。 マイコンには必ずメモリマップが記載されています 3 2022/06/17 09:42
- その他(コンピューター・テクノロジー) PIC16F1シリーズマイコンのNCO機能について 1 2023/04/18 08:41
- Oracle ビットで表せる数値について 3 2022/09/12 16:37
- Excel(エクセル) RANK.EQとCOUNTIFSの組み合わせで同ポイントの場合、違う条件を加えて順位を付けたい。 1 2022/08/30 19:49
- システム CPUの問題について 2 2022/07/09 12:04
- 国産車 スズキ キャリーのブロアーファンが止まるのはなぜ? 4 2022/07/17 17:45
- 国産車 【自動車のエアコンはレジスタを介して回路が成立する】の、レジスタって何ですか? 2 2023/01/22 21:03
- デスクトップパソコン 古ーいパソコン/Atheros AR2181 PCIe Gigabit LAN コントローラー 7 2022/09/07 12:58
- アプリ ipアドレスのことがよくわからないんですけど何もアプリに入力してなくてもそのアプリの運営にIPアドレ 2 2023/06/25 00:24
- 携帯型ゲーム機 音楽ゲームが下手すぎて死にたいくらいには辛いです。才能ないのでしょうか?友人に上位プレイヤーがいてそ 3 2023/08/09 09:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLCとPCの通信
-
SH7144でパルス幅を測定したい。
-
組み込みマイコンでのソフトウ...
-
レジスタマップって何ですか?
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
バックグラウンドのプロセスの...
-
VBSの処理中一旦処理を止めて再...
-
C言語で、メモリを解放しないで...
-
TCP/IP通信時のサーバーからの受信
-
Visual C++からpingを実行して...
-
VBAの配列サイズとメモリに関して
-
explorer.exeが異様にメモリを食う
-
vba listviewにおけるtextのAli...
-
メッセージボックスのボタン名変更
-
winsockでソケット通信の開発を...
-
win10で、正確な待ち時間の作り方
-
マンセル⇔XYZ,RGB変換式或いは...
-
プログラミング ソースコード
-
コンソールアプリケーションの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLCとPCの通信
-
レジスタマップって何ですか?
-
シリアル通信でのデータ取りこぼし
-
マイコンからSDカード内のテキ...
-
フラッシュメモリへの書き込み
-
組み込みマイコンでのソフトウ...
-
TCNTとTIFRの意味
-
PICマイコンのCLRWDT動作について
-
SH7144でパルス幅を測定したい。
-
Octal D-type transparent latc...
-
マイクロ秒で精度が出るタイマー
-
2つのアナログ信号が一致して...
-
マイコンのCプログラミングで未...
-
PIC12F683でLEDをスイッチで点...
-
機械語のレジスタペアについて
-
ArduinoとXBeeを用いたRSSIの取...
-
PCからシリアル通信で外部ハー...
-
A/D変換について
-
アセンブラプログラム
-
ビット演算を学びたい
おすすめ情報
x86系(リトルエンディン)のCPUでは、
この例では、axには0xe1a3と入り、
string: .ascii "abcd"
movl string, %eax
ではeaxに0x64636261と入る様なのですが、
ビッグエンディアン系では、レジスタにどの様に入るのかを知りたいのです。
最終的なAX及びEAXレジスタの値をもう一度確認させてください。
ケース1の場合
リトルエンディンでは、ax=0xe1a3
ビッグエンディアンでは、ax=0xe1a3
ケース2の場合
リトルエンディンでは、eax=0x64636261
ビッグエンディアンでは、eax=0x61626364
という理解で良いですか?