diff --git a/src/cpu.rs b/src/cpu.rs
index 204c8dfce0e13a73d310f02584bd33687b54e98b..b4dd6cf44ce7b2aa0b5790c29baae0f6df326b7b 100644
--- a/src/cpu.rs
+++ b/src/cpu.rs
@@ -281,16 +281,14 @@ impl Cpu {
 
         #[cfg(feature = "cpulog")]
         {
+            let title_str = format!("[0x{:04x}] {}", self.pc - 1, inst_str);
+            let inst_time_str = format!("({} cycles)", inst_time);
+            let registers_str = format!("[PC=0x{:04x} SP=0x{:04x}] [A=0x{:02x} B=0x{:02x} C=0x{:02x} D=0x{:02x} E=0x{:02x} H=0x{:02x} L=0x{:02x}]",
+            self.pc, self.sp, self.a, self.b, self.c, self.d, self.e, self.h, self.l);
             println!(
-                "[0x{:04x}] {}\t({} cycles)",
-                self.pc - 1,
-                inst_str,
-                inst_time
+                "{0: <24} {1: <11} {2: <10}",
+                title_str, inst_time_str, registers_str
             );
-            println!(
-                "[A=0x{:02x} B=0x{:02x} H=0x{:02x} L=0x{:02x}]",
-                self.a, self.b, self.h, self.l
-            )
         }
 
         #[cfg(feature = "secure")]