《基本結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt_第1頁(yè)
《基本結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt_第2頁(yè)
《基本結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt_第3頁(yè)
《基本結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt_第4頁(yè)
《基本結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、牙齒章節(jié)的內(nèi)容:掌握順序結(jié)構(gòu)程序的設(shè)計(jì)。掌握分支轉(zhuǎn)移命令的使用。掌握分支程序和循環(huán)程序的設(shè)計(jì)方法。第5章基本結(jié)構(gòu)計(jì)算機(jī)編程,牙齒章節(jié)要求,1 .熟悉順序結(jié)構(gòu)程序的設(shè)計(jì)方法,并可以使用匯編語(yǔ)言基本命令熟練掌握順序結(jié)構(gòu)計(jì)算機(jī)編程。2.熟練掌握使用分支轉(zhuǎn)移命令、有效的測(cè)試標(biāo)志生成方法、轉(zhuǎn)移命令方法選擇等。掌握分支計(jì)算機(jī)編程方法。掌握循環(huán)計(jì)算機(jī)編程方法和字符串命令的應(yīng)用。牙齒章節(jié)的重點(diǎn)和難點(diǎn):裝配指令的綜合應(yīng)用和多分支,多循環(huán)計(jì)算機(jī)編程。計(jì)劃時(shí)間: 8-10點(diǎn),順序結(jié)構(gòu)程序在設(shè)計(jì)上比較簡(jiǎn)單,按照命令書(shū)的編寫(xiě)順序執(zhí)行一系列任務(wù)。這也稱(chēng)為直線(xiàn)程序。配置,輸入數(shù)據(jù),已知數(shù)據(jù),即計(jì)算機(jī)可以運(yùn)算的對(duì)象,處理,根

2、據(jù)問(wèn)題的需要對(duì)輸入數(shù)據(jù)進(jìn)行適當(dāng)?shù)倪\(yùn)算處理,輸出結(jié)果,運(yùn)算處理結(jié)果輸出,基本語(yǔ)句:資料傳輸命令,算術(shù)運(yùn)算命令和邏輯運(yùn)算符命令,執(zhí)行進(jìn)程:5.1順序結(jié)構(gòu)計(jì)算機(jī)編程.整個(gè)過(guò)程:數(shù)據(jù)段;啟動(dòng)數(shù)據(jù)段STRING DB WELCOME!13,10,$數(shù)據(jù)恩德斯;數(shù)據(jù)段結(jié)束代碼段;片段開(kāi)始assume cs:代碼,ds: data start : mov ax,數(shù)據(jù)移動(dòng)ds,ax;設(shè)置Dsmovah,9。子功能編號(hào)9,輸出字符串leadx,string字符串偏移地址int 21h調(diào)用系統(tǒng)功能MOV AX,4c00h返回到Dos int 21h code ends:片段結(jié)束開(kāi)始,示例:為3個(gè)8位無(wú)符號(hào)86H、

3、34H、21h編寫(xiě)RESULT=86H*34H-21H的程序。data segment num db 86h,34h,21h result dw?data ends code segment assume cs : code、ds: data start : mov ax、data mov ds、ax leasi、num mov al、si mov bl、si1BX高位字節(jié)為0 subax,BX mov result,AX;計(jì)算結(jié)果Movah,4ch Int 21h Code Ends end Start存儲(chǔ),示例:以BUF開(kāi)頭的內(nèi)存具有015的平方值表。表格會(huì)取得x個(gè)儲(chǔ)存格數(shù)目(015到01

4、5)的平方值,并傳回x個(gè)儲(chǔ)存格。data segment buf db 0、1、4、9、16、25、36、49、64、81、100、121、144、169、196、2功能:無(wú)條件將程序發(fā)送到指定的目標(biāo)地址、類(lèi)型、段內(nèi)傳輸、IP值更改段間移植、IP和CS值更改、直接、間接、格式:JMP目標(biāo)標(biāo)簽、功能:IP IP disp、格式:JMP字符地址指針、功能:IP無(wú)條件轉(zhuǎn)移命令JMP,功能:滿(mǎn)足基于特定標(biāo)志位或標(biāo)志位的邏輯操作的條件,如果向指定目標(biāo)轉(zhuǎn)移過(guò)程的條件不滿(mǎn)足,則執(zhí)行節(jié)目順序。,注意:條件切換的目標(biāo)地址在127或-128字節(jié)范圍內(nèi)。1。單標(biāo)志位的條件切換命令2。組合條件的條件切換命令,2 .條

