求助,help me.

hziee_ 2006-11-14 06:03:22
想把 内存地址0040:006CH 4个字节的内容读到 int temp 里去.
哪 实际的地址是不是就是 0046CH?
unsigned int temp;
__asm{
mov eax, [46CH]
mov temp, eax

}
为什么eax temp的值就是0x46c,而不是地址0x46c的内容呢?
怎样写才正确?我用的是vc7.0
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
大熊猫侯佩 2006-11-15
  • 打赏
  • 举报
回复
在masm中一般的做法是:

mov ax,40
mov ds,ax
mov ax,[6ch]

hziee_ 2006-11-15
  • 打赏
  • 举报
回复
应该是 读v8086
中0040:006CH 的值
我对汇编不熟悉,望高手详细解释一下.
qtext 2006-11-15
  • 打赏
  • 举报
回复
你需要16位编译器如tc2 tc3 msc7,在纯dos( dos6.x dos7.x)下运行。
hziee_ 2006-11-15
  • 打赏
  • 举报
回复
好想 vc 内嵌汇编没有 ds寄存器吧?
大熊猫侯佩 2006-11-14
  • 打赏
  • 举报
回复
你这样读的是虚拟空间中的 46CH 地址中的值吧?你的原意是想读v8086
中0040:006CH 的值吧?我不知道你是怎么执行的?

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