2009-09-10 83 views

回答

7

他們將有什麼價值是在存儲器之前,這是不太可能0。這本身不是「隨機的」 - 事實上,它可能有點可預測;這通常不會有什麼好處,只是沒有得到有關在使用它RNG :)

記住任何聰明的想法,你的代碼所做的一切是:

  • 保存當前值EBP爲[ESP]然後從ESP
  • 減去4複製ESP從EBP EBP
  • 減去8(你的意思是ESP?)

,CPU也不會讀任何東西到這個除此之外,除非你告訴它。這是彙編程序的精髓。而且,在正常算術中使用時,ESP根本不是特別的 - 它只是一個數字。

+0

感謝spoting該子EBP,8。我真的以爲是EBP:S。我現在正在閱讀Barlet的80x86彙編語言和計算機體系結構程序介紹和堆棧章節,以便我終於明白堆棧是如何工作的。 – 2009-09-10 21:48:27

2

他們將隨機值。

+0

嗯?爲什麼downvote?它回答了這個問題,並沒有錯。 – 2009-09-11 07:10:36

5

你不應該依賴於這個,因爲這可能取決於執行。處於可預測狀態時,始終以特定值初始化寄存器或存儲單元。

3

他們肯定還會有隨機值,除非你明確地對它們進行初始化。

+0

關鍵的原因:你所做的只是移動指針。你所做的任何事情都不會導致它們被歸零。 – 2009-09-10 20:48:53