




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題4:請編寫完整匯編程序:1. 內(nèi)存中以BUF單元開始存放8個16位二進(jìn)制數(shù),試編程將8個數(shù)倒序后存放于BUF開始的單元,試編程;(提示:采用堆棧實(shí)現(xiàn))DATA SEGMENTORG 0000HBUF DW 1111H,2222H,3333H,4444H,5555H,6666H,7777H,8888HCOUNT EQU ($-BUF)/2DATA ENDSSTACK1 SEGMENT STACK DW 256 DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK1,DS:DATASTART: MOV AX,DATA MOV DS,AX M
2、OV AX,STACK1 MOV SS,AX LEA SI,BUF MOV CX,COUNTLOP1: MOVAX,SI PUSH AX INC SI INC SI LOOP LOP1 LEA SI,BUF MOV CX,COUNTLOP2: POP AXMOVSI,AX INC SI INC SI LOOP LOP2CODE ENDS END START2. 將8個16位無符號數(shù)相加,結(jié)果保存在32位無符號數(shù)SUM中;DATA SEGMENTBUF DW 1111H,2222H,3333H,4444H,5555H,6666H,7777H,8888HCOUNT EQU ($-BUF)/2SUM
3、 DD 0DATA ENDSSTACK1 SEGMENT STACK DW 100 DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATA MOV DS,AX LEA BX,BUF MOV CX,COUNT MOV DX,0000HLOP: MOV AX,BX ADD WORD PTR SUM,AX ADC WORD PTR SUM+2,DX INC BX INC BX LOOP LOP MOV AX,4C00H INT 21HCODE ENDS END START3. 以十進(jìn)制形式在計(jì)算
4、機(jī)屏幕上顯示內(nèi)存中的一個8位有符號數(shù),例如:若內(nèi)存單元中存放的數(shù)據(jù)為7FH,則在屏幕上顯示+127,若內(nèi)存單元存放的數(shù)據(jù)為0FFH,則應(yīng)在屏幕上顯示-1;DATA SEGMENT VARDB0FFH STR1 DB 'THE RESULT IS: $'DATA ENDSSS_SEG SEGMENT STACKDW100 DUP(0)SS_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:SS_SEGSTART:MOVAX, DATAMOVDS, AXLEADX,STR1MOVAH,09HINT21HMOVDL, '+
5、9;CMPVAR, 0 JGE NEXTMOVDL, '-'NEGVARNEXT:MOVAH,02HINT21HMOVAL, VARMOVBL, 10MOV CL,0LOP1: AND AH,0 DIV BL PUSH AX INC CL CMP AL,0 JNZ LOP1LOP2: POPAX MOV DL,AH ADD DL,30H MOV AH,2 INT 21H LOOP LOP2 MOV AX, 4C00HINT21HCODE ENDSEND START4. 從鍵盤輸入一個4位十進(jìn)制數(shù),然后以16進(jìn)制形式顯示在屏幕上,試編程;例如:輸入1 0 2 4 在屏幕上應(yīng)該顯示
6、0400HDATA SEGMENT STR1 DB 'INPUT DATA: $'BUFDB20DB4DB4 DUP(?) STR2 DB 0AH,0DH,'THE RESULT IS: ','$'DATA ENDSSS_SEG SEGMENT STACKDB100 DUP(0)SS_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:SS_SEGSTART:MOVAX, DATAMOVDS, AXLEADX,STR1MOVAH,09HINT21HMOVAH,0AHLEADX,BUFINT21HMOV
7、CX,03HLEASI,BUF+2ANDBX,0HMOVDL,0AHLOP1:MOVAL,SISUBAL,30HPUSHCXLOP2:MULDL LOOP LOP2POPCXADDBX,AXINCSILOOP LOP1ANDCH,00HMOVCL,SISUBCL,30HADDBX,CXLEADX,STR2MOVAH,09HINT21HMOVAX,BX AND CH,00HMOVCL,04HMOVDH,04HMOVDL,00HAAA1:ANDAX,000FHPUSHAXDECDHINCDLSHRBX,CLMOVAX,BXCMPDH,0JAAAA1 MOV CL,DLBBB:POPDX CMPDL
8、,09HJBNEXTADDDL,07H NEXT: ADD DL,30H MOV AH,2 INT 21HLOOPBBBMOVDL,'H'MOVAH,02HINT21H MOVAX,4C00HINT21HCODEENDSENDSTART5. 數(shù)據(jù)段中存放有一個無符號字?jǐn)?shù)據(jù)VAR,將其轉(zhuǎn)換成非壓縮格式的BCD碼,存于BUF開始的單元中(高位在前);例如:若VAR為0800H,則轉(zhuǎn)換后(BUF) = 20H(BUF+1) = 48HDATA SEGMENT PARAVARDW0800HBUFDB2 DUP(0)DATA ENDSSS_SEG SEGMENT STACKDW100 D
9、UP(0)SS_SEG ENDSCODE SEGMENT PARAASSUME CS:CODE, DS:DATA, SS:SS_SEGSTART:MOVAX, DATAMOVDS, AXMOVCX, 16MAIN1:SHLVAR, 1MOVBX, 4PUSHCXMOVCX, 5MAIN2:MOVAL, BUFBXADCAL, ALAAAMOVBUFBX, ALDECBXLOOPMAIN2POPCXLOOPMAIN1EXIT:MOVAX, 4C00HINT21HCODE ENDSEND START6. 內(nèi)存中以str1和str2開始分別存放了兩個字符串,結(jié)束符為NULL(ASCII碼為0),將s
10、tr2連接到str1后,形成1個字符串,并將連接后的字符串str1輸出到屏幕上;DATA SEGMENT STR1DB'GOOD MORNING,',00HSTRDB50 DUP(0)STR2DB'Mr WANG!',0AH,0DH,00HDATA ENDSSS_SEG SEGMENT STACKDW100 DUP(0)SS_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:SS_SEGSTART: MOV AX,DATAMOVDS,AX LEA SI,STR1MOVAL,SICMPAL,00HJEJP1JP2:I
11、NCSIMOVAL,SICMPAL,00HJAJP2JP1:MOVCX,01HLEABX,STR2MOVAH,BXMOVBX,AHCMPAH,00HJEJP3MOVSI,AHJP4:INCSIINCBXINCCXMOVAH,BXMOVSI,AHCMPAH,00HJAJP4JP3: INC SI MOV SI,BYTE PTR '$'LEADX,STR1MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSENDSTART7. 統(tǒng)計(jì)10個有符號字節(jié)數(shù)中,大于0、小于0、等于0的個數(shù),分別存放在NUM1、NUM2、NUM3三個變量中,并找出最大值、最小值分
12、別存放到MAX、MIN變量中,再求10個數(shù)的和,將結(jié)果存放到16位有符號數(shù)SUM中。DATA SEGMENT NUMDB0F0H,03H,0B4H,0AH,0AAH,00H,80H,7FH,99H,21HCOUNTEQU($-NUM)ORG0010HNUM1DB0NUM2DB0NUM3DB0MINDB0MAXDB0SUMDW0DATA ENDSSS_SEG SEGMENT STACKDW100 DUP(0)SS_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:SS_SEGSTART: MOV AX,DATAMOVDS,AXMOVSS,AXLEA
13、SI,NUMMOVCX,COUNTMOVBX,0000HMOVDX,0000HLOP:MOVAL,SIINCSICMPAL,0JGDAJLXIAOJEDENGDA:INCBHJMPAAA1XIAO:INCBLJMPAAA1DENG:INCDHAAA1:LOOPLOPLEASI,NUM1MOVSI,BHLEASI,NUM2MOVSI,BLLEASI,NUM3MOVSI,DHMOVCX,COUNT-1MAIN1: LEA BX,NUMPUSHCXMAIN2: MOV AL,BX INC BX CMP AL,BX JLE NEXT XCHG AL,BX MOV BX-1,ALNEXT:LOOPMAI
14、N2POPCXLOOPMAIN1LEASI,MIN MOV AL,NUM MOV SI,ALLEASI,MAX MOV BL,NUM+9 MOV SI,BL MOV SI,OFFSETNUM MOVCX,COUNT MOVAX,0LOP2: AND BX,0MOVBL,SIADDAX,BXINC SI LOOP LOP2LEASI,SUMMOVSI,AXMOVAX,4C00HINT21HCODEENDSENDSTART8 若程序的數(shù)據(jù)段定義如下,寫出各指令語句獨(dú)立執(zhí)行后的結(jié)果。DSEG SEGMENTDATA1 DB 10H, 20H, 30HDATA2 DW 10 DUP (?)String
15、 DB 123DSEG ENDS(1) MOV AL, DATA1 10H->AL(2) MOV BX, offset DATA2DATA2代表的首地址賦給BX(3) LEA SI, StringString代表的首地址賦給BXADD DI,SISI+DI->DI9 假設(shè)數(shù)據(jù)項(xiàng)定義如下:DATA1 DB HELLO!GOOD MORNINGDATA2 DB 20 DUP(?)用串操作指令編寫程序段,使其分別完成一下功能。(1) 從左到右將DATA1中的字符串傳送到DATA2中;LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPMOVSB(2) 傳送完后,比較D
16、ATA1和DATA2中的內(nèi)容是否相同;LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPECMPSB(3) 把DATA1中的第3個字節(jié)和第四個字節(jié)裝入AX;LEASI,DATA1ADDSI,2LODSW(4) 將AX的內(nèi)容存入DATA2+5開始的字節(jié)單元中;LEADI,DATA2ADDDI,5STOSW10 執(zhí)行下列指令后,AX寄存器中的內(nèi)容是多少?TABLE DW 10,20,30,40,50ENTRY DW 3MOV BX, Offset TABLEADD BX, ENTRYMOV AX,BXAX=1400H存儲器11 圖示以下數(shù)據(jù)段在存儲器中的存放形式;10H34H07H09H42H00H42H00H48H45H4CH4CH4FH21HCDHABH00H00HDATA SEGMENT DATA1DB 10H, 34H, 07H, 09H DATA2DW 2 DUP(42H) DATA3 DB HELLO!DATA4 EQU 12DATA5 DD ABCDHDATA ENDS12 閱讀下邊的程序段,試說明它實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市死者賠償協(xié)議書
- 營銷末位淘汰協(xié)議書
- 音樂教師合同協(xié)議書
- 非法轉(zhuǎn)移土地協(xié)議書
- 農(nóng)家樂股份合同協(xié)議書
- 酒廠污泥處理協(xié)議書
- 銀行股份認(rèn)購協(xié)議書
- 供應(yīng)鏈管理合作協(xié)議書
- 公司注銷股東間協(xié)議書
- PSW品質(zhì)提交協(xié)議書
- 自動噴水滅火系統(tǒng)質(zhì)量驗(yàn)收項(xiàng)目缺陷判定記錄
- 人教版一年級起點(diǎn)小學(xué)二年級英語下冊全套教案
- T-CCIAT 0043-2022 建筑工程滲漏治理技術(shù)規(guī)程
- 供貨、安裝、調(diào)試、驗(yàn)收方案
- 電氣設(shè)備-開篇緒論匯編
- 婚無遠(yuǎn)慮必有財憂法商思維營銷之婚姻篇74張幻燈片
- 紅外圖像處理技術(shù)課件
- 小學(xué)一年級人民幣學(xué)具圖片最新整理直接打印
- 運(yùn)動負(fù)荷參考曲線
- 電梯快車調(diào)試方法
- 醫(yī)院病種分析系統(tǒng)操作手冊
評論
0/150
提交評論