您的位置 首页 嵌入式

普通单片机教育 第八讲 单片机指令(二)

数据传递类指令(3)以直接地址为目的操作数的指令MOVdirect,A例:MOV20H,AMOVdirect,RnMOV20H,R1MOVdirect1,direct2M

数据传递类指令

(3)以直接地址为意图操作数的指令MOV direct,A 例: MOV 20H,A MOV direct,Rn MOV 20H,R1MOV direct1,direct2 MOV 20H,30HMOV direct,@Ri MOV 20H,@R1MOV direct,#data MOV 20H,#34H

(4)以直接地址为意图操作数的指令MOV @Ri,A 例:MOV @R0,A MOV @Ri,direct MOV @R1,20HMOV @Ri,#data MOV @R0,#34H

(5)十六位数的传递指令MOV DPTR,#data16 8051是一种8位机,这是仅有的一条16位当即数传递指令,其功用是将一个16位的当即数送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOV DPTR,#1234H,则履行完了之后DPH中的值为12H,DPL中的值为34H。

反之,假如咱们分别向DPH,DPL送数,则成果也相同。如有下面两条指令:MOV DPH,#35H,MOV DPL,#12H。则就相当于履行了MOV DPTR,#3512H。 归纳操练: 给出每条指令履行后的成果

MOV 23H,#30H
MOV12H,#34H
MOV R0,#23H
MOV R7,#22H
MOV R1,12H
MOV A,@R0
MOV 34H,@R1

(23h)=30h
(12h)=34h
(R0)=23H
(R7)=22H
(R1)=12H
(A)=30H
(34H)=34H

MOV 45H,34H
MOVDPTR,#6712H
MOV 12H,DPH
MOV R0,DPL
MOV A,@R0

(45H)=34H
(DPTR)=6712H
(12H)=67H
(R0)=12H
(A)=67H

阐明:用括号括起来代表内容,如(23H)则代表内部RAM23H单元中的值,

(A)则代表累加器A单元中的值。 上机操练:进入DOS状况,进入WAVE地点的目录,

例D:\WAVE 键入MCS51,呈现如下画面

图1

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

图2

则新建一个文件(见图3)

图3

在空白处将上面的程序输入。见图4。用ALT+A汇编经过。用F8即可单步履行,

在履行过程中留意调查屏幕左面的作业寄存器及A累加器中的值的改变。

图4

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

图5

6、当运转完程序后,即进入它的反汇编区,不是咱们想要的东西。为了再从头开端,能够用CTRL+F2功用键复位PC值。留意此刻不会看到本来的窗口,为看到本来的窗口,请用ALT+4或ALT+5等来切换。当然以上操作也能够菜单进行。CTRL+F2是程序复位,用RUN菜单。窗口用WINDOWS菜单。此次我们就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友独自介绍一个好一点的吧。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/261812.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部