📄 main.lst
字号:
; 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 + -