汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

汇编语言是直接面向处理器(Processor)的程序设计语言。

汇编语言的另一个特点就是它所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快,但同时这也使编程更加复杂,因为既然数据是存放在寄存器或存储器中,那么必然就存在着寻址方式,也就是用什么方法找到所需要的数据。

再者,汇编语言指令是机器指令的一种符号表示,而不同类型的CPU 有不同的机器指令系统,也就有不同的汇编语言,所以,汇编语言程序与机器有着密切的关系。

C语言和汇编语言的区别:

汇编:效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差 
C:效率比较低,硬件可操控性比较差,目标代码体积大,容易维护,可移植性很好

汇编语言运行效率高的原因:

C语言,是面向程序员的语言,而汇编语言是直接面向CPU的语言。

C语言与汇编的不同适用场合

1:若只有较简单的逻辑操作、逻辑算法、简单运算,使用汇编会得到较为精准的代码,但用c也同样可以做到。 
       2:若掺有复杂运算、浮点运算、非线性方程等,汇编难度很大,而C语言作为一种高级语言,有简洁紧凑,使用灵活的语法机制,编写复杂程序容易得多。 
       3:每一款处理器各自的汇编语法大都不一样,若仅使用汇编,可扩充性、可移植性都很差,用c就会好的多。 
       4:对硬件进行初始化的操作,使用汇编语言。

汇编语言和C语言的比较相关推荐

  1. 一步步编写操作系统 69 汇编语言和c语言共同协作 70

    由于有了上一节的铺垫,本节的内容相对较少,这里给大家准备了两个小文件来实例演示汇编语言和c语言相互调用. 会两种不同语言的人,只是掌握了同一件事物的两种表达方式.人在学习一种新语言时,潜意识里是建立了 ...

  2. 软件工程:汇编语言和C语言在软件工程的应用,计算机学生必看!

    随着科学技术不断发展,软件工程在社会发展中取得了进一步发展,软件工程专业,也在各大学生根发芽,许多大学的专业教学上也取得了良好的进展.汇编语言与C语言作为两种计算机基础语言,在推动软件工程发展等方面具 ...

  3. 汇编语言属于C语言吧,汇编语言和c语言的区别是什么

    区别:汇编语言的效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差:c语言的效率比较低,硬件可操控性比较差,目标代码体积大,容易维护,可移植性很好. 汇编语言(Assembly Langua ...

  4. 一步步编写操作系统 43 汇编语言和c语言的理解

    也许有的同学喜欢用汇编语言来实现操作系统,觉得用汇编来写程序似乎更简单直接,可控性比较强,有种"一切尽在掌握"的赶脚.而用c语言实现操作系统这件事,虽然轻松很多,但似乎隐约感觉到有 ...

  5. 汇编语言和C语言编写程序各有什么优缺点,C语言和汇编语言在单片机开发中,各有什么优缺点?...

    您好,下面这个是我从论坛里面找出来的精华帖.你可以参考参考. C与汇编: C:经编译后,成汇编. 汇编:是自己"完成"了C的工作. C:是从通用化出发的,考虑了单片机的特点,极大地 ...

  6. D语言和Go语言有前途吗?

    发信人: vimer (老来多忘事,惟不忘相思), 信区: Programming 标  题: [合集] D语言和Go语言有前途吗? (转载) 发信站: 水木社区 (Wed Dec 14 21:11: ...

  7. c语言 python-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  8. php和java语言_JAVA语言和PHP语言的比较

    JAVA语言和PHP语言的比较 JAVA语言在服务器端开发的流行以及安卓客户端开发的流行,让他占据了大部分市场份额.在服务器端还有一个语言也较为流行,就是PHP.PHP语言由于简单易学,响应速度快,在 ...

  9. C语言和C++语言关系

    C语言和C++语言关系 C语言是在实践的过程中逐步完善起来的 C语言的目标是高效 C语言和C++并不是对立的竞争关系 C语言是在实践的过程中逐步完善起来的 没有深思熟虑的设计过程 使用时存在很多&qu ...

  10. C 语言和C++语言的 struct对比

    C 语言和C++语言的 struct对比 author: stonehat 1. C++语言将struct当成类来处理的,所以C++的struct可以包含C++类的所有东西,例如构造函数,析构函数,友 ...

最新文章

  1. python编写自动化脚本 与shell_脚本安装Discuz论坛(shell + Python 实现自动化安装)...
  2. 在SecureCRT中,hbase shell不能回退的问题
  3. nej+regular环境使用es6的低成本方案
  4. Springboot跨域 ajax jsonp请求
  5. Oracle之表分区、分区索引(二)
  6. python继承方式是基于原型吗_基于原型与基于类的继承
  7. Go-项目结构和代码组织
  8. Oracle对象被锁如何处理
  9. PS抠图神器: KnockOut 2.0安装汉化和使用教程
  10. linux中Cron定时任务系统命令详解
  11. LeetCode:交替打印【1115】
  12. 事半功倍的验证码漏洞处理:真牛到了南极,牛逼到了极点
  13. 翻译: 2.5. 自动微分 深入神经网络 pytorch
  14. C语言实现-航空订票系统(飞机订票系统)单机版联网版
  15. 磁碟机病毒(Dummycom)专杀工具
  16. 简单matlab插值函数
  17. 交换机怎么用计算机配置文件,如何将交换机配置导入本地计算机做备份
  18. 【SAP】在制品报表 查询及结算余额查询
  19. sPortfolio: Stratified Visual Analysis of Stock Portfolios
  20. PDF to Word Document Converter for Mac(PDF文档转换器)

热门文章

  1. 中国高铁走向全球,一个行业标准帮了大忙
  2. Hyper-V 之04 SCVMM 2012 R2安装
  3. 动态规划--凑硬币问题
  4. php--PDO操作数据库
  5. 2011-5-学习总结
  6. 可实现的python拟牛顿法的DFP算法
  7. C#获取C# DLL中的指定接口的所有实现实例 - qq_19759475的博客 - CSDN博客
  8. row_number()分页返回结果顺序不确定
  9. 上周热点回顾(4.30-5.6)
  10. vue2项目使用axios发送请求