2汇编语言.ppt
《2汇编语言.ppt》由会员分享,可在线阅读,更多相关《2汇编语言.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理及应用单片机原理及应用2022/12/201汇编语言与汇编程序n n学习要求学习要求 了解了解MCS-51汇编语言指令的形汇编语言指令的形式,掌握指令的格式式,掌握指令的格式 掌握掌握MCS-51单片机指令的寻址单片机指令的寻址方式方式 掌握掌握MCS-51汇编语言指令的分汇编语言指令的分类及其使用类及其使用 掌握常用的伪指令掌握常用的伪指令2022/12/202022/12/202 2汇编语言与汇编程序汇编语言与汇编程序指令系统概述指令系统概述n n汇编:汇编:汇编:汇编:源程序翻译成机器语言的过程源程序翻译成机器语言的过程源程序翻译成机器语言的过程源程序翻译成机器语言的过程机器语
2、言:机器语言:机器语言:机器语言:二进制代码,二进制代码,二进制代码,二进制代码,CPUCPU能够直接识别、能够直接识别、能够直接识别、能够直接识别、并执行其操作并执行其操作并执行其操作并执行其操作汇编语言:汇编语言:汇编语言:汇编语言:用助记符表示的语句;源程序用助记符表示的语句;源程序用助记符表示的语句;源程序用助记符表示的语句;源程序n nC51C51语言语言语言语言:语法同标准语法同标准语法同标准语法同标准C C语言。语言。语言。语言。开开开开发发发发效效效效率率率率高高高高,可可可可读读读读性性性性强强强强,是是是是目目目目前前前前使使使使用用用用最最最最为为为为广广广广泛泛泛泛的单
3、片机开发语言。的单片机开发语言。的单片机开发语言。的单片机开发语言。一条一条一条一条C C语言通常需要由多条机器语言组成。语言通常需要由多条机器语言组成。语言通常需要由多条机器语言组成。语言通常需要由多条机器语言组成。机器语言机器语言(Machine LanguageMachine Language)有三类有三类 汇编语言汇编语言 (AssembleAssemble)高级语言高级语言 (High Level LanguageHigh Level Language)2022/12/202022/12/203 3汇编语言与汇编程序汇编语言与汇编程序n n汇编语言的指令格式?汇编语言的指令格式?汇编
4、语言的指令格式?汇编语言的指令格式?标号标号标号标号:操作码助记符操作码助记符操作码助记符操作码助记符 (目的操作数目的操作数目的操作数目的操作数),(),(源操作数源操作数源操作数源操作数);注释;注释;注释;注释换行表示一条指令结束。例如:换行表示一条指令结束。例如:LOOPLOOP:MOVA,#40HMOVA,#40H;取参数;取参数 MOVR0,AMOVR0,A1.1.标号:标号:标号:标号:指令的符号地址。指令的符号地址。2.2.操作码助记符:操作码助记符:操作码助记符:操作码助记符:指明指令功能。指明指令功能。3.3.操作数:操作数:操作数:操作数:指令操作对象。指令操作对象。数据
5、、地址、寄存器名及约定符号。数据、地址、寄存器名及约定符号。4.4.注释行:注释行:注释行:注释行:说明指令在程序中的作用。说明指令在程序中的作用。操作码和操作数是指令主体。操作码和操作数是指令主体。2022/12/202022/12/204 4汇编语言与汇编程序汇编语言与汇编程序1.1.寻址方式寻址方式注注:找信是寻找找信是寻找信的信的“地址地址”!寻寻址址方方式式,就就是是指指如如何何找找到到存存放放被被操操作作数数据据的的位置(地址)的方法。位置(地址)的方法。我的信在我的信在我的信在我的信在她那她那她那她那!找信找信找信找信去去去去!2022/12/202022/12/205 5汇编语
6、言与汇编程序汇编语言与汇编程序立即寻址立即寻址n n由指令直接给出操作数:由指令直接给出操作数:8位和位和16位。数位。数值前加值前加“#”表示表示;若十六进制英文字母若十六进制英文字母AF前加前加0目的地目的地MOV AMOV A,#0B0H#0B0H速递快信速递快信AB0HB0H2022/12/202022/12/206 6汇编语言与汇编程序汇编语言与汇编程序直接寻址直接寻址n n指令直接给出操作数地址的寻址方式。指令直接给出操作数地址的寻址方式。目的地目的地内部内部RAMRAMSFRSFRMOV A,3AHMOV A,3AHXXH3AHAF0HF0H2022/12/202022/12/2
7、07 7汇编语言与汇编程序汇编语言与汇编程序目的地目的地寄存器寻址寄存器寻址n n以通用寄存器的内容为操作数的寻址方式。以通用寄存器的内容为操作数的寻址方式。以通用寄存器的内容为操作数的寻址方式。以通用寄存器的内容为操作数的寻址方式。vv注:注:注:注:A A和和和和B B既是通用寄存器,又是具有直接地址的既是通用寄存器,又是具有直接地址的既是通用寄存器,又是具有直接地址的既是通用寄存器,又是具有直接地址的特殊功能寄存器。特殊功能寄存器。特殊功能寄存器。特殊功能寄存器。寄存器寄存器R0R0R7R7A AB BDPTRDPTRMOV A,R1MOV A,R1R1A10H10H2022/12/20
8、2022/12/208 8汇编语言与汇编程序汇编语言与汇编程序目的地目的地寄存器间接寻址寄存器间接寻址n n以寄存器中的内容为地址,该地址中的内容以寄存器中的内容为地址,该地址中的内容以寄存器中的内容为地址,该地址中的内容以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。为操作数的寻址方式。为操作数的寻址方式。为操作数的寻址方式。n n寄存器前加寄存器前加寄存器前加寄存器前加 XXHMOV AMOV A,R1R1可可寻址内部寻址内部RAM128B寻址寻址外部外部RAM信在信在XXH中中寄存器寄存器R0R0、R1R1DPTRDPTRSPSP仅用于堆栈操作仅用于堆栈操作R1A34H34H4
9、1H 67H40H34HR12022/12/202022/12/209 9汇编语言与汇编程序汇编语言与汇编程序变址寻址变址寻址操作数为程序存储器的地址,该地址是由操作数为程序存储器的地址,该地址是由操作数为程序存储器的地址,该地址是由操作数为程序存储器的地址,该地址是由DPTRDPTR或或或或PCPC加上累加器加上累加器加上累加器加上累加器A A的内容形成的的内容形成的的内容形成的的内容形成的1616位地址位地址位地址位地址只有读操作而无写操作只有读操作而无写操作只有读操作而无写操作只有读操作而无写操作PC/DPTR1000H1000H变址寄存器变址寄存器1000H+30H程序存储器程序存储器
10、65H.1030H65MOVC AMOVC A,A+DPTRA+DPTRMOVC AMOVC A,A+PCA+PCJMP A+DPTRJMP A+DPTR2022/12/202022/12/201010汇编语言与汇编程序汇编语言与汇编程序位寻址位寻址n n对位地址中的内容作位操作的寻址方式对位地址中的内容作位操作的寻址方式对位地址中的内容作位操作的寻址方式对位地址中的内容作位操作的寻址方式n n位寻址只能对有位地址的空间(位寻址只能对有位地址的空间(位寻址只能对有位地址的空间(位寻址只能对有位地址的空间(20H-2FH20H-2FH和和和和SFRSFR的可寻址位)作寻址操作。的可寻址位)作寻址
11、操作。的可寻址位)作寻址操作。的可寻址位)作寻址操作。0 0Cy AC FO RS1 RS0 OV PCy AC FO RS1 RS0 OV PPSW内部RAM位地址空间26H 37 36 35 34 33 32 31 30 37 36 35 34 33 32 31 30 MOV C,37H0 02022/12/202022/12/201111汇编语言与汇编程序汇编语言与汇编程序寻址空间寻址空间序号序号 寻址方式寻址方式相应存储器空间相应存储器空间1寄存器寻址寄存器寻址 R0-R7,A,B,Cy(位位),DPTR2直接寻址直接寻址 内部内部RAM低地址低地址128字节和字节和SFR3寄存器寄存
12、器间接寻址间接寻址内部内部RAM(R1,R0,SP?)外部数据存储器外部数据存储器(R1,R0,DPTR)4立即寻址立即寻址 程序存储器立即数程序存储器立即数5变址寻址变址寻址 程序存储器(程序存储器(A+DPTR,A+PC)6位寻址位寻址对内部对内部RAM或或SFR的某些单元进行位的某些单元进行位寻址寻址2022/12/202022/12/201212汇编语言与汇编程序汇编语言与汇编程序判断以下指令判断以下指令源操作数源操作数的寻址方式的寻址方式MOVA,#88HMOVA,#88HPUSHACCPUSHACCPOPACCPOPACCMOV28H,R4MOV28H,R4MOVXA,DPTRMO
13、VXA,DPTRMOVCA,A+DPTRMOVCA,A+DPTRMOVA,R0MOVA,R0MOVXA,R0MOVXA,R0CLRCCLRCSETB00HSETB00H立即寻址立即寻址立即寻址立即寻址直接寻址直接寻址直接寻址直接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器寻址寄存器寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址变址寻址变址寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址位寻址位寻址位寻址位寻址位寻址位寻址位寻址位寻址2022/12/2020
14、22/12/201313汇编语言与汇编程序汇编语言与汇编程序2.2.常用指令常用指令MCS-51单片机共有单片机共有111条指令,按条指令,按功能分类,可分为功能分类,可分为5大类:大类:l l数据传送类指令(共数据传送类指令(共29条)条)l l算术操作类指令(共算术操作类指令(共24条)条)l l逻辑操作类指令(共逻辑操作类指令(共24条)条)l l控制程序转移类指令(共控制程序转移类指令(共17条)条)l l布尔变量操作类指令(共布尔变量操作类指令(共17条)条)2022/12/202022/12/201414汇编语言与汇编程序汇编语言与汇编程序(1)(1)数据传送类指令数据传送类指令累
15、加器累加器A直接地址直接地址direct立即数立即数#data寄存器寄存器R0R7寄存器间接寄存器间接R0、R1数据指针数据指针DPTR16位位入、出栈入、出栈SP入入出出位累加器位累加器C112022/12/202022/12/201515汇编语言与汇编程序汇编语言与汇编程序RnRn工作寄存器工作寄存器R0R0R7R7,即即n=0n=07 7RiRi寄存器寄存器R0R0、R1R1,即,即i=0i=0、1 1directdirect8 8 位内部位内部RAMRAM单元的地址单元的地址datadata指令中的指令中的8 8 位立即数位立即数data16data16指令中的指令中的1616位立即数
16、位立即数bitbit内部数据内部数据RAMRAM或或SFRSFR的可直接寻址位的可直接寻址位/位操作数的前缀,表示对该位取反位操作数的前缀,表示对该位取反(X X)X X中的内容。中的内容。(X)(X)由由 X X寻址的单元中的内容寻址的单元中的内容表示数据的传送方向表示数据的传送方向表示数据交换表示数据交换2022/12/202022/12/201616汇编语言与汇编程序汇编语言与汇编程序传送传送:把源地址单元的内容传输到目的地:把源地址单元的内容传输到目的地:把源地址单元的内容传输到目的地:把源地址单元的内容传输到目的地址单元中去,源地址单元内容不变址单元中去,源地址单元内容不变址单元中去
17、,源地址单元内容不变址单元中去,源地址单元内容不变数据传送指令不影响标志位数据传送指令不影响标志位数据传送指令不影响标志位数据传送指令不影响标志位1.1.1.1.以以以以A A A A为目的操作数为目的操作数为目的操作数为目的操作数MOVAMOVA,dirdirMOVAMOVA,#data#dataMOVAMOVA,RnRn MOVAMOVA,RiRi 例:例:例:例:R1R120H20H,(,(,(,(20H20H)55H55H,指令指令指令指令MOVAMOVA,R1R1;执行后,;执行后,;执行后,;执行后,A A55H55H2022/12/202022/12/201717汇编语言与汇编程
18、序汇编语言与汇编程序2.2.2.2.以以以以RnRnRnRn为目的操作数为目的操作数为目的操作数为目的操作数MOVMOVRnRn,dirdirMOVMOVRnRn,#data#dataMOVMOVRnRn,AA例例例例:(40H)40H)30H30H,指令指令指令指令 MOVR7MOVR7,40H40H执行后,执行后,执行后,执行后,R7R730H30H3.3.3.3.以直接地址为目的操作数以直接地址为目的操作数以直接地址为目的操作数以直接地址为目的操作数MOVdir1MOVdir1,dir2dir2MOVdirMOVdir,#data#dataMOVdirMOVdir,AAMOVdirMOV
19、dir,RnRn MOVdirMOVdir,RiRi 例例例例:R0=50H,(50H)=10H,R0=50H,(50H)=10H,指指指指令令令令 MOV35H,R0MOV35H,R0执行后,执行后,执行后,执行后,(35H)(35H)10H10H2022/12/202022/12/201818汇编语言与汇编程序汇编语言与汇编程序4.4.4.4.以寄存器间接地址为目的操作数以寄存器间接地址为目的操作数以寄存器间接地址为目的操作数以寄存器间接地址为目的操作数MOVMOVRiRi,dirdirMOVMOVRiRi,#data#dataMOVMOVRiRi,AA5.5.5.5.查表指令(读程序存储
20、器)查表指令(读程序存储器)查表指令(读程序存储器)查表指令(读程序存储器)MOVCAMOVCA,(A+DPTRA+DPTR)MOVCAMOVCA,(A+PCA+PC)例例例例:A A20H20H,DPTRDPTR2000H2000H,指令指令指令指令 MOVCAMOVCA,(A+DPTRA+DPTR)执行后,执行后,执行后,执行后,程序存储器程序存储器程序存储器程序存储器2020H2020H2020H2020H单元中的内容单元中的内容单元中的内容单元中的内容送入送入送入送入A A A A。2022/12/202022/12/201919汇编语言与汇编程序汇编语言与汇编程序例:例:MOVAMO
21、VA,#30H#30HMOV4FHMOV4FH,A AMOVR0MOVR0,#20H#20HMOVR0MOVR0,4FH4FHMOV21HMOV21H,20H20H习题习题习题习题:用两种寻址方式实现,将片内:用两种寻址方式实现,将片内:用两种寻址方式实现,将片内:用两种寻址方式实现,将片内RAMRAMRAMRAM 60606060H H H H单元的数据传送给累加器单元的数据传送给累加器单元的数据传送给累加器单元的数据传送给累加器A A A A。解解:MOVA,#60HMOVA,#60H()MOVR0MOVR0,#60H#60HMOVAMOVA,R0R0();A=30HA=30H;(4FH)
22、=30H(4FH)=30H;R0=20HR0=20H;(20H)=30H(20H)=30H;(21H)=30H(21H)=30HMOVR0MOVR0,60H60HMOVAMOVA,R0R0()MOVA,60HMOVA,60H ()顺序执行下列指令序列,求每一步执行结果。顺序执行下列指令序列,求每一步执行结果。顺序执行下列指令序列,求每一步执行结果。顺序执行下列指令序列,求每一步执行结果。2022/12/202022/12/202020汇编语言与汇编程序汇编语言与汇编程序 说说 明:明:只有指令表中的指令才有对应指令代码,计算机只有指令表中的指令才有对应指令代码,计算机才能执行。编程时,不能随意
23、创造发明指令。才能执行。编程时,不能随意创造发明指令。1.1.1.1.一条指令中不能同时出现两个工作寄存器:一条指令中不能同时出现两个工作寄存器:一条指令中不能同时出现两个工作寄存器:一条指令中不能同时出现两个工作寄存器:非法非法非法非法指令:指令:指令:指令:MOVR1MOVR1,R2R2MOVR2MOVR2,R0R02.2.2.2.间址寄存器只能使用间址寄存器只能使用间址寄存器只能使用间址寄存器只能使用 R0R0R0R0、R1R1R1R1。非法非法非法非法指令:指令:指令:指令:MOVAMOVA,R2R23.3.3.3.SFRSFRSFRSFR区只能直接寻址,不能用寄存器间接区只能直接寻址
24、,不能用寄存器间接区只能直接寻址,不能用寄存器间接区只能直接寻址,不能用寄存器间接寻址。寻址。寻址。寻址。非法非法非法非法指令:指令:指令:指令:MOVR0MOVR0,#80H#80HMOVAMOVA,R0R02022/12/202022/12/202121汇编语言与汇编程序汇编语言与汇编程序6.6.6.6.访问外部数据访问外部数据访问外部数据访问外部数据RAMRAMRAMRAMMOVXDPTRMOVXDPTR,AAMOVXAMOVXA,DPTRDPTRMOVXAMOVXA,RiRiMOVXMOVXRiRi,AA例例例例:DPTRDPTR2000H,2000H,外部外部外部外部RAMRAM中中
25、中中(2000H)=18H(2000H)=18H 指令指令指令指令 MOVXA,DPTR;MOVXA,DPTR;执行后执行后执行后执行后,A A18H18H 例例例例:P2P210H10H,R1R150H50H,A A64H64H,指令指令指令指令 MOVXR1MOVXR1,AA 执行后执行后执行后执行后,外部,外部,外部,外部RAMRAM中(中(中(中(1050H1050H)64H64H7.7.7.7.堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令入栈入栈入栈入栈PUSHdirPUSHdir出栈出栈出栈出栈POPdirPOPdir2022/12/202022/12/202222汇编语言与汇
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言
限制150内