📄 main.asm
字号:
; generated by Norcroft eCOG C Compiler V1.10 $BuildRevision$
; special options: -g
;
MODULE main___main
.CODE
.LARGE
; TARGET_MAX_STACK_OVERRUN = 8
;/******************************************************************************
;MODE: AML--#GPS+accelerator+compass
;MCU: Cyan eCOG1k
;COMPILER: CyanIDE v1.41
;FILE NAME: main C source code files
;******************************************************************************/
;#define main_code
;
;/******************************************************************************
;Project level include files.
;******************************************************************************/
;#include <ecog.h>
;#include <ecog1.h>
;#include "gps.h"
;#include "key_scan.h"
;#include "cyan_base_driver.h"
;
;/******************************************************************************
;Global variables.
;******************************************************************************/
;unsigned int led_timer_count = 0;
;unsigned int a_baud_save = 162;
;
;char send_latitude[10];
;char send_latitude_aspect[2];
;char send_longitude[11];
;char send_longitude_aspect[2];
;char send_antenna_height[9];
;char send_gps_state[2];
;
;char receive_temp_buf[20];
;unsigned int receive_p;
;/******************************************************************************
;Private constants and types.
;******************************************************************************/
;#define RESPONSE_TIME 1000//ms
;#define CTRL_Z 26
;/******************************************************************************
;Declaration of static functions.
;******************************************************************************/
;void SIM300C_initialization(void);
;/******************************************************************************
;main functions.
;******************************************************************************/
;int main(int argc, char* argv[])
;
$main:
^main___main.'D:\simcom\software\SIM300C\main.c'.?45.1:
add Y,#-12
Lstab?0a:
st AL,@(10,Y)
st AH,@(11,Y)
st XH,@(8,Y)
st X,@(9,Y)
st AH,@(5,Y) ; %r18 (argv)
st AL,@(7,Y) ; %r19 (argc)
Lstab?1c:
;{
^main___main.'D:\simcom\software\SIM300C\main.c'.?46.1:
Lstab?2c:
^main___main.'D:\simcom\software\SIM300C\main.c'.?47.1:
ld AL,#0
; unsigned int i,key_value = 0;
;
; timer_initialization();
st AL,@(3,Y) ; %r17 (key_value)
^main___main.'D:\simcom\software\SIM300C\main.c'.?49.1:
bsr $timer_initialization
; uart_initialization();
^main___main.'D:\simcom\software\SIM300C\main.c'.?50.1:
bsr $uart_initialization
; gps_initialization();
^main___main.'D:\simcom\software\SIM300C\main.c'.?51.1:
bsr $gps_initialization
;
; delay_ms(5000);
^main___main.'D:\simcom\software\SIM300C\main.c'.?53.1:
ld AL,#5000
bsr $delay_ms
; delay_ms(5000);
^main___main.'D:\simcom\software\SIM300C\main.c'.?54.1:
ld AL,#5000
bsr $delay_ms
;
; SIM300C_initialization();
^main___main.'D:\simcom\software\SIM300C\main.c'.?56.1:
bsr $SIM300C_initialization
; delay_ms(1000);
^main___main.'D:\simcom\software\SIM300C\main.c'.?57.1:
ld AL,#1000
bsr $delay_ms
; SIM300C_initialization();
^main___main.'D:\simcom\software\SIM300C\main.c'.?58.1:
bsr $SIM300C_initialization
; delay_ms(1000);
^main___main.'D:\simcom\software\SIM300C\main.c'.?59.1:
ld AL,#1000
bsr $delay_ms
;
; fd.tim.int_en1.cnt1_exp = 1; //LED3 flash indicate normal operation,
^main___main.'D:\simcom\software\SIM300C\main.c'.?61.1:
ld AL,@$fd+H'9b
or AL,#4
st AL,@$fd+H'9b
; //Timer1 control it.
; while(1)
^main___main.'D:\simcom\software\SIM300C\main.c'.?63.1:
?L5F1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?63.1:
; {
^main___main.'D:\simcom\software\SIM300C\main.c'.?64.1:
; if(GPS_RECEIVE_DONE_FLAG)
^main___main.'D:\simcom\software\SIM300C\main.c'.?65.1:
ld AL,@$routing_flag
asr #12
and AL,#15
beq ?L66F1
; {
^main___main.'D:\simcom\software\SIM300C\main.c'.?66.1:
; if(GPGSA.position_MSG[0] < '2')
^main___main.'D:\simcom\software\SIM300C\main.c'.?67.1:
ld AL,#$GPGSA
ld AH,#0
asl #1
movax
st AL,@H'ffe5 ; %r2
st AH,@H'ffe4 ; %r2
ld.bu AL,@(9,X)
cmp AL,#'2'
blt ?L145F1
bra ?L11F1
?L145F1:
; {
^main___main.'D:\simcom\software\SIM300C\main.c'.?68.1:
; rg.io.gp0_3_out = IO_GP0_3_OUT_SET0_MASK; //LED0 indicate GPS in position.
^main___main.'D:\simcom\software\SIM300C\main.c'.?69.1:
ld AL,#1
st AL,@$rg+H'10d
bra ?L15F1
?L11F1:
; }
; else
; {
^main___main.'D:\simcom\software\SIM300C\main.c'.?72.1:
; rg.io.gp0_3_out = IO_GP0_3_OUT_CLR0_MASK;
^main___main.'D:\simcom\software\SIM300C\main.c'.?73.1:
ld AL,#2
st AL,@$rg+H'10d
?L15F1:
; }
;
; GPS_RECEIVE_DONE_FLAG = 0;
^main___main.'D:\simcom\software\SIM300C\main.c'.?76.1:
ld AL,@$routing_flag
and AL,#4095
st AL,@$routing_flag
; for(i = 0;i < 2;i++)
^main___main.'D:\simcom\software\SIM300C\main.c'.?77.1:
ld AL,#0
st AL,@(1,Y) ; %r16 (i)
?L19F1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?77.1:
ld AH,@(1,Y) ; %r16 (i)
cmp AH,#2
bcs ?L18F1
bra ?L21F1
?L20F1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?77.1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?77.1:
ld AL,@(1,Y) ; %r16 (i)
add AL,#1
st AL,@(1,Y) ; %r16 (i)
bra ?L19F1
?L18F1:
; {
^main___main.'D:\simcom\software\SIM300C\main.c'.?78.1:
; send_gps_state[i] = GPGSA.position_MSG[i];
^main___main.'D:\simcom\software\SIM300C\main.c'.?79.1:
ld AL,#$GPGSA
ld AH,#0
asl #1
st AL,@H'ffe5 ; %r2
st AH,@H'ffe4 ; %r2
ld AL,@(1,Y) ; %r16 (i)
ld AH,#0
add AL,@H'ffe5 ; %r2
addc AH,@H'ffe4 ; %r2
st AL,@H'ffe5 ; %r2
st AH,@H'ffe4 ; %r2
movax
ld.bu AH,@(9,X)
st AH,@H'ffe5 ; %r2
ld AL,@(1,Y) ; %r16 (i)
ld AH,#0
add AL,#lwrd(2*$send_gps_state)
addc AH,#hwrd(2*$send_gps_state)
st AL,@H'ffe7 ; %r3
st AH,@H'ffe6 ; %r3
movax
ld AH,@H'ffe5 ; %r2
st.b AH,@(0,X)
; if(send_gps_state[i] == ',')
^main___main.'D:\simcom\software\SIM300C\main.c'.?80.1:
ld AL,@(1,Y) ; %r16 (i)
ld AH,#0
add AL,#lwrd(2*$send_gps_state)
addc AH,#hwrd(2*$send_gps_state)
movax
st AL,@H'ffe5 ; %r2
st AH,@H'ffe4 ; %r2
ld.bu AL,@(0,X)
cmp AL,#','
bne ?L24F1
; send_gps_state[i] = 0;
^main___main.'D:\simcom\software\SIM300C\main.c'.?81.1:
ld AH,#0
st AH,@H'ffe5 ; %r2
ld AL,@(1,Y) ; %r16 (i)
add AL,#lwrd(2*$send_gps_state)
addc AH,#hwrd(2*$send_gps_state)
st AL,@H'ffe7 ; %r3
st AH,@H'ffe6 ; %r3
movax
ld AH,@H'ffe5 ; %r2
st.b AH,@(0,X)
?L24F1:
bra ?L20F1
?L21F1:
; }
; for(i = 0;i < 10;i++)
^main___main.'D:\simcom\software\SIM300C\main.c'.?83.1:
ld AL,#0
st AL,@(1,Y) ; %r16 (i)
?L28F1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?83.1:
ld AH,@(1,Y) ; %r16 (i)
cmp AH,#10
bcs ?L27F1
bra ?L30F1
?L29F1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?83.1:
; ^main___main.'D:\simcom\software\SIM300C\main.c'.?83.1:
ld AL,@(1,Y) ; %r16 (i)
add AL,#1
st AL,@(1,Y) ; %r16 (i)
bra ?L28F1
?L27F1:
; {
^main___main.'D:\simcom\software\SIM300C\main.c'.?84.1:
; send_latitude[i] = GPGGA.latitude[i];
^main___main.'D:\simcom\software\SIM300C\main.c'.?85.1:
ld AL,#$GPGGA
ld AH,#0
asl #1
st AL,@H'ffe5 ; %r2
st AH,@H'ffe4 ; %r2
ld AL,@(1,Y) ; %r16 (i)
ld AH,#0
add AL,@H'ffe5 ; %r2
addc AH,@H'ffe4 ; %r2
st AL,@H'ffe5 ; %r2
st AH,@H'ffe4 ; %r2
movax
ld.bu AH,@(17,X)
st AH,@H'ffe5 ; %r2
ld AL,@(1,Y) ; %r16 (i)
ld AH,#0
add AL,#lwrd(2*$send_latitude)
addc AH,#hwrd(2*$send_latitude)
st AL,@H'ffe7 ; %r3
st AH,@H'ffe6 ; %r3
movax
ld AH,@H'ffe5 ; %r2
st.b AH,@(0,X)
; if(send_latitude[i] == ',')
^main___main.'D:\simcom\software\SIM300C\main.c'.?86.1:
ld AL,@(1,Y) ; %r16 (i)
ld AH,#0
add AL,#lwrd(2*$send_latitude)
addc AH,#hwrd(2*$send_latitude)
movax
st AL,@H'ffe5 ; %r2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -