Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 45 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save hemashushu/c368a94440ec8513884d3e98265ec919 to your computer and use it in GitHub Desktop.
Save hemashushu/c368a94440ec8513884d3e98265ec919 to your computer and use it in GitHub Desktop.
这个系列分享一些不需要多少基础,能一边吃泡面一边随意翻翻就学会的书籍、教程和笔记,涉及汇编、C语言操作系统编译原理等。

轻松学习汇编语言

汇编是直接跟硬件打交道的, 于是在学习汇编的同时,不经意间就了解到计算机的工作原理。

《穿越计算机的迷雾 by 李忠》

这是饭前开胃菜,作者从什么是电流开始,讲加法器、数字逻辑、触发器、CPU 原理、外设等,是计算机(硬件)组成原理的科普向轻松读物

《汇编语言 by 王爽》

这本可能是一些学校的教科书,内容写得确实不错,浅显易懂。

实践环境的搭建:

a. DOSBox https://www.dosbox.com/

这是一个 x86 模拟器,开源免费,可以模拟 8086/实模式 的实验环境,在里面敲汇编再适合不过了。

b. FreeDOS https://www.freedos.org/

如果要在 DOS 里写汇编代码,文本编辑器(edit)和文本查看器(type)是不可缺少的,当然还有调试器(debug),这些在 FreeDOS 里都有,下载 USB 安装包在 DOSBox 里安装即可。开源免费。

c. masm611 https://sourceforge.net/projects/masm611/

微软的汇编语言编译/汇编器和链接器 MASM,下载后同样也是安装在 DOSBox 里。

至此,学习《汇编语言》所需的实践环境就搭建好了。

《x86 汇编语言从实模式到保护模式 by 李忠》

这本书帮助我们从现代角度来学习汇编,是从 8086 年代走向现代的桥梁。

内容偏向实践,大致可以认为是前两本内容的结合和深入。

阶段1:计算机从一通电开始都做了些什么,如何运行裸机程序、引导操作系统,读写硬盘、显卡/显示器、BIOS 等

阶段2:最小化的操作系统原理和实践,如何进入保护模式、如何动态加载程序、任务隔离和特权级别、任务切换、分页机制等

因为我们是要轻松学,所以第二阶段的只需稍微翻一下有个印象即可,后面我们还会再回来

实践环境的搭建:

a. Bochs http://bochs.sourceforge.net/

又一个 x86 模拟器,开源免费,跟 DOSBox 不同的是它模拟的机器接近现代计算机,跟诸如 VirtualBox 等虚拟机不同的是它支持调试,比如直接查看寄存器的数据和状态,查看指令序列,设置断点等,彻底地了解 x86 的运行全过程。

b. NASM https://www.nasm.us/

一个汇编器/链接器,使用 intel 风格语法,比起微软的 MASM,好处是开源免费,不需要安装庞大的 Visual Studio 或者 MSBuild,支持 Linux/macOS。

使用汇编写现代的应用程序,有两套入门教程,:

上面的两个教程也可以先不看,后面学 Linux 系统环境下的编程、C 语言之后再回来看。

在后面学习操作系统的原理和简单实践过程中,还会再回来补一些保护模式的汇编编程。

基础内容很多交叉纠缠在一起,所以当看这系列时如果被卡住,可以直接跳到下一节,走一圈后再回来,即螺旋式学习。

@Devilvikas
Copy link

Nice projectnice chance to win NFT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment