汇编语言用什么软件写的后缀名是什么

汇编语言用什么软件写的后缀名是什么

本文目录

  • 汇编语言用什么软件写的后缀名是什么
  • 汇编语言的编译器是用什么写的呢
  • 用什么样的汇编语言编译器好
  • 汇编语言编译器的TASM的用法
  • 汇编语言编译器是怎么来的
  • 汇编语言中的STC是什么意思
  • 汇编器和编译器有什么区别
  • 汇编语言编译器的MASM编译器介绍
  • 汇编语言一般用什么编译器编辑
  • 汇编语言编译器是怎么编写的

汇编语言用什么软件写的后缀名是什么


汇编语言不是用什么软件写的,是由字母、单词来代替一个特定的指令来编辑的,后缀名是.asm。

汇编语言是用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。

汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。

扩展资料

汇编语言表达式常量:

1》数值常量1010H

2》符号常量

伪指令:《符号名》EQU《表达式》

功能:定义所指符号常量所代表的常量的值

说明:表达式可以是常数、指令助记符、伪指令助记符、寄存器名字或其他自定义的符号

例子:VAEQU100;表达式为常数

NUMEQUVA+100;表达式为数值表达式

OPEEQUADD;表达式为指令助记符

伪指令:《符号名》=《常数表达式》

功能:定义所指符号常量所代表的常量的值

说明:“=”之后只能是常数,对于字符和字符串汇编时按照整数处理

例子:VA=100

NUM=3*100

NUM=VA+500

参考资料来源:百度百科—汇编语言


汇编语言的编译器是用什么写的呢


编译器一般是用c写的,最初的东西肯定是用机器语言写的,我老师曾经用在纸带上穿孔的办法写过程序。
他当时的愿望是用键盘敲一个A就能输入一个A,而不是出来一排孔。

用什么样的汇编语言编译器好


学习时,建议不要使用别人做好的集成环境,而是使用单独的汇编、连接和调试工具。
因为,汇编语言一般不是个人所学的第一门程序设计语言。使用单独的汇编工具,有助于更清楚地了解语言程序的处理生成过程,更灵活地使用命令选项。这对达到学习汇编语言的学习目的----》更深入地了解计算机系统,有很大的帮助。
我推荐使用TASM 5.0
它全兼容MASM 6,且有所增强,甚至可以在一定程度上支持面向对象技术。
它最大的优势是所配的调试程序:Turbo Debugger,功能强大,界面友好,易学易用,非常非常的棒。
如果你是在32位的操作系统如XP、WIN7等里面用它,需要将TD的工作方式设成WIN 95兼容模式运行。
如果是在64位的系统中使用,则必须要安装一个DOSBox ,在它提供的纯DOS环境中运行。
至于汇编源程序的编辑器,可以使用的工具有很多选择,比如UltraEdit就很不错。

汇编语言编译器的TASM的用法


TASM是Borland公司推出的汇编编译器,也是一种使用很广泛的编译器,和MASM相比,TASM的升级没有这么频繁。TASM早在1.0版本就有了对80386处理器指令的完全支持(MASM要到5.0版本才支持80386指令),1989年推出的1.01版本修正了1.0版的一些错误;早期的版本还有TASM 3.0和TASM 4.0,其中4.0版是TASM系列编译器编写DOS程序使用最广泛的版本。
到目前为止,TASM的最后一个版本是5.0版,这个版本支持Win32编程,并单独为Win32编程附带有一整套的32位程序:32位的编译器TASM32.EXE、链接器TLINK32.EXE和资源编译器BRC32.EXE。与这些32位程序对应的16位工具在软件包中依然存在,文件名为TASM.EXE,TLINK.EXE和BRC.EXE等。
TASM 5.0命令行的使用方法是:
TASM32 [选项] 源文件名[,[目标文件名],[列表文件名],[索引文件名]][;]
在Win32编程时TASM的常用选项如下表所示。
选 项
简 介
/ml,/mx,/mu
对大小写是否敏感:ml=全部敏感,mx=全局变量大小写敏感,mu=不敏感,Win32编程中必须用ml选项
/m#
允许第#次编译扫描时可以向前引用,一般使用/m2
/i路径
设定include文字所在的路径
/l,/la
lst文件的格式:/l为正常格式,/la为扩充格式
/zi,/zd,/zn
符号调试信息的控制:/zi为全部,/zd为仅有行号,/zn为不产生调试信息
TASM和MASM之间的导入库和目标文件等不能通用,程序员无法用Microsoft的链接器来链接TASM产生的obj文件,反之亦然,这是因为TASM的库文件和obj文件一直是OMF格式,与Microsoft使用的COFF格式不兼容


