gccインラインアセンブラ学習サイトのおすすめ情報

このQ&Aのポイント
  • アセンブラレベルでコードをいじる必要がある大学院生のためのgccインラインアセンブラ学習サイトを探しています。
  • プログラマの型でインラインアセンブラ(gcc)を学習する上でおすすめのサイトや本を教えてください。
  • 情報系の大学院生で、アセンブラを学習した経験があるが復習を兼ねているため、初心者向けではない情報を求めています。
回答を見る
  • ベストアンサー

gccインラインアセンブラのおすすめ学習サイト

大学院生です。 研究でアセンブラレベルでコードをいじる必要が出てきたので、 手始めにインラインアセンブラ(gcc)を勉強したいと思ったのですが、 サンプルコードを動かしてみると早速エラーが出てコンパイルが通らなかったりと、これがいいというサイトや本が見つかりません。 プログラマの型でインラインアセンブラ(gcc)を学習する上でおすすめのサイト、あるいは本などの教材の情報を持っている方がいらっしゃったらよろしくお願いします。 なお、情報系の大学院生ですが、事情により学部から院生の間に数年ブランクがあって、アセンブラを学習したのはかなり前で、復習を兼ねたいというのもあります。従って、全くの初心者ではありません。 以上、よろしくお願いします。

  • g47040
  • お礼率55% (125/226)

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

  • ベストアンサー
  • 7o8
  • ベストアンサー率55% (5/9)
回答No.2

「GCCのインラインアセンブラの書き方 for x86」で ググったらコンパイルオプションの指定が必要なようですね。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

アセンブラといってもプロセッサによるからなぁ.... 極端な話, POWER を対象にするんだったら PIC のアセンブラの本があってもしょうがない. ということで, 対象のプロセッサを示してください.

g47040
質問者

補足

すいません、言葉足らずでした。 Intel Core i7です。

