嘿,我可以用C语言编程,一点点用Python和Pascal编写,我真的很想学习汇编.我18岁,读完高中,编程是我的爱好,因为学校工作肯定不是一个挑战.
我已经下载了一些关于大会的书籍:大会艺术,初学者大会,初学者大会和Wrox专业汇编语言.我还下载了FASM,MASM和HLA编译器.
现在几个问题.
完成初学者大会的例子是MASM,如果我在模拟器中运行它们,有人告诉我如果我不使用它就会损坏我的电脑,如果是,我应该使用哪个模拟器?
另外开发人员如何使他们的汇编代码可移植?我在这个主题上找到的唯一信息是编写病毒,因为用汇编编写的病毒必须是可移植的.
HLA究竟是什么?它是真实的东西还是仅仅是一个HLL伪装成装配来帮助教导初学者装配?
除了明显的vxheaven和cracker网站之外,汇编社区在哪里?
I am reading a lot lately but I feel like someone who's learning Latin, but will never make it to the Vatican to meet others who speak Latin. My friends all program in Java, but don't seem to care about C or C++, they think they can use Java for everything. I'm running Windows 7 and Ubuntu 10.0.10 on an Intel. I've only been programming for about a year now... am I diving into assembly too soon? My reasons for wanting to learn assembly:
谢谢.Ť
1)在运行汇编程序时,你不能真正"损坏"你的系统,比如C语言.在现代操作系统上,最糟糕的情况是你最终会崩溃你的过程.不过,可能会更容易从汇编代码中崩溃您的流程.如果你想从模拟器中获得有用的东西,请查看Bochs或QEMU - 而不仅仅是提供沙箱,它们有很有用的调试工具.但是,如果没有虚拟机,你可以使用常规调试器在常规操作系统上编写+测试代码.
2)你没有,真的.您可以跨越操作系统(但使用相同的CPU)进行移植,就像您为C操作一样,但是跨CPU组装只是没有意义(如果您想这样做,您可能也可以使用C或.NET或Java字节码).
3)许多火焰战争的主题.取决于你如何看待它......汇编程序实际上只是一个处理汇编语言的编译器.有很多装配风味,有些比其他更高; 大多数可用于x86的都支持宏.HLA增加了许多宏支持和许多人不喜欢的语法,以及一个大的标准库.不是我的一杯茶(我宁愿使用"真正的"HLL),但在我的书中它仍然是汇编语言.
4)http://www.asmcommunity.net/board/,http://board.flatassembler.net :) -从IRC频道望而却步.另外,远离usenet alt.lang.assembly,它几乎被一些卑鄙的个体摧毁了.
至于你学习装配的几个理由:
6.如果我掌握装配,学习更多HLL会更容易.
不一定,如果你在深入研究HLL之前"做太多",它甚至会更难.我发现一些机器架构知识可以导致编写更好的软件,但前提是你要学会不要一直痴迷于微小的无关细节.
7.申请其他人不具备的工作时,想要提供什么.
不一定能帮到你,因为大会在大多数职位上完全无关紧要.哎呀,你冒着对"哦,他永远不会完成任务,迷失无用的微观优化"的偏见.
正如你在nr中提到的。8、我鼓励您使用AVR,因为它是学习和使用汇编程序的一个很好的平台。
\n\n为什么?
\n\n因为在我的电脑上,除了模拟器之外,我不仅仅运行一些自己编写的汇编程序。
\n我想不出任何常规的 PC 程序用汇编程序编程比用现代复杂的语言编程更有意义。
AVR或其他微控制器(\xc2\xb5c)相关编程与硬件非常接近,填充寄存器、移位位组等等。
\n在 \xc2\xb5c 中,您可以立即获得可以显示的结果(闪烁一些 LED!是的。)。此外,\xc2\xb5c 程序往往很短,它们的速度得益于有效的编程。