[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1879] from OSASK BOARD
このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。
http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3b7318d4_18147
From: 川合秀実
Message-ID: 3b7318d4_18147
Date: 2001/08/10 08:12
Subject: Re: サイズについて
(長くなってきたので分けました)
>あと、guide06を見て思ったことを率直に述べます。
>といっても素人なので本当に思っただけのことですが。。。
ありがとうございます。参考にさせていただきます。
>1.(アセンブラで)使いにくそう
>2.(Windowsに比べて)キャッシュミスがごくわずかに増えそう
どの辺が、使いにくそうで、キャッシュミスが増えそうなんでしょうか。具体
的に指摘していただけると、大変参考になりそうなのですが・・・。
メモリ上にファンクションをずらーっと並べておいて、EBXにその先頭アドレ
スをロードして、far-callをすれば終わりなので、そんなに使いにくいとは思っ
ていなかったのですが・・・。
ご面倒でなければ、pack004s内のhello.askやcolor.askなどをご覧ください。
使用例です。
>3.ユーザがシステムワークエリアを指定するのはちょっと・・・・
このワークエリアには、破壊されても困らない(=他のタスクには影響しない)
ようなデーターしか入りません。アプリがわざわざ自滅したければしてもいいで
しょう。他のタスクにも影響するような重要なデーターはアプリからはアクセス
できないところにシステムが隠し持っています。
>4.LIB_ControlSoundTrackのfreq?
出したい音の周波数を指定します。今のところ、周波数しか指定できません(
そのうち機能拡張することになると思います)。
>6.例外発生時のエラー対策ができない?
いや、これは仕様上はできるんです。現在のところ、全てのファンクションが
無事に終了すると、EBXは最後の「コマンド終了コマンド」を指して、CF = 0,
ZF = 1の状態でリターンしてきます。エラーがあった場合、EBXはそのエラーを
起こしたファンクションを指し、CFかZFを正常終了時とは異なる状態で(CFにす
るかZFにするかはまだ決めていませんが)、リターンしてくるようにするつもり
です。そして、エラー原因を詳しく知るためのファンクションもあり、それを使
って、どんな理由でエラーになったのかを知ることができます。
エラーの原因を取り除たあとでもう一度呼び出したい場合は、EBXの値をその
ままで呼び出せばいいです。また、そのファンクションをスキップして残りのフ
ァンクションを実行させたい時は、EBXに適当な値を加算してから呼び出します
。
以上の話は仕様上の話でありまして、実装上は、エラーを検出した時点でハン
グアップしています(笑)。十分なエラー処理を書くだけの時間的余裕がまだない
んです。
>7.良くも悪くもまとも
そういっていただけると、とりあえず救われた気持ちになります(笑)。
>最近アセンブラばっかり打ってるからなぁ>自分。
いいことです(笑)。非常に親近感を覚えます(笑)。