汇编语言有哪些?
1,简单的汇编程序。它的特点是目标机器翻译的机器语言的地址是绝对的,可以直接在内存中执行,也称为“加载并执行”汇编程序。这种工作方式在存储空间的组织方面非常有限。
2,模块组装器。它提供了设计,编码和调试不同程序模块的能力。每个汇编程序模块都称为对象模块。他们的地址是相对的。您可以使用连接汇编程序将多个可执行模块形成一个可执行程序。
3,有条件的汇编程序。有能力选择组装某些模块。这种汇编程序通常具有伪指令,例如“条件转移”,以允许用户编写选择条件。
4,宏汇编程序。具有宏处理功能的汇编程序。您可以使用它来定义带有参数的块,并在您使用的位置调用它们。在汇编过程中执行宏(指令)扩展,并在该位置插入由宏定义预定义的指令目标代码。
5,高级汇编器。具有控制结构(例如条件语句,循环语句,甚至函数和过程)的汇编程序。它可以保持目标程序的高质量。吸收高级语言的优势并提高可读性。
扩展资料:
总体特点:
1,机器关联:
这是一种面向机器的低级语言,通常是为特定计算机或一系列计算机设计的。因为它是机器指令的符号表示,所以不同的机器具有不同的汇编语言。使用汇编语言可以针对机器,更好地利用机器的特性来获得更高质量的程序。
2,高速高效:
汇编语言保持了机器语言的优势,具有直接和简单的功能,可以有效地访问和控制计算机的各种硬件设备,例如磁盘,内存,CPU,I / O端口等,并且占用更少的内存并执行快点。是一种有效的编程语言。
3,编写和调试的复杂性:
因为它是对硬件的直接控制,并且简单的任务还需要大量的汇编语言语句,所以它在程序设计中必须是全面的,需要考虑所有可能的问题,合理分配和使用各种软硬件资源。这样,不可避免地会增加程序员的负担。同样,在调试程序时,很难确定程序的运行是否存在问题。
参考资料:百度百科--汇编语言
参考资料:百度百科--汇编语言列表
1、简单汇编程序。其特点是经过翻译后的机器语言目标程序的地址是绝对的,可直接放在内存中执行,也称为“装入并执行”式汇编程序。这种工作方式在内存空间组织上受到很大限制。
2、模块汇编程序。可提供设计、编码和调试不同程序模块的能力,每个汇编后的程序模块称为目标模块,它们的地址是相对的,可用连接装配程序把多个目标模块组成一个可执行的程序。
3、条件汇编程序。具有选择汇编某些程序段的功能。这种汇编程序通常具有“条件转移”等伪指令,以便用户编写选择条件。
4、宏汇编程序。具有宏加工功能的汇编程序。可以用它定义含参数的程序段,在使用的位置上调用它们.汇编时将进行宏(指令)展开,把宏定义所预先定义的指令目标代码插在该位置上。
5、高级汇编程序。具有控制结构(如条件语句、循环语句以至含有函数和过程等)的汇编程序。它能在保持目标程序质量高的同时.吸收高级语言的优点,提高可读性。
扩展资料:
总体特点:
1、机器相关性
这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
2、高速度和高效率
汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。
3、编写和调试的复杂性
由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。这样,就不可避免地加重了程序员的负担。与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。
参考资料来源:百度百科--汇编语言
参考资料来源:百度百科--汇编语言列表
一、通用数据传送指令
MOV 传送字或字节
MOVSX 先符号扩展,再传送
MOVZX 先零扩展,再传送
PUSH 把字压入堆栈
POP 把字弹出堆栈
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈
BSWAP 交换32位寄存器里字节的顺序
XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)
CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )
XADD 先交换再累加.( 结果在第一个操作数里 )
XLAT 字节查表转换
── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL )
二、输入输出端口传送指令
IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时, 其范围是 0-65535
三、目的地址传送指令
LEA 装入有效地址. 例: LEA DX,string ;把偏移地址存到DX.
LDS 传送目标指针,把指针内容装入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI
LES 传送目标指针,把指针内容装入ES. 例: LES DI,string ;把段地址:偏移地址存到ES:DI
LFS 传送目标指针,把指针内容装入FS. 例: LFS DI,string ;把段地址:偏移地址存到FS:DI
LGS 传送目标指针,把指针内容装入GS. 例: LGS DI,string ;把段地址:偏移地址存到GS:DI
LSS 传送目标指针,把指针内容装入SS. 例: LSS DI,string ;把段地址:偏移地址存到SS:DI
四、标志传送指令
LAHF 标志寄存器传送,把标志装入AH
SAHF 标志寄存器传送,把AH内容装入标志寄存器
PUSHF 标志入栈
POPF 标志出栈
PUSHD 32位标志入栈
POPD 32位标志出栈
一、基本简介
1.汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。
2.使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。
二、主要特点
1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
2.保持了机器语言的优点,具有直接和简捷的特点。
3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
5.经常与高级语言配合使用,应用十分广泛。
(1)简捷性
汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
(2)执行过程
用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的"汇编程序"中进行加工和翻译,才能变成能够被计算机直接识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
(3)独特性
汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。
四、优点
1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
2.保持了机器语言的优点,具有直接和简捷的特点。
3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
5.经常与高级语言配合使用,应用十分广泛。
五、缺点
同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:
1.编写的代码非常难懂,不好维护;
2.很容易产生bug,难于调试;
3.只能针对特定的体系结构和处理器进行优化;
4.开发效率很低,时间长且单调。