《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt

上传人(卖家):momomo 文档编号:5716750 上传时间:2023-05-05 格式:PPT 页数:80 大小:351KB
下载 相关 举报
《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt_第1页
第1页 / 共80页
《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt_第2页
第2页 / 共80页
《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt_第3页
第3页 / 共80页
《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt_第4页
第4页 / 共80页
《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

1、教学目的 掌握汇编语言程序设计的基础知识:数制及数制转换数制编码基本逻辑运算教学内容 1.1数制与数制转换 1.2二进制数的基本运算 1.3计算机中的编码 1.4计算机中有符号数的表示 1.5基本逻辑运算 1.1数制与数制转换 1.1.1数制的基本概念 1.1.2二进制数 1.1.3十进制和二进制之间的转换 1.1.4二进制和其它进制之间的转换 1.1.1数制的基本概念 数制:计数的方法,如B、D、O、H等。基数:计数制允许选用基本数字符号的个数,用R表示。位权:权的大小是以基数为底,数码所在位置的序号为指数的整数次幂,常用Ri表示。例如:对于十进制数 1.用0,1,2,,9十个基本符号表示。

2、2.遵循“逢十进一”原则。十进制数N都可以表示为:基数:0,1,2,9 位权:10i1.1.2二进制数 特点:(1)数制简单、容易表示:0 1(2)运算规则简单,可以利用逻辑代数进行分析和综合:通常二进制数用B(binary)、十进制数用D(decimal)、八进制用O(octal)、十六进制用H(hexadecimal)表示。1.1.3十进制和二进制之间的转换 整数部分的转换方法是:除二取余,高位在下。小数部分的转换方法是:乘二取整,高位在上。例如:将十进制数153.7875D转换为二进制数 整数部分:小数部分:1.1.4二进制和其它进制之间的转换 1.二进制数转换为十进制数 二进制转换为十

3、进制的方法是:按权展开。例如:(110.01)B=12212102002-112-2=(6.25)D 2.二进制和八进制、十六进制之间的转换 将二进制数从小数点位开始,向左每3位产生一个八进制数字,不足3位的左边补零,这样得到整数部分的八进制数;向右每3位产生一个八进制数字,不足3位的右边补0,得到小数部分的八进制数。同理,将二进制数转换成十六进制数时,只要按每4位分割即可。例如:(101,101.101,001)B(55.51)O (0010,1101.1010,0100)B(2D.A4)H 很明显,八进制数或十六进制数要转换成二进制数,只需将八进制数或十六进制数分别用对应的三位或四位二进制

4、数表示即可。1.2二进制数的基本运算 1.二进制加法 二进制加法的运算规则为:000 011 101 110 进位1 如:若有两数1101和1011相加,则加法过程如下:2.二进制减法 二进制减法的运算规则为:000 110 101 011 借位 1 如:若有两数1100010001100101相减,则加法过程如下:1.3计算机中的编码 1.3.1数字的编码 1.3.2字符的编码 1.3.3汉字的编码 1.3.4统一代码 1.3.5语音编码 1.3.6差错控制编码 1.3.1数字的编码 二进制编码的十进制数,即BCD(二十进制)码,这种编码法分别将每位十进制数字编成4位二进制代码,从而用二进制

5、数来表示十进制数,它广泛应用于计算机中。1.3.2字符的编码 国际上广泛采用的是美国国家信息交换标准代码(American Standard Code for Information Interchange),简称 ASCII 码,其规则是用7位来表示一个字符。一个ASCII码字符在机器内占用一个字节(8位),其第八位常用作奇偶校验,但在机器中表示时,该位当作0处理。1.3.3汉字的编码 1.汉字的输入码 2.汉字的内码 3.汉字字形码1.汉字的输入码(1)数字编码 常用的是国标区位码,用数字串表示一个汉字,数字编码输入的优点是无重码,输入码与内部编码的转换比较方便,缺点是代码难以记忆。(2)

6、拼音码 拼音码是以汉语拼音为基础的输入方法。凡掌握汉语拼音的人,不需训练和记忆,即可使用,但汉字同音字太多,输入重码率很高,因此按拼音输入后还必须进行同音字选择,影响了输入速度。(3)字形编码 字形编码是用汉字的形状来进行的编码。研究的热点:键盘输入 手写输入 语音输入2.汉字的内码 同一个汉字以不同输入方式进入计算机时,编码长度以及0、1组合顺序差别很大,使汉字信息进一步存取、使用、交流十分不方便,必须转换成长度一致、且与汉字惟一对应的能在各种计算机系统内通用的编码,满足这种规则的编码叫汉字内码。汉字内码是用于汉字信息的存储、交换检索等操作的机内代码,一般一个汉字采用两个字节表示。GB231

