02/10/02 00:27 a6w5p+Z5
:続アセンブラ
最近javaとかparlとかいわゆる高級言語がたくさんありますよね。
そういうの聞いてて、ああCっていうのは低級なんだなとか思ってたんですよ。
でもアセンブラ始めてからCも高級言語なんだって気づきました。
最近気づいたこと
プロセスを立ち上げたときに、確保するメモリの領域にはいくつかの区分があります。
テキスト、データ、スタックの三つです。
テキスト領域にはプログラムコード全てがはいり、
プログラムカウンタはここにアクセスすることによってプロセスをどうさせます。
データ領域にはglobal,staticなデータがはいります。
データ領域のなかにはヒープ領域というものがあり、 mallocはここにとられます。
ここで注意するべきなのはlocalな変数などはここでは確保されません。
最後のスタック領域にはlocal変数がはいります。なんでスタックとかいうのかというと\
、
関数呼び出しがあるとこの領域に必要なレジスタを退避させて、
新しい関数は別な領域を使用するからです。
アセンブラ勉強するのはすごくCがわかりやすくなっていいなって思いました。