📄 dp_write_audio.a51
字号:
#include <REG400.H>
;汇编代码
; 在代码段中定义段
?PR?dp_write_audio?LOWLVL SEGMENT CODE
; 输出函数名
PUBLIC dp_write_audio
;这个函数可被连接器放置在任何地方
RSEG ?PR?dp_write_audio?LOWLVL
;*****************************************************************
; Function: _dpread
; Description: 等待定时器0溢出向外部器件表明P1中的数据是有效的如果定时器尚
; 未溢出被写入XDATA的指定地址中
; Parameters: R7 – 存放要等待的时标数
; R4|R5 – 存放要写入的XDATA区地址
; Returns: 读数成功返回1,时间到返回0
; Side Effects: none.
;*****************************************************************
dp_write_audio:
mov dpx,#0x04 ;load source address
mov dph,#0x30
mov dpl,#0x00
mov dpx1,#0x25 ;load destination address
mov dph1,#0x00
mov dpl1,#0x00
mov R0,#0x020 ; the number of moved data (0x0AB *0x0C = 2052 bytes)
mov dps,#0x30 ; auto-toggle mode,auto-increment enable,
write_loop_a:
movx a, @dptr ; read from dataport1
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport2
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport3
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport4
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport5
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport6
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport7
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport8
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport9
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport10
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport11
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport12
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport13
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport14
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport15
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport16
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport17
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport18
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport19
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport20
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport21
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport22
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport23
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport24
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport25
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport26
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport27
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport28
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport29
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport30
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport31
movx @dptr,a ; write to RAM
movx a, @dptr ; read from dataport32
movx @dptr,a ; write to RAM
djnz R0,write_loop_a
mov dps,#0x00 ; resume the value of dps
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -