回覆列表
  • 1 # lanfengz2

    nop指令的作用:

    1)就是透過nop指令的填充(nop指令一個位元組),使指令按字對齊,從而減少取指令時的記憶體訪問次數。(一般用來記憶體地址偶數對齊,比如有一條指令,佔3位元組,這時候使用nop指令,cpu 就可以從第四個位元組處讀取指令了。)

    2)透過nop指令產生一定的延遲,但是對於快速的CPU來說效果不明顯,可以使用rep字首,多延遲幾個時鐘;-->具體應該說是佔用了3個時鐘脈衝!

    3)i/o傳輸時,也會用一下 nop,等待緩衝區清空,匯流排恢復;

    4)清除由上一個算術邏輯指令設定的flag位;

    5)破解:對於原程式中驗證部分使用nop來填充,使驗證失效;

    6)有一個朋友說的比較厲害--在太空梭控制程式中防止程式跳飛!

    解釋如下:在空間放射性環境下,放射性子粒很容易使記憶體位元改變(呵呵,有點基因突變的感覺),這樣如果改變的是jump,call指令的存貯位置的話,就會導致程式跳轉到一個不可以預置的位置,對於關鍵系統來說的確是災難性的。所以就在被呼叫程式之前填充nop指令,這樣即使跳轉到稍前或者稍後的位置,也不會造成影響。

  • 中秋節和大豐收的關聯?
  • 家用打孔一般用多大的鑽頭?