問題タブ [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.

0 投票する
3 に答える
2831 参照

assembly - INVOKE MASM レジスタを自動的に保存しますか?

masm で Invoke ディレクティブを使用すると、CPU レジスタを自動的に保存できますか?

0 投票する
3 に答える
337 参照

c++ - __int16とint(32)がC ++で異なるasmを生成するのはなぜですか?

私は最近masmアセンブリを学び始めました、ivは見ているだけで私のプログラムの多くを分解しています。__int16(word)を使用すると、その値が最初にeaxにコピーされ、次に変数自体にコピーされることに気付きましたが、int(dword / 32)を使用すると、変数に直接コピーされます。

__int16のサイズが16...eaxの半分のサイズであることに気付きました。これが最初にeaxに入れられ、次にaxだけがxに入れられる理由ですか?

また、どちらが最速ですか?

おすすめの良いmasmサイトはありますか?

ご入力いただきありがとうございます

0 投票する
4 に答える
12329 参照

assembly - 未解決の外部シンボル _WinMainCRTStartup

Masm32 で簡単な「Hello world」アプリケーションを組み立てようとしています。うまく組み立てられますが、リンクしようとすると、リンカーは次のように言います

リンク: エラー LNK2001: 未解決の外部シンボル _WinMainCRTStartup prog1.exe: 致命的なエラー LNK1120: 1 つの未解決の外部シンボル

これは、プログラムのソース コードです。

いくつかのフォーラムで、これはエンコード タイプが原因であることがわかりました。しかし、それは私の問題には関係ないようです

0 投票する
2 に答える
222 参照

assembly - アセンブリ プログラムのヘルプ

画面をクリアして名前を出力し、次に改行して名前を再度出力するプログラムがあります。しかし、実行しても何も表示されません。プログラムが正常に終了しただけです。デバッグを使用してWindowsコマンドプロンプトでこれを行っています。

0 投票する
1 に答える
614 参照

winapi - WriteFile 文字列のバイト長が原因でクラッシュが発生する

問題

WriteFileを機能させるために、あらゆる種類のバイト数を試してきました。問題は、ファイルに書き込んだ直後にクラッシュすることです。すべてのテキストはファイルにありますが、「プログラムがクラッシュしました。Microsoft に送信しますか??」エラーダイアログがポップアップします。

invoke WriteFile とその下のすべてをコメント アウトすると、プログラムは正常に実行され、クラッシュしません。ただし、WriteFile のコメントを外して、下のすべてのコードをコメントアウトしたままにすると、再び醜い頭が生まれます。コードは以下にあり、誰かが私が見逃したものを見ることができれば、それは大歓迎です:-)

私が試したバイト長。

