📄 gps_a_c.lib
字号:
; else
; {
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?46.1:
; while (ax < (0x400 + 51))
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?47.1:
?L19F1:
; ^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?47.1:
ld AH,@H'ffe7 ; %r3 (ax)
cmp AH,#1075
blt ?L45F1
bra ?L20F1
?L45F1:
; {
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?48.1:
; al = (al >> 1) | (ah << 31);
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?49.1:
ld AL,@(5,Y) ; %r35 (al)
ld AH,@(4,Y) ; %r35 (al)
lsr #1
st AL,@H'ffeb ; %r5
st AH,@H'ffea ; %r5
ld AL,#0
ld AH,@H'ffe5 ; %r2 (ah)
asl #15
or AL,@H'ffeb ; %r5
or AH,@H'ffea ; %r5
; ah = ah >> 1;
st AL,@(5,Y) ; %r35 (al)
st AH,@(4,Y) ; %r35 (al)
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?50.1:
ld AL,@H'ffe5 ; %r2 (ah)
ld AH,@H'ffe4 ; %r2 (ah)
lsr #1
; ax += 1;
st AL,@H'ffe5 ; %r2 (ah)
st AH,@H'ffe4 ; %r2 (ah)
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?51.1:
ld AL,@H'ffe7 ; %r3 (ax)
add AL,#1
st AL,@H'ffe7 ; %r3 (ax)
bra ?L19F1
?L20F1:
; }
;
; if (sign)
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?54.1:
ld AH,@H'ffe9 ; %r4 (sign)
beq ?L24F1
; {
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?55.1:
; if (al > 0x80000000)
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?56.1:
ld AL,@(5,Y) ; %r35 (al)
ld AH,@(4,Y) ; %r35 (al)
cmp AL,#1
subc AH,#-32768
bcs ?L27F1
; {
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?57.1:
; errno = ERANGE;
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?58.1:
ld AL,#34
st AL,@$errno
; al = LONG_MIN;
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?59.1:
ld AH,#-32768
ld AL,#0
st AL,@(5,Y) ; %r35 (al)
st AH,@(4,Y) ; %r35 (al)
bra ?L31F1
?L27F1:
; }
; else
; {
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?62.1:
; al = -al;
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?63.1:
ld AL,@(5,Y) ; %r35 (al)
ld AH,@(4,Y) ; %r35 (al)
xor AH,#-1
nadd AL,#0
addc AH,#0
st AL,@(5,Y) ; %r35 (al)
st AH,@(4,Y) ; %r35 (al)
?L31F1:
bra ?L36F1
?L24F1:
; }
; }
; else if (al >= 0x80000000)
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?66.1:
ld AL,@(5,Y) ; %r35 (al)
ld AH,@(4,Y) ; %r35 (al)
cmp AH,#-32768
bcs ?L36F1
; {
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?67.1:
; errno = ERANGE;
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?68.1:
ld AL,#34
st AL,@$errno
; al = LONG_MAX;
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?69.1:
ld AH,#32767
ld AL,#-1
st AL,@(5,Y) ; %r35 (al)
st AH,@(4,Y) ; %r35 (al)
?L36F1:
?L35F1:
?L16F1:
?L11F1:
; }
; }
;
; return (al);
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?73.1:
ld AL,@(5,Y) ; %r35 (al)
ld AH,@(4,Y) ; %r35 (al)
st AL,@H'ffe1 ; %r0
st AH,@H'ffe0 ; %r0
?L43F1:
ld AL,@H'ffe1 ; %r0
ld AH,@H'ffe0 ; %r0
add Y,#4
ld XH,@(-4,Y)
bra @(-3,Y)
Lstab?3c:
;
^qqtemp_____dfix.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dfix.c'.?999999.1:
;}
;
;/* arch-tag: 79d0e7fd-937a-4f92-977f-a24bd18b116d
; (do not change this comment) */
;
; .import $errno
;
; .export $__dfix
;
;
.stabs "C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dfix.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\\include\\errno.h",132,0,0,-1
.stabs "errno:G1",32,0,0,0
.stabs "C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dfix.c",132,0,0,-1
.stabs "__dfix:F3",36,0,27,$__dfix
.stabs "ah:r5",64,0,0,2
.stabs "al:p5",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 "sign:r1",64,0,0,4
.stabs "ax:r1",64,0,0,3
.stabs "ah:r5",64,0,0,2
.stabs "al:p5",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 "sign:r1",64,0,0,4
.stabs "ax:r1",64,0,0,3
.stabs "ah:r5",64,0,0,2
.stabs "al:p5",160,0,0,8
.stabs "!LR:3",128,0,0,0
.stabs "!SP:p1",160,0,0,8
.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_____dls
.CODE
.LARGE
; TARGET_MAX_STACK_OVERRUN = 8
;/*=============================================================================
;Cyan Technology Ltd
;eCOG C Library
;
;FILE __dls.c - software implementation of fp double precision less than
;
;DESCRIPTION
;Takes as input two double precision numbers and compares them.
;Returns 0 if a==b or a>b, returns 1 if a<b.
;
;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 __dlsX
;#include "__lib.h"
;
;bool __dls(double a, double b)
;
$__dls:
^qqtemp_____dls.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dls.c'.?24.1:
st AL,@(-1,Y)
st AH,@(-2,Y)
st XH,@(-4,Y)
st X,@(-3,Y)
st AL,@H'ffe1 ; %r0
st AH,@H'ffe0 ; %r0
Lstab?0c:
;{
^qqtemp_____dls.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dls.c'.?25.1:
; return (__dgr(b, a));
^qqtemp_____dls.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dls.c'.?26.1:
mov AH,Y
add AH,#-2
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(-5,Y)
ld AH,@(2,X)
st AH,@(-6,Y)
ld AH,@(1,X)
st AH,@(-7,Y)
ld AH,@(0,X)
st AH,@(-8,Y)
add Y,#-12
Lstab?1a:
mov AL,Y
add AL,#14
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
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 AL,@(1,Y)
ld AH,@(0,Y)
add Y,#2
Lstab?2a:
bsr $__dgr
add Y,#10
ld XH,@(-4,Y)
bra @(-3,Y)
Lstab?3c:
;
^qqtemp_____dls.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dls.c'.?999999.1:
;}
;
;/* arch-tag: 3bb01bc7-9d4d-49a0-abf5-97bf72f1400c
; (do not change this comment) */
;
; .import $__dgr
;
; .export $__dls
;
;
.stabs "C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dls.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\\__dls.c",132,0,0,-1
.stabs "__dls:F1",36,0,25,$__dls
.stabs "a:p11",160,0,0,-4
.stabs "b:p11",160,0,0,4
.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?1a
.stabs "a:p11",160,0,0,20
.stabs "b:p11",160,0,0,28
.stabs "!LR:3",128,0,0,16
.stabs "!SP:p1",160,0,0,24
.stabn 192,0,0,Lstab?1a
.stabn 224,0,0,Lstab?2a
.stabs "a:p11",160,0,0,16
.stabs "b:p11",160,0,0,24
.stabs "!LR:3",128,0,0,12
.stabs "!SP:p1",160,0,0,20
.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_____dw
.CODE
.LARGE
; TARGET_MAX_STACK_OVERRUN = 8
;/* Cyan Technology Ltd
; eCOG C Library
;
; DESCRIPTION
; Divides int32 a2 by int32 a1 and returns the quotient.
; */
;
;/* Copyright (C) Cyan Technology Ltd, 2004
; */
;
;#include "__lib.h"
;
;int32 __dw (int32 a1, int32 a2)
;
$__dw:
^qqtemp_____dw.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dw.c'.?13.1:
st AL,@(-1,Y)
st AH,@(-2,Y)
st XH,@(-4,Y)
st X,@(-3,Y)
st AL,@(-5,Y) ; %r16 (a1)
st AH,@(-6,Y) ; %r16 (a1)
Lstab?0c:
;{
^qqtemp_____dw.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dw.c'.?14.1:
Lstab?1c:
; int32 r;
;
; return (__dwc (a1, a2, &r));
^qqtemp_____dw.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dw.c'.?17.1:
mov AL,Y
add AL,#-8
add Y,#-9
Lstab?2a:
st AL,@(0,Y)
ld AL,@(10,Y) ; %r35 (a2)
ld AH,@(9,Y) ; %r35 (a2)
st AL,@(-1,Y)
st AH,@(-2,Y)
ld AL,@(4,Y) ; %r16 (a1)
ld AH,@(3,Y) ; %r16 (a1)
add Y,#-2
Lstab?3a:
bsr $__dwc
add Y,#11
ld XH,@(-4,Y)
bra @(-3,Y)
Lstab?4c:
;
^qqtemp_____dw.'C:\Program Files\Cyan Technology\CyanIDE\C\library\__dw.c'.?999999.1:
;}
;
;/* arch-tag: ab695dd9-4adc-41a4-822e-883f5f93c041
; (do not change this comment) */
;
; .import $__dwc
;
; .export $__dw
;
;
.stabs "C:\\Program Files\\Cyan Technology\\CyanIDE\\C\\library\\__dw.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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -