我是单片机初学者 求指教 题:执行下列指令序列后sp内容()A内容( ) B内容( ). 注:POP不怎么会 求详解

作者&投稿:耿国 (若有异议请与网页底部的电邮联系)
单片机里,执行了POP A后,是把((SP))给A吗?那SP还要减1吗?~

就是sp所在地址的内容,从顶向下减的,这个就看你压了多少层了,反正是最先压入的,就是最后出来的,也就是sp的原始地址

60H 因为这个时候刚从跳转返回。

题目中,有两条 mov sp,#43h,其实,
应该有一条是:mov R0, #43h,这个根据上下文很容易判断出来。

那么,各条指令的执行过程如下:

MOV SP, #43H ;SP = 43H
MOV R0, #43H ;R0 = 43H
MOV @R0, #39H ;(43H) = 39H
MOV 42H, #88H ;(42H) = 88H
POP ACC ;ACC = (SP) = (43H) = 39H
;SP = SP - 1 = 42H
POP B ;B = (SP) = (42H) = 88H
;SP = SP - 1 = 41H

最后:
A = 39H
B = 88H
SP = 41H
----
小草的追求68 的答案是对的。
推荐答案,就差远了,根本没有回答问题。
推荐答案,追求PUSH、POP配对使用,这个思路有些僵化。

在51汇编中,你这说的POP和PUSH 是一对对楗操作的指令,POP在这是弹出,在你这语句上你一定还找的到二个PUSH,这是在中断使用时用的保护现场作用,你这就是保护了ACC和B在中断完成后在进行的恢复。因这一定要成对使用(你对它特殊很熟时可例外)。

一看这就是汇编写的。对于初学者,我不提倡一开始就用汇编。用C语言学,特别容易下手,易懂。等学的差不多了,再学汇编。会节省很多时间,而且也提升你对单片机的兴趣


保康县17582773317: 求关于初学单片机的一些指教 -
愈钟清开: 先学最简单的51单片机,可以买本复旦大学出版社的张友德的单片微型机原理、应用...

保康县17582773317: 单片机执行一条指令的具体过程是怎么样的啊?越详细越好. -
愈钟清开: 不同的单片机执行指令是有区别的,以mcs51为例有单周期指令,双周期指令,和四周期指令,执行过程是取指令、分析、执行

保康县17582773317: 我学的是单片机,但是要运行必须会设计电路系统,但我对电路设计一窍不通. -
愈钟清开: 首先明确你的单片机想要实现的功能和你要设计的电路的目的,如果你是初学者,可以去参考别人设计的经典电路,没有一个设计人员不是从参考别人的电路开始的,只有读懂了别人的电路,才能设计出自己的电路.还有,不知道你单片机学到了什么的程度,一般单片机是电气工程专业大三的课程,这个时候的学生已经对于电路的基本原理有了认识,虽然不能设计很复杂的大型电路,但是想要实现一些功能性的模块电路还是可以的,你可以去参考一些单片机的例程,从中学习你想要学习的电路和相关知识.

保康县17582773317: 零基础想学单片机,想请高手指教
愈钟清开: 会了51 ,avr就更好学了 ,先51吧 最基础了开始 51论坛的资料也多些 板子应该有一个,淘宝去淘一个大概100多,软件就keil和ISP,keil是编译器, ISP是烧写用的

保康县17582773317: 初学单片机,求大神指教将片外RAM中5000H - 6000H中的数据移动到7000H - 8000H中的汇编程序 -
愈钟清开: start:mov dptr, #5000h mov r0, #0Fh // 16-1次 loop1:call mov256b djnz r0, loop1// 不返回,直接向下执行最后一次 mov256b:mov r1, #00h // 256次 loop2:movx a, @ a+dptr// dptr += 0x2000 xch a, dph add a, #20h xch a, dph movx @ a+dptr, a inc dptr/...

保康县17582773317: 自学单片机问题如何实际使用的问题 -
愈钟清开: 1.看你的兴趣了,如果就是业余兴趣爱好,可以做一些自己喜欢又可以做成的东西.比如,自动控制流量的滴瓶,简易的脉搏测量器.如果你想专业做,那就得学模电和数电了,因为单片机需要外围电路的配合才能运行,比如把你的脉搏跳动变...

保康县17582773317: 单片机一个循环指令~~求教~ 我是初学者~下面的代码是想不断从0 - 9循环~ 单到9就卡着了~请问漏了什么指令? -
愈钟清开: 在DJNZ R2,KG后加入一条JMP指令,让程序返回到第二行执行. 可以这样: ORG 0000HMAIN: MOV R1,#0 MOV DPT...

保康县17582773317: 单片机直接执行的是什么指令格式 -
愈钟清开: 单片机直接执行的是机器码,你用汇编语言或者C语言写程序,经过编译器编译后,生成HEX文件,也就是机器码(只有01两种状态),下载给单片机,单片机再执行机器码指令.

保康县17582773317: 单片机初学者,求助汇编程序练习.
愈钟清开: START:MOV A, #00H //欲传送的数据开始 MOV R0,#30H //欲传送的地址入口 MOV R7,#10H //R7存放数据个数10个 MOV A,@R0 //数据开始传送到指定地址 INC R0 //地址加1 INC A //数据加1 DJNZ R7,START//是否传送完0F个数据,否则转到start...

保康县17582773317: 单片机C语言程序执行问题 -
愈钟清开: int main(void) {while(1) { } } void other(void) { .......................................} 注意单片机程序是从main函数开始执行的,如果你的子函数没有在main函数中那么程序是不会被执行的,除非你把子函数放入中断内部才会被执行.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网