编译16位汇编
A. 汇编用什么软件编译啊
通常我都用记事本或者ultra-edit写程序,然后进到命令行里,用masm编译链接,最后用debug调试,这是标准流程啊。
汇编小站上介绍了一个工具叫masmplus,据说是一个类似于vc的IDE,你可以看下,上面对它的评价挺高的。
B. codeblocks 如何编译16位内联汇编
class MyTest_Base
{
public:
MyTest_Base (int& status)
{
//do other job
// 由于资源不够,对象构建失败
// 把status置0,通知对象的构建者
status = 0;
}
};
void main()
{
int status;
MyTest_Base obj1(status);
// 检查对象的构建是否成功
if(status ==0)
cout << "对象构建失败" << endl;
}
程序运行的结果是:
对象构建失败
在来看下面的程序:
class MyTest_Base
{
public:
MyTest_Base (int& status)
{
//do other job
// 由于资源不够,对象构建失败
// 把status置0,通知对象的构建者
status = 0;
}
virtual ~ MyTest_Base ()
{
cout << "销毁一个MyTest_Base类型的对象" << endl;
}
};
void main()
{
int status;
MyTest_Base obj1(status);
// 检查对象的构建是否成功
if(status ==0)
cout << "对象构建失败" << endl;
}
C. 怎么编译连接16位的汇编程序
如果是写16位汇编,下载masm5.0(微软的16位宏汇编包),网络一下就有下载!使用masm.exe编译16位汇编源代码生成*.obj文件,在用link.exe连接生成16位可执行文件*.exe。在32位机器上是可以写16位程序的,因为x86的计算机体系就是为了兼容低阶程序而存在的,计算机在启动的时候就是以实模式(可以简单理解为16位的)启动的,之后操作系统才使用机器指令转向32位保护模式(因为这样从硬件级支持多任务)。编写16位、32位、以及64位汇编程序只要下载安装相应的汇编包就可以了。
D. 请问为什么用as,ld在Windows平台编译16位汇编程序编译出来的应用程序会无效
as ld是gcc的套件,gcc能不能产生exe格式的目标文件?不能的话nasm替代
E. 编译和汇编的区别
编译的意义就是把你写的代码(电脑看不懂的)翻译成电脑用的代码,这个过程不可逆,你打开已经编译过的东西最多只能看到汇编代码。一些要求较高的地方如系统内核部分,一般就是直接写汇编代码,就是从电脑的角度来编程。