m98調(diào)用子程序?qū)嵗f明 子程序調(diào)用時,有哪幾種常用的參數(shù)傳遞方法?
子程序調(diào)用時,有哪幾種常用的參數(shù)傳遞方法?子程序參數(shù)的傳遞方式有三種:1)寄存器傳遞方式:適用于參數(shù)較少的場合。2)變量傳輸方法:適用于同一源文件(程序模塊)。3)堆棧傳遞方法:僅適用于傳遞輸入?yún)?shù)。
子程序調(diào)用時,有哪幾種常用的參數(shù)傳遞方法?
子程序參數(shù)的傳遞方式有三種:1)寄存器傳遞方式:適用于參數(shù)較少的場合。
2)變量傳輸方法:適用于同一源文件(程序模塊)。
3)堆棧傳遞方法:僅適用于傳遞輸入?yún)?shù)。
子程序調(diào)用時,有哪幾種常用的參數(shù)傳遞方法?
通常有三種方式:值傳遞、指針傳遞和引用傳遞。傳遞值是指在調(diào)用函數(shù)時將實際參數(shù)復制并傳遞給函數(shù),這樣如果在函數(shù)中修改參數(shù),實際參數(shù)就不會受到影響。引用傳遞是指在C語言中,函數(shù)參數(shù)是通過引用傳遞的。所謂引用傳遞,是指調(diào)用函數(shù)時將實際參數(shù)的地址傳遞給函數(shù),那么函數(shù)中參數(shù)的修改就會影響實際參數(shù)。
在匯編語言程序設計中,主程序與子程序之間進行參數(shù)傳遞的方法有哪些?
在匯編語言中,有幾種方法可以在主程序和子程序之間傳遞參數(shù):1。寄存器方法寄存器方法是將進入?yún)?shù)和退出參數(shù)存儲在約定的寄存器中。優(yōu)點:數(shù)據(jù)傳輸,讀取速度快,編程方便,節(jié)省存儲單元。缺點:當傳遞的參數(shù)太多時,寄存器數(shù)量有限,并且寄存器使用頻繁,這將導致寄存器不足。應用:參數(shù)較少的子程序2。傳統(tǒng)的單元方法:顧名思義,入口和出口參數(shù)被放置在預定的單元中。優(yōu)點:無需寄存器,參數(shù)任意多,待處理數(shù)據(jù)獨立存儲單元,各子程序可發(fā)送結構。缺點:使用一定數(shù)量的存儲單元增加了編程中變量定義的難度。三。Stack方法Stack方法使用Stack傳遞參數(shù)。優(yōu)點:參數(shù)不占用寄存器和內(nèi)存單元。參數(shù)存儲在公共堆棧區(qū)域,并在處理后恢復。一般來說,參數(shù)的數(shù)目是不受限制的。但是,由于參數(shù)和子程序是混合在一起的,因此在訪問參數(shù)時需要仔細計算其在堆棧中的位置。注意斷點的存儲和恢復。4地址表法這種方法是把一個由參數(shù)組成的參數(shù)表放在一個存儲區(qū)內(nèi),然后只要主程序和子程序在第一個地址和存儲區(qū)的內(nèi)容上達成一致,主程序就會把這些參數(shù)傳遞給地址表,子程序就可以按此順序完成操作地址表中給定的參數(shù)。
西門子PLC如何在主程序,寫入調(diào)用子程序的命令?
既然你說的主程序和子程序,通常是指西門子200 PLC,我就用micro/win軟件操作來解釋。
創(chuàng)建子例程時,子例程會出現(xiàn)在“調(diào)用子例程”樹目錄中,如我紅框出的sbr0是系統(tǒng)默認值,打開軟件會自動存在一個子例程!SBR1是我昨天使用向?qū)гO置的一個PID指令子例程。
還應強調(diào)的是,在西門子200 PLC中,許多指令不能直接連接到左側的總線。必須有聯(lián)系指示。我在這里使用的sm0.0是一個聯(lián)系指令,它總是在我啟動時就連接起來。如果,這里不使用聯(lián)系指令,那么編譯時將報告一個錯誤
!許多命令需要一個contact命令才能連接到左側總線,但有幾個命令是不需要的,這在我的一些文章中可能會提到。編譯時會有提示,所以不要太在意
!僅此而已。我希望它能幫助你。謝謝您
易語言:調(diào)用子程序“子程序1”時所傳遞的參數(shù)太少?
因為您的子例程有參數(shù)?參數(shù)是需要向外部提交的內(nèi)容。您已經(jīng)設置了四個參數(shù)。簡單的看你的程序不應該提交參數(shù),你默認的程序是超級搜索,所以如果你改變文本,找數(shù)據(jù)1,找數(shù)據(jù)2,找數(shù)據(jù)這四個參數(shù)變成變量應該可以,Ctrl l可以創(chuàng)建變量