📄 main.mil
字号:
FARG_Lcd_Cmd+0 <- 12
CALL _Lcd_Cmd
//main.c,546 :: Delay1s();
CALL _Delay1s
//main.c,547 :: Delay1s();
CALL _Delay1s
//main.c,548 :: Delay1s();
CALL _Delay1s
//main.c,549 :: gsm_modem_init();
CALL _gsm_modem_init
//main.c,550 :: offset_message(1,0);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 0
CALL _offset_message
//main.c,551 :: Delay1s();
CALL _Delay1s
//main.c,552 :: Delay1s();
CALL _Delay1s
//main.c,553 :: Delay1s();
CALL _Delay1s
//main.c,554 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,555 :: door_stat = close ;
_door_stat <- 0
//main.c,556 :: while (1)
L_main_96:
//main.c,558 :: buffer = read_keypad(); // read the keypad if pressed
CALL _read_keypad
_buffer <- STACK_0
//main.c,559 :: if (buffer == '*')
if ( STACK_0 != 42) then goto L_main_98
//main.c,561 :: offset_message(1,0x10);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 16
CALL _offset_message
//main.c,562 :: clear_code_locations();
CALL _clear_code_locations
//main.c,563 :: byte_count1 = 0;
_byte_count1 <- 0
//main.c,564 :: LCD_Chr(2,5,' ');
FARG_Lcd_Chr+0 <- 2
FARG_Lcd_Chr+1 <- 5
FARG_Lcd_Chr+2 <- 32
CALL _Lcd_Chr
//main.c,565 :: while (byte_count1 < 6 && buffer != '#')
L_main_99:
if ( _byte_count1 >= 6) then goto L_main_100
if ( _buffer = 35) then goto L_main_100
L771_ex_L_main_100:
//main.c,567 :: buffer = read_keypad();
CALL _read_keypad
_buffer <- STACK_0
//main.c,568 :: if (buffer != '*' && buffer != '#' && buffer != 0)
if ( STACK_0 = 42) then goto L_main_105
if ( _buffer = 35) then goto L_main_105
if ( _buffer = 0) then goto L_main_105
L786_ex_L_main_105:
//main.c,570 :: temp_password[byte_count1] = buffer;
STACK_0 <- 0 + _byte_count1
*STACK_0 <- _buffer
//main.c,571 :: LCD_Chr_Cp('*');
FARG_Lcd_Chr_CP+0 <- 42
CALL _Lcd_Chr_CP
//main.c,572 :: byte_count1++;
_byte_count1 <- _byte_count1 + 1
_byte_count1 <- _byte_count1
//main.c,573 :: }
L_main_105:
//main.c,574 :: }
goto L_main_99
L_main_100:
//main.c,575 :: get_imbedded_password();
CALL _get_imbedded_password
//main.c,576 :: buffer = compare_codes();
CALL _compare_codes
_buffer <- STACK_0
//main.c,577 :: if (buffer)
if (!STACK_0) then goto L_main_106
//main.c,579 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,580 :: if (door_stat == close)
if ( _door_stat != 0) then goto L_main_107
//main.c,582 :: offset_message(1,0x30);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 48
CALL _offset_message
//main.c,583 :: offset_message(2,0x80);
FARG_offset_message+0 <- 2
FARG_offset_message+1 <- 128
CALL _offset_message
//main.c,584 :: }
L_main_107:
//main.c,585 :: if (door_stat == open)
if ( _door_stat != 1) then goto L_main_108
//main.c,587 :: offset_message(1,0xd0);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 208
CALL _offset_message
//main.c,588 :: offset_message(2,0x80);
FARG_offset_message+0 <- 2
FARG_offset_message+1 <- 128
CALL _offset_message
//main.c,589 :: }
L_main_108:
//main.c,590 :: while (buffer != '#')
L_main_109:
if ( _buffer = 35) then goto L_main_110
//main.c,592 :: buffer = read_keypad();
CALL _read_keypad
_buffer <- STACK_0
//main.c,593 :: if (buffer == '0' && door_stat == close)
if ( STACK_0 != 48) then goto L_main_113
if ( _door_stat != 0) then goto L_main_113
L835_ex_L_main_113:
//main.c,595 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,596 :: open_door();
CALL _open_door
//main.c,597 :: door_stat = open;
_door_stat <- 1
//main.c,598 :: goto exit1
goto ___main_exit1
//main.c,599 :: }
L_main_113:
//main.c,600 :: if (buffer == '*')
if ( _buffer != 42) then goto L_main_114
//main.c,602 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,603 :: offset_message(1,0x90);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 144
CALL _offset_message
//main.c,604 :: byte_count1 = 0;
_byte_count1 <- 0
//main.c,605 :: LCD_Chr(2,5,' ');
FARG_Lcd_Chr+0 <- 2
FARG_Lcd_Chr+1 <- 5
FARG_Lcd_Chr+2 <- 32
CALL _Lcd_Chr
//main.c,606 :: while (byte_count1 < 6 && buffer != '#')
L_main_115:
if ( _byte_count1 >= 6) then goto L_main_116
if ( _buffer = 35) then goto L_main_116
L865_ex_L_main_116:
//main.c,608 :: buffer = read_keypad();
CALL _read_keypad
_buffer <- STACK_0
//main.c,609 :: if (buffer != '*' && buffer != '#' && buffer != 0)
if ( STACK_0 = 42) then goto L_main_121
if ( _buffer = 35) then goto L_main_121
if ( _buffer = 0) then goto L_main_121
L880_ex_L_main_121:
//main.c,611 :: password[byte_count1] = buffer;
STACK_0 <- 0 + _byte_count1
*STACK_0 <- _buffer
//main.c,612 :: LCD_Chr_Cp('*');
FARG_Lcd_Chr_CP+0 <- 42
CALL _Lcd_Chr_CP
//main.c,613 :: byte_count1++;
_byte_count1 <- _byte_count1 + 1
_byte_count1 <- _byte_count1
//main.c,614 :: }
L_main_121:
//main.c,615 :: }
goto L_main_115
L_main_116:
//main.c,616 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,617 :: offset_message(1,0xa0);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 160
CALL _offset_message
//main.c,618 :: byte_count1 = 0;
_byte_count1 <- 0
//main.c,619 :: LCD_Chr(2,5,' ');
FARG_Lcd_Chr+0 <- 2
FARG_Lcd_Chr+1 <- 5
FARG_Lcd_Chr+2 <- 32
CALL _Lcd_Chr
//main.c,620 :: while (byte_count1 < 6 && buffer != '#')
L_main_122:
if ( _byte_count1 >= 6) then goto L_main_123
if ( _buffer = 35) then goto L_main_123
L911_ex_L_main_123:
//main.c,622 :: buffer = read_keypad();
CALL _read_keypad
_buffer <- STACK_0
//main.c,623 :: if (buffer != '*' && buffer != '#' && buffer != 0)
if ( STACK_0 = 42) then goto L_main_128
if ( _buffer = 35) then goto L_main_128
if ( _buffer = 0) then goto L_main_128
L926_ex_L_main_128:
//main.c,625 :: temp_password[byte_count1] = buffer;
STACK_0 <- 0 + _byte_count1
*STACK_0 <- _buffer
//main.c,626 :: LCD_Chr_Cp('*');
FARG_Lcd_Chr_CP+0 <- 42
CALL _Lcd_Chr_CP
//main.c,627 :: byte_count1++;
_byte_count1 <- _byte_count1 + 1
_byte_count1 <- _byte_count1
//main.c,628 :: }
L_main_128:
//main.c,629 :: }
goto L_main_122
L_main_123:
//main.c,630 :: buffer = compare_codes();
CALL _compare_codes
_buffer <- STACK_0
//main.c,631 :: if (buffer)
if (!STACK_0) then goto L_main_129
//main.c,633 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,634 :: offset_message(1,0xb0);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 176
CALL _offset_message
//main.c,635 :: save_password();
CALL _save_password
//main.c,636 :: Delay1s();
CALL _Delay1s
//main.c,637 :: Delay1s();
CALL _Delay1s
//main.c,638 :: goto exit1
goto ___main_exit1
//main.c,639 :: }
L_main_129:
//main.c,640 :: if (!buffer)
if (_buffer) then goto L_main_130
//main.c,642 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,643 :: offset_message(1,0xc0);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 192
CALL _offset_message
//main.c,644 :: Delay1s();
CALL _Delay1s
//main.c,645 :: Delay1s();
CALL _Delay1s
//main.c,646 :: goto exit1
goto ___main_exit1
//main.c,647 :: }
L_main_130:
//main.c,648 :: }
L_main_114:
//main.c,649 :: }
goto L_main_109
L_main_110:
//main.c,650 :: goto exit1
goto ___main_exit1
//main.c,651 :: }
L_main_106:
//main.c,652 :: if (!buffer)
if (_buffer) then goto L_main_131
//main.c,654 :: offset_message(1,0x20);
FARG_offset_message+0 <- 1
FARG_offset_message+1 <- 32
CALL _offset_message
//main.c,655 :: Delay1s();
CALL _Delay1s
//main.c,656 :: Delay1s();
CALL _Delay1s
//main.c,657 :: Delay1s();
CALL _Delay1s
//main.c,658 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,659 :: }
L_main_131:
//main.c,660 :: clear_code_locations();
CALL _clear_code_locations
//main.c,661 :: exit1: LCD_Cmd(LCD_CLEAR);
___main_exit1:
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,662 :: }
L_main_98:
//main.c,663 :: if (buffer == '#' && door_stat == open)
if ( _buffer != 35) then goto L_main_134
if ( _door_stat != 1) then goto L_main_134
L991_ex_L_main_134:
//main.c,665 :: close_door();
CALL _close_door
//main.c,666 :: door_stat = close;
_door_stat <- 0
//main.c,667 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,668 :: }
L_main_134:
//main.c,669 :: if (inside_switch && door_stat == open)
STACK_1 <- PORTD & 4
STACK_0 <- 2
STACK_1 <- STACK_1 shr STACK_0
if (!STACK_1) then goto L_main_137
if ( _door_stat != 1) then goto L_main_137
L1010_ex_L_main_137:
//main.c,671 :: close_door();
CALL _close_door
//main.c,672 :: door_stat = close;
_door_stat <- 0
//main.c,673 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,674 :: }
L_main_137:
//main.c,675 :: if (inside_switch && door_stat == close)
STACK_1 <- PORTD & 4
STACK_0 <- 2
STACK_1 <- STACK_1 shr STACK_0
if (!STACK_1) then goto L_main_140
if ( _door_stat != 0) then goto L_main_140
L1029_ex_L_main_140:
//main.c,677 :: open_door();
CALL _open_door
//main.c,678 :: door_stat = open;
_door_stat <- 1
//main.c,679 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,680 :: }
L_main_140:
//main.c,681 :: if (PIR1.RCIF)
if (!PIR1) then goto L_main_141
//main.c,683 :: clear_message_buffers();
CALL _clear_message_buffers
//main.c,684 :: recieve_message(63);
FARG_recieve_message+0 <- 63
CALL _recieve_message
//main.c,685 :: if (message_buffer[2] != 'R')// && message_buffer[62] == carriage_return)
if ( _message_buffer+2 = 82) then goto L_main_142
//main.c,687 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,688 :: transfer_senders_number();
CALL _transfer_senders_number
//main.c,689 :: transfer_sent_password();
CALL _transfer_sent_password
//main.c,690 :: get_imbedded_password();
CALL _get_imbedded_password
//main.c,691 :: buffer = compare_codes();
CALL _compare_codes
_buffer <- STACK_0
//main.c,692 :: if (buffer)
if (!STACK_0) then goto L_main_143
//main.c,694 :: buffer = compare_with_open_command();
CALL _compare_with_open_command
_buffer <- STACK_0
//main.c,695 :: if (buffer)
if (!STACK_0) then goto L_main_144
//main.c,697 :: if (!door_stat)
if (_door_stat) then goto L_main_145
//main.c,699 :: open_door();
CALL _open_door
//main.c,700 :: door_stat = 1;
_door_stat <- 1
//main.c,701 :: setup_reply_message();
CALL _setup_reply_message
//main.c,702 :: send_open_message();
CALL _send_open_message
//main.c,703 :: wait_acknowledgement();
CALL _wait_acknowledgement
//main.c,704 :: goto exit2
goto ___main_exit2
//main.c,705 :: }
L_main_145:
//main.c,706 :: if (door_stat)
if (!_door_stat) then goto L_main_146
//main.c,708 :: setup_reply_message();
CALL _setup_reply_message
//main.c,709 :: send_already_open_message();
CALL _send_already_open_message
//main.c,710 :: wait_acknowledgement();
CALL _wait_acknowledgement
//main.c,711 :: goto exit2
goto ___main_exit2
//main.c,712 :: }
L_main_146:
//main.c,713 :: }
L_main_144:
//main.c,714 :: buffer = compare_with_close_command();
CALL _compare_with_close_command
_buffer <- STACK_0
//main.c,715 :: if (buffer)
if (!STACK_0) then goto L_main_147
//main.c,717 :: if (door_stat)
if (!_door_stat) then goto L_main_148
//main.c,719 :: close_door();
CALL _close_door
//main.c,720 :: door_stat = 0;
_door_stat <- 0
//main.c,721 :: setup_reply_message();
CALL _setup_reply_message
//main.c,722 :: send_close_message();
CALL _send_close_message
//main.c,723 :: wait_acknowledgement();
CALL _wait_acknowledgement
//main.c,724 :: goto exit2
goto ___main_exit2
//main.c,725 :: }
L_main_148:
//main.c,726 :: if (!door_stat)
if (_door_stat) then goto L_main_149
//main.c,728 :: setup_reply_message();
CALL _setup_reply_message
//main.c,729 :: send_already_closed_message();
CALL _send_already_closed_message
//main.c,730 :: wait_acknowledgement();
CALL _wait_acknowledgement
//main.c,731 :: }
L_main_149:
//main.c,732 :: }
L_main_147:
//main.c,733 :: }
L_main_143:
//main.c,734 :: }
L_main_142:
//main.c,735 :: exit2: LCD_Cmd(LCD_CLEAR);
___main_exit2:
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,736 :: }
L_main_141:
//main.c,737 :: }
goto L_main_96
end
table___send_message_header:
begin
//main.c,12 :: const char send_message_header[8] = {'A','T','+','C','M','G','S','='};
asm: RETLW 65
asm: RETLW 84
asm: RETLW 43
asm: RETLW 67
asm: RETLW 77
asm: RETLW 71
asm: RETLW 83
asm: RETLW 61
end
table___open_door_text:
begin
//main.c,13 :: const char open_door_text[10] = {'D','O','O','R',' ','O','P','E','N',0x1A};
asm: RETLW 68
asm: RETLW 79
asm: RETLW 79
asm: RETLW 82
asm: RETLW 32
asm: RETLW 79
asm: RETLW 80
asm: RETLW 69
asm: RETLW 78
asm: RETLW 26
end
table___close_door_text:
begin
//main.c,14 :: const char close_door_text[12] = {'D','O','O','R',' ','C','L','O','S','E','D',0x1A};
asm: RETLW 68
asm: RETLW 79
asm: RETLW 79
asm: RETLW 82
asm: RETLW 32
asm: RETLW 67
asm: RETLW 76
asm: RETLW 79
asm: RETLW 83
asm: RETLW 69
asm: RETLW 68
asm: RETLW 26
end
table___already_opened_text:
begin
//main.c,15 :: const char already_opened_text[20] = {'D','O','O','R',' ','A','L','R','E','A','D','Y',' ',
asm: RETLW 68
asm: RETLW 79
asm: RETLW 79
asm: RETLW 82
asm: RETLW 32
asm: RETLW 65
asm: RETLW 76
asm: RETLW 82
asm: RETLW 69
asm: RETLW 65
asm: RETLW 68
asm: RETLW 89
asm: RETLW 32
asm: RETLW 79
asm: RETLW 80
asm: RETLW 69
asm: RETLW 78
asm: RETLW 69
asm: RETLW 68
asm: RETLW 26
end
table___already_closed_text:
begin
//main.c,17 :: const char already_closed_text[20] = {'D','O','O','R',' ','A','L','R','E','A','D','Y',' ',
asm: RETLW 68
asm: RETLW 79
asm: RETLW 79
asm: RETLW 82
asm: RETLW 32
asm: RETLW 65
asm: RETLW 76
asm: RETLW 82
asm: RETLW 69
asm: RETLW 65
asm: RETLW 68
asm: RETLW 89
asm: RETLW 32
asm: RETLW 67
asm: RETLW 76
asm: RETLW 79
asm: RETLW 83
asm: RETLW 69
asm: RETLW 68
asm: RETLW 26
end
table___settings:
begin
//main.c,20 :: const char settings [18] = {'A','T','+','C','N','M','I','=',
asm: RETLW 65
asm: RETLW 84
asm: RETLW 43
asm: RETLW 67
asm: RETLW 78
asm: RETLW 77
asm: RETLW 73
asm: RETLW 61
asm: RETLW 49
asm: RETLW 44
asm: RETLW 50
asm: RETLW 44
asm: RETLW 50
asm: RETLW 44
asm: RETLW 49
asm: RETLW 44
asm: RETLW 48
asm: RETLW 13
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -