『64ビット アセンブラ開発環境 for Windows』 の クチコミ掲示板

 >  >  > クチコミ掲示板

『64ビット アセンブラ開発環境 for Windows』 のクチコミ掲示板

RSS


「プログラミングソフト」のクチコミ掲示板に
プログラミングソフトを新規書き込みプログラミングソフトをヘルプ付 新規書き込み



ナイスクチコミ2

返信1

お気に入りに追加

標準

64ビット アセンブラ開発環境 for Windows

2022/06/02 22:09(8ヶ月以上前)


プログラミングソフト

スレ主 CDoryAさん
クチコミ投稿数:331件

PureBasic開発環境

自分のBLOGに書いても探している人に見てもらえない問題や検索されない問題があり、こちらで情報を皆さんでシェアしたいと思います。

64ビットのアセンブラを使える環境って、とても少ない。インラインアセンブラできる開発環境は特に少ない。アセンブラ言語という環境としては、FASMやNASMやYASMというものがあり、無償配布されている。しかし、どのセキュリティソフトでも警告の繰り返しがあり、怖くて使えない。デモプログラムをダウンロードして確認しようとすると「これはXXXXの可能性があり、危険です。駆除しました」と一方的に通知されて使えない。

それで・・・、Microsoftの開発環境へアセンブラ言語の処理を用いようとすると、Windowsの引数定義を根拠に Rax Rcx Rdx R8 R9 xmm0 xmm1 xmm2 xmm3 というレジスタは自由に使えるので、こちらで function() を書いてコンパイルしてDLLを作成、DLLから処理をコールする設計にして使えるようにはできる。でも、それはWindowsで使うDLLという話になると、急にアセンブラ言語のコミュニティから危険視されて、何も相談できない状況になり、結局、何も作れない。

私はフランスの個人開発者が作っている PureBasic で FASM を使ったインラインアセンブラにより、音楽再生ソフトを自作しているけれど、WindowsXPを前提にしたWindowsAPIを使用した開発環境なので、大がかりなものを作る用途には向かない。この開発環境の問題は、支払時のカードの名義でパテント関係の問題を処理している感じだけど、1年でもいいからAppleの開発者SDKライセンスやMicrosoftの開発者ライセンスの契約をしていたほうが良いかもしれない。不安になったら、ネットワーク関係なら、SocketToolsのSDKライセンスを契約。インストール関係なら、Advanced InstallerのSDKライセンスを契約。私はそういう方法で掛かりそうなライセンスの問題は事前の金払いで解決している。

Bug head マニュアルからの引用(私がマニュアルの著作者です)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
PureBasic x64 Windows 6.00 個人開発者 79 euro (購入時に VISAカードが必要)
64ビット UNICODE ネイティブEXEを作成できる、64ビット DLLを作成できる。
永久に無償バージョンアップ、Linux MacOS も条件付きで作成できる。
インラインアセンブラ 64ビット FASM を使用できる。10GBのメモリ領域を使用可能。

使用可能レジスタ
Rax Rcx Rdx R8 R9 (状況によって Rbx R14 R15)、デバッガーは Rax のみ調査可
mm0-mm7 xmm0-xmm15 ymm0-ymm15
FPU命令をPureBasic命令で1行で記述すると、FPUですべて処理(演算精度80ビット)
MOV Rax, Rax の後に MOV Eax, Eax を実行すると、Raxはクリアされ、Eaxとなる。

PureBasic変数、すべての宣言は Integer 8 bytes に統一した方が無難。
単精度や倍精度でも変数としては Integer 8 bytes にしておき、CALL処理を手書きで書いて、!MOVSS xmm2, dword [R8] という処理にすると低ジッター処理にできる。
Global abc.i MOV R8, [v_abc] [数字] LEA R8, [v_abc] MOVQ xmm0, [R8]
Global *abc MOV R8, [p_abc] [数字] MOV R8, [p_abc] MOVQ xmm0, [R8]
Shared abc.i MOV R8, [v_abc] [数字] LEA R8, [v_abc] MOVQ xmm0, [R8]
Shared *abc MOV R8, [p_abc] [数字] MOV R8, [p_abc] MOVQ xmm0, [R8]
Protected abc.i MOV R8, [p.v_abc] [Rsp+数字] LEA R8, [p.v_abc] MOVQ xmm0, [R8]
Protected *abc MOV R8, [p.p_abc] [Rsp+数字] MOV R8, [p.p_abc] MOVQ xmm0, [R8]

MMX使用時の注意
最後に EMMS が必須。FPU命令で演算エラーが起きる。特に割り算が失敗する。

PureBasicはFASMのプリコンパイラー
pbcompiler /Commented で、FASMのプリコンパイラー結果を出力
purebasic.asm を(上書き)出力する。
purebasic.asm をスクリプトで編集した後
pbcompiler /Reasm purebasic.asm でコンパイルすると、ビルドできます。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ラズベリーPIの開発環境としても機能できるようになったけれど、こちらはCコンパイラー gccで処理するのでアセンブラ言語は使用できないと思う、確かめていないので分からない。

