- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1章 预备知识ppt课件
* * 第1章 预备知识 1.1 汇编语言的由来及其特点 1.2 数据的表示和类型 * * 1.1 汇编语言的由来及其特点 计算机编程语言的发展过程 计算机对各种语言的执行过程 机器语言 汇编语言 高级语言 编译 一对多 汇编 一对一 高级语言 机器指令序列 汇编语言 机器指令序列 * * 1.1.1 机器语言 机器指令 :CPU能直接识别并执行的指令; 由0、1二进制代码形式表示,一条指令为计算机的一个基本操作; 每条指令包括操作码和操作数两部分,指挥计算机的操作; 计算机的指令系统:指某计算机中机器指令的集合; 与CPU的硬件设计相关,不同的CPU具有不同的指令系统。 机器语言的特点 直接作用于硬件的指令,执行效率高; 指令不直观,编写、调试非常麻烦,程序可读性不强。 * * 1.1.2 汇编语言 汇编指令:用助记符描述的指令; 汇编指令与机器指令一一对应; 汇编语言指令系统: 包括汇编指令、伪指令、宏指令三大类指令; 汇编语言程序 使用汇编语言指令系统中的指令编写的应用程序; 汇编程序 将汇编语言程序翻译成机器语言程序的系统软件; 常用的汇编程序为MASM(宏汇编程序)。 * * 高级语言 高级语言是指用与自然语言相近的符号描述指令的语言。 基本脱离了硬件系统,更容易学习和掌握; 例如:C++、Delphi、Java、C# 采用高级语言编写的程序不能直接被计算机识别,必须“翻译”成机器语言才可执行,常用两种转换方法: 解释程序:一边执行一边“翻译”; 编译程序:执行之前一次性“翻译”。 * * 1.1.4 汇编语言程序的特点 优点: 执行效率高,程序的可读性较机器语言强。 缺点: 与机器相关,可移植性较差; 汇编指令功能不强,程序编写复杂,且Debug调试麻烦。 汇编语言程序的应用领域 适用的领域:与硬件相关、需要突破系统瓶颈的场合; 不宜使用的领域:有适合的高级语言开发环境的场合。 * * 1.2 数据的表示和类型 1.2.1 数值数据的表示 1.2.2 非数值数据的表示 1.2.3 基本数据类型 * * 数据的分类 按数制分: 十进制(D)、二进制(B)、十六进制(H); 按数据格式分: 真值、机器数; 按小数点位置是否固定分: 定点数(定点小数和定点整数)、浮点数; 按能否表示负数分: 无符号数、有符号数; 字符表示 ASCII码、BCD码(8421码) * * 机器数 计算机内部对数据的表示方法; 固定长度的二进制编码; 一般以字节(8位)为单位; 没有10位、15位……的机器数; 可以表示数值、字符、指令……; 机器数的位数一般为8位、16位、32位等; 运算、存储时,位数不足可以进行数据位数扩展; 1.2.1 数值数据 原码 符号位:0—正,1—负; 数值位:与数据真值相同; 反码 正数: 与原码相同; 负数: 符号位——1; 数值位——真值数值各位取反,末位加1; 补码 正数: 与原码相同; 负数: 符号位——1; 数值位——真值数值各位取反,末位加1; * * 补码的常用表示 机器内部的二进制数据,一般用十六进制数据表示; 4位二进制可转换为1位十六进制数据; 例如:0101B?5H、10()11B?0BH -1( 8位——0FFH、16位——0FFFFH ) 表示:数据所有位为1; 负的最小值( 8位——80H、16位——8000H ) 表示:最高位为1,其他位为0; * * * * 编码的数据位数扩展 扩展原因 两个不同位数的编码运算,需要符号位与数值位分别对齐; 用位数少的数据为位数多的寄存器或存储单元赋值; 扩展原则 保持数据性质和数值大小不变; 扩展方法 在符号位与数值位之间添加0或者1; * * 数据编码位数扩展方法 原码扩展: 无论符号位为0或1,原码扩展都做补0操作。 补码扩展: 若符号位为0,则补0;若符号位为1,则补1。 例如: 原码0011 0111 补码0011 0111 原码1011 1100 补码1011 1100 ? 0000 0000 0011 0111 000 0000 0 ? 0000 0000 0011 0111 000 0000 0 ? 1000 0000 0011 1100 000 0000 0 ? 1000 0000 0011 1100 111 1111 1 * * 思考: 如何将一个二进制数据从较多位数压缩到较少位数? 假定从16位数据压缩到8位数据; 确定是否可压缩: 原码:符号位与数值位之间有连续的8个0; 补码:符号位与数值位之间有连续的8个符号位; 压缩数据位数: 删去符号位与数值位之间的8个0或1; * * 1.2.2 非数值数据的表示(1/2) ASCII码(美国信息交换标准码) 一种国
文档评论(0)