发表于:2013/7/17 10:22:42
#0楼
有一段程序如下
因每次存贮按BYTE 14 DB11.DBW0=0-30。用间接寻址的方法可以简化程序,但如何做请高手指教?
A(
L "DISPLAY".STEP_SETTING //DB11.DBW0
L 1
==I
)
JNB _010
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX0.0 BYTE 14
RET_VAL:=MW188
DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP 0
A(
L "DISPLAY".STEP_SETTING //DB11.DBW0
L 2
==I
)
JNB _010
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX14.0 BYTE 14
RET_VAL:=MW188
DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP 0
A(
L "DISPLAY".STEP_SETTING //DB11.DBW0
L 3
==I
)
JNB _010
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX28.0 BYTE 14
RET_VAL:=MW188
DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP 0
------------
因每次存贮按BYTE 14 DB11.DBW0=0-30。用间接寻址的方法可以简化程序,但如何做请高手指教?
A(
L "DISPLAY".STEP_SETTING //DB11.DBW0
L 1
==I
)
JNB _010
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX0.0 BYTE 14
RET_VAL:=MW188
DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP 0
A(
L "DISPLAY".STEP_SETTING //DB11.DBW0
L 2
==I
)
JNB _010
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX14.0 BYTE 14
RET_VAL:=MW188
DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP 0
A(
L "DISPLAY".STEP_SETTING //DB11.DBW0
L 3
==I
)
JNB _010
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX28.0 BYTE 14
RET_VAL:=MW188
DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP 0
------------