在一些教程中,据说堆栈指针指向堆栈的顶部元素:
+-------------+
| stack |
+-------------+
| top element | <-- esp
+-------------+
在其他情况下,据说它指向它的右侧,因此指向当堆栈增长时可以写入的第一个内存地址。
+-------------+
| stack |
+-------------+
| top element |
+-------------+ <-- esp
在这个德国维基百科网站 https://de.wikipedia.org/wiki/Register_(Computer)#Stapelregister 上,据说这两个版本都存在并且它取决于 CPU 架构。
我的问题是,它在 x86-CPU 上怎么样?它还取决于操作系统吗?