打印

汇编程序中调用C程序,C程序占用寄存器的开始地址可否给予设定?

[复制链接]
840|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xufucg|  楼主 | 2014-5-17 07:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
汇编程序的直接操作性,C程序计算的简单化,经常使用汇编调用C程序,我在汇编程序中有需要调用两个C程序,结果发现调用C程序1(_CALL1   带参数的调用),进入C程序后仿真暂停,使用反汇编查看,发现R6和R7带去的参数赋值给10H,和11H。例句是:   MOV  10H,R6;  MOV   11H,R7 。,而汇编调用第二个C程序2的时候,(_CALL2),也是进入C程序后仿真暂停,反汇编看到R6/R7参数传递给44H/45H 。反汇编语句: MOV    44H,R6;  MOV    45H,R7 。因为C程序的运行,将影响原有汇编程序使用的寄存器的数据,当C程序运行完毕返回的时候,汇编程序可能会造成因数据错误而出错。怎样才能指定C程序运行占用寄存器的开始地址位置?请高手指教。

相关帖子

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

本版积分规则

13

主题

49

帖子

0

粉丝