1

我有一个问题:如何查看 c++ 中内存地址 X 处的数字的值是多少。
我想做类似的东西:

mov bx, 1024d
mov ax, [bx]

来自大会,其中 ax 将是我的结果。

感谢您的支持。
PS我刚开始使用指针和内存地址

4

2 回答 2

6

在 C++ 中,该地址处的值为*reinterpret_cast<uint16_t*>(1024).

于 2013-11-07T20:41:05.347 回答
2

在 c/c++ 中,地址存储为指针,因此您在 c++ 中的代码中的 BX 将是

unsigned short* _mybx = (unsigned short*)1024U; // note casting to unsigned short*

要获取存储在地址上的值,您需要使用:

unsigned short _myax = *_mybx; // note asterix here

您可以使用 reinterpret_cast 而不是 c 类型的演员表

unsigned short* _bx = reinterpret_cast<unsigned short*>(1024);

这是更多的C++方式

于 2013-11-07T20:45:16.723 回答