en:pfw:disassemblers_rp2040-assembler
Disassemblers
- RP2040 disassembler, compact universal RP2040 disassembler.
Note that the check on CFA's inskip-cfa
is only correct for ITC code.
For other systems this word need adaptation.
An example of its use, disassemble DUP
, ?DUP
& DROP
in noForth:
das dup 20000EDC: 1F09 sp 4 # subs 20000EDE: ` 600B tos sp 0 #) str 20000EE0: C804 ip { w } ldm 20000EE2: CA10 w { hop } ldm 20000EE4: F 46A7 pc hop mov name ?DUP 20000EF8: + 2B00 tos 0 # cmp 20000EFA: D1EF -22 to 20000EDC bne 20000EFC: C804 ip { w } ldm 20000EFE: CA10 w { hop } ldm 20000F00: F 46A7 pc hop mov name DROP 20000F14: C908 sp { tos } ldm 20000F16: C804 ip { w } ldm 20000F18: CA10 w { hop } ldm 20000F1A: F 46A7 pc hop mov
Command | Example | Purpose |
---|---|---|
DAS | DAS DUP | Disassemble from the word DUP |
MDAS | <addr> MDAS | Disassemble from <addr> |
Each time the space bar is hit, a new line is disassembled. When any other key is hit the disassembly stops! Note that the noForth version is slightly more advanced. It recognizes a header and prints its name.
Contributions
en/pfw/disassemblers_rp2040-assembler.txt · Last modified: 2023-10-02 17:01 by willem