目標を再考することを強くお勧めします。その理由は次のとおりです。
私は最初にBBCマイクロコンピューター(モデルB、32K)で6502アセンブリ言語を学びました。マクロアセンブラーを含む素晴らしいBASIC実装がありました。私たちは学校でそれらを持っていたので、マシンが10分間使用されていなかった場合、各画面、部屋の周り(ネットワーク化された)をレミングで歩くように直接画面バッファー操作のようなことをするあらゆる種類のいたずらなプログラムを書きました。それは私の7年目の友人の間で笑いの発作になりました。
自宅でCommodore 64を手に入れたとき、6520 CPUを持ち、6502のアセンブリ言語も実行できましたが、いくつかの興味深い追加機能がありました。アセンブラーを購入し(カートリッジに入れて)、BASICを介してプログラムを呼び出す必要がありました。ベストセラーのゲームを書くという壮大なビジョンを持って、私は最終的に、ビデオディスプレイハードウェアを中断時に登録するいくつかのデモを作成し、ファンキーなチップミュージックにアニメーションする興味深いカラーバーエフェクトを作成しました。印象的ですが、それほど有用ではありません。
その後、ARM2 CPUを搭載したAcorn Archimedes A310を入手したので、組み込みのマクロアセンブラでBBC Microと同じ素晴らしいBASIC実装を使用しました(同じ遺産)。芸術家の友人がグラフィックスを提供してくれたいくつかのゲームに加えて、いくつかの正弦波ベースの奇抜なデモをまとめることができました。これらは両方ともプログラムするのが大変で、悪いコードはマシンを壊してしまい(ハードウェアリセットレジスタを誤ってトリップするなど)、保存しないと(フロッピーに!)すべてが失われます。
大学ではC ++を紹介されたため、C / Cを使用して、Sun / Solarisやその他の大型メインフレームコンピューターのプログラミングに使用できました。これらのマシンがどのCPUアーキテクチャで実行されているのかわかりません。C++ツールがプロのアプリケーションを作成するのに必要な力を与えてくれたので、アセンブラを使用したりマシンコードを読んだりする必要はありませんでした。
Uniの後、Windowsといくつかの種類のUnixに取り組みました。CとC ++はこれらすべてのマシンで機能し、最終的にJavaも機能しました。
その後、デバッグ用の包括的なツールチェーンを備えたDirectXを備えたC ++を使用して、WindowsとDreamcastに取り組みました。
その後、スマートテレビ用のARMベースのチップセットで仕事をしました(2000年)。ARM2での私の経験はここでは関連していたかもしれませんが、仕事はCベースでした。私は、アルキメデスで行ったハードウェアでの突っ込みはすべて、簡単なビット操作操作を使用してCでも実行できることを発見しました。私の役割の一部は、コードベースをWindows、Playstation 2、Linux、その他のテレビ、モバイルチップセットに移行することでした。これらのプラットフォームはすべて、Cコンパイラー(多くの場合GCC)と、基礎となるマシンに書き込むためのAPIの両方のレベルで使用可能でした-組み込みの世界はほとんどカーネルO / Sではありません。ブートローダーとミニBIOSを書くことを除いて、特定のプラットフォームの完全なマシンコードを知る必要はありませんでした。どちらも最初に利用可能な機会にCコードにジャンプしました(トラップベクトルを設定した後、
次の仕事は、WindowsでC ++、C#、およびJavaScriptを使用することでした。マシンコードはありません。
現在の仕事は、さまざまなプラットフォームでC ++、JavaScript、Python、LUA、HTML、およびその他の言語を使用することです。これらのプラットフォームがどのマシンコードを実行するのかわからないし、知る必要もありません。コンパイラはコードを必要なものに変換します。クラッシュした場合、デバッガーまたはランタイム診断(例外、シグナルなど)でエラーをキャッチします。
楽しみのために、私は家にいる暇な時間にiOSアプリケーションを開発しています。Objective-Cと、複数のチップセットで機能するAPIを使用します。どうやらARMベースですが、開発中にマシンコードを見たことがありません。
アセンブリ言語を習得するのは魅力的な演習ですが、生産性を1桁(または2桁)向上させるためのより高度なツールと言語が現在ではあります。
JavaScript、Java、C#、C ++、ObjCのようなものに比べて、すばらしいアセンブリ言語/マシンコードプログラマが利用できる仕事の機会はごくわずかです。
これを主な目標ではなく、趣味/関心事にすることをお勧めします。