SI02匯編語(yǔ)言集成開(kāi)發(fā)環(huán)境介紹
本文引用地址:http://dyxdggzs.com/article/165830.htm

根據以上對系統功能的劃分以及各個(gè)模塊的功能,可以得出系統的詳細設計圖如圖3所示:程程序編輯器和模擬執行功能模塊細分如圖4所示。通過(guò)點(diǎn)擊菜單條上的調試菜單項中除編譯外的二級菜單,可以激發(fā)軟件仿真類(lèi)中相應的成員函數,實(shí)現調試的功能。既可以采用連續執行、跟蹤(StepInto細分圖單步運行且進(jìn)入子程序)和步越(StepOver單步運行但不進(jìn)入子程序)方式進(jìn)行調試,也可以設置斷點(diǎn)并使程序運行至斷點(diǎn)處或運行至光標處進(jìn)行調試。調試中可以打開(kāi)特殊功能寄存器窗口、代碼窗口(顯示程序存儲器的內容)和變量窗口,觀(guān)察指令運行對特殊功能寄存器的影響,并可通過(guò)變量窗口查看變量的值

3.3 SI02IDE接口說(shuō)明
1)List文件:列表文件List.lst提供源文件與目標文件中各行指令的對應關(guān)系,其一行格式為:
[SL:源文件行號][TL:目標文件行號]源程序內容
其中若源程序行沒(méi)有與之相對應的目標程序行存在(比如注釋),則與此源程序行對應的目標程序行號表示為[xxxxx]。
2)Obj文件:目標文件Obj.obj存儲將源程序匯編生成的中間代碼,其格式為三元式,描述一行如下:
L:行號,操作符,操作數1,操作數2;
其中,若兩個(gè)操作數之一或全部不存在,則相應位置表示為xxxxx。
3)錯誤信息文件:錯誤信息文件用來(lái)存儲程序匯編期間和模擬執行時(shí)發(fā)現的錯誤信息,包括錯誤類(lèi)型、錯誤位置等;它有匯編和模擬執行程序寫(xiě)入,由編輯模塊讀出。
4)數據信息文件:用來(lái)存儲程序執行結束后,存儲器和寄存器里的數據信息。它由模擬執行程序寫(xiě)入,當用戶(hù)需要這些信息時(shí),由編輯器模塊負責讀出顯示到界面相應的位置。
4.SI02IDE的實(shí)現
根據上節設計的系統功能可知,系統分別需要從以下三個(gè)方面實(shí)現。
4.1匯編程序的實(shí)現
匯編程序是將匯編語(yǔ)言轉換為機器代碼的軟件,該過(guò)程的源語(yǔ)言是SI02匯編語(yǔ)言,目標語(yǔ)言是面向SI02芯片的機器代碼。利用C++語(yǔ)言中類(lèi)的封裝性,將匯編程序作為整個(gè)軟件中的一個(gè)類(lèi)來(lái)處理。以確保數據成員的有效性,有效防止編程錯誤。該類(lèi)的功能是將匯編源程序逐行讀入,并進(jìn)行判斷、計算、分析,最后給出正確的機器碼。
這需要對匯編源程序進(jìn)行兩次掃描,第一次掃描主要是對程序中所出現的變量以及標號建立檔案,檔案用于存放變量和標號的地址。第二次掃描主要是對整個(gè)源程序進(jìn)行正確的譯碼,若源程序有錯,給出所有出錯信息,以便于檢查和修改;源程序若無(wú)錯誤則生成可執行的目標代碼。
匯編程序類(lèi)中分別用三個(gè)數組保存了每條指令的行號、程序計數器地址、和字節數,以便在軟件仿真類(lèi)中使用。匯編結束要生成error.txt,list.txt和obj.txt三個(gè)配置文件,他們存放有關(guān)源匯編語(yǔ)言程序的相關(guān)信息,以便在調試模塊中使用。
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評論