• 締切済み

アセンブリ言語の参考になる本

こんにちは。 初心者でもアセンブリ言語に関しての本で参考になる書籍はないでしょうか? 動機は、アセンブリが全ての言語に通じるものがあり知識を深めるとプログラムの理解を深めるのに助かると聞いたからです。 私のような初心者でも理解ができより深く学べるお薦めの書籍はないでしょうか? よろしくお願いします。

みんなの回答

回答No.28

下記は星が「4.7」です。 「プログラミング入門 CASL2―情報処理技術者テキスト」 https://www.amazon.co.jp/dp/4407305398

回答No.27

下記は「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

回答No.26

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

回答No.25

>まず、本を買う前にネットのサイトを参考に「Hello, World!」程度のプログラムを作成してみる事をオススメします。 もし、それで なんとなくでも(雰囲気程度でも)分かるような気がするなら、本を買わなくても良いかもしれません。 訂正 >個人的には実用性は感じられませんが、 個人的には全く実用性は感じられませんが、

回答No.24

>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―情報処理技術者テキスト」を すすめている訳ではありません。 このような本も有りますよ程度のことです。

回答No.23

本当に基本的な勉強で良いのなら「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

回答No.22

>そして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)
回答No.21

セグメントレジスタとそのディスクリプタについては? 例外でよくありがちな例ではそれらは無関係でいられませんしx86で悩む原因はそれらです。 教育用言語やボードが存在して、専門家がそれらをなぜ推奨しているのか理解できていませんよね。 自分がそれを理解できたからと言って誰にも当て嵌まるわけではなく、プロと差のある自分が勘違いしている可能性についても考慮できていない点と、執着にいい加減気付いて貰えませんか。 x86で使える無料のアセンブラは他にも幾つかありますし、masmは今となってはユーザーの少ないアセンブラです。 インラインアセンブラとmasmは別物です。 そしてx86が一番普及していると言えるのはパソコンとサーバー用途で、出荷台数がそれらを遥かに上回る組み込みや携帯端末用途ではマイナーです。 以前にも指摘しましたが、質問者からの質問に回答するわけでもなく何通も送られると迷惑にもなるんですよ。 まとめて書ける量なんですからまとめて書いて下さい。 そして質問は書籍の紹介であって、あなたの自己満を書くことじゃないんですよ。

回答No.20

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

回答No.19

>基本的な命令のザックリとした分類は下記のようになる。 >勿論、これより細かく分類すると複雑になってくるが、とりあえず最初は下記の分類で理解しておけば良いでしょう(ここでは「FPU、MMX、SSE」などは言及しない)。 >細かい分類は勉強していく中で少しずつでも学習していけば良いでしょう。 > >>データ転送命令 >>制御転送命令 >>算術演算命令 >>論理演算命令 >>シフト命令とローテート命令 >>x86の割り込み ある程度の規則性があるので、複雑と言っても難解と言う訳ではありません。

関連するQ&A

  • C言語のお勧め本

    ゲームなどを制作するにあたり、C言語のお勧めの 参考書籍や出版社等ありましたら教えてください。 レベルは初心者と考えてくださって結構です。 ただ、私が本格的にプログラムを組むことは、あまり考えられません(^^; プランナやデザイナーの人が読んでおいたら、 プログラマーの方々と密にお話できるものがよいですね、 そんな便利な本ってあります??? とにかく、もっと予備知識をつけておきたいのです。 ちょとしたことでもお待ちしておりまーす、

  • アセンブリ言語について。

    アセンブリ言語がアセンブラ&実行出来るサイトを知らないでしょうか?また、アセンブリ言語のプログラムが載っているサイトを知らないでしょうか?教えて頂けると幸いです。

  • アセンブリ言語について

    現在電気工学科の学生です。アセンブリ言語の講義を受けているんですが、試験で単位が取れる自信がありません。。。全くわからないことだらけです。C言語に関してはほんの触りだけ勉強したことがありますが、アセンブラ言語については全くの素人です。演習問題があるんですが、色々本等で探しても見つかりませんでした・・・私の努力不足かもしれませんが、問題の解答と解説を教えて欲しいです。 問題は→メモリアドレス3000H~30FFHの内容(データ)を2000Hから始まるメモリアドレスにコピー(格納)するプログラムをアセンブリ言語で書いてください!それとこの問題には参考のためにアセンブリ言語の命令の例があるんですが LD A、(BC) LD A、(DE) LD A、(HL) って書いてあるんですが、このBCやDE,HLはどんな意味があるんでしょうか?初歩的なことばかりで申し訳ありませんが、ご教授よろしくお願いします。

  • アセンブリ言語を学ぶことは意味がありますでしょうか。

    アセンブリ言語を学ぶことは意味がありますでしょうか。 プログラミングの上達や理解を深めるためにアセンブリ言語を学ぶ意味はありますでしょうか。 C++を学ぶとプログラミングの上達や理解は確かに深まりましたが、アセンブリ言語はどうでしょうか。 アセンブリ言語でポインタの意味が分かったと言う人もいますし・・・。 また、アセンブリ言語で役立つことがあれば何でも教えてください。

  • 素数を求めるプログラム(アセンブリ言語)

    アセンブリ言語で素数を求めるプログラムを作っているのですが、どうしても内容が理解できなくて困っています。 難しいのは、多分理解できないので、できるだけ簡単なプログラムソースを書いて頂けないでしょうか? または、それがあるページを教えてください。

  • アセンブリ言語とC言語

    アセンブリ言語とC言語について調べているのですが、この二つ言語のプログラムについて実質的に同じと言えることはなんでしょうか? また異なっていることはなんでしょうか?(たとえばアセンブリは低級言語であり、C言語は高級言語であるなどなんでもいいです。) 是非解答お願いします。

  • アセンブリ言語について。

    熱血!アセンブラ入門という書籍を借りてきたのですが、どこから、アセンブリ言語が組めるものをダウンロードすれば良いのでしょうか? また、また、そのダウンロードしたものは、独習アセンブラという書籍でも使えるのでしょうか?教えていただけると助かります。すみません。以下のURLです。 http://kozos.jp/books/asm/menu.html

  • アセンブリー言語

    すでに、同様の質問があるかもしれませんが、教えていただけますか? アセンブリー言語に関する初歩のとても参考になるウエッブサイトがあったら、教えてください。 よろしくお願いします。

  • [C言語→アセンブリ言語]はどうするのですか?

    C言語でプログラムを作って、それをアセンブリ言語に変換したいのですが、どうしたらよいでしょうか?

  • アセンブリ言語についてと言語の違いについて。

    高水準と低水準言語の違いは、まず、マシン語の2進数の羅列では分からないからアセンブリ言語が生まれ、 アセンブリ言語よりさらに人間が理解できる言語が、C言語やBASICなどでしょうか?教えていただけないでしょうか?合っていますでしょうか?

専門家に質問してみよう