汇编语言 第1章 基础知识.ppt 您所在的位置:网站首页 汇编基础知识 汇编语言 第1章 基础知识.ppt

汇编语言 第1章 基础知识.ppt

2022-03-27 12:27| 来源: 网络整理| 查看: 265

《汇编语言 第1章 基础知识.ppt》由会员分享,可在线阅读,更多相关《汇编语言 第1章 基础知识.ppt(41页珍藏版)》请在点石文库上搜索。

1、第1章 基础知识,1.1 进位计数制与转换 1.2 带符号数的表示方法 1.3 非数值数据的表示 1.4 汇编语言简介 1.5 汇编语言的数据类型,开 始,1.1 进位计数制与转换,在计算机中处理的数据都是用二进制来表示的,有时为表示方便也常用八进制和十六进制。同一个数可采用不同的计数制来表示,各种数制表示的数可以相互转换。 一、进位计数制的基本概念 将数字符号按序排列成数位,并遵照某种由低位到高位进位的方法进行计数,来表示数值的方式,称作进位计数制。比如,人们常用的十进位计数制,简称十进制,就是按照逢十进一的原则进行计数的。,进位计数制的表示主要包含三个基本要素:数位、基数和位权。 数位:指。

2、数码在一个数中所处的位置。 基数:指在某种进位计数制中,每个数位上能使用的数码个数,例如十进位计数制中,每个数位上可以使用的数码为0、1、2、39十个数码,即基数为10。 位权:指一个固定值,表示在某种进位计数制中,每个数位上的数码所代表的数值的大小,等于在这个数位上的数码乘上一个固定的数值,这个固定的数值就是这种进位计数制中该数位上的位权。数码所处的位置不同,代表数的大小也就不同。例如在十进位计数制中,小数点左边第一位位权为100,左边第二位位权为101;左边第三位位权为102;。小数点右边第一位位权为10-1;右边第二位位权为10-2;以次类推。,十进制,十进位计数制简称十进制;有十个不同。

3、的数码符号:0、1、2、3、4、5、6、7、8、9。每个数码符号在不同的数位上表示不同的数值,按逢十进一原则来决定其实际数值,即各数位的位权是以10为底的幂次方。 例如:(2458.26)10=2103410251018100210-1610-2 在汇编语言中为了与其它计制数区别,在十进制数据后面加一个大写字母D来表示十进制数。 例如:4287D,742D,8652.237D等都表示十进制数。,二进制,二进位计数制简称二进制,有二个不同的数码符号:0、1。每个数码符号在不同的数位上表示不同的数值,按逢二进一的原则来表示其实际数值,即各数位的位权是以2为底的幂次方。 例如:(101101.101。

4、)2=12502412312202112012-102-212-3=(45.625)10 在汇编语言中书写二进制时,为了与其它计数制区别,在二进制数据后面紧跟一个字母B来表示二进制数。二进制的一般表现形式为:bn-1b1b0B,其代表数值:bn-12n-1+b121+b020。 例如:101011B,110111B,10010.0101B等都表示二进制数。 数据的二进制表示形式简单、明了,但它书写比较长,所以通常情况下,在程序中不直接用二进制来书写具体的数值,而改用八进制、十进制或十六进制。,八进制,八进位计数制简称八进制,有八个不同的数码符号:0、1、2、3、4、5、6、7。每个数码符号在不。

5、同的数位上表示不同的数值,按逢八进一的原则来决定其实际数值,即各数位的位权是以8为底的幂次方。 例如:(358.62)8=38258188068-128-2=(240.78125)10 在汇编语言中书写八进制时,为了与其它计数制区别,在八进制数据后面紧跟一个字母Q来表示八进制数。 例如:4512Q、576Q、34Q等都表示八进制数,4、十六进制,十六进位计数制简称十六进制,有十六个不同的数码符号:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。每个数码符号在不同的数位上表示不同的数值,按逢十六进一的原则来表示其实际数值,即各数位的位权是以16为底的幂次方。 例如:(5AD.2)。

6、16=5162A161D160216-1=(1553.125)10 在汇编语言中书写十六进制时,为了与其它计数制区别,在十六进制数据后面紧跟一个字母H表示十六进制数。当十六进制数的第一个字符是字母时,在第一个字符之前必须添加一个0。 例如:240H、78CAH、0CDBAH等都表示十六进制数。,二、不同数制之间的转换,各进位计数制之间的转换,实质是基数间的转换。转换的原则是:如果两个数相等,则两数的整数部分和小数部分一定分别相等。因此,各数制之间进行转换时,通常对整数部分和小数部分分别进行转换。 1.非十进制数转换成十进制数 把非十进制数转换成十进制数比较简单,它的方法是把各个非十进制数按位权。

7、展开求和即可。即把二进制数(或八、十六进制数)写成2(或8或16)的各次幂之和的形式,然后计算其结果。 【例1.1】把下列二进制数转换成十进制数 1)、(100l01)2125十024十023十l22十021十12032十0十0十4十0十1(37)10 2)、(1011.011)2123十022十121十120十02-1十12-2十12-38十0十2十1十0十0.25十0.125(11.375)10,【例1.2】把下列八进制数转换成十进制数 1)、(4361)8483十382十681十180192十5(2283)10 2)、(236.24)8282十381十680十28-1十48-2128十2。

8、4十6十0.25十0.0625(158.3125)10 【例1.3】把下列十六进制数转换成十进制数 1)、(B32E)16B163十3162十2161十E16045056十768十32十14(45870)10 2)、(C2E.4A)16C162十2161十E160十416-1十A16-23072十32十14十0.25十0.0390625(3118.2890625)10,2.十进制数转换成非十进制数 1) 十进制数转换成二进制数 十进制数转换为二进制数,按整数部分和小数部分分别转换的原则进行。整数部分采用“除以2反序取余”的规则进行,即将十进制整数除以2得到商和余数,再不断地将商除以2得到新的商。

9、与余数,直到商为0为止,将余数从下到上即为对应的二进制数码;小数部分采用“乘2正序取整”的规则进行,即将小数部分乘以2,得到积,再将小数部分乘以2得到新的积,反复以上步骤直到小数部分为0为止。 【例1.4】把十进制数42.6875转换成二进制数。 整数部分按“除以2反序取余”的规则转换。 具体步骤如下:,从下到上反序取余,可得42的二进制数为101010,从上至下正向取整,可得0.6875的二进制数为0.1011。 所以结合在一起为:(42.6875)10(101010.1011)2。,2) 十进制数转换成八进制数 十进制数转换为八进制数,也是按整数部分和小数部分分别转换的原则进行。整数部分采。

10、用“除以8反序取余”的规则进行;小数部分采用“乘8正序取整”的规则进行。 3) 十进制数转换成十六进制数 把十进制数转换成十六进制的方法同上:只是在转换整数部分时采用“除以16反序取余”的规则;转换小数部分时采用“乘16正序取整”的规则。,3.非十进制数之间的相互转换,1)二进制数和八进制数相互转换 由于一位八进制数相当于三位二进制数,因此,要将八进制数转换成二进制数时,只需以小数点为中心,向左或向右每一位八进制数用相应的三位二进制数代替。如果不足三位,用零补足。反之,二进制数转换成相应的八进制数,只是上述方法的逆过程,即以小数点为中心,向左或向右每三位二进制数用相应的一位八进制数代替。 【例。

11、1.5】把八进制数(5426.163)8转换成二进制数。 5 4 2 6 . 1 6 3 101 100 010 110 . 001 110 011 即(5426.163)8(101100010110.001110011)2 【例1.6】把二进制数(10100010101011.110101101)2转换成八进制数。 010 100 010 101 011.110 101 101 2 4 2 5 3 . 6 5 5 即(10100010101011.110101101)2(24253.655)8,2)二进制数和十六进制数相互转换 由于一位十六进制数相当于四位二进制数,因此,要将十六进制数转换成。

12、相应的二进制数,只需以小数点为中心,向左或向右每一位十六进制数用相应的四位二进制数代替。如果不足四位,用零补足。相反,若要将一个二进制数转换成相应的十六进制数,只要取上述方法的逆过程,即将二进制数以小数点为中心分成左右两部分,向左或向右每四位二进制数用相应的一位十六进制数代替。 【例1.7】把十六进制数(B8AE2.6CB)16转换成相应的二进制数 B 8 A E 2 . 6 C B 1011 1000 1010 1110 0010 . 0110 1100 1011 即(B8AE2.6CB)16=(1101011000000.01101101)2 【例1.8】把二进制数(11010110101。

13、101.11110000101101)2转换成相应的十六进制数 0011 0101 1010 1101 . 1111 0000 1011 0100 3 5 A D . F 0 B 4 即:(11010110101101.11110000101101)2=(35AD.F0B4)16,3)八进制数和十六进制数相互转换 因为八进制数和十六进制数直接转换比较困难,可以通过十进制或二进制来过度进行转换。即当把八进制转换成十六进制时,可以先把八进制数转换成十进制或二进制,然后再把十进制或二进制转换成十六进制,反之依然。 【例1.9】把八进制数(452.74)8转换成相应的十六进制数 采用二进制作为过度进行。

