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

📄 gps_a_c.lib

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 LIB
📖 第 1 页 / 共 5 页
字号:
	.stabs	"fp_number:t17=15=u8i:16=s8sxmhi:5,0,32;mlo:5,32,32;;,0,64;d:11,0,64;;",128,0,0,0
	.stabs	"dblrep:T18=u8d:11,0,64;ua:19=ar1;0;1;5,0,64;;",128,0,0,0
	.stabs	"dblrep:t20=18",128,0,0,0
	.stabs	"__remain:G5",32,0,0,0
	.stabs	"__rndnxt:G5",32,0,0,0
	.stabs	"BlockStruct:T21=s6flag:22,0,16;size:1,16,16;cdr:23=*21,32,16;;",128,0,0,0
	.stabs	" :T22=eBLKFREE:4660,BLKACTIVE:22136,;",128,0,0,0
	.stabs	"BlockStruct:t24=21",128,0,0,0
	.stabs	"__huge_v:G11",32,0,0,0
	.stabs	"__huge_f:G10",32,0,0,0
	.stabs	"__IODESC:t32=25=s6is_string:1,0,16;d:26=u4string:27=*2,0,32;output_fn:28=*29=f1,0,32;input_fn:30=*31=f1,0,32;;,16,32;;",128,0,0,0
	.stabs	"fp_print_t:t33=f1",128,0,0,0
	.stabs	"__ungot:G1",32,0,0,0
	.stabs	"fp_scan_t:t34=f3",128,0,0,0
	.stabs	"C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dw.c",132,0,0,-1
	.stabs	"__dw:F3",36,0,14,$__dw
	.stabs	"a1:p3",160,0,0,-12
	.stabs	"a2:p3",160,0,0,0
	.stabs	"!LR:3",128,0,0,-8
	.stabs	"!SP:p1",160,0,0,0
	.stabn	192,0,0,Lstab?0c
	.stabn	224,0,0,Lstab?1c
	.stabs	"r:3",128,0,0,-16
	.stabs	"a1:p3",160,0,0,-12
	.stabs	"a2:p3",160,0,0,0
	.stabs	"!LR:3",128,0,0,-8
	.stabs	"!SP:p1",160,0,0,0
	.stabn	192,0,0,Lstab?1c
	.stabn	224,0,0,Lstab?2a
	.stabs	"r:3",128,0,0,2
	.stabs	"a1:p3",160,0,0,6
	.stabs	"a2:p3",160,0,0,18
	.stabs	"!LR:3",128,0,0,10
	.stabs	"!SP:p1",160,0,0,18
	.stabn	192,0,0,Lstab?2a
	.stabn	224,0,0,Lstab?3a
	.stabs	"r:3",128,0,0,6
	.stabs	"a1:p3",160,0,0,10
	.stabs	"a2:p3",160,0,0,22
	.stabs	"!LR:3",128,0,0,14
	.stabs	"!SP:p1",160,0,0,22
	.stabn	192,0,0,Lstab?3a
	.stabn	224,0,0,Lstab?4c
;
	ENDMOD



	MODULE __mwk

	.CODE
	.ALL

$__mwk:
	;; save return address
	st	XH,@(-1,Y)
	st	X,@(-2,Y)

	;; save arguments
	st	AL,@(-3,Y)
	st	AH,@(-4,Y)
	
	;; conditionally disable interrupts
	sub	Y,#4		; NOTE: Stack pointer adjusted
	bsr	$__cond_disable_interrupts
	st	AL,@(-1,Y)

	;; ensure emi is not active before starting the multiplication
	;; this works around a bug in ecog1k
L1:	ld	AH,@H'ff7a	; emi.ctrl_sts
	and     AH,#H'12
	bne     L1

	;; multiply
	ld	AL,@(1,Y)
	smult	@(4,Y)
	st	AL,@(-2,Y)
	ld	AL,@(5,Y)
	smult	@(0,Y)
	add	AL,@(-2,Y)
	st	AL,@(-2,Y)
	ld	AL,@(1,Y)
	umult	@(5,Y)
	add	AH,@(-2,Y)

	;; save result
	st	AL,@(1,Y)
	st	AH,@(0,Y)

	;; conditionally enable interrupts
	ld	AL,@(-1,Y)	; NOTE: Don't adjust stack pointer
	bsr	$__cond_enable_interrupts
	add	Y,#4		; NOTE: Stack pointer adjusted

	;; load result
	ld	AL,@(-3,Y)
	ld	AH,@(-4,Y)

	;; return
	ld	XH,@(-1,Y)
	bra	@(-2,Y)

		
	ENDMOD





; generated by Norcroft eCOG C Compiler V1.10 $BuildRevision$
; special options:  -g
;
	MODULE qqtemp_____dflt
	.CODE
	.LARGE
	; TARGET_MAX_STACK_OVERRUN = 8
;/*=============================================================================
;Cyan Technology Ltd
;eCOG C Library
;
;FILE __dflt.c - software implementation of fp cast long->double
;
;DESCRIPTION
;This converts long integer representations of numbers to double.
;
;MODIFICATION DETAILS
;01/NOV/2001     Karl Swepson      Taken from CCLs XAP2 Library.
;26/OCT/2004     Andy Cromarty     Improved legibility, removed all while(1) loops
;                                  and added assert statements for debugging
;=============================================================================*/
;
;/* Copyright (C) Codemist Ltd, 1988 */
;/* Copyright (C) Cambridge Consultants Ltd, 1995 */
;/* Copyright (C) Cyan Technology Ltd, 2001, 2004 */
;
;#define __dfltX
;#include "__lib.h" 
;
;double __dflt(int32 n)
;
$__dflt:
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?23.1:
	st	AL,@(-2,Y)
	st	AH,@(-1,Y)
	st	XH,@(-4,Y)
	st	X,@(-3,Y)
	st	AL,@H'ffe5	; %r2 (__struct_result)
Lstab?0c:
;{
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?24.1:
Lstab?1c:
;    unsigned32 ah, al;
;    dblrep a;
;    double r;
;    int32 as;
;    int ax;
;    
;    if (n == 0)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?31.1:
	add	Y,#-12
Lstab?2a:
	ld	AH,@(11,Y)	; %r34 (n)
	or	AH,@(12,Y)	; %r34 (n)
	bne	?L4F1
;    {
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?32.1:
;        r = i2dbl_(a, 0, 0);
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?33.1:
	ld	AH,#0
	ld	AL,#0
	st	AL,@(5,Y)	; a+1
	st	AH,@(4,Y)	; a
; ^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?33.1:
	st	AL,@(7,Y)	; a+3
	st	AH,@(6,Y)	; a+2
	mov	AL,Y
	add	AL,#4
	st	AL,@H'ffef	; %r7
	ld	X,@H'ffef	; %r7
	ld	AH,@(3,X)
	st	AH,@(3,Y)	; r+3
	ld	AH,@(2,X)
	st	AH,@(2,Y)	; r+2
	ld	AH,@(1,X)
	st	AH,@(1,Y)	; r+1
	ld	AH,@(0,X)
	st	AH,@(0,Y)	; r
	bra	?L8F1
?L4F1:
;    }
;    else
;    {
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?36.1:
;        if (n > 0)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?37.1:
	ld	AL,@(12,Y)	; %r34 (n)
	ld	AH,@(11,Y)	; %r34 (n)
	cmp	AL,#1
	subc	AH,#0
	blt	?L10F1
;        {
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?38.1:
;            as = 0;
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?39.1:
	ld	AH,#0
	ld	AL,#0
	st	AL,@H'ffed	; %r6 (as)
	st	AH,@H'ffec	; %r6 (as)
	bra	?L14F1
?L10F1:
;        }
;        else
;        {
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?42.1:
;            as = 0x80000000;
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?43.1:
	ld	AH,#-32768
	ld	AL,#0
;            n = -n;             /* from here on n is thought of as unsigned  */
	st	AL,@H'ffed	; %r6 (as)
	st	AH,@H'ffec	; %r6 (as)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?44.1:
	ld	AL,@(12,Y)	; %r34 (n)
	ld	AH,@(11,Y)	; %r34 (n)
	xor	AH,#-1
	nadd	AL,#0
	addc	AH,#0
	st	AL,@(12,Y)	; %r34 (n)
	st	AH,@(11,Y)	; %r34 (n)
?L14F1:
;        }
;        ah = 0;
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?46.1:
	ld	AH,#0
	ld	AL,#0
;        al = n;
	st	AL,@H'ffe9	; %r4 (ah)
	st	AH,@H'ffe8	; %r4 (ah)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?47.1:
	ld	AL,@(12,Y)	; %r34 (n)
	ld	AH,@(11,Y)	; %r34 (n)
;        ax = 0x400 + 51;
	st	AL,@H'ffe7	; %r3 (al)
	st	AH,@H'ffe6	; %r3 (al)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?48.1:
	ld	AL,#1075
;        while ((ah & 0x00100000) == 0)
	st	AL,@H'ffeb	; %r5 (ax)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?49.1:
?L18F1:
; ^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?49.1:
	ld	AL,@H'ffe9	; %r4 (ah)
	ld	AH,@H'ffe8	; %r4 (ah)
	ld	AL,#0
	and	AH,#16
	bne	?L19F1
;        {
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?50.1:
;            ah = (ah << 1) | (al >> 31);
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?51.1:
	ld	AL,@H'ffe9	; %r4 (ah)
	ld	AH,@H'ffe8	; %r4 (ah)
	asl	#1
	st	AL,@H'ffef	; %r7
	st	AH,@H'ffee	; %r7
	ld	AH,#0
	ld	AL,@H'ffe6	; %r3 (al)
	asr	#15
	or	AL,@H'ffef	; %r7
	or	AH,@H'ffee	; %r7
;            al = al << 1;
	st	AL,@H'ffe9	; %r4 (ah)
	st	AH,@H'ffe8	; %r4 (ah)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?52.1:
	ld	AL,@H'ffe7	; %r3 (al)
	ld	AH,@H'ffe6	; %r3 (al)
	asl	#1
;            ax -= 1;
	st	AL,@H'ffe7	; %r3 (al)
	st	AH,@H'ffe6	; %r3 (al)
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?53.1:
	ld	AL,@H'ffeb	; %r5 (ax)
	sub	AL,#1
	st	AL,@H'ffeb	; %r5 (ax)
	bra	?L18F1
?L19F1:
;        }
;    
;        r = i2dbl_(a, (ah & ~0x00100000) | ((int32)ax << 20) | as, al);
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?56.1:
	ld	AL,@H'ffe9	; %r4 (ah)
	ld	AH,@H'ffe8	; %r4 (ah)
	and	AH,#-17
	st	AL,@H'ffef	; %r7
	st	AH,@H'ffee	; %r7
	ld	AL,@H'ffeb	; %r5 (ax)
	asl	#20
	or	AL,@H'ffef	; %r7
	or	AH,@H'ffee	; %r7
	or	AL,@H'ffed	; %r6 (as)
	or	AH,@H'ffec	; %r6 (as)
	st	AL,@(5,Y)	; a+1
	st	AH,@(4,Y)	; a
; ^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?56.1:
	ld	AL,@H'ffe7	; %r3 (al)
	ld	AH,@H'ffe6	; %r3 (al)
	st	AL,@(7,Y)	; a+3
	st	AH,@(6,Y)	; a+2
	mov	AL,Y
	add	AL,#4
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(3,Y)	; r+3
	ld	AH,@(2,X)
	st	AH,@(2,Y)	; r+2
	ld	AH,@(1,X)
	st	AH,@(1,Y)	; r+1
	ld	AH,@(0,X)
	st	AH,@(0,Y)	; r
?L8F1:
;    }
;
;    return (r);
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?59.1:
	st	Y,@H'ffef	; %r7
	st	Y,@H'fffe
	ld	Y,@H'ffe5	; %r2 (__struct_result)
	ld	X,@H'ffef	; %r7
	ld	AH,@(3,X)
	st	AH,@(3,Y)
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	ld	Y,@H'fffe
	ld	AH,#0
	st	AH,@H'fffe
	add	Y,#12
	ld	XH,@(-4,Y)
	bra	@(-3,Y)
Lstab?3c:
;
^qqtemp_____dflt.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dflt.c'.?999999.1:
;}
;
;/* arch-tag: d2ec2b4b-f1e2-4512-99d4-8fce4d9dd20b
;   (do not change this comment) */
;
	; .export	$__dflt
