📄 main.lst
字号:
1 .code 16 2 .file "main.c" 10 .Ltext0: 11 .align 2 12 .global Delay 13 .code 16 14 .thumb_func 16 Delay: 17 .LFB2: 18 .file 1 "main.c" 1:main.c **** #include "include/include.h"
2:main.c ****
3:main.c ****
4:main.c **** void Delay (unsigned long var){
19 .loc 1 4 0 20 0000 80B5 push {r7, lr} 21 .LCFI0: 22 0002 6F46 mov r7, sp 23 .LCFI1: 24 0004 81B0 sub sp, sp, #4 25 .LCFI2: 26 0006 3B1F sub r3, r7, #4 27 0008 1860 str r0, [r3] 28 .L2: 5:main.c **** while(--var != 0) ;
29 .loc 1 5 0 30 000a 3A1F sub r2, r7, #4 31 000c 3B1F sub r3, r7, #4 32 000e 1B68 ldr r3, [r3] 33 0010 013B sub r3, r3, #1 34 0012 1360 str r3, [r2] 35 0014 3B1F sub r3, r7, #4 36 0016 1B68 ldr r3, [r3] 37 0018 002B cmp r3, #0 38 001a F6D1 bne .L2 6:main.c **** }
39 .loc 1 6 0 40 001c BD46 mov sp, r7 41 @ sp needed for prologue 42 001e 80BC pop {r7} 43 0020 01BC pop {r0} 44 0022 0047 bx r0 45 .LFE2: 47 .align 2 48 .code 16 49 .thumb_func 51 ConfigureIO: 52 .LFB3: 7:main.c ****
8:main.c **** /*-----------------------------------------------------------------------------
9:main.c **** *-----------------------------------------------------------------------------*/
10:main.c **** static void ConfigureIO (void){
53 .loc 1 10 0 54 0024 80B5 push {r7, lr} 55 .LCFI3: 56 0026 6F46 mov r7, sp 57 .LCFI4: 11:main.c **** // for LCD Backlight
12:main.c **** AT91C_BASE_PIOB->PIO_OER = (AUDIO_OUT); // set to output
58 .loc 1 12 0 59 0028 104A ldr r2, .L7 60 002a 8023 mov r3, #128 61 002c 1B03 lsl r3, r3, #12 62 002e 1361 str r3, [r2, #16] 13:main.c **** AT91C_BASE_PIOB->PIO_PER = (AUDIO_OUT); // set to PIO mode
63 .loc 1 13 0 64 0030 0E4A ldr r2, .L7 65 0032 8023 mov r3, #128 66 0034 1B03 lsl r3, r3, #12 67 0036 1360 str r3, [r2] 14:main.c ****
15:main.c **** AT91C_BASE_PIOB->PIO_OER = (USB_PULLUP); // set to output
68 .loc 1 15 0 69 0038 0C4A ldr r2, .L7 70 003a 8023 mov r3, #128 71 003c 9B04 lsl r3, r3, #18 72 003e 1361 str r3, [r2, #16] 16:main.c **** AT91C_BASE_PIOB->PIO_PER = (USB_PULLUP); // set to PIO mode
73 .loc 1 16 0 74 0040 0A4A ldr r2, .L7 75 0042 8023 mov r3, #128 76 0044 9B04 lsl r3, r3, #18 77 0046 1360 str r3, [r2] 17:main.c ****
18:main.c ****
19:main.c **** AT91C_BASE_PIOB->PIO_PPUDR = (AUDIO_OUT); // disable pull up
78 .loc 1 19 0 79 0048 084A ldr r2, .L7 80 004a 8023 mov r3, #128 81 004c 1B03 lsl r3, r3, #12 82 004e 1366 str r3, [r2, #96] 20:main.c **** AT91C_BASE_PIOB->PIO_PPUDR = (USB_PULLUP); // disable pin pull up
83 .loc 1 20 0 84 0050 064A ldr r2, .L7 85 0052 8023 mov r3, #128 86 0054 9B04 lsl r3, r3, #18 87 0056 1366 str r3, [r2, #96] 21:main.c ****
22:main.c **** AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA); // enable periph clock for PIO controller
88 .loc 1 22 0 89 0058 054A ldr r2, .L7+4 90 005a 0423 mov r3, #4 91 005c 1361 str r3, [r2, #16] 23:main.c **** AT91C_BASE_PIOA->PIO_ODR = (AT91A_JS_ALL); // set PIO line to input
92 .loc 1 23 0 93 005e 054A ldr r2, .L7+8 94 0060 054B ldr r3, .L7+12 95 0062 5361 str r3, [r2, #20] 24:main.c **** }
96 .loc 1 24 0 97 0064 BD46 mov sp, r7 98 @ sp needed for prologue 99 0066 80BC pop {r7} 100 0068 01BC pop {r0} 101 006a 0047 bx r0 102 .L8: 103 .align 2 104 .L7: 105 006c 00F6FFFF .word -2560 106 0070 00FCFFFF .word -1024 107 0074 00F4FFFF .word -3072 108 0078 80C30000 .word 50048 109 .LFE3: 111 .align 2 112 .global WD_reset 113 .code 16 114 .thumb_func 116 WD_reset: 117 .LFB4: 25:main.c ****
26:main.c **** //Reset WatchDog to avoid MC restsrt
27:main.c **** void WD_reset(void){
118 .loc 1 27 0 119 007c 80B5 push {r7, lr} 120 .LCFI5: 121 007e 6F46 mov r7, sp 122 .LCFI6: 28:main.c **** AT91C_BASE_WDTC->WDTC_WDCR = 0xA5000001;
123 .loc 1 28 0 124 0080 034A ldr r2, .L11 125 0082 044B ldr r3, .L11+4 126 0084 1360 str r3, [r2] 29:main.c **** }
127 .loc 1 29 0 128 0086 BD46 mov sp, r7 129 @ sp needed for prologue 130 0088 80BC pop {r7} 131 008a 01BC pop {r0} 132 008c 0047 bx r0 133 .L12: 134 008e 0000 .align 2 135 .L11: 136 0090 40FDFFFF .word -704 137 0094 010000A5 .word -1526726655 138 .LFE4: 140 .align 2 141 .global Watchdog_set 142 .code 16 143 .thumb_func 145 Watchdog_set: 146 .LFB5: 30:main.c ****
31:main.c **** //Configures Watchdog
32:main.c **** //If ms_time < 4 or > 16 000 ms then watchdog is disabled
33:main.c **** void Watchdog_set(unsigned int ms){
147 .loc 1 33 0 148 0098 80B5 push {r7, lr} 149 .LCFI7: 150 009a 6F46 mov r7, sp 151 .LCFI8: 152 009c 81B0 sub sp, sp, #4 153 .LCFI9: 154 009e 3B1F sub r3, r7, #4 155 00a0 1860 str r0, [r3] 34:main.c **** //软桷栲腓玎鲨
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -