打印
[其它应用]

以下情况是否可行?

[复制链接]
264|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2019-10-27 13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AN, ni, HC, hb
1)      ORG      0800H

        BC         XXXX

XXXXX:


2)   ORG      0000H


      CALL      XXXX

XXXX:
       X
       X
       JMP       XXXX_BANK

      ORG     0800H


XXXX_BANK:

        X
         X
        RTNI

使用特权

评论回复
沙发
wenfen| | 2019-10-27 13:57 | 只看该作者
第一种可行

使用特权

评论回复
板凳
bqyj|  楼主 | 2019-10-27 14:00 | 只看该作者
本帖最后由 bqyj 于 2019-10-27 14:03 编辑

越来越看不明白

使用特权

评论回复
地板
happy_10| | 2019-10-27 14:03 | 只看该作者
第二种部分错误:XXXX_ BANK返回时,不能使用RTNI

使用特权

评论回复
5
bqyj|  楼主 | 2019-10-27 14:07 | 只看该作者
啊?

使用特权

评论回复
6
wenfen| | 2019-10-27 14:14 | 只看该作者
而要使用JMP,CALL和返回指令只能在同一个BANK(0~2K,2K~4K........以此类推),跨BANK调用时,要使用JMP

使用特权

评论回复
7
tian111| | 2019-10-27 14:17 | 只看该作者

第二种貌视可以吧

使用特权

评论回复
8
chenho| | 2019-10-27 14:20 | 只看该作者
第二种,XXXX_BANK返回时依然要使用JMP指令,如下:

;-------------------------------------位于07FFH以内的程序---------------------------------
ORG    0100H
MAIN:
            XX   XX
            XX   XX
            XX   XX
            JMP  SUM_BANK1
SUM_BANK1_RTNI:
            XX   XX
            XX   XX
            JMP  MAIN

;-------------------------------------位于07FFH以后的程序---------------------------------
ORG   0800H
SUM_BANK1:
             XX  XX
             XX  XX
             JMP  SUM_BANK1_RTNI

使用特权

评论回复
9
gongche| | 2019-10-27 14:23 | 只看该作者
对,CALL指令只能在同一个BANK内使用,跨BANK要用JMP

使用特权

评论回复
10
zhenykun| | 2019-10-27 14:27 | 只看该作者
C语言在运行过程中会隐式的类型转换

使用特权

评论回复
11
bqyj|  楼主 | 2019-10-27 14:31 | 只看该作者

第二种方式怎么会有两种结果呢

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

使用特权

评论回复
12
happy_10| | 2019-10-27 14:34 | 只看该作者
第一种简练

使用特权

评论回复
13
features| | 2019-11-2 16:57 | 只看该作者
对汇编不熟,全部还给老师了

使用特权

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

本版积分规则

390

主题

4526

帖子

2

粉丝