23、24 (文字列の長さ + null)、25 (バイトを忘れた可能性があります) のバイト長を試しましたが、SIZEOF WriteText を使用しただけで、すべて失敗しました :-(.

コード

0 投票する
2 に答える
256 参照

webbrowser-control - ブラウザー エンジンを MASM アプリに統合するにはどうすればよいですか?

RadASM IDE を使用して MASM でアプリを開発しています。このIDEにはIEコントロール(WebBrowser)が付属していますが、表示したいコンテンツがそのブラウザ(XHTML + CSS)で壊れています。また、外部のIE dllの依存関係を削除したいので、頭に浮かぶ唯一の解決策ですFirefox や Chrome などの他のブラウザのエンジンを使用しています。ネットで検索したところ、要件を満たす DevKit がいくつか見つかりましたが、それらは VS2005+ で動作するように設計されているか、C++ でコーディングされているだけです。

ブラウザー エンジン (IE ではない) を MASM アプリに統合する方法を知っている人は、非常に高く評価されます。

0 投票する
3 に答える
28184 参照

winapi - WIN32 関数を使用して MASM で Hello World を出力する

コンテンツ

  1. はじめに
  2. コード
  3. 組み立てと実行
  4. その他
  5. 質問

1. はじめに

これはそれ自体は質問ではありません (一番下に質問があります) が、StackOverflow で実験するための HelloWorld アプリです。

最初に MASM でプログラミングを試みたとき、WIN32 API 呼び出しを使用する (C ライブラリにリンクしていない) 動作する HelloWorld アプリケーションを見つけようとしましたが、(MASM 構文で) 見つけることができませんでした。ある程度の経験を積んだので、組み立てを学びたいと思っている他の人のために書いてみました。

2.コード

3. 組み立てと実行

C:\MASM32 ディレクトリに MASM32 がインストールされていると仮定します。

  • MASM をインストールしていない場合は、 http://masm32.com/install.htmにアクセスし て指示に従ってください。

  • MASM32 が別のディレクトリにインストールされている場合は、それに応じて手順を変更してください。

    1. デスクトップ ショートカットをクリックして MASM32 エディター (QEditor) を開くか、ショートカットがない場合は C:\MASM32\ に移動し、qeditor.exe をダブルクリックします。

    2. コード セクションのコード (背景が灰色のテキストのみ) をコピーし、MASM32 エディター (QEditor) に貼り付けて保存します。

    3. コードを保存したら、[プロジェクト] メニューをクリックし、[コンソールのアセンブルとリンク] を選択します ([アセンブルとリンク] ではありません(「その他」を参照)) 。

    4. [スタート] に移動して [実行] をクリックし、cmd と入力して Enter キーを押すと、灰色のテキストが表示された黒いボックスが表示されます。

    5. エクスプローラーを使用して、手順 3 でコードを保存した場所に移動します。ソース ファイル (手順 3) と同じ名前のファイルが存在するはずですが、exe ファイルです。エクスプローラ ウィンドウからコマンド ボックスに exe ファイルをドラッグ アンド ドロップします (手順 4 のブラック ボックス)。

    6. 黒いボックスを選択して Enter キーを押すと、「Hello World!」というテキストが表示されます。表示されるはずです。

4. その他

[プロジェクト] メニューの [アセンブルして実行] だけでなく、[コンソールのアセンブルして実行] をクリックする必要があるのはなぜですか?

[Console Assemble and Run] をクリックする必要があるのは、GUI とテキスト ベース コンソール (DOS) アプリケーションの 2 種類のアプリケーションがあるためです。Hello would アプリケーションはテキスト ベースのアプリケーションであるため、組み立てる際には、GUI ではなくコンソール ベースのアプリケーションと同じ設定にする必要があります。

詳細な説明については、このリンクの備考の 3 番目の段落を参照してください。

5. 質問

さて、質問ですが、このコードの問題、エラー、または一般的な問題を見た人はいますか、何か提案がありますか

0 投票する
3 に答える
8789 参照

assembly - MASM32、表示文字列と整数

MASM32 (バージョン 10) を使用しています。文字列と整数を画面に出力する最も簡単な方法を教えてください。特定の行だけでなく、完全なソース コードを提供してください。

ありがとうございました。

編集:

何も出力せずにクラッシュします。他にもいくつか試しましたが、さまざまな問題がありましたが、唯一の一般的なことは、画面に文字列が表示されないことです:)

0 投票する
2 に答える
516 参照

assembly - 感染したコンパイラ、または誤動作?

私は非常に奇妙なことに遭遇しました。まず、これがコンピュータ ウイルスと関係があるかどうかわからないので、ここに投稿しました。もしそうなら、助けを求める場所に私を案内してもらえますか?

だから今:

私はここである種の奇妙な問題を抱えています.ウイルス対策とマルウェアバイトのフラグコード*の両方が、ウイルスとしてmasmとmasmの例でコンパイルされています。私はグーグルで調べて、この問題が以前に発生したことを発見したので、これをあまり真剣に受け止めず、最初は誤検知であると考えました.

しかし、この投稿の下部にあるコードをコンパイルして、他のいくつかのことをテストしました。そして、ollydbgを実行して(その間、comodoアンチウイルスは無視しました)、次のように見ました:

以下のコードはおそらくそのジャンプにコンパイルできなかったので、コードにステップインしていました。そしてしばらくして、奇妙なコードが ntdll.dll ライブラリの API を介して列挙され始めたことに気付きました。何が起こっていますか?これが本当にウイルスである場合、どこに助けを求めればよいでしょうか?

しかし、私はまだ確信が持てません。

テストに使用していたテストコード...

*: インクルード \masm32\include\masm32rt.inc

アップデート:

コードはディスク上ではなくメモリ内にあるため、おそらくこれを行うある種のライブラリです。

そして、呼び出し終了プロセスを削除しましたが、まだそこにあります

0 投票する
1 に答える
2839 参照

assembly - コンパイラmasm32をnotepad++に接続する方法

masm32 コンパイラはどこからダウンロードできますか? ここにアップロードしましたが、プロジェクトの実装 (実行/コンパイル) 方法がわかりません。コンパイラだけをダウンロードできます。最初のプロジェクトを実行する方法、これをインスタンス化する

code>

詳しく答えてください