問題タブ [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 - 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. 質問
さて、質問ですが、このコードの問題、エラー、または一般的な問題を見た人はいますか、何か提案がありますか
assembly - MASM32、表示文字列と整数
MASM32 (バージョン 10) を使用しています。文字列と整数を画面に出力する最も簡単な方法を教えてください。特定の行だけでなく、完全なソース コードを提供してください。
ありがとうございました。
編集:
何も出力せずにクラッシュします。他にもいくつか試しましたが、さまざまな問題がありましたが、唯一の一般的なことは、画面に文字列が表示されないことです:)
assembly - 感染したコンパイラ、または誤動作?
私は非常に奇妙なことに遭遇しました。まず、これがコンピュータ ウイルスと関係があるかどうかわからないので、ここに投稿しました。もしそうなら、助けを求める場所に私を案内してもらえますか?
だから今:
私はここである種の奇妙な問題を抱えています.ウイルス対策とマルウェアバイトのフラグコード*の両方が、ウイルスとしてmasmとmasmの例でコンパイルされています。私はグーグルで調べて、この問題が以前に発生したことを発見したので、これをあまり真剣に受け止めず、最初は誤検知であると考えました.
しかし、この投稿の下部にあるコードをコンパイルして、他のいくつかのことをテストしました。そして、ollydbgを実行して(その間、comodoアンチウイルスは無視しました)、次のように見ました:
以下のコードはおそらくそのジャンプにコンパイルできなかったので、コードにステップインしていました。そしてしばらくして、奇妙なコードが ntdll.dll ライブラリの API を介して列挙され始めたことに気付きました。何が起こっていますか?これが本当にウイルスである場合、どこに助けを求めればよいでしょうか?
しかし、私はまだ確信が持てません。
テストに使用していたテストコード...
*: インクルード \masm32\include\masm32rt.inc
アップデート:
コードはディスク上ではなくメモリ内にあるため、おそらくこれを行うある種のライブラリです。
そして、呼び出し終了プロセスを削除しましたが、まだそこにあります
assembly - コンパイラmasm32をnotepad++に接続する方法
masm32 コンパイラはどこからダウンロードできますか? ここにアップロードしましたが、プロジェクトの実装 (実行/コンパイル) 方法がわかりません。コンパイラだけをダウンロードできます。最初のプロジェクトを実行する方法、これをインスタンス化する
code>詳しく答えてください