📄 exchange.lis
字号:
008A .dbline 65
008A L5:
008A .dbline -2
008A .dbline 66
008A ; }
008A ; }
008A L3:
008A 18 pop A
008B 5300 mov [__r3],A
008D 18 pop A
008E 5300 mov [__r1],A
0090 18 pop A
0091 5300 mov [__r0],A
0093 18 pop A
0094 .dbline 0 ; func end
0094 7E reti
0095 .dbend
0095 .dbfunc e Rs232_Tx_handler _Rs232_Tx_handler fV
0095 ; bFlagShadow -> X+0
0095 _Rs232_Tx_handler::
0095 .dbline -1
0095 08 push A
0096 5100 mov A,[__r0]
0098 08 push A
0099 5100 mov A,[__r1]
009B 08 push A
009C 5100 mov A,[__r3]
009E 08 push A
009F 10 push X
00A0 4F mov X,SP
00A1 3801 add SP,1
00A3 .dbline 70
00A3 ;
00A3 ; #pragma interrupt_handler Rs232_Tx_handler;
00A3 ; void Rs232_Tx_handler(void)
00A3 ; {
00A3 .dbline 71
00A3 ; if (tx_buffer[tx_index])
00A3 5F0034 mov [__r1],[_tx_index]
00A6 550000 mov [__r0],0
00A9 060011 add [__r1],<_tx_buffer
00AC 0E0011 adc [__r0],>_tx_buffer
00AF 3E00 mvi A,[__r1]
00B1 A020 jz L14
00B3 .dbline 72
00B3 ; {
00B3 .dbline 73
00B3 ; Tx_232_TX_BUFFER_REG = tx_buffer[tx_index++];
00B3 5F0034 mov [__r1],[_tx_index]
00B6 550000 mov [__r0],0
00B9 5100 mov A,[__r1]
00BB 0101 add A,1
00BD 5300 mov [__r3],A
00BF 5000 mov A,0
00C1 0900 adc A,0
00C3 5F3400 mov [_tx_index],[__r3]
00C6 060011 add [__r1],<_tx_buffer
00C9 0E0011 adc [__r0],>_tx_buffer
00CC 3E00 mvi A,[__r1]
00CE 6035 mov REG[53],A
00D0 .dbline 74
00D0 ; }
00D0 8016 xjmp L15
00D2 L14:
00D2 .dbline 76
00D2 ; else
00D2 ; {
00D2 .dbline 77
00D2 .dbline 77
00D2 5DFF mov A,REG[-1]
00D4 2180 and A,-128
00D6 5400 mov [X+0],A
00D8 .dbline 77
00D8 70FE and F, FEh
00DA
00DA .dbline 77
00DA 41E1DF and REG[-31],-33
00DD .dbline 77
00DD 3D0000 cmp [X+0],0
00E0 A003 jz L16
00E2 .dbline 77
00E2 .dbline 77
00E2 7101 or F, 01h
00E4
00E4 .dbline 77
00E4 L16:
00E4 .dbline 77
00E4 .dbline 77
00E4 .dbline 78
00E4 5534FF mov [_tx_index],-1
00E7 .dbline 79
00E7 L15:
00E7 .dbline -2
00E7 .dbline 80
00E7 ; M8C_DisableIntMask (INT_MSK1, bTx_232_INT_MASK);
00E7 ; tx_index = 0xFF;
00E7 ; }
00E7 ; }
00E7 L13:
00E7 38FF add SP,-1
00E9 20 pop X
00EA 18 pop A
00EB 5300 mov [__r3],A
00ED 18 pop A
00EE 5300 mov [__r1],A
00F0 18 pop A
00F1 5300 mov [__r0],A
00F3 18 pop A
00F4 .dbline 0 ; func end
00F4 7E reti
00F5 .dbsym l bFlagShadow 0 c
00F5 .dbend
00F5 .dbfunc e ExchangeSend _ExchangeSend fV
00F5 ; tx_count -> X+2
00F5 ; ptr -> X+0
00F5 ; str -> X-5
00F5 _ExchangeSend::
00F5 .dbline -1
00F5 10 push X
00F6 4F mov X,SP
00F7 3803 add SP,3
00F9 .dbline 83
00F9 ;
00F9 ; void ExchangeSend(const BYTE *str)
00F9 ; {
00F9 .dbline 84
00F9 ; BYTE *ptr = tx_buffer, tx_count = 0;
00F9 560111 mov [X+1],<_tx_buffer
00FC 560011 mov [X+0],>_tx_buffer
00FF .dbline 84
00FF 560200 mov [X+2],0
0102 L19:
0102 .dbline 86
0102 L20:
0102 .dbline 86
0102 ;
0102 ; while(tx_index != 0xFF);
0102 3C34FF cmp [_tx_index],-1
0105 BFFC jnz L19
0107 .dbline 87
0107 ; tx_index = tx_count= 0;
0107 560200 mov [X+2],0
010A 553400 mov [_tx_index],0
010D 8040 xjmp L23
010F L22:
010F .dbline 90
010F ;
010F ; while (*str)
010F ; {
010F .dbline 91
010F ; *ptr++ = *str++;
010F 5201 mov A,[X+1]
0111 5300 mov [__r1],A
0113 5200 mov A,[X+0]
0115 5300 mov [__r0],A
0117 5100 mov A,[__r1]
0119 0101 add A,1
011B 5401 mov [X+1],A
011D 5100 mov A,[__r0]
011F 0900 adc A,0
0121 5400 mov [X+0],A
0123 52FC mov A,[X-4]
0125 5300 mov [__r3],A
0127 52FB mov A,[X-5]
0129 5300 mov [__r2],A
012B 5100 mov A,[__r3]
012D 0101 add A,1
012F 54FC mov [X-4],A
0131 5100 mov A,[__r2]
0133 0900 adc A,0
0135 54FB mov [X-5],A
0137 5100 mov A,[__r2]
0139 10 push X
013A 5800 mov X,[__r3]
013C 28 romx
013D 20 pop X
013E 3F00 mvi [__r1],A
0140 .dbline 92
0140 ; if (++tx_count > (TX_BUFFER_LEN-2)) break;
0140 5202 mov A,[X+2]
0142 0101 add A,1
0144 5402 mov [X+2],A
0146 3921 cmp A,33
0148 C005 jc L25
014A A003 jz L25
014C X2:
014C .dbline 92
014C 8010 xjmp L24
014E L25:
014E .dbline 93
014E L23:
014E .dbline 89
014E 52FC mov A,[X-4]
0150 5300 mov [__r1],A
0152 52FB mov A,[X-5]
0154 10 push X
0155 5800 mov X,[__r1]
0157 28 romx
0158 20 pop X
0159 3900 cmp A,0
015B BFB3 jnz L22
015D L24:
015D .dbline 94
015D ; }
015D ; *ptr = 0;
015D 5201 mov A,[X+1]
015F 5300 mov [__r1],A
0161 5000 mov A,0
0163 3F00 mvi [__r1],A
0165 .dbline 96
0165 ;
0165 ; Tx_232_EnableInt();
0165 10 push X
0166 7C0000 xcall _Tx_232_EnableInt
0169 20 pop X
016A .dbline 97
016A ; Tx_232_SendData(tx_buffer[tx_index++]);
016A 5F0034 mov [__r1],[_tx_index]
016D 550000 mov [__r0],0
0170 5100 mov A,[__r1]
0172 0101 add A,1
0174 5300 mov [__r3],A
0176 5000 mov A,0
0178 0900 adc A,0
017A 5F3400 mov [_tx_index],[__r3]
017D 060011 add [__r1],<_tx_buffer
0180 0E0011 adc [__r0],>_tx_buffer
0183 3E00 mvi A,[__r1]
0185 10 push X
0186 7C0000 xcall _Tx_232_SendData
0189 20 pop X
018A .dbline -2
018A .dbline 99
018A ;
018A ; }
018A L18:
018A 38FD add SP,-3
018C 20 pop X
018D .dbline 0 ; func end
018D 7F ret
018E .dbsym l tx_count 2 c
018E .dbsym l ptr 0 pc
018E .dbsym l str -5 pc
018E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -