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

📄 gps.asm

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 ASM
📖 第 1 页 / 共 5 页
字号:
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?351.1:
;					receive_buffer_count--;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?352.1:
	ld	AL,@$receive_buffer_count
	add	AL,#-1
	st	AL,@$receive_buffer_count
?L59F5:
	bra	?L64F5
?L56F5:
;				}
;			}
;			else
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?356.1:
;				GPRMC.latitude[receive_buffer_count] = ',';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?357.1:
	ld	AH,#','
	st	AH,@$?irq_scratchpad?+7	; %r3
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+9	; %r4
	st	AH,@$?irq_scratchpad?+8	; %r4
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+9	; %r4
	addc	AH,@$?irq_scratchpad?+8	; %r4
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+7	; %r3
	st.b	AH,@(19,X)
;				while(receive_buffer_count < (10 - 1))
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?358.1:
?L67F5:
; ^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?358.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#9
	bcc	?L68F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?359.1:
;					receive_buffer_count ++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?360.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;					GPRMC.latitude[receive_buffer_count] = ' ';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?361.1:
	ld	AH,#' '
	st	AH,@$?irq_scratchpad?+7	; %r3
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+9	; %r4
	st	AH,@$?irq_scratchpad?+8	; %r4
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+9	; %r4
	addc	AH,@$?irq_scratchpad?+8	; %r4
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+7	; %r3
	st.b	AH,@(19,X)
	bra	?L67F5
?L68F5:
;					
;				}
;				
;				receive_buffer_count = 0;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?365.1:
	ld	AL,#0
	st	AL,@$receive_buffer_count
;				receive_flag = RMC_LATITUDE_ASPECT;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?366.1:
	ld	AL,#4
	st	AL,@$receive_flag
?L64F5:
;			}
;			break;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?368.1:
	bra	?L4F5
?L14F5:
;			if(c != ',')
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?372.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	movax
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	ld.bu	AL,@(0,X)
	cmp	AL,#','
	beq	?L74F5
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?373.1:
;				GPRMC.latitude_aspect[receive_buffer_count] = c;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?374.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld.bu	AH,@(0,X)
	st	AH,@$?irq_scratchpad?+5	; %r2
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	movax
	ld	AH,@$?irq_scratchpad?+5	; %r2
	st.b	AH,@(29,X)
;				receive_buffer_count++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?375.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;				if(receive_buffer_count == 2)
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?376.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#2
	bne	?L77F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?377.1:
;					receive_buffer_count--;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?378.1:
	ld	AL,@$receive_buffer_count
	add	AL,#-1
	st	AL,@$receive_buffer_count
?L77F5:
	bra	?L82F5
?L74F5:
;				}
;			}
;			else
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?382.1:
;				GPRMC.latitude_aspect[receive_buffer_count] = ',';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?383.1:
	ld	AH,#','
	st	AH,@$?irq_scratchpad?+9	; %r4
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+9	; %r4
	st.b	AH,@(29,X)
;				while(receive_buffer_count < (2 - 1))
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?384.1:
?L85F5:
; ^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?384.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#1
	bcc	?L86F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?385.1:
;					receive_buffer_count ++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?386.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;					GPRMC.latitude_aspect[receive_buffer_count] = ' ';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?387.1:
	ld	AH,#' '
	st	AH,@$?irq_scratchpad?+7	; %r3
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+5	; %r2
	addc	AH,@$?irq_scratchpad?+4	; %r2
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+7	; %r3
	st.b	AH,@(29,X)
	bra	?L85F5
?L86F5:
;					
;				}
;				
;				receive_buffer_count = 0;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?391.1:
	ld	AL,#0
	st	AL,@$receive_buffer_count
;				receive_flag = RMC_LONGITUDE;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?392.1:
	ld	AL,#5
	st	AL,@$receive_flag
?L82F5:
;			}
;			break;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?394.1:
	bra	?L4F5
?L13F5:
;			if(c != ',')
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?398.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	movax
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	ld.bu	AL,@(0,X)
	cmp	AL,#','
	beq	?L92F5
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?399.1:
;				GPRMC.longitude[receive_buffer_count] = c;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?400.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld.bu	AH,@(0,X)
	st	AH,@$?irq_scratchpad?+5	; %r2
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	movax
	ld	AH,@$?irq_scratchpad?+5	; %r2
	st.b	AH,@(31,X)
;				receive_buffer_count++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?401.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;				if(receive_buffer_count == 11)
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?402.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#11
	bne	?L95F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?403.1:
;					receive_buffer_count--;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?404.1:
	ld	AL,@$receive_buffer_count
	add	AL,#-1
	st	AL,@$receive_buffer_count
?L95F5:
	bra	?L100F5
?L92F5:
;				}
;			}
;			else
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?408.1:
;				GPRMC.longitude[receive_buffer_count] = ',';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?409.1:
	ld	AH,#','
	st	AH,@$?irq_scratchpad?+9	; %r4
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+9	; %r4
	st.b	AH,@(31,X)
;				while(receive_buffer_count < (11 - 1))
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?410.1:
?L103F5:
; ^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?410.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#10
	bcc	?L104F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?411.1:
;					receive_buffer_count ++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?412.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;					GPRMC.longitude[receive_buffer_count] = ' ';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?413.1:
	ld	AH,#' '
	st	AH,@$?irq_scratchpad?+7	; %r3
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+9	; %r4
	st	AH,@$?irq_scratchpad?+8	; %r4
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+9	; %r4
	addc	AH,@$?irq_scratchpad?+8	; %r4
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+7	; %r3
	st.b	AH,@(31,X)
	bra	?L103F5
?L104F5:
;					
;				}
;				
;				receive_buffer_count = 0;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?417.1:
	ld	AL,#0
	st	AL,@$receive_buffer_count
;				receive_flag = RMC_LONGITUDE_ASPECT;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?418.1:
	ld	AL,#6
	st	AL,@$receive_flag
?L100F5:
;			}
;			break;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?420.1:
	bra	?L4F5
?L12F5:
;			if(c != ',')
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?424.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	movax
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	ld.bu	AL,@(0,X)
	cmp	AL,#','
	beq	?L110F5
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?425.1:
;				GPRMC.longitude_aspect[receive_buffer_count] = c;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?426.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld.bu	AH,@(0,X)
	st	AH,@$?irq_scratchpad?+5	; %r2
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	movax
	ld	AH,@$?irq_scratchpad?+5	; %r2
	st.b	AH,@(42,X)
;				receive_buffer_count++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?427.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;				if(receive_buffer_count == 2)
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?428.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#2
	bne	?L113F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?429.1:
;					receive_buffer_count--;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?430.1:
	ld	AL,@$receive_buffer_count
	add	AL,#-1
	st	AL,@$receive_buffer_count
?L113F5:
	bra	?L118F5
?L110F5:
;				}
;			}
;			else
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?434.1:
;				GPRMC.longitude_aspect[receive_buffer_count] = ',';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?435.1:
	ld	AH,#','
	st	AH,@$?irq_scratchpad?+9	; %r4
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+9	; %r4
	st.b	AH,@(42,X)
;				while(receive_buffer_count < (2 - 1))
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?436.1:
?L121F5:
; ^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?436.1:
	ld	AL,@$receive_buffer_count
	cmp	AL,#1
	bcc	?L122F5
;				{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?437.1:
;					receive_buffer_count ++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?438.1:
	ld	AL,@$receive_buffer_count
	add	AL,#1
	st	AL,@$receive_buffer_count
;					GPRMC.longitude_aspect[receive_buffer_count] = ' ';
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?439.1:
	ld	AH,#' '
	st	AH,@$?irq_scratchpad?+7	; %r3
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+5	; %r2
	addc	AH,@$?irq_scratchpad?+4	; %r2
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld	AH,@$?irq_scratchpad?+7	; %r3
	st.b	AH,@(42,X)
	bra	?L121F5
?L122F5:
;					
;				}
;				
;				receive_buffer_count = 0;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?443.1:
	ld	AL,#0
	st	AL,@$receive_buffer_count
;				receive_flag = RMC_SPEED;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?444.1:
	ld	AL,#7
	st	AL,@$receive_flag
?L118F5:
;			}
;			break;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?446.1:
	bra	?L4F5
?L11F5:
;			if(c != ',')
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?451.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	movax
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	ld.bu	AL,@(0,X)
	cmp	AL,#','
	beq	?L128F5
;			{
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?452.1:
;				GPRMC.speed[receive_buffer_count] = c;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?453.1:
	st	AL,@$?irq_scratchpad?+1	; %r0
	ld	AL,#lwrd(2*$c)
	ld	AH,#hwrd(2*$c)
	st	AL,@$?irq_scratchpad?+5	; %r2
	st	AH,@$?irq_scratchpad?+4	; %r2
	movax
	ld.bu	AH,@(0,X)
	st	AH,@$?irq_scratchpad?+5	; %r2
	ld	AL,#$GPRMC
	ld	AH,#0
	asl	#1
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	ld	AL,@$receive_buffer_count
	ld	AH,#0
	add	AL,@$?irq_scratchpad?+7	; %r3
	addc	AH,@$?irq_scratchpad?+6	; %r3
	st	AL,@$?irq_scratchpad?+7	; %r3
	st	AH,@$?irq_scratchpad?+6	; %r3
	movax
	ld	AH,@$?irq_scratchpad?+5	; %r2
	st.b	AH,@(44,X)
;				receive_buffer_count++;
^gps___gps.'D:\simcom\software\SIM300C\gps.c'.?454.1:
	ld	AL,@$receive_buffer_count

⌨️ 快捷键说明

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