[HOME]  [リストへもどる]  [全部表示]  [最新100]  [最新50]   [新着40] 
新着記事 30

8385Re^4: VTDOS+VZ で #N、#P でのエラー 投稿者:文太   2018/10/19(金) 11:05
  8384 番 konno さんへのコメント

 /     マクロの実行を終了
   ネストレベルに関係なく全てのマクロが終了する
   マクロを終了するときは '.' を使うほうがよい
   (モード型のマクロも終了してしまうため)

 誰かがもう少し詳しく纏めていたような気もしますが、僕に分かったのは
これだけです。使ったことないですよね。ほとんど禁止されてたみたいなもの
だった気もするし。

 「/ マクロを強制中断(使用禁止?)」(上村さんの「道場」より)
 プッシュ・ポップも戻さないで、強制終了。
 僕の印象のソースは、ここかもしれません。

 でも、その!abort技、ありなんじゃないでしょうか。かなり稀な緊急事態のような
気もするし。こうなったら、Vzを再起動せよ、で、いいような。

    - No.8385 -   [コメント元:8384]     [リストへもどる ]
pre

8384Re^3: VTDOS+VZ で #N、#P でのエラー 投稿者:konno   2018/10/19(金) 02:18
  8378 番 konno さんへのコメント    コメント数 1

とりあえず、VZ.DEF か、VZ2.DEF のようなインクルードマクロに
エラーイベントマクロ

1 "!Abort" /

を入れると、今回のエラーで落ちるのは無くなったようです。
'/' は、全マクロ終了だったかな。
副作用はわからないです。

おそらく、マクロ終了時の処理、オプションの初期化みたいなことを
やっているのではと想像しますが、本当のところはわかりません。


でも、SORT.DEF はやっぱり落ちるみたい。


    - No.8384 -   [コメント元:8378]     [リストへもどる ]
soft

8383痩せたVz、太ったVz 投稿者:文太   2018/10/19(金) 01:26
  8382 番 文太 さんへのコメント

 お疲れ様です。
 僕の一票で候補者が当選しても、とうぜん、僕にできることは何もありません。
 冗談でなく。

 ふと、これは高橋さんも知らなかったのかなぁ、と考えていて。いや、この手
のことを全部潰していたら、ゼロ戦Vzはゼロ戦でなくなり、きっと、comに
収まらなくなっていたのだろうと想像しました。
 大昔の10#さんのVzソースレビュー(メモリ管理?)を思い出してそう
思いました。
 これってマクロで対処できるのでしょうかね? 僕はユーザがそういうことを
しないこと、でいいような気がしました。
 もう我々しかいないのだから、Vzを無意味に(?)太らせないほうがいい、と。

    - No.8383 -   [コメント元:8382]     [リストへもどる ]
soft

8382vz.com, s>0の問題みたい 投稿者:文太   2018/10/19(金) 00:55
  8381 番 文太 さんへのコメント    コメント数 1

 す、すげえ。
 「画面の出力座標かサイズに問題」。これに一票。
 vz.comの問題だと思う。

=== Macrotmp by B ===;
* M
50 ^^ "Macrotmp"

&z("expand") >*

*
  これをexpand.defがない環境でやりました。
 s==0, [ESC]が効いて、マシンは落ちない。「c:\def\expand.defが見つかりません」
のメッセージが出る。
 s==1, 落ちる。
 存在しないファイルを窓を開けた状態から&z()(???)でファイルオープンしないこと、ですかね。
 #Nとかについては、また別件でしょうか?



    - No.8382 -   [コメント元:8381]     [リストへもどる ]
soft

8381Re^4: VTDOS+VZ で #N、#P でのエラー 投稿者:文太   2018/10/19(金) 00:35
  8380 番 文太 さんへのコメント    コメント数 1

 もう少し問題を絞り込んだほうが良いような気がしますが。
 マクロのどの部分でかとか。 
(s==1||s==2)? { &z("expand") >* }	; コマンドライン
 この部分だけで落ちますね。

 で、落ちるのはvtdos環境に限定されていないと思います。今、純DOSで
