summaryrefslogtreecommitdiff
path: root/source/blog/yax/avnera/notes.md
diff options
context:
space:
mode:
Diffstat (limited to 'source/blog/yax/avnera/notes.md')
-rw-r--r--source/blog/yax/avnera/notes.md12
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blog/yax/avnera/notes.md b/source/blog/yax/avnera/notes.md
index 5a11b33..a5797eb 100644
--- a/source/blog/yax/avnera/notes.md
+++ b/source/blog/yax/avnera/notes.md
@@ -959,7 +959,7 @@ b9 ; ret
so... this would be a 32b by 8b multiply.. but only if `op` is `adc`. for each set bit in `r5`, add `r6:r1:r2:r3` into `0xb0ea`. shift `r6:r1:r2:r3` left 1 regardless of bit being set in `r5`. repeat 8 times for each bit in `r5`.
-... that said, the calling convention for this is different from every other function, and is moderately unhinged: why is `r4` unused? why is `r0` unused? why is `r6` *used`??? either way. `08..0f` is `adc`.
+... that said, the calling convention for this is different from every other function, and is moderately unhinged: why is `r4` unused? why is `r0` unused? why is `r6` *used*??? either way. `08..0f` is `adc`.
but this function is weird enough to try figuring that out sooner than later. looking for the memory address referenced here, `0xb0ea` there's this region i'd looked at very early on that seems relevant:
```
@@ -1364,8 +1364,10 @@ the program i reference heavily in this post is here:
[link 3, sha256]
[mirror]
-notes to compare the in-progress restructuring of `noes`:
-[directory]
-
whitequark's excellent cheatsheet of the encoding space:
-https://github.com/whitequark/binja-avnera/tree/main?tab=readme-ov-file#cheatsheet
+* https://github.com/whitequark/binja-avnera/tree/main?tab=readme-ov-file#cheatsheet
+
+this last one i find interesting as history for what i guessed right, wrong,
+and revisited how early on - my notes as i touched up and revisited `noes` with
+increasingly-better understanding:
+* [yax/avnera/disasm/](./disasm)