已知一有符号数(原码)存放于50H中,试编程求出它的补码并存放到51H中。
Re: [求助] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊
楼主你记得4月13日在哪里贴过同样的问题了吗,我已经作答了,看看去啊?
Re: [求助] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊
补码的求法是:正数的补码和原码相同。
负数的补码是由其原码除符号位保持不变外,其余各位按位取反,再在最末位加1而得到的。
示例: mov 50h,#____H
staa: mov a,50h
jb acc.7,minus ;判断最高位是否为零,如果为零则是正数,顺序执行,如果为1则为负数,转到负数处理。
mov 51h,a ;保存补码
ajmp break ;跳出子程序。
负数处理:
minus: cpl a ;把累加器中的数按位到反
setb acc.7 ;把负号加上(使累加器中的数的最高位为1)
inc a ;累加器加1
mov 51h,a ;保存补码
break: ajmp staa
Re: [求助] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊
别学汇编了,晕倒!!