From 597159306619a406d03dae30ff331895e14e01f9 Mon Sep 17 00:00:00 2001 From: iximeow Date: Sun, 14 Jul 2024 11:28:12 -0700 Subject: avnera notes fixup --- source/blog/yax/avnera/notes.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'source/blog/yax/avnera') 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) -- cgit v1.1