(4254)
4254:
LASM
投稿者:
としき
2009/10/20(火) 21:20
参照先:http://www.hinocatv.ne.jp/~toshiki/
コメント数 2
どこに書こうか迷ったのですが、たまにアセンブラネタが出てくるこちらに。
LASMというアセンブラがあります。
多摩ソフトウェア製です。Vectorにもサンプル版がアップされています。
このサンプル版だと、ソースで100行までしかアセンブルできないという制限
がありますが、初心者の勉強用ならば大きなプログラムは作らないという事もあ
って、あちこちで紹介されています。もちろん、100行未満のソースで大量の
オブジェクトファイルを作り、最後にリンクして巨大な実行ファイルを作る、と
いうのも不可能ではないと思いますが、現実的ではないですね。
ところで、ニフティの過去ログを整理していたら、あるフォーラムのある会議室
で、このソフトに関する発言が見つけました。発言日は1992年10月。私の
ニフティ入会前だなぁ。内容としては、PC-VANからそのフォーラムに、このサン
プル版を転載しました、というもの。興味を引かれたのは、このソフトを紹介し
ている部分。なんと、転載されたサンプル版でアセンブル可能なのは200行ま
で、と書かれていたのです。
昔のバージョンの方が制限が緩かったのかなぁ。
100行が200行になると、かなり色々な事ができるようになりますよね。
例えば、Vzのソースを手続毎にファイルを細分化したとして、100行制限な
らアセンブルできないものが何パーセントだけど200行制限なら何パーセント、
みたいな計算ができるわけです。
もし、これが発言者のミスタイプでないとしたら、この古いバージョンがとても
欲しいと思いました。
- No.4254 -
このTreeへ
[リストへもどる]
pre
(4254)
4275:
Re: LASM
投稿者:
konno
2009/10/28(水) 01:22
4254 番 としき さんへのコメント
としきさん、PACK8000にLASMがありましたが、1994年版でした。当然100行までです。
残念。
> ところで、ニフティの過去ログを整理していたら、あるフォーラムのある会議室
> で、このソフトに関する発言が見つけました。発言日は1992年10月。
やっぱり、こんな古い体験版が残っている可能性はほとんどないでしょうね。
MASM6がフリーで使える今、LASMの体験版の必要性がわからないですね。
- No.4275 -
このTreeへ
コメント元:4254 へ
[リストへもどる]
pre
(4254)
4292:
JWasm もありますが、
投稿者:
sfish
2009/10/31(土) 00:39
4254 番 としき さんへのコメント コメント数 1
こんばんは
JWasm というのは、Open Watcom の Wasm から派生した MASM 6 と互換性のある
アセンブラーです。ソースも公開されていて、DOS のリアルモードでも動かせます。
ttp://www.japheth.de/JWasm.html
でも、作者が MASM6 のコードを書く人なので、MASM 5.1 (-Zm) モードの動作の
互換性は、あまりいいとは言えません。MASM のバグが修正されているという良い
面もありますが。
で、最新の JWasm v2.0 で VZ のソースをアセンブルしてみると互換性の無い点が、
3点ほど見つかったので、作者に報告しておきます。
- No.4292 -
このTreeへ
コメント元:4254 へ
[リストへもどる]
pre
(4254)
4314:
JWasm で VZ を作ってみました
投稿者:
sfish
2009/11/04(水) 22:15
4292 番 sfish さんへのコメント コメント数 1
こんばんは
JWasm の v5.1 モードの互換性について4点ほど作者の Japheth さんに連絡しました。
既に3点修正してもらい非公式な v2.01 を公開してもらっています。
ttp://www.japheth.de/JWasm/Download/
残った不具合というのは、マクロの引数の区切り文字に ',' だけでなく、スペースや
タブも使えるというものです。作業としては、4つのファイルで6ヶ所を修正するだけ
なので手で修正して、そのままアセンブルして VZ を作ってみました。
まだ、ファイルの読み書きぐらいしか試していませんが、問題無さそうです。
- No.4314 -
このTreeへ
コメント元:4292 へ
[リストへもどる]
pre
(4254)
4318:
Re: JWasm で VZ を作ってみました
投稿者:
konno
2009/11/05(木) 01:41
4314 番 sfish さんへのコメント コメント数 1
sfishさん、はじめまして。
JWasm って、初めて聞きました。MASM6/5.1互換とはうれしいですね。
DOS のリアルモードということは、80186の200LXでも動くんでしょうか。
> なので手で修正して、そのままアセンブルして VZ を作ってみました。
> まだ、ファイルの読み書きぐらいしか試していませんが、問題無さそうです。
おお、VZのアセンブルが出来るとは互換性が高いですね。しかもまだ進化しているとは。
- No.4318 -
このTreeへ
コメント元:4314 へ
[リストへもどる]
pre
(4254)
4321:
Re^2: JWasm で VZ を作ってみました
投稿者:
sfish
2009/11/05(木) 23:44
4318 番 konno さんへのコメント コメント数 1
こんばんは
> JWasm って、初めて聞きました。MASM6/5.1互換とはうれしいですね。
> DOS のリアルモードということは、80186の200LXでも動くんでしょうか。
そういえば、自分で使ったことがないので、試しに動かしてみると、
悲しいぐらいエラーがいっぱい出ました。このままじゃ使えないの
で、エラーのパターンをまとめて連絡しようかと思います。
ということで、使えるまでもうしばらくかかりそうです。
- No.4321 -
このTreeへ
コメント元:4318 へ
[リストへもどる]
pre
(4254)
4540:
Re^3: JWasm で VZ を作ってみました
投稿者:
sfish
2009/12/12(土) 18:55
4321 番 sfish さんへのコメント コメント数 1
こんばんは
> JWasm って、初めて聞きました。MASM6/5.1互換とはうれしいですね。
> DOS のリアルモードということは、80186の200LXでも動くんでしょうか。
あれから一月過ぎ、リアルモード版の5.1互換モードでも VZ を作れるようになりました。
また、ソースを MASM6 風にして -Zm オプション無しの場合も試してみましたが、
リアルモード版だとメモリ不足でアセンブルできませんでした。残念。
- No.4540 -
このTreeへ
コメント元:4321 へ
[リストへもどる]
soft
(4254)
4546:
Re^4: JWasm で VZ を作ってみました
投稿者:
konno
2009/12/13(日) 04:06
4540 番 sfish さんへのコメント コメント数 2
sfishさん
> あれから一月過ぎ、リアルモード版の5.1互換モードでも VZ を作れるようになりました。
おお、Ver2.01b になったんですね。落としてみましたが、使い方がよく判りません。
VZをアセンブルするときのオプションなど教えていただけませんか。
TASMの記述もあるようですが、TASM互換モードとか無いですよね。(^^;
> また、ソースを MASM6 風にして -Zm オプション無しの場合も試してみましたが、
> リアルモード版だとメモリ不足でアセンブルできませんでした。残念。
こちらは32ビット版で出来るんですよね。MASM5.1互換のDOS用アセンブラが使える
だけでもすごいですよ。
そういえば、としきさんが食いついてこないのは、すでに目的を果たしたのでしょうか。
そういえばURLもキチンと張って無かったですね。
http://www.japheth.de/JWasm.html
スパム対策でご迷惑を掛けますが、今まで書き込まれた人は登録しましたので、
URLなどの制限が緩和されます。
あと、備忘録として、VZWikiにも入れました。
- No.4546 -
このTreeへ
コメント元:4540 へ
[リストへもどる]
soft
(4254)
4549:
Re^5: JWasm で VZ を作ってみました
投稿者:
としき
2009/12/13(日) 09:30
参照先:http://www.hinocatv.ne.jp/~toshiki/
4546 番 konno さんへのコメント
> そういえば、としきさんが食いついてこないのは、すでに目的を果たしたのでしょうか。
単に多忙なだけです。
ちなみに、自分で書くソースは、ほとんどARROWSOFT ASSEMBLER(MASM 3.0互換)
で用が足りてしまいます。短いソースなら、それこそLASMでも構わないわけ
ですし。
他人が書いたソースを再アセンブルするってことはあまりありません。
ほんと、Vzぐらいかな。
- No.4549 -
このTreeへ
コメント元:4546 へ
[リストへもどる]
soft
(4254)
4555:
Re^5: JWasm で VZ を作ってみました
投稿者:
sfish
2009/12/13(日) 21:01
4546 番 konno さんへのコメント コメント数 2
こんばんは
JWasm のオプションは、下記のようにしてアセンブルしています(MASM 5.1 モード)。
エラーになるのは、マクロの区切り文字がスペースのところで、',' で区切ればアセンブルできます。
> jwasm -q -Zm -omf -Cp -c *.asm
> TASMの記述もあるようですが、TASM互換モードとか無いですよね。(^^;
TASM のネイティブモードは、MASM 5.1 互換です。
取り敢えず、VZ高橋版のソースを MASM6 風にするパッチを公開しました。
作業の多くは、グローバルラベルで末尾が ':' だったものを '::' にするというものです。
http://junk.s21.xrea.com/files/t03k2sm6.lzh
konno さんのパッチはまだ開発中なので、そのうち落ち着いたら MASM6 風にすると思います。
- No.4555 -
このTreeへ
コメント元:4546 へ
[リストへもどる]
soft
(4254)
4561:
Re^6: JWasm で VZ を作ってみました
投稿者:
konno
2009/12/14(月) 00:25
4555 番 sfish さんへのコメント コメント数 1
sfish さん
> > jwasm -q -Zm -omf -Cp -c *.asm
やってみましたが、out of memory になりました。MASM6用にしないと駄目なのかな。
ゆっくり検証したいと思います。
> TASM のネイティブモードは、MASM 5.1 互換です。
あ、そういう意味でしたか。(^^;
> 取り敢えず、VZ高橋版のソースを MASM6 風にするパッチを公開しました。
> http://junk.s21.xrea.com/files/t03k2sm6.lzh
どうもです。おかげでsfishさんのサイトを発見できました。(^_^)
「IT Junk Box」
http://junk.s21.xrea.com/
サイドバーの「DOS のネットワーク」おいしそうな情報がいっぱいですね。
http://junk.s21.xrea.com/dosnet.html
「■ MASM と TASM32 について」
ここからMASM5.1もGETできそうですし、TASM32ってのがあったとは!!
アイデアルモード互換だったらうれしいですね。
ちょっと発掘調査に出かけてきます。(^^;
> konno さんのパッチはまだ開発中なので、そのうち落ち着いたら MASM6 風にすると思います。
う、私のパッチは永遠に未完かもしれません。(^^;
- No.4561 -
このTreeへ
コメント元:4555 へ
[リストへもどる]
soft
(4254)
4574:
Re^7: JWasm で VZ を作ってみました
投稿者:
sfish
2009/12/15(火) 21:37
4561 番 konno さんへのコメント コメント数 1
こんばんは
> やってみましたが、out of memory になりました。MASM6用にしないと駄目なのかな。
状況がよくわからないので、Windows 用の bat ファイルを置いときました。
ファイル名を修正すれば動くはずです。
http://junk.s21.xrea.com/scripts/mkjw5_bat.txt
TASM32 は、今年の8月に配布終了になっていました。配布されていたのは随分前の
ものですが、DOS 用には使えるかもしれません。
|Turbo Assembler Version 5.3 Copyright (c) 1988, 2000 Inprise Corporation
どうしても手に入れたい人は、雑誌等で探せば見つかるかもしれません。
・C++BuilderX Personal (cbx1_personal_windows.zip)
・Turbo Explorer (TCPP_EXPL_JP_DL.exe)
- No.4574 -
このTreeへ
コメント元:4561 へ
[リストへもどる]
soft
(4254)
4576:
Re^8: JWasm で VZ を作ってみました
投稿者:
konno
2009/12/17(木) 01:03
4574 番 sfish さんへのコメント コメント数 1
> 状況がよくわからないので、Windows 用の bat ファイルを置いときました。
ありがとうございます。やってみましたが、やはりエラーになりました。
実は最近はMASM6でしかやってなくて、MASM5.1でやってみたらジャンプエラーに。(++;
で、修正して、MASM5.1でもOKになったんですが、それでもJWASMではエラーが出ます。
vz.inc(923) : Fatal error A1124: Out of Memory
う〜ん、理由がわからないですねぇ。
> TASM32 は、今年の8月に配布終了になっていました。
げ、そうだったんですか、残念。
> どうしても手に入れたい人は、雑誌等で探せば見つかるかもしれません。
> ・C++BuilderX Personal (cbx1_personal_windows.zip)
> ・Turbo Explorer (TCPP_EXPL_JP_DL.exe)
あれ? なんかこのへん、落としていたような気が。(^^;
- No.4576 -
このTreeへ
コメント元:4574 へ
[リストへもどる]
soft
(4254)
4583:
Re^9: JWasm で VZ を作ってみました
投稿者:
sfish
2009/12/17(木) 20:48
4576 番 konno さんへのコメント コメント数 1
こんばんは
> vz.inc(923) : Fatal error A1124: Out of Memory
konno さんの k07s3s.com を当てたソースで試してみましたが、このエラーは出なかったです。
だから、最近のコードで追加した箇所で出てるんだと思います。
コードを見てないんですが、JWasm のバグの可能性が高いですね。
差分ファイル等を出してもらえば、Japheth さんに修正してもらいます。
以前は、C++BuilderX Personal (cbx1_personal_windows.zip) をこっそり
配布してる人がいたんですが、検索しても見つからなくなってますねぇ。
- No.4583 -
このTreeへ
コメント元:4576 へ
[リストへもどる]
soft
(4254)
4629:
Re^10: JWasm で VZ出来ました。
投稿者:
konno
2009/12/22(火) 00:06
4583 番 sfish さんへのコメント コメント数 3
sfish さん
先週から忘年会やら送別会などが続いて、風邪を引いたのもあって、ちょっと
お疲れモードでした。m(__)m
> > vz.inc(923) : Fatal error A1124: Out of Memory
これはどうやらメモリ不足だったようです。空きメモリが多いVTDOS上で無事に
アセンブルできました。
> konno さんの k07s3s.com を当てたソースで試してみましたが、このエラーは出なかったです。
> だから、最近のコードで追加した箇所で出てるんだと思います。
これもヒントになりました。JWasmは書式が厳格なんですね。いくつかエラーが
出たところを修正したら、VZ.COMが無事出来ました。
VTDOS上ではリアルモードのJWasmr は1/100くらいに遅いので、32ビット版のJWasmが
いいですね。MASM6なら一瞬です。
おかげで、今のソースは、MASM6/5.1 JWasm 全てOKになりました。
文太さんも、お疲れ様です。
- No.4629 -
このTreeへ
コメント元:4583 へ
[リストへもどる]
soft
(4254)
4645:
Re^11: JWasm で VZ出来ました。
投稿者:
sfish
2009/12/23(水) 23:23
4629 番 konno さんへのコメント
konno さん
> > > vz.inc(923) : Fatal error A1124: Out of Memory
>
> これはどうやらメモリ不足だったようです。空きメモリが多いVTDOS上で無事に
> アセンブルできました。
それは、良かったです。
> これもヒントになりました。JWasmは書式が厳格なんですね。いくつかエラーが
> 出たところを修正したら、VZ.COMが無事出来ました。
互換というか、過去の資産をアセンブルできないとメリットが無いので、
動作が違っていたらバグ報告して修正してもらっています。
> おかげで、今のソースは、MASM6/5.1 JWasm 全てOKになりました。
ご苦労さんでした。
- No.4645 -
このTreeへ
コメント元:4629 へ
[リストへもどる]
soft
(4254)
4651:
Re^11: JWasm で VZ出来ました。
投稿者:
文太
2009/12/24(木) 01:13
4629 番 konno さんへのコメント
konnoさん
>おかげで、今のソースは、MASM6/5.1 JWasm 全てOKになりました。
JWasm で通れば、MASM 7/8 も大丈夫でしょう。 ご存じのとおり、同じ結果を
出してくれていますので。 高橋版では、5.1 と、6/7/8/JW が違うみたいなのだ
けど…。
>文太さんも、お疲れ様です。
うーん、まぁ、疲れてますねぇ、全般に…。しくしく。
- No.4651 -
このTreeへ
コメント元:4629 へ
[リストへもどる]
soft
(4254)
4678:
TASM32 用の BAT
投稿者:
sfish
2009/12/26(土) 00:07
4629 番 konno さんへのコメント
konno さん
TASM32 でも k07s3s のソースをアセンブルできました。BAT ファイルは、下記に置いてます。
http://junk.s21.xrea.com/scripts/mkt_bat.txt
scrn.asm にだけジャンプの最適化オプションの -jJUMPS を追加しているのは、
下記のエラーが出るからです。この -jJUMPS は、曲者なので使いたくなかったの
ですが。
| **Error** scrnIBM.asm(246) Relative jump out of range by 010Eh bytes
オプションに -uM510 とか -uM611 とかあるんで試してみたが、何も付けない方が
いい結果になりました。付けた方は、誤動作して使えませんでした。
また、パスを2回(-m2)とか3回(-m3)とかに設定できますが、影響無さそうだった
ので消してます。
- No.4678 -
このTreeへ
コメント元:4629 へ
[リストへもどる]
soft
(4254)
4611:
T03K2SM6.EXE
投稿者:
文太
2009/12/20(日) 13:06
4555 番 sfish さんへのコメント コメント数 1
sfishさん
> 取り敢えず、VZ高橋版のソースを MASM6 風にするパッチを公開しました。
>作業の多くは、グローバルラベルで末尾が ':' だったものを '::' にするというものです。
>http://junk.s21.xrea.com/files/t03k2sm6.lzh
ということで、とりあえず MASM32 の ml.exe でアセンブルしてみたのですが、
以下のエラーが出るようです。JWasm に届きたいのですが、まずここから、と。
「/Zmは6風なんだから要らない」などなど、色々ともがいたのですが、うまく
いきません。何かヒントはありますでしょうか。m(__)m
いちおうvzibmj.comまで届きます。ml.exeのオプションを入れ替えると、あっち
が立てばこちらが立たず状態で、リンクしなかったり、です。(^^;
--- asmerr ---
filer.asm(853) : error A2076: jump destination must specify a label
jmpl(3): Macro Called From
filer.asm(853): Main Line Code
--------------
--- mk6_wk.bat ---
@echo off
rem usage: >mk6_wk.bat
rem vzibmj.com用
rem 高橋版ソースにT03K2SM6.EXEバッチ(masm6風パッチ)を当てたあと実行
rem Originally c.mos, えむし, konno各氏 m(__)m
rem --- Default Machine set
set HARD=IBMJ
set MASM=/DIBMJ
if exist asmerr. del asmerr.
ml /Zm /c /Cp %MASM% main.asm >>asmerr.
ml /Zm /c /Cp %MASM% alias.asm >>asmerr.
ml /Zm /c /Cp %MASM% char.asm >>asmerr.
ml /Zm /c /Cp %MASM% core.asm >>asmerr.
ml /Zm /c /Cp %MASM% disp.asm >>asmerr.
ml /Zm /c /Cp %MASM% dos.asm >>asmerr.
ml /Zm /c /Cp %MASM% expr.asm >>asmerr.
ml /Zm /c /Cp %MASM% filer.asm >>asmerr.
ml /Zm /c /Cp %MASM% filer2.asm >>asmerr.
ml /Zm /c /Cp %MASM% gets.asm >>asmerr.
ml /Zm /c /Cp %MASM% harderr.asm >>asmerr.
ml /Zm /c /Cp %MASM% inst.asm >>asmerr.
ml /Zm /c /Cp %MASM% key.asm >>asmerr.
ml /Zm /c /Cp %MASM% ledit.asm >>asmerr.
ml /Zm /c /Cp %MASM% macro.asm >>asmerr.
ml /Zm /c /Cp %MASM% memo.asm >>asmerr.
ml /Zm /c /Cp %MASM% menu.asm >>asmerr.
ml /Zm /c /Cp %MASM% misc.asm >>asmerr.
ml /Zm /c /Cp %MASM% open.asm >>asmerr.
ml /Zm /c /Cp %MASM% printf.asm >>asmerr.
ml /Zm /c /Cp %MASM% scrn.asm >>asmerr.
ml /Zm /c /Cp %MASM% smooth.asm >>asmerr.
ml /Zm /c /Cp %MASM% string.asm >>asmerr.
ml /Zm /c /Cp %MASM% text.asm >>asmerr.
ml /Zm /c /Cp %MASM% view.asm >>asmerr.
ml /Zm /c /Cp %MASM% wind.asm >>asmerr.
ml /Zm /c /Cp %MASM% xscr.asm >>asmerr.
ml /Zm /c /Cp %MASM% swap.asm >>asmerr.
ml /Zm /c /Cp %MASM% ems.asm >>asmerr.
ml /Zm /c /Cp %MASM% msg.asm >>asmerr.
link /m /noi @vz.lnk,vz%HARD%;
exe2com vz%HARD%.exe vz%HARD%.com
rem --- comが出来たら以下のファイルを削除する
rem if exist vz%HARD%.com del vz%HARD%.exe
rem if exist vz%HARD%.com del *.obj
rem if exist vz%HARD%.com del asmerr.
rem if exist vz%HARD%.sym del vz%HARD%.sym
dir vz%HARD%.com
set HARD=
set MASM=
> konno さんのパッチはまだ開発中なので、そのうち落ち着いたら MASM6 風
> にすると思います。
おお外れかもしれませんが、すでにそうなってませんでしたっけ?
- No.4611 -
このTreeへ
コメント元:4555 へ
[リストへもどる]
soft
(4254)
4612:
Re: T03K2SM6.EXE
投稿者:
sfish
2009/12/20(日) 20:54
4611 番 文太 さんへのコメント コメント数 1
こんばんは
> ということで、とりあえず MASM32 の ml.exe でアセンブルしてみたのですが、
> 以下のエラーが出るようです。JWasm に届きたいのですが、まずここから、と。
> 「/Zmは6風なんだから要らない」などなど、色々ともがいたのですが、うまく
> いきません。何かヒントはありますでしょうか。m(__)m
そうです。オプションの /Zm を削除して試して下さい。
> --- asmerr ---
> filer.asm(853) : error A2076: jump destination must specify a label
> jmpl(3): Macro Called From
> filer.asm(853): Main Line Code
> --------------
このエラーは、オプションの /Zm があると出ますね.
> いちおうvzibmj.comまで届きます。ml.exeのオプションを入れ替えると、あっち
> が立てばこちらが立たず状態で、リンクしなかったり、です。(^^;
「リンクしなかったり」というのは、リンクのときに出るエラー表示のことですよね?
これも高橋版に残ってたものです。例えば、'readdir_lfn' というのは、存在しないの
に外部のファイルから読み込むようになっていたり、「sm_sensekey」というのは、98x1
でしか使っていないものです。リンク時に削除してくれるので、このままでいいかと放置
してました。さすが文太さんです。
> > 取り敢えず、VZ高橋版のソースを MASM6 風にするパッチを公開しました。
> >作業の多くは、グローバルラベルで末尾が ':' だったものを '::' にするというものです。
この作業は、パターンが決まってるのでスクリプトにやらせるようにしてるところで、
次からは早くできそうです。
- No.4612 -
このTreeへ
コメント元:4611 へ
[リストへもどる]
pre
(4254)
4613:
Re^2: T03K2SM6.EXE
投稿者:
文太
2009/12/20(日) 21:48
4612 番 sfish さんへのコメント コメント数 1
sfishさん
>このエラーは、オプションの /Zm があると出ますね.
そのようですね…。
>「リンクしなかったり」というのは、リンクのときに出るエラー表示のことですよね?
>これも高橋版に残ってたものです。例えば、'readdir_lfn' というのは、存在しないの
>に外部のファイルから読み込むようになっていたり、「sm_sensekey」というのは、98x1
>でしか使っていないものです。リンク時に削除してくれるので、このままでいいかと放置
>してました。
なるほど、って、おい(/_;)
お教え、ありがとうございました。m(__)m
>さすが文太さんです。
カット、カットの欲望を必死に抑え、あえて自虐的に、削除することを禁欲さ
せていただきました。m(__)m
じ、 実は、約1時間半前に、キチンと doc を読み、あああああ、書いてあっ
たがな、それにこれ、NECの98用じゃねーか、あっほー(もちろん自分あて)
とやって、『坂の上の雲』を見てきました。
それでは、正しく出た asmerr(keyibm.asm あたりの)を見ながら、もう少し
もがいてみます。m(__)m
謙虚な気持ちで、1つ1つ組み上げていけば、いつかはできるVzアセンブル。
字余り。あはははは。失礼いたしました。
真面目に。
T03K2SM6.EXE は、NEC98用ですね。
また、 ご存じだと思いますが、konno 版のソース最新版(KON_7S3)は、以下
の場所にあるバッチで MASM6 でアセンブルできると思います。Jwasm には、僕
はまだ届いておりませんが。
http://hpcgi3.nifty.com/tamaneko/bbs4/wforum.cgi
#19
- No.4613 -
このTreeへ
コメント元:4612 へ
[リストへもどる]
soft
(4254)
4614:
Re^3: T03K2SM6.EXE
投稿者:
sfish
2009/12/20(日) 22:52
4613 番 文太 さんへのコメント コメント数 1
文太さん
> T03K2SM6.EXE は、NEC98用ですね。
いえ、高橋版を MASM6 ネイティブでアセンブルできるようにしただけです。
ややこしいんですが、
高橋版のソースは、DOS 版の MASM 5.1 用になっていて、MASM6 の 5.1 モードだと
エラーになります。そこで、keyibm.asm の @F を予約語と重ならないようにして、
MASM6 の 5.1 モードで VZ を作ったときにできる vzibm.com, vzibmj.com, vz.com
と T03K2SM6.EXE のソースで MASM6 ネイティブモードでアセンブルしたときにできる
vzibm.com, vzibmj.com, vz.com が全く同じバイナリファイルになることを確認して
います。
- No.4614 -
このTreeへ
コメント元:4613 へ
[リストへもどる]
soft
(4254)
4615:
Re^4: T03K2SM6.EXE
投稿者:
文太
2009/12/20(日) 23:51
4614 番 sfish さんへのコメント コメント数 1
sfishさん
レス、ありがとうございます。
高橋版ソースにT03K2SM6.EXEでパッチを当てる。
そして以下を実行。(ML.EXE 372,736 1999-03-29 16:45 を使用)
>ml -nologo -omf -c -Cp *.asm >>asmerr.
--- asmerr ---
MASM : warning A4018: invalid command-line option : -omf
KEYIBM.ASM(61) : error A2008: syntax error : bseg
KEYIBM.ASM(62) : error A2008: syntax error : stopintnum
以下75行「KEYIBM.ASM」から、エラーが出ます。
--------------
何がいけないのでしょうか? m(__)m
- No.4615 -
このTreeへ
コメント元:4614 へ
[リストへもどる]
soft
(4254)
4616:
Re^5: T03K2SM6.EXE
投稿者:
sfish
2009/12/21(月) 00:12
4615 番 文太 さんへのコメント コメント数 1
文太さん
MASMのバージョンは、ml -help で確認できるんですが、文太さんの使ってるMASMは
少し古いのかもしれません。手元にある MASM6 は、こんなバージョンで該当部分で
エラーも出ませんでした。
> ml -help ~
Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000. All rights reserved.
最近の MASM で試してみて下さい。入手先は、下記にあります。
http://junk.s21.xrea.com/dos_tool.html
MASM7 以降で出力フォーマットの初期設定が、coff になっていますが、
オプションを -omf にすれば、DOS のフォーマットで出力できます。
- No.4616 -
このTreeへ
コメント元:4615 へ
[リストへもどる]
pre
(4254)
4617:
Re^6: T03K2SM6.EXE
投稿者:
文太
2009/12/21(月) 01:39
4616 番 sfish さんへのコメント コメント数 1
sfishさん
1日のうちに何度もありがとうございました。ありがたいことだと思っており
ます。
またパッチについて、成り立ちについての詳細な情報、ありがとうございまし
た。恥ずかしながら、学ぶべきことが多くありました。
>MASMのバージョンは、ml -help で確認できるんですが、文太さんの使ってるMASMは
>少し古いのかもしれません。
こういう原因だとは、思ってもみませんでした。早くにお教えありがとうござ
います。
>手元にある MASM6 は、こんなバージョンで該当部分で
>エラーも出ませんでした。
>
> > ml -help
>Microsoft (R) Macro Assembler Version 6.15.8803
>Copyright (C) Microsoft Corp 1981-2000. All rights reserved.
わお、ml.exe が古いとは…。
このMASM6がどういうヴァージョンかは金野さんに教えていただいたこと
があるので、明日調べます。ただ、>ml -help では見られないんですよね。
>最近の MASM で試してみて下さい。入手先は、下記にあります。
>http://junk.s21.xrea.com/dos_tool.html
MASM8になっているようです。MASM7は既にDL不可のようでした。
そのうえ、 MS Visual C++ Express Edition 2005 はDL不可だし、代わりに
落とした Visual C++ 2008 Express Edition で効くのかどうか…。
うーむ、どうやら 2005 が必要とされるようで、MASM8のインストールは
できないようで、6がない、7も駄目となると八方ふさがりのようでした。
ざ、残念。
>http://junk.s21.xrea.com/dos_tool.html
僭越ですが、上の情報は更新の必要があるようでした。
>MASM7 以降で出力フォーマットの初期設定が、coff になっていますが、
>オプションを -omf にすれば、DOS のフォーマットで出力できます。
記憶しておきます。
ありがとうございました。m(__)m
- No.4617 -
このTreeへ
コメント元:4616 へ
[リストへもどる]
soft
(4254)
4618:
Re^7: T03K2SM6.EXE
投稿者:
文太
2009/12/21(月) 12:51
4617 番 文太 さんへのコメント コメント数 2
sfishさん
例のページの更新が必要かなと思われた箇所についてのメモです。
経験した人がちょっとまとめておいたほうが良いかな、と思いまして。
(記憶が残っているうちに)
「2009. 2月」。そんな昔のことではないのに。
それでももし本気で更新なさるばあい、どうかいま一度ご確認のうえで作業
をお願いいたします。
Windows 版の MASM 8
■ 配布してい【た】ところ
Microsoft Macro Assembler 8.0 (MASM) Package (x86)
これのセットアップには、MS Visual C++ Express Edition 2005 が必要。
しかし、それが入手不可。MS Visual C++ Express Edition 2008では代用不可。
Windows 版の MASM 7
■ 配布してい【た】ところ
Windows Server 2003 DDK に入っていま【した】。
2003 DDK入手不可。
DOS 用の MSC 8 と MASM 5.1
■ 配布してい【た】ところ
Windows Server 2003 DDK に入っていま【した】。
2003 DDK入手不可。
次なる手は、MASM6-8を飛ばして、Jwasmですね。今晩。m(__)m
- No.4618 -
このTreeへ
コメント元:4617 へ
[リストへもどる]
soft
(4254)
4620:
MASM7(?) & JWasm
投稿者:
文太
2009/12/21(月) 20:23
4618 番 文太 さんへのコメント コメント数 1
sfishさん
うーん、だ、駄目です。
まず、MASM7(?)--ヴァージョンが見れない--な以下でアセンブル。
(Windows Server 2003 DDKに入っているもの)
>dir ml.exe |to
2005/03/24 16:25 413,696 ml.exe
--- asmerr ---
Assembling: KEYIBM.ASM
KEYIBM.ASM(61) : error A2008: syntax error : bseg
他たくさん
Assembling: SCRN.ASM
scrnibm.asm(947) : error A2006: undefined symbol : abputc1
他たくさん
Assembling: SCRNIBM.ASM
SCRNIBM.ASM(253) : error A2034: must be in segment block
他たくさん
--------------
JWasmでは、以下のオブジェクト・ファイルを作れず。
>dir c:\bin\jwasm.exe |to
2009/12/19 10:56 312,832 JWASM.EXE
C:\VZWORK
>DIR *.err |to
2009/12/21 18:19 4,588 KEY98.err
2009/12/21 18:19 3,221 KEYIBM.err
2009/12/21 18:19 379 SCRN.err
2009/12/21 18:19 2,855 SCRN98.err
2009/12/21 18:19 2,945 SCRNIBM.err
両所とも、以下のオプションで実行。
> ml -nologo -omf -c -Cp *.asm
> jwasm -q -omf -Zg -Cp -c *.asm
もう僕の相手をしなくていいですよ。ワカランチンの相手をするのは大変
でしょうから。…弱気…。やるだけやっての、レポートです。
ヒント出ますでしょうか? m(__)m
- No.4620 -
このTreeへ
コメント元:4618 へ
[リストへもどる]
pre
(4254)
4622:
Re: MASM7(?) & JWasm
投稿者:
sfish
2009/12/21(月) 21:28
4620 番 文太 さんへのコメント
文太さん
> まず、MASM7(?)--ヴァージョンが見れない--な以下でアセンブル。
> (Windows Server 2003 DDKに入っているもの)
バージョンは、ml -? で確認できます。多分 7.10 ぐらいです。
> > ml -nologo -omf -c -Cp *.asm
> > jwasm -q -omf -Zg -Cp -c *.asm
多分このまま実行してるんだと思いますが、この前の BAT ファイルを
修正したものを使えば、問題ないはずです。
- No.4622 -
このTreeへ
コメント元:4620 へ
[リストへもどる]
soft
(4254)
4621:
Re^8: T03K2SM6.EXE
投稿者:
sfish
2009/12/21(月) 21:08
4618 番 文太 さんへのコメント コメント数 1
文太さん
> 例のページの更新が必要かなと思われた箇所についてのメモです。
> 経験した人がちょっとまとめておいたほうが良いかな、と思いまして。
> (記憶が残っているうちに)
ありがとう。Windows Server 2003 DDK は、入手できなくなったけど、
そこだけ修正すればいいことです。
> Windows 版の MASM 8
> ■ 配布してい【た】ところ
>
> Microsoft Macro Assembler 8.0 (MASM) Package (x86)
> これのセットアップには、MS Visual C++ Express Edition 2005 が必要。
> しかし、それが入手不可。MS Visual C++ Express Edition 2008では代用不可。
MASM 8 として配布されてる MASMsetup.EXE は、cab 形式で圧縮されているファイル
なので自分で展開してしまえば、セットアップも Visual C++ Express Edition 2005
も不要です。
だから、あそこでは、圧縮ファイル MASMsetup.EXE の展開の仕方を説明してるんですよ。
- No.4621 -
このTreeへ
コメント元:4618 へ
[リストへもどる]
soft
(4254)
4623:
Re^9: T03K2SM6.EXE
投稿者:
文太
2009/12/21(月) 22:14
4621 番 sfish さんへのコメント コメント数 1
sfishさん
#8621へのコメント
>ありがとう。Windows Server 2003 DDK は、入手できなくなったけど、
>そこだけ修正すればいいことです。
まさしくその通りでした。失礼いたしました。昨晩、30分以上かけてC++
を落としたのだけど、とととと、徒労。
そして、驚いたことに、「2003 DDK」はHDに iso ファイルがありました!
というわけで、
#4622へのコメント
>バージョンは、ml -? で確認できます。多分 7.10 ぐらいです。
たぶん、これでは出ないと思う…。
途中の説明は必要ないでしょうが、色々と姑息な手段と切り貼りで、
ヴァージョン確認、報告レポートの作成に成功しましたぁ。(~_~;
ああ、masmsetup.exe (for MASM8)、ありましたぁ〜。
とにもかくにも、丁寧な説明のお陰で、以下のゲットまで来ました。m(__)m
>ml /v 2>c:\vv (MASM8 !)
Microsoft (R) Macro Assembler Version 8.00.50727.218
Copyright (C) Microsoft Corporation. All rights reserved.
>ml7 /v 2>>c:\vv (MASM7 !)
Microsoft (R) Macro Assembler Version 7.10.4035
Copyright (C) Microsoft Corporation. All rights reserved.
さて、バッチです(かぁ) かぁ〜かぁ〜かぁ〜 カラスに変身の文太。
(『海辺のカフカ』か!)
(+_+) カラスの絵文字ってないですねぇ…。ま、<--- あんな気分です。
さて。
MASM6用のソースが、MASM[78]で駄目ってことはないですよねぇ…。
と、止めてね、早めに、お、お願い。
- No.4623 -
このTreeへ
コメント元:4621 へ
[リストへもどる]
pre
(4254)
4624:
MASMのヴァージョン
投稿者:
文太
2009/12/21(月) 22:54
4623 番 文太 さんへのコメント コメント数 2
以下、独り言です。
>ml /v 2>c:\vv
などという「わざわざな」ことをする必要はありませんでした。
>ml
これでよいのです。ま、ファイルに取り込むにはリダイレクトが必要ですが。
>ml
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
昨晩の「古い」ヴァージョン。これに /Zm 付きで、金野版ソースがアセンブル
できます(って、sfishさんには必要のない情報)。
http://www.masm32.com/masmdl.htm
より。これに入ってるMASM6は進化してないよ。
うーん、ml.exeがいっぱい。
- No.4624 -
このTreeへ
コメント元:4623 へ
[リストへもどる]
soft
(4254)
4625:
MASM 8, OK?
投稿者:
文太
2009/12/21(月) 23:32
4624 番 文太 さんへのコメント コメント数 1
sfish 版 MASM6 用パッチを当てた、高橋版Vzソースを、MASM8を使って、
どうにかアセンブルしました(そんなに苦労することじゃあ、ないんだけどねぇ…)。
以下のリンクエラーが出ています。これ、いいですか?
出来たcomのサイズはこれ。
VZIBMJ.COM 60,886 2009-12-21 23:18
filer.obj(filer.asm) : error L2029: 'readdir_lfn' : unresolved external
scrn.obj(scrn.asm) : error L2029: 'sm_sensekey' : unresolved external
dos.obj(dos.asm) : error L2029: 'texts' : unresolved external
text.obj(text.asm) : error L2029: 'tmpnamep' : unresolved external
main.obj(main.asm) : error L2029: 'init_module' : unresolved external
text.obj(text.asm) : error L2029: 'writememtmp' : unresolved external
macro.obj(macro.asm) : error L2029: 'flsyscall' : unresolved external
text.obj(text.asm) : error L2029: 'readmemtmp' : unresolved external
text.obj(text.asm) : error L2029: 'killmemtmp' : unresolved external
core.obj(core.asm) : error L2029: 'chkdosheight' : unresolved external
dos.obj(dos.asm) : error L2029: 'ems_free' : unresolved external
scrn.obj(scrn.asm) : error L2029: 'altsize' : unresolved external
There were 14 errors detected
何となく、話に出てたのより多い感じだし、「ems_free」なんてやばいの
じゃないのかなぁ??? ちょっと使ってみる気にならないのですが…。
- No.4625 -
このTreeへ
コメント元:4624 へ
[リストへもどる]
soft
(4254)
4626:
Re: MASM 8, OK?
投稿者:
sfish
2009/12/21(月) 23:46
4625 番 文太 さんへのコメント コメント数 1
文太さん
> sfish 版 MASM6 用パッチを当てた、高橋版Vzソースを、MASM8を使って、
> どうにかアセンブルしました(そんなに苦労することじゃあ、ないんだけどねぇ…)。
> 以下のリンクエラーが出ています。これ、いいですか?
リンクエラーは、高橋版VZを MASM5 モードでアセンブルしたときと全く同じです。
> 何となく、話に出てたのより多い感じだし、「ems_free」なんてやばいの
> じゃないのかなぁ??? ちょっと使ってみる気にならないのですが…。
「ems_free」も存在しないので、使うことはできません。
「今回のパッチで作ったもの」と「高橋版VZを MASM5 モードで作ったもの」は、
全く同じバイナリになります。
- No.4626 -
このTreeへ
コメント元:4625 へ
[リストへもどる]
soft
(4254)
4631:
Re^2: MASM 8, OK?
投稿者:
文太
2009/12/22(火) 00:22
4626 番 sfish さんへのコメント コメント数 1
sfishiさん
自分で色々と試しもせずに、すぐに訊いてしまいますご無礼をお許しください。
ただ、 おそらく sfish さんが「これだけ言えば通じるだろう」ということが
通じていないものですから、申し訳ございませんが、連日、質問攻撃になってし
まっております。どうぞお許しください。
>リンクエラーは、高橋版VZを MASM5 モードでアセンブルしたときと全く同じです。
高橋版が、MASM5.1 でアセンブルされることを想定しているとすると、「これ
らのリンクエラーは正常である」と仰っているのですよね。
>> 何となく、話に出てたのより多い感じだし、「ems_free」なんてやばいの
>> じゃないのかなぁ??? ちょっと使ってみる気にならないのですが…。
>「ems_free」も存在しないので、使うことはできません。
ここが難しいのです。「使うこと(が)でき」ないのは何でしょう。僕の作っ
た vzibmj.com でしょうか、それとも、「ems_free」でしょうか。
>「今回のパッチで作ったもの」と「高橋版VZを MASM5 モードで作ったもの」は、
>全く同じバイナリになります。
これは「全く同じバイナリになるはず」ということですよね。
VZIBMJ.COM 60,886 2009-12-21 23:18
この、僕が先ほどアセンブルしたものは、「同じバイナリ」になっていそうで
しょうか? 「そうなってないよ」と仰られているように感じられるのです。m(__)m
すべてにおいて僕のスキルレベルの低さからきていることなので、「自分でや
って確認しろ」という場合には、どうぞ、どうぞ、無視してやってください。
MASM7, JWasm, MASM5.1などなど、明日、やってみるつもりでおります。
コメント、ありがとうございました。
- No.4631 -
このTreeへ
コメント元:4626 へ
[リストへもどる]
soft
(4254)
4632:
Re^3: MASM 8, OK?
投稿者:
- あじゃ -
2009/12/22(火) 00:32
参照先:http://aja.seesaa.net/
4631 番 文太 さんへのコメント コメント数 1
#04631 文太 さん
> この、僕が先ほどアセンブルしたものは、「同じバイナリ」になっていそうで
> しょうか? 「そうなってないよ」と仰られているように感じられるのです。m(__)m
自分で fc /b したほうが早くない?
- No.4632 -
このTreeへ
コメント元:4631 へ
[リストへもどる]
soft
(4254)
4634:
Re^4: MASM 8, OK?
投稿者:
文太
2009/12/22(火) 00:40
4632 番 - あじゃ - さんへのコメント コメント数 1
あじゃさん
>自分で fc /b したほうが早くない?
はい、ごもっともなのですが、何かそれ以上のものがありそうな気がしたもの
ですから。そして、高橋版バイナリは「えーと、えーと」とやらないと手に入ら
ないものですから。Visual C++ をDLするより時間がかからないと言えば、そ
れはそうなのですが…。
ありがとうございました。
寝ますね、おやすみなさい。寝れないんだなぁ、これが…。
- No.4634 -
このTreeへ
コメント元:4632 へ
[リストへもどる]
soft
(4254)
4635:
Masm 5.1, 7, 8, JW 結果
投稿者:
文太
2009/12/22(火) 20:25
4634 番 文太 さんへのコメント コメント数 2
sfishさん
正直、10年早かったなぁ、と思っておりますので、これ以上、手を煩わせた
り、僕のために時間を使ってもらったりするつもりはございません。
それでも、たくさん勉強させていただきました。
ただ、 僕と sfish さんでは「アセンブラが違う」というのもありましたし、
もう既にお手を煩わせてしまいましたので、ご報告はするべきだろうと考えまし
た。(JWasmは同じなんだよな…。困った。でも、そこまでやらないわけにもいか
なくて…。)
まず、MASM7です。
ml7 -omf -c -Cp scrn.asm >>asmerr. (ml7は、MASM 7)
こういうのが30行並んだバッチファイルで、以下のアセンブルエラーが出る
ようでした。
Assembling: scrn.asm
scrnibm.asm(947) : error A2006: undefined symbol : abputc1
scrnibm.asm(1217) : error A2006: undefined symbol : cls2
scrnibm.asm(1803) : error A2006: undefined symbol : chkkanjilow
scrnibm.asm(1816) : error A2006: undefined symbol : chkkanjilow
scrnibm.asm(1946) : error A2006: undefined symbol : csroff2
scrnibm.asm(2353) : error A2006: undefined symbol : cls2
次がMASM 8です。
確かに、MASM5.1で、sfishパッチを当ててないオリジナル高橋版ソースをアセ
ンブル・リンクしたときと同じ箇所( unresolved external 12箇所)がエラー
と表示されます。
ただ、
key.obj(key.asm) : error L2025: scankey : symbol defined more than once
が、MASM8 + sfish patch Vz sourceでは、リンク時に出ました。 いけないのか
どうなのか僕には判断がつきません。
実は、
>There were 14 errors detected (MASM8 / JWasm v2.02pre)
>There were 12 errors detected (MASM5.1)
という数え方の違いもあるようで、両者にある以下を加えると14個のエラー
となります。
LINK : warning L4021: no stack segment
fc /b の結果ですが、もちろん合いません。sfish さんのところで合うのです
から、たぶん、MASM8 のせいだろうと僕は思っています。とはいえ、JWasmでは???
もちろん、上の key.asm の箇所を直すスキルは僕にはありません。諦めます。
疑似命令もニーモニックの一部みたいなものでしょうから、しょうがないです。
>dir |to
1999/12/21 19:19 60,888 VZ.COM オリジナル高橋版(バイナリパッチ当て)
2009/12/21 23:18 60,886 VZIBMJ.COM MASM 8 + sfish source アセンブル版
^^^^^^^(1) ^(2)
(1)何の意図もないのですが、メリークリスマスな偶然。10年も経つのですねぇ…。
(2)涙の2バイトの差。fc /b 効かず…。昨晩は知らなかった…。
もう一度やったけど結果は同じ…。
VZIBMJ.COM 60,888 2009-12-22 17:20 MASM 5.1にて高橋版ソースより。
今日の感動。やった!
最後が、JWasm。
jwasm -q -omf -Zg -Cp -c /DIBMJ main.asm >>asmerr.
なバッチ、同じく30行にて。
結果は、
VZIBMJ.COM 60,886 2009-12-22 19:58
key.obj(key.asm) : error L2025: scankey : symbol defined more than once
ここは同じ。これ、エラーではないんだろうな? という思いに至る。(ただ
fc /b は駄目だろうな)。2バイトの壁は埋まりませんでした。
因みに、リンクその他は、
link /m /noi @vz.lnk,vzibmj;
exe2com vzibmj.exe vzibmj.com
どう書けば失礼にあたらず、「感謝しています」という気持ちが伝わるのか分
かりませんが、僕のスキル不足につきますので、ご立腹なさらずに、どうか、ど
うか、お願いいたします。「バカ、タコ、アホ、マヌケ」とか言いたい衝動に駆
られてしまうものなんですけどね、こういう場合。どうぞその衝動を抑えてくだ
され。お、抑えなくてもいいですけどね。
えーい、言っちゃえい! 「文太のバカ、タコ、アホ、マヌケ」 僭越ですが
代わりに言わせていただきましたので、品行方正なるsfishさんは、周りの人々の
手前もありますし、やはりここは、衝動のお方様は抑えたほうが良いかと。 m(_B_)m
真面目に感謝はしてますです、はい。
結局、うれしい結果ではありませんでしたが、一人ではこういうのやれないの
です。いい経験でした。
- No.4635 -
このTreeへ
コメント元:4634 へ
[リストへもどる]
pre
(4254)
4636:
unused var. & proc.
投稿者:
文太
2009/12/22(火) 20:54
4635 番 文太 さんへのコメント
高橋さんはどうして? と思ったのでした。
それで金野版では、エラーがでなかったのかぁ。少し進歩。一歩一歩。うふ。
;;; extrn readdir_lfn :near
;;; extrn texts :word
;;; extrn tmpnamep :word
;;; extrn init_module :near
;;; extrn writememtmp :near
;;; extrn flsyscall :near
;;; extrn readmemtmp :near
;;; extrn killmemtmp :near
;;; extrn chkdosheight :near
;;; extrn ems_free :near
;;; extrn altsize :byte
98で使われる?
scrn.obj(scrn.asm) : error L2029: 'sm_sensekey' : unresolved external
こっちのほうが気持ちが良いです。多謝 >konnoさん。
- No.4636 -
このTreeへ
コメント元:4635 へ
[リストへもどる]
pre
(4254)
4646:
Re: Masm 5.1, 7, 8, JW 結果
投稿者:
sfish
2009/12/23(水) 23:53
4635 番 文太 さんへのコメント コメント数 2
文太さん
> 正直、10年早かったなぁ、と思っておりますので、これ以上、手を煩わせた
> り、僕のために時間を使ってもらったりするつもりはございません。
10年早いということは、無いと思います。
> ml7 -omf -c -Cp scrn.asm >>asmerr. (ml7は、MASM 7)
これが、間違いの原因です。オプションに機種毎の -DIBMJ が必要です。
key.asm と scrn.asm は、機種によって読み込むファイルが違うので、
オプションが無ければエラーが多く出ます。こんな感じです。
> ml7 -omf -c -Cp scrn.asm -DIBMJ >>asmerr
> ml7 -omf -c -Cp key.asm -DIBMJ >>asmerr
MASM8 については、これから試してみます。
文太さんが、ご不満なようなのでリンクエラーが出ないようにしておきました。
http://junk.s21.xrea.com/files/t03k2sm6.lzh
- No.4646 -
このTreeへ
コメント元:4635 へ
[リストへもどる]
pre
(4254)
4648:
Re^2: Masm 5.1, 7, 8, JW 結果
投稿者:
文太
2009/12/24(木) 00:45
4646 番 sfish さんへのコメント コメント数 1
sfishさん
>> ml7 -omf -c -Cp scrn.asm >>asmerr. (ml7は、MASM 7)
>これが、間違いの原因です。オプションに機種毎の -DIBMJ が必要です。
>key.asm と scrn.asm は、機種によって読み込むファイルが違うので、
>オプションが無ければエラーが多く出ます。こんな感じです。
> > ml7 -omf -c -Cp scrn.asm -DIBMJ >>asmerr
やれやれ、ごめんなさい。さすがにそこは分かったつもりだったのに…。
それでも、やはり以下の結果です。
VZIBMJ.COM 60,886 2009-12-24 00:31 MASM 7
VZIBMJ.COM 60,886 2009-12-24 00:33 MASM 8
VZIBMJ.COM 60,886 2009-12-24 00:35 JWasm v2.02pre
^
VZIBMJ.COM 60,888 1999-12-21 19:19 高橋バイナリパッチ版
2バイトの差は埋まりません。どうぞ宜しくお願いいたします。
>文太さんが、ご不満なようなのでリンクエラーが出ないようにしておきました。
>http://junk.s21.xrea.com/files/t03k2sm6.lzh
これは原因が分かったし、理屈が分かったので、今回は試していません。
理屈が分かったのが(どうして 12 個はエラーが出ると sfish さんが自信を
もって言えたのか。金野版では出ないのか。なぜ金野さんはあの11箇所をコメ
ントアウトできたのか、などなど)嬉しかっただけです。他意はありません。
不満はとりわけなしです。まだ幸せではありませんが…。
- No.4648 -
このTreeへ
コメント元:4646 へ
[リストへもどる]
pre
(4254)
4677:
Re^3: Masm 5.1, 7, 8, JW 結果
投稿者:
sfish
2009/12/26(土) 00:03
4648 番 文太 さんへのコメント コメント数 1
文太さん
どこにコメントしていいか難しい状況になっていますが、ここにコメントします。
文太さんが、誤解されてるようなので、#4614 から貼り付けます。
#4614
|MASM6 の 5.1 モードで VZ を作ったときにできる vzibm.com, vzibmj.com, vz.com
|と T03K2SM6.EXE のソースで MASM6 ネイティブモードでアセンブルしたときにできる
|vzibm.com, vzibmj.com, vz.com が全く同じバイナリファイルになることを確認して
|います。
> それでも、やはり以下の結果です。
>
> VZIBMJ.COM 60,886 2009-12-24 00:31 MASM 7
> VZIBMJ.COM 60,886 2009-12-24 00:33 MASM 8
> VZIBMJ.COM 60,886 2009-12-24 00:35 JWasm v2.02pre
> ^
> VZIBMJ.COM 60,888 1999-12-21 19:19 高橋バイナリパッチ版
>
> 2バイトの差は埋まりません。どうぞ宜しくお願いいたします。
文太さんは、MASM の 5.1 モードで VZ を作っていないのです。
- No.4677 -
このTreeへ
コメント元:4648 へ
[リストへもどる]
pre
(4254)
4680:
Re^4: Masm 5.1, 7, 8, JW 結果
投稿者:
文太
2009/12/26(土) 02:37
4677 番 sfish さんへのコメント コメント数 2
sfishさん
>文太さんが、誤解されてるようなので、#4614 から貼り付けます。
ええ、僕もどこかに誤解があってくれればと祈っております。
>文太さんは、MASM の 5.1 モードで VZ を作っていないのです。
ええ、sfish さんの「MASM6 風パッチ」を当てたソースを対象にしているもの
ですから、「/Zm」(Enable MASM 5.10 compatibility)は指定していません。
指定すると、アセンブル・エラーが出るものですから。例外は、Jwasm です。こ
れは、T03K2SM6.TXT に指示があったとおり、
jwasm -q -omf -Zm -Cp -c -DIBMJ main.asm >>asmerr.
としていますが、生成されるのは「VZIBMJ.COM 60,886 2009-12-26 02:16」
といったサイズです。
ほんとうに、 sfish パッチを当てたあとのソースから、60,888 バイトのサイズ
を持ち、高橋版オリジナルとバイナリ一致する vzibmj.com ができるのでしょうか。
じつは僕は、 オリジナルと同じバイナリができるとは sfish さんは言ってない
と下を読んで、それなりに納得していたのです。
|MASM6 の 5.1 モードで VZ を作ったときにできる vzibm.com, vzibmj.com, vz.com
|と T03K2SM6.EXE のソースで MASM6 ネイティブモードでアセンブルしたときにできる
|vzibm.com, vzibmj.com, vz.com が全く同じバイナリファイルになることを確認して
|います。
さらに僕の理解はこのようなものでした。
T03K2SM6.EXE のソースには、MASM6 の 5.1 モードは必要ないと。
また「MASM6 の 5.1 モードで VZ を作ったときにできる」 の対象は、
T03K2SM6.EXE の当たっていない高橋さんのソースであると。
繰り返しですが、僕は sfish さんと同じ MASM6 は持っていませんので、「MASM6
の 5.1 モードで (高橋ソースから)VZ を作成することはできません。ですから、
MASM 7/8 の 5.1 モードではエラーが出る(MASM6旧版に同じ)ことだけを確認して
います。m(__)m
- No.4680 -
このTreeへ
コメント元:4677 へ
[リストへもどる]
soft
(4254)
4682:
バイナリ一致の相手、「5.1モード」、JWasm
投稿者:
文太
2009/12/26(土) 13:26
4680 番 文太 さんへのコメント コメント数 1
sfishさん
しつこく何度も申し訳ございません。さらにお手を煩わせていただかなければ
なりません。ごめんなさい。
(内容的には、親発言の #04680 と同じです。あるいは新しい情報は含まれて
いないつもりです。)
周りの方々にもこれだけ迷惑をかけてしまっている以上、着地点まで行かない
わけにもいかないのです。
根本的な僕の勘違いがある、と思っています。
つまり、 高橋オリジナルとバイナリ一致する sfish Vz(と呼ばせていただき
ますね)ができることはないのだ、と考えており、それが一致するはずだ、とい
うのが勘違いであった、と。
ただ、あまりに僕が稚拙で、あまりに多くの初歩的間違いを繰り返したために、
さらに MASM のヴァージョンという厄介な話が絡んだために、うまく情報交換で
きていないと思いますので、整理して確認させてください。これは僕以外の人に
も有益でありうる情報だと考えるからです。
sfish 文太
----------------------------------------------------------------------
MASM 6 6.15.8803 (#04616) 6.14.8444 (#04649)
MASM 7 7.10.4035 (#04649)
MASM 8 8.00.50727.104 (#04650)*1 8.00.50727.218 (#04649)
----------------------------------------------------------------------
sfish パッチ使用後の高橋版ソースから sfish Vz を作ろうとしてきた際の、
MASM のヴァージョンの表です。(#nnn) は発言番号です。
sfish さんが MASM 7 のどの版を使われているのか、使われたのかは分かりま
せん。ログに記録がないということです。
そして、MASM 6/8 に関しては、sfish さんと僕では使用した版が違います。
発言 #04650 においては(*1)、文太使用版の「8.00.50727.218」では、文太
に同じく「リンクエラーが出る」と sfish さんは発言されています。
ということは、sfish さんと僕が共通して持てるアセンブラは、JWasm だけと
いうことになります。 これから sfish パッチを使ってみようとする方々の多く
も、そうなるのではないかと思います。
そこで、JWasm での「MASM の 5.1 モード」でのアセンブル・オプションをご
教示願えませんでしょうか。
もちろん、JWasm を使った場合、「MASM の 5.1 モード」でしか高橋版ソース
(sfish パッチ当て済み)はアセンブルできないと思っておりますので、アセン
ブル・オプションは以下のようになると思います(#04680 に記載のまま)。
jwasm -q -omf -Zm -Cp -c -DIBMJ main.asm >>asmerr.
これと違いますでしょうか?
同じ場合、できあがる vzibmj.com のファイル・サイズはいくつになりますで
しょうか?
60,886 バイトになるのなら、「オリジナル高橋版」とはバイナリ一致はしま
せんよね?
最後に、 一番最初に戻りますが、sfish Vz が「オリジナル高橋版」とバイナ
リ一致することは、そもそも期待されておりますでしょうか?
何やら同じところを何度も何度も回っているようで、回らせてしまっているよう
で、ほんとうに申し訳なく思っております。
- No.4682 -
このTreeへ
コメント元:4680 へ
[リストへもどる]
pre
(4254)
4687:
JWasm バイナリ一致!
投稿者:
文太
2009/12/26(土) 20:23
4682 番 文太 さんへのコメント
sfishさん
分かりました。「ほんとうに?」と言われると自信がありませんが。m(__)m
数々の書き間違え、申し訳ありませんでした。
>dir vzibmj?.com |to
2009/12/26 20:10 60,886 VZIBMJg.COM JWasm -Zg
2009/12/26 20:13 60,886 VZIBMJm.COM JWasm -Zm (MASM5.1 compatible)
>fc /b VZIBMJG.COM VZIBMJM.COM |to
ファイル VZIBMJg.COM と VZIBMJm.COM を比較しています
FC: 相違点は検出されませんでした
- No.4687 -
このTreeへ
コメント元:4682 へ
[リストへもどる]
pre
(4254)
4689:
Re^5: Masm 5.1, 7, 8, JW 結果
投稿者:
sfish
2009/12/27(日) 00:18
4680 番 文太 さんへのコメント コメント数 1
文太さん
> ええ、sfish さんの「MASM6 風パッチ」を当てたソースを対象にしているもの
> ですから、「/Zm」(Enable MASM 5.10 compatibility)は指定していません。
説明が足りなかったようで申し訳ないのですが、5.1 モードでアセンブルするのは、
高橋版のソース(src.exe+t03k2sup.com)です。少しエラーが出ますが、少々の修正で
アセンブルできます。下記の説明がわかりにくかったら今回のパッチの当たったソース
の該当する部分と比較してみて下さい。
MASM の 5.1 モードでファイル keyibm.asm (25, 109, 110, 120, 122, 123 行)
にエラーが出ますが、@F を他と重ならないように @FN 等に変更します。
一括変換すると S@F 等も変換されてしまい誤動作するので、該当箇所だけ変更
して下さい。509行は、上記の修正が終わればエラーが消えます。
JWasm の 5.1 モードでファイル msg.asm (12, 93行) と string.asm (159行) に
エラーが出ますが、全て同じ原因でマクロの区切り文字をスペースから ',' に
変更すれば、エラーが消えます。
> 指定すると、アセンブル・エラーが出るものですから。例外は、Jwasm です。こ
> れは、T03K2SM6.TXT に指示があったとおり、
>
> jwasm -q -omf -Zm -Cp -c -DIBMJ main.asm >>asmerr.
>
> としていますが、生成されるのは「VZIBMJ.COM 60,886 2009-12-26 02:16」
> といったサイズです。
これは、JWasm のバグですね。こちらでも確認しました。バグ報告します。
同じアセンブラー同士で比較すれば、アセンブラーのバージョンとは、関係無いと
思います。ただ、JWasm の -Zg オプションがあると(完全でなく)一部 MASM 風の
バイナリになりますので、両方に付けない等一致させて下さい。
- No.4689 -
このTreeへ
コメント元:4680 へ
[リストへもどる]
soft
(4254)
4691:
バイナリ一致検証(再)
投稿者:
文太
2009/12/27(日) 16:10
4689 番 sfish さんへのコメント コメント数 1
sfishさん
ほんとうに色々とありがとうございました。前提的知識がもろに不足しており
まして、変なことをたくさん考え、たくさんお伝えしてしまいました。それでも
お陰様で、すんごい勉強になりました。m(__)m
何とか検証できたようです。
しかし、JWasm のバグであれが通ってしまい検証できたつもりになってたわけ
ですね、とほほ。see #04687.
以下は、なるたけ情報を整理しようと、sfish さん宛でない書き方になってい
ます。m(__)m
(材料)
>dir |to
2009/12/27 12:35 60,886 VZIBMJ65.COM
2009/12/27 12:55 60,886 VZIBMJ6_.COM
2009/12/27 12:33 60,886 VZIBMJ75.COM
2009/12/27 12:53 60,886 VZIBMJ7_.COM
2009/12/27 12:52 60,886 VZIBMJ8_.COM
2009/12/27 12:49 60,886 VZIBMJJ5.COM
2009/12/27 12:57 60,886 VZIBMJJ_.COM
AB
A: (assembler version) 6 = MASM6, 7 = MASM7, 8 = MASM8, J = JWasm
As for minor version, see #04649.
B: (assembling mode) 5 = 5.1 masm compatible (-Zm), _ = none or -Zg
※MASM 8で、5.1モードではアセンブル不可だったので「VZIBMJ85.COM」はない。(注)
(検証)
>fc /b VZIBMJ65.COM VZIBMJ6_.COM |to 【A】
ファイル VZIBMJ65.COM と VZIBMJ6_.COM を比較しています
FC: 相違点は検出されませんでした
>fc /b VZIBMJ75.COM VZIBMJ7_.COM |to 【B】
ファイル VZIBMJ75.COM と VZIBMJ7_.COM を比較しています
FC: 相違点は検出されませんでした
>fc /b VZIBMJJ5.COM VZIBMJJ_.COM |to 【C】
ファイル VZIBMJJ5.COM と VZIBMJJ_.COM を比較しています
FC: 相違点は検出されませんでした
>fc /b VZIBMJ6_.COM VZIBMJ75.COM |to 【D】
ファイル VZIBMJ6_.COM と VZIBMJ75.COM を比較しています
FC: 相違点は検出されませんでした
>fc /b VZIBMJ65.COM VZIBMJJ5.COM |to 【E】
「一致せず」ダダダダダと違いがリストされる
というわけで、
(結論)
(1)(幾つかの例外を除いて原則的に)sfish パッチ有りソースを MASM6/7/8,
JWasm でアセンブルした場合と、sfish パッチなしソースを MASM6/7/8, JWasm
の「MASM5.1 モード」でアセンブルした場合では、バイナリ一致しますので、
高橋オリジナルより2バイト少ないとはいえ、sfish Vz はノーマルに稼働する
ことが期待されます。【A】【B】【C】
(1−1)アセンブラによって「ファイルサイズ」まで小さくなるなんて、想
像すらできなかった。
(2)また「同じアセンブラー同士で比較すれば、アセンブラーのバージョン
とは、関係無いと思います」とあるように、MASM6/7/8 では、同じバイナリを吐
きます。【D】
(2−1) 当たり前ですが、MASM5.1 と MASM6/7/8 のあいだにある壁が、
sfish パッチの存在意義です。そして【もちろん】(笑&汗)、【違う】バイナリ
を吐きます。
(3) しかし、#04685 にもありますように、たとえ同じファイルサイズであ
っても、そして同じように動く実行ファイルでも、アセンブラによって実行ファ
イルの中身は違っていて、「バイナリ一致」しません。それでもこれが「健康で
ない実行ファイルが生成されてしまった」ことは意味しません。【E】
(注)前にも挙げましたが、エラー・メッセージは以下。MASM8 のバグ?
(これも、MASM8 のマイナーヴァージョンによって違う)
高橋ソース、マニュアル修正後ソースを相手に
ml8 -c -Cp -Zm -DIBMJ -omf main.asm >>asmerr.
を実行すると
---------------------------------
filer.asm(2505) : error A2022: instruction operands must be the same size
movhl(1): Macro Called From
filer.asm(2505): Main Line Code
---------------------------------
と出る。
該当部は、sfishパッチ当てソースでも同じ。
(参考)−−vzibmj.com 作成時
【MASM 5.1 モードのアセンブル・オプション】(対象:オリジナル+手修正)(注2)
masm6 >ml -c -Cp -Zm -DIBMJ main.asm >>asmerr.
masm7 >ml7 -c -Cp -Zm -DIBMJ -omf main.asm >>asmerr.
masm8 >ml8 -c -Cp -Zm -DIBMJ -omf main.asm >>asmerr.
JWasm >jwasm -c -Cp -Zm -DIBMJ -omf -q main.asm >>asmerr.
【MASM 6 モードのアセンブル・オプション】(対象:sfishパッチ後ソース)
masm6 >ml -c -Cp -DIBMJ main.asm >>asmerr.
masm7 >ml7 -c -Cp -DIBMJ -omf main.asm >>asmerr.
masm8 >ml8 -c -Cp -DIBMJ -omf main.asm >>asmerr.
JWasm >jwasm -c -Cp -Zg -DIBMJ -omf -q main.asm >>asmerr.
(注2) #04689 の「手修正」インストラクションは、ものすごく丁寧であり
がたかったのだけど、一箇所足りなかったと思う。ただ、エラーが出たら、
sfishパッチ後ソースと比較して直せばいいだけです。
- No.4691 -
このTreeへ
コメント元:4689 へ
[リストへもどる]
pre
(4254)
4694:
Re: バイナリ一致検証(再)
投稿者:
sfish
2009/12/27(日) 22:43
4691 番 文太 さんへのコメント コメント数 1
文太さん
ご苦労さんでした。そして、長々と付き合っていただきありがとうございます。
暫く休んだら今度は、文太さんがパッチを作ってみませんか?
DOS MASM 5.1用の高橋版ソースを MASM6/7 の 5.1モード対応にするパッチです。
今回のパッチより必要としている人は、多いような感じがします。
> 高橋ソース、マニュアル修正後ソースを相手に
> ml8 -c -Cp -Zm -DIBMJ -omf main.asm >>asmerr.
> を実行すると
> ---------------------------------
> filer.asm(2505) : error A2022: instruction operands must be the same size
> movhl(1): Macro Called From
> filer.asm(2505): Main Line Code
> ---------------------------------
> と出る。
MASM8 の新旧バージョンで同じようになりました。5.1モードの互換性が低くなってる
のかもしれません。
|key.obj(key.asm) : error L2025: scankey : symbol defined more than once
このエラーについて勘違いしていました。修正しましたので必要な方は、ご利用下さい。
ご迷惑おかけしました。
http://junk.s21.xrea.com/files/t03k2sm6.lzh
- No.4694 -
このTreeへ
コメント元:4691 へ
[リストへもどる]
pre
(4254)
4702:
Re^2: バイナリ一致検証(再)
投稿者:
文太
2009/12/28(月) 01:02
4694 番 sfish さんへのコメント
sfishさん
>ご苦労さんでした。そして、長々と付き合っていただきありがとうございます。
いえいえ、とんでもありません。こちらこそ長々とつき合わせてしまい、申し
訳ございませんでした。お陰様で、本当にたくさん勉強させて頂きました。
>暫く休んだら今度は、文太さんがパッチを作ってみませんか?
なるほど、おっしゃっていることが理解できるのに、しばらく時間がかかりま
した。MASMの仕様変更をきちんと理解するのに悪くない課題です。とりわけ
今回のリンクエラーがどうやって解決されたのかは、興味津々です(ちょっとず
れました)。
じつは、当然、sfish パッチ当て before/after のディレクトリを作り、diff
したのです。 そして、T03K2SM6.TXT 片手に、地道にやるか(このやり方は解答
があるわけでちっとも地道ではないですが)と思ったのですが、ああ、行が違っ
てる、正規表現ならこの違いどうする? などなどとブツブツして挫折したので
す。
(元にもどって)パッチの公開はないと思いますが、とても良い勉強材料が手
に入りましたので、こつこつと勉強させて頂きます。
>MASM8 の新旧バージョンで同じようになりました。5.1モードの互換性が低くなってる
>のかもしれません。
MASM 7 が入手困難という状況まできている以上、MASM 6 コーディングへの変
換はますます一般性が高まりそうですね(ちょっと論理的ジャンプをしてます
>おーる)。
MASM32 サイトで、MASM 6 はまだ落とせますよ。 そして金野版は MASM6 も通
ります>おーる2。
現在入手可能な MASM8 を使用するしかない場合、MASM 6 コーディングが必要
なのです。MASM6/7/8は、6コーディングである限り同じ振る舞いです>おーる3
(蛇足)
>|key.obj(key.asm) : error L2025: scankey : symbol defined more than once
>このエラーについて勘違いしていました。修正しましたので必要な方は、ご利用下さい。
完璧でした。
MKJW6.BAT, MKML6.BAT, MKML7.BAT, MKML8.BAT(678用に分けました)、
完動・感動です。
>dir vzibmj*.* |to
2009/12/28 00:36 60,886 VZIBMJ6.COM MASM 6
2009/12/28 00:37 60,886 VZIBMJ7.COM MASM 7
2009/12/28 00:38 60,886 VZIBMJ8.COM MASM 8
2009/12/28 00:33 60,886 VZIBMJJ.COM JWasm
>fc /b VZIBMJ6.COM VZIBMJ7.COM |to
ファイル VZIBMJ6.COM と VZIBMJ7.COM を比較しています
FC: 相違点は検出されませんでした
>ご迷惑おかけしました。
完全に、200%、とんでもございません。
ほんとうに、ほんとうに、ありがとうございました。m(_B_)m
- No.4702 -
このTreeへ
コメント元:4694 へ
[リストへもどる]
pre
(4254)
4650:
Re^2: Masm 5.1, 7, 8, JW 結果
投稿者:
sfish
2009/12/24(木) 00:54
4646 番 sfish さんへのコメント コメント数 1
文太さん
MASM8 なんですが、動作が変わってますね。
今年の2月に入手したもの
| Microsoft (R) Macro Assembler Version 8.00.50727.104
| Copyright (C) Microsoft Corporation. All rights reserved.
こちらだとリンクできるんだけど、
今月入手したもの
| Microsoft (R) Macro Assembler Version 8.00.50727.218
| Copyright (C) Microsoft Corporation. All rights reserved.
新しい方だとこのエラーが出ます。
| key.obj(key.asm) : error L2025: scankey : symbol defined more than once
| LINK : warning L4021: no stack segment
古いバージョンの方がいいみたいですね。
- No.4650 -
このTreeへ
コメント元:4646 へ
[リストへもどる]
soft
(4254)
4652:
Re^3: Masm 5.1, 7, 8, JW 結果
投稿者:
文太
2009/12/24(木) 01:19
4650 番 sfish さんへのコメント コメント数 1
sfishさん
>MASM8 なんですが、動作が変わってますね。
やれやれ。古いMASM 8 だと、バイト数もきっちり、60,888になるわけですね。
>新しい方だとこのエラーが出ます。
| key.obj(key.asm) : error L2025: scankey : symbol defined more than once
| LINK : warning L4021: no stack segment
ああ、見慣れたメッセージ。
というわけで、皆が持っていそうで入手可能な、MASM6/7/8 では、sfish パッチ
は効かない、ということになりますか? 「いけるようになるでしょう」 と
konno さんに書いたばかりなのに…。
うーん、ソースのほうをいじることで、何とかなるものなのでしょうか?
JWasmはどうでしょう?
- No.4652 -
このTreeへ
コメント元:4650 へ
[リストへもどる]
soft
(4254)
4653:
Re^4: Masm 5.1, 7, 8, JW 結果
投稿者:
文太
2009/12/24(木) 11:30
4652 番 文太 さんへのコメント コメント数 1
sfishさん
追記です。
>新しい方だとこのエラーが出ます。
| key.obj(key.asm) : error L2025: scankey : symbol defined more than once
| LINK : warning L4021: no stack segment
これは、MASM 7/8 で出、JWasm では出ません。 それでも2バイト不足の (?)
60,886 の vzibmj.com が出来ることには変わりありません。
- No.4653 -
このTreeへ
コメント元:4652 へ
[リストへもどる]
soft
(4254)
4654:
古い MASM6 結果
投稿者:
文太
2009/12/24(木) 16:04
4653 番 文太 さんへのコメント コメント数 1
>ml
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
(sfishさんがお持ちのMASM6より古く、MASM32サイトから今でも落とせるもの)
これでも「/Zm」 オプションを付けなければ、sfish パッチ当て済み高橋版ソ
ースが、ちゃんとアセンブルできます。1つエラーが出ますが(例の「key.asm,
scankey」シンボル2回以上定義)、リンクもできます。 しかし、結果は、以下
のサイズです。
VZIBMJ.COM 60,886 2009-12-24 15:51
まとめますと、MASM 6/7/8, JWasmの全てで同じ結果になる、ということです。
きっと、 sfish さんのところ(MASM 6 新しいヴァージョン)でも同じなので
はないかと想像しています。
というわけで、おそらく、「fc /b」では違いが出てしまうと思う。
「バイナリ一致した」というのには何か技があるのか、勘違いか、ということ
になりますでしょうか? 一致しなくても動作に支障なし、ということなら、そ
れはそれで、幸運なニュースということになるのですが。
- No.4654 -
このTreeへ
コメント元:4653 へ
[リストへもどる]
soft
(4254)
4656:
Re: 古い MASM6 結果
投稿者:
としき
2009/12/24(木) 21:43
参照先:http://www.hinocatv.ne.jp/~toshiki/
4654 番 文太 さんへのコメント コメント数 1
隣家が、じゃなくてリンカが賢くなって、無駄なnopを削除しただの、ジャンプの
最適化の関係でファイルサイズが違うのなら、動作に問題は出ないでしょう。
これに該当する場合は、fc /bを行ったときに、1バイト違いで同じバイナリの値
がずらずらと出力されるので見れば分かります。
あとは、マップファイルを出力させておいて、fc /bを行って最初に相違が発生す
るアドレスがどこに含まれているか、というところから追いかけるという方法も
あるのですが、これは不慣れな文太さんには難しいかもしれません。って、私も
もう10年くらい行っていないので、理屈はこねることができても、実際に行う
のは無理だなぁ。
- No.4656 -
このTreeへ
コメント元:4654 へ
[リストへもどる]
soft
(4254)
4658:
Re^2: 古い MASM6 結果
投稿者:
文太
2009/12/24(木) 23:02
4656 番 としき さんへのコメント コメント数 2
としきさん
VZ.COM 60,888 1999-12-21 19:19 original高橋版
VZIBMJ.COM 60,886 2009-12-21 23:18 sfish patch 版
ファイル VZ.COM と VZIBMJ.COM を比較しています
0000000C: 92 90
0000046E: 87 86
0000059C: 39 38
000005AC: 0C 0B
000005BE: 87 85
000005C0: B5 B3
000005C2: 73 71
000005C4: 7D 7B
何しろたったの2バイトですから…。
きっとまともに動くのじゃないかなぁ、とは僕も思ってました。オブジェクト
・ファイルのサイズもどんどん小さくなっていってるみたいだったし(新しいほ
ど賢いのだろうと)。
でも、上で2バイトずれていたり、1バイトのずれになったりですが、左欄の
アドレスがあとは2バイトずつの繰り上がり、というわけでもなくてぇ。
>あとは、マップファイルを出力させておいて、fc /bを行って最初に相違が発生す
>るアドレスがどこに含まれているか、というところから追いかけるという方法も
>あるのですが、これは不慣れな文太さんには難しいかもしれません。
総じて、全体に不慣れな自分がもがいたりしない方が良いことだとは、僕も思
っています。m(__)m
ただ、原因が分かって直せて「sfish パッチ、完璧です」(もう既にそうなの
かもしれないけど)となったらいいなと、お祈りしたりしてるわけです。
- No.4658 -
このTreeへ
コメント元:4656 へ
[リストへもどる]
pre
(4254)
4660:
link.exe
投稿者:
文太
2009/12/24(木) 23:33
4658 番 文太 さんへのコメント
>dir c:\bin\link.exe |to
1995/01/13 14:10 364,544 LINK.EXE
>dir c:\masm5\link.exe |to
1990/06/21 00:00 65,539 LINK.EXE
上がずっと使ってきていたリンカ。16ビット用。下がMASM5付属のもの。
結果は同じでした。
- No.4660 -
このTreeへ
コメント元:4658 へ
[リストへもどる]
pre
(4254)
4661:
Re^3: 古い MASM6 結果
投稿者:
としき
2009/12/24(木) 23:46
参照先:http://www.hinocatv.ne.jp/~toshiki/
4658 番 文太 さんへのコメント コメント数 1
> ファイル VZ.COM と VZIBMJ.COM を比較しています
これ、一番最初の部分ですよね。
これなら、たぶん、問題なく動く可能性が高いパターンだと思います。
これらはほとんど、アドレスの即値がずれている部分でしょう。
ところで、後ろのほうになると、このような飛び飛びのアドレスではなく連続で
違いがある部分というのがありますよね。
以下、架空の例ですが
0000EDCD: 6B 68
0000EDCF: 68 73
0000EDD0: 61 68
0000EDD1: 73 69
0000EDD2: 68 0D
0000EDD3: 69 0A
0000EDD4: 0D 24
0000EDD5: 0A 00
こういうふうに差異があるアドレスが連続している部分が途中から始まっている
と思います。
私が気にしているのは、このように連続している部分の最初のアドレスはどこか、
ということです。そのアドレスが分かったからといって、私には、そして多分、
文太さんにもどうしようもないと思いますが、適切な人が適切な手段を用いれば、
ソースのどの部分で何が起こっているのかということが分かるはずです。
- No.4661 -
このTreeへ
コメント元:4658 へ
[リストへもどる]
pre
(4254)
4664:
FC結果ファイルから
投稿者:
文太
2009/12/25(金) 00:03
4661 番 としき さんへのコメント コメント数 4
としきさん
FCファイルの末尾です。
0000EDCA: 2E 61
0000EDCB: 54 6B *
0000EDCD: 6B 68
0000EDCF: 68 73 *
0000EDD0: 61 68
0000EDD1: 73 69
0000EDD2: 68 0D
0000EDD3: 69 0A
0000EDD4: 0D 24
0000EDD5: 0A 00
FC: VZ.COM は VZIBMJ.COM より長いファイルです
簡単じゃないと思う…。
こんなの目で終えないよ、と、えーと矩形ブロックの検索は無理だよなぁ、な
んかうまくやれないのかぁ、と思って、「しょうがない、1文字1文字ずらして
いくか」と以下のようにやり始めて、あ、あった、だ、駄目だ、と。
p="013456789ABCDEF",
&x(7)
- No.4664 -
このTreeへ
コメント元:4661 へ
[リストへもどる]
pre
(4254)
4666:
Re: FC結果ファイルから
投稿者:
- あじゃ -
2009/12/25(金) 01:08
参照先:http://aja.seesaa.net/
4664 番 文太 さんへのコメント
#04664 文太 さん
> FCファイルの末尾です。
途中を抜かして書いてない?
com の末尾は 〜 H.Takahashi の文字列が入ってる部分のはずなんだけど。
0000EDCA: 2E . 61 a
0000EDCB: 54 T 6B k
C a a
0000EDCD: 6B k 68 h
E a a
0000EDCF: 68 h 73 s
0000EDD0: 61 a 68 h
0000EDD1: 73 s 69 i
0000EDD2: 68 h 0D
0000EDD3: 69 i 0A
0000EDD4: 0D 24
0000EDD5: 0A 00
・・・
あ、そうか、'a' ($61) が一致してるから fc で出力されなかったわけね。
- No.4666 -
このTreeへ
コメント元:4664 へ
[リストへもどる]
pre
(4254)
4667:
Re: FC結果ファイルから
投稿者:
- あじゃ -
2009/12/25(金) 01:26
参照先:http://aja.seesaa.net/
4664 番 文太 さんへのコメント コメント数 2
#04664 文太 さん
正常に動作する vz.com ができているのであれば、
・二つの.com を逆アセンブルしたテキストを比較してみる。
・二つの.com をバイナリエディタでのぞいて文字列の部分を確認する。
という方法が、初級レベルとしては分かりやすいかも。
それをやってみれば↓の意味も分かると思う。
(#04656 としき さん)
> 隣家が、じゃなくてリンカが賢くなって、無駄なnopを削除しただの、ジャンプの
> 最適化の関係でファイルサイズが違うのなら、動作に問題は出ないでしょう。
> あとは、マップファイルを出力させておいて、fc /bを行って最初に相違が発生す
> るアドレスがどこに含まれているか、というところから追いかけるという方法も
マップファイルって、、、何じゃろ (^^;
- No.4667 -
このTreeへ
コメント元:4664 へ
[リストへもどる]
soft
(4254)
4668:
Re^2: FC結果ファイルから
投稿者:
文太
2009/12/25(金) 02:00
4667 番 - あじゃ - さんへのコメント コメント数 1
あじゃさん
>正常に動作する vz.com ができているのであれば、
>・二つの.com を逆アセンブルしたテキストを比較してみる。
>・二つの.com をバイナリエディタでのぞいて文字列の部分を確認する。
逆アセって、
>debug vz.com
>-l
>-u
をダダダダダとやってくれて、それをリダイレクトする方法というのはありま
すでしょうか?
普通禁止されていることだと思うので、unasm.exe みたいなものはないのだろ
うな、と想像しました。
で、 僕が、あっ、あれは? と思ったのは、dump して、結果リダイレクトし
て、2つのダンプ結果を diff するというものだったのですが、壮絶な違いでした。
>それをやってみれば↓の意味も分かると思う。
>> 隣家が、じゃなくてリンカが賢くなって、無駄なnopを削除しただの、ジャンプの
>> 最適化の関係でファイルサイズが違うのなら、動作に問題は出ないでしょう。
ここでは、意味が分からなくて良い、判断。
抽象的には分かりますけれど、自分の手を動かして結果が出せないなら、ここ
の意味が分かっても「意味ないよなぁ」と。怠惰なんですけどね。
sfishさん以外、結果は出せないでしょう?
ここに書くのも何なのですけれど。
#04626で、sfishさんは、こう書いていました。
>「今回のパッチで作ったもの」と「高橋版VZを MASM5 モードで作ったもの」は、
>全く同じバイナリになります。
アセンブル・エラー、リンク・エラーが何を言ってくれているのか分からない、
僕は、結局、「高橋版 VZ を MASM5 モードで作」ることはできませんでしたが、
sfish さんは、オリジナル高橋版と同じものが、sfish パッチ+MASM6で作
れる、と言っていたわけではありません。
なので、2バイトの差を埋める意味はないのかもしれません。
こ、この時間…。メリー・クリスマス。何をやってるんだろう?
- No.4668 -
このTreeへ
コメント元:4667 へ
[リストへもどる]
soft
(4254)
4670:
Re^3: FC結果ファイルから
投稿者:
- あじゃ -
2009/12/25(金) 08:45
参照先:http://aja.seesaa.net/
4668 番 文太 さんへのコメント コメント数 1
#04668 文太 さん
fgaldc mes15 #10613 高橋さんの発言より
> あっしのやり方。
>
> exdeb vzibm.com
> ->disasm.dat
> u 100 cx+100 ; この場合、com だから +100。
> q ; q はリスト出力中に押す。終わると q が出る
清十郎さんの exdeb を使う場合です。
> sfishさん以外、結果は出せないでしょう?
そんなことはないですよ。
- No.4670 -
このTreeへ
コメント元:4668 へ
[リストへもどる]
pre
(4254)
4673:
Re^4: FC結果ファイルから
投稿者:
文太
2009/12/25(金) 14:38
4670 番 - あじゃ - さんへのコメント
あじゃさん
お教えありがとうございました。そうかぁ、こうやって逆アセするのかぁ。
>fgaldc mes15 #10613 高橋さんの発言より
ありがたきは高橋様。ちゃんとメモってるところが、あじゃさんもすごい。
ありがとうございました。
SFと「たいれる」と中田の話にはまってしまいました。
ですが、
DISASMS.DAT 1,067,632 2009-12-25 14:21 sfish patch + MASM 6/7/8
DISASMT.DAT 1,085,678 2009-12-25 14:25 original + MASM 5.1
これでは、ちょっと。 いくつかの nop は確認できましたが、コードが変わっ
てますよ、かなり…。たった2バイトの違いのはずが…。
>> sfishさん以外、結果は出せないでしょう?
>そんなことはないですよ。
僕以外の誰かなら結果をだせるのかもしれない…。
ありがとうございました。
- No.4673 -
このTreeへ
コメント元:4670 へ
[リストへもどる]
pre
(4254)
4672:
Re^2: FC結果ファイルから
投稿者:
としき@会社
2009/12/25(金) 14:34
参照先:http://www.hinocatv.ne.jp/~toshiki/
4667 番 - あじゃ - さんへのコメント
> マップファイルって、、、何じゃろ (^^;
アセンブラが出力するものだと間違って記憶していましたが、これってリンカが
出力するものでしたね。
要は、ラベルのアドレスの一覧です。
これを見れば、どのファイルのどのプロシージャがどのアドレスに配置された、
ということがわかります。
が・・・、ググってみたけど、最近はマップファイルってあんまり使わないよう
ですねぇ。
- No.4672 -
このTreeへ
コメント元:4667 へ
[リストへもどる]
pre
(4254)
4671:
Re: FC結果ファイルから
投稿者:
としき@会社
2009/12/25(金) 14:20
参照先:http://www.hinocatv.ne.jp/~toshiki/
4664 番 文太 さんへのコメント
> 簡単じゃないと思う…。
> こんなの目で終えないよ、と、えーと矩形ブロックの検索は無理だよなぁ、な
下から(後ろから)追いかけると大変かもしれませんが、上からなら何とかなる
のではと、割と簡単に考えています。
あとは、二分割法というのかな、行数の半分、半分、半分で一画面を表示させて、
ぱっと見て連続しているかどうかで判別する、というので何とかなりそうな気も
しますが、実際に試していないので机上の空論かも。
- No.4671 -
このTreeへ
コメント元:4664 へ
[リストへもどる]
pre
(4254)
4674:
Re: FC結果ファイルから
投稿者:
文太
2009/12/25(金) 15:08
4664 番 文太 さんへのコメント コメント数 1
としきさん
僕は、この件をもう深追いしませんが…。
00002CED: 09 08
00002CEF: 9E 9C
00002CF5: 02 01 (a)
00002CF6: 90 58
00002CF7: 58 E8
|
00002D6F: 44 04
00002D71: 04 75 *
上からみてバラバラが続く。 割とすぐに (a) の地点へ。(a) のアドレス地点
から1の位(!)が1つずつインクリメントされていく、と思いきや、(*) のと
ころが−− (a) から60行くらい−−、またトビトビ。 で、前に見たように、
最後のところですら非連続。だとすると、非連続が非連続に何回も出現する、と
いうのが印象なのです。「ここから1インクリメント連続」という地点をピンポ
イントするのは難しそうです。
向上心がなさすぎると言えなくもないけど、ここまで追いかける予定はロード
マップに入ってなかったものですから、僕は撤退です。
もちろん、sfish patch あて高橋版がちゃんと動作するかどうか、が問題なの
ではなく、sfish 変換スクリプト(これの中身を知るのは僕にもできる)が金野
版に適用でき、 そしてそれによって、金野版が MASM 6/7/8/,JWasm を通せる、
ということが大事なのだとは思うけど、 これは sfish さんと金野さんがどうさ
れるか、という問題なんでしょう?
我々は sfish さんのお手伝いをしているわけですか? まさかぁ、と思うの
です。それとも文太の教育? ありがたいことですが、それは学習者が怠け者で
すから(求めているものが違うのです、ごめんなさい)、そいつはのけにしてや
ったほうが良いと思います。
マップ・ファイルの比較も、ちょっとちょっとという感じになりそうに感じま
した。逆アセ作戦を少し始めてみて…。
不慣れな文太ですから、こんなに一生懸命「撤退宣言」を強調する必要はない
のですけれど。
- No.4674 -
このTreeへ
コメント元:4664 へ
[リストへもどる]
pre
(4254)
4675:
Re^2: FC結果ファイルから
投稿者:
- あじゃ -
2009/12/25(金) 19:07
参照先:http://aja.seesaa.net/
4674 番 文太 さんへのコメント コメント数 1
#04674 文太 さん
目的がはっきりしてないから迷走してるんじゃない?
文太版VZを作りたい、とか、そこまでいかなくてもアセンブラ学習の一環と
してやってるのかと思って見てたけど、そうじゃないみたいだし。
そもそもVZをアセンブルしてみようと思ったのは何で?
- No.4675 -
このTreeへ
コメント元:4674 へ
[リストへもどる]
soft
(4254)
4676:
Re^3: FC結果ファイルから
投稿者:
文太
2009/12/25(金) 21:11
4675 番 - あじゃ - さんへのコメント コメント数 2
あじゃさん
>目的がはっきりしてないから迷走してるんじゃない?
実にまったくそのとおりで。あとVzアセンブルを舐めていた…。
>文太版VZを作りたい、とか、そこまでいかなくてもアセンブラ学習の一環と
>してやってるのかと思って見てたけど、そうじゃないみたいだし。
少しそのような可能性がちらちらした瞬間があったのは事実ですが、基本的に
これはないですねぇ。そこまで自惚れてないし、Vzソースを舐めてはいない。
それでもちらちら眺めてしまう…。どうして君にはこんなことができるんだ、
Vz君…???
>そもそもVZをアセンブルしてみようと思ったのは何で?
パッチが登場したのに誰も試してみなかったからです。あるいはそのレポート
がなかった。新たな才能と作品の登場に誰もあまり反応してないので、えい、お
いらがここで少しVzアセンブルの勉強もしてやれ、と。とはいえ、後者がこれ
ほど大変だとは。MASM がバーアップしただけなのにねぇ。
こんなことになるとは思ってもみなかった…。
で、「sfish パッチでは、結果に2バイトの差が出る」。このような知見に我
々はいたり(sfish さんは知っていたかもしれないけど。誰かに報告してほしか
ったのかも)、そしてその2バイトが及ぼす影響については、誰も知れない、と。
実際に動かしてみては? いえ、あの逆アセリストの膨大な差(マップ・ファ
イルもやりましたよん)をみて、いやあ、そういう不安定そうなのは…。誰かや
ってぇ?!
すると、最初に戻り、新たな才能と作品は、これまでの常連には吸収・活用さ
れなかった、と。密かにあったのかもしれないですけれどね。そして、これから
先に、あればいいこと。
もっとも、そもそもこれは「我々」でなく「僕」の話であり、僕のスキルレベ
ルの低さゆえのことです。
お手伝いいただいたのに、救いの手を活用できずごめんなさい。それでもその
救いの手では短すぎたのです。僕の人生も短すぎた…。終わってねーぞ。
ちょっと蛇足:(sfishさん、想像をまじえながらでありながら、面前でぬけ
ぬけとごめんなさい。あらかじめ)
sfishさんの目的は、JWasmを過去互換にすることにあるのだと思う。MASMには
バグがあるらしい。JWasmの作者はもっと完璧なアセンブラをとJWasmを開発した
(商用その他の制限をなくすのも目的)。ただし、まだMASM互換部分が完全では
ない。過去の壮絶な作品Vzがアセンブルできれば、JWasmの「過去」互換性は高
まる。この意味で、JWasmはMASM6/7/8とは極めて高い互換性を確保した。MASM5.1
とMASM6が違うバイナリを吐くのは、ま、5.1/6コンパチの問題であり、具体的な
ソースの問題。2バイトの差問題(問題なのか?)の核心はここにあり、きっと
sfishさんの主関心ではないし、Vzerが考えること。そして僕が気にする・で
きることではないな、というところです。「考え」たり「気にする」べきことな
のかも僕には分からないので、申し訳ないのですが、スキルレベルは一晩にして
高まったりしませんので、まあ、僕はこの辺で撤退させていただきます、という
わけです。
「救いの手」話に戻る。
- No.4676 -
このTreeへ
コメント元:4675 へ
[リストへもどる]
soft
(4254)
4685:
vz.comのバイナリ一致
投稿者:
文太
2009/12/26(土) 18:53
4676 番 文太 さんへのコメント コメント数 1
あじゃさんへ
きっとあじゃさんはこれを知らないと思うので、ニュースでーす。
(ニュースじゃなかったら、ごめんなさい)僕は、もちろん知らなかった。
>dir |to
1993/12/06 02:00 57,694 VZIBMJ.COM 製品版 Vz1.6
2009/12/26 18:13 57,694 VZIBMJm.COM MASM 5.1アセンブル
2009/12/26 18:25 57,694 VZIBMJo.COM OPTASM 1.65アセンブル
2009/12/26 18:30 57,694 VZIBMJt.COM TASM 2.0アセンブル
>fc /b VZIBMJ.COM VZIBMJO.COM |to
ファイル VZIBMJ.COM と VZIBMJO.COM を比較しています
FC: 相違点は検出されませんでした
>fc /b VZIBMJM.COM VZIBMJT.COM |to
ファイル VZIBMJm.COM と VZIBMJT.COM を比較しています
FC: 相違点は検出されませんでした
上の2つ以外の組み合わせでは「一致」しませんでした。
としきさんにとっては、ニュースじゃないのだろうな…。
年末の忙しいときに何をやっているのだか…。この気持ちはやはり強い。
平和のありがたさよ。
- No.4685 -
このTreeへ
コメント元:4676 へ
[リストへもどる]
pre
(4254)
4686:
Re: vz.comのバイナリ一致
投稿者:
としき
2009/12/26(土) 20:01
参照先:http://www.hinocatv.ne.jp/~toshiki/
4685 番 文太 さんへのコメント
> としきさんにとっては、ニュースじゃないのだろうな…。
いわゆる「想定の範囲内」というやつではありますが。
具体的に、何と何が一致する、というのは新しい知見だと思います。
このようなことをきちんと記録しておくのは大切なことでしょう。
- No.4686 -
このTreeへ
コメント元:4685 へ
[リストへもどる]
pre
(4254)
4688:
訂正
投稿者:
文太
2009/12/26(土) 20:54
4676 番 文太 さんへのコメント
名誉毀損ものかもしれないので訂正しておきます。
> で、「sfish パッチでは、結果に2バイトの差が出る」。このような知見に我
>々はいたり(sfish さんは知っていたかもしれないけど。誰かに報告してほしか
>ったのかも)、そしてその2バイトが及ぼす影響については、誰も知れない、と。
> 実際に動かしてみては? いえ、あの逆アセリストの膨大な差(マップ・ファ
>イルもやりましたよん)をみて、いやあ、そういう不安定そうなのは…。誰かや
>ってぇ?!
前半はそのままでよいでしょう。後半は、いまだ何についても確信はありませ
んが、「逆アセリストの膨大な差」は恐るるに足らずでしょう、きっと。「不安
定そう」についても事実はまったく分かりませんが、「膨大な差」が「不安定そ
う」だという根拠にはなりません。大いなる勘違いです。失礼いたしました
>各位& sfish さん。
いろんなところで登場願ったMASMたちも同じサイズのvzibmj.comを作ってくれ
るわけで、ちゃんとできてるはずじゃないのか、と僕は思っていますが。
- No.4688 -
このTreeへ
コメント元:4676 へ
[リストへもどる]
soft
(4254)
4649:
MASM 6/7/8 version 確認
投稿者:
文太
2009/12/24(木) 00:51
4624 番 文太 さんへのコメント
sfishさん宛というわけでもないのですが。
>>バージョンは、ml -? で確認できます。多分 7.10 ぐらいです。
> たぶん、これでは出ないと思う…。
きっと sfish さんは、「何を言ってるんだろうな?」と思っていたのだろう、
とようやく合点しました。
「バージョンは、ml -? で確認できます」はその通りなのです。ただ、普通の
XPで(VTDOS なし)、80x22 で表示させているとこれは見えず(画面の上方彼方
へ消える)、コンソールファイルには入らず(これは仕方なし)、さらに「|to」
すると消えるのですね(これも仕方なし)。
>ml -? 2>c:\v.txt
とかすると、ああ、本当に上の方で出てたんだ、と確認できます。
素直なのは、
>ml<return>
で視認です(相変わらずコンソールファイル駄目、|to 駄目、だけど)。
皆さまがお持ちのも、きっとこんなのでしょう↓。
>ml 2> c:\v.txt
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
>ml7 2>> c:\v.txt
Microsoft (R) Macro Assembler Version 7.10.4035
Copyright (C) Microsoft Corporation. All rights reserved.
>ml8 2>> c:\v.txt
Microsoft (R) Macro Assembler Version 8.00.50727.218
Copyright (C) Microsoft Corporation. All rights reserved.
- No.4649 -
このTreeへ
コメント元:4624 へ
[リストへもどる]
soft