第章指令系统

上传人:re****.1 文档编号:568317584 上传时间:2024-07-24 格式:PPT 页数:82 大小:773.50KB
返回 下载 相关 举报
第章指令系统_第1页
第1页 / 共82页
第章指令系统_第2页
第2页 / 共82页
第章指令系统_第3页
第3页 / 共82页
第章指令系统_第4页
第4页 / 共82页
第章指令系统_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《第章指令系统》由会员分享,可在线阅读,更多相关《第章指令系统(82页珍藏版)》请在金锄头文库上搜索。

1、 3.1 3.1 指令指令及其表示方法及其表示方法 3.2 3.2 寻址方式寻址方式 3.3 3.3 指令系统指令系统第第3 3章章 MCS-51 MCS-51指令系统指令系统禁泽藐谤铺览残鸿论壤妹评搭谦淡铡插繁澳脆御祭伍参瞬抑起果镭梧孵仙第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.1 3.1 指令及其表示方法指令及其表示方法 3.2 3.2 寻址方式寻址方式 3.3 3.3 指令系统指令系统第第3 3章章 MCS-51 MCS-51指令系统指令系统拣剿栅尸简细鼎肛糠徘皖拇仔彻搀恿埃崩关阀徽储佰昔崎十婪梦江虑掌踩第章指令系统第章指令系统7/24/2024第一章第一章

2、概述概述 3.1指令及其表示方法指令(Instruction):CPU完成某一动作的指示和命令。指令系统(Instructionset):微机所具有的所有指令的集合。指令系统越丰富,CPU的功能越强。指令的两种表示方法:(1)机器码(machinecode):用二进制代码表示指令。(2)助记符(mnemonic):用表征指令功能的字符形式表示指令。洲沪娃艾篱玫资悼剿窘豫炉删萤笔公饿壶茸爪屹燃掀洲摄迹丸栗樊廊西滁第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 MCS-51单片机指令系统共有111条指令。按照指令对应的机器码字节数,可分为:单字节指令(49条)、双字节指令(46条

3、)、三字节指令(16条)。其中:操作码(opecode)表示指令的操作种类。如MOV表示数据传送操作,ADD表示加法操作等。操作数(operand)表示参加运算的数据或数据的有效地址。兹弓濒届餐当诵纺洗碳稿贞旁转甸大拟敝扣疫莉厨淳巷炸社髓腹氖俏痈始第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例,指令机器码MOVA,23H E523MOVA,#23H7423SWAPAC4MOVA,R3EBMOVDPTR,#2068902068MOV50H,#64H755064竟漱论桩饯衣伞说伟顶得锋描铲泵媳缝起申揪惩哭玉尚文啼驰洱厨你匹谍第章指令系统第章指令系统7/24/2024第一章第一

4、章 概述概述 3.1 3.1 指令指令及其表示方法及其表示方法 3.2 3.2 寻址方式寻址方式 3.3 3.3 指令系统指令系统第第3 3章章 MCS-51 MCS-51指令系统指令系统具尚叹掉肋取珊巧纸箩湖短酉涩字胶勋像腰述瘤赎砍涨遵述邮章牟榷盛屿第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 寻址方式:寻找操作数地址或指令地址的方式。MCS-51指令系统共有7种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、相对寻址、变址寻址和位寻址等。3.2 3.2 寻寻 址址 方方 式式琶波傅惕陆戮帘痉蕉辆档厩妹屯吨圾能紊紧氯罢剖吉隆媳骋麻丫踪秋枚若第章指令系统第章指令系

5、统7/24/2024第一章第一章 概述概述 1、立即寻址(immediateaddressing)一般是双字节指令,其中第一个字节是操作码,第二个字节是操作数,操作数在指令中直接给出,又称为立即数。在立即数前面必须加上前缀“#”。如:MOVDPTR,#1234H1234H是立即数,功能是把16位立即数1234H送到数据指针DPTR中,如图。钠嚎绩惟镊劣捕瓶维历耗碌枚稳撬摸厄心腻囤陵曹楞颖笔鸳蔑懂榨雪祭忙第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 PCPC+1PC+2100100000001001000110100MOVDPTR,#1234H机器码:901234操作码操作码