14、转换,先把(452.75)8转换为二进制 4 5 2 . 7 5 100 101 010 . 111 101 即:(452.75)16=(100101010.111101)2,再把(100101010.111101)2转换为十六进制 0001 0010 1010 .1111 0100 1 2 A . F 4 即:(100101010.111101)2=(12A.F4)16,所以求得:(452.74)8=(12A.F4)16,1.2 带符号数的表示方法,数值数据分为有符号数和无符号数。无符号数最高位表示数值,而有符号数最高位表示符号。有符号数有不同的编码方式,常用的是补码。 1.2.1、原码、反。

15、码和补码表示方法,返回本章首页,1. 原码,最高位表示符号(正数用0,负数用1),其他位表示数值位,称为有符号数的原码表示法。 【例1.10】有符号数的原码表示。 X=45=00101101B X原= 00101101B X=-45, X原=10101101B 原码表示简单易懂,但若是两个异号数相加(或两个同号数相减),就要做减法。为了把减法运算转换为加法运算就引进了反码和补码。,. 反码,正数的反码与原码相同,符号位用0表示,数值位值不变。负数的反码符号位用1表示, 数值位为原码数值位按位取反形成,即0变1、1变0。 【例1.11】有符号数的反码表示。 X=45=00101101B, X反=。

16、00101101B X=-45, X反=11010010B,3. 补码,正数的补码与原码相同,即符号位用0表示,数值位值不变。负数的补码为反码加1 形成。 【例1.12】有符号数的补码表示。 X=45=00101101B X补=00101101B X=-45 X补=11010011B,4. 符号扩展,在数据处理时,有时需要把8位二进制数扩展成16位二进制数,当要扩展的数是无符号数时,可在最高位前扩展8个0。如果要扩展的数是补码形式的有符号数,那么,就要进行符号位的扩展,符号扩展后,其结果仍是该数的补码。 【例1.13】符号扩展表示。 21的8位二进制补码为:00010101 符号扩展后21的1。

17、6位二进制补码为: 0000000000010101。 00010101和0000000000010101都是21的补码。,1.2.2、原码、反码和补码之间的转换,1.已知原码,求补码。 【例1.10】已知某数X的原码为11011011B,试求X的补码和反码? 由X原=10110100B得,X为负数。根据求反码的规则,符号位不变,数值部分按位取反;求补码时,再在反码的末位加1即可。 1 1 0 1 1 0 1 1 原码 1 0 1 0 0 1 0 0 反码,符号位不变,数值位取反 1 +1 1 0 1 0 0 1 0 1 补码 所以:X补 =10100101B,X反 =10100100B。,2。

18、.已知补码,求原码。 按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,所以仍采用取反加1 的方法。 【例1.11】已知某数X的补码11001010B,试求其原码。 由X补 =11001010B知,X为负数。求原码表示时,符号位不变,数值部分按位求反,再在末位加1。 1 1 0 0 1 0 1 0 补码 1 0 1 1 0 1 0 1 符号位不变,数值位取反 1 +1 1 0 1 1 0 1 1 0 原码 所以:X原 =10110110B。,1.2.3 补码与真值之间的转换,用补码表示的二进制数,当其符号位为“0”时,表。

19、示一个正数,这时它的补码就等于它的原码。其真值就是它的数值部分,即除符号位之外的其余位就是此数的二进制数值。用补码表示的负数(符号位为“1”),求真值的方法是将此补码数再求一次补,即将除符号位外的其余位按位取反,再在最低位加1,可得到该负数补码对应的真值的绝对值。,【例1.12】X补01101101B,Y补11101101B,分别求其真值X。 (1)X补码代表的数是正数,其真值: X1101101B (126125123122120) (6432841) (109)D (2)Y补码代表的数是负数,则真值: Y(1101101求反1)B (00100101)B (0010011)B (12412。

20、1120) (1621) (19)D,返回本节,1.3 非数值数据的表示,1ASCII码 2BCD码 3. 汉字编码,1ASCII码,标准ASCII码用7位二进制数编码,共有128个。 计算机存储器基本单位为8位,ASCII码的最高位通常为0,通信时,最高位用作奇偶校验位。 ASCII码表中的前32个和最后1个编码是不能显示的控制字符,用于表示某种操作。 ASCII码表中20H后的94个编码是可显示和打印的字符,其中包括数码09,英文字母,标点符号等。,2BCD码,虽然二进制数实现容易,但不符合人们的使用习惯,且书写阅读不方便,所以在计算机输入输出时通常还是采用十进制来表示数,这就需要实现十进。

21、制与二进制间的转换。为了转换方便,常采用二进制编码的十进制,简称为BCD码。 BCD码就是用4位二进制数表示1位十进制整数。表示的方法有多种,常用的是8421BCD码,它的表示规律如表1.1所示。,表1.1 十进制数字的8421BCD码,返回本节,3、汉字编码,ASCII码是针对英文的字母、数字和其它特殊字符进行编码的,它不能用于对汉字的编码。要想用计算机来处理汉字,就必须先对汉字进行适当的编码。 1981年5月1日开始实施第一套国家和汉字编码标准,标准号是GB 23121980。它是计算机可以识别的编码,适用于汉字处理、汉字通信等系统之间的信息交换。基本集共收入汉字6763个和非汉字图形字符。

22、682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。这个码是唯一的,不会有重码字。,1.4 汇编语言及特点,1.4.1 汇编语言的由来 1.4.2 汇编语言的特点 1.4.3 汇编语言的使用领域,返回本章首页,1.4.1 汇编语言的由来,1.机器语言 计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。 用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标。

23、程序。,返回本节,2. 汇编语言,为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。 用汇编语言编写的程序称为汇编源程序。 汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。,返回本节,3 汇编程序 把汇编语言编写的源程序翻译成CPU能识别的机器指令序列,一般称这样的翻译程序为汇编。

24、程序。汇编程序就把汇编语言书写的程序翻译成与之等价的机器语言程序的程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。,1.4.2 汇编语言的特点,(1)汇编语言与处理器密切相关。 (2)汇编语言程序效率高。 (3)编写汇编语言源程序比编写高级语言源程序烦琐。 (4)调试汇编语言程序比调试高级语言程序困难。,1.4.3 汇编语言的主要应用场合:,(1)程序执行占用较短的时间,或者占用较小存储容量的场合。 (2)程序与计算机硬件密切相关,程序直接控制硬件的场合。 (3)需提高大型软件性能的场合。 (4)没有合适的高级语言的场合。,返回本节,1.5 汇编语言的数据类型,。

25、汇编语言所用到的基本数据类型为:字节、字、双字等。 1字节 字节是计算机的处理信息的最小单位,也是内存单元的最小线性编址单位。一个字节有8位二进制组成,其最高位是第7位,最低位是第0位,如图1.2所示。在表示有符号数时,最高位就是符号位。通常情况下,存储器按字节编址,读写存储器的最小信息单位就是一个字节。 图1.2字节数据类型示意图,2字 字类型由2个字节组成,其最高位是第15位,最低位是第0位。高8位称为高字节,低8位称为低字节,如1.3图所示。字节和字是汇编语言程序中最常用的两种数据类型,也是最容易出错的数据类型。,3双字 双字类型由2个字(4个字节)组成,一般高16位称为高字,低16位称。

26、为低字,如1.4图所示。双字有比较大的数据表示范围,它通常是为了满足数据的表示范围而选用的数据类型,也可用于存储远指针。字节、字和双字是汇编语言最常用的三种数据类型。,4四字 四字类型由4个字(8个字节)组成,含64个二进制位,通常用来存放双字节不能表达的精度数,在汇编语言中很少使用该数据类型。 5十字节 十字节类型由10个字节组成,含80个二进制位,用来存储非常大的数或表示更多的信息。 6字符串 字符串是汇编语言程序中比较常用的一种数据形式,是由字符构成的一个线性数组,每个字节存储一个字符。在汇编语言程序中,根据实际需要定义字符串的长度。,Thank you very much !,本章到此结束,谢谢您的光临!,返回本章首页,结 束,。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有