問題タブ [masm]

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 投票する
2 に答える
1942 参照

assembly - アセンブリ言語のツールとリファレンス

私はしばらく前にアセンブリ言語プログラミングを行っていましたが、再びやりたいと思うほど愚かでした。

昔は、基本的なテキスト エディターで検証なしでコードを書き、MASM.EXE コマンド ラインで asm コードをコンパイルしていました。

アセンブリでの書き込みに現在使用されている最適なツールは何ですか?

オンラインの優れたクイック リファレンスは何ですか?

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

c - 問題の変換:__ asm__ __volatile__ in/outラッパーのGNUCからMSVCへ

Linux環境でNasmとGNUCインラインasmを扱ってきましたが、この機能はうまく機能しました...しかし、今はWindows環境に切り替えており、Masm(VS2008で)を使用したいのですが、取得できないようです。これが機能する...

私がこのようなものを書くとき...

asmが認識されなくなり、volatileが「string」というエラーをスローします。_asmvolatileを書き込もうとしましたが、「「opcode」にインラインアセンブラ構文エラーがあります。「datatype」が見つかりました」というエラーが表示されます。

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

c - インライン アセンブリ ジャンプ エラー

Masmがjmpに到達すると、なぜこれが失敗するのですか?

`

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

assembly - masmx86アセンブリのDOS割り込みがクラッシュする

win32でx86アセンブリの学習を始めたばかりで、.asmファイルのideに付属するカスタムビルドルールを使用して、VisualStudio2008でmasmを使用しました。DOS割り込みを使用してコンソールに出力しようとしましたが、代わりに「ASMTest.exeの0x00401004で未処理の例外:0xC0000005:アクセス違反の読み取り場所0xffffffff」というメッセージが表示されます。8行目。単一のASCII文字「A」(41h)を出力しようとしています。masmコードは次のとおりです。

debug.exeを使用し、「a」コマンドを使用してすべての.CODE命令を入力し、それを実行すると(「g」)、正常に動作します。

DOS割り込みを正しく使用する方法を誰かに教えてもらえますか?ありがとう!

編集:win32でプログラミングする場合、Managuは、DOS割り込みを使用する代わりに、WriteConsoleAのようなWindowsAPI呼び出しを使用する必要があるというのは正しいことです。これは役立つリソースでした。誰かがこれを行うためのコードを探している場合(私がそうであったように)、ここにあります:

(エントリポイントをメインに設定します)

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

assembly - セグメントレジスタを介してラベルにアクセスできない、アセンブリエラー

私が得ているエラーは、エラー「A2074:セグメントレジスタを介してラベルにアクセスできません」です。

soffsetを使用してbyteArrayをループしようとしています。

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

assembly - EAXに格納されたアドレスでのXOR

EAX に保存されている値をどのように XOR できますか?

問題は次の行にあります。

EAXには、XORしたい値のアドレスが含まれています。どうすればこれを達成できますか? 私はそれが次のようなものになると思いました:

しかし、それは機能しません (構文エラー)

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

assembly - JMPから絶対アドレスへ(オペコード)

アセンブラー、C++、および PE ファイルのしくみについてさらに学習する方法として、exe パッカー/プロテクターをコーディングしようとしています。現在、EP を含むセクションがキーと XOR され、復号化コードを含む新しいセクションが作成されるように動作しています。復号化後に元の EP に JMP しようとする場合を除いて、すべてうまくいきます。

基本的に私はこれを行います:

しかし、エントリ ポイントにジャンプする代わりに、ollydbg は、このコードが次のように逆アセンブルすることを示しています。

ollyで手動で変更しようとすると、新しいオペコードが次のように表示されます

0xCBCFFFFF はどこから来たのですか? C++ 側からどのように生成しますか?

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

assembly - URLDownloadToFile の進行状況バー

MASM を使用してダウンロード プログラムを作成していますが、プログレス バーを使用してダウンロードの進行状況を表示する方法がわからないため、次のように URLDownloadToFile を使用しています。

よろしくお願いします。

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

visual-studio-2005 - ml64-警告A6004:プロシージャ引数またはローカルが参照されていません

VisualStudio2005のx64microsftマクロアセンブラー用に作成された関数があります。この関数は3つの引数を受け取ります。

x64呼び出し規約では、最初の4つの引数はレジスタrcx、rdx、r8、およびr9に存在します。関数で引数を使用しているときは、パラメーターではなく、レジスター自体を参照しています。

これにより、次の警告が発生します。

警告A6004:プロシージャ引数またはローカルが参照されていません

この警告を回避または抑制するにはどうすればよいですか?レジスタを使用する代わりに、関数内のパラメータを参照する方法はありますか?