diff --git a/README.md b/README.md index d16f476..12c7afd 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,9 @@ Arguments are passed in reverse order with the stack so: lowest address = 1st stack arg highest address = last stack arg -Should a function return more values than fit into the 7 registers, the caller has to allocate space on the stack for them, and pass the pointer to that space in r7. -This reduces the amount of argument registers to 6 and all arguments above that shall go on the stack, the pointer to the result stack shall **always** be passed in r7. -r7 points at the highest available address for results, with the 8th result being stored there, the 9th below it and so on. +Should a function return more values than fit into the 7 registers, the caller has to allocate space on the stack for them, and pass the pointer to that space in the next free argument register. +This reduces the amount of argument registers to 6 and all arguments above that shall go on the stack, the pointer to the result stack shall **always** be passed in an argument register. +This register points at the highest available address for results, with the 8th result being stored there, the 9th below it and so on. ### Stack Grows downwards from top of memory.