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

正文內(nèi)容

匯編語(yǔ)言與匯編程序設(shè)計(jì)(參考版)

2025-01-15 15:02本頁(yè)面
  

【正文】 對(duì)于匯編語(yǔ)言程序設(shè)計(jì)的基本步驟和基本結(jié)構(gòu)本章做了重點(diǎn)介紹,通過(guò)具體實(shí)例詳細(xì)介紹了順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、子程序、 DOS功能調(diào)用、 BIOS功能調(diào)用以及多模塊程序設(shè)計(jì)的方法。 本章小結(jié) 本章主要介紹了匯編語(yǔ)言及其程序設(shè)計(jì)的基本方法。 ? 2. EXTRN偽指令 ? 格式: EXTRN 符號(hào)名:類(lèi)型 [ , …] ? 功能:這條偽指令用于說(shuō)明模塊中使用的符號(hào)名已在另一個(gè)模塊中定義,是外部符號(hào)名。為了介紹不同文件中模塊間的引用和變量傳送方法,先介紹這兩條偽指令EXTRN和 PUBLIC。 程序設(shè)計(jì)基本方法 ? 多模塊程序設(shè)計(jì) ? 在設(shè)計(jì)較復(fù)雜的大型程序時(shí),通常要將整個(gè)程序按功能分解成多個(gè)模塊,每個(gè)模塊完成獨(dú)立的功能,建為獨(dú)立的源文件分別調(diào)試,最后將調(diào)試正確的各模塊連接在一起,成為一個(gè)完整的可執(zhí)行程序。 ? DOS中斷能處理大多數(shù)的 I/O,但有一些功能還沒(méi)有提供,如聲音控制等,這就要考慮用 I/O指令在端口級(jí)上編程,或使用高級(jí)語(yǔ)言編程。 ? 2. DOS功能子程序的調(diào)用 ? ( 1)調(diào)用指令及功能 ? DOS為程序設(shè)計(jì)人員提供許多功能子程序可供用戶(hù)直接調(diào)用。設(shè)計(jì)遞歸程序要注意保留每次調(diào)用時(shí)使用的參數(shù)和中間結(jié)果,通常把這些參數(shù)和中間結(jié)果放在堆棧中。 ? 遞歸定義: 0! =1, N!=N*(N1)! ,下面依據(jù)遞歸定義,設(shè)計(jì)遞歸程序。 程序設(shè)計(jì)基本方法 ? 7.遞歸子程序:如果一個(gè)子程序調(diào)用它自身,這種調(diào)用就稱(chēng)為遞歸調(diào)用,這樣的子程序就稱(chēng)為遞歸子程序。 程序設(shè)計(jì)基本方法 ? 5.子程序的編寫(xiě)方法和要求 ? ( 1)現(xiàn)場(chǎng)的保護(hù)與恢復(fù) ? 保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)可采用以下方法: ① 利用壓棧和出棧指令; ② 利用內(nèi)存單元。 ? ( 3)主過(guò)程定義為 FAR屬性。 程序設(shè)計(jì)基本方法 ? 4.過(guò)程屬性的確定屬性原則 ? ( l)調(diào)用程序和過(guò)程若在同一代碼段中,則使用 NEAR屬性。 ? 2.子程序的定義 ? 子程序是用過(guò)程定義語(yǔ)句 PROC和 ENDP來(lái)定義的。) 程序設(shè)計(jì)基本方法 ? 子程序設(shè)計(jì) ? 1.子程序概念 ? 子程序在匯編語(yǔ)言中也稱(chēng)為過(guò)程,子程序結(jié)構(gòu)是模塊化程序設(shè)計(jì)的重要基礎(chǔ)。編程統(tǒng)計(jì)數(shù)據(jù)中 ?0?和 ?1?個(gè)數(shù)相同的數(shù)據(jù)有多少,并將結(jié)果存入 NUMB單元。 ? ( 4)每次通過(guò)外循環(huán)再次進(jìn)入內(nèi)循環(huán)時(shí),初始條件必須重新設(shè)置。可以從內(nèi)循環(huán)中直接跳到外循環(huán),但不能從外循環(huán)直接跳進(jìn)內(nèi)循環(huán)中。使用多重循環(huán)時(shí),必須注意以下幾點(diǎn): ? ( 1)內(nèi)循環(huán)必須在外循環(huán)之內(nèi),內(nèi)循環(huán)在外循環(huán)中位置可以根據(jù)需要任意設(shè)置,內(nèi)外循環(huán)不能交叉。程序流程圖如圖 513所示。 ? ( 2)循環(huán)結(jié)構(gòu)程序的組成 ? 循環(huán)程序主要由四部分組成: ? ① 初始化部分 ? ② 工作部分 ? ③ 修改部分 ? ④ 控制部分 程序設(shè)計(jì)基本方法 ? 【例 58】從 x單元開(kāi)始的 20個(gè)連續(xù)單元中存有無(wú)符號(hào)數(shù),從中找出最大數(shù)送入 y單元中。 ? ⑥ 指令的選擇 開(kāi)始段地址初始化AL XX = 0?X = 8?X = 15?NoNoX 取補(bǔ)Yes計(jì)算5X 2保存結(jié)果計(jì)算X+1 0結(jié)束NoYesYesLabel1Label2Label3圖511 程序流程圖 程序設(shè)計(jì)基本方法 ? 循環(huán)程序設(shè)計(jì) ? 1.循環(huán)程序結(jié)構(gòu)及其組成 ? ( 1)循環(huán)程序結(jié)構(gòu) ? 在程序設(shè)計(jì)中,控制某個(gè)程序段重復(fù)執(zhí)行一定次數(shù)的程序,稱(chēng)為 循環(huán)結(jié)構(gòu)程序 。 ? ⑤ 確定算法 ? 本題中數(shù)據(jù) X的輸入情況被分成了 4段,分界點(diǎn)是 0、 8和15。 ? ① 問(wèn)題的關(guān)鍵 ? 需要確定當(dāng) X取不同數(shù)值的時(shí)候使用不同的公式。 ? 【例 56】用跳轉(zhuǎn)表編寫(xiě)一程序,實(shí)現(xiàn)程序分支。 ? ( 2)用跳轉(zhuǎn)表實(shí)現(xiàn)分支 ? 如果程序需要根據(jù)幾種不同的情況,可以將每段分支程序的入口地址組成一個(gè)表,存放在跳轉(zhuǎn)表。 結(jié)果送入 C單元 ? RET ? CODE ENDS ? END START 程序設(shè)計(jì)基本方法 ? 分支程序設(shè)計(jì) ? 分支程序設(shè)計(jì)方法可分為兩類(lèi):即通過(guò)條件檢測(cè)實(shí)現(xiàn)兩路分支,用條件轉(zhuǎn)移指令實(shí)現(xiàn);多路分支,用跳轉(zhuǎn)表和無(wú)條件轉(zhuǎn)移指令實(shí)現(xiàn)。 除數(shù) 2送入 BL ? DIV BL 。 兩個(gè)數(shù)相加,結(jié)果進(jìn)入 AL ? MOV AH, 00 ? ADC AH, 00 。 初始化數(shù)據(jù)段 ? MOV DS, AX ? MOV AL, A 。這兩個(gè)數(shù)分別放在 A單元和 B單元中,而平均值的結(jié)果放在 C單元中。 圖 55 順序結(jié)構(gòu) 圖 57 IF 分支結(jié)構(gòu) 圖 58 CASE分支結(jié)構(gòu) 程序設(shè)計(jì)基本方法 ? ( 3)循環(huán)結(jié)構(gòu) ? 循環(huán)結(jié)構(gòu)是重復(fù)做一系列的動(dòng)作,直到滿(mǎn)足某個(gè)條件為止,如圖 59和圖 510所示。 ⑤ 連接框,框內(nèi)注有字母,表示程序的去向或來(lái)源。 ③ 判斷框,表示一個(gè)判斷點(diǎn),在此產(chǎn)生分支,框內(nèi)注明條件,判斷結(jié)果標(biāo)在出口的流程線(xiàn)上。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1