《汇编语言程序设计》电子教案 第1章

上传人:我*** 文档编号:136585873 上传时间:2020-06-29 格式:PPT 页数:19 大小:129.50KB
返回 下载 相关 举报
《汇编语言程序设计》电子教案 第1章_第1页
第1页 / 共19页
《汇编语言程序设计》电子教案 第1章_第2页
第2页 / 共19页
《汇编语言程序设计》电子教案 第1章_第3页
第3页 / 共19页
《汇编语言程序设计》电子教案 第1章_第4页
第4页 / 共19页
《汇编语言程序设计》电子教案 第1章_第5页
第5页 / 共19页
点击查看更多>>
资源描述

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

1、第1章 基础知识 汇编语言程序设计概述 进位计数制及其相互转换 计算机中数的表示 计算机中字符的表示,1.1 汇编语言程序设计概述,机器语言是计算机第一代语言,它全部由0、1代码组成,是能够直接被机器所接受的语言,是最底层的计算机语言。机器语言不容易记忆,程序编写难度大,调试修改繁琐,且不易移植,现程序员很少用。但机器语言执行速度最快,它是一种面向机器的程序设计语言。,1.1.1 机器语言汇编,具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。汇编语言是汇编指令集、伪指令集和使用它们规则的统称。汇编语言比机器语言直观,容易记忆和理解,用汇编语言

2、编写的程序也比机器语言程序易读、易检查、易修改。对于不同的计算机,针对同一问题所编写的汇编语言源程序是互不通用的。用汇编语言编写的程序执行效率比较高,但通用性与可移植性仍然比较差。计算机不能直接识别用汇编语言编写的程序,必须由一种专门翻译程序将汇编语言程序翻译成机器语言程序,计算机才能执行。,1.1.2 汇编语言,1. 可以更深刻认识计算机的工作过程 用汇编语言编制程序,可以清楚地了解计算机是怎样完成各种复杂工作的。在此基础上,程序设计人员更能充分地利用机器硬件的全部功能,发挥机器的长处。 2. 许多领域和场合需要使用汇编语言 .与硬件资源密切相关的软件开发; .要求执行效率高、反应快的领域;

3、 .受存储容量限制的应用领域。,1.1.3 为什么要学习和使用汇编语言,返回,1. 数制的概念 按进位的原则进行计数叫进位计数制,简称数制。每种数制都有其基数和各数位的位权。基数是指该数制中允许选用的基本数码的个数。每个数码所表示的数值等于该数码乘以一个与数码所在位置有关的常数,这个常数叫位权,位权的大小是以基数为底,数码所在位置的序号为指数的整数次幂。 2常用的数制 在汇编语言中常用的数制有:十进制、 二进制、八进制和十六进制。,1.2 进位计数制及其相互转换 1.2.1 进位计数制,十进制数的基数为10,十进制数的位权为10i,其中i代表数字在十进制数中的序号,任意一个10进制N可表示为:

4、 N = anan-1 a1a0.a-1a-m = an10n + an-110n-1 + +a1101 + a0100 + a-110-1 +a-m10-m -m = ai10i i=n 2. 二进制 二进制数的基数为2,二进制数中每一个数字的位权由2的幂次决定,即:2i, 其中i为数字在二进制数中的序号。,1. 十进制,N = anan-1 . a1a0.a-1a-m = an2n + an-12n-1 +. +a121 + a020 + a-12-1 +a-m2-m -m = ai2i i=n 3. 十六进制 十六进制数的基数为16,十六进制中每位数字的位 权由16的幂次决定 N = a

5、nan-1 . a1a0.a-1a-m = an16n+an-116n-1+a1161+a0160+a-116-1+a-m16-m -m = ai16i i=n 其中m,n意义同前,ai取值范围为0-9,A,B,C,D, E,F中任一数字。,1.2.2 各种数制间的相互转换 将数由一种数制转换成另一种数制称为数制间的 转换。 1. 非十进制转换成十进制 非十进制数转换成十进制数采用“位权法”,即把非 十进制数写成各自的按权展开式,然后按十进制运算 原则求和,其和值就是转换后对应的十进制数。 【例1.1】将十六进制数B2F转换成十进制数。 (B2F)16= B162 + 2161 + F160

6、= 11162 + 2161 + 15160 = 2816 + 32 + 15 = (2863)10,2. 十进制数转换成非十进制数 将一个十进制数转换非十进制数时,整数部分 和小数部分的转换方法是不同的,需将整数部分和 小数部分分别转换,将两个转换结果结合起来就可 以得到对应的非十进制数。 (1) 十进制整数转换成非十进制 整数将十进制整数转换为非十进制整数采用“除 基取余法”,即:将十进制整数及此期间产生的商逐 次除以需转换为数制的基数。直到商为零为止,并 记下每一次相除所得到的余数。按从后往前的次序 将各余数记作KnKn-1Kn-2K0,从而构成转换后 对应的非十进制整数。第一次得到的余

7、数为非十进 制数的最低位,最后一次得到的余数为非十进制数 的最高位。,【例1.3】将整数125转换成对应的十六进制整数,则得:(125)10 = (7D)16 (2) 十进制小数转换成非十进制小数 将十进制小数转换为非十进制小数采用:将十进制小数及此期间产生的积小数部分逐次乘以需转换为数制的基数,直到积的小数部分为零为止或达到一定精度为止,并记下每一次相乘所得到的整数部分,按照从前往后的次序,将各整数部分记作k1 k-2k-m ,从而构成转换后对应的非十进制小数。 【例1.4】将十进制数125.625转换成对应的二进制数 因为 (125)10 =(1111101)2 (0.625)10 =(0

8、.101)2 所以 (125.625)10 =(1111101.101)2,返回,1.3 计算机中数的表示 数值型数据是用二进制数来表示的,数值数据分为有符号数和无符号数,有符号数有正、负之分,通常,无符号数最高位表示数值,而有符号数最高位表示符号,规定:用“0”表示“+”号,用“1”表示“”号。把这种连同数字与符号组合在一起的二进制数称为机器数,由机器数所表示的实际值称为真值。真值的符号用“+”或“”表示。有符号数可以用不同的码制来表示,即:原码、反码、补码、移码等,常用的是补码。,1.3.1 原码表示法 设字长为n 位,最高位为符号位,正数的符号用“0”表示,负数的符号用“1”表示,数值部

