- 对汇编语言程序员来说,处理器、存储器和外部设备依次被抽象为寄存器、存储器地址和输入输出地址,因为编程过程中将只能通过寄存器和地址实现处理器控制、存储器和外设的数据存取及处理等操作。
- 为了克服机器语言的缺点,人们采用便于记忆并能描述指令功能的符号来表示机器指令。表示指令功能的符号称为指令助记符,或简称助记符(Mnemonic);助记符一般采用表明指令功能的英语单词或其缩写。指令操作数同样也可以用易于记忆的符号表示。用助记符表示的指令就是汇编格式指令。汇编格式指令以及使用它们编写程序的规则形成汇编语言(Assembly Language)。用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。例如,实现100与256相加的MASM汇编语言程序片段如下:
![[插图]](https://i-blog.csdnimg.cn/blog_migrate/07916b797e00b1ffa29424f7144e6b70.png)
第一条指令的功能将数据100传送给名为AX的寄存器,MOV是传送指令的助记符,实现赋值功能。该指令对应的机器代码就是机器语言举例的第一个二进制串。第二条指令实现加法操作,ADD是加法指令的助记符,对应机器语言举例的第二个二进制串。如果熟悉有关助记符及对应指令的功能,就可以读懂上述程序片段了。汇编语言是一种符号语言,它用助记符表示操作码,比机器语言容易理解和掌握、也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由处理器执行。这个翻译的过程称为“汇编”,完成汇编工作的程序就是汇编程序(Assembler)。 - 汇编语言便于直接控制计算机硬件电路,可以编写在“时间”和“空间”两方面最有效,即执行速度快和目标代码小的程序。这些优点使得汇编语言在程序设计中占有重要的位置,是不可被取代的。下面罗列了汇编语言的主要应用场合:
⊙ 程序要具有较快的执行时间,或者只能占用较小的存储容量。例如,操作系统的核心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。
⊙ 程序与计算机硬件密切相关,程序要直接、有效地控制硬件。例如,I/O接口电路的初始化程序段,外部设备的低层驱动程序等。
⊙ 大型软件需要提高性能、优化处理的部分。例如,计算机系统频繁调用的子程序、动态连接库等。
⊙ 没有合适的高级语言、或只能采用汇编语言的时候。例如,开发最新的处理器程序时,暂时没有支持新指令的编译程序。
⊙ 许多实际应用的情况,例如分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等。当然,无须回避的事实是,随着各种编程技术的发展,单独使用汇编语言开发程序、尤其是应用程序的情况越来越少。所以,在实际的程序开发过程中,可以采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题。
另外,编写汇编语言程序,需要使用处理器指令解决应用问题,而指令只是完成诸如将一个数据从存储器传送到寄存器、对两个寄存器值求和、指针增量指向下一个地址等简单的功能。所以,从教学角度来说,汇编语言程序员在将复杂的应用问题翻译成简单指令的过程中,就是从处理器角度解决问题,自然就容易理解计算机的工作原理了。
汇编语言知识理解与总结
最新推荐文章于 2024-09-13 20:28:03 发布
7481

被折叠的 条评论
为什么被折叠?



