summaryrefslogtreecommitdiff
path: root/log.md
diff options
context:
space:
mode:
authorCamil Staps2016-09-19 12:39:58 +0200
committerCamil Staps2016-09-19 12:39:58 +0200
commitb2821c7e9f3e78eb0feb26a563f9a66f1c8cc39a (patch)
tree8cac5a7504ec57021b17bef3de43f0d85a7d5dc8 /log.md
parentLog 2016-09-18: vim plugin, question (diff)
Log 09-19
Diffstat (limited to 'log.md')
-rw-r--r--log.md11
1 files changed, 10 insertions, 1 deletions
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.