問題タブ [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.
assembly - MASMの長いコード長のバグ?
私は現在、おしゃべりボットであるかなり大きなアセンブリプログラムに取り組んでいます。現在、700行をはるかに超えるコードにまたがっています。私のプログラムには2つのラベルがあり、プログラムはこれらのラベルを使用して、ランダムに移動する特定のデータを追跡します。
何が起こったのか説明させてください。プログラムがしなければならない仕事は大きいので、私がしがちなのは、これらのコードを細かく切り刻むことです。プログラムに必要なすべての機能に対して個別のプロジェクトを作成し、それらが機能しているときにメインプログラムに含めます。
これらの機能の1つをたった今完了し、それをプログラムに統合しました。この機能は、前に説明した2つのラベルの間にあります。
プログラムをコンパイルしようとすると、次のようなエラーが発生しました。
ChatterBot.asm <22>:未確認のシンボル:EEEndLenght(2番目のラベルの名前)
ラベルは655行目で633行離れています。関数を再度削除すると、エラーが消えます。新しい関数で同じラベルが発生しないことを確認し、名前を数回変更しました。
なぜこれが起こっているのか、どうすれば修正できるのか誰かが知っていますか?
概要:
編集:今私はそれをこのように見ています、私はすでに何が間違っているのかを見つけたと思います、メインを終了します-それは間違っています。時間を無駄にしてすみません、めちゃくちゃになったのは確かに:endmainでした。
windows - masm32とmasmの違いは?
ウィンドウのアセンブリを学習しようとしていますが、2 つのアセンブラがあることがわかります。
masm : https://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
masm32 : http://masm32.com/index.htm
これらは同等ですか?Windows のアセンブリを学習するには、どれを選択すればよいですか?
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 つだけ挙げてください。
これは私のコードです: