第三章_单片机的指系统.ppt
《第三章_单片机的指系统.ppt》由会员分享,可在线阅读,更多相关《第三章_单片机的指系统.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章MCS-51指令系统指令系统3.1指令格式指令格式3.2寻址方式寻址方式3.4算术运算指令算术运算指令3.5逻辑运算指令逻辑运算指令3.3数据传送指令数据传送指令3.6控制转移指令控制转移指令3-1 3-1 汇编指令格式汇编指令格式一、一、两种基本类型:指令语句和伪指令语句两种基本类型:指令语句和伪指令语句(1 1)指令语句)指令语句每一条指令语句在汇编时都产生一个机器代码每一条指令语句在汇编时都产生一个机器代码(2 2)伪指令语句)伪指令语句 在汇编时在汇编时没有机器代码与之对应。没有机器代码与之对应。标号:标号:操作码操作码 操作数操作数11,操作数操作数22;注释;注释 例例
2、3-3-1 1 LOOPLOOP:MOV AMOV A,#40H#40H;4040H-AH-A1 1标标号号:是是语语句句所所在在地地址址的的标标志志符符号号,子子程程序序调调用、转移转入和调试。用、转移转入和调试。(1 1)以字母开始,跟)以字母开始,跟1 18 8个字母、数字或个字母、数字或“_”_”。(2 2)惟一性。)惟一性。(3 3)不能使用汇编保留字。)不能使用汇编保留字。2 2操作码:操作码:2525个字母。个字母。唯一不能缺。唯一不能缺。3 3操作数操作数 :有单、双、三和无操作数三种。:有单、双、三和无操作数三种。(1 1)十六进制、二进制和十进制形式的操作数)十六进制、二进
3、制和十进制形式的操作数(2 2)工作寄存器和特殊功能寄存器的表示)工作寄存器和特殊功能寄存器的表示采用代号或地址表示。采用代号或地址表示。A A(或(或AccAcc)也可用)也可用0E0H0E0H。3.1.33.1.3 伪指令伪指令 向汇编程序发出的指示信息,告诉它如何完成向汇编程序发出的指示信息,告诉它如何完成汇编工作,汇编工作,汇编时不产生机器码汇编时不产生机器码.1.1.定位伪指令:定位伪指令:ORG mORG m 机器指令在程序存储器中的机器指令在程序存储器中的1616位地址。位地址。例例3-33-3 ORG 0000HORG 0000H START START:SJMPSJMP MA
4、IN MAIN ORGORG 0030H 0030H MAIN MAIN:MOVMOV SPSP,#30H#30H 地址必须由小到大排列,地址不能交叉、重叠地址必须由小到大排列,地址不能交叉、重叠。2.2.结束伪指令:结束伪指令:END END ;唯一唯一 3.3.定义字节伪指令:定义字节伪指令:DB X1,X2,DB X1,X2,XnXn在在程序存储器程序存储器的连续单元中定义字节数据的连续单元中定义字节数据(常数表常数表)。)。例例3-43-4 ORGORG 7F00H 7F00HTAB:DBTAB:DB 01110010B01110010B,16H16H,4545,99,AA汇编后存贮单
5、元内容为:汇编后存贮单元内容为:(7 7F00HF00H)=72H=72H(7F01H7F01H)=16H=16H(7F02H7F02H)=2DH=2DH (7F03H7F03H)=39H=39H(7F04H7F04H)=41H=41H 4.4.定义字伪指令:定义字伪指令:DW YDW Y1 1,Y Y2 2,Y Yn n 定义定义1616位地址表(高位在前,低位在后);位地址表(高位在前,低位在后);ORGORG 0F00H 0F00HTAB:DWTAB:DW 1234H 1234H,45H45H,161161汇编后存贮单元内容为:汇编后存贮单元内容为:(0F00H0F00H)=12H=12
6、H(0F01H0F01H)=34H=34H(0F02H0F02H)=00H =00H (0F03H0F03H)=45H =45H (7F04H7F04H)=00H =00H (7F05H7F05H)=0A1H=0A1H 5定义空间伪指令:定义空间伪指令:DSDS表达式表达式 例例3-63-6 ORGORG0F00H0F00H DS DS10H10H DB DB20H20H,40H40H 汇编后,得汇编后,得(0 0F10HF10H)=20H=20H,(,(0F11H0F11H)=40H=40H。DBDB、DWDW、DSDS只对只对程序存贮器程序存贮器起作用。起作用。6等值伪指令:等值伪指令:字
7、符名字符名 EQU EQU 数据或汇编符数据或汇编符 数据或汇编符赋给字符名;数据或汇编符赋给字符名;先赋后用;先赋后用;例3-7 ORG8500HAAEQUR1A10 EQU10HDELAYEQU87E6HMOV R0,A10;R0(10H)MOV A,AA;A(R1)LCALL DELAY;调起始地址调起始地址87E6H的的 END子程序子程序 3-2 3-2 指令寻址方式指令寻址方式(共共7 7种种寻址方式寻址方式)寻找操作数的方法叫寻址方式。寻找操作数的方法叫寻址方式。1 1立即寻址方式立即寻址方式指令中直接给出操作数,前面加前缀指令中直接给出操作数,前面加前缀“#”例如例如:MOV
8、AMOV A,#40H#40H MOV DPTRMOV DPTR,#1234H#1234H2 2寄存器寻址方式寄存器寻址方式 操作数在寄存器中操作数在寄存器中 MOVMOV A A,RnRn ;(;(RnRn)A A,n=0n=07 7 表示把寄存器表示把寄存器RnRn的内容传送给累加器的内容传送给累加器A A。寻址范围:寻址范围:(1 1)4 4组通用工作寄存区共组通用工作寄存区共3232个工作寄存器。个工作寄存器。(2 2)部分特殊功能寄存器,例如)部分特殊功能寄存器,例如A A以及数据指以及数据指针寄存器针寄存器DPTRDPTR和和C C等。等。例例:CLRAINCDPTRMOVR5,#
9、50H3 3直接寻址直接寻址:以单元地址的形式给出操:以单元地址的形式给出操作数作数1 1)SFRSFR(只能用直接寻址)(只能用直接寻址)以以单元地址单元地址或或寄存器符号寄存器符号的形式给出的形式给出;MOV MOV 90H90H,#40H#40H 等价于等价于 MOV MOV P1P1,#40H#40H2 2)内部)内部RAMRAM的低的低128128字节(有高字节(有高128128字节的字节的单片机,只能用寄存器间址)单片机,只能用寄存器间址);MOV R0MOV R0,#90H#90H MOV R0,#40H MOV R0,#40H 4.4.寄存器间接寻址寄存器间接寻址 寄存器中存放
10、操作数的地址,寄存器中存放操作数的地址,加加前缀标志前缀标志“”例如例如:MOV AMOV A,RiRi ;i=0i=0或或1 1 ;寻址范围:寻址范围:(1 1)访问内部)访问内部RAMRAM低低128128个单元,其通用形式为个单元,其通用形式为 RiRi MOV A MOV A,R0R0;p34p34(2 2)对片外数据存储器的对片外数据存储器的64K64K字节的间接寻址,例如:字节的间接寻址,例如:MOVX AMOVX A,DPTRDPTR(3 3)提供外部数据存储器低提供外部数据存储器低8 8位地址位地址例如例如:MOVX AMOVX A,R1R1;AA外部外部RAMRAM(P2R1
11、P2R1)(4 4)堆栈区)堆栈区 堆栈操作指令堆栈操作指令PUSHPUSH(压栈)和(压栈)和POPPOP(出栈)使用堆(出栈)使用堆栈指针(栈指针(SPSP)作间址寄存器)作间址寄存器5 5基址寄存器加变址寄存器间址寻址基址寄存器加变址寄存器间址寻址以以DPTRDPTR或或PCPC为为基基址址,A A做做变变址址,以以两两者者内内容容相相加加,形成形成1616位程序存储器地址作为操作数地址位程序存储器地址作为操作数地址。例如:例如:MOVC AMOVC A,A ADPTRDPTR(A A)54H54H,(,(DPTRDPTR)1256H1256H指指令令执执行行的的结结果果是是把把程程序序
12、存存储储器器12AAH12AAH单单元元的的内内容传送给容传送给A A。特点:特点:变址寻址方式只能变址寻址方式只能对程序存储器对程序存储器进行寻址进行寻址,变址寻址指令只有三条变址寻址指令只有三条程序存储器读指令程序存储器读指令MOVCA,ADPTR MOVCA,APC无条件转移指令无条件转移指令JMPADPTR这三条指令都是这三条指令都是单字节指令单字节指令。变址寻址方式用于变址寻址方式用于查表操作查表操作。6 6位寻址方式位寻址方式 :指令给出位地址指令给出位地址例如:例如:MOV CMOV C,40H40H 寻址范围包括:寻址范围包括:(1)片内)片内RAM中的位寻址区中的位寻址区字节
13、地址字节地址20H2FH,位地址是,位地址是00H7FH。例如例如MOVC,2BH;25H.3(2)可位寻址的特殊功能寄存器位可位寻址的特殊功能寄存器位可供位寻址的可供位寻址的SFR有有11个,有寻址位个,有寻址位83位。位。7 7相对寻址方式相对寻址方式 例例:1005H 1005H SJMPSJMP80H80H;相对转移相对转移以以PCPC作基地址,加上偏移量,所得结果作作基地址,加上偏移量,所得结果作为转移地址送为转移地址送PCPC 。目目的的地地址址转转移移指指令令所所在在地地址址转转移移指指令令字字节节数数rel偏移量在偏移量在128128+127+127之间,之间,是一带符号的是一
14、带符号的8 8位二进制数补码数位二进制数补码数 。则转移地址是则转移地址是0F87H0F87H 例如:例如:JC80H若若C为为0,PC内容不变,不转移;内容不变,不转移;若若C为为1,PC当前值为基地址,加当前值为基地址,加80H作为目的地址。作为目的地址。指令操作码在指令操作码在1000H单元,偏移量在单元,偏移量在1001H单元。执行单元。执行该指令,该指令,PC指向指向1002H(即当前值)即当前值)3.3 MCS-513.3 MCS-51指令系统分类介绍指令系统分类介绍111111条指令条指令,按功能分类,分,按功能分类,分5 5大类大类:(1 1)数据传送类)数据传送类(28(28
15、条条)(2 2)算术操作类)算术操作类(24(24条)条)(3 3)逻辑运算类)逻辑运算类(25(25条条)(4 4)控制转移类)控制转移类(17(17条条)(5 5)位操作类)位操作类(17(17条条)指令中符号的意义指令中符号的意义:RnRn 当前寄存器区当前寄存器区8 8个工作寄存器个工作寄存器R0R0R7(n=0R7(n=07)7)。RiRi 当前寄存器区可作间接寻址的当前寄存器区可作间接寻址的R0R0、R1(i=0,1)R1(i=0,1)。DirectDirect 直接地址,即直接地址,即8 8位位内部内部RAMRAM单元或单元或SFRSFR地址地址。#data#data 8 8位立
16、即数。位立即数。#data16#data16 1616位立即数。位立即数。relrel 相对转移指令偏移量,为相对转移指令偏移量,为8 8位带符号位带符号补码数补码数DPTRDPTR 数据指针,可用作数据指针,可用作1616位的位的数据地址寄存器数据地址寄存器。bitbit 内部内部RAMRAM或特殊功能寄存器中的或特殊功能寄存器中的直接寻址位直接寻址位。C C(或(或CyCy)进位标志位或位处理机中的累加器。进位标志位或位处理机中的累加器。addr11addr11 1111位目的地址位目的地址addr16addr16 1616位目的地址位目的地址 间接寻址寄存器前缀,如间接寻址寄存器前缀,如
17、 RiRi,A+DPTRA+DPTR(X)(X)X X中的内容。中的内容。3.3.1 3.3.1 数据传送类指令数据传送类指令 使用最频繁的一类指令使用最频繁的一类指令,通用格式:通用格式:MOV MOV ,属属“复制复制”性质,而不是性质,而不是“搬家搬家”不影响标志位不影响标志位CyCy、AcAc和和OVOV,但根据但根据A A影响影响标志标志P P。说明:说明:1.一条指令中不能同时出现两个工作寄一条指令中不能同时出现两个工作寄存器,工作寄存器范围存器,工作寄存器范围R0R7R0R7;非法指令非法指令:MOV R1MOV R1,R2R2MOV R2MOV R2,R0R02.RiRi间址寄
18、存器只能使用间址寄存器只能使用 R0R0、R1R1。非法指令非法指令:MOV AMOV A,R2R23.3.SFRSFR区只能直接寻址,不能寄存器间址。区只能直接寻址,不能寄存器间址。非法指令:非法指令:MOV R0MOV R0,#80H#80H MOV A MOV A,R0R04.4.目的操作数不能采用立即寻址目的操作数不能采用立即寻址 非法指令:非法指令:MOV#30HMOV#30H,40H40H 1 1以累加器为目的操作数的指令以累加器为目的操作数的指令MOV MOV A,#dataA,#data ;#;#dataAdataAMOV MOV A,directA,direct ;direc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 单片机 系统
限制150内