SUBB指令是减法指令。
在进行多字节相减的时候,前一字节相减出现的借位,要减到后一字节里面, Cy就是上次相减时的借位。
带CY位减法指令,ov位是在两个符号数相加、减时产生:
正数+正数=负数;
正数-负数=负数;
负数-正数=正数;
负数+负数=正数;
这几种情况会导致ov位置1。
扩展资料:
如果是小数减大数,进位C会被置1 ,使用JC rel 转到处理程序去就可以了。
Cy --进位标记。
当最后一回数学操作产生进位(加法)或者借位(减法)时,该位置1。其他数学操作将其清0。AC --匡助进位标记。
当最后一回数学操作向高半字节有进位(加法)或者借位(减法)时,该位置1。其他数学操作将其清0。
这是标志寄存器PSW里的。
参考资料来源:百度百科——单片机系统指令
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
注意:寄存器之间不可相互传送数据;
直接地址之间可相互传送数据。
参考资料来源:百度百科-单片机系统指令
SUBB指令是减法指令。
在进行多字节相减的时候,前一字节相减出现的借位,要减到后一字节里面,
Cy就是上次相减时的借位。
cy 是进位位,要看你程序需不需要保留啊 。
subb是减法 指令。