SI02匯編語言集成開發環境介紹
本文引用地址:http://www.104case.com/article/165830.htm

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

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