タグ

2008年10月3日のブックマーク (2件)

  • gasのディレクティブについて - suu-g's diary

    アセンブリコードをアセンブルすると機械語になる。こういう説明が世の中じゃされてるけど、でもそれは半分ウソ。アセンブリコードの中でも機械語に直接対応しないものがある。それがディレクティブと呼ばれているもので、ドットから始まる命令がこれにあたる。 疑似命令 (psuedo-ops) とも呼ばれるこのアセンブラディレクティブは、機械語への直接の対応ではなくて、アセンブラ(GNU as)に対する命令。 前回の記事で説明したのはセクションについてだけだったけれども、ディレクティブにはもっといろいろな意味がある。 以下、その具体的な例を挙げていくよ。 文字列を配置する [.ascii .asciz .string] 文字列を配置するディレクティブは三種類ある。 .ascii .asciz .stringの三つだ。 .ascii は、カンマで区切られたゼロ個以上の文字列を、\nや\t、\0などのエスケー

    gasのディレクティブについて - suu-g's diary
    syohex
    syohex 2008/10/03
  • セクションとか.textとか

    キーワード セクション, オブジェクトファイルフォーマット, .text, プログラムローダ, ELF(Executable and Linkable Format) これだけは覚えよう プログラムは複数のセクションという単位に分割されている 原因と原理 私たちが日ごろ作っているプログラムは、ノイマン型コンピュータ上で動きます。ノイマン型コンピュータというのは、プログラムをメモリに蓄えているタイプのコンピュータ(Program stored computer)を指し、プロセッサとメモリを持ったものは大体ノイマン型です。当然私たちのプログラムもメモリにロードされて動いています。 プログラムが動くとき、さまざまな用途でメモリが使用されます。その用途は、機械語をおくためや、変数として値を格納しておくため、またC言語などでは関数呼び出しを行うためのスタックとして使用するため、mallocなどで動的