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