;
	.stabs	"C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dflt.c",100,0,0,0
	.stabs	"int:t1=r1;-32768;32767;",128,0,0,0
	.stabs	"char:t2=r2;0;127;",128,0,0,0
	.stabs	"long int:t3=r1;-2147483648;2147483647;",128,0,0,0
	.stabs	"unsigned int:t4=r1;0;65535;",128,0,0,0
	.stabs	"unsigned long int:t5=r1;0;-1;",128,0,0,0
	.stabs	"short int:t6=r1;-32768;32767;",128,0,0,0
	.stabs	"unsigned short int:t7=r1;0;65535;",128,0,0,0
	.stabs	"signed char:t8=r1;-128;127;",128,0,0,0
	.stabs	"unsigned char:t9=r1;0;255;",128,0,0,0
	.stabs	"float:t10=r1;4;0;",128,0,0,0
	.stabs	"double:t11=r1;8;0;",128,0,0,0
	.stabs	"long double:t12=r1;8;0;",128,0,0,0
	.stabs	"void:t13=13",128,0,0,0
	.stabs	"C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\include\\__lib.h",132,0,0,-1
	.stabs	"_va_list:t14=*1",128,0,0,0
	.stabs	"fp_number:t17=15=u8i:16=s8sxmhi:5,0,32;mlo:5,32,32;;,0,64;d:11,0,64;;",128,0,0,0
	.stabs	"dblrep:T18=u8d:11,0,64;ua:19=ar1;0;1;5,0,64;;",128,0,0,0
	.stabs	"dblrep:t20=18",128,0,0,0
	.stabs	"__remain:G5",32,0,0,0
	.stabs	"__rndnxt:G5",32,0,0,0
	.stabs	"BlockStruct:T21=s6flag:22,0,16;size:1,16,16;cdr:23=*21,32,16;;",128,0,0,0
	.stabs	" :T22=eBLKFREE:4660,BLKACTIVE:22136,;",128,0,0,0
	.stabs	"BlockStruct:t24=21",128,0,0,0
	.stabs	"__huge_v:G11",32,0,0,0
	.stabs	"__huge_f:G10",32,0,0,0
	.stabs	"__IODESC:t32=25=s6is_string:1,0,16;d:26=u4string:27=*2,0,32;output_fn:28=*29=f1,0,32;input_fn:30=*31=f1,0,32;;,16,32;;",128,0,0,0
	.stabs	"fp_print_t:t33=f1",128,0,0,0
	.stabs	"__ungot:G1",32,0,0,0
	.stabs	"fp_scan_t:t34=f3",128,0,0,0
	.stabs	"C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dflt.c",132,0,0,-1
	.stabs	"__dflt:F11",36,0,24,$__dflt
	.stabs	"__struct_result:r35=*11",64,0,0,2
	.stabs	"n:p3",160,0,0,-2
	.stabs	"!LR:3",128,0,0,-8
	.stabs	"!SP:p1",160,0,0,0
	.stabn	192,0,0,Lstab?0c
	.stabn	224,0,0,Lstab?1c
	.stabs	"ah:r5",64,0,0,4
	.stabs	"al:r5",64,0,0,3
	.stabs	"a:18",128,0,0,-16
	.stabs	"r:11",128,0,0,-24
	.stabs	"as:r3",64,0,0,6
	.stabs	"ax:r1",64,0,0,5
	.stabs	"__struct_result:r35=*11",64,0,0,2
	.stabs	"n:p3",160,0,0,-2
	.stabs	"!LR:3",128,0,0,-8
	.stabs	"!SP:p1",160,0,0,0
	.stabn	192,0,0,Lstab?1c
	.stabn	224,0,0,Lstab?2a
	.stabs	"ah:r5",64,0,0,4
	.stabs	"al:r5",64,0,0,3
	.stabs	"a:18",128,0,0,8
	.stabs	"r:11",128,0,0,0
	.stabs	"as:r3",64,0,0,6
	.stabs	"ax:r1",64,0,0,5
	.stabs	"__struct_result:r35=*11",64,0,0,2
	.stabs	"n:p3",160,0,0,22
	.stabs	"!LR:3",128,0,0,16
	.stabs	"!SP:p1",160,0,0,24
	.stabn	192,0,0,Lstab?2a
	.stabn	224,0,0,Lstab?3c
;
	ENDMOD



; generated by Norcroft eCOG C Compiler V1.10 $BuildRevision$
; special options:  -g
;
	MODULE qqtemp_____dsub
	.CODE
	.LARGE
	; TARGET_MAX_STACK_OVERRUN = 8
;/*=============================================================================
;Cyan Technology Ltd
;eCOG C Library

⌨️ 快捷键说明

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