返回首页
当前位置: 主页 > MCS-51指令系统 >

8031单片机内部RAM存储的16位无符号数控比较两种编程方法

时间:2013-08-06 14:36来源:未知 作者:牛牛 点击:
设有两个 16 位无符号数 NA , NB 分别存放在 8031 单片机内部 RAM 的 40H 、 41H 及 50H 、 51H 单元中,当 NA NB 时,将内部 RAM 的 42H 单元清 0 ;否则,将该单元置成全 1 ,试编程。 解法 I :因为无 16 位数的比较指令,所以,只能用 8 位数的比较指令

设有两个16位无符号数NANB分别存放在8031单片机内部RAM40H41H50H51H单元中,当NA > NB时,将内部RAM42H单元清0;否则,将该单元置成全1,试编程

单片机

解法I:因为无16位数的比较指令,所以,只能用8位数的比较指令。 单片机

                 ORG  2000H 单片机

            CMPMOV  A50H 内容来自单片机之家www.dpj100.com

                 CJNE  A40HCMP1

单片机

                 MOV  A51H

内容来自单片机之家www.dpj100.com

                 CJNE  A41HCMP1

单片机

                 SJMP  NHIGHE

单片机

           CMP1JC  HIGHE 单片机

         NHIGHEMOV  42H#0FFH

单片机

                SJMP  DONE 内容来自单片机之家www.dpj100.com

          HIGHEMOV  42H#00H 单片机

          DONESJMP 

单片机

                END 单片机

上述程序中多次用到SJMP语句,该语句为无条件转移语句。无条件语句应尽量少用,这样可使程序结构紧凑而易读,易理解。

单片机

解法II:先假设NA > NB,再来判断是否NA NB 内容来自单片机之家www.dpj100.com

                ORG  3000H

单片机

         CMP2MOV  R0#00H 单片机

               MOV  A50H 单片机

               CJNE  A40HCMP3 单片机

               MOV  A51H 单片机

               CJNE  A41HCMP3

单片机

               SJMP  NHIGHE 单片机

               CMP3JC  HIGHE

单片机

       NHIGHEMOV  R0#0FFH    ;不大于标志

内容来自单片机之家www.dpj100.com

          HIGHEMOV  42HR0 单片机

                 SJMP 

内容来自单片机之家www.dpj100.com

               END 单片机

顶一下
(5)
83.3%
踩一下
(1)
16.7%
------分隔线----------------------------
推荐内容