打印

关于查表程序。。问个问题~~

[复制链接]
1319|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yyql008|  楼主 | 2010-2-4 13:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手最近写了个程序,搞半天不知道错在哪里。后来才发现查表程序错了。发现一个问题:查表程序中表与查表指令先后顺序好像有关系。比如求A的2倍的查表程序,
假设A等于3
MOV DPTR,#TAB
MOV A,#03H
MOVC A,@A+DPTR
TAB: DB 00H,02H,04H,06H,08H,0AH
可用正确查出等于6
如果下成这样
MOV DPTR,#TAB
MOV A,#03H
TAB: DB 00H,02H,04H,06H,08H,0AH
MOVC A,@A+DPTR
就查不出来了。好像表应该放在查表指令后面程序才行。想了想不明白。。。表放在前面怎么就查不出来了?不吝赐教。。

相关帖子

沙发
5880527| | 2010-2-4 14:27 | 只看该作者
TAB后面部分在编译的时候其实也会变成指令的,表前面加个跳转就可以了

使用特权

评论回复
板凳
原野之狼| | 2010-2-4 19:46 | 只看该作者
放在前面也行 修改你的查表的地址运算表达式

使用特权

评论回复
地板
vrgood| | 2010-2-5 08:47 | 只看该作者
DB怎么可以放在两条连续指令的中间?会在两条指令中直接插入代码的。
看下汇编后的结果,就明白所以了。

使用特权

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

本版积分规则

个人签名:我们必须知道,我们必将知道

18

主题

111

帖子

1

粉丝