打印

IF。。。 ENDIF的问题!》?

[复制链接]
2243|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fleshyao|  楼主 | 2007-12-10 21:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, AD, se, lm, AI
轩辕夏禹(54549122) 20:59:15
请教个问题。 有IF。。。 ENDIF比较某两个寄存器的值的大小 应如何写啊。 
轩辕夏禹(54549122) 21:00:06
ADL EQU 34H
ADH EQU 35H
ORG 0X000
GOTO MAIN
MAIN
MOVLW 0X01
MOVWF ADL
MOVLW 0X01
MOVWF ADH
IF ADH>DA
MOVLW B'00001111'
ELSE 
IF ADH<ADL
MOVLW B'11110000'
MOVWF 36H
ELSE
MOVLW B'11110000'
MOVWF 37H
ENDIF
ENDIF
END 这个为什么是比较34H 和35H的大小啊? 如何才能作到比较35和34H 存的值的大小啊!
沙发
yewuyi| | 2007-12-10 21:16 | 只看该作者

那只是在编译的时候有有~~

CODE运行的时候,需要CODE判断才行

使用特权

评论回复
板凳
fleshyao|  楼主 | 2007-12-10 21:20 | 只看该作者

看不明白 ?

楼上的意思:是不是说在代码运行的时候 旧可以了啊??

使用特权

评论回复
地板
fleshyao|  楼主 | 2007-12-10 21:39 | 只看该作者

自己说个!

用异或的方法:  

            MOVF   TEMP1,W
            XORWF  TEMP2,W  ;结果到W,不影响TEMP2
            BTFSS   STATUS    , Z ;如果相等,间跳
            GOTO    BEGIN             
            GOTO    LOOP  

用减的方法,同楼上,可以判断Z相等,C大小

            MOVF   TEMP1,W
            SUBWF   TEMP2,W  ;结果到W,不影响TEMP2
            BTFSS   STATUS    , Z ;如果相等,间跳
            GOTO    BEGIN             
            GOTO    LOOP  
还有其他吗 ?
 MOVFW ADL
 CPFSGT ADH
-------------
CPFSLT ADH
---------
CPFSEQ ADH 
那个好啊? 高手解释下啊!》

使用特权

评论回复
5
ayb_ice| | 2007-12-11 14:17 | 只看该作者

那是预处理

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

45

帖子

0

粉丝