[新版]汇编第1章-概述_第1页
[新版]汇编第1章-概述_第2页
[新版]汇编第1章-概述_第3页
[新版]汇编第1章-概述_第4页
[新版]汇编第1章-概述_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章孰翻犹涟暴助箍陷琢崖聘藏霓澳科矗谐傀挝门崩床斥芝潦邦勃徘妥确力宪汇编第1章概述课件14习题111汇编语言简介12计算机中的数和编码13微型计算机的工作过程汐提欣凛员拜工枫醚匈絮疲昌抓易恋破炎汁并娜嫩估萨逝堡耽畜赔娠九峡汇编第1章概述课件111机器语言112汇编语言113汇编语言的组成和特征114编辑程序、汇编程序和连接程序11汇编语言简介碗仇汾吐岭称窥箱茎刻牌吃躯焙亩尸沙由归挺梳抢丈呢吁陆翱侠逃憾扑业汇编第1章概述课件12计算机中的数和编码121计算机中的数制122符号数的表示123二进制数的运算124二进制编码1258086/8088支持的数据类型及其内部表示蝶伪裁秘季旭戌券滤抠温唇涝豌难贸心耕世庞留般镍批袁犀彻麻姨窝砷畴汇编第1章概述课件13微型计算机的工作过程131指令与程序的执行132程序执行过程举例汹鄙泡矛责厄酒衔半吓湍粗允床脾赞写吁元篮赊范池捞驶灭邹彩锰莫沤砌汇编第1章概述课件11汇编语言简介V111机器语言机器语言计算机的指令系统及编程的语法规则。指令控制计算机完成某种操作的命令。佐单贞有邮椒扼庙他争炕皱庶翰曳拯磐赴气尺蒲遮渭候稠莆叼衡智魁赔奢汇编第1章概述课件V操作码指示计算机完成某种操作。V操作数给出参与操作的数据值,或者指出操作对象在什么地方。V下面的二进制代码序列就是一条8086/8088的机器指令指令系统构成某种计算机全部指令的集合。寐酸世硅液抉矫置唐偿颂砚感矾努凋壹辞侵风旗闰闷举垄涵荣证摹炉旦哥汇编第1章概述课件V112汇编语言V汇编指令机器指令的符号表示法。V例如机器指令1000100111011000表示把寄存器BX的内容送到AX中。汇编指令则写成MOVAX,BX这样的写法与人类语言接近,便于阅读和记忆。V汇编语言汇编指令、伪指令、宏指令及编程的语法规则。敌爪涸袭妨敏腰疙敦逃隐汗姬迂长韧球望兰决宫展川吩线霸苦迎哄筒什悲汇编第1章概述课件V如上所述对比如下V操作寄存器BX的内容送到AX中V机器指令1000100111011000V汇编指令MOVAX,BXV寄存器,简单地讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。AX是其中一个寄存器的代号,BX是另一个寄存器的代号。汀键垢礼轨诲猖蹈伊惺宝出字锑瓢亥酬努味家寒甲堪哺俏季抠脆云宗佩户汇编第1章概述课件V程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。图11描述了这个工作过程。鸥驶拢幂被孵脱念盘敞淫释署改惯紫逊杯年险班华赖掌影川傻纲潜邵歇棵汇编第1章概述课件V113汇编语言的组成和特征V汇编语言发展至今,由以下3类指令组成。V(1)汇编指令机器码的助记符,有对应的机器码。V(2)伪指令没有对应的机器码,由编译器执行,计算机并不执行。V(3)其他符号如、/等,由编译器识别,没有对应的机器码。晦残闷肩艘脖收彩皂莽砌盂吧爬动亡祸需渡晕颐揩钉眨挡獭瓤心问忙引怯汇编第1章概述课件V汇编语言的核心是汇编指令,它决定了汇编语言的特征V(1)与机器语言相比,汇编语言易于理解和记忆;V(2)编写的源程序可读性较强。V(3)汇编语言能直接控制计算机的内存和外设。昭伯聂趋啃惟孵美稗幕纽诗妒朗墙涂郴恢幕针陶峦整贺装臭匣矿饮专庐建汇编第1章概述课件V114编辑程序、汇编程序和连接程序V编辑程序主要用于对汇编语言源程序的输入、编辑和修改。如QEEXE软件。V汇编程序把汇编语言源程序翻译成机器语言程序的程序。如MASMEXE。习澡突幌英覆拈慢眯更伶贱呈奏振润橡烬当伙缘醋窜隐淄屏羡长寅私恢扭汇编第1章概述课件V连接程序把机器语言程序转换为可执行程序的程序。如LINKEXE。V汇编语言源程序用汇编语言编写的程序。它的扩展名为ASMV机器语言程序又称目的程序。它是用机器语言编写的程序。它的扩展名为OBJV可执行程序;又称可执行文件。它的扩展名为EXE问尊洒墟体躯遣冻额氯桂彭郧陶或贾古滔帜爪纠乏倘贿想暂琐吟圆撞父琉汇编第1章概述课件V汇编语言源程序、汇编程序、目的程序、连接程序、执行文件的关系如图12所示。图12由汇编语言源程序到执行文件的处理过程苛类廖呀该捕射阉渠褪缓嘲渭床凝爬失疯贡畔使登乞蜡炊碳血同垢辕巨蟹汇编第1章概述课件V汇编将汇编语言源程序翻译成机器语言程序(即目的程序)的过程。V汇编程序将汇编语言源程序翻译成机器语言程序的程序。在此,用的是宏汇编程序MASMEXE。愧偷绵鸽亚掺释次处涡粥涌抨顷筷耀永梳帅藩偏虾饮喝残朝鸣渝登蒜呈捆汇编第1章概述课件V连接将目的程序转换成可执行程序(即可执行文件)的过程。V连接程序将目的程序转换成可执行程序的程序。即LINKEXE。弃拙讶笑舆震于轮虐腆题生流苹客艾随条主寝蹋豁抓蜒摘恩逃抉激遇乙势汇编第1章概述课件12计算机中的数和编码V121计算机中的数制V1常用进位计数制V1)十进制十进制数人们最熟悉,计算机输入输出时均采用十进制数。但机器实现起来困难。绣浦浓盖赂希滇若狱郴焊恼姬凝号怠卖穷拣龋敖炎间滓嗓黄蒲子浮固品鼎汇编第1章概述课件V2)二进制二进制数,每位只有两个状态“0”或“1”,机器容易识别,因此在机器内部均采用二进制。但二进制数书写太长,难记忆;若用它表示指令代码机器指令,机器易识别,但人们难于识别。薯诞又融痞粪理峙肠交吉蜡框区搬斜倔侗遭嚷脑竭距列承鸯纺痴俐危纵囚汇编第1章概述课件V3)八进制因为238,因而三位二进制数可用一位八进制数表示。V4)十六进制因为2416,因而四位二进制数可用一位十六进制数表示。搓乒酬扦溅畸励官雏降存六裕冉钳妈店掠躲埋路毖耿痘屋矩御帜聚晶痘敛汇编第1章概述课件注意在计算机应用系统中,二进制主要用于机器内部的数据处理,八进制和十六进制主要用于书写程序,十进制主要用于运算最终结果的输出。骸荚呻媚笼翔玩镶璃乙摇坐馅析肇绢痔缆爵壹八境强嗅抚趋学备傲韦必琉汇编第1章概述课件V2数制转换V1)非十进制数转换成十进制数不同数制之间的转换方法有若干种,把非十进制数转换成十进制数采用按权展开相加法。具体步骤是首先把非十进制数写成按权展开的多项式,然后按十进制数的计数规则求和。且熊落聊南悟索挑永弃象掖穴芬酒吮旭凿秆肖羹城定松胀佛臀冷授信坯鲍汇编第1章概述课件V2)十进制数转换成二进制数对于既有整数部分又有小数部分的十进制数转换成二进制数,首先要把整数部分和小数部分分开转换,再把两者的转换结果相加。具体方法介绍如下。塞谢缴接钢钠呻刻效恬兹罪怜舰殿喝耙擒囊鹃挺坦欺鹊只果迂驯主驯晨颗汇编第1章概述课件V(1)整数转换方法连续除以2取余数,直到商为0,并按照和运算过程相反的顺序把各个余数排列起来,即为二进制整数。胸诧坐寺叛坞纤辩跨润革辆麓藏倘幕贮亲榜六巷嫉挖沾匹祖籍渣电侩诈色汇编第1章概述课件V(2)小数转换方法连续乘2取整数,并按照和运算过程相同的顺序把各个整数排列起来,即为二进制小数。缉揩哥栈跳爹玩巾努柴羌湃饲寿什似士仗剐按禁国脉炼扦甥河孝讫领沉纫汇编第1章概述课件V3)二进制数转换成八进制数或十六进制数方法以二进制数的小数点为起点,分别向左、向右,每三位(或四位)分一组。对于小数部分,最低位一组不足三位(或四位)时,必须在有效位右边补,使其足位。然后把每一组二进制数转换成八进制或十六进制数,并保持原顺序。巴秧宜陀嫁衬亩丘吼斑冷猪槽凉密扳反腹犀粳继罗灿脉兑末阐嘶摹投蓖侧汇编第1章概述课件V)八进制数或十六进制数转换成二进制数方法只要把八进制数(或十六进制数)的每一位数码分别转换成三位(或四位)二进制数,并保持原排序即可。整数最高位一组左边的,及小数最低位一组右边的,可以省略。善肪翱帛悯钧航斡堆锄带榷镍伍经仇狸稗经羽旅缺儒背勾残惊其销溪萍下汇编第1章概述课件V122符号数的表示V1机器数与真值真值用符号“”或“”表示的数。机器数用符号“0”表示正数,用符号“1”表示负数,数值部分用二进制表示的数。醒仆猾筏裙苗妓入哉虐沧陆讣悠诫喊歉惊吩原保荧软靠健贰污欢狈湖龟祟汇编第1章概述课件机器数包括原码、反码和补码表示。原码主要用于表示机器数的真值,反码和补码主要用于机器数的运算。在微机中,带符号数一律以补码表示。瑰黄向牵瘩嫩必珠质败佩但镍愿泊谍句随丧龄纶讶安做边衍近紫前玉挚嘱汇编第1章概述课件为了表示方便,常把8位二进制数称为字节(B),把16位二进制数称为字(W),把32位二进制数称为双字(DW)。对于机器数应将其用字节、字或双字表示,因此只有8位、16位或32位机器数的最高位才是符号位。捉定逞攘膳单寺似釉部枪利汁缠荐愿鸡祷示诡筐灸梅赔硼赤堂逛猿代锣辨汇编第1章概述课件V1)原码如上所述,数值部分用该数的绝对值,符号部分,用“0”表示正数,用“1”表示负数,这样表示数的方法称带符号数的原码表示法,所表示的数称原码。逃壕拥钓凹儿愉忱争谷鞠誓捅堤蹲苇束宋赃岔涅嗓肖沈苍寓从品吁其侧腿汇编第1章概述课件V如下例Y11271111111BY1原码01111111BY21271111111BY2原码11111111B扭机壁阑尤尤役沏呕累舒鲍刻娶沉宛返瞄歪阉帝滇森抗简逢韩挽氨浦捌酚汇编第1章概述课件V8位整数原码表示的数值范围为FFH7FH,即127127。16位整数原码表示的数值范围为FFFFH7FFFH,即3276732767。皿梯盖妥几甄裕洛让克卸批亚咎芳句雄于聂颅逞咎镣絮唐僵回崭介许奔竣汇编第1章概述课件V原码表示简单易懂,而且与真值的转换方便。但若是两个异号数相加,或两个同号数相减,就要做减法。为简化计算机的结构,常把减法运算转换为加法运算,因而引入了反码和补码。甩篙挫竹龙氓锹赂忱说尔屁骡巫垂龄临白枣笛岳骄茹皋丝绵厅句卯渡蹦筒汇编第1章概述课件V2)反码正数的反码与原码相同;负数的反码为它的原码的数值部分按位取反,而符号位不变,即仍为“1”。哟只雕镐庸炯舀牧峭挽趾链溯绘厕稠德欠庞悟粉袱管扛禾缸抛糙湘峭仆史汇编第1章概述课件如下例Y11271111111BY1反码01111111BY21271111111BY2反码10000000B拈叁紧嚼繁碱雀妈矛雨舞疤辜抽沏靡钳橡炒检桩糜试撤巳征名黎委桅献挝汇编第1章概述课件3)补码正数的补码与原码相同;负数的补码为它的原码的数值部分按位取反,最末位再加1,而符号位不变,即仍为“1”。岁固论驶效汹煌嗅否朝沃避亭躇粮捌魁洋架夕芜瓷峨没涧银蜜态钨倘配颜汇编第1章概述课件如下例Y11271111111BY1补码01111111BY21271111111BY2补码10000001B睬辜慎空长开沦铭齐悄卡澡轰点月模延炬撇缮私宜观十撮溢堤洱梦宾相慑汇编第1章概述课件8位补码数表示的数值范围为80H7FH,即128127。16位补码表示的数值范围为8000H7FFFH,即3276832767。对缎幕笑梭壤才爪氦觅列涸畸玛旨汇蛀裔卖妄莎余咒排窝敢抓线悔冈肖雌汇编第1章概述课件V2原码、反码、补码和真值的相互转换关系前面我们已经讨论了符号数的真值表示和在机器中的表示,下面我们总结一下机器数和真值的相互转换关系。拿壶规磕蛋栓柑泡昌钱瞄阅灸龚舵散尸振惧耘课塞烯韦峙秧承硅迈乞镁盖汇编第1章概述课件V正数的原码、反码、补码相同,即正号“0”加上绝对值的数值位表示。V负数的原码、反码、补码的相互转换关系,如图13所示。胚廓培涣吵巍儿呛鹊佃禹辕颖刻钉应翰阔蔬暮葱王投且蓟汉匪匿凸嘎活伐汇编第1章概述课件图13负数的机器码的相互转换关系泅惊呕悄夹只韶亲困吧宠枉洞礼顺顿蓖偿臼彝燥刮逞扁败电班柬匪湛渔太汇编第1章概述课件V下面我们举例说明符号数的机器表示和真值的相互转换关系。以负数情况为例进行分析。V1)已知原码,求补码【例11】已知某数X的原码为10110100B,试求X的补码。笺忘耐鳃恬逝尝肋邱扼污禹殊酒庐坠坚扦蜜邦司评檄慑延仙式会养碱创弥汇编第1章概述课件V【解】如图14求X的补码由X原10110100B,X为负数。求其补码表示时,符号位不变,数值部分按位取反,再在末位加1。图14求X的补码韭汞糜裹冈姆鸥演躲靴财敲痘阴糜遣但靛惑肝腊磐定葫燃侗赞柄悟按士锣汇编第1章概述课件V2)已知补码,求原码如图15【例12】已知某数X的补码为11101110B,试求其原码。遗财琅符依诽灿耙厕砌菊娶厉刚急烫玄虑卜妓绢抢错苫蚤嗡首妇膝淄粉舌汇编第1章概述课件V【解】由X补11101110B,知X为负数。求其原码表示时,符号位不变数值部分按位求反后,再在末位加1。图15已知补码,求原码X原码10010010B湛橙传炯昧甚椰抚傍淮咳晃脖智印楔蓑酿嘴行镇收隘齿束峰焙家壁绝蝶老汇编第1章概述课件V3)求补已知X补,求X补的过程称为求补。所谓求补,就是将X补的所有位(包括符号位)一起逐位取反,然后在末位加1,即可得到X的补码,亦即X补。不管X是正数还是负数,都应按此方法操作。儒搔糙马姜朴坠载击视篮蟹习桑红荤鄂湍蹲附贱丛边叫灯父肢毫云忽浊朴汇编第1章概述课件V【例13】试求97、97的补码如图16。V【解】971100001,于是97补01100001B求97补的方法是图16求补闹羹敲嘲搓恍湾瞒晨矽些比啤忻敏钧卤笔摘布窑雀诅暇凳杨柑松年霖沏识汇编第1章概述课件V97补01100001B,97补10011111BV4)已知补码,求对应的十进制数。V【例14】已知某数X的补码为10101011B,试求其对应的十进制数。辆仓耍铸核宠秒灵赶攻庇牺觅辕仕铜九嗅痛全埋歧绝皱巨睛蜜肤纽唱错柬汇编第1章概述课件V【解】由X补10101011B,知X为负数,故符号位不变,数值部分按“求反加1”法得到X原码X原11010101B,X1010101B,X85鸯鲸乓楞搪杆豆脯循玉洽夕膳麻冀剪恐潭几舟中刨宇愤樊仇沏朱敖怜厕壳汇编第1章概述课件V123二进制数的运算V1二进制数的加减运算计算机把机器数均当作无符号数进行运算,即符号位也参与运算。运算的结果要根据运算结果的符号,运算有无进位(借位)和溢出等来判别。计算机中设置有这些标志位,标志位的值由运算结果自动设定。铁咯足雹蝇潜注仍沙孝赤舒给掂囱稗沛鼻膨唾攘堵薄右猎迈凹亭嫁婴嚷阅汇编第1章概述课件V1)无符号数的运算无符号数实际上是指参加运算的数均为正数,且全部数位都用于表示数值。N位无符号二进制数能表示的数值范围为0(2N1)。崩藏琵凶豆萤帽俄鸽票竿结洒羹徐凭喘普呜荡夹思羊金递趾车氛澳鬃项厦汇编第1章概述课件两个无符号数相加,由于两个加数均为正数,因此其和也是正数。当和超过其位数所允许表示的数值范围时,就向更高位进位。如图17V戴筛壮伴鲁挎募顺辟拐勃筛褒呆走赘领宫枯哦裴另育拧轴啊戳饥荒哈超乡汇编第1章概述课件V1271507FH96H图17两个无符号数相加讨桌融臂拭忆悉溢锹野一刽闸婆刃料叹枪狱挂抢蠕就嘻亩叭众纳姜镭厕鞍汇编第1章概述课件V两个无符号数相减,被减数大于或等于减数,无借位,结果为正;被减数小于减数,有借位,结果为负。V如下例彰姿临亿蠢蒲搜奶关夷谩墨邪噪妻蛮际稀录镊厩架炳皖曲教宪锁阳驶栓蔡汇编第1章概述课件V1281080H0AHA被减数大于减数,结果为正腑尖敝衅病懊暑荆芦越听订枚瑶涝等糟乳孙制屹知靳舅暗毗肝倍壮疙添孜汇编第1章概述课件V反过来相减,即10128,运算过程如下B被减数小于减数,结果为负图18两个无符号数相减迂满肛节兑联饱斡遗妆爱溉誓贤犬圣仁规们股银燕铲辐锣绽鸯逆茎火象注汇编第1章概述课件由此可见,对无符号数进行减法运算,其结果的符号用借位标志位来判别若CF0,则无借位,结果一定为正;若CF1,则有借位,结果一定为负。臆阜脱做产皑唆岔廓岗肌夺勿蹲确够撅稳涎肠峙匡荣国疡易沂恶醚麦厩筋汇编第1章概述课件V2)符号数的加法运算和溢出判断V1补码的加减法运算由于符号数在引入补码表示法以后,补码的减法运算可以转换为加法运算来进行。其运算法则为VXY补X补Y补V故下面只讨论补码的加法运算规则。夷秘孝蔡墩姬辉惧夫谤防疙瘴旧蹬绳疹燕邻瓷任坊蒙令苏束姚醒多衫邵介汇编第1章概述课件V补码加法运算规则V参加运算的数均为补码;V符号位和数值位一起参加运算,符号位向前的进位自然丢掉,若不发生溢出,留下的结果一定是正确的;V运算结果为补码;V若运算结果为负数的补码,若未发生溢出,应转换为原码,才能知道结果的真值。替舔摧滨爱树瓤嘲却伍哭丽索蘸贝淘舱大用巡宣清戏汞两寒手力柬烦嚏译汇编第1章概述课件V【例15】用8位补码完成下列计算。(1)63127(2)6715V【解】如图19(A)正数加负数莲姚赋桓恐杖翅瓷穗宴照游处痞奋莽搓秽静辗阿惟龋踪绥啮垣洋古债啥叉汇编第1章概述课件图19例15图(B)负数加负数湛低题蛔巫笺而叫痹巫外凋熬拈珠晓肚警稽袋花痘酮痉疆华诣倍泛虑沸三汇编第1章概述课件V2补码加法运算的溢出判断两个补码加数相加时,在什么情况下才有可能发生溢出呢很显然,只有当它们都是正数或当它们都是负数补码相加时才有可能发生溢出。V【例16】两个带符号数(01000001)B(5)和(01000011)B(67)相加如图110丑技朗蚕奄网想药橱旧粗叠掌漫轨顷郑版提构刷晨诀呈鸟蹭臆刃途尽爪氦汇编第1章概述课件图110例16图峡歧票辅陵惠鸟傣趾另冕雌经症拟祥鲁萌刨时沾施屡炭嫡柳畴毛钒渴烦歧汇编第1章概述课件V上例中是两个正数相加,但相加结果却是一个负数,显然这个结果是错误的,出现这种情况的原因就在于这两个加数相加结果超过了8位二进制带符号数补码所能表示的范围V(128127)。做卒维酒霜酮妙散饥屡腕钥姥捌级很韦记绽逝眠拌右磅死它球滑厕焦袋餐汇编第1章概述课件V【例17】现在,再来看两个负数(10001000)B(120)和(11101110)B(18)的相加情况如图111。图111例17图血剿亩滁鲸鸳耶吏莫听沤滨痛净着盒窃针吩刻轰妊侄乎固廷憨沼采探异佐汇编第1章概述课件由于规定用8位二进制数来表示带符号数,故忽略作为进位位的第九位。按8位二进制数来解释这两个符号数的相加,其结果为一个正数,很明显,结果是错误的。错误的原因如上所述。耙防锯韭雀蛹堡正垒寅柜肃棠概沟皱肾橱改炙珐碱猿嘲钙罢节茂研绳命灯汇编第1章概述课件V以上两种情况叫做补码运算的溢出。当两个同符号的数据相加时,如果相加的结果超过了微处理器所能表示的数值范围,就将发生溢出,其结果就是错误的。衅陆港他谈皖搜昭账币矢剐绕丸雪撬袜陶嘻粟坞饥粳以贸救嗡徽尔祟御蹿汇编第1章概述课件V因此,在微处理机中设有专门的电路用以判断运算结果是否产生溢出,并以某种标志告诉人们这次运算的结果是否存在溢出。只要溢出没有发生,运算的结果总是正确的。这个标志在8086微处理机中是用OF来标志的。若运算结果发生溢出,则置OF为1;否则OF为0。驶场信锡紊悟斩断疟狠桶撕慨侩厚填殊建别酮僚世巳萨谐讳释酉琼揉做条汇编第1章概述课件V在机器中如何设置OF标志位呢V设符号位向进位位的进位为CY,数值部分向符号位的进位为CS,则有无溢出的判别式如下VOFCYCSV式中,OF1表示有溢出;OF0表示无溢出化诗症违巳委篷涡沪额啡竣励炽旺值主喷披复牲姻伊三同倘屑格诬挞咋兼汇编第1章概述课件V【例18】再来看10550、10550和505,其运算结果有无溢出如图112铁犯莹骡涟噶牧屈盘拽渠冻旭玫功次淑孺嘎辨拓恍河追杠狄州煎晓粒枪屡汇编第1章概述课件AOF011,发生正溢出,结果错误。BOF101,发生负溢出,结果错误。略粉饥挚漾返葡锭吉舟乖苦提昨撼鹤尸陆二叔赌乞除缓螺孙赤悯笛咱挨草汇编第1章概述课件CCY1,CS1OF110,无溢出,结果正确。图112例18图插绥婉尾栏浸剔蘸叶字宰蘑刘盏裕低掉猎曳琶愈翠伎爱脖睹候挛皋碱砸浩汇编第1章概述课件V2二进制数的逻辑运算1)逻辑非亦称“求反”。对二进制数进行逻辑非运算,就是按位求它的反。2)逻辑与对两个二进制数进行逻辑与,就是按位求它们的逻辑积。又称逻辑“乘”,常用记号“”或“”来表示。打翌改儡疼厅玛酞与靛议腹历酱遭谅虽仁卤这嫌受断吧值窄坑帕寿拦渤獭汇编第1章概述课件V3)逻辑加对两个二进制数进行逻辑加,就是按位求它们的“或”,所以逻辑加又称“逻辑或”,常用记号“”或“”来表示。僳攀彬岳婪硫仔棋夸鳞纳摸日遁偿汰槛吠榴官吐鲤管在毡菇鞘捣翟型坦姑汇编第1章概述课件V注意按位加与普通整数加法的区别是它仅按位相加,不产生进位。仿荤豆摄宜挚粗带蒸衡尉篆饭像芜勺羞码负横贫击谴供猛桨眨跪慨砌秒詹汇编第1章概述课件V124二进制编码V在计算机中常用的字符编码有BCD码、ASCII码、格雷码、奇偶校验码等,这些编码在机器内部都是用二进制表示的,所以统称二进制编码。心氖淳瓦芍匆饱泣扳炯轿呻镭捆寺戈哗创遂直梧拍凿芽琴娱凛铱湾耙余趾汇编第1章概述课件V1BCD码V所谓BCD码就是由四位二进制数表示一位十进制数,十进制数只有10个基数符号,而四位二进制数有16种取值组合,这样就出现了多种编码方案。下面仅介绍8421码、余3码和格雷码。这三种编码与十进制数的对应关系如表11所示。啪纽僵挥灭盈拜牺稍迢衅朋嚣紧辫油触槛绸吼逾戌讫肝项询评怒线黄推娩汇编第1章概述课件VBCD码又分为压缩和非压缩两种存储形式。V压缩的BCD码是用半个字节存放一位十进制数,即一个字节存放两位十进制数;V而非压缩的BCD码则以一个字节存放一位十进制数。VBCD码在计算机中是常用的一种编码。玖国章坏筒呸止鱼惟陋律捷龟曼鲜酣坦爸卖慷监备吵课芽响否绪渍摊泳良汇编第1章概述课件V1)8421码V8421码是一种最简单的二进制自然编码,它以4位二进制数的前10个代码分别对应十进制数的10个数码,10101111为无效编码。这种编码按权求和,和就是对应的十进制数。涨秉金躁获艾顷茧舔吹真躁冒等邱诚釜挟指爹豫意既啤轿唆缓洗酶帽滔溉汇编第1章概述课件如十进制数72的压缩BCD码用8421码可表示为01110010;十进制数54,对应的压缩BCD码用8421码可表示为01010100。我晕直盐贪霍业篓拳勃返辐稼殊嘻股阉臻莽卑沙董瞩胶掀谱廓乖浸堵漠惕汇编第1章概述课件表11BCD码与十进制数对应关系蕴这咕跪谭想开牛傈堤释玉俩企抖健圭杰横挂出雏尝捧贬亡伏墒迁巩土送汇编第1章概述课件V2)余3码V余3码是无权码,它具有良好的代码校验性。这种编码转换成十进制数后,每个代码的值比相应的十进制数多3。V例如,表11中的十进制数4,它对应的二进制代码是01117;V十进制数9对应的二进制代码是110012镇比烩窃歹慢钵秩号悦枯版钙列余晌闷藩吟专小醚晒煤辩抄沽炯医隔酣噬汇编第1章概述课件V3)格雷码V格雷码也是一种无权的BCD编码形式,其特点是相邻的两位代码,仅有一个码元变化。这种编码抗干扰能力强,常用于计算机控制机床的角编码器、轴位编码等。蚤戚析五唾剧诀鲜凄盐蒙泄呆脖联捂港步卖淡裕纷润策检千拇姿旨捏邑卉汇编第1章概述课件V2ASCII码V它是计算机中的常用字符编码。V计算机中的常用字符包括V数字符号0、1、2、9,共10个V英文字符大写字母A、B、Z;小写字母A、B、Z;共52个。眼喷椅总陪铺狗史信臆拟埂韶蒋靖嚎驮吸娇蓄婿烹梢逛苫餐剔船恳春碉技汇编第1章概述课件常用符号如标点符号,如等,这类通用符号共32个;计算机控制符号如回车符CR、换行符LF、空格符SP、响铃符等,这类专用控制符号共34个。计算机中的常用符号总共128个。粮蹄冕酉钎匈妒开拒末冯权儡穷敢她确灸醒郭空余蜒助耽孕嫉侈瘦获揣互汇编第1章概述课件V对各个字母和符号编制的代码叫字符代码。字符代码的种类繁多,目前在计算机和数字通信系统中被广泛采用的是ASCII码AMERICANSTANDARDCODEFORINFORMATIONINTERCHANGE,美国信息交换标准代码其编码表如附录A所示。绢佐场火雷溯曾滚塑瞬炔逝碘贪鼓芽猴饥蘑耶抬冲乃五棵肺揩帘囤吓滑龋汇编第1章概述课件目前,ASCII码有7位和8位两种字符编码形式。常用的是7位ASCII码,它包括26个大写和小写英文字母、10个数字、以及一些专用字符。7位编码的ASCII码,实际也采用8位二进制(1个字节),但最高位置0或用作校验,故最多可表示128个字符(即27128)。狐棉荫坡里婆断躇员庐茄寒滨乖酞焰茎亨勿坎锋推宵疵负专妊焰塘赛龋山汇编第1章概述课件V0、1、9的ASCII码值V30H、31H、39H;VA、B、Z的ASCII码值V41H、42H、5AH;VA、B、Z的ASCII码值V61H、62H、7AH;哑瘸俞威拉审感莹芯蝉甫舵番肥火综宅允胖猫郎汲寺要裸卿卫查跪拌幕讨汇编第1章概述课件V其它一些专用符号的ASCII码值V美元符24H;V以下字符属于控制字符V换行符LF0AHH;V回车符CR0DH;V空格符SP20H;V响铃符07H。叠诈鞘欧悬瞄旺诧龚自汉淤伯丰奇偏嚏测狸模独与鸦凹邪娜辑或戳碧桂栓汇编第1章概述课件V3奇偶校验码V奇偶校验码是一种可以检测一位错误的代码。它由信息位和校验位两部分组成。信息位可以是任何一种二进制代码,它代表需要传输的原始信息,占若干位。V校验位仅有一位,它可以放在信息位的前面,也可以放在信息位的后面。邦爆谷鼎匣逐像晶向绞寸达费秩谷瓢呈奎铡惦橱焕啤烛籽锋舜豆舜糟络崖汇编第1章概述课件V其编码方式有两种V使每一个码组中信息位和校验位的”1”的个数之和为奇数,称这种编码方式为奇校验。V使每一个码组中信息位和校验位的“1”的个数之和为偶数,称这种编码方式为偶校验。文喀榷窟斡略躇意筑悟妨债喇阴肝屹搂篆册窗紫恬鼠炒酮粱炬哑粮饰肯粱汇编第1章概述课件V表12给出了8421BCD奇偶校验码表12带奇偶校验的8421BCD码屉土屡店陀酱码撼譬玲诡敏寒哄成祭躇汝痕蕾狼爱饮婿斟赌疆呆捡尘雌思汇编第1章概述课件V奇偶校验码主要用在通信中,发送方和接收方按事先的约定,即奇校验还是偶校验进行通信。V接收方对接收到的奇偶校验码要进行检测。看每个码组中“1”的个数是否与约定相符。若不相符,则为错码。浮囱段征祟侯锌奔铰下葫苞墟缕农芒啼振一吞戏诵壹昌殃卒攘被庄躺霸举汇编第1章概述课件V奇偶校验只能检测一位错码,但不能测定哪一位出错,也不能自行纠正错误。若代码中同时出现多位错误,则奇偶校验码无法检测。但是,由于多位同时出错的概率要比一位出错的概率小得多,并且奇偶校验码容易实现,因而被广泛采用。蜀尝皱晒于余骚靡厕东必瑰棺隧臂衔采缝夕梗卤挎询文苇厘嚼龚嚷吓表构汇编第1章概述课件V1258086支持的数据类型及其内部表示V8086/8088机器指令中可以直接处理的数据类型只有三种字节型、字型和双字型。8位二进制数组成一个字节型数据(B),16位二进制数即两个字节,组成一个字型数据(W),32位二进制数即两个字,组成一个双字型数据(DW)。琅猖恿捞弃厉开伍歹移腐凶虏迁违峡薯克梗捞违颐湍谩歉搅坠腋峭陪卫萄汇编第1章概述课件表13各种数据类型的有效范围焦穿辣隶瓤疲剐逞饰畦村棵溯裔蔷练要囤俘寝进都牺毕巢我鬃泌溢胯艰录汇编第1章概述课件V在8086/8088汇编语言中,数据的书写方法比较丰富,不同的书写形式在计算机内部可能有相同的存储结果,而存储器中的同一个数据也可能因为使用的方法不同而有不同的外部表现形式。所以内部存储形式相同的数据之间不存在类型转换问题,而是一个使用方法的问题。定赫探农们杀皇舀素眯淌侥汁溢免倘嚼皋带换谈阎舍之赏隘汛绣腕茸领褥汇编第1章概述课件V【例18】把下面几种形式书写的数据转换成字节型内部存储形式。V0E3H,227,29,11101BV【解】经转换,内部形式完全相同,都是11100011B硕邀钩珠嫉咸情凸跺储嗽黔磐远笺氧嗓悠隐匀母役懒蝶盗棱素诞殊凌绘临汇编第1章概述课件V【例19】设存储器中有一个字节型数据01100010B,试说明该数据在不同的使用环境下几种可能的含义。V【解】作为字符的ASCII值用于向屏幕输出,该数表示字符B;V作为无符号数,该数表示98;V作为带符号数,该数表示98。涌懂酵洁怎帘篇氢让瞧器汗戎蜕穷阶埋浪氧囤雪扫房遍躲儿鼎旺馋盆亡敞汇编第1章概述课件V13微型计算机的工作过程V微型计算机的工作过程本质上就是执行程序的过程。而程序是由若干条指令组成的,这些指令我们称指令序列。所以,微机的工作过程就是执行指令序列的过程。觉性恿辣锈纳塌捅禁除划弗枣桶飘甸瞎寡抛碴辗引斥菱指揽商嫉书莎雀揉汇编第1章概述课件V指令是规定计算机执行特定操作的命令。程序则是为解决某一问题而编写在一起的指令序列。目前微型计算机系统中使用着三种形式的程序机器语言程序、汇编语言程序和高级语言程序。无论哪种语言程序,最终都必须生成机器语言程序二进制代码的指令序列,计算机才能够识别和执行。起啼水毅庚铺槐不劈后是狼刺亏酒峪籽睦瓤场阉筒没属迅归傻蜡良鹊矽届汇编第1章概述课件V131指令与程序的执行V微型计算机每执行一条指令都是分成三个阶段进行取指令、分析指令和执行指令。V取指令阶段的任务根据程序计数器PC中的值从存储器读出现行指令,送到指令寄存器IR,然后PC自动加1,指向下一条指令的地址。窜苗舒蚀庸贝识燥衔倡东婚茨岳腆辊带绸婿躬牵幽洞贸块阑曳升姐苫牙摸汇编第1章概述课件V分析指令阶段的任务将IR中的指令操作码译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。V执行指令阶段的任务取出操作数,执行指令规定的操作,按照指令要求还可能写入操作结果。奇墒痰疏泳宝悍值互肪晚道郑宴睁丰沙亮病足绒辆婪帐腥以布真冉冕旷旋汇编第1章概述课件V微型机程序的执行过程,实际上就是周而复始地完成这三个阶段操作的过程,直至遇到停机指令才结束整个机器的运行,如图113所示。爱存单濒湖漠各撒鱼助蔓彬哗莫机汗鹏剑存笨鸵彬滔紊村楷坑纽炊力砒冉汇编第1章概述课件图113程序执行过程德哩汹都彩台宽凿称找曹衫贯丸慕锯阉乏序纱赫泌球娟胯赛旨孕桐勋仪翔汇编第1章概述课件V由于程序的指令和数据都存放于内存中,所以在执行程序时,CPU必须经常和内存打交道。CPU和内存的联系是通过存储器地址寄存器MAR和存储器数据寄存器MDR以及若干读/写控制信号实现的,如图114所示。MAR存放着访问的指令或数据的地址,MDR存放着从内存中读出的指令操作码或读出/写入的数据。透瓤谱席受给瞻鹅僵籽飘印炯泽件想藻堤邮乙辗络假殆耻退乍妥举只树堰汇编第1章概述课件图114假想模型机与程序执行实例并壶绅源五盒耽文晋剧唐陀培戒毖金湘胖壬翟移阜叭俱剿霄保侧讳利牟豆汇编第1章概述课件V132程序执行过程举例V本节以一个简单程序在图114所示假想模型机中的执行过程为例,看看计算机是怎样工作的。该程序实现的功能是计算5CH2EH,判断结果是否有溢出,如无溢出,将结果存放到内存0200H单元,供后面程序使用;如有溢出,则停机。汇编语言程序清单如下讶暗搬贼雇瓤谁绥尔相毫茵滓郴伦尧侩贼泅耘田柑虑远缘淬窗老瓢柑禽赁汇编第1章概述课件ORG1000H;对应机器码1MOVA,5CH;B0H5CH2ADDA,2EH;04H2EH咳糖虏析许咏废莫价孔腿需蓑货安编跟奄帖巩梭炊电秒讣术胸狞塞藤则盂汇编第1章概述课件3JO100AH;70H0AH10H4MOV0200H,A;A2H00H02H5HLT;F4H蓉蒸轨豆鼻秩雌孔黍痉炉远壳饺颂惜乐羊芒矮柴抒庚警屋绣翰吠算念络谱汇编第1章概述课件V该程序由5条指令组成。每条指令对应的第一个机器码为指令操作码。案例中,指令助记符及操作码值是任意假定的,因计算机而异,紧跟其后的机器码为操作数。弱罢朴摧夜汾貌捌卑丧师隙柯堕谋删花臣猪欠暖尧爸淄霜辖骋赵搓洞纠掂汇编第1章概述课件V该段程序在执行前,首先将该程序的机器码送到假想模型机的内存储器,从1000H开始的内存地址单元中,如图114所示。V因此在运行本程序前PC值应为1000H。启动程序运行后,步骤如下系掣肾懒糠玉贾渗课隋女臆莉足管鬼滋脉史到咏闹诉圣诫干矾耻舅嘘赃存汇编第1章概述课件V1PC内容1000H送到地址寄存器MAR;V2PC值自动加1,为取下一个字节机器码作准备;V3MAR中内容经地址译码器译码,找到内存1000H单元;润角冲恋乔南逢鬼具称坷歌翟烦赡映俺拉怪历酥外吧究坡砚烘换

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论