⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps_parsing.lst

📁 gps mmc logging using z8f6421 zilog microcontroller
💻 LST
📖 第 1 页 / 共 4 页
字号:
000269 09060FFF            A   718    	ADDX	4095,#6
00026D 19000FFE            A   719    	ADCX	4094,#-0
                           A   720    ;   70			NS = latRMC[10];
                           A   721    .line 70
000271 E8 00A000           A   722    	LDX	_NS,_latRMC+10
                           A   723    ;   71			latRMC[9] = '\0';
                           A   724    .line 71
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:24     page:  15


PC     Object              I  Line    Source gps_parsing.src
000275 E9000009            A   725    	LDX	_latRMC+9,#-0
                           A   726    ;   72			strcpy(RMC, &RMC[i+12]);
                           A   727    .line 72
000279 883EFE              A   728    	LDX	R3,-2(RR14)
00027C 882EFF              A   729    	LDX	R2,-1(RR14)
00027F 06E20C              A   730    	ADD	R2,#12
000282 16E300              A   731    	ADC	R3,#0
000285 0C 00               A   732    	LD	R0,#high(_RMC)
000287 1C 00               A   733    	LD	R1,#low(_RMC)
000289 0212                A   734    	ADD	R1,R2
00028B 1203                A   735    	ADC	R0,R3
00028D 70E1                A   736    	PUSH	R1
00028F 70E0                A   737    	PUSH	R0
000291 1F70 00             A   738    	PUSH	#low(_RMC)
000294 1F70 00             A   739    	PUSH	#high(_RMC)
000297 D6 0000             A   740    	CALL	_strcpy
00029A 50E0                A   741    	POP	R0
00029C 50E0                A   742    	POP	R0
00029E 50E0                A   743    	POP	R0
0002A0 50E0                A   744    	POP	R0
                           A   745    ;   73		}
                           A   746    ;   74		else {
                           A   747    .line 74
0002A2 8B 2E               A   748    	JR	_4_L_23
0002A4                     A   749    _4_L_22:
                           A   750    ;   75			select_port(_UART1);
                           A   751    .line 75
0002A4 1F7001              A   752    	PUSH	#1
0002A7 1F7000              A   753    	PUSH	#0
0002AA D6 0000             A   754    	CALL	_select_port
0002AD 50E0                A   755    	POP	R0
0002AF 50E0                A   756    	POP	R0
                           A   757    ;   76			printf("No valid latitude logged.\n");
                           A   758    .line 76
0002B1 E9 00 0000          A   759    	LDX	___print_xputch,#high(___print_uputch)
0002B5 E9 00 0001          A   760    	LDX	___print_xputch+1,#low(___print_uputch)
0002B9 1F70 11             A   761    	PUSH	#low(L__17)
0002BC 1F70 00             A   762    	PUSH	#high(L__17)
0002BF D6 0000             A   763    	CALL	___print_putromstring
0002C2 50E0                A   764    	POP	R0
0002C4 50E0                A   765    	POP	R0
0002C6 E9 00 0000          A   766    	LDX	___print_xputch,#high(___print_sputch)
0002CA E9 00 0001          A   767    	LDX	___print_xputch+1,#low(___print_sputch)
                           A   768    ;   77			latRMC[0] = '\0';
                           A   769    .line 77
0002CE E9000000            A   770    	LDX	_latRMC,#-0
                           A   771    ;   78		}
                           A   772    ;   79	}
0002D2                     A   773    _4_L_23:
                           A   774    .line 79
0002D2 D6 0000             A   775    	CALL	__b_framereset
0002D5 AF                  A   776    	RET	
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:24     page:  16


PC     Object              I  Line    Source gps_parsing.src
                           A   777    .endfunc "RMClat",79,"_RMClat"
                           A   778    	SEGMENT ROM_DATA
                           A   779    
                           A   780    
                           A   781    ;**************************** _RMClong ***************************
                           A   782    ;Name                         Addr/Register   Size   Type
                           A   783    ;___print_sputch                     IMPORT  -----   function
                           A   784    ;___print_putromstring               IMPORT  -----   function
                           A   785    ;___print_xputch                     IMPORT      1   variable
                           A   786    ;___print_uputch                     IMPORT  -----   function
                           A   787    ;_select_port                        IMPORT  -----   function
                           A   788    ;_strcpy                             IMPORT  -----   function
                           A   789    ;_EW                                 IMPORT      0   variable
                           A   790    ;_longRMC                            IMPORT      0   variable
                           A   791    ;_strncpy                            IMPORT  -----   function
                           A   792    ;_RMC                                STATIC     50   variable
                           A   793    ;i                                    R15-2      1   variable
                           A   794    
                           A   795    
                           A   796    ; Aggregate Stack Size: -2 (words)
                           A   797    
                           A   798    
                           A   799    	SEGMENT ROM_TEXT