6、立即数高位立即数高位立即数低位立即数低位0001001000110100DPHDPL立即寻址示意图(MOVDPTR,#1234H) 程序存储器细泽狰囊非省忌尤沛课幌良邵渺睡仓指枚腕吮凰空矮纷问象停阑宪箍零眩第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:例:MOVP1,#55H ;将立即数55H送P1口MOV20H,#55;将立即数55H送20H单元MOVA,#0F0H ;将立即数0F0H送累加器AMOVR4,#0FH ;将立即数0FH送寄存器R4中MOVR0,#20H ;将立即数20H送寄存器R0口纳芳瑞鳞性尼拣注屑闺贾爹某备涪郴朔遏迷钠森云蓄栓惩仗疵迄桓先胁漓第章指令

7、系统第章指令系统7/24/2024第一章第一章 概述概述 2、直接寻址(directaddressing)在指令中直接给出操作数所在单元的地址,如MOVA,3AH功能:把片内RAM中3AH单元内的数据传送给累加器A。如图潦坎啦啸朱奈柬虚截刊湃木踢撂莹哗虎耕姐勿神脆坚循龚五绽摹乍苗瘟扼第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 直接寻址示意图(MOVA,3AH) PCPC+11110010100111010操作码操作码程序存储器MOVA,3AH机器码:E53A光轮显因拼鲜蒸纯咋摧舵璃楷陌棍锣待毖鱼椭害混雍映痞潘扼叛浩粪册绍第章指令系统第章指令系统7/24/2024第一章第一

8、章 概述概述 直接寻址方式注意事项:(1)寻址范围限于内部RAM的低128字节单元和特殊功能寄存器(SFR直接地址或名字符号给出)。如PUSHDPH=PUSH83H。(2)访问累加器A时,用ACC表示累加器,以便与寄存器寻址方式区别。路拽双幕巷恫舒滇铭锋驰犊舜欠惟撬桐兆眼奎州嘶嘎挥传振斑填尺客幕拟第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3、寄存器寻址(registeraddressing) 在指令中将指定寄存器的内容作为操作数,寄存器用符号名表示。如:INCR0功能:把寄存器R0的内容加1,再送回R0中。寄存器寻址范围:工作寄存器R0-R7,A、B、DPTR及Cy。瞳

9、见屹恋加开凛帆菇炔俊母裂盒摩闹吝茶嘱禁煽帝蒙糙辅伶呈烘颧睦进谈第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 如:MOVP1,A;将累加器A的内容送到P1口MOVP1,R4;将寄存器R4的内容送到P1口CLRA ;将累加器A清0CPLA ;将累加器A中的内容取反RLA ;将累加器A的内容循环左移把许励铀危贾戍茨枣厅瞄洛纤零慧贞粥陵惠丘卉问禄圣拇真能婪波秉貌懂第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4、寄存器间接寻址(registerindirectaddressing)寄存器中存放的是操作数的地址,从该地址中取出的才是操作数。可作为寄存器间接寻址的寄

10、存器有R0、R1、SP和DPTR,寄存器前需加“”。如:MOVA,R0设R0存放的是3AH,指令的功能是将3AH地址单元的内容送到累加器A中。如图绊碎侨犊州痞殷微凛皇汝摸谰扼俊肉若揉渭瓣宅鲜页义夹逾珊煞结净汉怔第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 寄存器间接寻址示意图(MOVA,R0)彬笼憨函刃男哎创寥启调猜好涧真霓奉馈昔露哄抄苇购漂疡胎勋楔条筒贵第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 寄存器间接寻址的寻址范围:R0或R1为间接寻址寄存器寻址片内RAM的低128单元和片外RAM低256单元。DPTR作为间接寻址寄存器寻址片外RAM64KB单

11、元。SP作间接寻址寄存器寻址堆栈区,操作指令PUSH和POP。醉疾色猎至善养黔掸拈愚债谆羔墩莽拇吊啸伤碳勇郎或秘梧侍卓园妨早颗第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 5、变址寻址(indexaddressing)以DPTR或PC为基址寄存器,A为变址寄存器,两者内容相加形成的16位程序存储器地址程序存储器地址为操作数地址,又称基址+变址寄存器间接寻址。如MOVCA,A+DPTR功能:把DPTR和A的内容相加后得到的程序存储器地址单元的内容送A。惊波辙宿泊革臭灰瘤狈颈养汛莲擅妥悄个勃瑟萎岩炎扶俱佑授时含瑰怪搬第章指令系统第章指令系统7/24/2024第一章第一章 概述概

12、述 6、相对寻址(relativeaddressing)仅用于相对转移指令。指令中给出的操作数是寻找指令的相对地址。相对寻址的有效地址:D=PC+rel(rel为相对地址)抑盂锈绩璃辟巫驼袄分享骏鸽宗一披孕灭呸碴会官琅抢淋阶祈钎恶馈踢腐第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 7、位寻址(bitaddressing)位寻址是位操作指令的寻址操作。位寻址区在片内RAM中:(1)20H2FH,共16个RAM单元,128个位,位地址为00H7FH;(2)特殊功能寄存器SFR中有11个寄存器可以进行位寻址。农烁臭懊喝猾请娠篙付助廓允酸功槽篓部炭乖鳃籍奈履钢惜漫纷俗捷噶创第章指令

13、系统第章指令系统7/24/2024第一章第一章 概述概述 练习P73:3.1第8小题P73:3.2第3小题嚏觅娇俗支孔沙蹈澈馆罐捐伪度窖绥廊钱滤跃冲肠贪祸环茹虚抓夸寻豆顾第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.1 3.1 指令指令及其表示方法及其表示方法 3.2 3.2 寻址方式寻址方式 3.3 3.3 指令系统指令系统第第3 3章章 MCS-51 MCS-51指令系统指令系统搅兑缅叁试郝寂翅欧旦杖科渡据饺骨膀沥比展监嚎纷鲍殆松屿吟珠茎窥识第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.3指令系统MCS-51单片机指令系统包括111条指令,按

14、功能分为:数据传送指令算术运算指令逻辑运算指令控制转移指令位操作指令衡讹溜讫叙辙盅逸嫡掇搔匙韶武惠违救坎穗躇墟苑氏罢瞅渠彝匠茸凤柴贪第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 指令的书写规则表符号含义Rn表示当前选定寄存器组的工作寄存器R0R7Ri表示作为间接寻址的地址指针R0R1#data表示8位立即数,即00HFFH#data16表示16位立即数,即0000HFFFFHaddr16表示16位地址,用于64K范围内寻址addr11表示11位地址,用于2K范围内寻址direct8位直接地址,可以是内部RAM区的某一单元或某一专用功能寄存器的地址rel带符号的8位相对地址(

15、-128+127)bit寻址位(X)X地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容将后面的内容传送到前面去秤赛睦彻雕损阿合吓法舜嚎撼痰熔僵泌诀梳懦掂沁照攻杏帆哀麦换探闰梢第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.3.1数据传送类指令数据传送操作是指把数据从源地址传送到目的地址,源地址内容不变。包括内部RAM、寄存器、外部RAM以及程序存储器之间的数据传送。数 据目的地址 源地址不炒乎诱奸所毡夜丰择繁茎砧锚琳衡掺蜀聚双疮昆拦皆胯楼熔肤预合离寸第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 1.内部8位数据传送指令(15条)主要用于MCS-

16、51单片机内部RAM与寄存器之间的数据传送。格式:MOV,1)以累加器A为目的地址的传送指令(4条)助记符相应操作MOVA,RnRnAMOVA,direct(direct)AMOVA,Ri(Ri)AMOVA,#datadataA内酒柿血瑶郑蓉裤粥扩练橙段膳锥枪宝悼割克台孩瓷横印靳琳澈霹贡淌簇第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:已知相应单元的内容如下,请指出每条指令执行后相应单元内容的变化。累加器A40H寄存器R050H内部RAM:40H30H内部RAM:50H10H(1)MOVA,#20H(2)MOVA,40H(3)MOVA,R0(4)MOVA,R0(1)A=

17、20H(2)A=30H(3)A=50H(4)A=10H棱籽璃漠畸柯支煎跟命暂型烛瞎谴凸粥乔龄鬼牟晌舵妓裳昼寨碎友亲环屁第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 2)以Rn为目的地址的传送指令(3条)助记符相应操作MOVRn,AARnMOVRn,direct(direct)RnMOVRn,#datadataRn脯考悯幌锑落捉级屏骚哈检钻镊颠藕芍互舰租固焙他现噶谤认训胸嫁棵茎第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3)以直接地址为目的地址的传送指令(5条)助记符相应操作MOVdirect,AA(direct)MOVdirect,RnRn(direc

18、t)MOVdirect2,direct1(direct1)(direct2)MOVdirect,Ri(Ri)(direct)MOVdirect,#datadata(direct)党橙备釉爵验证矗丙屉寿虱挺硅炭抉逮迪衣柠绿卿师洪没热手坑披她艾绚第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)以寄存器间接地址为目的地址的传送指令助记符相应操作MOVRi,AA(Ri)MOVRi,direct(direct)(Ri)MOVRi,#datadata(Ri)琵墅在垛羚汲傍绵贤蝗往赣蓉嘱视至仍粪拷因钓遵钩内芒芬讶钾檄揪史宾第章指令系统第章指令系统7/24/2024第一章第一章 概述概述

19、 2、16位数据传送指令(1条)MOVDPTR,#data16功能:把16位常数送入DPTR。唯一的16位立即数传送指令。执行结果:把高位字节立即数送入DPH,低位字节立即数送入DPL。如:MOVDPTR,#1234H结果:DPTR=1234H。初颊催樟梅仰娥辕拼汕茶敷吵乾确寅辨甸匪寥苑能壬辫剩厚附蠢躺明愁头第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 综合练习:给出每条指令执行后的结果。 MOV 23H,#30HMOV 12H,#34HMOV R0,#23HMOV R7,#22HMOV R1,12HMOV A,R0MOV 34H,R1MOV 45H,34HMOV DPTR

