版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023/2/4例3-1:數(shù)據(jù)塊傳送程序:將以S1為起始地址的30個(gè)字符依次傳送到同數(shù)據(jù)段的以S2為起始地址的一片字節(jié)存儲(chǔ)單元里。
41H42H…33H
S130個(gè)字符S2--…-SIDI方法一:數(shù)據(jù)塊是用DB定義的一個(gè)字符串S1。用寄存器間接尋址方式訪問S1和S2,即用[SI]表示S1中各字節(jié)的位移量,用[DI]表示S2中各字節(jié)的位移量。第三章匯編語言程序設(shè)計(jì)舉例2023/2/4程序如下:DATASEGMENTS1DB‘ABCDEFGHIJKLMNOPQRSTUVW’DB‘XYZ0123’S2DB30DUP(?)DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETS1MOVDI,OFFSETS2MOVCX,30NEXT:MOVAL,[SI]MOV[DI],ALINCSIINCDILOOPNEXTMOVAH,4CHINT21HCODEENDSENDSTART2023/2/4DATASEGMENTS1DB‘A’,‘B’,‘C’,‘D’,‘E’DB‘FGHIJKLMNOPQRSTUVWXYZ’DB‘0’,‘1’,‘2’,‘3’S2DB30DUP(?)DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATA
MOVDS,AX
我們也可以使用其它方法來實(shí)現(xiàn),如用變址尋址方式等。程序如下:MOVSI,0MOVCX,30NEXT:MOVAL,S1[SI]MOVS2[SI],ALINCSILOOPNEXTMOVAH,4CHINT21HCODEENDSENDSTART2023/2/4
DSEGSEGMENTDATADB20DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGGO:MOVAX,DSEGMOVDS,AXMOVCX,20MOVSI,OFFSETDATAL01:MOVAH,01HINT21HMOV[SI],ALINCSILOOPL01例3-2:從鍵盤上輸入20個(gè)字符,然后以與鍵入字符的先后相同的順序顯示出來。MOVCX,20MOVSI,OFFSETDATAL02:MOVDL,[SI]MOVAH,02HINT21HINCSILOOPL02MOVAH,4CHINT21HCSEGENDSENDGO2023/2/4CODESEGMENTASSUMECS:CODESTART:MOVCX,20L1:MOVAH,01HINT21HPUSHAXLOOPL1MOVDL,0AH;顯示“回車”MOVAH,02HINT21HMOVDL,0DH;顯示“換行”
INT21H例3-3:在鍵盤上輸入20個(gè)字符,然后用與輸入字符的先后相反的順序在屏幕上顯示出來。MOVCX,20L2:POPDXMOVAH,02HINT21HLOOPL2MOVAH,4CHINT21HCODEENDSENDSTART2023/2/4
一位
十進(jìn)制(BCD碼)的顯示: MOVDL,AL ANDDL,0FHADDDL,30HMOVAH,02HINT21H例3-4:數(shù)據(jù)的顯示:2023/2/4例3-4:數(shù)據(jù)的顯示:緊湊結(jié)構(gòu): MOVDL,AL ANDDL,0FH CMP DL,09 JNA
NEXTADDDL,07NEXT: ADD DL,30H MOVAH,02HINT21H一位
十六進(jìn)制的顯示: MOVDL,ALANDDL,0FH CMP DL,09 JNANEXTADDDL,37H JMPDISPNEXT: ADD DL,30HDISP:MOVAH,02HINT21H2023/2/4CODESEGMENTASSUMECS:CODESTART:MOVDL,BL MOVCL,04SHRDL,CL;高4位移至低4位ADDDL,30HMOVAH,02HINT21H;高4位顯示
例3-4:數(shù)據(jù)的顯示:
1、把BL中一個(gè)字節(jié)的十進(jìn)制數(shù)據(jù)(BCD碼)顯示出來。 MOVDL,BL ANDDL,0FH
ORDL,30H MOVAH,02H INT21H;低4位顯示 MOVAH,4CHINT21HCODEENDSENDSTART2023/2/4CODESEGMENT ASSUMECS:CODESTART:MOVDL,BL MOVCL,04 SHRDL,CL;高4位移至低4位 CMP DL,09 JNA
NEXTADDDL,07NEXT: ADD DL,30H MOVAH,02HINT21H;高4位顯示
例3-4:數(shù)據(jù)的顯示:
2、把BL中一個(gè)字節(jié)的十六進(jìn)制數(shù)據(jù)顯示出來。 MOVDL,BL CMP DL,0AH
JBNEXT2ADDDL,07NEXT2:ADD DL,30H MOVAH,02H INT21H;低4位顯示 MOVAH,4CHINT21HCODEENDSENDSTART2023/2/4例:MOVBX,OFFSETTABLE;(BX)=0040HMOVAL,3XLATTABLE
指令執(zhí)行后(AL)=33H注意:
*不影響標(biāo)志位*
字節(jié)表格(長度不超過256)
首地址
(BX)*
需轉(zhuǎn)換代碼(AL)(BX)30HF004031HF0041(AL)=332HF004233HF0043TABLE(DS)=F000H換碼指令:XLAT
或XLATOPR執(zhí)行操作:(AL)((BX)+(AL))2023/2/4例3-5:編寫一個(gè)加密0~9數(shù)字序列的程序,設(shè)0,1,2,3,4,5,6,7,8,9對應(yīng)的密碼表為:9,0,8,2,7,4,6,3,1,5,鍵盤輸入0825,顯示輸出9184。DATASEGMENTSTRDATDB0,8,2,5TABLEDB‘9082746315’DATAENDSCODESEGMENT
ASSUMECS:CODE,DS:DATAGO:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,STRDATLEABX,TABLE MOVCX,4L1: MOVAL,[SI] XLAT
MOVDL,AL MOVAH,02 INT21H LOOPL1 MOVAH,4CH INT21HCODEENDS ENDGO2023/2/4DATASEGMENTBUFFERDB00H,12H,3BH,43H,60H,0CH…COUNTEQU$-OFFSETBUFFER($-BUFFER)MAXDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFFERMOVCX,COUNTMOVAL,[SI]INCSIDECCX;比較COUNT-1次COMPA:CMPAL,[SI];找大數(shù)
JANEXTMOVAL,[SI]NEXT:INCSILOOPCOMPA;比較完否?MOVMAX,AL;保存大數(shù)例3-6:對一組字節(jié)型無符號數(shù)進(jìn)行比較,把最大數(shù)顯示在屏幕上。2023/2/4MOVBL,ALMOVDL,ALMOVCL,4SHRDL,CLCMPDL,0AHJBL1ADDDL,7L1:ADDDL,30HMOVAH,02HINT21H;顯示高位MOVDL,BL;將大數(shù)送至DLANDDL,0FH;截取其低4位CMPDL,0AH
JBL2ADDDL,7L2:ADDDL,30HMOVAH,02HINT21H;顯示低位MOVAH,4CHINT21HCODEENDSENDSTART
2023/2/4DATASEGMENTBUFFERDW00H,12H,3BH,0A3H,94H,0CH…COUNTDW$-OFFSETBUFFER;或($-BUFFER)/2RUSLTDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,BUFFER MOV BL,0MOVCX,COUNT
SHR CX,1COMPA:MOVAL,[SI];找大數(shù)
OR AL,0 JNSNEXTINC BLNEXT:INCSILOOPCOMPA;比較完否?MOVRUSLT,BL;保存大數(shù) ……例3-7:統(tǒng)計(jì)一批字型數(shù)據(jù)中負(fù)數(shù)的個(gè)數(shù),結(jié)果放在RUSLT變量中。2023/2/4例3-8:間接轉(zhuǎn)移編寫一個(gè)程序,根據(jù)輸入的1-8的數(shù)字,轉(zhuǎn)到8個(gè)不同的標(biāo)號處進(jìn)行各自的處理。即:當(dāng)輸入1時(shí),則轉(zhuǎn)到標(biāo)號L1處,輸出字母A;當(dāng)輸入2時(shí),則轉(zhuǎn)到標(biāo)號L2處,輸出字母B;……當(dāng)輸入8時(shí),則轉(zhuǎn)到標(biāo)號L8處,輸出字母H。假設(shè):數(shù)字1-8由鍵盤上輸入。分析:首先將輸入的ASCII碼轉(zhuǎn)換成對應(yīng)的數(shù)字;然后根據(jù)數(shù)字,利用段內(nèi)間接轉(zhuǎn)移指令JMPWORDPTR[BX],轉(zhuǎn)移到對應(yīng)的標(biāo)號處執(zhí)行。2023/2/4DATASEGMENTTABLE1DWL1,L2,L3,L4,L5,L6,L7,L8DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAH,01HINT21HSUBAL,30HCMPAL,8JAL10 DECALSHLAL,1MOVAH,0MOVSI,AXLEABX,TABLE1JMPWORDPTR[BX][SI]
……….. JMPTABLE1[SI]2023/2/4
…………L1:MOVDL,’A’JMPL9L2:MOVDL,’B’JMPL9L3:MOVDL,’C’JMPL9L4:MOVDL,’D’JMPL9L5:MOVDL,’E’JMPL9L6:MOVDL,’F’JMPL9L7:MOVDL,‘G’JMPL9L8:MOVDL,‘H’JMPL9L9:MOVAH,02HINT21HL10:MOVAH,4CHINT21HCODEENDSENDSTART2023/2/4例3-9:數(shù)據(jù)塊傳送程序:將以S1為起始地址的30個(gè)字符依次傳送到同數(shù)據(jù)段的以S2為起始地址的一片字節(jié)存儲(chǔ)單元里。(例3-1)
完成操作后自動(dòng)修改SI、DI,使其指向串的下一個(gè)元素,串操作方向由CLD和STD指令設(shè)置:
CLD
地址遞增方向(DF=0)
STD
地址遞減方向(DF=1)字符串操作指令:MOVSstr1,str2;(格式)將一個(gè)字節(jié)/字從DS:[SI]ES:[DI]MOVSB;功能MOVSW;功能CMPS、SCAS、LODS、STOS指令前要先將源串首地址DS:[SI]
目標(biāo)串首地址ES:[DI]2023/2/4需要先將串的長度存入CX寄存器每處理完一個(gè)元素自動(dòng)使CX-1,直到CX=0才
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2163-2024漆膜劃格器校準(zhǔn)規(guī)范
- 2024年度隔墻板市場推廣與銷售合同
- 2024年企業(yè)合規(guī)管理與風(fēng)險(xiǎn)評估服務(wù)合同
- 2024人工智能在金融服務(wù)中的應(yīng)用合同
- 2024年度品牌授權(quán)合同:知名品牌授權(quán)使用合同
- 句子改寫課件教學(xué)課件
- 2024年度云計(jì)算服務(wù)帶寬擴(kuò)展及維護(hù)合同
- 2024年度吊車保險(xiǎn)合同:保險(xiǎn)責(zé)任與賠償限額
- 2024中小企業(yè)貸款及還款細(xì)節(jié)合同
- 2024年應(yīng)急響應(yīng):消防設(shè)施建設(shè)與維護(hù)合同
- 新課標(biāo)下小學(xué)生運(yùn)算能力的培養(yǎng)研究的開題報(bào)告
- 餐飲行業(yè)初期投資預(yù)算分析
- 遼寧省重點(diǎn)高中沈陽市郊聯(lián)體2023-2024學(xué)年高三上學(xué)期期中生物試題(解析版)
- 剪映:手機(jī)短視頻制作-配套課件
- 西氣東輸二線25標(biāo)段山嶺隧道內(nèi)管道安裝技術(shù)
- 防校園欺凌-課件(共28張PPT)
- 第6章 智能網(wǎng)聯(lián)汽車測評技術(shù)
- 單向板結(jié)構(gòu)設(shè)計(jì)
- 普通高等學(xué)校學(xué)生轉(zhuǎn)學(xué)申請表
- 房租、水、電費(fèi)(專用)收據(jù)Excel模板
評論
0/150
提交評論