首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

单片机的ADD 和SUBB指令怎么影响PSW的

2012-02-27 
单片机的ADD 和SUBB指令如何影响PSW的?我们知道在做加减法是单片机都是按补码来进行运算的8位数计算时,比

单片机的ADD 和SUBB指令如何影响PSW的?
我们知道在做加减法是单片机都是按补码来进行运算的
8位数计算时,比如7-3应该和7+253相等

MOV A,#7
ADD A,#253

MOV A,#7
SUBB A,#3
运算后产生的PSW并不一样
减法运算时不置CY为1

那么做减法运算时还有什么规则?

[解决办法]
单片机理解
MOV A,#7
ADD A,#253
就是普通的加法运算,所以有进位;
而理解
MOV A,#7
SUBB A,#3
就是普通的减法运算,所以无进位。
我理解,单片机内部做补码运算时,进位位是不变化的。进位位的变化,可能由比较产生:
例如:50-200=?
减法有借位;做补码运算,借位不会发生。但是,这个借位可以由内部比较产生。

[解决办法]
这个你去看指令集说明吧,十分详细的那种,比如说51单片机,可以去百度搜intel 8051, intel最初出的8051的datasheet, 是最权威的, CSDN上就有,
http://download.csdn.net/detail/flc1122/2622838
另外, keil51的帮助里也有指令说明,包括指令影响那些标志位
不过就是比较多,这些其实不用记的,大致了解一下就行了

热点排行