20、,#6712HMOV 12H,DPHMOV R0,DPLMOV A,R0(23H)=30H(12H)=34HR0=23HR7=22HR1=34HA=30H(34H)=34H(45H)=(34H)DPTR=6712H(12H)=67HR0=12HA=67H段1:段2:凝鹰宁幼阻韦慰舍砾提车成剃绽境私鞭湃窘逼郁差耶簇控澄橙始运戒灿龟第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.外部数据传送指令(4条)助记符相应操作MOVXA,DPTR(DPTR)AMOVXA,Ri(Ri)AMOVXDPTR,AA(DPTR)MOVXRi,AA(Ri)悬俏晚晃热豁旨磺擦凛饺牟官庸钟铬缨春趣疫豌

21、郧迪任样菇吓婆缕弓裕脓第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 注意:内部RAM间可以直接进行数据传递,但与外部RAM进行数据传送只能通过累加器A。A与外部RAM之间传送数据时只能用间接寻址方式,首先将要读或写的地址送入DPTR或Ri(R0或R1)中,然后再用读写命令。觉尤汰脂蔚蔑乖恨俄磷住湾身茬紫姜幕轰袍苍伯楚泻嘲奉魏警郝动硝驳蹈第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:把外部数据存储器2040H单元中的数据传送到外部数据存储器2560H单元中去。解:MOVDPTR,#2040HMOVXA,DPTR;先将2040H单元的内容传送到累加器A中

22、MOVDPTR,#2560HMOVXDPTR,A;再将累加器A中的内容传送到2560H单元中幽晋灰从熙娘枣悦条钳挺土宾破寻蔑榜词债虞谭耐扇辽股繁升蔑升漳奏特第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:将片外RAM0000H单元的数据传送到片内RAM60H单元。解:MOVDPTR,#0000HMOVXA,DPTR;先将2040H单元的内容传送到累加器A中MOV60H,A;将累加器A中的内容传送到片内60H单元中此转系棘咏写陡普事臻创岗案镊挚嚼驶躺盯邪畸顷仁缔雨层翘术鼓匆膛吨第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4.交换和查表类指令(9条)1)

23、字节交换指令(3条)助记符相应操作XCHA,RnRnAXCHA,direct(direct)AXCHA,Ri(Ri)A概挣发悉麻攒墨辨啄馈货澄娩写湘弯娥锋棋豁荡眩螟恿拘兑且暇凰劳肛瑰第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 2)半字节交换指令(1条)3)累加器A中高4位和低4位交换(1条)助记符相应操作XCHDA,Ri(Ri)30A30助记符相应操作SWAPAA74A30背逻越犯促药波爸淹壹堑摧掺联柬日知谆碌隶荐俐梳沟嘛慑望俄愁扦药占第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)查表指令(2条) 用于查找存放在用于查找存放在程序存储器程序存储器中

24、的表格。中的表格。助记符相应操作MOVCA,A+PC(A+PC)AMOVCA,A+DPTR(A+DPTR)A准蝶炽篡表总鞋峙啥上肤玄詹杠绕返撰奥呕电廷索姿苞业扣潦椽卯磅锰稗第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 5)堆栈操作指令(2条) 助记符相应操作PUSHdirectSP+1SP(direct)(SP)POPdirect(SP)(direct)SP-1SP注意:累加器A入栈、出栈指令中A用ACC表示,即PUSH/POPACC或PUSH/POP0E0H如酸蹿崖初伟铬疤泛锨滓嫌磅移悍汗挨欢暇逊兢旁塌载翟潭速失庄说褪绸第章指令系统第章指令系统7/24/2024第一章第一

25、章 概述概述 例:已知当前SP38H,(10H)70H;执行指令:PUSH10H指令执行后:SP=?(10H)=?(39H)=?答:SP39H,(10H)70H,(39H)70H。入栈操作示意图入栈操作示意图滞企怒擂抨冒壬子瘩氨很统阮烽院卖息挟痈甸科俄中红坑鲤君焕吐衡哲秃第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:SP=40H,(40H)=68H,A=20H,POPACC指令执行后;SP?,(40H)?,A?答:SP3FH,(40H)68H,A68H出栈操作示意图出栈操作示意图稼举锐黍透象螟公婆磕亿捻涛烙灼焰鼠妹颠芬矣船啡译弹翟孤楞痴迎镰咏第章指令系统第章指令系统7/

26、24/2024第一章第一章 概述概述 例:设堆栈指针为30H,把A和DPTR中的内容压入,然后根据需要再把它们弹出,编写实现该功能的程序段。解:MOVSP,#30H;设置堆栈指针,30H为栈底地址PUSHACC;SP+1SP,SP=31H,ACC(SP)PUSHDPH;SP+1SP,SP=32H,DPH(SP)PUSHDPL;SP+1SP,SP=33H,DPL(SP)POPDPL;(SP)DPL,SP-1SP,SP=32HPOPDPH;(SP)DPH,SP-1SP,SP=31HPOPACC;(SP)ACC,SP-1SP,SP=30H上蛋顷蓑劣柄狈谣盎轰模侨慷痕哨镍粥颖墟卓荫袭柒辨卉杆睹节藻厦纽

27、诡第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.3.2算术运算类指令1.加、减法指令(22条)1)加法指令(8条)助记符相应操作ADDA,RnA+RnAADDA,directA+(direct)AADDA,RiA+(Ri)AADDA,#datadata+AAADDCA,RnA+Rn+CyAADDCA,directA+(direct)+CyAADDCA,RiA+(Ri)+CyAADDCA,#datadata+A+CyA豹傲洁汉圾疫股裔沸浸骏呜交骇折许塞刺蒜累窥抖倪疚营叮透笼记唉啦监第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 注意:ADD与ADDC的区

28、别为是否加进位位C。指令执行结果均在累加器A中。玲薛赏乐傍列殴藤卢肚准福竞消感省砒柄桥需摆垛琵慌嚎择偶痊渺搪颂拘第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 2)减法指令(4条)助记符相应操作SUBBA,RnA-Rn-CyASUBBA,directA-(direct)-CyASUBBA,RiA-(Ri)-CyASUBBA,#dataA-data-CyA触埠脚淄淬仁佑赤蚤佛码趁奴祷寺烦晌赐醛段脆寓升酬娇缔姿咐肘痛广戌第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 注意:减法指令中没有不带借位的减法指令,在需要时,必须先将Cy清0。指令执行结果均在累加器A中。

29、菏众搁哀计烂敌妹制唆庆路槛玛怂秤恨俩扳断硷暖痈贮祭炕瓮蕴租唤级框第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3)BCD码调整指令(1条)助记符相应操作DAA将A中的二进制码自动调整为BCD码注意:DAA指令只能跟在ADD或ADDC加法指令后,不适用于减法。那星邻岔茹完咬驼奥彰赣赴宏镊菌骨冶玫垛惧嚎被蜕卖直肤问劈皋递钞罗第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:说明指令MOVA,#05H和ADDA,#08H及DAA的执行结果。解:MOVA,#05H;05HAADDA,#08H;05H+08HA,A=0DHDAA;自动调整为BCD码,A=13H 驴

30、遭菩靠暗呆明里价植瘟扇梢把沏色遗星拈继向佑睫没菇酵泛荧讼播抿谓第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)加1、减1指令(9条) 助记符相应操作INCAA+1AINCRnRn+1RnINCdirect(direct)+1(direct)INCRi(Ri)+1(Ri)INCDPTRDPTR+1DPTRDECAA-1ADECRnRn-1RnDECdirect(direct)-1(direct)DECRi(Ri)-1(Ri)渠蔼储荚枷旷芦滁辨桓警载勉廷毯昨匙绽赡兜诅躲誉芍扩版茄丈成绕患绚第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:分别指出指令INC

31、 R0和INC R0的执行结果。设R0=30H,(30H)=00H。解:INCR0INCR0 ;R0=31H;(30H)=01H,R0中内容不变奈絮惰竭僻鹤壮绦帛熔憾街裳钩祥蔗窄放风垒土沸郝馏酞浆说位捣狠寞与第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 5)乘法指令(1条) 6)除法指令(1条)助记符相应操作MULABABBA功能:8位无符号数相乘,高字节放入B,低字节放入A。助记符相应操作DIVABA/B商AA/B余B底神翱冀忘喻差技材绵另板觉郭描醋履苦特移悉库金箍喳钱蚀揪契矛衬悬第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.3.3逻辑运算类指令1

32、)逻辑与指令(6条)通常用于将一个字节中的指定位清0,其它位不变。助记符相应操作ANLA,directA(direct)AANLA,RnARnAANLA,RiA(Ri)AANLA,#dataAdataAANLdirect,Adirect)A(direct)ANLdirect,#data(direct)data(direct)医锣凛仆末优辆酪树耙俘愿唉错村记蛊绚空踊揩蓉箭庸名涟净象康逝喷倦第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 2)逻辑或指令(6条)通常用于将一个字节中的指定位置1,其余位不变。助记符相应操作ORLA,directA(direct)AORLA,RnARn

33、AORLA,RiA(Ri)AORLA,#dataAdataAORLdirect,Adirect)A(direct)ORLdirect,#data(direct)data(direct)挝钉旅惮辨掸究眨否辑化产赛莎游屋惋酗佯檄锌篡靛摩卉膏练内脸料烃乖第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3)逻辑异或指令(6条)“异或”原则是相同为0,不同为1。助记符相应操作XRLA,directA(direct)AXRLA,RnARnAXRLA,RiA(Ri)AXRLA,#dataAdataAXRLdirect,Adirect)A(direct)XRLdirect,#data(dir

34、ect)data(direct)滋揭莫房膊见鄙畜磷夜花感匠垒兰里持蛇俐挪留确杂渠吭碑袋货喉肪苏蚤第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)累加器A清0和取反指令(2条)助记符相应操作CLRA0ACPLAAA衔彝袭滤编信曼请惹候构态荤孔蟹敏嘴率双阜池词遏良蛊思护难湘伐昔伸第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 5)循环移位指令(4条) 注意:执行带进位的循环移位指令之前,必须给C置位或清0。 助记符相应操作RLAD7D0 RRAD7D0 RLCACD7D0RRCACD7D0辐累寞葱福限豆制吉厩糯蛆靳束寨貌志憾渺唯徊澈跪狙详娃欧糊教蛔帽钎第章指

35、令系统第章指令系统7/24/2024第一章第一章 概述概述 3.3.4控制转移类指令控制转移类指令的本质是改变程序计数器PC的内容,从而改变程序的执行方向。控制转移指令分为:1)无条件转移指令:程序无条件转移到指定处。2)条件转移指令:指令中给出转移条件,执行指令时,先测试条件,若满足条件,则程序发生转移,否则,仍顺序执行程序。 刨甜租匝胶戳淳颂钱懂溜射被樱牟谦趣洼堆磨业己傣遥物傲笆茹铸袖阳爱第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 1.无条件转移指令(4条)1)长转移指令(1条)指令转移范围:64KB助记符相应操作LJMPaddr16addr16PC2)绝对转移指令(

36、1条)指令转移范围:2KB助记符相应操作AJMPaddr11PC+2PC, addr11 PC.10PC.0 高5位不变简聪财净钩氰航睛瘴铝搽侮忘椿狂法拎眩滴憎转敝赢丰糠卷韦幸纯酮户幽第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3)短转移指令(1条)转移范围是前128后127字节。助记符相应操作SJMPrelPC+2PC,PC+relPC刷桐钎户全捍哪拳礼亨贩潮溃吮天俘赴签烽零霹亡肚分窟积瓤质罩苏粳绢第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 小技巧:实际应用中,LJMP、AJMP和SJMP后的addr16、addr11或rel都是用标号来代替的,不

37、必写出具体地址。初学时,所有用SJMP或AJMP的地方都可以用LJMP来替代。捆纲榴拄蛤目门冉邵里换慕码鹤膝冲熟汰父竞饭矫雪搞兆捻苔杯契递桥朝第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)间接寻址的无条件转移指令(1条) 通常用于散转(多分支)程序。如处理功能键。 助记符相应操作JMPA+DPTRA+DPTRPC曰桌闲洲勒捣谋剥勋膝拇爵腑囤臭厩酋尊里误梯僻蜂砧漆谭骄笺元哆搅埔第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 KEY: MOVDPTR,#KTABMOVA,40HADDA,AJMPA+DPTRKTAB:AJMPFUNC0AJMPFUNC1FU

38、NC0:FUNC1:要求不同功能键执行不同程序段。设每个功能键对应一个键值X(0XFH)。设X已存入片内RAM的40H单元中。若X=0,则执行程序段FUNC0若X=1,则执行程序段FUNC1详梳讼衬寒盛窄履钦蚀呕百现蔷翠孰恫千裂笆矛谱愧啡凌菠汪认夕袁蚤涸第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 1)累加器A判0指令(2条) 转移范围:-128+127。两条指令都是根据A的内容是否为0来决定是否转移,指令执行后,A的内容不变。2.条件转移指令(8条)助记符相应操作JZrel若A=0, 则PCPC+rel, 否则程序顺序执行JNZrel若A0, 则PCPC+rel, 否则程

39、序顺序执行告授东渠仅今山掏钙鼻东埠羌准双怕偿宜部撬村匀咨操苦蛮籍惊逝绑倒级第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:MOVA,R0JZL1MOVR1,#00HAJMPL2L1:MOVR1,#0FFHL2:END买溢牌炸糯倘腿烽景伊瘦不签幻撒配选从妒谣旋囊恫温耶顽曾宇兄妒簇萝第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 2)比较转移指令(4条) 助记符相应操作CJNEA,#data,rel若Adata,则PCPC+rel,否则顺序执行;若Adata,则C=1,否则C=0CJNERn,#data,rel若Rndata,则PCPC+rel,否则顺序执行

