单片机入门教程第九课-单片机指令(二)
数据传递类指令
(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),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图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菜单。此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。
Linux如何获取写文件的进程号
关于清漆划痕试验仪产品的简单介绍
watchOS 7代码揭示了新的“国际”表盘
Trinamic:专注电机运动控制
路由器是干什么的 无线网是干什么的
单片机入门教程第九课-单片机指令(二)
采用双管正激拓扑构建高性能模块电源设计
无刷直流电机驱动器原理图
Android4.0系统 HTC四核旗舰Zeta曝光
汽车连接器中连接器端子的设计
首销即火爆 荣耀亲选Earbuds X2斩获京东天猫同价位段
如何获得符合EMI标准的电源
日本羽田机场引进机器人,打扫、带路、搬行李样样都行
下一代存储介质的选择是TLC还是QLC
关于实现双电机速度同步的解决方案
河源政府发布意见进一步加快电网建设步伐顺利完成十三五电网建设任务
tcl电视怎么连接wifi_tcl电视怎么投屏
智能传感器在市场中占据着重要一环
LED专用锡膏的存储与使用
SI522可兼容替代13.56MHz读卡NFC芯片QFN32 RC522