; generated by Component: ARM Compiler 5.06 update 4 (build 422) Tool: ArmCC [4d3604] ; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\user_softdelay.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\user_softdelay.d --cpu=Cortex-M0 --apcs=interwork --diag_suppress=9931 -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\Mini58Series\Include -I..\..\..\Library\StdDriver\inc -I..\..\Template -I..\..\..\Library\StdDriver\driver -I.\RTE\_Template -IC:\Keil\ARM\PACK\Nuvoton\NuMicro_DFP\1.1.0\Device\Mini58\Include -IC:\Keil\ARM\CMSIS\Include -D__UVISION_VERSION=523 --omf_browse=.\obj\user_softdelay.crf ..\user_softdelay.c] THUMB AREA ||.text||, CODE, READONLY, ALIGN=1 delay_us PROC ;;;11 ;;;12 void delay_us(uint16_t us) 000000 2100 MOVS r1,#0 ;;;13 { 000002 e02b B |L1.92| |L1.4| ;;;14 uint16_t i = 0; ;;;15 while(i < us) ;;;16 { ;;;17 __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); 000004 bf00 NOP 000006 bf00 NOP 000008 bf00 NOP 00000a bf00 NOP 00000c bf00 NOP 00000e bf00 NOP 000010 bf00 NOP 000012 bf00 NOP 000014 bf00 NOP 000016 bf00 NOP 000018 bf00 NOP ;;;18 __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); 00001a bf00 NOP 00001c bf00 NOP 00001e bf00 NOP 000020 bf00 NOP 000022 bf00 NOP 000024 bf00 NOP 000026 bf00 NOP 000028 bf00 NOP 00002a bf00 NOP 00002c bf00 NOP 00002e bf00 NOP ;;;19 __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); 000030 bf00 NOP 000032 bf00 NOP 000034 bf00 NOP 000036 bf00 NOP 000038 bf00 NOP 00003a bf00 NOP 00003c bf00 NOP 00003e bf00 NOP 000040 bf00 NOP 000042 bf00 NOP 000044 bf00 NOP 000046 bf00 NOP ;;;20 __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); 000048 bf00 NOP 00004a bf00 NOP 00004c bf00 NOP 00004e bf00 NOP 000050 bf00 NOP 000052 bf00 NOP 000054 bf00 NOP 000056 bf00 NOP 000058 1c49 ADDS r1,r1,#1 ;;;21 i++; 00005a b289 UXTH r1,r1 |L1.92| 00005c 4281 CMP r1,r0 ;15 00005e d3d1 BCC |L1.4| ;;;22 } ;;;23 } 000060 4770 BX lr ;;;24 ENDP delay_ms PROC ;;;25 void delay_ms(uint16_t ms) 000062 b510 PUSH {r4,lr} ;;;26 { ;;;27 uint16_t i = 0; 000064 2200 MOVS r2,#0 ;;;28 while(i < ms) ;;;29 { ;;;30 delay_us(1000); 000066 247d MOVS r4,#0x7d 000068 4603 MOV r3,r0 ;26 00006a 00e4 LSLS r4,r4,#3 00006c e004 B |L1.120| |L1.110| 00006e 4620 MOV r0,r4 000070 f7fffffe BL delay_us 000074 1c52 ADDS r2,r2,#1 ;;;31 i++; 000076 b292 UXTH r2,r2 |L1.120| 000078 429a CMP r2,r3 ;28 00007a d3f8 BCC |L1.110| ;;;32 } ;;;33 } 00007c bd10 POP {r4,pc} ;;;34 ENDP ;*** Start embedded assembler *** #line 1 "..\\user_softdelay.c" AREA ||.rev16_text||, CODE THUMB EXPORT |__asm___16_user_softdelay_c_delay_us____REV16| #line 388 "..\\..\\..\\Library\\CMSIS\\Include\\cmsis_armcc.h" |__asm___16_user_softdelay_c_delay_us____REV16| PROC #line 389 rev16 r0, r0 bx lr ENDP AREA ||.revsh_text||, CODE THUMB EXPORT |__asm___16_user_softdelay_c_delay_us____REVSH| #line 402 |__asm___16_user_softdelay_c_delay_us____REVSH| PROC #line 403 revsh r0, r0 bx lr ENDP ;*** End embedded assembler ***