用汇编语言编写子程序后如何调用?

用汇编语言编写子程序后如何调用?,第1张

通过C语言函数形式封装汇编语言程序段,而后就可完全按照C语言函数的形式调用。这种方法保证了子程序段与主程序衔接的完全适配,使用简便。使用方法如下:

用低划线_后接关键字asm指示后面的语句是汇编语句。汇编语句既可以是单句,例如__asm mov bx,1;也可以是复合语句,即,用花括号对包含的多条单句,例如:

__asm

{ mov al, 3

mov dx, 0xE008

add ax,dx

}

在语法规则中,这些语句与C语言的语句完全等价。因此,可以直接进行编译。

你是指内联汇编吧?比如下面这个例子:

#include <stdio.h>

int func(int a, int b)

{

 return a - b

}

int main()

{

 //计算 12-5

 int a = 12, b = 5  //给定两个数

 int res    //用来记录结果

 __asm{     //内联汇编

  push b    //b压栈

  push a    //a压栈,注意C中函数接受参数的时候入栈是反着的

  call func   //调用函数func, 返回值保存在eax里

  mov res, eax  //将eax里的值赋给res

 }

 printf("%d\n", res) //输出结果,得到7

 return 0

}

高级数控编程:子程序调用及编程举例

一次装夹加工多个形状相同或刀具运动轨迹相同的零件,即一个零件有重复加工部分的情况下,为了简化加工程序,把重复轨迹的程序段独立编成一程序进行反复调用, 这重复轨迹的程序称为子程序,而调用子程序的程序称主程序。

子程序的调用

子程序的`调用方法如图1-2所示。需要注意的是,子程序还可以调用另外的子程序。从主程序中被调用出的子程序称一重子程序,共可调用四重子程序,如图1-3所示。

 

在子程序中调用子程序与在主程序中调用子程序方法一致。

格式:M98 P L

说明:P:子程序名

L:重复调用次数,省略重复次数,则认为重复调用次数为1次

例:M98 P123 L3

表示程序号为123的子程序被连续调用3次,如图1-4所示。

子程序中必须用M99指令结束子程序并返回主程序。

应用举例:

加工如图1-5所示轮廓,以知刀具起始位置为(0,0,100),切深为10mm,试编制程序。

图1-6

相关知识点:

●在使用子程序编程时,应注意主、子程序使用不同的编程方式。一般主程序中使用G90指令,而子程序使用G91指令,避免刀具在同一位置加工。

●当子程序中使用M99指令指定顺序号时,子程序结束时并不返回到调用子程序程序段的下一程序段,而是返回到M99指令指定的顺序号的程序段,并执行该程序段。

编程举例:如图1-6所示。

子程序执行完以后,执行主程序顺序号为18的程序段。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7846095.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存