📄 ata_wc.lst
字号:
00095
00096
00097
0030 1935 00098 Iu3: btfsc KeyState,KEY_STATE_OPEN_CLOSE
0031 2??? 00099 goto Iu4
0032 18B5 00100 btfsc KeyState,KEY_STATE_PAUSE_ONOFF
0033 2??? 00101 goto Iu4
0034 1D34 00102 btfss KeyEvent,KEY_EVENT_PREVIOUS
0035 2??? 00103 goto Iu4
0036 03CA 00104 decf TrackStartNr,f
0037 1C35 00105 btfss KeyState,KEY_STATE_PLAY_STOP
0038 2??? 00106 goto IuEnd
0039 2??? 00107 call AtaCmdReadSubChannel
003A 0344 00108 decf TrackCurrentNr,w
003B 00CA 00109 movwf TrackStartNr
003C 2??? 00110 call AtaCmdReadToc
003D 0838 00111 movf TrackStartMSF_M,w
003E 00A5 00112 movwf AtaPacket+3
003F 0839 00113 movf TrackStartMSF_S,w
0040 00A6 00114 movwf AtaPacket+4
0041 083A 00115 movf TrackStartMSF_F,w
0042 00A7 00116 movwf AtaPacket+5
MPASM 4.00 Released ATA_WC.ASM 4-4-2005 11:55:09 PAGE 12
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0043 2??? 00117 call AtaCmdPlayAudio
0044 2??? 00118 goto IuEnd
00119
00120
00121
0045 1DB4 00122 Iu4: btfss KeyEvent,KEY_EVENT_OPEN_CLOSE
0046 2??? 00123 goto Iu5
0047 1935 00124 btfsc KeyState,KEY_STATE_OPEN_CLOSE
0048 2??? 00125 goto Kcl
0049 1835 00126 Kop: btfsc KeyState,KEY_EVENT_PLAY_STOP
004A 2??? 00127 call AtaCmdStopAudio
004B 2??? 00128 call AtaCmdOpenDoor
004C 1535 00129 bsf KeyState,KEY_STATE_OPEN_CLOSE
004D 2??? 00130 goto IuEnd
004E 2??? 00131 Kcl: call AtaCmdCloseDoor
004F 2??? 00132 call AtaCmdStopAudio
0050 1035 00133 bcf KeyState,KEY_STATE_PLAY_STOP
0051 10B5 00134 bcf KeyState,KEY_STATE_PAUSE_ONOFF
0052 1135 00135 bcf KeyState,KEY_STATE_OPEN_CLOSE
0053 3001 00136 movlw 0x01
0054 00CA 00137 movwf TrackStartNr
0055 2??? 00138 goto IuEnd
00139
00140
00141
00142
00143
0056 1935 00144 Iu5: btfsc KeyState,KEY_STATE_OPEN_CLOSE
0057 2??? 00145 goto IuEnd
0058 1E34 00146 btfss KeyEvent,KEY_EVENT_PAUSE_ONOFF
0059 2??? 00147 goto IuEnd
005A 1C35 00148 btfss KeyState,KEY_STATE_PLAY_STOP
005B 2??? 00149 goto IuEnd
005C 18B5 00150 btfsc KeyState,KEY_STATE_PAUSE_ONOFF
005D 2??? 00151 goto Kpf
005E 2??? 00152 Kpo: call AtaCmdPauseOn
005F 14B5 00153 bsf KeyState,KEY_STATE_PAUSE_ONOFF
0060 2??? 00154 goto IuEnd
0061 2??? 00155 Kpf: call AtaCmdPauseOff
0062 10B5 00156 bcf KeyState,KEY_STATE_PAUSE_ONOFF
0063 2??? 00157 goto IuEnd
0064 00158 IuEnd:
0064 1208 00159 bcf portd,LED_STATUS
0065 0008 00160 return
00161
00162
00163
00164
00165
00166
0066 00167 AtaInit:
0066 1608 00168 bsf portd,LED_STATUS
0067 2??? 00169 call AtaReset
MPASM 4.00 Released ATA_WC.ASM 4-4-2005 11:55:09 PAGE 13
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0068 2??? 00170 call Delay5s
0069 2??? 00171 call Delay5s
00172
006A 300C 00173 movlw D'12'
006B 00A0 00174 movwf AtaCounter
006C 3022 00175 movlw AtaPacket
006D 0084 00176 movwf fsr
006E 0180 00177 Ai1: clrf indf
006F 0A84 00178 incf fsr,f
0070 0BA0 00179 decfsz AtaCounter,f
0071 2??? 00180 goto Ai1
0072 2??? 00181 call AtaCmdStopAudio
00182 #ifdef LCD
00183 call AtaCmdInquiry
00184 #endif
0073 1208 00185 bcf portd,LED_STATUS
0074 0008 00186 return
00187
00188
00189
00190
00191
00192
0075 00193 AtaReset:
0075 1388 00194 bcf portd,ATA_RST
0076 2??? 00195 call Delay200ms
0077 1788 00196 bsf portd,ATA_RST
0078 2??? 00197 call Delay200ms
0079 0008 00198 return
00199
00200
00201
00202
00203
00204
007A 00205 AtaCmdStopAudio:
007A 304E 00206 movlw 0x4e
007B 00A2 00207 movwf AtaPacket
007C 2??? 00208 call AtaWritePacket
007D 2??? 00209 call AtaReadPacketEmpty
007E 3A01 00210 xorlw 0x01
007F 1D03 00211 btfss status,z
0080 0008 00212 return
0081 0BD6 00213 decfsz AtaErrorRetries,f
0082 2??? 00214 goto AtaCmdStopAudio
0083 2??? 00215 call AtaReset
0084 0008 00216 return
00217
00218
00219
00220
00221
00222
MPASM 4.00 Released ATA_WC.ASM 4-4-2005 11:55:09 PAGE 14
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0085 00223 AtaCmdPauseOn:
0085 304B 00224 movlw 0x4b
0086 00A2 00225 movwf AtaPacket
0087 2??? 00226 call AtaWritePacket
0088 2??? 00227 call AtaReadPacketEmpty
0089 1903 00228 btfsc status,z
008A 0008 00229 return
008B 0BD6 00230 decfsz AtaErrorRetries,f
008C 2??? 00231 goto AtaCmdPauseOn
008D 2??? 00232 call AtaReset
008E 0008 00233 return
00234
00235
00236
00237
00238
00239
008F 00240 AtaCmdPauseOff:
008F 304B 00241 movlw 0x4b
0090 00A2 00242 movwf AtaPacket
0091 3001 00243 movlw 0x01
0092 00AA 00244 movwf AtaPacket+8
0093 2??? 00245 call AtaWritePacket
0094 2??? 00246 call AtaReadPacketEmpty
0095 1903 00247 btfsc status,z
0096 0008 00248 return
0097 0BD6 00249 decfsz AtaErrorRetries,f
0098 2??? 00250 goto AtaCmdPauseOff
0099 2??? 00251 call AtaReset
009A 0008 00252 return
00253
00254
00255
00256
00257
00258
009B 00259 AtaCmdPlayAudio:
009B 3047 00260 movlw 0x47
009C 00A2 00261 movwf AtaPacket
009D 083B 00262 movf TrackLeadOutMSF_M,w
009E 00A8 00263 movwf AtaPacket+6
009F 083C 00264 movf TrackLeadOutMSF_S,w
00A0 00A9 00265 movwf AtaPacket+7
00A1 083D 00266 movf TrackLeadOutMSF_F,w
00A2 00AA 00267 movwf AtaPacket+8
00A3 2??? 00268 call AtaWritePacket
00A4 2??? 00269 call AtaReadPacketEmpty
00A5 1903 00270 btfsc status,z
00A6 0008 00271 return
00A7 0BD6 00272 decfsz AtaErrorRetries,f
00A8 2??? 00273 goto AtaCmdPlayAudio
00A9 2??? 00274 call AtaReset
00AA 0008 00275 return
MPASM 4.00 Released ATA_WC.ASM 4-4-2005 11:55:09 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00276
00277
00278
00279
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -