当前位置:首页 > 技术心得 > 正文内容

tenx(十速)TM87系列常用宏(二)

xjtudll17年前 (2010-02-09)技术心得10080

tenx(十速)TM87系列常用宏(二)

 

接上篇:http://www.xjtudll.cn/Exp/42/


5
、位操作

位清零

;BIT清零 RAM 00~6FH 70~7FH也可用,但是浪费了两条语句                              

CLRB                          .macro REG,BIT

                                                        MRW R0,REG

                                                        .if BIT=0

                                                               ANDI* R0,1110B

                                                        .elseif BIT=1

                                                               ANDI* R0,1101B

                                                        .elseif BIT=2

                                                               ANDI* R0,1011B

                                                        .elseif BIT=3

                                                               ANDI* R0,0111B         

                                                        .endif                                                                    

                                                        MWR REG,R0

                                   .endm



1

; BIT1  RAM 00~6FH 70~7FH也可用,但是浪费了两条语句

SETB                           .macro REG,BIT

                                                        MRW R0,REG

                                                        .if BIT=0

                                                               ORI* R0,0001B

                                                        .elseif BIT=1

                                                               ORI* R0,0010B

                                                        .elseif BIT=2

                                                               ORI* R0,0100B

                                                        .elseif BIT=3

                                                               ORI* R0,1000B                                              

                                                        .endif                   

                                                        MWR REG,R0                                                

                            .endm

6、环移

左环移

;左环移 最高位保存到CF 低位填0

RLC                            .macro Reg

                                                 MRA Reg

                                                 SL0 Reg

                                   .endm

 

右环移

;右环移 最低位保存到CF 高位填0 R0所在地址不能操作

RRC                                   .macro Reg

                                                 MRW R0,Reg

                                                 SL0 R0

                                                 SL0 R0

                                                 SL0 R0

                                                 MRA R0

                                                 SR0 Reg

                                          .endm

 

7、常数赋值操作

 RAM 7FH~FFH(需索引赋值的)

;如果不用高地址,则调用方式为 MOVX ,AddrL,Num

MOVX                                .macro AddrH,AddrL,Num

                                                        .ifnblank AddrH ;判断宏的参数是否有串入

                                                               LDS R0,AddrH

                                                               MVH R0

                                                        .endif

                                                               LDS R0,AddrL

                                                               MVL R0

                                                               LDS R0,Num                                                  

                                                               MRW @HL,R0                                               

                                          .endm

 

8、程序跳转

RAM所存储的数值与常数比较

 

小于跳转

;小于跳转 可操作RAM 00~7FH   70~7FH浪费一条语句

CJSE                                  .macro Reg,Data,Address

                                                        MRW      R0,Reg

                                                        SUBI R0,Data

                                                        JNC Address                                                   

                                          .endm

 

不等跳转                            

;不等跳转  可操作RAM 00~7FH  除去R0

CJNE                                  .macro Reg,Data,Address

                                                        LDS R0,Data;Data¸øROºÍAC

                                                        EOR Reg

                                                        JNZ Address                                                   

                                          .endm

 

相等跳转                       

;相等跳转  可操作RAM 00~7FH  除去R0

CJE                                    .macro Reg,Data,Address

                                                        LDS R0,Data;Data¸øROºÍAC

                                                        EOR Reg

                                                        JZ Address                                                      

                                          .endm

 

      -1不等于0跳转                            

;-1不等于0跳转  可操作RAM 00~7FH

DJNZ                                  .macro Reg,Address      

                                                 .locallabel DJNZGO

                                                 .locallabel DJNZOUT

                                                        LDA Reg

                                                        JNZ DJNZGO

                                                        JMP DJNZOUT

DJNZGO:                                  

                                                        DEC* Reg

                                                        JNZ Address  

DJNZOUT:                  

                                                 .endm

 

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/43/

分享给朋友:

“tenx(十速)TM87系列常用宏(二)” 的相关文章

zencart迁移需要修改的地方

移植zencart,搬迁zencart:1.复制文件到新的服务器2.复制数据库3.修改配置文件    1)/includes/configure.php       //修改域名('HTTP_SERVER',&nb...

Storyboard已关联下面的TableView,为什么TabView的Cell显示不出来

问题: Storyboard已关联下面的TableView,为什么TabView的Cell显示不出来 原因及解决办法: 很简单,你的代码没有设置,SB里面的TableViewController要关联一个类,你需要添加好,并且注意下面这两个代理方法的返回值 - (NSInteger)numberO...

mircrosoft project2010怎么设置任务级别,降级

mircrosoft project2010怎么设置任务级别,降级

参考资料: http://zhidao.baidu.com/link?url=hW3eTVmKLi2WzQM_jTfsCb2btmRnrmixR8tfFfiRn1YTtM6ylBBXMsnQHpEAUefawNdg-bTiFeXh9Of-U47Mma 两个方法: 1、任务菜单---计划列表---那两...

RFID原理通俗讲解

最近,公司有项目用到了RFID,对RFID原理一直不甚了解。网上看到一篇好文,共享之。 原文网址:http://blog.21ic.com/user1/914/archives/2012/89510.html 以13.56MHz的RFID技术为例,分为读卡器和卡。读卡器是跟电源接的,当卡靠近读...

世界城市时间及时区

时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。时区通过设立一个区域的标准时间部分地解决了这个问题。世界各个国家位于地球不同位置上,因此不同国家的日出、日落时间必定有所偏差。这些偏差就是所谓的时差。 1884年国际经...

金蝶K3:单据关系表查询

金蝶K3:单据关系表查询

金蝶K3后台数据存放的都是内码 前台的数据如何在后台进行查询可以使用这张表 ictablerelation例如我查询发货通知单  select * from ictablerelation where FTableName='SEOutstock'  从数据库字典...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。