模块二软件模块指令系统_第1页
模块二软件模块指令系统_第2页
模块二软件模块指令系统_第3页
模块二软件模块指令系统_第4页
模块二软件模块指令系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务一数据传送类指令数据传送类指令共29条;作用:将源操作数的内容送到目的操作数中,指令执行后,源操作数不变,目的操作数被源操作数取代。

数据传送类指令的助记符有:MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP共8种。

MOV<目的操作数>,

<源操作数>一般传送类:目的操作数可以是:累加器A

工作寄存器Rn

直接地址direct

间接地址@Ri数据的传送均在内部数据存储器的各单元之间进行(除立即数以外)。模块二:软件模块_指令系统1、以累加器A为目的操作数MOVA,Rn

例:MOVA,R3MOVA,directMOVA,40HMOVA,@RiMOVA,@R0MOVA,#dataMOVA,#40H小结:源操作数有4种寻址方式。这组指令的功能是将源操作数指定的内容送累加器A。模块二:软件模块_指令系统2、以工作寄存器Rn为目的操作数MOVRn,A例:MOVR2,AMOVRn,directMOVR4,40HMOVRn,#dataMOVR4,#40H小结:源操作数有3种寻址方式。这组指令的功能是将源操作数指定的内容送某一个工作寄存器Rn。注:没有MOVRn,Rn和MOVRn,@Ri模块二:软件模块_指令系统3、以直接地址direct为目的操作数MOVdirect,A例:MOV30H,AMOVdirect,RnMOV30H,R1MOVdirect,@RiMOV30H,@R1MOVdirect,#dataMOV30H,#40HMOVdirect,directMOV30H,40H小结:源操作数有5种寻址方式。这组指令的功能是将源操作数指定的内容送某一个直接寻址的内存单元。模块二:软件模块_指令系统4、以间接地址@Ri为目的操作数MOV@Ri,A例:MOV@R0,AMOV@Ri,directMOV@R1,40HMOV@Ri,#dataMOV@R1,#40H小结:源操作数有3种寻址方式。这组指令的功能是将源操作数指定的内容送某一个工作寄存器Ri指向的单元。注:没有MOV@Ri,Rn和MOV@Ri,@Ri模块二:软件模块_指令系统5、16位数据传送指令MOVDPTR,#data16注:这是唯一的16位数据传送指令例1:MOVDPTR,#2345HMOVDPTR,#077FHMOVDPTR,#0FFFFH这两个0有什么区别?模块二:软件模块_指令系统小结:1、立即数#data只能作为源操作数,不能作为目的操作数;2、在指令的两个操作数位置上不能同时出现工作寄存器;3、只有一条16位的MOV指令。模块二:软件模块_指令系统MOVA,40H(A)=MOVR0,A(R0)=MOVP1,#0F0H(P1)=MOV@R0,30H(R0)=(48H)=MOV40H,38H(40H)=MOVR0,30H(R0)=MOV90H,R0(P1)=MOV48H,#30H(48H)=MOVA,@R0(R0)=(A)=MOVP2,P1(P2)=例2:(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H48H48H0F0H48H38H40H38H38H30H38H40H38H模块二:软件模块_指令系统堆栈操作指令:1、压栈指令PUSHPUSHdirect

;首先移动堆栈指针SP:

(SP)+1(SP)

然后将直接地址单元的内容送SP指向的堆栈单元:(direct)((SP))例3:(PSW)=80H,(SP)=59H执行指令:PUSHPSW结果:(SP)=5AH,(5AH)=80H模块二:软件模块_指令系统2、弹出指令POPPOPdirect;首先将SP指向的堆栈单元的内容送直接地址单元:((SP))(direct)

然后调整SP指向栈顶:(SP)-1(SP)例4:(B)=80H,(SP)=60H,(60H)=50H执行指令:POPB结果:(SP)=5FH,(B)=50H模块二:软件模块_指令系统累加器传送类:这一类指令的共同点是:

一定有一个操作数是累加器A,而且大部分情况A是作为目的操作数。模块二:软件模块_指令系统1、字节交换指令XCHA,Rn

XCHA,directXCHA,@Ri功能:将两个操作数的内容互相交换。例5:(R0)=20H,(20H)=0BH,(A)=10H执行指令:XCHA,@R0结果:(A)=0BH,(20H)=10H,(R0)=20H模块二:软件模块_指令系统例6:交换30H和40H单元的内容。方法一:使用MOV指令,利用一临时的中间单元;方法二:使用字节交换指令XCH;方法三:利用堆栈。模块二:软件模块_指令系统2、半字节交换指令XCHDA,@Ri功能:将两个操作数内容的低4位互相交换,而高4位的内容不变。例7:(R0)=20H,(20H)=5BH,(A)=12H执行指令:XCHDA,@R0结果:(A)=1BH,(20H)=52H,(R0)=20H模块二:软件模块_指令系统3、累加器的半字节交换指令SWAPA功能:将累加器A内容的高4位和低4位互相交换。例8:(A)=12H执行指令:SWAPA结果:(A)=21H模块二:软件模块_指令系统例9:执行以下程序段MOVA,#0FFHMOVR0,#5BHMOV5B,#6DHXCHDA,@R0SWAPA结果:(A)=0DFH(R0)=5BH

(5B)=6FH模块二:软件模块_指令系统MOVXA,@DPTR;读外部RAM

MOVX@DPTR,A;写外部RAMMOVXA,@Ri

;读外部RAM

MOVX@Ri,A;写外部RAM注:内部RAM和外部RAM之间的数据交换一定要通过累加器A进行;外部RAM只能用寄存器间接寻址方式;两组指令的唯一区别是寻址范围不同。访问外部RAM指令:模块二:软件模块_指令系统例10:要求将外部RAM100H单元的内容送内部RAM30H单元。MOVDPTR,#0100HMOVXA,@DPTRMOV30H,A例11:要求将外部RAM1234H单元的内容送外部RAM1000H单元。MOVDPTR,#1234HMOVXA,@DPTRMOVDPTR,#1000HMOVX@DPTR,A模块二:软件模块_指令系统模块二:软件模块_指令系统小结:1、能指向外部RAM的指针有R0、R1、DPTR,

能指向内部RAM的指针只有R0、R1;2、外部RAM只能用间接寻址方式,

内部RAM可以用间接寻址,也可以用直接寻址;3、对比指令:MOVXA,@R0

MOVA,@R0MOVCA,@A+PCMOVCA,@A+DPTR功能:以(A)+(PC)或(A)+(DPTR)之和作为目标单元的地址,将程序存储器中该地址所对应的单元中的内容传送到累加器A中。访问ROM指令(查表指令):模块二:软件模块_指令系统模块二:软件模块_指令系统(1)DB:定义字节数据格式:[标号:]DB<表达式或表达式串>

1、数据表格的建立数据存储说明伪指令作用:将数据存入指定的存储单元中(ROM),

常用于定义数据表格。数据存入存储器的首地址一个或多个单字节数据

各个数据之间用逗号隔开作用:将以字节为单位的数据按顺序存入以标号为首地址的连续存储单元中。模块二:软件模块_指令系统例12:HERE:DB56H

DB0A7H…………ROMHEREHERE+156HA7H例13:TAB:DB02H,04H,06H,08HTABTAB+1TAB+2TAB+3…………02H04H06H08HROM模块二:软件模块_指令系统(2)DW:定义字数据格式:[标号:]DW<表达式或表达式串>数据存入存储器的首地址一个或多个双字节数据

各个数据之间用逗号隔开作用:将双字节数据按顺序存入以标号为首地址的连续存储单元中。

自动地先存放高字节,再存放低字节。模块二:软件模块_指令系统例14:ORG1000HTAB:DW0123H,3456H,6789HTAB1000HROM…………01HTAB+11001HTAB+21002HTAB+31003HTAB+41004HTAB+51005H23H34H56H67H89H模块二:软件模块_指令系统2、MOVCA,@A+DPTR的使用一般地址的构成:基址DPTR:指向表格首地址(即第0个数据);变址A:存放所要查找数据在表格中的位置(即第几个数据)。查表:确定2个位置表格在ROM中的位置;所要查的数据在表格中的位置。例15:有一个数存放在R0中,要求用查表的方式求它的平方值(此数的取值范围是0~5)。模块二:软件模块_指令系统

MOVDPTR,#TABMOVA,R0MOVCA,@A+DPTRTAB:DB0,1,4,9,16,25注:一般常数表格的定义都放在整个源程序最后面的位置。例16:将0、1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论