diff options
Diffstat (limited to 'src/libs')
| -rw-r--r-- | src/libs/stdio.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libs/stdio.cc b/src/libs/stdio.cc index 3770cd3..e29f2cc 100644 --- a/src/libs/stdio.cc +++ b/src/libs/stdio.cc @@ -8,13 +8,13 @@ void (*__putchar)(char)=memtext_putchar; void printf(char *str,...) { u64 rsi,rdx,rcx,r8,r9; u64* rbp; - asm( "mov %%rsi, %0": "=a"(rsi)); - asm( "mov %%rdx, %0": "=a"(rdx)); - asm( "mov %%rcx, %0": "=a"(rcx)); - asm( "mov %%r8, %0": "=a"(r8)); - asm( "mov %%r9, %0": "=a"(r9)); - asm( "mov %%rbp, %0": "=a"(rbp)); - + asm volatile( "mov %%rsi, %0": "=m"(rsi)); + asm volatile( "mov %%rdx, %0": "=m"(rdx)); + asm volatile( "mov %%rcx, %0": "=m"(rcx)); + asm volatile( "mov %%r8, %0": "=m"(r8)); + asm volatile( "mov %%r9, %0": "=m"(r9)); + asm volatile( "mov %%rbp, %0": "=m"(rbp)); + // Init informations int len=strlen(str); int i=0; // Pointer to the current character |
