Ciência popular. A pilha é o armazenamento de máquinas java não inteligentes
A pilha é uma área usada para armazenar dados. Não há nada de especial nesta área em si. É apenas uma parte da RAM interna. O que é especial é a forma como armazena e acessa os dados, que é o chamado 'primeiro a entrar, último a sair, último a entrar, primeiro a sair', e a pilha possui instruções especiais de transferência de dados, ou seja, 'P USH' e 'POP' possuem uma unidade especial dedicada a atendê-los, ou seja, o ponteiro de pilha SP. Sempre que uma instrução PUSH é executada, o SP é automaticamente reduzido em 2 (com base no valor original). Sempre que uma instrução POP é executada, o SP é automaticamente aumentado em 2 (com base no valor original). Como o valor em SP pode ser alterado por instruções, desde que o valor de SP seja alterado no início do programa, a pilha pode ser definida na unidade de memória especificada. Por exemplo, no início do programa, uma instrução MOV SP, #5FH é usada para definir a pilha na unidade a partir da unidade de memória 60H. Geralmente sempre há uma instrução para colocar o ponteiro da pilha no início do programa, pois na inicialização o valor inicial de SP é 07H, o que faz com que a pilha comece da unidade 08H e volte. A área de 08H a 1FH é a segunda, terceira e quarta área de registro de trabalho do 8031, que é frequentemente utilizada, o que causará confusão de dados. Quando diferentes autores escrevem programas, as instruções da pilha de inicialização não são exatamente as mesmas. É uma questão de hábitos do autor. Quando a área de pilha é configurada, isso não significa que a área se torne uma memória especial. Ela ainda pode ser usada como uma área de memória comum, mas geralmente os programadores não a usam como memória comum.
Respostas (1)
Entendido, obrigado por compartilhar.
— Todas as respostas carregadas —