
51303985-200
价格:999.00
厦门莫格电气自动化有限公司销售Honeywell霍尼韦尔51303985-200您迈开询价的一小步,我还您成功的一大步。51303985-20051303985-20051303985-200STM和LDM的主要用途是现场保护、数据***、参数传递等,其模式有8种,如下:注:前面4种用于数据块的传输,后面4种用于堆栈操作(1)IA每次传送后地址加4(2)IB每次传送前地址加4(3)DA每次传送后地址减4(4)DB每次传送前地址减4(5)FD满递减堆栈(6)FA满递增堆栈(7)ED空递减堆栈(8)EA空递增堆栈下面的讲述对于空递减堆栈和空递增堆栈同样适用.在堆栈操作时,经常错误以为使用STMFD满递减将寄存器压入堆栈后,在弹出数据的时候应该使用L***A。但是FD和FA仅用于只是目前操作的堆栈是何种模式(堆栈共有四种模式),FD指明目前的堆栈是满递减堆栈,则数据入栈时的指令为STMFD,那么数据出栈时的指令对应的为L***D,而不是L***A。我们可以这样认为STMFD等价于STMDB,L***D等价于STMIA那么,数据传输的顺序和数据入栈的顺序又是如何呢先来看STMFDSP!,{R1-R3}执行的结果图(操作之后SP指向SP')SP------->|R3||R2|SP'------>|R1|那么STMFDSP!,{R3,R2,R1}执行后的堆栈顺序是不是刚好和上面的堆栈顺序相反,实际情况时这两个指令执行后的堆栈数据顺序一样,因为ARM编译器会自动将STMFDSP!,{R3,R2,R1}转换为STMFDSP!,{R0-R3}指令,也就是说,ARM编译器默认高寄存器优先存入堆栈。即便你在指令STMFDSP!,{R3,R2,R1}中刻意“安排”了寄存器入栈顺序,而在编译时编译器又重新做了处理,打乱了你期望的数据入栈顺序。同理STMDBR0!,{R1-R3}和STMDBR0!,{R3,R2,R1}指令执行后数据在堆栈中的顺序完全一致。STMFDSP!,{R1-R3}指令对应的出栈指令是L***DSP!,{R1-R3}(R1,R2,R3的顺序任意)STMFD指令STMFDRn{!},{reglist}{^}STMFDSP!,{R0-R7,LR}对于这条指令伪代码的解释,个人理解如下:sp=address;sp=sp-4;Memory[address]=LR;for(i=7;i>0;i--){sp=sp-4;Memory[address]=Ri;}由于ARM堆栈结构是从高向低压栈的,此时SP即是栈顶。这里的sp=sp-4,是因为处理器是32位的ARM,所以每次压一次栈SP就会移动4个字节(32位)。假设此时SP地址为:0x40000460,由前面解释伪代码可得下图(蓝色填充区为地址):蓝色标注的SP为执行指令前的SP地址,红色标注的SP是执行指令后的SP地址,由此看出STMFD指令是向下压栈的。L***D指令L***DRn{!},{reglist}{^}GECAPACITORZ97F5704*NEWINTHEBOX*ENTEKIRD544B*NEWOUTOFBOX*MICROSWITCHFE-MLS2RB-LR*NEW*DOMINO14828*NEWINABOX*MTE3PHASEREACTORRL-08001*NEW*LOTOF10TRADELINEDP2020A5021*NEW*AIRPAX219-3-2600-43649AMP600VCIRCUITBREAKER*USED*CKDPPD-P10SPN-6D*USED*UTICOR76538*USED*MADISOM4300*USED*MULTICOMATCSE3-S*USED*SOLTECWGA-710ASTRAINAMP*NICE*DEVAR18-260*USED*EAGLESIGNALCG912A3*USED*EMERSON02-766490-01REV.CPRECHARGESHURTDETECTBOA...EUROTHERM849/VPR/R1/0/IA?A02/0/(AXX4)/[4?/20/MA/=/80/40.?..TEKELINCREMENTALENCODERTK120.F.1000.11?/30.S.K4SENSO...STATIC"O"RING107AL-N1Z-P1-F0?A-0-12*USED*RECHNERIAS-60-21-0PROXIMITYSENSOR20-250VAC(ASPICT...NO***ON131715L*USED*MCLEAN30-4019-02MBLOWERASSEMBLY*USED*TURCKNI3,5-Q5,5-AP6X*USED*MELTRICRECEPT***E33-04200*USED*WARRICKCONTROLS3E3B*NEWINBOX*CTCAC102-1A*NEWOUTOFBOX*WHITE-RODGERSF29-0198THERMOSTATGUARD*NEW*LOTOF50THOMAS&BETTS52621/2"SEALINGRING*NEWIN...DYNATAC101088-GA16FT*NEW*DYNAPAR5PY2ADAPTERKITFOR60AENCODERS*NEWINBOX*BRADHARRISON42808-90CONNECTORS*USED*LOTOF5IDECRH2B-U*USED*SANYOFS-81FOOTSWITCH*USED*GOULDSHAWMUT60608JFUSEHOLDER*USED*ELECTROINDUSTRIESVA20-8DCG*USED*MIGHTYMODULEM***04624VDCRELAY*USED*ALLENBRADLEY871TM-DH15NP30-?D4SER.A*USED*SHANKLIN40-703212-301*NEWOUTOFBOX*BRADHARRISON42808-90CONNECTORS*USED*LOTOF5IDECRH2B-U*USED*SANYOFS-81FOOTSWITCH*USED*GOULDSHAWMUT60608JFUSEHOLDER*USED*ELECTROINDUSTRIESVA20-8DCG*USED*MIGHTYMODULEM***04624VDCRELAY*USED*ALLENBRADLEY871TM-DH15NP30-?D4SER.A*USED*SHANKLIN40-703212-301*NEWOUTOFBOX*SURSUMV-EA53-G8ACIRCUITBREAKER*USED*ZEMICL6N-C3-5KG-3B6LOADCELL*NEWINABOX*CONTROLTECHNIQUESM45-14ICD*NEWINABOX*GAST0523-101-G582DXPUMP*NEWINABOX*POTTER&BRUMFIELD27E487*USED*TURCKRK4.2T-5/S748*USED*MCGILL0140-3023*USED*MALLORY235-7416-04*USED*TPCWIRE&CABLECONNECTOR6959212FT*USED*TPCWIRE&CABLECONNECTOR6531212FT*USED*ECAPHOTOSWITCH8-593*USED*SQUARED9007-BO-3*USED*JA***EVONOLSA3704-A14*USED*JA***EVONOLSA3704-A24*USED*SYRACAUSEELECTRONICSTVR-00300*USED*GEMS1014221ADJUSTABLEPRESSURESWITCH*USED*HOFFMANA-EK115NDH*USED*DWYER2002C*USED*MAC45A-L00-DAAJ-1K?A*USED*EAGLESIGNALCONTROLS22Q3CA240*USED*MICROSWITCHTP***LF*USED*FESTOJ-5-1/8-B*USED*ASCO238210-052D*USED*SLEMENS3UA5200-2B*USED*)