数据结构中的栈与汇编语言中的栈的区别

来源:互联网 发布:虚拟专用网络vpn 软件 编辑:程序博客网 时间:2024/05/16 07:40

在《数据结构》中,我们知道有关于栈的概念都是逻辑上的,而在《汇编语言》一门课中,关于栈的操作就是对内存的操作。以下的都是我在学习了王爽的《汇编语言》第三版以及清华大学出版社的《数据结构》第四版的有关栈的总结,如有错误,还请各位不吝赐教。

在《数据结构》中,关于进栈的操作是:

首先,top++;   //为下一个元素腾出空间

然后,下一个元素进栈


出栈的话:

首先,元素出栈

然后,top--;

总之就是,进栈是先自增,再赋值,出栈是先赋值,再自减。


在《汇编语言》中,对栈的操作相当于对内存的操作,下面的是进栈图:


若刚开始sp指向1000:[12]的内存,然后,sp = sp-2,sp指向往上两个内存处;元素进入内存1000:[10]的位置;

出栈时,元素出栈,sp=sp+2,指向往下两个内存处。

总结,进栈sp先减2,再元素进栈,出栈元素先出栈,sp再加2.


0 0
原创粉丝点击