From b2821c7e9f3e78eb0feb26a563f9a66f1c8cc39a Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 19 Sep 2016 12:39:58 +0200 Subject: Log 09-19 --- log.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/log.md b/log.md index 239be90..7083d30 100644 --- a/log.md +++ b/log.md @@ -24,4 +24,13 @@ Is there an interface to get an auxiliary register in the code generator? For example, to swap to registers a third is necessary (or the stack, but then the PC and SP cannot be modified). In `w_as_jsr_instruction`, the PC is stored on the stack, but PC cannot be `Rd` for `str`. Therefore we need an auxiliary -register (`8c91384` does this for some cases) +register (`8c91384` does this for some cases). *Answer on 09-19*. + +### 2016-09-19 +Talked to John: + + - (*Answer to question from 09-18*) Registers R14 (LR) and probably also R12 + are scratch registers and can be used at any time. + - When the program counter is stored on the stack in ARM (`str pc,[sp,#-4]!`), + the value pushed is actually the PC + 8, which gives space for a call after + storing the PC. On Thumb-2 this is different, so this should be checked. -- cgit v1.2.3