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

📄 exchange.lis

📁 用VC编辑的一个MD5算法
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module exchange.c
                        .area data(ram, con, rel)
 0000           _ready::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile ./exchange.c
 0001                   .dbsym e ready _ready c
 0001           _rx_buffer::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile ./exchange.c
 0002                   .blkb 14
                        .area idata
 0002 00000000000000000000      .word 0,0,0,0,0
 000C 00000000          .byte 0,0,0,0
                        .area data(ram, con, rel)
 0010                   .dbfile ./exchange.c
 0010                   .dbsym e rx_buffer _rx_buffer A[15:15]c
 0010           _rx_index:
 0010                   .blkb 1
                        .area idata
 0010 00                .byte 0
                        .area data(ram, con, rel)
 0011                   .dbfile ./exchange.c
 0011                   .dbsym s rx_index _rx_index X
 0011           _tx_buffer::
 0011                   .blkb 1
                        .area idata
 0011 00                .byte 0
                        .area data(ram, con, rel)
 0012                   .dbfile ./exchange.c
 0012                   .blkb 34
                        .area idata
 0012 00000000000000000000      .word 0,0,0,0,0
 001C 00000000000000000000      .word 0,0,0,0,0
 0026 00000000000000000000      .word 0,0,0,0,0
 0030 00000000          .byte 0,0,0,0
                        .area data(ram, con, rel)
 0034                   .dbfile ./exchange.c
 0034                   .dbsym e tx_buffer _tx_buffer A[35:35]c
 0034           _tx_index:
 0034                   .blkb 1
                        .area idata
 0034 00                .byte 0
                        .area data(ram, con, rel)
 0035                   .dbfile ./exchange.c
 0035                   .dbsym s tx_index _tx_index c
                        .area text(rom, con, rel)
 0000                   .dbfile ./exchange.c
 0000                   .dbfunc e OpenExchange _OpenExchange fV
 0000           _OpenExchange::
 0000                   .dbline -1
 0000                   .dbline 19
 0000           ; #include "exchange.h"
 0000           ; #include "ddsapi.h"
 0000           ; #include "globalparams.h"
 0000           ; 
 0000           ; 
 0000           ; #define bTx_232_INT_MASK 0x20
 0000           ; 
 0000           ; #define RX_BUFFER_LEN 15
 0000           ; 
 0000           ; BOOL ready = FALSE;
 0000           ; BYTE rx_buffer[RX_BUFFER_LEN] = "";
 0000           ; static volatile BYTE rx_index = 0;
 0000           ; 
 0000           ; #define TX_BUFFER_LEN 35
 0000           ; BYTE tx_buffer[TX_BUFFER_LEN] = "";
 0000           ; static BYTE tx_index = 0;
 0000           ; 
 0000           ; void OpenExchange(void)
 0000           ; {
 0000                   .dbline 20
 0000           ;   Rs_Timer_DisableInt();
 0000 10                push X
 0001 7C0000            xcall _Rs_Timer_DisableInt
 0004                   .dbline 21
 0004           ;   Rs_Timer_WritePeriod(RS232_BAUDRATE_PERIOD);
 0004 5019              mov A,25
 0006 7C0000            xcall _Rs_Timer_WritePeriod
 0009                   .dbline 22
 0009           ;   Rs_Timer_Start();
 0009 7C0000            xcall _Rs_Timer_Start
 000C 20                pop X
 000D                   .dbline 24
 000D           ;   
 000D           ;   rx_index = 0;
 000D 551000            mov [_rx_index],0
 0010                   .dbline 25
 0010           ;   Rx_232_EnableInt();
 0010 10                push X
 0011 7C0000            xcall _Rx_232_EnableInt
 0014                   .dbline 26
 0014           ;   Rx_232_Start(RX8_PARITY_NONE); 
 0014 5000              mov A,0
 0016 7C0000            xcall _Rx_232_Start
 0019 20                pop X
 001A                   .dbline 28
 001A           ;   
 001A           ;   tx_index = 0xFF;
 001A 5534FF            mov [_tx_index],-1
 001D                   .dbline 29
 001D           ;   Tx_232_DisableInt();
 001D 10                push X
 001E 7C0000            xcall _Tx_232_DisableInt
 0021                   .dbline 30
 0021           ;   Tx_232_Start(TX8_PARITY_NONE);
 0021 5000              mov A,0
 0023 7C0000            xcall _Tx_232_Start
 0026 20                pop X
 0027                   .dbline 32
 0027           ;   
 0027           ;   ready = FALSE;
 0027 550000            mov [_ready],0
 002A                   .dbline -2
 002A                   .dbline 33
 002A           ; }
 002A           L1:
 002A                   .dbline 0 ; func end
 002A 7F                ret
 002B                   .dbend
 002B                   .dbfunc e CloseExchange _CloseExchange fV
 002B           _CloseExchange::
 002B                   .dbline -1
 002B                   .dbline 36
 002B           ; 
 002B           ; void CloseExchange(void)
 002B           ; {
 002B                   .dbline 37
 002B           ;   Rs_Timer_Stop();  
 002B 10                push X
 002C 7C0000            xcall _Rs_Timer_Stop
 002F 20                pop X
 0030                   .dbline -2
 0030                   .dbline 38
 0030           ; }
 0030           L2:
 0030                   .dbline 0 ; func end
 0030 7F                ret
 0031                   .dbend
                        .area data(ram, con, rel)
 0035                   .dbfile ./exchange.c
 0035           L4:
 0035                   .blkb 1
                        .area idata
 0035 00                .byte 0
                        .area data(ram, con, rel)
 0036                   .dbfile ./exchange.c
                        .area text(rom, con, rel)
 0031                   .dbfile ./exchange.c
 0031                   .dbfunc e Rs232_Rx_handler _Rs232_Rx_handler fV
 0031                   .dbsym s ch L4 c
 0031           _Rs232_Rx_handler::
 0031                   .dbline -1
 0031 08                push A
 0032 5100              mov A,[__r0]
 0034 08                push A
 0035 5100              mov A,[__r1]
 0037 08                push A
 0038 5100              mov A,[__r3]
 003A 08                push A
 003B                   .dbline 45
 003B           ; 
 003B           ; 
 003B           ; 
 003B           ; 
 003B           ; #pragma interrupt_handler Rs232_Rx_handler;
 003B           ; void Rs232_Rx_handler(void)
 003B           ; {
 003B                   .dbline 48
 003B           ;   static BYTE ch = 0;
 003B           ;   
 003B           ;   ch = Rx_232_RX_BUFFER_REG;
 003B 5D32              mov A,REG[50]
 003D 5335              mov [L4],A
 003F                   .dbline 50
 003F           ;   
 003F           ;   if (!(Rx_232_CONTROL_REG & RX8_RX_NO_ERROR))
 003F 4933E0            tst REG[51],-32
 0042 B047              jnz L5
 0044                   .dbline 51
 0044           ;   {
 0044                   .dbline 52
 0044           ;     if (  (ch == '\n'))
 0044 3C350A            cmp [L4],10
 0047 B020              jnz L7
 0049                   .dbline 53
 0049           ;     {
 0049                   .dbline 54
 0049           ;       if (rx_index > 1) ready = FALSE;
 0049 3C1001            cmp [_rx_index],1
 004C C006              jc L9
 004E A004              jz L9
 0050           X0:
 0050                   .dbline 54
 0050 550000            mov [_ready],0
 0053           L9:
 0053                   .dbline 55
 0053           ;       rx_buffer[rx_index] = 0;
 0053 5F0010            mov [__r1],[_rx_index]
 0056 550000            mov [__r0],0
 0059 060001            add [__r1],<_rx_buffer
 005C 0E0001            adc [__r0],>_rx_buffer
 005F 5000              mov A,0
 0061 3F00              mvi [__r1],A
 0063                   .dbline 56
 0063           ;       rx_index = 0;
 0063 551000            mov [_rx_index],0
 0066                   .dbline 57
 0066           ;     }
 0066 8023              xjmp L8
 0068           L7:
 0068                   .dbline 59
 0068           ;     else
 0068           ;     {
 0068                   .dbline 60
 0068           ;       if (rx_index < (RX_BUFFER_LEN-1))
 0068 3C100E            cmp [_rx_index],14
 006B D01E              jnc L11
 006D           X1:
 006D                   .dbline 61
 006D           ;       {
 006D                   .dbline 62
 006D           ;         rx_buffer[rx_index++] = ch;
 006D 5F0010            mov [__r1],[_rx_index]
 0070 550000            mov [__r0],0
 0073 5100              mov A,[__r1]
 0075 0101              add A,1
 0077 5300              mov [__r3],A
 0079 5000              mov A,0
 007B 0900              adc A,0
 007D 5F1000            mov [_rx_index],[__r3]
 0080 060001            add [__r1],<_rx_buffer
 0083 0E0001            adc [__r0],>_rx_buffer
 0086 5135              mov A,[L4]
 0088 3F00              mvi [__r1],A
 008A                   .dbline 63
 008A           ;       }
 008A           L11:
 008A                   .dbline 64
 008A           ;     }
 008A           L8:

⌨️ 快捷键说明

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