微機(jī)原理及接口技術(shù)4-3匯編語言中的偽指令_第1頁
微機(jī)原理及接口技術(shù)4-3匯編語言中的偽指令_第2頁
微機(jī)原理及接口技術(shù)4-3匯編語言中的偽指令_第3頁
微機(jī)原理及接口技術(shù)4-3匯編語言中的偽指令_第4頁
微機(jī)原理及接口技術(shù)4-3匯編語言中的偽指令_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 例例:已知定義變量已知定義變量 ARR1 DB 00H,11H,22H,33HARR2 DW 3456H,1024,2525,1000/3,10A0HARR100H11H22H33HARR256H34H00H04H71H02H4DH01HA0H10H0123456789ABCDEARR1的偏移地址是的偏移地址是 0ARR2的偏移地址是的偏移地址是 4MOV AX , ARR2 ; (AX) = ?MOV AX , OFFSET ARR2 ; (AX) = ?MOV AL , BYTE PTR ARR2 + 5 ; (AL) = ? MOV AX ,WORD PTR ARR1 ; (AX) =

2、 ?1、段定義語句、段定義語句格式:格式: 段名段名 SEGMENT 段名段名 ENDS 2、段寄存器指派語句、段寄存器指派語句 格式:格式: ASSUME 段寄存器:段名段寄存器:段名 ,段寄,段寄存器:段名存器:段名.n功能:指明段與段寄存器之間關(guān)系功能:指明段與段寄存器之間關(guān)系 ASSUME語句僅僅約定了對(duì)邏輯段進(jìn)行尋址操作時(shí)使用語句僅僅約定了對(duì)邏輯段進(jìn)行尋址操作時(shí)使用哪個(gè)段寄存器,而段寄存器的初值還必須在程序中用指令設(shè)置。哪個(gè)段寄存器,而段寄存器的初值還必須在程序中用指令設(shè)置。 對(duì)對(duì)CS的賦值是由操作系統(tǒng)系統(tǒng)自動(dòng)完成的,程序員不用的賦值是由操作系統(tǒng)系統(tǒng)自動(dòng)完成的,程序員不用設(shè)置。設(shè)置。

3、格式:格式: 過程名過程名 PROC 類型類型 RET 過程名過程名 ENDP說明:說明:q(1)PROC表示過程的開始,表示過程的開始,ENDP表示過程的結(jié)束。表示過程的結(jié)束。q(2)在過程中要有一個(gè))在過程中要有一個(gè)RET指令使其返回指令使其返回主程序。主程序。q(3)每個(gè)過程要有一個(gè)過程名,通過該名其他程序可)每個(gè)過程要有一個(gè)過程名,通過該名其他程序可以調(diào)用該過程。以調(diào)用該過程。q(4)過程中有類型說明)過程中有類型說明FAR或或NEAR說明說明該過程是該過程是遠(yuǎn)過程還是近過程。遠(yuǎn)過程還是近過程。 SOFDLY PROC PUSH BX PUSH CX MOV BL , 10 DELAY

4、: MOV CX , 2801 WAIT: LOOP WAIT DEC BL JNZ DELAY POP CX POP BX RET SOFDLY ENDP .DATA SEGMENT S DW ?,?,?DATA ENDSCODE SEGMENT ASSUME CS: CODE,DS: DATA START : MOV AX ,DATA MOV DS ,AX MOV AL ,30H ADD AL ,20H MOV BL ,80H MUL BL MOV BX , 185H SUB DX , DX DIV BX MOV S , AX MOV S + 2 , DX CODE ENDS END ST

5、ART編制匯編語言程序的步驟:編制匯編語言程序的步驟:明確任務(wù),確定算法;明確任務(wù),確定算法;繪制流程圖;繪制流程圖;根據(jù)流程圖編寫匯編程序語言;根據(jù)流程圖編寫匯編程序語言;1.上機(jī)調(diào)試。上機(jī)調(diào)試。程序的基本結(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)子程序結(jié)構(gòu) 例例1 編程計(jì)算編程計(jì)算 S = DATA SEGMENT S DW ?,?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START : MOV AX ,DATA MOV DS ,AX MOV AL ,30H ADD AL ,20H M

