📄 gac_algorithm.asm
字号:
Lstab?44c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?177.1:
add Y,#32
ld XH,@(-3,Y)
bra @(-2,Y)
Lstab?45c:
;
;}
;
;/******************************************************************************
;GS[20]; //GPS_distance_buffer
; --- --- ---
;GS[n] buffer : | x | y | z |
; --- --- ---
;AS[20]; //ACC_distance_buffer
;N = 20;
;******************************************************************************/
;
;void LSE_get_earth_distance(void)
;
$LSE_get_earth_distance:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?188.1:
st XH,@(-2,Y)
st X,@(-1,Y)
Lstab?46c:
;{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?189.1:
Lstab?47c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?195.1:
add Y,#-100
Lstab?48a:
ld X,#$AV
st Y,@H'fffe
add Y,#8 ; AV0
ld AL,#8
bc
sub Y,#16
st AL,@H'fffe
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?195.1:
ld X,#$AS
st Y,@H'fffe
ld AL,#8
bc
sub Y,#8
st AL,@H'fffe
; unsigned int n;
; double I[BUF_LENGTH];
;
;
;
; XYZ_type AV0 = AV[0],AS0 = AS[0];
;
; for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
ld AL,#0
st AL,@(97,Y) ; %r16 (n)
?L5F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
ld AH,@(97,Y) ; %r16 (n)
cmp AH,#20
bcs ?L4F5
bra ?L7F5
?L6F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
ld AL,@(97,Y) ; %r16 (n)
add AL,#1
st AL,@(97,Y) ; %r16 (n)
bra ?L5F5
?L4F5:
; {
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?198.1:
; AS[n].x = AS[n].x - AS0.x - AV0.x * n;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?199.1:
ld AL,@(97,Y) ; %r16 (n)
ld AH,#0
add Y,#-22
Lstab?49a:
st AL,@(1,Y)
st AH,@(0,Y)
mov AL,Y
add AL,#14
ld AH,@(0,Y)
add Y,#1
Lstab?50a:
bsr $__dfltu
mov AH,Y
add AH,#13
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(4,Y)
ld AH,@(2,X)
st AH,@(3,Y)
ld AH,@(1,X)
st AH,@(2,Y)
ld AH,@(0,X)
st AH,@(1,Y)
mov AL,Y
add AL,#29
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(0,Y)
ld AH,@(2,X)
st AH,@(-1,Y)
ld AH,@(1,X)
st AH,@(-2,Y)
ld AH,@(0,X)
st AH,@(-3,Y)
mov AL,Y
add AL,#17
ld AH,@(-3,Y)
add Y,#-2
Lstab?51a:
bsr $__dmul
mov AH,Y
add AH,#19
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
mov AL,Y
add AL,#23
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(2,Y)
ld AH,@(2,X)
st AH,@(1,Y)
ld AH,@(1,X)
st AH,@(0,Y)
ld AH,@(0,X)
st AH,@(-1,Y)
ld AL,@(120,Y) ; %r16 (n)
asl #3
add AL,#$AS
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(-2,Y)
ld AH,@(2,X)
st AH,@(-3,Y)
ld AH,@(1,X)
st AH,@(-4,Y)
ld AH,@(0,X)
st AH,@(-5,Y)
mov AL,Y
add AL,#11
ld AH,@(-5,Y)
add Y,#-4
Lstab?52a:
bsr $__dsub
mov AL,Y
add AL,#15
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
ld AL,@(124,Y) ; %r16 (n)
asl #3
add AL,#$AS
ld AH,@(7,Y)
add Y,#8
Lstab?53a:
bsr $__dsub
; AV[n].x = AV[n].x - AV0.x;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?200.1:
mov AL,Y
add AL,#27
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(18,Y)
ld AH,@(2,X)
st AH,@(17,Y)
ld AH,@(1,X)
st AH,@(16,Y)
ld AH,@(0,X)
st AH,@(15,Y)
ld AL,@(116,Y) ; %r16 (n)
asl #3
add AL,#$AV
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(14,Y)
ld AH,@(2,X)
st AH,@(13,Y)
ld AH,@(1,X)
st AH,@(12,Y)
ld AH,@(0,X)
st AH,@(11,Y)
ld AL,@(116,Y) ; %r16 (n)
asl #3
add AL,#$AV
ld AH,@(11,Y)
add Y,#12
Lstab?54a:
bsr $__dsub
; AS[n].y = AS[n].y - AS0.y - AV0.y * n;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?201.1:
ld AL,@(104,Y) ; %r16 (n)
ld AH,#0
add Y,#-15
Lstab?55a:
st AL,@(1,Y)
st AH,@(0,Y)
mov AL,Y
add AL,#14
ld AH,@(0,Y)
add Y,#1
Lstab?56a:
bsr $__dfltu
mov AH,Y
add AH,#13
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(4,Y)
ld AH,@(2,X)
st AH,@(3,Y)
ld AH,@(1,X)
st AH,@(2,Y)
ld AH,@(0,X)
st AH,@(1,Y)
mov AL,Y
add AL,#29
add AL,#4
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(0,Y)
ld AH,@(2,X)
st AH,@(-1,Y)
ld AH,@(1,X)
st AH,@(-2,Y)
ld AH,@(0,X)
st AH,@(-3,Y)
mov AL,Y
add AL,#17
ld AH,@(-3,Y)
add Y,#-2
Lstab?57a:
bsr $__dmul
mov AL,Y
add AL,#19
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
mov AL,Y
add AL,#23
add AL,#4
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(2,Y)
ld AH,@(2,X)
st AH,@(1,Y)
ld AH,@(1,X)
st AH,@(0,Y)
ld AH,@(0,X)
st AH,@(-1,Y)
ld AL,@(120,Y) ; %r16 (n)
asl #3
add AL,#$AS
add AL,#4
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(-2,Y)
ld AH,@(2,X)
st AH,@(-3,Y)
ld AH,@(1,X)
st AH,@(-4,Y)
ld AH,@(0,X)
st AH,@(-5,Y)
mov AL,Y
add AL,#11
ld AH,@(-5,Y)
add Y,#-4
Lstab?58a:
bsr $__dsub
mov AH,Y
add AH,#15
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
ld AL,@(124,Y) ; %r16 (n)
asl #3
add AL,#$AS
add AL,#4
ld AH,@(7,Y)
add Y,#8
Lstab?59a:
bsr $__dsub
; AV[n].y = AV[n].y - AV0.y;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?202.1:
mov AL,Y
add AL,#27
add AL,#4
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(18,Y)
ld AH,@(2,X)
st AH,@(17,Y)
ld AH,@(1,X)
st AH,@(16,Y)
ld AH,@(0,X)
st AH,@(15,Y)
ld AL,@(116,Y) ; %r16 (n)
asl #3
add AL,#$AV
add AL,#4
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(14,Y)
ld AH,@(2,X)
st AH,@(13,Y)
ld AH,@(1,X)
st AH,@(12,Y)
ld AH,@(0,X)
st AH,@(11,Y)
ld AL,@(116,Y) ; %r16 (n)
asl #3
add AL,#$AV
add AL,#4
ld AH,@(11,Y)
add Y,#12
Lstab?60a:
bsr $__dsub
add Y,#7
Lstab?61a:
bra ?L6F5
?L7F5:
; }
;
; ACC_COM_insert_reading();
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?205.1:
bsr $ACC_COM_insert_reading
;
; for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
ld AL,#0
st AL,@(97,Y) ; %r16 (n)
?L12F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
ld AH,@(97,Y) ; %r16 (n)
cmp AH,#20
bcs ?L11F5
bra ?L14F5
?L13F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
ld AL,@(97,Y) ; %r16 (n)
add AL,#1
st AL,@(97,Y) ; %r16 (n)
bra ?L12F5
?L11F5:
; {
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?208.1:
; I[n] = GS[n].x - AS[n].x;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?209.1:
ld AL,@(97,Y) ; %r16 (n)
asl #3
add AL,#$AS
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(-1,Y)
ld AH,@(2,X)
st AH,@(-2,Y)
ld AH,@(1,X)
st AH,@(-3,Y)
ld AH,@(0,X)
st AH,@(-4,Y)
ld AL,@(97,Y) ; %r16 (n)
asl #3
add AL,#$GS
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
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)
ld AL,@(97,Y) ; %r16 (n)
asl #2
mov AH,Y
add AH,#16
st AH,@H'ffe5 ; %r2
add AL,@H'ffe5 ; %r2
ld AH,@(-8,Y)
add Y,#-7
Lstab?62a:
bsr $__dsub
add Y,#7
Lstab?63a:
bra ?L13F5
?L14F5:
; }
; ACC_COM_insert_reading();
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?211.1:
bsr $ACC_COM_insert_reading
; LSE_get_start_value(&I[0]);
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?212.1:
mov AL,Y
add AL,#16
bsr $LSE_get_start_value
; for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
ld AL,#0
st AL,@(97,Y) ; %r16 (n)
?L19F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
ld AH,@(97,Y) ; %r16 (n)
cmp AH,#20
bcs ?L18F5
bra ?L21F5
?L20F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
ld AL,@(97,Y) ; %r16 (n)
add AL,#1
st AL,@(97,Y) ; %r16 (n)
bra ?L19F5
?L18F5:
; {
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?214.1:
; AS[n].x = AS[n].x + LSE_VXYZ0 * ((double)n + 1.0) + LSE_XYZ0;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?215.1:
add Y,#-20
Lstab?64a:
ld X,#$LSE_XYZ0
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)
add Y,#-16
Lstab?65a:
ld X,#?lit0003
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,@(133,Y) ; %r16 (n)
ld AH,#0
st AL,@(-5,Y)
st AH,@(-6,Y)
mov AL,Y
add AL,#20
ld AH,@(-6,Y)
add Y,#-5
Lstab?66a:
bsr $__dfltu
mov AH,Y
add AH,#25
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(4,Y)
ld AH,@(2,X)
st AH,@(3,Y)
ld AH,@(1,X)
st AH,@(2,Y)
ld AH,@(0,X)
st AH,@(1,Y)
mov AL,Y
add AL,#29
ld AH,@(1,Y)
add Y,#2
Lstab?67a:
bsr $__dadd
mov AL,Y
add AL,#27
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
ld X,#$LSE_VXYZ0
ld AH,@(3,X)
st AH,@(6,Y)
ld AH,@(2,X)
st AH,@(5,Y)
ld AH,@(1,X)
st AH,@(4,Y)
ld AH,@(0,X)
st AH,@(3,Y)
mov AL,Y
add AL,#31
ld AH,@(3,Y)
add Y,#4
Lstab?68a:
bsr $__dmul
mov AH,Y
add AH,#27
st AH,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
ld AL,@(132,Y) ; %r16 (n)
asl #3
add AL,#$AS
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(6,Y)
ld AH,@(2,X)
st AH,@(5,Y)
ld AH,@(1,X)
st AH,@(4,Y)
ld AH,@(0,X)
st AH,@(3,Y)
mov AL,Y
add AL,#31
ld AH,@(3,Y)
add Y,#4
Lstab?69a:
bsr $__dadd
mov AL,Y
add AL,#27
st AL,@H'ffe1 ; %r0
ld X,@H'ffe1 ; %r0
ld AH,@(3,X)
st AH,@(10,Y)
ld AH,@(2,X)
st AH,@(9,Y)
ld AH,@(1,X)
st AH,@(8,Y)
ld AH,@(0,X)
st AH,@(7,Y)
ld AL,@(128,Y) ; %r16 (n)
asl #3
add AL,#$AS
ld AH,@(7,Y)
add Y,#8
Lstab?70a:
bsr $__dadd
; AV[n].x = AV[n].x + LSE_VXYZ0;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?216.1:
ld X,#$LSE_VXYZ0
ld AH,@(3,X)
st AH,@(22,Y)
ld AH,@(2,X)
st AH,@(21,Y)
ld AH,@(1,X)
st AH,@(20,Y)
ld AH,@(0,X)
st AH,@(19,Y)
ld AL,@(120,Y) ; %r16 (n)
asl #3
add AL,#$AV
st AL,@H'ffe5 ; %r2
ld X,@H'ffe5 ; %r2
ld AH,@(3,X)
st AH,@(18,Y)
ld AH,@(2,X)
st AH,@(17,Y)
ld AH,@(1,X)
st AH,@(16,Y)
ld AH,@(0,X)
st AH,@(15,Y)
ld AL,@(120,Y) ; %r16 (n)
asl #3
add AL,#$AV
ld AH,@(15,Y)
add Y,#16
Lstab?71a:
bsr $__dadd
add Y,#7
Lstab?72a:
bra ?L20F5
?L21F5:
; }
;
; ACC_COM_insert_reading();
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?219.1:
bsr $ACC_COM_insert_reading
; for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?220.1:
ld AL,#0
st AL,@(97,Y) ; %r16 (n)
?L26F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?220.1:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -