📄 dp_read_video.a51
字号:
#include <REG400.H>
;汇编代码
; 在代码段中定义段
?PR?dp_read_video?LOWLVL SEGMENT CODE
; 输出函数名
PUBLIC dp_read_video
;这个函数可被连接器放置在任何地方
RSEG ?PR?dp_read_video?LOWLVL
;*****************************************************************
; Function: _dpread
; Description: 等待定时器0溢出向外部器件表明P1中的数据是有效的如果定时器尚
; 未溢出被写入XDATA的指定地址中
; Parameters: R7 – 存放要等待的时标数
; R4|R5 – 存放要写入的XDATA区地址
; Returns: 读数成功返回1,时间到返回0
; Side Effects: none.
;*****************************************************************
dp_read_video:
mov dpx,#0x21 ; 取地址并放入DPTR ; load source address
mov dph,#0x00
mov dpl,#0x00
mov dpx1,#0x04 ; 取地址并放入DPTR ; load destination address
mov dph1,#0x00
mov dpl1,#0x00
mov R0,#0x02e ; the number of moved data (0x080 *0x010 = 2048 bytes)
mov dps,#0x30 ; auto-toggle mode,auto-increment enable,increment DPTR0
read_loop_v:
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,read_loop_v
mov dps,#0x00 ; resume the value of dps
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -