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

📄 main.lst

📁 Firmware that controls a sliding door via a GSM modem (Open and Close the door)
💻 LST
📖 第 1 页 / 共 5 页
字号:
;  ASM code generated by mikroVirtualMachine for PIC - V. 8.0.0.0
;  Date/Time: 7/14/2008 11:23:11 PM
;  Info: http://www.mikroe.com


; ADDRESS	OPCODE	ASM
; ----------------------------------------------
$0000	$158A			BSF	PCLATH, 3
$0001	$2800			GOTO	_main
$0004	$	_Delay_1us:
;delays.c,7 :: 		void Delay_1us() {
;delays.c,8 :: 		Delay_us(1);
$0004	$0000			NOP
;delays.c,9 :: 		}
$0005	$0008			RETURN
$0006	$	_Delay_5500us:
;delays.c,31 :: 		void Delay_5500us() {
;delays.c,32 :: 		Delay_us(5500);
$0006	$3008			MOVLW	8
$0007	$1303			BCF	STATUS, RP1
$0008	$1283			BCF	STATUS, RP0
$0009	$00FB			MOVWF	STACK_11
$000A	$30FF			MOVLW	255
$000B	$00FA			MOVWF	STACK_10
$000C	$0BFB			DECFSZ	STACK_11, F
$000D	$280F			GOTO	$+2
$000E	$2812			GOTO	$+4
$000F	$0BFA			DECFSZ	STACK_10, F
$0010	$280F			GOTO	$-1
$0011	$280C			GOTO	$-5
$0012	$301E			MOVLW	30
$0013	$00FA			MOVWF	STACK_10
$0014	$0BFA			DECFSZ	STACK_10, F
$0015	$2814			GOTO	$-1
;delays.c,33 :: 		}
$0016	$0008			RETURN
$0017	$	_Delay_50us:
;delays.c,19 :: 		void Delay_50us() {
;delays.c,20 :: 		Delay_us(50);
$0017	$3010			MOVLW	16
$0018	$1303			BCF	STATUS, RP1
$0019	$1283			BCF	STATUS, RP0
$001A	$00FA			MOVWF	STACK_10
$001B	$0BFA			DECFSZ	STACK_10, F
$001C	$281B			GOTO	$-1
$001D	$0000			NOP
;delays.c,21 :: 		}
$001E	$0008			RETURN
$001F	$	_Lcd_Cmd:
$001F	$1303			BCF	STATUS, RP1
$0020	$1283			BCF	STATUS, RP0
$0021	$0820			MOVF	LCD_port_address, 0
$0022	$0084			MOVWF	FSR
$0023	$0850			MOVF	FARG_Lcd_Cmd+0, 0
$0024	$1903			BTFSC	STATUS, Z
$0025	$2826			GOTO	L_Lcd_Cmd_0
$0026	$	L_Lcd_Cmd_0:
$0026	$1180			BCF	INDF, ___ENABLE
$0027	$1100			BCF	INDF, ___RS
$0028	$1380			BCF	INDF, ___DB7
$0029	$1300			BCF	INDF, ___DB6
$002A	$1280			BCF	INDF, ___DB5
$002B	$1200			BCF	INDF, ___DB4
$002C	$1BD0			BTFSC	FARG_Lcd_Cmd+0, 7
$002D	$1780			BSF	INDF, ___DB7
$002E	$1B50			BTFSC	FARG_Lcd_Cmd+0, 6
$002F	$1700			BSF	INDF, ___DB6
$0030	$1AD0			BTFSC	FARG_Lcd_Cmd+0, 5
$0031	$1680			BSF	INDF, ___DB5
$0032	$1A50			BTFSC	FARG_Lcd_Cmd+0, 4
$0033	$1600			BSF	INDF, ___DB4
$0034	$0821			MOVF	LCD_cmd_status, 0
$0035	$1903			BTFSC	STATUS, Z
$0036	$2839			GOTO	L_Lcd_Cmd_1
$0037	$1100			BCF	INDF, ___RS
$0038	$283A			GOTO	L_Lcd_Cmd_2
$0039	$	L_Lcd_Cmd_1:
$0039	$1500			BSF	INDF, ___RS
$003A	$	L_Lcd_Cmd_2:
$003A	$1580			BSF	INDF, ___ENABLE
$003B	$2004			CALL	_Delay_1us
$003C	$0850			MOVF	FARG_Lcd_Cmd+0, 0
$003D	$1903			BTFSC	STATUS, Z
$003E	$283F			GOTO	L_Lcd_Cmd_3
$003F	$	L_Lcd_Cmd_3:
$003F	$1180			BCF	INDF, ___ENABLE
$0040	$1100			BCF	INDF, ___RS
$0041	$1380			BCF	INDF, ___DB7
$0042	$1300			BCF	INDF, ___DB6
$0043	$1280			BCF	INDF, ___DB5
$0044	$1200			BCF	INDF, ___DB4
$0045	$19D0			BTFSC	FARG_Lcd_Cmd+0, 3
$0046	$1780			BSF	INDF, ___DB7
$0047	$1950			BTFSC	FARG_Lcd_Cmd+0, 2
$0048	$1700			BSF	INDF, ___DB6
$0049	$18D0			BTFSC	FARG_Lcd_Cmd+0, 1
$004A	$1680			BSF	INDF, ___DB5
$004B	$1850			BTFSC	FARG_Lcd_Cmd+0, 0
$004C	$1600			BSF	INDF, ___DB4
$004D	$0821			MOVF	LCD_cmd_status, 0
$004E	$1903			BTFSC	STATUS, Z
$004F	$2852			GOTO	L_Lcd_Cmd_4
$0050	$1100			BCF	INDF, ___RS
$0051	$2853			GOTO	L_Lcd_Cmd_5
$0052	$	L_Lcd_Cmd_4:
$0052	$1500			BSF	INDF, ___RS
$0053	$	L_Lcd_Cmd_5:
$0053	$1580			BSF	INDF, ___ENABLE
$0054	$2004			CALL	_Delay_1us
$0055	$1180			BCF	INDF, ___ENABLE
$0056	$0821			MOVF	LCD_cmd_status, 0
$0057	$1903			BTFSC	STATUS, Z
$0058	$285B			GOTO	L_Lcd_Cmd_6
$0059	$2006			CALL	_Delay_5500us
$005A	$285C			GOTO	L_Lcd_Cmd_7
$005B	$	L_Lcd_Cmd_6:
$005B	$2017			CALL	_Delay_50us
$005C	$	L_Lcd_Cmd_7:
$005C	$0008			RETURN
$005D	$	_EEprom_read:
$005D	$1303			BCF	STATUS, RP1
$005E	$1283			BCF	STATUS, RP0
$005F	$084D			MOVF	FARG_EEprom_read+0, 0
$0060	$1703			BSF	STATUS, RP1
$0061	$008D			MOVWF	EEADR
$0062	$1683			BSF	STATUS, RP0
$0063	$138C			BCF	EECON1, 7
$0064	$140C			BSF	EECON1, 0
$0065	$1283			BCF	STATUS, RP0
$0066	$080C			MOVF	EEDATA, 0
$0067	$00F0			MOVWF	STACK_0
$0068	$0008			RETURN
$0069	$	_Lcd_Chr:
$0069	$287B			GOTO	L_Lcd_Chr_8
$006A	$	L_Lcd_Chr_10:
$006A	$3080			MOVLW	128
$006B	$1303			BCF	STATUS, RP1
$006C	$1283			BCF	STATUS, RP0
$006D	$00CD			MOVWF	FARG_Lcd_Chr+0
$006E	$288E			GOTO	L_Lcd_Chr_9
$006F	$	L_Lcd_Chr_11:
$006F	$30C0			MOVLW	192
$0070	$00CD			MOVWF	FARG_Lcd_Chr+0
$0071	$288E			GOTO	L_Lcd_Chr_9
$0072	$	L_Lcd_Chr_12:
$0072	$3094			MOVLW	148
$0073	$00CD			MOVWF	FARG_Lcd_Chr+0
$0074	$288E			GOTO	L_Lcd_Chr_9
$0075	$	L_Lcd_Chr_13:
$0075	$30D4			MOVLW	212
$0076	$00CD			MOVWF	FARG_Lcd_Chr+0
$0077	$288E			GOTO	L_Lcd_Chr_9
$0078	$	L_Lcd_Chr_14:
$0078	$3080			MOVLW	128
$0079	$00CD			MOVWF	FARG_Lcd_Chr+0
$007A	$288E			GOTO	L_Lcd_Chr_9
$007B	$	L_Lcd_Chr_8:
$007B	$1303			BCF	STATUS, RP1
$007C	$1283			BCF	STATUS, RP0
$007D	$084D			MOVF	FARG_Lcd_Chr+0, 0
$007E	$3A01			XORLW	1
$007F	$1903			BTFSC	STATUS, Z
$0080	$286A			GOTO	L_Lcd_Chr_10
$0081	$084D			MOVF	FARG_Lcd_Chr+0, 0
$0082	$3A02			XORLW	2
$0083	$1903			BTFSC	STATUS, Z
$0084	$286F			GOTO	L_Lcd_Chr_11
$0085	$084D			MOVF	FARG_Lcd_Chr+0, 0
$0086	$3A03			XORLW	3
$0087	$1903			BTFSC	STATUS, Z
$0088	$2872			GOTO	L_Lcd_Chr_12
$0089	$084D			MOVF	FARG_Lcd_Chr+0, 0
$008A	$3A04			XORLW	4
$008B	$1903			BTFSC	STATUS, Z
$008C	$2875			GOTO	L_Lcd_Chr_13
$008D	$2878			GOTO	L_Lcd_Chr_14
$008E	$	L_Lcd_Chr_9:
$008E	$034E			DECF	FARG_Lcd_Chr+1, 0
$008F	$00F0			MOVWF	STACK_0
$0090	$084D			MOVF	FARG_Lcd_Chr+0, 0
$0091	$07F0			ADDWF	STACK_0, 1
$0092	$0870			MOVF	STACK_0, 0
$0093	$00CD			MOVWF	FARG_Lcd_Chr+0
$0094	$3001			MOVLW	1
$0095	$00A1			MOVWF	LCD_cmd_status
$0096	$0870			MOVF	STACK_0, 0
$0097	$00D0			MOVWF	FARG_Lcd_Cmd+0
$0098	$201F			CALL	_Lcd_Cmd
$0099	$01A1			CLRF	LCD_cmd_status, 1
$009A	$084F			MOVF	FARG_Lcd_Chr+2, 0
$009B	$00D0			MOVWF	FARG_Lcd_Cmd+0
$009C	$201F			CALL	_Lcd_Cmd
$009D	$3001			MOVLW	1
$009E	$00A1			MOVWF	LCD_cmd_status
$009F	$0008			RETURN
$00A0	$	_motor_delay:
;main.c,439 :: 		void motor_delay()
;main.c,441 :: 		Delay_ms(15);
$00A0	$3014			MOVLW	20
$00A1	$1303			BCF	STATUS, RP1
$00A2	$1283			BCF	STATUS, RP0
$00A3	$00FB			MOVWF	STACK_11
$00A4	$30FF			MOVLW	255
$00A5	$00FA			MOVWF	STACK_10
$00A6	$0BFB			DECFSZ	STACK_11, F
$00A7	$28A9			GOTO	$+2
$00A8	$28AC			GOTO	$+4
$00A9	$0BFA			DECFSZ	STACK_10, F
$00AA	$28A9			GOTO	$-1
$00AB	$28A6			GOTO	$-5
$00AC	$306C			MOVLW	108
$00AD	$00FA			MOVWF	STACK_10
$00AE	$0BFA			DECFSZ	STACK_10, F
$00AF	$28AE			GOTO	$-1
$00B0	$0000			NOP
$00B1	$0000			NOP
;main.c,442 :: 		}
$00B2	$0008			RETURN
$00B3	$	table___settings:
;main.c,20 :: 		const char settings [18] = {'A','T','+','C','N','M','I','=',
$00B3	$3441			RETLW	65
$00B4	$3454			RETLW	84
$00B5	$342B			RETLW	43
$00B6	$3443			RETLW	67
$00B7	$344E			RETLW	78
$00B8	$344D			RETLW	77
$00B9	$3449			RETLW	73
$00BA	$343D			RETLW	61
$00BB	$3431			RETLW	49
$00BC	$342C			RETLW	44
$00BD	$3432			RETLW	50
$00BE	$342C			RETLW	44
$00BF	$3432			RETLW	50
$00C0	$342C			RETLW	44
$00C1	$3431			RETLW	49
$00C2	$342C			RETLW	44
$00C3	$3430			RETLW	48
$00C4	$340D			RETLW	13
$00C5	$0008			RETURN
$00C6	$	_____DoICP:
$00C6	$1303			BCF	STATUS, RP1
$00C7	$1283			BCF	STATUS, RP0
$00C8	$0823			MOVF	___DoICPHiAddr, 0
$00C9	$008A			MOVWF	PCLATH
$00CA	$0824			MOVF	___DoICPLoAddr, 0
$00CB	$0082			MOVWF	PCL
$00CC	$0008			RETURN
$00CD	$	_Delay250ms:
;main.c,73 :: 		void Delay250ms() //ok
;main.c,75 :: 		Delay_ms(250);
$00CD	$3002			MOVLW	2
$00CE	$1303			BCF	STATUS, RP1
$00CF	$1283			BCF	STATUS, RP0
$00D0	$00FC			MOVWF	STACK_12
$00D1	$30FF			MOVLW	255
$00D2	$00FB			MOVWF	STACK_11
$00D3	$30FF			MOVLW	255
$00D4	$00FA			MOVWF	STACK_10
$00D5	$0BFC			DECFSZ	STACK_12, F
$00D6	$28D8			GOTO	$+2
$00D7	$28DF			GOTO	$+8
$00D8	$0BFB			DECFSZ	STACK_11, F
$00D9	$28DB			GOTO	$+2
$00DA	$28DE			GOTO	$+4
$00DB	$0BFA			DECFSZ	STACK_10, F
$00DC	$28DB			GOTO	$-1
$00DD	$28D8			GOTO	$-5
$00DE	$28D5			GOTO	$-9
$00DF	$3046			MOVLW	70
$00E0	$00FB			MOVWF	STACK_11
$00E1	$30FF			MOVLW	255
$00E2	$00FA			MOVWF	STACK_10
$00E3	$0BFB			DECFSZ	STACK_11, F
$00E4	$28E6			GOTO	$+2
$00E5	$28E9			GOTO	$+4
$00E6	$0BFA			DECFSZ	STACK_10, F
$00E7	$28E6			GOTO	$-1
$00E8	$28E3			GOTO	$-5
$00E9	$30CF			MOVLW	207
$00EA	$00FA			MOVWF	STACK_10
$00EB	$0BFA			DECFSZ	STACK_10, F
$00EC	$28EB			GOTO	$-1
$00ED	$0000			NOP
;main.c,76 :: 		}
$00EE	$0008			RETURN
$00EF	$	_offset_message:
;main.c,425 :: 		void offset_message(short row, unsigned short location)//ok
;main.c,428 :: 		column = 1;
$00EF	$3001			MOVLW	1
$00F0	$1303			BCF	STATUS, RP1
$00F1	$1283			BCF	STATUS, RP0
$00F2	$00CB			MOVWF	offset_message_column_L0
$00F3	$3000			MOVLW	0
$00F4	$00CC			MOVWF	offset_message_column_L0+1
;main.c,429 :: 		while (column < 17)
$00F5	$	L_offset_message_86:
$00F5	$3000			MOVLW	0
$00F6	$024C			SUBWF	offset_message_column_L0+1, 0
$00F7	$1D03			BTFSS	STATUS, Z
$00F8	$28FB			GOTO	L_offset_message_152
$00F9	$3011			MOVLW	17
$00FA	$024B			SUBWF	offset_message_column_L0, 0
$00FB	$	L_offset_message_152:
$00FB	$1803			BTFSC	STATUS, C
$00FC	$290F			GOTO	L_offset_message_87
;main.c,431 :: 		buffer = EEprom_Read(location);
$00FD	$084A			MOVF	FARG_offset_message+1, 0
$00FE	$00CD			MOVWF	FARG_EEprom_read+0
$00FF	$205D			CALL	_EEprom_read
$0100	$0870			MOVF	STACK_0, 0
$0101	$1303			BCF	STATUS, RP1
$0102	$00A5			MOVWF	_buffer
;main.c,432 :: 		LCD_Chr(row,column,buffer);
$0103	$0849			MOVF	FARG_offset_message+0, 0
$0104	$00CD			MOVWF	FARG_Lcd_Chr+0
$0105	$084B			MOVF	offset_message_column_L0, 0
$0106	$00CE			MOVWF	FARG_Lcd_Chr+1
$0107	$0870			MOVF	STACK_0, 0
$0108	$00CF			MOVWF	FARG_Lcd_Chr+2
$0109	$2069			CALL	_Lcd_Chr
;main.c,433 :: 		location++;
$010A	$0ACA			INCF	FARG_offset_message+1, 1
;main.c,434 :: 		column++;
$010B	$0ACB			INCF	offset_message_column_L0, 1
$010C	$1903			BTFSC	STATUS, Z
$010D	$0ACC			INCF	offset_message_column_L0+1, 1
;main.c,435 :: 		}
$010E	$28F5			GOTO	L_offset_message_86
$010F	$	L_offset_message_87:
;main.c,436 :: 		}
$010F	$0008			RETURN
$0110	$	_Delay1s:
;main.c,65 :: 		void Delay1s() //ok
;main.c,67 :: 		Delay_ms(250);
$0110	$3002			MOVLW	2
$0111	$1303			BCF	STATUS, RP1
$0112	$1283			BCF	STATUS, RP0
$0113	$00FC			MOVWF	STACK_12
$0114	$30FF			MOVLW	255
$0115	$00FB			MOVWF	STACK_11
$0116	$30FF			MOVLW	255
$0117	$00FA			MOVWF	STACK_10
$0118	$0BFC			DECFSZ	STACK_12, F
$0119	$291B			GOTO	$+2
$011A	$2922			GOTO	$+8
$011B	$0BFB			DECFSZ	STACK_11, F
$011C	$291E			GOTO	$+2
$011D	$2921			GOTO	$+4
$011E	$0BFA			DECFSZ	STACK_10, F
$011F	$291E			GOTO	$-1
$0120	$291B			GOTO	$-5
$0121	$2918			GOTO	$-9
$0122	$3046			MOVLW	70
$0123	$00FB			MOVWF	STACK_11
$0124	$30FF			MOVLW	255
$0125	$00FA			MOVWF	STACK_10
$0126	$0BFB			DECFSZ	STACK_11, F
$0127	$2929			GOTO	$+2
$0128	$292C			GOTO	$+4
$0129	$0BFA			DECFSZ	STACK_10, F
$012A	$2929			GOTO	$-1
$012B	$2926			GOTO	$-5
$012C	$30CF			MOVLW	207
$012D	$00FA			MOVWF	STACK_10
$012E	$0BFA			DECFSZ	STACK_10, F
$012F	$292E			GOTO	$-1
$0130	$0000			NOP
;main.c,68 :: 		Delay_ms(250);
$0131	$3002			MOVLW	2
$0132	$00FC			MOVWF	STACK_12
$0133	$30FF			MOVLW	255
$0134	$00FB			MOVWF	STACK_11
$0135	$30FF			MOVLW	255
$0136	$00FA			MOVWF	STACK_10
$0137	$0BFC			DECFSZ	STACK_12, F
$0138	$293A			GOTO	$+2
$0139	$2941			GOTO	$+8
$013A	$0BFB			DECFSZ	STACK_11, F
$013B	$293D			GOTO	$+2
$013C	$2940			GOTO	$+4
$013D	$0BFA			DECFSZ	STACK_10, F
$013E	$293D			GOTO	$-1
$013F	$293A			GOTO	$-5
$0140	$2937			GOTO	$-9
$0141	$3046			MOVLW	70
$0142	$00FB			MOVWF	STACK_11
$0143	$30FF			MOVLW	255
$0144	$00FA			MOVWF	STACK_10
$0145	$0BFB			DECFSZ	STACK_11, F
$0146	$2948			GOTO	$+2
$0147	$294B			GOTO	$+4
$0148	$0BFA			DECFSZ	STACK_10, F
$0149	$2948			GOTO	$-1
$014A	$2945			GOTO	$-5
$014B	$30CF			MOVLW	207
$014C	$00FA			MOVWF	STACK_10
$014D	$0BFA			DECFSZ	STACK_10, F
$014E	$294D			GOTO	$-1
$014F	$0000			NOP
;main.c,69 :: 		Delay_ms(250);
$0150	$3002			MOVLW	2
$0151	$00FC			MOVWF	STACK_12
$0152	$30FF			MOVLW	255
$0153	$00FB			MOVWF	STACK_11
$0154	$30FF			MOVLW	255
$0155	$00FA			MOVWF	STACK_10
$0156	$0BFC			DECFSZ	STACK_12, F
$0157	$2959			GOTO	$+2
$0158	$2960			GOTO	$+8
$0159	$0BFB			DECFSZ	STACK_11, F
$015A	$295C			GOTO	$+2
$015B	$295F			GOTO	$+4
$015C	$0BFA			DECFSZ	STACK_10, F

⌨️ 快捷键说明

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