导学(二)| 汇编语言是怎么一回事?

你好,我是海纳。

这是我们导学的第二节,今天我们来学习汇编语言的基本原理,这节课是以视频形式讲述的,内容比较多,但我保证干货十足,非常值得你花时间好好观看学习。

你可能好奇,为什么我要花这么长时间给你讲汇编语言呢?

这是因为,汇编器将汇编语言翻译成 CPU 可以执行的机器码,汇编语言中的指令与机器码几乎是一一对应的,所以,我们学习汇编语言,其实就是在学习各种汇编指令。汇编指令大致可以分为逻辑运算和位运算指令、分支指令、字符串处理指令等三大类,这节课我都会做详细介绍。

另外,在编程语言发展过程中,人们按照编程语言中所暴露的硬件细节的多少,还会将编程语言划分为高级语言和低级语言。汇编,由于其本身包含了大量的 CPU 硬件细节,可读性非常差,被认为是低级语言,而C/C++ 等更具可读性的编程语言,则被认为是高级语言。

不过,所有的高级语言最终还是要翻译成机器码运行在 CPU 上的,查看高级语言所翻译成的机器码是程序员进行代码调试时的重要手段。所以,这节课,我还会通过实战案例向你讲解如何进行机器码级的调试。

好,现在就请你点开下面的视频,来学习今天的课程吧!

点击这里获取课件,提取码:hn66。

精选留言

  • 慧慧给冲的会员

    2021-10-27 11:50:00

    不错,很少有人讲这么底层的汇编
  • 鱼肥

    2022-09-19 17:13:37

    期待从零开始写JVM
  • 大聪昊

    2022-06-27 08:50:37

    对于一个28岁的java程序员 如果想转系统程序猿的话,老师有什么建议吗
  • nightn

    2021-10-29 20:35:10

    PPT 里编译器调度的那个例子,调度完的第三条指令貌似不对,应该把 c 加载到 R3,而不是 R2。
    作者回复

    是的。是R3。要做一次寄存器重命名。这里是我写错了。谢谢指正。

    2021-11-02 14:40:59

  • 送过快递的码农

    2021-10-25 21:51:30

    我是一个java程序员,有时候,我们会写私有方法来封装一些逻辑,但是有时候,方法参数很多。但是,我看直播的时候,看到这样的一句话 (我们有rdi,rsi,rdx,rcx,r8,r9 六个寄存器传递参数)
    传递超过六个参数时那么系统是怎么处理的?
  • Geek_a851a9

    2023-05-17 05:26:33

    太强了 居然还给录了视频 老师🐂
  • Addison

    2023-02-10 11:25:10

    课件下载,链接失效了!
  • 李伟

    2022-12-09 06:03:46

    讲call的时候,似乎应该是将“下一条指令的地址”压入栈上吧,ppt里写的是将“下一条指令”压入栈上。
  • 金鹏

    2022-07-12 19:15:53

    请问视频打不开 给的链接也只有pdf文件是怎么回事
  • 金鹏

    2022-07-12 19:12:49

    请问视频在手机上为什么打不开 显示长度为0
  • 海生

    2021-12-25 23:33:47

    现在也是clang和llvm基础上开发吗?