原创 430指令集

2008-5-18 14:11 1908 1 1 分类: MCU/ 嵌入式

*ADC[.W] 将进位加至目的操作数
语法 :ACC dst 或 ADC.W dst


操作码: dst+C ->dst
仿真: ADDC #0.dst
说明: 进位C 加至目的操作数操作数以前的内容丢失
状态位:


N 结果为负时置位为正时复位
Z 结果为零时置位其它情况时复位
C dst 从0FFFFh 增至0000 时置位其它情况时复位
V 发生算术溢出时置位其它情况时复位
方式位 OscOff CPUOff 和GIE 不受影响
例子 R13 指向的16 位数值加至R12 指向的32 位数值
ACD @R13 ,0(R12 ) ;加LSD s
ACD #2,R12          ; 将进位加至MSD


 


*ADC.B 将进位加至目的操作数
语法: ADC.B dst
操作码: dst+C->dst
仿真: ADDC.B #0.dst
说明:


进位C 加至目的操作数操作数以前的内容丢失
状态 N 结果为负时置位为正时复位
Z 结果为零时置位其它情况时复位
C dst 从0FFh 增至00 时置位其它情况时复位
V 发生算术溢出时置位其它情况时复位
方式位 OscOff CPUOff 和GIE 不受影响
例子 R13 指向的8 位数值加至R12 指向的16 位数值
ADD.B @R13 0( R12 )  ; 加LSD s
ACD.B #1, R12        ; 将进位加至MSD


 


ADD[.W] 源操作数加至目的操作数
语法: ADD src,dst 或ADD.W src,dst
操作码 :src+ dst ->dst
说明:


源操作数加至目的操作数源操作数不受影响目的操作数以前的内容丢失
状态 N 结果为负时置位为正时复位
Z 结果为零时置位其它情况时复位
C 结果产生进位时置位否则清零
V 发生算术溢出时置位其它情况时复位
方式位 OscOff CPUOff 和GIE 不受影响
例子 R5 加上10 由一个进位使程序转移到TONI
ADD #10, R5
JC TONI 产生进位
…… 无进位


 


ADD.B 源操作数加至目的操作数
语法 :ADD.B src,dst
操作码: src+ dst ->dst
说明 :源操作数加至目的操作数源操作数不受影响目的操作数以前的内容丢失


状态:


N 结果为负时置位为正时复位
Z 结果为零时置位其它情况时复位
C 结果产生进位时置位否则清零
V 发生算术溢出时置位其它情况时复位
方式位 OscOff CPUOff 和GIE 不受影响
例子:


 R5 加上10 由一个进位使程序转移到TONI
ADD.B #10, R5 ;将10 加至R5 的低位字节
JC TONI ;若R5 246[0Ah+0F6h] 则产生进位
…… 无进位

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /4 下一条