汇编语言第1章

上传人:mg****85 文档编号:50657532 上传时间:2018-08-09 格式:PPT 页数:41 大小:406KB
返回 下载 相关 举报
汇编语言第1章_第1页
第1页 / 共41页
汇编语言第1章_第2页
第2页 / 共41页
汇编语言第1章_第3页
第3页 / 共41页
汇编语言第1章_第4页
第4页 / 共41页
汇编语言第1章_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《汇编语言第1章》由会员分享,可在线阅读,更多相关《汇编语言第1章(41页珍藏版)》请在金锄头文库上搜索。

1、汇编语言程序设计计算机学院 廖建明1教学计划1.总计划学时数为56,其中课堂讲授38学时,习题课 2学时。上机实验16学时。 2. 教学方式: 课堂讲授3. 最后成绩评定办法:平时出勤与作业占10,半 期测验占10,实验10,期末考试占70。4. 教材:8086/8088宏汇编语言程序设计教程王正智编著 电子工业出版社25. 参考资料:IBM-PC汇编语言程序设计 沈美明编著,清 华大学出版社汇编语言程序设计殷肖川主编,清华大学出 版社Win32汇编语言程序设计教程严义等编著, 机械工业出版社3第一章 基础知识 本章主要学习内容:1.汇编语言的一般概念 2.学习和使用汇编语言的目的3.进位计数

2、制及其相互转换4.带符号数的表示5.字符的表示 6.基本逻辑运算 41.1 汇编语言的一般概念 计算机程序设计语言可分为机器语言、高级 语言和汇编语言三类。 1. 机器语言 机器语言就是把控制计算机的命令和各种数 据直接用二进制数码表示的一种程序设计语言。 例如,要实现将寄存器AH的内容与数10相加,结 果再送回到寄存器AH中。1011 0100 0000 1010 为了书写和记忆方便可用十六进制数表示:B40A用机器语言实现上述操作的代码:5又如,要让计算机完成46+40的算式运算。假设参加运算的 数据事先分别存放在寄存器AL、BL和CL中,并要求将运算 结果存放到寄存器AL中。 用机器指令

3、来实现的代码为: 1111 0110 1110 0011在32位二进制数表示的机器语言程序代码中,包含了乘 法和加法运算操作,其中前16位代码表示了乘法运算,后 16位代码表示了加法运算。 0000 0000 1100 1000机器指令中既包含了指示运算功能的代码,又给出了参加 运算的操作数据,表示非常详细。十六进制数:F6E3十六进制数:00C86优点:机器语言最直接地表示了计算机内部的基 本操作,用它编制的程序在计算机中运行的效率 最高。即运行速度最快,程序长度最短。 缺点:用二进制数表示的内容既不便于记忆又难 于阅读。 72. 高级语言 高级语言将计算机内部的操作细节屏蔽起 来,用户不需

4、要知道计算机内部数据的传送和 处理的细节,使用类似于自然语言的一些语句 来编制程序,完成指定的任务。 特点:程序设计简单,但程序效率较机器语言低。 83. 汇编语言 虽然高级语言方便了人对计算机的使用,但 其运行效率较低。在一些应用场合,如系统管 理,实时控制等,难于满足要求。因此又希望使 用机器语言。(1)定义为了便于记忆和阅读,使用字母和符号来 表示机器语言的命令,用十进制数或十六进制 数来表示数据,这样的计算机程序设计语言就 称为汇编语言。9(2)汇编语言程序与机器语言程序的关系例如,对于前述的46+40算式运算,如果把机器语言程 序改写为汇编语言程序,则为以下两条汇编指令: (3)不同

5、类型计算机有不同的机器指令系统和汇编 语言描述 为了学习和使用某种计算机的汇编语言,必须 熟悉计算机的内部组成结构。但并非要掌握计算机 系统的全部硬件组成,只需掌握用汇编语言编制程 序时所涉及到的那些硬件的结构和功能。 一条汇编语言的语句与一条机器语言指令对应, 汇编语言程序与机器语言程序效率相同. MUL BL ADD AL, CL 10 CPU中有多少个寄存器及其作用? CPU是如何访问存储器? 输入输出操作的方式有哪些?在本课程中,将以IBM-PC系列微型计算机 及其汇编语言为例,学习汇编语言程序设计的基 本原理、方法和技巧。 对一台计算机来说,机器语言的执行主要取 决于该计算机的中央处

6、理器CPU。因此熟悉计算 机内部结构主要是指CPU的功能结构。它包括:11 1.2 学习和使用汇编语言的目的 1.学习和使用汇编语言可以从根本上认识、理解 计算机的工作过程。通过用汇编语言编制程序可以更清楚地了解计 算机是如何完成各种复杂的工作。在此基础上, 程序设计人员能更充分地利用机器硬件的全部功 能,发挥机器的长处。2. 在计算机系统中,某些功能必须用汇编语言程序 来实现。 如:机器自检、系统初始化、实际的输入输出设备的 操作等。12在某些要求节省内存空间和提高程序运行速度的 应用场合。如实时过程控制、智能仪器仪表等, 常常用汇编语言来编制程序。 3. 汇编语言程序的效率高于高级语言程序

