2 part forth (907レス)
上
下
前
次
1-
新
483
: 2008/10/08(水)23:38
AA×
[
240
|
320
|480|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
483: [sage] 2008/10/08(水) 23:38:28 混乱してるようだから、 まず、ネイティブの場合とスレッディングの場合を分けて考えた方がいい。 ネイティブForthで自然な実装では、 SP=リターンスタックポインタ(RSP) BP=データスタックポインタ(DSP) となってる。 UNIX/Cの普通のスタックを知ってれば、機能的な対応は明瞭なはず。 リターンスタックが伸びても、DSPは別フレームに移らないのがForthのポイント。 ちなみに、Forthでも局所変数が使えるヤツがあって、 その局所変数には、リタースタック中にフレームを作って割り当てるのが普通。 これも、標準のスタックがわかってれば意味は明瞭。 スレッディング(直接・間接)方式だと、 呼出しはCallじゃないから、 BPをRSPにしてもかまわんが、 パラメタとリターンアドレスの混合は、 Forthでは無謀。動的にチェックが必要な上に、完璧にはできそうにない。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/483
混乱してるようだから まずネイティブの場合とスレッディングの場合を分けて考えた方がいい ネイティブで自然な実装では リターンスタックポインタ データスタックポインタ となってる の普通のスタックを知ってれば機能的な対応は明瞭なはず リターンスタックが伸びてもは別フレームに移らないのがのポイント ちなみにでも局所変数が使えるヤツがあって その局所変数にはリタースタック中にフレームを作って割り当てるのが普通 これも標準のスタックがわかってれば意味は明瞭 スレッディング直接間接方式だと 呼出しはじゃないから をにしてもかまわんが パラメタとリターンアドレスの混合は では無謀動的にチェックが必要な上に完にはできそうにない
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 424 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.031s