ARM異常處理程序
理解SWI程序的結(jié)構(gòu)。
掌握從應(yīng)用程序中調(diào)用SWI異常的方法。
實驗一:使用SWI異常設(shè)計字符串輸出程序
本實驗利用SWI異常輸出字符串“hello world!”,采用ARMualtor方式調(diào)試,選用ARM7作為目標(biāo)處理器。
序號 | 執(zhí)行指令 | 指令執(zhí)行后的變化情況 | ||||||||||||
寄存器 | 存儲空間 | |||||||||||||
R0 | R1 | R2 | R3 | SP | LR | PC | 0xB000 | 0xCFFC | 0xCFF8 | 0xCFF4 | 0xCFF0 | 0xCFEC | ||
0 | ---- | |||||||||||||
1 | ||||||||||||||
2 | ||||||||||||||
3 | ||||||||||||||
4 | ||||||||||||||
5 | ||||||||||||||
SYS_WRITEC
START
STROUT
CHROUT
TEXT
實驗二:設(shè)計SWI異常處理程序(ARM9)
本實驗設(shè)計的SWI異常處理程序分為兩級:第一級SWI異常處理程序獲得SWI的功能號,由匯編程序?qū)崿F(xiàn);第二級SWI異常處理程序完成具體的SWI異常操作,由c程序?qū)崿F(xiàn)。
閱讀程序,畫出程序間調(diào)用的結(jié)構(gòu)圖。(11.4)
評論