.data mem64 qword 0C0FFEEh .code Main proc enter 0, 0 ;przygotowanie ramki stosu dla procedury bez parametrów (zachowanie rejestru RSP w rejestrze RBP) ;Przykładowe operacje na stosie programu push mem64 ;odłożenie na stos danej mem64 (poczwórne słowo) mov rax, mem64 ;kopiowanie pamięci mem64 do rejestru RAX push rax ;odłożenie wartości rejestru RAX na stosie push 07EAh ;odłożenie wartości natychmiastowej na stosie pop r8 ;pobranie ostatniej wartości ze stosu i umieszczenie w rejestrze R8 pop r9 ;pobranie ostatniej wartości ze stosu i umieszczenie w rejestrze R9 pop rcx ;pobranie ostatniej wartości ze stosu i umieszczenie w rejestrze RCX sub rsp, 8 ;zmniejszenie wartości rejestru wskaźnika stosu (RSP) o wartość osiem mov qword ptr [rsp], 0DEADBEEFh ;odłożenie wartości natychmiastowej na wierzchołek stosu pop rax ;pobranie ostatniej wartości ze stosu i umieszczenie w rejestrze RAX leave ;usunięcie ramki stosu i przywrócenie wartości rejestrowi RSP ret Main endp end