汇编语言编译器是怎么来的


第一个软件,显然是用机器语言写的。
当用机器语言写成了文字处理软件,才能用屏幕、键盘打字。
当用机器语言写成了编译软件,才能把打好的字,编译成机器码。

汇编语言中的STC是什么意思


汇编语言中STC是进位标志置1的意思。

STC指令是8086指令系统中的一条标志寄存器操作指令,用于对进位标志CF进行设置或清除。

进位标志CF用在多字节运算或多字运算中,用来传递 低位往高位的进位,当进行加(减)法运算时,若最高位向前有进(借)位,则CF=1,否则CF=0。

当两个数相加时,若最高位向上形成进位,则CF=1;两个数相减时,若最高位向上形成借位,则CF=1;两个无符号数相乘时,若乘积的高一半为0,则CF=0;两个带符号数相乘时,若乘积的高一半是低一半的符号扩展,则CF=0。

除此以外,用CLC指令可以使进位标志CF清零,CMC指令可用来对进位标志CF取反。

扩展资料

相关技术:

汇编器

典型的现代汇编器(assembler)建造目标代码,由解译组语指令集的易记码(mnemonics)到操作码(OpCode),并解析符号名称(symbolic names)成为存储器地址以及其它的实体。

使用符号参考是汇编器的一个重要特征,它可以节省修改程序后人工转址的乏味耗时计算。基本就是把机器码变成一些字母而已,编译的时候再把输入的指令字母替换成为晦涩难懂机器码。

编译环境

用汇编语言等非机器语言书写好的符号程序称为源程序,汇编语言编译器的作用是将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上后,就能被计算机的CPU处理和执行。

汇编的调试环境总的来说比较少,也很少有非常好的编译器。编译器的选择依赖于目标处理器的类型和具体的系统平台。一般来说,功能良好的编译器用起来应当非常方便,比如,应当可以自动整理格式、语法高亮显示,集编译、链接和调试为一体,方便实用。 

对于广泛使用的个人计算机来说,可以自由选择的汇编语言编译器有MASM、NASM、TASM、GAS、FASM、RADASM等,但大都不具备调试功能。如果是为了学习汇编语言,轻松汇编因为拥有一个完善的集成环境,是一款非常适合初学者的汇编编译器。

参考资料来源:《微型计算机技术及应用》 戴梅萼 编著    清华大学出版社    第三章 8086寻址方式和指令系统  3.3 8086指令系统

参考资料来源:百度百科--汇编语言

参考资料来源:百度百科--状态标志


汇编器和编译器有什么区别


汇编器(Assembler)是将汇编语言翻译为机器语言的程序。一般而言,汇编生成的是目标代码,需要经链接器(Linker)生成可执行代码才可以执行。
汇编语言是一种以处理器指令系统为基础的低级语言,采用助记符表达指令操作码,采用标识符表示指令操作数。作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。常用的高级语言编译器有Microsoft公司的MASM系列和Borland公司的TASM系列编译器,还有一些小公司推出的或者免费的汇编软件包等。
编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)

汇编语言编译器的MASM编译器介绍


