本文目录
- 汇编语言用什么软件写的后缀名是什么
- 汇编语言的编译器是用什么写的呢
- 用什么样的汇编语言编译器好
- 汇编语言编译器的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语法开源的编译器)
当然看自己功力了
-软件