📄 led_test.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\SDRAM\led_test.o --depend=.\SDRAM\led_test.d --device=DARMSS9 --apcs=interwork -O0 -I..\Common\Inc -I.\Include -IC:\Keil\ARM\INC\Samsung --omf_browse=.\SDRAM\led_test.crf Source\led_test.c]
ARM
AREA ||.text||, CODE, READONLY, ALIGN=2
led_on PROC
;;;28 int i,nOut;
;;;29 nOut = 0xFF;
000000 e3a010ff MOV r1,#0xff
;;;30
;;;31 rCPLDLEDADDR = nOut & 0xFE;
000004 e20120fe AND r2,r1,#0xfe
000008 e59f31b0 LDR r3,|L1.448|
00000c e5c32000 STRB r2,[r3,#0]
;;;32 for(i = 0; i < 100000; i++);
000010 e3a00000 MOV r0,#0
000014 ea000000 B |L1.28|
|L1.24|
000018 e2800001 ADD r0,r0,#1
|L1.28|
00001c e59f21a0 LDR r2,|L1.452|
000020 e1500002 CMP r0,r2
000024 bafffffb BLT |L1.24|
;;;33 rCPLDLEDADDR = nOut & 0xFC;
000028 e20120fc AND r2,r1,#0xfc
00002c e59f318c LDR r3,|L1.448|
000030 e5c32000 STRB r2,[r3,#0]
;;;34 for(i = 0; i < 100000; i++);
000034 e3a00000 MOV r0,#0
000038 ea000000 B |L1.64|
|L1.60|
00003c e2800001 ADD r0,r0,#1
|L1.64|
000040 e59f217c LDR r2,|L1.452|
000044 e1500002 CMP r0,r2
000048 bafffffb BLT |L1.60|
;;;35 rCPLDLEDADDR = nOut & 0xF8;
00004c e20120f8 AND r2,r1,#0xf8
000050 e59f3168 LDR r3,|L1.448|
000054 e5c32000 STRB r2,[r3,#0]
;;;36 for(i = 0; i < 100000; i++);
000058 e3a00000 MOV r0,#0
00005c ea000000 B |L1.100|
|L1.96|
000060 e2800001 ADD r0,r0,#1
|L1.100|
000064 e59f2158 LDR r2,|L1.452|
000068 e1500002 CMP r0,r2
00006c bafffffb BLT |L1.96|
;;;37 rCPLDLEDADDR = nOut & 0xF0;
000070 e20120f0 AND r2,r1,#0xf0
000074 e59f3144 LDR r3,|L1.448|
000078 e5c32000 STRB r2,[r3,#0]
;;;38 for(i = 0; i < 100000; i++);
00007c e3a00000 MOV r0,#0
000080 ea000000 B |L1.136|
|L1.132|
000084 e2800001 ADD r0,r0,#1
|L1.136|
000088 e59f2134 LDR r2,|L1.452|
00008c e1500002 CMP r0,r2
000090 bafffffb BLT |L1.132|
;;;39
;;;40 }
000094 e12fff1e BX lr
;;;41
ENDP
led_off PROC
;;;52 int i,nOut;
;;;53 nOut = 0xF0;
000098 e3a010f0 MOV r1,#0xf0
;;;54 rCPLDLEDADDR = nOut | 0x01;
00009c e3812001 ORR r2,r1,#1
0000a0 e59f3118 LDR r3,|L1.448|
0000a4 e5c32000 STRB r2,[r3,#0]
;;;55 for(i = 0; i < 100000; i++);
0000a8 e3a00000 MOV r0,#0
0000ac ea000000 B |L1.180|
|L1.176|
0000b0 e2800001 ADD r0,r0,#1
|L1.180|
0000b4 e59f2108 LDR r2,|L1.452|
0000b8 e1500002 CMP r0,r2
0000bc bafffffb BLT |L1.176|
;;;56 rCPLDLEDADDR = nOut | 0x03;
0000c0 e20120ff AND r2,r1,#0xff
0000c4 e3822003 ORR r2,r2,#3
0000c8 e59f30f0 LDR r3,|L1.448|
0000cc e5c32000 STRB r2,[r3,#0]
;;;57 for(i = 0; i < 100000; i++);
0000d0 e3a00000 MOV r0,#0
0000d4 ea000000 B |L1.220|
|L1.216|
0000d8 e2800001 ADD r0,r0,#1
|L1.220|
0000dc e59f20e0 LDR r2,|L1.452|
0000e0 e1500002 CMP r0,r2
0000e4 bafffffb BLT |L1.216|
;;;58 rCPLDLEDADDR = nOut | 0x07;
0000e8 e20120ff AND r2,r1,#0xff
0000ec e3822007 ORR r2,r2,#7
0000f0 e59f30c8 LDR r3,|L1.448|
0000f4 e5c32000 STRB r2,[r3,#0]
;;;59 for(i = 0; i < 100000; i++);
0000f8 e3a00000 MOV r0,#0
0000fc ea000000 B |L1.260|
|L1.256|
000100 e2800001 ADD r0,r0,#1
|L1.260|
000104 e59f20b8 LDR r2,|L1.452|
000108 e1500002 CMP r0,r2
00010c bafffffb BLT |L1.256|
;;;60 rCPLDLEDADDR = nOut | 0x0F;
000110 e20120ff AND r2,r1,#0xff
000114 e382200f ORR r2,r2,#0xf
000118 e59f30a0 LDR r3,|L1.448|
00011c e5c32000 STRB r2,[r3,#0]
;;;61 for(i = 0; i < 100000; i++);
000120 e3a00000 MOV r0,#0
000124 ea000000 B |L1.300|
|L1.296|
000128 e2800001 ADD r0,r0,#1
|L1.300|
00012c e59f2090 LDR r2,|L1.452|
000130 e1500002 CMP r0,r2
000134 bafffffb BLT |L1.296|
;;;62 }
000138 e12fff1e BX lr
;;;63
ENDP
led_on_off PROC
;;;74 int i;
;;;75 rCPLDLEDADDR = 0xF0;
00013c e3a010f0 MOV r1,#0xf0
000140 e59f2078 LDR r2,|L1.448|
000144 e5c21000 STRB r1,[r2,#0]
;;;76 for(i = 0; i < 100000; i++);
000148 e3a00000 MOV r0,#0
00014c ea000000 B |L1.340|
|L1.336|
000150 e2800001 ADD r0,r0,#1
|L1.340|
000154 e59f1068 LDR r1,|L1.452|
000158 e1500001 CMP r0,r1
00015c bafffffb BLT |L1.336|
;;;77 rCPLDLEDADDR = 0xFF;
000160 e3a010ff MOV r1,#0xff
000164 e59f2054 LDR r2,|L1.448|
000168 e5c21000 STRB r1,[r2,#0]
;;;78 for(i = 0; i < 100000; i++);
00016c e3a00000 MOV r0,#0
000170 ea000000 B |L1.376|
|L1.372|
000174 e2800001 ADD r0,r0,#1
|L1.376|
000178 e59f1044 LDR r1,|L1.452|
00017c e1500001 CMP r0,r1
000180 bafffffb BLT |L1.372|
;;;79 }
000184 e12fff1e BX lr
;;;80
ENDP
led_test PROC
;;;89 void led_test(void)
;;;90 {
000188 e92d4010 PUSH {r4,lr}
;;;91
;;;92 uart_printf("\n Expand I/O (Diode Led) Test Example\n");
00018c e28f0034 ADR r0,|L1.456|
000190 ebfffffe BL uart_printf
;;;93 uart_printf(" Please Look At The LEDS \n");
000194 e28f0054 ADR r0,|L1.496|
000198 ebfffffe BL uart_printf
;;;94 led_on();
00019c ebfffffe BL led_on
;;;95 led_off();
0001a0 ebfffffe BL led_off
;;;96 led_on_off();
0001a4 ebfffffe BL led_on_off
;;;97 delay(2000);
0001a8 e3a00e7d MOV r0,#0x7d0
0001ac ebfffffe BL delay
;;;98 uart_printf(" End.\n");
0001b0 e28f0054 ADR r0,|L1.524|
0001b4 ebfffffe BL uart_printf
;;;99 }
0001b8 e8bd4010 POP {r4,lr}
0001bc e12fff1e BX lr
ENDP
|L1.448|
0001c0 21180000 DCD 0x21180000
|L1.452|
0001c4 000186a0 DCD 0x000186a0
|L1.456|
0001c8 0a204578 DCB "\n\40\105\170"
0001cc 70616e64 DCB "pand"
0001d0 20492f4f DCB " I/O"
0001d4 20284469 DCB " (Di"
0001d8 6f646520 DCB "ode "
0001dc 4c656429 DCB "Led)"
0001e0 20546573 DCB " Tes"
0001e4 74204578 DCB "t Ex"
0001e8 616d706c DCB "ampl"
0001ec 650a0000 DCB "e\n\0\0"
|L1.496|
0001f0 20506c65 DCB " Ple"
0001f4 61736520 DCB "ase "
0001f8 4c6f6f6b DCB "Look"
0001fc 20417420 DCB " At "
000200 54686520 DCB "The "
000204 4c454453 DCB "LEDS"
000208 200a0000 DCB " \n\0\0"
|L1.524|
00020c 20456e64 DCB " End"
000210 2e0a0000 DCB ".\n\0\0"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -