经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 汇编语言 » 查看文章
07 编程语言介绍(二)机器语言&汇编语言
来源:cnblogs  作者:湘竹  时间:2019/5/5 8:43:58  对本文有异议
  1. 机器语言:
    由于计算机内部职能接受二进制代码,因此,用二进制代码01描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言。
    机器语言属于低级语言。
    编出的程序全是些01的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。

    机器语言是微处理器理解和使用的,尽管机器语言好像是很复杂的,然而它是有规律的。

    存在这多至100000种机器语言的指令。这意味着不能把这些种类全部列出来。
  1. 指令部份的示例:
  2. 0000 代表 加载(LOAD
  3. 0001 代表 存储(STORE
  4. ...
  5. 暂存器部份的示例
  6. 0000 代表暂存器 A
  7. 0001 代表暂存器 B
  8. ...
  9. 存储器部份的示例
  10. 000000000000 代表地址为 0 的存储器
  11. 000000000001 代表地址为 1 的存储器
  12. 000000010000 代表地址为 16 的存储器
  13. 100000000000 代表地址为 2^11 的存储器
  14. 集成示例
  15. 0000,0000,000000010000 代表 LOAD A, 16
  16.  
  17. 0000,0001,000000000001 代表 LOAD B, 1
  18.  
  19. 0001,0001,000000010000 代表 STORE B, 16
  20.  
  21. 0001,0001,000000000001 代表 STORE B, 1[1]
  1.  
  1. 汇编语言:
    汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
    它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。例如移动、
    自增,因此汇编源程序一般比较冗长、复杂、容易出错、而且使用汇编语言编程需要有更多的计算机专业知识。

    但汇编语言的优点也是显而意见的,用汇编语言所能完成的操作不是一般高级语言所能够实现,
    而且源程序汇编生成的可执行文件不仅比较小,而且执行速度很快。


  1. 1 hello.asm ;
  2. 2 section .data ; 数据段声明
  3. 3 msg db "Hello, world!", 0xA ; 要输出的字符串
  4. 4 len equ $ - msg ; 字串长度
  5. 5 section .text ; 代码段声明
  6. 6 global _start ; 指定入口函数
  7. 7 _start: ; 在屏幕上显示一个字符串
  8. 8 mov edx, len ; 参数三:字符串长度
  9. 9 mov ecx, msg ; 参数二:要显示的字符串
  10. 10 mov ebx, 1 ; 参数一:文件描述符(stdout)
  11. 11 mov eax, 4 ; 系统调用号(sys_write)
  12. 12 int 0x80 ; 调用内核功能
  13. 13 ; 退出程序
  14. 14 mov ebx, 0 ; 参数一:退出代码
  15. 15 mov eax, 1 ; 系统调用号(sys_exit)
  16. 16 int 0x80 ; 调用内核功能

 

  1.  

原文链接:http://www.cnblogs.com/CrownYP/p/10804745.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号