|
回复【9楼】ofourme:
--------------------------------- 迷茫,毕业了,没工作,不学了 |
| 好像是51的汇编,我已经忘光了。学一门汇编语言还是需要的,可以让你更好的理解编程。 |
|
回复【6楼】秋枫暮霞惋红曲:
--------------------------------- 学生。。。。那我真的说错了,不该说“没用”。我以为你工作了。 |
|
回复【5楼】xuande:
--------------------------------- 回复【5楼】xuande: --------------------------------- 我还想问:我该在哪些方面下功夫?老师再给我解疑一下 |
|
回复【5楼】xuande:
--------------------------------- 中国教育制度的落后,我也不想研究这些没用的东西,可是考试还要考啊。 自己又没方向感,只好跟着教育走了 |
|
这是一种保护“现场”的机制,
“现场”包括一些数据,更重要是包括 program Counter, 即  C ,
否则,调用子程序之后,就找不到回家的路了。 这只是保护现场的方法之一,是 INTEL 公司在 51 系列采用的方法; 现在 CPU 那么多,具体方法已经不重要了,C语言、开发平台、编译器已经帮你做了; 这些已经是很陈旧的知识,我虽然做过也都忘记了,因为现在根本不需要。 我其实想说,LZ 不要在这些东西上下功夫了。 |
| POP是出栈吧,得看堆栈里压了什么数据 |
|
你给出答案,我就知道怎么算了,嘿嘿,时隔太久了。。。 堆栈就像手枪的弹仓,后弹压前弹,这叫“向上增长”。 SP 就是指针,初值是零位,压一弹加一,现在加到 42H 了;相对应,射一弹就减一。 POP DPH,就是把当前 SP 标注的那颗弹,射到 DPH 里,所以 DPH = ( 42H )= 80H; 随后 SP 自动减一为 41H,再往外射到 DPL 里,SP 变为 40H 。 RET,就是把以前保存的  C 数值送回到  C 寄存器,以便返回调用子程序之前的程序位置。。。 |
/1
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2026-10-5 01:12
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网