當前位置:首頁 » 編程軟體 » 編程序的一般順序

編程序的一般順序

發布時間: 2023-03-17 17:40:33

A. 編寫C++程序一般需經過的幾個步驟依次是

0.新建一個讓悉工程(有些環境可能不需要)
1.編寫源坦燃乎代碼
2.編寫源代碼段橋
3.編譯
4.運行

B. 簡述用LabVIEW8.2編寫程序的一般步驟

畢業設計任務書..........................................1
第一章 前言...........................................2
第二章 PLC的概述
2.1 PLC的產生.................................. ......2
2.2 PLC的特點.........................................2
2.3 PLC的系統構成.....................................4
2.4 PLC的等效電路和工作原理...........................5
2.5 PLC的分類.........................................7
2.6 PLC的發展趁勢.....................................8
第三章 PLC的常用語言
3.1 PLC常用的編程語言................................10
3.2 PLC的軟繼電器....................................10
第四章 PLC的基本指令..................................17
第五章梯形圖的特點和編程規則
5.1 梯形圖的特點.....................................21
5.2梯形圖的編程規范..................................21
第六章彩燈的PLC控制
8.1 花樣示意圖...................................... .23
8.2 I/O分配..........................................26
8.3梯形圖............................................27
8.4程序指令..........................................30
8.5 工作原理.........................................35
第七章畢業設計總結......................................37
參考文獻................................................39

第一 章 前言
可編程式控制制器是在繼電器控制和計算機控制的基礎上發展而來的新型工業自動控制裝置。早期的可編程式控制制器在功能上只能實現邏輯控制,因而被稱為可編程邏輯控制器(Programmable Logic Controller),簡稱PLC。隨著微電子技術和微型計算機的發展,微處理器用於PLC,使其不僅可以實現邏輯控制,還可以進行數字運算和處理、模擬量調節和聯網通信等,因此美國電氣製造協會於1980年將它正式命名為可編程式控制制器(Programmable Controller),簡稱PC。但近年來PC又成為個人計算機(Personal Computer)的簡稱,為避免發生混淆,我們仍把可編程式控制制器簡稱為PLC。
本章主要介紹PLC的結構組成、工作原理和編程語言等內容。
第二章 PLC概述
1、PLC的產生
傳統的繼電器控制具有結構簡單、易於掌握、價格便宜等優點,在工業生產中應用甚廣。但是,這些控制裝置體積大、動作速度較慢、耗電較多、功能少,特別是接線復雜、排除故障非常困難而且要花費大量的時間。如果工藝要求發生變化,控制櫃內的元件和接線也需要作相應的變動,改造的工期長、費用高,通用性和靈活性較差。
1968年,美國最大的汽車製造商通用汽車公司(GM),為了適應汽車型號的不斷翻新,想尋找一種方法,以盡可能減少重新設計繼電器控制系統和接線、降低成本、縮短時間,而考慮把計算機的功能完善、通用靈活等優點與繼電器控制的簡單易懂、操作方便、價格便宜等優點結合起來,製成一種通用控制裝置,提出了研製PLC的基本設想:1.編程簡單方便,可在現場修改程序;2.硬體維護方便,最好是插件式結構;3.可靠性要高於繼電器控制裝置;4.體積小於繼電器控制裝置;5.可將數據直接送入管理計算機;6.成本上可與繼電器競爭;7.輸入可以是交流115V;8.輸入為交流115V,2A以上,能直接驅動電磁閥;9.擴展時,原有系統只需做很小的改動;10.用戶程序存儲器容量器容量至少可以擴展到4K。
根據以上設想和要求,1969年美國數字設備公司(DEC)研製出世界上第一台可編程式控制制器,並在通用汽車公司的汽車生產線上試用成功,從而開創了工業控制的新局面。從此,這一更新技術就以很快的速度發展起來,現代的PLC已成為現代工業控制的三大支柱(PLC,機器人和CAD/CAM)之一。
2、PLC的特點
○1.編程方法簡單易學
考慮到企業中一般電氣技術人員和技術工人的傳統讀圖習慣和應用微機的實際水平,PLC配備有他們最容易接受和掌握的梯形圖語言。梯形圖語言的電路符號和表達方式與繼電器電路原理圖非常接近。而且某些僅有開關量邏輯控制功能的PLC只有十幾條指令。通過閱讀PLC的使用手冊或短期培訓,電氣技術人員或技術工人只要幾天的時間就可以熟悉梯形圖語言,並用來編制用戶程序。
○2.硬體配套齊全,用戶使用方便
PLC配備有品種齊全的各種硬體裝置供用戶選用,用戶不必自己設計和製作硬體裝置。用戶在硬體方面的設計工作只是確定PLC的硬體配置和外部接線。PLC的安裝接線也很方便。
○3.通用性強,適應性強
PLC的生產具有系列化和模塊化特點,硬體配置相當靈活,可以很方便地組成能滿足各種控制要求的控制系統。組成系統後,如果工藝變化,可以通過修改用戶程序,方便快速地適應變化。
○4.可靠性高,抗干擾能力強
絕大多數用戶都將可靠性作為選擇控制裝置的首要條件。PLC採取了一系列硬體和軟體抗干擾措施,可以直接用於有強烈干擾的工業生產現場。PLC的平均無故障間隔時間高,如日本三菱公司的F1、F2系列PLC的平均無故障間隔時間長達30萬小時,這是一般微機所不能比擬的。
○5.系統的設計、安裝、調試工作量少
PLC用軟體功能取代了繼電器控制系統中大量的中間繼電器、時間繼電器、計數器等器件,控制櫃的設計、安裝、接線工作量大大減少。PLC的梯形圖程序很容易掌握,設計和調試梯形圖所花的時間比設計繼電器系統電路圖花的時間要少得多。
○6.維修工作量小,維修方便
PLC的故障率很低,並且有完善的診斷和顯示功能。PLC或外部的輸入裝置和執行機構發生故障時,可以根據PLC上的指示燈或編程器提供的信息迅速地查明故障的原因。用更換模塊的方法可以迅速地排除PLC的故障。
○7.體積小,能耗低
以F1意40M型PLC為例,其外形尺寸為305×ll0×110mm,功耗小於25VA。由於體積小,PLC很容易裝入機械設備內部,是實現機電一體化的理想的控制設備。
3、PLC的系統構成
PLC實際上是一種工業控制計算機。它的硬體結構與一般微機相似,主要由主機、I/O擴展機、外圍設備三部分組成,如圖1所示。
○1.主機
主機由CPU(微處理器)、存儲器、輸入/輸出單元、電源等部分組成。
CPU是PLC的核心,其作用類似於人的大腦。它能夠識別用戶按特定格式輸入的指令,並按照指令完成預定的控制任務。另外,它還能識別用戶所輸入的指令序列的格式和語法錯誤,還具有系統測試與診斷功能。
PLC的存儲器有兩種:系統程序存儲器和用戶程序存儲器。系統程序存儲器主要用於存放系統正常工作所必須的程序,如系統診斷程序、鍵盤輸入處理程序、指令解釋程序、監控程序等。這些程序與用戶無直接關系,已由廠家直接固化進EPROM中,不能由用戶直接存取、修改。用戶程序存儲器主要存放用戶程序(用戶利用PLC的編程語言按不同控制要求所編制的控製程序或數據,這相當於設計繼電器控制系統硬接線的控制電路圖),可通過編程器進行修改。
輸入輸出(I/O)單元是PLC與輸入控制信號和被控制設備連接起來的部件,輸入單元接收從開關、按鈕、繼電器觸點和感測器等輸入的現場控制信號,並將這些信號轉換成CPU能接收和處理的數字信號。輸出單元接收經過CPU處理過的輸出數字信號,並把它轉換成被控制設備或顯示裝置所能接收的電壓或電流信號,以驅動接觸器、電磁閥和指示器件等。
電源部件是把交流電轉換成直流電的裝置,它向PLC提供所需要的直流電源。電源組件具有很高的抗干擾能力,適合工業現場使用,供電穩定、安全可靠。電源組件內還裝有備用鋰電池,以保證在斷電時保存必要的信息。
PLC還有各種介面,PLC通過這些介面可與監視器、列印機、其它的PLC或計算機等相連。
○2.I/O擴展機
每種PLC都有與主機相配的擴展模塊,用來擴展輸入、輸出點數,以便根據控制要求靈活組合系統。PLC擴展模塊內不設CPU,僅對I/O通道進行擴展,不能脫離主機獨立實現系統的控制要求。
○3.外部設備
外部設備包括編程器、盒式磁帶機、列印機、EPROM寫入器、圖形監控系統等。其中編程器是PLC必不可少的重要外圍設備,由鍵盤、顯示器、工作方式選擇開關和外存儲器接插口等部件組成,主要用於對用戶程序進行輸入、檢查、調試和修改,並用來監視PLC的工作狀態。
編程器有簡易型和智能型兩類。簡易型編程器只能聯機編程,且需將梯形圖轉化為助記符後才能送入。智能型編程器又稱圖形編程器,它既可聯機編程,又可離線編程,具有圖形顯示功能,可直接輸入梯形圖和通過屏幕對話,但價格較貴。現在也可在個人計算機上填加適當的硬體介面,利用生產廠家提供的編程軟體包就可將計算機作為編程器使用,而且還可以在計算機上實現模擬調試。
PLC與列印機相連可將過程信息,系統參數等輸出列印。當與監視器相連時可將控制過程圖象顯示出來。當PLC與PLC相連時,可組成多機系統或連成網路,實現更大規模控制。當PLC與計算機相連時,可組成多級控制系統,實現控制與管理相結合的綜合系統。
5、PLC的等效電路和工作原理
1.PLC的等效電路
PLC的工作酷似一個繼電器系統,其等效電路可分為三部分:輸入部分、內部控制電路和輸出部分,如圖2所示,圖中「 」為PLC內部用程序實現的軟繼電器的線圈,「 」為常開觸點,「 」為常閉觸點。
①輸入部分——這部分的作用是收集被控設備的信息或操作命令。輸入端子外接行程開關、按鈕等的觸頭,內連輸入繼電器線圈。輸入繼電器由外部信號通過輸入端子驅動,可提供無限多對常開、常閉的軟觸點供內部使用。
②內部控制電路——由用戶根據控制要求編制的程序所組成,其作用是按用戶程序的控制要求對輸入信號進行運算處理,判斷哪些信號需要輸出,並將得到的結果輸出給負載。
PLC內部有許多類型的器件,如定時器(T)、計數器(C)、輔助繼電器(M)等,它們都有許多對用軟體實現的常開、常閉觸點。編寫的梯形圖是將這些軟器件進行內部接線,完成被控設備的控制要求。
③輸出部分——這部分的作用是驅動外部負載,所以輸出端子是PLC向外部負載輸出信號的端子,其內連輸出繼電器(Y)的一對常開觸點。輸出繼電器除提供一對常開觸點驅動負載以外,還可以提供無數對常開、常閉觸點供內部使用。
2.PLC的周期工作方式
PLC是通過一種周期工作方式來完成控制的,每個周期包括輸入采樣、程序執行和輸出刷新三個階段,如圖3所示。
①輸入采樣階段——PLC以掃描方式按順序將所有輸入端的狀態讀入到輸入映像寄存器中存儲,這一過程稱為采樣。在本工作周期內采樣結果不會改變,而且將在PLC執行程序時被使用。
②程序執行階段——PLC按順序對程序進行掃描,即從上到下、從左到右地掃描每條指令,並分別從輸入映像寄存器和元件映像寄存器中獲得所需的數據進行運算、處理,再將程序執行的結果寫入元件映像寄存器中保存。但這個結果在全部程序未執行完畢之前不會送到輸出埠上。
③輸出刷新階段——在所有用戶程序執行完畢後,PLC將元件映像寄存器中的內容送入輸出鎖存器中,通過一定的方式輸出,驅動外部負載。
PLC重復執行輸入采樣、程序執行、輸出刷新三個階段,每重復一次的時間稱為一個掃描周期。PLC的一個掃描周期一般為40~100ms之間。

5、分類
○1.按I/O點數分類
按I/O總點數可分為小型、中型和大型三類。小型PLC的I/O點數為256點以下,其中小於64點為超小型或微型PLC。中型PLC的I/O點數為256點到2048點以下。大型PLC的I/O點數為2048點以上,其中I/O點數超過8192點為超大型PLC。
○2.按結構形式分類
按結構形式可分為整體式和模塊式。整體式PLC是將電源、CPU、I/O部件都集中裝在一個機箱內,具有結構緊湊、體積小、價格低的特點,一般小型PLC採用這種結構。模塊式PLC是將PLC各部分分成若干個單獨的模塊,如CPU模塊、I/O模塊、電源模塊(有的包含在CPU模塊中)以及各種功能模塊。模塊插在框架的插座上,有的PLC沒有框架,各種模塊安裝在底板上。這種結構的特點是配置靈活,可根據需要選配不同模塊組成一個系統,而且裝配方便,便於擴展和維修。一般大、中型PLC採用模塊式結構。
○3.按功能分類
按功能不同,PLC可分低檔、中檔、高檔機三類。低檔機具有邏輯運算、計時、計數、移位以及自診斷、監控等基本功能。還可能增設少量模擬量輸入輸出、算術運算、數據傳送和比較、遠程I/O、通信等功能。中檔機除具有低檔機的功能外,還具有較強的模擬量輸入輸出、算術運算、數據傳送和比較、數制轉換、遠程I/O、子程序、通信聯網等功能。還可以增設中斷控制、PID控制等功能。高檔機除具有中檔機的功能外,還有符號算術運算(32位雙精度加、減、乘、除和比較)、矩陣運算、位邏輯運算(置位、清除、右移、左移)、平方根運算及其它特殊功能函數的運算、表格功能及表格傳送等。高檔機具有更強的通信聯網功能,可用於大規模過程式控制制,構成全PLC的分布式控制系統,或整個工廠的自動化網路。
6、發展趨勢
○1.向更高處理速度、更大存儲容量方向發展
為了提高PLC的處理能力,要求PLC具有更好的響應速度和更大的存儲容量。在PLC中,用戶程序的存儲容量有的是用編程的步數來表示,每編一條語句為一步;有的是以字為單位來計算,16位二進制數為一個位元組,每1024個位元組為1KB;有的是以編程的地址來表示,每編一條語句為一地址。目前大型PLC的存儲容量是幾百KB,最高可達幾MB。為了擴大存儲容量,有的公司已使用了磁泡存儲器或硬碟。目前大中型PLC的掃描速度可達0.2ms/KB左右。如歐姆龍公司的C1000H為0.4ms/KB,三菱公司的A3N為0.2ms/KB。
○2.產品規模向大、小兩個方向發展
PLC主要有超大型和超小型兩個發展趨勢。超小型PLC向體積更小、速度更快、功能更強、價格更低方向發展,以真正完全取代最小的繼電器系統。超大型PLC向大容量、高速度、多功能方向發展,能與計算機組成分布式控制系統,實現對工廠生產全過程的集中管理。
○3.PLC編程語言更加豐富,功能不斷提高,編程語言趨向標准化
在PLC系統結構不斷發展的同時,PLC的編程語言也越來越豐富,功能也不斷提高,除了大多數PLC使用的梯形圖語言外,還有些PLC採用BASIC、C語言等高級語言編程。美國生產的PLC在基本控制方面編程語言已標准化,均採用梯形圖編程,日本、英國也進入了標准化階段,法國還採用專用編程語言GRAFCET,德國採用DIN40719標准編程語言。
○4.不斷開發智能模塊,加強聯網和通信能力
為了滿足各種自動化控制系統的要求,近年來不斷開發出許多功能模塊,如高速計數模塊、溫度控制模塊、遠程I/O模塊、通信和人機介面模塊等,擴大了PLC應用范圍。目前加強PLC聯網與通信的能力,是PLC技術進步的潮流。PLC的聯網和通信可分為兩類:一類是PLC之間聯網通信,各PLC製造廠家都有自己的專有聯網手段;另一類是PLC與計算機之間的聯網通信,一般PLC都有通信模塊用於與計算機通信。

