版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、寻址方式数据传送类指令算术运算类指令逻辑操作类指令控制转移类指令位操作指令常用伪指令第章MCS51指令系统 本章内容Single Chip Microcomputer1指令概述操作码7 0数据或寻址方式7 0双字节指令:标号:操作码操作数或操作数地址;注释单字节指令:操作码7 0三字节指令:操作码7 0数据或寻址方式7 0数据或寻址方式7 0指令按字节长度可以分为三种:指令格式指令的格式:例如: MOV A,R0例如:MOV A,30H例如:MOV DPTR,#2010H2一、寻址方式(找信方式)我的信在他那!找信去!注:找信是寻找信的“地址”!你能说出第二封信的“地址”吗?3目的地#XXH操
2、作数MOV P1, #55HMOV A, #01H#55H目的地信寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址4目的地寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址内部RAM或SFR区操作数XXHMOV P1, 20H20H目的地20H注:寻址是寻操作数的“地址”!直接给出地址20H直接寻址5目的地寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址寄存器目的地操作数XXHMOV P1, A寄存器R0-R7ABDPTR你能说出为什么叫寄存器寻址吗?6寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址MOV P1, R0目的地寄存器
3、操作数3AH内部RAM3AH65H3AHR0R1DPTR寄存器间接寻址寄存器目的地2号信在2号箱子里1号你能说出1号箱子和2号箱子分别对应内存中哪一部分吗?7寻址比较MOV P1,R0 地址是寄存器R0MOV P1,R0 地址在寄存器R0里MOV P1,20H 地址是内存20HMOV P1,#20H 直接将20H这个数送P1口错!错!错!MOV P1,R0对!8寻址比较MOV P1,R0 地址是寄存器R0MOV P1,R0 地址在寄存器R0里面MOV P1,20H 地址是内存20HMOV P1,#20H 直接将20H这个数送P1口错!错!错!MOV P1,R0对!9寻址比较MOV P1,R0
4、地址是寄存器R0MOV P1,R0 地址在寄存器R0里面MOV P1,20HMOV P1,#20H 直接将20H这个数送P1口错!错!错!MOV P1,20H对! 地址是内存20H10寻址比较MOV P1,R0 地址是寄存器R0MOV P1,R0 地址在寄存器R0里MOV P1,20H 地址是内存20HMOV P1,#20H 直接将20H这个数送P1口错!错!错!MOV P1,#20H对!11寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址MOVC A, A+DPTR目的地寄存器操作数内部RAM3AH65H3AH基址寄存器12H变址寄存器34H内部RAM46H65HADPTRP
5、C46H12目的地寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址XXH位寻址操作数SJMP 54HPC+54HPC2002H2002H =2056HPC2056H13寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址20H27H21H28H21H20H10 0 0 0 0 0 0 0想一想:如果想使27H单元的第3位置1,该怎么办呢?14单元地址2FH2EH2DH2CH2BH2AH29H28H 26H25H24H23H22H21H20H7F776F675F574F47372F271F170F07 MSB 位地址 LSB7E766E665E564E46 362E261E
6、160E067D756D655D554D45352D251D150D057C746C645C544C44 342C241C140C047B736B635B534B43 332B231B130B037A726A625A524A42 322A221A120A027971696159514941 312921191109017870686058504840 30282018100800位寻址地址表 例:SETB 3DH 3D 3C 3B3F 3E3A 393827H15寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址SETB 3DH20H27H21H28H21H20H0 0 0 0
7、0 0 01016二、指令系统1、指令描述约定符 号含 义Rn表示当前选定寄存器组的工作寄存器R0R7Ri表示作为间接寻址的地址指针R0R1#data表示8位立即数,即00HFFH#data16表示16位立即数,即0000HFFFFHaddr16表示16位地址,用于64K范围内寻址addr11表示11位地址,用于2K范围内寻址direct8位直接地址,可以是内部RAM区的某一单元或某一专用功能寄存器的地址Rel带符号的8位偏移量(-128+127)Bit位寻址区的直接寻址位(X)X地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容将 后面的内容传送到前面去172、MCS-51的指令2.1
8、 数据传送指令(29条)2.2 算术运算指令(24条)2.3 逻辑运算指令(24条)2.4 控制转移指令(17条)2.5 位操作指令(17条)2.6 常用伪指令(17条)18目的地址 源地址数 据MOV ,MOV A,#20H,ARndirect1RiARndirect2Ri#dataARndirect2Ri#dataMOVRnA#datadirect2direct1ARndirect2Ri#dataRiAdirect2#data20HA2.1 数据传送指令(29条) 8位数据传送指令(15条) 192.1 数据传送指令(29条) 16位数据传送指令(1条) MOV DPTR,#data16
9、外部数据传送指令(4条) MOVX ,,ADPTRRiMOVXADPTRRiDPTRARiDPTRARiA20交换和查表类指令(9条) ,AXCHdirectDPTRRidirectADPTRRi1)字节交换指令(3条) 2)低半字节交换指令(1条) XCHD A , Ri3)累加器A中高4位和低4位交换(1条) SWAP A 4)查表指令(2条) MOVC A , A+PCMOVC A , A+DPTR5)堆栈操作指令(2条) PUSH directPOP direct21directdirect2.2算术运算类指令(24条) 加法指令(8条) A ,RnRi#dataADDRnRi#dat
10、adirectdirectA ,RnRi#dataADDCRnRi#data减法指令(4条) directdirectA ,RnRi#dataSUBBRnRi#dataBCD码调整指令(1条) DA A 注意:DA A指令只能跟在ADD或ADDC加法指令后,不适用于减法指令。22助记符格式机器码(B)相应操作指令说明机器周期INC A00000100AA+1影响PSW的P标志1INC Rn00001rrrRnRn+1n=07, rrr=0001111INC direct0101 direct(direct)(direct)+11INC Ri0000011i(Ri)(Ri)+1i=0,11INC
11、 DPTR10100011DPTRDPTR+12DEC A00010100AA-1影响PSW的P标志1DEC Rn00011rrrRnRn-1n=07, rrr=0001111DEC direct00010101 direct(direct)(direct)+11DEC Ri0001011i(Ri)(Ri)-1i=0,11加1减1指令23乘法指令(1条) MUL A B除法指令(1条) DIV A B2.3逻辑及移位类指令逻辑与指令(6条) 助记符格式机器码(B)相应操作指令说明机器周期ANL A,direct01010101 directAAdirect按位相与1ANL A,Rn01011r
12、rrAARnn=07, rrr=0001111ANL A,Ri0101011iAA(Ri)i=0,11ANL A,#data01010100 dataAA#data1ANL direct,A01010010direct(direct)(direct)A不影响PSW的P标志1ANL direct,#data01010011 direct data(direct)(direct)#data不影响PSW的P标志224逻辑或指令(6条) 01000011 direct data助记符格式机器码(B)相应操作指令说明机器周期ORL A,direct01000101 directAAdirect按位相或1
13、ORL A,Rn01001rrrAARnn=07, rrr=0001111ORL A,Ri0100011iAA(Ri)i=0,11ORL A,#data01000100dataAA#data1ORL direct,A01000010 direct(direct)(direct)A不影响PSW的P标志1ORL direct,#data(direct)(direct)#data不影响PSW的P标志225逻辑异或指令(6条) 助记符格式机器码(B)相应操作指令说明机器周期XRL A,direct01100101 directAA(direct)按位相异或1XRL A,Rn01101rrrAARnn=
14、07, rrr=0001111XRL A,Ri0110011iAA (Ri)i=0,11XRL A,#data01100100 dataAA#data1XRL direct,A01100010 direct(direct)(direct)A不影响PSW的P标志1XRL direct,#data01100011 direct data(direct)(direct)#data不影响PSW的P标志226累加器A清0和取反指令助记符格式机器码(B)相应操作指令说明机器周期CLR A11100100A00HA中内容清0,影响P标志1CPL A11110100A中内容按位取反,影响P标志1AA27A.0
15、A.7A.0A.7A.0A.7A.0A.7CYCY RL A RR A RLC A RRC A注意:执行带进位的循环移位指令之前,必须给CY置位或清零。循环移位指令282.4 控制转移类指令 无条件转移指令(4条)1) 长转移指令:LJMP AAAAH ; AAAAHPCPC=0000HPC=AAAAH0000H0001HAAA9HAAAAH0002H假设执行该指令前,PC的值为0000H。注意:该指令可以转移到64 KB程序存储器中的任意位置。29 PC高5位(保持不变) PC低11位A10A9A800 001A7A6A5A4A3A2A1A0操作码(第一字节)操作数(第二字节)11位转移地址
16、的形成示意图程序计数器PC2)绝对转移指令AJMP addr11 ; PC+2PC, addr11 PC.10PC.030PC2002H2003H0000H0001H2004H2005H2006HPCPCPC2006H2003HPC0002HPC3)相对转移指令 例: SJMP 03H 03H03H就是当前PC值与目的PC值相对差PC31条件转移指令(8条)1)累加器A判0指令(2条)助记符格式机器码(B)相应操作机器周期JZ rel0110000若A=0, 则PCPC+rel, 否则程序顺序执行 2JNZ rel01110000若A0, 则PCPC+rel, 否则程序顺序执行22)减1非零转
17、移指令(2条)助记符格式机器码(B)相应操作机器周期DJNZ Rn,rel11011rrr relRnRn-1,若Rn0,则PCPC+rel, 否则顺序执行2DJNZ direct,rel11010101 direct rel(direct)(direct)-1,若(direct)0,则PCPC+rel,否则顺序执行2323)比较转移指令(4条)助记符格式机器码(B)相应操作机器周期CJNE A,#data,rel10110100 data rel若A#data, 则PCPC+rel,否则顺序执行;若 A#data,则CY=1,否则CY=02CJNE Rn,#data,rel10111rrrd
18、ata rel若 Rn#data,则PCPC+rel,否则顺序执行;若Rn#data,则CY=1,否则CY=02CJNE Ri,#data,rel1011011idata rel若(Ri)#data,则PCPC+rel,否则顺序执行;若(Ri)#data,则CY=1,否则CY=02CJNE A,direct,rel10110101direct rel若A(direct),则PCPC+rel,否则顺序执行;若A(direct),则CY=1,否则CY=0233条件转移类指令范例方案一还有什么方法实现循环的终止?将00H0FH这16个数顺序地置入片内RAM20H2FH单元中。 MOV R0,#20H
19、 MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 DJNZ R7,LOOP SJMP $34条件转移类指令范例方案二MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 CJNE A,#0FH,LOOP SJMP $35条件转移类指令范例方案三 MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 DEC A JNZ LOOP SJMP $36条件转移类指令范例方案四 MOV R0,#20H MOV A,#0FH MOV
20、 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 SUBB A,#01H JNC LOOP SJMP $37调用和返回指令(8条)1)绝对调用指令(1条)助记符格式机器码(B)相应操作机器周期ACALL addr11a10a9a810001addr70PC PC+2SP SP+1,(SP)PC07SP SP+1,(SP)PC815PC010 addr1122)长调用指令(1条)助记符格式机器码(B)相应操作机器周期LCALL addr1600010010addr158addr70PCPC+3SP SP+1,SPPC07SP SP+1,SPPC815PC addr1
21、62383)返回指令助记符格式机器码(B)相应操作机器周期RET00100010PC815 (SP), SP SP-1PC07 (SP), SP SP-1子程序返回指令2RETI00110010PC815 SP, SP SP-1PC07 SP, SP SP-1中断返回指令2助记符格式机器码(B)相应操作指令说明NOP00000000空操作消耗1个机器周期4)空操作392.5 位操作类指令单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07 MSB 位地址 LSB7E766E665
22、E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM 位寻址区位地址表40助记符格式机器码(B)相应操作指令说明机器周期MOV C,bit10100010CY bit位传送指令,结果影响CY标志2MOV bit,C1
23、0010010bit CY位传送指令,结果不影响PSW22.位置位和位清零指令助记符格式机器码(B)相应操作指令说明机器周期CLR C11000011CY 0位清0指令,结果影响CY标志1CLR bit11000010 bitbit 0位清0指令,结果不影响PSW1SETB C11010011CY1位置1指令,结果影响CY标志1SETB bitbit 1位置1指令,结果不影响PSW111010010 bit1.位传送指令413.位运算指令助记符格式机器码(B)相应操作指令说明机器周期ANL C,bit10000010 bitCY CYbit位与指令2ANL C/bit10110010 bit位与指令2ORL ,bit01110010 bitCY CYbit位或指令2ORL C/bit10100010 bit位或指令2CPL C10110011位取反指令2CPL bit10110010位取反指令,结果不影响CY2CY CYbitCY CYbitCYCYbitb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026氢燃料电池技术行业市场供需分析及投资评估规划分析研究报告
- 2026中国疏水透气膜在医疗防护装备中的性能测试分析报告
- 2026垂直农业与植物细胞培养设备协同发展机遇调研报告
- 2026中国被动式建筑技术推广与节能减排效果评估研究报告
- 2026中国液体化工物流行业环保合规与可持续发展战略报告
- 2026金融科技行业区块链技术应用深度探索及趋势
- 2026氢能储运技术突破与基础设施建设投资机会研究报告
- 2026产业园区运营模式创新与招商策略分析报告
- 2026宠物医疗缝合针市场空白与产品开发建议
- 2026工业互联网平台分析及智能制造转型投资机会报告
- 数字营销基础(第二版)课件 2.2数字营销技术
- 变电站操作票课件
- 产品封存仓储管理制度
- 北师大版七年级数学上册 专题03 数轴中的动点问题专训(原卷版+解析)
- 2025-2030中国十二胺行业市场现状供需分析及投资评估规划分析研究报告
- 矿山融资协议书范本
- 2025年注册环保工程师专业基础考试真题卷(附解析)
- 武汉市江岸区招聘社区公共服务干事175人历年高频重点模拟试卷提升(共500题附带答案详解)
- DG∕TJ 08-2183-2015 城市道路养护维修作业安全技术规程
- 2024年高中英语衡水体书法练字字帖
- 《围手术期健康教育》课件
评论
0/150
提交评论