第四章 数据传送和数据比较指令
DESCRIPTION
第四章 数据传送和数据比较指令. 数据传送指令. 数据比较指令. 数据传送和数据比较指令有两个以上操作数. 要注意指令微分和非微分形式时用法的区别. 要注意这些指令的操作数的含义及其范围. 这些指令多数都有微分和非微分两种形式. 一、 数据传送指令. 单字传送指令 MOV. 数字 传送指令 MOVD. 块 传送指令 XFER. 单字 分配指令 DIST. 块 设置指令 BSET. 数据调用 指令 COLL. 位 传送指令 MOVB. 数据交换 指令 XCHG. MOV (21) S D. - PowerPoint PPT PresentationTRANSCRIPT
-
MOVMOVDMOVBBSETXFERDISTXCHGCOLL
-
S D
ONSD OFFONSD 1. MOV(21)/ @MOV (21)
-
LD 25315MOV (21) #0198 HR00PLC0198HR00. MOV(1)MOV
-
DIFU0000 OFFONMOV MOV(2)LR00HR00
-
MOV300000 OFFONMOV LR00HR002
-
MOV(a)(c)MOV00000 OFFON(b ) MOVPLC
-
PLCHR00LR00 MOVMOV MOVMOV4
-
PLC0100200,CNT000 00001OFFON0200 20000000 ON CNT000100()20000000 00002 CNT000MOV5
-
2. XFER (70 )/ @ XFER(70 ) N BCD ON S D
-
3. BEST(71)/ @ BEST(71) S ONSStE St E
-
LD 00000 @MOV(21) #0100 HR00 TIM 000 HR00 AND TIM000 OUT 01000LD 00001@BSET(71) #0050 TIM 000 TIM 000
-
@BSETTIM000@BSETTIM000 00001OFF00000 OFFON MOV #0100HR00TIM 00010 10TIM000 ON 01000 ON
-
TIM000@BSET @BSET0050TIM000TIM0000050TIM000008900001 ONTIM00000500.110000
-
HR00TIM0000100 BSET BSETBSET23HR00BSETTIM0000050
-
MOVBSET MOVBSET TIM / CNTMOV BSETTIM / CNT BSETTIM/CNTTIM/CNT MOVTC MOV TIM/CNT
-
4. MOVB (82)/ @ MOVB (82)bit00~bit07Sbit08~bit15DS D C (BCD) ONCSD C
-
LD 00005 @MOV B (82) HR00 #1500 200 C HR00 1000 1000 1000 010120015ON 1 bit00~bit07Sbit08~bit15DPLCHR0000 20015
-
5. MOVD (83)/ @ MOVD (83)ONCSD
-
S D C C (BCD) SD
-
C=#0030MOVD(1)CS0 4 D0 1 2 3 03 0 1 22 3 0 1
-
C=#0023MOVD(2)CS3 3 D0
-
C=#0123MOVD(3)CS3 3 D1
-
6. DIST(80)/ @ DIST (80)S DBS C(BCD) ONCC3
-
1. Cbit12~ bit158 C (BCD) ONSDBS + C
-
2. Cbit12~ bit15= 9SDBS + +1 1ONC3DBS
-
SBs D C(BCD) 7. COLL (81)/ @ COLL (81)ONCC3
-
1. C=0000~6655 C (BCD) ONSBS + C D
-
2. () C=9000~9999 SBSD1 C=8000~8999 SBSD1
-
SBs=DM0000 C=#9007 D=200COLLC=#9007 DM0001~DM00071
-
SBs=DM0000 C=#8007 D=200COLLC=#8007 DM0001~DM00071
-
CMPTCMPCMPLBCMP
-
1. CMP C1 1 C2 2ONC1 C2 C1 > C225505 ON C1 = C225506 ON C1 < C225507 ON
-
CMP(1)LD 00000TIM 000 #0030CMP(20) TIM000 #0200AND 25505OUT 20000AND 25506OUT 20001AND 25507OUT 20002LD TIM000OUT 20003
-
CMPTIM000 #020000000ONTIM000CMPTIM00003000.11
-
CMP TIM000#020025505 ON 20000 ONTIM000# 020025506 ON 20001 ONTIM000# 020025507 ON 20002 ONTIM000 20002 20003 ON
-
CMP (2)CMPCMP00000 OFFONDIFU(13)
-
2. BCMPCD: CB: R:ONCDCDRON
-
BCMPHR 0514 ON
-
3. TCMPCD: TB: R: ONCDCDRON
-
TCMPHR 1902 ON
-
1. (2) (3) (1) MOVBSETTC
-
2. (1) //25505~25507 25505~25507 (2)
-
1. SFT (10)
ROFF SPIN St EIN:R:SP:
-
SFT StERONStE
-
SFT LD 00000 LD 25502 LD 00001 OR 25315 SFT(10) 200 200 LD 20003 OUT 01000 SFT 200200
-
20000ON2001 2 3 4 5 6 7
-
25315 00000 2550200000ON2000000001 ON 200420003 ON01000 ON00001ON20003 OFF01000 OFF
-
2. SFTR(84) C: St : E :ON CSt ~E
-
C 1() 0()1 St~ECY0C
-
OFFCbit151StECYCbit 150Cbit 12 Cbit 121 StECbit13Stbit 0Ebit15 CY Cbit 120EStCbit13Ebit15Stbit0CY
-
LD 00000OUT 20012LD 00001OUT 20013LD 00002DIFU (13) 20100LD 20100OUT 20014LD 00003OUT 20015LD 00004SFTR (84) 200 LR10 LR11
-
00004ON200bit12bit15000000000300001ON200131100001OFF200130000002 OFFON20014ON
-
0000200002ON00003ON20015ONLR10LR11CY000003OFF 20015 OFF20012
-
20012 ON00002OFFON LR10LR1120013LR1000 LR1115CY
-
20012 OFF00002OFF ONLR10LR1120013LR1115 LR1000CY
-
3. /SLD (25)/ ASR(26) / , St EONSt~E1
-
4. /ASL (25)/ ASR(26) / ,ASL(25) Ch ChONCh1CY
-
5. /ROL(27)/ROR(28) / ,ROL(27) ChChONChCY1
-
ROL00000 OFFON ROLHR00 MOVHR00010
-
HR00CY= 0 ROLCYHR00 010
-
ROL/RORENDCY ROL CY CY
-
CY
-
CYCY=125504 ONHR0100 ONHR0100 ON STC CY1ROLCY
-
6. WSFT(16)/ @WSFT(16) St EONSt~E1
-
7. ASFT /@ASFTC St E C0 10 10 1ON0000
-
ASFT 0000ASFT000000000000
-
6 0 1 1 0 ASFT C=#6000
-
1. 2. CYCY 3.
-
BCD BCD416 164 ASCII
-
BCD /@BCD BIN/@BINBIN/@BINS: R: ON,SBCDR 1. BCDBIN/@BIN
-
4321 0100000011100001LD 00000@ MOV (21) # 4321 200@ BIN (23) 200 DM0000IR200BCD4321 00000 OFFON
-
2. 416 MLPX/@ MLPX S C R CS0
-
ONCSR C ()015 ONOFF4
-
123C= # 003041C= # 0023 0433
-
MLPXLD 00000@ MOV (21) # 78F5 200@ MLPX (76) 200 # 0013 HR 00C=#00132HR00HR013022 IR20078F5
-
78F53011177HR00bit0710010155HR01bit 051
-
C=#00233313HR02
-
4C=#0023HR18 C=#0042 MLPX
-
3. 16 4 DMPX/@ DMPX S C R CR0
-
ONCSR C ON RC
-
DMPXLD 00000@ MOV (21) # 0013 220@ DMPX (77) HR 00 DM0000 220C=#0013R3 2HR00HR01
-
HR00A8E71010 1000 1110 0111HR00115FFDM00003HR0101BF0000 0001 1011 1111HR011888 DM00000
-
123C= # 003041C= # 0031 4
-
C=#0023(3)3HR023DM00001
-
C=#0023HR18 C=#0042 DMPX 4
-
4. SDEC/@ SDEC SBCD C R CS0R88 08 18
-
C= # 0 0 3 004R80
-
C= # 0 1 3 334R80 4
-
ONCSR SDEC RCR88 Rbit0006bit0814abcdefg bit07bit15 bit0006bit08141 bit0006bit08141
-
SDECLD 00000@ MOV (21) # 1673 HR00@ SDEC(78) HR00 # 0013 HR01C=#0013R2R830 HR001673
-
HR001673BCD31 bc 1 8HR0180000 0110bit7003 a b cdg18HR0180100 1111bit150
-
1 6 7 3
-
C=#011328HR018HR028 4 C=#0023HR18 C=#0042
-
5. ASCIIASC/@ ASC S C R CS012R88 08 18
-
ONCSASCIIR ASCII1bit07bit151 bit0006bit0814bit07bit15 bit07bit150 ASCII1bit07bit151
-
CR88 Cbit0811 C bit07bit15ASCII
-
ASCC= # 0 0 1 112R8
-
C= # 1 0 1 002R8
-
C= # 2 0 1 002R8
-
C= # 2 1 1 002R8
-
1. /2. (DMPX)(MLPX)3. (ASC)a~g5. 4. ASCII(ASC)bit07bit15
-
CYCY BCD /
-
1. 00000TIM001 ON(): CLCCY; ADDDM0010 (0300)#0300; CMP#0900DM0010 ; DM0010#0300TIM00030
-
#0300DM0010TIM00030DM0010 #0900MOV #0300DM0010TIM000 TIM001TIM00101000ON TIM00001000 OFF 01000 ON6001000 OFF 3030(90)
-
01000OFFONTIM00030sTIM00160sTIM00060sTIM00160sTIM00090sTIM00160s
-
2. 00000ON: CLCCY; SUBHR00 DM0000CYHR01CY=125504 ONCLCCYCY=025504 OFFMOVHR020CY
-
HR01 ,00000 ON,CYSUB# 0 HR01 HR01HR021 (CY)
-
1000 2000 01000 + (10000 2000) = 9000 1 0000 9000 0 0000 + (10000 9000) = 1000 1HR001000DM00002000
-
3. / CY 00000ONBSETDM0000~ DM0004CMPDM0000#000400001ONINCDM00001
-
DM0000# 000421000ONBSETDM0000~ DM0004 MULDM0000#0004DM0001~DM0002DIVDM0001~DM0002#0002DM0003DM0004
-
00001 ON4DM0000~DM00041 0001 0004 0000 0002 00002 0002 0008 0000 0004 00003 0003 0012 0000 0006 00004 0004 0016 0000 0008 0000000015ONDM00001
-
1BSETDM0000DM0004200001ON00000OFF@MOV#00FA250HR002508 1000/50
-
@CLCCY@MLBHR00#000807D0(2000)DM00000000 DM0001@SBBDM0000#03E81000#03E8DM0002@DVBDM0002#0032(50)#0014(20)DM0003#0000DM0004
-
/
-
123HR00bit0bit3bit4bit7bit10#0499HR00 #04990000 0100 1001 1001
-
1. (2) /(3) (1) //CYCY(4) 3. 2.
-
ONN SBNNRET 1.
-
2. (1) SBS(2) SBN/RET(3) END(4) (5) 16
-
MOV2200001(22000ON) 3. 1 25502 (1) 00100OFF KEEP,01100(25502) 00100ONSFT22000ON00100 ON(2) 00100ONSBS, 005:
-
25502 MOV220010:SBS@SBS,? 22007ON,220?220? ,KEEP00100ON
-
2
-
PLC#0004200CNT000(1)00000ON CNT000()200,(2) CNT000 ON ( ON ): 00201000ONTIM0012s
-
(1)ADD 200#0002; 0006(2)CMP 200#0010; (3)200= #0010#00042000004(4)
-
3 CMP(20) DM0000 # 000025506 21000 21000 SBS(91) 011 RET(93) SBN(92) 011 21001 25313 RET(93) 25313 END(01) 01025506 ON21000ON01121001ON011,010010BCD1
-
01025506 OFFCNT000ON
-
ONI1~ I1+3SR232~SR235O1~ O1+3SR236~SR239N NSR236~SR239O1~ O1+3MCRONSBN/RETEND16
-
040
-
12
-
(X+10)DM0000Y=(X+10)/XYDM0010Y#0006 2
-
3
-
1. SBN/RETEND 2. SBS 3. / 4.