亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? play.asm

?? 完整的方案
?? ASM
字號:
.INCLUDE PLAYSUB.ASM

_PlaySound:
          PUSH R1 TO [SP]
          CALL TxPlay
          R1=[_Statu]
          TEST R1, DynamicBit
          JNE PlaySound_
          CALL DTNormalPlayStatu
PlaySound_:
          R1=[_BookMark]
          TEST R1, XYDBookBit
          JE PlayDSLSound
          PC=PlayXYDSound
PlayDSLSound:
          POP R1 FROM [SP]
          R5=R1
          R1=R1 LSR 4
          R1=R1 LSR 4
          R2=0x38
          MR=R1*R2
          R1=R5
          R1-=R3
          PUSH R1 TO [SP]
          R1=R1 LSL 2
          R3=[_SIAddr]
          R4=[_SIAddrB]
          CALL NandAddrAdd 
          R5=4
          R2=_NandBuf
          CALL ReadNandByteBuf
          R1=[_NandBuf+1]
          R1=R1 LSL 4
          R3=R1 LSL 4
          R3|=[_NandBuf+0]
          R1=[_NandBuf+3]
          R1=R1 LSL 4
          R4=R1 LSL 4
          R4|=[_NandBuf+2]
          R1=[_SIAddr]
          R3+=R1
          [_PlayStartAddr]=R3
          JCC PlayForNandBase_
          R4+=1   
PlayForNandBase_:   
          R1=[_SIAddrB]
          R4+=R1         
          [_PlayStartBank]=R4
          R5=8
          R2=_NandBuf
          CALL ReadNandByteBuf
          BP=SP
          R1=[BP+1]
          CMP R1, [_HowManyNormalSound]
          JCC PlayNormal
          CMP R1, [_HowManySound]
          JCC PlayMS01
PlayNot:
          R1=' '
          CALL TxByte
          R1='E'
          CALL TxByte
          R1='r'
          CALL TxByte
          R1='r'
          CALL TxByte
PlayA20:
PlayS480:
PlayS720:
PlayMS02:
PlayS200:
Play_Invalid:
          R1 = SACM_IDLE
          [_SacmStatus] = R1  
          CALL ClrPlayCE       
          PC = Play_End

PlayMS01:
          R1=SOUND_MS01
          [_PlayType]=R1
          CALL RampUpDAC
          CALL F_SACM_MS01_Initial
          R1 = [_SoundVolume]
          CALL F_SACM_MS01_Volume
          R1 = -1
          R2 = 0x03
          R3 = 0x03
          CALL F_SACM_MS01_Play
          PC=Play_Init_End

PlayNormal:
//          R1=[_NandBuf+0]
//          CMP R1, 0x41
//          JNE PlayNot
          R1=[_NandBuf+3]
          R1=R1 LSL 4
          R1=R1 LSL 4
          R1|=[_NandBuf+2]

          R2=[_NandBuf+5]
          R2=R2 LSL 4
          R2=R2 LSL 4
          R2|=[_NandBuf+4]
          R1+=[_PlayLengthL]
          R2+=[_PlayLengthH], Carry
          [_PlayLengthL]=R1
          [_PlayLengthH]=R2
          R3=[_PlayStartAddr]
          R4=[_PlayStartBank]
          R1=2
          CALL NandAddrAdd
          [_PlayStartAddr]=R3
          [_PlayStartBank]=R4
          R1=0x01
          [_PlayFrq]=R1
PlayA1600:
          R1=SOUND_A1600
          [_PlayType]=R1
          R1=1
          [_A1600Type]=R1
          CALL RampUpDAC
          R1 = DVR1600_1600
          [_DVR_OR_1600] = R1
          CALL F_SACM_DVR1600_Initial
          R1 = [_SoundVolume]
          CALL F_SACM_DVR1600_Volume

          R1=[_SoundSpeed]
          JE PlayA1600_
          PUSH R1 TO [SP]
          CALL _SACM_DVR1600_Speed
          POP R1 FROM [SP]
PlayA1600_:
          R1 = -1
          R2 = 0x03
          R3 = 0x03
          CALL F_SACM_DVR1600_Play
          JMP Play_Init_End
PlayS530:
          .ifdef MOUDLE_530
          CALL RampUpDAC
          CALL F_SACM_S530_Initial
          R1 = [_SoundVolume]
          CALL F_SACM_S530_Volume
          R1 = -1
          R2 = 0x03
          R3 = 0x03
          CALL F_SACM_S530_Play
          R1=[_SoundSpeed]
          JE PlayS530_
          PUSH R1 TO [SP]
          CALL F_SACM_S530_Speed
          POP R1 FROM [SP]
PlayS530_:
          .endif
Play_Init_End:
          R1 = SACM_PLAY
          [_SacmStatus] = R1
          CALL _ServiceLoop
Play_End:
          POP R1 FROM [SP]
          RETF


PlayXYDSound:
          BP=SP
          R3=[_SIAddr]     
          R4=[_SIAddrB]
          R1=[BP+1]
          R1-=0x100  
          R2=R1 LSL 1
          R1+=R2
          CALL NandAddrAdd
          R5=6
          R2=_NandBuf
          CALL ReadNandByteBuf
PlayForNandBase__:
          R1=[_NandBuf+1]
          R1=R1 LSL 4
          R3=R1 LSL 4
          R3|=[_NandBuf+0]
          R4=[_NandBuf+2]
          CALL AddrChg
          CALL AddBookAddr
          [_PlayStartAddr]=R3
          [_PlayStartBank]=R4
          R1=[_NandBuf+5]
          CMP R1, [_NandBuf+2]
          JNE Play_NotEmpty
          R1=[_NandBuf+4]
          CMP R1, [_NandBuf+1]
          JNE Play_NotEmpty
          R1=[_NandBuf+3]
          CMP R1, [_NandBuf+0]
          JNE Play_NotEmpty
          R1 = SACM_IDLE
          [_SacmStatus] = R1
          PC = Play_End
Play_NotEmpty:    
          R3=[_PlayStartAddr]
          R4=[_PlayStartBank]
          CALL ReadNandByte
          [_PlayType] = R1        //Play Type
          CALL NandAddrInc
          [_PlayStartAddr]=R3
          [_PlayStartBank]=R4
          R1 = [_PlayType]
          R2=R1 LSR 4
          [_PlayFrq]=R2
          R1 = [_PlayType]
          R1&=0x07
          [_PlayType]=R1
          R1 += Play_Branch
          PC = [R1]
Play_Branch:
          .DW PlayA20
          .DW PlayS480
          .DW PlayS720
          .DW PlayMS01
          .DW PlayA1600
          .DW PlayMS02
          .DW PlayS200
          .DW PlayS530


NormalRecord:
          R1=0x06
          [P_DAC_Ctrl]=R1
          CALL DTRecStatu
          R3=[_EndAddr]
          R4=[_EndBank]
          [_RecOrgAddr]=R3
          [_RecOrgBank]=R4
          R4+=1
          R1=0x200
          CALL NandAddrSub
          CMP R4, [_NandMaxBank]
          JCC NormalRecord_
          R3=0xfe00
          R4=0x1ff
NormalRecord_:
          [_RecEndAddr]=R3
          [_RecEndBank]=R4
          R3=[_EndAddr]
          R4=[_EndBank]
          CALL EraseCurrentAddrBlock
          R1=0x4000
          CALL NandAddrAdd
          CMP R4, [_NandMaxBank]
          JCS _RecStart
          CALL EraseCurrentAddrBlock
          R1=0x4000
          CALL NandAddrAdd
          CMP R4, [_NandMaxBank]
          JCS _RecStart
          CALL EraseCurrentAddrBlock
          R1=0x4000
          CALL NandAddrAdd
          CMP R4, [_NandMaxBank]
          JCS _RecStart
          CALL EraseCurrentAddrBlock
_RecStart:
          CALL PrintRec
          CALL F_SACM_Stop
          R1 = DVR1600_DVR
          [_DVR_OR_1600] = R1
          CALL F_SACM_DVR1600_Initial
          R1 = RceMonitorOff
          R2 = 0x00
          R3 = BIT_RATE_16K
          CALL F_SACM_DVR1600_Rec
          R3=[_RecOrgAddr]
          R4=[_RecOrgBank]
          R1=4
          CALL NandAddrAdd
          [_RecStartAddr]=R3
          [_RecStartBank]=R4
          R1 = SACM_RECORD
          [_SacmStatus] = R1
          RETF

_RecPlay:
          CALL F_SACM_Stop
          CALL RampUpDAC
          R1=0
          [_A1600Type]=R1
          R1 = DVR1600_1600
          [_DVR_OR_1600] = R1
          CALL F_SACM_DVR1600_Initial
          R1 = 0
          [_TmpReg] = R1
          CALL F_SACM_DVR1600_Volume
          R1 = SACM_PLAYBACK
          [_SacmStatus] = R1
          R1 = -1
          R2 = 0x03
          R3 = 0x03
          CALL F_SACM_DVR1600_Play
RecPlay_Delay:
          R1 = [_TmpReg]
          CMP R1, [_SoundVolume]
          JE RecPlay_Delay_End
          CALL F_SACM_DVR1600_Volume
          R1=[_TmpReg]
          R1+=1
          [_TmpReg]=R1
          CALL Delay1ms
          CALL _ServiceLoop
          JMP RecPlay_Delay
RecPlay_Delay_End:    
          RETF
     
    
_ServiceLoop:
          R1 = [_SacmStatus]
          R1&=0x03
          R1 += ServiceLoopBranch
          PC = [R1]
ServiceLoopBranch:
         .dw ServiceLoopEnd
         .dw ServiceLoopPlay
         .dw ServiceLoopPlayback         //play back record
         .dw ServiceLoopRecord
ServiceLoopPlay:
          R1 = [_PlayType]
          R1&=0x07
          R1 += ServiceLoopPlayBranch
          PC = [R1]
ServiceLoopPlayBranch:
          .dw ServiceLoopA2000
          .dw ServiceLoopS480
          .dw ServiceLoopS720
          .dw ServiceLoopMS01
          .dw ServiceLoopA1600
          .dw ServiceLoopMS02
          .dw ServiceLoopS200
          .dw ServiceLoopS530
ServiceLoopA2000:
ServiceLoopMS02:
ServiceLoopS200:
ServiceLoopS480:
ServiceLoopS720:
ServiceLoopEnd:
          RETF
ServiceLoopMS01:
          .ifdef MOUDLE_MS01
          CALL F_SACM_MS01_Status
          TEST R1, 0x01
          JZ ServiceLoopStop
          CALL F_SACM_MS01_ServiceLoop
          RETF
          .endif
ServiceLoopS530:
           .ifdef MOUDLE_S530
          CALL F_SACM_S530_Status
          TEST R1, 0x01
          JZ ServiceLoopStop
          CALL F_SACM_S530_ServiceLoop
          RETF
          .endif
ServiceLoopA1600:
ServiceLoopPlayback:
          CALL F_SACM_DVR1600_Status
          TEST R1, 0x01
          JZ ServiceLoopStop
          CALL F_SACM_DVR1600_ServiceLoop
          RETF

ServiceLoopStop:
          CALL F_SACM_Stop
          R1 = [_SysFlagA]
          R1 &= WholeSoundBit_
          [_SysFlagA] = R1
          R1 &= SysErrBit
          JE ServiceLoopStop_
          CALL UnitOff
ServiceLoopStop_:
          RETF

ServiceLoopRecord:
          R1=[_RecStartBank]
          CMP R1, [_RecEndBank]
          JB ServiceLoopRecord_
          JA ServiceLoopRecStop
          R1=[_RecStartAddr]
          CMP R1, [_RecEndAddr]
          JAE ServiceLoopRecStop
ServiceLoopRecord_:
          CALL F_SACM_DVR1600_ServiceLoop
          RETF
ServiceLoopRecStop:
          R1 = SACM_IDLE
          [_SacmStatus] = R1
          CALL F_SACM_DVR1600_Stop
          CALL F_USER_DVR1600_EndRecord
          R1 = [P_INT_Mask]
          R1 &= ~C_FIQ_TMB
          [R_InterruptStatus] = R1
          [P_INT_Ctrl] = R1
          CALL CloseADC
          RETF



          .ifdef MOUDLE_MS01
F_SP_SACM_MS01_Init_:   
          R2= C_MS01_Timer_Setting;       // TimerB setting
          PC=InitSacm
          .endif


          .ifdef MOUDLE_S530
F_SP_SACM_S530_Init_:
          FIR_MOV OFF
          CALL GetTimer
          PC=InitSacm
          .endif
          .ifdef MOUDLE_DVR1600
F_SP_SACM_DVR1600_Init_:
          FIR_MOV OFF
          R1 = 0x0000
          [P_TimerB_Ctrl] = R1
          R1 = [_DVR_OR_1600]
          CMP R1, DVR1600_1600
          JZ InitA1600Normal
InitA1600Record:
          R1 = C_DVR_Rec_Timer_Setting    //  $32K
          [P_TimerB_Data] = R1
          R1=0x0000                       //  mic input
          [P_ADC_MUX_Ctrl] = R1
          R1 = 0x154;
          [P_DAC_Ctrl] = R1;              // enable ADC
          R1 = 0x0035;
          [P_ADC_Ctrl] = R1;              // enable ADC
          JMP InitSacmEnd_

InitA1600Normal:
          R2=C_A1600_Timer_Setting
          R1=[_A1600Type]
          JE InitA1600NormalEnd
          CALL GetTimer
InitA1600NormalEnd:
          JMP InitSacmEnd
          .endif

InitSacm:
          FIR_MOV OFF;
          R1 = 0x0000;                    // TimerB CKC=Fosc/2 Tout:off
          [P_TimerB_Ctrl] = R1;
InitSacmEnd:
          [P_TimerB_Data]=R2
          R1=0x144
          [P_DAC_Ctrl] = R1
InitSacmEnd_:
          R1 = 0xffff
          [P_INT_Clear] = R1
          R1=[P_INT_Mask]
          R1|=C_FIQ_TMB
          [R_InterruptStatus] = R1
          [P_INT_Ctrl] = R1
          RETF


_SacmStop:
F_SACM_Stop:
          R2 = [_SacmStatus]
          R1 = SACM_IDLE
          [_SacmStatus] = R1
          CMP R2, SACM_PLAY
          JZ F_SACM_StopPlay
          CMP R2, SACM_PLAYBACK
          JZ F_SACM_StopPlayback
          CMP R2, SACM_RECORD
          JZ F_SACM_StopRecord
          JMP F_SACM_StopEnd
F_SACM_StopPlay:
          R1 = [_PlayType]
          R1&=0x07
          R1 += SacmStop_Branch
          PC = [R1]
SacmStop_Branch:
          .dw F_SACM_StopA20
          .dw F_SACM_StopS480
          .dw F_SACM_StopS720
          .dw F_SACM_StopMS01
          .dw F_SACM_StopA1600
          .dw F_SACM_StopMS02
          .dw F_SACM_StopS200
          .dw F_SACM_StopS530
F_SACM_StopMS01:
F_SACM_StopS200:
F_SACM_StopS480:
F_SACM_StopS720:
F_SACM_StopMS02:
F_SACM_StopA20:
          JMP F_SACM_StopEnd
F_SACM_StopS530:
          .ifdef MOUDLE_S530
          CALL F_SACM_S530_Stop
          .endif
          JMP F_SACM_StopEnd
F_SACM_StopPlayback:
F_SACM_StopA1600:
          CALL F_SACM_DVR1600_Stop
          JMP F_SACM_StopEnd
F_SACM_StopRecord:
          CALL F_SACM_DVR1600_Stop
          CALL F_USER_DVR1600_EndRecord
          JMP F_SACM_StopEnd
F_SACM_StopEnd:
          R1 = [P_INT_Mask]
          R1 &= ~C_FIQ_TMB
          [R_InterruptStatus] = R1
          [P_INT_Ctrl] = R1
          CALL CloseADC
          RETF

