global get_rsp
get_rsp:
	mov rax, rsp
	ret

global get_rip
get_rip:
	pop rax ; do the same thing as 'ret', except with 'jmp'
	jmp rax ; with the return address still in rax

global _halt
_halt:
	hlt
	jmp _halt


global get_frame
get_frame:
	mov rcx, rbp

.loop:
	mov rax, [rcx + 8]
	mov rcx, [rcx]
	cmp rdi, 0
	je .done

	sub rdi, 1
	jmp .loop

.done:
	ret
