• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

汇编的子程序函数参数和返回值怎么判断

Gwvfbukn 2019-08-25 浏览量:1385

怎么知道一个子程序有没有函数参数,有几个函数参数,函数参数的数据类型是什么,


还有是否有返回值,返回值的数据类型是什么,


这些个怎么判断。。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不管你的子程序是执行什么功能的,程序的形参,和形参的类型以及函数是否有返回值,是什么类型,在c语言中编写程序的时候就声明过了,这样一看声明就明白了。但是在汇编程序中,一般是子程序的返回依靠工作组寄存器去传递。形参也是一样,就是一个char型。但是汇编中没有形参这个说法(好像是这样,在学校用过再也没接触过了)
    • 发布于 2019-08-26
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:3
  • 同意L上的看法,汇编语言是对寄存器操作的,比如X86中AX(大学微机原理有说过),或者arm中的R1R2等通用寄存器,子程序的名字在汇编程序里就是一个标签,在主程序中对一些寄存器进行操作后,比如传参赋值,然后会Jump到相应的子程序中再进行更进一步的操作,最后的返回值会保存在某个寄存器中,返回到主程序中再对该寄存器进行操作,返回类型要根据架构寄存器的位数和以及需要的返回类型,在寄存器层面来说,返回值都是数值(包括指针地址,也是一个数值),只不过有位数区别。。。
    • 发布于2019-08-26
    • 举报
    • 评论 0
    • 0
    • 1

  • 是否可以考虑用反汇编看一看呢
    • 发布于2019-08-26
    • 举报
    • 评论 0
    • 0
    • 1

  • 其实你该从该子程序调用规范去找,光从子程序本身,除非有好的注释,否则基本看不出来,毕竟汇编层次基本上全是直接操作各种寄存器、地址什么的,对应关系不方便检索。
    • 发布于2019-08-26
    • 举报
    • 评论 0
    • 0
    • 1

相关问题

问题达人换一批

汇编的子程序函数参数和返回值怎么判断