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

📄 defaultisr_nonbios.asm

📁 2812 开发库
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        BF        L8,NEQ                ; |60| 
        ; branch occurs ; |60| 
	.line	14
;----------------------------------------------------------------------
;  62 | TR_485 = 1;         // Enable transmit                                 
;----------------------------------------------------------------------
        MOVW      DP,#_GpioDataRegs+12
        OR        @_GpioDataRegs+12,#0x0040 ; |62| 
	.line	15
;----------------------------------------------------------------------
;  63 | for (i=0;i<8;i++) ScibRegs.SCITXBUF = scib_buffer[i] + 1;              
;----------------------------------------------------------------------
        MOVW      DP,#_i$3
        MOV       @_i$3,#0              ; |63| 
        MOV       AL,@_i$3              ; |63| 
        CMPB      AL,#8                 ; |63| 
        B         L7,GEQ                ; |63| 
        ; branch occurs ; |63| 
L6:    
        SETC      SXM
        MOVL      XAR4,#_scib_buffer$4  ; |63| 
        MOV       ACC,@_i$3             ; |63| 
        ADDL      XAR4,ACC
        MOVW      DP,#_ScibRegs+9
        MOV       AL,*+XAR4[0]          ; |63| 
        ADDB      AL,#1                 ; |63| 
        MOV       @_ScibRegs+9,AL       ; |63| 
        MOVW      DP,#_i$3
        INC       @_i$3                 ; |63| 
        MOV       AL,@_i$3              ; |63| 
        CMPB      AL,#8                 ; |63| 
        B         L6,LT                 ; |63| 
        ; branch occurs ; |63| 
L7:    
	.line	16
;----------------------------------------------------------------------
;  64 | i = 0;                                                                 
;----------------------------------------------------------------------
        MOV       @_i$3,#0              ; |64| 
L8:    
	.line	18
        MOVW      DP,#_ScibRegs+11
        AND       AL,@_ScibRegs+11,#0x1f00 ; |66| 
        LSR       AL,8                  ; |66| 
        B         L5,GT                 ; |66| 
        ; branch occurs ; |66| 
	.line	19
;----------------------------------------------------------------------
;  68 | else             // Transmit enabled                                   
;----------------------------------------------------------------------
        B         L10,UNC               ; |67| 
        ; branch occurs ; |67| 
L9:    
	.line	22
;----------------------------------------------------------------------
;  70 | if (ScibRegs.SCICTL2.bit.TXEMPTY ==1) TR_485 = 0;    // Enable receive 
;----------------------------------------------------------------------
        MOVW      DP,#_ScibRegs+4
        AND       AL,@_ScibRegs+4,#0x0040 ; |70| 
        LSR       AL,6                  ; |70| 
        CMPB      AL,#1                 ; |70| 
        BF        L10,NEQ               ; |70| 
        ; branch occurs ; |70| 
        MOVW      DP,#_GpioDataRegs+12
        AND       @_GpioDataRegs+12,#0xffbf ; |70| 
	.line	23
L10:    
	.line	24
        LRETR
        ; return occurs
	.endfunc	72,000000000h,0



	.sect	".text"
	.global	_UART_A_P
	.sym	_UART_A_P,_UART_A_P, 36, 2, 0
	.func	74
;----------------------------------------------------------------------
;  74 | UART_A_P()                                                             
;----------------------------------------------------------------------

;***************************************************************
;* FNAME: _UART_A_P                     FR SIZE:   0           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  0 Auto,  0 SOE     *
;***************************************************************

_UART_A_P:
	.line	2
;----------------------------------------------------------------------
;  76 | static int rec_flag = 0;                                               
;  77 | static int ia = 0;                                                     
;  78 | static unsigned uarta_buffer[8];                                       
;----------------------------------------------------------------------
	.line	7
;----------------------------------------------------------------------
;  80 | if(rec_flag == 0)   // Receive enabled                                 
;----------------------------------------------------------------------
        MOVW      DP,#_rec_flag$5
        MOV       AL,@_rec_flag$5       ; |80| 
        BF        L15,NEQ               ; |80| 
        ; branch occurs ; |80| 
	.line	9
;----------------------------------------------------------------------
;  82 | while ((*UART_A_5 & 0x01) == 0x01) // 接收到                           
;----------------------------------------------------------------------
        B         L14,UNC               ; |82| 
        ; branch occurs ; |82| 
L11:    
	.line	11
;----------------------------------------------------------------------
;  84 | uarta_buffer[ia] = *UART_A_0;                                          
;----------------------------------------------------------------------
        SETC      SXM
        MOVL      XAR4,#_uarta_buffer$7 ; |84| 
        MOV       ACC,@_ia$6            ; |84| 
        ADDL      XAR4,ACC
        MOVL      XAR5,#589832          ; |84| 
        MOV       AL,*+XAR5[0]          ; |84| 
        MOV       *+XAR4[0],AL          ; |84| 
	.line	12
;----------------------------------------------------------------------
;  85 | ia++;                                                                  
;----------------------------------------------------------------------
        INC       @_ia$6                ; |85| 
	.line	13
