freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]第11講程序設(shè)計(jì)方法二(已修改)

2024-10-31 00:16 本頁面
 

【正文】 1 項(xiàng)目 :排序 ? 項(xiàng)目要求與目的 ? ( 1)項(xiàng)目要求:編寫程序?qū)崿F(xiàn):在數(shù)據(jù)段中,有一個(gè)無序排列的無符號數(shù)組,這無符號數(shù)組存放的就是某次考試的學(xué)生成績,其首地址存放在 SI寄存器中,數(shù)組中的第一個(gè)單元存放著數(shù)組長度,即考試考生人數(shù)。要求對這個(gè)無符號數(shù)組按降序排序,當(dāng)然數(shù)組的第一個(gè)單元存放的仍然為數(shù)組長度。 ? ( 2)項(xiàng)目目的:學(xué)習(xí)匯編的子程序結(jié)構(gòu)和模塊化程序設(shè)計(jì)方法。 2 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) 1. 子程序使用: 子程序 : 將多次使用的程序段寫成一個(gè) 相對獨(dú)立的程序段 , 稱為 子程序 或 過程 。 子程序結(jié)構(gòu)的定義: 使用過程定義語句 PROC… ENDP。 屬性: 調(diào)用程序和過程在同一代碼段中 , 則用 NEAR屬性 ; 調(diào)用程序和過程不在同一代碼段中 , 使用 FAR屬性 。 主過程 定義為 FAR屬性 , 看作 DOS調(diào)用的一個(gè)子過程 。 子程序說明: ⑴ 功能描述: 名稱 , 功能及性能 ⑵ 寄存器 , 存儲單元 ⑶ 入口參數(shù) , 出口參數(shù) ⑷ 調(diào)用其它子程序的名稱 四、子程序結(jié)構(gòu) 3 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) 例 12 有一個(gè)子程序說明如下: ;名稱: BCD2BIN ;功能:將一個(gè)字節(jié)的 BCD碼轉(zhuǎn)換成二進(jìn)制數(shù) ;所用寄存器: CX ;入口參數(shù): AL存放兩位 BCD碼 ;出口參數(shù): AL存放二進(jìn)制數(shù) ;調(diào)其它子程序:無 子程序形式如下; 4 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) BCD2BIN PROC NEAR(或 FAR) PUSH CX MOV CH, AL AND CH, 0FH ;存低 4位 MOV CL, 4 SHR AL, CL ;高 4位右移 4位后乘 10 MOV CL, 10 MUL CL ADD AL, CH ;高 4位加低 4位 POP CX RET BCD2BIN ENDP 5 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) 注意: ⑴ 保護(hù)調(diào)用程序的斷點(diǎn): 由 CALL指令本身完成 。 要注意堆棧的使用 , 防止彈出地址值錯誤 。 ⑵ 保護(hù)某些寄存器內(nèi)容: 在子程序開頭 , 用一組 PUSH指令 , 保護(hù)的寄存器原來的內(nèi)容; 在子程序結(jié)尾 , 用一組 POP指令 , 將寄存器原來的內(nèi)容恢復(fù) 。 注意: PUSH和 POF指令組的使用次序 。 ⑶ 主程序與子程序相互之間參數(shù)的傳遞: 參數(shù)傳遞的方法有 3種: ① 用寄存器傳遞參數(shù) :參數(shù)較少 , 速度較快 。 ② 用存儲器傳遞參數(shù) :參數(shù)較多 , 需事先在存儲器中建立一個(gè)參數(shù)表 。 ③ 用堆棧傳遞參數(shù) :參數(shù)較多 , 多用在子程序嵌套與遞歸調(diào)用中 。 6 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) 例 13 數(shù)據(jù)段定義兩個(gè)數(shù)組 , 編程序?qū)崿F(xiàn)數(shù)組段分別求和 (不計(jì)溢出 )。 解:本例 通過存儲器來傳遞參數(shù) 。 相應(yīng)程序如下: DATA SEGMENT ARY1 DW 100 DUP(?) ;定義數(shù)組 1 SUM1 DW ? ARY2 DW 100 DUP(?) ;定義數(shù)組 2 SUM2 DW ? DATA ENDS STACK SEGMENT STACK SA DW 50 DUP(?) TOP EQU LENGTH SA STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK 7 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) MAIN PROC FAR START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV SP, TOP LEA SI, ARY1 ;數(shù)組 1首地址 , 入口參數(shù) MOV CX, LENGTH ARY1 ;數(shù)組 1長度 , 入口參數(shù) CALL SUM ;調(diào)用求和子程序 LEA SI, ARY2 ;數(shù)組 2首地址 , 入口參數(shù) MOV CX, LENGTH ARY2 ;數(shù)組 2長度 , 入口參數(shù) CALL SUM ;調(diào)用求和子程序 RET MAIN ENDP 8 167。 44 程序設(shè)計(jì)方法 —— 子程序結(jié)構(gòu) SUM PROC NEAR ;子程序 XOR AX, AX ; AX清 0 L1: ADD AX, WORD PTR[SI] ;加數(shù)組元素 INC SI INC SI LOOP L1 MOV WORD PTR[SI], AX ;數(shù)組和送入 SUM MOV AH, 4CH INT 21H RET SUM ENDP ;子程序返回 CODE EDNS END START 9
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1