CPUやOSの構造などが知りたいので、紹介してください。
サイトで検索してみても、古すぎてどれがいいかわからないので。
アセンブリ勉強したことがある!って方、紹介してくれませんか。
したことがなくてもいいです。
サイトでもいいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
サイト例が出ていないので、
x86 / x64 系であれば、
MASM:本家、Microsoft、マクロを使ったBasicライクな実装が見つかると、楽が出来るかも。
https://www.google.co.jp/search?hl=ja&q=MASM&lr=lang_ja&gws_rd=ssl#lr=lang_ja&hl=ja&tbs=lr:lang_1ja&q=MASM
NASM:MASM 互換こっちの方が、説明サイトが多いはず。
https://www.google.co.jp/search?hl=ja&q=NASM&lr=lang_ja&gws_rd=ssl
ARM アセンブラ
https://www.google.co.jp/search?hl=ja&q=MASM&lr=lang_ja&gws_rd=ssl#lr=lang_ja&hl=ja&tbs=lr:lang_1ja&q=ARM+%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9
判り易いのは、Z80 / 8085 辺りの8ビットマイコン
エミュもありますし、自分で、エミュを実装してみるにも、元が簡単ですので、手頃です。
アセンブラの基本は、Load / Store / Compare / Jump / 各種条件Jump / Call
次に、算術演算機能、論理演算機能、間接参照機能:レジスタ相対などインデックス
浮動小数や、メディアストリーム系など、高機能系は cのライブラリ実装を読む方が
理解しやすいはず。
注意点:OS実行下では、キャッシュを意識したプログラミングは、
意図通りにいかない場合があります。
しかし、キャッシュされ得るとして、コードを書かないと上手くない場合も出ます。
⇒簡単な例:時間待ちをコード上のループで作成する。キャッシュが利く時、利かない時で
実行速度が変わってしまいます。
OS下では、システムコール:高精度タイマーや、タイマーイベント、イベント待ち
それ以外では、タイマーイベント、イベント待ち
’
マイコン系:簡単だけれど、CPUアーキテクチャを理解しているかどうかが理解の肝
PIC アセンブラ :古い設計のチップだと、とにかく初心者泣かせ
AVR アセンブラ :スッキリ、現行IDEは、VS20XXのサブセット
.Netframework IL :アセンブラと云えば云えなくもない
'
BDS-C:簡単なので、Cの実装の基礎を見るのに良いかも。
現代的処理系とは違うので、あくまで御勉強用。
投稿2016/05/01 21:28
編集2016/05/01 21:38総合スコア2028
0
ベストアンサー
サイトで検索してみても、あまり出てこないので。
Amazonにいくらでもあると思いますが、多すぎて選べないと言うことですか?
アセンブラ
OS
アセンブリ勉強したことがある!って方、
私が読んだのはこれです。
http://www.amazon.co.jp/dp/4756102131
22年前の本なので、勧めませんが。
大きな書店で、見比べることをお薦めします。
投稿2016/04/19 07:26
総合スコア84423
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/19 07:34
2016/04/19 09:48
0
OS(カーネル)は上記の本で昔勉強しました。
今となっては古い情報も多いので基礎としては十分に役立つかな。
Linuxのカーネルソース読めるならカーネルソース、読めないならカーネル本を読むと良いかと思います
投稿2016/04/19 07:17
総合スコア144
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/02 00:43
2016/05/02 03:33
2016/05/02 04:00