1. disassembly command l:
Usage: l ADDR, num
Function: displays num disassembly commands from the ADDR address. If num is not added, 10 disassembly commands are displayed by default.
Example:
(1) by default, 10 disassembly commands are displayed without num:
(2) Add a parameter to display the disassembly command for the specified number of rows:
2. Memory display command D:
Usage: d addr, unitnum, unitbytes
Function: displays the memory data of the unitnum group starting from the address ADDR. Each row shows 16 bytes. Each group contains unitbytes bytes and each row contains 16/unitbytes.
Group data;
Note: The available unitbytes values are: 1, 2, 4, 8. Other values are displayed in the same format as 1. The 1 parameter can be used to display data from any address,
Other parameters can only be displayed from the even address.
For example, the memory layout near address 0x1a900a50 is shown in. The following uses different display methods to display the memory content:
(1) 32 groups of data are displayed starting from address 0x1a900a55, each group of 1 byte:
Note: This display mode is displayed in strict accordance with the byte address from low to high. It is more convenient to view those single-byte variables. for example, if the address 0x1a900a58 is a char variable, it is easy to know that its value is 0x50. however, if the address 0x1a900a58 is a double-byte variable, we will not be able to read it in sequence. If the value of this double-byte variable is 0x5097, it will be wrong, because the dual-byte data is stored in the memory in a way that the high byte is in the high address and the low byte is in the low address, the value of this dual-byte type variable should be 0x9750. the following display method is more intuitive for double-byte variables.
(2) Data is displayed by default starting from address 0x1a900a55. The default value of each group of data is 2 bytes:
Note: This display mode is used to display the addresses between groups from low to high. The high address bytes in the group are displayed first, and the low address bytes are displayed later. It is more convenient to view those double-byte variables, reading data from a group is a 16-bit value. for example, if the address 0x1a900a58 contains a double-byte variable, we can directly read it as 0x9750. however, if the address 0x1a900a58 is a four-Byte variable, we will not be able to read it in sequence. If the value of the four-Byte variable is 0x975000ee, it will be wrong, because the four-byte data is stored in the memory: the high dual-byte is in the high address, the low dual-byte is in the low address; the storage of high and low dubyte data is the same as that of single dubyte data storage, that is, the high byte is in the high address and the low byte is in the low address; therefore, the value of the four-byte type variable should be 0x00ee9750. it is more intuitive to view the four-byte variables in the following display mode.
(3) display 32 groups of data starting from address 0x1a900a55, 4 bytes in each group:
Note: This mode is used to display the addresses between groups from low to high. The two-character high addresses in the group are displayed first, and the two-character low addresses are displayed later; the Dual Characters of the high address and the low address are displayed in front of the high address byte, and the low address byte is displayed in the back. In this way, you can read a four-byte data in the display mode. for example, if there is another four-Byte variable at the address 0x1a900a58, we can directly read the value 0x00ee9750.
Note: The addresses and data displayed by the preceding two commands are in hexadecimal format.