编程语言分类之低级语言 C/C++

admin 3月前 66

语言的高级和低级之分并不是说语言本身的层次高低,而是指的是与底层硬件的密切程度。就如同机器语言与汇编语言就是直接与底层硬件打交道的语言,故也被称为低级语言。

 

  机器语言

  机器语言是不通过任何操作系统就可以直接与底层硬件打交道的语言,说白了就是计算机能读懂的二进制,想要使用机器语言就得充分的了解计算机底层硬件的各个知识。这可能会花上你半生的时间,但是机器语言的执行效率却是无与伦比的高,计算机不需要通过任何编译就能直接运行。但是它的开发效率却是慢到令人发指,除了你需要去学习底层硬件相关的知识外还需要对每一条二进制指令烂熟于心,更加恐怖的是面对满屏的010101如果敲错一个字符就全部推倒重来,显然这已经超出了普通人所能承受的极限。

    #指令部份的示例    0000 代表 加载(LOAD)    0001 代表 存储(STORE)
    ...

    #暂存器部份的示例    0000 代表暂存器 A    0001 代表暂存器 B
    ...

    #存储器部份的示例    000000000000 代表地址为 0 的存储器    000000000001 代表地址为 1 的存储器    000000010000 代表地址为 16 的存储器    100000000000 代表地址为 2^11 的存储器

    #集成示例    0000,0000,000000010000 代表 LOAD A, 16
    0000,0001,000000000001 代表 LOAD B, 1
    0001,0001,000000010000 代表 STORE B, 16
    0001,0001,000000000001 代表 STORE B, 1[1]
执行效率
 -->极高开发效率 
 --> 极低跨平台性 
 --> 极差(由于必须依赖具体的硬件,故移植性极差)

 

  汇编语言

  汇编语言仅仅是用一个英文标签代表一组二进制指令,毫无疑问,比起机器语言,汇编语言是一种进步,但汇编语言的本质仍然是直接操作硬件,因此汇编语言仍是比较低级/底层的语言、因为它也是贴近计算机硬件。

 

汇编的hello world,打印一句hello world, 需要写十多行,如下; hello.asm section .data            ; 数据段声明
        msg db "Hello, world!", 0xA     ; 要输出的字符串
        len equ $ - msg                 ; 字串长度
        section .text            ; 代码段声明
        global _start            ; 指定入口函数
        _start:                  ; 在屏幕上显示一个字符串
        mov edx, len     ; 参数三:字符串长度
        mov ecx, msg     ; 参数二:要显示的字符串
        mov ebx, 1       ; 参数一:文件描述符(stdout) 
        mov eax, 4       ; 系统调用号(sys_write) 
        int 0x80         ; 调用内核功能
                         ; 退出程序
        mov ebx, 0       ; 参数一:退出代码
        mov eax, 1       ; 系统调用号(sys_exit) 
        int 0x80         ; 调用内核功能

 

  总结    执行效率 --> 极高    开发效率 --> 低    跨平台性 --> 极差(同机器语言一样必须依赖具体的硬件,故移植性极差)

少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:编程语言历史
下一篇:编程语言分类之高级语言
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回