expand.defを0expand.defにリネームして、
=== tagl_f5.def v.06 ===
* M
24  [F05] "検索文字列の取得"
 のマクロを再カスタマイズ、検索窓で[F05]したら、マシンが落ちました。
落ちるのはまずいだろう、とは思いますが。
 マクロがいけない? vz.comがいけない? マシンが落ちるのが正しい?
 補足でした。

    - No.8381 -   [コメント元:8380]     [リストへもどる ]
pre

8380Re^3: VTDOS+VZ で #N、#P でのエラー 投稿者:文太   2018/10/19(金) 00:13
  8379 番 konno さんへのコメント    コメント数 1

>#8378 に書いたように、上村さんの、GET.DEF をベースに改造したので
>この部分が問題になるとは思ってもいませんでした。
 こんな風に話がすぐに先に進むのであれば、何の問題もありません。
 上村さんの、GET.DEFは、存じておりませんでした。

>上村さんが他人のマクロを組み込むなんて想像もできなかった。
>T.Tanomura氏も凄い人だったんだなぁ。
 うーん、どうなんだろう。
 でも、fgalapぐらい?、fgalpk初期には、「たのむら〜、たのむ」
みたいな感じで、上村さんは色んな人から貪欲に、超速で、勉強して
いましたよ。ほんとVzの基本を徹底的に勉強した人でしたねぇ。
いまごろ、ほんと偉いと思う。
 田野村さんは、計算に強い人だった感じかなぁ。expand.def、僕も
使ってますよ。
 って、何か変な感じ。
 ボク、1999年くらいにniftyデビューだったので。もう高橋さんも
いない頃。

    - No.8380 -   [コメント元:8379]     [リストへもどる ]
pre

8379Re^2: VTDOS+VZ で #N、#P でのエラー 投稿者:konno   2018/10/18(木) 22:47
  8377 番 文太 さんへのコメント    コメント数 1