F_USER_DVR1600_EndRecord:  //Get file length R1:Low,R2:High
          R1=[_RecStartAddr]
          R2=[_RecStartBank]
          R1-=[_RecOrgAddr]
          JCS EndRecord
          R2-=1
          JCC EndRecordNoRecord
EndRecord:
          R2-=[_RecOrgBank]
          JCC EndRecordNoRecord
          R3 = [_SysFlagA]
          TEST R3, KeyCutRecBit
          JNE EndRecord2
EndRecord1:
          R1-=0x04
          JMP EndRecord3
EndRecord2:
          R1-=KeyRecCutTime
EndRecord3:
          JCS EndRecord_
          R2-=1
          JCS EndRecord_
EndRecordNoRecord:
          R1=0
          R2=0
EndRecord_:
          [_NandBuf]=R1
          [_NandBuf+1]=R2
          R3=[_RecOrgAddr]
          R4=[_RecOrgBank]
          R2=_NandBuf
          R5=2
          CALL WriteNandWordBuf
          R1=[_SysFlagA]
          R1&= KeyCutRecBit_
          [_SysFlagA] = R1
          RETF

//Start Adr:R1; Length:R2
F_USER_DVR1600_WriteData:
          R4 = [_RecStartBank]
          R3 = [_RecStartAddr]
          PUSH R2 TO [SP]
          R5 = R2
          R2 = R1
          CALL WriteNandWordBuf
          R4 = [_RecStartBank]
          R3 = [_RecStartAddr]
          BP=SP
          R1=[BP+1]
          R1=R1 LSL 1
          CALL NandAddrAdd
          [_RecStartBank]=R4
          [_RecStartAddr]=R3
          POP R2 FROM [SP]
          RETF

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利在线免费观看| 国产精品天干天干在观线| 91蝌蚪porny| 在线中文字幕不卡| av电影在线不卡| 岛国av在线一区| 国产**成人网毛片九色| 国产在线视频一区二区| 国产精品一区二区久久不卡| 激情综合色综合久久| 久久不见久久见免费视频1| 久久国产免费看| 国产一区二三区| 波多野结衣一区二区三区 | 欧美色图在线观看| 精品视频一区三区九区| 欧美放荡的少妇| 26uuu色噜噜精品一区二区| 久久久www免费人成精品| 久久久精品人体av艺术| 中文字幕一区二区三区四区不卡 | av男人天堂一区| 欧美影视一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 国产一区二区三区黄视频| 国产精品888| 成年人网站91| 5566中文字幕一区二区电影| 日韩你懂的在线播放| 国产亚洲制服色| 一区二区三区四区不卡在线| 日韩电影在线观看一区| 国产999精品久久| 久久久久久久久久久久久女国产乱 | 91女人视频在线观看| 51精品久久久久久久蜜臀| 久久精品在线免费观看| 一区二区三区精密机械公司| 精品在线你懂的| 色香色香欲天天天影视综合网 | 日本va欧美va瓶| 国产成a人亚洲精品| 欧美欧美欧美欧美| 国产精品视频一二三区| 日韩av在线免费观看不卡| 成人黄色a**站在线观看| 欧美精品色综合| 成人免费一区二区三区视频 | 亚洲一区视频在线| 国产麻豆精品在线| 91麻豆精品国产91| ㊣最新国产の精品bt伙计久久| 日韩电影免费一区| 色哟哟在线观看一区二区三区| 日韩精品一区二区三区视频播放| 亚洲色欲色欲www在线观看| 久久国产尿小便嘘嘘| 欧美日韩视频第一区| 国产精品三级视频| 国产另类ts人妖一区二区| 91精品国产色综合久久ai换脸| 亚洲欧美激情插| 国产盗摄精品一区二区三区在线| 日韩一区二区三区免费看| 亚洲黄色小说网站| 色综合天天综合给合国产| 亚洲精品伦理在线| 岛国精品一区二区| 亚洲18女电影在线观看| 成人av网站在线观看| 国产农村妇女精品| 国产精品自在欧美一区| 日韩欧美黄色影院| 美女精品一区二区| 日韩视频免费直播| 久久av资源网| 久久影院午夜片一区| 精品系列免费在线观看| 精品国产一区二区精华| 精品一区二区av| 久久久久国产精品人| 国产精品一区久久久久| 久久精品视频网| 成人av影院在线| 一区二区三区中文字幕| 欧美怡红院视频| 青椒成人免费视频| 精品蜜桃在线看| 成人免费观看视频| 亚洲伦理在线精品| 欧美精品tushy高清| 久久精品二区亚洲w码| 精品av久久707| kk眼镜猥琐国模调教系列一区二区| 日本一区二区三区视频视频| 成人av小说网| 五月天久久比比资源色| 日韩一区二区三区四区| 99re热这里只有精品免费视频| 成人av电影在线网| 3d动漫精品啪啪1区2区免费 | a美女胸又www黄视频久久| 自拍偷拍亚洲欧美日韩| 欧美日韩国产在线播放网站| 男人的j进女人的j一区| 中文字幕成人av| 色美美综合视频| 奇米精品一区二区三区在线观看 | 欧美老肥妇做.爰bbww| 麻豆91免费观看| 国产精品久99| 777精品伊人久久久久大香线蕉| 精品制服美女丁香| 国产精品嫩草影院av蜜臀| 欧美亚洲动漫制服丝袜| 国产一区二区免费看| 一二三区精品视频| 国产偷v国产偷v亚洲高清| 欧美中文字幕一区二区三区亚洲| 美女在线一区二区| **欧美大码日韩| 久久夜色精品一区| 91极品视觉盛宴| 国产成a人亚洲| 婷婷久久综合九色综合绿巨人| 欧美一区二区三区在线看| 91在线精品秘密一区二区| 日本vs亚洲vs韩国一区三区二区 | 国产真实乱子伦精品视频| 一区二区高清免费观看影视大全| 精品欧美一区二区三区精品久久| 91国内精品野花午夜精品| 国产精品2024| 精品一区二区三区免费播放| 亚洲一区二区五区| 国产精品久久久久久久久免费相片 | 亚洲一区二区五区| 中文字幕一区免费在线观看| 久久这里只有精品6| 91精品免费观看| 欧美性色黄大片| 99精品国产一区二区三区不卡| 狠狠色狠狠色综合系列| 亚洲一区二区中文在线| 国产精品久久午夜夜伦鲁鲁| 26uuu国产电影一区二区| 欧美一二三在线| 欧美一区二区三区在线电影| 欧美日韩一区久久| 91黄视频在线| 91精品国产一区二区三区蜜臀 | 午夜久久久影院| 有码一区二区三区| 一区二区三区欧美视频| 亚洲麻豆国产自偷在线| 亚洲另类色综合网站| 亚洲精品午夜久久久| 一片黄亚洲嫩模| 亚洲成人av一区二区| 香蕉乱码成人久久天堂爱免费| 亚洲午夜国产一区99re久久| 亚洲曰韩产成在线| 性做久久久久久免费观看欧美| 亚洲网友自拍偷拍| 偷偷要91色婷婷| 奇米亚洲午夜久久精品| 韩国av一区二区三区四区| 国产一区二区三区黄视频| 国产精品99久久久| 色综合色综合色综合色综合色综合 | 亚洲激情校园春色| 亚洲成人你懂的| 毛片基地黄久久久久久天堂| 蜜桃av噜噜一区二区三区小说| 国内久久精品视频| 国产成+人+日韩+欧美+亚洲| 99久久精品国产观看| 91电影在线观看| 91精品国产综合久久精品性色| 日韩精品一区二区三区视频在线观看| 久久久久久一二三区| 亚洲欧美在线高清| 日韩高清不卡一区二区| 盗摄精品av一区二区三区| 91国偷自产一区二区使用方法| 欧美一级片免费看| 国产精品黄色在线观看| 天天射综合影视| 成人av在线一区二区三区| 欧美日本一区二区三区四区| 久久美女艺术照精彩视频福利播放| 亚洲特级片在线| 久久99国产乱子伦精品免费| youjizz久久| 日韩一区二区三区视频在线观看| 亚洲成人av电影在线| 国产成人精品午夜视频免费| 在线观看日韩电影| 欧美国产精品一区二区三区| 午夜激情一区二区三区|