ASM→
The ASM→ disassembler converts Saturn assembly into a source string.
The syntax used is MASD syntax, in mode
ASM→ can either disassemble a CODE object or the memory area between 2 given addresses (as binary integers). Example:
|
|
|
| |||||
| AE734 GOSBVL 0679B | GOSBVL 0679B |
|
| ||||
| AE73B LC 01000 |
| LC 01000 |
|
| |||
| AE742 |
| *AE742 |
|
| |||
| AE744 GONC AE742 |
|
|
| ||||
| AE747 GOVLNG 138B9 | GONC AE742 |
|
| ||||
|
|
|
| GOVLNG 138B9 |
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
Level 2 |
| Level 1 |
|
| → | Level 1 | ||
Binary integer (start address of the |
| Binary integer end |
| → | String (disassemble between | |||
memory area to disassemble) |
| address |
|
|
| the 2 address) | ||
|
|
| Code object |
|
| → | String |
ARM→
The ARM→ disassembler converts ARM assembly into a source string.
Each line contains an address and an instruction. If the system flag
ARM→ can either disassemble a CODE object (which does not make much sense at this point in time) or the memory area between 2 given Saturn addresses (as binary integer).
Example:
|
|
|
|
|
| |||||||
| 874FF LDMGEIA R0 ! { R5 R6 R7 LP PC } | LDMGEIA R0 ! { R5 R6 R7 LP PC } | ||||||||||
| 87507 | STMDB | R5 | { R5 R12 PC } | STMDB | R5 | { R5 R12 PC } | |||||
| 8750F | BL | 87527 |
|
|
| BL | 876E3 | ||||
| 87517 | BLGE | 87527 |
|
|
| BLGE | 876E3 | ||||
| 8751F | BGE | 87527 |
|
|
| BGE | 876E3 | ||||
| 87527 | ADD | R0 | R0 R0 |
|
| *876E3 |
|
|
|
| |
| 8752F | MOV | R0 | R1 |
|
| ADD | R0 | R0 R0 | |||
| 87537 | TST | R4 | R5 |
|
| MOV | R0 | R1 | |||
|
|
|
|
|
|
|
| TST | R4 | R5 | ||
|
|
|
|
|
|
|
| @ |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||
Level 2 |
|
|
|
| Level 1 |
| → |
| Level 1 |
| ||
Binary integer (start address of the |
| Binary integer end |
| → |
| String (disassemble between |
| |||||
memory area to disassemble) |
| address |
|
|
| the 2 address) |
| |||||
|
|
|
|
|
| Code object |
| → |
| String |
|
The Development Library