📄 gps_parsing.lst
字号:
A 240 .define "_GGAstring"
A 241 .value _GGAstring
A 242 .class 2
A 243 .type 1346
A 244 .type 0
A 245 .endef
A 246 .begfunc "GGAstring",11,"_GGAstring"
A 247 .define "GGAstr"
A 248 .class 1
A 249 .value -100
A 250 .dim 100
A 251 .type 98
A 252 .type 0
A 253 .endef
000000 9C64 A 254 LD R9,#100
000002 D6 0000 A 255 CALL __b_frameset0
A 256 ; 12
A 257 ; 13 char GGAstr[100];
A 258 ; 14
A 259 ; 15 select_port(_UART0);
A 260 .line 15
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402) 14-Jan-09 10:50:24 page: 6
PC Object I Line Source gps_parsing.src
000005 1F7000 A 261 PUSH #0
000008 1F7000 A 262 PUSH #0
00000B D6 0000 A 263 CALL _select_port
00000E 50E0 A 264 POP R0
000010 50E0 A 265 POP R0
A 266 ; 16 scanf("%s", &GGAstr);
A 267 .line 16
000012 990E9C A 268 LEA RR0,156(RR14)
000015 70E1 A 269 PUSH R1
000017 70E0 A 270 PUSH R0
000019 1F70 00 A 271 PUSH #low(L__0)
00001C 1F70 00 A 272 PUSH #high(L__0)
00001F D6 0000 A 273 CALL _scanf
000022 50E0 A 274 POP R0
000024 50E0 A 275 POP R0
000026 50E0 A 276 POP R0
000028 50E0 A 277 POP R0
A 278 ; 17
A 279 ; 18 while (GGAstr[4] != 'G')
A 280 .line 18
00002A 8B 18 A 281 JR _1_L_0
00002C A 282 _1_L_1:
A 283 ; 19 scanf("%s", &GGAstr);
A 284 .line 19
00002C 990E9C A 285 LEA RR0,156(RR14)
00002F 70E1 A 286 PUSH R1
000031 70E0 A 287 PUSH R0
000033 1F70 03 A 288 PUSH #low(L__1)
000036 1F70 00 A 289 PUSH #high(L__1)
000039 D6 0000 A 290 CALL _scanf
00003C 50E0 A 291 POP R0
00003E 50E0 A 292 POP R0
000040 50E0 A 293 POP R0
000042 50E0 A 294 POP R0
000044 A 295 _1_L_0:
000044 881EA0 A 296 LDX R1,-96(RR14)
000047 E4E1E0 A 297 LD R0,R1
00004A 90E0 A 298 RL R0
00004C 3200 A 299 SBC R0,R0
00004E A6E147 A 300 CP R1,#71
000051 1FA6E000 A 301 CPC R0,#-0
000055 EB D5 A 302 JR NE,_1_L_1
A 303 ; 20
A 304 ; 21 select_port(_UART1);
A 305 .line 21
000057 1F7001 A 306 PUSH #1
00005A 1F7000 A 307 PUSH #0
00005D D6 0000 A 308 CALL _select_port
000060 50E0 A 309 POP R0
000062 50E0 A 310 POP R0
A 311 ; 22 return (GGAstr);
A 312 .line 22
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402) 14-Jan-09 10:50:24 page: 7
PC Object I Line Source gps_parsing.src
000064 990E9C A 313 LEA RR0,156(RR14)
A 314 ; 23 }
A 315 .line 23
000067 D6 0000 A 316 CALL __b_framereset
00006A AF A 317 RET
A 318 .endfunc "GGAstring",23,"_GGAstring"
A 319 SEGMENT ROM_DATA
A 320
A 321
A 322 ;**************************** _RMCstring ***************************
A 323 ;Name Addr/Register Size Type
A 324 ;_scanf IMPORT ----- function
A 325 ;_select_port IMPORT ----- function
A 326 ;RMCstr R15-100 50 variable
A 327
A 328
A 329 ; Aggregate Stack Size: -100 (words)
A 330
A 331
A 332 SEGMENT TEXT
000006 A 333 L__5:
000006 2573 A 334 DB "%s"
000008 00 A 335 DB 0
000009 A 336 L__6:
000009 2573 A 337 DB "%s"
00000B 00 A 338 DB 0
A 339 SEGMENT parsing_TEXT
A 340 ; 24
A 341 ; 25 char *RMCstring(void) {
00006B A 342 _RMCstring:
A 343 .define "_RMCstring"
A 344 .value _RMCstring
A 345 .class 2
A 346 .type 1346
A 347 .type 0
A 348 .endef
A 349 .begfunc "RMCstring",25,"_RMCstring"
A 350 .define "RMCstr"
A 351 .class 1
A 352 .value -100
A 353 .dim 100
A 354 .type 98
A 355 .type 0
A 356 .endef
00006B 9C64 A 357 LD R9,#100
00006D D6 0000 A 358 CALL __b_frameset0
A 359 ; 26
A 360 ; 27 char RMCstr[100];
A 361 ; 28
A 362 ; 29 select_port(_UART0);
A 363 .line 29
000070 1F7000 A 364 PUSH #0
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402) 14-Jan-09 10:50:24 page: 8
PC Object I Line Source gps_parsing.src
000073 1F7000 A 365 PUSH #0
000076 D6 0000 A 366 CALL _select_port
000079 50E0 A 367 POP R0
00007B 50E0 A 368 POP R0
A 369 ; 30 scanf("%s", &RMCstr);
A 370 .line 30
00007D 990E9C A 371 LEA RR0,156(RR14)
000080 70E1 A 372 PUSH R1
000082 70E0 A 373 PUSH R0
000084 1F70 06 A 374 PUSH #low(L__5)
000087 1F70 00 A 375 PUSH #high(L__5)
00008A D6 0000 A 376 CALL _scanf
00008D 50E0 A 377 POP R0
00008F 50E0 A 378 POP R0
000091 50E0 A 379 POP R0
000093 50E0 A 380 POP R0
A 381 ; 31
A 382 ; 32 while (RMCstr[3] != 'R')
A 383 .line 32
000095 8B 18 A 384 JR _2_L_4
000097 A 385 _2_L_5:
A 386 ; 33 scanf("%s", &RMCstr);
A 387 .line 33
000097 990E9C A 388 LEA RR0,156(RR14)
00009A 70E1 A 389 PUSH R1
00009C 70E0 A 390 PUSH R0
00009E 1F70 09 A 391 PUSH #low(L__6)
0000A1 1F70 00 A 392 PUSH #high(L__6)
0000A4 D6 0000 A 393 CALL _scanf
0000A7 50E0 A 394 POP R0
0000A9 50E0 A 395 POP R0
0000AB 50E0 A 396 POP R0
0000AD 50E0 A 397 POP R0
0000AF A 398 _2_L_4:
0000AF 881E9F A 399 LDX R1,-97(RR14)
0000B2 E4E1E0 A 400 LD R0,R1
0000B5 90E0 A 401 RL R0
0000B7 3200 A 402 SBC R0,R0
0000B9 A6E152 A 403 CP R1,#82
0000BC 1FA6E000 A 404 CPC R0,#-0
0000C0 EB D5 A 405 JR NE,_2_L_5
A 406 ; 34 select_port(_UART1);
A 407 .line 34
0000C2 1F7001 A 408 PUSH #1
0000C5 1F7000 A 409 PUSH #0
0000C8 D6 0000 A 410 CALL _select_port
0000CB 50E0 A 411 POP R0
0000CD 50E0 A 412 POP R0
A 413 ; 35 return (RMCstr);
A 414 .line 35
0000CF 990E9C A 415 LEA RR0,156(RR14)
A 416 ; 36 }
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402) 14-Jan-09 10:50:24 page: 9
PC Object I Line Source gps_parsing.src
A 417 .line 36
0000D2 D6 0000 A 418 CALL __b_framereset
0000D5 AF A 419 RET
A 420 .endfunc "RMCstring",36,"_RMCstring"
A 421 SEGMENT ROM_DATA
A 422
A 423
A 424 ;**************************** _RMCtime ***************************
A 425 ;Name Addr/Register Size Type
A 426 ;___print_sputch IMPORT ----- function
A 427 ;___print_putromstring IMPORT ----- function
A 428 ;___print_xputch IMPORT 1 variable
A 429 ;___print_uputch IMPORT ----- function
A 430 ;_select_port IMPORT ----- function
A 431 ;_RMC STATIC 50 variable
A 432 ;_strcpy IMPORT ----- function
A 433 ;_timeRMC IMPORT 0 variable
A 434 ;_strncpy IMPORT ----- function
A 435 ;i R15-2 1 variable
A 436 ;RMCstr R15+4 1 parameter
A 437
A 438
A 439 ; Aggregate Stack Size: -2 (words)
A 440
A 441
A 442 SEGMENT ROM_TEXT
000000 A 443 L__12:
000000 4E6F2074 696D6520 A 444 DB "No time logged."
000008 6C6F6767 65642E
00000F 0A00 A 445 DB 10,0
A 446 SEGMENT parsing_TEXT
A 447 ; 37
A 448 ; 38 void RMCtime(char *RMCstr) {
0000D6 A 449 _RMCtime:
A 450 .define "_RMCtime"
A 451 .value _RMCtime
A 452 .class 2
A 453 .type 65
A 454 .type 0
A 455 .endef
A 456 .begfunc "RMCtime",38,"_RMCtime"
A 457 .define "RMCstr"
A 458 .class 17
A 459 .reg -1
A 460 .type 162
A 461 .type 0
A 462 .endef
A 463 .define "i"
A 464 .class 1
A 465 .value -2
A 466 .type 3
A 467 .type 0
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402) 14-Jan-09 10:50:24 page: 10
PC Object I Line Source gps_parsing.src
A 468 .endef
0000D6 9C02 A 469 LD R9,#2
0000D8 D6 0000 A 470 CALL __b_frameset0
A 471 ; 39 extern char timeRMC[];
A 472 ; 40 int i = 0;
A 473 .line 40
0000DB B0E0 A 474 CLR R0
0000DD B0E1 A 475 CLR R1
0000DF 89E0FE A 476 LDX -2(RR14),R0
0000E2 89E1FF A 477 LDX -1(RR14),R1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -