- 締切済み
アセンブリ言語の参考になる本
こんにちは。 初心者でもアセンブリ言語に関しての本で参考になる書籍はないでしょうか? 動機は、アセンブリが全ての言語に通じるものがあり知識を深めるとプログラムの理解を深めるのに助かると聞いたからです。 私のような初心者でも理解ができより深く学べるお薦めの書籍はないでしょうか? よろしくお願いします。
- みんなの回答 (28)
- 専門家の回答
みんなの回答
- amanojaku1
- ベストアンサー率54% (265/488)
下記は星が「4.7」です。 「プログラミング入門 CASL2―情報処理技術者テキスト」 https://www.amazon.co.jp/dp/4407305398
- amanojaku1
- ベストアンサー率54% (265/488)
下記は「CASL II」ではなく、「CASL(無印)」が最初に解説されているので注意して下さい。 CASL https://ja.wikipedia.org/wiki/CASL 「CASL II」の仕様改訂による変更点は後半に記述されています。 仕様改訂による変更点 https://ja.wikipedia.org/wiki/CASL#%E4%BB%95%E6%A7%98%E6%94%B9%E8%A8%82%E3%81%AB%E3%82%88%E3%82%8B%E5%A4%89%E6%9B%B4%E7%82%B9
- amanojaku1
- ベストアンサー率54% (265/488)
CASL https://ja.wikipedia.org/wiki/CASL CASLII プログラミングの基礎 http://masudahp.web.fc2.com/casl2/casl2110.html CASLII プログラミングの基礎 http://masudahp.web.fc2.com/casl2/casl2100.html
- amanojaku1
- ベストアンサー率54% (265/488)
>まず、本を買う前にネットのサイトを参考に「Hello, World!」程度のプログラムを作成してみる事をオススメします。 もし、それで なんとなくでも(雰囲気程度でも)分かるような気がするなら、本を買わなくても良いかもしれません。 訂正 >個人的には実用性は感じられませんが、 個人的には全く実用性は感じられませんが、
- amanojaku1
- ベストアンサー率54% (265/488)
>CASL2 >https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-CASL2%E2%80%95%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E6%B5%85%E4%BA%95-%E5%AE%97%E6%B5%B7/dp/4407305398 ↑別に「プログラミング入門 CASL2―情報処理技術者テキスト」を すすめている訳ではありません。 このような本も有りますよ程度のことです。
- amanojaku1
- ベストアンサー率54% (265/488)
本当に基本的な勉強で良いのなら「CASLII」と言うものがあるようです。 個人的には実用性は感じられませんが、本当に純粋な基本的な勉強と言えるかもしれません。 CASLIIシミュレータ http://www.chiba-fjb.ac.jp/fjb_labo/casl/index.html CASL II 入門講座 第1章 Hello, World! https://www.officedaytime.com/dcasl2/pguide/chapter1f.html CASL入門コーナー http://www5a.biglobe.ne.jp/~teamcasl/caslkozatop.htm まず、本を買う前にネットのサイトを参考に「Hello, World!」程度のプログラムを作成してみる事をオススメします。 今日からでもインストールできますよ! CASL2 https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-CASL2%E2%80%95%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E6%B5%85%E4%BA%95-%E5%AE%97%E6%B5%B7/dp/4407305398
- amanojaku1
- ベストアンサー率54% (265/488)
>そしてx86が一番普及していると言えるのはパソコンとサーバー用途で、出荷台数がそれらを遥かに上回る組み込みや携帯端末用途ではマイナーです。 確かに携帯端末については考えておりませんでした。 PCでAndroid端末のアセンブラを「実行、デバッグ」できるモノはあるのですか? >セグメントレジスタとそのディスクリプタについては? ネルローダその2 プロテクティッドモードとGDT http://softwaretechnique.jp/OS_Development/kernel_loader2.html ↑確かに難しいですね、その点インラインアセンブラなら基本的な勉強としてならC++の変数へのアクセスだけを考えて勉強してみるのが良いでしょう。 >インラインアセンブラとmasmは別物です。 正確に言えばそうでしょうが、Intel記法は同じでしょ。 >「はじめて読む486―32ビットコンピュータをやさしく語る」はMASM(Microsoft Macro Assembler)32bit版の解説本です。 訂正です。 「はじめて読む486―32ビットコンピュータをやさしく語る」はx86アーキテクチャ32bit版の解説本です。 x86アーキテクチャにはIntel記法とAT&T記法の2種類があります。 MASM(Microsoft Macro Assembler)はIntel記法です(「はじめて読む486―32ビットコンピュータをやさしく語る」は どちらの記法か分かりません)。 下記ページは(MASMではなく)GAS(GNU Assembler)の話です、GAS(GNU Assembler)はIntel記法とAT&T記法の どちらでも記述できます。 下記はザックリとしたIntel記法とAT&T記法の違いが説明されています。 GAS_Intel記法の利用 http://capm-network.com/?tag=GAS_Intel%E8%A8%98%E6%B3%95%E3%81%AE%E5%88%A9%E7%94%A8
- unokwave
- ベストアンサー率58% (966/1654)
セグメントレジスタとそのディスクリプタについては? 例外でよくありがちな例ではそれらは無関係でいられませんしx86で悩む原因はそれらです。 教育用言語やボードが存在して、専門家がそれらをなぜ推奨しているのか理解できていませんよね。 自分がそれを理解できたからと言って誰にも当て嵌まるわけではなく、プロと差のある自分が勘違いしている可能性についても考慮できていない点と、執着にいい加減気付いて貰えませんか。 x86で使える無料のアセンブラは他にも幾つかありますし、masmは今となってはユーザーの少ないアセンブラです。 インラインアセンブラとmasmは別物です。 そしてx86が一番普及していると言えるのはパソコンとサーバー用途で、出荷台数がそれらを遥かに上回る組み込みや携帯端末用途ではマイナーです。 以前にも指摘しましたが、質問者からの質問に回答するわけでもなく何通も送られると迷惑にもなるんですよ。 まとめて書ける量なんですからまとめて書いて下さい。 そして質問は書籍の紹介であって、あなたの自己満を書くことじゃないんですよ。
- amanojaku1
- ベストアンサー率54% (265/488)
2018/01/03時点ではデフォルトではVisualStudioでプラットフォームをx64と指定した場合インラインアセンブリ(__asm)がサポートされていない為使えないそうです(下記ページ参照)。 まず(そちら様のOSが64bitの場合)、本を買う前にデフォルトのVisualStudioでプラットフォームをx86(又はi386?)に設定しインラインアセンブリをコンパイルと実行ができるかチェックが必要です。 また(そちら様のOSが64bitの場合)、本を買う前にVisualStudioを下記ページの設定にして、VisualStudioでプラットフォームをx64と指定した場合インラインアセンブリをコンパイルと実行ができるかチェックが必要です。 VisualStudioでx64アセンブリを書き、実行する方法 https://kagasu.hatenablog.com/entry/2018/01/03/200337 個人の場合、下記「Visual Studio Community」は無料で使用できます(今日からでもインストール可能ですよ!、とにかくインストールしなければ話が始まりません)。 Visual Studio Community https://visualstudio.microsoft.com/ja/vs/community/ MASM(Microsoft Macro Assembler)64bit版とMASM(Microsoft Macro Assembler)32bit版では買う本が違ってきます。 あくまで下記ページの例ですので、必ずしもオススメしている訳ではありません。 今時、16bitは使わないので「はじめて読む8086―16ビット・コンピュータをやさしく語る (アスキーブックス)」は除外して下さい。 「はじめて読む486―32ビットコンピュータをやさしく語る」はMASM(Microsoft Macro Assembler)32bit版の解説本です。 「はじめて読むMASM―ソフトウェア環境のからくりを学ぶ」も16bit版のようなので除外して下さい。 コンピュータの内部を知りたい人に薦める3つの本 https://int128.hatenablog.com/entry/20080329/1206774281
- amanojaku1
- ベストアンサー率54% (265/488)
>基本的な命令のザックリとした分類は下記のようになる。 >勿論、これより細かく分類すると複雑になってくるが、とりあえず最初は下記の分類で理解しておけば良いでしょう(ここでは「FPU、MMX、SSE」などは言及しない)。 >細かい分類は勉強していく中で少しずつでも学習していけば良いでしょう。 > >>データ転送命令 >>制御転送命令 >>算術演算命令 >>論理演算命令 >>シフト命令とローテート命令 >>x86の割り込み ある程度の規則性があるので、複雑と言っても難解と言う訳ではありません。