語言翻譯 在匯編語言程序設(shè)計(jì)中,主程序與子程序之間進(jìn)行參數(shù)傳遞的方法有哪些?
在匯編語言程序設(shè)計(jì)中,主程序與子程序之間進(jìn)行參數(shù)傳遞的方法有哪些?在匯編語言中,有幾種方法可以在主程序和子程序之間傳遞參數(shù):1。寄存器方法寄存器方法是將進(jìn)入?yún)?shù)和退出參數(shù)存儲(chǔ)在約定的寄存器中。優(yōu)點(diǎn):數(shù)
在匯編語言程序設(shè)計(jì)中,主程序與子程序之間進(jìn)行參數(shù)傳遞的方法有哪些?
在匯編語言中,有幾種方法可以在主程序和子程序之間傳遞參數(shù):1。寄存器方法寄存器方法是將進(jìn)入?yún)?shù)和退出參數(shù)存儲(chǔ)在約定的寄存器中。優(yōu)點(diǎn):數(shù)據(jù)傳輸,讀取速度快,編程方便,節(jié)省存儲(chǔ)單元。缺點(diǎn):當(dāng)傳遞的參數(shù)太多時(shí),寄存器數(shù)量有限,并且寄存器使用頻繁,這將導(dǎo)致寄存器不足。應(yīng)用:參數(shù)較少的子程序2。傳統(tǒng)的單元方法:顧名思義,入口和出口參數(shù)被放置在預(yù)定的單元中。優(yōu)點(diǎn):無需寄存器,參數(shù)任意多,待處理數(shù)據(jù)獨(dú)立存儲(chǔ)單元,各子程序可發(fā)送結(jié)構(gòu)。缺點(diǎn):使用一定數(shù)量的存儲(chǔ)單元增加了編程中變量定義的難度。三。Stack方法Stack方法使用Stack傳遞參數(shù)。優(yōu)點(diǎn):參數(shù)不占用寄存器和內(nèi)存單元。參數(shù)存儲(chǔ)在公共堆棧區(qū)域,并在處理后恢復(fù)。一般來說,參數(shù)的數(shù)目是不受限制的。但是,由于參數(shù)和子程序是混合在一起的,因此在訪問參數(shù)時(shí)需要仔細(xì)計(jì)算其在堆棧中的位置。注意斷點(diǎn)的存儲(chǔ)和恢復(fù)。4地址表法這種方法是把一個(gè)由參數(shù)組成的參數(shù)表放在一個(gè)存儲(chǔ)區(qū)內(nèi),然后只要主程序和子程序在第一個(gè)地址和存儲(chǔ)區(qū)的內(nèi)容上達(dá)成一致,主程序就會(huì)把這些參數(shù)傳遞給地址表,子程序就可以按此順序完成操作地址表中給定的參數(shù)。
C語言中參數(shù)傳遞有什么特點(diǎn)?我們應(yīng)當(dāng)注意些什么?
C語言參數(shù)傳遞的分類及特點(diǎn):1。值傳輸:調(diào)用函數(shù)時(shí),數(shù)據(jù)傳輸是單向的。也就是說,只能將參數(shù)的值傳遞給形參,但不能將形參的值傳遞回參數(shù)。
2. 地址轉(zhuǎn)移:可實(shí)現(xiàn)地址交換。
3. 引用傳遞:和地址傳遞一樣,可以實(shí)現(xiàn)地址交換,但這種傳遞只適用于C語言。---------河南新華社