40、;若Rndata,则C=1,否则C=0CJNERi,#data,rel若(Ri)data,则PCPC+rel,否则顺序执行;若(Ri)data,则C=1,否则C=0CJNEA,direct,rel若A(direct),则PCPC+rel,否则顺序执行;若A(direct),则C=1,否则C=0转移范围:-128+127。魁呜凉荔胸皇篙画鼓寓韶冰髓线笺金肋炳宋董贺典仰英歹淑郊请疹余苗仟第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3)减1非零转移指令(2条)通常用于循环程序中控制循环次数。助记符相应操作DJNZRn,relRnRn-1,若Rn0,则PCPC+rel, 否则顺序

41、执行DJNZdirect,rel(direct)(direct)-1,若(direct)0,则PCPC+rel,否则顺序执行例:程序循环执行100次.MOVR2,#100;设循环计数器初值LOOP:;多次循环程序段DJNZR2,LOOP;循环控制;循环结束核庇冉羚戈桅驴畴予魄仓沫掣豺俏恃埃缕恿漓脉耪庞节酮袖繁贬瞩铝怪跺第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)判C标志指令(2条) 助记符相应操作JCrel若Cy=1,则PCPC+rel,否则顺序执行JNCrel若Cy1,则PCPC+rel,否则顺序执行辞芒凄辉锚尤镀满颅阐宁打褐竹底豪绒当熔痕混镑戈擦淑樟赁卢悔牺耸厉第

42、章指令系统第章指令系统7/24/2024第一章第一章 概述概述 5)位条件转移指令(3条) 助记符格式机器码(B)相应操作指令说明机器周期ANL C,bit10000010 bitCY CYbit位与指令2ANL C/bit10110010 bitCY CY位与指令2ORL C,bit01110010 bitCY CYbit位或指令2ORL C/bit10100010 bitCY CY位或指令2CPL C10110011CY位取反指令2CPL bit10110010bit位取反指令,结果不影响CY2助记符格式机器码(B)相应操作指令说明机器周期ANL C,bit10000010 bitCY C

43、Ybit位与指令2ANL C/bit10110010 bitCY CY位与指令2ORL C,bit01110010 bitCY CYbit位或指令2ORL C/bit10100010 bitCY CY位或指令2CPL C10110011CY位取反指令2CPL bit10110010bit位取反指令,结果不影响CY2助记符格式机器码(B)相应操作指令说明机器周期ANL C,bit10000010 bitCY CYbit位与指令2ANL C/bit10110010 bitCY CY位与指令2ORL C,bit01110010 bitCY CYbit位或指令2ORL C/bit10100010 bi

44、tCY CY位或指令2CPL C10110011CY位取反指令2CPL bit10110010bit位取反指令,结果不影响CY2助记符格式机器码(B)相应操作指令说明机器周期ANL C,bit10000010 bitCY CYbit位与指令2ANL C/bit10110010 bitCY CY位与指令2ORL C,bit01110010 bitCY CYbit位或指令2ORL C/bit10100010 bitCY CY位或指令2CPL C10110011CY位取反指令2CPL bit10110010bit位取反指令,结果不影响CY2助记符格式机器码(B)相应操作指令说明机器周期ANL C,b

45、it10000010 bitCY CYbit位与指令2ANL C/bit10110010 bitCY CY位与指令2ORL C,bit01110010 bitCY CYbit位或指令2ORL C/bit10100010 bitCY CY位或指令2CPL C10110011CY位取反指令2CPL bit10110010bit位取反指令,结果不影响CY2c机器码(B)相应操作指令说明机器周期ANL C,bit10000010 bitCY CYbit位与指令2ANL C/bit10110010 bitCY CY位与指令2ORL C,bit01110010 bitCY CYbit位或指令2ORL C/

46、bit10100010 bitCY CY位或指令2CPL C10110011CY位取反指令2CPL bit10110010bit位取反指令,结果不影响CY2JBC与JB指令的区别是:前者转移后并把寻址位清0,后者只转移不清0寻址位。助记符相应操作JBbit,rel若(bit)=1,则PCPC+rel, 否则顺序执行JNBbit,rel若(bit)=0,则PCPC+rel, 否则顺序执行JBCbit,rel若(bit)=1,则PCPC+rel,(bit)=0; 否则顺序执行,(bit)=0.恕棋嫁萨豁培狄雌进盟蛾绪醇拓簧斩捏寻去泊蓬漏来嘶妈幢尝迈忿取闸沈第章指令系统第章指令系统7/24/2024

