Loading...
此课程
视频脚本
本课程主要介绍高级语言程序中的数据类型及其运算、语句和过程调用等是如何在计算机系统中实现的。主要包含三个主题:(1)表示。不同数据类型(如带符号整数、无符号整数、浮点数、数组、结构等)数据在寄存器或存储器中的表示和存储;指令的格式、编码及其在存储器中的存储;存储地址(指针)的表示。(2)转换。高级语言程序中的过程(函数调用)、循环、选择等语句与机器级代码之间的对应关系。(3)链接。多个可重定位目标文件如何链接生成可执行目标文件并加载到系统中。 通过本课程的学习,使学习者能从程序员角度认识计算机系统,能够建立高级语言程序、ISA、OS、编译器、链接器等之间的相互关联,对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解,从而增强在程序调试、性能提升、程序移植和健壮性等方面的能力,并为后续的“计算机组成与设计”、“操作系统”、“编译原理”、“计算机体系结构”等课程打下坚实基础。 学完本课程后,学习者将对以下问题有比较深刻的认识,并能解决相关实际问题。 ----程序中处理的数据在机器中如何表示和运算? ----程序中各类控制语句对应的机器级代码结构是怎样的? ----多个程序模块是如何链接起来形成可执行目标文件的? ----机器级代码及构成机器级代码的指令是如何在机器上执行的?
审阅
4.7(59 个评分)
5 stars
4 stars
3 stars
2 stars
1 star
从本节课中
WEEK3
首先,介绍布尔代数和数字逻辑电路的基础性内容;然后,介绍C语言中的按位运算以及逻辑运算;接着,介绍高级语言中的整数加减运算及其对应的底层实现电路。
教学方
袁春风
教授
[音乐] 我们继续举一些例子来看一下,整数加减运算的一些 具体的实现,这边这个例子是一个简单的C语言程序, 有两个无符号数的变量,134和246分别赋给 这两个变量x和y,然后把x和y分别赋给 带符号数的变量,m和n, 然后是对无符号数x和y做减法,赋给z1 然后再做加法赋给z2,在对带符号数m减n 赋给k1, m加n再赋给k2,我们先来看这个减法, 那么在这个无符号数和带符号数的加减运算当中,用到的都是这样一种部件, 同一个部件,这里在这个例子当