[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00252] Re: LSI-CforWitch の関数ポインタ



こんにちは。はじめまして、大野@CDSと言います。
こちらのメーリングリストには初投稿になります。
なにか問題ありましたらご指導よろしくお願いします。


mnagaku> この私の7年ぐらい前に脳内に構築された勝手な解釈に基づくと
mnagaku> tinyモデル時(CS == DS == SS)以外の関数ポインタはfarであるべきなんですが……


tiny  は CS == DS で code + data で 64k に収まるメモリーモデルで
small は CS != DS で data 64K、data 64K のメモリーモデルですよね。

small では code は 一つのセグメントに納められているはずですから、
関数の call は near で、return も nearで生成されるはずです。

なので、長久さんが例にあげていた関数ポインタから呼ばれる関数

char t1(int no){
    return no + 1;
}

は near の関数になっているはずだと思いますよ(^_^;)
これを far 呼び出しするとスタックが壊れて暴走するかと思います。



# と、ここまで書いて自信が無くなってしまった(^_^;)
# すっかり、Win32 / Java に染まった頭で 80x86 でアセンブラでがりがり
# 書いていたころのことを思いだしながら書いてます。
# まだ、WonderWitch買っていません(^_^;)。
============================================
Yasuo Ohno --- Yokohama, Kanagawa, Japan ---
Homepage URL: http://www16.cds.ne.jp/~ohno/
============================================


ML Archives