51单片机中怎么提取堆栈指针单元的值
我需要对sp指针单元的内容进行操作下面这些指令正确吗?DECSP;INCSP;将sp指针单元中的值放入A中,应该是:MOVA,@SP;MOVA,(SP);MOVA,SP;...
我需要对sp指针单元的内容进行操作 下面这些指令正确吗? DEC SP; INC SP;将sp指针单元中的值放入A中,应该是: MOV A,@SP; MOV A,(SP); MOV A,SP; 这三种中的哪一个? 将A中的内容放入sp中又该怎么操作呢? MOV (SP),A; MOV *SP,A; MOV SP,A 急用,谢谢各位了!!
展开
1个回答
2013-09-26
展开全部
读SP的值肯定是MOV A,SP .但是SP只是个指针。他这是指向某个地址的。你要读这个地址的值的话就要用MOV A,@SP。写进去的话同样看你是要换SP指向的位置还是他所指向位置的值。如果是要改变它所指向的位置的话就用MOV SP,A就可以了。改变它指向这个地址的值就用MOV @SP,A。
说一下@,@的意思为间接运算。比如MOV R1,#30H,MOV A,@R1这样其实就等于从30H这个单元取数据一样。也就是MOV A,30H
说一下@,@的意思为间接运算。比如MOV R1,#30H,MOV A,@R1这样其实就等于从30H这个单元取数据一样。也就是MOV A,30H
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询