数据运算指令:STC和CLC指令介绍
发布时间:2016-11-07 10:37 来源:欧姆龙 阅读:
数据运算指令:STC和CLC指令介绍
1.STC和CLC指令格式:
STC(40) @STC(40)CLC(41) @CLC(41)功能: STC为置进位位指令。当执行条件满足时执行置进位位操作,将进位标志位25504置ON。CLC为清进位位指令。
执行条件满足时,执行清进位位操作,将进位标志位25504置OFF。
2.ADD和SUB指令格式:
ADD(30) @ADD(30)S1 S1S2 S2D D其中,操作数S1为被加数,S2为加数,它们分别是IR、SR、hR、AR、LR、DM、*DM、#;操作数D为目的通道,它可以是IR、SR、hR、AR、LR、DM、*DM。SUB(31) @SUB(31)S1 S1S2 S2D D其中,操作数S1为被减数,S2为减数,它们分别可以是IR、SR、hR、AR、LR、DM、*DM、#;操作数D为目的通道,它可以是IR、SR、hR、AR、LR、DM、*DM。功能: ADD为BCD码加法指令,执行加法操作时将S1和S2的内容带进位位一起做十进制加。
加出的结果送D,并按运算结果置进位标志位和相等位;SUB为BCD码减法指令,执行减法操作时将S1和S2的内容带进位位一起做十进制减。减出的结果送D,并按运算结果置进位标志位和相等位。
例5-5:下面程序段中以00001为加法操作的条件。在执行加法指令前一般应该先清进位位。加法执行后的和数送DM1000。执行后的进位和相等状态送010通道输出。01000置ON表示运算结果有进位。01001置ON表示运算结果等于0000。LD 00001@CLC(41)LD 00001@ADD(30)hR00#0002DM1000LD 25504OUT 01000LD 25506OUT 01001
3.ADDL和SUBL指令格式:
ADDL(54) @ADDL(54)S1 S1S2 S2D D其中,操作数S1为被加数,S2为加数,它们分别可以是IR、SR、hR、AR、LR、DM、*DM;操作数D为目的通道,它可以是IR、SR、AR、LR、DM、*DM。
SUBL(55) @SUBL(55)S1 S1S2 S2D D功能: ADDL为双字BCD码加法指令。双字加法是指将S1+1和S1组成的双字与S2+1和S2组成的双字带进位位做十进制加法。加出的结果送D+1和D组成的双字。SUBL为双字BCD码减法指令。双字减法是指将S1+1和S1组成的双字与S2+1和S2组成的双字带进位位做十进制减法。减出的结果送D+1和D组成的双字。这里所说的双字是指由两个通道组成的数据。操作数指出的通道内为低4位,操作数加一通道内为高4位。
例5-6:下面程序段是一个用ADDL指令完成更多位加法的例子。两次使用ADDL实现了4个通道16位十进制数相加的运算。
LD 00001@CLC(41)LD 00001@ADDL(54)hR00200hR06LD 00001@ADDL(54)hR02202hR08设程序段执行前相应源通道中的数据为: hR00赋值#1212,hR01赋值#3434,hR02赋值#5656,hR03赋值#7878;200赋值#7878,201赋值#5656,202赋值#3434,203赋值#1212。程序段执行一次后,目的通道的数据为: hR06赋值#9090,hR07赋值#9090,hR08赋值#9090,hR09赋值#9090。由于最后的和不等于0,操作结果同时置标志25506为OFF,即7878565634341212+1212343456567878=9090909090909090
4.MUL和DIV指令格式:
MUL(32) @MUL(32)S1 S1S2 S2D D其中,操作数S1为被乘数,S2为乘数,它们分别可以是IR、SR、hR、AR、LR、DM、*DM、#;操作数D为目的通道,它可以是IR、SR、hR、AR、LR、DM、*DM。DIV(33) @DIV(33)S1 S1S2 S2D D功能: MUL为BCD码乘法指令。执行乘法操作时将S1和S2的数据相乘。乘出的积低四位送D,高四位送D+1。若积等于0000,则置相等标志位为ON。DIV为BCD码除法指令。执行除法操作时将S1的数据除以和S2的数据。除出的商送D,余数送D+1。若商等于0000,则置相等标志位为ON。
5.MULL和DIVL指令格式:
MULL(56) @MULL(56)S1 S1S2 S2D DDIVL(57) @DIVL(57)S1 S1S2 S2D D功能: MULL为双字BCD码乘法指令。执行双字乘法操作时将S1+1和S1组成的双字与S2+1和S2组成的双字相乘。乘出的积送D+3、D+2、D+1、D组成的数据通道中。若积等于0,则置相等标志位为ON。DIVL为双字BCD码除法指令。执行除法操作时将S1+1和S1组成的双字除以S2+1和S2组成的双字,除出的商送D+1,D,余数送D+3,D+2。若商等于0,则置相等标志位为ON。