Itu semua tergantung pada definisi kata; apa sebenarnya yang Anda maksud dengan kata-kata "atas" dan "bawah" dalam konteks ini, dan juga pada implementasi sistem operasi atau arsitektur komputer.
Saya ingat yang berikut dari dulu, ketika saya pemrograman di Commodore 64. Memori antara alamat $ 0800 (2048) dan $ 9FFF (40959) dicadangkan untuk program BASIC. Kode program BASIC Anda disimpan mulai dari alamat yang lebih rendah ($ 0800, tumbuh ke atas dari sana). Tumpukan, untuk menyimpan variabel dan mengembalikan alamat subrutin, mulai di bagian atas ($ 9FFF) dari rentang itu dan tumbuh menuju alamat yang lebih rendah. Jadi dalam konteks ini adalah logis untuk melihat tumpukan tumbuh ke bawah, dan ketika Anda kembali dari subrutin bingkai tumpukan subrutin dibuang dengan menambah penunjuk tumpukan, sehingga Anda bisa mengatakan Anda "bergerak naik tumpukan" ketika kembali dari subrutin.
Saya tidak tahu cara kerjanya pada versi modern, misalnya untuk prosesor Windows atau Intel x86. Mungkin tumpukan bekerja sebaliknya, yaitu tumbuh dari alamat yang lebih rendah ke yang lebih tinggi. Jika itu yang terjadi maka Anda mungkin akan menggunakan kata "atas", "bawah" dan "atas", "turun" persis sebaliknya.