"The register that holds the address for the stack is called a stack pointer (SP)"
Depending on the environment the code is compiled in, the stack may 'grow' downward or upward. "Growing" the stack/heap simply means allocating memory from the stack/heap space for the program that requested it. In other words, SP may go from High address to Low address (Growing Downwards) or Low address to High Address (Growing Upwards) depending on the environment.
According to the question, we are performing a 'POP' operation (with SP = 5926).
So, If the stack does downwards:
High Address to Low Address, we get (5926 + 2) = 5928
If the stack does upwards:
Low Address to High Address, we get (5926 - 2) = 5924
More Explanation:
https://www.youtube.com/watch?v=pOOivAJ63DM