巨集程式與子程式呼叫與區別,巨集程式與子程式呼叫與區別

2021-03-03 20:53:31 字數 899 閱讀 7151

1樓:匿名使用者

1.在彙編後產bai生的.obj檔案中,子程式du定義依然存在,zhi而巨集dao定義卻不復存在。專

2.子程式呼叫是在執行時通屬過call指令完成的,而巨集呼叫是在彙編時進行巨集,被相應巨集體所取代。

3.將多次呼叫的一段**定義為巨集指令,與使用子程式相比,其執行速度要快(因為過程需要呼叫和返回),但目標**長。

4.巨集指令的引數是在彙編時進行形實替換的,而子程式的引數是在執行時通過暫存器或堆疊等方式傳遞的。

大概想到這些,供參考

2樓:匿名使用者

巨集程式簡單難學,子程式麻煩好學

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

3樓:夜隱霜華

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

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

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

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

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

巨集呼叫:

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

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

4樓:匿名使用者

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

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

怎樣編寫巨集程式啊!

要是會vb,編vba就簡單很多。你的具體問題我沒有看,只是想說一些基本的東西。excel主要呼叫的是sheet物件和cell 或者說是range 物件。例如,sheet1中的單元格a2可以用,1 呼叫,也可以用 a2 進行呼叫。假設你將資料放在a列。那麼你可以在選單欄的空白處右鍵單擊,選中 控制元件...

c語言程式ais與,c語言程式 a i s與a i s有區別嗎?

a i s 這個a i 必須是地址才對所以表達是錯誤的,應該 a i s 或者 定義一個指標 p a i 那麼 a i s 和p s是等價的,沒有區別 你這個a是一個結構體組成的陣列或者結構體指標組成的陣列吧 如果是前者,就是用a i s,如果是後者,就用a i s 因為結構體和結構體指標獲取屬性就...

怎樣51微控制器呼叫兩個子程式,怎樣51微控制器呼叫兩個子程式

mov r0,08h mov a,0feh loop mov p1,a lcall del rr a djnz r0,loop 使用djnz 指令。為0執行下一指令,不為0跳轉。就可以呼叫內兩個容子程式了 估計是進入到倒計時程式,一直沒有出來。主程式直接呼叫洗滌程式。定時器,每到1s時,再去呼叫一下...