c与汇编简单的混合编程
#include"iostream.h"int main()
{
int a=11;
_asm
{
movSS:,ax
}
cout<<a<<endl;
return 0;
}
我想让c++输出33
除了mov a,33 以外该怎么写 本帖最后由 ryxcaixia 于 2015-10-8 08:39 编辑
输出的只是某个变量的值
而变量在内存中不过是个助记符 记录他在当前进程中的虚拟内存地址
变量上的地址的值还由类型决定 从当前地址开始 向前的sizoef(var)个字节的内容
举个例子 int型就输出当前地址开始+4字节的内容
byte型就输出从当前地址开始1个字节的内容 以此类类推
#include"iostream.h"
int main()
{
int a=11;
_asm
{
//movSS:,ax
mov dword ptr , 33
}
cout<<a<<endl;
return 0;
}
ryxcaixia 发表于 2015-10-7 10:27
输出的只是某个变量的值
而变量在内存中不过是个助记符 记录他在当前进程中的虚拟内存地址
变量上的地址 ...
这是不是汇编的一个bug
http://bbs.fishc.com/thread-65359-1-1.html
(出处: 鱼C论坛)
再请教一个问题好吗 谢谢 好像语法没对啊,int main()上方还有一个语句 好方法
页:
[1]