• ベストアンサー

アセンブラの擬似命令について

kigin と申します。 アセンブラの擬似命令に「align」というものがありますがこれは一体どういう意味なのでしょうか? また、アセンブラの擬似命令やアセンブラプログラミングに関して詳しいガイダンス的な紹介がなされているホームページ等がありましたら、教えていただきたいのですが。 よろしくお願いいたします。

  • kigin
  • お礼率64% (37/57)

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

  • ベストアンサー
  • akino4
  • ベストアンサー率18% (35/185)
回答No.1

CPUによっては2バイト分を読み書きしたりする(ワードアクセス)のときは アドレスは偶数アドレスでなければならないとかあるCPUがあってそのときに align 2としてもしそのデータがそのまま奇数アドレスにおくこと になりそうなときにちゃんとダミーデータをおいて偶数アドレスから はじめてくれるものです。 良く使うのはIntel系CPUは2バイト境界がいいとか4バイト境界が早いとかで やります

kigin
質問者

お礼

素早いご回答ありがとうございます。 まさにx86系CPU のコードを見直している際にalign にぶつかりました。これまでは、わからないコードは読み流していたのですが、これからはこちらでなるべく訊くようにします。

関連するQ&A

  • PICのアセンブラ命令コード一覧

    PIC24FまたはdsPICのアセンブラ命令コード一覧を探しているのですが、 マイクロチップのHPからも探し方が悪いのか、当方は見つけることができませんでした。 何方か、PIC24FまたはdsPICのアセンブラ命令コード一覧が記載されているHPや情報をご存知ないでしょうか? アセンブラ記述で、コーディングしたいのですが、命令コードの意味が良く分かりません。 命令コードとその意味が記載されたものがほしいのです。 宜しくお願いします。

  • 逆アセンブラでよく使われる主な命令の種類について

    逆アセンブラとかでよく使われる主な命令の種類を挙げてください。 ネットで検索すると命令の種類が沢山ありすぎて、全て覚えるのが大変で、かつ、どの命令が良く使うものなのかわからないので、よく使われる主要なもののみの命令(オペコード等)の種類を教えてください。 よろしくお願いします。

  • CASL アセンブラ命令 アプリ機能

    例えば、CASLのアセンブラ命令にDCがある。 LABER DC 100 とすると。 これは、メモリに領域を確保し100をいれる命令だが、プログラムが変更されれば、メモリアドレスは変更される。 CASLには機械語命令・マクロ命令・アセンブラ命令がある。 機械語命令は人に分かりやすいようにニーモニックが付けられているだけだが、 アセンブラ命令はプログラムが変更されればそのアドレスは移動するという、ハンドアセンブリでは、できない機能が含まれている。 アセンブリ言語は色々ありますが、アセンブラ言語は人に見やすいようにニーモニックが付けられているだけでなく、CASLのDC命令のように、ハンドアセンブリではできないアドレスの自動変更のようなアプリケーションとしての機能(OS的機能)も一般にふくまれているとかんがえてよいのでしょうか? よろしく願います。

  • アセンブラ言語がわかりません。

    初心者です。まとを得ていない質問でしたらすみません。 C言語は理解できる程度なのですが、アセンブラのコードを書く事ができません。 今アセンブラ言語を学び始めた所ですが、「jr」「jarl」「jmp」などの分岐命令の指定の方法がわかりません。 C言語でいうとどういうコードを書いた時に、このような命令を出力できますでしょうか。 本を読んでも、この上記の命令の意味は書いてあるのですが、実際出力が出来なかったもので。 またアセンブラ言語を学ぶためにいい方法などありましたらお教えく頂けないでしょうか。 よろしくお願いします。

  • x86・x64系でのアセンブラで頻出する主な命令

    以前の質問と重複しますが・・・ アセンブラ言語に関して(「x86系」「x64系」のもの)、ネットで検索すると命令の種類が沢山ありすぎて、全て覚えるのが大変で、しかも、どの命令が良く頻出するのかよくわからないので、よく頻出する基本的な命令(オペコード等)の種類を教えてください。 特に「x86系」「x64系」等でよく頻出する基本的な命令(オペコード等)の種類を教えてください。 よろしくお願いします。

  • 8086のアセンブラについて

    8086で浮動小数点のアセンブラのmasmを勉強しているのですが 参考書に書いてある mov temp,ax という命令の tempとはどこをさすのかわかりません メモリの適当な場所をさすのでしょうか おしえてください:;

  • MASMの擬似命令「ASSUME」について

    こんにちは。 アセンブラのMASM でプログラムを作っているのですが、サンプルプログラムで、 「ASSUME CS:_TEXT」という表現があるのですが、これは一体どういう意味なのでしょうか? よろしくご回答のほどお願いいたします。

  • アセンブラで「0でないならスキップ」したい

    アセンブラで「0でないならスキップ」したい PIC18Fベースの開発で、アセンブラでプログラムをしています。 いま、遅延タイマーとして作った変数DELAY(初期値:0x0f)をタイマ割込みで減算しています。 DELAYが0x00になったとき、実行したい命令がありますが、どのようにプログラムすれば簡潔に記述できるでしょうか。 命令一覧表を眺めながら考えているのですが、できそうでできず困っています。

  • 逆アセンブラの機能について

    こんにちは、度々お世話になります 逆アセンブラとは、特定の命令や関数のアドレスを出力する機能はあるのでしょうか また、そのような機能を搭載した逆アセンブラはどんなものがありますか

  • LEA命令についてわかりやすく

    アセンブラ言語の命令(オペコード)の一つに「LEA命令」というのがあるのですが この「LEA命令」というのはどんなことをするのですか? イメージが全然湧きません。 わかりやすく教えてください。できればわかりやすい「例え」で教えてくれたほうが幸いです。 よろしくお願いいたします。

専門家に質問してみよう