登录
首页 单片机论坛
回帖 发帖
正文

主题:我在学的时候有这样一段不理解 希望高人指点啊

点击:1239 回复:3

堆栈操作
PUSH direct
POP direct
第一条指令称之为推入,就是将direct中的内容送入堆栈中,第二条指令称之为弹出,就是将堆栈中的内容送回到direct中。推入指令的执行过程是,首先将SP中的值加1,然后把SP中的值当作地址,将direct中的值送进以SP中的值为地址的RAM单元中。例:
MOV SP,#5FH
MOV A,#100
MOV B,#20
PUSH ACC
PUSH B
则执行第一条PUSH ACC指令是这样的:将SP中的值加1,即变为60H,然后将A中的值送到60H单元中,因此执行完本条指令后, 内存60H单元的值就是100,同样,执行PUSH B时,是将SP+1,即变为61H,然后将B中的值送入到61H单元中,即执行完本条指令后,61H单元中的值变为20。
09-04-16 19:22
没说哪里不理解啊?
09-04-19 12:30
我买了个单片机主板  能不能教我怎样调试啊啊  我将usb插上电脑啊打开时数码管都亮着什么都没有用  我改从哪里入手啊   急啊   求帮我解决啊
09-05-08 14:50
没说清楚什么不明白,简单说下两条指令
push direct与pop direct 这两条是针对堆栈操作的指令,push direct是入栈指令,单片机执行指令时,先执行sp+1→sp,再执(direct)→(sp);pop direct 是出栈指令,单片机执行时,先执行(sp)→(direct),再执行sp-1→sp
09-05-12 21:31

工控新闻

更多新闻资讯