English 中文(简体)
c++文档中的 sub子处理
原标题:asm subroutine handling int and char from c++ file
  • 时间:2009-10-02 14:58:57
  •  标签:

如何在与“C++”方案挂钩后,用 as子处理 in果? e. 外部“C”真空LCD_byte(果园、立厘米数据);LCD_如何按部处理“byte”和“cmd_数据”? 我如何在议会法典中获取“细化”和“混合数据”?

问题回答

这很大程度上取决于使用微处理器。 如果是x86,则果园将被扩大至暗中,然后两个参数都通过。 可以通过汇编C法典,把呼吁列入议会法典,并检查议会法典来发现。

举例说,

void LCD_byte (char byte, int cmd_data);

void foo()
{
   LCD_byte( a ,100);
}

gcc 产生于x86lav代码

foo:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        movl    $100, 4(%esp)
        movl    $97, (%esp)
        call    LCD_byte
        leave
        ret

你们可以看到,这两种价值观都被推向 st头上(因此,目标例行公示)。 因此,目标例行办法可找到第一个即将到来的参数(esp+4)。

很多事情取决于召集公约,而后者又取决于汇编者。

但是,在2件事情中,有99.9%的时间。 他们要么在登记册上通过,要么被推到 st子上,然后在功能内pop。

查阅你的平台文件。 它告诉你,在C中使用公约。

《呼吁公约》具体规定了如何通过一些参数,这些参数是:登记册是用户-用户,回归地址是如何储存的,以及你需要正确履行从C.可以要求的职能的其他一切(以及你需要正确称之为C功能的一切)





相关问题
热门标签