當前位置:編程學習大全網 - 編程語言 - “NOP指令”有何作用?

“NOP指令”有何作用?

nop指令的作用:

1)就是通過nop指令的填充(nop指令壹個字節),使指令按字對齊,從而減少取指令時的內存訪問次數。(壹般用來內存地址偶數對齊,比如有壹條指令,占3字節,這時候使用nop指令,cpu?就可以從第四個字節處讀取指令了。)

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

3)i/o傳輸時,也會用壹下?nop,等待緩沖區清空,總線恢復;?

4)清除由上壹個算術邏輯指令設置的flag位;?

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

6)有壹個朋友說的比較厲害--在航天飛機控制程序中防止程序跳飛!?

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

計算機科學中,NOP或NOOP(No?Operation或No?Operation?Performed的縮寫,意為無操作)是匯編語言的壹個指令,壹系列編程語句,或網絡傳輸協議中的表示不做任何有效操作的命令。

NOP指令通常用於控制時序的目的,強制內存對齊,防止流水線災難(en:Hazard?(computer?architecture)),占據分支指令造成的延遲(delay?slot),或是作為占位符以供程序的改善(或替代被移除的指令)。在某些情況中,NOP指令會產生副作用;例如在摩托羅拉?68000處理器中,NOP操作碼會產生流水線同步。

  • 上一篇:b端和c端是什麽意思
  • 下一篇:大學生職業規劃
  • copyright 2024編程學習大全網