普通程序用的是实数,宏程序用变量,宏程序中有公式计算,和逻辑判断形成的循环体,变量用来装实数,把宏程序比作口罩生厂线的话,循环为输送带,公式计算为输送带中的各种探头,变量为装口罩纸箱,总的来说,宏中有循环,公式,变量可以大量生厂坐标实数
宏指令是用一个“单词”代替一段程序或字符串,编译时编译程序见到这个“单词”就把你定义的这段程序或字符串插进去代替这个“单词”,编译好的机器码再反编译后你将看不到这个宏指令,只能看到插进去的程序或字符串你在程序中写了多条同样的宏指令编译后可看到同样多条插入的程序段或字符串,编译后的机器码会变长
调用子程序编译后这里还是这条调用指令写了多次调用子程序编译后也只有一段子程序,编译后的机器码不会变长
所以一般在程序中多次使用一个常数,这个常数如果需要修改(在编程时,不是运行时)而且多处都做同样的修改用宏指令就比较方便,修改时只要在头上宏指令定义改一处就行了
比如说你要编一个上课打铃程序,上课时间长度和休息时间长度在开头定义:
SKSJ
EQU
45
;上课时间
XXSJ
EQU
15
;休息时间
在程序中要用到上课和休息时间处都用这两个"单词"代替,如果头头要求把上课时间改为40,休息时间改为10,只要这两句改成:
SKSJ
EQU
40
;上课时间
XXSJ
EQU
10
;休息时间
就行了,不需要到程序里一个一个找出来修改,一个一个找出来修改还容易出错这样还比较直观,程序中见到SKSJ就知道是上课时间,不容易与其他同样用到45这个数的地方搞混
当然也可以定义成一句或几句指令,这样可以缩短汇编语言的长度(不是机器码的长度,宏指令不会缩短编译出来的机器码码的长度)定义成一句或几句指令俺没用过,只见到别人用过
如果多次要用到同一段程序,一般使用子程序,这段程序只要写一次就行了,要用时用子程序调用
但子程序调用因为多了转移和返回,所以运行时间要稍长些宏指令没有这个问题,但编译好的机器码要长些
宏调用等同于将一段代码的更简短缩写,而不用像封装函数那样浪费资源。
宏调用的格式同一般指令一样,在使用宏指令的位置写下宏名,后跟实体参数,如果有多个参数,应按形参顺序填入实参,也用逗号分隔,在汇编时,宏指令被汇编程序用对应的代码序列替代,称之为宏展开。
以上就是关于数控机床宏程序为什么和普通程序不同呢要怎么学求大神讲解全部的内容,包括:数控机床宏程序为什么和普通程序不同呢要怎么学求大神讲解、试分析宏指令和子程序在时间和空间方面的优缺点、什么是宏调用呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)