资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
第11页 / 共38页
第12页 / 共38页
第13页 / 共38页
第14页 / 共38页
第15页 / 共38页
第16页 / 共38页
第17页 / 共38页
第18页 / 共38页
第19页 / 共38页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,80 x86/8088宏汇编语言程序设计,*,第一章 基础知识,汇编语言简介,进位计数制及相互转换,带符号数的表示,字符编码,11/15/2024,80 x86/8088宏汇编语言程序设计,第一章 基础知识 汇编语言简介10/10/202380 x86,1,1.1,汇编语言简介,自1946年世界上第一台电子数字计算机ENIAC(Electronic Numerical Integrator and Calculator)问世至今,虽然仅短短六十年,但计算机以惊人的速度发展。现今社会无论哪个行业、部门、地区到处可见计算机的应用。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1 汇编语言简介 自1946年世界上第一台电,2,1.1,汇编语言简介,程序设计语言的发展,在计算机的发展过程中,程序设计语言也经历了下面三个阶段的发展。,机器语言,汇编语言,高级语言,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1 汇编语言简介程序设计语言的发展10/10/20238,3,1.1.1,程序设计语言的发展,机器语言,计算机的中央处理器(CPU)能够识别和执行的机器指令代码,。,机器语言的指令以代码的形式表示的,这对编制程序和阅读程序都是相当困难的,。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1.1 程序设计语言的发展机器语言10/10/20238,4,1.1.1,程序设计语言的发展,汇编语言,汇编语言是把由机器指令组成的机器语言程序“符号化”,并与机器语言一一对应。,由于不同的机器有不同的汇编语言指令系统,因此汇编语言的可移植性较差。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1.1 程序设计语言的发展汇编语言10/10/20238,5,1.1.1,程序设计语言的发展,高级语言,如VB、VC、DELPHI等程序设计语言。高级语言易学好用,这些语言是面向数学语言或自然语言,因此容易接受和掌握。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1.1 程序设计语言的发展高级语言10/10/20238,6,1.1.2,汇编语言特性,由于每种计算机的设计者有不同的设计思想,不同的应用目的。因此,每种计算机有它自己的机器语言和汇编语言。为了学习、使用某种计算机的汇编语言就必须首先熟悉那种计算机。这使得用汇编语言编写程序比高级语言困难得多,但由于汇编语言的特性使得我们还有意义继续学习和使用它。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1.2 汇编语言特性 由于每种计算机的设计者有不同的,7,1.1.2,汇编语言特性,知识,:,学习和使用汇编语言可以从根本上认识、理解计算机的工作过程。有助于程序设计任意更充分地利用机器硬件的全部功能,写出更好的程序,功能,:,现在的计算机系统中,某些功能还只能通过使用汇编语言来实现。例如机器的自检、系统的初始化等。,效率,:,汇编语言的效率通常高于高级语言。“效率”指的是程序的目标代码所占有的空间和程序的运行速度。在需要节省内存空间和提高程序运行速度的场合常常使用汇编语言。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.1.2 汇编语言特性 知识:学习和使用汇编语言可以从根,8,1.2,进位计数制及相互转换,1.2.1,进位计数制,人类在长期的生产实践中创造了我们最熟悉的十进制,而生活中还有八进制、十六进制等多种数系,还有在计算机中广泛使用的二进制数系,它们的共同之处就是都采用进位计数制。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2 进位计数制及相互转换1.2.1 进位计数制,9,1.2.1,进位计数制,进位计数制采用位置表示法,即处于不同位置的同一数字符号,所表示的数值不同。如1992中两个9一个表示9百,一个表示9十。,数制中每一固定位置对应的单位值称为“,权,”。如1992中1的位权为1千,其它各位的位权依次为百、十、一。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.1 进位计数制 进位计数制采用位置表示法,即处,10,1.2.1,进位计数制,在进位计数制中,每个数位上允许的数码十有限的。每个数位上有限数码的个数叫,基数,。例如,在十进制数中有10个数码09。由于每个进位计数制的数码中必定包含0,因此有限数码中最大数码一定是基数减一。,如果某数位超过最大数码便产生向高位的进位,这就是进位计数制的数。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.1 进位计数制 在进位计数制中,每个数位上允,11,1.2.1,进位计数制,对于任意一个进位计数制,如果用R表示基数,那么任何一个数S均可用如下多项式表示:,S=k,n,R,n,+k,n-1,R,n-1,+k,0,R,0,+k,-1,R,-1,+k,-2,R,-2,+k,-m,R,-m,例如,十进制数12345.67可用下面的多项式来表示:12345.67=110,4,+210,3,+310,2,+410,1,+510,0,+610,-1,+710,-2,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.1 进位计数制 对于任意一个进位计数制,如果用,12,1.2.1,进位计数制,在书写不同进位计数制数时,常常在尾部用一个字母来表示该数时什么进位计数制的数。,结尾用B(2进制数)、O(8进制数)、D(10进制数)、H(16进制数)。缺省为十进制数。例如712O、9198D、10010B、BE49H等等。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.1 进位计数制10/10/202380 x86/808,13,1.2,进位计数制及相互转换,1.2.2,各种数制间的相互转换,由于八进制数、十六进制数与二进制数之间有固定的对应关系,按每3位或4位二进制数一组就可以完成八进制数、十六进制数与二进制数之间的相互转换。,因此,我们只需讨论十进制数与二进制数之间的相互转换。这两种数制之间的转换方法同样可以引入到十进制数与八、十六进制数之间的相互转换。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2 进位计数制及相互转换1.2.2 各种数制间的相互转换,14,1.2.2,各种数制间的相互转换,1.2.2.1 十进制整数转换为二进制整数,十进制整数转换位二进制整数有两种转换方法:,(1)减权定位法,(2)除基取余法,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2 各种数制间的相互转换1.2.2.1 十进制整数,15,减权定位法,首先写出要转换的十进制数,其次写出所有小于此数的各位二进制权值,然后用要转换的十进制数减去与它最接近的二进制权值,如够减则减去并在相应位记以1;如不够减则在相应位记以0并跳过此位;如此不断重复,直到该数为0为止。例:将十进制数117转换为二进制数 计算过程如下:,小于117的二进制权为64 32 16 8 4 2 1,11/15/2024,80 x86/8088宏汇编语言程序设计,减权定位法首先写出要转换的十进制数,其次写出所有小于此数的各,16,经过转换后,117D=1110101B,11/15/2024,80 x86/8088宏汇编语言程序设计,经过转换后,117D=1110101B10/10/202,17,除基取余法,把要转换的十进制数的整数部分不断除以2,并记下余数,直到商为0为止。例:将十进制数117转换为二进制数。计算过程如下:,经过转换后,117D=1110101B,11/15/2024,80 x86/8088宏汇编语言程序设计,除基取余法 把要转换的十进制数的整数部分不断除以2,并记下,18,1.2.2,各种数制间的相互转换,1.2.2.2 十进制小数转换位二进制小数,转换方法与整数转换方面类似,也有两种方法。,(1)减权定位法,与整数转换差异:,a、位权值不同 二进制小数部分的位权值分别位 0.5,0.25,0.125,0.0625,b、转换的小数需要根据程序要求或计算机字长来确定小数的位数。,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2 各种数制间的相互转换1.2.2.2 十进制小数,19,减权定位法,例如把十进制小数0.8125转换成二进制数:,0.8125-0.5=0.3125 (a,-1,=1),0.3125-0.25=0.0625 (a,-2,=1),0.0625 0.125 (a,-3,=0),0.0625-0.0625=0 (a,-4,=1),经过转换后,0.8125 D=0.1101B,11/15/2024,80 x86/8088宏汇编语言程序设计,减权定位法例如把十进制小数0.8125转换成二进制数:10/,20,1.2.2.2,十进制小数转换为二进制小数,(2)乘基取整法,十进制小数,成立基数2后,如整数部分为1则a,-1,=1,否则a,-1,=0,把剩余的小数部分重复乘以基数2,直到小数为零或达到程序要求的小数位数。,例如把十进制小数0.8125转换成二进制数:,0.8125 2=1.625 (a,-1,=1),0.625 2 =1.25 (a,-2,=1),0.25 2 =0.5 (a,-3,=0),0.5 2 =1 (a,-4,=1),经过转换后,0.8125 D=0.1101B,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2.2 十进制小数转换为二进制小数(2)乘基取整法,21,1.2.2.3,二进制整数转换为十进制整数,二进制整数转换为十进制整数有两种方法:,按权相加法,首先二进制各位的系数乘以该位的位权值,然后把各位的乘积相加即得到转换后的十进制数。,例如:,110110101B=,1 2,8,+12,7,+12,5,+12,4,+12,2,+12,0,=437D,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2.3 二进制整数转换为十进制整数二进制整数转换为十,22,1.2.2.3,二进制整数转换为十进制整数,(2),逐次乘积相加法,从最高位开始,逐次乘2再加次高位的系数,所得结果再乘以2并与相邻位的低位相加,一直进行到加上最低位为止。,例如:,1101101B=((1 2+1)2+0)2+1)2+12)+0)2+1,=109D,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2.3 二进制整数转换为十进制整数(2)逐次乘积相加,23,1.2.2.4,二进制小数转换为十进制小数,二进制小数转换为十进制小数有两种方法:,(1)按权相加法,同整数的按权相加法类同。,例如:,0.1101B=1 2,-1,+12,-2,+12,-4,=0.8125D,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2.4 二进制小数转换为十进制小数二进制小数转换为十,24,1.2.2.4,二进制小数转换为十进制小数,(2)逐次除基相加法,从最低位开始,除以基数2,再与次低位相加,所得结果再除以2并与相邻的高位相加,如此继续到小数点后最高位除以2为止,。,例如:,0.1101B=(1/2+0)/2+1)/2+1)/2,=0.8125D,11/15/2024,80 x86/8088宏汇编语言程序设计,1.2.2.4 二进制小数转换为十进制小数(2)逐次除基相加,25,1.3,带符号数的表示,在现实生活中我们所使用的数有正数和负数,因此计算机中处理的数常常是带符号的数。在日常生活中我们用和表示数值的正负。在计算机中正数与负数是如何表示的呢?,在计算机中通常在数的最高位用1位二进制数位来表示数的符号,0表示正数,1表示负数。,11/15/2024,80 x86/808
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6