请各大虾帮忙看看下面宏定义有什么问题

[复制链接]
1931|8
手机看帖
扫描二维码
随时随地手机跟帖
22724787|  楼主 | 2007-9-26 12:37 | 显示全部楼层 |阅读模式
    MOVI MACRO Mx,IBIT ;传送指令:将常数IBIT送到寄存器MX 
    if((Mx>>7)&07H)
        LDI TEMP,IBIT
        STA Mx,(Mx>>7)&07H
    else
        LDI Mx,IBIT
    endif
    ENDM
程式编译后,在汇编上看编译出来是对的,但是不能正常仿真!请各位大虾指教,谢谢
22724787|  楼主 | 2007-9-26 12:44 | 显示全部楼层

测试程式如下

         TEST_R   EQU 30H

         LDI    TEMP,    0
    STA    TEST_R,(TEST_R>>7)&07H
    MOVI    TEST_R,        12
 编译后在汇编上看到是
         ldi      30h,  12
    

使用特权

评论回复
22724787|  楼主 | 2007-10-24 10:06 | 显示全部楼层

没人知道原因吗

没人知道原因吗

使用特权

评论回复
warm_ice| | 2007-10-26 12:14 | 显示全部楼层

这样的结果是正确的

看了一下,宏没什么问题,你调试的结果也是对的啊,你的程序就是要把12赋值给30H.不知道您有什么疑问?

使用特权

评论回复
22724787|  楼主 | 2007-12-3 10:57 | 显示全部楼层

不能正常仿真

不能正常仿真

使用特权

评论回复
warm_ice| | 2007-12-3 11:57 | 显示全部楼层

这样

我用这个程序试过,没有问题。您能把不能仿真的具体情况说明一下么??例如编译时报什么错误,仿真时有什么问题等。

使用特权

评论回复
22724787|  楼主 | 2007-12-3 13:50 | 显示全部楼层

编译时没有问题

编译时没有问题,但仿真时程式不能正常运行.我用编译器版本是4.3的,IC用的是66P13A

使用特权

评论回复
warm_ice| | 2007-12-3 14:19 | 显示全部楼层

这样

建议您升级编译软件,现在最新的仿真软件叫做IDE66,最新版本为2.0版.可在中颖网站上下载.

使用特权

评论回复
22724787|  楼主 | 2007-12-7 09:56 | 显示全部楼层

编译软件

谢谢!是编译软件的问题!前几天已经更新了!

使用特权

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

本版积分规则

2

主题

10

帖子

0

粉丝