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

📄 main.lis

📁 基于Cypress CY3655开发工具的USB鼠标程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 001F                   .dbline 64
 001F           ;     left_button = UP;
 001F 550700            mov [_left_button],0
 0022 80DE              xjmp L7
 0024           L6:
 0024                   .dbline 67
 0024           ;     
 0024           ;     while (1)
 0024           ;     {
 0024                   .dbline 68
 0024           ;         move        = ((P0DATA & 0x04) ? STOP : GO);  // P0.2 Up or Down
 0024 490004            tst REG[ 0],4
 0027 A009              jz L10
 0029 560100            mov [X+1],0
 002C 560000            mov [X+0],0
 002F 8007              xjmp L11
 0031           L10:
 0031 560101            mov [X+1],1
 0034 560000            mov [X+0],0
 0037           L11:
 0037 5201              mov A,[X+1]
 0039 5306              mov [_move],A
 003B                   .dbline 69
 003B           ;         left_button = ((P0DATA & 0x08) ? UP : DOWN);  // P0.3 Up or Down
 003B 490008            tst REG[ 0],8
 003E A009              jz L13
 0040 560300            mov [X+3],0
 0043 560200            mov [X+2],0
 0046 8007              xjmp L14
 0048           L13:
 0048 560301            mov [X+3],1
 004B 560200            mov [X+2],0
 004E           L14:
 004E 5203              mov A,[X+3]
 0050 5307              mov [_left_button],A
 0052                   .dbline 70
 0052           ;         if (move == STOP)
 0052 3C0600            cmp [_move],0
 0055 B006              jnz L15
 0057                   .dbline 71
 0057           ;          {   P0DATA |= 0x20;        // P0.5 high (off)
 0057                   .dbline 71
 0057 430020            or REG[ 0],32
 005A                   .dbline 72
 005A 8004              xjmp L16
 005C           L15:
 005C                   .dbline 72
 005C           ;          }else {
 005C                   .dbline 73
 005C           ;             P0DATA &= ~(0x20);      // P0.5 low (on)
 005C 4100DF            and REG[ 0],-33
 005F                   .dbline 74
 005F           ;          }
 005F           L16:
 005F                   .dbline 75
 005F           ;         if (left_button == UP)
 005F 3C0700            cmp [_left_button],0
 0062 B006              jnz L17
 0064                   .dbline 76
 0064           ;          {   P0DATA |= 0x40;        // P0.6 high (off)
 0064                   .dbline 76
 0064 430040            or REG[ 0],64
 0067                   .dbline 77
 0067 8004              xjmp L18
 0069           L17:
 0069                   .dbline 77
 0069           ;          }else{
 0069                   .dbline 78
 0069           ;             P0DATA &= ~(0x40);      // P0.6 low (on)
 0069 4100BF            and REG[ 0],-65
 006C                   .dbline 79
 006C           ;          }
 006C           L18:
 006C                   .dbline 81
 006C           ;        
 006C           ;         if (move == GO)
 006C 3C0601            cmp [_move],1
 006F B091              jnz L19
 0071                   .dbline 82
 0071           ;         {
 0071                   .dbline 84
 0071           ;             // Check to see if the endpoint is empty
 0071           ;             if (USB_bGetEPState(1) == IN_BUFFER_EMPTY)
 0071 10                push X
 0072 5001              mov A,1
 0074 7C0000            xcall _USB_bGetEPState
 0077 20                pop X
 0078 3901              cmp A,1
 007A B086              jnz L21
 007C                   .dbline 85
 007C           ;             {
 007C                   .dbline 86
 007C           ;                   a_ram[0] = ((left_button == DOWN) ? *p_data : *p_data & ~(LB_DOWN));
 007C 3C0701            cmp [_left_button],1
 007F B012              jnz L24
 0081 5F0001            mov [__r1],[_p_data+1]
 0084 5100              mov A,[_p_data]
 0086 10                push X
 0087 5800              mov X,[__r1]
 0089 28                romx
 008A 20                pop X
 008B 5405              mov [X+5],A
 008D 560400            mov [X+4],0
 0090 8012              xjmp L25
 0092           L24:
 0092 5F0001            mov [__r1],[_p_data+1]
 0095 5100              mov A,[_p_data]
 0097 10                push X
 0098 5800              mov X,[__r1]
 009A 28                romx
 009B 20                pop X
 009C 21FE              and A,-2
 009E 5405              mov [X+5],A
 00A0 560400            mov [X+4],0
 00A3           L25:
 00A3 5205              mov A,[X+5]
 00A5 5302              mov [_a_ram],A
 00A7                   .dbline 87
 00A7           ;                   p_data++;
 00A7 7601              inc [_p_data+1]
 00A9 0E0000            adc [_p_data],0
 00AC                   .dbline 88
 00AC           ;                   a_ram[1] = *p_data; p_data++;
 00AC 5F0001            mov [__r1],[_p_data+1]
 00AF 5100              mov A,[_p_data]
 00B1 10                push X
 00B2 5800              mov X,[__r1]
 00B4 28                romx
 00B5 20                pop X
 00B6 5303              mov [_a_ram+1],A
 00B8                   .dbline 88
 00B8 7601              inc [_p_data+1]
 00BA 0E0000            adc [_p_data],0
 00BD                   .dbline 89
 00BD           ;                   a_ram[2] = *p_data; p_data++;
 00BD 5F0001            mov [__r1],[_p_data+1]
 00C0 5100              mov A,[_p_data]
 00C2 10                push X
 00C3 5800              mov X,[__r1]
 00C5 28                romx
 00C6 20                pop X
 00C7 5304              mov [_a_ram+2],A
 00C9                   .dbline 89
 00C9 7601              inc [_p_data+1]
 00CB 0E0000            adc [_p_data],0
 00CE                   .dbline 90
 00CE           ;                   a_ram[3] = *p_data; p_data++;
 00CE 5F0001            mov [__r1],[_p_data+1]
 00D1 5100              mov A,[_p_data]
 00D3 10                push X
 00D4 5800              mov X,[__r1]
 00D6 28                romx
 00D7 20                pop X
 00D8 5305              mov [_a_ram+3],A
 00DA                   .dbline 90
 00DA 7601              inc [_p_data+1]
 00DC 0E0000            adc [_p_data],0
 00DF                   .dbline 91
 00DF           ;                       if (p_data > &a_logo_vectors[sizeof(a_logo_vectors) - 1])
 00DF 50EF              mov A,<_a_logo_vectors+239
 00E1 1201              sub A,[_p_data+1]
 00E3 50EF              mov A,>_a_logo_vectors+239
 00E5 1A00              sbb A,[_p_data]
 00E7 D007              jnc L29
 00E9           X1:
 00E9                   .dbline 92
 00E9           ;                               p_data = &a_logo_vectors[0];
 00E9 550100            mov [_p_data+1],<_a_logo_vectors
 00EC 550000            mov [_p_data],>_a_logo_vectors
 00EF           L29:
 00EF                   .dbline 93
 00EF           ;                   USB_LoadEP(1, &a_ram[0], 3);
 00EF 550001            mov [_USB_APIEPNumber],1
 00F2                   .dbline 93
 00F2 550003            mov [_USB_APICount],3
 00F5                   .dbline 93
 00F5 10                push X
 00F6 5002              mov A,>_a_ram
 00F8 08                push A
 00F9 5002              mov A,<_a_ram
 00FB 5C                mov X,A
 00FC 18                pop A
 00FD 7C0000            xcall _USB_XLoadEP
 0100 20                pop X
 0101                   .dbline 94
 0101           ;             }        
 0101           L21:
 0101                   .dbline 95
 0101           ;         }
 0101           L19:
 0101                   .dbline 96
 0101           L7:
 0101                   .dbline 66
 0101 8F22              xjmp L6
 0103           X0:
 0103                   .dbline -2
 0103                   .dbline 97
 0103           ;     }
 0103           ; }
 0103           L2:
 0103 38FA              add SP,-6
 0105 20                pop X
 0106                   .dbline 0 ; func end
 0106 8FFF              jmp .
 0108                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile ./main.c
 0000           _p_data::
 0000                   .blkb 2
 0002                   .dbsym e p_data _p_data pc
 0002           _a_ram::
 0002                   .blkb 4
 0006                   .dbsym e a_ram _a_ram A[4:4]c
 0006           _move::
 0006                   .blkb 1
 0007                   .dbsym e move _move c
 0007           _left_button::
 0007                   .blkb 1
 0008                   .dbsym e left_button _left_button c

⌨️ 快捷键说明

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