Dissassembly size: 0x88 Initialize: 00300000: MOV.L R14,@-R15 00300002: STS.L PR,@-R15 00300004: MOV.L R4,@-R15 00300006: BSR $300024 00300008: MOV R5, R14 0030000A: MOV $01, R6 0030000C: MOV $00, R4 /* (0, 1, 1) so I think it's this syscall */ 0030000E: BSR $300054 00300010: MOV R6, R5 00300012: MOV.L @($03*4+PC),R7 = #00300080 00300014: EXTU.W R14,R5 00300016: MOV.L @R15+,R4 00300018: LDS.L @R15+,PR 0030001A: JMP @R7 = #300080 0030001C: MOV.L @R15+,R14 0030001E: 0000 ? main: _main 00300020: .data 00300080 dword ref:300012 ram_init: 00300024: ;code ref:300006 00300024: MOV $00, R6 00300026: BRA $30002E 00300028: MOV.L @($0E*4+PC),R2 = #08100004 CopyByteBss: 0030002A: MOV.L R6,@R2 => 0 = [8100004] 0030002C: ADD $04,R2 LoopConditionBss: 0030002E: ;code ref:300026 0030002E: MOV.L @($0E*4+PC),R5 = #08100004 00300030: CMP/HS R5,R2 00300032: BF $30002A 00300034: MOV.L @($0D*4+PC),R6 = #08100004 00300036: BRA $30003E 00300038: MOV.L @($0E*4+PC),R5 = #00300084 CopyByteData: 0030003A: MOV.L R2,@R6 => 8100004 = [8100004] 0030003C: ADD $04,R6 LoopConditionData: 0030003E: ;code ref:300036 0030003E: MOV.L @($0C*4+PC),R4 = #08100004 00300040: CMP/HS R4,R6 00300042: BF $30003A 00300044: MOV.L @($02*4+PC),R1 = #08100000 00300046: MOV.L @($07*4+PC),R5 = #08100004 00300048: SUB R5,R4 0030004A: ADD $04,R4 0030004C: RTS 0030004E: MOV.L R4,@R1 => 8100004 = [8100000] 00300050: .data 08100000 dword ref:300044 00300054: ;code ref:30000E 00300054: MOV.L @($02*4+PC),R2 = #80020070 00300056: MOV $29, R0 00300058: JMP @R2 = #80020070 ; syscall(29) 0030005A: NOP 0030005C: 0000 ? 0030005E: 0000 ? 00300060: .data 80020070 dword ref:300054 00300064: .data 08100004 dword ref:300046 00300068: .data 08100004 dword ref:30002E 0030006C: .data 08100004 dword ref:300034 00300070: .data 08100004 dword ref:30003E 00300074: .data 00300084 dword ref:300038 00300078: 0000 ? 0030007A: 0000 ? 0030007C: 0000 ? 0030007E: 0000 ? 00300080: RTS 00300082: NOP 00300084: 0000 ? 00300086: 4F82 ?