9课:单片机数据传递类指令

单片机数据传递类指令
(3)以直接地址为目的操作数的指令
mov direct,a 例: mov 20h,a
mov direct,rn mov 20h,r1
mov direct1,direct2 mov 20h,30h
mov direct,@ri mov 20h,@r1
mov direct,#data mov 20h,#34h
(4)以间接地址为目的操作数的指令
mov @ri,a 例:mov @r0,a
mov @ri,direct mov @r1,20h
mov @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
mov 12h,#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
mov dptr,#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),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图3)
图2
在空白处将上面的程序输入。见图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菜单。
此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。现在最好的是keil 这个软件本站有详细的教程请看: keil教程 单片机c语言教程

区块链能给跨境支付行业带来哪些便利
3D视觉传感器的精度是指什么
水产养殖废水浮标式检测的特点及参数
pcb覆铜有什么利与弊
英特尔与台积电出投巨资建设450mm晶圆和EUV曝光
9课:单片机数据传递类指令
浪潮集团召开2022年度工作会议
国产CPU厂商龙芯中科欲冲刺科创板
数码相机的镜头性能
Docker容器还未准备好上架苹果M1 Mac
5G云网将是未来所有商业和产业互联网最重要的基础设施
铅电池技术将使得电动汽车充电更优惠
门禁控制器的通讯方式有哪些
LED显示屏(第一部分):静态与动态扫描
系统架构过程基础知识汇总
智能家电无线报警系统网络节点与电源电路设计
pcb线路板印刷常见的20种问题
光伏直流用电计量系统的详细介绍
从新能源汽车火热看自动驾驶发展,主流的激光雷达如何设计更轻松?
首月销量突破100万台 Redmi K20系列大获成功