diff options
author | iximeow <me@iximeow.net> | 2024-07-14 11:28:12 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2024-07-14 11:28:12 -0700 |
commit | 597159306619a406d03dae30ff331895e14e01f9 (patch) | |
tree | 95546474960fa7bddd36783a3e1a32ef77e8d6a9 /source | |
parent | 399ff7bc189f3ee8108875ab4b738a4a2e83b5ea (diff) |
avnera notes fixup
Diffstat (limited to 'source')
-rw-r--r-- | source/blog/index.md | 1 | ||||
-rw-r--r-- | source/blog/yax/avnera/notes.md | 12 |
2 files changed, 8 insertions, 5 deletions
diff --git a/source/blog/index.md b/source/blog/index.md index 6eca535..3a73c12 100644 --- a/source/blog/index.md +++ b/source/blog/index.md @@ -8,3 +8,4 @@ welcome to my blog * <pre style="display: inline;">2023-12-13 ... </pre> [gameboy (color) emulation notes](./yaxgbc_dev_notes.html) * <pre style="display: inline;">2023-12-19 </pre> [Renesas RX disassembler notes](./yax/arch/rx.html) * <pre style="display: inline;">2023-12-? </pre> [ci.butactuallyin.space, or, "why i don't just use github actions"](./the_ci_situation.html) +* <pre style="display: inline;">2024-07-14 </pre> [learning an ISA by force of will](./yax/av7200/notes.html) 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) |