畢業設計總結
通過此次畢業設計,我不僅把知識融會貫通,而且豐富了大腦,同時在查找資料的過程中也了解了許多課外知識,開拓了視野,認識了將來電子的發展方向,使自己在專業知識方面和動手能力方面有了質的飛躍。
畢業設計是我作為一名學生即將完成學業的最後一次作業,他既是對學校所學知識的全面總結和綜合應用,又為今後走向社會的實際操作應用鑄就了一個良好開端,畢業設計是我對所學知識理論的檢驗與總結,能夠培養和提高設計者獨立分析和解決問題的能力;是我在校期間向學校所交的最後一份綜和性作業,從老師的角度來說,指導做畢業設計是老師對學生所做的最後一次執手訓練。其次,畢業設計的指導是老師檢驗其教學效果,改進教學方法,提高教學質量的絕好機會。
畢業的時間一天一天的臨近,畢業設計也接近了尾聲。在不斷的努力下我的畢業設計終於完成了。在沒有做畢業設計以前覺得畢業設計只是對這幾年來所學知識的大概總結,但是真的面對畢業設計時發現自己的想法基本是錯誤的。畢業設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業設計使我明白了自己原來知識太理論化了,面對單獨的課題的是感覺很茫然。自己要學習的東西還太多,以前老是覺得自己什麼東西都會,什麼東西都懂,有點眼高手低。通過這次畢業設計,我才明白學習是一個長期積累的過程,在以後的工作、生活中都應該不斷的學習,努力提高自己知識和綜合素質。
總之,不管學會的還是學不會的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最後終於做完了有種如釋重負的感覺。此外,還得出一個結論:知識必須通過應用才能實現其價值!有些東西以為學會了,但真正到用的時候才發現是兩回事,所以我認為只有到真正會用的時候才是真的學會了。
在此要感謝我們的指導老師張老師對我悉心的指導,感謝老師們給我的幫助。在設計過程中,我通過查閱大量有關資料,與同學交流經驗和自學,並向老師請教等方式,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。在整個設計中我懂得了許多東西,也培養了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今後的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到的東西是這次畢業設計的最大收獲和財富,使我終身受益。