9、分n-1 位用二进制真值的绝对值表示,这种表示法称为原码。 例如 设字长为8 当x = +1010时, x原 = 00001010, 当x = -1010时, x原 = 10001010 当x = +0.1001时,x原 = 0.1001000,当x = -0.0101时,x原 = 1.0101000 1.3.2 补码表示法 补码表示法规定:正数的补码与原码相同,负数的补码是对该数的原码除符号位外各位取反,然后末位加1。 例如,设字长为 8 当x = +1000时, x补 = 00001000, 当x = -1001时, x补 = 11110111 当x = 0.1011时,x补 = 0.10

10、11000 当x = -0.1110时,x补 = 1.0010000,1.3.3 反码表示法 反码表示法规定:正数的反码和原码相同,负数的反码是对该数的原码除符号位外各位取反,即“0”变“1”,“1”变“0”。 例如 设字长为8 当x = +1101时, x反 = 00001101, 当x = -1101时, x反 = 11110010 当x = +0.1010时,x反 = 0.1010000,当x = -0.1001时,x反 = 1.0110111 1.3.4 移码表示法 移码的定义: x移 = 2n + x (2n x -2n) 移码是在真值上加一个常数2n,在数轴上移码所表示的范围恰好对

11、应与真值在数轴上的范围向轴的正方向移动2n个单元,而得到移码名称。同一真值的补码和移码只差最高位相反 。 例如 x = +1000101 x移 = 27+1000101 = 11000101 x = -1000101 x移 = 27-1000101 = 00111011 x = -1000101 x补 = 28-1000101 = 10111011,1.3.5 补码的加法和减法运算 1补码加减运算的基本公式 A补+B补=A+B补 (整数mod 2n+1;小数mod 2 ) A-B补 = A补+-B补 (整数 mod 2n+1;小数mod 2) 【例1.10】设字长为8,x = 0.1110,y

12、 = -0.0011,用补码的加法 求x+y 解:x补 = 0.1110000,y补 = 1.1101000 x补+y补 = 0.1110000 + 1.1101000 = 0.1011000 (按模2的意义,最左边的1丢掉) 即x+y = +0.1011 【例1.10】 x = 0.1001,y = -0.0111,用补码的减法求x-y 解:x补 = 0.1001000,y补 = 1.1001000,-y补 = 0.0111000 x补- y补 = x补 + -y补 = 0.1001000+ 0.0111000 = -1.0000000,2溢出判断 两个符号位相同的补码相加,如果和的符号位与

13、加数的符号相反,则表明运算结果溢出;两个符号位相反的补码相减,如果差的符号位与被减数的符号位相反,则表明运算结果溢出。这种方法需要判断操作是加法还是减法,以及运算结果与操作数的符号关系。 【例1.12】机器字长为8,高位为符号位,令A = -91,B = +43,求A-B补 解:由A = -91= -1011011,得A补 = 10100101 由B = +43 = +0101011,得B补 = 00101011,-B补 = 11010101 A-B补 = A补 + -B补 = 10100101 + 11010101 = 101111010 按模2n+1的意义,最左边的“1”自然丢掉,而符号位

14、变成了0与正确的符号为1不同,因此可以判断运算出现溢出,这是因为A-B= -134超出了机器字长所能表示的范围。,1.3.6 定点数和浮点数 按小数点的位置是否固定,一般分为定点数和浮点数,相应地数据具有定点表示和浮点表示两种形式。 1定点数 在机器中,小数点位置固定的数称为定点数,定点数根据小数点隐含固定位置不同,又分为定点小数和定点整数。一般采用定点小数表示法。,2浮点数 浮点数是指小数点位置不固定、根据需要而浮动的数,它既有整数部分又有小数部分。定点数所能表示的范围非常有限,在许多场合下是不够用的,浮点数表示法可以扩大数据的表示范围。 一个数N用浮点数表示可以写成:N = MRE 其中M

15、表示尾数,E表示指数,R表示基数。基数一般取2、8、16。一旦计算机定义好了基数值,就不能再改变了,因此,基数在浮点数中不用表示出来,是隐含的。 计算机中参与运算的数超出了浮点数的表示范围时称为溢出。如果一个数的阶码大于计算机所能表示的最大阶码,则称为上溢;反之,若小于最小阶码,则称为下溢。 采用浮点表示的数,在运算之前要进行对齐小数点的操作(称为对阶),才能进行加减运算。,返回,1.4 计算机中字符的表示 计算机中字符的表示方法有多种,最常见的有ASCII码、BCD码。 1.4.1 ASCII码 ASCII码(American Standard Code for Information Interchange)是美国标准信息交换码,已被国际标准化组织定为国际标准,是目前最普遍使用的字符编码。 ASCII码有7位码和8位码两种编码方案,常用的是7位码方案。7位ASCII码是用七位二进制数进行编码的,可共表示27 =128个字符。 ASCII码的每个字符用7位二进制码表示,其排列次序为b6b5b4 b3b

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

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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