打印

c51调用汇编函数的入口问题

[复制链接]
2210|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
geniusnf|  楼主 | 2007-8-15 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
欲调用现有函数——

Send(uchar slv_adr,uchar idata *databfr,uchar len);

Send(0xb2,SerBfr,6);


其中SerBfr是个数组,从这个函数进入汇编代码,
作用:发送6个字节的东东,
以下汇编中的代码
?_send?BYTE:
    slv_adr?142:   DS   1
    databfr?143:   DS   1
        len?144:   DS   1

提问:这个0xb2有什么意义,它不是和p2的寄存器冲突了吗?难道和数组SerBfr[]有关?但是定义数组时地址不是随即分配的吗,不懂了?
     请不吝赐教,谢谢先!

相关帖子

沙发
ayb_ice| | 2007-8-15 14:55 | 只看该作者

随便说说

0xb2有什么意义要看函数源代码才行,给个原型就知道确切用处,这个可能外星人都不知道,
和p2的寄存器冲突不知LZ所云,
看函数原型slv_adr = 从机地址
          databfr = 缓冲区
          len     = 数据长度
写的还是很规范,应该是个IIC接口器件程序...

使用特权

评论回复
板凳
geniusnf|  楼主 | 2007-8-16 08:38 | 只看该作者

谢谢,再问下

呵呵,没错,我对汇编不是很感冒,没见过
?_send?BYTE:
    slv_adr?142:   DS   1
    databfr?143:   DS   1
        len?144:   DS   1
这样的格式,字面的意思我知道,
可这种格式:
    1)slv_adr?142:   DS   1
    中的142,143,144,有什么意思,(send是个函数,slv_adr是send的参数)
    2)"?"是全局的意思?

使用特权

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

本版积分规则

8

主题

30

帖子

0

粉丝