📄 rx.asm
字号:
; ASM code generated by mikroVirtualMachine for PIC - V. 5.0.0.3
; Date/Time: 10/6/2007 5:55:59 AM
; Info: http://www.mikroelektronika.co.yu
; ADDRESS OPCODE ASM
; ----------------------------------------------
$0000 $28EE GOTO _main
$0004 $ _Delay_10us:
;delays.c,6 :: void Delay_10us() {
;delays.c,7 :: Delay_us(10);
$0004 $3003 MOVLW 3
$0005 $1303 BCF STATUS, RP1
$0006 $1283 BCF STATUS, RP0
$0007 $00FA MOVWF STACK_10
$0008 $0BFA DECFSZ STACK_10, F
$0009 $2808 GOTO $-1
;delays.c,8 :: }
$000A $0008 RETURN
$000B $ _Man_Synchro:
$000B $1303 BCF STATUS, RP1
$000C $1283 BCF STATUS, RP0
$000D $01A8 CLRF Man_Synchro_m1_L0, 1
$000E $01A9 CLRF Man_Synchro_m2_L0, 1
$000F $01AA CLRF Man_Synchro_m4_L0, 1
$0010 $0820 MOVF _imgport, 0
$0011 $0084 MOVWF FSR
$0012 $1B80 BTFSC INDF, MANRXPIN
$0013 $2812 GOTO $-1
$0014 $1F80 BTFSS INDF, MANRXPIN
$0015 $2814 GOTO $-1
$0016 $ MyL_Man_Synchro_0:
$0016 $0AA8 INCF Man_Synchro_m1_L0, 1
$0017 $2004 CALL _Delay_10us
$0018 $0000 NOP
$0019 $1B80 BTFSC INDF, MANRXPIN
$001A $2816 GOTO MyL_Man_Synchro_0
$001B $1F80 BTFSS INDF, MANRXPIN
$001C $281B GOTO $-1
$001D $ MyL_Man_Synchro_1:
$001D $0AA9 INCF Man_Synchro_m2_L0, 1
$001E $2004 CALL _Delay_10us
$001F $0000 NOP
$0020 $1B80 BTFSC INDF, MANRXPIN
$0021 $281D GOTO MyL_Man_Synchro_1
$0022 $0828 MOVF Man_Synchro_m1_L0, 0
$0023 $00F1 MOVWF STACK_1
$0024 $0CF1 RRF STACK_1, 1
$0025 $13F1 BCF STACK_1, 7
$0026 $0CF1 RRF STACK_1, 1
$0027 $13F1 BCF STACK_1, 7
$0028 $0829 MOVF Man_Synchro_m2_L0, 0
$0029 $00AA MOVWF Man_Synchro_m4_L0
$002A $0CAA RRF Man_Synchro_m4_L0, 1
$002B $13AA BCF Man_Synchro_m4_L0, 7
$002C $0CAA RRF Man_Synchro_m4_L0, 1
$002D $13AA BCF Man_Synchro_m4_L0, 7
$002E $0828 MOVF Man_Synchro_m1_L0, 0
$002F $07F1 ADDWF STACK_1, 1
$0030 $01F2 CLRF STACK_1+1
$0031 $1803 BTFSC STATUS, C
$0032 $0AF2 INCF STACK_1+1, 1
$0033 $3080 MOVLW 128
$0034 $0672 XORWF STACK_1+1, 0
$0035 $00F0 MOVWF STACK_0
$0036 $3080 MOVLW 128
$0037 $0270 SUBWF STACK_0, 0
$0038 $1D03 BTFSS STATUS, Z
$0039 $283C GOTO L_Man_Synchro_33
$003A $0829 MOVF Man_Synchro_m2_L0, 0
$003B $0271 SUBWF STACK_1, 0
$003C $ L_Man_Synchro_33:
$003C $1803 BTFSC STATUS, C
$003D $285C GOTO L_Man_Synchro_0
$003E $0828 MOVF Man_Synchro_m1_L0, 0
$003F $3C00 SUBLW 0
$0040 $1803 BTFSC STATUS, C
$0041 $2845 GOTO L_Man_Synchro_1
$0042 $0828 MOVF Man_Synchro_m1_L0, 0
$0043 $00A1 MOVWF _HalfbitS
$0044 $285C GOTO L_Man_Synchro_2
$0045 $ L_Man_Synchro_1:
$0045 $082A MOVF Man_Synchro_m4_L0, 0
$0046 $0729 ADDWF Man_Synchro_m2_L0, 0
$0047 $00F1 MOVWF STACK_1
$0048 $01F2 CLRF STACK_1+1
$0049 $1803 BTFSC STATUS, C
$004A $0AF2 INCF STACK_1+1, 1
$004B $3080 MOVLW 128
$004C $0672 XORWF STACK_1+1, 0
$004D $00F0 MOVWF STACK_0
$004E $3080 MOVLW 128
$004F $0270 SUBWF STACK_0, 0
$0050 $1D03 BTFSS STATUS, Z
$0051 $2854 GOTO L_Man_Synchro_34
$0052 $0828 MOVF Man_Synchro_m1_L0, 0
$0053 $0271 SUBWF STACK_1, 0
$0054 $ L_Man_Synchro_34:
$0054 $1803 BTFSC STATUS, C
$0055 $285C GOTO L_Man_Synchro_3
$0056 $0829 MOVF Man_Synchro_m2_L0, 0
$0057 $3C00 SUBLW 0
$0058 $1803 BTFSC STATUS, C
$0059 $285C GOTO L_Man_Synchro_4
$005A $0829 MOVF Man_Synchro_m2_L0, 0
$005B $00A1 MOVWF _HalfbitS
$005C $ L_Man_Synchro_4:
$005C $ L_Man_Synchro_3:
$005C $ L_Man_Synchro_2:
$005C $ L_Man_Synchro_0:
$005C $0821 MOVF _HalfbitS, 0
$005D $00A2 MOVWF _FullBits
$005E $0DA2 RLF _FullBits, 1
$005F $1022 BCF _FullBits, 0
$0060 $0821 MOVF _HalfbitS, 0
$0061 $00F0 MOVWF STACK_0
$0062 $0008 RETURN
$0063 $ _Man_Receive:
$0063 $1303 BCF STATUS, RP1
$0064 $1283 BCF STATUS, RP0
$0065 $0825 MOVF FARG_Man_Receive+0, 0
$0066 $0084 MOVWF FSR
$0067 $3001 MOVLW 1
$0068 $0080 MOVWF INDF
$0069 $01A6 CLRF Man_Receive_cnt_L0, 1
$006A $0826 MOVF Man_Receive_cnt_L0, 0
$006B $00A7 MOVWF Man_Receive_result_L0
$006C $0820 MOVF _imgport, 0
$006D $0084 MOVWF FSR
$006E $1B80 BTFSC INDF, MANRXPIN
$006F $286E GOTO $-1
$0070 $1F80 BTFSS INDF, MANRXPIN
$0071 $2870 GOTO $-1
$0072 $0821 MOVF _HalfbitS, 0
$0073 $00F0 MOVWF STACK_0
$0074 $0CF0 RRF STACK_0, 1
$0075 $13F0 BCF STACK_0, 7
$0076 $0870 MOVF STACK_0, 0
$0077 $00A6 MOVWF Man_Receive_cnt_L0
$0078 $ L_Man_Receive_5:
$0078 $2004 CALL _Delay_10us
$0079 $03A6 DECF Man_Receive_cnt_L0, 1
$007A $0826 MOVF Man_Receive_cnt_L0, 0
$007B $1D03 BTFSS STATUS, Z
$007C $2878 GOTO L_Man_Receive_5
$007D $ L_Man_Receive_6:
$007D $1F80 BTFSS INDF, MANRXPIN
$007E $0008 RETURN
$007F $0822 MOVF _FullBits, 0
$0080 $00A6 MOVWF Man_Receive_cnt_L0
$0081 $ L_Man_Receive_7:
$0081 $2004 CALL _Delay_10us
$0082 $03A6 DECF Man_Receive_cnt_L0, 1
$0083 $0826 MOVF Man_Receive_cnt_L0, 0
$0084 $1D03 BTFSS STATUS, Z
$0085 $2881 GOTO L_Man_Receive_7
$0086 $ L_Man_Receive_8:
$0086 $1F80 BTFSS INDF, MANRXPIN
$0087 $0008 RETURN
$0088 $0822 MOVF _FullBits, 0
$0089 $00A6 MOVWF Man_Receive_cnt_L0
$008A $ L_Man_Receive_9:
$008A $2004 CALL _Delay_10us
$008B $03A6 DECF Man_Receive_cnt_L0, 1
$008C $0826 MOVF Man_Receive_cnt_L0, 0
$008D $1D03 BTFSS STATUS, Z
$008E $288A GOTO L_Man_Receive_9
$008F $ L_Man_Receive_10:
$008F $1B80 BTFSC INDF, MANRXPIN
$0090 $0008 RETURN
$0091 $01A7 CLRF Man_Receive_result_L0, 1
$0092 $0820 MOVF _imgport, 0
$0093 $0084 MOVWF FSR
$0094 $0822 MOVF _FullBits, 0
$0095 $00A6 MOVWF Man_Receive_cnt_L0
$0096 $ L_Man_Receive_11:
$0096 $2004 CALL _Delay_10us
$0097 $03A6 DECF Man_Receive_cnt_L0, 1
$0098 $0826 MOVF Man_Receive_cnt_L0, 0
$0099 $1D03 BTFSS STATUS, Z
$009A $2896 GOTO L_Man_Receive_11
$009B $ L_Man_Receive_12:
$009B $01A7 CLRF Man_Receive_result_L0, 1
$009C $1B80 BTFSC INDF, MANRXPIN
$009D $17A7 BSF FLOC_Man_Receive+1, 7
$009E $0822 MOVF _FullBits, 0
$009F $00A6 MOVWF Man_Receive_cnt_L0
$00A0 $ L_Man_Receive_13:
$00A0 $2004 CALL _Delay_10us
$00A1 $03A6 DECF Man_Receive_cnt_L0, 1
$00A2 $0826 MOVF Man_Receive_cnt_L0, 0
$00A3 $1D03 BTFSS STATUS, Z
$00A4 $28A0 GOTO L_Man_Receive_13
$00A5 $ L_Man_Receive_14:
$00A5 $1B80 BTFSC INDF, MANRXPIN
$00A6 $1727 BSF FLOC_Man_Receive+1, 6
$00A7 $0822 MOVF _FullBits, 0
$00A8 $00A6 MOVWF Man_Receive_cnt_L0
$00A9 $ L_Man_Receive_15:
$00A9 $2004 CALL _Delay_10us
$00AA $03A6 DECF Man_Receive_cnt_L0, 1
$00AB $0826 MOVF Man_Receive_cnt_L0, 0
$00AC $1D03 BTFSS STATUS, Z
$00AD $28A9 GOTO L_Man_Receive_15
$00AE $ L_Man_Receive_16:
$00AE $1B80 BTFSC INDF, MANRXPIN
$00AF $16A7 BSF FLOC_Man_Receive+1, 5
$00B0 $0822 MOVF _FullBits, 0
$00B1 $00A6 MOVWF Man_Receive_cnt_L0
$00B2 $ L_Man_Receive_17:
$00B2 $2004 CALL _Delay_10us
$00B3 $03A6 DECF Man_Receive_cnt_L0, 1
$00B4 $0826 MOVF Man_Receive_cnt_L0, 0
$00B5 $1D03 BTFSS STATUS, Z
$00B6 $28B2 GOTO L_Man_Receive_17
$00B7 $ L_Man_Receive_18:
$00B7 $1B80 BTFSC INDF, MANRXPIN
$00B8 $1627 BSF FLOC_Man_Receive+1, 4
$00B9 $0822 MOVF _FullBits, 0
$00BA $00A6 MOVWF Man_Receive_cnt_L0
$00BB $ L_Man_Receive_19:
$00BB $2004 CALL _Delay_10us
$00BC $03A6 DECF Man_Receive_cnt_L0, 1
$00BD $0826 MOVF Man_Receive_cnt_L0, 0
$00BE $1D03 BTFSS STATUS, Z
$00BF $28BB GOTO L_Man_Receive_19
$00C0 $ L_Man_Receive_20:
$00C0 $1B80 BTFSC INDF, MANRXPIN
$00C1 $15A7 BSF FLOC_Man_Receive+1, 3
$00C2 $0822 MOVF _FullBits, 0
$00C3 $00A6 MOVWF Man_Receive_cnt_L0
$00C4 $ L_Man_Receive_21:
$00C4 $2004 CALL _Delay_10us
$00C5 $03A6 DECF Man_Receive_cnt_L0, 1
$00C6 $0826 MOVF Man_Receive_cnt_L0, 0
$00C7 $1D03 BTFSS STATUS, Z
$00C8 $28C4 GOTO L_Man_Receive_21
$00C9 $ L_Man_Receive_22:
$00C9 $1B80 BTFSC INDF, MANRXPIN
$00CA $1527 BSF FLOC_Man_Receive+1, 2
$00CB $0822 MOVF _FullBits, 0
$00CC $00A6 MOVWF Man_Receive_cnt_L0
$00CD $ L_Man_Receive_23:
$00CD $2004 CALL _Delay_10us
$00CE $03A6 DECF Man_Receive_cnt_L0, 1
$00CF $0826 MOVF Man_Receive_cnt_L0, 0
$00D0 $1D03 BTFSS STATUS, Z
$00D1 $28CD GOTO L_Man_Receive_23
$00D2 $ L_Man_Receive_24:
$00D2 $1B80 BTFSC INDF, MANRXPIN
$00D3 $14A7 BSF FLOC_Man_Receive+1, 1
$00D4 $0822 MOVF _FullBits, 0
$00D5 $00A6 MOVWF Man_Receive_cnt_L0
$00D6 $ L_Man_Receive_25:
$00D6 $2004 CALL _Delay_10us
$00D7 $03A6 DECF Man_Receive_cnt_L0, 1
$00D8 $0826 MOVF Man_Receive_cnt_L0, 0
$00D9 $1D03 BTFSS STATUS, Z
$00DA $28D6 GOTO L_Man_Receive_25
$00DB $ L_Man_Receive_26:
$00DB $1B80 BTFSC INDF, MANRXPIN
$00DC $1427 BSF FLOC_Man_Receive+1, 0
$00DD $0825 MOVF FARG_Man_Receive+0, 0
$00DE $0084 MOVWF FSR
$00DF $0180 CLRF INDF, 1
$00E0 $0827 MOVF Man_Receive_result_L0, 0
$00E1 $00F0 MOVWF STACK_0
$00E2 $0008 RETURN
$00E3 $ _Man_Receive_Init:
$00E3 $1303 BCF STATUS, RP1
$00E4 $1283 BCF STATUS, RP0
$00E5 $0825 MOVF FARG_Man_Receive_Init+0, 0
$00E6 $0084 MOVWF FSR
$00E7 $0000 NOP
$00E8 $0804 MOVF FSR, 0
$00E9 $00A0 MOVWF _imgport
$00EA $1784 BSF FSR, 7
$00EB $1780 BSF INDF, MANRXPIN
$00EC $200B CALL _Man_Synchro
$00ED $0008 RETURN
$00EE $ _main:
;Rx.c,3 :: main ()
;Rx.c,5 :: TRISB = 0;
$00EE $1303 BCF STATUS, RP1
$00EF $1683 BSF STATUS, RP0
$00F0 $0186 CLRF TRISB, 1
;Rx.c,6 :: PORTB = 0;
$00F1 $1283 BCF STATUS, RP0
$00F2 $0186 CLRF PORTB, 1
;Rx.c,7 :: TRISD = 0x80;
$00F3 $3080 MOVLW 128
$00F4 $1683 BSF STATUS, RP0
$00F5 $0088 MOVWF TRISD
;Rx.c,8 :: PORTD = 0;
$00F6 $1283 BCF STATUS, RP0
$00F7 $0188 CLRF PORTD, 1
;Rx.c,9 :: Man_Receive_Config(&PORTD, 7); // Configure and synchronize receiver
$00F8 $3008 MOVLW PORTD
$00F9 $00A5 MOVWF FARG_Man_Receive_Init+0
$00FA $20E3 CALL _Man_Receive_Init
;Rx.c,10 :: while (1)
$00FB $ L_main_0:
;Rx.c,12 :: temp = Man_Receive(error);
$00FB $0824 MOVF _error, 0
$00FC $00A5 MOVWF FARG_Man_Receive+0
$00FD $2063 CALL _Man_Receive
$00FE $0870 MOVF STACK_0, 0
$00FF $00A3 MOVWF _temp
;Rx.c,13 :: if (temp == 0x53)
$0100 $0870 MOVF STACK_0, 0
$0101 $3A53 XORLW 83
$0102 $1D03 BTFSS STATUS, Z
$0103 $2918 GOTO L_main_2
;Rx.c,16 :: temp = Man_Receive(error);
$0104 $0824 MOVF _error, 0
$0105 $00A5 MOVWF FARG_Man_Receive+0
$0106 $2063 CALL _Man_Receive
$0107 $0870 MOVF STACK_0, 0
$0108 $00A3 MOVWF _temp
;Rx.c,17 :: if (temp == 0x22)
$0109 $0870 MOVF STACK_0, 0
$010A $3A22 XORLW 34
$010B $1D03 BTFSS STATUS, Z
$010C $2918 GOTO L_main_3
;Rx.c,20 :: temp = Man_Receive(error);
$010D $0824 MOVF _error, 0
$010E $00A5 MOVWF FARG_Man_Receive+0
$010F $2063 CALL _Man_Receive
$0110 $0870 MOVF STACK_0, 0
$0111 $00A3 MOVWF _temp
;Rx.c,21 :: if (temp == 0x69)
$0112 $0870 MOVF STACK_0, 0
$0113 $3A69 XORLW 105
$0114 $1D03 BTFSS STATUS, Z
$0115 $2918 GOTO L_main_4
;Rx.c,23 :: PORTB = 1;
$0116 $3001 MOVLW 1
$0117 $0086 MOVWF PORTB
;Rx.c,25 :: }
$0118 $ L_main_4:
;Rx.c,26 :: }
$0118 $ L_main_3:
;Rx.c,27 :: }
$0118 $ L_main_2:
;Rx.c,28 :: Delay_ms(1000);
$0118 $3006 MOVLW 6
$0119 $00FC MOVWF STACK_12
$011A $30FF MOVLW 255
$011B $00FB MOVWF STACK_11
$011C $30FF MOVLW 255
$011D $00FA MOVWF STACK_10
$011E $0BFC DECFSZ STACK_12, F
$011F $2921 GOTO $+2
$0120 $2928 GOTO $+8
$0121 $0BFB DECFSZ STACK_11, F
$0122 $2924 GOTO $+2
$0123 $2927 GOTO $+4
$0124 $0BFA DECFSZ STACK_10, F
$0125 $2924 GOTO $-1
$0126 $2921 GOTO $-5
$0127 $291E GOTO $-9
$0128 $301A MOVLW 26
$0129 $00FB MOVWF STACK_11
$012A $30FF MOVLW 255
$012B $00FA MOVWF STACK_10
$012C $0BFB DECFSZ STACK_11, F
$012D $292F GOTO $+2
$012E $2932 GOTO $+4
$012F $0BFA DECFSZ STACK_10, F
$0130 $292F GOTO $-1
$0131 $292C GOTO $-5
$0132 $3042 MOVLW 66
$0133 $00FA MOVWF STACK_10
$0134 $0BFA DECFSZ STACK_10, F
$0135 $2934 GOTO $-1
;Rx.c,29 :: PORTB = 0;
$0136 $0186 CLRF PORTB, 1
;Rx.c,30 :: }
$0137 $28FB GOTO L_main_0
;Rx.c,31 :: }
$0138 $2938 GOTO $
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -