初学汇编的问题illegal number of operands
时间:2011-05-26
来源:互联网
Assembly code
编译器 Visual Studio 2005, 项目类型 Win32
编译的时候出错
错误 1 error C2414: illegal number of operands
错误 2 error C2414: illegal number of operands
我想在C++中嵌入汇编,上面的代码主要想用汇编写个函数,交换两个变量的值.
应该如何写呢,请指教,谢谢!
// Assembly.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; void SwapRegisters(int a, int b) { _asm { PUSH EAX, a ;这两行代码编译出错 PUSH EBX, b MOV ECX, EAX MOV EAX, EBX MOV EBX, ECX } } int _tmain(int argc, _TCHAR* argv[]) { int a = 1; int b = 2; SwapRegisters(a, b); cout << "a:" << a << endl; cout << "b:" << b << endl; return 0; }
编译器 Visual Studio 2005, 项目类型 Win32
编译的时候出错
错误 1 error C2414: illegal number of operands
错误 2 error C2414: illegal number of operands
我想在C++中嵌入汇编,上面的代码主要想用汇编写个函数,交换两个变量的值.
应该如何写呢,请指教,谢谢!
作者: cpp_yangzuoshi 发布时间: 2011-05-26
push a
push b
pop a
pop b
push b
pop a
pop b
作者: Areslee 发布时间: 2011-05-26
我这样试了,但是运行后弹出一个错误提示框.能不能给个完整的能够运行的例子?谢谢
作者: cpp_yangzuoshi 发布时间: 2011-05-26
搞定了,不过不太明白为何.
// Assembly.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
void SwapRegisters(int a, int b)
{
_asm
{
PUSH a
PUSH b
PUSH a
PUSH b
//PUSH a
//PUSH b
//MOV ECX, EAX
//MOV EAX, EBX
//MOV EBX, ECX
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a = 1;
int b = 2;
//SwapRegisters(a, b);//把汇编代码放在这里就可以了,通过函数调用就会出错.
_asm
{
push a
push b
pop a
pop b
}
cout << "a:" << a << endl;
cout << "b:" << b << endl;
return 0;
}
// Assembly.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
void SwapRegisters(int a, int b)
{
_asm
{
PUSH a
PUSH b
PUSH a
PUSH b
//PUSH a
//PUSH b
//MOV ECX, EAX
//MOV EAX, EBX
//MOV EBX, ECX
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a = 1;
int b = 2;
//SwapRegisters(a, b);//把汇编代码放在这里就可以了,通过函数调用就会出错.
_asm
{
push a
push b
pop a
pop b
}
cout << "a:" << a << endl;
cout << "b:" << b << endl;
return 0;
}
作者: cpp_yangzuoshi 发布时间: 2011-05-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28