一些简单的汇编程序_第1页
一些简单的汇编程序_第2页
一些简单的汇编程序_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一些简单的汇编程序集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY1编制程序计算S二1+2+3+4+N直到和大于 500为止,并将结果在屏幕上显示出来(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.从键盘输入学生成绩(A、B、C、D),自动 汇总并显示各类分数的人数。按下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.动态输入20个二位无符号数,找出其中最大JNZE5数并显示。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.设数据区有两个字符串,串1的长度为5,串2的长度为1

8、0。编程:若串2的最后5个字符和 吊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、程序结构编写程序:从键盘入一个二位LEA SI,MONTAB十进制数的月份(0广12),然后显示相应的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.数组排序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:;动态输入20个无符号的两位数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;从小到大输出数组LOOP L00P1MOV AH, 2MOV CX, 19;比较19次MOV DL, OAHINT 21HMOV AH, 2MOV DL,ODHINT 21HMOV AH, 4CHINT 21HCODES ENDSEND START8.求三个数中最大的数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等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论