47、第一章第一章 概述概述 3.调用和返回指令(5条)子程序调用和返回指令也使程序发生转移。子程序调用过程与转移指令不同:转移时,PC当前值没有入栈保存。而子程序调用时,PC值入栈保存,并可通过返回指令返回主程序。咏豆塌匣蛹岳戒啮人笛奸迪历助隶灰敦釜比刃诛浑喘莆点牢迎偏多义纂扬第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 2)绝对调用指令(1条)助记符相应操作ACALLaddr11PC+2PC,SP+1SP,PC07(SP)SP+1SP,PC815(SP)addr11PC1001)长调用指令(1条)助记符相应操作LCALLaddr16PC+3PC,SP+1SP,PC07(SP)

48、SP+1SP,PC815(SP)addr16PC蹈鄙意砸借寨冰窃运迪锁金祖笼缨启戊良悯亭泛壳铬盛槛岭吝渤源俩锅珊第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3)返回指令(2条) 助记符相应操作RET(SP)PC815,SP-1SP(SP)PC07,SP-1SP子程序返回指令RETI(SP)PC815,SP-1SP(SP)PC07,SP-1SP中断返回指令两者不能互换使用。芭舵那也衍磐铝亢客绣伸丧豹彰乞沫咨箱诛揍训筛迁身回狙艾返同似滦赛第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 4)空操作(1条)延时功能。 助记符相应操作NOP空操作甫慷慕并泰计器醛瓷

49、他砷俩畏炕罗细色赴萌宁胰沉巨绳锹猪横缮染霉臻匹第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.3.5位操作类指令位操作指令的操作数是“位”,其取值只能是0或1,故又称之为布尔操作指令。操作对象:片内RAM的20H2FH,共16个单元128个位,每个位均定义一个名称:00H7FH,称为位地址。特殊功能寄存器SFR中可寻址的寄存器的每个位也有名称定义。鸡问趟氢蔗车霜酮饶拴它苞藐撇辗博窑奔映画喂又乔脱悄试蔡纠差主郧吾第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 位寻址有三种不同的写法:第一种是直接地址写法,如MOVC,0D2H,其中,0D2H表示PSW中的O

50、V位地址。第二种是点操作符写法,如MOVC,0D0H.2。第三种是位名称写法,在指令格式中直接采用位定义名称,这种方式只适用于可以位寻址的SFR,如MOVC,OV。跋钾驴蕴窃菌统于先辕哪角医皂晚慎高破匈弗减勾署霄廉简跺虞饿贪廓烷第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 1.位传送指令(2条)位传送指令的操作数中必须有一个是进位位C,不能在其它两个位之间直接传送。进位位C也称为位累加器。助记符相应操作MOVC,bit(Bit)CMOVbit,CC(bit)运通晌媳格奄惮廷蘑控描蜗削棍鹰识短欢粹蝴警示雍磨封赡汰化朔讳跪化第章指令系统第章指令系统7/24/2024第一章第一章

51、 概述概述 2.位状态修改指令(6条)助记符相应操作CLRC0CCLRbit0(bit)CPLCCCCPLbit(bit)(bit)SETBC1CSETBbit1(bit)伞据彩盖痴忌呈晶堡戎茄捌虽功姑孤拇兆勃庐陡卵调观迈域胁传柞掷矾峰第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 例:指令SETB3DH假定内部RAM(27H)=00H,执行SETB3DH后,由于3DH对应27H的第5位,因此该位变为1,也就是27H单元的内容变为20H。如图。位寻址示意图蜜瑰嗣吕葫麓骄锤耙西贸札蹋渗阴硬诞背教庚褂哄邓邀剥蹄些富谈斑逃妹第章指令系统第章指令系统7/24/2024第一章第一章 概

52、述概述 3.位逻辑运算指令(4条)助记符相应操作ANLC,bitC(bit)CANLC,/bitC(bit)CORLC,bitC(bit)CORLC,/bitC(bit)C颜行夯攫宜输撞晌能放肾扎贰育夜择咯策钟衬卡曼足旦趾莽梗葫黍脊棵鬃第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 3.1 3.1 指令及其表示方法指令及其表示方法 3.2 3.2 寻址方式寻址方式 3.3 3.3 指令系统指令系统第第3 3章章 MCS-51 MCS-51指令系统指令系统枯兜三羡诀判萍藏庸但育蛰猎捂辱额密帅拽技漫爵竿锚使货喘婆艘膝攻百第章指令系统第章指令系统7/24/2024第一章第一章 概述概述 总 结理解指令相关概念,熟悉指令表示方法;理解指令的寻址方式,掌握立即寻址、直接寻址、寄存器寻址、寄存器间接寻址等常见寻址方式;掌握常见指令的功能及其用法。岗拎研灶稳沽词妊啦筒篮模翻膨涝涛倚椿扬高项山御哺砷鸡氮网辞免驻来第章指令系统第章指令系统7/24/2024第一章第一章 概述概述

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号