タグ付けされた質問 「assembly」

アセンブリ言語は、コンピューター、マイクロコントローラー、またはその他のプログラム可能なデバイス用の低レベルのプログラミング言語であり、各ステートメントは単一のマシンコード命令に対応しています。

1
レッドゾーンの目的は何ですか?
レッドゾーンは、「割り当てられていない」スタックポインターを超えるメモリ内の固定サイズの領域です。コンパイラは、単純なリーフ関数でその領域にアクセスするためのアセンブリを生成します。 しかし、私はレッドゾーンの本当の利点を見ることはできません。スタックポインタを超えてメモリにアクセスするのは非常に危険であり、データの破損を簡単に引き起こす可能性があります。なぜこれを行うのですか?2つのプロセッサ命令(push ebp、mov ebp esp)を保存しても、実際の速度は上がりません。
12 assembly  stack 

12
最初のプログラミング言語としてのアセンブリ?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 4年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 最初のプログラミング言語としてアセンブリ(ある種のバリアント)を教えることはどれほど良い考えだと思いますか?たとえばJavaやPythonを学習するよりも多くの労力がかかりますが、「少なくとも1日のプログラミング」(少なくとも多くの高レベル言語と比較して)から多少なりともマシンを十分に理解できます。どう思いますか?少なくとも余分な努力をする準備ができている人にとって、それは現実的なアイデアですか?長所と短所? 注:私は教師ではなく、ただ好奇心が強い

2
一部のNOPコードは他とは異なる方法で処理されますか?
私はこれに興味があります、私が持っているとしましょう: 00000000001 90 nop 00000000002 90 nop 00000000003 90 nop これとまったく同じように実行されますか? 00000000001 0F1F00 nop dword [ds:rax] 2番目の例は、最初の例に対してどのような効果がありますか?
12 assembly 

5
アセンブリーでのプログラミングの学習-役立つリソース[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 前のスレッドに続き、アセンブリプログラミングについて少し学ぶことに興味を持ちました。便利なアプリをプログラミングしたいのではなく、低レベルのプログラミングの感触をつかんで、何が起こっているのかをよりよく理解するためです。 誰もが初心者のために本やオンラインリソースを推薦できますか? ありがとう。
10 books  assembly 

2
Apollo-11:リンカーの代わりにインクルージョンを使用する
最近デジタル化されてリポジトリになり、元のApollo 11ガイダンスコンピューターのソースコードがGithubで表示できるようになりました。 ではMAIN.agc、レポ作者のコメント、彼らはその 巨大なモノリシックソースコードを、より小さく管理しやすいチャンク、つまり個別のソースファイルに分割します。 少し後で、著者は述べています 単純にソースファイルを個別にアセンブルしてからリンクして実行可能ファイルを形成するのではなく、何万行ものソース行がインクルードによって結合される理由を合理的に尋ねられる場合があります。答えは、元の開発チームにはリンカーがなかったということです。 リンカとは何か知っており、リンカの要点は理解していますが、「ASMに関する限り」「結合によって結合される」というフレーズは聞いたことがありません。 これは何を意味するのでしょうか?リンカはプログラミングにおいて非常に重要であることを考えると、「組み込み手段」によるリンカのこの置換が何であり、それがどのように機能するのか私は興味があります。

1
GCCがデフォルトでAT&T構文を使用するのはなぜですか?
タイトルはそれをすべて言うと思います:) GCCがAT&T / GAS構文を使用する特別な実用的な理由はありますか? 注:これは単なるデフォルトであり、切り替えることができます 注2:個人的には「インテルの構文」の方がずっと読みやすいと思うので、驚いたのはこのためです。
9 history  assembly  gcc 

2
航空機システムで使用されているアセンブリ言語
今日、私の講師は、航空機システムがアセンブリ言語でプログラミングされている理由は、記述されているプログラムのエラーが少ないためだと述べました。このステートメントは本当ですか?彼が私たちの意見について尋ねたとき、私はアセンブリがより速いプログラムを作成できると私は言ったので、それはリアルタイム指向の航空機システムプログラムにとって良い言語です。私はグーグルで検索しましたが、講師の発言を明確にする記事が見つかりません。
9 assembly 

6
組み立ての問題を練習しようとすべきですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 私はProject Euler Problem 48を見ていました。 シリーズ、1 1 + 2 2 + 3 3 + ... + 10 10 = 10405071317。 シリーズの最後の10桁、1 1 + 2 2 + 3 3 + ... + 1000 1000を見つけます。 Pythonではこれを1行で行うことができます: sum((x**x for x in xrange(1,1001)) しかし、これに相当するアセンブリは100行であり、実際の課題です。 これらのパズルのいくつかをアセンブリで実行して、低レベルのプログラミングに関する洞察を得て、コンピューターが実際にどのように機能するかを理解する必要がありますか?

3
ブートローダーなしでブートローダーを書く
正直な答えが本当に見つからないという質問があります。ステップバイステップのチュートリアルを求めているのではなく、何をするつもりでもないということから始めましょう。気になるだけです。 私はオペレーティングシステムの開発と、それらが最初からどのように構築されるかについて、一日中読んでいます。私はその理論をかなりしっかりと把握しています。しかし、答えを見つけることができないように思えるステップが1つあります。 完全なツールが満載のオペレーティングシステムが存在する前に、ブートローダーなどのブートローダーを持たないコンピューター用の単純なブートローダーをブートセクターに作成するにはどうすればよいでしょうか。最小限のコンピュータを購入した後の最初のステップは何ですか?(つまり、画面、キーボード、プロセッサ、RAM、HDD、フロッピー)

3
実践のための小さなアセンブリ言語プロジェクト[終了]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はx86アーキテクチャ用のアセンブリ言語を学んでいます。しかし、私は自分のスキルをテストできるように、練習問題を見つけることができません。私のスキルを向上させるために、いくつかの練習問題またはいくつかの小さなアセンブリ言語プロジェクトを提案できますか? 前もって感謝します
8 assembly 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.