工学第三章指令系统.pptx
《工学第三章指令系统.pptx》由会员分享,可在线阅读,更多相关《工学第三章指令系统.pptx(89页珍藏版)》请在咨信网上搜索。
1、南昌大学过控教研室南昌大学过控教研室2008.9第第3 3章章 指令系统指令系统南昌大学过控教研室南昌大学过控教研室2008.93.1单片机指令系统概述单片机指令系统概述指令是指挥计算机工作的命令,一种计算机所能指令是指挥计算机工作的命令,一种计算机所能执行的指令集合称之为该种计算机的指令系统。执行的指令集合称之为该种计算机的指令系统。指令机器指令 0010 0100 0000 1010B(二进制数表示)24 0A(十六进制数表示)汇编指令 ADD A,#0AH 3.1.13.1.1汇编语言汇编语言南昌大学过控教研室南昌大学过控教研室2008.9 3.1.2 3.1.2 指令格式指令格式指令的
2、表示形式称指令格式。编写程序时必须严格按指令的表示形式称指令格式。编写程序时必须严格按指令格式书写。指令格式书写。MCS-51MCS-51指指令令由由操操作作码码和和操操作作数数组组成成。汇汇编编语语言言指指令令格格式如下:式如下:操作码助记符操作码助记符 操作数操作数1 1,操作数,操作数2 2,操作数,操作数3 3 1.操作码助记符操作码助记符2.操作数操作数南昌大学过控教研室南昌大学过控教研室2008.93.2 3.2 寻址方式寻址方式 指令中,操作数可能是指令中,操作数可能是具体的数据具体的数据,也可能是具,也可能是具体的存放体的存放数据的地址或符号数据的地址或符号,无论何种情况,都可
3、由,无论何种情况,都可由操作数取得参与指令运行的二进制数据。这个过程叫操作数取得参与指令运行的二进制数据。这个过程叫作寻址。作寻址。寻寻指指方方式式立即寻址方式立即寻址方式直接寻址方式直接寻址方式寄存器寻址方式寄存器寻址方式寄存器间接寻址方式寄存器间接寻址方式基址加变寻址方式基址加变寻址方式位寻址方式位寻址方式相对寻址方式相对寻址方式南昌大学过控教研室南昌大学过控教研室2008.93.2.1 3.2.1 立即寻址方式立即寻址方式所谓立即寻址就是所谓立即寻址就是操作数在指令中直接给出操作数在指令中直接给出。立即寻。立即寻址方式的操作数称立即数,立即数只能是源操作数,不能址方式的操作数称立即数,立
4、即数只能是源操作数,不能作为目的操作数。作为目的操作数。立即数有立即数有8位立即数和位立即数和16位立即数位立即数。使。使用时在立即数前加用时在立即数前加“#”标志。标志。例:例:MOV A,#20H MOV DPTR,#20D8H 南昌大学过控教研室南昌大学过控教研室2008.93.2.23.2.2直接寻址方式直接寻址方式直接寻址就是操作数直接寻址就是操作数直接以单元地址的形式直接以单元地址的形式给出。直给出。直接地址以存贮单元形式出现接地址以存贮单元形式出现。例如指令:MOV A,20H 南昌大学过控教研室南昌大学过控教研室2008.93.2.33.2.3寄存器寻址方式寄存器寻址方式 寄存
5、器寻址就是寄存器寻址就是操作数在寄存器操作数在寄存器中。中。例如指令:例如指令:MOV AMOV A,R R2 2南昌大学过控教研室南昌大学过控教研室2008.93.2.43.2.4寄存器间接寻址方式寄存器间接寻址方式 寄寄存存器器间间接接寻寻址址使使用用的的寄寄存存器器为为Ri和和DPTR,使使用用时时寄寄存存器器前前面加面加“标志。标志。MOV A,Ri ;MOVX A,DPTR例如:(例如:(R1)80H、(、(80H)=33H,则执行指令,则执行指令MOV A,Ri后,后,累加器累加器A的内容的内容为为33H而而不是不是80H。寄存器间接寻址是寄存器间接寻址是以寄存器以寄存器中的内容为
6、地址中的内容为地址取得操作数的取得操作数的方法。和寄存器寻址相比,寄方法。和寄存器寻址相比,寄存器寻址时,寄存器中存放的存器寻址时,寄存器中存放的是操作数,而寄存器间接寻址是操作数,而寄存器间接寻址中时,寄存器中存放的是操作中时,寄存器中存放的是操作数的地址。数的地址。南昌大学过控教研室南昌大学过控教研室2008.93.2.53.2.5基址加变址寻址方式基址加变址寻址方式 基址加变址寻址就是以基址加变址寻址就是以DPTRDPTR或或PCPC为基址寄存器为基址寄存器,以,以A A为变址寄为变址寄存器存器,以两者内容相加,以两者内容相加形成形成1616位地址位地址作为操作数地址。作为操作数地址。例
7、如指令:例如指令:MOVC AMOVC A,A+DPTRA+DPTR南昌大学过控教研室南昌大学过控教研室2008.93.2.63.2.6位寻址方式位寻址方式 位寻址方式就是位寻址方式就是以位为操作数以位为操作数。MCS-51MCS-51单片机有相当强的位单片机有相当强的位处理功能,可以对位进行直接操作。处理功能,可以对位进行直接操作。例如指令:例如指令:MOV C,4AH 位寻址范围:位寻址范围:1)内部)内部RAM的位寻址区的位寻址区 2)可供位寻址的)可供位寻址的11个专用寄存器个专用寄存器 南昌大学过控教研室南昌大学过控教研室2008.93.2.73.2.7相对寻址方式相对寻址方式 相对
8、寻址是在相对转移指令中,根据相对寻址是在相对转移指令中,根据地址相对当前地址相对当前 PCPC的偏移量的偏移量得到操作数的方式。如:得到操作数的方式。如:JZ relJZ rel偏移量偏移量rel是一带符号是一带符号8位二进数的补码数,范围位二进数的补码数,范围为为-128+127。实际书写程序时往往先用地址标号代。实际书写程序时往往先用地址标号代替,在汇编为机器指令时再计算出来。替,在汇编为机器指令时再计算出来。南昌大学过控教研室南昌大学过控教研室2008.9例例3-1 指出下列每一条指令的寻址方式。指出下列每一条指令的寻址方式。MOV 2FH,#40HMOV A,R0MOV DPTR,#2
9、020HMOV 45H,P0MOV A,R1MOVC A,A+PCJC LOOP 中中的的源源操操作作数数为为立立即即寻寻址址,目目的的操作数为直接寻址。操作数为直接寻址。中中的的源源操操作作数数为为寄寄存存器器间间接接寻寻址址,目的操作数为寄存器寻址。目的操作数为寄存器寻址。中中的的源源操操作作数数为为16位位立立即即寻寻址址,目的操作数为寄存器寻址。目的操作数为寄存器寻址。中中的的源源操操作作数数和和目目的的操操作作数数都都是是直接寻址。直接寻址。中中的的源源操操作作数数和和目目的的操操作作数数都都为为寄存器寻址。寄存器寻址。中中的的源源操操作作数数为为基基址址加加变变址址寻寻址址,目的操
10、作数为寄存器寻址。目的操作数为寄存器寻址。中的操作数为相对寻址。中的操作数为相对寻址。南昌大学过控教研室南昌大学过控教研室2008.9 例例3-23-2 判断下列指令是否正确,若不正确请指出判断下列指令是否正确,若不正确请指出错误:错误:MOV A ,DPTR MOV DPTR,#03H MOV#80H,R7 MOV B,C 解解不不正正确确。A是是8位位寄寄存存器器,DPTR为为16位位寄寄存器,不匹配。存器,不匹配。正确。不正确。不正确。#80H为立即数,不能作为目的地址。为立即数,不能作为目的地址。不不正正确确。B为为8位位字字节节寄寄存存器器,C为为1位位位位累累加加器器,不匹配。不匹
11、配。南昌大学过控教研室南昌大学过控教研室2008.93.3 3.3 数据传送指令数据传送指令1.通用传送指令通用传送指令MOV 指令格式:指令格式:MOV MOV ,功能:把源操作数所表示的数据传送到目的地址功能:把源操作数所表示的数据传送到目的地址指定的存贮单元之中,而不改变源操作数。即该指令指定的存贮单元之中,而不改变源操作数。即该指令是是“复制复制”,不是,不是“搬家搬家”。3.3.13.3.1内部内部RAMRAM数据传送指令数据传送指令南昌大学过控教研室南昌大学过控教研室2008.92)以以Rn为目的地址的指令为目的地址的指令 MOV Rn,A ;Rn (A)MOV Rn,direct
12、 ;Rn (direct)MOV Rn,#data ;Rn data1)以累加器以累加器A为目的地址的指令为目的地址的指令 MOV A,Rn ;A (Rn)MOV A,direct ;A (direct)MOV A,Ri ;A (Ri)MOV A,#data ;A data 南昌大学过控教研室南昌大学过控教研室2008.94)以寄存器间接地址为目的的地址的指令以寄存器间接地址为目的的地址的指令 MOV Ri,A ;(Ri)(A)MOV Ri,direct ;(Ri)(direct)MOV Ri,#data ;(Ri)data3)以直接地址为目的地址的指令以直接地址为目的地址的指令 MOV di
13、rect,A ;direct (A)MOV direct,Rn ;direct (Rn)MOV direct,direct;direct (direct)MOV direct,Ri ;direct (Ri)MOV direct,#data ;direct data 5)16位数据传送指令位数据传送指令 MOV DPTR,#data16 ;DPTR data16 ;DPL data70 ;DPH data158 南昌大学过控教研室南昌大学过控教研室2008.9南昌大学过控教研室南昌大学过控教研室2008.9例例3-33-3 设设RAM RAM 40H40H单单元元的的内内容容为为80H80H,8
14、0H80H单单元元内内容容为为47H47H,P P1 1口口的的输输入入状状态态为为0FFH0FFH,试试判判断断下下列列程程序序执执行结果。行结果。MOV R0,#40H MOV A,R0 MOV R1,A MOV B,R1 MOV R1,P1 MOV P2,P1 解解执行结果为:执行结果为:(A)80H,(B)47H,(R0)40H,(R1)80H,(P1)0FFH,(P2)0FFH,(80H)0FFH。;R0 40H;A (40H)80H;R1 80H;B (80H)47H;(80H)0FFH;P2 0FFH 南昌大学过控教研室南昌大学过控教研室2008.91)字节交换指令字节交换指令X
15、CH XCH A,Rn ;(A)(Rn)XCH A,direct ;(A)(direct)XCH A,Ri ;(A)(Ri)2.2.数据交换指令数据交换指令例:设例:设(A)=08H,(R7)=0DCH,执行指令执行指令 XCH A,R7结果为:结果为:(A)=0DCH,(R7)=08H功能:将累加器功能:将累加器A中内容与源操作数互换。中内容与源操作数互换。南昌大学过控教研室南昌大学过控教研室2008.9 例:例:(A)=80H,(R0)=30H,(30H)=0FH,执行指令,执行指令 XCHD A,R结果为:结果为:(A)=8FH,(30H)=00H2)半字节交换半字节交换XCHDXCHD
16、 A,Ri ;(A)低4位(Ri)低4位 功能:累加器功能:累加器A中内容与源操作数低中内容与源操作数低4位交换,高位交换,高4位不变。位不变。3)累加器高低数字节交换指令累加器高低数字节交换指令SWAP A SWAP A ;(A)低低4位位(A)高高4位位 功能:功能:A中高中高4位与低位与低4位互换。位互换。例:例:(A)=80H,执行,执行SWAP A结果为:结果为:(A)08H.南昌大学过控教研室南昌大学过控教研室2008.9解解 XCH A,20H SWAP A MOV R1,21H XCHD A,R1 SWAP A XCH A,20H 例例3-43-4试用交换指令使片内试用交换指令
17、使片内20H20H单元的高单元的高4 4位与位与21H21H单元的低单元的低4 4位交换。位交换。南昌大学过控教研室南昌大学过控教研室2008.9数据写入堆栈称数据写入堆栈称入栈入栈,数据从堆栈中读出称,数据从堆栈中读出称出栈出栈。3.栈操作指令栈操作指令南昌大学过控教研室南昌大学过控教研室2008.9 PUSH direct;SP (SP)+1,(SP)(direct)功功能能:将将堆堆栈栈指指针针加加1 1后后,片片内内RAM单单元元内内容容送送进进栈栈顶顶单单元,原元,原RAM单元内容不变。单元内容不变。说明:说明:PUSH指令常用于保护指令常用于保护CPUCPU现场。现场。栈栈操操作作
18、是是字字节节指指令令,每每次次只只能能压压入入或或弹弹出出1 1个个字字节的内容。节的内容。如如PUSH DPTR是是错错误误的的,但但可可以以用用以以下下两两条条指指令完成令完成DPTR的入栈。的入栈。PUSH DPH PUSH DPL1)入栈指令入栈指令PUSH南昌大学过控教研室南昌大学过控教研室2008.9例:设例:设(A)=30H,(B)=80H,(SP)=50H.则执行指令:则执行指令:PUSH A PUSH B结果为:结果为:(51H)=30H,(52H)=80H,(SP)=52H南昌大学过控教研室南昌大学过控教研室2008.9POPdirect ;direct (SP),SP (
19、SP)-1功能:将功能:将(SP)内容传送给片内内容传送给片内RAM单元,单元,SP内容减内容减1。说明:说明:栈操作要注意先入后出的原则。栈操作要注意先入后出的原则。POP指令常用于恢复指令常用于恢复CPU现场。现场。2)出栈指令出栈指令POP南昌大学过控教研室南昌大学过控教研室2008.9例例3-5 试用栈操作指令完成试用栈操作指令完成P0和和P1内容的互换。内容的互换。解解 PUSH P0 PUSH P1 POP P0 POP P1南昌大学过控教研室南昌大学过控教研室2008.93.3.2 3.3.2 片外数据存贮器与累加器片外数据存贮器与累加器A A之间的之间的 传送指令传送指令 MO
20、VX A,DPTR ;A (DPTR)MOVX A,Ri ;A (Ri)MOVX DPTR,A ;(DPTR)(A)MOVX Ri,A ;(Ri)(A)说明:说明:片片外外数数据据存存贮贮单单元元与与片片内内RAM之之间间的的数数据据传传送送以以及及片片外外数数据据存存贮贮单单元元之之间间的的数数据据传传送送不不能能直直接接进进行行,必必须须通通过过累累加加器器A中中转转。MOVX 20H,2000H及及MOVX 3000H,2000H等都是错误的。等都是错误的。寻寻址址方方式式只只能能是是寄寄存存器器间间接接寻寻址址。参参与与间间接接寻寻址址的的寄寄存存器器只只有有Ri和和DPTR两种(两种
21、(3个)。个)。DPTR为为16位位寄寄数数器器,寻寻址址范范围围为为000H0FFFFH共共64KB空空间间。而而Ri是是8位寄数器,只能寻址位寄数器,只能寻址000FFH低低256单元。单元。南昌大学过控教研室南昌大学过控教研室2008.9解解 MOV DPTR,#2000H MOVX A,DPTR MOV 20H,A MOV DPTR,#2000H MOVX A,DPTR MOV R0,#0FAH MOVX R0,A例例3-6 将片外数据存贮器将片外数据存贮器2000H单元的内容传送单元的内容传送到片内的到片内的20H单元中;单元中;将片外数据存贮器将片外数据存贮器2000H单单元的内容
22、传送到片外元的内容传送到片外0FAH单元单元。南昌大学过控教研室南昌大学过控教研室2008.93.3.3 3.3.3 程序存贮器向累加器程序存贮器向累加器A A传送指令传送指令 MOVC A,A+PC ;A (A)+(PC)MOVC A,A+DPTR ;A (A)+(DPTR)说明:说明:程序存贮器程序存贮器只能读出,不能写入只能读出,不能写入,所以其数据传送都是,所以其数据传送都是单单 向的向的,即从程序存贮器读出数据,且只能向累加器,即从程序存贮器读出数据,且只能向累加器A传送。传送。ROMROM片内、片外是统一编址,该指令既可访问片内,又可片内、片外是统一编址,该指令既可访问片内,又可
23、访问片外程序存贮器。访问片外程序存贮器。该类指令主要用于查表,又称查表指令。应用时,一般以该类指令主要用于查表,又称查表指令。应用时,一般以 PC或或DPTR确定表格的首址,查表时,根据确定表格的首址,查表时,根据A中不同的内中不同的内 容查找到表格中的相应项,故此时称容查找到表格中的相应项,故此时称PC或或DPTR为基址寄为基址寄 存器,存器,A为变址寄存器,寻址方式为基址加变址寻址。为变址寄存器,寻址方式为基址加变址寻址。使用使用DPTR作基址寄存器比较灵活,且不易出错。建议尽作基址寄存器比较灵活,且不易出错。建议尽 可能使用可能使用MOVCA,A+DPTR指令。指令。南昌大学过控教研室南
24、昌大学过控教研室2008.9解法一解法一 以以DPTR为基址寄存器为基址寄存器,平方表首址可灵活安排在,平方表首址可灵活安排在适当的位置如适当的位置如2000H,即平方表的内容从,即平方表的内容从2000H单元放起。单元放起。程序如下:程序如下:ORG 1800H MOV DPTR,#2000H MOV A,20H MOVC A,A+DPTR MOV 21H,A ORG 2000H DB 00H,01H,04H,10H,19H,24H DB 31H,40H,51H,64H,例例3-7 以查表方式求出片内以查表方式求出片内RAM中中20H单元数的平方值单元数的平方值,存入片内存入片内21H单元中
25、。单元中。南昌大学过控教研室南昌大学过控教研室2008.9南昌大学过控教研室南昌大学过控教研室2008.9 ORG 1000H1000MOV A,20H 1001 ADD A,#03H 1003 MOVC A,A+PC1004 MOV 21H,A1006 RET1007 DB 00H,01H,04H 解法二解法二 以以PC为基址寄存器,此时表格须紧跟程序之后,为基址寄存器,此时表格须紧跟程序之后,且要计算好表格首址位置。且要计算好表格首址位置。南昌大学过控教研室南昌大学过控教研室2008.9 XCH A,20H XCH A,30H XCH A,20H例例3-8 改正下列指令中的错误,完成其功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 第三 指令系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。