アカウント名:
パスワード:
ソースが欲しけりゃ、わざわざ盗むまでもなく逆アセンブルすればええだけやん
現代におけるソースコード盗用とは意味が違いすぎますわ
アセンブラ知らなさすぎ。ディスアセンブラが吐き出したものは、ラベル付けやワークエリアの解析などかなり手間暇かけないとアセンブラのソースにはならんよ。
この場合の盗用は、現代におけるソースの盗用とほぼ同じ。
> 特にワークの意味合いまで完全に調べるのは、相当に手間がかかる。
他アーキテクチャへの移植が目的なら「ワークの意味合いまで完全に調べる」必要はあんまないだろ。コードとデータの区別ができれば、8080 → 8086/8088 の移植は、キレイに書かれたプログラムならニモニックの機械的な変換でいけるよ。
ゲームのチートやちょっとしたパッチあてなら、それでいいけど、システム一通り読もうとすると、メモ書き程度では破たんだろう。というか、そんなに楽なら次から頼むわ。あの不毛とも思える作業。
CP/M程度なら挙動を模倣するコードを自分で書くのが一番楽かと。
まあこの時代、ソースの盗用,いいソフトをまねた習作,移植,あたりは渾然一体としていて厳密に分けられないことも多いけどね。
それ言葉の使い方間違ってる恥ずかしいやつ、でケリついてるし
まぁこういうのは実際にやったことがないと、どのくらい大変かはわからないですよね~。
拾うところと捨てるところの判断を効率的にできないから全体を把握とか言ってるんだろうなあ。ゲームソフトの他のプラットホームへの移植の仕事とか何度かやった経験がある自分からすればバージョン2.2でBDOSのサイズが4kBもないCP/Mについてできない理由をうだうだ語ってるこの人のことは馬鹿としか思えん。
〉ゲームソフトの他のプラットホームへの移植の仕事とか何度かやった経験がある
学生時代の話?E仕事でした?
文章ちゃんと読んでほしいんだけど「できるか、できないか、で言えば、できる」んですよ。でも、当初のコメにあるような「簡単、簡単!誰でもできる!」はどう考えても違う。
「誰でもできる」なんて言葉を現時点で発言するのは「文系大卒でも、今すぐできる」って言ってるようなもんですよ?
「ソースが欲しけりゃ、わざわざ盗むまでもなく逆アセンブルすればええだけやん」や「当時マイコンやってた人なら誰でもできるよ」という投稿を↑と解釈しているのであれば、日本語能力に障害があると言わざるを得んな。それか、藁人形論法でも構わんから論破した気分になりたいだけの阿呆だろう。
1980年の時点の話なら70年代からやってた人ですね。文系ではマイコンの存在の認識すら無理では。
「当時マイコンやってた人なら誰でもできるよ」は違う、という話をしてるのが理解できないあなたの日本語能力に問題がありすぎる。
「簡単、簡単!誰でもできる!」なんて誰も言ってないことを持ちだして否定してる馬鹿の日本語能力を疑えよ馬鹿。
なんというか、今の阿呆なあなたがたが「当時マイコンやってた」からといってまともにできたはずがないですね賢い人ほど自分のやっていることの困難さを自覚するものですで、AZUCOさんの実績はご存知?
で、AZUCOさんの実績はご存知?
なんかのエミュレータを作り掛けで途中で放置してる方、という認識で合ってますか?
# 実績(=実際の功績・成果)ではないか。
あなたは、あの程度なら自分でもできると言いたいのかな?
エミュレータをいくつか手がけた経験から言えばソフトが一つ動くようなったところでエミュレータの完成度は50%以下、二つ動くようなってようやく50%かそこら、三つ四つと動くようなっていってもその過程で非互換部分は見つかり対策を行い、途中どうしてもわからん壁みたいなものに遭遇することもしばしばで動作するソフトが増えるに従い難易度は上がっていく印象なんですけどね。「あの程度」ってどの程度のこと言ってんの?
(#3062540) 氏にとってはちょろい仕事で、(#3062696) =ある程度の知名度のあるエミュレータを手伝った私にとっては非常に大変な程度です
HBLANKの処理が不正確だったのではないかと推測はされましたが、ただ一つのゲームがいつまでたっても画面が崩れるとか
なんで調査して問題解決しないで推測でやめたんですか??
特定した。acountname
https://www.google.co.jp/search?q=acountname [google.co.jp]
次の検索結果を表示しています: account name元の検索キーワード: acountname
http://srad.jp/~acountname [srad.jp]
こんな頭悪そうなIDの奴いるんだなw 特定したとか抜かしてる奴も含めて馬鹿揃いだわw
あなたには一生かかってもできない程度には難しいことなので
「やーいバーカバーカ」みたいなコメント投稿してて楽しい?
何のプラットホームかわからんけど
作業的には大体こんな流れになると思うけどね、こんなのを「一生かかってもできない程度には難しいこと」と思える人には確かに無理かも。
(#3062696) =ある程度の知名度のあるエミュレータを手伝った私
ただ一つのゲームがいつまでたっても画面が崩れるとか
自称手伝った人だけど実際なんも役に立ってなかったってことかな?いますね、実績がないのに自己評価だけは高い人って。
「当時マイコンやってた人なら誰でもできるよ」は違う、という話をしてる
どの投稿がそれだという主張ですか? メッセージ番号を示してもらえませんか?http://srad.jp/comment/3062017 [srad.jp] の
当初のコメにあるような「簡単、簡単!誰でもできる!」はどう考えても違う。
は違いますよね?
現象を確認しつつそれを修正しないって無能の証しだよなあ…。
だからそれはあなたには一生かかってもできないのです…
言うは易し行うは難しなんですが、それをまったく自覚していない、想像もつかない阿呆には無理なんですよ
言うは易し行うは難しなんですが、
http://it.srad.jp/comment/3062938 [it.srad.jp] で挙げられてる作業の 1. ~ 5. でどこか難しい部分がありますか?あるいは別の解決方法を考えた上で修正を断念されたということでしょうか?現時点この場であなたは易しいという「言う」ことすらされてないのですが、その自覚はありますか?
他にもお前の特徴はある。数行の短い反射的な、相手を批判するためだけのレスACとそうでない時は意図的に語尾を変えてる
「口調が違うのが同一人物の証拠だ!(ドャァ」って頭大丈夫?ちょっと本気で頭の病院逝くことをお勧めするよ。
DOSは知らんけどハンドラとか自動生成している場合なんかはデータ部分にコードがあったりして自動解析結果は信用できない事がよくあります。
経験ない人にはわからんと思いますけど
実際ワークは特に考える必要無いんだけどねえ。ロジックを追っていくとワークとして使われているエリアが見られる、ってのは往々にしてあるけども、そもそも互換品を作りたいなら細かいところなんかどうでも良くて、大雑把にどう動いているか判ればいい。エミュレーター作っている訳では無いから、過度の解析は時間の無駄だったりする。
その程度のことを隠したいならサブルーチンやワークエリアの順番入れ替えるだけで対策できるでしょ。
PL/Mという指摘があるけど、アセンブラの話をすると…
もとコメントを見て最初に思ったのは、CP/Mってどんなアセンブラを使って書いてたの? という疑問でした。
もっとはっきりいうと、コメントツリーのだれもマクロに言及していないのが時代性を感じさせるというか。(ラベルとかワークエリアとか、そこかよ! みたいな。そんなのどうでもいい)アセンブリでプログラムを書くのが普通の時代はマクロを使ったものです。生産性が全然ちがいますよ。ちょっと開発すればマクロライブラリはがんがん貯まります。マクロ機能はCPPみたいな低機能なものではなくて、VHDLのgenericとかを考えてくれればいいです。
で、言いたかったのは、あれを逆アセンブルすればソース化は可能と言うなら、Cだって可能です。
とはいえ、CP/Mがどんなアセンブラを使ってたか知らないので黙っていたのでした。(PL/Mということなので、黙ってて正解だった)
「マクロアセンブラは、マクロアセンブラというツールであって、アセンブラとは違う」と思えるくらい違うよね。個人的にはIFと書けたら高機能マクロなイメージがある。
> とはいえ、CP/Mがどんなアセンブラを使ってたか知らないので
付属のASM.COMなら、マクロどころかリロケータブルなオブジェクト生成やリンケージなどできない単純なアセンブラでしたよ。出力はIntel Hexフォーマットのみで、バイナリを作るためにLOAD.COMで変換してましたな。後にMACというマクロアセンブラが派生したけど、CP/M1.4時代からあったのはASM.COM。
まあ、それは商品としてそうであったということだけで、開発したKildallさんが自前で持っていなかったとはいわない。
> マクロ機能はCPPみたいな低機能なものではなくて、VHDLのgenericとかを考えてくれればいいです。
例えばMS-DOSのMASMなどと比べるとかなり基本的なマクロ機能しかなかったです。数KB~10数KB程度(MACは手元にないですが、マイクロソフトのMACRO-80アセンブラは19KB、リンカが10KB)のバイナリや32kB~56KB程度のフリーエリアしかない開発環境に多くを求められないでしょう。
セルフで開発していると思っているバカ
公開されてるCP/MのソースがPL/Mで書かれてるからなー、初期のCP/MはMDS上でクロス開発され、それ以降の開発はCP/M上でセルフ開発された可能性はフツーに考えられると思うよ。
マクロって言ってみたいだけの人にしか見えんなあ。アセンブラのマクロなんて単なる省力化の手段であって、そんな御大層なもんではないぞ。
自己書換のコードなんてのも普通にあったし、ワークエリア使いまわしとか、
PL/M ってそんなコード吐くんだあ、勉強になるなあ。
議論の本質はCP/M(のBDOSとCCP?)が逆アセンブルとどの程度の手間でソース化できるか、それが現実的なものなのかなのに、「逆アセンブルによるプログラム解析についての一般論」か何かに曲解してあーだこーだ言ってるコイツは馬鹿。
> バイナリを逆アセ>アセンブル(コンパイル)可能なソース化が手間がかかる・・・いやあの。最悪元のコードをデータとしてまるっと埋めるだけでも「アセンブル(コンパイル)可能なソース」は簡単に作れますよ?
人間可読な、意味のわかるコードに変換することは確かに自動ではほぼ無理で手動でも手間が掛かりますし、コンパイルすれば同じバイナリになるけど意味合いが全然違うコードしか得られないとかはありますけど、# データ部分がコードになってたり、その逆だったり、開始位置がずれて妙な解釈したり出力結果をアセンブル(コンパイル)することが前提の逆アセンブラ(逆コンパイラ)なら、意味合いが不明だったり間違っていても問題なくアセンブル(コンパイル)できる出力が得られます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
フルアセンブラなんですがそれは (スコア:0)
ソースが欲しけりゃ、わざわざ盗むまでもなく逆アセンブルすればええだけやん
現代におけるソースコード盗用とは意味が違いすぎますわ
Re: (スコア:0)
アセンブラ知らなさすぎ。
ディスアセンブラが吐き出したものは、ラベル付けやワークエリアの解析など
かなり手間暇かけないとアセンブラのソースにはならんよ。
この場合の盗用は、現代におけるソースの盗用とほぼ同じ。
Re:フルアセンブラなんですがそれは (スコア:5, 参考になる)
特にワークの意味合いまで完全に調べるのは、相当に手間がかかる。
「簡単」と言っている人は多分実際にはやったことなくて、「やった事例がある」のを知ってるだけだと思う。やったのなら、その手間に辟易してるだろうから。
ただし、だからと言ってソース化が不可能と言っている訳ではない。もちろん可能。
dis.xや半自動化ツールは親コメがいう所の「ワークの解析」なんてのはやってくれない。
(=親コメで言っているものと同等ですらないものを持ち出しているだけ)
毎日逆アセと解析している身としては、まぁCP/Mぐらいの規模になれば、ソースを盗用するよりは、むしろ見えているAPIを下敷きに、模倣する方が100倍くらい楽。
仮にCP/Mの動作を確認したいとしても、テストコード書いて確認すれば良いだけだから、わざわざコストの高い解析をするとは考えにくい。
Re: (スコア:0)
> 特にワークの意味合いまで完全に調べるのは、相当に手間がかかる。
他アーキテクチャへの移植が目的なら「ワークの意味合いまで完全に調べる」必要はあんまないだろ。
コードとデータの区別ができれば、8080 → 8086/8088 の移植は、キレイに書かれたプログラムならニモニックの機械的な変換でいけるよ。
Re:フルアセンブラなんですがそれは (スコア:3)
それがテンポラリ的に使いまわしされるのか、とか、
グローバル的に意味合いを持たされて使われるのか、とか、
「同じものを指しているが、意味合いが違う場合」が多々あるからなんですね。
全く改変する予定がない(機械的な逆アセではかれたコードを一対一で再利用するだけ)のであれば
最低限それで良いかもしれませんが、
それをもとに、発展継続を考えているのであれば、どう考えてもシステムの構造や、ワークの意味合いの解析は必要でしょう。
まぁこういうのは実際にやったことがないと、どのくらい大変かはわからないですよね~。
Re: (スコア:0)
MS-DOS の時代は、ディスアセンブラとか無くても、モニタでダンプ読んでコード理解するのは当たり前の作業だったよ。
アセンブラのニモニック覚えるのも、オペコードの数字覚えるのも大差ないから、アセンブラ読めなくてもダンプではコード追えるって人も多かった。それくらいは少なくとも特殊な能力でもないし、誰でもやってた基本能力だった。
ワークの解析というか、メモリマップ作るのはダンプ読みながらやる標準的な作業の一部。そんな大変な作業じゃない。ダンプレベルでパッチあてたり機能追加したりとか、学生のバイトにもやらせてたぐらいのレベルの作業だよ。
いまみたいに CPU の挙動が複雑じゃなければたいした作業じゃないので、当時マイコンやってた人なら誰でもできるよ。
Re:フルアセンブラなんですがそれは (スコア:2)
曲がりなりにも「システム」のプログラムならそれなりの量はあるし、もちろん複雑。
あなたが記述してるのは「パッチあて」であって、システムの動作や構造をあらわにするレベルの「解析」ではないよ。
そもそも比較しているものが違いすぎる。
hello worldが書けたからOSも書けるだろって言ってるようなもんですわ。
俺も毎日8bit-32bitのコードを解析してるけど、どれも面倒くさいよ。
CPUの挙動じゃなくて単純にコードの規模の話。
Re:フルアセンブラなんですがそれは (スコア:1)
ゲームのチートやちょっとしたパッチあてなら、それでいいけど、
システム一通り読もうとすると、メモ書き程度では破たんだろう。
というか、そんなに楽なら次から頼むわ。あの不毛とも思える作業。
CP/M程度なら挙動を模倣するコードを自分で書くのが一番楽かと。
まあこの時代、ソースの盗用,いいソフトをまねた習作,移植,あたりは
渾然一体としていて厳密に分けられないことも多いけどね。
Re: (スコア:0)
それ言葉の使い方間違ってる恥ずかしいやつ、でケリついてるし
Re: (スコア:0)
まぁこういうのは実際にやったことがないと、どのくらい大変かはわからないですよね~。
拾うところと捨てるところの判断を効率的にできないから全体を把握とか言ってるんだろうなあ。
ゲームソフトの他のプラットホームへの移植の仕事とか何度かやった経験がある自分からすればバージョン2.2でBDOSのサイズが4kBもないCP/Mについてできない理由をうだうだ語ってるこの人のことは馬鹿としか思えん。
Re:フルアセンブラなんですがそれは (スコア:2)
「できるか、できないか、で言えば、できる」んですよ。
でも、当初のコメにあるような
「簡単、簡単!誰でもできる!」はどう考えても違う。
「誰でもできる」なんて言葉を現時点で発言するのは
「文系大卒でも、今すぐできる」って言ってるようなもんですよ?
あの当時にしろ、そんなに誰でもできる、とかいうのであれば
swordだとか、そういった「互換性」が取り沙汰される事もなかったはずです。
なんというか「自分ができたことができないやつは全員バカ」みたいな狭い視野で議論されてますけど、それって自己満足以外に何があるんですか?
俺も解析や移植なんかは多々やってますけど(なので「できない」なんて主張する気はない)それでもフラットに考えても、CP/Mの全解析が「簡単、できないやつはバカ」なんて思えない。
自分という例外的な事例を取り上げて、反論したいのなら、どっか他所でやるべきなんじゃないですかね?
ただのマウント取りたいだけのモヒカンにしか見えませんよ。
Re: (スコア:0)
〉ゲームソフトの他のプラットホームへの移植の仕事とか何度かやった経験がある
学生時代の話?E仕事でした?
Re: (スコア:0)
文章ちゃんと読んでほしいんだけど
「できるか、できないか、で言えば、できる」んですよ。
でも、当初のコメにあるような
「簡単、簡単!誰でもできる!」はどう考えても違う。
「誰でもできる」なんて言葉を現時点で発言するのは
「文系大卒でも、今すぐできる」って言ってるようなもんですよ?
「ソースが欲しけりゃ、わざわざ盗むまでもなく逆アセンブルすればええだけやん」や「当時マイコンやってた人なら誰でもできるよ」という投稿を↑と解釈しているのであれば、日本語能力に障害があると言わざるを得んな。
それか、藁人形論法でも構わんから論破した気分になりたいだけの阿呆だろう。
Re: (スコア:0)
1980年の時点の話なら70年代からやってた人ですね。
文系ではマイコンの存在の認識すら無理では。
Re: (スコア:0)
「当時マイコンやってた人なら誰でもできるよ」は違う、という話をしてるのが理解できないあなたの日本語能力に問題がありすぎる。
Re: (スコア:0)
「簡単、簡単!誰でもできる!」なんて誰も言ってないことを持ちだして否定してる馬鹿の日本語能力を疑えよ馬鹿。
Re:フルアセンブラなんですがそれは (スコア:1)
まぁACですし、とりあえず場を荒らしたかった人だったんですね。
お疲れ様でした。
Re: (スコア:0)
なんというか、今の阿呆なあなたがたが「当時マイコンやってた」からといってまともにできたはずがないですね
賢い人ほど自分のやっていることの困難さを自覚するものです
で、AZUCOさんの実績はご存知?
Re: (スコア:0)
で、AZUCOさんの実績はご存知?
なんかのエミュレータを作り掛けで途中で放置してる方、という認識で合ってますか?
# 実績(=実際の功績・成果)ではないか。
Re: (スコア:0)
あなたは、あの程度なら自分でもできると言いたいのかな?
Re: (スコア:0)
エミュレータをいくつか手がけた経験から言えばソフトが一つ動くようなったところでエミュレータの完成度は50%以下、二つ動くようなってようやく50%かそこら、三つ四つと動くようなっていってもその過程で非互換部分は見つかり対策を行い、途中どうしてもわからん壁みたいなものに遭遇することもしばしばで動作するソフトが増えるに従い難易度は上がっていく印象なんですけどね。
「あの程度」ってどの程度のこと言ってんの?
Re: (スコア:0)
(#3062540) 氏にとってはちょろい仕事で、(#3062696) =ある程度の知名度のあるエミュレータを手伝った私にとっては非常に大変な程度です
HBLANKの処理が不正確だったのではないかと推測はされましたが、ただ一つのゲームがいつまでたっても画面が崩れるとか
Re: (スコア:0)
HBLANKの処理が不正確だったのではないかと推測はされましたが、ただ一つのゲームがいつまでたっても画面が崩れるとか
なんで調査して問題解決しないで推測でやめたんですか??
Re: (スコア:0)
acountname
Re: (スコア:0)
特定した。
acountname
https://www.google.co.jp/search?q=acountname [google.co.jp]
Re: (スコア:0)
Re: (スコア:0)
http://srad.jp/~acountname [srad.jp]
こんな頭悪そうなIDの奴いるんだなw 特定したとか抜かしてる奴も含めて馬鹿揃いだわw
Re: (スコア:0)
あなたには一生かかってもできない程度には難しいことなので
Re: (スコア:0)
「やーいバーカバーカ」みたいなコメント投稿してて楽しい?
Re: (スコア:0)
何のプラットホームかわからんけど
作業的には大体こんな流れになると思うけどね、こんなのを「一生かかってもできない程度には難しいこと」と思える人には確かに無理かも。
Re: (スコア:0)
(#3062696) =ある程度の知名度のあるエミュレータを手伝った私
ただ一つのゲームがいつまでたっても画面が崩れるとか
自称手伝った人だけど実際なんも役に立ってなかったってことかな?
いますね、実績がないのに自己評価だけは高い人って。
Re: (スコア:0)
「当時マイコンやってた人なら誰でもできるよ」は違う、という話をしてる
どの投稿がそれだという主張ですか? メッセージ番号を示してもらえませんか?
http://srad.jp/comment/3062017 [srad.jp] の
当初のコメにあるような
「簡単、簡単!誰でもできる!」はどう考えても違う。
「誰でもできる」なんて言葉を現時点で発言するのは
「文系大卒でも、今すぐできる」って言ってるようなもんですよ?
は違いますよね?
Re: (スコア:0)
現象を確認しつつそれを修正しないって無能の証しだよなあ…。
Re: (スコア:0)
だからそれはあなたには一生かかってもできないのです…
Re: (スコア:0)
言うは易し行うは難しなんですが、それをまったく自覚していない、想像もつかない阿呆には無理なんですよ
Re: (スコア:0)
言うは易し行うは難しなんですが、
http://it.srad.jp/comment/3062938 [it.srad.jp] で挙げられてる作業の 1. ~ 5. でどこか難しい部分がありますか?
あるいは別の解決方法を考えた上で修正を断念されたということでしょうか?
現時点この場であなたは易しいという「言う」ことすらされてないのですが、その自覚はありますか?
Re: (スコア:0)
特定する根拠はかなり強力なのがそろってるんだよ。
その根拠を知らずに、特定に否定的な事を言いたがる人物もおのずと特定されるよな。
関係ない他人なら「どんな方法で特定したの?」と気になるだろうからな。
他にもお前の特徴はある。
数行の短い反射的な、相手を批判するためだけのレス
ACとそうでない時は意図的に語尾を変えてる
なんの実績もないお前がまぁよくも他人にあれだけ言えたな。
典型的な口だけオタクのおっさんだろ。
Re:フルアセンブラなんですがそれは (スコア:1)
特定する根拠はかなり強力なのがそろってるんだよ。
その根拠を知らずに、特定に否定的な事を言いたがる人物もおのずと特定されるよな。
関係ない他人なら「特定方法はなんだろう」と気になるだろうからな。
他にもお前の特徴はある。
数行の短い反射的な、相手を批判するためだけのレス
ACとそうでない時は意図的に語尾を変えてる
なんの実績もないお前がまぁよくも他人にあれだけ言えたな。
典型的な口だけオタクのおっさんだろ。
Re: (スコア:0)
他にもお前の特徴はある。
数行の短い反射的な、相手を批判するためだけのレス
ACとそうでない時は意図的に語尾を変えてる
「口調が違うのが同一人物の証拠だ!(ドャァ」って頭大丈夫?
ちょっと本気で頭の病院逝くことをお勧めするよ。
Re: (スコア:0)
DOSは知らんけどハンドラとか自動生成している場合なんかはデータ部分にコードがあったりして
自動解析結果は信用できない事がよくあります。
経験ない人にはわからんと思いますけど
Re: (スコア:0)
実際ワークは特に考える必要無いんだけどねえ。
ロジックを追っていくとワークとして使われているエリアが見られる、ってのは往々にしてあるけども、
そもそも互換品を作りたいなら細かいところなんかどうでも良くて、大雑把にどう動いているか判ればいい。
エミュレーター作っている訳では無いから、過度の解析は時間の無駄だったりする。
Re: (スコア:0)
その程度のことを隠したいならサブルーチンやワークエリアの順番入れ替えるだけで対策できるでしょ。
Re: (スコア:0)
PL/Mという指摘があるけど、アセンブラの話をすると…
もとコメントを見て最初に思ったのは、CP/Mって
どんなアセンブラを使って書いてたの? という
疑問でした。
もっとはっきりいうと、コメントツリーのだれもマクロに
言及していないのが時代性を感じさせるというか。
(ラベルとかワークエリアとか、そこかよ! みたいな。そんなのどうでもいい)
アセンブリでプログラムを書くのが普通の時代はマクロを
使ったものです。生産性が全然ちがいますよ。ちょっと開発すれば
マクロライブラリはがんがん貯まります。
マクロ機能はCPPみたいな低機能なものではなくて、VHDLのgenericとかを
考えてくれればいいです。
で、言いたかったのは、あれを逆アセンブルすればソース化は
可能と言うなら、Cだって可能です。
とはいえ、CP/Mがどんなアセンブラを使ってたか知らないので
黙っていたのでした。(PL/Mということなので、黙ってて正解だった)
Re:フルアセンブラなんですがそれは (スコア:1)
「マクロアセンブラは、マクロアセンブラというツールであって、
アセンブラとは違う」と思えるくらい違うよね。
個人的にはIFと書けたら高機能マクロなイメージがある。
Re:フルアセンブラなんですがそれは (スコア:1)
> とはいえ、CP/Mがどんなアセンブラを使ってたか知らないので
付属のASM.COMなら、マクロどころかリロケータブルなオブジェクト生成やリンケージなどできない単純なアセンブラでしたよ。
出力はIntel Hexフォーマットのみで、バイナリを作るためにLOAD.COMで変換してましたな。
後にMACというマクロアセンブラが派生したけど、CP/M1.4時代からあったのはASM.COM。
まあ、それは商品としてそうであったということだけで、開発したKildallさんが自前で持っていなかったとはいわない。
> マクロ機能はCPPみたいな低機能なものではなくて、VHDLのgenericとかを考えてくれればいいです。
例えばMS-DOSのMASMなどと比べるとかなり基本的なマクロ機能しかなかったです。数KB~10数KB程度(MACは手元にないですが、マイクロソフトのMACRO-80アセンブラは19KB、リンカが10KB)のバイナリや32kB~56KB程度のフリーエリアしかない開発環境に多くを求められないでしょう。
Re: (スコア:0)
セルフで開発していると思っているバカ
Re: (スコア:0)
公開されてるCP/MのソースがPL/Mで書かれてるからなー、初期のCP/MはMDS上でクロス開発され、それ以降の開発はCP/M上でセルフ開発された可能性はフツーに考えられると思うよ。
Re: (スコア:0)
マクロって言ってみたいだけの人にしか見えんなあ。
アセンブラのマクロなんて単なる省力化の手段であって、そんな御大層なもんではないぞ。
Re: (スコア:0)
Re: (スコア:0)
自己書換のコードなんてのも普通にあったし、ワークエリア使いまわしとか、
PL/M ってそんなコード吐くんだあ、勉強になるなあ。
Re: (スコア:0)
議論の本質はCP/M(のBDOSとCCP?)が逆アセンブルとどの程度の手間でソース化できるか、それが現実的なものなのかなのに、「逆アセンブルによるプログラム解析についての一般論」か何かに曲解してあーだこーだ言ってるコイツは馬鹿。
Re: (スコア:0)
> バイナリを逆アセ>アセンブル(コンパイル)可能なソース化が手間がかかる
・・・いやあの。最悪元のコードをデータとしてまるっと埋めるだけでも
「アセンブル(コンパイル)可能なソース」は簡単に作れますよ?
人間可読な、意味のわかるコードに変換することは確かに自動ではほぼ無理で手動でも手間が掛かりますし、
コンパイルすれば同じバイナリになるけど意味合いが全然違うコードしか得られないとかはありますけど、
# データ部分がコードになってたり、その逆だったり、開始位置がずれて妙な解釈したり
出力結果をアセンブル(コンパイル)することが前提の逆アセンブラ(逆コンパイラ)なら、
意味合いが不明だったり間違っていても問題なくアセンブル(コンパイル)できる出力が得られます。