[リストへもどる] [返信 ]  [新着記事] [最新50] [ワード検索] [過去ログ]

記事閲覧・返信

タイトル エラーが出るなら元を絶ってしまえばいいじゃない
投稿日: 2024/05/22(水) 00:14
投稿者konno
 番 号 11253    11251 番 konno さんへのコメント

> 2024-04-16 10:01:41 STIME(09BA) 1876:4778 'サポート外 VIDEO BIOS(Int10h) 機能: AX=8500'
> 2024-04-16 10:01:42 STIME(09BA) 1876:47F1 'サポート外 VIDEO BIOS(Int10h) 機能: AX=8582'
> 2024-05-08 07:47:20 STIMEJ(2797) 433A:5982 'サポート外 KEYBOARD BIOS(int16h) 機能 F6'
> 2024-04-16 10:02:00 STIME(09BA) 1876:4D68 'サポート外 Int6F'
>
> このようなエラーログが延々と出続けていたのです。

これを何とかしないと J31BASICコンパイラは使い物にならないですね。
それで考えたのは、常駐プログラムでこれらの割り込みを横取りして無効化すること。

私がいつもお世話になっている、アセンブラ入門のサイトから
トップ-> アセンブラ 第2章-> 第2章.メモリー管理-> 2-7. 常駐プログラム(TSR)
https://programmer.main.jp/assembler2/assembler10.html

このページの、「HOOK21」完成版(?) のソースを元に、INT10h でやってみたら出来ました。
ところが常駐解除が出来ないのです。
色々やってみてわかったのは、ソースの解放チェックルーチンで

STAY_CHEK:
mov ax,3521h
int 21h ;割り込みベクター取得

mov ax,es ;解放できるかのチェック
dec ax
mov es,ax
mov di,8
cld
mov si,offset PRCNAME
; mov cl,7 ;★ cl ではうまくいかない、
mov cx,7 ;★ cx ならうまくいく

repz cmpsb ;名前が一緒かのチェック
or cx,cx
jz _STAY
stc ;解放できない
ret
_STAY: ;解放できる
clc
ret

★印のところの cl を cx に変えたら常駐解除できました。

# 汚れていたのは ch だったのです。

これで調子に乗って、INT16h INT6Fh も一緒にしてしまいました。
でもまたもや常駐解除が出来ない。(>_<)
プログラムの仕組みがわかってないからでしょうね。(;_;)

   - No.11253 一括表示へ   -   コメント元:11251 一括表示へ  - pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11226.J31用BASICコンパイラの各エミュ対応沼 - konno konno 24/04/23-01:23
 ┣11234.C000h VRAM領域と CDBL$() の問題 - konno 24/05/01-17:48
 ┃┣11239.C000h セグメントは間違い、A000h でした。m(__)m - konno 24/05/06-01:56
 ┃┗11240.Re: C000h VRAM領域と CDBL$() の問題 - としき 24/05/09-22:22
 ┃ ┗11241.Re^2: C000h VRAM領域と CDBL$() の問題 - konno 24/05/10-01:02
 ┃  ┗11242.Re^3: C000h VRAM領域と CDBL$() の問題 - としき 24/05/10-13:07
 ┃   ┗11243.Re^4: C000h VRAM領域と CDBL$() の問題 - konno 24/05/11-01:03
 ┃    ┗11244.Re^5: C000h VRAM領域と CDBL$() の問題 - としき 24/05/11-11:11
 ┃     ┗11245.Re^6: A000h VRAM領域と CDBL$() の問題 - konno 24/05/12-02:04
 ┣11246.VTDOSは 2バイト文字の表示に難有り - konno 24/05/13-15:07
 ┃┗11247.Re: VTDOSは 2バイト文字の表示に難有り - としき 24/05/13-22:24
 ┃ ┗11248.Re^2: VTDOSは 2バイト文字の表示に難有り - めざら 24/05/14-16:47
 ┃  ┗11249.Re^3: VTDOSは 2バイト文字の表示に難有り - konno 24/05/14-22:08
 ┗11251.VTDOSの vtd_err.log のサイズが超巨大になってた件 - konno 24/05/18-23:57
  ┣11252.DOSVAXJ3の超巨大ファイルで C:の空きがゼロになった件 - konno 24/05/21-00:15
  ┗11253.エラーが出るなら元を絶ってしまえばいいじゃない - konno 24/05/22-00:14

- - 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)[引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft prenw(図表 ※折り返しません)
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]