当前位置:首页>>数控技术中的高级语言调用低级语言处理

数控技术中的高级语言调用低级语言处理

发布时间:2015-08-18作者:智汇张瑜

  随着计算机技术的发展,程序运行速度已不再是重要问题了,很多情况下数控系统软件可以使用高级语言编写。由于低级语言对于控制硬件的功能强,使用低级语言编制控制程序简单方便。所以在系统程序设计中在复杂计算和界面设计中使用高级语言(如C语言),在控制程序中使用低级语言(如汇编语言)就更方便。

  为了使程序运行直观,本例中动态显示运动轨迹,同时用软件分频的方法发出步进电机控制信号。步进电机控制信号用PC机的并行口发出。本例控制两个三相步进电机,其中x方向电机使用并行口中低4位中的D2、D1、D0位,Y方向电机使用并行口中高4位中的D6、D5、D4位,运行本程序时如果接上步进电机则可实现第一象限直线插补。

1 编制调用汇编语言的C语言程序

  这里的c语言程序调用汇编语言第一象限的直线插补程序。本例的C语言程序文件名为zx-dasm.c,被调用的汇编语言程序为zxasm.asm。

  用C语言主菜单中的comp丑e命令将zxdasm.cpp文件编译成目标文件。本例用Borlandc 3.1(或Turboc等)版生成。生成目标程序的文件名为zx.dasm.obj。

2 生成被调用的汇编语言目标文件

  2.1 制作一个被调用的汇编语言框架

  (1)制作一个C语言空函数

  在C语言环境中建立一个空函数,空函数内容为:

  zxcb(){}

  本例的文件名为zxasm.cpp。

  (2)将空函数文件转换成汇编语言文件在windows命令提示符状态下,用命令bcc—SZXaSm 回车,该命令生成一个zxz路m.嬲m汇编语言框架文件。该命令在Borhndc(或Turboc中的tcc命令等)的bin文件夹下。

  2.2 在框架文件中加入汇编语言内容

  打开zxasm.asm汇编语言程序框架文件,在框架中加入汇编语言程序内容。本例的汇编语言为第一象限直线插补程序。

  2.3 参数传送说明

  c语言程序在调用汇编语言程序时以函数的形式调用。本例中在主函数的前面定义了一个名字为zxcb的函数,该函数中有8个参数,8个参数的用途见程序中的注解。

  在汇编语言程序中,框架中保护了bp,并且用pb指向堆栈,在汇编程序中如果使用了8i和di还要保护8i和di。如果汇编语言返回给C语言程序数据时,一般数据用ax。

  当C语言用有参函数调用汇编语言程序时,参数将会自动地压入堆栈,由于在汇编语言中有pushbp、push 8i、push di语句,同时堆栈中还有返回c程序的地址。所以在本例中的8个参数的地址在bp+8以后。第1个参数的地址是bp+8,每个参数占两个字节。

  2.4 将汇编语言程序汇编成目标文件

  在windows命令提示符状态下用命令t鲫:n/mlzxasm.asm回车将zxasm.asm文件汇编成目标文件zxasm.obi。命令中的/ml选项使外部名字小写。该命令在Borlandc(或Turboc等)的bin文件夹下。该步骤也可用宏汇编MASM完成。

3 连接成可执行文件

  将目标文件zxdasm.obj和zxasm.obi文件连接成可执行文件,就可以在windows命令提示符下运行了。

  用命令tlink C08 zxdasm zxasm,zxsy,,Csgraphic8回车将目标文件连接成可执行文件,该文件可在命令提示符状态下运行。该命令在Borhndc(或Turboc等)中的bin文件夹中。命令中的zxdasm和zxasm是要连接的目标文件C0s使用C0s.obi,它包含启动程序和DOs所规定的头部信息。cs是使用c8.nC的标准小模式库。graphics是使用graphics.1ib图形库。zxsy为连接后的可执行文件名。

4 结语

  用这种方法可以在C程序中调用多个汇编语言程序,可以方便地实现对硬件进行各种控制。同时程序运行的速度可以大大加快,程序长度也可相应的缩短。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1