;----------------------------------------------------------------------
;  86 | DelayUs(1);                                                            
;----------------------------------------------------------------------
        MOVB      AL,#1                 ; |86| 
        LCR       #_DelayUs             ; |86| 
        ; call occurs [#_DelayUs] ; |86| 
	.line	14
;----------------------------------------------------------------------
;  87 | if (ia==8)                                                             
;----------------------------------------------------------------------
        MOVW      DP,#_ia$6
        MOV       AL,@_ia$6             ; |87| 
        CMPB      AL,#8                 ; |87| 
        BF        L14,NEQ               ; |87| 
        ; branch occurs ; |87| 
	.line	16
;----------------------------------------------------------------------
;  89 | *UART_A_4 = 0;   // 为发送状态                                         
;----------------------------------------------------------------------
        MOVL      XAR4,#589836          ; |89| 
        MOV       *+XAR4[0],#0          ; |89| 
	.line	17
;----------------------------------------------------------------------
;  90 | rec_flag = 1;                                                          
;----------------------------------------------------------------------
        MOV       @_rec_flag$5,#1       ; |90| 
	.line	18
;----------------------------------------------------------------------
;  91 | for (ia=0;ia<8;ia++) *UART_A_0 = uarta_buffer[ia] + 1;                 
;----------------------------------------------------------------------
        MOV       @_ia$6,#0             ; |91| 
        MOV       AL,@_ia$6             ; |91| 
        CMPB      AL,#8                 ; |91| 
        B         L13,GEQ               ; |91| 
        ; branch occurs ; |91| 
L12:    
        SETC      SXM
        MOVL      XAR4,#_uarta_buffer$7 ; |91| 
        MOV       ACC,@_ia$6            ; |91| 
        ADDL      XAR4,ACC
        MOV       AL,*+XAR4[0]          ; |91| 
        ADDB      AL,#1                 ; |91| 
        MOVL      XAR4,#589832          ; |91| 
        MOV       *+XAR4[0],AL          ; |91| 
        INC       @_ia$6                ; |91| 
        MOV       AL,@_ia$6             ; |91| 
        CMPB      AL,#8                 ; |91| 
        B         L12,LT                ; |91| 
        ; branch occurs ; |91| 
L13:    
	.line	19
;----------------------------------------------------------------------
;  92 | ia = 0;                                                                
;----------------------------------------------------------------------
        MOV       @_ia$6,#0             ; |92| 
L14:    
	.line	21
        MOVL      XAR4,#589837          ; |94| 
        MOV       AL,*+XAR4[0]          ; |94| 
        ANDB      AL,#0x01              ; |94| 
        CMPB      AL,#1                 ; |94| 
        BF        L11,EQ                ; |94| 
        ; branch occurs ; |94| 
	.line	22
;----------------------------------------------------------------------
;  96 | else                // Transmit enabled                                
;----------------------------------------------------------------------
        B         L16,UNC               ; |95| 
        ; branch occurs ; |95| 
L15:    
	.line	25
;----------------------------------------------------------------------
;  98 | if ((*UART_A_5 & 0x40) != 0) // 发送结束                               
;----------------------------------------------------------------------
        MOVL      XAR4,#589837          ; |98| 
        TBIT      *+XAR4[0],#6          ; |98| 
        BF        L16,NTC               ; |98| 
        ; branch occurs ; |98| 
	.line	27
;----------------------------------------------------------------------
; 100 | *UART_A_4 = 0x02;   // RTS清零为接收状态                               
;----------------------------------------------------------------------
        MOVL      XAR4,#589836          ; |100| 
        MOV       *+XAR4[0],#2          ; |100| 
	.line	28
;----------------------------------------------------------------------
; 101 | rec_flag = 0;                                                          
;----------------------------------------------------------------------
        MOV       @_rec_flag$5,#0       ; |101| 
	.line	30
L16:    
	.line	31
        LRETR
        ; return occurs
	.endfunc	104,000000000h,0



	.sect	".text"
	.global	_UART_B_P
	.sym	_UART_B_P,_UART_B_P, 36, 2, 0
	.func	107
;----------------------------------------------------------------------
; 107 | UART_B_P()                                                             
;----------------------------------------------------------------------

;***************************************************************
;* FNAME: _UART_B_P                     FR SIZE:   0           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  0 Auto,  0 SOE     *
;***************************************************************

_UART_B_P:
	.line	2
;----------------------------------------------------------------------
; 109 | static int rec_flag = 0;                                               
; 110 | static int ix = 0;                                                     
; 111 | static int uartb_buffer[8];                                            
;----------------------------------------------------------------------
	.line	7
;----------------------------------------------------------------------
; 113 | if(rec_flag == 0)   // Receive enabled                                 
;----------------------------------------------------------------------
        MOVW      DP,#_rec_flag$8
        MOV       AL,@_rec_flag$8       ; |113| 
        BF        L21,NEQ               ; |113| 
        ; branch occurs ; |113| 
	.line	9
;----------------------------------------------------------------------
; 115 | while ((*UART_B_5 & 0x01) == 0x01) // 接收到                           
;----------------------------------------------------------------------
        B         L20,UNC               ; |115| 
        ; branch occurs ; |115| 
L17:    
	.line	11
;----------------------------------------------------------------------
; 117 | uartb_buffer[ix] = *UART_B_0;                                          
;----------------------------------------------------------------------
        SETC      SXM
        MOVL      XAR4,#_uartb_buffer$10 ; |117| 
        MOV       ACC,@_ix$9            ; |117| 
        ADDL      XAR4,ACC
        MOVL      XAR5,#589824          ; |117| 
        MOV       AL,*+XAR5[0]          ; |117| 
        MOV       *+XAR4[0],AL          ; |117| 
	.line	12
;----------------------------------------------------------------------
; 118 | ix++;                                                                  
;----------------------------------------------------------------------
        INC       @_ix$9                ; |118| 
	.line	13
;----------------------------------------------------------------------
; 119 | if (ix==8)                                                             
;----------------------------------------------------------------------
        MOV       AL,@_ix$9             ; |119| 
        CMPB      AL,#8                 ; |119| 
        BF        L20,NEQ               ; |119| 
        ; branch occurs ; |119| 

⌨️ 快捷键说明

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