文太さん、解説どうもです。(^^;
私はいつも説明不足というか、舌足らずというか。

#8378 に書いたように、上村さんの、GET.DEF をベースに改造したので
この部分が問題になるとは思ってもいませんでした。

上村さんの、GET.DEF の最後のほうには

 ●ファイル名の補完
 文字入力ウィンドウまたはコマンドラインで実行すると、ファイル名を補完
します。(T.Tanomura氏作EXPAND.DEF必要)

とあります。
上村さんが他人のマクロを組み込むなんて想像もできなかった。
T.Tanomura氏も凄い人だったんだなぁ。


    - No.8379 -   [コメント元:8377]     [リストへもどる ]
soft

8378Re^2: VTDOS+VZ で #N、#P でのエラー 投稿者:konno   2018/10/18(木) 22:20
  8376 番 10♯ さんへのコメント    コメント数 1

> ざっくりですが、画面の出力座標かサイズに問題が起こってるようですね。
> 外してるかも知れませんけど、scrn.asm の win か doswd2
> これらはマクロからアクセスしてログを取ることなどは出来ますか?

えーと、何をすればいいのかわかりませんが

VTDOS環境では、全てのVZで同じ操作で落ちました。
オリジナルVZとオリジナルDEFでも、#Nで、拙作の TAGL_F5.DEF を実行して
落ちます。

TAGL_F5.DEF の冒頭は

24  [F05] "検索文字列の取得"
	(s==1||s==2)? { &z("expand") >* }	; コマンドライン

こうなっていて、これは、上村さんの、GET.DEF と同じです。
私はこのマクロをベースに改造したのですが、expand.def が無いのに
気が付かなかったのです。

入力窓の中で、マクロがエラーで止まって、フラグとか
スタックとかの数値に矛盾が出てるんでしょうかね。


    - No.8378 -   [コメント元:8376]     [リストへもどる ]
pre

8377Re: VTDOS+VZ で #N、#P でのエラー 投稿者:文太   2018/10/18(木) 22:03
  8375 番 konno さんへのコメント    コメント数 1

 いつもの超断片的補足です。(^^;

http://tamaneko.world.coocan.jp/vz/TAGL_F5.def

=== tagl_f5.def v.06 ===
* M
24  [F05] "検索文字列の取得"
	(s==1||s==2)? { &z("expand") >* }	; コマンドライン

 このように、tagl_f5.defは、sが

     1 : 文字列入力モード
     2 : コマンドラインモード

であると、expand.defが呼ばれる仕様になっているのですが、
expand.defがないばあい(%vzdef%ディレクトリに、かな?)、つまり

>ファイル操作窓で、マクロ呼び出しなどで、ファイルが存在せずエラーになると
>ESC で入力窓を閉じる時、VTDOSが、ラップアラウンドエラーで落ちるのです。

 失礼しました。
 マクロを見るまで、何を言ってるのかよく分からなかったもので。m(__)m


#N
 #72  #N  新規ファイルオープン
 [ESC]N @N

#P
 #25  #P  ファイル名の複写
 ^QN  le_copyfile
   r は常に 0
   編集中のフルパスのファイル名が
   カーソル位置に書き込まれる
   &?(wa+146) と同じ

 に何かあるのかも? と。

 追試するには、まだまだ環境整備がままなりません。m(__)m


    - No.8377 -   [コメント元:8375]     [リストへもどる ]
pre

8376Re: VTDOS+VZ で #N、#P でのエラー 投稿者:10♯   2018/10/18(木) 21:54
  8375 番 konno さんへのコメント    コメント数 1

ざっくりですが、画面の出力座標かサイズに問題が起こってるようですね。
外してるかも知れませんけど、scrn.asm の win か doswd2
これらはマクロからアクセスしてログを取ることなどは出来ますか?
    - No.8376 -   [コメント元:8375]     [リストへもどる ]
soft

8375VTDOS+VZ で #N、#P でのエラー 投稿者:konno   2018/10/18(木) 20:58
   コメント数 2

VTDOS+VZ でファイル編集中に #N や、#P で、拙作の TAGL_F5.DEF を実行すると
&z("expand") を呼ぶところでマクロエラーになります。
ESC を押すと、VTDOSが、ラップアラウンドエラーで落ちます。

実は、私の環境では、expand.def が無かったんです。
つまり、ファイル操作窓で、マクロ呼び出しなどでファイルが無いエラーになると
ESC で入力窓を閉じる時、VTDOSが、ラップアラウンドエラーで落ちるのです。
エラー内容は

2018-10-18 20:29:03 VZIBMJ(17EA) 17EA:DE8E 'REP MOVSW 命令ラップアラウンド'

AX=0023 BX=4000 CX=0082 DX=FF00 SI=EA60 DI=FF04 BP=CBEE DS=E800 ES=F800 FLAGS=0246

CS:IP=17EA:DE8E
17EA:DE7E 40 06 51 57 51 57 E8 B1 00 E8 2D 04 5F 59 F3 A5 
17EA:DE8E E8 44 04 5F 59 36 03 3E 46 06 48 75 E5 E8 AC 2E 

SS:SP=274A:CACE
274A:CABE 00 00 04 FF CD E2 04 FF 23 00 8A DE 04 FF 82 00 
274A:CACE 04 FF 82 00 4A 27 4A 27 76 03 DB A3 90 06 00 FF 

-u 17EA:DE7E
17EA:DE7E 40            INC	AX                                 
17EA:DE7F 06            PUSH	ES                                 
17EA:DE80 51            PUSH	CX                                 
17EA:DE81 57            PUSH	DI                                 
17EA:DE82 51            PUSH	CX                                 
17EA:DE83 57            PUSH	DI                                 
17EA:DE84 E8B100        CALL	DF38                               
17EA:DE87 E82D04        CALL	E2B7                               
17EA:DE8A 5F            POP	DI                                 
17EA:DE8B 59            POP	CX                                 
17EA:DE8C F3            REPZ	                                   
17EA:DE8D A5            MOVSW	                                   
17EA:DE8E E84404        CALL	E2D5                               
17EA:DE91 5F            POP	DI                                 
17EA:DE92 59            POP	CX                                 
17EA:DE93 36            SS:	                                   
17EA:DE94 033E4606      ADD	DI,[0646]                          
17EA:DE98 48            DEC	AX                                 
17EA:DE99 75E5          JNZ	DE80                               
17EA:DE9B E8AC2E        CALL	0D4A                               
-q

 0000:DE59       POPWINDOW

ここは、入力窓ルーチンの窓を閉じるところですね。
SORT.DEF も、バックアップルーチンで、#N を使用していますが、
何かエラーが出ていた気がします。

MSDOSPlayer や、DOS窓では、マクロエラーがあっても落ちません。
この辺に何かありそうな気がするのですが。


    - No.8375 -             [リストへもどる ]
pre

8374Re: Vz文化 投稿者:10♯   2018/10/18(木) 14:42
  8373 番 文太 さんへのコメント

ネットワークの世界に「口承文化」ってないですよねw
    - No.8374 -   [コメント元:8373]     [リストへもどる ]
soft

8373Vz文化 投稿者:文太   2018/10/18(木) 13:15
  8372 番 10♯ さんへのコメント    コメント数 1

 人生にはみっつの坂がある。のぼりざか。くだりざか。まさか。


 口承文化と活字文化の落差を、またしても感じさせてくれました。
 活字は先読みできる。口承では完全に話者のペースになれる。それで、
うまくやると洗脳できる。
 理解したからといって、実践できるわけでもないですが。


 信念をもたないのが僕の信念だ。「外」はないようですね。


 Vz文化にはこんな言い伝えもあります。
 「ニーモニックが読めるからといってc.mosさんのソースを読めるわけでは
ないのと同様、Vzマクロのシンボルその他を暗記したからって、m.gannさん
のマクロが読めるわけではない」
 高橋さんのマクロでは、(きっと)プロのプログラマ的に正統だろうと思いますが、
それでも、m.gannさんが目標だったのも(きっと)あって、Vzの癖をとことん
知り尽くした上でのプログラミング・スタイルなのでしょう。
 Vzの「内部ワーク」の利用は当然ですが。
 知ったかぶりではなく想像です。

 sort.defでは、「癖」でも「裏技」でもないでしょうが、テクニックが駆使
されているようです。かなりのスキルレベルで、読解の行為に深いコミットメント
のあるマクロ師でなければ、読めないか、読もうとしないか、かと思いました。
 僕レベルだと、おお、とほんの一部分で、テクニックを学ばせてもらえる程度
でした。sort.exeではいけませんか? と思うような奴には無理ですね。
 (いつかME環境で使ってみようとは思っていますが。フィールドでなくカラム
でソートは、、、。sortfはオプション指定がいつも難しくて、、、。)

 「内部ワーク」。めざらさんがあのように素晴らしく纏めてくださってますが、
あれが明らかになるのに、10年くらいに及ぶ、多くのVzerたちの苦闘が
ありました。文字どおりの血と汗と涙の結晶。
 最終的に発表したのは高橋さん。でも、高橋版Vzも「セグマップ」も、
高橋さんがきっと50人くらいのマクロ師、マクロイド、マニアック・ユーザに囲まれ
ていて、その価値を理解してくれる人たちがいたからこそ、生まれたのだろうと思います。
 あんなこと、誰も、一人ではやれないと思う。
 めざら資源で、一人であれを纏め直した、めざらさん。僕はあの作品に感動します。


    - No.8373 -   [コメント元:8372]     [リストへもどる ]
soft

8372Re^9: SORT.DEF(高橋版)の問題はここ? 投稿者:10♯   2018/10/18(木) 06:04
  8361 番 文太 さんへのコメント    コメント数 1

余談ですけど、近頃僕は「信じる」という行為は控えるようにしてます。
これは、思い込みに繋がり、そこから仮に「正義」などに繋がれば、
酷い結果になる原因にもなります。
歴史からの教訓ですかね。
    - No.8372 -   [コメント元:8361]     [リストへもどる ]
soft

8371Re: VZk 公開版の pc ズレ修正・差し替え 投稿者:konno   2018/10/17(水) 21:46
  8369 番 konno さんへのコメント

VZk07T3(2015-12-11)を、VZk07T03.LZH として、VZの部屋に差し替えアップしました。

・コード領域の内部ワーク pc が1バイトずれていたのを修正、差し替え(2018-10-17)


旧版とはサイズは一緒です。1バイト差は自動調整されるようです。
バイナリの比較で29bytes 違いがあります。

後はソースと一致しないものが多いので、時間がかかりそうです。
要望があれば優先的に対応します。

    - No.8371 -   [コメント元:8369]     [リストへもどる ]
soft

8370Re^10: pc ズレ、やばいかも 投稿者:konno   2018/10/17(水) 20:37
  8367 番 konno さんへのコメント

> う、結構あるもんですね。
> 早急に対処したいと思います。ご迷惑おかけしました。

コード領域の内部ワーク pc の1バイトずれで、値を比較してみました。

	VZo	VZk修正	VZk旧
pc	110h	110h	111h
pc+292	234h	234h	235h
pc..57	0	0	B900h

修正版は問題ないようですが、旧版は、変な値になっていますね。

> > c:\def\filter2.def      400:        &Sm(m,pc+292,46)	;push all double user vars
pc+292 は、ここですかね。
246	sysvar		dw	VARCNT dup(0)	; A,B,C ... system variables

> > c:\def\stkmenut.def       32:	(ks&1)??{ &b(5) >04 }			;pc..57 = ks
pc..57 は、これですね。
114	sftkey		dw	0		; ks key shift status

うう、結構やばいかも。


    - No.8370 -   [コメント元:8367]     [リストへもどる ]
pre

8369VZk 公開版の pc ズレ修正・差し替え 投稿者:konno   2018/10/17(水) 20:15
   コメント数 1

#8350 で、10#さんの指摘により、VZk のコード領域の内部ワーク pc が
1バイトずれていたのが発覚しました。
原因は
;vzversion:	db	"VZ1.60t ",0,EOF	;##k07
vzversion:	db	"VZ1.60t",0,EOF		;##k07t1-2 pc=110h
ここでした。

取りあえず、公開しているものは、修正版をアップするということで

VZk07T1(2010-03-01)を、VZk07T01.LZH として、VZの部屋に差し替えアップしました。

・コード領域の内部ワーク pc が1バイトずれていたのを修正、差し替え(2018-10-17)


旧版とはサイズは一緒です。1バイト差は自動調整されるようです。
バイナリの比較で29bytes 違いがあります。


    - No.8369 -             [リストへもどる ]
pre

8368VZk の pc ズレ問題 投稿者:konno   2018/10/17(水) 19:10
  8362 番 10♯ さんへのコメント

> >         org 100h
> > entry:      jmps    entry1          ; -16
> > vzversion:  db  "VZ1.60t ",0,EOF    ; -14       ;##k07
> > entry1:     jmp init            ; -5
> >         dw  0           ; -2
> 
> オリジナルは entry1 の jmp init がショートジャンプのようですが、
> kVZではニアジャンプになってますね。
> sort.defはpc相対を使っていないのでこれはシロだと思いますけど。


そうか、すっかり忘れていましたが、これで思い出しました。

		org	100h
entry:		jmps	entry1
;vzversion:	db	"VZ1.60t ",0,EOF	;##k07
vzversion:	db	"VZ1.60t",0,EOF		;##k07t1-2 pc=110h
entry1:		jmp	init

こう修正して、pc が一致しました。ここの長さを変えたら駄目だったんですね。
VZEX もこうなっていて、以前、ダニー版ベースの VZk8 を弄っている時に
一度これをやってしまって、直したんですが、その後 VZk7 に戻った時に
ここを修正するのを忘れていたようです。

取りあえず、公開しているものは、修正版をアップします。


    - No.8368 -   [コメント元:8362]     [リストへもどる ]
pre

8367Re^9: SORT.DEF(高橋版)の問題はここ? 投稿者:konno   2018/10/17(水) 18:49
  8361 番 文太 さんへのコメント    コメント数 1

>  手元には、7個くらいpcを使うマクロがありました。
> 
> c:\def\filter2.def      400:        &Sm(m,pc+292,46)	;push all double user vars
> c:\def\popn.def      161::M	pc[=c,pd[=d,pg[=g,pn[=m,pq[=q,pu[=u,pv[=v,px[=h,pz[=e,pw[=w,pr=pa,
> c:\def\sheriff.def      113:	&So(pm,"$$pc") (r)? p=pc, ? p=pm,
> c:\def\sonota.def     1071:        &Sm(pq..149,pc+292,46)          ;push all double user vars
> c:\def\stkhelp.def     1182:    } ?bx=pc,
> c:\def\stkmenut.def       32:	(ks&1)??{ &b(5) >04 }			;pc..57 = ks
> c:\def\tkdate.def       12:    &11 &Sc(pc,ps)          ;;  pc="1994年12月31日",

う、結構あるもんですね。
早急に対処したいと思います。ご迷惑おかけしました。


    - No.8367 -   [コメント元:8361]     [リストへもどる ]
pre

8366基点ポインタ(?)の絶対アドレス 投稿者:文太   2018/10/17(水) 17:20
  8365 番 文太 さんへのコメント

  他は問題ないようです。これぐらいはできるな、と。

		konno
0000	wseg
0110	pc	0111h *
028E	pq	028Eh
	dseg
03EC	pn	03ECh
0442	fg	0442h
04D2	mg	04D2h
05B9	pv	05B9h
062A	vp	062Ah


    - No.8366 -   [コメント元:8365]     [リストへもどる ]
pre

8365Re^11: SORT.DEF(高橋版)の問題はここ? 投稿者:文太   2018/10/17(水) 16:24
  8364 番 文太 さんへのコメント    コメント数 1

 いちいち顔面蒼白とかしないように。いちいち逆毛とか立てないように。
 けっこう立ち直り、はやかった。
 たしかに、「pc+xx」はやばいようですね。

Ygrep -w "pc" c:\def
c:\def\chgenv.def      200:;	&Sm(pc+60,cp+2,20) &Sm(pc+174,cp+22,176)
c:\def\lxclnd.def      107:	&Sm(pc+292,pq..149,46)		;pop all double user vars
				;こっちはイディオムですからねぇ。これは書き戻しの場面でしょうね。

 もう一般ユーザが存在しない(konnoさんにとってはいるのかな)ご時勢ですし、、、。
 誰も気がつかないんですよね、、、。

konno, 
0110h: 00 56 5A 00 00 00 00 00-00 00 25 00 00 00 00 00  ・VZ・・・・・・・%・・・・・ 
0120h: 00 00 00 00 00 00 40 00-00 80 00 01 00 10 50 00  ・・・・・・@・・・・・・・P・ 

takahasi,
0110h: 56 5A 54 00 00 00 00 00-00 25 00 00 00 00 00 00  VZT・・・・・・%・・・・・・ 
0120h: 00 00 00 00 00 00 40 00-00 80 00 01 00 10 50 00  ・・・・・・@・・・・・・・P・ 

 しばらく高橋版にします。マシンの台数が多いので、入れ替えが終わるのがいつに
なるのか分かりませんが。この大混乱は、もっとも苦手とするところなのです。
 このマシンは入れ替えた、って、一覧表をつくるの、、、。
 それでも、紆余曲折ありながらも、前進ですよ。

 10#さん、ありがとうございました。

    - No.8365 -   [コメント元:8364]     [リストへもどる ]
pre

8364Re^10: SORT.DEF(高橋版)の問題はここ? 投稿者:文太   2018/10/17(水) 14:23
  8363 番 10♯ さんへのコメント    コメント数 1

 10#さん、本当にありがとうございます。m(__)m m(__)m
 顔面蒼白、これ以上になく僕の顔は今、まっ白でしょう。
 頭の中に色はつかないけど、まっ白だと感じています。
 冗談をいえば、脳梗塞で脳が死んだ人のように、まっ黒なのかもしれません。
 熊に出会ってしまった人のように、髪の毛は、逆立ってます。

 いい歳した大人が、この程度のことで人生がひっくり返ったみたいに、
動揺しても始まらないので、ちょっと落ち着いて考えます。
 現実的にはそういう訳にもいかないのですが、旅に出たほうがいいな、
と感じています。

 とはいえ、vtdosとは本質的に関係がありません。
 もっと大きいのかもしれない。
 いや、大したことではないはず、です。

    - No.8364 -   [コメント元:8363]     [リストへもどる ]
soft

8363Re^9: SORT.DEF(高橋版)の問題はここ? 投稿者:10♯   2018/10/17(水) 10:02
  8361 番 文太 さんへのコメント    コメント数 1

本来0110hから始まるpcが0111hにずれてる事に対して、
本来0120hから始まるワークはずれていませんね。
これはpc相対で16バイト目以降に問題があると思われます。
上のgrepではfilter2とsonotaが該当するようですが。

    - No.8363 -   [コメント元:8361]     [リストへもどる ]
soft

8362Re^8: SORT.DEF(高橋版)の問題はここ? 投稿者:10♯   2018/10/17(水) 09:46
  8360 番 konno さんへのコメント    コメント数 1

>         org 100h
> entry:      jmps    entry1          ; -16
> vzversion:  db  "VZ1.60t ",0,EOF    ; -14       ;##k07
> entry1:     jmp init            ; -5
>         dw  0           ; -2

オリジナルは entry1 の jmp init がショートジャンプのようですが、
kVZではニアジャンプになってますね。
sort.defはpc相対を使っていないのでこれはシロだと思いますけど。

    - No.8362 -   [コメント元:8360]     [リストへもどる ]
pre

8361Re^8: SORT.DEF(高橋版)の問題はここ? 投稿者:文太   2018/10/17(水) 08:29
  8360 番 konno さんへのコメント    コメント数 3

「めざら資源」セグマップ
スタックセグメント概略
絶対アドレス	相対アドレス	データ内容
0000		wseg
0110		pc

10#さんwrote:
> c.mos氏はこのdseg内のオフセットを保証しているとは思いますが、
> 僕のvzでは例えばpcは0111hになってたりとかします。

文太wrote:
>めざらさんのセグマップで「絶対アドレス」と書かれてますよね。pcが0111hなのは、
>10#さんのところでも僕のところでも、同じはずです。
 0110hと0111hの差について語られていたとは、気づいておりませんでした。
 konno版もc.mosオリジナルと同じです、と信じていて、そう伝えたつもりでおりました。
ここで、僕は、完全に間違えていました。m(__)m

konnoさんwrote:
>う、VZK だと1バイトずれていますね。何故だかわからないです。


 そ、そういうことか、、、。これで話が【少し】ずれたんだ、、、。

 手元には、7個くらいpcを使うマクロがありました。

c:\def\filter2.def      400:        &Sm(m,pc+292,46)	;push all double user vars
c:\def\popn.def      161::M	pc[=c,pd[=d,pg[=g,pn[=m,pq[=q,pu[=u,pv[=v,px[=h,pz[=e,pw[=w,pr=pa,
c:\def\sheriff.def      113:	&So(pm,"$$pc") (r)? p=pc, ? p=pm,
c:\def\sonota.def     1071:        &Sm(pq..149,pc+292,46)          ;push all double user vars
c:\def\stkhelp.def     1182:    } ?bx=pc,
c:\def\stkmenut.def       32:	(ks&1)??{ &b(5) >04 }			;pc..57 = ks
c:\def\tkdate.def       12:    &11 &Sc(pc,ps)          ;;  pc="1994年12月31日",

 もっとも別にこれに大きな問題はありませんよね、pcをpcとして使っている限り。
 マシン語の中で、直値としてみたら、いろいろやばいだろうな、とは思いますが。

 意見も何もありません。
 が、戻るなら戻ったほうが気持ちもいいし、「めざら資源」とも整合するのですが。(^^;
 過去の無用なくび木なのでしょうか? メリットは? (^^;
 sort.defのことは僕には実害がありません。が、こっちは、ちょっと、、、。実害は、今は、ない
はずですが、、、。作家の考え方次第なのでしょう。
 できたら、.docに入れて欲しいとは思います。

    - No.8361 -   [コメント元:8360]     [リストへもどる ]
pre

8360Re^7: SORT.DEF(高橋版)の問題はここ? 投稿者:konno   2018/10/17(水) 01:40
  8350 番 10♯ さんへのコメント    コメント数 2

> c.mos氏はこのdseg内のオフセットを保証しているとは思いますが、
> 僕のvzでは例えばpcは0111hになってたりとかします。

う、VZK だと1バイトずれていますね。何故だかわからないです。
VZEXもここは同じようにずれていますが、他のワークもずれているようで
動かないマクロがあるようです。

> こういったことは改版の時点で厳密な管理が無いとズレていくものだと思うのですが、
> マクロの中の、特にマシン語が直接参照するdsegのアドレスには問題無いのでしょうか?

相対アドレスで参照するものは大丈夫ですが、私が私家版で使っていた版は
vp がずれてしまっていて、カレンダーマクロで誤動作して気が付いた次第です。

マシン語が直接参照するdsegのアドレスは、絶対アドレスなので、ポインタが
ずれたら即誤動作するので致命的な問題になります。

SORT.DEF もマシン語が直接参照しているようですね。ちょっと読めてないですが
どこかで壊れて、マクロのポップがトリガーになって落ちているように見えますね。
ポップで、sp のポインタが2ずれるんですが、どうもおかしい気がします。

> あと、VTDOSにはEMSを禁止するオプションもあります。
> これはVZにもありますが、問題切り分けには使えます。

ありがとうございます。必要に応じて使わせてもらいます。


    - No.8360 -   [コメント元:8350]     [リストへもどる ]
soft

8359Re^6: SORT.DEF(高橋版)の問題はここ? 投稿者:10♯   2018/10/17(水) 00:21
  8353 番 konno さんへのコメント

なるほど。
僕もちょっと見てみた限りではそれらワークのアドレスに問題が無さそうだってことは理解出来ました。
あと、バックアップ部分のマシン語の挙動も大体は把握出来ました。
となると、バックアップのマクロのどこかにトリガーがあるということまでは推測できますね。
    - No.8359 -   [コメント元:8353]     [リストへもどる ]
soft

8358Re^10: SORT.DEF(高橋版)の問題はここ? 投稿者:10♯   2018/10/17(水) 00:16
  8356 番 文太 さんへのコメント

まあ最早誰もマクロ師を必要とはしていないでしょう。
僕はこのマクロを読むことが出来ないので、マクロ師がいればな、とは思います。

    - No.8358 -   [コメント元:8356]     [リストへもどる ]
soft

8357Re^5: SORT.DEF(高橋版)の問題はここ? 投稿者:10♯   2018/10/16(火) 23:43
  8354 番 konno さんへのコメント

> すみません、わからないです。
> debug のデータですか?

バックアップの二番目のマシン語の部分のファイル出力がこの形式で出力してるようです、
という覚え書きです。


    - No.8357 -   [コメント元:8354]     [リストへもどる ]
soft

8356Re^9: SORT.DEF(高橋版)の問題はここ? 投稿者:文太   2018/10/16(火) 23:32
  8352 番 10♯ さんへのコメント    コメント数 1

 しつこくて申し訳ありません。これは、僕の独り言です。
 コミュニケーションって難しいですね。

 全体に、10#さんの独り言だな、と思いました。ですから、この前の僕の投稿みたいに
色々書くことはなかったのだろうと。

>マクロ師の力を必要としてるのは他ならぬマクロユーザーなのでは?
 きっとここだけでしょう。
 僕個人に関していえば、あるいはsort.def(高橋版)に関していえば、純粋なユーザは
いないように思っております。

 レス不要ですよ。

    - No.8356 -   [コメント元:8352]     [リストへもどる ]
soft