問題タブ [nasm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - NASM externステートメントを使用してprintfにアクセスすると、GCCはエラー「`printf'への未定義の参照」を出力します
私はNASMを学んでいて、このコード(ここで見つけました)をコンパイルしようとしています。このNASMコマンドを使用してアセンブルします。
ただし、printf.o
このgccリンクコマンド:
エラーで失敗します:
私は何が間違っているのですか?前もって感謝します。(編集:私はWindows 7を使用しています);
assembly - 優れた NASM/FASM チュートリアル?
NASMまたは FASM の優れたチュートリアルを知っている人はいますか? アセンブラを学ぼうとしていますが、良いリソースが見つかりません。
assembly - アセンブリ言語の mul & imul 命令を理解する上での問題
ポール・カーターによるPCアセンブリから80386を学んでいます
- オペランドがバイト サイズの場合、AL レジスタのバイトで乗算され、結果が AX の 16 ビットに格納されます。
大丈夫。
- ソースが 16 ビットの場合、AX のワードで乗算され、32 ビットの結果が DX:AX に格納されます。
Q1:なぜ DX:AX なのですか? EAX / EDXに保存できないのはなぜですか?
imul
本当に紛らわしい
表の理解に問題があります。
Q2:表の 2 番目のエントリ。繰り返しますが、なぜ DX:AX なのか。なぜ EAX や EDX ではないのでしょうか?
次のコード スニペットを検討してください。
Q3:前に言ってたけどThe notation EDX:EAX means to think of the EDX and EAX registers as one 64 bit register with the upper
32 bits in EDX and the lower bits in EAX.
、答えもedxに保存されてるんだよね?上記のコードでは、EDX を考慮していません。単に EAX を参照しているだけです。これはまだどのように機能していますか?
Q4:テーブルの残りのすべてのエントリに問題があります。2 つの n ビット数 (n = 8/16/32 ビット) の最悪の場合の乗算結果は 2n ビットです。2 つの 16/32 ビット乗算の結果を格納すると、レジスタ自体が同じサイズになるのはなぜですか?
assembly - モノASM生成
学習のために、cosmosのようなC#で単純なカーネルを書いてみたいと思います。Monoアセンブリからx86またはx86-64ASMを生成することは可能ですか?mono--full-aotが実行可能ファイルを生成するため...
ASMの生成後、NASMでコンパイルする必要があります。何か案は?
video - カーネルASM(NASMアセンブラ)でビデオモードを1920x1080(HD)以上に設定する
作業中のASMカーネルのビデオモードを1920x1080以上(または少なくともVESAの通常の制限よりも高い)のビデオモードに設定したいと思います。とにかくそれを行う方法はありますか?もしそうなら、サンプルコードを提供しますか?
NASMを使用してカーネルをコーディングしています。
nasm - アセンブリ言語の`アセンブラ`も特定ですか?どのアセンブラが最適ですか?
私はアセンブリ言語を学んでいます。PC Assembly Language
NASM(The Netwide Assembler)を使用するPaulA.Carter 'sから始めました。それから途中で切り替えIntroduction to 80×86 Assembly Language and Computer Architecture
てMASMを使った読み始めました。
NASMでは、バイトを初期化するために書いていました
db 110101b
MASMでは私が使用しています
BYTE 110101b
私は読んでいる最中です。これらはアセンブラディレクティブであるため、アセンブラごとに異なります。右?これらのアセンブラ開発者は、これらのディレクティブの標準に準拠していませんか?なぜなら、彼らはニーモニックがCPU固有であることを知っているからです。だから、アセンブリ言語で学び、コーディングするのはお尻の痛みです。
これで、それらが異なるディレクティブに従う場合、アセンブラーを変更したり、オペレーティングシステムを切り替えたりすると、さらに苦痛になります(MASM開発者がLinuxに移行すると、深刻な問題に直面します)。
私の混乱は、NASMまたはMASMに精通する必要があるかどうかです。私はWindowsのファンですが、(将来的には)Linuxでも作業する必要があるかもしれません。
すべての本には、「__________アセンブラを使用した_________アセンブリ言語」というタイトルを付ける必要があります
assembly - x86 asmのNASM構文で括弧はどういう意味ですか?
次のコードが与えられます:
の括弧は何を[L1]
表していますか?
この質問は特にNASMに関するものです。Intel構文アセンブリのもう1つの主要なフレーバーは、MASMスタイルです。このスタイルでは、レジスターが含まれていない場合、ブラケットの動作が異なります。MASM32のブラケットの混乱
を参照してください。
assembly - MASM/NASM の違い
NASM アセンブラと MASM アセンブラの構文の違いは何ですか?
assembly - NASMアセンブラデバッガ
レジスタ/メモリの現在の状態を確認できる、 NASMによってアセンブルされたコードをステップスルーするために使用できるCodeViewのようなユーティリティはありますか?
c - GCC を使用した Nasm インライン アセンブリ
私のプロジェクトでは、インライン アセンブリを使用する必要がありますが、GAS にあまり詳しくないため、Nasm である必要があります。
私の試み:
これを行う方法はありますが、GAS の代わりに Nasm を使用しますか?
コンパイル時に引数を追加する必要があると思います。