前回、コンパイラの出力を元とするオブジェクトファイルのアセンブリリストをながめておりました。そこで現れてくるメモリアクセスを読み解くときには、セクションなる存在を無視することはできません。ただ、セクションなるもの、多面的な顔を持っていますな。全てを一度に知ろうとしても膨大すぎるかも。多分、列挙する前に速攻で忘れそうです。裏では活躍されているのでしょうが、実際、とりあえず知らんでも済むセクションの方々も多数。しかし、だいたいセクションとは何に含まれておるのかや?その在りかを知らずしてセクションの理解には至らぬであろう(本当か)。今回はその手前のオブジェクトファイルについてぐだぐだ書いてみました。 “ぐだぐだ低レベルプログラミング(11) オブジェクトファイルその1” の続きを読む
ぐだぐだ低レベルプログラミング(10) アセンブラ・リスティング
前回に引き続き、gasを用いてArmのアセンブラやっていこうと思ったのです。個別の命令をいくつか見てきたので、今回は、メモリアクセスに進もうかと。そこでちょっと魔が差しました。最初からアセンブラでサンプルを書くのではなく、gccがどんなコードを吐いているのか「参考」にさせてもらうのはいかがかと。Cであれば、大域変数、ローカル変数、単純変数、配列、構造体、いろいろあります。そういうモノどもをコンパイラはどんなコードで扱っているのか調べておこうと。でもね、その前に、大体逆アセンブルとか、メモリとか、セクションとかの調べ方押さえておかないと意味わかんなくない、ということに思い至りました。 “ぐだぐだ低レベルプログラミング(10) アセンブラ・リスティング” の続きを読む
土木でエレキ(20) 台湾橋梁崩落
昨日10月1日の台湾の橋梁の崩落事故、衝撃でした。かなりな数の方が亡くなる大事故となってしまったので日本のニュース番組でもあちこちで取り上げられていました。御覧になった方も多いのではないかと思います。なんと言っても、見通しの良い昼間、複数台のカメラが監視している目の前で崩落が起きました。実映像のインパクトは半端ないです。 “土木でエレキ(20) 台湾橋梁崩落” の続きを読む
ぐだぐだ低レベルプログラミング(9) Armらしい命令その2
前回は、Armらしい命令ということで、オペランドの取り扱いで特徴でてるじゃないかと思われるところ数点を取り上げさせていただきました。今回は、フラグですね。如何にもArmっぽいフラグの取り扱いをする命令です。 “ぐだぐだ低レベルプログラミング(9) Armらしい命令その2” の続きを読む