問題タブ [masm32]
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.
assembly - LNK4086警告およびVS2008asmビルドでのdllエントリポイントの欠落
VS2008で次の.asmファイルをコンパイルしようとしました(この単一の.asmファイルを追加した空のWin32 dllプロジェクトの一部として):
コードは元々ここに投稿されました。
ビルドすると、警告が表示されます。
警告LNK4086:エントリポイント'_start'は、12バイトの引数を持つ__stdcallではありません。画像が実行されない可能性があります
ただし、.dllは生成されます。
そのdllを使用しようとすると、「dllでエントリポイントCPUIDIsSupportedが見つかりません」という例外が発生します。
しかし今ここにキッカーがあります:
MASM32でまったく同じasmファイルをコンパイルした場合でも、LNK4086を取得できますが、dllを適切に呼び出すことができます。
VS2008ソリューションにasmファイルを含めて、MASM32を使用する代わりに、そこからビルドしたいと思います。したがって、動作するdllを取得するために、ビルドプロセスについて何を変更する必要があるかを知りたいと思います。また、VS2008内から64ビットバージョンのdllを作成する方法についても興味があります。
assembly - MOV [EBX]、AX-レジスタへのポインタ?
MOV [1234H], AX
AXの値がメモリ内の1234の16進アドレスにコピーされることを意味します。だから、私が言っていることが間違っているなら、私を訂正してください、[]演算子はポインタとして機能しますよね?
そうは言っても、次の指示が理解できません。MOV [EBX], AX
なぜ[]を使用するのですか?EBXはプロセッサ内の汎用レジスタであり、メモリセルではないため、EBXへのポインタはありません。
PS私はmasm32でプログラミングしています。
ありがとう
assembly - MASM32 「デフォルトのコード距離」とは何ですか?
MASM32 で使用されるこの記号:
@CodeSizeデフォルトのコード距離を表す整数を返します。
「デフォルトのコード距離」の意味を理解しようとしていますか?
トニー
winapi - masm32の64ビット番号のwinapi
論理ボリュームのサイズを決定して印刷する必要があります。GetDiskFreeSpaceExは、サイズを64ビットの数値(?)として返します。私はそれで何ができますか?
assembly - アセンブリ内の複数行コメント
アセンブリ内の複数の行にコメントを付ける方法はありますか?
Masm32v9を使用しています。
ありがとう。
assembly - Intel x86 コプロセッサーのアセンブリに関する質問
Intel の x86 コプロセッサを使用して行われた計算の結果を取得する方法を理解するのに苦労しています。
次のデータ セグメントを検討してください。
および次のコード セグメント、バージョン 1 :
およびバージョン 2 :
バージョン 1は問題なく理解できました。
わからないバージョン2です。デバッガーで、バージョン 1 とまったく同じ計算が行われていることがわかりますが、保存するときは "41066666" のようになります!?
これの理由は何ですか?
8.4 を「41066666」にするために使用された「エンコーディング」は何ですか?
コンソールに出力できるように (たとえば、StdOut masm32 ライブラリ関数を使用して) 8.4 に戻す方法はありますか?
ありがとう。
assembly - MASM32 に構文を含める
ファイルを MASM32 に含める場合、それ自体のファイルを見つけることができません。masm32rt.inc をインクルードした後、アセンブラーは \masm32\include\windows.inc を見つけることができません
どうやらほとんどの MASM システム インクルード ファイルは、相対パスまたは絶対パスを指定する代わりに \ で始まります。
%PATH% でディレクトリを指定し、/I コンパイル スイッチを設定し、INCLUDE および MASM32 環境変数を設定しようとしましたが、成功しませんでした。
Windowsに理解できないパスを与えているようです。解決策は、ファイル内で大量の検索と置換を行い、ディレクティブの前に C: を追加することです。ただし、提供されたファイルを編集しないようにして、適切な方法を見つけたいと思います。
独自のファイルを見つけることができるように設定するにはどうすればよいですか?
assembly - BIOS でのグラフィックの表示
MASM32 を使用すると、実行可能ファイルに埋め込まれたバイナリ ファイルに格納されているビットマップをコンソールに表示できますか?
誰でも方法を教えてもらえますか?
補遺: ここでは本格的な GUI について話しているわけではありません。文字のビットマップを画面に表示する機能だけです。それらは、実行可能ファイルにリンクするファイルに 8x8 のバイナリ イメージとして保存されます。