From 417bc949abfd935e4608ff70796b9c75228a1d75 Mon Sep 17 00:00:00 2001 From: Marian Buschsieweke Date: Thu, 30 Sep 2021 10:39:21 +0200 Subject: [PATCH] cpu/avr8_common: Clean up cpu_print_last_inscrution() --- cpu/avr8_common/include/cpu.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cpu/avr8_common/include/cpu.h b/cpu/avr8_common/include/cpu.h index 5f74717753..324cad06dc 100644 --- a/cpu/avr8_common/include/cpu.h +++ b/cpu/avr8_common/include/cpu.h @@ -180,13 +180,14 @@ static inline void __attribute__((always_inline)) cpu_print_last_instruction(voi uint8_t lo; uint16_t ptr; - __asm__ volatile ("in __tmp_reg__, __SP_H__ \n\t" - "mov %0, __tmp_reg__ \n\t" - : "=g" (hi)); - - __asm__ volatile ("in __tmp_reg__, __SP_L__ \n\t" - "mov %0, __tmp_reg__ \n\t" - : "=g" (lo)); + __asm__ volatile ( + "in %[hi], __SP_H__ \n\t" + "in %[lo], __SP_L__ \n\t" + : [hi] "=r"(hi), + [lo] "=r"(lo) + : /* no inputs */ + : /* no clobbers */ + ); ptr = hi << 8 | lo; printf("Stack Pointer: 0x%04x\n", ptr); }