📄 blinky.lst
字号:
ARM GAS /cygdrive/c/DOCUME~1/yon/LOCALS~1/Temp/cc9ZcesE.s page 1 1 .file "Blinky.c" 2 .file 1 "Blinky.c" 3 .section .debug_abbrev,"",%progbits 4 .Ldebug_abbrev0: 5 .section .debug_info,"",%progbits 6 .Ldebug_info0: 7 .section .debug_line,"",%progbits 8 .Ldebug_line0: 9 0000 41000000 .text 9 02001C00 9 00000201 9 FB0E0A00 9 01010101 10 .Ltext0: 11 .align 2 12 .global wait 13 .type wait, %function 14 wait: 15 .LFB3: 1:Blinky.c **** /******************************************************************************/ 2:Blinky.c **** /* This file is part of the uVision/ARM development tools */ 3:Blinky.c **** /* Copyright KEIL ELEKTRONIK GmbH 2002-2004 */ 4:Blinky.c **** /******************************************************************************/ 5:Blinky.c **** /* */ 6:Blinky.c **** /* BLINKY.C: LED Flasher */ 7:Blinky.c **** /* */ 8:Blinky.c **** /******************************************************************************/ 9:Blinky.c **** 10:Blinky.c **** #include <LPC21xx.H> /* LPC21xx definitions */ 11:Blinky.c **** #include "Timer.h" 12:Blinky.c **** 13:Blinky.c **** extern long volatile timeval; 14:Blinky.c **** /******************************************************************************* 15:Blinky.c **** **Name: wait() 16:Blinky.c **** **Descriptions: Delay 17:Blinky.c **** ********************************************************************************/ 18:Blinky.c **** void wait (void) { /* wait function */ 16 .loc 1 18 0 17 @ Function supports interworking. 18 @ args = 0, pretend = 0, frame = 0 19 @ frame_needed = 0, uses_anonymous_args = 0 20 @ link register save eliminated. 21 @ lr needed for prologue 19:Blinky.c **** unsigned long i; 20:Blinky.c **** 21:Blinky.c **** i = timeval; 22 .loc 1 21 0 23 .LBB2: 24 0000 18309FE5 ldr r3, .L5 25 0004 003093E5 ldr r3, [r3, #0] 22:Blinky.c **** while ((i + 10) != timeval); /* wait 100ms */ 26 .loc 1 22 0 27 0008 0A2083E2 add r2, r3, #10 28 000c 0C109FE5 ldr r1, .L5 29 .L2: 30 0010 003091E5 ldr r3, [r1, #0] 31 0014 030052E1 cmp r2, r3ARM GAS /cygdrive/c/DOCUME~1/yon/LOCALS~1/Temp/cc9ZcesE.s page 2 32 0018 1EFF2F01 bxeq lr 33 001c 020000EA b .L2 34 .L6: 35 .align 2 36 .L5: 37 0020 00000000 .word timeval 23:Blinky.c **** } 38 .loc 1 23 0 39 .LBE2: 40 .LFE3: 41 .size wait, .-wait 42 .align 2 43 .global main 44 .type main, %function 45 main: 46 .LFB5: 24:Blinky.c **** 25:Blinky.c **** /******************************************************************************* 26:Blinky.c **** **Name: main() 27:Blinky.c **** **Descriptions: Blink 28:Blinky.c **** ********************************************************************************/ 29:Blinky.c **** int main (void) { 47 .loc 1 29 0 48 @ Function supports interworking. 49 @ args = 0, pretend = 0, frame = 0 50 @ frame_needed = 1, uses_anonymous_args = 0 51 0024 0DC0A0E1 mov ip, sp 52 .LCFI0: 53 0028 F0D92DE9 stmfd sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc} 54 .LCFI1: 55 002c 04B04CE2 sub fp, ip, #4 56 .LCFI2: 30:Blinky.c **** unsigned int j; /* LED var */ 31:Blinky.c **** 32:Blinky.c **** IO0DIR = 0x0000FF; /*P0.0..P0.7defined as Outputs */ 57 .loc 1 32 0 58 .LBB3: 59 0030 8E32A0E3 mov r3, #-536870904 60 0034 0A3983E2 add r3, r3, #163840 61 0038 FF40A0E3 mov r4, #255 62 003c 004083E5 str r4, [r3, #0] 33:Blinky.c **** 34:Blinky.c **** init_timer(); 63 .loc 1 34 0 64 0040 FEFFFFEB bl init_timer 35:Blinky.c **** IO0SET=0x0000FF; 65 .loc 1 35 0 66 0044 4E32A0E3 mov r3, #-536870908 67 0048 0A3983E2 add r3, r3, #163840 68 004c 004083E5 str r4, [r3, #0] 36:Blinky.c **** while (1) { /* Loop forever */ 69 .loc 1 36 0 70 0050 CE82A0E3 mov r8, #-536870900 71 0054 0A8988E2 add r8, r8, #163840 72 0058 4E72A0E3 mov r7, #-536870908 73 005c 0A7987E2 add r7, r7, #163840 74 .L21:ARM GAS /cygdrive/c/DOCUME~1/yon/LOCALS~1/Temp/cc9ZcesE.s page 3 37:Blinky.c **** for (j = 0x000001; j < 0x000080; j <<= 1) { /* Blink LED 0,1,2,3,4,5,6 */ 75 .loc 1 37 0 76 0060 0140A0E3 mov r4, #1 77 .L15: 38:Blinky.c **** IO0CLR = j; /* Turn on LED */ 78 .loc 1 38 0 79 0064 004088E5 str r4, [r8, #0] 39:Blinky.c **** wait (); /* call wait function */ 80 .loc 1 39 0 81 0068 FEFFFFEB bl wait 40:Blinky.c **** IO0SET = j; /* Turn off LED */ 82 .loc 1 40 0 83 006c 004087E5 str r4, [r7, #0] 84 .loc 1 37 0 85 0070 8440A0E1 mov r4, r4, asl #1 86 0074 7F0054E3 cmp r4, #127 87 0078 1700009A bls .L15 41:Blinky.c **** } 42:Blinky.c **** for (j = 0x000080; j > 0x000001; j >>=1 ) { /* Blink LED 7,6,5,4,3,2,1 */ 88 .loc 1 42 0 89 007c 8040A0E3 mov r4, #128 90 0080 CE62A0E3 mov r6, #-536870900 91 0084 0A6986E2 add r6, r6, #163840 92 0088 4E52A0E3 mov r5, #-536870908 93 008c 0A5985E2 add r5, r5, #163840 94 .L20: 43:Blinky.c **** IO0CLR = j; /* Turn on LED */ 95 .loc 1 43 0 96 0090 004086E5 str r4, [r6, #0] 44:Blinky.c **** wait (); /* call wait function */ 97 .loc 1 44 0 98 0094 FEFFFFEB bl wait 45:Blinky.c **** IO0SET = j; /* Turn off LED */ 99 .loc 1 45 0 100 0098 004085E5 str r4, [r5, #0] 101 .loc 1 42 0 102 009c A440A0E1 mov r4, r4, lsr #1 103 00a0 010054E3 cmp r4, #1 104 00a4 2200008A bhi .L20 105 00a8 160000EA b .L21 46:Blinky.c **** } 47:Blinky.c **** } 48:Blinky.c **** } 106 .loc 1 48 0 107 .LBE3: 108 .LFE5: 109 .size main, .-main 110 .section .debug_frame,"",%progbits 111 .Lframe0: 112 0000 0C000000 .4byte .LECIE0-.LSCIE0 113 .LSCIE0: 114 0004 FFFFFFFF .4byte 0xffffffff 115 0008 01 .byte 0x1 116 0009 00 .ascii "\000" 117 000a 01 .uleb128 0x1 118 000b 7C .sleb128 -4 119 000c 0E .byte 0xeARM GAS /cygdrive/c/DOCUME~1/yon/LOCALS~1/Temp/cc9ZcesE.s page 4 120 000d 0C .byte 0xc 121 000e 0D .uleb128 0xd 122 000f 00 .uleb128 0x0 123 .align 2 124 .LECIE0: 125 .LSFDE0: 126 0010 0C000000 .4byte .LEFDE0-.LASFDE0 127 .LASFDE0: 128 0014 00000000 .4byte .Lframe0 129 0018 00000000 .4byte .LFB3 130 001c 24000000 .4byte .LFE3-.LFB3 131 .align 2 132 .LEFDE0: 133 .LSFDE2: 134 0020 24000000 .4byte .LEFDE2-.LASFDE2 135 .LASFDE2: 136 0024 00000000 .4byte .Lframe0 137 0028 24000000 .4byte .LFB5 138 002c 88000000 .4byte .LFE5-.LFB5 139 0030 44 .byte 0x4 140 .4byte .LCFI0-.LFB5 141 0031 0D .byte 0xd 142 0032 0C .uleb128 0xc 143 0033 44 .byte 0x4 144 .4byte .LCFI1-.LCFI0 145 0034 8E .byte 0x8e 146 0035 02 .uleb128 0x2 147 0036 8D .byte 0x8d 148 0037 03 .uleb128 0x3 149 0038 8B .byte 0x8b 150 0039 04 .uleb128 0x4 151 003a 88 .byte 0x88 152 003b 05 .uleb128 0x5 153 003c 87 .byte 0x87 154 003d 06 .uleb128 0x6 155 003e 86 .byte 0x86 156 003f 07 .uleb128 0x7 157 0040 85 .byte 0x85 158 0041 08 .uleb128 0x8 159 0042 84 .byte 0x84 160 0043 09 .uleb128 0x9 161 0044 44 .byte 0x4 162 .4byte .LCFI2-.LCFI1 163 0045 0C .byte 0xc 164 0046 0B .uleb128 0xb 165 0047 04 .uleb128 0x4 166 .align 2 167 .LEFDE2: 168 .text 169 .Letext0: 170 .section .debug_info 171 0000 9A000000 .4byte 0x9a 172 0004 0200 .2byte 0x2 173 0006 00000000 .4byte .Ldebug_abbrev0 174 000a 04 .byte 0x4 175 000b 01 .uleb128 0x1 176 000c 00000000 .4byte .Ldebug_line0ARM GAS /cygdrive/c/DOCUME~1/yon/LOCALS~1/Temp/cc9ZcesE.s page 5 177 0010 AC000000 .4byte .Letext0 178 0014 00000000 .4byte .Ltext0 179 0018 5D000000 .4byte .LC6 180 001c 3D000000 .4byte .LC7 181 0020 00000000 .4byte .LC8 182 0024 01 .byte 0x1 183 0025 02 .uleb128 0x2 184 0026 48000000 .4byte 0x48 185 002a 01 .byte 0x1 186 002b 2B000000 .4byte .LC0 187 002f 01 .byte 0x1 188 0030 12 .byte 0x12 189 0031 01 .byte 0x1 190 0032 00000000 .4byte .LFB3 191 0036 24000000 .4byte .LFE3 192 003a 01 .byte 0x1 193 003b 5D .byte 0x5d 194 003c 03 .uleb128 0x3 195 003d 6900 .ascii "i\000" 196 003f 01 .byte 0x1 197 0040 13 .byte 0x13 198 0041 48000000 .4byte 0x48 199 0045 01 .byte 0x1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -