微機(jī)原理及接口2013年度第14次課_第1頁
微機(jī)原理及接口2013年度第14次課_第2頁
微機(jī)原理及接口2013年度第14次課_第3頁
微機(jī)原理及接口2013年度第14次課_第4頁
微機(jī)原理及接口2013年度第14次課_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理及接口微機(jī)原理及接口第第3章章 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 一、匯編語言程序設(shè)計(jì)的一般步驟一、匯編語言程序設(shè)計(jì)的一般步驟 分析課題分析課題 確定算法確定算法 畫流程圖畫流程圖 編寫程序編寫程序 上機(jī)調(diào)試上機(jī)調(diào)試 當(dāng)接到程序設(shè)計(jì)的任務(wù)后,首先對(duì)任務(wù)進(jìn)行詳盡的分析,搞清楚已知的數(shù)據(jù)和想要得到的結(jié)果,程序應(yīng)該完成何種的功能。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 一、匯編語言程序設(shè)計(jì)的一般步驟一、匯編語言程序設(shè)計(jì)的一般步驟 分析課題分析課題 確定算法確定算法 畫流程圖畫流程圖 編寫程序編寫程序 上機(jī)調(diào)試上機(jī)調(diào)試 根據(jù)實(shí)際問題的要求和指令系統(tǒng)的特點(diǎn),確定解決問題的具體步驟。根據(jù)任務(wù)要求

2、,對(duì)不同的計(jì)算方法進(jìn)行比較,選擇最適宜的算法。 3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 一、匯編語言程序設(shè)計(jì)的一般步驟一、匯編語言程序設(shè)計(jì)的一般步驟 分析課題分析課題 確定算法確定算法 畫流程圖畫流程圖 編寫程序編寫程序 上機(jī)調(diào)試上機(jī)調(diào)試將解決問題的具體步驟用一種約定的幾何圖形、指向線和必要的文字說明描述出來的圖形。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 一、匯編語言程序設(shè)計(jì)的一般步驟一、匯編語言程序設(shè)計(jì)的一般步驟 分析課題分析課題 確定算法確定算法 畫流程圖畫流程圖 編寫程序編寫程序 上機(jī)調(diào)試上機(jī)調(diào)試 經(jīng)過上述各步驟后,解決問題的思路已經(jīng)非常清楚,所以接下來就可以按流程圖的順序?qū)γ恳粋€(gè)功

3、能框選用合適的指令編寫出匯編語言程序。 3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 一、匯編語言程序設(shè)計(jì)的一般步驟一、匯編語言程序設(shè)計(jì)的一般步驟 分析課題分析課題 確定算法確定算法 畫流程圖畫流程圖 編寫程序編寫程序 上機(jī)調(diào)試上機(jī)調(diào)試在應(yīng)用程序的設(shè)計(jì)中,幾乎沒有一個(gè)程序只經(jīng)過一次編寫就完全成功的,所以必須經(jīng)過上機(jī)調(diào)試。 3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 1 1流程圖的概念流程圖的概念v流程圖是由特定的幾何圖形、指向線、文字說明來表示數(shù)據(jù)處理的步驟,形象描述邏輯控制結(jié)構(gòu)以及數(shù)據(jù)流程的示意圖。流程圖具有簡(jiǎn)潔、明了、直觀的特點(diǎn)。2 2流程圖符號(hào)表示流程圖符號(hào)表示(1 1)開始框:表示程序的開始

4、。)開始框:表示程序的開始。開始二、流程圖的畫法規(guī)定條件NY結(jié)束(3 3)判斷框)判斷框 (2 2)處理框(執(zhí)行框)處理框(執(zhí)行框) (4 4)結(jié)束框)結(jié)束框3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 基本結(jié)構(gòu)有基本結(jié)構(gòu)有:順序結(jié)構(gòu)(線性結(jié)構(gòu))順序結(jié)構(gòu)(線性結(jié)構(gòu)) 選擇結(jié)構(gòu)(分支結(jié)構(gòu))選擇結(jié)構(gòu)(分支結(jié)構(gòu)) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 三種結(jié)構(gòu)可以任意組合和嵌套構(gòu)成復(fù)雜的程序。三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 這三種結(jié)構(gòu)可歸納為這三種結(jié)構(gòu)可歸納為五種邏輯結(jié)構(gòu):五種邏輯結(jié)構(gòu):(1 1)順序結(jié)構(gòu))順序結(jié)構(gòu)(2 2)雙分支結(jié)構(gòu))雙分支結(jié)構(gòu)(3 3)多分支結(jié)構(gòu))多分支結(jié)構(gòu)

5、YN條件條件三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) YN(4)DO_UNTIL循環(huán)結(jié)構(gòu)NY(5)DO_WHILE循環(huán)結(jié)構(gòu)程序的邏輯結(jié)構(gòu)格式三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 順序程序:一種無分支的程序順序程序:一種無分支的程序, , CPUCPU從第一條指令開始從第一條指令開始依次依次執(zhí)行執(zhí)行每一條指令每一條指令, ,直到最后一條指令。直到最后一條指令。特點(diǎn)特點(diǎn):指令順序執(zhí)行,無分支、無循環(huán)、無轉(zhuǎn)移。:指令順序執(zhí)行,無分支、無循環(huán)、無轉(zhuǎn)移。三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)例例1:編程計(jì)算:編程計(jì)算W=X+Y+2

6、4-Z.其中變量其中變量X,Y,Z均均為為16位數(shù)。位數(shù)。 a) X=19, Y=3, Z=1987 b) X=86,Y=25,Z=3253.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 1、順序結(jié)構(gòu)、順序結(jié)構(gòu)例例1:編程計(jì)算:編程計(jì)算W=X+Y+24-Z.其中變量其中變量X,Y,Z均均為為16位數(shù)。位數(shù)。 a) X=19, Y=3, Z=1987; b) X=86,Y=25,Z=3253.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) DATA SEGMENT ADD AX,YX DW 19 ADD AX,24Y DW 3 SUB AX, ZZ DW 1987 MOV W, AX W DW ? CODE EN

7、DSDATA ENDS END STARTCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AX, X例例2:計(jì)算:計(jì)算7x+8y/2, 結(jié)果放到結(jié)果放到result單元,單元,x、y表示表示16位帶符號(hào)數(shù)。位帶符號(hào)數(shù)。x= +6 ;y= +7。 3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) DATA SEGMENT ADD AX, YX DW 6 MOV CL,3Y DW 7 SAL AX, CL result DW ? SUB AX, X DATA ENDS SAR AX, 1 CODE SEGMENT

8、 MOV result, AX ASSUME CS:CODE, CODE ENDS DS:DATA END STARTSTART: MOV AX, DATA MOV DS, AX MOV AX, X 3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)2、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、選擇結(jié)構(gòu)(分支結(jié)構(gòu))例例3:符號(hào)函數(shù):符號(hào)函數(shù) 1, X0 Y= 0, X=0 -1, X0 設(shè)設(shè)X為為8位有符號(hào)數(shù)。位有符號(hào)數(shù)。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 例例3:MOV AL,XCMP AL, 0JGE BIGRMOV AL,-1JMP STOPBIGR: JE STOPMOV

9、 AL,1STOP: MOV Y, ALCODE ENDSEND START DATA SEGMENTX DB -18Y DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)2、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、選擇結(jié)構(gòu)(分支結(jié)構(gòu))例例4:比較變量:比較變量D1和和D2表示的表示的兩個(gè)有符號(hào)數(shù)大小,將其中較兩個(gè)有符號(hào)數(shù)大小,將其中較大數(shù)據(jù)放在大數(shù)據(jù)放在BX寄存器里面。寄存器里面。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì)

10、MOV BX,D1 CMP BX,D2 JGE NEXT MOV BX,D2NEXT: NOPCODE ENDS END START DATA SEGMENTD1 DW -123;補(bǔ)碼為補(bǔ)碼為FF85HD2 DW -120;補(bǔ)碼為補(bǔ)碼為FF88HDATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 例例4:比較變量:比較變量D1和和D2表示的兩個(gè)有符號(hào)數(shù)大小,表示的兩個(gè)有符號(hào)數(shù)大小,將其中較大數(shù)據(jù)放在將其中較大數(shù)據(jù)放在BX寄存器里面。寄存器里面。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 三、程序

