第四章 数据传送和数据比较指令

Click here to load reader

download 第四章 数据传送和数据比较指令

of 151

description

第四章 数据传送和数据比较指令. 数据传送指令. 数据比较指令. 数据传送和数据比较指令有两个以上操作数. 要注意指令微分和非微分形式时用法的区别. 要注意这些指令的操作数的含义及其范围. 这些指令多数都有微分和非微分两种形式. 一、 数据传送指令. 单字传送指令 MOV. 数字 传送指令 MOVD. 块 传送指令 XFER. 单字 分配指令 DIST. 块 设置指令 BSET. 数据调用 指令 COLL. 位 传送指令 MOVB. 数据交换 指令 XCHG. MOV (21) S D. - PowerPoint PPT Presentation

Transcript of 第四章 数据传送和数据比较指令

  • 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.