參考文獻:

冉文編寫.《電機與電氣控制》,西安電子科技大學出版社,2006

黃凈主編.《電器及PLC控制技術》,機械工業出版社,2002

廖常初主編.《FX系列PLC編程及應用》,機械工業出版社,2006.

C. 程序設計一般包括五個步驟,其中首先應該完成的是

第一步: 分析問題。

第二步: 畫出程序的基本輪廓。

第三步: 實現該程序。

源程序的輸入、編譯和運行:
C語言是一種中級語言, 用戶用C語言編寫的程序稱為源程序, 存放用C 語言
所寫頌蠢源程序文件名字最後的兩個字元一般必須為野瞎陪".c"。計算機硬體不能直接執行
源程序, 必須將源程序翻譯成二進制目標程序。

翻譯工作是由一個程序完成的,這個程序稱為編譯程神圓序, 翻譯的過程稱為編譯, 編譯的結果稱為目標程序, 存放目標程序文件名字緊後的字元一般為".OBJ"或".O"。程序翻譯成目標程序後, 便可進行連接。"連接"的目的是使程序變成在計算機上可以執行的最終形式。

D. 編譯程序的工作過程一般可以劃分為哪5個基本階段,還自始至終伴隨進行哪兩項工作

1、編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;中間代碼生成;代碼優化;目標代碼生成。

2、編譯程序的工作過程一般自始至終伴隨進行信息表管理和出錯處理兩項工作。

主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

(4)編程序的一般順序擴展閱讀:

解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。解釋程序的工作過程如下:

1、由總控程序完成初始化工作。

2、依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。

3、檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。

E. c++程序編寫和執行順序的問題

如果你在某個函數被調用之前定義它,那就不需要再聲明了,因為棚遲卜系統讀取程序的順序是自上而下的,所以系統已經知道你要調用的函數。但是編譯程序卻是從main函數開始的,一個程序的開始就是main函數的開始,一個程序的結束就是main函數的結束。至於在main函旦拿數中對於各種其他函數的調用則可以看作是一個相對獨鏈穗立的過程。如:#include <iostream>
using namespace std;
void printstar(void)
{
cout<<'$'<<'$'<<'$'<<endl;
}
int main()
{
printstar();
cout<<"C++ 123"<<endl;
printstar();
return 0;
} 這就是個很簡單的函數定義與調用,程序里main函數調用了printstar函數,我們在調用前就定義了printstar函數,所以不必再聲明;而整個程序里從int main開始執行,首先引用一次printstar函數,然後輸出C++ 123,然後再引用一次。得到的結果是:$$$ C++ 123$$$

F. 編寫程序的順序