5、件切換命令,(1)。單個(gè)標(biāo)志位的條件移植命令,類(lèi)型,C標(biāo)志Z=1:00,上一個(gè),JNE/JNZ,Z=0:00,上一個(gè),S標(biāo)志,JS,S=1:00,上一個(gè),JNS,S=0:00(2)在條件切換命令之前安排算術(shù)運(yùn)算、比較、測(cè)試等,以影響相應(yīng)標(biāo)志位的指令,無(wú)符號(hào)數(shù):a大于b小于有符號(hào)數(shù)。g表示大于L時(shí)小于L;過(guò)程1: CMP AX,0 JZ L MOV CX,200 JMP NEXT L: MOV CX,50 next:比較AX是否為0;如果AX為0,則ZF=1,如果傳輸AX不是0牙齒,則CX=200,轉(zhuǎn)到NEXT,過(guò)程段2: CMP AX,0 JNZ L MOV CX,50 JMP NEXT L:

6、 MOV CX,200 NEXT:是 :檢查AX當(dāng)前值的正負(fù),如果為正數(shù),則將CX設(shè)置為50,過(guò)程1比較AX是否為零,并影響SF標(biāo)志。如果AX為正數(shù)(即SF=0),則發(fā)送;如果AX為負(fù)數(shù),則CX=200,轉(zhuǎn)至NEXT;過(guò)程2: ADD AX,0 JS L MOV CX,50 JMP NEXT L: MOV CX,200 NEXT:過(guò)程3(測(cè)試為ZF):TEST AX,8000h jnz l mov過(guò)程部分SHR AX,1,范例 :知道W為16位數(shù),W為正數(shù)則為Z=W,0則為Z=400H,負(fù)值則為Z=|W| 50H。流程圖片段,程序片段1: MOV AX、W CMP AX、0 JZ L1 JNS

7、 L2 NEG AX ADD AX、50H MOV Z、AX JMP NEXT L2: MOV Z、AX JMP NEXT L1: MOV Z、Joe、jns和節(jié)目段如下:movax、x CMP ax、50 jg too _ high如果大于,則轉(zhuǎn)至too _ highsubax,y overflow。溢出發(fā)送nonneg結(jié)果為:neg ax nonneg : mov result,ax too _ high : overflow :yes:已知x以有符號(hào)數(shù)比較x值,如果x大于55H,則y=編程解決牙齒問(wèn)題。、MOV AX、X CMP AX、55h第一次比較jg xgy大于CMP AX,-1;

8、第二個(gè)比較JL xly小于MOV Y,0;y=0 jmp exit xly:negax;查找絕對(duì)值MOV Y,ax。結(jié)果為Y JMP EXIT XGY: SAR AX,1;如果大于,則Y=X/2-30H SUB AX,30H MOV Y,AX;結(jié)果為Y TEST:5.2.2雙分支結(jié)構(gòu)節(jié)目,1 .必須執(zhí)行雙分支結(jié)構(gòu)程序的一般結(jié)構(gòu)、雙分支結(jié)構(gòu)程序的一般結(jié)構(gòu)1、雙分支結(jié)構(gòu)程序的一般結(jié)構(gòu)2、在執(zhí)行條件生成條件測(cè)試之前生成狀態(tài)標(biāo)志的第一個(gè)命令(例如測(cè)試)。準(zhǔn)備條件檢查。測(cè)試和方向條件切換命令自動(dòng)測(cè)試相應(yīng)的狀態(tài)標(biāo)志位,以確定是否滿(mǎn)足條件并確定進(jìn)程的其他方向。每個(gè)條件切換命令都恰好有兩個(gè)茄子選擇、切換或順序

9、執(zhí)行。標(biāo)簽對(duì)于每個(gè)分支,必須標(biāo)記發(fā)送的目標(biāo)地址。需要注意的問(wèn)題,2 .雙分支結(jié)構(gòu)計(jì)算機(jī)編程示例,示例 :設(shè)計(jì)字符比較節(jié)目,兩個(gè)字符相同時(shí)為YES顯示否則,no,data segment D1 db a D2 db res1 db yes,$ res2 db no,$ data ENDS CODE segment assume cs 3360 CODE,ds : data start 3360 mm 大小比較,向a單元發(fā)送更大的數(shù)量,data segment a db 39h b db 0b4h data ends code segment assuuus ds : data start : m

10、ov ax,data mov ds,ax mov al 數(shù)據(jù)段DA1 DBX1、X2;X1,X2是兩個(gè)有符號(hào)的MAX DB嗎?data ends stak segment stack dw 20h dup(?)stak ends code segment assume cs : code,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,da1獲取X1并將其發(fā)送到AL的CMP AL,DA1 1 JGE L1。XX2移動(dòng)到L1時(shí),將生成MOVAL,DA1分支。對(duì)于XX2,DA1的內(nèi)容包括AL L1: MOV MAX、AL MOV AH、4ch int 21h code ends end start、5.2.3多分支結(jié)構(gòu)計(jì)算機(jī)編程,語(yǔ)義3360進(jìn)程有三個(gè)或更多分支,設(shè)計(jì)方法:雙分支1。在多雙分支結(jié)構(gòu)中實(shí)施多分支結(jié)構(gòu)計(jì)算機(jī)編程,示例 :計(jì)算符號(hào)函數(shù)SNG(X)值,數(shù)據(jù)段x db 0b9h y db?data ends code segment assume cs : code、ds: data

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論