17、RISC、V指令精讲(二):算术指令实现与调试

你好,我是LMOS。 上节课,我们学习了算术指令中的加减指令和比较指令。不过一个CPU只能实现这两类指令还不够。如果你学过C语言,应该对“<<、>>、&、|、!”这些运算符并不陌生,这些运算符都需要CPU提供逻辑和移位...

计算机基础实战课

16、RISC、V指令精讲(一):算术指令实现与调试

你好,我是LMOS。 通过前面的学习,我们已经了解了在C语言编译器的“视角”下,C语言的各种表达式是如何转换成各种机器汇编指令的。从这节课开始,我会带你进一步深入学习各种汇编指令的细节。 只要你耐心跟我学完这节课,对RISC-V的各种指令,你就能了如...

计算机基础实战课

15、C与汇编:揭秘C语言编译器的“搬砖”日常

你好,我是LMOS。 通过上一节课的学习,我们已经清楚了C语言可以把程序抽象成一个函数,这样的函数又抽象成表达式和流程控制,表达式又能进一步抽象成各种类型的变量和各种运算符。并且我们还搞懂了**变量就是数据,运算符就是操作,而变量的运算结合起来就能对...

计算机基础实战课

14、走进C语言:高级语言怎样抽象执行逻辑

你好,我是LMOS。 前面我们设计了迷你CPU,相信你已经对CPU如何执行指令有了一定的了解。 而CPU执行的指令,正是由工程师敲出来的高级编程语言产生的,比如我们熟知的C、C++、Java等。 平时我们做编程的时候,底层CPU如何执行指令已经被封装...

计算机基础实战课

13、小试牛刀:跑通RISC、V平台的Hello World程序

你好,我是LMOS。 在上一课中,我们一起约定了主环境,安装了编译工具和依赖库,构建了交叉编译RISC-V工具链。 今天我们继续构建RISC-V版的模拟器QEMU(代码你可以从这里下载),让它成为“定制款”,更匹配我们的学习需要。为此,我们需要设置好...

计算机基础实战课

12、QEMU:支持RISC、V的QEMU如何构建

你好,我是LMOS。 工欲善其事,必先利其器。作为开发者,学习过程中我们尤其要重视动手实践,不断巩固和验证自己学到的知识点。而动手实践的前提,就是要建立一个开发环境,这个环境具体包括编译环境、执行环境,以及各种常用的工具软件。 我会用两节课带你动手搭...

计算机基础实战课
11112131415673