壓力校驗儀軟件的可維護性編程方法
壓力校驗儀軟件代碼在執行中容易出現的下一個問題是跑飛,程序指針受到干擾,跳轉到了一個非受控位置,執行了不該執行的代碼。如果執行了不該執行的代碼,如果在程序中加入了足夠的變量判斷、讀值判斷、狀態檢測判斷等,那倒還好了,后果也不會太嚴重,甚至zui終還是可能自己跑回來的。但有一種跑飛是比較可怕的,一般我們在ROM中存放的程序目標代碼是1-3字節的指令,就是zui多3條字段的目標碼組成了執行動作,如果程序指針跑飛到了某個3字節指令的第2個字節上的時候,執行的后果是什么,可就真的沒人知道了,即使在程序上作了足夠的數據判錯、邏輯跳轉的防范措施,結果也不會好。而且ROM一般是不可能全部都被程序代碼填滿的,總有富余空間,富余空間中的默認內容是啥,這些默認字節是否也會導致一些操作呢?跳到這些字段里,也是容易出麻煩的。
壓力校驗儀軟件代碼跑飛如何解決呢?就是每隔一段程序代碼或控制區域,就人為放置上幾個NOP指令,在NOP指令后放置一個長跳轉的ERR處理程序。注意NOPzui少放置3個,這樣任何的跑飛zui多只能占用2個NOP,第三個NOP一樣還是能把程序代碼揪回來,揪回來后就執行ERR處理程序。