单片机SUBB指令有什么用,减去CY有什么意义?

2025-03-25 01:19:34
推荐回答(4个)
回答1:

SUBB指令是减法指令。 

在进行多字节相减的时候,前一字节相减出现的借位,要减到后一字节里面, Cy就是上次相减时的借位。

带CY位减法指令,ov位是在两个符号数相加、减时产生:

正数+正数=负数;

正数-负数=负数;

负数-正数=正数;

负数+负数=正数;

这几种情况会导致ov位置1。

扩展资料:

如果是小数减大数,进位C会被置1 ,使用JC rel 转到处理程序去就可以了。

Cy --进位标记。
  

当最后一回数学操作产生进位(加法)或者借位(减法)时,该位置1。其他数学操作将其清0。AC --匡助进位标记。
  

当最后一回数学操作向高半字节有进位(加法)或者借位(减法)时,该位置1。其他数学操作将其清0。
  

这是标志寄存器PSW里的。

参考资料来源:百度百科——单片机系统指令

回答2:

SUBB指令是减法指令。Cy就是上次相减时的借位。

MCS-51共111条指令,

指令分类

1、按指令所占的字节来分:

单字节指令(49条) 如MOV A,R2,机器码11101010

双字节指令(46条) 如MOV A,0BH,机器码74H,0BH

三字节指令(16条) 如MOV 0BH, #0BH ,机器码75H,0BH,0BH

2、按指令的执行时间来分:(1个机器周期为12个时钟周期)

1个机器周期(64条) ,如MOV A,R2 MOV A,#0BH,

2个机器周期(45条) ,如MOV 0BH, #0BH

4个机器周期(2条) ,乘、除指令。


扩展资料:

格式:MOV或MOVX或MOVC <目的操作数>,<源操作数>

将源操作数复制给目的操作数,源操作数不变,而不是“

搬家”。数据传送类指令不影响标志位Cy、Ac和OV,影响奇偶标志位P。

1、以累加器为目的操作数的指令

MOV A, Rn ; (Rn)→A,n=0~7

MOV A, @Ri ; ((Ri))→A,i=0,1

MOV A, direct ;(direct)→A

MOV A, #data ; #data→A

2、以Rn为目的操作数的指令

MOV Rn, A ; (A)→Rn, n=0~7

MOV Rn, direct ;(direct)→Rn, n=0~7

MOV Rn, #data ; #data→Rn, n=0~7

3、以直接地址direct为目的操作数的指令

MOV direct, A ; (A)→direct

MOV direct, Rn ;(Rn)→direct, n=0~7

MOV direct1, direct2;

MOV direct, @Ri ;((Ri))→direct

MOV direct, #data ; #data→direct

注意:寄存器之间不可相互传送数据;

直接地址之间可相互传送数据。

参考资料来源:百度百科-单片机系统指令

回答3:

SUBB指令是减法指令。

在进行多字节相减的时候,前一字节相减出现的借位,要减到后一字节里面,
Cy就是上次相减时的借位。

回答4:

cy 是进位位,要看你程序需不需要保留啊 。
subb是减法 指令。