顯微鏡下觀察斷點接觸到微探針,檢測儀器的應(yīng)用仿真器的優(yōu)越之處就是能從控制臺上全面地控制和測試待開發(fā)系統(tǒng)(圖的右部)。停止8080的操柞是能夠做到的,檢查或者更改寄存器也能做到。為了做到這一點,就需要把8080的管殼打開,在顯微鏡下接觸到微探針上,以取得寄存器的內(nèi)容。在一個實際的8080當(dāng)中,寄存器的內(nèi)容是無法利用的,只有在總線上的信息才可利用。利用仿真器,就可以用程序斷點自動地停止8088的操作。這一點將在下面說明??梢韵髮Υ尜A器的內(nèi)容那樣來檢查或者更改寄存器的內(nèi)容,可以坐在鍵盤旁邊通過按鍵來執(zhí)行諸如閉合繼電器之類的輸入/輸出指令,這樣也就可以再次使處理器停機(jī),并檢查總線、寄存器和存貯器。此外,所有的操作都可以在開發(fā)系統(tǒng)中的軟件輔助下進(jìn)行。存貯器的檢查和更改可以用符號形式進(jìn)行,而不采用二進(jìn)制或十六進(jìn)制形式,這叫做符號改錯。 斷點是指定程序自動停止地址的一種標(biāo)志。把地址選擇出來,并把一個斷點清單送給仿真器。當(dāng)運(yùn)行當(dāng)中到達(dá)指定的地址時,被仿真的微處理器便自動停機(jī),使用戶得以驗證寄存器、總線或者存貯器的內(nèi)容。此外,電路內(nèi)仿真器還具有一種回視(trace— back)能力。這種能力為總線上的信號在下一段指定時間內(nèi)的歷史提供一個“高速攝影”。INTEL ICE能夠提供44個機(jī)器周期的回視。只要遇到斷點,電路內(nèi)仿真器便停止執(zhí)行,并為用戶提供一種符號改錯手段。通常,當(dāng)斷點處檢出一個錯誤時,這個錯誤并不是由斷點處的指令所產(chǎn)生,而是由程序中以前的指令所產(chǎn)生的。問題在于確定產(chǎn)生錯誤的指令的位置。利用這種回視能力,就可以檢查過去的信號,以確定在檢出錯誤之前執(zhí)行過哪些指令。如果這段歷史記錄不夠長,則可設(shè)置一個較前的斷點,以便給系統(tǒng)增加一段歷史記錄。這一過程可以重復(fù)進(jìn)行,直到最后能把錯誤加以確認(rèn)為止。
|