汇编语言之基础知识课件

PPT
  • 阅读 31 次
  • 下载 0 次
  • 页数 38 页
  • 大小 122.001 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
汇编语言之基础知识课件
可在后台配置第一页与第二页中间广告代码
汇编语言之基础知识课件
可在后台配置第二页与第三页中间广告代码
汇编语言之基础知识课件
可在后台配置第三页与第四页中间广告代码
汇编语言之基础知识课件
汇编语言之基础知识课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 38
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】汇编语言之基础知识课件.ppt,共(38)页,122.001 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44808.html

以下为本文档部分文字说明:

2022/11/2480x86/8088宏汇编语言程序设计第一章基础知识汇编语言简介进位计数制及相互转换带符号数的表示字符编码2022/11/2480x86/8088宏汇编语言程序设计1.1汇编语

言简介自1946年世界上第一台电子数字计算机ENIAC(ElectronicNumericalIntegratorandCalculator)问世至今,虽然仅短短六十年,但计算机以惊人的速度发展。现今社会无论哪个行业、部门、地区到处可见计算机的应用。2022/1

1/2480x86/8088宏汇编语言程序设计1.1汇编语言简介1.程序设计语言的发展在计算机的发展过程中,程序设计语言也经历了下面三个阶段的发展。机器语言汇编语言高级语言2022/11/2480x86/8088宏汇编语言程序设计1.1.1程序设计语言的发展

机器语言计算机的中央处理器(CPU)能够识别和执行的机器指令代码。机器语言的指令以代码的形式表示的,这对编制程序和阅读程序都是相当困难的。2022/11/2480x86/8088宏汇编语言程序设计1.1.1程序设计语言的发展汇编语言

汇编语言是把由机器指令组成的机器语言程序“符号化”,并与机器语言一一对应。由于不同的机器有不同的汇编语言指令系统,因此汇编语言的可移植性较差。2022/11/2480x86/8088宏汇编语言程序设计1.1.1程序设计语言的

发展高级语言如VB、VC、DELPHI等程序设计语言。高级语言易学好用,这些语言是面向数学语言或自然语言,因此容易接受和掌握。2022/11/2480x86/8088宏汇编语言程序设计1.1.2汇编语言特性由于每种计算机的设计者有不同的设计思想,不同的应用目的。因此,每种计算机有它自己

的机器语言和汇编语言。为了学习、使用某种计算机的汇编语言就必须首先熟悉那种计算机。这使得用汇编语言编写程序比高级语言困难得多,但由于汇编语言的特性使得我们还有意义继续学习和使用它。2022/11/2480x86/8088宏汇编语言程序设计1.1.2汇编语言特性知识:学习和使用汇编语言可以从根本上

认识、理解计算机的工作过程。有助于程序设计任意更充分地利用机器硬件的全部功能,写出更好的程序功能:现在的计算机系统中,某些功能还只能通过使用汇编语言来实现。例如机器的自检、系统的初始化等。效率:汇编语言的效率通常高于高级语言。“效率”指的是程序的

目标代码所占有的空间和程序的运行速度。在需要节省内存空间和提高程序运行速度的场合常常使用汇编语言。2022/11/2480x86/8088宏汇编语言程序设计1.2进位计数制及相互转换1.2.1进位计数制人类在长期的生产实践中创造了我们最熟悉的十进制,而生活中还有八进制、十六进制等

多种数系,还有在计算机中广泛使用的二进制数系,它们的共同之处就是都采用进位计数制。2022/11/2480x86/8088宏汇编语言程序设计1.2.1进位计数制进位计数制采用位置表示法,即处于不同位置的同一数字符号,所表示的数值不同。如1992中两个9一个表

示9百,一个表示9十。数制中每一固定位置对应的单位值称为“权”。如1992中1的位权为1千,其它各位的位权依次为百、十、一。2022/11/2480x86/8088宏汇编语言程序设计1.2.1进位计数制在进位计数制中,每个数位上允许的数码十有限的

。每个数位上有限数码的个数叫基数。例如,在十进制数中有10个数码0~9。由于每个进位计数制的数码中必定包含0,因此有限数码中最大数码一定是基数减一。如果某数位超过最大数码便产生向高位的进位,这就是进位计数制的数。2022/11/2480x86/8088宏汇编语

言程序设计1.2.1进位计数制对于任意一个进位计数制,如果用R表示基数,那么任何一个数S均可用如下多项式表示:S=knRn+kn-1Rn-1+…+k0R0+k-1R-1+k-2R-2+…+k-mR-m例如,十进制数12345.67可用下面的多项

式来表示:12345.67=1×104+2×103+3×102+4×101+5×100+6×10-1+7×10-22022/11/2480x86/8088宏汇编语言程序设计1.2.1进位计数制在书写不同进

