2022年单片机指令系统2_第1页
2022年单片机指令系统2_第2页
2022年单片机指令系统2_第3页
2022年单片机指令系统2_第4页
2022年单片机指令系统2_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第三章 指令系统

指令系统3/23/20251一、数据传送指令按存储空间及指令功能划分:内部256字节的RAM单元之间的数据传送(包括片内RAM和特殊功能寄存器SFR)堆栈操作指令数据交换指令ROM访问指令外部RAM访问指令3/23/202521、内部RAM单元之间的数据传送1)以累加器为目的操作数的数据传送指令

MOVA,#data

;(A)←

#data

MOVA,Rn

;n=0~7,(A)←

(Rn)

MOVA,@Ri

;i=0,1,(A)←

((Ri))

MOVA,direct

;(A)←

direct direct为内部RAM或SFR例:MOVA,#80HMOVA,R7MOVA,@R0MOVA,80H3/23/20253

MOVR0,#30HMOV30H,#60HMOVA,@R0(A)=?思考3/23/202542)以直接地址direct为目的操作数的数据传

送指令

MOVdirect,A;(direct)←(A)

MOVdirect,Rn

;(direct)←(Rn),

n=0~7MOVdirect,@Ri

;(direct)←((Ri

)

),

i=0,1MOVdirect2,direct1;(direct2)←(direct1)

MOVdirect,#data;(direct)←#data

例:MOVP1,AMOV70H,R3

MOV30H,@R0MOV0E0H,78H

MOV01H,#50H3/23/202553)以当前工作寄存器Rn为目的操作数的数

据传送指令MOVRn,A;(Rn)

(A),

n=0~7MOVRn,direct;(Rn)

(direct)

MOVRn,#data;(Rn)

#data

例:MOVR6,AMOVR3,70HMOVR5,#0FAH3/23/202564)以寄存器间接地址@Ri为目的操作数

数据传送指令MOV@Ri,A

;((Ri))←

(A),i=0,1MOV@Ri,direct

;((Ri))←

(direct)

MOV@Ri,#data

;((Ri))←

#data例:MOV@R0,AMOV@R1,70HMOV@R0,

#70H3/23/202575)16位数据传送指令MOVDPTR,#data16;(DPTR)←#data16

例:

MOVDPTR,#1234H=

MOVDPH,#12HMOVDPL,#34H3/23/20258源操作数ARndirect@Ri#data目的操作数A√

√√√Rn√√√direct√√√√√@Ri√√√一般传送指令传送数据关系3/23/20259例题:设(70H)=60H,(60H)=20H,P1为输入口,当前输入状态为0B7HMOVR0,#70H;MOVA,@R0;MOVR1,A;MOVA,@R1;MOV@R0,P1;运行结果:(70H)=(60H)=(A)=(R0)=(R1)=P1=0B7H20H20H70H60H0B7H3/23/202510例:(SP)=60H,(A)=30H,(PSW)=70HPUSHACCPUSHPSW;(SP)←(SP)+1=61H,((SP))←(ACC);(SP)←(SP)+1=62H,((SP))←(PSW)结果:(61H)=30H(62H)=70H(SP)=62H3/23/202512(SP)←(SP)+1=61H,((SP))←(ACC)MOVR0,#70H;MOVDPTR,#1234H因为DPTR是16位,所以用DPTR间接寻址可以访问64KB任意单元。把平方表用伪指令DB存放在ROM中,把表的首地址置入DPTR中,把数0~9存放在变址寄存器A中。SWAPA设(70H)=60H,(60H)=20H,MOVA,R7MOVdirect,A;(direct)←(A)将该地址指出的程序存储单元的内容送入A,一般用作读ROM中表格常数。例:把A的内容送到31H设(70H)=60H,(60H)=20H,MOVdirect,#data;(direct)←#dataMOV30H,#60HMOVdirect,A;(direct)←(A)

例:(SP)=62H(62H)=70H(61H)=30H

POPDPHPOPDPL则(DPTR)=(SP)=7030H60H3/23/2025133、数据交换指令1)字节交换指令:只用于内部RAM与A之间的数据交换XCHA,Rn