11、的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)2、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、選擇結(jié)構(gòu)(分支結(jié)構(gòu))例例5:已知:已知X、Y、Z為三個(gè)無為三個(gè)無符號(hào)符號(hào)16位二進(jìn)制數(shù),求三者位二進(jìn)制數(shù),求三者中最大者,送中最大者,送MAX單元。單元。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) MOV AX, X CMP AX, Y JAE XGY MOV AX, YXGY: CMP AX, Z JAE GMAX MOV AX, ZGMAX: MOV MAX,AXCODE ENDS END START DATA SEGMENTX DW 180Y DW 850Z DW 350MAX DW ? DATA ENDSCODE SEGMENT AS

12、SUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 例例5:已知:已知X、Y、Z為三個(gè)無符號(hào)為三個(gè)無符號(hào)16位二進(jìn)制數(shù),位二進(jìn)制數(shù),求三者中最大者,送求三者中最大者,送MAX單元。單元。 DO WHILE 結(jié)構(gòu)圖循環(huán)初始狀態(tài)循環(huán)初始狀態(tài)循環(huán)控制條件循環(huán)控制條件循環(huán)體循環(huán)體NY DO UNTIL 結(jié)構(gòu)圖循環(huán)初始狀態(tài)循環(huán)初始狀態(tài)循環(huán)體循環(huán)體循環(huán)控制條件循環(huán)控制條件YNDO WHILE結(jié)構(gòu)結(jié)構(gòu)把對(duì)循環(huán)控制條件的判把對(duì)循環(huán)控制條件的判斷放在循環(huán)的入口,先斷放在循環(huán)的入口,先判斷條件,滿足條件就判斷條件,滿足條件就執(zhí)行循環(huán)體,否則就退執(zhí)行循環(huán)體,否則

13、就退出循環(huán)出循環(huán)DO UNTIL結(jié)構(gòu)結(jié)構(gòu)先執(zhí)行一次循環(huán)體,然先執(zhí)行一次循環(huán)體,然后再判斷控制條件,后再判斷控制條件,不滿足條件則繼續(xù)執(zhí)不滿足條件則繼續(xù)執(zhí)行循環(huán)操作,一旦滿行循環(huán)操作,一旦滿足條件則退出循環(huán)足條件則退出循環(huán)3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)循環(huán)程序都可由如下四部分組成:循環(huán)程序都可由如下四部分組成:(1 1)循環(huán)初始化部分)循環(huán)初始化部分(2 2)循環(huán)體)循環(huán)體(3 3)循環(huán)修改)循環(huán)修改(4 4)循環(huán)控制)循環(huán)控制3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

14、3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 三、程序的基本結(jié)構(gòu)三、程序的基本結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)例例6:統(tǒng)計(jì)一個(gè)數(shù)據(jù)塊中負(fù)數(shù)的個(gè)數(shù):統(tǒng)計(jì)一個(gè)數(shù)據(jù)塊中負(fù)數(shù)的個(gè)數(shù),個(gè)數(shù)送,個(gè)數(shù)送RS中。中。3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 例例6:統(tǒng)計(jì)一個(gè)數(shù)據(jù)塊中負(fù)數(shù)的個(gè)數(shù),個(gè)數(shù)送:統(tǒng)計(jì)一個(gè)數(shù)據(jù)塊中負(fù)數(shù)的個(gè)數(shù),個(gè)數(shù)送RS中中DATA SEGMENTD1 DB -1,-3,5,6,9,-5COUNT EQU $-D1RS DW ? DATA ENDS3.4 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) LEA BX, D1 MOV CX, COUNT MOV DX, 0LOP1: MOV AL,BX CMP AL,

15、0 JGE JUS INC DXJUS: INC BX DEC CX JNZ LOP1 MOV RS,DX CODE ENDS END START DATA SEGMENTD1 DB -1,-3,5,6,9,-5COUNT EQU $-D1RS DW ? DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 例例6:統(tǒng)計(jì)一個(gè)數(shù)據(jù)塊中負(fù)數(shù)的個(gè)數(shù),個(gè)數(shù)送:統(tǒng)計(jì)一個(gè)數(shù)據(jù)塊中負(fù)數(shù)的個(gè)數(shù),個(gè)數(shù)送RS中中Data segmentMess1 db 45h,0c8h,96h,0,64h,0ffhMax db 1 dup(?)Data endsCode segment Assume cs:code,ds:dataStart: mov ax, data mov ds,ax mov bx, offset mess1 mov cx, 6 l1: mov al , bxl2: inc bx dec cx and

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論