[其它应用] 以下情况是否可行?

[复制链接]
560|14
 楼主| bqyj 发表于 2021-3-4 17:14 | 显示全部楼层 |阅读模式
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 发表于 2021-3-4 17:22 | 显示全部楼层
第一种可行
 楼主| bqyj 发表于 2021-3-4 17:25 | 显示全部楼层
越来越看不明白
happy_10 发表于 2021-3-4 17:27 | 显示全部楼层
第二种部分错误:XXXX_ BANK返回时,不能使用RTNI
 楼主| bqyj 发表于 2021-3-4 17:31 | 显示全部楼层
wenfen 发表于 2021-3-4 17:35 | 显示全部楼层
而要使用JMP,CALL和返回指令只能在同一个BANK(0~2K,2K~4K........以此类推),跨BANK调用时,要使用JMP
tian111 发表于 2021-3-4 17:38 | 显示全部楼层
第二种貌视可以吧
chenho 发表于 2021-3-4 17:41 | 显示全部楼层
第二种,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
gongche 发表于 2021-3-4 17:43 | 显示全部楼层
对,CALL指令只能在同一个BANK内使用,跨BANK要用JMP
zhenykun 发表于 2021-3-4 17:46 | 显示全部楼层
C语言在运行过程中会隐式的类型转换
 楼主| bqyj 发表于 2021-3-4 17:48 | 显示全部楼层

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

不过就实际运用中好象没什么问题,怕就是会影响代码稳定性
happy_10 发表于 2021-3-4 17:57 | 显示全部楼层

第一种简练
zhanghqi 发表于 2021-3-4 17:59 | 显示全部楼层
对汇编不熟,全部还给老师了
 楼主| bqyj 发表于 2021-3-4 18:02 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
名字是啥样 发表于 2021-3-4 18:55 | 显示全部楼层
汇编语言很棒的,现在我都忘记的差不多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部