From 41c8f09c8e9cc325c3eed9e8e6feeee9b22d105a Mon Sep 17 00:00:00 2001 From: Alexander Kuleshov Date: Thu, 15 Mar 2018 00:07:27 +0600 Subject: [PATCH] inline assembly: fix result of summation --- Theory/linux-theory-3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Theory/linux-theory-3.md b/Theory/linux-theory-3.md index 34ccf93..bed076b 100644 --- a/Theory/linux-theory-3.md +++ b/Theory/linux-theory-3.md @@ -190,7 +190,7 @@ If we look at the assembly output: 400525: 48 01 d0 add %rdx,%rax ``` -we will see that the `%rdx` register is overwritten with `0x64` or `100` and the result will be `115` instead of `15`. Now if we add the `%rdx` register to the list of `clobbered` registers: +we will see that the `%rdx` register is overwritten with `0x64` or `100` and the result will be `110` instead of `10`. Now if we add the `%rdx` register to the list of `clobbered` registers: ```C __asm__("movq $100, %%rdx\t\n"