User Tools

Site Tools


en:pfw:disassembler_msp430-disassemblers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:pfw:disassembler_msp430-disassemblers [2023-09-04 18:13] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1en:pfw:disassembler_msp430-disassemblers [2023-09-05 06:33] (current) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 157.90.7.32
Line 1: Line 1:
 +{{pfw:banner.png}}
 +====== Disassemblers ======
  
 +  * [[https://github.com/project-forth-works/project-forth-works/blob/main/System-Software/disassemblers/MSP430-disassemblers/MSP430-disassembler-v0.2.f|MSP430 disassembler]], compact universal MSP430 disassembler (the 27 basic opcodes).\\
 +Note that the check on CFA's ''%%dasa @ @+ =%%'' is only correct for ITC code.\\
 +For other systems these lines need adaptation.\\
 +Not in Generic Forth: ''%%WITHIN  CELL-  1-  @+  <>%%''\\
 +
 +  * [[https://github.com/project-forth-works/project-forth-works/blob/main/System-Software/disassemblers/MSP430-disassemblers/noForth|noForth, resident noForth assembler]].
 +
 +An example of its use, disassemble ''%%DUP%%'', ''%%?DUP%%'' & ''%%DROP%%'' in noForth:
 +
 +<code>
 +das dup
 + 4BF0:  K  4BF2   --- cfa ---
 + 4BF2: $   8324   #  sp SUB
 + 4BF4:  G  4784   tos   0 sp x) MOV
 + 4BF6:        0
 + 4BF8:  O  4F00   nxt   pc MOV
 + 4BFA:  H  48B0   day )+   8481 pc x) MOV
 + 4BFC:     8481
 + 4BFE: ?D  443F   sp )+   nxt MOV
 + 4C00: UP  5055   4C04 pc x)   ip .b ADD
 +
 + 4C02:  L  4C04   --- cfa ---
 + 4C04:     9307   #  tos CMP
 + 4C06:  #  23F5   =? UNTIL,     ->4BF2
 + 4C08:  O  4F00   nxt   pc MOV
 + 4C0A: 6K  4B36   xx )+   w MOV
 + 4C0C:     8481   sp   5244 rp x) SUB
 + 4C0E: DR  5244
 + 4C10: OP  504F   pc   nxt .b ADD
 +
 + 4C12:  L  4C14   --- cfa ---
 + 4C14: 7D  4437   sp )+   tos MOV
 + 4C16:  O  4F00   nxt   pc MOV
 +</code>
 +
 +^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!
 +
 +===== Contributions =====
 +
 +<html><h2 style="background-color:yellow">Alternative Implementations</h2></html>
 +
 +
 +[[en:pfw:welcome|Back to PFW page]]