子程式與巨集指令在程式的使用中有何共性

2021-03-10 11:01:34 字數 1760 閱讀 7501

1樓:匿名使用者

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

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

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

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

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

巨集呼叫:

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

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

2樓:可以叫我表哥

子程式與巨集bai指令在程

du序的使用中有何

zhi共性

共dao同點:巨集和子程式版都可用來簡化程式,權並可使程式多次對它們呼叫。

不同特點:巨集操作可直接傳遞和接收引數,不通過堆疊或其他媒介;子程式不能直接帶引數,需有傳遞引數時,必須通過堆疊暫存器和儲存器進行。巨集呼叫只能簡化源程式的書寫,並沒有縮短目標**長度;子程式呼叫能縮短目標程式長度。

應用好操作並不會在執行目標**時增加額外的時間開銷;子程式呼叫由於需要保護和恢復現場和斷點,因而延長目標程式的執行時間

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

3樓:夜隱霜華

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

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

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

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

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

巨集呼叫:

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

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

4樓:匿名使用者

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

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

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

5樓:匿名使用者

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

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

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

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

大概想到這些,供參考

6樓:匿名使用者

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

簡述轉移指令和子程式呼叫指令在功能上的異同點

7樓:匿名使用者

轉移指令就是跳過去了就不回來了,子程式呼叫完會回來繼續接著往下執行。

在微控制器中子程式與中斷服務程式的異同點

相似點 都是中斷當前正在執行的程式,都要通過執行返回指令,返回到原來的程式。都是由硬體自動地把斷點地址壓入堆疊 當執行到返回指令時,自動彈出斷點地址以便返回原來的程式。都要通過軟體完成現場保護和現場恢復。都可以實現巢狀。中斷是微控制器的一個重要功能,中斷子程式專為執行中斷功能,它是在發生中斷後,自動...

關於彙編程式問題,關於彙編裡子程式的問題

用組合語言程式設計如下 code segment assume cs code a dw 1357h 隨意定義兩個資料.b dw 2468h start mov ax,codemov ds,ax mov ax,a 開始處理.test ax,1 jnz a odd 為奇數轉移.mov bx,b tes...

在使用VB建設程式視窗,怎樣讓建設的程式視窗的「最大化」按鈕失效

窗體 form 屬性列表裡面,找到maxbutton屬性,設定為 false vb設計程式 設計程式,在窗體上建立3個命令按鈕,單擊後分別使窗體最大化 還原或最小化。病情分析 你好,後至少半年後要小孩比較好.子宮內膜會受到不同程度的損傷需要有一個恢復過程,如過早地再次懷孕,這時子宮內膜尚未徹底恢復,...