問題タブ [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.
c - C コードをアセンブリに変換する
この C コードをアセンブリ言語コードに変換する必要があります
上記の C コードのように、アセンブリ言語で変数を文字列と組み合わせる方法を知る必要があるだけです。それ以外は対応できると思います。誰か教えてくれませんか。ある種の参照[]を使用する必要がありますか。
注: 私は MASM を使用しており、Kip Irvine のアセンブリ言語 x86 プロセッサの第 6 版ブックを使用しています。
回答者の回答の1つからMASMに書き込もうとしたコードを更新します。エラーが発生し続けます。前に言ったように、私は Kip Irvine のアセンブリ言語を使用しているので、ライブラリ リンクを含める必要があります INCLUDE Irvine32.inc
これはエラー>>>> programb.obj です: エラー LNK2019: 未解決の外部シンボル _scanf が関数 _main@0 で参照されています
含む Irvine32.inc
誰かがこれを正しくするのを手伝ってくれますか
アセンブリ言語のコードで申し訳ありません....読みやすいようにフォーマットする方法がわかりません....
winapi - エラー LNK2001: 未解決の外部シンボル _MessageBox
masm32 ライブラリではなく、masm のみを使用して helloworld プログラムを作成しようとしています。コード スニペットは次のとおりです。
私はmasmを使ってこれを組み立てることができます:
ただし、リンクできません:
リンク中にライブラリを含めていますが、未解決のシンボルがまだ表示されている理由がわかりませんか?
アップデート:
更新 2: 最終的な作業コード!
assembly - masm 変数定義でシンボリック名を使用するにはどうすればよいですか?
.data セクションで私は定義しました:
しかし、どうすれば MyString に等しい変数を設定できますか??
ありがとう!
assembly - パック 10 進数から ASCII アセンブリへ
パック 10 進数を ASCII 文字列に変換しようとしています。これまでの私の理解は次のとおりです。
以下:
「解凍」した後、10 進数の 34 に変換する必要があります。今、これを行う最善の方法がわかりません。この 16 進数を 2 進数に変換すると、次のようになります...
ここで、手順で一度に各 4 ビットのバイナリ値を出力する場合、数字の ASCII 文字列を出力する必要があります。正しいですか? したがって、ループを通過すると、最初の 4 ビットの 2 進数を取得し、その実際の値を出力して、3 を出力します。次に、同じことを行い、4 を出力します。
だから、ここに私の一般的な考えがあります:
8ビットの値「34h」を取り、AHとALに移動します。AH では、以下を使用してビットの後半をクリアします。
AL では、以下を使用してビットの前半をクリアします。
したがって、AH = 0110b または 3 および AL = 0100b または 4 であり、それに応じてこれらを出力します。
これは良いアプローチですか?それとも、完全に間違っているか、考えすぎているのでしょうか?
編集:元の値が 12345678h の最終的な解決策は次のとおりです。助けてくれたすべての人に感謝します!
P
assembly - INVOKE MASM レジスタを自動的に保存しますか?
masm で Invoke ディレクティブを使用すると、CPU レジスタを自動的に保存できますか?
masm - MASM611 での乗算
こんにちは、5 ビット以上の乗算に問題があります。MASM611 で作業しています。MASM611 で少なくとも 8 ビットの乗算を行うための解決策を教えてください。
c++ - __int16とint(32)がC ++で異なるasmを生成するのはなぜですか?
私は最近masmアセンブリを学び始めました、ivは見ているだけで私のプログラムの多くを分解しています。__int16(word)を使用すると、その値が最初にeaxにコピーされ、次に変数自体にコピーされることに気付きましたが、int(dword / 32)を使用すると、変数に直接コピーされます。
__int16のサイズが16...eaxの半分のサイズであることに気付きました。これが最初にeaxに入れられ、次にaxだけがxに入れられる理由ですか?
また、どちらが最速ですか?
おすすめの良いmasmサイトはありますか?
ご入力いただきありがとうございます
assembly - アセンブリの最初の演習
私はアセンブリを使用してビジュアルスタジオ2005で作業しています(私は初心者です)。そのルールで算術累進を計算するプログラムを作成したいと思います: A n = 2*A n-1 + A n-2 but. レジスタの操作方法が本当にわかりません。演習を続けるには、例を 1 つだけ挙げてください。
これは私のコードです:
windows - WindowsでのPEファイル(exe)の最小ファイルサイズはいくつですか?そして、最小限のメモリ割り当て?
WindowsでのPEファイル(exe)の最小ファイルサイズはいくつですか?そして、最小メモリ割り当て?
次のコードをアセンブルしました(VS 10に付属のMASM(ml.exe)とlink.exeを使用)。kernel32.libとExitProcessを除外 できません。除外すると、プログラムがクラッシュします。
Sleepコマンドは、プログラムが終了する前にメモリ使用量を読み取ることができるようにするためにのみ含まれています。
ここで、次のことを測定します。.exeファイルのサイズは正確に2.5 KB(user32.libとMessageBoxAを含めると、サイズは3 KB->ブロックになりますか?)、アプリケーションの実行時に136 KBのRAMを使用します(Vista 32ビット)。
このような単純なプログラムでは、それだけのメモリではありませんか?exeファイルが非常に大きく、RAM要件がexeファイルよりもはるかに大きいのはなぜですか?
最小のメモリサイズはありますか?ファイルはどうですか?サイズが0.5KBのブロックに編成されているように見えますが、この最短のプログラムでは0.5KBではないでしょうか。
これについてはどこで読むことができますか(チェックアウトするhttp://msdn.microsoft.com/en-us/magazine/cc301805.aspxを除く)?
ありがとう(ここで私の最初の質問)
windows - 組み立ての問題
WindowsコマンドプロンプトでDEBUGを使用して5桁の小数を掛けようとしていますが、非常に遠いのではないかと心配しています。私のプログラムは 10 進数値 1303 になります。4320 になるはずです。10 進数は 15、12、4、2、3 です。