What Is a Base Address?
In the past, computer registers were sixteen bits, and the addressing space was twenty bits (memory 1MB). Therefore, a single register cannot address all addresses, so two registers or one register plus an immediate value are used. Use cs, ds, ss, es and other registers ending in s as segment registers, and use one register or immediate value as the offset, because the two 16-bit registers add up to 32 bits, which is more than the number of data bus bits Wide, so segmented addressing uses the following addressing method: segment register × 10H (hexadecimal) + offset, so what is calculated is a 20-bit data, which can be addressed to all addresses The address obtained by the segment register × 10H (hexadecimal) is the base address of the segment, so the base address ends with 00 (hexadecimal). The current registers are 64-bit, and the addressing is up to 192G, but usually the computer memory is not greater than 192G, so without segmentation, all addresses can be addressed with one register. So now the computer's segment registers are used for other purposes.
- [j zh]
- This entry lacks an overview map . Supplementing related content makes the entry more complete and can be upgraded quickly. Come on!
- In the past, computer
- The base address is a term used to summarize the starting coordinates of different coordinate reference systems that play a role in positioning and arrangement. Here, borrowing physical terms is to find the center of gravity and direction in the microscopic abstract world of computers
- The base address must be understood together with the offset. One thing I don't know is that if the offset is an action, then the object of this behavior is the base address.
- All programs have base addresses.
- Any data in the game exists in memory, whether it is blood, blue, level, monster name, map name, as long as it is data. All in memory. As long as you read that memory address, you can show the bleeding. In fact, to put it plainly, the data displayed by the game client is also displayed by reading the data in the memory.
- struct renwu // Character structure
- {
- DWORD xue; // blood
- DWORD lan; // blue
- DWORD dengji; // level
- ........
- };
- void init () // Game initialization function
- {
- struct renwu * dwRW;
- dwRW = new struct renwu;
- }
- The game is initialized. The address of dwRW in memory is fixed. This is the base address.