
重复调用子程序,M98 P__ L__;
格式:M98P L ;
说明:P:子程序名;
L:重复调用次数,省略重复次数,则认为重复调用次数为1次;
另外,在使用子程序编程时,应注意主、子程序使用不同的编程方式。一般主程序中使用G90指令,而子程序使用G91指令,避免刀具在同一位置加工。以及,当子程序中使用M99指令指定顺序号时,子程序结束时并不返回到调用子程序程序段的下一程序段,而是返回到M99指令指定的顺序号的程序段,并执行该程序段。
不同的系统,编程代码会有区别。
例:M98 P123 L3;
表示程序号为123的子程序被连续调用3次
参考程序:
O100; 主程序
G90 G54 G00 Z1000 S800 M03 加工前准备指令
M08; 切削液开启
X0; Y0; 快速定位到工件零点位置
M98 P200 L3; 调用子程序(O200),并连续调用3次,完成3个方形
轮廓的加工
G90 G00 Z1000;
X0;Y0; 快速定位到工件零点位置
M09; 切削液关闭
M05; 主轴停转
M30; 结束
O200; 子程序
G91 Z-950; 这里是使用了相对坐标来编写
G41 X200 Y100 D1; 建立刀补
G01 Z-100 F100; 铣削深度
Y400; 直线插补
X300; 直线插补
X-400; 直线插补
G00 Z1100; 快速退刀
G40 X-100 Y-200; 取消刀补
一.
1ADDBX,AX或ADDBL,AL;类型配对
2MOVAX,0A999H
3MOVAX,0F8H
4MOVAX,1234H或MOVAL,12H
5MOVAX,[BX]
6MOVDS,AX;DS不能直接存立即数
7ADD[BX],10;对
8PUSHAX;push不能直接push立即数
9INAL,DX
10OUT40H,AL
11MULAL;mul不能直接跟立即数
12MOV[DI],AX;mov不能两个都是内存
13ADDDI,AX
14MOVDS,AX;CS不可以改
15SUB10[SI],AX;sidi不可以同时出现
二.
SUB[BP],BX寄存器间接寻址方式;30400H;
MOV[BXDI],SI基址变址寻址方式;10400H;
ADDES:[SI],DI寄存器相对寻址方式;20200H;
MOV10[BX],DI寄存器相对寻址方式;10100H;
MOVDS:[100H],BX相对基址变址寻址方式;10100H
三.
3456H;5678H;1234H;5678H;
四.
1234H;2468H;0008H;1008H;0804H;0408H;0508H;0508H
五.
01H,31H,0FFH,00H,78H,56H,FFH,FFH,00H,24H,00H,0BH,00H,0BH,19H,09H,09H
(从左往右地址变大)
AX=3101H,BX=0023H
六.
1
汇编语言:()是面向机器的程序设计语言。
汇编:把汇编语言翻译成机器语言的过程称为汇编。
汇编程序:把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。
2
3
单独cmpsb就是逐一比较8个位;加上rep,循环比较,还是比较这8位啊
4
是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
5
宏和子程序都是为了简化源程序的编写,提高程序的可维护性,但是它们二者之间存在着以下本质的区别:
1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;
2、汇编程序对宏通过宏扩展来加入其定义体,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到相应的简化;
3、宏引用时,参数是通过“实参”替换“形参”的方式来实现传递的,参数形式灵活多样,而子程序调用时,参数是通过寄存器、堆栈或约定存储单元进行传递的;
4、宏引用语句扩展后,目标程序中就不再有宏引用语句,运行时,不会有额外的时间开销,而子程序的调用在目标程序中仍存在,子程序的调用和返回均需要时间。
总之,当程序片段不长,速度是关键因素时,可采用宏来简化源程序,但当程序片段较长,存储空间是关键因素时,可采用子程序的方法来简化源程序和目标程序。
七
1在汇编后产生的obj文件中,子程序定义依然存在,而宏定义却不复存在。
2子程序调用是在执行时通过CALL指令完成的,而宏调用是在汇编时进行宏展开,被相应宏体所取代。
3将多次调用的一段代码定义为宏指令,与使用子程序相比,其执行速度要快(因为过程需要调用和返回),但目标代码长。
4宏指令的参数是在汇编时进行形实替换的,而子程序的参数是在执行时通过寄存器或堆栈等方式传递的。
大概想到这些,供参考
以上就是关于数控机床重复子程序怎么弄全部的内容,包括:数控机床重复子程序怎么弄、汇编语言程序设计_汇编语言程序设计第五版答案钱晓捷、宏程序与子程序调用与区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)