Ⅰ 宏指令和子程序的異同編程時如何選用(微機匯編)
宏與子程序都可以用一個名字定義一段程序,以簡化源程序的結構和設計。二者的區別:
1、在源程序中,通過書寫宏名來引用宏,而子程序是通過CALL指令來調用;
2、宏調用是通過宏擴展來實現的,宏引用多少次,就相應擴展多少次,所以,引用宏不會縮短目標程序;而子程序代碼在目標程序中只出現一次,調用子程序是執行同一程序段,因此,目標程序也得到相應的簡化
子程序
優點:模塊化,節省內存,可被多次調用,編程效率高。
缺點:額外開銷(保存返回地址,計算轉向地址,傳遞參數等)大,增加了執行時間。適用於子功能代碼較長、調用比較頻繁的情況。
宏調用:
優點:參數傳送簡單,執行效率高。
缺點:不節省空間,適用於子功能代碼較短、傳參較多的情況。
Ⅱ 什麼是子程序,如何使用子程序呢
子程序(subroutine)是一個概括性的術語,任何高級程序所調用的程序,都被稱為子程序。它經常被使用在匯編語言層級上。子程序的主體(body)是一個代碼區塊,當它被調用時就會進入運行。
一般程序設計語言包含兩種基本的抽象:過程抽象和數據抽象。過程抽象有時也稱控制抽象。子程序是最主要過程抽象機制。面向對象語言中的方法與子程序的概念十分相似,不同在於它們的調用以及它們與類或對象關聯的方式。每個子程序只有一個入口。在執行期間,調用程序單位被停止執行,即任意時刻只有一個子程序在執行子程序執行完畢後,總是將控制返回給調用程序
(2)子程序編程怎麼樣擴展閱讀:
子程序的應用
1、零件上若干處具有相同的輪廓形狀,在這種情況下,只要編寫一個加工該輪廓形狀的子程序,然後用主程序多次調用該子程序的方法完成對工件的加工。
2、加工中反復出現具有相同軌跡的走刀路線,如果相同軌跡的走刀路線出現在某個加工區域或在這個區域的各個層面上,採用子程序編寫加工程序比較方便,在程序中常用增量值確定切入深度。
3、在加工較復雜的零件時,往往包含許多獨立的工序,有時工序之間需要適當的調整,為了優化加工程序,把每一個獨立的工序編成一個子程序,這樣形成了模塊式的程序結構,便於對加工順序的調整,主程序中只有換刀和調用子程序等指令。