各个汇编语言编译器有什么区别?

时间:2021-02-13 01:29:10
为什么有的编译器,能编译通过,而有的要报错呢?

有没有什么讲究?

《汇编语言程序设计》中用的是哪个编译器?

有没有相关编译器说明的网站?

谢谢。

12 个解决方案

#1


都插不太多,现在用得比较多的masm, nasm, tasm, vasm
到google上搜索吧

#2


不会差太多,可能有些对宏的支持上有一点点的差别

#3


请问大家有没有用过Emu8086这个软件?听说功能很强,也挺方便的。
我目前在用,发现他能够编译的ASM代码,MASM5好像不能通过。

MOV DS, OFFSET BX    <----这句Emu8086编译通过,MASM5不能通过,
                          并提示“Illegal use of register”

我是初学者,所以不是太清楚。
所以开了这贴子问问大家。

http://www.emu8086.com
是这个软件的官方网站。

#4


我用过MASM和TASM. 在学汇编时就是用MASM, 所以习惯于MASM, 不过TASM更快,优化似乎也比MASM好.

#5


《汇编语言程序设计》用的是masm 5.0
MOV DS, OFFSET BX 在masm 5.0肯定不能通过。至于你说的Emu8086,我也去看看。

#6


MOV DS, OFFSET BX   这么明显的语法错误肯定不能通过啦!
OFFSET 啥时候能这么用了? 而且你也不能就这么直接的把数据段地址传送到DS,要先送至AX中转一下,在送到DS.

#7


路过

#8


emu8086有些语法与masm与tasm不一样,比如,它不支持assume伪指令,各段地址
由emu8086自动分配。在用之前,最好先看完它的帮助文件。
但  MOV DS, OFFSET BX  确实不对。:)

#9


MOV DS, OFFSET BX

这句中的OFFSET是什么意思,书上一笔带过。

我没有明白他的作用,能不能解释一下。

#10


恍惚记得好象是取BX的偏移量!

#11


那句话在TC30中使用内嵌汇编书写的话是可以通过的,当然,不是到DS,而是到其他的通用寄存器,我也弄不明白,最后的结果是目标寄存器值为0,百思不得其解。

#12


下载罗云彬的书,电子版前两章.比较了几种编工具.

#1


都插不太多,现在用得比较多的masm, nasm, tasm, vasm
到google上搜索吧

#2


不会差太多,可能有些对宏的支持上有一点点的差别

#3


请问大家有没有用过Emu8086这个软件?听说功能很强,也挺方便的。
我目前在用,发现他能够编译的ASM代码,MASM5好像不能通过。

MOV DS, OFFSET BX    <----这句Emu8086编译通过,MASM5不能通过,
                          并提示“Illegal use of register”

我是初学者,所以不是太清楚。
所以开了这贴子问问大家。

http://www.emu8086.com
是这个软件的官方网站。

#4


我用过MASM和TASM. 在学汇编时就是用MASM, 所以习惯于MASM, 不过TASM更快,优化似乎也比MASM好.

#5


《汇编语言程序设计》用的是masm 5.0
MOV DS, OFFSET BX 在masm 5.0肯定不能通过。至于你说的Emu8086,我也去看看。

#6


MOV DS, OFFSET BX   这么明显的语法错误肯定不能通过啦!
OFFSET 啥时候能这么用了? 而且你也不能就这么直接的把数据段地址传送到DS,要先送至AX中转一下,在送到DS.

#7


路过

#8


emu8086有些语法与masm与tasm不一样,比如,它不支持assume伪指令,各段地址
由emu8086自动分配。在用之前,最好先看完它的帮助文件。
但  MOV DS, OFFSET BX  确实不对。:)

#9


MOV DS, OFFSET BX

这句中的OFFSET是什么意思,书上一笔带过。

我没有明白他的作用,能不能解释一下。

#10


恍惚记得好象是取BX的偏移量!

#11


那句话在TC30中使用内嵌汇编书写的话是可以通过的,当然,不是到DS,而是到其他的通用寄存器,我也弄不明白,最后的结果是目标寄存器值为0,百思不得其解。

#12


下载罗云彬的书,电子版前两章.比较了几种编工具.