.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%