Files
bassofono/codice/build/interface.lst

4577 lines
179 KiB
Plaintext
Raw Normal View History

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