8051单片机教程第九课:数据传递指令

来源:本站
导读:目前正在解读《8051单片机教程第九课:数据传递指令》的相关信息,《8051单片机教程第九课:数据传递指令》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《8051单片机教程第九课:数据传递指令》的详细说明。
简介:8051单片机教程
上一课:8051单片机教程第八课(寻址方式与指令系统)
http://www.ippipp.com/article/id/37449

单片机教程第九课:数据传递指令

数据传递类指令

1)以累加器为目的操作数的指令

MOVA,Rn

MOVA,direct

MOVA,@Ri

MOVA,#data

第一条指令中,Rn代表的是R0-R7。第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。第四条指令是将立即数data送到A中。

下面我们通过一些例子加以说明:

MOVA,R1;将工作寄存器R1中的值送入A,R1中的值保持不变。

MOVA,30H;将内存30H单元中的值送入A,30H单元中的值保持不变。

MOVA,@R1;先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中。如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。

MOVA,#34H;将立即数34H送入A中,执行完本条指令后,A中的值是34H。

2)以寄存器Rn为目的操作的指令

MOVRn,A

MOVRn,direct

MOVRn,#data

这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。

单片机指令(二)

数据传递类指令

(3)以直接地址为目的操作数的指令MOVdirect,A例:MOV20H,AMOVdirect,RnMOV20H,R1

MOVdirect1,direct2MOV20H,30H

MOVdirect,@RiMOV20H,@R1

MOVdirect,#dataMOV20H,#34H

(4)以间接地址为目的操作数的指令MOV@Ri,A例:MOV@R0,AMOV@Ri,directMOV@R1,20H

MOV@Ri,#dataMOV@R0,#34H

(5)十六位数的传递指令MOVDPTR,#data168051是一种8位机,这是唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOVDPTR,#1234H,则执行完了之后DPH中的值为12H,DPL中的值为34H。反之,如果我们分别向DPH,DPL送数,则结果也一样。如有下面两条指令:MOVDPH,#35H,MOVDPL,#12H。则就相当于执行了MOVDPTR,#3512H。综合练习:

给出每条指令执行后的结果

MOV23H,#30HMOV12H,#34H

MOVR0,#23H

MOVR7,#22H

MOVR1,12H

MOVA,@R0

MOV34H,@R1

(23h)=30h

(12h)=34h

(R0)=23H

(R7)=22H

(R1)=12H

(A)=30H

(34H)=34H

MOV45H,34H

MOVDPTR,#6712H

MOV12H,DPH

MOVR0,DPL

MOVA,@R0

(45H)=34H

(DPTR)=6712H

(12H)=67H

(R0)=12H

(A)=67H

说明:用括号括起来代表内容,如(23H)则代表内部RAM23H单元中的值,(A)则代表累加器A单元中的值。

上机练习:

进入DOS状态,进入WAVE所在的目录,例D:WAVE

键入MCS51

按File->Open,出现对话框后,在Name处输入一个文件名(见图2),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件

在空白处将上面的程序输入。见图4。用ALT+A汇编通过。用F8即可单步执行,在执行过程中注意观察屏幕左边的工作寄存器及A累加器中的值的变化。

内存中值的变化在此是看不到的,可以用如下方法观察(看图5):将鼠标移到DATA,双击,则光标进入此行,此时可以键盘上的上下光标键上下翻动来观察内存值的变化。本行的最前面DATA后面的数据代表的是“一段”的开始地址,如现在为20H,再看屏幕的最上方,数字从0到F,显示两者相加就等于真正的地址值,如现在图上所示的内存20H、21H、22H、23H中的值分别是FBH、0EH、E8H、30H。

图56、当运行完程序后,即进入它的反汇编区,不是我们想要的东西。为了再从头开始,可以用CTRL+F2功能键复位PC值。注意此时不会看到原来的窗口,为看到原来的窗口,请用ALT+4或ALT+5等来切换。当然以上操作也可以菜单进行。CTRL+F2是程序复位,用RUN菜单。窗口用WINDOWS菜单。

此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。

下一课:

8051单片机教程第十课:数据传递类指令指令

http://www.ippipp.com/article/id/37452

提醒:《8051单片机教程第九课:数据传递指令》最后刷新时间 2024-03-14 01:08:51,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《8051单片机教程第九课:数据传递指令》该内容的真实性请自行鉴别。