打印

关于几个指令问题

[复制链接]
1474|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Sjj爱|  楼主 | 2011-2-21 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于 BC BNC BAZ BNZ BA0 BA1 BA2 BA3 CALL 这些指令,其寻址范围是2K,
请问下以下情况是否可行?

1)      ORG      0800H

        BC         XXXX

XXXXX:


2)   ORG      0000H


      CALL      XXXX

XXXX:
      X
      X
      JMP       XXXX_BANK

      ORG     0800H


XXXX_BANK:

        X
        X
       RTNI

以上2种运用是否可行?

谢谢!
沙发
neyo.zhong| | 2011-2-22 09:38 | 只看该作者
第一种可行;
第二种部分错误:XXXX_ BANK返回时,不能使用RTNI,而要使用JMP,CALL和返回指令只能在同一个BANK(0~2K,2K~4K........以此类推),跨BANK调用时,要使用JMP

很久没有玩4BIT了,如果有错,其他哥哥帮忙修正

使用特权

评论回复
板凳
juginhine| | 2011-2-22 16:45 | 只看该作者
兩種方式都是可以的。
第二種方式中,你的代碼從bank0到bank1的時候,已經是用的jmp指令了。所以這個沒有錯誤。

使用特权

评论回复
地板
Sjj爱|  楼主 | 2011-2-23 08:35 | 只看该作者
第二种方式怎么会有两种结果呢

究竟你们2楼和3楼谁说的对啊

不过就实际运用中好象没什么问题,怕就是会影响代码稳定性

使用特权

评论回复
5
neyo.zhong| | 2011-2-23 09:08 | 只看该作者
4# Sjj爱
呵呵,相信三楼的,他是公司里面的前辈,技术比我好。

使用特权

评论回复
6
bnyuli| | 2011-2-24 11:17 | 只看该作者
几种方式几种结合
液位传感器
波纹管

使用特权

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

本版积分规则

63

主题

1159

帖子

0

粉丝