From cf65bbcf9906864911a2120d5c0e292da421434b Mon Sep 17 00:00:00 2001 From: Perry Kivolowitz Date: Mon, 26 Dec 2022 08:33:44 -0600 Subject: [PATCH] explanation of line 7 thank you to 0x3333 for the pull request --- section_1/hello_world/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/section_1/hello_world/README.md b/section_1/hello_world/README.md index 79de95b..7ec37f7 100644 --- a/section_1/hello_world/README.md +++ b/section_1/hello_world/README.md @@ -623,6 +623,10 @@ This difference is OK because the older value of `argv` is preserved in `argv` before the increment, it doesn't matter when the increment is done. +Why is that value of 8 on line 7? Recall that all addresses in this +64 bit ISA are... 8 bytes long. To move our gaze from one pointer to +the next within an array of pointers, we must increment by 8. + The *if* happens on the first line of the C++ but done on the middle line of the assembly language. `cbz` stands for *`C`onditionally `B`ranch if `Z`ero*.