問題タブ [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 - なぜこれがセグメンテーション違反を与えられたのですか?
argv[1]
開始ルーチン(エントリポイント)からではなく、別のルーチンから(Cターミナルで)印刷したい。しかし、それはセグメンテーション違反を与えました:
誰かがそれを説明できますか?
assembly - fasm (MS-DOS) で 0xF000FFFE (コンピューターの種類) のメモリにアクセスする
問題は、BIOS メモリから「コンピューター」タイプを取得する必要があることです。私はfasmでそのようにできることを知っています(私のプログラムとすべてのセグメントは16ビットです):
しかし、それはゼロを返し、正しくありません。turbo c++ 3.1 の同等のコードのためです。
(コード生成設定で) LARGE モデルを使用している場合、自分のコンピューターの正しい「タイプ」を返します。それで、 fasm でそれを修正する方法は?(たとえば、masm には .model ディレクティブがあることは知っていますが、fasm にはそのようなものはありません)。助けてください...
dos - FASM: 文字列を表示するマクロ
次のように文字列 (int DOS) を直接出力できるマクロを FASM で作成したいと考えています。
私はそのようなコードを書きました:
問題は、_DATA@16 セグメントを空 (変数なし) のままにしておくと、すべて問題ないことです。しかし、そのセグメントで新しい変数を定義すると、生の余分なシンボルが次のように表示され始めます。
それで、私を助けてもらえますか?私の間違いはどこですか?たぶん、私が望むことを達成するために間違った方法を選択したのでしょうか? 助けてください....
assembly - 大きな数の使い方は?
で大きな数を使用する方法は?3441881739,30000000など
この場合、eax値は負の数です。それを修正する方法は?それを分割しますか?どうやって?cmp
add / sub / mul/divなどの操作も行う必要があります。
誰かがそれを行う方法を説明し、例を挙げてもらえますか?
マークfasm
とnasm
タグを付けましたが、他のアセンブリも大歓迎です。私は32ビットマシンを使用しています。
c# - C# 言語用の JIT アセンブラー
私はメモリ編集ライブラリを作成しており、C# でその場で asm コードを作成することに興味があります。私は特に FASM が好きなので、x86 asm コードをオンザフライでアセンブルできる Fasm_managed というライブラリを見つけました。x64 コードもアセンブルする必要がありますが、残念ながら、このライブラリはそれをサポートしていません。
x86/x64 asm コード (理想的には FASM 構文) の両方をコンパイルする C# 用の優れた JIT アセンブラー ライブラリを知っている人はいますか? :)
私が探しているものの良い例は、ライブラリAsmJit です(ただし、これは C/C++ 専用です)。
みんなありがとう。
windows - アセンブリカウントプログラム
私はアセンブリに不慣れで、10,000までカウントして終了するプログラムを作成しようとしています。私はfasm`を使用しています
ナンバー1ナンバー2ナンバー3などを印刷することになっていますが、代わりにナンバー2ナンバー2ナンバー2ナンバー2ナンバー2などをしばらく印刷してから、ユーザーの入力を待たずに終了します。私のコードの何が問題になっていますか?
編集:私はそれを動作させました!作業コード:
.end start
assembly - フラットアセンブラでコンパイルされたアセンブリプログラムのインポートテーブルを変更する方法
フラット アセンブラーによってコンパイルされたアセンブリ プログラムをテストしています。インポート テーブルを変更する必要があるため、実行するobjdump
と、プログラムが呼び出そうとしている外部関数を確認できます。
だから、私はから始めます:
MS dll でいくつかの関数を呼び出していますが、インポート テーブルが間違っています。
これは、2 つの dll と関数を含める方法を示す簡単な部分です。
外部関数をインポート テーブルに表示するには、アセンブリ プログラムで何を行う必要がありますか?
assembly - 定数の平方根 (masm、fasm)
こんにちは、アセンブリ ソースでいくつかの定数を宣言する必要があります。プログラムの特定の部分で、ループを制限するために、これらの定数の 1 つの (整数) 平方根が必要です。私の質問は次のとおりです。それは可能ですか?
これまでのところ、次のようなことを試しました:
もちろん、実行時に計算することもできますが、それは私にとってナンセンスです...そしてもちろん、次のような回避策を実行できます。
しかし、この方法では nMax の完全な 2 乗値しか取得できず、それは私が必要としているものではありません...
ご協力いただきありがとうございます!:)
assembly - エラー:FASMx86アセンブリの値が範囲外です
なぜ私error: value out of range.
は次のコードを取得しているのですか?
"abcdlol"
のアドレスをレジスタに入れたいのですがeax
、FASMがコピーしているこの値ではないようですeax
。
Cコードの例:int *p="lol";
これを修正する方法は?これはアセンブラの制限ですか?