新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > SI02匯編語言集成開發環境介紹

        SI02匯編語言集成開發環境介紹

        作者: 時間:2012-03-07 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/165830.htm

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

          

          3.3 IDE接口說明

          1)List文件:列表文件List.lst提供源文件與目標文件中各行指令的對應關系,其一行格式為:

          [SL:源文件行號][TL:目標文件行號]源程序內容

          其中若源程序行沒有與之相對應的目標程序行存在(比如注釋),則與此源程序行對應的目標程序行號表示為[xxxxx]。

          2)Obj文件:目標文件Obj.obj存儲將源程序匯編生成的中間代碼,其格式為三元式,描述一行如下:

          L:行號,操作符,操作數1,操作數2;

          其中,若兩個操作數之一或全部不存在,則相應位置表示為xxxxx。

          3)錯誤信息文件:錯誤信息文件用來存儲程序匯編期間和模擬執行時發現的錯誤信息,包括錯誤類型、錯誤位置等;它有匯編和模擬執行程序寫入,由編輯模塊讀出。

          4)數據信息文件:用來存儲程序執行結束后,存儲器和寄存器里的數據信息。它由模擬執行程序寫入,當用戶需要這些信息時,由編輯器模塊負責讀出顯示到界面相應的位置。

          4.IDE的實現

          根據上節設計的系統功能可知,系統分別需要從以下三個方面實現。

          4.1匯編程序的實現

          匯編程序是將轉換為機器代碼的軟件,該過程的源語言是,目標語言是面向SI02芯片的機器代碼。利用C++語言中類的封裝性,將匯編程序作為整個軟件中的一個類來處理。以確保數據成員的有效性,有效防止編程錯誤。該類的功能是將匯編源程序逐行讀入,并進行判斷、計算、分析,最后給出正確的機器碼。

          這需要對匯編源程序進行兩次掃描,第一次掃描主要是對程序中所出現的變量以及標號建立檔案,檔案用于存放變量和標號的地址。第二次掃描主要是對整個源程序進行正確的譯碼,若源程序有錯,給出所有出錯信息,以便于檢查和修改;源程序若無錯誤則生成可執行的目標代碼。

          匯編程序類中分別用三個數組保存了每條指令的行號、程序計數器地址、和字節數,以便在軟件仿真類中使用。匯編結束要生成error.txt,list.txt和obj.txt三個配置文件,他們存放有關源程序的相關信息,以便在調試模塊中使用。

        c語言相關文章:c語言教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 潢川县| 漯河市| 宁陵县| 鹤壁市| 崇信县| 尚志市| 尤溪县| 霍林郭勒市| 都江堰市| 萨嘎县| 遂平县| 巴林左旗| 平泉县| 饶平县| 宁武县| 丽江市| 池州市| 永宁县| 罗源县| 剑川县| 平陆县| 余庆县| 宕昌县| 文登市| 共和县| 天长市| 石屏县| 龙里县| 辛集市| 宁河县| 盘山县| 沙河市| 颍上县| 阜新市| 东丰县| 屯留县| 漳州市| 阿勒泰市| 盐边县| 阳朔县| 晋中市|