Reference Guide

The Development Library 6-41
Disassemblers
ASM
The ASM→ disassembler converts Saturn assembly into a source string.
The syntax used is MASD syntax, in mode 0-15. Each line contains an address and an instruction. If the system flag
–71 is set (with -71 SF), addresses are not shown, except for the destinations of jumps. In this case, the resulting
source may be then reassembled if needed.
ASM→ can either disassemble a CODE object or the memory area between 2 given addresses (as binary integers).
Example:
-71 CF2
(default)
-71 SF2
AE734 GOSBVL 0679B
AE73B LC 01000
AE742 C-A A
AE744 GONC AE742
AE747 GOVLNG 138B9
GOSBVL 0679B
LC 01000
*AE742
C-A A
GONC AE742
GOVLNG 138B9
Level 2 Level 1 Level 1
Binary integer (start address of the
memory area to disassemble)
Binary integer end
address
String (disassemble between
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 –71 is set (with -71 SF), addresses are not
shown, except for the destinations of jumps. In this case, the resulting source may be then reassembled if needed.
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:
-71 CF2
(default)
-71 SF2
874FF LDMGEIA R0 ! { R5 R6 R7 LP PC }
87507 STMDB R5 { R5 R12 PC }
8750F BL 87527
87517 BLGE 87527
8751F BGE 87527
87527 ADD R0 R0 R0
8752F MOV R0 R1
87537 TST R4 R5
LDMGEIA R0 ! { R5 R6 R7 LP PC }
STMDB R5 { R5 R12 PC }
BL 876E3
BLGE 876E3
BGE 876E3
*876E3
ADD R0 R0 R0
MOV R0 R1
TST R4 R5
@
Level 2 Level 1 Level 1
Binary integer (start address of the
memory area to disassemble)
Binary integer end
address
String (disassemble between
the 2 address)
Code object String