MASM是Microsoft公司推出的汇编编译器。它的版本从低到高经过了很多次的升级(微软的通病,升级补丁多如牛毛)。每次升级除了例行的错误修正外都增加了一些新的功能,以至于到最后高版本和低版本的语法和功能相差很多,向下兼容性也不好。低版本的MASM固然无法编译高版本的源程序,但高版本的MASM也可能无法正常编译低版本的源程序,如MASM 4.0写的源程序常常无法在MASM 6.x上编译成功。在使用MASM系列编译器时,如果不先搞清楚特定的语法和编译选项可以在哪个版本上用,编译中就会错误连篇。所以在这里有必要了解一下MASM各版本的演变过程
下表列出了不同版本MASM编译器的区别。
版 本
简 介
MASM 4.00
这是最先广泛使用的一个MASM版本,适用于DOS下的汇编编程。它很精巧,但使用起来不是很智能化,需要用户自己一板一眼地写出所有的东西。很多教科书上讲的8086汇编语法都是针对这个版本的,对程序员来说。它只比用Debug方便一点点。
MASM 5.00
MASM 5.00比4.00在速度上快了很多,并将段定义的伪指令简化为类似 .code与.data之类的定义方式,同时增加了对80386处理器指令的支持,对4.00版本的兼容性很好
MASM 5.10
对程序员来说,这个版本最大的进步是增加了对@@标号的支持。这样,程序员可以不再为标号的起名花掉很多时间。另外,MASM 5.10增加了对OS/2 1.x的支持
MASM 5.10B
1989年推出,比上一个版本更稳定、更快,它是传统的DOS汇编编译器中最完善的版本
MASM 6.00
1992年发布,有了很多的改进。编译器可以使用扩展内存,这样可以编译更大的文件,可执行文件名相应从Masm.exe改为Ml.exe。从这个版本开始可以在命令行上用*.asm同时编译多个源文件,源程序中数据结构的使用和命令行参数的语法也更像C的风格。最大的改进之一是开始支持 .if/.endif这样的高级语法,这样,使用复杂的条件分支时和用高级语言书写一样简单,可以做到几千行的代码中不定义一个标号;另外增加了invoke伪指令来简化带参数的子程序调用。这两个改进使汇编代码的风格越来越像C,可读性和可维护性提高了很多
MASM6.00A
未发售的版本
MASM 6.00B
最后一个支持OS/2的MASM版本,修正了上一版本中的一些错误
MASM 6.10
修正了一些错误,同时增加了/Sc选项,可以在产生的list文件中列出每条指令使用的时钟周期数
MASM6.10A
1992年发布,修正了一些内存管理方面的问题
MASM 6.11
1993年11月发布,支持Windows NT,可以编写Win32程序,同时支持Pentium指令,但不支持MMX指令集
MASM6.11C
1994年发布,增加了对Windows 95 VxD的支持
MASM 6.12
1997年8月发布,增加 .686,.686P,.MMX声明和对相应指令的支持
MASM 6.13
1997年12月发布,增加了 .K3D声明,开始支持AMD处理器的3D指令
MASM 6.14
这是一个很完善的版本,它在 .XMM中增加了对Pentium III的SIMD指令集的支持,相应增加了OWORD(16字节)的变量类型
MASM 6.15


汇编语言一般用什么编译器编辑


一般用MASM,现在的最高版本是6.15。
borland不可以。
保存的格式是.asm
你可以用TextPad编写保存为asm格式就可以了,然后用MASM中的make32或者make16编译就可以了。

汇编语言编译器是怎么编写的


编译器自举!搜索这个关键字
程序都是编译器编译的。这个是肯定的
至于第一款X语言编译器是不是直接1010101010自己写的那就不知道啦
一般开发编译器的话。有两条路选择
1.利用yacc(或者其变种)&lex(词法分析)-等工具自己生成语法模板
词法语法都可以使用这些工具自己生成
然后自己编写生成的中间码和生成的机器码就可以了
一般做编译原理类似试验都是如此的。许多编译器也的确是这样
2.自己写词法分析和语法分析。可以参考一些开源的编译器
lcc-这个是ANSI C99标准的编译器是开源的
或者nasm,watcom等编译器到www.sf.net上不少开源的编译器
总的来说。高级语言编译器比较难写
如果想快速写出一个的话
可以采用第一种做法。利用工具生成语法词法模板
先写一个简单的汇编编译器比较简单
开源的有nasm,jwasm(支持masm语法开源的编译器)
当然看自己功力了

推荐阅读