一些簡單的匯編程序_第1頁
一些簡單的匯編程序_第2頁
一些簡單的匯編程序_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一些簡單的匯編程序集團(tuán)文件發(fā)布號(hào):(9816-UATWW-MWUB-WUNN-INNUL-DQQTY1編制程序計(jì)算S二1+2+3+4+N直到和大于 500為止,并將結(jié)果在屏幕上顯示出來(N的值 和最終的和的值)。DATA SEGMENTN DWSUM DWDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV AX,0MOV BL,0El: INC BLADD AX,BXCMP AX, 500JBE ElMOV N, BXMOV SUM, AXE2:MOV AX, BXMOV BL, 10DIV B

2、LADD AL, 30HMOV DL, ALMOV CL, AHMOV AH, 2INT 21HADD CL, 30HMOV DL,CLMOV AH, 2INT 21HMOV AH, 2MOV DL,OAHINT 21HMOV AX, SUMCWDMOV BX, 100DIV BXMOVCX,DXADDAL,30HMOVDL,ALMOVAH,2INT21HMOVBL,10MOVAX,exDIVBLMOVCL,AHMOVAH,2ADDAL,30HMOVDL,ALINT21HMOVAH,2ADDCL,30HMOVDL,CLINT21HMOVAH,4CHINT21HCODE ENDSEND STAR

3、T 2.從鍵盤輸入學(xué)生成績(A、B、C、D),自動(dòng) 匯總并顯示各類分?jǐn)?shù)的人數(shù)。按下S鍵則停止輸入;若按下A、B、C、D之外的鍵則提示 INPUT ERROR” 信息。DATA SEGMENTMl DB 'Please inputA,B,C,D:,13, 10,'S'M2 DB 13,10,'Input error!',13, 10,'S'M3DB13, 10,' ThenumberofAis:M4DB13, 10, 'ThenumberofBis :M5DB13, 10, 'ThenumberofCis :s,M6

4、DB13, 10,' ThenumberofDis:S'DATA ENDSSTACK SEGMENTSTACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AH, 9MlMOV AH, 2ADC BL, 3OHMOV DL, BLINT 21HMOV AH, 9MOV DX, OFFSET M4INT 21HMOV AH, 2MOV DX, OFFSETINT 21HMOV BX, 0MOVCX, 0El:ADC BH,3OHMOVAH, 1MOV DL, BH

5、INT21HINT 21HMOVAH, 41HMOV AH, 9CMPAL, AHMOV DX,OFFSET M5JNZE2INT 21HINCBLMOV AH, 2JMPElADC CL, 3OHE2:MOV DL, CLMOVAH, 42HINT 21HCMPAH, ALMOV AH, 9JNZE3MOV DX, OFFSET M6INCBHINT 21HJMPElMOV AH, 2E3:ADC CH,3OHMOVAH,43HMOV DL, CHCMPAH, ALINT 21HJNZE4MOV AH, 4CHINCCLINT 21HJMPElCODE ENDSE4:END STARTMOV

6、AH, 44HCMPAH, AL3.動(dòng)態(tài)輸入20個(gè)二位無符號(hào)數(shù),找出其中最大JNZE5數(shù)并顯示。DATAS SEGMENTINCCHMl DB 'Please input 5JMPElnumbers:,13,10,'S'E5:M2 DB ' The biggest number is:S'MOVAH, 24HM3DB ' ', 13, 10,' S'CMPAH, ALMAX DWJZ E6DATAS ENDSMOVAH, 9STACKS SEGMENTMOVDX, OFFSETM2INT21HSTACKS ENDSJMPE

7、lE6:CODES SEGMENTMOVAH, 9ASSUME CS:CODES, DS:DATAS, SS:STACKSMOVDX, OFFSETM3START:INT21HMOV AX, DATASMOV DS, AXMOV MAX, 0LEA DX, MlMOV AH,9INT 21HMOV CL,5MOVAH, 1INT21HSUBAL, 30HMOVBH, ALMOVAH, 1INT21HSUBAL, 30HMOVBL, ALLEADX, M3MOVAH, 9INT21HCMPMAX, BXJNLEXITXCHG MAX, BX4.設(shè)數(shù)據(jù)區(qū)有兩個(gè)字符串,串1的長度為5,串2的長度為1

8、0。編程:若串2的最后5個(gè)字符和 吊1相同,則置FLAG單元為“Y”,否則置為“N” oDATAS SEGMENT51 DB 'DKJFDS'52 DB ' DSFGDDDJFDS'FLAG DB 'THE FLAF IS THE:S'DATAS ENDSCODES SEGMENTASSUME CS:CODES, DS:DATAS, ES:DATASSTART:MOV AX, DATASMOV DS, AXMOV ES,AXLEA DX, FLAGMOV AH, 9INT 21HLEA SI, SILEA DI, S2-5MOV CX, 5REP

9、E CMPSBEXIT: LOOP LPLEA DX, M2MOV AH, 9INT 21HMOV BX, MAXADD BH, 30HMOV DL, BHMOV AH, 2INT 21HADD BL, 30HMOV DL, BLMOV AH,2INT 21HJNEEXITMOVAH, 2MOVDL,' Y'INT21HJMPOVEREXIT:MOVAH, 2MOVDL,,fINT21HOVER:MOVAH, 4CHINT21HCODES ENDSMOV AH, 4CHINT 21HCODES ENDSEND STARTEND START5.編寫打印圖形程序DATAS SEGM

10、ENTs db '10', 13, 10,' S' a dwDATAS ENDSCODES SEGMENTASSUME CS:CODES, DS:DATASSTART:MOV AX, DATASMOV DS, AX mov ex, 10 mov bx, 9mov a, 2MOV DS, AX MOV ES,AX CALL INPUT CALL LOCATE CALL DISPLAYloopl: mov dl, OahRETmov ah, 2MAIN ENDPint 21hINPUT PROC NEARmov dl, OdhPUSH DXmov ah, 2MOV

11、AH, OAHint 21hLEA DX, MONINloop2:INT 21Hmov dl, sbxMOV AH,MONIN+2mov ah, 2MOV AL, MONIX-3int 21hXOR AX, 3030Hinc bxCMP AH, 00emp bx, 9JZ RETURNjbe loop2SUB AH, AHsub bx, aADD AL, 10inc aRETURN:loop looplPOP DXMOV AH, 4CHRETINPUT ENDPINT 21HLOCATE PROC NEARCODES ENDSPUSH SIEND STARTPUSH DIPUSH CX6.用子

12、程序結(jié)構(gòu)編寫程序:從鍵盤入一個(gè)二位LEA SI,MONTAB十進(jìn)制數(shù)的月份(0廣12),然后顯示相應(yīng)的DEC AL英文縮寫名。MUL THREEDATAS SEGMENT PARA,DATA,ADD SI, AXTHREE DB 4MOV CX, 03MONIN DB 4,5 DUP()CLDALFMON DB 4,'.','LEA DI, ALFMON-1MONTABREP MOVSBDB' JAN.',' FEB.',' MAR.',' APR.',' MAY.',' JUPOP

13、 CX' JUL.',' AUG.',' SEP.',' OCT.',' NOV.','POP DIDEC.'POP SIDATAS ENDSRETCODES SEGMENT PARA ,CODE,LOCATE ENDPNIAIN PROC FARPUSH DXPUSH DSLEA DX, ALFMON-1SUB AX, AXMOV AH, 09PUSH AXINT 21HMOV AX, DATASPOP DXASSUME CS:CODES, DS:DATAS, ES:DATASDISPLAY PR

14、OC NEARRETDISPLAY ENDPCODES ENDSEND MAIN7.數(shù)組排序DATAS SEGMENTSTRING DB ' INPUT 20NUMBERSOAH, ODH,' $'BUF DB 20 DUP ()DATAS ENDSCODES SEGMENTMOV DI, CXMOV BX, 0E2:;用冒泡法比較,前后比較MOV AL, BUFBXCMP AL,BUFEBX+1JNG E3XCHG AL, BUFEBX+1MOV BUFBX, ALE3:ADD BX, 1LOOP E2MOV CX, DILOOP ElASSUME CS:CODES,

15、 DS:DATASMOVAH, 2START:MOVDL, OAHMOVAX, DATASINT21HMOVDS, AXMOVAH, 2MOVDL,ODHLEADX, STRINGINT21HMOVAH, 9INT21HMOVCL, 20MOVBX,0MOVCX, 20MOVSI,0MOVSI,0L00P2:L00P1:;動(dòng)態(tài)輸入20個(gè)無符號(hào)的兩位數(shù)MOVAL,BUFSIMOVAH, 1CBWINT21HMOVBL, 10SUBAL, 30HDIVBLMOVBL, 10MOVBH, AHMILBLMOVAH, 2MOVDX, AXADDAL,30HMOVAH, 1MOVDL,ALINT21HI

16、NT21HSUBAL, 30HMOVAH, 2ADDDL, ALADDBH, 30HMOVBL, DLMOVDL, BHINT21HMOVAH, 2MOVAH, 2MOVDL,5 'MOVDL,,'INT21HINT21HMOVBUFSI,BLINCSIINCSILOOP L00P2;從小到大輸出數(shù)組LOOP L00P1MOV AH, 2MOV CX, 19;比較19次MOV DL, OAHINT 21HMOV AH, 2MOV DL,ODHINT 21HMOV AH, 4CHINT 21HCODES ENDSEND START8.求三個(gè)數(shù)中最大的數(shù)DATAS SEGMENTBUF1 DB 3BUF2 DB 9BUF3 DB 7MAX DBSTRING DB ' The max namber is:', 13, 10,'$'DATAS ENDSSTACKS SEGMENTSTACKS ENDSE2:MOV AL, BUF1MOV MAX, ALJMP OVERE3:MOV CL, BUF2MOV MAX, CLJMP OVEROVER:MOV DX,OFFSET STRINGMOV AH, 9INT 21HMOV AH, 2ADD MAX, 30HMOV

溫馨提示

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