Added dissassembly support for all types str/strb/strh instruction enconding.
Details
Tested all possible combinations, test branch where I manually
tested my changes:
https://github.com/freebsd/freebsd-src/compare/main...toor1245:freebsd-src:arm64-disasm-str-test
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
review refs:
str (immediate):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STR--immediate---Store-Register--immediate--
str (register):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STR--register---Store-Register--register--
strb (immediate):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRB--immediate---Store-Register-Byte--immediate--
strb (register):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRB--register---Store-Register-Byte--register--
strh (immediate):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRH--immediate---Store-Register-Halfword--immediate--
strh (register):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRH--register---Store-Register-Halfword--register--
Looks good to me, thanks for linking the documentation!
sys/arm64/arm64/disassem.c | ||
---|---|---|
199 | The only thing I'm unsure about is the OP_SF32. It's exact purpose is not so clear to me but I trust it's correct based on ldrb/ldrh and your testing. |