Преглед на файлове

Fix asm::delay not clobbering count register

Adam Greig преди 2 години
родител
ревизия
cdd70bb434
променени са 2 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 4 0
      CHANGELOG.md
  2. 2 1
      src/asm.rs

+ 4 - 0
CHANGELOG.md

@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
 
 ## [Unreleased]
 
+### Fixed
+
+- Fix `asm::delay()` to ensure count register is always reloaded
+
 ## [v0.8.0] - 2022-04-20
 
 ### Added

+ 2 - 1
src/asm.rs

@@ -81,7 +81,8 @@ pub unsafe fn delay(cycles: u32) {
             "1:",
             "addi {0}, {0}, -1",
             "bne {0}, zero, 1b",
-            in(reg) real_cyc
+            inout(reg) real_cyc => _,
+            options(nomem, nostack),
             )
         }