《3指令系统单片机原理及应用.ppt》由会员分享,可在线阅读,更多相关《3指令系统单片机原理及应用.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Single Chip Microcomputer仿真及动态演示仿真及动态演示一、寻址方式一、寻址方式注:找信是寻找信的“地址”!目的地目的地目的地目的地操作数操作数MOV P1,MOV P1,#55H55HMOV A,MOV A,#01H01H#55H55H55H55H目的地目的地信信寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址目的地目的地目的地目的地寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址内部内部内部内部RAMRAM或或或或SFRSFR区区区区操作数操作数XXHXXHMOV P1,20HMOV P1,20H20H20H目的地目的地20H20H注:寻址
2、是寻操作数的“地址”!直接给出地址直接给出地址20H20H直接寻址直接寻址直接寻址直接寻址目的地目的地目的地目的地寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址寄存器寄存器寄存器寄存器目的地目的地操作数操作数XXHXXHMOV P1,AMOV P1,A寄存器寄存器寄存器寄存器R0-R7ABDPTR你能说出为什么叫你能说出为什么叫你能说出为什么叫你能说出为什么叫寄存器寻址吗?寄存器寻址吗?寄存器寻址吗?寄存器寻址吗?寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址MOV P1,R0MOV P1,R0目的地目的地目的地目的地寄存器寄存器寄存器寄存器操作数操作数3AH3
3、AH内部内部内部内部RAMRAM3AH3AH65H65H3AH3AHR0R1DPTR寄寄存存器器间间接接寻寻址址寄寄存存器器目的地目的地2 2号号号号信在信在2 2号箱子里号箱子里1 1号号号号你能说出你能说出你能说出你能说出1 1 1 1号箱号箱号箱号箱子和子和子和子和2 2 2 2号箱子分号箱子分号箱子分号箱子分别对应内存中哪别对应内存中哪别对应内存中哪别对应内存中哪一部分吗一部分吗一部分吗一部分吗?寻址比较寻址比较MOV P1MOV P1,R0R0 地址是寄存器地址是寄存器地址是寄存器地址是寄存器R0R0MOV P1MOV P1,R0R0 地址在寄存器地址在寄存器地址在寄存器地址在寄存器
4、R0R0里里里里MOV P1MOV P1,20H20H 地址是内存地址是内存地址是内存地址是内存20H20HMOV P1MOV P1,#20H#20H 直接将直接将直接将直接将20H20H这个数送这个数送这个数送这个数送P1P1口口口口错!错!错!MOV P1MOV P1,R0R0对!寻址比较寻址比较MOV P1MOV P1,R0R0 地址是寄存器地址是寄存器R0R0MOV P1MOV P1,R0R0 地址在寄存器地址在寄存器R0R0里面里面MOV P1MOV P1,20H20H 地址是内存地址是内存20H20HMOV P1MOV P1,#20H#20H 直接将直接将20H20H这个数送这个数
5、送P1P1口口错!错!错!MOV P1MOV P1,R0R0对!寻址比较寻址比较MOV P1MOV P1,R0R0 地址是寄存器地址是寄存器R0R0MOV P1MOV P1,R0R0 地址在寄存器地址在寄存器R0R0里面里面MOV P1MOV P1,20H20HMOV P1MOV P1,#20H#20H 直接将直接将20H20H这个数送这个数送P1P1口口错!错!错!MOV P1MOV P1,20H20H对!地址是内存地址是内存20H20H寻址比较寻址比较MOV P1MOV P1,R0R0 地址是寄存器地址是寄存器R0R0MOV P1MOV P1,R0R0 地址在寄存器地址在寄存器R0R0里里
6、MOV P1MOV P1,20H20H 地址是内存地址是内存20H20HMOV P1MOV P1,#20H#20H 直接将直接将20H20H这个数送这个数送P1P1口口错!错!错!MOV P1MOV P1,#20H#20H对!寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址MOVC A,A+DPTRMOVC A,A+DPTRMOVC A,A+PCMOVC A,A+PC目的地目的地目的地目的地寄存器寄存器寄存器寄存器操作数操作数内部内部内部内部RAMRAM3AH3AH65H65H3AH3AH基址基址基址基址寄存器寄存器寄存器寄存器12H12H变址变址变址变址寄存器寄存器寄存器寄存器
7、34H34H内部内部内部内部RAMRAM46H46H65H65HADPTRPC46H46H目的地目的地目的地目的地寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址XXHXXH位寻址操作数操作数SJMP 54HSJMP 54HPCPC+54H54HPCPC2002H2002H2002H =2056H2002H =2056HPCPC2056H2056H寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址20H20H27H27H21H21H28H28H21H21H20H20H100000000想一想想一想想一想想一想:如果想使如果想使如果想使如果想使27H27H单单单单元的元的元的
8、元的第第第第5 5位位位位置置置置1 1,该怎么办呢该怎么办呢该怎么办呢该怎么办呢?单元地址单元地址单元地址单元地址2FH2FH2FH2FH2EH2EH2EH2EH2DH2DH2DH2DH2CH2CH2CH2CH2BH2BH2BH2BH2AH2AH2AH2AH29H29H29H29H28H28H28H28H 26H26H26H26H25H25H25H25H24H24H24H24H23H23H23H23H22H22H22H22H21H21H21H21H20H20H20H20H7F7F77776F6F67675F5F57574F4F474737372F2F27271F1F17170F0F0707
9、MSBMSBMSBMSB 位地址位地址位地址位地址 LSBLSBLSBLSB7E7E76766E6E66665E5E56564E4E4646 36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D454535352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C4444 34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B4343 33332B2B23231B1B13130B0B03037A7A72726A6A62625A5
10、A52524A4A4242 32322A2A22221A1A12120A0A020279797171696961615959515149494141 313129292121191911110909010178787070686860605858505048484040 3030282820201818101008080000位寻址地址表位寻址地址表位寻址地址表位寻址地址表 例:SETB 3DHSETB 3DHSETB 3DHSETB 3DH3D3D3C3C3B3B3F3F3E3E3A3A3939383827H27H寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址SETB 3DH
11、SETB 3DH20H20H27H27H21H21H28H28H21H21H20H20H00000001 0二、指令系统二、指令系统1、指令描述约定、指令描述约定符符 号号含含 义义RnRn表示当前选定寄存器组的工作寄存器表示当前选定寄存器组的工作寄存器R0R0R7R7RiRi表示作为间接寻址的地址指针表示作为间接寻址的地址指针R0R0R1R1#data#data表示表示8 8位立即数,即位立即数,即00H00HFFHFFH#data16#data16表示表示1616位立即数,即位立即数,即0000H0000HFFFFHFFFFHaddr16addr16表示表示1616位地址,用于位地址,用于
12、64K64K范围内寻址范围内寻址addr11addr11表示表示1111位地址,用于位地址,用于2K2K范围内寻址范围内寻址directdirect8 8位直接地址,可以是内部位直接地址,可以是内部RAMRAM区的某一单元或某一专用功能寄存器的地址区的某一单元或某一专用功能寄存器的地址RelRel带符号的带符号的8 8位偏移量(位偏移量(-128-128+127+127)BitBit位寻址区的直接寻址位位寻址区的直接寻址位(X X)X X地址单元中的内容,或地址单元中的内容,或X X作为间接寻址寄存器时所指单元的内容作为间接寻址寄存器时所指单元的内容将将 后面的内容传送到前面去后面的内容传送到
13、前面去2、MCS-51的指令的指令2.1 2.1 2.1 2.1 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)2.2 2.2 2.2 2.2 算术运算指令(算术运算指令(算术运算指令(算术运算指令(24242424条)条)条)条)2.3 2.3 2.3 2.3 逻辑运算指令(逻辑运算指令(逻辑运算指令(逻辑运算指令(24242424条)条)条)条)2.4 2.4 2.4 2.4 控制转移指令(控制转移指令(控制转移指令(控制转移指令(17171717条)条)条)条)2.5 2.5 2.5 2.5 位操作指令(位操作指令(位操作指令(位操作指令(171
14、71717条)条)条)条)2.6 2.6 2.6 2.6 常用伪指令(常用伪指令(常用伪指令(常用伪指令(17171717条)条)条)条)目的地址目的地址目的地址目的地址源地址源地址源地址源地址数数数数 据据据据MOV ,MOV A,#20H,A ARnRndirect1direct1RiRiA ARnRndirect2direct2RiRi#data#dataA ARnRndirect2direct2RiRi#data#dataMOVMOVRnRnA A#data#datadirect2direct2direct1direct1A ARnRndirect2direct2RiRi#data#d
15、ataRiRiA Adirect2direct2#data#data20H20HA A2.1 2.1 2.1 2.1 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)8 8 8 8位位位位数据传送指令数据传送指令数据传送指令数据传送指令(15(15(15(15条条条条)2.1 2.1 2.1 2.1 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)16161616位位位位数据传送指令(数据传送指令(数据传送指令(数据传送指令(1 1 1 1条)条)条)条)MOV DPTR,#data16 外部外部外部外部数据传送指
16、令数据传送指令数据传送指令数据传送指令(4(4(4(4条条条条)MOVX ,,A ADPTRDPTRRiRiMOVXMOVXA ADPTRDPTRRiRiDPTRDPTRA ARiRiDPTRDPTRA ARiRiA A交换和查表类交换和查表类交换和查表类交换和查表类指令指令指令指令(9(9(9(9条条条条),A AXCHXCHdirectdirectRnRnRiRidirectdirectA ARnRnRiRi1)1)1)1)字节交换指令字节交换指令字节交换指令字节交换指令(3(3(3(3条条条条)2)2)2)2)低半字节交换指令低半字节交换指令低半字节交换指令低半字节交换指令(1(1(1(
17、1条条条条)XCHD A,XCHD A,RiRi3)3)3)3)累加器累加器累加器累加器A A A A中高中高中高中高4 4 4 4位和低位和低位和低位和低4 4 4 4位交换位交换位交换位交换(1(1(1(1条条条条)SWAP A SWAP A 4)4)4)4)查表指令查表指令查表指令查表指令(2(2(2(2条条条条)MOVC A,A+PCMOVC A,A+PCMOVC A,A+DPTRMOVC A,A+DPTR5)5)5)5)堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令(2(2(2(2条条条条)PUSH directPUSH directPOP directPOP directdire
18、ctdirectdirectdirect2.22.22.22.2算术运算类指令(算术运算类指令(算术运算类指令(算术运算类指令(24242424条)条)条)条)加法加法加法加法指令(指令(指令(指令(8 8 8 8条)条)条)条)A A ,RnRnRiRi#data#dataADDADDRnRnRiRi#data#datadirectdirectdirectdirectA A ,RnRnRiRi#data#dataADDCADDCRnRnRiRi#data#data减法减法减法减法指令指令指令指令(4(4(4(4条条条条)directdirectdirectdirectA A ,RnRnRiR
19、i#data#dataSUBBSUBBRnRnRiRi#data#dataBCDBCDBCDBCD码调整码调整码调整码调整指令指令指令指令(1(1(1(1条条条条)DA A DA A 注意注意注意注意:DA ADA A指令只能跟在指令只能跟在指令只能跟在指令只能跟在ADDADD或或或或ADDCADDC加法指令后,不适用于减法指令。加法指令后,不适用于减法指令。加法指令后,不适用于减法指令。加法指令后,不适用于减法指令。助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期INCA00000100AA+1影响影响PSW的的P标志标志1INCRn00001rrrRn
20、Rn+1n=07,rrr=0001111INCdirect0101direct(direct)(direct)+11INCRi0000011i(Ri)(Ri)+1i=0,11INCDPTR10100011DPTRDPTR+12DECA00010100AA-1影响影响PSW的的P标志标志1DECRn00011rrrRnRn-1n=07,rrr=0001111DECdirect00010101direct(direct)(direct)+11DECRi0001011i(Ri)(Ri)-1i=0,11加加加加1 1 1 1减减减减1 1 1 1指令指令指令指令乘法乘法乘法乘法指令指令指令指令(1(1
21、(1(1条条条条)MUL A BMUL A B除法除法除法除法指令指令指令指令(1(1(1(1条条条条)DIV A BDIV A B2.32.32.32.3逻辑及移位类指令逻辑及移位类指令逻辑及移位类指令逻辑及移位类指令逻辑与逻辑与逻辑与逻辑与指令(指令(指令(指令(6 6 6 6条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期ANLA,direct01010101directAAdirect按位相与按位相与1ANLA,Rn01011rrrAARnn=07,rrr=0001111ANLA,Ri0101011iAA(Ri)i=0,11ANLA
22、,#data01010100dataAA#data1ANLdirect,A01010010direct(direct)(direct)A不影响不影响PSW的的P标志标志1ANLdirect,#data01010011directdata(direct)(direct)#data不影响不影响PSW的的P标志标志2逻辑或逻辑或逻辑或逻辑或指令(指令(指令(指令(6 6 6 6条)条)条)条)01000011directdata助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期ORLA,direct01000101directAAdirect按位相或按位相或1OR
23、LA,Rn01001rrrAARnn=07,rrr=0001111ORLA,Ri0100011iAA(Ri)i=0,11ORLA,#data01000100dataAA#data1ORLdirect,A01000010direct(direct)(direct)A不影响不影响PSW的的P标志标志1ORLdirect,#data(direct)(direct)#data不影响不影响PSW的的P标志标志2逻辑逻辑逻辑逻辑异或异或异或异或指令(指令(指令(指令(6 6 6 6条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期XRLA,direct0
24、1100101directAA(direct)按位相异或按位相异或1XRLA,Rn01101rrrAA Rnn=07,rrr=0001111XRLA,Ri0110011iAA(Ri)i=0,11XRLA,#data01100100dataAA#data1XRLdirect,A01100010direct(direct)(direct)A不影响不影响PSW的的P标志标志1XRLdirect,#data01100011directdata(direct)(direct)#data不影响不影响PSW的的P标志标志2累加器累加器累加器累加器A A A A清清清清0 0 0 0和取反和取反和取反和取反指
25、令指令指令指令助记符格式机器码(B)相应操作指令说明机器周期CLR A11100100A00HA中内容清0,影响P标志1CPL A11110100A中内容按位取反,影响P标志1AAA.0A.7A.0A.7A.0A.7A.0A.7CYCYv RL Av RR Av RLC Av RRC A注意注意注意注意:执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给CYCY置位或清零。置位或清零。置位或清零。置位或清零。循环移位循环移位循环移位循环移位指令指令指令指令2.4 2.4 2.4 2.4 控制转移类指令
26、控制转移类指令控制转移类指令控制转移类指令 无条件转移无条件转移无条件转移无条件转移指令指令指令指令(4(4(4(4条条条条)1)1)长转移指令:长转移指令:长转移指令:长转移指令:LJMP AAAAH LJMP AAAAH ;AAAAHAAAAHPCPCPC=0000HPC=0000HPC=AAAAHPC=AAAAH0000H0000H0001H0001HAAA9HAAA9HAAAAHAAAAH0002H0002H假设执行该指假设执行该指令前,令前,PCPC的值的值为为0000H0000H。注意注意注意注意:该指令可以转移到该指令可以转移到该指令可以转移到该指令可以转移到64 KB64 KB
27、64 KB64 KB程序存储器中的任意位置。程序存储器中的任意位置。程序存储器中的任意位置。程序存储器中的任意位置。PC高5位(保持不变)PC低11位A10A9A800 001A7A6A5A4A3A2A1A0操作码(第一字节)操作数(第二字节)1111位转移地址的形成示意图位转移地址的形成示意图程序计数器PC2)2)2)2)绝对转移指令绝对转移指令绝对转移指令绝对转移指令AJMP AJMP addr11 addr11;PC+2PC+2PCPC,addr11 addr11 PC.10PC.0PC.10PC.0PCPC2002H2002H2003H2003H0000H0000H0001H0001H
28、2004H2004H2005H2005H2006H2006HPCPCPCPCPCPC2006H2006H2003H2003HPCPC0002H0002HPCPC3)3)3)3)相对转移指令相对转移指令相对转移指令相对转移指令 例:SJMP03HSJMP03H03H03H03H03H就是当前就是当前就是当前就是当前PCPC值值值值与目的与目的与目的与目的PCPC值值值值相对差相对差相对差相对差PCPC条件转移条件转移条件转移条件转移指令指令指令指令(8(8(8(8条条条条)1)1)1)1)累加器累加器累加器累加器A A A A判判判判0 0 0 0指令指令指令指令(2(2(2(2条条条条)助记符
29、格式助记符格式助记符格式助记符格式机器码机器码机器码机器码(B)(B)相应操作相应操作相应操作相应操作机器机器机器机器周期周期周期周期JZJZrelrel01100000110000若若若若A=0,A=0,则则则则PCPCPC+2+rel,PC+2+rel,否则程序顺序执行否则程序顺序执行否则程序顺序执行否则程序顺序执行 2 2JNZJNZrelrel0111000001110000若若若若A0,A0,则则则则PCPCPC+2+rel,PC+2+rel,否则程序顺序执行否则程序顺序执行否则程序顺序执行否则程序顺序执行2 22)2)2)2)减减减减1 1 1 1非零转移非零转移非零转移非零转移指
30、令指令指令指令(2(2(2(2条条条条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期DJNZRn,rel11011rrrrelRnRn-1,若若Rn0,则则PCPC+3+rel,否否则顺序执行则顺序执行2DJNZdirect,rel11010101directrel(direct)(direct)-1,若若(direct)0,则,则PCPC+3+rel,否则顺序执行否则顺序执行23)3)3)3)比较转移比较转移比较转移比较转移指令指令指令指令(4(4(4(4条条条条)助记符格式助记符格式机器码机器码(B)(B)相应操作相应操作机器机器周期周期CJNE CJNE A,#
31、data,relA,#data,rel10110100 10110100 data data relrel若若A#data,A#data,则则PCPCPC+3+relPC+3+rel,否否则则顺顺序序执行;若执行;若 A#dataA#data,则,则CY=1CY=1,否则否则CY=0CY=02 2CJNE CJNE Rn,#data,relRn,#data,rel10111rrr10111rrrdata data relrel若若 Rn#dataRn#data,则则PCPCPC+3+relPC+3+rel,否否则则顺顺序执行;若序执行;若RnRn#data#data,则,则CY=1CY=1,否
32、则否则CY=0CY=02 2CJNE CJNE Ri,#data,relRi,#data,rel1011011i1011011idata data relrel若若(Ri)#dataRi)#data,则则PCPCPC+3+relPC+3+rel,否否则则顺顺序序执执行行;若若(RiRi)#data,)#data,则则CY=1CY=1,否否则则CY=0CY=02 2CJNE CJNE A,direct,relA,direct,rel1011010110110101direct direct relrel若若A(direct)A(direct),则则PCPCPC+3+relPC+3+rel,否否则
33、则顺顺序序执执行行;若若A(direct)A(direct),则则CY=1CY=1,否否则则CY=0CY=02 2条件转移类指令范例条件转移类指令范例方案一方案一还有什么方法实还有什么方法实现循环的终止现循环的终止?将00H0FH这16个数顺序地置入片内RAM20H2FH单元中。MOV R0,#20H MOV R7,#10H CLR ALOOP:MOV R0,A INC A INC R0 DJNZ R7,LOOP SJMP$条件转移类指令范例条件转移类指令范例方案二方案二 MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 CJNE
34、A,#10H,LOOP SJMP$条件转移类指令范例条件转移类指令范例方案三方案三 MOV R0,#20H MOV A,#10H MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 DEC A JNZ LOOP SJMP$条件转移类指令范例条件转移类指令范例方案四方案四 MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 SUBB A,#01H JNC LOOP SJMP$调用和返回调用和返回调用和返回调用和返回指令指令指令指令(8(8(8(8条条条条)1)1)1)1)绝对调用绝对
35、调用绝对调用绝对调用指令(指令(指令(指令(1 1 1 1条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期ACALLaddr11a10a9a810001addr70PCPC+2SPSP+1,(SP)PC07SPSP+1,(SP)PC815PC010addr1122)2)2)2)长调用长调用长调用长调用指令(指令(指令(指令(1 1 1 1条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期LCALLaddr1600010010addr158addr70PCPC+3SP SP+1,SPPC07SP SP+1,SPPC815P
36、C addr1623)3)3)3)返回返回返回返回指令指令指令指令助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期RET00100010PC815(SP),SPSP-1PC07(SP),SPSP-1子程序返回指令子程序返回指令2RETI00110010PC815SP,SPSP-1PC07SP,SPSP-1中断返回指令中断返回指令2助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明NOP00000000空操作空操作消耗消耗1个机器周期个机器周期4)4)4)4)空操作空操作空操作空操作2.5 位操作类指令位操作类指令单元地址单元地址2FH2FH2EH2EH
37、2DH2DH2CH2CH2BH2BH2AH2AH29H29H28H28H27H27H26H26H25H25H24H24H23H23H22H22H21H21H20H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707MSBMSB 位地址位地址 LSBLSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C
38、74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A02027979717169696161595951514949414139393131292921211919111109090101787870706868606058585050484840403838303028282020
39、1818101008080000RAMRAM 位寻址区位地址表位寻址区位地址表位寻址区位地址表位寻址区位地址表助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期MOVC,bit10100010CYbit位传送指令,结果影响位传送指令,结果影响CY标志标志2MOVbit,C10010010bitCY位传送指令,结果不影响位传送指令,结果不影响PSW22.2.2.2.位置位和位清零指令位置位和位清零指令位置位和位清零指令位置位和位清零指令助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期CLRC11000011CY0位清位清0
40、指令,结果影响指令,结果影响CY标志标志1CLRbit11000010bitbit0位清位清0指令,结果不影响指令,结果不影响PSW1SETBC11010011CY1位置位置1指令,结果影响指令,结果影响CY标志标志1SETBbitbit1位置位置1指令,结果不影响指令,结果不影响PSW111010010bit1.1.1.1.位传送指令位传送指令位传送指令位传送指令3.3.3.3.位运算指令位运算指令位运算指令位运算指令助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期ANLC,bit10000010bitCYCYbit位与指令位与指令2ANLC,/bit1
41、0110010bit位与指令位与指令2ORLC,bit01110010bitCYCYbit位或指令位或指令2ORLC,/bit10100010bit位或指令位或指令2CPLC10110011位取反指令位取反指令2CPLbit10110010位位取取反反指指令令,结结果果不影响不影响CY2CYCYbitCYCYbitCYCYbitbit助记符格式机器码(B)相应操作机器周期JB bit,rel00100000bit rel若bit=1,则PCPC+3+rel,否则顺序执行2JNB bit,rel00110000 bit rel若bit=0,则PCPC+3+rel,否则顺序执行2JBC bit,r
42、el00010000 bit rel若 bit=1,则PCPC+3+rel,bit0,否则顺序执行24.4.4.4.位转移指令位转移指令位转移指令位转移指令5.5.5.5.判判判判CYCYCYCY标志指令标志指令标志指令标志指令助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期JCrel01000000若若CY=0,则则PCPC+2+rel,否否则则顺顺序序执执行行2JNCrel01010000若若CY0,则则PCPC+2+rel,否否则则顺顺序序执执行行2常用伪指令常用伪指令vv定位伪指令定位伪指令定位伪指令定位伪指令ORGORGvv定义字节数据伪指令定义字节数据伪指令定
43、义字节数据伪指令定义字节数据伪指令DBDBvv定义字数据伪指令定义字数据伪指令定义字数据伪指令定义字数据伪指令DWDWvv定义空间伪指令定义空间伪指令定义空间伪指令定义空间伪指令DSDSvv符号定义伪指令符号定义伪指令符号定义伪指令符号定义伪指令EQUEQU或或或或vv数据赋值伪指令数据赋值伪指令数据赋值伪指令数据赋值伪指令DATADATAvv数据地址赋值伪指令数据地址赋值伪指令数据地址赋值伪指令数据地址赋值伪指令XDATAXDATAvv汇编结束伪指令汇编结束伪指令汇编结束伪指令汇编结束伪指令ENDEND 设内部设内部设内部设内部RAMRAM中中中中33H33H单元中内容为单元中内容为单元中内
44、容为单元中内容为44H44H,34H34H单元中单元中单元中单元中内容为内容为内容为内容为0AFH0AFH,R0R0中内容为中内容为中内容为中内容为33H33H,R1R1中内容为中内容为中内容为中内容为00H00H,给给给给出以下每一条指令执行后出以下每一条指令执行后出以下每一条指令执行后出以下每一条指令执行后A A中的值和中的值和中的值和中的值和PSWPSW中中中中P P的值。的值。的值。的值。MOV A,#34HMOV A,#34HMOV A,34HMOV A,34HMOV A,R1MOV A,R1MOV A,R0MOV A,R0 注意:对注意:对注意:对注意:对PSWPSW中中中中P P
45、标志的影响。标志的影响。标志的影响。标志的影响。练练 习习 1练练 习习 2设内部设内部设内部设内部RAM30HRAM30H单元中内容为单元中内容为单元中内容为单元中内容为52H52H,请给出以下程序请给出以下程序请给出以下程序请给出以下程序结果:结果:结果:结果:MOV A,#30H MOV A,#30H MOV A,30HMOV A,30HMOV R0,#30HMOV R0,#30HMOV A,R0MOV A,R0MOV 30H,#30HMOV 30H,#30H设设设设P1P1口内容为口内容为口内容为口内容为0AAH0AAH(P1P1口地址为口地址为口地址为口地址为90H90H),),),),请给出请给出请给出请给出以下程序结果:以下程序结果:以下程序结果:以下程序结果:MOV R0,#30HMOV R0,#30HMOV 10H,P1MOV 10H,P1MOV A,10HMOV A,10HMOV R0,AMOV R0,AMOV 40H,R0MOV 40H,R0本章主要知识点本章主要知识点vv指令的八种寻址方式。指令的八种寻址方式。vv难点:寄存器间接寻址难点:寄存器间接寻址vv各类指令的主要功能。各类指令的主要功能。vv难点:查表指令难点:查表指令vv难点:条件转移指令难点:条件转移指令vv作业:作业:P62 P62 习题习题4 4
限制150内