64 ビット NASM でコンソール アプリケーションを作成していますが、作成した DLL に実行可能ファイルの一部を移動するまでは問題ありませんでした。これはアセンブリ レベルで DLL を使用した最初の実験です。.exe のデータ セクションで文字列のアドレスを渡すことができません...渡すと関数が失敗します。しかし、dll で .data セクションを作成し、文字列を定義して、それを RCX で SetConsoleTitleA に渡すと、魅力的に動作します。
正しいアドレスを渡していないのでしょうか、それとも DLL が EXE のデータ セクションにアクセスできないのでしょうか? これに対する「エレガントな」ソリューションは何でしょうか?
コードを貼り付けたい場合はお知らせください。
編集: DLL http://pastebin.com/jpdsihsC EXE http://pastebin.com/KbMTh9Xa
--inc.mac を無視します。これは forward dev 用です