タイトル | : VZ1.6のバグ修正版検証中 |
投稿日 | : 2022/09/28(水) 21:26 |
投稿者 | : konno | 番 号 | : 10303 10291 番 konno さんへのコメント |
c.mosさんが1.6でルーチンを追加したからには何か意味があるはずです。 結果的にバグが出たのはルーチンが不完全だったのかも。 私にはまったくわからないですが、ADD 命令でオーバーフローの可能性は考えられます。 その対策の追加ルーチンだとしたら、違和感を感じますね。 普通は ADC とか、JC で分岐させるのにそれをしない理由はわかりませんが とりあえず JNC 追加で1.6のルーチンを復活させてみました。 Vn のマーカーも入れましたが、NGファイルのテストでも Vn に引っ掛かりません。 なので、オーバーフローしたらマクロトレース状態で止まるルーチンも追加しました。 seekb_x: pushf add ax,[bp].ttop ; ##1.57 jnc seekb_9 ;##k 220923 Bl8192対策? add byte ptr [bp].atrtxt1,1 ;★;; オーバーフローなら Vn1+ cmp ax,[bp].tend ;##1.6 ttopとtendアドレスを比較 _if ae ; ttopが上だったら mov ax,[bp].tend ; ax(ttop)にtendを代入 dec ax ; アドレスを一つずらす add byte ptr [bp].atrtxt1,10 ;★;; 1.6の修正ルーチン実行で Vn10+ _endif ; push ax ;★トレースONルーチン mov al,1 ; xchg cs:stopf,al ;トレースモードに pop ax ; seekb_9: ; popf call qclose popm <di,si,cx,bx> ret seektext endp この状態でVZを普通に使ってみて様子をみています。 今のところ引っ掛かりませんがね。 ちなみに、このルーチンを公開版 VZk07t01 に追加すると常駐で動かないの。(;_;) 私の私家版常用環境では動くのに。(^^; やれやれ、どうしたものか。
- No.10303 一括表示へ - コメント元:10291 一括表示へ - [ 返信 ] [引用無し] pre