これを宣伝と思う人は、他の環境って、めちゃくちゃ高くて手が出せない事を知らない人。Windowsでやらなければいいけど、Linuxの場合は、色々な仕様がややこしいので、無理と思われる。これは 2002年から20年使っていて、トラブルがあったという件、あえて言うと、ユーザーが作って配布している統合開発環境や様々なライブラリです。それは使いやすいけれど、ビルドすると必ず・・・・が混じっている最悪な物。ビルドだけはPureBasicの公式エディタからやった方が安全です。無料のライブラリは信用できないから、PureBasic forum でたくさんの人が\(^O^)/素晴らしいと言っていても信用しない事。

書込番号:24775025

ナイスクチコミ!1


返信する
スレ主 CDoryAさん
クチコミ投稿数:331件

2022/06/03 08:50(8ヶ月以上前)

XMOSドライバーみたいな機能説明

アセンブラ言語だけで書くときに、何も表示されないプログラムは「トロイの木馬」と判定されるので注意。何も表示されないという仕様にしていると、ユーザー様から「大丈夫ですか?」と言われる。この時に、トレンドマイクロの日本の窓口へ問い合わせても、何が悪いのかヒントもくれない非情な対応が待っている。日本に窓口が無い所は、英語で相談すれば良いのだけど、ビジネス英語を完璧に使いこなせていないと無視される。もっと柔軟に教えてくれるセキュリティ会社を探していくと、WEBROOTが1番に親切です。

それで・・・、最低必要な機能は、XMOSドライバーのように「いつでも終了できて、いつでも内容を確認できる」、トレイアイコンから「Show/Exit」、Showするとプログラムの表示、という投稿画像のように書いておく必要がある。私の場合は、裏から数字を書き換えて改造できないように対策しろと命令されているので、このように数字でなく、変数で画面の制御を書いている。

配布に関しては、IIJがプロバイダに対して提供しているレンタルホームページサービスが1番使いやすい。転送量の制限なし、セキュリティ対策は完璧、しかも落ちた事がない。そういうのはPERLだけの対応であったりして、CGIは使えない。外国のソフトウェアの紹介サイトは、よく調べてから登録すべき。Softpediaは登録時は親切だけど、ユーザー様から通報された「10回ダウンロードすると1回はマルウェアがダウンロードされるけど、把握してる?」と言われて、自分のプロバイダーでなく、他の街、例えば大阪からアクセスしてダウンロードを試していると、その話は本当だったりする。その場合、ホームページのURLを完全に新しくしないと、Softpediaはしつこく追跡してくる。この件をお問い合わせすると、その直後に、レビュー評価は改変されて、最悪の内容へ。外国から言われた場合は、貴殿の国のクラウドで再配布していいと言っておけば、OK。

フリーソフトとして配布するとき、GPLなどのライセンス表記をしても、外国ではPDSと同格に扱われて無視される。日本で法的根拠があるライセンスは何もなく、過去に試したけれど、「このプログラムはロシアの法律に基づいて、著作権が保護されています」と書いたら、日本よりもロシアのライセンスが有効になってしまい、かなりめちゃくちゃな特許侵害を繰り返しても、おとがめなし。音楽ライブラリ BASS では Euro の条件から UK の条件に変わった瞬間に、Copyright宣言以外のライセンス記載はできなくなった。圧力あって、書くな!って感じ。そういう圧力は、「キーボードの入力を受け付けない」「Googleの検索結果が、日本語や英語以外になる」「browserのバージョンが判明して脆弱性があったりすると、browserを閉じた瞬間に iMac 再起動」「広告IDがどこかに漏れて、気持ち悪い広告ばかり」という感じであった後、それでも無視していると思われたら・・・WORST!

開発環境の無料って、LinuxやFreeBSDなら問題は起きにくいけど、Windowsの場合、Linuxで使われるMP3デコーダーのWindows版DLLを使用していると、めちゃくちゃな嫌がらせがリアルに起きる。それで・・・、BASS MP3 に移行して、シェアウェアライセンス代として10万円の支払後、それに関しては落ち着いた。結局、Windowsの開発環境で無料だよって言っている奴らの開発者ライセンス契約を調べていくと、過去にアップルやマイクロソフトの商業ソフトを作っており、それでライセンスの問題は解決しており、おとがめなし。

書込番号:24775480

ナイスクチコミ!1


クチコミ一覧を見る


クチコミ掲示板検索



検索対象カテゴリ
を対象として

新着ピックアップリスト

ピックアップリストトップ

新製品ニュース Headline

更新日:2月1日

クチコミ掲示板ランキング

(パソコン)