[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 3027] bmpv04.
こんにちは、川合です。Subjectを変えました。また、関連するメー
ルをまとめています。
rakkyo さんは 2002/01/22 22:50:01 の「[OSASK 3022] Re: ASKA(ASM)
での呼び出し方について」で書きました:
>さっそくなのですが、ASKAを使っていて、一つ気づいた事が...
>http://homepage2.nifty.com/rakkyo-taro/bmpv04.lst
>http://homepage2.nifty.com/rakkyo-taro/bmpv04.ask
うまくダウンロードできませんでした。URLは合っていますか?
ええと、実はちょっと気になっていたのですが、アップロードする際
には、アーカイブにまとめてもらえないでしょうか?・・・アーカイブ
なら複数のファイルを1度に持ってくることもできますし、保存も楽で
す。サイズも小さくなって、回線の細い僕は助かるんですが・・・。
その後、
http://homepage2.nifty.com/rakkyo-taro/secret/bmpv04.lst
などでアクセスできると分かりました。
>で、lstは286行、askは435行近くを見てもらいたいのですが、なんだかASKAの出
>力がおかしくないでしょうか??
>まだ、あんまり命令を知らないのですが、レジスタの値もなんだかおかしいので、
>違うような気も...
>間違っていたらすいませんm(_ _)m
実はASKAは間違ってはいなくて、問題はらっきょさんのソースの方に
あるのでした。
おそらく問題にしているのは、
DX = 7 - AX;
という計算でしょう。これはできません。もちろん、EDX = 7 - EAX;も
できません(EDX = 7 + EAX;ならできるんですが)。
そういうことがしたいのでしたら、たとえば、
EDX = 7;
EDX -= EAX;
などとするべきです。
ついでにこれはおせっかいなのですが、
SHR(AL, CL);
これは、CLを使う理由はなんなのでしょうか?シフト量を将来自由に変
更しようということなんでしょうか?・・・そうではなくて、シフト量
に定数が指定できるのを知らなかったというだけでしたら、是非こちら
をお使いください。CLが他の用途に使えるようになるので、楽になるで
しょう。
SHR(AL, 4); もしくは、 AL >>= 4;
rakkyo さんは 2002/01/23 01:48:30 の「[OSASK 3024] Re: ASKA(ASM)
での呼び出し方について」で書きました:
>> >struct LIB_GRAPHBOX {
>> >// int reserve[64 / 4];
>> > int reserve[16];
>> >};
>> int reserve[64]; と書いてください。
>これってなんの意味があるのでしょうか?
>いまいちよく分かっていません(ぉぃ
struct LIB_GRAPHBOXは意味ありません。使っていませんからね。消
しちゃいましょう。
>> >// 静的変数領域の初期値設定
>> >// ・・・決まり文句だと思ってください。深く考えなくていいです。
>> ベタデータをコピーしてますね。tek0を使えるといいんですが……
>ここなんですが、コピーしないといけないんでしょうか??
はい、コピーしなくちゃいけません。
コピーしないやや高度なテクニックもあるにはあるのですが、それは
かえって話がややこしくなります。
なんでコピーしなきゃいけないのかというと、とりあえずこう考えて
ください。
・記述したデーターはbmpv04.binの中に存在するが、実行に際して、こ
のファイルはリードオンリーにされる。
・リードオンリーのデーターは全く書き換えられないので、書き換え可
能なstack+mallocファイル(合計180KB)の中にコピーして、こっち
を使う。
つまり、一切書き換える必要がない場合を除いて、コピーは必須なの
です。
>後、tek0と言う言葉は前からちょくちょく聞いてはいたのですが、どうすれば
>tek0に対応できるのかが、いまいちよく分からず使えませんでした。
tek0の利用はもちろん考えましょう。これを使うと使わないとではか
なり違うので。しかし、これはプログラムがちゃんと走るようになって
からです。それより前にtek0を使おうとすると、多分悩みが増えます。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/