00002C                     A   800    L__21:
00002C 4E6F2076 616C6964   A   801    	DB	"No valid longitude logged."
000034 206C6F6E 67697475 
00003C 6465206C 6F676765 
000044 642E 
000046 0A00                A   802    	DB	10,0
                           A   803    	SEGMENT parsing_TEXT
                           A   804    ;   80	
                           A   805    ;   81	
                           A   806    ;   82	void RMClong(void) {
0002D6                     A   807    _RMClong:
                           A   808    .define "_RMClong"
                           A   809    .value _RMClong
                           A   810    .class 2
                           A   811    .type 65
                           A   812    .type 0
                           A   813    .endef
                           A   814    .begfunc "RMClong",82,"_RMClong"
                           A   815    .define "i"
                           A   816    .class 1
                           A   817    .value -2
                           A   818    .type 3
                           A   819    .type 0
                           A   820    .endef
0002D6 9C02                A   821    	LD	R9,#2
0002D8 D6 0000             A   822    	CALL	__b_frameset0
                           A   823    ;   83		int i = 0;
                           A   824    .line 83
0002DB B0E0                A   825    	CLR	R0
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:24     page:  17


PC     Object              I  Line    Source gps_parsing.src
0002DD B0E1                A   826    	CLR	R1
0002DF 89E0FE              A   827    	LDX	-2(RR14),R0
0002E2 89E1FF              A   828    	LDX	-1(RR14),R1
                           A   829    ;   84		extern char longRMC[];
                           A   830    ;   85		extern char EW;
                           A   831    ;   86		
                           A   832    ;   87		if (RMC[i] != ',') { 
                           A   833    .line 87
0002E5 882EFE              A   834    	LDX	R2,-2(RR14)
0002E8 883EFF              A   835    	LDX	R3,-1(RR14)
0002EB 0C 00               A   836    	LD	R0,#high(_RMC)
0002ED 1C 00               A   837    	LD	R1,#low(_RMC)
0002EF 0213                A   838    	ADD	R1,R3
0002F1 1202                A   839    	ADC	R0,R2
0002F3 86E0E2              A   840    	LDX	R2,@RR0
0002F6 E4E2E0              A   841    	LD	R0,R2
0002F9 90E0                A   842    	RL	R0
0002FB 3200                A   843    	SBC	R0,R0
0002FD A6E22C              A   844    	CP	R2,#44
000300 1FA6E000            A   845    	CPC	R0,#-0
000304 6B 5D               A   846    	JR	Z,_5_L_25
                           A   847    ;   88			strncpy(longRMC, &RMC[i], 12); 
                           A   848    .line 88
000306 1F700C              A   849    	PUSH	#12
000309 1F7000              A   850    	PUSH	#0
00030C 882EFE              A   851    	LDX	R2,-2(RR14)
00030F 883EFF              A   852    	LDX	R3,-1(RR14)
000312 0C 00               A   853    	LD	R0,#high(_RMC)
000314 1C 00               A   854    	LD	R1,#low(_RMC)
000316 0213                A   855    	ADD	R1,R3
000318 1202                A   856    	ADC	R0,R2
00031A 70E1                A   857    	PUSH	R1
00031C 70E0                A   858    	PUSH	R0
00031E 1F70 00             A   859    	PUSH	#low(_longRMC)
000321 1F70 00             A   860    	PUSH	#high(_longRMC)
000324 D6 0000             A   861    	CALL	_strncpy
000327 2F                  A   862    	ATM	
000328 09060FFF            A   863    	ADDX	4095,#6
00032C 19000FFE            A   864    	ADCX	4094,#-0
                           A   865    ;   89			EW = longRMC[11];
                           A   866    .line 89
000330 E8 00B000           A   867    	LDX	_EW,_longRMC+11
                           A   868    ;   90			longRMC[10] = '\0';
                           A   869    .line 90
000334 E900000A            A   870    	LDX	_longRMC+10,#-0
                           A   871    ;   91			strcpy(RMC, &RMC[i+13]);
                           A   872    .line 91
000338 883EFE              A   873    	LDX	R3,-2(RR14)
00033B 882EFF              A   874    	LDX	R2,-1(RR14)
00033E 06E20D              A   875    	ADD	R2,#13
000341 16E300              A   876    	ADC	R3,#0
000344 0C 00               A   877    	LD	R0,#high(_RMC)
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:24     page:  18


PC     Object              I  Line    Source gps_parsing.src
000346 1C 00               A   878    	LD	R1,#low(_RMC)
000348 0212                A   879    	ADD	R1,R2
00034A 1203                A   880    	ADC	R0,R3
00034C 70E1                A   881    	PUSH	R1
00034E 70E0                A   882    	PUSH	R0
000350 1F70 00             A   883    	PUSH	#low(_RMC)
000353 1F70 00             A   884    	PUSH	#high(_RMC)
000356 D6 0000             A   885    	CALL	_strcpy
000359 50E0                A   886    	POP	R0
00035B 50E0                A   887    	POP	R0
00035D 50E0                A   888    	POP	R0
00035F 50E0                A   889    	POP	R0
                           A   890    ;   92		}
                           A   891    ;   93		else {
                           A   892    .line 93
000361 8B 2E               A   893    	JR	_5_L_26
000363                     A   894    _5_L_25:
                           A   895    ;   94			select_port(_UART1);
                           A   896    .line 94
000363 1F7001              A   897    	PUSH	#1
000366 1F7000              A   898    	PUSH	#0
000369 D6 0000             A   899    	CALL	_select_port
00036C 50E0                A   900    	POP	R0
00036E 50E0                A   901    	POP	R0
                           A   902    ;   95			printf("No valid longitude logged.\n");
                           A   903    .line 95
000370 E9 00 0000          A   904    	LDX	___print_xputch,#high(___print_uputch)
000374 E9 00 0001          A   905    	LDX	___print_xputch+1,#low(___print_uputch)
000378 1F70 2C             A   906    	PUSH	#low(L__21)
00037B 1F70 00             A   907    	PUSH	#high(L__21)
00037E D6 0000             A   908    	CALL	___print_putromstring
000381 50E0                A   909    	POP	R0
000383 50E0                A   910    	POP	R0
000385 E9 00 0000          A   911    	LDX	___print_xputch,#high(___print_sputch)
000389 E9 00 0001          A   912    	LDX	___print_xputch+1,#low(___print_sputch)
                           A   913    ;   96			longRMC[0] = '\0';
                           A   914    .line 96
00038D E9000000            A   915    	LDX	_longRMC,#-0
                           A   916    ;   97		}
000391                     A   917    _5_L_26:
                           A   918    .line 98
000391 D6 0000             A   919    	CALL	__b_framereset
000394 AF                  A   920    	RET	
                           A   921    .endfunc "RMClong",98,"_RMClong"
                           A   922    	XREF _EW:EDATA
                           A   923    	XREF _longRMC:EDATA
                           A   924    	XREF _NS:EDATA
                           A   925    	XREF _latRMC:EDATA
                           A   926    	XREF _timeRMC:EDATA
                           A   927    	XREF _select_port:ROM
                           A   928    	XREF _strncpy:ROM
                           A   929    	XREF _strcpy:ROM
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:24     page:  19


PC     Object              I  Line    Source gps_parsing.src
                           A   930    	XREF _scanf:ROM
                           A   931    	XREF ___print_putromstring:ROM
                           A   932    	XREF ___print_xputch:EDATA
                           A   933    	XREF ___print_sputch:ROM
                           A   934    	XREF ___print_uputch:ROM
                           A   935    	XREF __b_framereset:ROM
                           A   936    	XREF __b_frameset0:ROM
                           A   937    	XDEF _RMClong
                           A   938    	XDEF _RMClat
                           A   939    	XDEF _RMCtime
                           A   940    	XDEF _RMCstring
                           A   941    	XDEF _GGAstring
                           A   942    	XDEF _GGA
                           A   943    	XDEF _RMC
                           A   944    	END


Errors: 0
Warnings: 0
Lines Assembled: 945

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -