masm汇编器在编写系统软件时有哪些限制
What are the limitations of masm assembler when writing system software
编写操作系统等系统软件时,MASM汇编器有哪些限制?
提前致谢。
None如果不计算写出来的时间
考虑到您的其他问题,我建议您下载并浏览(几次)Combined Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s Manuals as it defines the dictionary of the assembly language and what the assembly language is about (unless you want to target RISC
processors like ARM,其中指令集和汇编语言完全不同)
选择汇编器时需要考虑以下几点:
- 避免vendor lock-in,这样在编写代码 10 年后,您不必丢弃代码或完全重写代码,因为汇编器供应商关闭了它的业务(跨平台”和“开源”似乎是这里的魔法词)
- 是否有 IDE 代码导航和重构支持可用于此语言?
- 是否有任何可用于该语言的可重复使用的库?
- 这种语言的语法是容易 read/write 还是只是一堆难以阅读和破译的符号?
- 是否有相当大的程序员社区愿意提供帮助?
有完整的可用汇编语言编写的操作系统,可以作为示例。
MenuetOS is almost entirely written with port of Tomasz Grysztar's Flat Assembler (FASM)
MASM 是否适合您的需求取决于您的目标。
它有友好的语法,有一些 IDEs,并且由于它的年代久远,可能有相当多的现成可重用代码可用(几十年前写的),但你永远无法自己扩展它,你将无法将它移植到另一个平台,因为它是封闭源代码,而且在汇编语言战士社区中,你们中不会有很多人。
如果您刚刚开始学习,请选择您可用的任何语言和工具并开始编码。
我个人不想使用 MASM 编写操作系统。
从许可证中我们了解到:
你不能用 MASM32 项目做什么。
- MASM32 项目不是贸易或商业项目。它不能被购买或出售。
- MASM32 项目不能被重新许可或从属于任何其他形式的许可。
- None 其组件或源代码是可再分发的。
- 您不能使用 MASM32 项目为非 Microsoft 操作系统编写软件。
- 您不能使用 MASM32 项目编写任何形式的非法软件。
- 该项目未授权在您的软件中使用 Microsoft 商标或声称您的软件已通过 Microsoft 认证。
谁可以使用 MASM32 项目?
许可证适用于任何个人、组织、教育机构、政府部门和任何公司and/or公司,供其personal/internal使用,它可用于开发和分发或销售 Windows 操作系统的软件。
为什么 MASM32 项目以这种方式授权?
MASM32 项目是程序员为程序员编写的真正免费软件,因此他们可以实现Windows操作系统的全部功能,而不受任何附加条件的约束或外部利益。该项目旨在作为支持技术扩展对 学习和编写用于 Microsoft 操作系统的 Microsoft 汇编器 感兴趣的程序员的能力和范围。
排除开源项目和软件。
MASM32 项目不能用于创建开源软件或任何其他需要 MASM32 项目用户放弃他们根据 MASM32 许可获得的权利的任何形式许可的项目。特别是 MASM32 许可证完全 排除了根据 GNU 组织发布的 GPL 许可证 and/or 变体 获得许可的项目。
编写操作系统等系统软件时,MASM汇编器有哪些限制? 提前致谢。
None如果不计算写出来的时间
考虑到您的其他问题,我建议您下载并浏览(几次)Combined Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s Manuals as it defines the dictionary of the assembly language and what the assembly language is about (unless you want to target
RISC
processors like ARM,其中指令集和汇编语言完全不同)选择汇编器时需要考虑以下几点:
- 避免vendor lock-in,这样在编写代码 10 年后,您不必丢弃代码或完全重写代码,因为汇编器供应商关闭了它的业务(跨平台”和“开源”似乎是这里的魔法词)
- 是否有 IDE 代码导航和重构支持可用于此语言?
- 是否有任何可用于该语言的可重复使用的库?
- 这种语言的语法是容易 read/write 还是只是一堆难以阅读和破译的符号?
- 是否有相当大的程序员社区愿意提供帮助?
有完整的可用汇编语言编写的操作系统,可以作为示例。
MenuetOS is almost entirely written with port of Tomasz Grysztar's Flat Assembler (FASM)
MASM 是否适合您的需求取决于您的目标。
它有友好的语法,有一些 IDEs,并且由于它的年代久远,可能有相当多的现成可重用代码可用(几十年前写的),但你永远无法自己扩展它,你将无法将它移植到另一个平台,因为它是封闭源代码,而且在汇编语言战士社区中,你们中不会有很多人。
如果您刚刚开始学习,请选择您可用的任何语言和工具并开始编码。
我个人不想使用 MASM 编写操作系统。
从许可证中我们了解到:
你不能用 MASM32 项目做什么。
- MASM32 项目不是贸易或商业项目。它不能被购买或出售。
- MASM32 项目不能被重新许可或从属于任何其他形式的许可。
- None 其组件或源代码是可再分发的。
- 您不能使用 MASM32 项目为非 Microsoft 操作系统编写软件。
- 您不能使用 MASM32 项目编写任何形式的非法软件。
- 该项目未授权在您的软件中使用 Microsoft 商标或声称您的软件已通过 Microsoft 认证。
谁可以使用 MASM32 项目?
许可证适用于任何个人、组织、教育机构、政府部门和任何公司and/or公司,供其personal/internal使用,它可用于开发和分发或销售 Windows 操作系统的软件。
为什么 MASM32 项目以这种方式授权?
MASM32 项目是程序员为程序员编写的真正免费软件,因此他们可以实现Windows操作系统的全部功能,而不受任何附加条件的约束或外部利益。该项目旨在作为支持技术扩展对 学习和编写用于 Microsoft 操作系统的 Microsoft 汇编器 感兴趣的程序员的能力和范围。
排除开源项目和软件。
MASM32 项目不能用于创建开源软件或任何其他需要 MASM32 项目用户放弃他们根据 MASM32 许可获得的权利的任何形式许可的项目。特别是 MASM32 许可证完全 排除了根据 GNU 组织发布的 GPL 许可证 and/or 变体 获得许可的项目。