概述
命令行 PAfunc_name第三節dScopeforWindows命令文件的編製 dScope除了用命令行的方式進行調試以外,還可將各種調試命令彙集於一個調試文件中,……
命令行 PA func_name 第三節 dScope for Windows命令文件的編製 dScope除了用命令行的方式進行調試以外,還可將各種調試命令彙集於一個調試文件中,然後調用該文件,就可達到自動測試用戶源代碼的目的。dScope的命令文件支持C/PL/M的格式,因而編製調試命令文件與編製C語言程序有些類似。 1. 地址空間及地址空間類型 (1) 地址空間分段 dScope提供的最大可用空間為16M,實際上我們只用以下三段: ① 內部數據空間段(0X00段或D段) 0X00:0X0000~0X00:0XFFFF(對MSC51而言為0X00:0X00FF) ② 外部數據空間段(0X01段式或X段) 0X01:0X0000~0X01~0XFFFF ③ 程序空間段(0XFF段或C段) 0XFF:0X0000~0XFF:0XFFFF (2) 地址空間類型 C:代碼空間 D:內部直接定址空間 I: 內部間接定址空間 X:外部數據空間 B:位定址空間 P:I/O口 EB:擴展的位定址空間(MCS251專有) ED:擴展的數據空間(MCS251專有) CO:常數空間(MCS251專有) HC:正常數空間(MCS251專有) 2. 常量 dScope支持十六進位、八進位、十進位、二進位常數,其後綴分別為H、Q(O)、T(或無)、Y; dScope不區分常量的大、小寫。 (1) 整型常量 分為整型(int),無符號整型(uint,00rd),長整型(long),無符號長整型(Wlong、Word)。 (2) 浮點型常量 與ANSI C相同。 (3) 字元串常量 與ANSI C相同 (4) 字元常量 分為字元型(Char)和無符號字元型(Uchar)一種。 (5) 行號常數 指用戶程序中的行號,實際上是個地址 (6) 位常量(Bit): 0和1 (7) 地址常數 地址常數的種類很多,地址常數不同於行號常數,行號常數就是一個地址,而地址數被引用時,實際上是取該地址中的數據。 C:代碼地址常數,如C:0X0012或0XFF:0X0012 D:內部直接定址地址常數,如D:0X0068或0X00:0X0068 I:內部間按定址地址常數,如I:0X0010或0X00:0X0010 X:外部數據空間地址常數,如X:0X0028或0X01:0X0028 B:位地址常數,如B:0X20或B:0X24.0 EB:擴展的位地址常數(MCS251專有), ED:擴展的數據空間地址常數(MCS251專有) CO:常數空間地址常數(MCS251專有) HC:正常數空間地址常數(MCS251專有) (8) 標識符常量 即用戶源程序中的標號、函數名等,實際上代表某一地址。 (9) 用戶源程序中定義的常數 3. 變數 dScope所支持的變數名或標識符最多可由31個字元組成,第一個字母為A~Z,a~z,下劃線或問號,後續字元可為字母、數字、下劃線和問號。除CPU變數和系統變數外,dScope不支持全局變數,但可視“define”命令定義的變數為全局變數。 Dscope所支持的變數分為以下幾種(變數名稱不區分大、小寫),支持類型轉換: (1) 整型變數 分為整型變數(int)、無符號整型變數(uint/word),長整型(Long) 、無符號長整型(Ulong/dword)。 (2) 浮點型變數(float) 與ANSI C相同。 (3) 字元型變數L 分為字元型(char)變數和無符號字元型(Uchar) (4) 位變數(Bit) (5) 系統變數 dScope自己定義了一系列內部變數,用戶可對這些變數進行讀或讀/寫操作, 可被用戶自定義數所引用。 a. Cycles (Read Only) 32位變數(Ulong),指示當前程序執行已花費的指令周期(cycle)。 b. Ramsize(R/W) 16位變數(Uint),指示內部可直接定址的數據空間大小。 c. Radix(R/N) 8位變數(Uchar),決定輸出的數制 Radix=0X0A (10進位),Radix=0X10 (16進位) d. -IIP-(R/W) 8位變數(Uchar),指示當前的中斷嵌套數目。 e. $ (R/W) 32位變數(Ulong),指出PC值,通過對其進行寫操作,可改變程序執行的流程。 f. Itrace (R/W) 8位變數(Uchar),決定是否對程序運行情況進行記錄 Itrace=1,使能記錄操作 Itrace=0,根本上記錄操作 g. __Break__(R/W) 8位變數(Uchar) __Break__=1,中止程序的運行 h. __Mode__和__Frame size__是MCS 251專有的變數。 (6) CPU變數 即R0~R7、A、C(位變數)、B、DPTR及特殊功能寄存器變數,對這些變數均可進行讀、寫操作。 (7) 用戶源程序中定義的變數、數組、結構等 4. 運算符 dScope支持ANSI C的運算符,包括算術運算符,邏輯運算符,關係運算符。 5. 表達式 以運算符將dScope所支持的常量、變數、函數等連接在一起,就構成了dScope的表達式。 6. 數組 dScope不支持在命令文件中定義數組,但可引用用戶程序中的數組,引用方式如同C。 7. 結構和聯合 dScope不支持在命令文件中定義結構和聯合,但可引用用戶程序中的結構和聯合,引用方式如同C,但如要輸出整個結構或聯合的結果,就要用命令“OBJ”。 8. 指針: 不可自定義指針,但支持用戶源程序中的指針變數。 |
[admin
via
研發互助社區 ]
Keil C51使用詳解2已經有13213次圍觀
http://cocdig.com/docs/show-post-536.html