;(A)←→(Rn)

XCHA,direct;(A)←→(direct)

XCHA,@Ri

;(A)←→(Ri)例:(A)=80H,(R7)=97H执行:XCHA,R7

结果:(A)=97H,(R7)=80H3/23/202514

将片内RAM60H单元与61H单元的数据交换。

XCH60H,61H←对吗?思考3/23/2025152)半字节交换指令:只针对A与@Ri交换低四位XCHDA,@Ri

;(A)0-3←→((Ri))0-3(A)低4位与((Ri))低4位交换高4位不变例:(R0)=60H,(60H)=3EH,(A)=59H执行:XCHDA,@R0结果:(A)=5EH(60H)=39H3/23/2025163)累加器高低半字节交换指令将A的低4位和高4位相互交换

SWAPA;(A)0~3(A)4~7

例:(A)=3AH

SWAPA则:(A)=0A3H3/23/2025174、访问程序存储器ROM指令即从ROM向A传送数据,共2条。程序存储器中的数据往往是按表格形式存放着,因此,程序存储器中的这类数据是用查表指令提取。3/23/202518MOVCA,@A+PC

;(A)←((A)+(PC))以PC作为基址寄存器,A作为变址寄存器A的内容为无符号数,相加可得到一个16位地址。将该地址指出的程序存储单元的内容送入A,一般用作读ROM中表格常数。寄存器A取值00~0FFH,故本指令寻址范围为PC当前值后的256个字节。即表格常数必须在PC当前值后256个字节内。故也称为近程查表指令。3/23/202519例:设(A)=30H

1000H:MOVCA,@A+PC

则:

PC当前值为1001H,1001H+30H=1031H

然后将程序存储器1031H单元的内容送入累加器A中。3/23/202520

MOVCA,@A+DPTR;

(A)←((A)+(DPTR))以DPTR为基址寄存器,与A中无符号数相加得到一个16位地址,将该地址所指的ROM内容送给A。由于DPTR范围为0000H~0FFFFH,所以该指令寻址范围是64KROM,即表格可放在64KROM任何地址空间,故也称为远程查表指令。3/23/202521例:编制根据A中数(0~9),查其平方表的程序。把平方表用伪指令DB存放在ROM中,把表的首地址置入DPTR中,把数0~9存放在变址寄存器A中。

MOVDPTR,#1000HMOVCA,@A+DPTR......1000H:DB00H,01H,04H,09H,10HDB19H,24H,31H,40H,51H3/23/202523采用MOVCA,@A+PC地址源程序ORG0000H

0000H MOVA,#03H

0002H MOVCA,@A+PC

0003H DB00H

0004H DB01H

0005H DB04H

0006H DB09H

0007H DB10H

0008H DB19H

0009H DB24H

000AH DB31H

000BH DB40H

000CH DB51H

3/23/2025255、访问外部RAM(或扩展I/O口)

与A之间的传送指令只采用寄存器间接寻址方式,地址指针可以是@R0、@R1,@DPTRMOVX只与A相互传递(双向),共有6条指令3/23/202526

MOVXA,@Ri;(A)←((Ri))

MOVXA,@DPTR;(A)←((DPTR))

MOVX@Ri,A;((Ri))←(A)

MOVX@DPTR,A;((DPTR))←(A)

3/23/202527片外扩展的RAM和I/O口统一编址,共同使用64KB。因为DPTR是16位,所以用DPTR间接寻址可以访问64KB任意单元。因为Ri是8位寄存器,只能寻访256B空间。当片外RAM小于256B时,可直接采用这种方式;当片外RAM大于256B时,利用P2口输出高8位地址(页地址)作为一页,有@Ri进行页内寻址。3/23/202528例:向外部RAM的2007H单元写入数据60H

MOVA,#60HMOVDPTR,#2007HMOVX@DPTR,A或MOVA,#60HMOVP2,#20HMOVR0,#07HMOVX@R0,A3/23/2025296、位传送指令位数据传送必须经过位累加器Cy,而不能在可寻址位之间传送。MOVC,bit;(

温馨提示

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

评论

0/150

提交评论