📄 main.lis
字号:
0071 L17:
0071 560501 mov [X+5],1
0074 560400 mov [X+4],0
0077 L18:
0077 5205 mov A,[X+5]
0079 5303 mov [_right_button],A
007B .dbline 98
007B ; if (move == STOP)
007B 3C0400 cmp [_move],0
007E B007 jnz L19
0080 .dbline 99
0080 ; {
0080 .dbline 100
0080 ; P0DATA |= 0x20; // P0.5 high (off)
0080 430020 or REG[ 0],32
0083 .dbline 101
0083 ; pre_move=UP;
0083 550200 mov [_pre_move],0
0086 .dbline 104
0086 ; // while(USB_bGetEPState(1) != IN_BUFFER_EMPTY);
0086 ; // USB_LoadEP(1, &c_ram[0], 8);
0086 ; }
0086 L19:
0086 .dbline 105
0086 ; if (move == GO && pre_move ==UP)
0086 3C0401 cmp [_move],1
0089 B029 jnz L21
008B 3C0200 cmp [_pre_move],0
008E B024 jnz L21
0090 .dbline 106
0090 ; {
0090 .dbline 107
0090 ; P0DATA &= ~(0x20); // P0.5 low (on)
0090 4100DF and REG[ 0],-33
0093 .dbline 108
0093 ; pre_move=DOWN;
0093 550201 mov [_pre_move],1
0096 L23:
0096 .dbline 110
0096 L24:
0096 .dbline 110
0096 ; // Check to see if the endpoint is empty
0096 ; while(USB_bGetEPState(1) != IN_BUFFER_EMPTY);
0096 10 push X
0097 5001 mov A,1
0099 7C0000 xcall _USB_bGetEPState
009C 20 pop X
009D 3901 cmp A,1
009F BFF6 jnz L23
00A1 .dbline 111
00A1 ; USB_LoadEP(1, &a_ram[0], 8);
00A1 550001 mov [_USB_APIEPNumber],1
00A4 .dbline 111
00A4 550008 mov [_USB_APICount],8
00A7 .dbline 111
00A7 10 push X
00A8 5000 mov A,>_a_ram
00AA 08 push A
00AB 5000 mov A,<_a_ram
00AD 5C mov X,A
00AE 18 pop A
00AF 7C0000 xcall _USB_XLoadEP
00B2 20 pop X
00B3 .dbline 112
00B3 ; }
00B3 L21:
00B3 .dbline 114
00B3 ; ///////////////////
00B3 ; if (left_button == UP)
00B3 3C0500 cmp [_left_button],0
00B6 B007 jnz L26
00B8 .dbline 115
00B8 ; {
00B8 .dbline 116
00B8 ; P0DATA |= 0x40; // P0.6 high (off)
00B8 430040 or REG[ 0],64
00BB .dbline 117
00BB ; pre_LB_down =UP;
00BB 550100 mov [_pre_LB_down],0
00BE .dbline 120
00BE ; // while(USB_bGetEPState(1) != IN_BUFFER_EMPTY);
00BE ; // USB_LoadEP(1, &c_ram[0], 8);
00BE ; }
00BE L26:
00BE .dbline 121
00BE ; if (left_button == DOWN && pre_LB_down ==UP)
00BE 3C0501 cmp [_left_button],1
00C1 B057 jnz L28
00C3 3C0100 cmp [_pre_LB_down],0
00C6 B052 jnz L28
00C8 .dbline 122
00C8 ; {
00C8 .dbline 123
00C8 ; P0DATA &= ~(0x40); // P0.6 low (on)
00C8 4100BF and REG[ 0],-65
00CB .dbline 124
00CB ; pre_LB_down=DOWN;
00CB 550101 mov [_pre_LB_down],1
00CE .dbline 125
00CE ; switch (USB_bGetEPState(1))
00CE 10 push X
00CF 5001 mov A,1
00D1 7C0000 xcall _USB_bGetEPState
00D4 20 pop X
00D5 5407 mov [X+7],A
00D7 560600 mov [X+6],0
00DA 3D0600 cmp [X+6],0
00DD B006 jnz X2
00DF 3D0700 cmp [X+7],0
00E2 A017 jz L33
00E4 X2:
00E4 3D0600 cmp [X+6],0
00E7 B006 jnz X3
00E9 3D0701 cmp [X+7],1
00EC A012 jz L34
00EE X3:
00EE 3D0600 cmp [X+6],0
00F1 B006 jnz X4
00F3 3D0702 cmp [X+7],2
00F6 A00D jz L35
00F8 X4:
00F8 800E xjmp L31
00FA X0:
00FA .dbline 126
00FA ; {
00FA L33:
00FA .dbline 127
00FA ; case 0: P0DATA &= ~(0x20);break; // P0.5 low (on)
00FA 4100DF and REG[ 0],-33
00FD .dbline 127
00FD 8009 xjmp L31
00FF L34:
00FF .dbline 128
00FF ; case 1: P0DATA &= ~(0x40);break; // P0.6 low (on)
00FF 4100BF and REG[ 0],-65
0102 .dbline 128
0102 8004 xjmp L31
0104 L35:
0104 .dbline 129
0104 ; case 2: P1DATA &= ~(0x08);break; // P1.3 low (on)
0104 4101F7 and REG[0x1],-9
0107 .dbline 129
0107 .dbline 130
0107 ; default: break;
0107 L31:
0107 .dbline 134
0107 ; }
0107 ; // Check to see if the endpoint is empty
0107 ; // while(USB_bGetEPState(1) != IN_BUFFER_EMPTY);
0107 ; USB_LoadEP(1, &b_ram[0], 8);
0107 550001 mov [_USB_APIEPNumber],1
010A .dbline 134
010A 550008 mov [_USB_APICount],8
010D .dbline 134
010D 10 push X
010E 5000 mov A,>_b_ram
0110 08 push A
0111 5000 mov A,<_b_ram
0113 5C mov X,A
0114 18 pop A
0115 7C0000 xcall _USB_XLoadEP
0118 20 pop X
0119 .dbline 135
0119 ; }
0119 L28:
0119 .dbline 137
0119 ; ///////////////////
0119 ; if (right_button == UP)
0119 3C0300 cmp [_right_button],0
011C B007 jnz L36
011E .dbline 138
011E ; {
011E .dbline 139
011E ; P1DATA |= 0x08; // P1.3 high (off)
011E 430108 or REG[0x1],8
0121 .dbline 140
0121 ; pre_RB_down =UP;
0121 550000 mov [_pre_RB_down],0
0124 .dbline 143
0124 ; // while(USB_bGetEPState(1) != IN_BUFFER_EMPTY);
0124 ; // USB_LoadEP(1, &c_ram[0], 8);
0124 ; }
0124 L36:
0124 .dbline 144
0124 ; if (right_button == DOWN && pre_RB_down ==UP)
0124 3C0301 cmp [_right_button],1
0127 B057 jnz L38
0129 3C0000 cmp [_pre_RB_down],0
012C B052 jnz L38
012E .dbline 145
012E ; {
012E .dbline 146
012E ; P1DATA &= ~(0x08); // P0.6 low (on)
012E 4101F7 and REG[0x1],-9
0131 .dbline 147
0131 ; pre_RB_down=DOWN;
0131 550001 mov [_pre_RB_down],1
0134 .dbline 149
0134 ; // USB_EnableEP(1);
0134 ; switch (USB_bGetEPState(1))
0134 10 push X
0135 5001 mov A,1
0137 7C0000 xcall _USB_bGetEPState
013A 20 pop X
013B 5407 mov [X+7],A
013D 560600 mov [X+6],0
0140 3D0600 cmp [X+6],0
0143 B006 jnz X5
0145 3D0700 cmp [X+7],0
0148 A017 jz L43
014A X5:
014A 3D0600 cmp [X+6],0
014D B006 jnz X6
014F 3D0701 cmp [X+7],1
0152 A012 jz L44
0154 X6:
0154 3D0600 cmp [X+6],0
0157 B006 jnz X7
0159 3D0702 cmp [X+7],2
015C A00D jz L45
015E X7:
015E 800E xjmp L41
0160 X1:
0160 .dbline 150
0160 ; {
0160 L43:
0160 .dbline 151
0160 ; case 0: P0DATA &= ~(0x20);break; // P0.5 low (on)
0160 4100DF and REG[ 0],-33
0163 .dbline 151
0163 8009 xjmp L41
0165 L44:
0165 .dbline 152
0165 ; case 1: P0DATA &= ~(0x40);break; // P0.6 low (on)
0165 4100BF and REG[ 0],-65
0168 .dbline 152
0168 8004 xjmp L41
016A L45:
016A .dbline 153
016A ; case 2: P1DATA &= ~(0x08);break; // P1.3 low (on)
016A 4101F7 and REG[0x1],-9
016D .dbline 153
016D .dbline 154
016D ; default: break;
016D L41:
016D .dbline 158
016D ; }
016D ; // Check to see if the endpoint is empty
016D ; // while(USB_bGetEPState(1) != IN_BUFFER_EMPTY);
016D ; USB_LoadEP(1, &d_ram[0], 8);
016D 550001 mov [_USB_APIEPNumber],1
0170 .dbline 158
0170 550008 mov [_USB_APICount],8
0173 .dbline 158
0173 10 push X
0174 5000 mov A,>_d_ram
0176 08 push A
0177 5000 mov A,<_d_ram
0179 5C mov X,A
017A 18 pop A
017B 7C0000 xcall _USB_XLoadEP
017E 20 pop X
017F .dbline 159
017F ; }
017F L38:
017F .dbline 193
017F L8:
017F .dbline 93
017F 8EB6 xjmp L7
0181 L46:
0181 .dbline 196
0181 ; /*
0181 ;
0181 ; switch (USB_bGetEPState(1))
0181 ; {
0181 ; case 0: P0DATA &= ~(0x20);break; // P0.5 low (on)
0181 ; case 1: P0DATA &= ~(0x40);break; // P0.6 low (on)
0181 ; case 2: P1DATA &= ~(0x08);break; // P1.3 low (on)
0181 ; default: break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -