【发布时间】:2012-11-14 02:44:51
【问题描述】:
我正在大学学习 TASM,但网络上有关 TASM 的信息似乎非常有限。我找到了有关 MASM 的更多信息。
我的问题是,MASM 和 TASM 有什么区别?
【问题讨论】:
-
对于我在 matt pietrek 的文章中读到的内容,TASM 在几种情况下构建 PE/COFF 的方式不同,但它不应该影响代码的功能。而且我读过的那些文章现在可能已经过时了。
我正在大学学习 TASM,但网络上有关 TASM 的信息似乎非常有限。我找到了有关 MASM 的更多信息。
我的问题是,MASM 和 TASM 有什么区别?
【问题讨论】:
TASM = Turbo Assembler(Borland 产品)
MASM = Macro Assembler(Microsoft 产品)...经常被误认为 “微软汇编”
就原始汇编语言而言,它们应该几乎相同,因为它们都使用 x86 操作码指令。差异“应该”是语法糖。
使用 TASM 的组装教程:
http://www.petesqbsite.com/sections/tutorials/tuts/doorknob/asm_tutorial1.html
ArtOfASM 参考:
http://cs.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html
我可以举一个例子,两个汇编器都允许使用“宏”,这在某些方面类似于在高级语言中使用方法。所以你可以写一段汇编代码,它接受一些参数(通常这些是在调用你的宏之前在寄存器中设置的。宏可能是几行之间的任何东西,到一百万行汇编程序......但是你可能在一行中调用你的宏...基本上 MASM 和 TASM 有非常小的差异,但大部分是相同的目标,其中代码的可重用性很重要。
您无法再找到有关这些的太多信息是可以理解的……它们正在迅速减少。如今,汇编是一个利基市场,许多老头子已经转向 C、C++ 和其他高级语言。
您应该尝试在 YouTube 上查看...我可以在那里看到许多 TASM 教程...
...A86 汇编器...非常简单的语法,但可以编译 64K "command.com" 类型的文件。
【讨论】:
差别不大,但还是有的。 看看这篇文章:http://faqs.cs.uu.nl/na-dir/assembly-language/x86/borland.html 寻找“理想”模式;顺便说一句,TASM 可以使用 MASM 语法。
【讨论】: