# The OS/K Team licenses this file to you under the MIT license. # See the LICENSE file in the project root for more information. #---------------------------------------------------------------------------# # Stack manipulation instructions # #---------------------------------------------------------------------------# # # Unconditional jump with possible return (CALL) # # PUSH(RIP) # JMP(RIP) # call ri # # Return to caller (RET) # # POP(RIP) # ret # # Make new stack frame (ENTER) # # PUSH(RBP) # RBP = RSP # RSP = RSP - $1 # enter i # # Leave stack frame (LEAVE) # # RSP = RBP # POP(RBP) # leave # # PUSH value onto stack # # RSP = RSP - 8 # *RSP = $1 # push rim # # POP value from stack # # $1 = *RSP # RSP = RSP + 8 # pop r