[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1881] from OSASK BOARD



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。


http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3b73f0ea_1747d

From: EIL
Message-ID: 3b73f0ea_1747d
Date: 2001/08/10 23:34
Subject: 細部とか

>>1.(アセンブラで)使いにくそう

Windowsでは例えば
MessageBox(hwnd,text,title,style)
というAPIをasmで使うとき

+++++++++++++++++
%macro msgbox 4
     push dword %4
     push dword %3
     push dword %2
     push dword %1
     call _MessageBoxA@16
%endm
---------
で
---------
%define MB_ICONASTERISK 0x0040
  msgbox [hwnd],msg_hello1,msg_hello2,MB_ICONASTERISK

msg_hello1: db 'hello, world',0x00
msg_hello2: db 'hello',0x00
+++++++++++++++++
と書きますが、OSASK的に呼び出す場合、
+++++++++++++++++
%macro msgbox 4
     mov dword [cmd],msgbox_cmd
     mov dword [param],%1
     mov dword [param+0x4],%2
     mov dword [param+0x8],%3
     mov dword [param+0xC],%4
     mov dword [param+0x10],0x00000000
     mov EBX,cmd
     call far SYSTEM_CALL
%endm
+++++++++++++++++
という感じになって・・・・・・あれ?そんなに変んないやm(><)m。
大量コールのときは基礎データを作っておけばいいわけだし・・・・
ごめんなさい。勘違いのようです。


>>2.(Windowsに比べて)キャッシュミスがごくわずかに増えそう

いや、これはスタックにアクセスが集中しないので、DSとSSでそれぞれにキャッシュミスを引き起こす可能性がある、
という、どう考えても気にならない程度のもののことですので、気になさらないでください。


>>3.ユーザがシステムワークエリアを指定するのはちょっと・・・・

う〜ん。触ることのできないものをいちいちユーザが指定するわけですか・・・・
この方法の利点が今一つ思い当たりません。
それより、ユーザのメモリ空間を2GB程度に制限して残りをワークエリアにしてしまったほうが
ワークエリアへのポインタを保持しなくてすんでいいような気もします。


>>最近アセンブラばっかり打ってるからなぁ>自分。
>
> いいことです(笑)。非常に親近感を覚えます(笑)。

いいことですかね?(^^  
あ〜、どっかにasm並みにコンパクト&高速&細部制御可能なコンパイラないですかねぇ。ああ、他力本願だ。
作るか・・・・・・( ゜゜?

長々と駄文失礼しました。では。