导航:首页 > 源码编译 > 为什么汇编编译时没错

为什么汇编编译时没错

发布时间:2024-12-04 17:15:13

1. 汇编就连Hello World都没有输出结果

肯定两点:1.你的程序代码没有错误
2.RadASM、MASM、MASMPlus这些编译工具也没有错误
所以得出结论,错误在你。你对工具的用法不对。建议你到dos操作系统下去调试,用masm 5.0版。如果你没有,可以向我要。

2. C语言中函数的地址在编译时就分配好了,为什么不会产生地址冲突运行时刚好那个地址有别的程序在用

函数的具体武理地址不是编译的时候分配的,是运行的时候由系统分配的!如果你看一下生成的汇编代码你就会发现进入函数时的操作是将返回地址压栈后通过CALL跳转到函数开头处执行,压栈的函数地址都是偏移量,实际地址在运行时通过基址加减偏移量得出。另外通常程序的内存空间是专用的,两个程序的空间互不冲突,普通用户程序不可以访问其他程序的内存空间!

3. 我在KEIL用汇编写的,编译成功了,但是在子文件显示的是打叉的,为什么

#include<reg51.h> 类似这样的子文件的名字写错,编译软件内搜闭根本没有这个文件,所以打错号。世庆裂但是你的主程序是跑的通差高的,所以依然可以编译。

4. 为什么汇编语言编出来的程序要比高级语言编出来的执行效率高

这个没有一定的说法,取决于编译器的聪明程度。
一般的语言,如C语言是首先将C语言编译为汇编,然后汇编转为机器码。而用汇编的写则是直接由汇编到机器码。那么这两者的速度差异取决于编译器在编译的时候产生的汇编码是否比程序员手写的更为高效和快速了。
早期的时候编译器很差,产生的汇编码没有程序员手工写的高效,而现在编译器大大的聪明了,所以这两者的速度是很难讲的。
不过大部分情况下,编译器翻译的都要差,所以速度没有手工写的汇编码快。加上JAVA、c#语言等先要转成一个中间语言,再翻译成汇编码,这个就更差了。

阅读全文

与为什么汇编编译时没错相关的资料

热点内容
乐一php程序员待遇 浏览:162
ZDM命令无法识别 浏览:918
解压小手工A4纸 浏览:975
钢筋加密区是几倍 浏览:664
编译程序代码软件 浏览:800
怎么恢复加密的东西 浏览:981
程序员卖茶 浏览:697
后端程序员英文 浏览:360
滴滴程序员平均月薪 浏览:591
如何使用ftp命令 浏览:787
小书亭下载的文件在哪手机文件夹 浏览:176
交叉编译器编译单个c文件 浏览:513
代理服务器地址列表吧 浏览:930
java列出所有文件 浏览:868
压缩包看图软件 浏览:191
sqlite在android中的应用 浏览:661
一本通pdf 浏览:916
2021免费的编程软件 浏览:126
项目编译后浏览器不对应刷新 浏览:567
三星升级android60 浏览:297