位计数制数时,常常在尾部用一个字母来表示该数时什么进位计数制的数。结尾用B(2进制数)、O(8进制数)、D(10进制数)、H(16进制数)。缺省为十进制数。例如712O、9198D、10010B、BE49H等等。2022/11/24

80x86/8088宏汇编语言程序设计1.2进位计数制及相互转换1.2.2各种数制间的相互转换由于八进制数、十六进制数与二进制数之间有固定的对应关系,按每3位或4位二进制数一组就可以完成八进制数、十六进制数与二进制数之间的相互转换。因此,我们只需讨论十进制数与二进制数之间的相互转换

。这两种数制之间的转换方法同样可以引入到十进制数与八、十六进制数之间的相互转换。2022/11/2480x86/8088宏汇编语言程序设计1.2.2各种数制间的相互转换1.2.2.1十进制整数转换为二进制整数十进制整数转换位二进制整数有两种转换方法:(1)减权定位法(2)除基取余法2022

/11/2480x86/8088宏汇编语言程序设计减权定位法首先写出要转换的十进制数,其次写出所有小于此数的各位二进制权值,然后用要转换的十进制数减去与它最接近的二进制权值,如够减则减去并在相应位记以1;如不够减则在

相应位记以0并跳过此位;如此不断重复,直到该数为0为止。例:将十进制数117转换为二进制数计算过程如下:小于117的二进制权为64321684212022/11/2480x86/8088宏汇编语言程序设计经过转换后,1

17D=1110101B2022/11/2480x86/8088宏汇编语言程序设计除基取余法把要转换的十进制数的整数部分不断除以2,并记下余数,直到商为0为止。例:将十进制数117转换为二进制数。计算过程如下:经过转换后,117D=1110

101B2022/11/2480x86/8088宏汇编语言程序设计1.2.2各种数制间的相互转换1.2.2.2十进制小数转换位二进制小数转换方法与整数转换方面类似,也有两种方法。(1)减权定位法与整数转换差异:a、位权值不同二进制小数部分的位权值分别位

0.5,0.25,0.125,0.0625…b、转换的小数需要根据程序要求或计算机字长来确定小数的位数。2022/11/2480x86/8088宏汇编语言程序设计减权定位法例如把十进制小数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.8125D=0.1101B2022/11/2480x86/8088宏汇编语言程序设计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.8125D=0.1101B2022/11/2480x86/8088宏汇编语言程序设计1.2.2.3二进制整数转换为十进制整数二进制整数转换为十进制整数有两种方法:(1)

按权相加法首先二进制各位的系数乘以该位的位权值,然后把各位的乘积相加即得到转换后的十进制数。例如:110110101B=1×28+1×27+1×25+1×24+1×22+1×20=437D2022/11/2480x86/8088宏汇编语言程序设计1.2.2.3二进制整数转换为十进制

整数(2)逐次乘积相加法从最高位开始,逐次乘2再加次高位的系数,所得结果再乘以2并与相邻位的低位相加,一直进行到加上最低位为止。例如:1101101B=(((((1×2+1)×2+0)×2+1)×2+1×2)+0)×2+1=109D2022/1

1/2480x86/8088宏汇编语言程序设计1.2.2.4二进制小数转换为十进制小数二进制小数转换为十进制小数有两种方法:(1)按权相加法同整数的按权相加法类同。例如:0.1101B=1×2-1+1×2-2+1×2-4=0.8125D2022/11/2480x86/8088宏汇编语言

程序设计1.2.2.4二进制小数转换为十进制小数(2)逐次除基相加法从最低位开始,除以基数2,再与次低位相加,所得结果再除以2并与相邻的高位相加,如此继续到小数点后最高位除以2为止。例如:0.1101B=(((1/2+0)/2+1)

/2+1)/2=0.8125D2022/11/2480x86/8088宏汇编语言程序设计1.3带符号数的表示在现实生活中我们所使用的数有正数和负数,因此计算机中处理的数常常是带符号的数。在日常生活中我们用+和-表示数值的正负。在计

算机中正数与负数是如何表示的呢?在计算机中通常在数的最高位用1位二进制数位来表示数的符号,0表示正数,1表示负数。2022/11/2480x86/8088宏汇编语言程序设计1.3带符号数的表示在日常生活中用+或-表示的数叫真值。在二进制数的最高位设置符号位,把符号加以数值化,这样的数

叫做机器数。例如-1011的机器数表示为11011。带符号的机器数可以用原码、反码和补码三种不同码制来表示。由于补码表示法在加减运算中的优点,现在大多数计算机都采用补码表示法。IBMPC及其系列机也是采用的补码表示法。2022/11/2

