1.反組譯碼命令l:
用法:l Addr,Num
功能:從Addr地址開始顯示Num條反組譯碼指令,如果不加Num則按照預設的方式顯示10條反組譯碼指令.
舉例:
(1)不加Num按照預設的方式顯示10條反組譯碼指令:
(2)加參數後顯示指定行數的反組譯碼指令:
2.記憶體顯示命令d:
用法:d Addr,UnitNum,UnitBytes
功能:從地址Addr開始顯示UnitNum組的記憶體資料,每行顯示16Bytes;每組包含UnitBytes位元組,一行有16/UnitBytes
組資料;
說明:UnitBytes的可選值有:1,2,4,8;其它數值的顯示形式和1相同.其中以1為參數可以從任意地址開始顯示資料,
而已其它參數則只能從偶地址開始顯示.
舉例:地址0x1a900a50附近的記憶體布局如所示,下面使用不同的顯示方式把這段記憶體的內容顯示出來:
(1)從地址0x1a900a55開始顯示32組資料,每組1位元組:
說明:這種說明:這種顯示方式是嚴格按照位元組地址從低到高顯示,對於查看那些單位元組變數比較方便.比如現在地址0x1a900a58處是一個char類型的變數,那麼我們就很容易知道它的值是0x50.但是如果地址0x1a900a58處是一個雙位元組類型的變數,我們就不能安順序讀了,如果認為這個雙位元組變數的值是0x5097那就錯了,因為雙位元組資料在記憶體中的儲存方式是:高位元組在高地址,低位元組在低地址;所以這個雙位元組類型的變數的值應該是0x9750.對於雙位元組變數採用下面的顯示方式查看會更直觀一些.
(2)從地址0x1a900a55開始按照預設顯示資料,每組資料的預設值是2位元組:
說明:這種顯示方式是組之間地址從低到高,組內高地址位元組顯示在前,低地址位元組顯示在後,對於查看那些雙位元組變數比較方便,直接讀出一個組的資料就是一個16位的數值.比如現在地址0x1a900a58處有一個雙位元組的變數,那麼我們可以直接讀出它的值是0x9750.但是如果地址0x1a900a58處是一個四位元組類型的變數,我們就不能安順序讀了,如果認為這個四位元組變數的值是0x975000ee那就錯了,因為四位元組資料在記憶體中的儲存方式是:高位的雙位元組在高地址,低位的雙位元組在低地址;高位的雙位元組和低位的雙位元組儲存方式和單獨的雙字資料存放區方式相同,即:高位元組在高地址,低位元組在低地址;所以這個四位元組類型的變數的值應該是0x00ee9750.對於四位元組變數採用下面的顯示方式查看會更直觀一些.
(3)從地址0x1a900a55開始顯示32組資料,每組4位元組:
說明:這種顯示方式是組之間地址從低到高,組內高地址雙字顯示在先,低地址雙字顯示在後;對於高地址和低地址的雙字都是高地址位元組顯示在前,低地址位元組顯示在後的;這樣對於一個四位元組的資料按照顯示的方式讀出即可.比如現在地址0x1a900a58處又一個四位元組的變數,那麼我們可以直接讀出它的值是0x00ee9750.
注:以上兩個命令顯示的地址和資料都是16進位格式的.