8086汇编和win32 汇编的语法有区别的吗?

2024-12-20 01:16:38
推荐回答(5个)
回答1:

你有些概念尚待厘清
8086汇编 是intel 用16位指令集编程 除了16位指令集 80x86 还支持32位 64位指令集 相应的也就有32位,64位汇编

win32指的是操作系统提供的运行时环境 这和程序是用什么语言写成的没有关系 你可以用32位汇编写程序 也可以用C/C++ Delphi java .net写程序 他们都运行在win32环境下,都可以调用win32 api. 但是你不能说win32汇编是一种编程语言
所以你的问题可以理解为 16位汇编(极有可能是DOS环境)和32位汇编(win32环境)有何不同
答案是:
1 指令集不同 16位指令集 和 32位指令集

2 汇编模式不同 16位是实模式汇编,32位是保护模式汇编 至于实模式 保护模式为何 是一个很大的问题 就不在这里讲了 你可以去查一查

3 程序的运行时环境不同 16位汇编只能调用bios中断和dos中断 而win32汇编可以调用win32api 但是一般认为它不能调用bios中断
至于汇编伪指令 假定你用的是微软的宏汇编MSAM 16位和32位是一样的 你在16位汇编里用的 在32位下还能用

回答2:

在语法上没有区别,8086汇编的指令在win32汇编中都可以用,两者的区别在编译上,所写的源代码,必须符合编译器的规则,否则无法编译,8086汇编的关键字在win32中都能用,我个人觉得win32汇编就是比8086汇编多几个关键字和多几条指令,没有减少什么。

回答3:

8086汇编是基础!先要学好!
win32汇编其实只算是32位汇编的一个分支!如果你只学了8086汇编就直接去看win32汇编的话还是不适应的!
你先要学习32位汇编,和16位汇编差不多 只是寻址这些变大了,而且可以使用16位汇编的东西 比如ax eax都是通用的!学习32位汇编建议看Intel汇编语言程序设计(第四版),当你看完这本书再看老罗的win32汇编就是很轻松了,win32汇编的界面那些可以简单的看看,主要是后面的系统篇才是真正的东西!
如果学习32位汇编不会配置各种开发环境和编译器就qq联系我,我帮你

回答4:

都在的,没有太大差别

回答5:

dos下使用的中断是不能用了。