関連するQ&A

  • gccのインストールとそもそもgccについて

    Fedora Core1をインストールしたのですが、gccなど Cのコンパイル環境が入っていませんでした。 今現在はgccでcのコンパイルだけしたいのですが、 何をインストールしたらよいのでしょうか? gccが使えるまでの手順など紹介されたサイトや本など ございましたら、教えていただけますか? インストールはgccの1つのみインストールするということでしょうか?1から勉強したいので、よろしくお願いいたします。 gccは静的?リンクが可能でしょうか? 実行ファイルだけで他の環境で動かしたので 効率や容量など問題にしておりません。 cはTurboCを使ったことがあるレベルです。

  • インラインアセンブラの関数について質問です。

    C言語で書かれたプログラムの中に、アセンブラで書かれた関数を使うため、インラインアセンブラで関数を作っていたのですが、私の能力の限界を感じたので、是非、ご教授願います。以下に示します。 元のアセンブラの関数write_mem82(int addr, int data) MOV EAX, [ESP+4] MOV AL, [ESP+8] MOV [EAX], AL RET です。これは、OS○作○門という本に載っていたものですが、プログラムをインラインアセンブラにすると、成功するのかふと疑問に思ったのです。よって、アセンブラの種類は、nasmを基にしたnaskです。 こういうことは、その本のサポートページか何かで質問すればよい的なことをおっしゃる方もおられると思います。残念ながら、サポートページは、ほぼ凍結状態で、何年待てば回答が返ってくるのか?という状態です。 そういう経歴で、ここの質問させていただくに至りました。 肝心の、私が書いてコンパイルエラーになるプログラムを書きます。 static __inline__ void write_mem82(int addr, int data){ __asm__ ( "MOV EAX,[ESP+4]": "MOV AL,[ESP+8]" "MOV [EAX],AL" "RET" ); } です。"MOV [EAX],AL"でエラーが出ます内容は構文が間違っているという内容のものです。なお、関数の名前は、意図的に変えてあります。オリジナルとは違います。 大した関数ではないのかもしれないのですが、わからないのでよろしくおねがいいたします。

  • MacOSのターミナル上のコマンドについて質問です

    MacOSのターミナル上でCプログラムをコンパイルさせた時のアセンブラのソースコードを表示させたいのですが gcc -s HelloWorld.c less HelloWorld.s と入力したのですが表示されないんですけどどうしたら良いでしょうか?教えて下さい。

    • ベストアンサー
    • Mac
  • gccのインラインアセンブラ

    コンパイラはgccで、コンパイルオプションでintel形式でコンパイルしています。 shl命令で左シフトしたいのですが、初期値0xfffffffなのに実行結果は0xffdf0000になってしまいます。 コード: asm(" shl %0, 4 " : "=r" (val)) #defineでマクロにしています(valは引数です)。 どうすれば結果が0xfffffff0になりますか。

  • コンパイルオプションの書籍

    お世話になります。 C言語を始めたばかりですが、コンパイル、リンクオプションを書いた 本(または、情報)はありませんか。現状、 bcc32 test.c gcc test.c ぐらいでコンパイルしてます。 算術関数を使っていてgccの場合、-lmを着けないとだめというのに かなり時間がかかりました。 borlandとgccの2つがあれば良いのですが、宜しくお願いします。

  • 大学の数学向けのサイト

    こんにちわ、大学1回の工学部(情報系)の者です。 前期が忙しく、単位がとれてない 可能性が高いので数学の復習をしたいのですが、 考え方等を学ぶにあたってオススメのサイトはありませんか? 市販の本では、問題の数・解説など不満な点が多いです。 どうかよろしくおねがいします。

  • Linuxの学習にあたって

    何時もお世話になっています。 基本的な質問となって大変もうしわけないのですが、仕事でLinuxを利用しなければいけなくなりました。 参考書として RedHatLinux7入門キット などを読んでいます。 この参考書の中で、ディレクトリの選択、ファイルの表示については学習することができました。 ただ、問題はviで作成したプログラムをコンパイルする方法などが掲載されていませんでした。 Vi入門というアスキー出版局の本も平行して読んでおりますが、記載がなく、困っております。 インストールと設定方法などがメインではなくコンパイルの方法、デバックの方法などが書かれている本を押していただければと思います。 全くの初心者なので、この質問自体が的外れでしたら、その点も指摘していただければと思います。 既にインストールされているPCを利用しているので、バージョン情報などが分からない状態です。調べ方などがありましたら、教えていただければと思います。 よろしくお願いします。

  • gcc使用時のエラー

    現在openCVで画像処理プログラミングを行おうとしております。 一通りコーディングが終わった所でgccを使用してコンパイルをかけた所、 下記のようなエラーが出ました。 (コード中でhighgui.h及びcv.hをインクルードしています。) /tmp/cch6hMvI.o: In function `cvDecRefData': test.c:(.text+0xaa6): undefined reference to `cvFree_' test.c:(.text+0xb2e): undefined reference to `cvFree_' これはライブラリへのパスが通っていないものと思い、端末から export LD_LIBRARY_PATH=/usr/local/lib/ としましたが、それでもエラーが出ます。さらに下記も試してみましたが同様です。 gcc -L/usr/local/lib -o test test.c (/usr/local/lib/以下にlibopencv_core.so.2.4等が置いてあります。) pkg-configを使用すればコンパイルは通るのですが、 何がどうなってエラーになっているのかイマイチ分からず気持ちが悪いです。 1、上記エラーは共有ライブラリへのパスが通っていないために起きているものですか? 2、そうだとすれば、-Lやexport LD_LIBRARY_PATHで解決出来ないのは何故でしょう? 上記だけで情報が不足している場合は提示致しますので、 どうぞよろしくお願い致します。

  • C言語のコンパイラ

     教えてください!私はプログラマーを目指しています。まったくの初心者で困っております。  購入した本にGCCというコンパイラをダウンロードするように指示があります。  しかし指示通り、URLにftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95/と入力してもページが開けません。またGCCのサイトにアクセスしてもどうすればいいのかわかりません。  どなたかできるだけ細かく手順などを教えてください。(似たような質問が以前ありましたがそれを読んでもわかりませんでした。すいません)

  • パクるのに最適なソースの本、サイト

    いつもお世話になっております。 会社ではVBを覚えさせられているのですが、自習の時にはC++を勉強しています。 もうすぐC++の基本的文法の本を一冊終えることができそうなので、次にプログラムを書きながら学びたいなと思っています。 とは言え文法学んだだけでは何を作ったら良いか、そもそも何が作れるか創造できないので、すでにある簡単なソフト等のコードをそのまま真似て「へー」「ほほ~」「こうゆう風に使うんだ」などと思いながら学習していきたいです。 皆さんが一冊本を終えた後真似て覚えるのに役に立った本やサイト、オープンソース(っていうんですか?)という誰でも見れるお手本コードみたいなやつが載っているサイト等ありましたら教えていただけるとうれしいです!

専門家に質問してみよう