巨集指令和子程式的異同?程式設計時如何選用?微機彙編

2021-03-19 18:19:25 字數 518 閱讀 6310

1樓:夜隱霜華

巨集與子程式都可以用一個名字定義一段程式,以簡化源程式的結構和設計。二者的區別:

1、在源程式中,通過書寫巨集名來引用巨集,而子程式是通過call指令來呼叫;

2、巨集呼叫是通過巨集擴充套件來實現的,巨集引用多少次,就相應擴充套件多少次,所以,引用巨集不會縮短目標程式;而子程式**在目標程式中只出現一次,呼叫子程式是執行同一程式段,因此,目標程式也得到相應的簡化

子程式優點:模組化,節省記憶體,可被多次呼叫,程式設計效率高。

缺點:額外開銷(儲存返回地址,計算轉向地址,傳遞引數等)大,增加了執行時間。適用於子功能**較長、呼叫比較頻繁的情況。

巨集呼叫:

優點:引數傳送簡單,執行效率高。

缺點:不節省空間,適用於子功能**較短、傳參較多的情況。

2樓:匿名使用者

巨集程式是用邏輯語言!用某種指令表示出來,

子程式就是一個程式多次反覆利用,比如打孔,然後攻絲,那麼就可以把它設為子程式,然後在主程式中呼叫就可以了,簡化程式

延時子程式定時和定時器定時的區別

延時可以用這兩種方法來實現 1.用延時子程式 就是讓微控制器反覆值行一段程式,以實現延時的目的。這段子程式可以是一些跟其它程式沒任何關係的運算,只要數好指令條數以及迴圈次數就能跟據指令週期算出時間。請問定時和延時的區別?定時是設定了時間。到了設定時間自動接通或關閉裝置。而延時是電路接通後到經過一定時...

vb的sub子程式怎麼用,關於vb的sub子過程的定義問題!

建立sub過程 1 定義sub過程 語句結構如下 static private public sub 過程名 引數列表 語句塊 exit sub 語句塊 endsub 引數列表指明瞭呼叫時傳送給過程的引數的型別和個數,每個引數的格式為 byval 變數名 as 資料型別 如果加上byval則表明該引...

fanuc數控系統子程式是怎麼運用的?求高手指點詳解

給你舉個銑床的例子吧 比如你要一個平面上打四個孔 這個比較好寫,反正都是一個意思 你建立主程式 o0001 g54.中間的我就不寫了 到達座標點以後改呼叫子程式 m98 p0002 0002是隨便設立的子程式程式名 接著輸入另一座標點 m98 p0002 一個四個 m30 結束 然後建立o0002這...