Files
bassofono/codice/build/interface.lst
2021-07-02 22:19:04 +02:00

4444 lines
174 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccorWJCU.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 23, 1
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 2
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "interface.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.print_integer,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .global print_integer
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 print_integer:
25 .LFB401:
26 .file 1 "Core/Src/interface.c"
1:Core/Src/interface.c **** #include "interface.h"
2:Core/Src/interface.c **** #include "bassofono.h"
3:Core/Src/interface.c **** #include <stdint.h>
4:Core/Src/interface.c ****
5:Core/Src/interface.c **** uint8_t menu_mode, current_tab;
6:Core/Src/interface.c ****
7:Core/Src/interface.c **** /*
8:Core/Src/interface.c **** typedef void (*menu_set_function)(void);
9:Core/Src/interface.c **** typedef void (*menu_print_function)(uint8_t a);
10:Core/Src/interface.c ****
11:Core/Src/interface.c **** struct menu_item {
12:Core/Src/interface.c **** char name[14];
13:Core/Src/interface.c **** uint8_t type;
14:Core/Src/interface.c **** uint8_t size;
15:Core/Src/interface.c **** uint8_t row;
16:Core/Src/interface.c **** uint8_t col;
17:Core/Src/interface.c **** uint32_t step;
18:Core/Src/interface.c **** uint32_t min;
19:Core/Src/interface.c **** uint32_t max;
20:Core/Src/interface.c **** uint8_t wrap;
21:Core/Src/interface.c **** uint32_t *varptr;
22:Core/Src/interface.c **** menu_set_function set_function_ptr;
23:Core/Src/interface.c **** menu_print_function print_function_ptr;
24:Core/Src/interface.c **** };
25:Core/Src/interface.c **** */
26:Core/Src/interface.c ****
27:Core/Src/interface.c **** // name, type, size,row,col,step, min, max, wrap *varptr, set_function_ptr print_function_ptr
28:Core/Src/interface.c **** struct menu_item items[] = {
29:Core/Src/interface.c **** {" Frequency", TYP_INT, 11, 1, 0, 100, 1000, 175000, WRAP, &frequency, &set_frequency, &print_fr
30:Core/Src/interface.c **** {" Volume ", TYP_INT, 2, 2, 0, 1, 0, 32, SAT, &volume, &set_dummy, &print_integer},
31:Core/Src/interface.c **** {" Modulation", TYP_INT, 3, 2, 4, 1, 0, 3, WRAP, &modulation, &set_modulation,&print_modulation},
32:Core/Src/interface.c **** {" Squelch ", TYP_INT, 3, 2, 9, 1, 0, 32, SAT, &squelch, &set_dummy, &print_integer},
ARM GAS /tmp/ccorWJCU.s page 2
33:Core/Src/interface.c **** {" Filter CF ", TYP_INT, 4, 3, 0, 100, 100, 3500, SAT, &audio_filter_freq, &set_filter, &print_in
34:Core/Src/interface.c **** {" Filter BW ", TYP_INT, 4, 3, 5, 100, 100, 2500, SAT, &audio_filter_bw, &set_filter, &print_int
35:Core/Src/interface.c **** {" Filter Q ", TYP_INT, 2, 3, 10, 1, 1, 32, SAT, &audio_filter_beta, &set_filter, &print_integer
36:Core/Src/interface.c **** {" Signal ", TYP_INT, 5, 10, 0, 1, 1, 32, SAT, &rx_signal, &set_dummy, &print_bar},
37:Core/Src/interface.c **** };
38:Core/Src/interface.c ****
39:Core/Src/interface.c **** struct menu_item tabs[] = {
40:Core/Src/interface.c **** {"SCN", TYP_INT, 3, 0, 0, 1, 0, 3, WRAP, &scan, &set_dummy, &print_integer},
41:Core/Src/interface.c **** };
42:Core/Src/interface.c ****
43:Core/Src/interface.c **** uint8_t menu_item_count = sizeof(items)/sizeof(items[0]);
44:Core/Src/interface.c **** uint8_t tabs_count = sizeof(tabs)/sizeof(tabs[0]);
45:Core/Src/interface.c ****
46:Core/Src/interface.c **** char modulation_list[][4] = {
47:Core/Src/interface.c **** [MOD_DC] = "DC",
48:Core/Src/interface.c **** [MOD_LSB] = "LSB",
49:Core/Src/interface.c **** [MOD_USB] = "USB",
50:Core/Src/interface.c **** [MOD_AM] = "AM"
51:Core/Src/interface.c **** };
52:Core/Src/interface.c ****
53:Core/Src/interface.c **** uint8_t modulation_list_count = sizeof(modulation_list)/sizeof(modulation_list[0]);
54:Core/Src/interface.c ****
55:Core/Src/interface.c **** void decode_cmd(char cmd){
56:Core/Src/interface.c **** switch(cmd){
57:Core/Src/interface.c **** case ENRH:
58:Core/Src/interface.c **** encoder_increment();
59:Core/Src/interface.c **** break;
60:Core/Src/interface.c **** case ENLH:
61:Core/Src/interface.c **** encoder_decrement();
62:Core/Src/interface.c **** break;
63:Core/Src/interface.c **** case JSRP:
64:Core/Src/interface.c **** joystick_dx();
65:Core/Src/interface.c **** break;
66:Core/Src/interface.c **** case JSLP:
67:Core/Src/interface.c **** joystick_sx();
68:Core/Src/interface.c **** break;
69:Core/Src/interface.c **** case JSUP:
70:Core/Src/interface.c **** joystick_up();
71:Core/Src/interface.c **** break;
72:Core/Src/interface.c **** case JSDP:
73:Core/Src/interface.c **** joystick_down();
74:Core/Src/interface.c **** break;
75:Core/Src/interface.c **** case JSBP:
76:Core/Src/interface.c **** joystick_button();
77:Core/Src/interface.c **** break;
78:Core/Src/interface.c **** case BT1P:
79:Core/Src/interface.c **** tab_up(0);
80:Core/Src/interface.c **** break;
81:Core/Src/interface.c **** case BT2P:
82:Core/Src/interface.c **** tab_up(1);
83:Core/Src/interface.c **** break;
84:Core/Src/interface.c **** case BT3P:
85:Core/Src/interface.c **** tab_up(2);
86:Core/Src/interface.c **** break;
87:Core/Src/interface.c **** case BT4P:
88:Core/Src/interface.c **** tab_up(3);
89:Core/Src/interface.c **** break;
ARM GAS /tmp/ccorWJCU.s page 3
90:Core/Src/interface.c **** case BT1R:
91:Core/Src/interface.c **** tab_down(0);
92:Core/Src/interface.c **** break;
93:Core/Src/interface.c **** case BT2R:
94:Core/Src/interface.c **** tab_down(1);
95:Core/Src/interface.c **** break;
96:Core/Src/interface.c **** case BT3R:
97:Core/Src/interface.c **** tab_down(2);
98:Core/Src/interface.c **** break;
99:Core/Src/interface.c **** case BT4R:
100:Core/Src/interface.c **** tab_down(3);
101:Core/Src/interface.c **** break;
102:Core/Src/interface.c **** }
103:Core/Src/interface.c ****
104:Core/Src/interface.c **** }
105:Core/Src/interface.c ****
106:Core/Src/interface.c **** void encoder_increment(void){
107:Core/Src/interface.c **** integer_editor_up(menu_mode);
108:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
109:Core/Src/interface.c **** }
110:Core/Src/interface.c ****
111:Core/Src/interface.c **** void encoder_decrement(void){
112:Core/Src/interface.c **** integer_editor_down(menu_mode);
113:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
114:Core/Src/interface.c **** }
115:Core/Src/interface.c ****
116:Core/Src/interface.c **** void joystick_dx(void){
117:Core/Src/interface.c **** step_down(menu_mode);
118:Core/Src/interface.c **** }
119:Core/Src/interface.c ****
120:Core/Src/interface.c **** void joystick_sx(void){
121:Core/Src/interface.c **** step_up(menu_mode);
122:Core/Src/interface.c **** }
123:Core/Src/interface.c ****
124:Core/Src/interface.c **** void joystick_down(void){
125:Core/Src/interface.c **** menu_mode_up();
126:Core/Src/interface.c **** }
127:Core/Src/interface.c ****
128:Core/Src/interface.c **** void joystick_up(void){
129:Core/Src/interface.c **** menu_mode_down();
130:Core/Src/interface.c **** }
131:Core/Src/interface.c ****
132:Core/Src/interface.c **** void joystick_button(void){
133:Core/Src/interface.c **** }
134:Core/Src/interface.c ****
135:Core/Src/interface.c **** void menu_mode_up(void){
136:Core/Src/interface.c **** set_changed(menu_mode); // pulisci vecchio
137:Core/Src/interface.c **** menu_mode++;
138:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
139:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
140:Core/Src/interface.c **** // nome
141:Core/Src/interface.c **** display_update_mode();
142:Core/Src/interface.c **** }
143:Core/Src/interface.c ****
144:Core/Src/interface.c **** void menu_mode_down(void){
145:Core/Src/interface.c **** set_changed(menu_mode); // pulisci vecchio
146:Core/Src/interface.c **** menu_mode--;
ARM GAS /tmp/ccorWJCU.s page 4
147:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
148:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
149:Core/Src/interface.c **** display_update_mode();
150:Core/Src/interface.c **** }
151:Core/Src/interface.c ****
152:Core/Src/interface.c **** void step_up(uint8_t mode){
153:Core/Src/interface.c **** if((items[mode].step * 10) < items[mode].max) items[mode].step *= 10;
154:Core/Src/interface.c **** }
155:Core/Src/interface.c ****
156:Core/Src/interface.c **** void step_down(uint8_t mode){
157:Core/Src/interface.c **** if(items[mode].step >= 10) items[mode].step /= 10;
158:Core/Src/interface.c **** }
159:Core/Src/interface.c ****
160:Core/Src/interface.c **** void interface_set_default(void){
161:Core/Src/interface.c **** menu_mode = 0;
162:Core/Src/interface.c **** display_update_mode();
163:Core/Src/interface.c **** }
164:Core/Src/interface.c ****
165:Core/Src/interface.c **** void display_set_position(uint8_t row, uint8_t col){
166:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%d,%dz", col, row);
167:Core/Src/interface.c **** }
168:Core/Src/interface.c ****
169:Core/Src/interface.c **** void display_print_string(uint8_t row, uint8_t col, char * string){
170:Core/Src/interface.c **** display_set_position(row,col);
171:Core/Src/interface.c **** enqueue_tx(string, strlen(string));
172:Core/Src/interface.c **** }
173:Core/Src/interface.c ****
174:Core/Src/interface.c **** /*
175:Core/Src/interface.c **** void display_draw_bar(uint8_t char_size, uint8_t value){
176:Core/Src/interface.c **** // display_set_position(row,col);
177:Core/Src/interface.c **** uint8_t i;
178:Core/Src/interface.c **** uint8_t cols, cols_tmp;
179:Core/Src/interface.c **** cols = (value * char_size * 6)/255;
180:Core/Src/interface.c **** char buf[char_size];
181:Core/Src/interface.c ****
182:Core/Src/interface.c **** for( i = 0; i < char_size; i++){
183:Core/Src/interface.c **** if(cols >= 6){
184:Core/Src/interface.c **** buf[i] = 133;
185:Core/Src/interface.c **** } else if (cols > 0){
186:Core/Src/interface.c **** buf[i] = 128 + cols;
187:Core/Src/interface.c **** } else {
188:Core/Src/interface.c **** buf[i] = 32;
189:Core/Src/interface.c **** }
190:Core/Src/interface.c **** cols = sat_subu8b(cols, 6);
191:Core/Src/interface.c **** }
192:Core/Src/interface.c **** enqueue_tx(buf, char_size);
193:Core/Src/interface.c **** }
194:Core/Src/interface.c **** */
195:Core/Src/interface.c ****
196:Core/Src/interface.c **** void display_draw_dual_bar(char * string, uint8_t value1, uint8_t value2){
197:Core/Src/interface.c **** uint8_t cols;
198:Core/Src/interface.c **** char buf[84];
199:Core/Src/interface.c **** for( cols = 0; cols < DISPLAY_Y_SIZE; cols++){
200:Core/Src/interface.c **** if(cols < value1) buf[cols] |= 0xF;
201:Core/Src/interface.c **** if(cols < value2) buf[cols] |= 0xF0;
202:Core/Src/interface.c **** }
203:Core/Src/interface.c **** enqueue_tx(buf, DISPLAY_Y_SIZE);
ARM GAS /tmp/ccorWJCU.s page 5
204:Core/Src/interface.c **** }
205:Core/Src/interface.c ****
206:Core/Src/interface.c **** void display_update_mode(void){
207:Core/Src/interface.c **** display_set_position(MENU_NAME_ROW,MENU_NAME_COL);
208:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%d %-12s", menu_mode, items[m
209:Core/Src/interface.c **** }
210:Core/Src/interface.c ****
211:Core/Src/interface.c **** void display_update_state(void){
212:Core/Src/interface.c **** uint8_t var;
213:Core/Src/interface.c **** for(uint8_t item_idx = 0; item_idx < (menu_item_count); item_idx++){
214:Core/Src/interface.c **** if(get_changed(item_idx)){
215:Core/Src/interface.c **** display_set_position(items[item_idx].row,items[item_idx].col);
216:Core/Src/interface.c **** if(item_idx == menu_mode) uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in
217:Core/Src/interface.c **** else {
218:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx, " ");
219:Core/Src/interface.c **** }
220:Core/Src/interface.c **** if(items[item_idx].type == TYP_INT) items[item_idx].print_function_ptr(item_idx);
221:Core/Src/interface.c **** // if(items[item_idx].type == TYP_INT) uart_tx_buf_in_idx += sprintf(uart_tx_buf+ua
222:Core/Src/interface.c **** // if(items[item_idx].type == TYP_LIST) uart_tx_buf_in_idx += sprintf(uart_tx_buf+
223:Core/Src/interface.c **** // display_draw_bar(14, 4, 0, volume * 2);
224:Core/Src/interface.c **** reset_changed(item_idx);
225:Core/Src/interface.c **** }
226:Core/Src/interface.c **** }
227:Core/Src/interface.c **** }
228:Core/Src/interface.c ****
229:Core/Src/interface.c **** void integer_editor_up(uint8_t mode){
230:Core/Src/interface.c **** * items[mode].varptr += items[mode].step;
231:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
232:Core/Src/interface.c **** if(items[mode].wrap){
233:Core/Src/interface.c **** * items[mode].varptr = items[mode].min;
234:Core/Src/interface.c **** }
235:Core/Src/interface.c **** else{
236:Core/Src/interface.c **** * items[mode].varptr = items[mode].max;
237:Core/Src/interface.c **** }
238:Core/Src/interface.c **** }
239:Core/Src/interface.c **** set_changed(mode);
240:Core/Src/interface.c **** }
241:Core/Src/interface.c ****
242:Core/Src/interface.c **** void integer_editor_down(uint8_t mode){
243:Core/Src/interface.c **** * items[mode].varptr -= items[mode].step;
244:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
245:Core/Src/interface.c **** if(items[mode].wrap){
246:Core/Src/interface.c **** * items[mode].varptr = items[mode].max;
247:Core/Src/interface.c **** }
248:Core/Src/interface.c **** else{
249:Core/Src/interface.c **** * items[mode].varptr = items[mode].min;
250:Core/Src/interface.c **** }
251:Core/Src/interface.c **** }
252:Core/Src/interface.c **** set_changed(mode);
253:Core/Src/interface.c **** }
254:Core/Src/interface.c ****
255:Core/Src/interface.c **** void list_editor_down(uint8_t mode){
256:Core/Src/interface.c ****
257:Core/Src/interface.c **** }
258:Core/Src/interface.c ****
259:Core/Src/interface.c **** void tabs_update(void){
260:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
ARM GAS /tmp/ccorWJCU.s page 6
261:Core/Src/interface.c **** }
262:Core/Src/interface.c ****
263:Core/Src/interface.c **** void tab_up(uint8_t tab){
264:Core/Src/interface.c **** switch(tab){
265:Core/Src/interface.c **** case 0:
266:Core/Src/interface.c **** stop_receive();
267:Core/Src/interface.c **** start_transmit();
268:Core/Src/interface.c **** break;
269:Core/Src/interface.c **** }
270:Core/Src/interface.c **** }
271:Core/Src/interface.c ****
272:Core/Src/interface.c **** void tab_down(uint8_t tab){
273:Core/Src/interface.c **** switch(tab){
274:Core/Src/interface.c **** case 0:
275:Core/Src/interface.c **** stop_transmit();
276:Core/Src/interface.c **** start_receive();
277:Core/Src/interface.c **** break;
278:Core/Src/interface.c **** }
279:Core/Src/interface.c ****
280:Core/Src/interface.c **** }
281:Core/Src/interface.c ****
282:Core/Src/interface.c **** void display_init(void){
283:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[128,255,0,0,0,0,0c");
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[129,255,255,0,0,0,0c");
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
288:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
289:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%ds",DISPLAY_STANDBY_TIMER);
290:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[200,100q");
291:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%db",DISPLAY_BL_DIM);
292:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
293:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
294:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
295:Core/Src/interface.c **** }
296:Core/Src/interface.c ****
297:Core/Src/interface.c **** // menu prints
298:Core/Src/interface.c **** void print_integer(uint8_t item_idx){
27 .loc 1 298 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 .LVL0:
32 0000 38B5 push {r3, r4, r5, lr}
33 .LCFI0:
34 .cfi_def_cfa_offset 16
35 .cfi_offset 3, -16
36 .cfi_offset 4, -12
37 .cfi_offset 5, -8
38 .cfi_offset 14, -4
299:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%*ld", items[item_idx].size, * items
39 .loc 1 299 0
40 0002 094C ldr r4, .L4
41 0004 094B ldr r3, .L4+4
42 0006 2288 ldrh r2, [r4]
43 0008 094D ldr r5, .L4+8
44 000a 0A49 ldr r1, .L4+12
ARM GAS /tmp/ccorWJCU.s page 7
45 000c 00EB4000 add r0, r0, r0, lsl #1
46 .LVL1:
47 0010 03EB0013 add r3, r3, r0, lsl #4
48 0014 A818 adds r0, r5, r2
49 0016 5D6A ldr r5, [r3, #36]
50 0018 DA7B ldrb r2, [r3, #15] @ zero_extendqisi2
51 001a 2B68 ldr r3, [r5]
52 001c FFF7FEFF bl sprintf
53 .LVL2:
54 0020 2388 ldrh r3, [r4]
55 0022 1844 add r0, r0, r3
56 0024 2080 strh r0, [r4] @ movhi
300:Core/Src/interface.c **** }
57 .loc 1 300 0
58 0026 38BD pop {r3, r4, r5, pc}
59 .L5:
60 .align 2
61 .L4:
62 0028 00000000 .word uart_tx_buf_in_idx
63 002c 00000000 .word .LANCHOR0
64 0030 00000000 .word uart_tx_buf
65 0034 00000000 .word .LC0
66 .cfi_endproc
67 .LFE401:
69 .section .text.print_modulation,"ax",%progbits
70 .align 1
71 .p2align 2,,3
72 .global print_modulation
73 .syntax unified
74 .thumb
75 .thumb_func
76 .fpu fpv4-sp-d16
78 print_modulation:
79 .LFB402:
301:Core/Src/interface.c ****
302:Core/Src/interface.c **** void print_modulation(uint8_t item_idx){
80 .loc 1 302 0
81 .cfi_startproc
82 @ args = 0, pretend = 0, frame = 0
83 @ frame_needed = 0, uses_anonymous_args = 0
84 .LVL3:
85 0000 38B5 push {r3, r4, r5, lr}
86 .LCFI1:
87 .cfi_def_cfa_offset 16
88 .cfi_offset 3, -16
89 .cfi_offset 4, -12
90 .cfi_offset 5, -8
91 .cfi_offset 14, -4
303:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%*s", items[item_idx].size, modulati
92 .loc 1 303 0
93 0002 0B4A ldr r2, .L8
94 0004 0B4C ldr r4, .L8+4
95 0006 0C4D ldr r5, .L8+8
96 0008 2188 ldrh r1, [r4]
97 000a 0C4B ldr r3, .L8+12
98 000c 00EB4000 add r0, r0, r0, lsl #1
99 .LVL4:
ARM GAS /tmp/ccorWJCU.s page 8
100 0010 02EB0012 add r2, r2, r0, lsl #4
101 0014 6818 adds r0, r5, r1
102 0016 516A ldr r1, [r2, #36]
103 0018 D27B ldrb r2, [r2, #15] @ zero_extendqisi2
104 001a 0D68 ldr r5, [r1]
105 001c 0849 ldr r1, .L8+16
106 001e 03EB8503 add r3, r3, r5, lsl #2
107 0022 FFF7FEFF bl sprintf
108 .LVL5:
109 0026 2388 ldrh r3, [r4]
110 0028 1844 add r0, r0, r3
111 002a 2080 strh r0, [r4] @ movhi
304:Core/Src/interface.c **** }
112 .loc 1 304 0
113 002c 38BD pop {r3, r4, r5, pc}
114 .L9:
115 002e 00BF .align 2
116 .L8:
117 0030 00000000 .word .LANCHOR0
118 0034 00000000 .word uart_tx_buf_in_idx
119 0038 00000000 .word uart_tx_buf
120 003c 00000000 .word .LANCHOR1
121 0040 00000000 .word .LC1
122 .cfi_endproc
123 .LFE402:
125 .section .text.print_frequency,"ax",%progbits
126 .align 1
127 .p2align 2,,3
128 .global print_frequency
129 .syntax unified
130 .thumb
131 .thumb_func
132 .fpu fpv4-sp-d16
134 print_frequency:
135 .LFB404:
305:Core/Src/interface.c ****
306:Core/Src/interface.c **** void print_bar(uint8_t item_idx){
307:Core/Src/interface.c **** // uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%0*ld", items[item_idx].size, * i
308:Core/Src/interface.c **** // display_draw_bar(items[item_idx].size, * items[item_idx].varptr);
309:Core/Src/interface.c **** uint8_t i;
310:Core/Src/interface.c **** uint8_t cols, cols_tmp;
311:Core/Src/interface.c **** // cols = *items[item_idx].varptr / (2147483648 / (items[item_idx].size * 6));
312:Core/Src/interface.c **** cols = *items[item_idx].varptr;
313:Core/Src/interface.c **** char buf[items[item_idx].size];
314:Core/Src/interface.c ****
315:Core/Src/interface.c **** for( i = 0; i < items[item_idx].size; i++){
316:Core/Src/interface.c **** if(cols >= 6){
317:Core/Src/interface.c **** buf[i] = 133;
318:Core/Src/interface.c **** } else if (cols > 0){
319:Core/Src/interface.c **** buf[i] = 128 + cols;
320:Core/Src/interface.c **** } else {
321:Core/Src/interface.c **** buf[i] = 32;
322:Core/Src/interface.c **** }
323:Core/Src/interface.c **** cols = sat_subu8b(cols, 6);
324:Core/Src/interface.c **** }
325:Core/Src/interface.c **** enqueue_tx(buf, items[item_idx].size);
326:Core/Src/interface.c **** }
ARM GAS /tmp/ccorWJCU.s page 9
327:Core/Src/interface.c ****
328:Core/Src/interface.c **** void print_frequency(uint8_t item_idx){
136 .loc 1 328 0
137 .cfi_startproc
138 @ args = 0, pretend = 0, frame = 32
139 @ frame_needed = 0, uses_anonymous_args = 0
140 .LVL6:
141 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
142 .LCFI2:
143 .cfi_def_cfa_offset 28
144 .cfi_offset 4, -28
145 .cfi_offset 5, -24
146 .cfi_offset 6, -20
147 .cfi_offset 7, -16
148 .cfi_offset 8, -12
149 .cfi_offset 9, -8
150 .cfi_offset 14, -4
329:Core/Src/interface.c **** char bufin[14];
330:Core/Src/interface.c **** char bufout[14];
331:Core/Src/interface.c **** uint8_t i, j;
332:Core/Src/interface.c **** j = 0;
333:Core/Src/interface.c **** sprintf(bufin,"%8ld", * items[item_idx].varptr);
151 .loc 1 333 0
152 0004 2C4B ldr r3, .L23
153 0006 2D49 ldr r1, .L23+4
154 0008 00EB4000 add r0, r0, r0, lsl #1
155 .LVL7:
156 000c 03EB0013 add r3, r3, r0, lsl #4
328:Core/Src/interface.c **** char bufin[14];
157 .loc 1 328 0
158 0010 89B0 sub sp, sp, #36
159 .LCFI3:
160 .cfi_def_cfa_offset 64
161 .loc 1 333 0
162 0012 5B6A ldr r3, [r3, #36]
163 0014 6846 mov r0, sp
164 0016 1A68 ldr r2, [r3]
165 0018 FFF7FEFF bl sprintf
166 .LVL8:
334:Core/Src/interface.c **** for(i=0; bufin[i] != '\0'; i++){
167 .loc 1 334 0
168 001c 9DF80090 ldrb r9, [sp] @ zero_extendqisi2
169 0020 B9F1000F cmp r9, #0
170 0024 45D0 beq .L16
332:Core/Src/interface.c **** sprintf(bufin,"%8ld", * items[item_idx].varptr);
171 .loc 1 332 0
172 0026 0025 movs r5, #0
335:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
173 .loc 1 335 0
174 0028 254F ldr r7, .L23+8
334:Core/Src/interface.c **** for(i=0; bufin[i] != '\0'; i++){
175 .loc 1 334 0
176 002a 2C46 mov r4, r5
177 002c 2E46 mov r6, r5
336:Core/Src/interface.c **** if(bufin[i-1] == ' '){
337:Core/Src/interface.c **** bufout[j] = ' ';
338:Core/Src/interface.c **** } else {
ARM GAS /tmp/ccorWJCU.s page 10
339:Core/Src/interface.c **** bufout[j] = '.';
178 .loc 1 339 0
179 002e 4FF02E08 mov r8, #46
180 .LVL9:
181 .L15:
335:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
182 .loc 1 335 0
183 0032 6846 mov r0, sp
184 0034 FFF7FEFF bl strlen
185 .LVL10:
186 0038 001B subs r0, r0, r4
187 003a A7FB0023 umull r2, r3, r7, r0
188 003e 5B08 lsrs r3, r3, #1
189 0040 03EB4303 add r3, r3, r3, lsl #1
190 0044 9842 cmp r0, r3
191 0046 0CD1 bne .L12
336:Core/Src/interface.c **** if(bufin[i-1] == ' '){
192 .loc 1 336 0 discriminator 1
193 0048 08AB add r3, sp, #32
194 004a 1E44 add r6, r6, r3
335:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
195 .loc 1 335 0 discriminator 1
196 004c 4CB1 cbz r4, .L12
336:Core/Src/interface.c **** if(bufin[i-1] == ' '){
197 .loc 1 336 0
198 004e 16F8213C ldrb r3, [r6, #-33] @ zero_extendqisi2
199 0052 202B cmp r3, #32
200 0054 28D0 beq .L22
201 .loc 1 339 0
202 0056 08AB add r3, sp, #32
203 0058 2B44 add r3, r3, r5
204 005a 03F8108C strb r8, [r3, #-16]
205 .L14:
340:Core/Src/interface.c **** }
341:Core/Src/interface.c **** j++;
206 .loc 1 341 0
207 005e 0135 adds r5, r5, #1
208 .LVL11:
209 0060 EDB2 uxtb r5, r5
210 .LVL12:
211 .L12:
334:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
212 .loc 1 334 0 discriminator 2
213 0062 0134 adds r4, r4, #1
214 .LVL13:
215 0064 E4B2 uxtb r4, r4
216 0066 08AA add r2, sp, #32
342:Core/Src/interface.c **** }
343:Core/Src/interface.c **** bufout[j] = bufin[i];
217 .loc 1 343 0 discriminator 2
218 0068 08A9 add r1, sp, #32
344:Core/Src/interface.c **** j++;
219 .loc 1 344 0 discriminator 2
220 006a 6B1C adds r3, r5, #1
334:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
221 .loc 1 334 0 discriminator 2
222 006c 2244 add r2, r2, r4
ARM GAS /tmp/ccorWJCU.s page 11
343:Core/Src/interface.c **** j++;
223 .loc 1 343 0 discriminator 2
224 006e 0D44 add r5, r5, r1
225 .LVL14:
334:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
226 .loc 1 334 0 discriminator 2
227 0070 2646 mov r6, r4
343:Core/Src/interface.c **** j++;
228 .loc 1 343 0 discriminator 2
229 0072 05F8109C strb r9, [r5, #-16]
334:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
230 .loc 1 334 0 discriminator 2
231 0076 12F8209C ldrb r9, [r2, #-32] @ zero_extendqisi2
232 .loc 1 344 0 discriminator 2
233 007a DDB2 uxtb r5, r3
234 .LVL15:
334:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
235 .loc 1 334 0 discriminator 2
236 007c B9F1000F cmp r9, #0
237 0080 D7D1 bne .L15
238 .LVL16:
239 .L11:
345:Core/Src/interface.c **** }
346:Core/Src/interface.c **** bufout[j] = '\0';
347:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%s", bufout);
240 .loc 1 347 0
241 0082 104C ldr r4, .L23+12
242 0084 1048 ldr r0, .L23+16
243 0086 2288 ldrh r2, [r4]
244 0088 1049 ldr r1, .L23+20
346:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%s", bufout);
245 .loc 1 346 0
246 008a 08AB add r3, sp, #32
247 008c 1D44 add r5, r5, r3
248 .loc 1 347 0
249 008e 1044 add r0, r0, r2
346:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%s", bufout);
250 .loc 1 346 0
251 0090 0023 movs r3, #0
252 .loc 1 347 0
253 0092 04AA add r2, sp, #16
346:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%s", bufout);
254 .loc 1 346 0
255 0094 05F8103C strb r3, [r5, #-16]
256 .loc 1 347 0
257 0098 FFF7FEFF bl sprintf
258 .LVL17:
259 009c 2388 ldrh r3, [r4]
260 009e 1844 add r0, r0, r3
261 00a0 2080 strh r0, [r4] @ movhi
348:Core/Src/interface.c **** }
262 .loc 1 348 0
263 00a2 09B0 add sp, sp, #36
264 .LCFI4:
265 .cfi_remember_state
266 .cfi_def_cfa_offset 28
267 @ sp needed
ARM GAS /tmp/ccorWJCU.s page 12
268 00a4 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
269 .LVL18:
270 .L22:
271 .LCFI5:
272 .cfi_restore_state
337:Core/Src/interface.c **** } else {
273 .loc 1 337 0
274 00a8 08AA add r2, sp, #32
275 00aa 2A44 add r2, r2, r5
276 00ac 02F8103C strb r3, [r2, #-16]
277 00b0 D5E7 b .L14
278 .LVL19:
279 .L16:
334:Core/Src/interface.c **** if((((strlen(bufin)-i)%3)==0) && (i != 0)) {
280 .loc 1 334 0
281 00b2 4D46 mov r5, r9
282 00b4 E5E7 b .L11
283 .L24:
284 00b6 00BF .align 2
285 .L23:
286 00b8 00000000 .word .LANCHOR0
287 00bc 00000000 .word .LC2
288 00c0 ABAAAAAA .word -1431655765
289 00c4 00000000 .word uart_tx_buf_in_idx
290 00c8 00000000 .word uart_tx_buf
291 00cc 08000000 .word .LC3
292 .cfi_endproc
293 .LFE404:
295 .section .text.print_bar,"ax",%progbits
296 .align 1
297 .p2align 2,,3
298 .global print_bar
299 .syntax unified
300 .thumb
301 .thumb_func
302 .fpu fpv4-sp-d16
304 print_bar:
305 .LFB403:
306:Core/Src/interface.c **** // uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%0*ld", items[item_idx].size, * i
306 .loc 1 306 0
307 .cfi_startproc
308 @ args = 0, pretend = 0, frame = 0
309 @ frame_needed = 1, uses_anonymous_args = 0
310 .LVL20:
311 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
312 .LCFI6:
313 .cfi_def_cfa_offset 24
314 .cfi_offset 3, -24
315 .cfi_offset 4, -20
316 .cfi_offset 5, -16
317 .cfi_offset 6, -12
318 .cfi_offset 7, -8
319 .cfi_offset 14, -4
312:Core/Src/interface.c **** char buf[items[item_idx].size];
320 .loc 1 312 0
321 0002 184B ldr r3, .L37
322 0004 00EB4000 add r0, r0, r0, lsl #1
ARM GAS /tmp/ccorWJCU.s page 13
323 .LVL21:
324 0008 03EB0010 add r0, r3, r0, lsl #4
306:Core/Src/interface.c **** // uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"%0*ld", items[item_idx].size, * i
325 .loc 1 306 0
326 000c 00AF add r7, sp, #0
327 .LCFI7:
328 .cfi_def_cfa_register 7
313:Core/Src/interface.c ****
329 .loc 1 313 0
330 000e C17B ldrb r1, [r0, #15] @ zero_extendqisi2
312:Core/Src/interface.c **** char buf[items[item_idx].size];
331 .loc 1 312 0
332 0010 426A ldr r2, [r0, #36]
313:Core/Src/interface.c ****
333 .loc 1 313 0
334 0012 CB1D adds r3, r1, #7
335 0014 03F4FC73 and r3, r3, #504
336 0018 ADEB030D sub sp, sp, r3
337 001c 6846 mov r0, sp
312:Core/Src/interface.c **** char buf[items[item_idx].size];
338 .loc 1 312 0
339 001e 1378 ldrb r3, [r2] @ zero_extendqisi2
340 .LVL22:
315:Core/Src/interface.c **** if(cols >= 6){
341 .loc 1 315 0
342 0020 E1B1 cbz r1, .L26
343 0022 4D1E subs r5, r1, #1
344 .LVL23:
345 0024 EDB2 uxtb r5, r5
346 .LVL24:
347 0026 0135 adds r5, r5, #1
348 0028 6D44 add r5, r5, sp
349 002a 6C46 mov r4, sp
321:Core/Src/interface.c **** }
350 .loc 1 321 0
351 002c 4FF0200C mov ip, #32
317:Core/Src/interface.c **** } else if (cols > 0){
352 .loc 1 317 0
353 0030 8526 movs r6, #133
354 0032 09E0 b .L30
355 .LVL25:
356 .L36:
357 0034 2670 strb r6, [r4]
358 .L28:
359 .LVL26:
360 .LBB51:
361 .LBB52:
349:Core/Src/interface.c ****
350:Core/Src/interface.c **** void scan_do(uint8_t scan_state){
351:Core/Src/interface.c **** static uint8_t scan_timer;
352:Core/Src/interface.c **** frequency += items[0].step * scan_state;
353:Core/Src/interface.c **** set_frequency();
354:Core/Src/interface.c **** set_changed(0);
355:Core/Src/interface.c **** }
356:Core/Src/interface.c ****
357:Core/Src/interface.c **** uint8_t sat_subu8b(uint8_t x, uint8_t y){
358:Core/Src/interface.c **** uint8_t res = x - y;
ARM GAS /tmp/ccorWJCU.s page 14
362 .loc 1 358 0 discriminator 2
363 0036 9A1F subs r2, r3, #6
364 0038 0134 adds r4, r4, #1
365 003a D2B2 uxtb r2, r2
366 .LVL27:
367 .LBE52:
368 .LBE51:
323:Core/Src/interface.c **** }
369 .loc 1 323 0 discriminator 2
370 003c 9A42 cmp r2, r3
371 003e 94BF ite ls
372 0040 1346 movls r3, r2
373 0042 0023 movhi r3, #0
374 .LVL28:
315:Core/Src/interface.c **** if(cols >= 6){
375 .loc 1 315 0 discriminator 2
376 0044 A542 cmp r5, r4
377 0046 09D0 beq .L26
378 .LVL29:
379 .L30:
316:Core/Src/interface.c **** buf[i] = 133;
380 .loc 1 316 0
381 0048 052B cmp r3, #5
382 004a F3D8 bhi .L36
319:Core/Src/interface.c **** } else {
383 .loc 1 319 0
384 004c A3F18002 sub r2, r3, #128
318:Core/Src/interface.c **** buf[i] = 128 + cols;
385 .loc 1 318 0
386 0050 0BB1 cbz r3, .L29
319:Core/Src/interface.c **** } else {
387 .loc 1 319 0
388 0052 2270 strb r2, [r4]
389 0054 EFE7 b .L28
390 .L29:
321:Core/Src/interface.c **** }
391 .loc 1 321 0
392 0056 84F800C0 strb ip, [r4]
393 005a ECE7 b .L28
394 .LVL30:
395 .L26:
325:Core/Src/interface.c **** }
396 .loc 1 325 0
397 005c FFF7FEFF bl enqueue_tx
398 .LVL31:
326:Core/Src/interface.c ****
399 .loc 1 326 0
400 0060 BD46 mov sp, r7
401 .LCFI8:
402 .cfi_def_cfa_register 13
403 .LVL32:
404 @ sp needed
405 0062 F8BD pop {r3, r4, r5, r6, r7, pc}
406 .L38:
407 .align 2
408 .L37:
409 0064 00000000 .word .LANCHOR0
ARM GAS /tmp/ccorWJCU.s page 15
410 .cfi_endproc
411 .LFE403:
413 .section .text.decode_cmd,"ax",%progbits
414 .align 1
415 .p2align 2,,3
416 .global decode_cmd
417 .syntax unified
418 .thumb
419 .thumb_func
420 .fpu fpv4-sp-d16
422 decode_cmd:
423 .LFB376:
55:Core/Src/interface.c **** switch(cmd){
424 .loc 1 55 0
425 .cfi_startproc
426 @ args = 0, pretend = 0, frame = 0
427 @ frame_needed = 0, uses_anonymous_args = 0
428 .LVL33:
56:Core/Src/interface.c **** case ENRH:
429 .loc 1 56 0
430 0000 2B38 subs r0, r0, #43
431 .LVL34:
55:Core/Src/interface.c **** switch(cmd){
432 .loc 1 55 0
433 0002 2DE9F041 push {r4, r5, r6, r7, r8, lr}
434 .LCFI9:
435 .cfi_def_cfa_offset 24
436 .cfi_offset 4, -24
437 .cfi_offset 5, -20
438 .cfi_offset 6, -16
439 .cfi_offset 7, -12
440 .cfi_offset 8, -8
441 .cfi_offset 14, -4
56:Core/Src/interface.c **** case ENRH:
442 .loc 1 56 0
443 0006 3628 cmp r0, #54
444 0008 48D8 bhi .L39
445 000a DFE800F0 tbb [pc, r0]
446 .L42:
447 000e 59 .byte (.L41-.L42)/2
448 000f 47 .byte (.L39-.L42)/2
449 0010 74 .byte (.L43-.L42)/2
450 0011 47 .byte (.L39-.L42)/2
451 0012 47 .byte (.L39-.L42)/2
452 0013 47 .byte (.L39-.L42)/2
453 0014 47 .byte (.L39-.L42)/2
454 0015 47 .byte (.L39-.L42)/2
455 0016 47 .byte (.L39-.L42)/2
456 0017 47 .byte (.L39-.L42)/2
457 0018 47 .byte (.L39-.L42)/2
458 0019 47 .byte (.L39-.L42)/2
459 001a 47 .byte (.L39-.L42)/2
460 001b 47 .byte (.L39-.L42)/2
461 001c 47 .byte (.L39-.L42)/2
462 001d 47 .byte (.L39-.L42)/2
463 001e 47 .byte (.L39-.L42)/2
464 001f 47 .byte (.L39-.L42)/2
ARM GAS /tmp/ccorWJCU.s page 16
465 0020 47 .byte (.L39-.L42)/2
466 0021 47 .byte (.L39-.L42)/2
467 0022 47 .byte (.L39-.L42)/2
468 0023 47 .byte (.L39-.L42)/2
469 0024 99 .byte (.L44-.L42)/2
470 0025 47 .byte (.L39-.L42)/2
471 0026 47 .byte (.L39-.L42)/2
472 0027 47 .byte (.L39-.L42)/2
473 0028 47 .byte (.L39-.L42)/2
474 0029 49 .byte (.L45-.L42)/2
475 002a B4 .byte (.L46-.L42)/2
476 002b 1C .byte (.L47-.L42)/2
477 002c 9F .byte (.L48-.L42)/2
478 002d 47 .byte (.L39-.L42)/2
479 002e 47 .byte (.L39-.L42)/2
480 002f 47 .byte (.L39-.L42)/2
481 0030 47 .byte (.L39-.L42)/2
482 0031 47 .byte (.L39-.L42)/2
483 0032 47 .byte (.L39-.L42)/2
484 0033 47 .byte (.L39-.L42)/2
485 0034 47 .byte (.L39-.L42)/2
486 0035 47 .byte (.L39-.L42)/2
487 0036 47 .byte (.L39-.L42)/2
488 0037 47 .byte (.L39-.L42)/2
489 0038 47 .byte (.L39-.L42)/2
490 0039 47 .byte (.L39-.L42)/2
491 003a 47 .byte (.L39-.L42)/2
492 003b 47 .byte (.L39-.L42)/2
493 003c 47 .byte (.L39-.L42)/2
494 003d 47 .byte (.L39-.L42)/2
495 003e 47 .byte (.L39-.L42)/2
496 003f 47 .byte (.L39-.L42)/2
497 0040 47 .byte (.L39-.L42)/2
498 0041 47 .byte (.L39-.L42)/2
499 0042 47 .byte (.L39-.L42)/2
500 0043 47 .byte (.L39-.L42)/2
501 0044 AE .byte (.L49-.L42)/2
502 0045 00 .p2align 1
503 .L47:
504 .LBB102:
505 .LBB103:
506 .LBB104:
507 .LBB105:
508 .LBB106:
145:Core/Src/interface.c **** menu_mode--;
509 .loc 1 145 0
510 0046 544C ldr r4, .L61
511 0048 2078 ldrb r0, [r4] @ zero_extendqisi2
512 004a FFF7FEFF bl set_changed
513 .LVL35:
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
514 .loc 1 146 0
515 004e 2078 ldrb r0, [r4] @ zero_extendqisi2
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
516 .loc 1 147 0
517 0050 524B ldr r3, .L61+4
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
ARM GAS /tmp/ccorWJCU.s page 17
518 .loc 1 146 0
519 0052 0138 subs r0, r0, #1
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
520 .loc 1 147 0
521 0054 1B78 ldrb r3, [r3] @ zero_extendqisi2
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
522 .loc 1 146 0
523 0056 C0B2 uxtb r0, r0
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
524 .loc 1 147 0
525 0058 9842 cmp r0, r3
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
526 .loc 1 146 0
527 005a 2070 strb r0, [r4]
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
528 .loc 1 147 0
529 005c 02D3 bcc .L58
530 005e 581E subs r0, r3, #1
531 0060 C0B2 uxtb r0, r0
532 0062 2070 strb r0, [r4]
533 .L58:
534 .LBE106:
535 .LBE105:
536 .LBE104:
537 .LBE103:
538 .LBB107:
539 .LBB108:
540 .LBB109:
541 .LBB110:
542 .LBB111:
543 .LBB112:
544 .LBB113:
545 .LBB114:
166:Core/Src/interface.c **** }
546 .loc 1 166 0
547 0064 4E4D ldr r5, .L61+8
548 0066 4F4E ldr r6, .L61+12
549 .LBE114:
550 .LBE113:
551 .LBE112:
552 .LBE111:
139:Core/Src/interface.c **** // nome
553 .loc 1 139 0
554 0068 FFF7FEFF bl set_changed
555 .LVL36:
556 .LBB122:
557 .LBB121:
558 .LBB118:
559 .LBB115:
166:Core/Src/interface.c **** }
560 .loc 1 166 0
561 006c 2888 ldrh r0, [r5]
562 006e 4E49 ldr r1, .L61+16
563 0070 0023 movs r3, #0
564 0072 0122 movs r2, #1
565 0074 3044 add r0, r0, r6
566 0076 FFF7FEFF bl sprintf
ARM GAS /tmp/ccorWJCU.s page 18
567 .LVL37:
568 007a 2888 ldrh r0, [r5]
569 .LBE115:
570 .LBE118:
208:Core/Src/interface.c **** }
571 .loc 1 208 0
572 007c 2278 ldrb r2, [r4] @ zero_extendqisi2
573 007e 4B4B ldr r3, .L61+20
574 0080 4B49 ldr r1, .L61+24
575 .LBB119:
576 .LBB116:
166:Core/Src/interface.c **** }
577 .loc 1 166 0
578 0082 841D adds r4, r0, #6
579 0084 A4B2 uxth r4, r4
580 .LBE116:
581 .LBE119:
208:Core/Src/interface.c **** }
582 .loc 1 208 0
583 0086 02EB4207 add r7, r2, r2, lsl #1
584 008a 03EB0713 add r3, r3, r7, lsl #4
585 008e 3019 adds r0, r6, r4
586 .LBB120:
587 .LBB117:
166:Core/Src/interface.c **** }
588 .loc 1 166 0
589 0090 2C80 strh r4, [r5] @ movhi
590 .LVL38:
591 .LBE117:
592 .LBE120:
208:Core/Src/interface.c **** }
593 .loc 1 208 0
594 0092 FFF7FEFF bl sprintf
595 .LVL39:
596 0096 2B88 ldrh r3, [r5]
597 0098 1844 add r0, r0, r3
598 009a 2880 strh r0, [r5] @ movhi
599 .L39:
600 .LBE121:
601 .LBE122:
602 .LBE110:
603 .LBE109:
604 .LBE108:
605 .LBE107:
606 .LBE102:
104:Core/Src/interface.c ****
607 .loc 1 104 0
608 009c BDE8F081 pop {r4, r5, r6, r7, r8, pc}
609 .L45:
610 .LBB163:
611 .LBB126:
612 .LBB127:
121:Core/Src/interface.c **** }
613 .loc 1 121 0
614 00a0 3D4B ldr r3, .L61
615 .LBB128:
616 .LBB129:
ARM GAS /tmp/ccorWJCU.s page 19
153:Core/Src/interface.c **** }
617 .loc 1 153 0
618 00a2 424A ldr r2, .L61+20
619 .LBE129:
620 .LBE128:
121:Core/Src/interface.c **** }
621 .loc 1 121 0
622 00a4 1B78 ldrb r3, [r3] @ zero_extendqisi2
623 .LVL40:
624 .LBB131:
625 .LBB130:
153:Core/Src/interface.c **** }
626 .loc 1 153 0
627 00a6 03EB4303 add r3, r3, r3, lsl #1
628 00aa 02EB0312 add r2, r2, r3, lsl #4
629 00ae 5369 ldr r3, [r2, #20]
630 00b0 D169 ldr r1, [r2, #28]
631 00b2 03EB8303 add r3, r3, r3, lsl #2
632 00b6 5B00 lsls r3, r3, #1
633 00b8 8B42 cmp r3, r1
634 00ba EFD2 bcs .L39
635 00bc 5361 str r3, [r2, #20]
636 00be EDE7 b .L39
637 .LVL41:
638 .L41:
639 .LBE130:
640 .LBE131:
641 .LBE127:
642 .LBE126:
643 .LBB132:
644 .LBB133:
107:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
645 .loc 1 107 0
646 00c0 354C ldr r4, .L61
647 .LBB134:
648 .LBB135:
230:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
649 .loc 1 230 0
650 00c2 3A4D ldr r5, .L61+20
651 .LBE135:
652 .LBE134:
107:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
653 .loc 1 107 0
654 00c4 2078 ldrb r0, [r4] @ zero_extendqisi2
655 .LVL42:
656 .LBB137:
657 .LBB136:
230:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
658 .loc 1 230 0
659 00c6 4200 lsls r2, r0, #1
660 00c8 1318 adds r3, r2, r0
661 00ca 05EB0313 add r3, r5, r3, lsl #4
662 00ce 5E6A ldr r6, [r3, #36]
663 00d0 5F69 ldr r7, [r3, #20]
664 00d2 3168 ldr r1, [r6]
665 00d4 3944 add r1, r1, r7
666 00d6 3160 str r1, [r6]
ARM GAS /tmp/ccorWJCU.s page 20
667 .LVL43:
231:Core/Src/interface.c **** if(items[mode].wrap){
668 .loc 1 231 0
669 00d8 9F69 ldr r7, [r3, #24]
670 00da B942 cmp r1, r7
671 00dc 02D3 bcc .L50
672 00de DB69 ldr r3, [r3, #28]
673 00e0 9942 cmp r1, r3
674 00e2 22D9 bls .L54
675 .L50:
232:Core/Src/interface.c **** * items[mode].varptr = items[mode].min;
676 .loc 1 232 0
677 00e4 0244 add r2, r2, r0
678 00e6 05EB0212 add r2, r5, r2, lsl #4
679 00ea 92F82030 ldrb r3, [r2, #32] @ zero_extendqisi2
680 00ee DBB9 cbnz r3, .L55
681 .LVL44:
682 .L60:
683 .LBE136:
684 .LBE137:
685 .LBE133:
686 .LBE132:
687 .LBB138:
688 .LBB139:
689 .LBB140:
690 .LBB141:
246:Core/Src/interface.c **** }
691 .loc 1 246 0
692 00f0 D369 ldr r3, [r2, #28]
693 00f2 3360 str r3, [r6]
694 00f4 19E0 b .L54
695 .L43:
696 .LBE141:
697 .LBE140:
112:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
698 .loc 1 112 0
699 00f6 284C ldr r4, .L61
700 .LBB144:
701 .LBB142:
243:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
702 .loc 1 243 0
703 00f8 2C4D ldr r5, .L61+20
704 .LBE142:
705 .LBE144:
112:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
706 .loc 1 112 0
707 00fa 2078 ldrb r0, [r4] @ zero_extendqisi2
708 .LVL45:
709 .LBB145:
710 .LBB143:
243:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
711 .loc 1 243 0
712 00fc 4200 lsls r2, r0, #1
713 00fe 1318 adds r3, r2, r0
714 0100 05EB0313 add r3, r5, r3, lsl #4
715 0104 5E6A ldr r6, [r3, #36]
716 0106 5F69 ldr r7, [r3, #20]
ARM GAS /tmp/ccorWJCU.s page 21
717 0108 3168 ldr r1, [r6]
718 010a C91B subs r1, r1, r7
719 010c 3160 str r1, [r6]
720 .LVL46:
244:Core/Src/interface.c **** if(items[mode].wrap){
721 .loc 1 244 0
722 010e 9F69 ldr r7, [r3, #24]
723 0110 B942 cmp r1, r7
724 0112 02D3 bcc .L53
725 0114 DB69 ldr r3, [r3, #28]
726 0116 9942 cmp r1, r3
727 0118 07D9 bls .L54
728 .L53:
245:Core/Src/interface.c **** * items[mode].varptr = items[mode].max;
729 .loc 1 245 0
730 011a 0244 add r2, r2, r0
731 011c 05EB0212 add r2, r5, r2, lsl #4
732 0120 92F82030 ldrb r3, [r2, #32] @ zero_extendqisi2
733 0124 002B cmp r3, #0
734 0126 E3D1 bne .L60
735 .LVL47:
736 .L55:
249:Core/Src/interface.c **** }
737 .loc 1 249 0
738 0128 3760 str r7, [r6]
739 .L54:
252:Core/Src/interface.c **** }
740 .loc 1 252 0
741 012a FFF7FEFF bl set_changed
742 .LVL48:
743 .LBE143:
744 .LBE145:
113:Core/Src/interface.c **** }
745 .loc 1 113 0
746 012e 2378 ldrb r3, [r4] @ zero_extendqisi2
747 0130 03EB4303 add r3, r3, r3, lsl #1
748 0134 05EB0315 add r5, r5, r3, lsl #4
749 0138 AB6A ldr r3, [r5, #40]
750 .LBE139:
751 .LBE138:
752 .LBE163:
104:Core/Src/interface.c ****
753 .loc 1 104 0
754 013a BDE8F041 pop {r4, r5, r6, r7, r8, lr}
755 .LCFI10:
756 .cfi_remember_state
757 .cfi_restore 14
758 .cfi_restore 8
759 .cfi_restore 7
760 .cfi_restore 6
761 .cfi_restore 5
762 .cfi_restore 4
763 .cfi_def_cfa_offset 0
764 .LBB164:
765 .LBB147:
766 .LBB146:
113:Core/Src/interface.c **** }
ARM GAS /tmp/ccorWJCU.s page 22
767 .loc 1 113 0
768 013e 1847 bx r3 @ indirect register sibling call
769 .LVL49:
770 .L44:
771 .LCFI11:
772 .cfi_restore_state
773 .LBE146:
774 .LBE147:
775 .LBB148:
776 .LBB149:
266:Core/Src/interface.c **** start_transmit();
777 .loc 1 266 0
778 0140 FFF7FEFF bl stop_receive
779 .LVL50:
780 .LBE149:
781 .LBE148:
782 .LBE164:
104:Core/Src/interface.c ****
783 .loc 1 104 0
784 0144 BDE8F041 pop {r4, r5, r6, r7, r8, lr}
785 .LCFI12:
786 .cfi_remember_state
787 .cfi_restore 14
788 .cfi_restore 8
789 .cfi_restore 7
790 .cfi_restore 6
791 .cfi_restore 5
792 .cfi_restore 4
793 .cfi_def_cfa_offset 0
794 .LBB165:
795 .LBB151:
796 .LBB150:
267:Core/Src/interface.c **** break;
797 .loc 1 267 0
798 0148 FFF7FEBF b start_transmit
799 .LVL51:
800 .L48:
801 .LCFI13:
802 .cfi_restore_state
803 .LBE150:
804 .LBE151:
805 .LBB152:
806 .LBB125:
807 .LBB124:
808 .LBB123:
136:Core/Src/interface.c **** menu_mode++;
809 .loc 1 136 0
810 014c 124C ldr r4, .L61
811 014e 2078 ldrb r0, [r4] @ zero_extendqisi2
812 0150 FFF7FEFF bl set_changed
813 .LVL52:
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
814 .loc 1 137 0
815 0154 2078 ldrb r0, [r4] @ zero_extendqisi2
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
816 .loc 1 138 0
817 0156 114B ldr r3, .L61+4
ARM GAS /tmp/ccorWJCU.s page 23
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
818 .loc 1 137 0
819 0158 0130 adds r0, r0, #1
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
820 .loc 1 138 0
821 015a 1B78 ldrb r3, [r3] @ zero_extendqisi2
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
822 .loc 1 137 0
823 015c C0B2 uxtb r0, r0
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
824 .loc 1 138 0
825 015e 8342 cmp r3, r0
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
826 .loc 1 137 0
827 0160 2070 strb r0, [r4]
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
828 .loc 1 138 0
829 0162 9CBF itt ls
830 0164 0020 movls r0, #0
831 0166 2070 strbls r0, [r4]
832 0168 7CE7 b .L58
833 .L49:
834 .LVL53:
835 .LBE123:
836 .LBE124:
837 .LBE125:
838 .LBE152:
839 .LBB153:
840 .LBB154:
275:Core/Src/interface.c **** start_receive();
841 .loc 1 275 0
842 016a FFF7FEFF bl stop_transmit
843 .LVL54:
844 .LBE154:
845 .LBE153:
846 .LBE165:
104:Core/Src/interface.c ****
847 .loc 1 104 0
848 016e BDE8F041 pop {r4, r5, r6, r7, r8, lr}
849 .LCFI14:
850 .cfi_remember_state
851 .cfi_restore 14
852 .cfi_restore 8
853 .cfi_restore 7
854 .cfi_restore 6
855 .cfi_restore 5
856 .cfi_restore 4
857 .cfi_def_cfa_offset 0
858 .LBB166:
859 .LBB156:
860 .LBB155:
276:Core/Src/interface.c **** break;
861 .loc 1 276 0
862 0172 FFF7FEBF b start_receive
863 .LVL55:
864 .L46:
865 .LCFI15:
ARM GAS /tmp/ccorWJCU.s page 24
866 .cfi_restore_state
867 .LBE155:
868 .LBE156:
869 .LBB157:
870 .LBB158:
117:Core/Src/interface.c **** }
871 .loc 1 117 0
872 0176 084B ldr r3, .L61
873 .LBB159:
874 .LBB160:
157:Core/Src/interface.c **** }
875 .loc 1 157 0
876 0178 0C4A ldr r2, .L61+20
877 .LBE160:
878 .LBE159:
117:Core/Src/interface.c **** }
879 .loc 1 117 0
880 017a 1B78 ldrb r3, [r3] @ zero_extendqisi2
881 .LVL56:
882 .LBB162:
883 .LBB161:
157:Core/Src/interface.c **** }
884 .loc 1 157 0
885 017c 03EB4303 add r3, r3, r3, lsl #1
886 0180 02EB0313 add r3, r2, r3, lsl #4
887 0184 5A69 ldr r2, [r3, #20]
888 0186 092A cmp r2, #9
889 0188 88D9 bls .L39
890 018a 0A49 ldr r1, .L61+28
891 018c A1FB0212 umull r1, r2, r1, r2
892 0190 D208 lsrs r2, r2, #3
893 0192 5A61 str r2, [r3, #20]
894 0194 82E7 b .L39
895 .L62:
896 0196 00BF .align 2
897 .L61:
898 0198 00000000 .word menu_mode
899 019c 00000000 .word .LANCHOR2
900 01a0 00000000 .word uart_tx_buf_in_idx
901 01a4 00000000 .word uart_tx_buf
902 01a8 00000000 .word .LC4
903 01ac 00000000 .word .LANCHOR0
904 01b0 0C000000 .word .LC5
905 01b4 CDCCCCCC .word -858993459
906 .LBE161:
907 .LBE162:
908 .LBE158:
909 .LBE157:
910 .LBE166:
911 .cfi_endproc
912 .LFE376:
914 .section .text.encoder_increment,"ax",%progbits
915 .align 1
916 .p2align 2,,3
917 .global encoder_increment
918 .syntax unified
919 .thumb
ARM GAS /tmp/ccorWJCU.s page 25
920 .thumb_func
921 .fpu fpv4-sp-d16
923 encoder_increment:
924 .LFB377:
106:Core/Src/interface.c **** integer_editor_up(menu_mode);
925 .loc 1 106 0
926 .cfi_startproc
927 @ args = 0, pretend = 0, frame = 0
928 @ frame_needed = 0, uses_anonymous_args = 0
929 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
930 .LCFI16:
931 .cfi_def_cfa_offset 24
932 .cfi_offset 4, -24
933 .cfi_offset 5, -20
934 .cfi_offset 6, -16
935 .cfi_offset 7, -12
936 .cfi_offset 8, -8
937 .cfi_offset 14, -4
107:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
938 .loc 1 107 0
939 0004 134E ldr r6, .L69
940 .LBB169:
941 .LBB170:
230:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
942 .loc 1 230 0
943 0006 144C ldr r4, .L69+4
944 .LBE170:
945 .LBE169:
107:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
946 .loc 1 107 0
947 0008 3078 ldrb r0, [r6] @ zero_extendqisi2
948 .LVL57:
949 .LBB173:
950 .LBB171:
230:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
951 .loc 1 230 0
952 000a 4200 lsls r2, r0, #1
953 000c 1318 adds r3, r2, r0
954 000e 04EB0313 add r3, r4, r3, lsl #4
955 0012 5D6A ldr r5, [r3, #36]
956 0014 5F69 ldr r7, [r3, #20]
957 0016 2968 ldr r1, [r5]
958 0018 3944 add r1, r1, r7
959 001a 2960 str r1, [r5]
960 .LVL58:
231:Core/Src/interface.c **** if(items[mode].wrap){
961 .loc 1 231 0
962 001c 9F69 ldr r7, [r3, #24]
963 001e B942 cmp r1, r7
964 0020 02D3 bcc .L64
965 0022 DB69 ldr r3, [r3, #28]
966 0024 9942 cmp r1, r3
967 0026 07D9 bls .L65
968 .L64:
232:Core/Src/interface.c **** * items[mode].varptr = items[mode].min;
969 .loc 1 232 0
970 0028 0244 add r2, r2, r0
ARM GAS /tmp/ccorWJCU.s page 26
971 002a 04EB0212 add r2, r4, r2, lsl #4
972 002e 92F82030 ldrb r3, [r2, #32] @ zero_extendqisi2
973 0032 63B9 cbnz r3, .L68
236:Core/Src/interface.c **** }
974 .loc 1 236 0
975 0034 D369 ldr r3, [r2, #28]
976 0036 2B60 str r3, [r5]
977 .L65:
239:Core/Src/interface.c **** }
978 .loc 1 239 0
979 0038 FFF7FEFF bl set_changed
980 .LVL59:
981 .LBE171:
982 .LBE173:
108:Core/Src/interface.c **** }
983 .loc 1 108 0
984 003c 3378 ldrb r3, [r6] @ zero_extendqisi2
985 003e 03EB4303 add r3, r3, r3, lsl #1
986 0042 04EB0314 add r4, r4, r3, lsl #4
987 0046 A36A ldr r3, [r4, #40]
109:Core/Src/interface.c ****
988 .loc 1 109 0
989 0048 BDE8F041 pop {r4, r5, r6, r7, r8, lr}
990 .LCFI17:
991 .cfi_remember_state
992 .cfi_restore 14
993 .cfi_restore 8
994 .cfi_restore 7
995 .cfi_restore 6
996 .cfi_restore 5
997 .cfi_restore 4
998 .cfi_def_cfa_offset 0
108:Core/Src/interface.c **** }
999 .loc 1 108 0
1000 004c 1847 bx r3 @ indirect register sibling call
1001 .LVL60:
1002 .L68:
1003 .LCFI18:
1004 .cfi_restore_state
1005 .LBB174:
1006 .LBB172:
233:Core/Src/interface.c **** }
1007 .loc 1 233 0
1008 004e 2F60 str r7, [r5]
1009 0050 F2E7 b .L65
1010 .L70:
1011 0052 00BF .align 2
1012 .L69:
1013 0054 00000000 .word menu_mode
1014 0058 00000000 .word .LANCHOR0
1015 .LBE172:
1016 .LBE174:
1017 .cfi_endproc
1018 .LFE377:
1020 .section .text.encoder_decrement,"ax",%progbits
1021 .align 1
1022 .p2align 2,,3
ARM GAS /tmp/ccorWJCU.s page 27
1023 .global encoder_decrement
1024 .syntax unified
1025 .thumb
1026 .thumb_func
1027 .fpu fpv4-sp-d16
1029 encoder_decrement:
1030 .LFB378:
111:Core/Src/interface.c **** integer_editor_down(menu_mode);
1031 .loc 1 111 0
1032 .cfi_startproc
1033 @ args = 0, pretend = 0, frame = 0
1034 @ frame_needed = 0, uses_anonymous_args = 0
1035 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1036 .LCFI19:
1037 .cfi_def_cfa_offset 24
1038 .cfi_offset 4, -24
1039 .cfi_offset 5, -20
1040 .cfi_offset 6, -16
1041 .cfi_offset 7, -12
1042 .cfi_offset 8, -8
1043 .cfi_offset 14, -4
112:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
1044 .loc 1 112 0
1045 0004 134E ldr r6, .L77
1046 .LBB177:
1047 .LBB178:
243:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
1048 .loc 1 243 0
1049 0006 144C ldr r4, .L77+4
1050 .LBE178:
1051 .LBE177:
112:Core/Src/interface.c **** items[menu_mode].set_function_ptr();
1052 .loc 1 112 0
1053 0008 3078 ldrb r0, [r6] @ zero_extendqisi2
1054 .LVL61:
1055 .LBB181:
1056 .LBB179:
243:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
1057 .loc 1 243 0
1058 000a 4200 lsls r2, r0, #1
1059 000c 1318 adds r3, r2, r0
1060 000e 04EB0313 add r3, r4, r3, lsl #4
1061 0012 5D6A ldr r5, [r3, #36]
1062 0014 5F69 ldr r7, [r3, #20]
1063 0016 2968 ldr r1, [r5]
1064 0018 C91B subs r1, r1, r7
1065 001a 2960 str r1, [r5]
1066 .LVL62:
244:Core/Src/interface.c **** if(items[mode].wrap){
1067 .loc 1 244 0
1068 001c 9F69 ldr r7, [r3, #24]
1069 001e B942 cmp r1, r7
1070 0020 02D3 bcc .L72
1071 0022 DB69 ldr r3, [r3, #28]
1072 0024 9942 cmp r1, r3
1073 0026 06D9 bls .L73
1074 .L72:
ARM GAS /tmp/ccorWJCU.s page 28
245:Core/Src/interface.c **** * items[mode].varptr = items[mode].max;
1075 .loc 1 245 0
1076 0028 0244 add r2, r2, r0
1077 002a 04EB0212 add r2, r4, r2, lsl #4
1078 002e 92F82030 ldrb r3, [r2, #32] @ zero_extendqisi2
1079 0032 5BB9 cbnz r3, .L76
249:Core/Src/interface.c **** }
1080 .loc 1 249 0
1081 0034 2F60 str r7, [r5]
1082 .L73:
252:Core/Src/interface.c **** }
1083 .loc 1 252 0
1084 0036 FFF7FEFF bl set_changed
1085 .LVL63:
1086 .LBE179:
1087 .LBE181:
113:Core/Src/interface.c **** }
1088 .loc 1 113 0
1089 003a 3378 ldrb r3, [r6] @ zero_extendqisi2
1090 003c 03EB4303 add r3, r3, r3, lsl #1
1091 0040 04EB0314 add r4, r4, r3, lsl #4
1092 0044 A36A ldr r3, [r4, #40]
114:Core/Src/interface.c ****
1093 .loc 1 114 0
1094 0046 BDE8F041 pop {r4, r5, r6, r7, r8, lr}
1095 .LCFI20:
1096 .cfi_remember_state
1097 .cfi_restore 14
1098 .cfi_restore 8
1099 .cfi_restore 7
1100 .cfi_restore 6
1101 .cfi_restore 5
1102 .cfi_restore 4
1103 .cfi_def_cfa_offset 0
113:Core/Src/interface.c **** }
1104 .loc 1 113 0
1105 004a 1847 bx r3 @ indirect register sibling call
1106 .LVL64:
1107 .L76:
1108 .LCFI21:
1109 .cfi_restore_state
1110 .LBB182:
1111 .LBB180:
246:Core/Src/interface.c **** }
1112 .loc 1 246 0
1113 004c D369 ldr r3, [r2, #28]
1114 004e 2B60 str r3, [r5]
1115 0050 F1E7 b .L73
1116 .L78:
1117 0052 00BF .align 2
1118 .L77:
1119 0054 00000000 .word menu_mode
1120 0058 00000000 .word .LANCHOR0
1121 .LBE180:
1122 .LBE182:
1123 .cfi_endproc
1124 .LFE378:
ARM GAS /tmp/ccorWJCU.s page 29
1126 .section .text.joystick_dx,"ax",%progbits
1127 .align 1
1128 .p2align 2,,3
1129 .global joystick_dx
1130 .syntax unified
1131 .thumb
1132 .thumb_func
1133 .fpu fpv4-sp-d16
1135 joystick_dx:
1136 .LFB379:
116:Core/Src/interface.c **** step_down(menu_mode);
1137 .loc 1 116 0
1138 .cfi_startproc
1139 @ args = 0, pretend = 0, frame = 0
1140 @ frame_needed = 0, uses_anonymous_args = 0
1141 @ link register save eliminated.
117:Core/Src/interface.c **** }
1142 .loc 1 117 0
1143 0000 074B ldr r3, .L81
1144 .LBB183:
1145 .LBB184:
157:Core/Src/interface.c **** }
1146 .loc 1 157 0
1147 0002 084A ldr r2, .L81+4
1148 .LBE184:
1149 .LBE183:
117:Core/Src/interface.c **** }
1150 .loc 1 117 0
1151 0004 1B78 ldrb r3, [r3] @ zero_extendqisi2
1152 .LVL65:
1153 .LBB186:
1154 .LBB185:
157:Core/Src/interface.c **** }
1155 .loc 1 157 0
1156 0006 03EB4303 add r3, r3, r3, lsl #1
1157 000a 02EB0313 add r3, r2, r3, lsl #4
1158 000e 5A69 ldr r2, [r3, #20]
1159 0010 092A cmp r2, #9
1160 0012 04D9 bls .L79
1161 0014 0449 ldr r1, .L81+8
1162 0016 A1FB0212 umull r1, r2, r1, r2
1163 001a D208 lsrs r2, r2, #3
1164 001c 5A61 str r2, [r3, #20]
1165 .LVL66:
1166 .L79:
1167 .LBE185:
1168 .LBE186:
118:Core/Src/interface.c ****
1169 .loc 1 118 0
1170 001e 7047 bx lr
1171 .L82:
1172 .align 2
1173 .L81:
1174 0020 00000000 .word menu_mode
1175 0024 00000000 .word .LANCHOR0
1176 0028 CDCCCCCC .word -858993459
1177 .cfi_endproc
ARM GAS /tmp/ccorWJCU.s page 30
1178 .LFE379:
1180 .section .text.joystick_sx,"ax",%progbits
1181 .align 1
1182 .p2align 2,,3
1183 .global joystick_sx
1184 .syntax unified
1185 .thumb
1186 .thumb_func
1187 .fpu fpv4-sp-d16
1189 joystick_sx:
1190 .LFB380:
120:Core/Src/interface.c **** step_up(menu_mode);
1191 .loc 1 120 0
1192 .cfi_startproc
1193 @ args = 0, pretend = 0, frame = 0
1194 @ frame_needed = 0, uses_anonymous_args = 0
1195 @ link register save eliminated.
121:Core/Src/interface.c **** }
1196 .loc 1 121 0
1197 0000 074B ldr r3, .L85
1198 .LBB187:
1199 .LBB188:
153:Core/Src/interface.c **** }
1200 .loc 1 153 0
1201 0002 084A ldr r2, .L85+4
1202 .LBE188:
1203 .LBE187:
121:Core/Src/interface.c **** }
1204 .loc 1 121 0
1205 0004 1B78 ldrb r3, [r3] @ zero_extendqisi2
1206 .LVL67:
1207 .LBB190:
1208 .LBB189:
153:Core/Src/interface.c **** }
1209 .loc 1 153 0
1210 0006 03EB4303 add r3, r3, r3, lsl #1
1211 000a 02EB0312 add r2, r2, r3, lsl #4
1212 000e 5369 ldr r3, [r2, #20]
1213 0010 D169 ldr r1, [r2, #28]
1214 0012 03EB8303 add r3, r3, r3, lsl #2
1215 0016 5B00 lsls r3, r3, #1
1216 0018 8B42 cmp r3, r1
1217 001a 38BF it cc
1218 001c 5361 strcc r3, [r2, #20]
1219 .LVL68:
1220 .LBE189:
1221 .LBE190:
122:Core/Src/interface.c ****
1222 .loc 1 122 0
1223 001e 7047 bx lr
1224 .L86:
1225 .align 2
1226 .L85:
1227 0020 00000000 .word menu_mode
1228 0024 00000000 .word .LANCHOR0
1229 .cfi_endproc
1230 .LFE380:
ARM GAS /tmp/ccorWJCU.s page 31
1232 .section .text.joystick_down,"ax",%progbits
1233 .align 1
1234 .p2align 2,,3
1235 .global joystick_down
1236 .syntax unified
1237 .thumb
1238 .thumb_func
1239 .fpu fpv4-sp-d16
1241 joystick_down:
1242 .LFB381:
124:Core/Src/interface.c **** menu_mode_up();
1243 .loc 1 124 0
1244 .cfi_startproc
1245 @ args = 0, pretend = 0, frame = 0
1246 @ frame_needed = 0, uses_anonymous_args = 0
1247 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1248 .LCFI22:
1249 .cfi_def_cfa_offset 24
1250 .cfi_offset 3, -24
1251 .cfi_offset 4, -20
1252 .cfi_offset 5, -16
1253 .cfi_offset 6, -12
1254 .cfi_offset 7, -8
1255 .cfi_offset 14, -4
1256 .LBB197:
1257 .LBB198:
136:Core/Src/interface.c **** menu_mode++;
1258 .loc 1 136 0
1259 0002 154E ldr r6, .L91
1260 .LBB199:
1261 .LBB200:
1262 .LBB201:
1263 .LBB202:
166:Core/Src/interface.c **** }
1264 .loc 1 166 0
1265 0004 154D ldr r5, .L91+4
1266 .LBE202:
1267 .LBE201:
1268 .LBE200:
1269 .LBE199:
136:Core/Src/interface.c **** menu_mode++;
1270 .loc 1 136 0
1271 0006 3078 ldrb r0, [r6] @ zero_extendqisi2
1272 .LBB213:
1273 .LBB211:
1274 .LBB207:
1275 .LBB203:
166:Core/Src/interface.c **** }
1276 .loc 1 166 0
1277 0008 154F ldr r7, .L91+8
1278 .LBE203:
1279 .LBE207:
1280 .LBE211:
1281 .LBE213:
136:Core/Src/interface.c **** menu_mode++;
1282 .loc 1 136 0
1283 000a FFF7FEFF bl set_changed
ARM GAS /tmp/ccorWJCU.s page 32
1284 .LVL69:
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1285 .loc 1 137 0
1286 000e 3078 ldrb r0, [r6] @ zero_extendqisi2
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1287 .loc 1 138 0
1288 0010 144B ldr r3, .L91+12
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1289 .loc 1 137 0
1290 0012 0130 adds r0, r0, #1
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1291 .loc 1 138 0
1292 0014 1B78 ldrb r3, [r3] @ zero_extendqisi2
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1293 .loc 1 137 0
1294 0016 C0B2 uxtb r0, r0
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1295 .loc 1 138 0
1296 0018 8342 cmp r3, r0
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1297 .loc 1 137 0
1298 001a 3070 strb r0, [r6]
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1299 .loc 1 138 0
1300 001c 9CBF itt ls
1301 001e 0020 movls r0, #0
1302 0020 3070 strbls r0, [r6]
139:Core/Src/interface.c **** // nome
1303 .loc 1 139 0
1304 0022 FFF7FEFF bl set_changed
1305 .LVL70:
1306 .LBB214:
1307 .LBB212:
1308 .LBB208:
1309 .LBB204:
166:Core/Src/interface.c **** }
1310 .loc 1 166 0
1311 0026 2888 ldrh r0, [r5]
1312 0028 0F49 ldr r1, .L91+16
1313 002a 0023 movs r3, #0
1314 002c 0122 movs r2, #1
1315 002e 3844 add r0, r0, r7
1316 0030 FFF7FEFF bl sprintf
1317 .LVL71:
1318 0034 2C88 ldrh r4, [r5]
1319 .LBE204:
1320 .LBE208:
208:Core/Src/interface.c **** }
1321 .loc 1 208 0
1322 0036 3278 ldrb r2, [r6] @ zero_extendqisi2
1323 0038 0C4B ldr r3, .L91+20
1324 003a 0D49 ldr r1, .L91+24
1325 .LBB209:
1326 .LBB205:
166:Core/Src/interface.c **** }
1327 .loc 1 166 0
1328 003c 0634 adds r4, r4, #6
ARM GAS /tmp/ccorWJCU.s page 33
1329 003e A4B2 uxth r4, r4
1330 .LBE205:
1331 .LBE209:
208:Core/Src/interface.c **** }
1332 .loc 1 208 0
1333 0040 02EB4206 add r6, r2, r2, lsl #1
1334 0044 03EB0613 add r3, r3, r6, lsl #4
1335 0048 3819 adds r0, r7, r4
1336 .LBB210:
1337 .LBB206:
166:Core/Src/interface.c **** }
1338 .loc 1 166 0
1339 004a 2C80 strh r4, [r5] @ movhi
1340 .LVL72:
1341 .LBE206:
1342 .LBE210:
208:Core/Src/interface.c **** }
1343 .loc 1 208 0
1344 004c FFF7FEFF bl sprintf
1345 .LVL73:
1346 0050 2B88 ldrh r3, [r5]
1347 0052 1844 add r0, r0, r3
1348 0054 2880 strh r0, [r5] @ movhi
1349 .LBE212:
1350 .LBE214:
1351 .LBE198:
1352 .LBE197:
126:Core/Src/interface.c ****
1353 .loc 1 126 0
1354 0056 F8BD pop {r3, r4, r5, r6, r7, pc}
1355 .L92:
1356 .align 2
1357 .L91:
1358 0058 00000000 .word menu_mode
1359 005c 00000000 .word uart_tx_buf_in_idx
1360 0060 00000000 .word uart_tx_buf
1361 0064 00000000 .word .LANCHOR2
1362 0068 00000000 .word .LC4
1363 006c 00000000 .word .LANCHOR0
1364 0070 0C000000 .word .LC5
1365 .cfi_endproc
1366 .LFE381:
1368 .section .text.joystick_up,"ax",%progbits
1369 .align 1
1370 .p2align 2,,3
1371 .global joystick_up
1372 .syntax unified
1373 .thumb
1374 .thumb_func
1375 .fpu fpv4-sp-d16
1377 joystick_up:
1378 .LFB382:
128:Core/Src/interface.c **** menu_mode_down();
1379 .loc 1 128 0
1380 .cfi_startproc
1381 @ args = 0, pretend = 0, frame = 0
1382 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccorWJCU.s page 34
1383 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1384 .LCFI23:
1385 .cfi_def_cfa_offset 24
1386 .cfi_offset 3, -24
1387 .cfi_offset 4, -20
1388 .cfi_offset 5, -16
1389 .cfi_offset 6, -12
1390 .cfi_offset 7, -8
1391 .cfi_offset 14, -4
1392 .LBB221:
1393 .LBB222:
145:Core/Src/interface.c **** menu_mode--;
1394 .loc 1 145 0
1395 0002 164E ldr r6, .L96
1396 0004 3078 ldrb r0, [r6] @ zero_extendqisi2
1397 0006 FFF7FEFF bl set_changed
1398 .LVL74:
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1399 .loc 1 146 0
1400 000a 3078 ldrb r0, [r6] @ zero_extendqisi2
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1401 .loc 1 147 0
1402 000c 144B ldr r3, .L96+4
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1403 .loc 1 146 0
1404 000e 0138 subs r0, r0, #1
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1405 .loc 1 147 0
1406 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1407 .loc 1 146 0
1408 0012 C0B2 uxtb r0, r0
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1409 .loc 1 147 0
1410 0014 9842 cmp r0, r3
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1411 .loc 1 146 0
1412 0016 3070 strb r0, [r6]
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1413 .loc 1 147 0
1414 0018 02D3 bcc .L94
1415 001a 581E subs r0, r3, #1
1416 001c C0B2 uxtb r0, r0
1417 001e 3070 strb r0, [r6]
1418 .L94:
1419 .LBB223:
1420 .LBB224:
1421 .LBB225:
1422 .LBB226:
166:Core/Src/interface.c **** }
1423 .loc 1 166 0
1424 0020 104D ldr r5, .L96+8
1425 0022 114F ldr r7, .L96+12
1426 .LBE226:
1427 .LBE225:
1428 .LBE224:
1429 .LBE223:
ARM GAS /tmp/ccorWJCU.s page 35
148:Core/Src/interface.c **** display_update_mode();
1430 .loc 1 148 0
1431 0024 FFF7FEFF bl set_changed
1432 .LVL75:
1433 .LBB234:
1434 .LBB233:
1435 .LBB230:
1436 .LBB227:
166:Core/Src/interface.c **** }
1437 .loc 1 166 0
1438 0028 2888 ldrh r0, [r5]
1439 002a 1049 ldr r1, .L96+16
1440 002c 0023 movs r3, #0
1441 002e 0122 movs r2, #1
1442 0030 3844 add r0, r0, r7
1443 0032 FFF7FEFF bl sprintf
1444 .LVL76:
1445 0036 2C88 ldrh r4, [r5]
1446 .LBE227:
1447 .LBE230:
208:Core/Src/interface.c **** }
1448 .loc 1 208 0
1449 0038 3278 ldrb r2, [r6] @ zero_extendqisi2
1450 003a 0D4B ldr r3, .L96+20
1451 003c 0D49 ldr r1, .L96+24
1452 .LBB231:
1453 .LBB228:
166:Core/Src/interface.c **** }
1454 .loc 1 166 0
1455 003e 0634 adds r4, r4, #6
1456 0040 A4B2 uxth r4, r4
1457 .LBE228:
1458 .LBE231:
208:Core/Src/interface.c **** }
1459 .loc 1 208 0
1460 0042 02EB4206 add r6, r2, r2, lsl #1
1461 0046 03EB0613 add r3, r3, r6, lsl #4
1462 004a 3819 adds r0, r7, r4
1463 .LBB232:
1464 .LBB229:
166:Core/Src/interface.c **** }
1465 .loc 1 166 0
1466 004c 2C80 strh r4, [r5] @ movhi
1467 .LVL77:
1468 .LBE229:
1469 .LBE232:
208:Core/Src/interface.c **** }
1470 .loc 1 208 0
1471 004e FFF7FEFF bl sprintf
1472 .LVL78:
1473 0052 2B88 ldrh r3, [r5]
1474 0054 1844 add r0, r0, r3
1475 0056 2880 strh r0, [r5] @ movhi
1476 .LBE233:
1477 .LBE234:
1478 .LBE222:
1479 .LBE221:
ARM GAS /tmp/ccorWJCU.s page 36
130:Core/Src/interface.c ****
1480 .loc 1 130 0
1481 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
1482 .L97:
1483 005a 00BF .align 2
1484 .L96:
1485 005c 00000000 .word menu_mode
1486 0060 00000000 .word .LANCHOR2
1487 0064 00000000 .word uart_tx_buf_in_idx
1488 0068 00000000 .word uart_tx_buf
1489 006c 00000000 .word .LC4
1490 0070 00000000 .word .LANCHOR0
1491 0074 0C000000 .word .LC5
1492 .cfi_endproc
1493 .LFE382:
1495 .section .text.joystick_button,"ax",%progbits
1496 .align 1
1497 .p2align 2,,3
1498 .global joystick_button
1499 .syntax unified
1500 .thumb
1501 .thumb_func
1502 .fpu fpv4-sp-d16
1504 joystick_button:
1505 .LFB383:
132:Core/Src/interface.c **** }
1506 .loc 1 132 0
1507 .cfi_startproc
1508 @ args = 0, pretend = 0, frame = 0
1509 @ frame_needed = 0, uses_anonymous_args = 0
1510 @ link register save eliminated.
133:Core/Src/interface.c ****
1511 .loc 1 133 0
1512 0000 7047 bx lr
1513 .cfi_endproc
1514 .LFE383:
1516 0002 00BF .section .text.menu_mode_up,"ax",%progbits
1517 .align 1
1518 .p2align 2,,3
1519 .global menu_mode_up
1520 .syntax unified
1521 .thumb
1522 .thumb_func
1523 .fpu fpv4-sp-d16
1525 menu_mode_up:
1526 .LFB384:
135:Core/Src/interface.c **** set_changed(menu_mode); // pulisci vecchio
1527 .loc 1 135 0
1528 .cfi_startproc
1529 @ args = 0, pretend = 0, frame = 0
1530 @ frame_needed = 0, uses_anonymous_args = 0
1531 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1532 .LCFI24:
1533 .cfi_def_cfa_offset 24
1534 .cfi_offset 3, -24
1535 .cfi_offset 4, -20
1536 .cfi_offset 5, -16
ARM GAS /tmp/ccorWJCU.s page 37
1537 .cfi_offset 6, -12
1538 .cfi_offset 7, -8
1539 .cfi_offset 14, -4
136:Core/Src/interface.c **** menu_mode++;
1540 .loc 1 136 0
1541 0002 154E ldr r6, .L103
1542 .LBB239:
1543 .LBB240:
1544 .LBB241:
1545 .LBB242:
166:Core/Src/interface.c **** }
1546 .loc 1 166 0
1547 0004 154D ldr r5, .L103+4
1548 .LBE242:
1549 .LBE241:
1550 .LBE240:
1551 .LBE239:
136:Core/Src/interface.c **** menu_mode++;
1552 .loc 1 136 0
1553 0006 3078 ldrb r0, [r6] @ zero_extendqisi2
1554 .LBB253:
1555 .LBB251:
1556 .LBB247:
1557 .LBB243:
166:Core/Src/interface.c **** }
1558 .loc 1 166 0
1559 0008 154F ldr r7, .L103+8
1560 .LBE243:
1561 .LBE247:
1562 .LBE251:
1563 .LBE253:
136:Core/Src/interface.c **** menu_mode++;
1564 .loc 1 136 0
1565 000a FFF7FEFF bl set_changed
1566 .LVL79:
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1567 .loc 1 137 0
1568 000e 3078 ldrb r0, [r6] @ zero_extendqisi2
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1569 .loc 1 138 0
1570 0010 144B ldr r3, .L103+12
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1571 .loc 1 137 0
1572 0012 0130 adds r0, r0, #1
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1573 .loc 1 138 0
1574 0014 1B78 ldrb r3, [r3] @ zero_extendqisi2
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1575 .loc 1 137 0
1576 0016 C0B2 uxtb r0, r0
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
1577 .loc 1 138 0
1578 0018 8342 cmp r3, r0
137:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = 0;
1579 .loc 1 137 0
1580 001a 3070 strb r0, [r6]
138:Core/Src/interface.c **** set_changed(menu_mode); // cursore nel nuovo
ARM GAS /tmp/ccorWJCU.s page 38
1581 .loc 1 138 0
1582 001c 9CBF itt ls
1583 001e 0020 movls r0, #0
1584 0020 3070 strbls r0, [r6]
139:Core/Src/interface.c **** // nome
1585 .loc 1 139 0
1586 0022 FFF7FEFF bl set_changed
1587 .LVL80:
1588 .LBB254:
1589 .LBB252:
1590 .LBB248:
1591 .LBB244:
166:Core/Src/interface.c **** }
1592 .loc 1 166 0
1593 0026 2888 ldrh r0, [r5]
1594 0028 0F49 ldr r1, .L103+16
1595 002a 0023 movs r3, #0
1596 002c 0122 movs r2, #1
1597 002e 3844 add r0, r0, r7
1598 0030 FFF7FEFF bl sprintf
1599 .LVL81:
1600 0034 2C88 ldrh r4, [r5]
1601 .LBE244:
1602 .LBE248:
208:Core/Src/interface.c **** }
1603 .loc 1 208 0
1604 0036 3278 ldrb r2, [r6] @ zero_extendqisi2
1605 0038 0C4B ldr r3, .L103+20
1606 003a 0D49 ldr r1, .L103+24
1607 .LBB249:
1608 .LBB245:
166:Core/Src/interface.c **** }
1609 .loc 1 166 0
1610 003c 0634 adds r4, r4, #6
1611 003e A4B2 uxth r4, r4
1612 .LBE245:
1613 .LBE249:
208:Core/Src/interface.c **** }
1614 .loc 1 208 0
1615 0040 02EB4206 add r6, r2, r2, lsl #1
1616 0044 03EB0613 add r3, r3, r6, lsl #4
1617 0048 3819 adds r0, r7, r4
1618 .LBB250:
1619 .LBB246:
166:Core/Src/interface.c **** }
1620 .loc 1 166 0
1621 004a 2C80 strh r4, [r5] @ movhi
1622 .LVL82:
1623 .LBE246:
1624 .LBE250:
208:Core/Src/interface.c **** }
1625 .loc 1 208 0
1626 004c FFF7FEFF bl sprintf
1627 .LVL83:
1628 0050 2B88 ldrh r3, [r5]
1629 0052 1844 add r0, r0, r3
1630 0054 2880 strh r0, [r5] @ movhi
ARM GAS /tmp/ccorWJCU.s page 39
1631 .LBE252:
1632 .LBE254:
142:Core/Src/interface.c ****
1633 .loc 1 142 0
1634 0056 F8BD pop {r3, r4, r5, r6, r7, pc}
1635 .L104:
1636 .align 2
1637 .L103:
1638 0058 00000000 .word menu_mode
1639 005c 00000000 .word uart_tx_buf_in_idx
1640 0060 00000000 .word uart_tx_buf
1641 0064 00000000 .word .LANCHOR2
1642 0068 00000000 .word .LC4
1643 006c 00000000 .word .LANCHOR0
1644 0070 0C000000 .word .LC5
1645 .cfi_endproc
1646 .LFE384:
1648 .section .text.menu_mode_down,"ax",%progbits
1649 .align 1
1650 .p2align 2,,3
1651 .global menu_mode_down
1652 .syntax unified
1653 .thumb
1654 .thumb_func
1655 .fpu fpv4-sp-d16
1657 menu_mode_down:
1658 .LFB385:
144:Core/Src/interface.c **** set_changed(menu_mode); // pulisci vecchio
1659 .loc 1 144 0
1660 .cfi_startproc
1661 @ args = 0, pretend = 0, frame = 0
1662 @ frame_needed = 0, uses_anonymous_args = 0
1663 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1664 .LCFI25:
1665 .cfi_def_cfa_offset 24
1666 .cfi_offset 3, -24
1667 .cfi_offset 4, -20
1668 .cfi_offset 5, -16
1669 .cfi_offset 6, -12
1670 .cfi_offset 7, -8
1671 .cfi_offset 14, -4
145:Core/Src/interface.c **** menu_mode--;
1672 .loc 1 145 0
1673 0002 164E ldr r6, .L108
1674 0004 3078 ldrb r0, [r6] @ zero_extendqisi2
1675 0006 FFF7FEFF bl set_changed
1676 .LVL84:
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1677 .loc 1 146 0
1678 000a 3078 ldrb r0, [r6] @ zero_extendqisi2
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1679 .loc 1 147 0
1680 000c 144B ldr r3, .L108+4
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1681 .loc 1 146 0
1682 000e 0138 subs r0, r0, #1
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
ARM GAS /tmp/ccorWJCU.s page 40
1683 .loc 1 147 0
1684 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1685 .loc 1 146 0
1686 0012 C0B2 uxtb r0, r0
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1687 .loc 1 147 0
1688 0014 9842 cmp r0, r3
146:Core/Src/interface.c **** if(menu_mode >= menu_item_count) menu_mode = menu_item_count - 1;
1689 .loc 1 146 0
1690 0016 3070 strb r0, [r6]
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1691 .loc 1 147 0
1692 0018 02D3 bcc .L106
147:Core/Src/interface.c **** set_changed(menu_mode); // nuovo
1693 .loc 1 147 0 is_stmt 0 discriminator 1
1694 001a 581E subs r0, r3, #1
1695 001c C0B2 uxtb r0, r0
1696 001e 3070 strb r0, [r6]
1697 .L106:
1698 .LBB259:
1699 .LBB260:
1700 .LBB261:
1701 .LBB262:
166:Core/Src/interface.c **** }
1702 .loc 1 166 0 is_stmt 1
1703 0020 104D ldr r5, .L108+8
1704 0022 114F ldr r7, .L108+12
1705 .LBE262:
1706 .LBE261:
1707 .LBE260:
1708 .LBE259:
148:Core/Src/interface.c **** display_update_mode();
1709 .loc 1 148 0
1710 0024 FFF7FEFF bl set_changed
1711 .LVL85:
1712 .LBB270:
1713 .LBB269:
1714 .LBB266:
1715 .LBB263:
166:Core/Src/interface.c **** }
1716 .loc 1 166 0
1717 0028 2888 ldrh r0, [r5]
1718 002a 1049 ldr r1, .L108+16
1719 002c 0023 movs r3, #0
1720 002e 0122 movs r2, #1
1721 0030 3844 add r0, r0, r7
1722 0032 FFF7FEFF bl sprintf
1723 .LVL86:
1724 0036 2C88 ldrh r4, [r5]
1725 .LBE263:
1726 .LBE266:
208:Core/Src/interface.c **** }
1727 .loc 1 208 0
1728 0038 3278 ldrb r2, [r6] @ zero_extendqisi2
1729 003a 0D4B ldr r3, .L108+20
1730 003c 0D49 ldr r1, .L108+24
ARM GAS /tmp/ccorWJCU.s page 41
1731 .LBB267:
1732 .LBB264:
166:Core/Src/interface.c **** }
1733 .loc 1 166 0
1734 003e 0634 adds r4, r4, #6
1735 0040 A4B2 uxth r4, r4
1736 .LBE264:
1737 .LBE267:
208:Core/Src/interface.c **** }
1738 .loc 1 208 0
1739 0042 02EB4206 add r6, r2, r2, lsl #1
1740 0046 03EB0613 add r3, r3, r6, lsl #4
1741 004a 3819 adds r0, r7, r4
1742 .LBB268:
1743 .LBB265:
166:Core/Src/interface.c **** }
1744 .loc 1 166 0
1745 004c 2C80 strh r4, [r5] @ movhi
1746 .LVL87:
1747 .LBE265:
1748 .LBE268:
208:Core/Src/interface.c **** }
1749 .loc 1 208 0
1750 004e FFF7FEFF bl sprintf
1751 .LVL88:
1752 0052 2B88 ldrh r3, [r5]
1753 0054 1844 add r0, r0, r3
1754 0056 2880 strh r0, [r5] @ movhi
1755 .LBE269:
1756 .LBE270:
150:Core/Src/interface.c ****
1757 .loc 1 150 0
1758 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
1759 .L109:
1760 005a 00BF .align 2
1761 .L108:
1762 005c 00000000 .word menu_mode
1763 0060 00000000 .word .LANCHOR2
1764 0064 00000000 .word uart_tx_buf_in_idx
1765 0068 00000000 .word uart_tx_buf
1766 006c 00000000 .word .LC4
1767 0070 00000000 .word .LANCHOR0
1768 0074 0C000000 .word .LC5
1769 .cfi_endproc
1770 .LFE385:
1772 .section .text.step_up,"ax",%progbits
1773 .align 1
1774 .p2align 2,,3
1775 .global step_up
1776 .syntax unified
1777 .thumb
1778 .thumb_func
1779 .fpu fpv4-sp-d16
1781 step_up:
1782 .LFB386:
152:Core/Src/interface.c **** if((items[mode].step * 10) < items[mode].max) items[mode].step *= 10;
1783 .loc 1 152 0
ARM GAS /tmp/ccorWJCU.s page 42
1784 .cfi_startproc
1785 @ args = 0, pretend = 0, frame = 0
1786 @ frame_needed = 0, uses_anonymous_args = 0
1787 @ link register save eliminated.
1788 .LVL89:
153:Core/Src/interface.c **** }
1789 .loc 1 153 0
1790 0000 064B ldr r3, .L112
1791 0002 00EB4000 add r0, r0, r0, lsl #1
1792 .LVL90:
1793 0006 03EB0010 add r0, r3, r0, lsl #4
1794 000a 4369 ldr r3, [r0, #20]
1795 000c C269 ldr r2, [r0, #28]
1796 000e 03EB8303 add r3, r3, r3, lsl #2
1797 0012 5B00 lsls r3, r3, #1
1798 0014 9342 cmp r3, r2
1799 0016 38BF it cc
1800 0018 4361 strcc r3, [r0, #20]
154:Core/Src/interface.c ****
1801 .loc 1 154 0
1802 001a 7047 bx lr
1803 .L113:
1804 .align 2
1805 .L112:
1806 001c 00000000 .word .LANCHOR0
1807 .cfi_endproc
1808 .LFE386:
1810 .section .text.step_down,"ax",%progbits
1811 .align 1
1812 .p2align 2,,3
1813 .global step_down
1814 .syntax unified
1815 .thumb
1816 .thumb_func
1817 .fpu fpv4-sp-d16
1819 step_down:
1820 .LFB387:
156:Core/Src/interface.c **** if(items[mode].step >= 10) items[mode].step /= 10;
1821 .loc 1 156 0
1822 .cfi_startproc
1823 @ args = 0, pretend = 0, frame = 0
1824 @ frame_needed = 0, uses_anonymous_args = 0
1825 @ link register save eliminated.
1826 .LVL91:
157:Core/Src/interface.c **** }
1827 .loc 1 157 0
1828 0000 064B ldr r3, .L116
1829 0002 00EB4000 add r0, r0, r0, lsl #1
1830 .LVL92:
1831 0006 03EB0010 add r0, r3, r0, lsl #4
1832 000a 4369 ldr r3, [r0, #20]
1833 000c 092B cmp r3, #9
1834 000e 04D9 bls .L114
157:Core/Src/interface.c **** }
1835 .loc 1 157 0 is_stmt 0 discriminator 1
1836 0010 034A ldr r2, .L116+4
1837 0012 A2FB0323 umull r2, r3, r2, r3
ARM GAS /tmp/ccorWJCU.s page 43
1838 0016 DB08 lsrs r3, r3, #3
1839 0018 4361 str r3, [r0, #20]
1840 .L114:
158:Core/Src/interface.c ****
1841 .loc 1 158 0 is_stmt 1
1842 001a 7047 bx lr
1843 .L117:
1844 .align 2
1845 .L116:
1846 001c 00000000 .word .LANCHOR0
1847 0020 CDCCCCCC .word -858993459
1848 .cfi_endproc
1849 .LFE387:
1851 .section .text.interface_set_default,"ax",%progbits
1852 .align 1
1853 .p2align 2,,3
1854 .global interface_set_default
1855 .syntax unified
1856 .thumb
1857 .thumb_func
1858 .fpu fpv4-sp-d16
1860 interface_set_default:
1861 .LFB388:
160:Core/Src/interface.c **** menu_mode = 0;
1862 .loc 1 160 0
1863 .cfi_startproc
1864 @ args = 0, pretend = 0, frame = 0
1865 @ frame_needed = 0, uses_anonymous_args = 0
1866 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1867 .LCFI26:
1868 .cfi_def_cfa_offset 24
1869 .cfi_offset 3, -24
1870 .cfi_offset 4, -20
1871 .cfi_offset 5, -16
1872 .cfi_offset 6, -12
1873 .cfi_offset 7, -8
1874 .cfi_offset 14, -4
1875 .LBB275:
1876 .LBB276:
1877 .LBB277:
1878 .LBB278:
166:Core/Src/interface.c **** }
1879 .loc 1 166 0
1880 0002 0F4D ldr r5, .L120
1881 0004 0F4E ldr r6, .L120+4
1882 0006 2888 ldrh r0, [r5]
1883 .LBE278:
1884 .LBE277:
1885 .LBE276:
1886 .LBE275:
161:Core/Src/interface.c **** display_update_mode();
1887 .loc 1 161 0
1888 0008 0F4F ldr r7, .L120+8
1889 .LBB292:
1890 .LBB289:
1891 .LBB284:
1892 .LBB279:
ARM GAS /tmp/ccorWJCU.s page 44
166:Core/Src/interface.c **** }
1893 .loc 1 166 0
1894 000a 1049 ldr r1, .L120+12
1895 .LBE279:
1896 .LBE284:
1897 .LBE289:
1898 .LBE292:
161:Core/Src/interface.c **** display_update_mode();
1899 .loc 1 161 0
1900 000c 0024 movs r4, #0
1901 .LBB293:
1902 .LBB290:
1903 .LBB285:
1904 .LBB280:
166:Core/Src/interface.c **** }
1905 .loc 1 166 0
1906 000e 2346 mov r3, r4
1907 0010 0122 movs r2, #1
1908 0012 3044 add r0, r0, r6
1909 .LBE280:
1910 .LBE285:
1911 .LBE290:
1912 .LBE293:
161:Core/Src/interface.c **** display_update_mode();
1913 .loc 1 161 0
1914 0014 3C70 strb r4, [r7]
1915 .LVL93:
1916 .LBB294:
1917 .LBB291:
1918 .LBB286:
1919 .LBB281:
166:Core/Src/interface.c **** }
1920 .loc 1 166 0
1921 0016 FFF7FEFF bl sprintf
1922 .LVL94:
1923 001a 2C88 ldrh r4, [r5]
1924 .LBE281:
1925 .LBE286:
208:Core/Src/interface.c **** }
1926 .loc 1 208 0
1927 001c 3A78 ldrb r2, [r7] @ zero_extendqisi2
1928 001e 0C4B ldr r3, .L120+16
1929 0020 0C49 ldr r1, .L120+20
1930 .LBB287:
1931 .LBB282:
166:Core/Src/interface.c **** }
1932 .loc 1 166 0
1933 0022 0634 adds r4, r4, #6
1934 0024 A4B2 uxth r4, r4
1935 .LBE282:
1936 .LBE287:
208:Core/Src/interface.c **** }
1937 .loc 1 208 0
1938 0026 02EB4207 add r7, r2, r2, lsl #1
1939 002a 03EB0713 add r3, r3, r7, lsl #4
1940 002e 3019 adds r0, r6, r4
1941 .LBB288:
ARM GAS /tmp/ccorWJCU.s page 45
1942 .LBB283:
166:Core/Src/interface.c **** }
1943 .loc 1 166 0
1944 0030 2C80 strh r4, [r5] @ movhi
1945 .LVL95:
1946 .LBE283:
1947 .LBE288:
208:Core/Src/interface.c **** }
1948 .loc 1 208 0
1949 0032 FFF7FEFF bl sprintf
1950 .LVL96:
1951 0036 2B88 ldrh r3, [r5]
1952 0038 1844 add r0, r0, r3
1953 003a 2880 strh r0, [r5] @ movhi
1954 .LBE291:
1955 .LBE294:
163:Core/Src/interface.c ****
1956 .loc 1 163 0
1957 003c F8BD pop {r3, r4, r5, r6, r7, pc}
1958 .L121:
1959 003e 00BF .align 2
1960 .L120:
1961 0040 00000000 .word uart_tx_buf_in_idx
1962 0044 00000000 .word uart_tx_buf
1963 0048 00000000 .word menu_mode
1964 004c 00000000 .word .LC4
1965 0050 00000000 .word .LANCHOR0
1966 0054 0C000000 .word .LC5
1967 .cfi_endproc
1968 .LFE388:
1970 .section .text.display_set_position,"ax",%progbits
1971 .align 1
1972 .p2align 2,,3
1973 .global display_set_position
1974 .syntax unified
1975 .thumb
1976 .thumb_func
1977 .fpu fpv4-sp-d16
1979 display_set_position:
1980 .LFB389:
165:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%d,%dz", col, row);
1981 .loc 1 165 0
1982 .cfi_startproc
1983 @ args = 0, pretend = 0, frame = 0
1984 @ frame_needed = 0, uses_anonymous_args = 0
1985 .LVL97:
1986 0000 70B5 push {r4, r5, r6, lr}
1987 .LCFI27:
1988 .cfi_def_cfa_offset 16
1989 .cfi_offset 4, -16
1990 .cfi_offset 5, -12
1991 .cfi_offset 6, -8
1992 .cfi_offset 14, -4
166:Core/Src/interface.c **** }
1993 .loc 1 166 0
1994 0002 064C ldr r4, .L124
1995 0004 064E ldr r6, .L124+4
ARM GAS /tmp/ccorWJCU.s page 46
1996 0006 2588 ldrh r5, [r4]
1997 0008 0346 mov r3, r0
1998 000a 0A46 mov r2, r1
1999 000c 7019 adds r0, r6, r5
2000 .LVL98:
2001 000e 0549 ldr r1, .L124+8
2002 .LVL99:
2003 0010 FFF7FEFF bl sprintf
2004 .LVL100:
2005 0014 2388 ldrh r3, [r4]
2006 0016 1844 add r0, r0, r3
2007 0018 2080 strh r0, [r4] @ movhi
167:Core/Src/interface.c ****
2008 .loc 1 167 0
2009 001a 70BD pop {r4, r5, r6, pc}
2010 .L125:
2011 .align 2
2012 .L124:
2013 001c 00000000 .word uart_tx_buf_in_idx
2014 0020 00000000 .word uart_tx_buf
2015 0024 00000000 .word .LC4
2016 .cfi_endproc
2017 .LFE389:
2019 .section .text.display_print_string,"ax",%progbits
2020 .align 1
2021 .p2align 2,,3
2022 .global display_print_string
2023 .syntax unified
2024 .thumb
2025 .thumb_func
2026 .fpu fpv4-sp-d16
2028 display_print_string:
2029 .LFB390:
169:Core/Src/interface.c **** display_set_position(row,col);
2030 .loc 1 169 0
2031 .cfi_startproc
2032 @ args = 0, pretend = 0, frame = 0
2033 @ frame_needed = 0, uses_anonymous_args = 0
2034 .LVL101:
2035 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
2036 .LCFI28:
2037 .cfi_def_cfa_offset 24
2038 .cfi_offset 3, -24
2039 .cfi_offset 4, -20
2040 .cfi_offset 5, -16
2041 .cfi_offset 6, -12
2042 .cfi_offset 7, -8
2043 .cfi_offset 14, -4
2044 .LBB297:
2045 .LBB298:
166:Core/Src/interface.c **** }
2046 .loc 1 166 0
2047 0002 0B4C ldr r4, .L128
2048 0004 0B4F ldr r7, .L128+4
2049 0006 2688 ldrh r6, [r4]
2050 .LBE298:
2051 .LBE297:
ARM GAS /tmp/ccorWJCU.s page 47
169:Core/Src/interface.c **** display_set_position(row,col);
2052 .loc 1 169 0
2053 0008 1546 mov r5, r2
2054 .LBB301:
2055 .LBB299:
166:Core/Src/interface.c **** }
2056 .loc 1 166 0
2057 000a 0346 mov r3, r0
2058 000c 0A46 mov r2, r1
2059 .LVL102:
2060 000e B819 adds r0, r7, r6
2061 .LVL103:
2062 0010 0949 ldr r1, .L128+8
2063 .LVL104:
2064 0012 FFF7FEFF bl sprintf
2065 .LVL105:
2066 0016 2388 ldrh r3, [r4]
2067 0018 0344 add r3, r3, r0
2068 .LBE299:
2069 .LBE301:
171:Core/Src/interface.c **** }
2070 .loc 1 171 0
2071 001a 2846 mov r0, r5
2072 .LBB302:
2073 .LBB300:
166:Core/Src/interface.c **** }
2074 .loc 1 166 0
2075 001c 2380 strh r3, [r4] @ movhi
2076 .LVL106:
2077 .LBE300:
2078 .LBE302:
171:Core/Src/interface.c **** }
2079 .loc 1 171 0
2080 001e FFF7FEFF bl strlen
2081 .LVL107:
2082 0022 0146 mov r1, r0
2083 0024 2846 mov r0, r5
172:Core/Src/interface.c ****
2084 .loc 1 172 0
2085 0026 BDE8F840 pop {r3, r4, r5, r6, r7, lr}
2086 .LCFI29:
2087 .cfi_restore 14
2088 .cfi_restore 7
2089 .cfi_restore 6
2090 .cfi_restore 5
2091 .cfi_restore 4
2092 .cfi_restore 3
2093 .cfi_def_cfa_offset 0
2094 .LVL108:
171:Core/Src/interface.c **** }
2095 .loc 1 171 0
2096 002a FFF7FEBF b enqueue_tx
2097 .LVL109:
2098 .L129:
2099 002e 00BF .align 2
2100 .L128:
2101 0030 00000000 .word uart_tx_buf_in_idx
ARM GAS /tmp/ccorWJCU.s page 48
2102 0034 00000000 .word uart_tx_buf
2103 0038 00000000 .word .LC4
2104 .cfi_endproc
2105 .LFE390:
2107 .section .text.display_draw_dual_bar,"ax",%progbits
2108 .align 1
2109 .p2align 2,,3
2110 .global display_draw_dual_bar
2111 .syntax unified
2112 .thumb
2113 .thumb_func
2114 .fpu fpv4-sp-d16
2116 display_draw_dual_bar:
2117 .LFB391:
196:Core/Src/interface.c **** uint8_t cols;
2118 .loc 1 196 0
2119 .cfi_startproc
2120 @ args = 0, pretend = 0, frame = 88
2121 @ frame_needed = 0, uses_anonymous_args = 0
2122 .LVL110:
2123 0000 30B5 push {r4, r5, lr}
2124 .LCFI30:
2125 .cfi_def_cfa_offset 12
2126 .cfi_offset 4, -12
2127 .cfi_offset 5, -8
2128 .cfi_offset 14, -4
2129 0002 97B0 sub sp, sp, #92
2130 .LCFI31:
2131 .cfi_def_cfa_offset 104
2132 0004 01A8 add r0, sp, #4
2133 .LVL111:
196:Core/Src/interface.c **** uint8_t cols;
2134 .loc 1 196 0
2135 0006 0023 movs r3, #0
2136 .LVL112:
2137 .L133:
2138 0008 DCB2 uxtb r4, r3
200:Core/Src/interface.c **** if(cols < value2) buf[cols] |= 0xF0;
2139 .loc 1 200 0
2140 000a 8C42 cmp r4, r1
2141 000c 03F10103 add r3, r3, #1
2142 .LVL113:
2143 0010 03D2 bcs .L131
2144 0012 0578 ldrb r5, [r0] @ zero_extendqisi2
2145 0014 45F00F05 orr r5, r5, #15
2146 0018 0570 strb r5, [r0]
2147 .L131:
201:Core/Src/interface.c **** }
2148 .loc 1 201 0
2149 001a 9442 cmp r4, r2
2150 001c 03D2 bcs .L132
2151 001e 0478 ldrb r4, [r0] @ zero_extendqisi2
2152 .LVL114:
2153 0020 64F00F04 orn r4, r4, #15
2154 0024 0470 strb r4, [r0]
2155 .L132:
199:Core/Src/interface.c **** if(cols < value1) buf[cols] |= 0xF;
ARM GAS /tmp/ccorWJCU.s page 49
2156 .loc 1 199 0
2157 0026 542B cmp r3, #84
2158 0028 00F10100 add r0, r0, #1
2159 002c ECD1 bne .L133
203:Core/Src/interface.c **** }
2160 .loc 1 203 0
2161 002e 1946 mov r1, r3
2162 .LVL115:
2163 0030 01A8 add r0, sp, #4
2164 0032 FFF7FEFF bl enqueue_tx
2165 .LVL116:
204:Core/Src/interface.c ****
2166 .loc 1 204 0
2167 0036 17B0 add sp, sp, #92
2168 .LCFI32:
2169 .cfi_def_cfa_offset 12
2170 @ sp needed
2171 0038 30BD pop {r4, r5, pc}
2172 .cfi_endproc
2173 .LFE391:
2175 003a 00BF .section .text.display_update_mode,"ax",%progbits
2176 .align 1
2177 .p2align 2,,3
2178 .global display_update_mode
2179 .syntax unified
2180 .thumb
2181 .thumb_func
2182 .fpu fpv4-sp-d16
2184 display_update_mode:
2185 .LFB392:
206:Core/Src/interface.c **** display_set_position(MENU_NAME_ROW,MENU_NAME_COL);
2186 .loc 1 206 0
2187 .cfi_startproc
2188 @ args = 0, pretend = 0, frame = 0
2189 @ frame_needed = 0, uses_anonymous_args = 0
2190 .LVL117:
2191 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
2192 .LCFI33:
2193 .cfi_def_cfa_offset 24
2194 .cfi_offset 3, -24
2195 .cfi_offset 4, -20
2196 .cfi_offset 5, -16
2197 .cfi_offset 6, -12
2198 .cfi_offset 7, -8
2199 .cfi_offset 14, -4
2200 .LBB305:
2201 .LBB306:
166:Core/Src/interface.c **** }
2202 .loc 1 166 0
2203 0002 0E4D ldr r5, .L138
2204 0004 0E4E ldr r6, .L138+4
2205 0006 2888 ldrh r0, [r5]
2206 0008 0E49 ldr r1, .L138+8
2207 000a 0023 movs r3, #0
2208 000c 0122 movs r2, #1
2209 000e 3044 add r0, r0, r6
2210 0010 FFF7FEFF bl sprintf
ARM GAS /tmp/ccorWJCU.s page 50
2211 .LVL118:
2212 .LBE306:
2213 .LBE305:
208:Core/Src/interface.c **** }
2214 .loc 1 208 0
2215 0014 0C4B ldr r3, .L138+12
2216 .LBB310:
2217 .LBB307:
166:Core/Src/interface.c **** }
2218 .loc 1 166 0
2219 0016 2C88 ldrh r4, [r5]
2220 .LBE307:
2221 .LBE310:
208:Core/Src/interface.c **** }
2222 .loc 1 208 0
2223 0018 1A78 ldrb r2, [r3] @ zero_extendqisi2
2224 001a 0C4B ldr r3, .L138+16
2225 001c 0C49 ldr r1, .L138+20
2226 .LBB311:
2227 .LBB308:
166:Core/Src/interface.c **** }
2228 .loc 1 166 0
2229 001e 0634 adds r4, r4, #6
2230 0020 A4B2 uxth r4, r4
2231 .LBE308:
2232 .LBE311:
208:Core/Src/interface.c **** }
2233 .loc 1 208 0
2234 0022 02EB4207 add r7, r2, r2, lsl #1
2235 0026 03EB0713 add r3, r3, r7, lsl #4
2236 002a 3019 adds r0, r6, r4
2237 .LBB312:
2238 .LBB309:
166:Core/Src/interface.c **** }
2239 .loc 1 166 0
2240 002c 2C80 strh r4, [r5] @ movhi
2241 .LVL119:
2242 .LBE309:
2243 .LBE312:
208:Core/Src/interface.c **** }
2244 .loc 1 208 0
2245 002e FFF7FEFF bl sprintf
2246 .LVL120:
2247 0032 2B88 ldrh r3, [r5]
2248 0034 1844 add r0, r0, r3
2249 0036 2880 strh r0, [r5] @ movhi
209:Core/Src/interface.c ****
2250 .loc 1 209 0
2251 0038 F8BD pop {r3, r4, r5, r6, r7, pc}
2252 .L139:
2253 003a 00BF .align 2
2254 .L138:
2255 003c 00000000 .word uart_tx_buf_in_idx
2256 0040 00000000 .word uart_tx_buf
2257 0044 00000000 .word .LC4
2258 0048 00000000 .word menu_mode
2259 004c 00000000 .word .LANCHOR0
ARM GAS /tmp/ccorWJCU.s page 51
2260 0050 0C000000 .word .LC5
2261 .cfi_endproc
2262 .LFE392:
2264 .section .text.display_update_state,"ax",%progbits
2265 .align 1
2266 .p2align 2,,3
2267 .global display_update_state
2268 .syntax unified
2269 .thumb
2270 .thumb_func
2271 .fpu fpv4-sp-d16
2273 display_update_state:
2274 .LFB393:
211:Core/Src/interface.c **** uint8_t var;
2275 .loc 1 211 0
2276 .cfi_startproc
2277 @ args = 0, pretend = 0, frame = 0
2278 @ frame_needed = 0, uses_anonymous_args = 0
2279 .LVL121:
2280 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
2281 .LCFI34:
2282 .cfi_def_cfa_offset 32
2283 .cfi_offset 3, -32
2284 .cfi_offset 4, -28
2285 .cfi_offset 5, -24
2286 .cfi_offset 6, -20
2287 .cfi_offset 7, -16
2288 .cfi_offset 8, -12
2289 .cfi_offset 9, -8
2290 .cfi_offset 14, -4
2291 .LBB317:
213:Core/Src/interface.c **** if(get_changed(item_idx)){
2292 .loc 1 213 0
2293 0004 224E ldr r6, .L156
2294 0006 3378 ldrb r3, [r6] @ zero_extendqisi2
2295 0008 002B cmp r3, #0
2296 000a 39D0 beq .L140
2297 .LBB318:
215:Core/Src/interface.c **** if(item_idx == menu_mode) uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in
2298 .loc 1 215 0
2299 000c DFF89890 ldr r9, .L156+24
2300 .LBB319:
2301 .LBB320:
166:Core/Src/interface.c **** }
2302 .loc 1 166 0
2303 0010 204F ldr r7, .L156+4
2304 0012 DFF89880 ldr r8, .L156+28
2305 .LBE320:
2306 .LBE319:
2307 .LBE318:
213:Core/Src/interface.c **** if(get_changed(item_idx)){
2308 .loc 1 213 0
2309 0016 0024 movs r4, #0
2310 0018 04E0 b .L146
2311 .LVL122:
2312 .L142:
213:Core/Src/interface.c **** if(get_changed(item_idx)){
ARM GAS /tmp/ccorWJCU.s page 52
2313 .loc 1 213 0 is_stmt 0 discriminator 2
2314 001a 0134 adds r4, r4, #1
2315 .LVL123:
2316 001c 3378 ldrb r3, [r6] @ zero_extendqisi2
2317 001e E4B2 uxtb r4, r4
2318 .LVL124:
2319 0020 A342 cmp r3, r4
2320 0022 2DD9 bls .L140
2321 .LVL125:
2322 .L146:
214:Core/Src/interface.c **** display_set_position(items[item_idx].row,items[item_idx].col);
2323 .loc 1 214 0 is_stmt 1
2324 0024 2046 mov r0, r4
2325 0026 FFF7FEFF bl get_changed
2326 .LVL126:
2327 002a 0028 cmp r0, #0
2328 002c F5D0 beq .L142
2329 .LVL127:
2330 .LBB325:
215:Core/Src/interface.c **** if(item_idx == menu_mode) uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in
2331 .loc 1 215 0
2332 002e 6500 lsls r5, r4, #1
2333 0030 2A19 adds r2, r5, r4
2334 0032 09EB0212 add r2, r9, r2, lsl #4
2335 .LBB323:
2336 .LBB321:
166:Core/Src/interface.c **** }
2337 .loc 1 166 0
2338 0036 3888 ldrh r0, [r7]
2339 0038 137C ldrb r3, [r2, #16] @ zero_extendqisi2
2340 003a 1749 ldr r1, .L156+8
2341 003c 527C ldrb r2, [r2, #17] @ zero_extendqisi2
2342 003e 4044 add r0, r0, r8
2343 0040 FFF7FEFF bl sprintf
2344 .LVL128:
2345 0044 3B88 ldrh r3, [r7]
2346 .LBE321:
2347 .LBE323:
216:Core/Src/interface.c **** else {
2348 .loc 1 216 0
2349 0046 154A ldr r2, .L156+12
218:Core/Src/interface.c **** }
2350 .loc 1 218 0
2351 0048 1549 ldr r1, .L156+16
216:Core/Src/interface.c **** else {
2352 .loc 1 216 0
2353 004a 1278 ldrb r2, [r2] @ zero_extendqisi2
2354 .LBB324:
2355 .LBB322:
166:Core/Src/interface.c **** }
2356 .loc 1 166 0
2357 004c 1844 add r0, r0, r3
2358 004e 80B2 uxth r0, r0
2359 0050 431C adds r3, r0, #1
2360 .LBE322:
2361 .LBE324:
216:Core/Src/interface.c **** else {
ARM GAS /tmp/ccorWJCU.s page 53
2362 .loc 1 216 0
2363 0052 A242 cmp r2, r4
2364 0054 9BB2 uxth r3, r3
2365 0056 15D0 beq .L155
218:Core/Src/interface.c **** }
2366 .loc 1 218 0
2367 0058 0A88 ldrh r2, [r1] @ unaligned
2368 005a 20F80820 strh r2, [r0, r8] @ unaligned
2369 005e 3B80 strh r3, [r7] @ movhi
2370 .L144:
220:Core/Src/interface.c **** // if(items[item_idx].type == TYP_INT) uart_tx_buf_in_idx += sprintf(uart_tx_buf+ua
2371 .loc 1 220 0
2372 0060 2544 add r5, r5, r4
2373 0062 09EB0515 add r5, r9, r5, lsl #4
2374 0066 2046 mov r0, r4
2375 0068 AB7B ldrb r3, [r5, #14] @ zero_extendqisi2
2376 006a 0BB9 cbnz r3, .L145
220:Core/Src/interface.c **** // if(items[item_idx].type == TYP_INT) uart_tx_buf_in_idx += sprintf(uart_tx_buf+ua
2377 .loc 1 220 0 is_stmt 0 discriminator 1
2378 006c EB6A ldr r3, [r5, #44]
2379 006e 9847 blx r3
2380 .LVL129:
2381 .L145:
224:Core/Src/interface.c **** }
2382 .loc 1 224 0 is_stmt 1
2383 0070 2046 mov r0, r4
2384 0072 FFF7FEFF bl reset_changed
2385 .LVL130:
2386 .LBE325:
213:Core/Src/interface.c **** if(get_changed(item_idx)){
2387 .loc 1 213 0
2388 0076 0134 adds r4, r4, #1
2389 .LVL131:
2390 0078 3378 ldrb r3, [r6] @ zero_extendqisi2
2391 007a E4B2 uxtb r4, r4
2392 .LVL132:
2393 007c A342 cmp r3, r4
2394 007e D1D8 bhi .L146
2395 .LVL133:
2396 .L140:
2397 .LBE317:
227:Core/Src/interface.c ****
2398 .loc 1 227 0
2399 0080 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
2400 .LVL134:
2401 .L155:
2402 .LBB327:
2403 .LBB326:
216:Core/Src/interface.c **** else {
2404 .loc 1 216 0 discriminator 1
2405 0084 074A ldr r2, .L156+20
2406 0086 3B80 strh r3, [r7] @ movhi
2407 0088 1388 ldrh r3, [r2] @ unaligned
2408 008a 20F80830 strh r3, [r0, r8] @ unaligned
2409 008e E7E7 b .L144
2410 .L157:
2411 .align 2
ARM GAS /tmp/ccorWJCU.s page 54
2412 .L156:
2413 0090 00000000 .word .LANCHOR2
2414 0094 00000000 .word uart_tx_buf_in_idx
2415 0098 00000000 .word .LC4
2416 009c 00000000 .word menu_mode
2417 00a0 04000000 .word .LC7
2418 00a4 00000000 .word .LC6
2419 00a8 00000000 .word .LANCHOR0
2420 00ac 00000000 .word uart_tx_buf
2421 .LBE326:
2422 .LBE327:
2423 .cfi_endproc
2424 .LFE393:
2426 .section .text.integer_editor_up,"ax",%progbits
2427 .align 1
2428 .p2align 2,,3
2429 .global integer_editor_up
2430 .syntax unified
2431 .thumb
2432 .thumb_func
2433 .fpu fpv4-sp-d16
2435 integer_editor_up:
2436 .LFB394:
229:Core/Src/interface.c **** * items[mode].varptr += items[mode].step;
2437 .loc 1 229 0
2438 .cfi_startproc
2439 @ args = 0, pretend = 0, frame = 0
2440 @ frame_needed = 0, uses_anonymous_args = 0
2441 @ link register save eliminated.
2442 .LVL135:
2443 0000 70B4 push {r4, r5, r6}
2444 .LCFI35:
2445 .cfi_def_cfa_offset 12
2446 .cfi_offset 4, -12
2447 .cfi_offset 5, -8
2448 .cfi_offset 6, -4
230:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
2449 .loc 1 230 0
2450 0002 0F49 ldr r1, .L164
2451 0004 4400 lsls r4, r0, #1
2452 0006 2318 adds r3, r4, r0
2453 0008 01EB0313 add r3, r1, r3, lsl #4
2454 000c 5D6A ldr r5, [r3, #36]
2455 000e 5E69 ldr r6, [r3, #20]
2456 0010 2A68 ldr r2, [r5]
2457 0012 3244 add r2, r2, r6
2458 0014 2A60 str r2, [r5]
231:Core/Src/interface.c **** if(items[mode].wrap){
2459 .loc 1 231 0
2460 0016 9E69 ldr r6, [r3, #24]
2461 0018 B242 cmp r2, r6
2462 001a 02D3 bcc .L159
231:Core/Src/interface.c **** if(items[mode].wrap){
2463 .loc 1 231 0 is_stmt 0 discriminator 1
2464 001c DB69 ldr r3, [r3, #28]
2465 001e 9A42 cmp r2, r3
2466 0020 07D9 bls .L160
ARM GAS /tmp/ccorWJCU.s page 55
2467 .L159:
232:Core/Src/interface.c **** * items[mode].varptr = items[mode].min;
2468 .loc 1 232 0 is_stmt 1
2469 0022 0444 add r4, r4, r0
2470 0024 01EB0411 add r1, r1, r4, lsl #4
2471 0028 91F82030 ldrb r3, [r1, #32] @ zero_extendqisi2
2472 002c 23B9 cbnz r3, .L163
236:Core/Src/interface.c **** }
2473 .loc 1 236 0
2474 002e CB69 ldr r3, [r1, #28]
2475 0030 2B60 str r3, [r5]
2476 .L160:
240:Core/Src/interface.c ****
2477 .loc 1 240 0
2478 0032 70BC pop {r4, r5, r6}
2479 .LCFI36:
2480 .cfi_remember_state
2481 .cfi_restore 6
2482 .cfi_restore 5
2483 .cfi_restore 4
2484 .cfi_def_cfa_offset 0
239:Core/Src/interface.c **** }
2485 .loc 1 239 0
2486 0034 FFF7FEBF b set_changed
2487 .LVL136:
2488 .L163:
2489 .LCFI37:
2490 .cfi_restore_state
233:Core/Src/interface.c **** }
2491 .loc 1 233 0
2492 0038 2E60 str r6, [r5]
240:Core/Src/interface.c ****
2493 .loc 1 240 0
2494 003a 70BC pop {r4, r5, r6}
2495 .LCFI38:
2496 .cfi_restore 6
2497 .cfi_restore 5
2498 .cfi_restore 4
2499 .cfi_def_cfa_offset 0
239:Core/Src/interface.c **** }
2500 .loc 1 239 0
2501 003c FFF7FEBF b set_changed
2502 .LVL137:
2503 .L165:
2504 .align 2
2505 .L164:
2506 0040 00000000 .word .LANCHOR0
2507 .cfi_endproc
2508 .LFE394:
2510 .section .text.integer_editor_down,"ax",%progbits
2511 .align 1
2512 .p2align 2,,3
2513 .global integer_editor_down
2514 .syntax unified
2515 .thumb
2516 .thumb_func
2517 .fpu fpv4-sp-d16
ARM GAS /tmp/ccorWJCU.s page 56
2519 integer_editor_down:
2520 .LFB395:
242:Core/Src/interface.c **** * items[mode].varptr -= items[mode].step;
2521 .loc 1 242 0
2522 .cfi_startproc
2523 @ args = 0, pretend = 0, frame = 0
2524 @ frame_needed = 0, uses_anonymous_args = 0
2525 @ link register save eliminated.
2526 .LVL138:
2527 0000 70B4 push {r4, r5, r6}
2528 .LCFI39:
2529 .cfi_def_cfa_offset 12
2530 .cfi_offset 4, -12
2531 .cfi_offset 5, -8
2532 .cfi_offset 6, -4
243:Core/Src/interface.c **** if((* items[mode].varptr < items[mode].min) || (* items[mode].varptr > items[mode].max)){
2533 .loc 1 243 0
2534 0002 0F49 ldr r1, .L172
2535 0004 4400 lsls r4, r0, #1
2536 0006 2318 adds r3, r4, r0
2537 0008 01EB0313 add r3, r1, r3, lsl #4
2538 000c 5D6A ldr r5, [r3, #36]
2539 000e 5E69 ldr r6, [r3, #20]
2540 0010 2A68 ldr r2, [r5]
2541 0012 921B subs r2, r2, r6
2542 0014 2A60 str r2, [r5]
244:Core/Src/interface.c **** if(items[mode].wrap){
2543 .loc 1 244 0
2544 0016 9E69 ldr r6, [r3, #24]
2545 0018 B242 cmp r2, r6
2546 001a 02D3 bcc .L167
244:Core/Src/interface.c **** if(items[mode].wrap){
2547 .loc 1 244 0 is_stmt 0 discriminator 1
2548 001c DB69 ldr r3, [r3, #28]
2549 001e 9A42 cmp r2, r3
2550 0020 06D9 bls .L168
2551 .L167:
245:Core/Src/interface.c **** * items[mode].varptr = items[mode].max;
2552 .loc 1 245 0 is_stmt 1
2553 0022 0444 add r4, r4, r0
2554 0024 01EB0411 add r1, r1, r4, lsl #4
2555 0028 91F82030 ldrb r3, [r1, #32] @ zero_extendqisi2
2556 002c 1BB9 cbnz r3, .L171
249:Core/Src/interface.c **** }
2557 .loc 1 249 0
2558 002e 2E60 str r6, [r5]
2559 .L168:
253:Core/Src/interface.c ****
2560 .loc 1 253 0
2561 0030 70BC pop {r4, r5, r6}
2562 .LCFI40:
2563 .cfi_remember_state
2564 .cfi_restore 6
2565 .cfi_restore 5
2566 .cfi_restore 4
2567 .cfi_def_cfa_offset 0
252:Core/Src/interface.c **** }
ARM GAS /tmp/ccorWJCU.s page 57
2568 .loc 1 252 0
2569 0032 FFF7FEBF b set_changed
2570 .LVL139:
2571 .L171:
2572 .LCFI41:
2573 .cfi_restore_state
246:Core/Src/interface.c **** }
2574 .loc 1 246 0
2575 0036 CB69 ldr r3, [r1, #28]
2576 0038 2B60 str r3, [r5]
253:Core/Src/interface.c ****
2577 .loc 1 253 0
2578 003a 70BC pop {r4, r5, r6}
2579 .LCFI42:
2580 .cfi_restore 6
2581 .cfi_restore 5
2582 .cfi_restore 4
2583 .cfi_def_cfa_offset 0
252:Core/Src/interface.c **** }
2584 .loc 1 252 0
2585 003c FFF7FEBF b set_changed
2586 .LVL140:
2587 .L173:
2588 .align 2
2589 .L172:
2590 0040 00000000 .word .LANCHOR0
2591 .cfi_endproc
2592 .LFE395:
2594 .section .text.list_editor_down,"ax",%progbits
2595 .align 1
2596 .p2align 2,,3
2597 .global list_editor_down
2598 .syntax unified
2599 .thumb
2600 .thumb_func
2601 .fpu fpv4-sp-d16
2603 list_editor_down:
2604 .LFB396:
255:Core/Src/interface.c ****
2605 .loc 1 255 0
2606 .cfi_startproc
2607 @ args = 0, pretend = 0, frame = 0
2608 @ frame_needed = 0, uses_anonymous_args = 0
2609 @ link register save eliminated.
2610 .LVL141:
257:Core/Src/interface.c ****
2611 .loc 1 257 0
2612 0000 7047 bx lr
2613 .cfi_endproc
2614 .LFE396:
2616 0002 00BF .section .text.tabs_update,"ax",%progbits
2617 .align 1
2618 .p2align 2,,3
2619 .global tabs_update
2620 .syntax unified
2621 .thumb
2622 .thumb_func
ARM GAS /tmp/ccorWJCU.s page 58
2623 .fpu fpv4-sp-d16
2625 tabs_update:
2626 .LFB397:
259:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
2627 .loc 1 259 0
2628 .cfi_startproc
2629 @ args = 0, pretend = 0, frame = 0
2630 @ frame_needed = 0, uses_anonymous_args = 0
2631 @ link register save eliminated.
260:Core/Src/interface.c **** }
2632 .loc 1 260 0
2633 0000 044A ldr r2, .L176
2634 0002 0548 ldr r0, .L176+4
2635 0004 1388 ldrh r3, [r2]
2636 0006 0549 ldr r1, .L176+8
2637 0008 0088 ldrh r0, [r0] @ unaligned
2638 000a 5852 strh r0, [r3, r1] @ unaligned
2639 000c 0133 adds r3, r3, #1
2640 000e 1380 strh r3, [r2] @ movhi
261:Core/Src/interface.c ****
2641 .loc 1 261 0
2642 0010 7047 bx lr
2643 .L177:
2644 0012 00BF .align 2
2645 .L176:
2646 0014 00000000 .word uart_tx_buf_in_idx
2647 0018 00000000 .word .LC8
2648 001c 00000000 .word uart_tx_buf
2649 .cfi_endproc
2650 .LFE397:
2652 .section .text.tab_up,"ax",%progbits
2653 .align 1
2654 .p2align 2,,3
2655 .global tab_up
2656 .syntax unified
2657 .thumb
2658 .thumb_func
2659 .fpu fpv4-sp-d16
2661 tab_up:
2662 .LFB398:
263:Core/Src/interface.c **** switch(tab){
2663 .loc 1 263 0
2664 .cfi_startproc
2665 @ args = 0, pretend = 0, frame = 0
2666 @ frame_needed = 0, uses_anonymous_args = 0
2667 .LVL142:
264:Core/Src/interface.c **** case 0:
2668 .loc 1 264 0
2669 0000 00B1 cbz r0, .L185
2670 0002 7047 bx lr
2671 .L185:
263:Core/Src/interface.c **** switch(tab){
2672 .loc 1 263 0
2673 0004 08B5 push {r3, lr}
2674 .LCFI43:
2675 .cfi_def_cfa_offset 8
2676 .cfi_offset 3, -8
ARM GAS /tmp/ccorWJCU.s page 59
2677 .cfi_offset 14, -4
2678 .LBB328:
266:Core/Src/interface.c **** start_transmit();
2679 .loc 1 266 0
2680 0006 FFF7FEFF bl stop_receive
2681 .LVL143:
2682 .LBE328:
270:Core/Src/interface.c ****
2683 .loc 1 270 0
2684 000a BDE80840 pop {r3, lr}
2685 .LCFI44:
2686 .cfi_restore 14
2687 .cfi_restore 3
2688 .cfi_def_cfa_offset 0
2689 .LBB329:
267:Core/Src/interface.c **** break;
2690 .loc 1 267 0
2691 000e FFF7FEBF b start_transmit
2692 .LVL144:
2693 .LBE329:
2694 .cfi_endproc
2695 .LFE398:
2697 0012 00BF .section .text.tab_down,"ax",%progbits
2698 .align 1
2699 .p2align 2,,3
2700 .global tab_down
2701 .syntax unified
2702 .thumb
2703 .thumb_func
2704 .fpu fpv4-sp-d16
2706 tab_down:
2707 .LFB399:
272:Core/Src/interface.c **** switch(tab){
2708 .loc 1 272 0
2709 .cfi_startproc
2710 @ args = 0, pretend = 0, frame = 0
2711 @ frame_needed = 0, uses_anonymous_args = 0
2712 .LVL145:
273:Core/Src/interface.c **** case 0:
2713 .loc 1 273 0
2714 0000 00B1 cbz r0, .L193
2715 0002 7047 bx lr
2716 .L193:
272:Core/Src/interface.c **** switch(tab){
2717 .loc 1 272 0
2718 0004 08B5 push {r3, lr}
2719 .LCFI45:
2720 .cfi_def_cfa_offset 8
2721 .cfi_offset 3, -8
2722 .cfi_offset 14, -4
2723 .LBB330:
275:Core/Src/interface.c **** start_receive();
2724 .loc 1 275 0
2725 0006 FFF7FEFF bl stop_transmit
2726 .LVL146:
2727 .LBE330:
280:Core/Src/interface.c ****
ARM GAS /tmp/ccorWJCU.s page 60
2728 .loc 1 280 0
2729 000a BDE80840 pop {r3, lr}
2730 .LCFI46:
2731 .cfi_restore 14
2732 .cfi_restore 3
2733 .cfi_def_cfa_offset 0
2734 .LBB331:
276:Core/Src/interface.c **** break;
2735 .loc 1 276 0
2736 000e FFF7FEBF b start_receive
2737 .LVL147:
2738 .LBE331:
2739 .cfi_endproc
2740 .LFE399:
2742 0012 00BF .section .text.display_init,"ax",%progbits
2743 .align 1
2744 .p2align 2,,3
2745 .global display_init
2746 .syntax unified
2747 .thumb
2748 .thumb_func
2749 .fpu fpv4-sp-d16
2751 display_init:
2752 .LFB400:
282:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[128,255,0,0,0,0,0c");
2753 .loc 1 282 0
2754 .cfi_startproc
2755 @ args = 0, pretend = 0, frame = 0
2756 @ frame_needed = 0, uses_anonymous_args = 0
283:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[129,255,255,0,0,0,0c");
2757 .loc 1 283 0
2758 0000 DFF8C8C1 ldr ip, .L196+44
282:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[128,255,0,0,0,0,0c");
2759 .loc 1 282 0
2760 0004 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
2761 .LCFI47:
2762 .cfi_def_cfa_offset 32
2763 .cfi_offset 3, -32
2764 .cfi_offset 4, -28
2765 .cfi_offset 5, -24
2766 .cfi_offset 6, -20
2767 .cfi_offset 7, -16
2768 .cfi_offset 8, -12
2769 .cfi_offset 9, -8
2770 .cfi_offset 14, -4
283:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[129,255,255,0,0,0,0c");
2771 .loc 1 283 0
2772 0008 BCE80F00 ldmia ip!, {r0, r1, r2, r3}
2773 000c DFF8C081 ldr r8, .L196+48
2774 0010 634C ldr r4, .L196
2775 0012 B8F80050 ldrh r5, [r8]
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
2776 .loc 1 284 0
2777 0016 634E ldr r6, .L196+4
283:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[129,255,255,0,0,0,0c");
2778 .loc 1 283 0
2779 0018 2851 str r0, [r5, r4] @ unaligned
ARM GAS /tmp/ccorWJCU.s page 61
2780 001a 05EB040E add lr, r5, r4
2781 001e DCF80000 ldr r0, [ip]
2782 0022 CEF80410 str r1, [lr, #4] @ unaligned
2783 0026 CEF80820 str r2, [lr, #8] @ unaligned
2784 002a CEF80C30 str r3, [lr, #12] @ unaligned
2785 002e CEF81000 str r0, [lr, #16] @ unaligned
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
2786 .loc 1 284 0
2787 0032 0FCE ldmia r6!, {r0, r1, r2, r3}
283:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[129,255,255,0,0,0,0c");
2788 .loc 1 283 0
2789 0034 9CF804C0 ldrb ip, [ip, #4] @ zero_extendqisi2
2790 0038 8EF814C0 strb ip, [lr, #20]
2791 003c 05F1140E add lr, r5, #20
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
2792 .loc 1 284 0
2793 0040 1FFA8EFE uxth lr, lr
2794 0044 0EEB040C add ip, lr, r4
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2795 .loc 1 285 0
2796 0048 574F ldr r7, .L196+8
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
2797 .loc 1 284 0
2798 004a 4EF80400 str r0, [lr, r4] @ unaligned
2799 004e 3068 ldr r0, [r6]
2800 0050 CCF80410 str r1, [ip, #4] @ unaligned
2801 0054 CCF80820 str r2, [ip, #8] @ unaligned
2802 0058 CCF80C30 str r3, [ip, #12] @ unaligned
2803 005c CCF81000 str r0, [ip, #16] @ unaligned
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2804 .loc 1 285 0
2805 0060 0FCF ldmia r7!, {r0, r1, r2, r3}
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
2806 .loc 1 284 0
2807 0062 05F12A0E add lr, r5, #42
2808 0066 B6F80490 ldrh r9, [r6, #4] @ unaligned
2809 006a B679 ldrb r6, [r6, #6] @ zero_extendqisi2
2810 006c ACF81490 strh r9, [ip, #20] @ unaligned
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2811 .loc 1 285 0
2812 0070 1FFA8EFE uxth lr, lr
284:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[130,255,255,255,0,0,0c");
2813 .loc 1 284 0
2814 0074 8CF81660 strb r6, [ip, #22]
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2815 .loc 1 285 0
2816 0078 0EEB040C add ip, lr, r4
2817 007c 4EF80400 str r0, [lr, r4] @ unaligned
2818 0080 CCF80410 str r1, [ip, #4] @ unaligned
2819 0084 03CF ldmia r7!, {r0, r1}
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2820 .loc 1 286 0
2821 0086 494E ldr r6, .L196+12
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2822 .loc 1 285 0
2823 0088 CCF80820 str r2, [ip, #8] @ unaligned
2824 008c CCF80C30 str r3, [ip, #12] @ unaligned
ARM GAS /tmp/ccorWJCU.s page 62
2825 0090 CCF81000 str r0, [ip, #16] @ unaligned
2826 0094 CCF81410 str r1, [ip, #20] @ unaligned
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2827 .loc 1 286 0
2828 0098 0FCE ldmia r6!, {r0, r1, r2, r3}
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2829 .loc 1 285 0
2830 009a 05F1420E add lr, r5, #66
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2831 .loc 1 286 0
2832 009e 1FFA8EFE uxth lr, lr
285:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[131,255,255,255,255,0,0c");
2833 .loc 1 285 0
2834 00a2 3F78 ldrb r7, [r7] @ zero_extendqisi2
2835 00a4 8CF81870 strb r7, [ip, #24]
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2836 .loc 1 286 0
2837 00a8 0EEB040C add ip, lr, r4
2838 00ac 4EF80400 str r0, [lr, r4] @ unaligned
2839 00b0 CCF80410 str r1, [ip, #4] @ unaligned
2840 00b4 03CE ldmia r6!, {r0, r1}
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
2841 .loc 1 287 0
2842 00b6 3E4F ldr r7, .L196+16
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2843 .loc 1 286 0
2844 00b8 CCF80820 str r2, [ip, #8] @ unaligned
2845 00bc CCF80C30 str r3, [ip, #12] @ unaligned
2846 00c0 CCF81000 str r0, [ip, #16] @ unaligned
2847 00c4 CCF81410 str r1, [ip, #20] @ unaligned
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
2848 .loc 1 287 0
2849 00c8 0FCF ldmia r7!, {r0, r1, r2, r3}
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2850 .loc 1 286 0
2851 00ca 05F15C0E add lr, r5, #92
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
2852 .loc 1 287 0
2853 00ce 1FFA8EFE uxth lr, lr
286:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[132,255,255,255,255,255,0c");
2854 .loc 1 286 0
2855 00d2 B6F80090 ldrh r9, [r6] @ unaligned
2856 00d6 B678 ldrb r6, [r6, #2] @ zero_extendqisi2
2857 00d8 8CF81A60 strb r6, [ip, #26]
2858 00dc ACF81890 strh r9, [ip, #24] @ unaligned
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
2859 .loc 1 287 0
2860 00e0 0EEB040C add ip, lr, r4
2861 00e4 4EF80400 str r0, [lr, r4] @ unaligned
2862 00e8 CCF80410 str r1, [ip, #4] @ unaligned
2863 00ec CCF80820 str r2, [ip, #8] @ unaligned
2864 00f0 CCF80C30 str r3, [ip, #12] @ unaligned
2865 00f4 07CF ldmia r7!, {r0, r1, r2}
288:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%ds",DISPLAY_STANDBY_TIMER);
2866 .loc 1 288 0
2867 00f6 2F4E ldr r6, .L196+20
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
ARM GAS /tmp/ccorWJCU.s page 63
2868 .loc 1 287 0
2869 00f8 CCF81000 str r0, [ip, #16] @ unaligned
2870 00fc CCF81410 str r1, [ip, #20] @ unaligned
2871 0100 CCF81820 str r2, [ip, #24] @ unaligned
288:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%ds",DISPLAY_STANDBY_TIMER);
2872 .loc 1 288 0
2873 0104 0FCE ldmia r6!, {r0, r1, r2, r3}
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
2874 .loc 1 287 0
2875 0106 05F1780E add lr, r5, #120
288:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%ds",DISPLAY_STANDBY_TIMER);
2876 .loc 1 288 0
2877 010a 1FFA8EFE uxth lr, lr
287:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[133,255,255,255,255,255,255c");
2878 .loc 1 287 0
2879 010e 3F78 ldrb r7, [r7] @ zero_extendqisi2
2880 0110 8CF81C70 strb r7, [ip, #28]
288:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%ds",DISPLAY_STANDBY_TIMER);
2881 .loc 1 288 0
2882 0114 0EEB0407 add r7, lr, r4
2883 0118 4EF80400 str r0, [lr, r4] @ unaligned
2884 011c 7960 str r1, [r7, #4] @ unaligned
2885 011e BA60 str r2, [r7, #8] @ unaligned
2886 0120 07CE ldmia r6!, {r0, r1, r2}
2887 0122 9635 adds r5, r5, #150
2888 0124 B6F800C0 ldrh ip, [r6] @ unaligned
2889 0128 B678 ldrb r6, [r6, #2] @ zero_extendqisi2
2890 012a 3861 str r0, [r7, #16] @ unaligned
2891 012c ADB2 uxth r5, r5
2892 012e 7961 str r1, [r7, #20] @ unaligned
2893 0130 BA61 str r2, [r7, #24] @ unaligned
2894 0132 FB60 str r3, [r7, #12] @ unaligned
2895 0134 A7F81CC0 strh ip, [r7, #28] @ unaligned
2896 0138 BE77 strb r6, [r7, #30]
289:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[200,100q");
2897 .loc 1 289 0
2898 013a 6019 adds r0, r4, r5
2899 013c 1E49 ldr r1, .L196+24
288:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%ds",DISPLAY_STANDBY_TIMER);
2900 .loc 1 288 0
2901 013e A8F80050 strh r5, [r8] @ movhi
289:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[200,100q");
2902 .loc 1 289 0
2903 0142 47F23052 movw r2, #30000
2904 0146 FFF7FEFF bl sprintf
2905 .LVL148:
2906 014a B8F80030 ldrh r3, [r8]
290:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%db",DISPLAY_BL_DIM);
2907 .loc 1 290 0
2908 014e 1B4A ldr r2, .L196+28
289:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[200,100q");
2909 .loc 1 289 0
2910 0150 03F10805 add r5, r3, #8
290:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%db",DISPLAY_BL_DIM);
2911 .loc 1 290 0
2912 0154 03CA ldmia r2!, {r0, r1}
2913 0156 ADB2 uxth r5, r5
ARM GAS /tmp/ccorWJCU.s page 64
2914 0158 2E19 adds r6, r5, r4
2915 015a 1233 adds r3, r3, #18
2916 015c 2851 str r0, [r5, r4] @ unaligned
2917 015e 9BB2 uxth r3, r3
2918 0160 9578 ldrb r5, [r2, #2] @ zero_extendqisi2
2919 0162 1788 ldrh r7, [r2] @ unaligned
2920 0164 7160 str r1, [r6, #4] @ unaligned
2921 0166 B572 strb r5, [r6, #10]
291:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
2922 .loc 1 291 0
2923 0168 E018 adds r0, r4, r3
2924 016a 1549 ldr r1, .L196+32
290:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%db",DISPLAY_BL_DIM);
2925 .loc 1 290 0
2926 016c 3781 strh r7, [r6, #8] @ unaligned
291:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
2927 .loc 1 291 0
2928 016e 0022 movs r2, #0
290:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\x1B[%db",DISPLAY_BL_DIM);
2929 .loc 1 290 0
2930 0170 A8F80030 strh r3, [r8] @ movhi
291:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
2931 .loc 1 291 0
2932 0174 FFF7FEFF bl sprintf
2933 .LVL149:
2934 0178 B8F80030 ldrh r3, [r8]
292:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2935 .loc 1 292 0
2936 017c 1149 ldr r1, .L196+36
293:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2937 .loc 1 293 0
2938 017e 124A ldr r2, .L196+40
292:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2939 .loc 1 292 0
2940 0180 0E88 ldrh r6, [r1] @ unaligned
293:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2941 .loc 1 293 0
2942 0182 1588 ldrh r5, [r2] @ unaligned
291:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\a");
2943 .loc 1 291 0
2944 0184 181D adds r0, r3, #4
292:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2945 .loc 1 292 0
2946 0186 591D adds r1, r3, #5
293:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2947 .loc 1 293 0
2948 0188 9A1D adds r2, r3, #6
292:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2949 .loc 1 292 0
2950 018a 80B2 uxth r0, r0
293:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2951 .loc 1 293 0
2952 018c 89B2 uxth r1, r1
294:Core/Src/interface.c **** }
2953 .loc 1 294 0
2954 018e 92B2 uxth r2, r2
2955 0190 0733 adds r3, r3, #7
ARM GAS /tmp/ccorWJCU.s page 65
292:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2956 .loc 1 292 0
2957 0192 0653 strh r6, [r0, r4] @ unaligned
294:Core/Src/interface.c **** }
2958 .loc 1 294 0
2959 0194 A8F80030 strh r3, [r8] @ movhi
293:Core/Src/interface.c **** uart_tx_buf_in_idx += sprintf(uart_tx_buf+uart_tx_buf_in_idx,"\f");
2960 .loc 1 293 0
2961 0198 0D53 strh r5, [r1, r4] @ unaligned
294:Core/Src/interface.c **** }
2962 .loc 1 294 0
2963 019a 1553 strh r5, [r2, r4] @ unaligned
295:Core/Src/interface.c ****
2964 .loc 1 295 0
2965 019c BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
2966 .L197:
2967 .align 2
2968 .L196:
2969 01a0 00000000 .word uart_tx_buf
2970 01a4 18000000 .word .LC10
2971 01a8 30000000 .word .LC11
2972 01ac 4C000000 .word .LC12
2973 01b0 68000000 .word .LC13
2974 01b4 88000000 .word .LC14
2975 01b8 A8000000 .word .LC15
2976 01bc B0000000 .word .LC16
2977 01c0 BC000000 .word .LC17
2978 01c4 00000000 .word .LC8
2979 01c8 C4000000 .word .LC18
2980 01cc 00000000 .word .LC9
2981 01d0 00000000 .word uart_tx_buf_in_idx
2982 .cfi_endproc
2983 .LFE400:
2985 .section .text.scan_do,"ax",%progbits
2986 .align 1
2987 .p2align 2,,3
2988 .global scan_do
2989 .syntax unified
2990 .thumb
2991 .thumb_func
2992 .fpu fpv4-sp-d16
2994 scan_do:
2995 .LFB405:
350:Core/Src/interface.c **** static uint8_t scan_timer;
2996 .loc 1 350 0
2997 .cfi_startproc
2998 @ args = 0, pretend = 0, frame = 0
2999 @ frame_needed = 0, uses_anonymous_args = 0
3000 .LVL150:
3001 0000 08B5 push {r3, lr}
3002 .LCFI48:
3003 .cfi_def_cfa_offset 8
3004 .cfi_offset 3, -8
3005 .cfi_offset 14, -4
352:Core/Src/interface.c **** set_frequency();
3006 .loc 1 352 0
3007 0002 074A ldr r2, .L200
ARM GAS /tmp/ccorWJCU.s page 66
3008 0004 074B ldr r3, .L200+4
3009 0006 1168 ldr r1, [r2]
3010 0008 5B69 ldr r3, [r3, #20]
3011 000a 03FB0010 mla r0, r3, r0, r1
3012 .LVL151:
3013 000e 1060 str r0, [r2]
353:Core/Src/interface.c **** set_changed(0);
3014 .loc 1 353 0
3015 0010 FFF7FEFF bl set_frequency
3016 .LVL152:
354:Core/Src/interface.c **** }
3017 .loc 1 354 0
3018 0014 0020 movs r0, #0
355:Core/Src/interface.c ****
3019 .loc 1 355 0
3020 0016 BDE80840 pop {r3, lr}
3021 .LCFI49:
3022 .cfi_restore 14
3023 .cfi_restore 3
3024 .cfi_def_cfa_offset 0
354:Core/Src/interface.c **** }
3025 .loc 1 354 0
3026 001a FFF7FEBF b set_changed
3027 .LVL153:
3028 .L201:
3029 001e 00BF .align 2
3030 .L200:
3031 0020 00000000 .word frequency
3032 0024 00000000 .word .LANCHOR0
3033 .cfi_endproc
3034 .LFE405:
3036 .section .text.sat_subu8b,"ax",%progbits
3037 .align 1
3038 .p2align 2,,3
3039 .global sat_subu8b
3040 .syntax unified
3041 .thumb
3042 .thumb_func
3043 .fpu fpv4-sp-d16
3045 sat_subu8b:
3046 .LFB406:
357:Core/Src/interface.c **** uint8_t res = x - y;
3047 .loc 1 357 0
3048 .cfi_startproc
3049 @ args = 0, pretend = 0, frame = 0
3050 @ frame_needed = 0, uses_anonymous_args = 0
3051 @ link register save eliminated.
3052 .LVL154:
3053 .loc 1 358 0
3054 0000 411A subs r1, r0, r1
3055 .LVL155:
3056 0002 C9B2 uxtb r1, r1
3057 .LVL156:
359:Core/Src/interface.c **** res &= -(res <= x);
360:Core/Src/interface.c **** return res;
361:Core/Src/interface.c **** }
3058 .loc 1 361 0
ARM GAS /tmp/ccorWJCU.s page 67
3059 0004 8842 cmp r0, r1
3060 0006 2CBF ite cs
3061 0008 0846 movcs r0, r1
3062 000a 0020 movcc r0, #0
3063 .LVL157:
3064 000c 7047 bx lr
3065 .cfi_endproc
3066 .LFE406:
3068 .global modulation_list_count
3069 .global modulation_list
3070 .global tabs_count
3071 .global menu_item_count
3072 .global tabs
3073 .global items
3074 .comm current_tab,1,1
3075 .comm menu_mode,1,1
3076 000e 00BF .section .data.items,"aw",%progbits
3077 .align 2
3078 .set .LANCHOR0,. + 0
3081 items:
3082 0000 20204672 .ascii " Frequency\000"
3082 65717565
3082 6E637900
3083 000c 0000 .space 2
3084 000e 00 .byte 0
3085 000f 0B .byte 11
3086 0010 01 .byte 1
3087 0011 00 .byte 0
3088 0012 0000 .space 2
3089 0014 64000000 .word 100
3090 0018 E8030000 .word 1000
3091 001c 98AB0200 .word 175000
3092 0020 01 .byte 1
3093 0021 000000 .space 3
3094 0024 00000000 .word frequency
3095 0028 00000000 .word set_frequency
3096 002c 00000000 .word print_frequency
3097 0030 20202056 .ascii " Volume \000"
3097 6F6C756D
3097 65202000
3098 003c 0000 .space 2
3099 003e 00 .byte 0
3100 003f 02 .byte 2
3101 0040 02 .byte 2
3102 0041 00 .byte 0
3103 0042 0000 .space 2
3104 0044 01000000 .word 1
3105 0048 00000000 .word 0
3106 004c 20000000 .word 32
3107 0050 00 .byte 0
3108 0051 000000 .space 3
3109 0054 00000000 .word volume
3110 0058 00000000 .word set_dummy
3111 005c 00000000 .word print_integer
3112 0060 204D6F64 .ascii " Modulation\000"
3112 756C6174
3112 696F6E00
ARM GAS /tmp/ccorWJCU.s page 68
3113 006c 0000 .space 2
3114 006e 00 .byte 0
3115 006f 03 .byte 3
3116 0070 02 .byte 2
3117 0071 04 .byte 4
3118 0072 0000 .space 2
3119 0074 01000000 .word 1
3120 0078 00000000 .word 0
3121 007c 03000000 .word 3
3122 0080 01 .byte 1
3123 0081 000000 .space 3
3124 0084 00000000 .word modulation
3125 0088 00000000 .word set_modulation
3126 008c 00000000 .word print_modulation
3127 0090 20537175 .ascii " Squelch \000"
3127 656C6368
3127 20202000
3128 009c 0000 .space 2
3129 009e 00 .byte 0
3130 009f 03 .byte 3
3131 00a0 02 .byte 2
3132 00a1 09 .byte 9
3133 00a2 0000 .space 2
3134 00a4 01000000 .word 1
3135 00a8 00000000 .word 0
3136 00ac 20000000 .word 32
3137 00b0 00 .byte 0
3138 00b1 000000 .space 3
3139 00b4 00000000 .word squelch
3140 00b8 00000000 .word set_dummy
3141 00bc 00000000 .word print_integer
3142 00c0 2046696C .ascii " Filter CF \000"
3142 74657220
3142 43462000
3143 00cc 0000 .space 2
3144 00ce 00 .byte 0
3145 00cf 04 .byte 4
3146 00d0 03 .byte 3
3147 00d1 00 .byte 0
3148 00d2 0000 .space 2
3149 00d4 64000000 .word 100
3150 00d8 64000000 .word 100
3151 00dc AC0D0000 .word 3500
3152 00e0 00 .byte 0
3153 00e1 000000 .space 3
3154 00e4 00000000 .word audio_filter_freq
3155 00e8 00000000 .word set_filter
3156 00ec 00000000 .word print_integer
3157 00f0 2046696C .ascii " Filter BW \000"
3157 74657220
3157 42572000
3158 00fc 0000 .space 2
3159 00fe 00 .byte 0
3160 00ff 04 .byte 4
3161 0100 03 .byte 3
3162 0101 05 .byte 5
3163 0102 0000 .space 2
ARM GAS /tmp/ccorWJCU.s page 69
3164 0104 64000000 .word 100
3165 0108 64000000 .word 100
3166 010c C4090000 .word 2500
3167 0110 00 .byte 0
3168 0111 000000 .space 3
3169 0114 00000000 .word audio_filter_bw
3170 0118 00000000 .word set_filter
3171 011c 00000000 .word print_integer
3172 0120 2046696C .ascii " Filter Q \000"
3172 74657220
3172 51202000
3173 012c 0000 .space 2
3174 012e 00 .byte 0
3175 012f 02 .byte 2
3176 0130 03 .byte 3
3177 0131 0A .byte 10
3178 0132 0000 .space 2
3179 0134 01000000 .word 1
3180 0138 01000000 .word 1
3181 013c 20000000 .word 32
3182 0140 00 .byte 0
3183 0141 000000 .space 3
3184 0144 00000000 .word audio_filter_beta
3185 0148 00000000 .word set_filter
3186 014c 00000000 .word print_integer
3187 0150 20202053 .ascii " Signal \000"
3187 69676E61
3187 6C202000
3188 015c 0000 .space 2
3189 015e 00 .byte 0
3190 015f 05 .byte 5
3191 0160 0A .byte 10
3192 0161 00 .byte 0
3193 0162 0000 .space 2
3194 0164 01000000 .word 1
3195 0168 01000000 .word 1
3196 016c 20000000 .word 32
3197 0170 00 .byte 0
3198 0171 000000 .space 3
3199 0174 00000000 .word rx_signal
3200 0178 00000000 .word set_dummy
3201 017c 00000000 .word print_bar
3202 .section .data.menu_item_count,"aw",%progbits
3203 .set .LANCHOR2,. + 0
3206 menu_item_count:
3207 0000 08 .byte 8
3208 .section .data.modulation_list,"aw",%progbits
3209 .align 2
3210 .set .LANCHOR1,. + 0
3213 modulation_list:
3214 0000 444300 .ascii "DC\000"
3215 0003 00 .space 1
3216 0004 4C534200 .ascii "LSB\000"
3217 0008 55534200 .ascii "USB\000"
3218 000c 414D00 .ascii "AM\000"
3219 000f 00 .space 1
3220 .section .data.modulation_list_count,"aw",%progbits
ARM GAS /tmp/ccorWJCU.s page 70
3223 modulation_list_count:
3224 0000 04 .byte 4
3225 .section .data.tabs,"aw",%progbits
3226 .align 2
3229 tabs:
3230 0000 53434E00 .ascii "SCN\000"
3231 0004 00000000 .space 10
3231 00000000
3231 0000
3232 000e 00 .byte 0
3233 000f 03 .byte 3
3234 0010 00 .byte 0
3235 0011 00 .byte 0
3236 0012 0000 .space 2
3237 0014 01000000 .word 1
3238 0018 00000000 .word 0
3239 001c 03000000 .word 3
3240 0020 01 .byte 1
3241 0021 000000 .space 3
3242 0024 00000000 .word scan
3243 0028 00000000 .word set_dummy
3244 002c 00000000 .word print_integer
3245 .section .data.tabs_count,"aw",%progbits
3248 tabs_count:
3249 0000 01 .byte 1
3250 .section .rodata.decode_cmd.str1.4,"aMS",%progbits,1
3251 .align 2
3252 .LC4:
3253 0000 1B5B2564 .ascii "\033[%d,%dz\000"
3253 2C25647A
3253 00
3254 0009 000000 .space 3
3255 .LC5:
3256 000c 25642025 .ascii "%d %-12s\000"
3256 2D313273
3256 00
3257 .section .rodata.display_init.str1.4,"aMS",%progbits,1
3258 .align 2
3259 .LC9:
3260 0000 1B5B3132 .ascii "\033[128,255,0,0,0,0,0c\000"
3260 382C3235
3260 352C302C
3260 302C302C
3260 302C3063
3261 0015 000000 .space 3
3262 .LC10:
3263 0018 1B5B3132 .ascii "\033[129,255,255,0,0,0,0c\000"
3263 392C3235
3263 352C3235
3263 352C302C
3263 302C302C
3264 002f 00 .space 1
3265 .LC11:
3266 0030 1B5B3133 .ascii "\033[130,255,255,255,0,0,0c\000"
3266 302C3235
3266 352C3235
3266 352C3235
ARM GAS /tmp/ccorWJCU.s page 71
3266 352C302C
3267 0049 000000 .space 3
3268 .LC12:
3269 004c 1B5B3133 .ascii "\033[131,255,255,255,255,0,0c\000"
3269 312C3235
3269 352C3235
3269 352C3235
3269 352C3235
3270 0067 00 .space 1
3271 .LC13:
3272 0068 1B5B3133 .ascii "\033[132,255,255,255,255,255,0c\000"
3272 322C3235
3272 352C3235
3272 352C3235
3272 352C3235
3273 0085 000000 .space 3
3274 .LC14:
3275 0088 1B5B3133 .ascii "\033[133,255,255,255,255,255,255c\000"
3275 332C3235
3275 352C3235
3275 352C3235
3275 352C3235
3276 00a7 00 .space 1
3277 .LC15:
3278 00a8 1B5B2564 .ascii "\033[%ds\000"
3278 7300
3279 00ae 0000 .space 2
3280 .LC16:
3281 00b0 1B5B3230 .ascii "\033[200,100q\000"
3281 302C3130
3281 307100
3282 00bb 00 .space 1
3283 .LC17:
3284 00bc 1B5B2564 .ascii "\033[%db\000"
3284 6200
3285 00c2 0000 .space 2
3286 .LC18:
3287 00c4 0C00 .ascii "\014\000"
3288 .section .rodata.display_update_state.str1.4,"aMS",%progbits,1
3289 .align 2
3290 .LC6:
3291 0000 3E00 .ascii ">\000"
3292 0002 0000 .space 2
3293 .LC7:
3294 0004 2000 .ascii " \000"
3295 .section .rodata.print_frequency.str1.4,"aMS",%progbits,1
3296 .align 2
3297 .LC2:
3298 0000 25386C64 .ascii "%8ld\000"
3298 00
3299 0005 000000 .space 3
3300 .LC3:
3301 0008 257300 .ascii "%s\000"
3302 .section .rodata.print_integer.str1.4,"aMS",%progbits,1
3303 .align 2
3304 .LC0:
3305 0000 252A6C64 .ascii "%*ld\000"
ARM GAS /tmp/ccorWJCU.s page 72
3305 00
3306 .section .rodata.print_modulation.str1.4,"aMS",%progbits,1
3307 .align 2
3308 .LC1:
3309 0000 252A7300 .ascii "%*s\000"
3310 .section .rodata.tabs_update.str1.4,"aMS",%progbits,1
3311 .align 2
3312 .LC8:
3313 0000 0700 .ascii "\007\000"
3314 .text
3315 .Letext0:
3316 .file 2 "/usr/include/newlib/machine/_default_types.h"
3317 .file 3 "/usr/include/newlib/sys/_stdint.h"
3318 .file 4 "Core/Inc/interface.h"
3319 .file 5 "/usr/include/newlib/sys/lock.h"
3320 .file 6 "/usr/include/newlib/sys/_types.h"
3321 .file 7 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
3322 .file 8 "/usr/include/newlib/sys/reent.h"
3323 .file 9 "/usr/include/newlib/math.h"
3324 .file 10 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Include/arm_math.h"
3325 .file 11 "Drivers/CMSIS/Include/core_cm4.h"
3326 .file 12 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
3327 .file 13 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
3328 .file 14 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
3329 .file 15 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
3330 .file 16 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cordic.h"
3331 .file 17 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
3332 .file 18 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
3333 .file 19 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
3334 .file 20 "Core/Inc/rx.h"
3335 .file 21 "Core/Inc/tx.h"
3336 .file 22 "Core/Inc/bassofono.h"
3337 .file 23 "/usr/include/newlib/stdio.h"
3338 .file 24 "/usr/include/newlib/string.h"
ARM GAS /tmp/ccorWJCU.s page 73
DEFINED SYMBOLS
*ABS*:0000000000000000 interface.c
/tmp/ccorWJCU.s:16 .text.print_integer:0000000000000000 $t
/tmp/ccorWJCU.s:24 .text.print_integer:0000000000000000 print_integer
/tmp/ccorWJCU.s:62 .text.print_integer:0000000000000028 $d
/tmp/ccorWJCU.s:70 .text.print_modulation:0000000000000000 $t
/tmp/ccorWJCU.s:78 .text.print_modulation:0000000000000000 print_modulation
/tmp/ccorWJCU.s:117 .text.print_modulation:0000000000000030 $d
/tmp/ccorWJCU.s:126 .text.print_frequency:0000000000000000 $t
/tmp/ccorWJCU.s:134 .text.print_frequency:0000000000000000 print_frequency
/tmp/ccorWJCU.s:286 .text.print_frequency:00000000000000b8 $d
/tmp/ccorWJCU.s:296 .text.print_bar:0000000000000000 $t
/tmp/ccorWJCU.s:304 .text.print_bar:0000000000000000 print_bar
/tmp/ccorWJCU.s:409 .text.print_bar:0000000000000064 $d
/tmp/ccorWJCU.s:414 .text.decode_cmd:0000000000000000 $t
/tmp/ccorWJCU.s:422 .text.decode_cmd:0000000000000000 decode_cmd
/tmp/ccorWJCU.s:447 .text.decode_cmd:000000000000000e $d
/tmp/ccorWJCU.s:898 .text.decode_cmd:0000000000000198 $d
*COM*:0000000000000001 menu_mode
/tmp/ccorWJCU.s:915 .text.encoder_increment:0000000000000000 $t
/tmp/ccorWJCU.s:923 .text.encoder_increment:0000000000000000 encoder_increment
/tmp/ccorWJCU.s:1013 .text.encoder_increment:0000000000000054 $d
/tmp/ccorWJCU.s:1021 .text.encoder_decrement:0000000000000000 $t
/tmp/ccorWJCU.s:1029 .text.encoder_decrement:0000000000000000 encoder_decrement
/tmp/ccorWJCU.s:1119 .text.encoder_decrement:0000000000000054 $d
/tmp/ccorWJCU.s:1127 .text.joystick_dx:0000000000000000 $t
/tmp/ccorWJCU.s:1135 .text.joystick_dx:0000000000000000 joystick_dx
/tmp/ccorWJCU.s:1174 .text.joystick_dx:0000000000000020 $d
/tmp/ccorWJCU.s:1181 .text.joystick_sx:0000000000000000 $t
/tmp/ccorWJCU.s:1189 .text.joystick_sx:0000000000000000 joystick_sx
/tmp/ccorWJCU.s:1227 .text.joystick_sx:0000000000000020 $d
/tmp/ccorWJCU.s:1233 .text.joystick_down:0000000000000000 $t
/tmp/ccorWJCU.s:1241 .text.joystick_down:0000000000000000 joystick_down
/tmp/ccorWJCU.s:1358 .text.joystick_down:0000000000000058 $d
/tmp/ccorWJCU.s:1369 .text.joystick_up:0000000000000000 $t
/tmp/ccorWJCU.s:1377 .text.joystick_up:0000000000000000 joystick_up
/tmp/ccorWJCU.s:1485 .text.joystick_up:000000000000005c $d
/tmp/ccorWJCU.s:1496 .text.joystick_button:0000000000000000 $t
/tmp/ccorWJCU.s:1504 .text.joystick_button:0000000000000000 joystick_button
/tmp/ccorWJCU.s:1517 .text.menu_mode_up:0000000000000000 $t
/tmp/ccorWJCU.s:1525 .text.menu_mode_up:0000000000000000 menu_mode_up
/tmp/ccorWJCU.s:1638 .text.menu_mode_up:0000000000000058 $d
/tmp/ccorWJCU.s:1649 .text.menu_mode_down:0000000000000000 $t
/tmp/ccorWJCU.s:1657 .text.menu_mode_down:0000000000000000 menu_mode_down
/tmp/ccorWJCU.s:1762 .text.menu_mode_down:000000000000005c $d
/tmp/ccorWJCU.s:1773 .text.step_up:0000000000000000 $t
/tmp/ccorWJCU.s:1781 .text.step_up:0000000000000000 step_up
/tmp/ccorWJCU.s:1806 .text.step_up:000000000000001c $d
/tmp/ccorWJCU.s:1811 .text.step_down:0000000000000000 $t
/tmp/ccorWJCU.s:1819 .text.step_down:0000000000000000 step_down
/tmp/ccorWJCU.s:1846 .text.step_down:000000000000001c $d
/tmp/ccorWJCU.s:1852 .text.interface_set_default:0000000000000000 $t
/tmp/ccorWJCU.s:1860 .text.interface_set_default:0000000000000000 interface_set_default
/tmp/ccorWJCU.s:1961 .text.interface_set_default:0000000000000040 $d
/tmp/ccorWJCU.s:1971 .text.display_set_position:0000000000000000 $t
/tmp/ccorWJCU.s:1979 .text.display_set_position:0000000000000000 display_set_position
/tmp/ccorWJCU.s:2013 .text.display_set_position:000000000000001c $d
ARM GAS /tmp/ccorWJCU.s page 74
/tmp/ccorWJCU.s:2020 .text.display_print_string:0000000000000000 $t
/tmp/ccorWJCU.s:2028 .text.display_print_string:0000000000000000 display_print_string
/tmp/ccorWJCU.s:2101 .text.display_print_string:0000000000000030 $d
/tmp/ccorWJCU.s:2108 .text.display_draw_dual_bar:0000000000000000 $t
/tmp/ccorWJCU.s:2116 .text.display_draw_dual_bar:0000000000000000 display_draw_dual_bar
/tmp/ccorWJCU.s:2176 .text.display_update_mode:0000000000000000 $t
/tmp/ccorWJCU.s:2184 .text.display_update_mode:0000000000000000 display_update_mode
/tmp/ccorWJCU.s:2255 .text.display_update_mode:000000000000003c $d
/tmp/ccorWJCU.s:2265 .text.display_update_state:0000000000000000 $t
/tmp/ccorWJCU.s:2273 .text.display_update_state:0000000000000000 display_update_state
/tmp/ccorWJCU.s:2413 .text.display_update_state:0000000000000090 $d
/tmp/ccorWJCU.s:2427 .text.integer_editor_up:0000000000000000 $t
/tmp/ccorWJCU.s:2435 .text.integer_editor_up:0000000000000000 integer_editor_up
/tmp/ccorWJCU.s:2506 .text.integer_editor_up:0000000000000040 $d
/tmp/ccorWJCU.s:2511 .text.integer_editor_down:0000000000000000 $t
/tmp/ccorWJCU.s:2519 .text.integer_editor_down:0000000000000000 integer_editor_down
/tmp/ccorWJCU.s:2590 .text.integer_editor_down:0000000000000040 $d
/tmp/ccorWJCU.s:2595 .text.list_editor_down:0000000000000000 $t
/tmp/ccorWJCU.s:2603 .text.list_editor_down:0000000000000000 list_editor_down
/tmp/ccorWJCU.s:2617 .text.tabs_update:0000000000000000 $t
/tmp/ccorWJCU.s:2625 .text.tabs_update:0000000000000000 tabs_update
/tmp/ccorWJCU.s:2646 .text.tabs_update:0000000000000014 $d
/tmp/ccorWJCU.s:2653 .text.tab_up:0000000000000000 $t
/tmp/ccorWJCU.s:2661 .text.tab_up:0000000000000000 tab_up
/tmp/ccorWJCU.s:2698 .text.tab_down:0000000000000000 $t
/tmp/ccorWJCU.s:2706 .text.tab_down:0000000000000000 tab_down
/tmp/ccorWJCU.s:2743 .text.display_init:0000000000000000 $t
/tmp/ccorWJCU.s:2751 .text.display_init:0000000000000000 display_init
/tmp/ccorWJCU.s:2969 .text.display_init:00000000000001a0 $d
/tmp/ccorWJCU.s:2986 .text.scan_do:0000000000000000 $t
/tmp/ccorWJCU.s:2994 .text.scan_do:0000000000000000 scan_do
/tmp/ccorWJCU.s:3031 .text.scan_do:0000000000000020 $d
/tmp/ccorWJCU.s:3037 .text.sat_subu8b:0000000000000000 $t
/tmp/ccorWJCU.s:3045 .text.sat_subu8b:0000000000000000 sat_subu8b
/tmp/ccorWJCU.s:3223 .data.modulation_list_count:0000000000000000 modulation_list_count
/tmp/ccorWJCU.s:3213 .data.modulation_list:0000000000000000 modulation_list
/tmp/ccorWJCU.s:3248 .data.tabs_count:0000000000000000 tabs_count
/tmp/ccorWJCU.s:3206 .data.menu_item_count:0000000000000000 menu_item_count
/tmp/ccorWJCU.s:3229 .data.tabs:0000000000000000 tabs
/tmp/ccorWJCU.s:3081 .data.items:0000000000000000 items
*COM*:0000000000000001 current_tab
/tmp/ccorWJCU.s:3077 .data.items:0000000000000000 $d
/tmp/ccorWJCU.s:3209 .data.modulation_list:0000000000000000 $d
/tmp/ccorWJCU.s:3226 .data.tabs:0000000000000000 $d
/tmp/ccorWJCU.s:3251 .rodata.decode_cmd.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:3258 .rodata.display_init.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:3289 .rodata.display_update_state.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:3296 .rodata.print_frequency.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:3303 .rodata.print_integer.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:3307 .rodata.print_modulation.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:3311 .rodata.tabs_update.str1.4:0000000000000000 $d
/tmp/ccorWJCU.s:502 .text.decode_cmd:0000000000000045 $d
/tmp/ccorWJCU.s:502 .text.decode_cmd:0000000000000046 $t
UNDEFINED SYMBOLS
sprintf
uart_tx_buf_in_idx
ARM GAS /tmp/ccorWJCU.s page 75
uart_tx_buf
strlen
enqueue_tx
set_changed
stop_receive
start_transmit
stop_transmit
start_receive
get_changed
reset_changed
set_frequency
frequency
volume
set_dummy
modulation
set_modulation
squelch
audio_filter_freq
set_filter
audio_filter_bw
audio_filter_beta
rx_signal
scan