[讨论] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊

zhouddong   2009-4-15 21:18 楼主
已知一有符号数(原码)存放于50H中,试编程求出它的补码并存放到51H中。

回复评论 (6)

引用: 原帖由 zhouddong 于 2009-4-15 21:18 发表
已知一有符号数(原码)存放于50H中,试编程求出它的补码并存放到51H中。


可以尝试自己编一下,或者问一下大家思路~~
加油!在电子行业默默贡献自己的力量!:)
点赞  2009-4-16 15:32

Re: [求助] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊

楼主你记得4月13日在哪里贴过同样的问题了吗,我已经作答了,看看去啊?
点赞  2009-4-16 19:19

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
点赞  2009-4-16 21:03

Re: [求助] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊

别学汇编了,晕倒!!
点赞  2009-4-16 22:55

Re: [求助] 请大家帮忙解决一下,我是一个单片机初学者,程序尽量简单些,谢谢啊

,别晕先,先教完我学会用C了,下次就不用晕了
点赞  2009-4-17 00:30
引用: 原帖由 青叶漂零 于 2009-4-16 22:55 发表
别学汇编了,晕倒!!
谁学什么不是靠别人一两句劝就能劝得了的,给点自由给别人好不好?这样的话您要晕倒多少次啊?身体要紧!
点赞  2009-4-19 22:05
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复