要在8051单片机片内RAM里存入的一个16位数据,汇编语言怎么写? 20

 我来答
zhxiufan
2016-10-03 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38382
国家科技进步奖

向TA提问 私信TA
展开全部
在8051单片机片内RAM中存入一个16位数据,汇编指令中没有专兄弊顷门的指令。可以通过以下方法来实现:(加入十六位数为DATA,存入30H31H中)
1、用压栈指令实现。
MOV SP,#30H
PUSH #LOW(DATA)
PUSH #HIGH(DATA)
或者这样也可以:
PUSH #LOW(DATA)
PUSH #HIGH(DATA)
POP 31H
POP 30H
2、用传送指卜拿令实羡陆现。
MOV A,#LOW(DATA)
MOV 30H,A
MOV A,#HIGH(DATA)
MOV 31H,A
dxw0712
2009-05-27 · TA获得超过2179个赞
知道大有可为答主
回答量:1596
采纳率:23%
帮助的人:176万
展开全部
第一种方碧梁式:缓裂
直接赋值:
mov 30h,data1
mov 31h,data2
这样16位数据就分为两悔哪运个字节,分别存于30h、31h中了
第二种方式,间接赋值:
MOV R0,#30h
MOV @R0,DATA1
INC RO
MOV @R0,DATA2
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一万光年MEGn0
2009-05-27 · TA获得超过3712个赞
知道大有可为答主
回答量:4602
采纳率:67%
帮助的人:1059万
展开全部
只能存进两个寄存器里。
如:MOV @R0,DPH
MOV @R0,DPL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2a332fd
2009-05-27 · TA获得超过272个赞
知道小有建树答主
回答量:250
采纳率:100%
帮助的人:139万
展开全部
分成两个储存空间存不就行了,还要怎么写啊!??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电子粉丝
2009-05-27 · TA获得超过8016个赞
知道大有可为答主
回答量:6943
采纳率:74%
帮助的人:2801万
展开全部
连续移动数据两次,要看你原来的数据在哪儿.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式