泰晓科技 -- 聚焦嵌入式 Linux - 追本溯源,见微知著!
网站地址:http://tinylab.org
微信公众号关注我们新浪微博


扫一扫

关注 @泰晓科技
赞助泰晓原创 ○ 在线实验Linux ○ 下载开源书籍
请稍侯

CS630 Qemu 汇编实验环境

通过 Qemu 学习旧金山大学的 CS630 汇编语言课程
Wu Zhangjin 创建于 2015/10/01

简介

该项目致力于通过 Qemu 学习旧金山大学的汇编语言课程 CS630

与此相关的是作者在大学二年级整理的《汇编语言 王爽著》,是一门基于 Windows 平台的汇编课程,而 CS630 是基于 Linux 平台的汇编课程。

CS 630: Advanced Microcomputer Programming (Fall 2008) 是我学过的最好的汇编语言课程,该课程针对 x86 架构, 为了更方便实验,我写了一系列脚本以便这些代码可以跑在 Qemu 上。

有了这些脚本,学生就可以很方便地在当前开发主机上实验,从而免去了不必要的重启,也避免了烧坏自己主机的风险。

代码仓库

通过 Qemu 学 CS630

现在开学了,写了两个简单的文档: README.md 和 NOTE.md, 请参考它们做实验。

下面以 helloworld 和 rtc 为例展开:

Real Mode

  • helloworld

    $ ./configure src/helloworld.s
    $ make boot
    
  • rtc

    $ ./configure src/rtc.s
    $ make boot
    

Protected Mode

  • helloworld

    $ ./configure res/pmhello.s
    $ make pmboot
    
  • rtc

    $ ./configure res/rtcdemo.s
    $ make pmboot
    

演示图

下面是 rtcdemo 在 Qemu 上运行时的截图:

image