课程概况
在清华计算机系,汇编语言程序设计通常作为本科生接触到的第一门计算机系统课程,被定位为该系列的入门课,起到“承上启下”的作用。
主要的授课内容包括:
(1)汇编语言与计算机系统结构、指令集初步、数制与整数表示、浮点数表示;
(2)80×86计算机组织与保护模式、X86指令系统与寻址方式、C与X86汇编、X86汇编编程;
(3)MIPS汇编。
课程强调汇编语言的软硬件分界与桥梁作用,使得学习者能把程序的执行与计算机的工作过程紧密联系起来,以便深入地感知、理解和体会计算机的逻辑功能以及各种软件系统的原理,逐步形成软件系统功能构筑在其上,硬件系统功能运行于其下的计算机系统思维能力。
课程大纲
一、基础知识
在计算机系统结构中的定位、指令系统概念及分类
课程内容与目标
指令集简介
整数的机器表示
无符号整数与带符号整数
浮点数的机器表示
二、X86体系结构初步
80x86计算机系统初步
80x86处理器与保护模式初步
三、C与汇编语言
80x86汇编与C语言-1
80x86汇编与C语言-2
80x86汇编与C语言-2 (续)
80x86汇编与C语言-3
80x86汇编与C语言-3(续)
80x86汇编与C语言-4
80x86汇编与C语言-4(续)
四、 汇编编程
80x86汇编编程-1
80x86汇编编程-1(续)
80x86汇编编程-2(程序链接)
80x86汇编编程-2(内存管理)
五、MIPS汇编
MIPS32架构与指令集初步
MIPS32指令集与编程
MIPS32异常处理
虚存与MIPS32内存管理
常见问题
请问教材和参考书是什么?
参考书为——(1)《深入理解计算机系统》(Computer Systems: A Programmer‘s Perspective),第二版,2010; (2)SEE MIPS RUN (MIPS体系结构透视);(3)《IBM PC 汇编语言程序设计(第二版)》 沈美明 温冬婵编著 2001年清华大学出版社。
课程成绩如何构成?
课堂练习(20%);课后作业(20%);参与讨论情况(10%);期末考试(50%)
与传统汇编课程的差别是什么?
强化汇编语言承接上层应用、语言与下层处理器结构的特点,引入汇编与C语言、与体系结构、与性能优化等内容,帮助学生形成计算机系统的整体思维。