問題タブ [fasm]
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 - FASM ブートローダー入力
FASM でゼロからブートローダーを作成し始めました。基本的な入力をしただけです。しかし、私は何かをする方法がわかりません。
これは私のコードです:
コンソールで入力を受け付けますが、Enterキーを押すと、入力内容を確認したいので、それに基づいて何かをしたいです。
また、カーソルを次の行に移動させたい。Enter キーを押すと、テキストが同じ行に上書きされます。
assembly - アセンブリでクラッシュする sprintf の呼び出し
sprintf
文字列をフォーマットし、結果をスタック変数に格納するために呼び出しようとしています。しかし、私の試みは惨めに失敗し、即座にクラッシュします。
私が間違っていることはありますか?
c++ - C ++またはアセンブリ(FASM)で生バイトを16進数に変換します
これは本当にばかげた質問のように聞こえますが、単純な 16 進エディタを作成しようとしていて、ファイルからバイトを読み取ることができません。readfile api を使用して 8kb のバッファーを読み取り、次に 8kb を 16 進数に変換しようとしましたが、逆順で 4 バイトしか返されなかったり、0 になったりすることがあります。何が間違っているのかわかりません。どうすれば、16 進表現で完全な 8kb が得られる場所に到達できますか。ファイル全体を16進数に変換するより良い方法がある場合は、お知らせください。ファイル全体を読み取り、16 進数表現で画面に表示する最速の方法を探しています。ありがとう
FASM 構文ですが、簡単に C++ にすることもできます
すべてのデータは dd ですか?
更新 このように見えるmasm構文アセンブリを見つけたので、2番目の回答を回答としてマークしましたが、それは非常に高速でしたが、先に進んでCryptBinaryToString api http://msdn.microsoft.com/en-us/libraryを使用しました/windows/デスクトップ/aa379887
ここに fasm 構文のアセンブリ コードがありますが、これも簡単に c++ になる可能性があります
assembly - アセンブリ - FASM での 2 進数から 10 進数への変換
結果を10進数で取得しようとして、アセンブリ(FASM)で合計とサブを実行しています。合計する値を int 10 進数で書き込みます。実行すると、実際には出力が得られますが、バイナリ出力です。私は自分で 10 進数に変換できますが、本当に必要なのは、出力が既に 10 進数であることです。
assembly - FASM - パラメータを外部プロシージャに渡す
メインの ASM ファイル外のプロシージャにパラメータを渡すのに問題があります。これが私のコードです。これは、別のソース ファイル (sub.asm) 内のサブプロシージャ _sub を呼び出すメイン プロシージャ _main (main.asm 内) を示しています。サブプロシージャは、メイン プロシージャで指定された文字列を出力します。
main.asm:
サブ.asm:
コードを実行すると、まったく意味のない奇妙な出力が得られます。
サブプロシージャがメインプロシージャと同じファイルにある場合にサブプロシージャが機能することを知っています(つまり、期待どおりに文字列を出力します)。 '79h' が '[bp+04h]' の代わりに dx レジスタに移動され、文字 'y' が出力されます。Oが間違っていることを誰かに教えてもらえますか?
ありがとうございました。
c++ - FASM でアセンブリと C/C++ の両方を使用して開発するにはどうすればよいですか?
それで、私はOSを開発していますが、今のところアセンブリでコードを書いているだけです。C/C++で作り続けたいと思っています。使用するコンパイラ/エディタは FASM (Windows 用) です。MinGW を使用してみましたが、fasm の .o ファイルをリンクするとエラーが発生します。Assembly と C/C++ の両方で開発を続けるにはどうすればよいですか? また、インターネットでいろいろ調べましたが、解決策が見つかりませんでした。
編集:これは私が使用しているmakeバッチファイルです:
assembly - アセンブル不正命令「.model small」
私のコード:
しかし、「Ilegal Instruction」および「Instruction = MODEL.SMALL」というエラーが表示されますフラットアセンブラ1.71.21を使用します
助けてください!組み立て初心者です