問題タブ [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 から呼び出そうとしています。関数を呼び出すときにステップの原因が見つからないと思います。未解決の外部シンボルが表示されます...
nasm - アセンブリ言語の`アセンブラ`も特定ですか?どのアセンブラが最適ですか?
私はアセンブリ言語を学んでいます。PC Assembly Language
NASM(The Netwide Assembler)を使用するPaulA.Carter 'sから始めました。それから途中で切り替えIntroduction to 80×86 Assembly Language and Computer Architecture
てMASMを使った読み始めました。
NASMでは、バイトを初期化するために書いていました
db 110101b
MASMでは私が使用しています
BYTE 110101b
私は読んでいる最中です。これらはアセンブラディレクティブであるため、アセンブラごとに異なります。右?これらのアセンブラ開発者は、これらのディレクティブの標準に準拠していませんか?なぜなら、彼らはニーモニックがCPU固有であることを知っているからです。だから、アセンブリ言語で学び、コーディングするのはお尻の痛みです。
これで、それらが異なるディレクティブに従う場合、アセンブラーを変更したり、オペレーティングシステムを切り替えたりすると、さらに苦痛になります(MASM開発者がLinuxに移行すると、深刻な問題に直面します)。
私の混乱は、NASMまたはMASMに精通する必要があるかどうかです。私はWindowsのファンですが、(将来的には)Linuxでも作業する必要があるかもしれません。
すべての本には、「__________アセンブラを使用した_________アセンブリ言語」というタイトルを付ける必要があります
assembly - MASM/NASM の違い
NASM アセンブラと MASM アセンブラの構文の違いは何ですか?
assembly - masm アセンブリ未解決の外観
私のクラスは、「インテル コンピューターのアセンブリー プログラミング」の本 (第 5 版) に取り組んでおり、プログラムをアセンブルしようとしています。この本には Irvine32.inc が付属しており、IO などを簡単に行うことができます。コンパイルしようとしている .asm ファイルと同じディレクトリにそれらがあります。ml /Fe test.exe test.asm /link を実行するたびに、そのライブラリのすべての関数について、次のような「未解決の外部」というエラーが常に表示されます。
test.obj(test.asm): エラー Lsomething: '_READINT@0': 未解決の外部
友人のコンピューターで動作しているので、プログラムが動作することを知っています (私は 64 ビット Linux でこれを dosemu 経由で実行しています)。そしてもちろん私は持っています:
私のソースで。いずれにせよ、プログラムはコンパイルされますが、すぐに dosemu が強制終了され、その理由は表示されません。私が間違っている可能性があることを誰かが知っていますか?
c - アセンブリでの win32 API のヘルプ
アセンブリの構造宣言が win32 API ドキュメントの構造宣言と異なるのはなぜですか (私は c++ から来て、アセンブリ言語を試しています)
たとえば、icezelion のチュートリアル (tutorial3) からこの関数プロトタイプを取得しました。
ちょっと待って... win32 api ドキュメントのオフライン バージョンで、"WNDCLASSEX" 構造が次のように宣言されていることを知っています....
asm バージョンが win32 api ドキュメントにあるものとは反対に DWORD のみを使用するのはなぜですか?
間違ったドキュメントを使用していますか? もし私がそうなら、誰かがasmプログラマー向けのWIN32 APIドキュメントのダウンロードリンクを私に投稿できますか?
助けてください、混乱しています。
編集済み:これは私が参照していたチュートリアルへのリンクです:
loops - 私は何を間違っていますか?(単純なアセンブリ ループ)
写真を掲載させてくれません。ところで、Reddit.programming の誰かが私をここに送ってきました。ほんとありがと!
結果:
assembly - アセンブリコースを受講して、DOSで立ち往生!
私は電子工学の学位の一部としてマイクロプロセッサプログラミングのコースを受講しています。残念ながら、ラボでは、MASMを使用してDOSで作業する必要があります。
さて、DOSが邪魔になることはあまりありませんが、自宅のコンピューターにDOSがないだけなので(フロッピードライブを持っているコンピューターはありません)、プログラムの作成を練習することができません。Windowsで試しましたが、アセンブルされません(これはプロテクトモードが原因だと思います)。
私は何をすべきかについて何かアドバイスはありますか?プロテクトモードでのプログラミングを学ぶべきですか?それはコースで私を助けますか?コースは8086に焦点を当てています。
おそらく、仮想マシンが役立つでしょうか?もしそうなら、どこでDOSとMASMを入手できますか?
assembly - masm分割オーバーフロー
アセンブリで2つの数値を分割しようとしています。私はIntelコンピューターの本のためのIrvineアセンブリーで作業していて、私の人生のために除算を機能させることはできません。
これが私のコードです
WriteDecは、eaxレジスタにある数値を書き込む必要があります(除算呼び出しの後に商に設定する必要があります)。代わりに、実行するたびにVisual Studioがクラッシュします(ただし、プログラムはコンパイルされます)。
assembly - BIOS でのグラフィックの表示
MASM32 を使用すると、実行可能ファイルに埋め込まれたバイナリ ファイルに格納されているビットマップをコンソールに表示できますか?
誰でも方法を教えてもらえますか?
補遺: ここでは本格的な GUI について話しているわけではありません。文字のビットマップを画面に表示する機能だけです。それらは、実行可能ファイルにリンクするファイルに 8x8 のバイナリ イメージとして保存されます。
memory - アセンブリ - 文字列を反転しようとしていますが、最終的な文字列に余分な文字が追加されます
私はアセンブリにかなり慣れていません(正直に言うと、プログラミング全般)。スタックで遊んでみます。 このコードの目的:
- 80文字に制限された文字列を取得します
- 入力された文字列を再出力します
- スタックにプッシュされるたびに各文字を出力します
- スタックからポップされるたびに各文字を出力します
- 逆文字列を出力します。
コードは最後のステップで失敗します。
入力した文字列が「Help」の場合、「pleHe」と出力されます。最後の文字列の最後の文字は、元の文字列の 2 番目の文字です。
私がどこを台無しにしているかを教えてください!