1
0
mirror of https://github.com/0xAX/linux-insides.git synced 2025-01-02 20:00:56 +00:00

inline assembly: fix result of summation

This commit is contained in:
Alexander Kuleshov 2018-03-15 00:07:27 +06:00
parent 5727932167
commit 41c8f09c8e
No known key found for this signature in database
GPG Key ID: EE88CAC52D66AC9B

View File

@ -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"