問題タブ [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.
winapi - アセンブリでの RegisterClassEx
.data セクションで WNDCLASS 構造を使用せずに RegisterClassEx Windows API を手動で呼び出そうとしていますpush
。命令のみを使用してこの構造を作成する必要があります。
誰かが私を助けてくれませんか?
どうもありがとう
winapi - エラー LNK2001: 未解決の外部シンボル _MessageBox
masm32 ライブラリではなく、masm のみを使用して helloworld プログラムを作成しようとしています。コード スニペットは次のとおりです。
私はmasmを使ってこれを組み立てることができます:
ただし、リンクできません:
リンク中にライブラリを含めていますが、未解決のシンボルがまだ表示されている理由がわかりませんか?
アップデート:
更新 2: 最終的な作業コード!
assembly - MASM32を試してみると、コンピューターが壊れますか?
私のコンピューターで少し遊んでも大丈夫ですか?実験的なコードを書いているときにひどい間違いを犯すという予感があります。私の恐れは根拠がありませんか?
編集
迅速な対応と私の懸念の明確化に感謝します。あまり気にする必要はないと思います。危険な実験をしたい場合は、仮想マシン環境を用意します。再度、感謝します!
assembly - INVOKE MASM レジスタを自動的に保存しますか?
masm で Invoke ディレクティブを使用すると、CPU レジスタを自動的に保存できますか?
c++ - __int16とint(32)がC ++で異なるasmを生成するのはなぜですか?
私は最近masmアセンブリを学び始めました、ivは見ているだけで私のプログラムの多くを分解しています。__int16(word)を使用すると、その値が最初にeaxにコピーされ、次に変数自体にコピーされることに気付きましたが、int(dword / 32)を使用すると、変数に直接コピーされます。
__int16のサイズが16...eaxの半分のサイズであることに気付きました。これが最初にeaxに入れられ、次にaxだけがxに入れられる理由ですか?
また、どちらが最速ですか?
おすすめの良いmasmサイトはありますか?
ご入力いただきありがとうございます
assembly - 未解決の外部シンボル _WinMainCRTStartup
Masm32 で簡単な「Hello world」アプリケーションを組み立てようとしています。うまく組み立てられますが、リンクしようとすると、リンカーは次のように言います
リンク: エラー LNK2001: 未解決の外部シンボル _WinMainCRTStartup prog1.exe: 致命的なエラー LNK1120: 1 つの未解決の外部シンボル
これは、プログラムのソース コードです。
いくつかのフォーラムで、これはエンコード タイプが原因であることがわかりました。しかし、それは私の問題には関係ないようです
assembly - アセンブリ プログラムのヘルプ
画面をクリアして名前を出力し、次に改行して名前を再度出力するプログラムがあります。しかし、実行しても何も表示されません。プログラムが正常に終了しただけです。デバッグを使用してWindowsコマンドプロンプトでこれを行っています。
winapi - WriteFile 文字列のバイト長が原因でクラッシュが発生する
問題
WriteFileを機能させるために、あらゆる種類のバイト数を試してきました。問題は、ファイルに書き込んだ直後にクラッシュすることです。すべてのテキストはファイルにありますが、「プログラムがクラッシュしました。Microsoft に送信しますか??」エラーダイアログがポップアップします。
invoke WriteFile とその下のすべてをコメント アウトすると、プログラムは正常に実行され、クラッシュしません。ただし、WriteFile のコメントを外して、下のすべてのコードをコメントアウトしたままにすると、再び醜い頭が生まれます。コードは以下にあり、誰かが私が見逃したものを見ることができれば、それは大歓迎です:-)
私が試したバイト長。
23、24 (文字列の長さ + null)、25 (バイトを忘れた可能性があります) のバイト長を試しましたが、SIZEOF WriteText を使用しただけで、すべて失敗しました :-(.
コード
webbrowser-control - ブラウザー エンジンを MASM アプリに統合するにはどうすればよいですか?
RadASM IDE を使用して MASM でアプリを開発しています。このIDEにはIEコントロール(WebBrowser)が付属していますが、表示したいコンテンツがそのブラウザ(XHTML + CSS)で壊れています。また、外部のIE dllの依存関係を削除したいので、頭に浮かぶ唯一の解決策ですFirefox や Chrome などの他のブラウザのエンジンを使用しています。ネットで検索したところ、要件を満たす DevKit がいくつか見つかりましたが、それらは VS2005+ で動作するように設計されているか、C++ でコーディングされているだけです。
ブラウザー エンジン (IE ではない) を MASM アプリに統合する方法を知っている人は、非常に高く評価されます。
winapi - WIN32 関数を使用して MASM で Hello World を出力する
コンテンツ
- はじめに
- コード
- 組み立てと実行
- その他
- 質問
1. はじめに
これはそれ自体は質問ではありません (一番下に質問があります) が、StackOverflow で実験するための HelloWorld アプリです。
最初に MASM でプログラミングを試みたとき、WIN32 API 呼び出しを使用する (C ライブラリにリンクしていない) 動作する HelloWorld アプリケーションを見つけようとしましたが、(MASM 構文で) 見つけることができませんでした。ある程度の経験を積んだので、組み立てを学びたいと思っている他の人のために書いてみました。
2.コード
3. 組み立てと実行
C:\MASM32 ディレクトリに MASM32 がインストールされていると仮定します。
MASM をインストールしていない場合は、 http://masm32.com/install.htmにアクセスし て指示に従ってください。
MASM32 が別のディレクトリにインストールされている場合は、それに応じて手順を変更してください。
デスクトップ ショートカットをクリックして MASM32 エディター (QEditor) を開くか、ショートカットがない場合は C:\MASM32\ に移動し、qeditor.exe をダブルクリックします。
コード セクションのコード (背景が灰色のテキストのみ) をコピーし、MASM32 エディター (QEditor) に貼り付けて保存します。
コードを保存したら、[プロジェクト] メニューをクリックし、[コンソールのアセンブルとリンク] を選択します ([アセンブルとリンク] ではありません(「その他」を参照)) 。
[スタート] に移動して [実行] をクリックし、cmd と入力して Enter キーを押すと、灰色のテキストが表示された黒いボックスが表示されます。
エクスプローラーを使用して、手順 3 でコードを保存した場所に移動します。ソース ファイル (手順 3) と同じ名前のファイルが存在するはずですが、exe ファイルです。エクスプローラ ウィンドウからコマンド ボックスに exe ファイルをドラッグ アンド ドロップします (手順 4 のブラック ボックス)。
黒いボックスを選択して Enter キーを押すと、「Hello World!」というテキストが表示されます。表示されるはずです。
4. その他
[プロジェクト] メニューの [アセンブルして実行] だけでなく、[コンソールのアセンブルして実行] をクリックする必要があるのはなぜですか?
[Console Assemble and Run] をクリックする必要があるのは、GUI とテキスト ベース コンソール (DOS) アプリケーションの 2 種類のアプリケーションがあるためです。Hello would アプリケーションはテキスト ベースのアプリケーションであるため、組み立てる際には、GUI ではなくコンソール ベースのアプリケーションと同じ設定にする必要があります。
詳細な説明については、このリンクの備考の 3 番目の段落を参照してください。
5. 質問
さて、質問ですが、このコードの問題、エラー、または一般的な問題を見た人はいますか、何か提案がありますか