7、 “效率”有两个方面的含义:程序的目标代码长度 和运行的速度。13 1.3 进位计数制及其相互转换 一. 进位计数制 使用一定个数的数码的组合来表示数字,这种 表示方法称为进位计数制。根据所使用的数码的 个数,就产生了不同的进位计数制。 如十进制数,用0、19十个数码的组合来表示数 字。每个数码排在不同位置,所表示的数值大小 不相同。例如:222从右边开始,第一个2表示2个1,第二 个2表示有2个10,第三个2表示有2个100. 14将各个位置上所表示的基本数值称为位权, 简称权。 不同的进位制和不同的位置其位权是不同的。 位权乘以对应位置上的数码就等于该数位上数值 的大小。 每个数位上能使用

8、不同数码的个数称为基数。 例如十进制有十个数码09,基数为10,二进制基 数为2。每个数位能取的最大数码值=基数-1。如十进制为 10-1=9 15在计算机中数据表示一般采用二进制数, 因为它在计算机中最容易表示和存储,且适合 于逻辑值的表达与运算。 对人来说二进制不便于书写和阅读,因此书写时 常使用8进制和16进制。二进制与8进制、16进制之间有非常简单的转换关 系:3位二进制数与一位8进制数对应,4位二进制 数与一位16进制数对应。 16在书写不同进位计数制数时,为了区别,常 在数的尾部用一个字母来表示。 B(Binary)二进制数 O (Octal)八进制数 D (Decimal)十进制

9、数 H (Hexadecimal)十六进制数。 如未使用任何字母,则默认表示是十进制数。 17二. 各种数制间的相互转换 由于二进制与八进制和十六进制间的转换很简单, 下面主要讨论二进制与十进制之间的相互转换。 1. 十进制整数转换为二进制数 有两种转换方法 :(1)减权定位法l从二进制数高位起,依次用待转换的十进制数与各 位权值进行比较; l如够减,则该数位系数Ki=1,同时减去该位权值, 余数作为下一次比较的值; l如不够减,则Ki=0 。 18例:将325转换为二进制数,直到余数为0。 首先确定二进制数的最高位 因为29(512)32528(256)。因此从K8位开始比较。 减数比较 K

10、i 对应二进制数 325-256=69 K8 1 69128 K7 0 69-64=5 K6 1 532 K5 0 516 K4 0 58 K3 0 5-4=1 K2 1 12 K1 0 1-1=0 K0 1所以 325D=101000101B 19(2) 除基取余数 将十进制数除以基数2,其余数为二进制数的最 低位,再用其商除2,其余数为次低位,反复做下 去,直到商0. 这种转换方法同样适合于其它进制数之间的转换。 除基余数Ki 2 325 2 162 2 81 2 40 2 202 10 2 5 2 2 2 1 01 0 1 0 0 0 1 0 1k0 k1 k2 k3 k4 k5 k6

11、k7 k8202.十进制小数转换为二进制数 例 将十进制数0.645转换为二进制数 (1) 减权定位法转换时应根据程序要求的精度或计算机的字长来确 定二进制的位数.减权比较Ki对应二进制数0.645-0.5 =0.145 k-1 1 0.1450.25 k-2 0 0.145-0.125=0.02 k-3 1 0.020.0625 k-4 0 0.020.03125 k-5 0 0.02-0.015625 k-6 1所以 0.645D=0.101001B21(2)乘基取整法 例 将0.8125D转换为二进制数 乘以基数 Ki 整数部分 0.812521.625 K-1 1 0.62521.25

12、 K-2 1 0.2520.5 K-3 0 0.521. K-4 1所以 0.8125D0.1101B223. 二进制整数转换为十进制数 (1)按权相加法 (2)逐次乘基相加法1 0 1 0 0 0 1 0 1324 22222222325例 101000101B1281261221202566441 3252410204080162234. 二进制小数转换为十进制数(1)按权相加法(2)逐次除基相加法转换从最低位开始例 0. 1 0 1 0 0 12222220.101001B0.640625D例 0.101001B= 12-112-312-6 0.5+0.125+0.0156 0.6406

13、25D0.640625 0.28125 0.5625 0.1250.250.5245. 二进制与八进制和十六进制间的转换二进制与八进制和十六进制之间的对应关系很简单:三位二进制数对应一位八进制数,四位二进制数对 应一位十六进制数。例如:10100010B2所以 10100010B=242Q10100010B = 1010 0010A 2 所以 10100010B = A2 H=10 100 0102425 1.4 带符号数的表示 在一般算术表示中使用”+”和”-“来表示正数与负数,而在 计算机中使用”0”和”1”来表示正数和负数。用“”或“”表示正负的数叫真值 用“0”或“1”表示正负的数叫机

14、器数 带符号的机器数可以用原码、反码和补码三种不同码制来 表示。一般计算机中大多采用补码表示。 一、原码表示 二进制数的最高位表示符号,0表示正,1表示负。数值 部分 用二进制数绝对值表示 268位二进制数原码的最大数为01111111(+127)最小数为11111111 (-127)8位二进制数表示范围:127X+1270的原码有两种表示形式:00000000和10000000(+0和-0) 二、补码的表示 1.补码的定义 带符号数X的补码表示X补定义为:X补M+X (Mod M) 其中模数M根据机器数的位数而定,如位数为8则M=28 用补码表示的机器数,符号位仍然表示数的符号:0为正,1为 负。对于正数,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号