2014計算機三級《PC技術》考試要點:匯集語言程序設計的基本方法
(1)分析問題,建立數學模型;
(2)設計算法,繪制流程圖;
(3)程序編寫;
(4)上機調試。
(二)順序結構程序設計
順序結構程序是最簡單的程序結構,它的執行順序和程序中語句的排列順序完全一致,會自上而下線性地順序地進行,這種結構的匯編程序通常是比較簡單的程序。在用匯編語言程序編寫的程序中,存在著大量的順序結構的程序。
(三)分支程序設計 1.分支程序的結構形式
分支程序的結構大體上有兩種形式:兩*分支結構和開關結構。
2.分支程序的設計方法
在匯編語言中,程序分支的實現是通過轉移指令來完成的,即條件滿足與否的判斷和程序執行順序的確定,都需要依靠轉移指令。分支程序的基本設計方法很多,主要有三種:利用轉移指令直接分支法、跳轉表達法和邏輯尺法。
(四)循環程序設計1.循環程序結構
循環程序一般由循環準備(初始化)、循環處理(循環體)、循環控制與修改、循環結果處理等部分組成。
2.循環程序設計
(1)計數控制循環程序
計數控制的循環設計非常簡單,其特點是循環次數已知,利用某個寄存器或存儲單元作計數器,由計數器的值控制循環結束。計數的方法有兩種:增量計數和減量計數。計數器置初值后,每循環一次,計數器的值按步長值進行加減,直到某一值時,循環結束。
(2)條件控制循環程序
當循環次數未知時,可采用條件控制的方法,編寫條件控制循環程序。在程序設計中,應首先確定循環控制條件,每循環一次,都要對條件進行檢查。若滿足條件,則循環結束,否則繼續循環,直到滿足條件為止。(3)多重循環程序設計
多重循環程序是指循環體中仍然有循環程序,又稱之為循環嵌套。
(五)子程序設計
1.子程序一般以文件形式編寫,并常以過程形式存放在代碼段中。
子程序文件通常由子程序說明和子程序本體組成。子程序說明通常包括子程序功能描述(名稱,性能,執行時間等)、所有寄存器和存儲單元、子程序入口和出口參數及是否又調用其他子程序等。說明部分應簡明、確切、使人一目了然。子程序的結構一般包括保存現場、依入口參數從指定位置取加工信息、加工處理、依出口參數指定位置送出處理結果、恢復現場和返回調用程序等部分。形式為:
子程序名 PROC
┆
RET
子程序名 ENDS
即一般用過程定義語句將子程序定義為獨立的程序段,使之具有NEAR屬性或FAR屬性,使得程序結構清晰,增加可讀性。
2.子程序的調用和返回
主程序調用子程序使用指令CALL。根據CALL獲得目標地址的方法,有四種調用方式:段內直接調用方式、段內間接調用方式、段間直接調用方式和段間間接調用方式。為了能正確返回,不管哪一種調用方式,都需要把斷點(即CALL指令的下一條指令的地址)入棧保護。同時,CALL指令的類型必須與RET指令類型相匹配。
主程序調用程序方式分直接調用和間接調用兩種類型,每種類型又分為段內調用和段間調用兩種方式。
3.主程序和子程序間的信息交換
子程序中允許改變的數據叫參數。參數有入口參數和出口參數。主程序調用子程序之前必須向子程序提供一些參數,而子程序執行完畢后又要將執行結查提供給主程序使用。參數傳遞的方式一般有3種,即用寄存器傳遞參數、用參數表傳遞參數和用堆棧傳遞參數。不論采用哪種方式,調用程序和子程序都必須互相呼應。子程序需要在哪里取參數,主程序就應將參數送到哪里,并且要注意參數的先后順序。
4.遞歸子程序和子程序嵌套
在子程序調用過程中,子程序調用該子程序本身稱為遞歸調用。遞歸分直接遞歸和間接遞歸兩種方式。直接遞歸子程序的結構為:
SBC PROC
┆
CALL SBC
┆
RET
SBC ENDP
間接遞歸于程序的格式:
SBC1 PROC
┆
CALL SBC2
┆
RET
SBC2 PROC
┆
CALL SBC1
┆
RET
設計遞歸子
程序的關鍵是防止出現死循環,注意脫離遞歸的出口條件。