?? okupd6464_0929.asm
字號(hào):
mov a,count
movc a,@a+dptr
cjne a,#88h,DISNOSEARCHnextline
jmp DISNOSEARCHend_1
DISNOSEARCHnextline:
inc nbx
mov disdata,a
call displaychar
inc count
jmp DISNOSEARCH
DISNOSEARCHend:
mov nbx,#1
mov nby,#0
mov disdata,#3bh
call displaychar
mov senddata,4ch ; 初始 TRACK INDEX
MOV searchcount,#4CH ;初始 TRACK count
DISNOSEARCHend_1:
jmp exit
;====================================================
disoktitlename:
mov r0,#82h
mov a,@r0
clr c
subb a,#4
mov countername,a
mov r0,#86h
mov nbx,#2
distitlenameloop:
mov a,@r0 ; 空格
cjne a,#20h,distitlenameloop_kg
mov a,#10h
jmp distitlenameloop_3
distitlenameloop_kg:
cjne a,#4fh,distitlenameloop_o
mov a,#5fh ; o char
jmp distitlenameloop_3
distitlenameloop_o:
cjne a,#61h,distitlenameloop_1
distitlenameloop_1:
jc distitlenameloop_2 ;a xiaoto displaytittle_2
clr c
subb a,#10h
jmp distitlenameloop_3
distitlenameloop_2:
clr c
subb a,#30h
distitlenameloop_3:
mov disdata,a
LCALL displaychar
inc r0
inc nbx
djnz countername,distitlenameloop
ret
;**************************************************************search status end
;*************************************************************** remote status
voladd:
call vola
call losekey
jb status.1,voladd;
jmp exit
;----------------------------------
volmius:
call volm
call losekey
jb status.1,volmius;
jmp exit
;-------------------------------
KEYVOLADD:
call vola
call delay80ms
jnb VOLADDKEY,KEYVOLADD
jmp main
;-------------------------------
KEYVOLmius:
call volm
call delay80ms
jnb VOLmiusKEY,KEYVOLmius
jmp main
;-------------------------------
;KEYVOLADD:
; SETB KEYSTATUS.0
; JMP KEYVOLADD_1
;voladd:
; CLR KEYSTATUS.0
;KEYVOLADD_1:
; jnb status.0,voladdd
; mov nby,#11
; call clrrow
; mov voldiscount,#0
; mov disdata,#7ch
; mov nby,#11
; mov nbx,#0
; call displaychar
;;------------------------------------------
; mov disdata,#7dh
; mov nby,#11
; mov nbx,#17
; call displaychar
;voladdd:
; call vola
; call voldisvoljia
; mov dptr,#voladdtab
; mov count,#00h
;voladd_1:
; mov a,count
; movc a,@a+dptr
; inc count
; cjne a,#88h,voladd_2
; JB KEYSTATUS.0,ADDISKEY
; call losekey
; JMP ADDISKEY_1
;ADDISKEY:
; JNB VOLADDKEY,voladdd
; JMP voladd_1_0
;ADDISKEY_1:
; jb status.1,voladdd; no losekey go on
;;----------------------------------- losekey exit
;voladd_1_0:
; mov count,#00h
;voladd_1_1:
; mov a,count
; mov dptr,#buttomuptab
; movc a,@a+dptr
; inc count
; cjne a,#88h,voladd_3
; JB KEYSTATUS.0,voladd_1_2
; jmp exit ; exit
;voladd_1_2:
; jmp main
;;--------------------------------
;voladd_2:
; mov sbuf, a
; clr ti
; jnb ti,$
; jmp voladd_1
; ;------------------------------
;voladd_3:
; mov sbuf, a
; clr ti
; jnb ti,$
; jmp voladd_1_1
;;--------------------------------
;voldisvoljia:
; jnb status.0,voljia_1_0
; mov a,volcount
; cjne a,#16,voljia
; jmp voljia_1
;voljia:
; inc volcount
;voljia_1:
; mov a,voldiscount
; cjne a,volcount,voljia_2
;voljia_1_0:
; ret
;;--------------------------------------
;voljia_2:
; inc voldiscount
; mov disdata,#1fh
; mov nby,#11
; mov nbx,voldiscount
; call displaychar
; jmp voljia_1
;;======================================VOLMIUS
;KEYVOLMIUS:
; SETB KEYSTATUS.0
; JMP KEYVOLMIUS_1
;VOLMius:
; CLR KEYSTATUS.0
;KEYVOLMIUS_1:
; jnb status.0,VOLMiuss
; mov nby,#11
; call clrrow
; mov disdata,#7ch
; mov nby,#11
; mov nbx,#0
; call displaychar
;;------------------------------------------
; mov disdata,#7dh
; mov nby,#11
; mov nbx,#17
; call displaychar
; mov voldiscount,#1
;;-----------------------------------------------------
;volmiusicon:
; ;mov a,voldiscount
; ;cjne a,#volcount,volmiusicon_1
; mov a,voldiscount
; cjne a,volcount,volmiusicon_1
; jmp VOLMiuss
;volmiusicon_1:
; inc voldiscount
; mov disdata,#1fh
; mov nby,#11
; mov nbx,voldiscount
; call displaychar
; jmp volmiusicon
;;-----------------------------------------------
;VOLMiuss:
; mov voldiscount,volcount
; call voljianvol
; call volm
; mov dptr,#volmiustab
; mov count,#00h
;VOLMIUS_1:
; mov a,count
; movc a,@a+dptr
; inc count
; cjne a,#88h,VOLMIUS_2
; JB KEYSTATUS.0,ISKEY ; BANG DUANG SHI KEY HAI SHI REMOTE
; call losekey
; JMP ISKEY_1
;ISKEY:
; JNB VOLMIUSKEY,VOLMiuss
; JMP VOLMIUS_1_0
;ISKEY_1:
; jb status.1,VOLMIUSs; no losekey go on
;;----------------------------------- losekey exit
;VOLMIUS_1_0:
; mov count,#00h
;VOLMIUS_1_1:
; mov a,count
; mov dptr,#buttomuptab
; movc a,@a+dptr
; inc count
; cjne a,#88h,VOLMIUS_3
; JB KEYSTATUS.0,VOLMIUS_1_2 ; BANG DUANG SHI KEY HAI SHI REMOTE
; jmp exit ; exit
;VOLMIUS_1_2:
; jmp main
;;--------------------------------
;VOLMIUS_2:
; mov sbuf, a
; clr ti
; jnb ti,$
; jmp VOLMIUS_1
; ;------------------------------
;VOLMIUS_3:
; mov sbuf, a
; clr ti
; jnb ti,$
; jmp VOLMIUS_1_1
;;--------------------------------
;voljianvol:
; jnb status.0,voljian_3
; mov a,volcount
; cjne a,#1,voljian
; jmp voljian_1
;voljian:
; dec volcount
;voljian_1:
; mov a,voldiscount
; cjne a,#1,voljian_2
;voljian_2:
; jc voljian_3
; mov disdata,#10h
; mov nby,#11
; mov nbx,voldiscount
; call displaychar
; dec voldiscount
;voljian_3:
; ret
;========================================NEXTTRACK
NEXTTRACK:
mov dptr,#nexttracktab
call simplesend
jnb status.0,NEXTTRACK_1
lcall displaymain
NEXTTRACK_1:
jmp exit
;======================================PRETRACK
PRETRACK:
mov dptr,#pretracktab
call simplesend
jnb status.0,PRETRACK_1
lcall displaymain
PRETRACK_1:
jmp exit
;----------------------------------------
PLAYPAUSE:
mov dptr,#playpausetab
call simplesend
jnb status.0,PLAYPAUSE_1
lcall keydisplaypause
PLAYPAUSE_1:
jmp exit
;----------------------------------
nextlist:
mov dptr,#nextlisttab
call simplesend
jnb status.0,nextlist_1
lcall displaymain
nextlist_1:
jmp exit
;--------------------------------
prelist:
mov dptr,#prelisttab
call simplesend
jnb status.0,prelist_1
lcall displaymain
prelist_1:
jmp exit
;----------------------------
uparrow:
mov dptr,#uparrowtab
call simplesend
;lcall displaymain
jmp exit
;========================================
downarrow:
mov dptr,#downarrowtab
call simplesend
;lcall displaymain
jmp exit
;------------------------
menu:
mov dptr,#menutab
call simplesend
;lcall displaymain
jmp exit
;-------------------------------
select:
mov dptr,#selecttab
call simplesend
;lcall displaymain
jmp exit
;**************************************************** remote status end
;******************************************************
tvmode:
;jb status.0,tvmode_1 ; tv mode no process
call sendpower
call sendpower
call sendpower
call inexmode
tvmode_1:
setb status.0
call losekey
jb status.1,tvmode_1; no losekey go on
mov inexmodule,#01000101b
call ini6464
call displaymain
jmp exit
;*******************************************************
miusemode:
; jnb status.0,miusemode_1 ; miuse mode no process
call sendpower
call sendpower
call sendpower
call exitexmode
miusemode_1:
clr status.0
call losekey
jb status.1,miusemode_1; no losekey go on
mov inexmodule,#01000001b
call ini6464
jmp exit
;===================================================================== IPOD 程序
readwriteipod:
mov ritotal,#0
readwriteipod_1:
mov a,ritotal
cjne a,#2,readwriteipod_2
jmp readwriteipodexit
readwriteipod_2:
inc ritotal
mov count,#00h
senddata0:
mov a,count
movc a,@a+dptr
inc count
cjne a,#88h,senddatatab
jmp readdata
senddatatab: ;
mov sbuf, a
clr ti
jnb ti,$
jmp senddata0
;--------------------------read
readdata:
mov ricount,#250
mov ricount,#250
mov r0,#80h
setb ren
clr ri
rxwait1:
mov r0,#80h
clr ri
mov a,sbuf
mov @r0,a
;---------------------------------------
mov ricount,#250
mov ricount,#250
bushi1back:
djnz ricount,jinxudeng
mov ricount,#250
djnz ricount1,jinxudeng
jmp readwriteipod_1
jinxudeng:
jnb ri,bushi1back
cjne a,#0ffh,rxwait1
inc r0
clr ri
mov a,sbuf
mov @r0,a
;-------------------------------------
mov ricount,#250
mov ricount,#250
bushi1back1:
djnz ricount,jinxudeng1
mov ricount,#250
djnz ricount1,jinxudeng1
jmp readwriteipod_1
jinxudeng1:
jnb ri,bushi1back1
cjne a,#55h,rxwait1
inc r0
clr ri
mov a,sbuf
mov @r0,a
mov r3,a
mov ricount,#250
mov ricount,#250
bushi1back2:
djnz ricount,jinxudeng2
mov ricount,#250
djnz ricount1,jinxudeng2
jmp readwriteipod_1
jinxudeng2:
jnb ri,bushi1back2
rxwait1_1:
inc r0
clr ri
mov a,sbuf
mov @r0,a
mov ricount,#250
mov ricount,#250
bushi1back3:
djnz ricount,jinxudeng3
mov ricount,#250
djnz ricount1,jinxudeng3
jmp readwriteipod_1
jinxudeng3:
jnb ri,bushi1back3
djnz r3,rxwait1_1
mov r0,#85h
mov a,@r0
cjne a,duizao,readwriteipodexit22
readwriteipodexit:
ret
readwriteipodexit22:
jmp readwriteipod
;================================ shu jv bu send program
readwritebd: ; qiu de checksum
mov ritotal,#0
readwritebd_1:
mov a,ritotal
cjne a,#2,readwritebd_2
jmp readwritebdexit
readwritebd_2:
inc ritotal
mov count,#2h
mov datatemp,#0
qiuchecksum:
mov a,count
movc a,@a+dptr
inc count
cjne a,#0aah,qiudecheck
jmp jischecksum
qiudecheck:
clr c
add a,datatemp
mov datatemp,a
jmp qiuchecksum
jischecksum:
MOV A,senddata
add a,datatemp
mov datatemp,a
mov a,#0ffh
clr c
subb a,datatemp
inc a
mov checksum,a
;--------------------------------
mov count,#00h
senddatabd:
mov a,count
movc a,@a+dptr
inc count
cjne a,#0aah,senddatabd_1
jmp sendbdandcheck
senddatabd_1:
mov sbuf, a
clr ti
jnb ti,$
jmp senddatabd
;--------------------------send senddata and checksum
sendbdandcheck:
mov a,senddata
mov sbuf,a
clr ti
jnb ti,$
mov a,checksum
mov sbuf,a
clr ti
jnb ti,$
;------------------------------read
bdreaddata:
mov r0,#80h
setb ren
clr ri
bdrxwait1:
mov r0,#80h
clr ri
mov a,sbuf
mov @r0,a
mov ricount,#250
mov ricount,#250
bushi1back4:
djnz ricount,jinxudeng4
mov ricount,#250
djnz ricount1,jinxudeng4
jmp readwritebd_1
jinxudeng4:
jnb ri,bushi1back4
cjne a,#0ffh,bdrxwait1
inc r0
clr ri
mov a,sbuf
mov @r0,a
mov ricount,#250
mov ricount,#250
bushi1back5:
djnz ricount,jinxudeng5
mov ricount,#250
djnz ricount1,jinxudeng5
jmp readwritebd_1
jinxudeng5:
jnb ri,bushi1back5
cjne a,#55h,bdrxwait1
inc r0
clr ri
mov a,sbuf
mov @r0,a
mov r3,a
mov ricount,#250
mov ricount,#250
bushi1back6:
djnz ricount,jinxudeng6
mov ricount,#250
djnz ricount1,jinxudeng6
jmp readwritebd_1
jinxudeng6:
jnb ri,bushi1back6
;inc r3
bdrxwait1_1:
inc r0
clr ri
mov a,sbuf
mov @r0,a
mov ricount,#250
mov ricount,#250
bushi1back7:
djnz ricount,jinxudeng7
mov ricount,#250
djnz ricount1,jinxudeng7
jmp readwritebd_1
jinxudeng7:
jnb ri,bushi1back7
djnz r3,bdrxwait1_1
mov r0,#85h
mov a,@r0
cjne a,duizao,readwritebdexit22
readwritebdexit:
ret
readwritebdexit22:
jmp readwritebd
;================================================== write ipod bd
writebd: ; qiu de checksum
jb status.2,writebd_1
;call sendpower
writebd_1:
; setb status.2
mov count,#2h
mov datatemp,#0
writeqiuchecksum:
mov a,count
movc a,@a+dptr
inc count
cjne a,#0aah,writeqiudecheck
jmp writejischecksum
writeqiudecheck:
clr c
add a,datatemp
mov datatemp,a
jmp writeqiuchecksum
writejischecksum:
MOV A,senddata
add a,datatemp
mov datatemp,a
mov a,#0ffh
clr c
subb a,datatemp
inc a
mov checksum,a
;--------------------------------
mov count,#00h
writesenddatabd:
mov a,count
movc a,@a+dptr
inc count
cjne a,#0aah,writesenddatabd_1
jmp writesendbdandcheck
writesenddatabd_1:
mov sbuf, a
clr ti
jnb ti,$
jmp writesenddatabd
;--------------------------send senddata and checksum
writesendbdandcheck:
mov a,senddata
mov sbuf,a
clr ti
jnb ti,$
mov a,checksum
mov sbuf,a
clr ti
jnb ti,$
clr ti
ret
;==========================================
simplesend:
mov count,#00h
simplesend_1:
mov a,count
movc a,@a+dptr
inc count
cjne a,#88h,simplesend_2
call losekey
jb status.1,simplesend; no losekey go on
;----------------------------------- losekey exit
mov count,#00h
simplesend_1_1:
mov a,count
mov dptr,#buttomuptab
movc a,@a+dptr
inc count
cjne a,#88h,simplesend_3
ret
;--------------------------------
simplesend_2:
mov sbuf, a
clr ti
jnb ti,$
jmp simplesend_1
;------------------------------
simplesend_3:
mov sbuf, a
clr ti
jnb ti,$
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -