📄 main.lst
字号:
; ASM code generated by mikroVirtualMachine for PIC - V. 8.0.0.0
; Date/Time: 7/20/2008 5:30:50 PM
; Info: http://www.mikroe.com
; ADDRESS OPCODE ASM
; ----------------------------------------------
$0000 $2BEA GOTO _main
$0004 $ _Delay_1us:
;delays.c,7 :: void Delay_1us() {
;delays.c,8 :: Delay_us(1);
$0004 $0000 NOP
$0005 $0000 NOP
;delays.c,9 :: }
$0006 $0008 RETURN
$0007 $ _Delay_5500us:
;delays.c,31 :: void Delay_5500us() {
;delays.c,32 :: Delay_us(5500);
$0007 $300F MOVLW 15
$0008 $1303 BCF STATUS, RP1
$0009 $1283 BCF STATUS, RP0
$000A $00FB MOVWF STACK_11
$000B $30FF MOVLW 255
$000C $00FA MOVWF STACK_10
$000D $0BFB DECFSZ STACK_11, F
$000E $2810 GOTO $+2
$000F $2813 GOTO $+4
$0010 $0BFA DECFSZ STACK_10, F
$0011 $2810 GOTO $-1
$0012 $280D GOTO $-5
$0013 $303E MOVLW 62
$0014 $00FA MOVWF STACK_10
$0015 $0BFA DECFSZ STACK_10, F
$0016 $2815 GOTO $-1
;delays.c,33 :: }
$0017 $0008 RETURN
$0018 $ _Delay_50us:
;delays.c,19 :: void Delay_50us() {
;delays.c,20 :: Delay_us(50);
$0018 $3021 MOVLW 33
$0019 $1303 BCF STATUS, RP1
$001A $1283 BCF STATUS, RP0
$001B $00FA MOVWF STACK_10
$001C $0BFA DECFSZ STACK_10, F
$001D $281C GOTO $-1
;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 $0857 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 $1BD7 BTFSC FARG_Lcd_Cmd+0, 7
$002D $1780 BSF INDF, ___DB7
$002E $1B57 BTFSC FARG_Lcd_Cmd+0, 6
$002F $1700 BSF INDF, ___DB6
$0030 $1AD7 BTFSC FARG_Lcd_Cmd+0, 5
$0031 $1680 BSF INDF, ___DB5
$0032 $1A57 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 $0857 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 $19D7 BTFSC FARG_Lcd_Cmd+0, 3
$0046 $1780 BSF INDF, ___DB7
$0047 $1957 BTFSC FARG_Lcd_Cmd+0, 2
$0048 $1700 BSF INDF, ___DB6
$0049 $18D7 BTFSC FARG_Lcd_Cmd+0, 1
$004A $1680 BSF INDF, ___DB5
$004B $1857 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 $2007 CALL _Delay_5500us
$005A $285C GOTO L_Lcd_Cmd_7
$005B $ L_Lcd_Cmd_6:
$005B $2018 CALL _Delay_50us
$005C $ L_Lcd_Cmd_7:
$005C $0008 RETURN
$005D $ _Determine_Checksum_of_Data_frame:
;main.c,112 :: void Determine_Checksum_of_Data_frame()
;main.c,115 :: ^ data_frame[2]
$005D $1303 BCF STATUS, RP1
$005E $1283 BCF STATUS, RP0
$005F $0824 MOVF _data_frame+2, 0
$0060 $0623 XORWF _data_frame+1, 0
$0061 $00A8 MOVWF _data_frame+6
;main.c,116 :: ^ data_frame[3]
$0062 $0825 MOVF _data_frame+3, 0
$0063 $06A8 XORWF _data_frame+6, 1
;main.c,117 :: ^ data_frame[4]
$0064 $0826 MOVF _data_frame+4, 0
$0065 $06A8 XORWF _data_frame+6, 1
;main.c,118 :: ^ data_frame[5];
$0066 $0827 MOVF _data_frame+5, 0
$0067 $06A8 XORWF _data_frame+6, 1
;main.c,119 :: }
$0068 $0008 RETURN
$0069 $ _Usart_Write:
$0069 $ L_Usart_Write_3:
$0069 $3000 MOVLW 0
$006A $1303 BCF STATUS, RP1
$006B $1683 BSF STATUS, RP0
$006C $1898 BTFSC TXSTA, 1
$006D $3001 MOVLW 1
$006E $00F1 MOVWF STACK_1
$006F $0871 MOVF STACK_1, 0
$0070 $3A00 XORLW 0
$0071 $1D03 BTFSS STATUS, Z
$0072 $2875 GOTO L_Usart_Write_4
$0073 $0000 NOP
$0074 $2869 GOTO L_Usart_Write_3
$0075 $ L_Usart_Write_4:
$0075 $1283 BCF STATUS, RP0
$0076 $0854 MOVF FARG_Usart_Write+0, 0
$0077 $0099 MOVWF TXREG
$0078 $0008 RETURN
$0079 $ _Clear_Buffer_Registers:
;main.c,39 :: void Clear_Buffer_Registers()
;main.c,41 :: data_frame[0] = 0;
$0079 $1303 BCF STATUS, RP1
$007A $1283 BCF STATUS, RP0
$007B $01A2 CLRF _data_frame, 1
;main.c,42 :: data_frame[1] = 0;
$007C $01A3 CLRF _data_frame+1, 1
;main.c,43 :: data_frame[2] = 0;
$007D $01A4 CLRF _data_frame+2, 1
;main.c,44 :: data_frame[3] = 0;
$007E $01A5 CLRF _data_frame+3, 1
;main.c,45 :: data_frame[4] = 0;
$007F $01A6 CLRF _data_frame+4, 1
;main.c,46 :: data_frame[5] = 0;
$0080 $01A7 CLRF _data_frame+5, 1
;main.c,47 :: data_frame[6] = 0;
$0081 $01A8 CLRF _data_frame+6, 1
;main.c,48 :: data_frame[7] = 0;
$0082 $01A9 CLRF _data_frame+7, 1
;main.c,49 :: }
$0083 $0008 RETURN
$0084 $ _Usart_Read:
$0084 $1303 BCF STATUS, RP1
$0085 $1283 BCF STATUS, RP0
$0086 $081A MOVF RCREG, 0
$0087 $00D4 MOVWF Usart_Read_tmp_L0
$0088 $1C98 BTFSS RCSTA, 1
$0089 $288C GOTO L_Usart_Read_2
$008A $1218 BCF RCSTA, 4
$008B $1618 BSF RCSTA, 4
$008C $ L_Usart_Read_2:
$008C $0854 MOVF Usart_Read_tmp_L0, 0
$008D $00F0 MOVWF STACK_0
$008E $0008 RETURN
$008F $ _Lcd_Chr_CP:
$008F $1303 BCF STATUS, RP1
$0090 $1283 BCF STATUS, RP0
$0091 $01A1 CLRF LCD_cmd_status, 1
$0092 $0854 MOVF FARG_Lcd_Chr_CP+0, 0
$0093 $00D7 MOVWF FARG_Lcd_Cmd+0
$0094 $201F CALL _Lcd_Cmd
$0095 $3001 MOVLW 1
$0096 $00A1 MOVWF LCD_cmd_status
$0097 $0008 RETURN
$0098 $ _EEprom_read:
$0098 $1303 BCF STATUS, RP1
$0099 $1283 BCF STATUS, RP0
$009A $0854 MOVF FARG_EEprom_read+0, 0
$009B $1703 BSF STATUS, RP1
$009C $008D MOVWF EEADR
$009D $1683 BSF STATUS, RP0
$009E $138C BCF EECON1, 7
$009F $140C BSF EECON1, 0
$00A0 $1283 BCF STATUS, RP0
$00A1 $080C MOVF EEDATA, 0
$00A2 $00F0 MOVWF STACK_0
$00A3 $0008 RETURN
$00A4 $ _Lcd_Chr:
$00A4 $28B6 GOTO L_Lcd_Chr_8
$00A5 $ L_Lcd_Chr_10:
$00A5 $3080 MOVLW 128
$00A6 $1303 BCF STATUS, RP1
$00A7 $1283 BCF STATUS, RP0
$00A8 $00D4 MOVWF FARG_Lcd_Chr+0
$00A9 $28C9 GOTO L_Lcd_Chr_9
$00AA $ L_Lcd_Chr_11:
$00AA $30C0 MOVLW 192
$00AB $00D4 MOVWF FARG_Lcd_Chr+0
$00AC $28C9 GOTO L_Lcd_Chr_9
$00AD $ L_Lcd_Chr_12:
$00AD $3094 MOVLW 148
$00AE $00D4 MOVWF FARG_Lcd_Chr+0
$00AF $28C9 GOTO L_Lcd_Chr_9
$00B0 $ L_Lcd_Chr_13:
$00B0 $30D4 MOVLW 212
$00B1 $00D4 MOVWF FARG_Lcd_Chr+0
$00B2 $28C9 GOTO L_Lcd_Chr_9
$00B3 $ L_Lcd_Chr_14:
$00B3 $3080 MOVLW 128
$00B4 $00D4 MOVWF FARG_Lcd_Chr+0
$00B5 $28C9 GOTO L_Lcd_Chr_9
$00B6 $ L_Lcd_Chr_8:
$00B6 $1303 BCF STATUS, RP1
$00B7 $1283 BCF STATUS, RP0
$00B8 $0854 MOVF FARG_Lcd_Chr+0, 0
$00B9 $3A01 XORLW 1
$00BA $1903 BTFSC STATUS, Z
$00BB $28A5 GOTO L_Lcd_Chr_10
$00BC $0854 MOVF FARG_Lcd_Chr+0, 0
$00BD $3A02 XORLW 2
$00BE $1903 BTFSC STATUS, Z
$00BF $28AA GOTO L_Lcd_Chr_11
$00C0 $0854 MOVF FARG_Lcd_Chr+0, 0
$00C1 $3A03 XORLW 3
$00C2 $1903 BTFSC STATUS, Z
$00C3 $28AD GOTO L_Lcd_Chr_12
$00C4 $0854 MOVF FARG_Lcd_Chr+0, 0
$00C5 $3A04 XORLW 4
$00C6 $1903 BTFSC STATUS, Z
$00C7 $28B0 GOTO L_Lcd_Chr_13
$00C8 $28B3 GOTO L_Lcd_Chr_14
$00C9 $ L_Lcd_Chr_9:
$00C9 $0355 DECF FARG_Lcd_Chr+1, 0
$00CA $00F0 MOVWF STACK_0
$00CB $0854 MOVF FARG_Lcd_Chr+0, 0
$00CC $07F0 ADDWF STACK_0, 1
$00CD $0870 MOVF STACK_0, 0
$00CE $00D4 MOVWF FARG_Lcd_Chr+0
$00CF $3001 MOVLW 1
$00D0 $00A1 MOVWF LCD_cmd_status
$00D1 $0870 MOVF STACK_0, 0
$00D2 $00D7 MOVWF FARG_Lcd_Cmd+0
$00D3 $201F CALL _Lcd_Cmd
$00D4 $01A1 CLRF LCD_cmd_status, 1
$00D5 $0856 MOVF FARG_Lcd_Chr+2, 0
$00D6 $00D7 MOVWF FARG_Lcd_Cmd+0
$00D7 $201F CALL _Lcd_Cmd
$00D8 $3001 MOVLW 1
$00D9 $00A1 MOVWF LCD_cmd_status
$00DA $0008 RETURN
$00DB $ _Mul_16x16_S:
$00DB $1303 BCF STATUS, RP1
$00DC $1283 BCF STATUS, RP0
$00DD $01FB CLRF STACK_11
$00DE $01FA CLRF STACK_10
$00DF $01F9 CLRF STACK_9
$00E0 $3080 MOVLW 128
$00E1 $00F8 MOVWF STACK_8
$00E2 $01FD CLRF STACK_13
$00E3 $1FF1 BTFSS STACK_1, 7
$00E4 $28EB GOTO $+7
$00E5 $09F1 COMF STACK_1, F
$00E6 $09F0 COMF STACK_0, F
$00E7 $0AF0 INCF STACK_0, F
$00E8 $1903 BTFSC STATUS, Z
$00E9 $0AF1 INCF STACK_1, F
$00EA $0AFD INCF STACK_13, F
$00EB $1FF5 BTFSS STACK_5, 7
$00EC $28F3 GOTO $+7
$00ED $09F5 COMF STACK_5, F
$00EE $09F4 COMF STACK_4, F
$00EF $0AF4 INCF STACK_4, F
$00F0 $1903 BTFSC STATUS, Z
$00F1 $0AF5 INCF STACK_5, F
$00F2 $0AFD INCF STACK_13, F
$00F3 $0CF1 RRF STACK_1, F
$00F4 $0CF0 RRF STACK_0, F
$00F5 $1C03 BTFSS STATUS, C
$00F6 $2900 GOTO $+10
$00F7 $0874 MOVF STACK_4, W
$00F8 $07F9 ADDWF STACK_9, F
$00F9 $0875 MOVF STACK_5, W
$00FA $1803 BTFSC STATUS, C
$00FB $0F75 INCFSZ STACK_5, W
$00FC $07FA ADDWF STACK_10, F
$00FD $1803 BTFSC STATUS, C
$00FE $0AFB INCF STACK_11, F
$00FF $1003 BCF STATUS, C
$0100 $1FF0 BTFSS STACK_0, 7
$0101 $2908 GOTO $+7
$0102 $0874 MOVF STACK_4, W
$0103 $07FA ADDWF STACK_10, F
$0104 $1803 BTFSC STATUS, C
$0105 $0AFB INCF STACK_11, F
$0106 $0875 MOVF STACK_5, W
$0107 $07FB ADDWF STACK_11, F
$0108 $0CFB RRF STACK_11, F
$0109 $0CFA RRF STACK_10, F
$010A $0CF9 RRF STACK_9, F
$010B $0CF8 RRF STACK_8, F
$010C $1C03 BTFSS STATUS, C
$010D $28F3 GOTO $-26
$010E $1C7D BTFSS STACK_13, 0
$010F $291B GOTO $+12
$0110 $09FB COMF STACK_11, F
$0111 $09FA COMF STACK_10, F
$0112 $09F9 COMF STACK_9, F
$0113 $09F8 COMF STACK_8, F
$0114 $0AF8 INCF STACK_8, F
$0115 $1903 BTFSC STATUS, Z
$0116 $0AF9 INCF STACK_9, F
$0117 $1903 BTFSC STATUS, Z
$0118 $0AFA INCF STACK_10, F
$0119 $1903 BTFSC STATUS, Z
$011A $0AFB INCF STACK_11, F
$011B $087B MOVF STACK_11, W
$011C $00F3 MOVWF STACK_3
$011D $087A MOVF STACK_10, W
$011E $00F2 MOVWF STACK_2
$011F $0879 MOVF STACK_9, W
$0120 $00F1 MOVWF STACK_1
$0121 $0878 MOVF STACK_8, W
$0122 $00F0 MOVWF STACK_0
$0123 $0000 NOP
$0124 $0008 RETURN
$0125 $ _Construct_Scanner_Command:
;main.c,121 :: void Construct_Scanner_Command()
;main.c,123 :: data_frame[0] = header;
$0125 $30F5 MOVLW 245
$0126 $1303 BCF STATUS, RP1
$0127 $1283 BCF STATUS, RP0
$0128 $00A2 MOVWF _data_frame
;main.c,124 :: data_frame[5] = 0;
$0129 $01A7 CLRF _data_frame+5, 1
;main.c,125 :: data_frame[7] = header;
$012A $30F5 MOVLW 245
$012B $00A9 MOVWF _data_frame+7
;main.c,126 :: Determine_Checksum_of_Data_frame();
$012C $205D CALL _Determine_Checksum_of_Data_frame
;main.c,127 :: }
$012D $0008 RETURN
$012E $ _Transmit_Command_to_Scanner:
;main.c,60 :: void Transmit_Command_to_Scanner()
;main.c,62 :: count = 0;
$012E $1303 BCF STATUS, RP1
$012F $1283 BCF STATUS, RP0
$0130 $01AA CLRF _count, 1
;main.c,63 :: while (count < 8)
$0131 $ L_Transmit_Command_to_Scanner_4:
$0131 $3008 MOVLW 8
$0132 $022A SUBWF _count, 0
$0133 $1803 BTFSC STATUS, C
$0134 $293D GOTO L_Transmit_Command_to_Scanner_5
;main.c,65 :: Usart_Write(data_frame[count]);
$0135 $082A MOVF _count, 0
$0136 $3F22 ADDLW _data_frame
$0137 $0084 MOVWF FSR
$0138 $0800 MOVF INDF, 0
$0139 $00D4 MOVWF FARG_Usart_Write+0
$013A $2069 CALL _Usart_Write
;main.c,66 :: count++;
$013B $0AAA INCF _count, 1
;main.c,67 :: }
$013C $2931 GOTO L_Transmit_Command_to_Scanner_4
$013D $ L_Transmit_Command_to_Scanner_5:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -