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

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

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

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

 

接上篇:http://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://xjtudll.cn/Exp/43/

分享给朋友:

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

金蝶K3:自定义SQL报表,如何在预警平台选择得到?

金蝶K3:自定义SQL报表,如何在预警平台选择得到?

自定义的SQL报表,在预警平台选择不到呢?是哪里设置问题呢?谢谢了 解决方法:BOS中将报表发布到信息服务就可以找到了。...

一些奇葩问题

1、排针居然有电阻 问题描述: 排针的不同PIN之间用万用表测量居然是有电阻的 原因: 排针质量有问题,老化   2、按键 问题描述: 导通电阻不是0,200欧姆~2k欧姆不等 原因: 按键老化 这种有导通电阻的,对于独立式按键来说影响不大,对于AD键盘而言,影响将很明显,很有可能导致误判...

金蝶K/3修改帐套启用期间

不要乱修改 select * from t_SystemProfile where fkey = 'startyear' select * from t_SystemProfile where fkey = 'startperiod' 如果一个帐套已使用,要再修改会计期间个数或启用期间或会计期间开始...

error 65: access violation at 0x40021000 : no 'read' permission

error 65: access violation at 0x40021000 : no 'read' permission

经过测试发现,该办法仅仅适合STM32F103,对于STM32F107,即使这样修改,还是提示同样的error的。 我是在Win7 64bit下实验的 以下是参考资料: https://blog.csdn.net/beready/article/details/24668529 开发环境:keil...

windows xp系统添加凭据操作方法

windows xp系统添加凭据操作方法

Windows XP操作系统中打开“运行”,输入“ control keymgr.dll”回车,即可打开“存储用户名和密码”窗口,单击“高级”选项卡,然后单击“管理密码”,添加服务器的IP地址、用户和密码,确认退出后,重启电脑。...

获取NSImage图片的准确大小

问题: NSImage加载图片的时候无法准确获得图片的大小 测试代码: NSImage *image = [NSImage imageNamed:@"image"]; NSLog(@"%f, %f", image.size.width, image.size....

发表评论

访客

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