我刚刚开始学习汇编语言编程。到目前为止,我知道NASM是最好的linux汇编器。和它的32位汇编程序。
另一方面,MASM是一种DOS汇编程序,它是16位的。
现在我想知道如何从16位Windows汇编代码移植到32位x86 x86汇编代码或32位x86 Windows汇编代码
提前谢谢。
发布于 2013-12-16 19:16:36
MASM不仅仅是16位的。你也可以获得32位的MASM:
http://masm32.com/
DOS程序集和Linux程序集是完全不同的。没有自动到达港口的方法。您必须为每个组件编写单独的代码,因为组装最接近金属。
发布于 2013-12-16 18:52:08
NASM可以处理从8位到64位的x86,不用担心。NASM是一个很好的全能汇编程序。
它们都使用Intel风格的汇编代码,在我看来这比AT&T风格的汇编代码更好,你应该做得很好。
他们是汇编程序,只要你理解你调用的中断,他们就会接受你的代码,将其转换成二进制,并愉快地将其发送出去执行。
哦,是的,为了生成一个dos可执行文件,将ORG放在你想要的入口点之上100h,这就是为什么dos对汇编程序员来说很好。
编辑:这只是其中一个原因,其他的原因是dos在很大程度上是基于中断的,所以知道参数去了哪里,以及相对容易的系统调用允许它们是什么。
PE格式是你想要寻找的,我认为在NASM中有更多的手动步法要做,以使它在windows上正常工作……
https://stackoverflow.com/questions/20608954
复制相似问题