我正在尝试在Visual Studio 2010中学习内联汇编程序,并且我与奇怪的事情发生冲突。 这是我的代码:
#include <iostream>
#include <string>
using namespace std;
int main(){
string c = "ab";
__asm{
mov AL, 0
mov AL, c[0]
}
system("pause");
return 1;
}
之后,调试器说AL = 160而不是97.如果c不是字符串但是char都可以正常工作,如果c - char []它也很奇怪。我的错误在哪里?