要在8051单片机片内RAM里存入的一个16位数据,汇编语言怎么写? 20
5个回答
展开全部
在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
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
展开全部
第一种方碧梁式:缓裂
直接赋值:
mov 30h,data1
mov 31h,data2
这样16位数据就分为两悔哪运个字节,分别存于30h、31h中了
第二种方式,间接赋值:
MOV R0,#30h
MOV @R0,DATA1
INC RO
MOV @R0,DATA2
直接赋值:
mov 30h,data1
mov 31h,data2
这样16位数据就分为两悔哪运个字节,分别存于30h、31h中了
第二种方式,间接赋值:
MOV R0,#30h
MOV @R0,DATA1
INC RO
MOV @R0,DATA2
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只能存进两个寄存器里。
如:MOV @R0,DPH
MOV @R0,DPL
如:MOV @R0,DPH
MOV @R0,DPL
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分成两个储存空间存不就行了,还要怎么写啊!??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
连续移动数据两次,要看你原来的数据在哪儿.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |