2ちゃんねるログビューア

カルネージハートエクサ1機目   を含む(ツリー表示)

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除
142: 名前:枯れた名無しの水平思考 :2010/07/07(水) 22:59:19 ID:WZFtuDwe0(3)
SUB1→SUB1も出来そうだなあ。
わからんけどw
145: 名前:枯れた名無しの水平思考 :2010/07/07(水) 23:14:56 ID:XE+K+/ot0(4)
>>142
あの書き方だとできそうね。禁止する理由もなさそう。
>>143
うーん、そうきたかw。じゃぁ別な説明で。
「どこからSubが呼ばれたか」という情報を記録する場所が10個ある。始めは全部空っぽ。
  [空][空][空][空][空][空][空][空][空][空]

まず、MainからSubを呼んだら、その場所を一つ使ってMainから呼ばれたことを記録する。
  [Main][空][空][空][空][空][空][空][空][空]
さらに、Subの中からSubをもう一度呼んだら、もう一つ場所を使ってSubから呼ばれたことを記録する。
  [Main][Sub][空][空][空][空][空][空][空][空]
そこからさらにSubを呼ぶと、もう一個使う。
  [Main][Sub][Sub][空][空][空][空][空][空][空]
そこからSubからReturnするときには、最後に記録した情報の場所に戻ると同時に、その最後の記録を消す。
  [Main][Sub][空(消去済)][空][空][空][空][空][空][空]

もし、MainからSubを呼び、そのSubの中からもう一度Subを呼び、そこからさらにSubを…と繰り返すと
空いている場所が減っていき、Subが10回呼ばれたときに最期は全部情報が入っている状態になり、空いている場所がなくなる。
  [Main][Sub][Sub][Sub][Sub][Sub][Sub][Sub][Sub][Sub]
空いている場所がない時にSubの呼び出そうとしても、「どこからSubが呼ばれたか」はもう記録できない。
その場合は、呼び出しに失敗する(おそらくSUBチップを素通りする)。
149: 名前:枯れた名無しの水平思考 :2010/07/07(水) 23:25:14 ID:d5ZEVcEM0(4)
>>145
>あの書き方だとできそうね。禁止する理由もなさそう。
途中でSub2に条件分岐することも可能だと思うし、禁止しないとまずいと思う
まあ、そんな変態ソフト見てみたいけど
157: 名前:枯れた名無しの水平思考 :2010/07/08(木) 00:06:26 ID:v/0sjp6A0(2)
>>145
それって無限ループ起こさね?
例えば11回目でsubが無視された結果retunに入ったら、
もう片方のsubに戻ったときまた空きが一つ出来るよね?
158: 名前:枯れた名無しの水平思考 :2010/07/08(木) 00:18:18 ID:KUVNHMvA0(3)
>>157
なるよ。だから再帰を使うならどこかに「脱出条件が満たされていたらRETURN」と書いておく。
144: 名前:枯れた名無しの水平思考 :2010/07/07(水) 23:10:24 ID:WZFtuDwe0(3)
>>143
10回繰り返したあと、11回目を実行しようとしたら、
CALL-SUB実行自体されないんじゃないかな?
NOPとして処理される。
わからんけどw
154: 名前:枯れた名無しの水平思考 :2010/07/07(水) 23:29:06 ID:WZFtuDwe0(3)
>>151
エクサが出るまでマテw

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除 dat