480x86/8088宏汇编语言程序设计1.3.1原码表示法原码是一种比较直观的机器数表示方法。原码用二进制数的最高位表示符号位(0表示正数,1表示负数),数的有效值用二进制数绝对值表示。例如,+1011的原码表示为:01011,-1101的原码表示为1

1101。在原码表示法中数0有两种表示方法。对应8位带符号的二进制数,数0两种表示方法为00000000和10000000,分别对应+0和-0。8位带符号的二进制数的原码表示中能表示的最大数为01111111,最小数为11111111,即-127~

127。对原码表示的机器数进行加减运算时,需要根据指令中的加减和两数的符号,才能确定实际的加或减操作。因此,运算非常不方便。2022/11/2480x86/8088宏汇编语言程序设计1.3.2补码表示法由于原码对加减运算不太方便,因此设想让符号位也作为数的一部分

参与运算,使器运算操作简化,无需进行过多的判断和处理。补码能够满足这个要求。1.3.2.1补码的表示规则:以最高位作为符号位(0表示正数,1表示负数)。正数的补码是其本身。负数的补码是对其正数“各位求反、末位加1”后形成的。2022/11/2480x86/8

088宏汇编语言程序设计1.3.2.2真值、原码与补码的变换由于正数的原码和补码的机器数一样,因此我们只讨论负数的变换。从一个负数的真值变换为补码的方法:把n位二进制数连同符号位一起,按位变反(即0到

1,1到0),然后最低位加1。例如[-46]补码=?[46]补码=00101110按位取反11010001末位加1110100102022/11/2480x86/8088宏汇编语言程序设计1.3.2.2真值、原码与补码的变换如果一个负数已是原码,那么转换为补码表示,

首先保持符号位不变,然后将有效数各位变反,最低位加1即可。例如:[-46]原码=10101110有效数位按位取反11010001末位加1110100102022/11/2480x86/8088宏汇编语言程序设计1.3.2.2真值、原码与补码的变换负数由真值或原码转换为补码时,

有一个简便的方法:自最低位向最高位,遇到第一个1以及以前的各位0均保持不变,以后各高位按位变反。若变换前已是原码,则符号位保持不变。例如:[-46]二进制真值:-00101110[-46]补码=11010010[-46]原码:10101110[-46]补码

:=110100102022/11/2480x86/8088宏汇编语言程序设计1.3.2.2真值、原码与补码的变换在计算机程序中有一个求补运算。把一个已经是补码表示的数,连同符号位一起“各位求反、末位加1

”的操作称作求补。求补运算实际上是一个变号运算或求相反数运算。即[X]补通过求补预算得到[-X]补。例如,[y]补=10011010,则对[y]补进行求补运算各位求反01100101末位加101100110得到[-y]补=011001102

022/11/2480x86/8088宏汇编语言程序设计1.3.2.3补码表示法中数的表示范围在8位二进制补码表示法中,最大的数为01111111,最小的数为10000000。因此8位二进制补码表示范围为:-128~1278位二进制补码表示法中,0只有一种表示方法:00000000,而1

1111111为-1的补码形式。2022/11/2480x86/8088宏汇编语言程序设计1.3.2.4补码的加减运算如果在计算机内,参与运算的数已是补码表示,那么按下面规则进行加减运算:[x+y]补=[x]补+[y]补[x-y]补=[x]补+[

-y]补加法运算:参加加法运算的两个数,连同符号位一起参加运算,并以2n为模便可得到运算的正确结果,且和数一定也是补码表示的。减法运算:先对减数进行一次求补运算,然后进行加法运算,同样可以得到正确的运算结果。2022/11/24

80x86/8088宏汇编语言程序设计1.3.2.4补码的加法运算例X=74D,Y=-41D,求X+Y=?[X]补=01001010[Y]补=11010111[X]补=01001010+[Y]补=11010111100100001高位1自

动舍去(以2n为模)因此,[X]补+[Y]补=00100001=[33]补2022/11/2480x86/8088宏汇编语言程序设计1.3.2.4补码的减法运算例X=74D,Y=-41D,求X-Y=?[X]补=01001010[Y]补=1101011

1[-Y]补=00101001[X]补=01001010+[-Y]补=0010100101110011因此,[X]补-[Y]补=[X]补+[-Y]补=01110011=[115]补2022/11/2480x86/

8088宏汇编语言程序设计1.4字符编码计算机中通常采用的字符编码是ASCII码。ASCII码字符集采用一个字节(最高位用做奇偶校验)表示字符。标准的ASCII码共128个字符,分为可打印ASCII码和非打印ASCII

码。可打印ASCII码:共95个。例如:数字'0'~'9':30H~39H字母'A'~'Z':41H~5AH字母'a'~'z':61H~7AH空格:20H非打印ASCII码:用于控制性代码,共33个。例如回车CR:0DH,换行LF:0AH,

响铃BEL:07H

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?