アセンブリ言語を習得する必要性

1、EDITORIAL

コードがある程度に達したときに、自分の主流言語としてアセンブリ言語のプログラミングは、非現実的である、コードを維持することは困難、あるいは不可能になります。

しかし、我々はまだアセンブリ言語を習得する必要がありますが、アセンブリの目的を学ぶことは、実際のプログラミングが、プログラムとプログラミングの経験を基礎となるメカニズムの深い理解を実行しているマシンへのフルアクセスを実行するためにそれを使用することではありません。

また、人のために、それは常識を直接食べてお金を稼ぐことはできませんが、それは会話に影響を与え、あなたの判断や決断に影響を与え、あなたは新しいものと新しい知識を受け入れる範囲を決定していても、常識なしで行うことはできません。したがって、アセンブリ言語では常識と基本的なコンピュータ言語です。

あなたがC言語を学び、コンパイルを学ぶために、それをマスターした場合、あなたはより多くのプログラミングを理解するのに役立ちますC言語の新しい理解を持つことになります。誰もがC ++はかなり複雑であるが、いくつかの言う、と言い、C ++の複雑さは、C ++、Cをコンパイルされた後、いくつかの詐欺的な外観であり、それはほとんど同じものです。C言語では、ポインタはこのコンセプトのアドレスのその部分について話しましたが、アセンブリで、どこにでもアプリケーションのアドレスに関しては、アセンブリコードの簡単な数行は、アドレスを使用する必要があります。しかし、時には、私たちは何で、どのようなデータであるとの明確な区別に対処することはできません。現実はこれです、それは時々アドレスデータとすることができ、時にはもアドレスすることができます。

実際には、C / C ++、各変数名には、各関数の名前は、コンパイルのアドレスにCまたはC ++コンパイラとなります。しかし、時には、アドレスとデータを区別することはありません。

私たちは、彼らは落書きかもしれませんが、もちろん、私たちはトイレットペーパーの計算計算を行う「音声トイレットペーパー」としてCPU(これらのレジスタは、頻繁にCPUを使用している)CPU内部の各種レジスタを適切なことができませんCPUはしません。CPUとその「音声トイレットペーパー」と「ワイプ」と「書き込み」の速度はかなり速いです。

異なるCPUが異なるアセンブリ命令を持っている、唯一の共通、シンプルな構造のアセンブリ命令のCPUを理解し、その後、他のCPU時間を勉強する必要があり、それは比較的スムーズになります。

とき蓋のステップ家の経験を考えてみましょう:砂、セメント、鉄鋼、木材、アルミ... - >レンガ、タイル、セメント板... - >壁、窓... - > A家;考える再びおおよそ開発プロセスのプログラミング言語:機械語 - >アセンブリ言語 - >高レベルのプログラミング言語(構造化プログラミング言語) - >高レベルのプログラミング言語(オブジェクト指向プログラミング言語) - - >(例えばPythonでウェブフレーム--Djangoフレームとして)フレームワークまたはモジュールを直接使用することができ(例えばPythonなどは同等と科学計算MATLABライブラリと--numpy matplotlibのであってもよいです)。実際には、見て後方のプログラミング言語の開発、および逆コンパイル感が似ています。

上記の比較の後、家の開発プロセスを構築し、プログラミング言語は、多くの類似点を持っています。あなたは(私たちは、「コンピューティング環境」それを呼ぶかもしれない)一緒にプログラムの生活環境になぞらえ(一緒に、インターネットなどを介して)すべての種類のコンピューティングデバイスを入れた場合、プログラムはこの環境でビルドの家に設計された、生き物を作成し、これは正確にオブジェクト指向プログラミングの有名な格言を反映している - すべてのものがオブジェクトです。そして、コンピュータウイルスについては、それがさらにしっくり来るメタファーを感じるだろうと思います。コンピュータウイルスは、有害な「生き物」このコンピューティング環境であり、これらのプログラムは、そのようなパンダの破壊力として非常に強力な破壊力は、現実の世界とエボラにすることができ、感染率は非常に高速でもあり、「コンピューティング環境を」弱体化します匹敵します。

少し遠くにいるタッチといえば、その後、仕事に取り掛かります。
砂の高層ビルのようなアセンブリ言語、セメント、鉄鋼が...家を建てるための時間で、効率を向上させるために、我々はレンガから始める、あるいは壁が始まりました。しかし、レンガの壁とは、構成するもの最後に、十分に強いならば、我々は、その基本的なコンポーネントを理解する必要があります。プログラミング言語は、特定のCPUに基づいている必要があり、CPUの命令セットがあるでしょうです。したがって、アセンブリを学ぶことが必要です!

2、すべてがコーディングされています

2.1コーディングと人間の世界を表し

男は、男は、グラフィックスを使用してエンコードされていると言うことです象形文字、です。例えば、ピンインは、一緒にピースに1つの音節ずつあるので、音韻エンコーディング音波の問題は、私たち人間にあります。別の例では、また、グラフィカルヒト銀河をコードする、地球上の任意の位置、および別の例をコードする緯度と経度です。最も一般的な(DNAなど)、生物の遺伝物質は、また、符号化されます。遺伝物質はおそらく肥満などするかどうか、人の性別、身長、まぶたのかどうか、知性を決定します。人の人生は、実際にその遺伝物質のエンコーディング(この文は適切でないかもしれません)の実装のプロセスです。

2.2計算要素

良いシステムは、コンピューティングの要素のよりよい表現を表し、より良い、私たちの論理的思考を表現することができ、その後、我々は計算速度をスピードアップすることができ、コンピューティングの要素間の論理的な関係を表していることができます。例えば:
1. 3 + 2 =
I + II = III
差がある場合明らかに、2つの計算方法上記、任意の違いを見ることができないが、元素の量を計算する非常に大規模な発現しました。
取得した後、人間の進化は、16本の指ではなく、10本の指であれば、それは可能であるが、我々は今より一般的ではなく、小数点を16進数で(小数点以下伝え、今人気の人為的には10本の指を持っています)。したがって、小学校では、数学の先生は、16進数で乗算テーブルを(16進数の乗算テーブルがアップし、「15×15 = 225」に、また非常に良い準備で、ヘクスに225が「E1」である)暗記する学生を求めますむしろ九九より。紙の上の2つの非常に大きな数の同じ大きさのために、とき進表現より多くの紙を節約することが明らかです。

継続するには。

リリース5元の記事 ウォンの賞賛2 ビュー135

おすすめ

転載: blog.csdn.net/weixin_42766637/article/details/103948195