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

[复制链接]
3044|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

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