.ReportError_OKCancel% STMFD (arm_sp%)!, {R1, R2, arm_lr%} MOV R1, #%00000011 ADD R2, arm_ip%, #(TaskName% - Data0%) SWI "Wimp_ReportError" CMPS R1, #1 MOVNE temp_a%, #(1 << 30) MOVEQ temp_a%, #0 ADDS temp_a%, temp_a%, temp_a% LDMFD (arm_sp%)!, {R1, R2, arm_pc%}