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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第5章匯編語言程序設(shè)計(jì)-資料下載頁

2025-10-07 23:20本頁面
  

【正文】 數(shù) 交 換C X ←C X - 1CX = 0 ?y y ←A L結(jié)束NYNY圖5.8 從一批數(shù)中求最大者的程序流程圖 程序如下: DATASP SEGMENT xx DB 73, 59, 61, 45, 81 DB 107, 37, 25, 14, 64 DB 3, 17, 9, 23, 55, 97 DB 115, 78, 121, 67 DB 215, 137, 99, 241 DB 36, 58, 87, 100, 74, 62 yy DB ? DATASP ENDS CODESP SEGMENT ASSUME CS: CODESP, DS: DATASP MAIN PROC FAR START: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATASP MOV DS, AX MOV AL, xx MOV SI, OFFSET xx MOV CX, 29 LOOP1: INC SI CMP AL, [SI] JAE LOOP2 。 AL≥[SI] XCHG AL, [SI] LOOP2: DEC CX JNZ LOOP1 MOV yy, AL RET MAIN ENDP CODESP ENDS END START 2) 用條件控制循環(huán) 有些情況無法確定循環(huán)次數(shù) , 但可 用某種條件來確定是否結(jié)束循環(huán) 。 這時(shí) , 編制程序主要是尋找控制條件以及對控制條件的檢測 。 例 從自然數(shù) 1開始累加 , 直到累加和大于 1000為止 , 統(tǒng)計(jì)被累加的自然數(shù)的個(gè)數(shù) , 并把統(tǒng)計(jì)的個(gè)數(shù)送入 n單元 , 把累加和送入 sum單元 。 根據(jù)題意,被累加的自然數(shù)的個(gè)數(shù)事先是未知的,也就是說,循環(huán)的次數(shù)是未知的,因此不能用計(jì)數(shù)器方法控制循環(huán)。但題目中給定一個(gè)重要條件,即累加和大于 1000則停止累加,因此,可以根據(jù)這一條件控制循環(huán)。我們用 CX寄存器統(tǒng)計(jì)自然數(shù)的個(gè)數(shù),用 AX寄存器存放累加和,用 BX寄存器存放每次取得的自然數(shù)。程序的流程圖如圖 。 圖 利用條件控制循環(huán)的程序流程圖 開始初 始 化A X ←0 , C X ←0 , B X ←0B X ←B X + 1A X ←A X + BX , C X ←C X + 1( A X ≤ 1 0 0 0 ?n ←C X , s u m ←A X結(jié)束YN程序如下: DATAS SEGMENT n DW ? sum DW ? DATAS ENDS STACK SEGMENT PARA STACK 39。 STACK 39。 DW 200 DUP (?) STACK ENDS CODES SEGMENT MAIN PROC FAR ASSUME CS: CODES, DS: DATAS, SS: STACK START: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATAS MOV DS, AX MOV AX, 0 MOV BX, 0 MOV CX, 0 LOOPT: INC BX ADD AX, BX INC CX CMP AX, 1000 JBE LOOPT ; ( AX)≤1000,則轉(zhuǎn)到 LOOPT MOV n, CX MOV sum, AX RET MAIN ENDP CODES ENDS END START 4. 子程序設(shè)計(jì) ( 1) 子程序概念 如果在一個(gè)程序中的多處需要用到同一段程序,或者說在一個(gè)程序中需要多次執(zhí)行某一連串的指令時(shí),那么我們可以把這段要執(zhí)行的程序或這一連串的指令抽取出來,寫成一個(gè)相對獨(dú)立的程序段,每當(dāng)我們想要執(zhí)行這段程序或這一連串的指令時(shí),就調(diào)用這段程序,執(zhí)行完這段程序后再返回原來調(diào)用它的程序。這樣我們每次執(zhí)行這段程序時(shí),就不必重寫這一連串的指令了,這樣的程序段稱為 子程序或過程 。而調(diào)用子程序的程序稱為 主程序或調(diào)用程序 。與子程序有關(guān)的指令有子程序的調(diào)用 CALL、子程序返回 RET兩條指令。 ( 2) 子程序的定義 子程序是用過程定義偽指令 PROC和 ENDP來定義的 , 而且還應(yīng)指出過程的類型屬性 。 在 PROC和 ENDP之間是為完成某一特定功能的一連串指令 , 其最后一條指令是返回指令 RET。 過程通常以一個(gè)過程名 (標(biāo)號(hào) )后跟 PROC開始 , 而以過程名后跟ENDP結(jié)束 。 其格式如下: 過程名 PROC [ NEAR/FAR] RET 過程名 ENDP … 其中 , ‘ 過程名 ’ 是子程序入口的符號(hào)地址; NEAR或 FAR是過程的類型屬性 , 它指出對該過程的調(diào)用是段內(nèi)調(diào)用還是段間調(diào)用 ,NEAR用于段內(nèi)調(diào)用 , 而 FAR用于段間調(diào)用 。 過程屬性的確定原則為: ① 調(diào)用程序和過程若在同一代碼段中 , 則使用 NEAR屬性; ② 調(diào)用程序和過程若不在同一代碼段中 , 則使用 FAR屬性; ③ 主程序應(yīng)定義為 FAR屬性 (使用標(biāo)準(zhǔn)方式返回 DOS時(shí) )。 因?yàn)槲覀儼殉绦虻闹鬟^程看作 DOS調(diào)用的一個(gè)子程序 , 而 DOS對主過程的調(diào)用和返回都是 FAR屬性 。 另外,過程定義允許嵌套,即在一個(gè)過程定義中允許包含多個(gè)過程定義。 例 調(diào)用程序和子程序在同一代碼段中。 CODE SEGMENT MAIN PROC FAR CALL PPP1 RET PPP1 PROC NEAR … … … … CALL PPP2 RET PPP2 PROC NEAR RET PPP2 ENDP PPP1 ENDP MAIN ENDP CODE ENDS … … 例 調(diào)用程序和子程序不在同一代碼段。 CODE1 SEGMENT CALL RRR CODE1 ENDS CODE2 SEGMENT RRR PROC FAR RET RRR ENDP CODE2 ENDS … … … … 例: 我們要建立一個(gè)求多字節(jié)相加的匯編語言源程序 DATA SEGMENT ;定義數(shù)據(jù)段 ARRY1 DB 10, 21, 32, 53, 64, 75, 96, 10, 11 ARRY2 DB 21, 17, 35, 15, 50, 26, 41, 42, 28 ARRY3 DB 9 DUP(?) N DW 9 DATA ENDS 10 21 21 17 ARRY1 ARRY2 ARRY3 SI DI STACK SEGMENT PARA STACK 39。STACK39。 ;定義堆棧段 DW 100 DUP(?) STACK ENDS ;堆棧段結(jié)束 CODE SEGMENT ;定義代碼段 ASSUME CS: CODE, DS: DATA, SS: STACK MAIN PROC FAR ;主程序部分 START: PUSH DS ;將 DS壓入堆棧保存 MOV AX, 0 PUSH AX ;將 0壓入堆棧保存 MOV AX, DATA ;把數(shù)據(jù)段地址送 AX MOV DS, AX ;然后通過 AX送入 DS MOV AX, STACK ;把堆棧段地址送 AX MOV SS, AX ;然后通過 AX送入 SS MOV SI, OFFSET ARRY1 ;把 ARRY1的偏移量地址送入 SI MOV DI, OFFSET ARRY2 ;把 ARRY2的偏移量地址送入 DI MOV CX, N CLC ;進(jìn)位標(biāo)志清零 CALL ADDFA ;調(diào)用子程序 ADDFA RET ;返回 DOS MAIN ENDP ;主程序結(jié)束 ADDFA PROC NEAR ;定義子程序 PUSH AX ;保護(hù)現(xiàn)場 PUSH CX PUSH SI PUSH DI MOV BX, OFFSET ARRY3 ;把 ARRY3的偏移量地址送入 BX LOOP1: MOV AL, [SI] ;取一個(gè)字節(jié)被加數(shù) ADD AL, [DI] ;加數(shù)與被加數(shù)相加 MOV [BX], AL ;結(jié)果送存 INC SI ; ARRY1的偏移量地址加 1 INC DI ; ARRY2的偏移量地址加 1 INC BX ; ARRY3的偏移量地址加 1 LOOP LOOP1 ;未加完轉(zhuǎn) LOOP1 POP DI ;恢復(fù)現(xiàn)場
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1