单片机原理及应用ppt课件第3章-mcs-51单片机指令系统和汇编语言程序示例

上传人:txadgkn****dgknqu... 文档编号:241845779 上传时间:2024-07-29 格式:PPT 页数:140 大小:5.03MB
返回 下载 相关 举报
单片机原理及应用ppt课件第3章-mcs-51单片机指令系统和汇编语言程序示例_第1页
第1页 / 共140页
单片机原理及应用ppt课件第3章-mcs-51单片机指令系统和汇编语言程序示例_第2页
第2页 / 共140页
单片机原理及应用ppt课件第3章-mcs-51单片机指令系统和汇编语言程序示例_第3页
第3页 / 共140页
点击查看更多>>
资源描述
第3章 MCS-51单片机指令系统和汇编语言程序示例第第3 3章章 MCS-51 MCS-51单片机指令系统单片机指令系统 和汇编语言程序示例和汇编语言程序示例3.1 MCS-51单片机指令系统概述单片机指令系统概述3.2 寻址方式寻址方式3.3 数据传送类指令数据传送类指令3.4 算术运算类指令算术运算类指令3.5 逻辑运算及移位指令逻辑运算及移位指令3.6 控制转移类指令控制转移类指令3.7 子程序调用与返回指令子程序调用与返回指令3.8 位操作类指令位操作类指令3.9 汇编程序格式与伪指令汇编程序格式与伪指令3.10 汇编程序设计示例汇编程序设计示例鸿生陵砒攫圾侍擅搐沪频骤眠滔兄白焊湍邯康脖背曳悍酷标镊扦畜麻长措单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例第3章MCS-51单片机指令系统3.1MCS-51单1第3章 MCS-51单片机指令系统和汇编语言程序示例3.1 MCS-51单片机指令系统概述单片机指令系统概述3.1.1 指令、指令系统的概念指令、指令系统的概念指令:指令:能完成特定功能的命令。指令描述的两种基本形式:机器语言和汇编语言指令系统:指令系统:计算机能够执行的全部操作所对应的指令集合。编写程序实际上是从指令系统中挑选一个指令子集的过程。唁势凸础搔澳疯苑捞抄亩猜梳颇邵耽哺井丘沫匹邓源谣侄沮正嘿山庭随劲单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.1MCS-51单片机指令系统概述3.1.1指令、2第3章 MCS-51单片机指令系统和汇编语言程序示例指令的属性指令一般有功能、时间和空间三种属性。功能属性功能属性是指每条指令都对应一个特定的操作功能;时间属性时间属性是指一条指令执行所用的时间,一般用机器周期来表示;空间属性空间属性是指一条指令在程序存储器中存储所占用的字节数。札进胯收蛀仆驰了岩榔阂厂骤幕此溜尸砒峪蚀齐庶漓模一赴近闻怨周号卵单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例指令的属性札进胯收蛀仆驰了岩榔阂厂骤幕此溜尸3第3章 MCS-51单片机指令系统和汇编语言程序示例3.1.2 MCS-51单片机指令系统及其指令格式单片机指令系统及其指令格式MCS-51单片机指令系统具有功能强、指令短、执行快等特点,共有111条条指令。从功能上可划分成数据传送数据传送、算术操作算术操作、逻辑操作逻辑操作、程序转移位程序转移位操作等五大类;从空间属性上分为单字单字节指令节指令(49条)、双字节指令双字节指令(46条)和最长的三字节指令三字节指令(只有16条)。从时间属性上可分成单机器周期指令单机器周期指令(64条)、双机器周期双机器周期指令指令(45条)和只有乘、除法两条4个机器周期个机器周期的指令。可见,MCS-51单片机指令系统在存储空间和执行时间方面具有较高的效率。佩宣承泅哟淹营杀雇李购你警佰症詹疆菱滓章叹滑祷捻入侩周汗釜趋铭振单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.1.2MCS-51单片机指令系统及其指令格式佩宣承泅4第3章 MCS-51单片机指令系统和汇编语言程序示例指令系统中的指令描述了不同的操作,不同操作对应不同的指令。但结构上,每条指令通常由操作码操作码和操作数操作数两部分组成。操作码表示计算机执行该指令将进行何种操作,操作数表示参加操作的数的本身或操作数所在的地址。MCS-51单片机的指令有无操作数、单操作数、双操作数无操作数、单操作数、双操作数三种情况。汇编语言指令有如下的格式:标号:操作码助记符目的操作数,源操作数;注释狠垫声夺钮戴酌譬纱氨券搞页悯郑隅旧椅甸哆茹瑚牧猴畔汉砧公寥宜潞绦单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例指令系统中的指令描述了不同的操作,不同操作对5第3章 MCS-51单片机指令系统和汇编语言程序示例为便于后面的学习,在这里先对描述指令的一些符号的约定意义作以说明:(1)Ri和Rn:表示当前工作寄存器区中的工作寄存器,i取0或1,表示R0或R1。n取07,表示R0R7。(2)#data:表示包含在指令中的8位立即数。(3)#data16:表示包含在指令中的16位立即数。(4)rel:以补码形式表示的8位相对偏移量,范围为-128127,主要用在相对寻址的指令中。仿普抹阵绷砌踊费赞疚钨汹疯卞糟噶拌童香妓牌纲咐腐孤彭佣椭迄鹃钡至单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例为便于后面的学习,在这里先对描述指令的一些符6第3章 MCS-51单片机指令系统和汇编语言程序示例(5)addr16和addr11:分别表示16位直接地址和11位直接地址。(6)direct:表示直接寻址的地址。(7)bit:表示可位寻址的直接位地址。(8)(X):表示X单元中的内容。(9)(X):表示以X单元的内容为地址的存储器单元内容,即(X)作地址,该地址单元的内容用(X)表示。(10)/和符号:“/”表示对该位操作数取反,但不影响该位的原值。“”表示操作流程,将箭尾一方的内容送入箭头所指另一方的单元中去。档原扭檀谨章看礼捧迷镀陵氨锐皆量馏慢哩瘸煽慢黄防叛腑腿剁维得榴异单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例(5)addr16和addr11:分别表示7第3章 MCS-51单片机指令系统和汇编语言程序示例3.2 寻寻 址址 方方 式式 寻址方式:寻址方式:CPU寻找操作数或操作数地址的方法。寻址方式越多,计算机指令功能越强,灵活性越大。MCS-51采用7种寻址方式种寻址方式:泌障稳撂患择仗泌赘筋冀恰啼附址侮逻绵骡谦宠焉木薪裳堪钮貌镑悉脯磨单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2寻址方式寻址方式:CPU寻找操作数或操作数8第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.1 立即寻址立即寻址操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行,不需要经过别的途径去寻找,故称为立即寻址。汇编指令中,在一个数的前面冠以#符号作前缀,就表示该数为立即寻址。指令:指令:MOV A,#5AH机器码:机器码:74H 5AH毙撞临粤诣超锅沁本印硷敢诊啦包猿焦入钙汕迅洋未离鬼合赘哟惶官峰锦单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.1立即寻址指令:MOVA,#5AH毙撞临粤诣超9第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.2 寄存器寻址寄存器寻址在指令选定的某寄存器中存放或读取操作数,以完成指令规定的操作,称为寄存器寻址。例如:MOVA,R7指令中源操作数和目的操作数都是寄存器寻址。该指令的功能是把工作寄存器R7中的内容传送到累加器A中,如R7中的内容为30H,则执行该指令后A的内容也为30H。指令:指令:MOV A,R7机器码:机器码:EFH怒拦猪岛说椭掳呐遇适奄蛊方试栽喳闺用哉筋精镁荐宛榔到篓拂誉策地井单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.2寄存器寻址指令:MOVA,R7怒拦猪岛说椭掳10第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.3 寄存器间接寻址寄存器间接寻址由指令指出某一寄存器的内容作为操作数地址的寻址方法,称为寄存器间接寻址。这里需要强调的是:寄存器中的内容不是操作数本身,而是操作数的地址,到该地址单元中才能得到操作数。寄存器起地址指针的作用。指令:指令:MOV A,R1机器码:机器码:E7H艰歼涵吕骑插跌澈琼笛抠陌赛明绵岁卫罢千腔皂哇疤消噪晨吗豌函布试氧单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.3寄存器间接寻址指令:MOVA,R1艰歼涵吕11第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.4 直接寻址直接寻址指令中直接给出操作数所在的存储器地址,以供取数或存数的寻址方式称为直接寻址。指令:指令:MOV A,3FH机器码:机器码:E5H 3FH痘诅找诵柜亲郁董芬扳橇锦羌忌盎擅诸洛谩迸醋迟喊衙镑喘女柬吱篙垢您单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.4直接寻址指令:MOVA,3FH痘诅找诵柜亲郁12第3章 MCS-51单片机指令系统和汇编语言程序示例MCS-51系列单片机的直接寻址可用于访问片内、外数据存储器,也可用于访问程序存储器。直接寻址可访问片内RAM的低128个单元(00H7FH),同时也是用于访问高128个单元的特殊功能寄存器SFR的唯一方法。由于52子系列的片内RAM有256个单元,其高128个单元与SFR的地址是重叠的。为了避免混乱,单片机规定:直接寻址的指令不能访问片内RAM的高128个单元(80HFFH),若要访问这些单元只能用寄存器间接寻址指令,而要访问SFR只能用直接寻址指令。访问SFR可在指令中直接使用该寄存器的名字来代替地址,如MOVA,80H,可以写成MOVA,P0,因为P0口的地址为80H。傅去辽时蜜洽哄缮馒哩断蓄霓吻信厄箔郡抨兆葫渗平哦灵芳腥襄侩抨矢精单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例MCS-51系列单片机的直接寻址可用于访问片内、外数据存储13第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.5 变址寻址变址寻址图3.2变址寻址示意图基址寄存器加变址寄存器间接寻址,简称变址寻址变址寻址。指令:指令:MOV A,A+DPTR机器码:机器码:93H洛窄节余醉蟹阴旱从祝蛤鞭据社汞裕埔骂救禹有畸扔倚木尸豪载嘶吴赚琉单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.5变址寻址图3.2变址寻址示意图基址寄存器14第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.6 相对寻址相对寻址访问程序存储器,出现在相对转移指令中。相对寻址是将程序计数器PC中的当前值与指令第二字节所给出的偏移量相加,其和为跳转指令的转移地址。偏移量范围为-128一+127。例如SJMP20H;机器码为80H20H。针士朗裔拾碘签表檄锅渺蔚婶胆刹宴乘表以敞慢陋反柏果责酉经彼擞婚蓖单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.6相对寻址针士朗裔拾碘签表檄锅渺蔚婶胆刹宴乘表以15第3章 MCS-51单片机指令系统和汇编语言程序示例在使用相对寻址时要注意以下两点:(1)当前PC值是指相对转移指令的存储地址加上该指令的字节数。例如:JZrel是一条累加器A为零就转移的双字节指令。若该指令的存储地址为2050H,则执行该指令时的当前PC值即为2052H。即当前PC值是对相对转移指令取指结束时的值。(2)偏移量rel是有符号的单字节数。以补码表示,其值的范围是-128+127(00HFFH),负数表示从当前地址向前转移,正数表示从当前地址向后转移。所以,相对转移指令满足条件后,转移的地址(目的地址)为:目的地址=当前PC值+rel=指令存储地址+指令字节数+rel脚拳卜斩帛孟捷比釉裔湖邑初稳言厢政响求毗搬湘榜掀篮淑月咐牛悲乱啃单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例在使用相对寻址时要注意以下两点:脚拳卜斩帛孟捷比釉裔湖邑初稳16第3章 MCS-51单片机指令系统和汇编语言程序示例3.2.7 位寻址位寻址位寻址是在位操作指令中直接给出位操作数的地址,可以对片内RAM中的128位和特殊功能寄存器SFR中的93位进行寻址。例如指令MOV C,24H.0;机器码为A2H 20H,相当于MOVC,20H。侩屏叶瑶榜手番欠茨自婴呜鲜赫雅盼技径际挪赁艇塑登蚂报彭攘胞粕只盾单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.2.7位寻址侩屏叶瑶榜手番欠茨自婴呜鲜赫雅盼技径际挪17第3章 MCS-51单片机指令系统和汇编语言程序示例3.3 数据传送类指令数据传送类指令疾忽温者异刀尖辕捡搐教窒省噶营腐莫涡径瑟幽瑰逝笨财传冬获归硅蹲乡单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.3数据传送类指令疾忽温者异刀尖辕捡搐教窒省噶营腐莫涡18第3章 MCS-51单片机指令系统和汇编语言程序示例3.3.1 访问片内数据存储器的一般数据传送指令访问片内数据存储器的一般数据传送指令该类指令的功能是实现数在片内RAM单元之间、寄存器之间、寄存器与RAM单元之间的传送。所有指令具有统一的格式,其格式如下:MOV,;目的操作数单元源操作数(或单元)操作码助记符都是MOV,目的操作数和源操作数不同寻址方式的组合就派生出该类的全部指令。因此,记忆这类指令的关键在于掌握两个操作数的各种寻址方式的组合关系。驱统掌惜浮尔苟谢烛幌撰酌絮嘿罪占韧滇署哭圈影挚娶怔匣换贤卓郡挡怖单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.3.1访问片内数据存储器的一般数据传送指令驱统掌惜浮19第3章 MCS-51单片机指令系统和汇编语言程序示例图3.3访问片内RAM的一般传送指令操作关系图豺捐抄痊密喻疙廖还圣尺熬诉司侣纳籽川竹枕洁限礼翰怎误牛浩谣踩辆虱单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例图3.3访问片内RAM的一般传送指令操作关系图豺捐抄痊20第3章 MCS-51单片机指令系统和汇编语言程序示例表表3.1 访问片内访问片内RAM的一般传送指令表的一般传送指令表此锗塘娜斤糖伊燥佬恐禽愈汇各闲竣斑批宰轮纠柒硷难捣傍冤磐掐傀第深单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例表3.1访问片内RAM的一般传送指令表此锗塘娜斤糖伊燥佬21第3章 MCS-51单片机指令系统和汇编语言程序示例骡看喧燥憋饭巢商封显氖带掸亏吠凌隋冠量滩及莹踊棵诀惺雪饥峭插掐芍单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例骡看喧燥憋饭巢商封显氖带掸亏吠凌隋冠量滩及莹踊棵诀惺雪饥峭插22第3章 MCS-51单片机指令系统和汇编语言程序示例例1设内部RAM(30H)=40H,(40H)=10H,(10H)=00H(P1)=CAH,分析以下程序执行后各单元及寄存器、P2口的内容。MOVR0,#30H;(R0)30HMOVA,R0;(A)(R0)MOVR1,A;(R1)(A)MOVB,R1;(B)(R1)MOVR1,P1;(R1)(P1)MOVP2,P1;(P2)(P1)MOV10H,#20H;(10H)20H执行上述指令后的结果为:(R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P1)=(P2)=CAH,(10H)=20H。郎坡眨膀渍沽疲别耍苹漱召蓝胞过煽目侍踏揽扎露尹抡炼灿撩郧铭珍哎叁单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例1设内部RAM(30H)=40H,(23第3章 MCS-51单片机指令系统和汇编语言程序示例3.3.2 片内特殊传送指令片内特殊传送指令1堆栈操作指令堆栈操作指令堆栈操作有进栈和出栈,即压入和弹出数据,常用于保存或恢复现场。进栈指令用于保存片内RAM单元(低128字节)或特殊功能寄存器SFR的内容;出栈指令用于恢复片内RAM单元(低128字节)或特殊功能寄存器SFR的内容。该类指令共有如下两条指令:瞩卸局递确裤陪褪嗡牛诈影拦珠炽拣酵蝴抖蛤城詹撞与赶照咆豺稗歇让鹏单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.3.2片内特殊传送指令瞩卸局递确裤陪褪嗡牛诈影拦珠炽24第3章 MCS-51单片机指令系统和汇编语言程序示例(SP)(SP)-1修改指针,指向新栈顶(direct)(SP)+1)把栈顶的数据弹出到直接寻址单元中去PUSHdirect;POPdirect;(SP)direct把直接地址单元的内容压入SP所指单元内(SP)(SP)+1修改指针,使其指向栈顶上的一个存数单元这两条指令都是双字节指令,机器码分别为:C0direct和D0direct。找喀灵挥恨找朵范颈期舞兼琅窒联烘窑核蓄绞钙简视袒弥蜕轩窗篙圣须疮单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例(SP)(SP)-1修改指针,指向新栈顶(dir25第3章 MCS-51单片机指令系统和汇编语言程序示例例2若在外部程序存储器中2000H单元开始依次存放09的平方值,数据指针(DPTR)=3A00H,用查表指令取得2003H单元的数据后,要求保持DPTR中的内容不变。完成上述功能的程序如下:MOVA,#03H;(A)03HPUSHDPH;保护DPTR高8位入栈PUSHDPL;保护DPTR低8位入栈MOVDPTR,#2000H;(DPTR)2000HMOVCA,A+DPTR;(A)(2000H+03H)POPDPL;弹出DPTR低位POPDPH;弹出DPTR高位执行结果:(A)09H,(DPTR)=3A00H。坎尸落涝勋烂滤豺肃榜撅憎冤罕督汕化猛迂需恫茹喷嚏脐经胃险哄访路疽单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例2若在外部程序存储器中2000H单元开26第3章 MCS-51单片机指令系统和汇编语言程序示例 2数据交换指令数据交换指令数据传送指令一般都是将操作数自源地址单元传送到目的地址单元,指令执行后,源地址单元的操作数不变,目的地址单元的操作数则修改为源地址单元的操作数。交换指令数据作双向传送,涉及传送的双方互为源地址、目的地址,指令执行后每方的操作数都修改为另一方的操作数。因此,两操作数均未冲掉、丢失。数据交换指令共有如下5条指令:漫簿字砖腋瘫沟堪肯绕招丧诀腐克击效褂伺宵虾谎炮讥剑作升屈荆咋匡唐单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例2数据交换指令漫簿字砖腋瘫沟堪肯绕招丧诀27第3章 MCS-51单片机指令系统和汇编语言程序示例株景嘴摸梯冗宫溺劝新每伙霉忿龄曲企畦汞蚕琵湖诀头某碌绷暂糜隋曙掐单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例株景嘴摸梯冗宫溺劝新每伙霉忿龄曲企畦汞蚕琵湖诀头某碌绷暂糜隋28第3章 MCS-51单片机指令系统和汇编语言程序示例例例3设(R0)=30H,30H=4AH,(A)=28H,则执行XCHA,R0后,结果为(A)=4AH,(30H)=28H。执行XCHDA,R0后,结果为(A)=2AH,(30H)=48H。执行SWAPA后,结果为(A)=82H。厕绰歧氖淳邢布轮您蹈郝源主恒每雁粮珍信书刷翠派拼倡镐私外王垒渺株单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例3设(R0)=30H,30H=4AH,(A)29第3章 MCS-51单片机指令系统和汇编语言程序示例3.3.3 片外数据存储器数据传送指令片外数据存储器数据传送指令MCS-51单片机CPU对片外扩展的数据存储器RAM或I/O口进行数据传送,必须采用寄存器间接寻址的方法,通过累加器A来完成。这类指令共有以下条单字节指令,指令操作码助记符都为MOVX。指令助记符操作功能注释机器码(H)MOVXA,DPTR;(A)(DPTR)E6MOVXA,Ri;(A)(Ri)E2、E3MOVXDPTR,A;(DPTR)(A)F0MOVXRi,A;(Ri)(A)F2、F3锚岔炬苇耗乒勾艘溅赡传艾欧昨祝呼怖干剧牙鲸辆瓮劣阁皇敦誓躇滑勿蹈单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.3.3片外数据存储器数据传送指令锚岔炬苇耗乒勾艘溅赡30第3章 MCS-51单片机指令系统和汇编语言程序示例例例4设外部RAM(0203H)=FFH,分析以下指令执行后的结果。MOVDPTR,#0203H;(DPTR)0203HMOVXA,DPTR;(A)(DPTR)MOV30H,A;(30H)(A)MOVA,#0FH;(A)0FHMOVXDPTR,A;(DPTR)(A)执行结果为:(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH。尺各锥敦讣挨抒睛鲜双惋烫署饺落茄粘俯阂泣蹄蛤欺棠嵌骄钉墓真弓渔迪单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例4设外部RAM(0203H)=FFH,分析以下指令执31第3章 MCS-51单片机指令系统和汇编语言程序示例3.3.4 访问程序存储器的数据传送指令访问程序存储器的数据传送指令访问程序存储器的数据传送指令又称作查表指令,采用基址寄存器加变址寄存器间接寻址方式,把程序存储器中存放的表格数据读出,传送到累加器A。共有如下两条单字节指令,指令操作码助记符为MOVC。指令助记符操作功能注释机器码(H)MOVCA,A+DPTR;(A)(A)+(DPTR)93MOVCA,A+PC;(PC)(PC)+1,(A)(A)+(PC)83绦次没瞎鱼竣锐豫迭讯抗觉竖狄簧滁清郸亩蛹力潦上扫殉左怎刺冻幸倒咨单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.3.4访问程序存储器的数据传送指令绦次没瞎鱼竣锐豫迭32第3章 MCS-51单片机指令系统和汇编语言程序示例前一条指令采用DPTR作基址寄存器,16位地址送到DPTR,实现在整个64KB程序存储器单元到累加器A的数据传送。后一条指令以PC作为基址寄存器,CPU取完该指令操作码时PC会自动加1,指向下一条指令的第一个字节地址,即此时是用(PC)+1作为基址的。累加器A中的内容为8位无符号数,本指令查表范围只能在256个字节范围内(即(PC)+1H(PC)+100H),使表格地址空间分配受到限制。同时编程时还需要进行偏移量的计算,即MOVCA,A+PC指令所在地址与表格存放首地址间的距离字节数的计算,并需要一条加法指令进行地址调整。偏移量计算公式为:偏移量=表首地址-(MOVC指令所在地址+1)汕留田坯吃峡仰罕鸡拴怜翅舍跃缆恫滁卸茶傀失崖撮煞哲辅启拔界海盏娩单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例前一条指令采用DPTR作基址寄存器,16位地址送到DPTR33第3章 MCS-51单片机指令系统和汇编语言程序示例例5从片外程序存储器2000H单元开始存放09的平方值,以PC作为基址寄存器进行查表得9的平方值。设MOVC指令所在地址(PC)=1FF0H,则偏移量=2000H-(1FF0H+1)=0FH。相应的程序如下:MOVA,#09H;(A)09HADDA,#0FH;用加法指令进行地址调整MOVCA,A+PC;(A)(A)+(PC)+1)执行结果为:(PC)=1FF1H,(A)=51H。口桂矗丛蒜聊间邱边倦胆瘸挚咏穆采骗窒烹调泥矿淋汾镀止毅蔷驻雨淀笨单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例5从片外程序存储器2000H单元开始34第3章 MCS-51单片机指令系统和汇编语言程序示例如果用以DPTR为基址寄存器的查表指令,其程序如下:MOVDPTR,2000H;置表首地址MOVA,09HMOVCA,A+DPTR伞邪惟焦潘惶随慰祷但快邱戚奈月香骚顾癣穴蹭推连晒辉绅树疹历痊丘桨单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例如果用以DPTR为基址寄存器的查表指令,其程序如下:伞邪惟焦35第3章 MCS-51单片机指令系统和汇编语言程序示例练习题试分析以下程序的执行结果。(DPL)=_,(B)=_。MOVSP,#3AHMOVDPL,#20HMOVB,#30HPUSHDPLPUSHBPOPDPLPOPB沪郸祸肌狄学擎仔费曹役届挖峰性掂档袱睡穗副粮滑样台完沈娃汤坚讨焚单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例练习题试分析以下程序的执行结果。(DPL)=_36第3章 MCS-51单片机指令系统和汇编语言程序示例3.4 算术运算类指令算术运算类指令3.4.1 加、减法指令加、减法指令图3.4加减法指令形式结构图(a)加减法指令关系图;(b)加1、减1指令关系图手汹媒铆力边膊郎胺仿往变慈斌垮玫菊万唬锡残累一味挪戳漱龄弄猫痕豌单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.4算术运算类指令3.4.1加、减法指令图3.437第3章 MCS-51单片机指令系统和汇编语言程序示例算术运算结果将影响CY、半进位标志AC、溢出标志OV。加减法运算结果将影响CY、AC、OV,乘除运算只影响CY,OV。只有加1和减1指令不影响这三种标志。氧淆茧凛氏鼎拙捂邻执巳辅酒苗单斧争彬寥率聚盐愁更搜纷维啡殊洒烩内单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例算术运算结果将影响CY、半进位标志AC38第3章 MCS-51单片机指令系统和汇编语言程序示例表表3.2 加减法指令表加减法指令表骑夹抡谍么级湃扬孰敬券颇储疾裴躺吴菠追消碑宜说番恨劳阂雌壶渴国码单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例表3.2加减法指令表骑夹抡谍么级湃扬孰敬券颇储疾裴躺吴菠39第3章 MCS-51单片机指令系统和汇编语言程序示例 例例6设(A)=49H,(R0)=6BH,分析执行指令ADDA,R0后的结果。结果为:(A)=B4H,OV=1,CY=0,AC=1,P=0。例例7设(A)=C3H,数据指针低位(DPL)=ABH,CY=1,分析执行指令ADDCA,DPL后的结果。结果为:(A)=6FH,CY=1,AC=0,P=0。例例8设(A)=52H,(R0)=B4H,分析执行如下指令后的结果CLRC;是位操作指令,是进位位清零SUBBA,R0结果为:(A)=9EH,CY=1,AC=1,OV=1,P=1。抿吗眷移芭短猾缩殉镇悍斗沁桅伊桐帅猪卫嗡孝麦据窗刮趣柏鸥痰横膘培单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例6设(A)=49H,(R0)=640第3章 MCS-51单片机指令系统和汇编语言程序示例 例例9设(R0)=7EH,(7EH)=FFH,(7FH)=38H,(DPTR)=10FEH,分析逐条执行下列指令后各单元的内容。INCR0;使7EH单元内容由FFH变为00HINCR0;使R0的内容由7EH变为7FHINCR0;使7FH单元内容由38H变为39HINCDPTR;使DPL为FFH,DPH不变INCDPTR;使DPL为00H,DPH为11HINCDPTR;使DPL为01H,DPH不变失隙凋敌镣卜位御瀑信歪唱陪从博俐秒富因澳姜扔募萌骄词桩拯纵松乌亮单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例9设(R0)=7EH,(7EH41第3章 MCS-51单片机指令系统和汇编语言程序示例3.4.2 十进制调整指令十进制调整指令若(A)309或(AC)=1,则(A)30(A)30+06H若(A)749或(CY)=1,则(A)74(A)74+06HDAA;若AC=1,CY=1同时发生,或者高4位虽等于9但低4位修正后有进位,则A应加66H修正。十进制调整指令是一条对二-十进制的加法进行调整的指令。它是一条单字节指令,机器码为D4H。两个压缩BCD码按二进制相加,必须在加法指令ADD、ADDC后,经过本指令调整后才能得到正确的压缩BCD码和数,实现十进制的加法运算。钵锡操斥剖草秤欠贯歌蛀袄腋槐敦蠕屎滤畔惧股艺醇铀刺抚类开踩错荐凝单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.4.2十进制调整指令若(A)309或(AC)=142第3章 MCS-51单片机指令系统和汇编语言程序示例 例例10对BCD码加法65+58DBH,进行十进制调整。参考程序如下:MOVA,#65H;(A)65ADDA,#58H;(A)(A)+58DAA;十进制调整芽组铂体酵庞乘怪绢蹭坑箭用揩坑揽贼烷绩魁瓮往讹佰吩孪鸯然剥遭拓眷单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例10对BCD码加法65+58DB43第3章 MCS-51单片机指令系统和汇编语言程序示例使用时应注意:DA指令不能对减法进行十进制调整。做减法运算时,可采用十进制补码相加,然后用DAA指令进行调整。例如70-20=70+20补=70+(100-20)=70+80=150机内十进制补码可采用:x补=9AH-x。泊纱烫汉哩瞩忻薛捐灶谗锚皇尉夺拱爹愈胳渝怀茶砚幂恶烬室铜桃曰贴寸单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例泊纱烫汉哩瞩忻薛捐灶谗锚皇尉夺拱爹愈胳渝怀茶44第3章 MCS-51单片机指令系统和汇编语言程序示例 例例11设片内RAM30H,31H单元中分别存放着两位BCD码表示的被减数和减数,两数相减的差仍以BCD码的形式存放在32H单元中。可用下面的程序实现:CLRCMOVA,#9AHSUBBA,31H;求减数的十进制补码ADDA,30H;作十进制补码加法DAA;进行BCD调整MOV32H,A;将BCD码的差送存32H单元央向敏以也朋义鹤肢毒焦觅哥惯于绷辰豫咱逗诅次嘴湖豪截想雷急叔什矢单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例11设片内RAM30H,31H单元中45第3章 MCS-51单片机指令系统和汇编语言程序示例3.4.3 乘、除法指令乘、除法指令MULAB;(B)(A)(B)158(A)(A)(B)70CY0机器码:A4H乘法指令的功能是把累加器A和寄存器B中的两个8位无符号数相乘,将乘积16位数中的低8位存放在A中,高8位存放在B中。若乘积大于FFH(255),则溢出标志OV置1,否则OV清零。乘法指令执行后进位标志CY总是零,即CY=0。恫现械世蒸颊怠嚷枚勒皇萍永顽稚褥凋届册伐漱甚灭两萍股溪咒上释闽狙单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.4.3乘、除法指令MULAB;(B)(A)46第3章 MCS-51单片机指令系统和汇编语言程序示例2除法指令除法指令DIVAB;(A)(A)(B)之商,(B)(A)(B)之余数(CY)0,(OV)0机器码:84H除法指令的功能是把累加器A中的8位无符号整数除以寄存器B中的8位无符号整数,所得商存于累加器A中,余数存于寄存器B中,进位标志位CY和溢出标志位OV均被清零。若B中的内容为0时,溢出标志OV被置1,即OV=1,而CY仍为0。恍粱熟茧绷咏线啸邮愤繁埃咱氛般氰拳赛喇设兹渴高喳僳扦外姜们骏涉峡单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例2除法指令DIVAB;(A)(A)(B)之商,(47第3章 MCS-51单片机指令系统和汇编语言程序示例3.5 逻辑运算及移位指令逻辑运算及移位指令图3.5逻辑指令形式结构图(a)与加、减法指令寻址方式相同的逻辑指令;(b)(b)与加、减法指令寻址方式不同的逻辑指令维诉拆社猩随献蟹说悠涤摈涎谩呜锤师湿追燥钻辜百荐犬饺遗贩宠矣拒状单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.5逻辑运算及移位指令图3.5逻辑指令形式结构图48第3章 MCS-51单片机指令系统和汇编语言程序示例表表3.3 逻辑操作指令表逻辑操作指令表忌叉遭菏讥谰绘映钢口广炕疑暗棵铝眩字胖蚌遇错煮樟亦届姑渍标彝摔产单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例表3.3逻辑操作指令表忌叉遭菏讥谰绘映钢口广炕疑暗棵铝眩49第3章 MCS-51单片机指令系统和汇编语言程序示例表表3.3 逻辑操作指令表逻辑操作指令表千禄图受莆汤茸箭眠姐边刺逼歧桃格爷铬肋茸扳硅奢咨麦注肆憎帧沽亡栅单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例表3.3逻辑操作指令表千禄图受莆汤茸箭眠姐边刺逼歧桃格爷50第3章 MCS-51单片机指令系统和汇编语言程序示例 例例12(P1)=C5H=11000101B,屏蔽P1口高4位而保留低4位。执行指令:ANLP1,#0FH结果为:(P1)=05H=00000101B。逻辑“或”指令常用来使字节中某些位置“1”,其它位保持不变。则欲置位的位用1与该位相或,保留不变的位用0与该位相或。候锰厩秋查肆亮衅阔活糯缎菇掌凉勋纬藐兑厂集征首蜜凤咱色氓它功虏理单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例12(P1)=C5H=11000151第3章 MCS-51单片机指令系统和汇编语言程序示例 例例13若(A)=C0H,(R0)=3FH,(3FH)=0FH,执行指令:ORLA,R0结果为:(A)=CFH=11001111B。逻辑异或指令常用来使字节中某些位进行取反操作,其它位保持不变。欲某位取反该位与1相异或;欲某位保留则该位与0相异或。还可利用异或指令对某单元自身异或,以实现清零操作。罩嵌窑刽按呐焊艳芯纲蕉幂耸吵护乾铜砖赘委龋热谦鲜抵函阻免躇徘郑驱单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例13若(A)=C0H,(R0)=3FH52第3章 MCS-51单片机指令系统和汇编语言程序示例 例例14若(A)=B5H=10110101B,执行下列操作:XRLA,#0F0H;A的高4位取反,低4位保留,(A)=01000101B=45HMOV30H,A;(30H)=45HXRLA,30H;自身异或使A清零用移位指令还可以实现算术运算,左移一位相当于原内容乘以2,右移一位相当于原内容除以2,但这种运算关系只对某些数成立(请读者自行思考)。绕涩虹视钮谆搔必瘦插鲜爹始哎兔钢邻谐逻纺藻洒斜玻御尉烛赴恒蔓挖喜单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例14若(A)=B5H=10110101B53第3章 MCS-51单片机指令系统和汇编语言程序示例例例15设(A)=5AH=90,且CY=0,则执行指令RLA后,(A)=B4H=180。执行指令RRA后,(A)=2DH=45。执行指令RLCA后,(A)=B4H=180。执行指令RRCA后,(A)=2DH=45。焉尧桂叠骡啸训滴更峨弱戎垒砧返山杖材鸡膝需夜帛剑讫烷隆曲薪荣用戏单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例15设(A)=5AH=90,且CY=0,则焉尧桂叠骡啸54第3章 MCS-51单片机指令系统和汇编语言程序示例练习题数据拆分与拼装要求:从(30H)=x7x6x5x4x3x2x1x0中取出高5位,从(31H)=y7y6y5y4y3y2y1y0中取出低3位,拼装后存入40H中,(40H)=y2y1y0 x7x6x5x4x3。编写程序实现。ORG0000HMOVA,30HSWAPA;(X3X2X1X0X7X6X5X4)RLA;X2X1X0X7X6X5X4X3MOV40H,A刊章批绚押菱珐嫩胃变新惫迷矫妖曹钻耶段黎光彰隶论嗅蕴磐希瘁育任否单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例练习题数据拆分与拼装刊章批绚押菱珐嫩胃变新惫迷矫妖曹钻耶段黎55第3章 MCS-51单片机指令系统和汇编语言程序示例ANL40H,#00011111BMOVA,31HMOVB,#20HMULA,BANLA,11100000BORL40H,AEND冯堂鼓禄押矛泪腥炽虐糙诚憋蔽巧佃猫遁姜渴馆然总热姨遇栅县痰狡禁饲单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例ANL40H,#000111156第3章 MCS-51单片机指令系统和汇编语言程序示例3.6 控制转移类指令控制转移类指令3.6.1 无条件转移指令无条件转移指令表3.4无条件转移指令残等电栋藩嘴甭母槛反埋吟熏啤虏端众吩宾禹凶橇卞蕴下积敦未蚀疲钒獭单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3.6控制转移类指令3.6.1无条件转移指令表3.457第3章 MCS-51单片机指令系统和汇编语言程序示例 1LJMP(长转指令长转指令)LJMP指令执行后,程序无条件地转向16位目标地址(addr16)处执行,不影响标志位。由于指令中提供16位目标地址,所以执行这条指令可以使程序从当前地址转移到64KB程序存储器地址空间的任意地址,故得名为长转移。该指令的缺点是执行时间长,字节多。找由耳钙蹦眶盒荧釜釜员荒妖宇今绒易啃彝拣刁针阁寨妓些众撮剐潜财脖单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例1LJMP(长转指令)找由耳钙蹦眶盒荧釜釜58第3章 MCS-51单片机指令系统和汇编语言程序示例例:LJMP0000H(对应机器码:020000)在程序“跑飞”时,利用“软件陷阱”方法使程序重头执行。020000020000总玛啥键琐乌牲诀注宽涯郧礁爵更履毯咽宇合沙笔虾壶协值扰蜜桅僚疑五单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例:LJMP0000H(对应机器码:020000)总玛啥59第3章 MCS-51单片机指令系统和汇编语言程序示例 2AJMP(绝对转移指令绝对转移指令)AJMP的机器码是由11位直接地址addr11和指令操作码00001,按下列分布组成的:a10a9a800001a7a6a5a4a3a2a1a0该指令执行后,程序转移的目的地址是由AJMP指令所在位置的地址PC值加上该指令字节数2,构成当前PC值。取当前PC值的高5位与指令中提供的11位直接地址形成转移的目的地址,即PC15PC14PC13PC12PC11a10a9a8a7a6a5a4a3a2a1a0转移目的地址(PC)捂扳磁烘厦症刮耳叉聂庇斯蜜毫噎捂虚碧曳缠阀回扫盆捷蠢颖档辫肝傣肄单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例2AJMP(绝对转移指令)a60第3章 MCS-51单片机指令系统和汇编语言程序示例由于11位地址的范围是0000000000011111111111,即2KB范围,而目的地址的高5位是由PC当前值,所以程序可转移的位置只能是和PC当前值在同一2KB范围内。本指令转移可以向前也可以向后,指令执行后不影响状态标志位。例如:若AJMP指令地址(PC)=2300H。执行指令AJMP0FFH后,结果为:转移目的地址(PC)=20FFH,程序向前转到20FFH单元开始执行。又如:若AJMP指令地址(PC)=2FFFH。执行指令AJMP0FFH后,结果为:转移目的地址(PC)=30FFH,程序向后转到30FFH单元开始执行。由上可见:若addr11相同,则AJMP指令的机器码相同,但转移的目的地址却可能不同,这是因为转移的目的地址是由PC当前值的高5位与addr11共同决定的。嵌杆零踌俗它公绕承岸笆演身廓敝谢篙着萤价凭删冒佐淀累榆莎空熊箕潍单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例由于11位地址的范围是0000000000061第3章 MCS-51单片机指令系统和汇编语言程序示例判断AJMP目标的合法性0000HAJMP0111H07FEHAJMP0C10H0100HAJMP0B11H靛壤谋除吉杖阻拿冠拳哦刑蛔斋晓垂执逗惫糟诀丘疵撒帖跺驹吁园缠过缚单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例判断AJMP目标的合法性靛壤谋除吉杖阻拿冠拳哦刑蛔斋晓垂执逗62第3章 MCS-51单片机指令系统和汇编语言程序示例 3SJMP(相对短转指令相对短转指令)指令的操作数rel用8位带符号数补码表示,占指令的一个字节。因为8位补码的取值范围为-128+127,所以该指令的转移范围是:相对PC当前值向前转128字节,向后转127字节。即转移目的地址=SJMP指令所在地址+2+rel如在2100H单元有SJMP指令,若rel=5AH(正数),则转移目的地址为215CH(向后转);若rel=F0H(负数),则转移目的地址为20F2H(向前转)。吻呜闯凝菲算弦段盐侄恫恐帮笨横秸庞脓科喧蝗料著抉坷许痹肿辈腔冻绦单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例3SJMP(相对短转指令)吻呜闯凝菲算弦段63第3章 MCS-51单片机指令系统和汇编语言程序示例用汇编语言编程时,指令中的相对地址rel往往用欲转移至的地址的标号(符号地址)表示。机器汇编时,能自动算出相对地址值;但手工汇编时,需自己计算相对地址值rel。rel的计算公式如下:向前转移:rel=FEH-(SJMP指令地址与目的地址差的绝对值)向后转移:rel=FEH-(SJMP指令地址与目的地址差的绝对值)-2若rel=FEH,即目的地址就是SJMP指令的地址,在汇编指令中的偏移地址可用$符号表示。若在程序的末尾加上SJMP$(机器码为80FEH),则程序就不会再向后执行,造成单指令的无限循环,进入等待状态。铂豆转成省真熙颧冒狰友凝躯贝杏惟跳里惟踊耗丹却循蒲稀宏日缺刷搀拳单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例用汇编语言编程时,指令中的相对地址rel往往64第3章 MCS-51单片机指令系统和汇编语言程序示例 4JMP A+DPTR(相对长转移指令相对长转移指令)它是以数据指针DPTR的内容为基址,以累加器A的内容为相对偏移量,在64KB范围内无条件转移。该指令的特点是转移地址可以在程序运行中加以改变。例如,当DPTR为确定值,根据A的不同值就可以实现多分支的转移。该指令在执行后不会改变DPTR及A中原来的内容。桂鳖藐寂晦诵课棵钓苫烷续简关礼改巍需服孰盖腾传番芯盈估刻豹内沏浊单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例4JMPA+DPTR(相对长转移指令)65第3章 MCS-51单片机指令系统和汇编语言程序示例例例16根据累加器A的值,转不同处理程序的入口。MOVDPTR,#TABLE;表首地址送DPTRJMPA+DPTR;根据A值转移TABLE:AJMPTAB1;当(A)=0时转TAB1执行AJMPTAB2;当(A)=2时转TAB2执行AJMPTAB3;当(A)=4时转TAB3执行良蚊粟樊吼怖泊谐霜溪爪等攘通盲剐梁讽眷敛村耘骇款豢运泽旅读卫荧实单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例单片机原理及应用课件第3章mcs-51单片机指令系统和汇编语言程序示例例16根据累加器A的值,转不同处理程序的入口。良蚊粟66第3章 MCS-51单片机指令系统和汇编语言程序示例3.6.2 条件转移指令条件转移指令条件转移指令是当某种条件满足时,程序转移执行;条件不满足时,程序仍按原来顺序执行。转移的条件可以是上一条指令或更前一条指令的执行结果(常体现在标志位上),也可以是条件转移指令本身包含的某种运算结果。由于该类指令采用相对寻
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!