打印

请教:关于查表指令

[复制链接]
1863|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cd666|  楼主 | 2008-5-5 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      WORDS              
    segment 'rom'

table    dc.w    $1122
         dc.w    $3344

    ld    X,#table
    ld    A,(X)        ;load indexed no offset

这几条是帮助里的指令,但编译会提示"Error 54: Can't match Addressing mode"   请问这种寻址方式需要如何使用?


沙发
香水城| | 2008-5-5 16:37 | 只看该作者

X寄存器只有8位,不能用16位的地址为它赋值

应该使用下面的指令格式:
  LD A, (table, X)

使用特权

评论回复
板凳
cd666|  楼主 | 2008-5-6 08:45 | 只看该作者

这不是我想要的答案

谢谢,您的解答.
我想知道的是,我列的代码是ST的IDE帮助文件里面介绍询址方式中的一个,
照抄下来就是不行,难道是没有这种方式.

使用特权

评论回复
地板
香水城| | 2008-5-6 09:44 | 只看该作者

如果一定要用那条指令,你必须把table分配到第0页的RAM区

这样table的地址才是8位, LD X, #table 这条指令才有意义。

使用特权

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

本版积分规则

47

主题

153

帖子

0

粉丝