.ROMImages% MOV R0, #23 ADD R1, arm_ip%, #(SystemROMName% - Data0%) SWI "XOS_File" TEQS R0, #1 MOVNE R2, R0 MOVNE R0, #19 SWINE "XOS_File" BVS ROMImages_Error% LDR temp_a%, [arm_ip%, #(SystemROMSize% - Data0%)] CMPS R4, temp_a% MOVNE R0, #Data3% ADDNE R0, R0, #(errSystemROMSize% - Data3%) BNE ROMImages_Error% MOV R0, #23 ADD R1, arm_ip%, #(UserROMName% - Data0%) SWI "XOS_File" TEQS R0, #1 MOVNE R2, R0 MOVNE R0, #19 SWINE "XOS_File" BVS ROMImages_Error% LDR temp_a%, [arm_ip%, #(UserROMSize% - Data0%)] CMPS R4, temp_a% MOVNE R0, #Data3% ADDNE R0, R0, #(errUserROMSize% - Data3%) BNE ROMImages_Error% MOV R0, #16 ADD R1, arm_ip%, #(SystemROMName% - Data0%) MOV R2, #Memory_SystemROM% MOV R3, #0 SWI "XOS_File" BVS ROMImages_Error% MOV R0, #16 ADD R1, arm_ip%, #(UserROMName% - Data0%) MOV R2, #Memory_UserROM% MOV R3, #0 SWI "XOS_File" BVS ROMImages_Error% MOV temp_a%, #0 ADDS temp_a%, temp_a%, temp_a% MOV arm_pc%, arm_lr% .ROMImages_Error% STMFD (arm_sp%)!, {arm_lr%} BL ReportError_OK% LDMFD (arm_sp%)!, {arm_lr%} MOV temp_a%, #1 STR temp_a%, [arm_ip%, #(ExitValue% - Data0%)] MOV temp_a%, #(1 << 30) ADDS temp_a%, temp_a%, temp_a% MOV arm_pc%, arm_lr%