• 776.00 KB
  • 2022-04-29 14:27:53 发布

最新安徽理工大学计算机汇编教程-序 言课件PPT.ppt

  • 72页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'安徽理工大学计算机汇编教程-序言 在实际应用问题中,常常编写汇编语言子程序,解决如下的问题:(1)进行计算速度或代码长度优化(2)存取系统资源(3)直接访问硬件(4)为不兼容的代码(编程环境)提供接口缺点:可移植性差、可读性差。耘党懂译雌培憋熏杏烃钟疡深绣钉邹领暂贞升鸣倔潦总猖长缨悦坪评籍权安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/20212第1章汇编语言基础知识 2学习汇编语言的目标和要求(1)掌握汇编语言程序设计的基本方法,为其他专业课奠定基础(接口技术、组成原理、单片机等),深入理解计算机如何完成复杂操作和计算以及程序的执行过程。(2)培养自我拓展汇编语言新知识的能力,掌握扎实的软件研制基本功。学习要求:(1)预习+听课+复习+动手时间比:1+1+1+1(2)按时完成上机作业鲤苟猿发渝蘑氟帘询吮柱厦釉尺附世蓟仑歌婉笑蛋契汾雅陌滤赐豺久囱县安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/20213第1章汇编语言基础知识 自然语言是具有特定语音和语法等规范的、用于人类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”甚至“怎么做”,这种工具就是程序设计语言。程序设计语言通常分为三类:机器语言、汇编语言和高级语言。而前两种语言与机器密切相关,统称为低级语言。1.1.1汇编语言基本概念1.1汇编语言概述原驻捉艳栖衅毖疹钟诫硬蛇侧趣蚌刃师粪家庐庶爽杉效胃么洱煎每谆天蛇安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/20217第1章汇编语言基础知识 计算机语言的发展机器语言FORTRANBASICCOBOLPASCALC/C++JAVA...汇编语言高级语言1.1汇编语言概述1.1.1汇编语言基本概念忍甩烈仑奔薪闻纺距吻工乱蓄讣搞顷秃矛樊牢宠腔窒悯毫稳极醋装冠集苛安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/20218第1章汇编语言基础知识 计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。机器语言1.1汇编语言概述1.1.1汇编语言基本概念蹋葡鸳范夯嘉虏瓶娇榜瞻萝饿储屿辐痉气正壮对顶羡挫洒积狄勒气肌毡妓安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/20219第1章汇编语言基础知识 为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。用汇编语言编写的程序称为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。汇编语言1.1汇编语言概述1.1.1汇编语言基本概念衬创溶苛筋伺着言暇例懦叙癣尽漱糊搞智啮伏镍示眩漂抽港瘟怎呛口黄肆安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202110第1章汇编语言基础知识 例如,在8086机器下,分别用汇编语言和机器语言计算10+20的程序代码如下:汇编语言机器语言MOVAL,10B00AADDAL,200414显然,使用汇编语言编写的程序要比机器语言更容易理解,易编写程序。1.1汇编语言概述1.1.1汇编语言基本概念本妄礁纳吵钓醚拌矣昏榔竭吞俘暖榴剑晨彭托挺代讶果欢涟捏馆吱候灿喻安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202111第1章汇编语言基础知识 汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。目前广泛应用的高级语言有多种,如BASIC、FORTRAN、PASCAL、C、C++等等。高级语言1.1汇编语言概述1.1.1汇编语言基本概念沏痘律彬凳沦盼绊麓贼诬贵夕逊胖爽咕苇液宿吐镁泳僵褐锭秒气没们褥秸安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202112第1章汇编语言基础知识 面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。经常与高级语言配合使用,应用十分广泛。1.1汇编语言概述1.1.2汇编语言的特点屠痉万詹墓肚钓姿替蛀累伤皖首匣谗兵圃知酒塞贫砂现虎蓑衙惮缩镊该蓝安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202113第1章汇编语言基础知识 #include"stdafx.h"#include"stdio.h"intmain(intargc,char*argv[]){inta,b,c;a=1;b=2;c=a+b;printf(“c=%dn",c);return0;}编程实现c=a+b,并在屏幕上显示出结果。编译后的目标文件达到3.59KB1.1汇编语言概述C语言实现1.1.2汇编语言的特点贩看绞内恐剿踩阎暴昏浅尺纤咬巧犯评迸献柜末霉搬埠缠迎齿伞典吏剖苞安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202114第1章汇编语言基础知识 汇编语言实现汇编后的目标文件只有208字节datasegmentadb?bdb?cdb?stringdb"c=$"dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssubax,axpushaxmovax,datamovds,axmoves,axmova,1movb,2moval,aaddal,bmovc,alleadx,stringmovah,09int21haddc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart1.1汇编语言概述编程实现c=a+b,并在屏幕上显示出结果。1.1.2汇编语言的特点开渝可纤疑盒填瑟控总钮饿耍功独沪骋吟峡榆瞪哼慨痪部谬吕懒正泵锋家安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202115第1章汇编语言基础知识 建议:●充分注意“汇编”课实践性强的特点,●多读程序,多写程序,多上机调试程序,●熟悉PC机的编程结构,●掌握汇编语言及其程序设计的基本概念、方法和技巧。1.1汇编语言概述1.1.2汇编语言的特点党莱皱姬搪奴舷脑网纂呀孺囱阻恍疗垫某泰玖吧憨屑剖孪晒翁损轻呈托洗安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202116第1章汇编语言基础知识 1.1汇编语言概述1.2进位计数制及其转换1.3计算机中数和字符的表示方法第1章汇编语言基础知识近耗慈韩稚就熬寿廉转蟹般弦敞仙镊湛姓脂袒沏洼腮寓甥孕虎毛衷侵急接安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202117第1章汇编语言基础知识 计算机内部的信息分为两大类:控制信息和数据信息。控制信息是一系列的控制命令,用于指挥计算机如何操作;数据信息是计算机操作的对象,一般又可分为数值数据和非数值数据。对计算机而言,不论是控制命令还是数据,它们都要用“0”和“1”两个基本符号即基2码来编码表示,这是由于以下三个原因:(1)基2码在物理上最容易实现。例如,用高、低两个电位表示“1”和“0”,或用脉冲的有、无表示“1”和“0”等等,可靠性都较高。(2)基2码用来表示二进制数,其编码及加减运算规则简单。(3)基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应,为计算机实现逻辑运算带来了方便。因此,不论是什么信息,在输入计算机内部时,都必须用基2码编码表示,以方便存储、传送和处理。1.2进位计数制及其转换位仆菱甫详甭浩芯沟私秃剿纤就乞敛冻氛谚刨澳炬洋局葫娠炎废肢她界螟安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202118第1章汇编语言基础知识 预备知识存储容量1K=1024=210(Kilo)1M=1024K=220(Mega)1G=1024M=230(Giga)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit1.2进位计数制及其转换金阀腹峦栓宦再撒酬杠官截扳儒吃汉邮馈思君掳佃伙锹拈栽篷隋觅残舒慨安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202119第1章汇编语言基础知识 1.2.1数与数制1.数的表示数制基数数码二进制Binary20,1八进制Octal80,1,2,3,4,5,6,7十进制Decimal100,1,2,3,4,5,6,7,8,9十六进制Hexadecimal160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F二进制:基数为2,逢二进一11012=1×23+1×22+1×20=1310十六进制:基数为16,逢十六进一1001,0001,1000,01119187=9×163+1×162+8×161+7×1601.2进位计数制及其转换校峦汾鸽蓝鼎伦槐锤妇射停瓦末跪藉稀蘸精鄂努导塑击剪科抹莫皇鸵喘圃安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202120第1章汇编语言基础知识 任何进制的数都可用如下方法表示:N=Ki*ri其中:Ki是任一个数码;ri是各位对应的权r是基数ni=-m1.2进位计数制及其转换1.2.1数与数制陨凰桑小晨窝撬姜孔狭螟糕灭昨拒锨曝抗卷换材疾箭念窜狄酱颤肛株宾商安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202121第1章汇编语言基础知识 2.计数制的书写规则为了区别不同的计数制,可采用下列两种方法:(1)在数字后面加写相应的英文字母作为标识,英文字母不分大小写。本书约定采用大写字母形式。如:1100011B。B后缀表示为二进制数(Binary)。2357O。O后缀表示为八进制数(Octal)。由于英文字母O容易和零误会,所以也可以用Q来表示八进制。1000D。D后缀表示为十进制数(Decimal)。3AB5H。H后缀表示为十六进制数(Hexadecimal)。如果记数符号a,b,c,d,e,f打头,头部应加0,如0A8F5H;记数符号a,b,c,d,e,f不区别大小写,与ABCDEF等效。缺省后缀时,一般约定为十进制数。(2)在括号外面加数字下标。如:(1011)2表示二进制数的1011(2DF2)16表示十六进制数的2DF21.2进位计数制及其转换1.2.1数与数制怕铸钵沃恍猾龋啃及湘墓猜徘辫蚁汞宛竖庇韦诱癸怔静诽麦呆趾悔罗饼天安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202122第1章汇编语言基础知识 1.2.2不同数制之间的转换1.十进制数与二进制数之间的转换(1)十进制整数转换成二进制整数方法:除2取余法注意:第一次得到的余数为二进制数的最低位,最后得到的余数为二进制数的最高位。(2)十进制小数转换成二进制小数方法:乘2取整法注意:最后将每次得到的整数部分(必定是0或1)按先后顺序从左到右排列即得到所对应二进制小数。1.2进位计数制及其转换含鹃渴玛胯淫倍林拆婆泵拆幽嗜倡磅焉旗秦需纵昧雹功肤遣揽熙惭誉膝袒安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202123第1章汇编语言基础知识 例:117.8125D=1110101.1101B2117258……1229……0214……127……023……121……10……10.8125×21.625……1×21.25……1×20.5……0×21.0……1(3)一般的十进制数转换成二进制数为了将一个既有整数又有小数部分的十进制数转换成二进制数,可以将其整数部分和小数部分分别进行转换,然后再组合起来。1.2进位计数制及其转换1.2.2不同数制之间的转换嘻蹿售资表缆鱼畜蒂钩念醚枢艇添佐植千咱勒原第涨懊獭冶醒西秘正喻蔚安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202124第1章汇编语言基础知识 (4)二进制数转换十进制数方法:按位权展开后相加。注意:用其各位所对应的系数,按“位权展开求和”的方法就可以得到,其基数为2。例1.4将(101.11)2转换成十进制数。其过程如下:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2=4+0+1+0.5+0.25=(5.75)101.2进位计数制及其转换1.2.2不同数制之间的转换烟库存忠粪慌蓑枪拭俱朱刺肋强巳数诀咸本果笨篆概冠搬揭匹海谨皇盾验安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202125第1章汇编语言基础知识 (1)十进制整数转换成八进制整数方法:除8取余法注意:采用基数8连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。(2)十进制小数转换成八进制小数方法:乘8取整法注意:连续用基数8去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。(3)八进制数转换成十进制数方法:按位权展开后相加。用其各位所对应的系数,按“位权展开求和”的方法就可以得到,其基数为8。1.2进位计数制及其转换2.十进制与八进制之间的转换1.2.2不同数制之间的转换熬拌倡沽雌受妖工咙件钞揽淑氮膘腥贸傣疚聂慢腊扣仿烁安捡蓑俞蠢撰季安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202126第1章汇编语言基础知识 (1)十进制整数转换成十六进制整数方法:除16取余法注意:采用基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。例1.8将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:16︳2347余数为11,即A0=B(十六进制数为B)16︳146余数为2,即A1=216︳9余数为9,即A2=90余数为0,结束最后结果为:(2347)10=(A2A1A0)16=(92B)161.2进位计数制及其转换3.十进制与十六进制之间的转换1.2.2不同数制之间的转换欠钝铱戍辽奴凸栅崎狸羡篡母贬坎岳施飘轮妹迁腕颊帝桅系逃劈狄蹿稽乒安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202127第1章汇编语言基础知识 (2)十进制小数转换成十六进制小数方法:乘16取整法注意:连续用基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。例1.9将十进制小数0.6875转换成十六进制小数。其过程如下:0.6875×1611.0000整数部分为11,即A−1=B0.0000余下的小数部分为0,结束最后结果为:(0.6875)10=(0.A-1)16=(0.B)161.2进位计数制及其转换1.2.2不同数制之间的转换懦罗岁掐互枫臃见雌站泪森曝谤麦糙奈江赐拯藐辙筋初府悯哺茵瓶畅诬徘安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202128第1章汇编语言基础知识 (3)十六进制数转换十进制数方法:按位权展开后相加注意:用其各位所对应的系数,按“位权展开求和”的方法就可以得到,其基数为16。BF3CH=11163+15162+3161+12160=48956D1.2进位计数制及其转换1.2.2不同数制之间的转换自菲颖演满眼吸襄矛叹勘乒尚齐匡蛤挂髓摄哎伙联蓝匙琶禽缘半傍闻圈痕安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202129第1章汇编语言基础知识 因为:23=8,所以每三位二进制数对应一位八进制数;24=16,所以每四位二进制数对应一位十六进制。(1)二进制数转换成八进制数从小数点所在位置分别向左向右每三位一组进行划分。若小数点左侧的位数不是3的整数倍,在数的最左侧补零;若小数点右侧的位数不是3的整数倍,在数的最右侧补零。然后参照表1.2,将每三位二进制数转换成对应的一位八进制数,即为二进制数对应的八进制数。例1.11将(11010.11)2转换为八进制数。其过程如下:011010.11032.6所以(11110.11)2=(32.6)81.2进位计数制及其转换1.2.2不同数制之间的转换4.二进制与八进制、十六进制数之间的转换嘻慷护畴催罢吞亚例骸拐郑捏外折练旗剿羊幌红欧杆闭陈鬃泄砍傲糖黄蚁安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202130第1章汇编语言基础知识 (2)八进制数转换成二进制数方法:参照表1.2,将每一位八进制数转换成对应的三位二进制数,即为八进制数对应的二进制数。例1.12将(34.6)8转换为二进制数。其过程如下:34.6011100.110所以(34.6)8=(11100.11)21.2进位计数制及其转换1.2.2不同数制之间的转换戈佐磁朴惕褪般薛驯茸娠辆廉列厄敷栅叭芦菱鲜预涅督妮乾虾遗洁狞枝撅安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202131第1章汇编语言基础知识 001101011011111135BF∴0011,0101,1011,1111B=35BFHA19C1010000110011100∴A19CH=1010,0001,1001,1100B(4)十六进制数转换成二进制数方法:将每一位十六进制数转换成对应的四位二进制数,即为十六进制数对应的二进制数。(3)二进制数转换成十六进制数从小数点所在位置分别向左向右每四位一组进行划分。若小数点左侧的位数不是4的整数倍,在数的最左侧补零;若小数点右侧的位数不是4的整数倍,在数的最右侧补零1.2进位计数制及其转换1.2.2不同数制之间的转换乞摸饲清亡铣云衔汁紫花赤奋察翘玩敞逻虏泉瘪矿眠满婴邦仇盼享笑诫岛安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202132第1章汇编语言基础知识 (5)十六进制和二进制的相互转换举例方法:对于二进制整数,只要从右到左每4位组成一组,不足4位最左边补0,即可得到相应的十六进制。对于二进制小数,只要从左到右每4位组成一组,不足4位最右边补0,即可得到相应的十六进制。01111101.010111007D5C∴(1111101.0101111)2=(7D.5C)16如果将十六进制转成二进制数,只要每一位十六进制数用四位二进制数表示即可。补0补01.2进位计数制及其转换1.2.2不同数制之间的转换顶答原标捏率顺沸冬哉瞒识琵榆菊胃太淌欺辩暗怀开县山哟幼懈眶鉴号利安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202133第1章汇编语言基础知识 1.1汇编语言概述1.2进位计数制及其转换1.3计算机中数和字符的表示方法第1章汇编语言基础知识帐拟墨删菱努哪绸扫另拧腮砚惹怒峙境瘫来囊截操侣茸洛崭脱傍沿杨亩尉安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202134第1章汇编语言基础知识 1.3计算机中数和字符的表示方法计算机中数值型数据是用二进制数来表示的,而非数值型数据包括英文字母、标点符号、专用符号、汉字等,也是用二进制数来编码的。吹特面钟潮品忍焉芳唉收凯惶厕缉泌欣嘲砍呆铰粹弊慎斌望柯颊沿唬私浮安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202135第1章汇编语言基础知识 计算机中正负数的表示76543210符号位数值位假设机器字长为16位:符号位=0正数数值位=1负数1514131211109876543210假设机器字长为8位:H.O.ByteL.O.Byte1.   二进制数的编码及运算1.3.1数值型数据的编码1.3计算机中数和字符的表示方法所良酷炳帆叹拎淬循仁疽顾币检渊弗但癌道琶焰虾绳窗秘氛碎莎听厚靖倡安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202136第1章汇编语言基础知识 数的常用表示法——原码反码补码原码表示法:符号+绝对值例:n=8bit[+3]原码=0000,0011=03H[-3]原码=1000,0011=83H[+0]原码=0000,0000=00H[-0]原码=1000,0000=80H0的表示不惟一反码表示法:正数的反码同原码,负数的反码数值位与此负数原码数值位相反例:n=8bit[+5]反码=0000,0101=05H[-5]反码=1111,1010=FAH[+0]反码=0000,0000=00H[-0]反码=1111,1111=FFH0的表示不惟一1.3计算机中数和字符的表示方法1.3.1数值型数据的编码赃房省葡歉熔旺啸蜡季虞韭买刊翅白蛇军嘘耐扳稚盯犁反链贞购豁译扇丽安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202137第1章汇编语言基础知识 例:机器字长8位,[-46]补码=?[46]补码=001011101101000111010010=D2H机器字长16位,[-46]补码=FFD2H[+0]补码=000000001111111100000000=[-0]补码0的表示惟一按位求反末位加一按位求反末位加一补码(Two’sComplement)表示法:正数的补码:同原码负数的补码:(1)写出与该负数相对应的正数的补码(2)按位求反(3)末位加一1.3计算机中数和字符的表示方法1.3.1数值型数据的编码攻专蕊观署徊锁杆萝最轨神俩塔珍奄沪帆笨读组譬盲敲绕浸劣仕凯裳刀锁安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202138第1章汇编语言基础知识 十进制二进制十六进制十进制十六进制n=8n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二进制补码的表数范围:-2n-1≤N≤2n-1-1无符号整数的表数范围:0≤N≤2n-11.3计算机中数和字符的表示方法1.3.1数值型数据的编码扳攒酮镰蜜由拐酒木恳筐剁挎条瘦风篡畴爹刃殖捻煞凤胃帮寻漂虐埂恳嘛安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202139第1章汇编语言基础知识 补码的加法和减法:求补运算:对一个二进制数按位求反、末位加一求补求补[X]补码[-X]补码[X]补码加法规则:[X+Y]补码=[X]补码+[Y]补码减法规则:[X-Y]补码=[X]补码+[-Y]补码补码减法可转换为补码加法64(-46)18+010000001101001000010010+例:1.3计算机中数和字符的表示方法1.3.1数值型数据的编码廉架伦赫梭撇搅疮朋瞪擅喳缠蝴疼此歪肯罩颈质蝶让谐博卵郡乏沽朴浇咬安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202140第1章汇编语言基础知识 进位和溢出进位:由于运算结果超出了位数,最高有效位向前的进位,这一位自然丢失,一般不表示结果的对错。溢出:表示结果超出了字长允许表示的范围,一般会造成结果出错。例:(-64)1100000012701111111+6401000000+100000001010000000012810000000进位溢出1.3计算机中数和字符的表示方法1.3.1数值型数据的编码为螺众裹狞鲁郭俱处咱囤斥每棺邦堰千感员顾椅扒恰呀醉凉婪援辫盾据纵安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202141第1章汇编语言基础知识 符号位数值位2.无符号整数的编码在某些情况下,计算机要处理的数据全是正数,此时机器数再保留符号位就没有意义了。这时,我们将机器数最高有效位也作为数值位处理,也就是说,假设机器字长为n位,则有符号整数的编码格式如图1.1所示。1位n-1位图1.1有符号整数编码格式1.3计算机中数和字符的表示方法1.3.1数值型数据的编码搓劝宛哮阉吾冗次鸣钱孔毫鼎茂百炒目浑窟钱残龙玫怕舌等诧挥暮总据远安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202142第1章汇编语言基础知识 无符号整数的编码格式如图1.2所示。n位图1.2无符号整数编码格式无符号整数的表示范围为:0≤N≤2n–1。例如,当n=8位时,表示范围为:0≤N≤255;当n=16位时,表示范围为:0≤N≤65535。在计算机中最常见的无符号整数是地址。另外,双字长数据的低位字也是无符号整数。要注意的是,计算机本身不论是对有符号数还是无符号数,总是按照补码的运算规则做运算。数值位1.3计算机中数和字符的表示方法1.3.1数值型数据的编码驹坊烤搭臼蝉稻淫墨牧锣颠辩韩述稳谴区惫捉凭臂闻看昆豆嫡吾姥管炳短安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202143第1章汇编语言基础知识 人们在日常生活中习惯使用十进制数,而在计算机内,采用二进制数表示和处理数据更方便。因此,在往计算机里输入和输出数据时,要进行十→二和二→十的进制转换。但是,在某些特定的应用领域中,如商业统计,数据的运算很简单,但数据的输入、输出量很大,这样,数制转换所占的时间比例很大。从提高计算机的运行效率考虑,可以在计算机内部直接用十进制数表示和处理数据。以下介绍在计算机内部十进制数的编码方法及运算方法。1.3计算机中数和字符的表示方法1.3.1数值型数据的编码3.十进制数的编码瘦践网愿挡萎裳暂晶粟窝唬刘囊傲蛔敦脂呈峦吊代羡掺蓉狐辉摊净念琅闺安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202144第1章汇编语言基础知识 BCD码BCD(Binary-CodedDecimal)码又称为“二—十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。1.3.1数值型数据的编码1.3计算机中数和字符的表示方法圆驻脐器鹊埋苛鬼眼陨辰毁禹雾蛰茶士辟散筋绷晶柴微扁诅蚂藤优舵辩做安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202145第1章汇编语言基础知识 BCD码有两种格式:(1)压缩BCD码格式(PackedBCDFormat)用4个二进制位表示一个十进制位,就是用0000B-1001B来表示十进制数0-9。例如:十进制数4256的压缩BCD码表示为:0100001001010110B(2)非压缩BCD码格式(UnpackedBCDFormat)用8个二进制位表示一个十进制位,其中,高四位无意义,我们一般用xxxx表示,低四位和压缩BCD码相同。例如:十进制数4256的非压缩BCD码表示为:xxxx0100xxxx0010xxxx0101xxxx0110B1.3计算机中数和字符的表示方法1.3.1数值型数据的编码朵法卉凤华垮盏泞茬畏屎或仁潭奄匣厩月肃糖漠哪例枢耶嘶租霍辆埋怔邹安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202146第1章汇编语言基础知识 1.3计算机中数和字符的表示方法1.3.2非数值型数据的编码现代计算机不仅处理数值数据,而且还要处理大量的非数值数据,像英文字母、标点符号、专用符号、汉字等等。前面已说过,不论什么数据,都必须用基2码编码后才能存储、传送及处理,非数值数据也不例外。下面我们分别介绍常见的非数值数据的二进制编码方法。极疽急脚泵萄析论希俱匝架储月格轮额步犬踞霞观瓣笛绎初腔侮绣兰糊钒安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202147第1章汇编语言基础知识 字符的表示ASCII码:用一个字节来表示一个字符,低7位为字符的ASCII值,最高位一般用作校验位。例:‘A’41H‘a’61H‘1’31H换行0AH回车0DH空格20H1.3计算机中数和字符的表示方法使用最多、最普遍的是ASCII字符编码,即美国标准信息交换代码(AmericanStandardCodeforInformationInterchance),具体见表1.5。1.   字符编码1.3.2非数值型数据的编码盈均询败梳攒横壤悠哪现最不悯艇另川婉啦蒜咽刽楷墨川礼渺靠肺诱湿再安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202148第1章汇编语言基础知识 1.3计算机中数和字符的表示方法ASCII码表有以下几个特点:(1)每个字符用7位基2码表示,其排列次序为B6B5B4B3B2B1B0。实际上,在计算机内部,每个字符是用8位(即一个字节)表示的。一般情况下,将最高位置为“0”,即B7为“0”。需要奇偶校验时,最高位用做校验位。(2) ASCII码共编码了128个字符,它们分别是:Ø  32个控制字符,主要用于通信中的通信控制或对计算机设备的功能控制,编码值为0~31(十进制)。Ø    间隔字符(也称空格字符)SP,编码值为20H。Ø     删除控制码DEL,编码值为7FH。Ø    94个可印刷字符(或称有形字符)。这94个可印刷字符编码有如下规律字符0~9这10个数字符的高3位编码都为011,低4位为0000~1001,屏蔽掉高3位的值,低4位正好是数据0~9的二进制形式。这样编码的好处是既满足正常的数值排序关系,又有利于ASCII码与二进制码之间的转换。英文字母的编码值满足A~Z或a~z正常的字母排序关系。另外,大小写英文字母编码仅是B5位值不相同,B5为1是小写字母,这样编码有利于大小写字母之间的编码转换。1.3.2非数值型数据的编码憨懦骤糟天帕僵螟闻限手浇饲锁滑卞跑杉强堵垛颠氦专柞虾挤这蔚脑滁蕾安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202149第1章汇编语言基础知识 计算机在处理汉字时,汉字字符也必须用基2码编码表示,一般汉字编码采用两个字节即16位二进制数。但由于汉字的特殊性,在汉字的输入、存储、输出过程中所使用的汉字编码是不一样的,输入时有输入编码,存储时有汉字机内码,输出时有汉字字形码。(1)汉字输入编码为了能把汉字这种象形文字通过西文标准键盘输入到计算机内,就必须对汉字用键盘已有的字符设计编码,这种编码称为汉字的输入编码,又称为汉字外部码,简称外码。使用较多的有以下4类:①顺序码:如区位码、电报码等。②音码:如拼音码、自然码等。③形码:如五笔字型、大众码等。④音形码:如双拼码、五十字元等。1.3计算机中数和字符的表示方法2.汉字的编码1.3.2非数值型数据的编码雾锈麓剿甘铭吝鞭蕾樟介兰锁拍汹徊灰运辜汝壤斌牺憨娥低抱湖垦耙竖哨安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202150第1章汇编语言基础知识 (2)汉字机内码汉字机内码也称汉字内部码,简称内码。它是机器存储和处理汉字时采用的统一编码。每个汉字的机内码是惟一的,用两个字节表示。为了避免与西文字符的ASCII码之间产生二义性,汉字机内码中两个字节的最高位均规定为“1”。(3)汉字字形码汉字字形码也叫汉字字模点阵码,是汉字输出时的字形点阵代码,是一串基2码编码。1.3计算机中数和字符的表示方法1.3.2非数值型数据的编码督述呜拉桩威逃赔耸更渺兜乎蹭哗崔躺趟祭甲俐皿胶获志讯无德邓蜀陪氧安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202151第1章汇编语言基础知识 逻辑数据是用来表示“是”与“否”,或称“真”与“假”两个状态的数据。在计算机中,用“1”表示“真”或“是”,用“0”表示“假”或“否”。需要注意的是,这里的1和0没有数值和大小概念,只有逻辑意义。对逻辑数据只能进行逻辑运算,例如逻辑非、逻辑加、逻辑乘等基本逻辑运算和由基本逻辑运算构成的各种组合逻辑运算,运算结果仍是逻辑数据。下面介绍一下基本逻辑运算的运算规则。1.3计算机中数和字符的表示方法3.逻辑数据的编码1.3.2非数值型数据的编码抱换歇苛篡盼蓟育瘸吸刽豫悸简颂蹭顿押座彬招船摧豺七估煮拾斗咨闲蔬安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202152第1章汇编语言基础知识 逻辑运算(按位操作)“与”运算(AND)“或”运算(OR)ABABABAB000000010011100101111111“非”运算(NOT)“异或”运算(XOR)AAABAB01000100111011101.3计算机中数和字符的表示方法1.3.2非数值型数据的编码祁姐临佰遏辨详辙忌虎镐位锗存柏橙咽苹祭咙授阀痒磕伎德杠琉拨伍霉戎安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202153第1章汇编语言基础知识 例:X=00FFHY=5555H,求Z=XY=?X=0000000011111111BY=0101010101010101BZ=0101010110101010BZ=55AAH1.3计算机中数和字符的表示方法1.3.2非数值型数据的编码雄永皋近翱沮赔粒绘玲龄复般腹妻闷鬃捍哎掇装襟活悸如面续穿泪窖哩缆安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202154第1章汇编语言基础知识 第1章作业1.2(1)、(3)1.3(1)、(3)1.5(1)、(3)、(5)1.6(1)、(3)1.8(1)、(3)漾萨练追请斯纠毡礼薯锋千冒欣梯铬晓笨该悦味叮柜抬委粗霖订居梁赁批安徽理工大学计算机汇编教程-序言安徽理工大学计算机汇编教程-序言8/17/202155第1章汇编语言基础知识 “论证思路”的诠释议论文的论证思路就是指作者在论述某个观点时的思维过程。这个过程讲究观点确切,讲究层次明晰,讲究论证方法运用,讲究论证材料的组合。论证思路考查综合能力,对考生的理解能力、辨析能力、概括能力等都提出有较高的要求。学习目标:学会具体分析议论文某个文段或者整篇文章的论证思路《2013年盐城市语文中考说明》中的相关考点:“能把握议论的基本结构,理清作者的论证思路” 了解议论文的结构与论证思路的关系,熟悉一般答题格式:结构: 引论——本论——结论论证思路:提出问题——分析问题——解决问题 议论文分析“论证思路”的解题逻辑过程:1、辨识议论文的结构方式;2、给议论文划分段落层次;3、归纳段落与部分的论述要点;4、解说议论文的行文思路:如何提出问题,如何分析问题;如何得出结论,解决问题。 1、抓住点示结构思路的语言标志。考生要学会抓住关键词句(语言标志)和段落准确提取和归纳答题信息。议论文的文体特征鲜明,语言表达规范,因而在表达上呈现一定的规律。如设问句表开启下文,展开深层论述;“无独有偶”表顺承;“再说”表推进;“诚然”表转入相反方面论证;“总之”表分总归纳;“同样”表类比推理等。2、理解议论文的一般结构与思路。“提出问题(提出论点或论题)——分析问题(证明论点)——解决问题(得出结论或强化论点)”这是议论文的一般结构。考生需要注意的是,论点或论题是以什么方式提出来的;作者是如何围绕论点从哪几个方面进行论证的;文章的结构方式是总分式(分总,总分总),层进式,还是并列对照式等。方法点津: 常见题型作者是如何证明论点的?作者的论证思路是怎样的?文章(段)的论证过程是怎样的?请简要写出全文的论证思路。明确:虽是难点,但却有章可依。 如何分析议论文的论证思路呢?【课前准备】三、练笔热身:用自己的话写出《生于忧患,死于安乐》的论证思路。 ①舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。‖②人恒过,然后能改;困于心,衡于虑,而后作;征于色,发于声,而后喻。‖③入则无法家拂士,出则无敌国外患者,国恒亡。‖④然后知生于忧患,而死于安乐也。 参考答案首先,作者列举了历史上六位在逆境中成才的圣贤,指出一个人要肩负大任必然要经受种种磨难;接着,运用对比论证,先从正面举了三个现象论述,即使作为一般人,也需要在困难中经受磨练,方能奋发进取的道理;然后,作者又从个人成长谈到国家治理,从反面论述如果没有坚守法度的大臣、敌国外患,国家往往就会灭亡;最后,得出结论:生于忧患,死于安乐。 方法小结第一:通读语段,勾画关键词,分层。第二:按顺序分析每一层,可从论证方法入手,并指出论证了什么。第三:对于表态、看法,观点、结论等之类的文字,在分析时可直接引用或提炼。常见的答题思路:首先作者提出……观点;然后……;接着……;最后……(得出……的结论)。 四个明确1.明确看法表态或观点结论2.明确段落或层次3.明确选择了哪些材料4.明确运用了什么论证方法 首先, ①直接提出……的论点(或引出……的论题); ②通过写……的事例(或趣事、典故、传说、寓言等)(或引用名言),提出……的论点(或引出……的论题);具体答题格式: 接着, ①用……的事例(典故、传说、寓言等或引用名言)从正面(或反面)论证论点。 ②从……几方面论证论点。(当有分论点时可用此格式)…… 最后,①得出……的结论 ②总结全文…… ③归纳论点:…… ④发出号召、提出希望等 把握论证思路需要注意:1.明确文章的中心论点和分论点。2.结合文章具体内容,分析文章先说了什么,后说了什么。3.明确论证中使用了论证方法。4.明确论证的角度,即是正面论证还是反面论证。分析论证思路,就是在段落层次的基础上加上如“首先”、“然后”、“接着”、“最后”一类表承转的词语。 。论点在开头:格式:首先提出什么观点,接着用……事例或名言(从正反两方面)进行论证,最后得出……的结论。论点在结尾:格式:首先举了(引了)……例子(名言)(从正反两方面),然后得出什么结论(或证明了……的观点)。 在我们人生的道路上,有希望之光的照耀,也会遇到藏在海底的暗礁。触礁并不可怕,关键在于我们要学会拒绝失望的心理。诗仙李白官场失意后并没有心灰意冷、怨天尤人,而是积极地调整情绪。一句“安能摧眉折腰事权贵,使我不得开心颜”潇洒地让自己脱离了许多仕途失意者无法脱离的苦海。然而,世上许许多多诱惑人心的东西,都有着华丽的外衣,也有许许多多的人走向了诱惑,坠入了深渊。这是因为他们不会拒绝。清代大贪官和坤便是一例。和砷一生贪赃枉法,家中累积的财富不可胜数。正因为他对钱财来者不拒,换未了他人生的悲哀——嘉庆赐死,家产查抄,他一生费尽心机,换来的不过是一卷破席,更多的则是后世的唾弃。他不是愚昧之人,却做了让自己身败名裂的愚昧之事。在钱财的诱惑面前,他没有学会拒绝。在这个物质文明高速发展的时代里,学会拒绝是我们每个人必备的良药。学会拒绝不义之财,学会拒绝非法利益,学会拒绝贪图享乐,学会拒绝嗟来之食……让我们用拒绝换来良知,换来无私,换来正直,换来尊严,换来我们每一个人的无愧之心!学会拒绝吧!让我们给自己的航程点亮明灯,带上我们快乐的心情,还有明天的希望,顺利远航。(节选自《学会拒绝》) 1、正面论证要学会拒绝,从反面论证不会拒绝会坠入深渊,总结全文,强化观点。2、承上启下,由正面论证转入反面论证。3、分总式。4、正反对比论证、事实论证、道理论证。1、这段文字思路清晰,请用简洁的文字概括其思路:2、文章第二段文字在全文中的作用是:3、节选部分的结构方式是:4、这篇文章主要的论证方法有:'