先做框架,把介面或一些基類定義好。還有一些用到的結構體啊,什麼之類的
具體是先寫交互的還是其他的
看你自己構思的過程吧。也許還有個人習慣。

G. 電腦運行程序的順序是什麼

在一台最常見的計算機上,程序從某種外部設備,通常是硬碟,被載入到計算機之內。 如果是我們現在使用的普通電腦結構,那麼程序就被載入入內存。 指令串列順序執行,直到一條跳轉或轉移指令被執行,或者一個中斷出好衡行現。所有這些指令都會改變指令寄存器的內容。基於這種體系的計算機,如果沒有程序的支持,將無法工作。一個計算機程序是一系列指令的集合。程序里的指令都是基於機器語言;程序通常首先用一種計算機程序設攔轎計語言編寫,然後用編譯程序或者解釋執行程序翻譯成機器語言。 有時,也可以用匯編語言編程,匯編語言實質就是表示機器語言的友嘩一組記號-在這種情況下,用於翻譯的程序叫做匯編程序。
也就是說,當你雙擊某個程序時:
1、首先由CPU發出指令,從硬碟讀取數據,然後調入內存中執行。
2、程序控制指令:也稱轉移指令。
執行程序時,有時機器執行到某條指令時,出現了幾種不同結果,這時機器必須執行一條轉移指令,根據不同結果進行轉移,從而改變程序原來執行的順序。
這種轉移指令稱為條件轉移指令。除各種條件轉移指令外,還有無條件轉移指令、轉子程序指令、返回主程序指令、中斷返回指令等。 轉移指令的轉移地址一般採用直接定址和相對定址方式來確定。

H. 簡述java應用程序的開發流程

Java應用程序的運行經過編寫、編譯、運行三個步驟。
第1步,編寫程序。使用記事本或其他軟體編寫程序的源代碼,將源代碼保存為文件filename.java文件。
第2步,編譯程序。在MS-DOS命令窗口,將當前目錄轉換到Java源程序所在的保存目錄;輸入「javac filename.java」形式的命令進行程序編譯。
第3步,執行程序。在同樣的命令窗口中輸入「java filename」形式的命令執行程序。
完成了程序的開發,查看相應t目錄,其中應該具有兩個文件,分別是XXXX.java和XXXX.class。

如果是開發網頁應用,開發流程大概是這樣的:

  1. 搭建開發平台,一般使用的是j2ee

  2. 編寫DAO層,建立資料庫

  3. 編寫業務層action

  4. 編寫顯示文件jsp、html

I. C語言程序的運行順序

