TS80C31X2
汇编语言
;使用双数据指针块移动
;破阵DPTR0 , DPTR1 , A和PSW
;注意: DPS退出的进入状态相反
;除非额外INC AUXR1加
;
00A2
AUXR1 EQU 0A2H
;
0000 909000MOV DPTR , #源
0003 05A2 INC AUXR1
0005 90A000 MOV DPTR , # DEST
0008
循环:
0008 05A2 INC AUXR1
000A E0
MOVX A,@ DPTR
000B A3
INC DPTR
000C 05A2 INC AUXR1
000E F0
MOVX @ DPTR ,A
000F A3
INC DPTR
0010 70F6 JNZ LOOP
0012 05A2 INC AUXR1
;源地址
;开关数据指针
; DEST地址
;开关数据指针
;通过源代码一个字节
;增量源地址
;开关数据指针
;写字节到dest
;增量DEST地址
;检查0终结
; (可选)恢复DPS
INC是短( 2个字节)和快速( 12个时钟周期)的方式来操作,在SFR AUXR1的DPS位。不过,
注意, INC指令不直接强制DPS位到一个特定的状态,而只是切换它。
在简单的例程,如块移动的例子中,只有一个事实,即DPS被触发以正确的顺序
问题,而不是它的实际值。换句话说,块移动子程序同样的DPS是否为'0'或'1'
入境。观察到无的最后一条指令(INC AUXR1 ) ,该例程将与DPS退出的
相反的状态。
版本A - 1999年3月19日
11
初步