7、280国家标准信息交换用汉字编码 3.汉字字形码 点阵的形式存储汉字字形编码的方法。点阵字形是将字符的字形分解成若干“点”组成的点阵,将此点阵置于网状上,每一小方格是点阵中的一个“点”,点阵中的每一个点可以有黑白两种颜色,有字形笔画的点用黑色,反之用白色,这样就能描写出汉字字形了。图1-1是汉字“次”的点阵,如果用十进制的“1”表示黑色点,用“0”表示没有笔画的白色点,每一行16个点用两字节表示,则需32个字节描述一个汉字的字形,即一个字形码占32个字节。1.3.4统一代码 由于现今人类使用接近6800种不同的语言,所以即使是扩展ASC码这样的8位代码也不能满足需要。解决问题的最佳方案是设计一

8、种全新的编码方法,这种方法必须有足够的能力来表示6800种语言种任意一种语言里使用的所有符号,这就是统一代码(Unicode)。Unicode的基本方法是使用一个16位的数来表示Unicode中的每个符号,这意味着允许表示65536个不同的字符或符号。1.3.5语音编码 1.音调、音强和音色 声音是通过声波改变空气的疏密度,引起鼓膜振动而作用于人的听觉的。从听觉的角度,音调、音强和音色称为声音的三要素。音调决定于声波的频率,声波的频率高,声音的音调就高;声波的频率低,声音的音调就低。人的听觉范围为20HZ20KHZ。音强又称响度,决定于声波的振幅。声波的振幅大,则声音强。声波的振幅小,声音弱。

9、音色决定于声波的形状。混入音波基波中的泛音不同,得到不同的音色。2.波形采样量化 任何用符号表示的数字都是不连续的。波形的数字化过程是将连续的波形用离散的(不连续的)点近似代替的过程。在原波形上取点,称为采样。用一定的标尺确定各采样点的值(样本),称为量化。量化之后,很容易就将它们转换为二进制码。3.采用量化的技术参数(1)采用频率(2)测量精度(3)声道数1.3.6差错控制编码 差错控制编码的基本思想是:在发送端被传送的信息码序列的基础上,按照一定的规则加入若干“监督码元”后进行传输,这些加入的码元与原来的信息码序列之间存在着某种确定的约束关系。在接收数据时,检验信息码元与监督码元之间既定的

10、约束关系,如该关系遭到破坏,则在接收端可以发现传输中的错误,乃至纠正错误。1.奇偶校验码 2.海明码 3.循环冗余校验码1.奇偶校验码 这是一种简单的检错码,其编码规则是先将所要传输的数据码元分组,在分组数据后面附加一位监督位,使该组码连同监督位在内的码组中的“1”的个数为偶数(称为偶校验)或奇数(称为奇校验),在接收端按同样的规律检查,如发现不符就说明产生了差错,但是不能确定差错的具体位置,即不能纠错 如:信息码1110011000按照偶监督规则插入监督位应为 a01 1 1 0 0 1 1 0 0 012.海明码 海明码是1950年由美国贝尔实验室提出来的,是一种多重(复式)奇偶检错系统。

11、它将信息用逻辑形式编码,以便能够检错和纠错。用在海明码中的全部传输码字是由原来的信息和附加的奇偶校验位组成的。一般来说,若信息长为n,信息位数为k,则监督位数r=n-k。如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求:2r-1n或2r k+r+1 推导并使用信息长度为k位码字的海明码,所需步骤如下:确定最小的校验位数r,将它们记成P1、P2、Pr,每个校验位符合不同的奇偶测试规定。原有信息和r个校验位一起编成长为k+r位的新码字。选择r校验位(0或1)以满足必要的奇偶条件。对所接收的信息作所需的r个奇偶检查。如果发现所有的奇偶校验结果均为正确的,则认为信息无错误。

12、如果发现有一个或多个错误,则错误的位由这些检查的结果来唯一地确定 (2)码字格式 从理论上讲,校验位可放在任何位置,但习惯上校验位被安排在1、2、4、8的位置上。当k=4,r=3时,信息位和校验位的分布情况如表1-4所示(其中,P1、P2、P3为校验位,D1,D4为信息位)。(3)校验位的确定 r个校验位是通过对k+r位复合字进行奇偶校验而确定的。其中:P1负责校验海明码的第1、3、5、7、(P1、D1、D2、D4)位,(包括P1自己)P2负责校验海明码的第2、3、6、7、(P2、D1、D3、D4)位,(包括P2自己)P3负责校验海明码的第4、5、6、7、(P3、D2、D3、D4)位,(包括P

13、3自己)可得到三个校验方程及确定校验位的三个公式(B1,B2,B7表示码字):R1=B1 B3 B5 B7=0得P1=D1 D2 D4 R2=B2 B3 B6 B7=0得P2=D1 D3 D4 R3=B4 B5 B6 B7=0得P3=D2 D3 D4 若有四位信息码1011,求3个校验位P1、P2、P3的值并生成海明码编码,则可用上面3个公式解出(如表1-6所示)。以上是发送方的处理过程,在接收方,也可根据这3个校验方程对接收的信息进行同样的奇偶测试:A=B1 B3 B5 B7=0;B=B2 B3 B6 B7=0;C=B4 B5 B6 B7=0。若3个校验方程都成立,即方程式右边都等于0,则说

14、明没有错。3.循环冗余校验码 循环冗余校验码(Cyclic Redundancy Check,CRC)是一种能力非常强的检错、纠错码,并且实现编码和检码的电路比较简单,常用于串行传送的辅助存储器与主机的数据通信和计算机网络中。CRC的基本原理是:在k位信息码后再拼接r位的校验码,整个编码长度为n位,因此,这种编码又叫(n,k)码。对于一个给定的(n,k)码,可以证明存在一个最高次幂为n-k=r的多项式g(x),根据g(x)可以生成k位信息的校验码,而g(x)叫做这个CRC码的生成多项式。(1)几个基本概念 多项式与二进制数码 生成多项式 模2除 常用的生成多项式:CRC(12位)=x12 x1

15、1 x3 x1 CRC(16位)=x16 x15 x21 CRC(CCITT)=x16 x12x51(2)FCS帧检验列 将信息位后添加的r位检验码,称为信息的FCS帧检验列(Frame Check Sequence)。FCS帧检验列可由下列方法求得:假如发送信息用信息多项式C(x)表示,将C(x)左移r位,则可表示C(x)2r,这样C(x)的右边就会空出r位,这就是校验码的位置。通过C(x)2r除以生成多项式g(x)得到的余数就是校验码 【例1.1】求信息码为11100110,采用CRC进行差错检测,如用的生成多项式为11001,求FCS的产生过程。分析:此题生成多项式11001有5位(r+

16、1),因此要把原始报文C(x)即11100110左移4(r)位变成111001100000,加4个“0”于信息尾,就等于信息码乘以24,然后被生成多项式模2除。(3)CRC码的编码方法编码是在已知信息位的条件下求得循环码的码组,码组前k位为信息位,后r=n-k位是监督位。因此,要首先根据给定的(n,k)值选定生成多项式g(x),即选定一个r(n-k)次多项式作为g(x)。因为CRC的理论很复杂,本书主要介绍已有生成多项式后计算校验码的方法。结合前面FCS帧检验列的产生过程,可得CRC码的生成步骤如下:将x的最高幂次为r的生成多项式g(x)转换成对应的r+1位二进制数。将信息码左移r位,相当于对

17、应的信息多项式C(x)2r。用生成多项式(二进制数)对信息码做模2除,得到r位的余数FCS帧校验列。将余数拼到信息码左移后空出的位置,得到完整的CRC码。例如上题所举例,信息11100110的CRC码为11001100110。(4)CRC码的解码方法 在发送方,CRC码对应的发送码组多项式A(x)应能被生成多项式g(x)整除,所在接收端可以将接收到的编码多项式R(x)用原生成多项式g(x)去做模2除。当传输中未发生错误时,接收码组与发送码组相同,即R(x)=A(x),故接收码组R(x)必定能被g(x)整除;若码组在传输中发生错误,则R(x)A(x),R(x)被g(x)除时可能除不尽而有余项。因

18、此,就以余项是否为0来判别组中有无错码。(5)CRC码的检错纠错原理 若如果有一位出错,则余数不为0,而且不同位出错,其余数也不同。如果循环码有一位出错,用G(x)作模2除将得到一个不为0的余数。如果对余数补0继续除下去,将发现一个有趣的结果:各次余数按表1-7顺序循环。例如第一位出错,余数将为001,补0后再除(补0后若最高位为1,则用除数做模2减取余;若最高位为0,则其最低3位就是余数),得到第二次余数为010。以后继续做模2减取余,依次得到余数为100,011,反复循环,这就是“循环码”名称的由来。这是一个有价值的特点。如果我们在求出余数不为0后,一边对余数补0继续做模2除,同时让被检测

19、的检验码字循环左移。表1-7说明,当出现余数(101)时,出错位也移到A7位置。可通过异或门将其纠正后在下一次移位时送回A1。1.4计算机中有符号数的表示 1.4.1 机器数与真值 1.4.2原码、反码与补码 1.4.3补码的加法运算 1.4.4定点数与浮点数 1.4.1 机器数与真值 二进制数与十进制数一样有正负之分。在计算机中,如何表示符号呢?通常将一个数的最高位作为符号位,最高位为0,表示符号位为正;最高位为1,表示符号位为负。这样就把符号数值化了,我们称这种数为机器数或机器码。机器数是一个数在计算机中的表示形式,一个机器数所表示的数值称为真值。常用的机器数编码有原码、反码、补码等。1.

20、4.2原码、反码与补码 1.原码 原码表示法是一种比较直观的表示方法,其符号位表示该数的符号,正用“0”表示,负用“1”表示;而数值部分仍保留着其真值的特征。2反码 对于正数而言,其反码形式与其原码相同:最高位为符号位,用0表示正数,其余位为数值位不变。对于负数,其反码表示为:最高位符号位为1,其余数值位在原码的基础上按位取反。3补码 对于正数而言,其补码形式与原码相同:最高位为符号位,用0表示正数,其余位为数值位不变。对于负数而言,其补码表示为:最高位符号位为1,其余数值位在原码的基础上按位取反并加1,3原码、反码、补码之间的互相转换 原码、反码、补码之间互相转换的规则为:如果一个数为正数,

21、那么它的原码、反码、补码的表示形式是相同的。如:X+125,X原X反X补0 1111101 如果一个数为负数,其最高位(符号位)为1,反码的数值位是在原码的基础上按位取反,补码的数值位是在反码的基础上加1。如:X=-43,X原=1 101011 X反=1 010100 X补=1 0101011.4.3补码的加法运算 采用补码运算可以将减法变成补码加法运算,在微处理器中只需加法的电路就可以实现加法、减法运算。其运算特点是:符号位与数值部分一起参加运算,并且自动获得结果(包括符号和数值部分)。设X、Y是两个任意的二进制数,定点补码的运算满足下面的规则:X+Y补X补+Y补 X-Y补X补+Y补 溢出判

22、断:OF Cf C0 其中,OF为1时表示运算结果有溢出,为0时表示结果没有溢出,表示异或,用一个异或电路即可实现。1.4.4定点数与浮点数 所谓定点表示就是小数点在数中的位置是固定不变的;而浮点表示则是小数点的位置是浮动的。1.定点表示 任何一个二进制数都可以表示成一个纯整数或纯小数与一个2的正整数次幂的乘积的形式:S2Np(1)定点整数 当P0,且尾数为纯整数时,定点数只能表示整数。约定小数点位置固定在最低位数值之后。(2)定点小数 当P0,且尾数为纯小数时,定点数只能表示纯小数。约定小数点位置固定在符号位之后。2.浮点表示 如果阶码P不为0,且可以在一定范围内取值,这样的数称为浮点数。浮

23、点数中小数点的位置是浮动的。为了使小数点可以自由浮动,把浮点数分成两部分,即尾数部分与阶码部分,1.5基本逻辑运算 1.5.1与运算 1.5.2或运算 1.5.3非运算 1.5.4异或运算 逻辑是指条件与结论之间的因果关系,因此逻辑运算是指对因果关系进行分析的一种运算。逻辑运算的结果并不表示数值大小,而是表示一种逻辑概念,成立用真或1表示,不成立用假或0表示。常用的逻辑运算包括逻辑与、逻辑或、逻辑非、逻辑异或 1.5.1与运算 决定某一事件发生的所有条件全部具备时,这一事件才会且一定会发生,这种逻辑关系称为与逻辑,与逻辑关系的逻辑函数表达式为:L=AB。与逻辑运算的基本公式如下:000 010

24、 100 1111.5.2或运算 决定事件发生的条件至少有一个具备,这一事件就会且一定会发生。这种逻辑关系叫或逻辑,与逻辑关系的逻辑函数表达式为:L=A+B。或逻辑运算的基本公式如下:000 011 101 1111.5.3非运算 事件的发生和条件的具备总是相反的逻辑关系叫非逻辑,记作:。逻辑非的基本公式如下:1.5.4异或运算 异或运算可以用符号 来表示。异或表示两个变量的取值相异时,他们的异或运算结果为1;当两个变量的取值相同时,他们的异或运算结果为0。其运算规则如下:0 00 0 11 1 01 1 10【例1.6】如果两个变量的取值X=00FFH,Y=5555H,求Z1=XY,Z2=XY,,Z4=X Y的值。X=0000 0000 1111 1111 Y=0101 0101 0101 0101 Z1=0000 0000 0101 0101=0055H Z2=0101 0101 1111 1111=55FFH Z3=1111 1111 0000 0000=FF00H Z4=0101 0101 1010 1010=55AAH

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《汇编语言程序设计 -基于ARM体系结构》课件第1章基础知识.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|