6、OV BL ,80H MUL BL ;結(jié)果在;結(jié)果在AX中。中。80H(30H+20H)185H加法加法ADD乘法乘法擴(kuò)展擴(kuò)展除法除法存結(jié)果存結(jié)果結(jié)束結(jié)束 MOV BX , 185H SUB DX , DX ; 擴(kuò)展被除數(shù)為雙字?jǐn)U展被除數(shù)為雙字/字字 DIV BX MOV S , AX ; 存商存商 MOV S + 2 , DX ;存余數(shù);存余數(shù) CODE ENDS END START 在編寫順序程序時(shí),要考慮以下內(nèi)容:在編寫順序程序時(shí),要考慮以下內(nèi)容: 1、如何組織初始、中間、結(jié)果數(shù)據(jù)。采用的尋址方式,使用、如何組織初始、中間、結(jié)果數(shù)據(jù)。采用的尋址方式,使用的寄存器。的寄存器。 2、計(jì)算的順

7、序,用變量、寄存器、還是堆棧保存中間結(jié)果,、計(jì)算的順序,用變量、寄存器、還是堆棧保存中間結(jié)果,有時(shí)需預(yù)留、預(yù)清除、預(yù)設(shè)置一些寄存器。有時(shí)需預(yù)留、預(yù)清除、預(yù)設(shè)置一些寄存器。 3、指令與指令之間的銜接。、指令與指令之間的銜接。條件條件S1S2YN分支程序結(jié)構(gòu)也稱為條件結(jié)構(gòu),通常有兩種形式,分支程序結(jié)構(gòu)也稱為條件結(jié)構(gòu),通常有兩種形式,一種是兩分支結(jié)構(gòu)(一種是兩分支結(jié)構(gòu)(IF_THEN_ELSE),一種是多一種是多分支結(jié)構(gòu)(分支結(jié)構(gòu)(CASE結(jié)構(gòu)即選擇結(jié)構(gòu))。結(jié)構(gòu)即選擇結(jié)構(gòu))。條件條件S1S2Sn雙分支程序雙分支程序例例1:已知在內(nèi)存中,有一個(gè)字節(jié)單元:已知在內(nèi)存中,有一個(gè)字節(jié)單元X存有帶符號(hào)存有帶符

8、號(hào)數(shù)據(jù),計(jì)算出它的絕對(duì)值后并放入數(shù)據(jù),計(jì)算出它的絕對(duì)值后并放入RESULT單元中。單元中。多分支程序多分支程序例例2:編程計(jì)算下列函數(shù)的值:編程計(jì)算下列函數(shù)的值: Y=1 (X0)0 (X=0)-1 (X0) 當(dāng)要進(jìn)行多次重復(fù)操作時(shí)采用循環(huán)設(shè)計(jì)。常見的循環(huán)程序結(jié)構(gòu)有當(dāng)要進(jìn)行多次重復(fù)操作時(shí)采用循環(huán)設(shè)計(jì)。常見的循環(huán)程序結(jié)構(gòu)有兩種:兩種:WHILLE_DO結(jié)構(gòu)和結(jié)構(gòu)和DO_UNTIL結(jié)構(gòu),結(jié)構(gòu)框圖如下:結(jié)構(gòu),結(jié)構(gòu)框圖如下:循環(huán)初始狀態(tài)循環(huán)初始狀態(tài)循環(huán)體循環(huán)體循環(huán)控循環(huán)控制條件制條件YN循環(huán)初始狀態(tài)循環(huán)初始狀態(tài)循環(huán)體循環(huán)體循環(huán)控循環(huán)控制條件制條件YNWHILLE_DO結(jié)構(gòu)DO_UNTIL結(jié)構(gòu)循環(huán)程序設(shè)

9、計(jì)分為三部分循環(huán)程序設(shè)計(jì)分為三部分:1、設(shè)置初始部分:設(shè)置初始部分:設(shè)置循環(huán)次數(shù),設(shè)置循環(huán)次數(shù),地址指針或其它初始狀態(tài)。地址指針或其它初始狀態(tài)。2、循環(huán)體:循環(huán)體:包括工作部分和修改包括工作部分和修改部分。部分。3、循環(huán)控制部分:循環(huán)控制部分:控制循環(huán)次數(shù)控制循環(huán)次數(shù)。 開始初始化循環(huán)體修改部分控制結(jié)束YN 事先已知循環(huán)次數(shù),每次循環(huán)加或減事先已知循環(huán)次數(shù),每次循環(huán)加或減計(jì)數(shù),并判定總次數(shù)以達(dá)到控制循環(huán)。計(jì)數(shù),并判定總次數(shù)以達(dá)到控制循環(huán)。事先不知循環(huán)次數(shù),在循環(huán)時(shí)判定某事先不知循環(huán)次數(shù),在循環(huán)時(shí)判定某種條件的真假達(dá)到控制循環(huán)。種條件的真假達(dá)到控制循環(huán)。事先設(shè)定二進(jìn)制位的狀態(tài),或由外界事先設(shè)定二

10、進(jìn)制位的狀態(tài),或由外界干預(yù),測(cè)試開關(guān)狀態(tài),決定循環(huán)。干預(yù),測(cè)試開關(guān)狀態(tài),決定循環(huán)。DATA SEGMENT AB DW 0123H,2A00H,52EFH 0700H,7255H SUM DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX ,DATA MOV DS ,AX MOV CX ,05 MOV AX ,0 LEA SI ,AB 01000H01002H01004H01006H01008H23H01H00H2AHEFH52H00H07H55H72H開始開始初始初始 SI、CXCX = 0?相加相加修改修改 SI結(jié)束結(jié)

11、束和存和存 SUMNY控制計(jì)數(shù)循環(huán)控制計(jì)數(shù)循環(huán)例:累加從地址例:累加從地址 ABAB開始的開始的 5 5 個(gè)字的內(nèi)容,并將和個(gè)字的內(nèi)容,并將和存入存入SUMSUM單元(一個(gè)字長(zhǎng))。單元(一個(gè)字長(zhǎng))。 INC SI ;修改指針;修改指針 若用若用ADD SI ,2 INC SI 則則 PUSHF LOOP REG ;CX - 1,CX 0循環(huán)。循環(huán)。 ADD SI ,2 MOV SUM ,AX POPF 因?yàn)橐驗(yàn)锳DD影響影響 CF CODE ENDS END START 此題,累加和的結(jié)果是一個(gè)字,若和超出一個(gè)字,應(yīng)開始此題,累加和的結(jié)果是一個(gè)字,若和超出一個(gè)字,應(yīng)開始 SUM DW ?,?,

12、? MOV DX ,0 在在REG:ADD AX ,SI ADC DX ,0 INC SI INC SI LOOP REG MOV SUM ,AX MOV SUM+2,DX例:編程序統(tǒng)計(jì)例:編程序統(tǒng)計(jì) AX 寄存器中寄存器中 1 的個(gè)數(shù)。的個(gè)數(shù)。CODE SEGMENT ASSUME CS:CODESTART: MOV CX , 0 ;存存 1 的個(gè)數(shù)的個(gè)數(shù)AGAIN: TEST AX , 0FFFFH JZ B SAL AX , 1 JNC A INC CX A: JMP AGAIN B: HLT CODE ENDS END START初始初始 CX = 0AX = 0 ?逐位移到最高位逐位移到最高位CF = 1 ?CX結(jié)束結(jié)束繼續(xù)繼續(xù)YNYN BEGIN :IN AL ,52H ;從狀態(tài)口讀;從狀態(tài)口讀 TEST AL

溫馨提示

  • 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)論