1、這個涉及到函數的調用約定
運行結果跟編譯器有頌扮一定的關系,不同的編譯器參數的入棧的順序不同
一般的編譯器是從右到左
如fun(a,b)這個函數調用,是先計算參數b,入棧,再計算參數a,入棧
2、printf("%d
%d",
a++,++a);
//先計算++a,先自增,a的值變為2,將2入棧
再來計算a++,將a的值2入棧,再使a自增,a的值變為3
printf("
%d\n",a);
//a的值已經變為3了
3、printf(%d
%d",
++a.a++);//先計算a++,將a的值1入棧,再使a自增,a的值變為2,再來計算++a,先自增,a的值為3,將3入棧,輸出3
1
printf("
%d\n",a);
//輸出3
4、三種調用約定:
__stdcall調用約定。兩者實質上是一致的,即函數的參數自右向左通過棧傳遞,被調用的函數在返回前清理傳送參數的內存棧,但不同的是函數名的修飾部分(關於函數名的修飾部分在後面將詳細說明)。
C調用約定(即用__cdecl關鍵字說明)和__stdcall調用約定有所不同,雖然參數傳送方面是一樣的,但對於傳送參數的內存棧卻是由調用者來維護的(也正因為如此,實現可變參數的函數只能使用該調用約定),另外,在函數名修飾約定方面也有所不同。
__fastcall調用約定是「人」如其名,它的主要特點就是快,因為它是通過寄存器來傳送參數的(實際上,它用CX和EDX傳送前兩個雙字或更小的參數,剩下的參數仍舊自右向左壓野大灶棧傳送,被調用的函數在返回前清理傳送參數的內存棧),在函數名修飾約定方面,仿敗它和前兩者均不同。

J. 匯編語言程序設計的一般步驟是什麼

匯編語言程序設計的基本步驟 了解了匯編語言指令的功能和用法,了解了匯編語言程序的編寫格式,就可以編制完整的匯編語言程序了。一個程序通常具有順序、分支、循環和子程序4種結構形式。順序程序結構就是指完全按順序逐條執行的指令序列。在程序設計過程中,順序結構大量存在,屢見不鮮。但一個完整的程序只是逐條去執行指令,這非常少見。常見的程序結構,是上述4種結構的混合體。一般來說,編制一個匯編語言程序的步驟如下:(1) 分析題意,確定演算法或演算法思想。演算法是指解決問題的方法和步驟。比如現有的一些計算方法和日常生活中解決問題的邏輯思維推理方法等。(2) 根據演算法畫出流程圖,簡單的情況也可不畫。畫出描述演算法的流程圖,可以首先從圖上檢驗演算法的正確性,減少出錯的可能,使得動手編寫程序時的思路更加清晰。(3) 分配存儲空間和工作單元,合理地使用寄存器。分配存儲空間和工作單元,是指存儲空間的分段和數據定義。另外,由於寄存器的數量有限,編寫程序時經常會感到寄存器不夠用。因此,對於位元組數據,要盡量使用8位寄存器。而採用適當的定址方式,也會達到節省寄存器的目的。(4) 根據流程圖編寫程序。這是編制匯編語言程序最為重要的一步。演算法里規定的功能,是要通過一條條指令描述出來的。為了提高編程能力,對於初學者,一是要多閱讀現有的程序,以學習別人的編程經驗;而更為重要的是,必須多親自動手編寫,不要怕失敗,只有通過無數次失敗,才能從中積累自己的編程經驗。(5) 上機調試運行程序。通過匯編的源程序,只能說明它裡面不存在語法錯誤。但是它是否能達到演算法所要求的預期效果,還必須經過上機調試,用一些實驗數據來測試,才能夠真正地得出結論。可以這么說,即使是一個非常有經驗的程序員,也沒有百分之百的把握說他編寫的程序一次就成功。 用流程圖表示演算法 流程圖用一些圖形框來代表各種操作。用圖形表示演算法,直觀形象,可以用來幫助人們對演算法的理解。下圖給出了一些常用的流程圖符號。

上圖中的判斷框(菱形)用來對一個給定的條件作出判斷,以決定如何執行其後的操作。它有一個入口,兩個出口,如下圖(a)所示。

連接點(圓圈)是用來將畫在不同地方的流程線連接起來。例如在下圖(b)里,有兩個圈裡寫著數字1的圓圈,它表示是從左邊的1出來,進到右邊圖的1里(這由流程線的方向給出)。可以看出,這兩個點其實就是同一個點,只是由於畫不下而分開來畫的。用連接點,可以避免流程圖中的流程線相互交叉或過長,從而使流程圖清晰。

注釋框不是流程圖中必需的部分。在流程圖中使用它,是為了對流程圖中的某些框的操作做一些必要的說明,以便使人們能夠更好地通過流程圖來理解演算法。

處理框反映做些什麼樣的操作,如把某個單元的內容送入某個寄存器,從某個存儲單元取出數據等。它是流程圖里最為本質的、出現最多的圖形框。

輸入/輸出框反映程序的輸入和輸出情況。計算機程序無外乎接收數據,進行處理,然後加以輸出,所以輸入/輸出框是必不可少的。

熱點內容
string的長度java 發布:2024-04-20 22:46:20 瀏覽:136
網易我的世界監獄風雲的伺服器 發布:2024-04-20 22:35:41 瀏覽:186
linux服務自動重啟 發布:2024-04-20 22:34:54 瀏覽:962
編譯器最後的結果 發布:2024-04-20 22:30:38 瀏覽:821
安裝linuxoracle11g 發布:2024-04-20 22:29:02 瀏覽:533
android設置權重 發布:2024-04-20 22:20:08 瀏覽:725
什麼手機安卓系統80 發布:2024-04-20 21:37:29 瀏覽:380
浙江萬里的伺服器地址 發布:2024-04-20 21:16:59 瀏覽:408
ndklinux下載 發布:2024-04-20 21:05:22 瀏覽:567
王者榮耀解壓資源包97 發布:2024-04-20 20:46:10 瀏覽:398