From 109cdf5a3aef05a413763c9f6c7ac006cc09cb7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Wed, 17 Aug 2022 03:00:51 +0300 Subject: [PATCH] Don't clobber tmpWord in peekWord in calculator.asm --- calculator.asm | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/calculator.asm b/calculator.asm index 5629bd1..88aef53 100644 --- a/calculator.asm +++ b/calculator.asm @@ -89,16 +89,6 @@ stEmit: tmpWordHigh: data 0 tmpWordLow: data 0 -; out: -; r0:r1 = word -; clobbers: -; r2, r3 -peekWord: - cleq r0, r0, popWord - cleq r0, r0, tmpStoreWord01 - cleq r0, r0, pushWord - breq r0, r0, tmpLoadWord01 - ; in: ; r0:r1 = word tmpStoreWord01: @@ -120,6 +110,22 @@ tmpLoadWord23: load r3, tmpWordLow ret +; out: +; r0:r1 = word +; clobbers: +; r2, r2 +peekWord: + cleq r0, r0, popWord + store peekWordHigh, r0 + store peekWordLow, r1 + cleq r0, r0, pushWord + load r0, peekWordHigh + load r1, peekWordLow + ret + + peekWordHigh: data 0 + peekWordLow: data 0 + ; in: ; r0:r1 = word ; clobbers: