一些简单的汇编程序_第1页
一些简单的汇编程序_第2页
一些简单的汇编程序_第3页
一些简单的汇编程序_第4页
一些简单的汇编程序_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、大于 500 为止,并将结果在屏幕上显示出来DIV BX(N 的值和最终的和的值) 。MOVCX,DXDATA SEGMENTADDAL,30HN DW?MOVDL,ALSUM DW?MOVAH,2INT 21HDATA ENDSE2:MOVAX,BXMOVBL,10DIV BLMOVAH,4CHINT 21HCODEENDSEND STARTADDAL,30HMOVDL,ALMOVCL,AHMOVAH,2INT 21H2. 从键盘输入学生成绩(A B、C D),自 动汇总并显示各类分数的人数。按下 $键则 停止输入;若按下A、B C D之外的键则提 示 “ INPUT ERROR 信息。DA

2、TA SEGMENTADDCL,30HA,B,C,D: ,13,10,$MOVDL,CLM2DB13,10,Input error!MOVAH,2 ,13,10,$INT 21HM3DB13,10,The number of A is:$M4DB13,10,The number of B is:$MOVAH,2M5DB13,10,The number of C is:$MOVDL,0AHM6DB13,10,The number of D is:$INT 21HMOVAX,SUMDATA ENDSCWDSTACKSEGMENTM1 DB Please inputCODESEGMENTASSUME

3、CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,0MOVBL,0E1: INC BLADDAX,BXCMPAX,500JBE E1MOVN,BXMOVSUM,AXMOVBL,10MOVAX,CXDIV BLMOVCL,AHMOVAH,2ADDAL,30HMOVDL,ALINT 21HMOVAH,2ADDCL,30HMOVDL,CLINT 21HSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAH,9MOVDX, OFFSETM1INT 21HMOV

4、BX,0MOVCX,0E1:MOVAH,1INT 21HMOVAH,41HCMPAL,AHJNZ E2INC BLJMP E1E2:MOVAH,42HCMPAH,ALJNZ E3INC BHJMP E1E3:MOVAH,43HCMPAH,ALJNZ E4INC CLJMP E1E4:MOVAH,44HCMPAH,ALJNZ E5INC CHJMP E1E5:MOVAH,24HCMPAH,ALJZ E6MOVAH,9MOVDX, OFFSETM2INT 21HJMP E1E6: MOVAH,9 MOVDX, OFFSETM3INT 21H MOVAH,2 ADCBL,30H MOVDL,BLIN

5、T 21H MOVAH,9 MOVDX, OFFSETM4INT 21H MOVAH,2 ADCBH,30H MOVDL,BHINT 21H MOVAH,9 MOVDX, OFFSETM5INT 21H MOVAH,2 ADCCL,30H MOVDL,CLINT 21H MOVAH,9 MOVDX, OFFSETM6INT 21H MOVAH,2 ADCCH,30H MOVDL,CHINT 21H MOVAH,4CHINT 21HCODEENDS END START3. 动态输入 20个二位无符号数, 找出其中最 大数并显示。 DATASSEGMENTM1 DB Please input 5

6、numbers: ,13,10, $M2 DB The biggest number is:$M3 DB ,13,10, $ MAX DW?DATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKS START:MOVAX,DATASMOVDS,AXMOVMAX,0LEADX,M1MOVAH,9INT 21HMOVCL,5LP: MOVAH,1INT 21HSUBAL,30HMOVBH,ALMOVAH,1INT 21HSUBAL,30HMOVBL,ALLEADX,M3MOVAH,9INT 21HCM

7、PMAX,BXJNL EXITXCHGMAX,BXEXIT: LOOP LPLEADX,M2MOVAH,9INT 21HMOVBX,MAXADDBH,30HMOVDL,BHMOVAH,2INT 21HADDBL,30HMOVDL,BLMOVAH,2INT 21HMOVAH,4CHINT 21HCODESENDSEND START4. 设数据区有两个字符串,串 1的长度为 5, 串 2 的长度为 10。编程:若串 2 的最后 5 个字 符和串1相同,则置FLAG单元为“ Y” 否则 置为“ N”。DATASSEGMENT51 DB DKJFD$52 DB DSFGDDDJFD$FLAG DB T

8、HE FLAF IS THE:$DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:DATASSTART:MOVAX,DATASMOVDS,AXMOVES,AXLEADX,FLAGMOVAH,9INT 21HLEASI,S1LEADI,S2 +5MOVCX,5REPE CMPSBJNE EXITMOVAH,2MOVDL, YINT 21HJMP OVEREXIT:MOVAH,2MOVDL, NINT 21HOVER:MOVAH,4CHINT 21H CODESENDSEND START5. 编写打印图形程序 DATASSEGMENTs db 9876

9、543210 ,13,10, $ a dw ?DATASENDS CODESSEGMENTASSUMECS:CODES,DS:DATAS START:MOVAX,DATASMOVDS,AX movcx,10 movbx,9 mova,2 loop1: movdl,0ahmovah,2int 21h movdl,0dh movah,2int 21h loop2:movdl,sbx movah,2 int 21h inc bx cmpbx,9 jbe loop2 sub bx,a inc a loop loop1MOVAH,4CHINT 21H CODESENDSEND START6. 用子程序结

10、构编写程序: 从键盘入一个二 位十进制数的月份( 0112),然后显示相 应的英文缩写名。DATASSEGMENPTARA DATATHREE DB4MONIN DB4,5 DUP( ?)ALFMON DB4, ?. ,$MONTABDBJAN. , FEB. , MAR. , APR. , MAY. , JUN. , JUL. , AUG. , SEP. , OCT. ,N OV. , DEC.DATASENDSCODESSEGMENPTARA CODEASSUMECS:CODES,DS:DATAS,ES:DATASMAIN PROC FARPUSHDSSUB AX,AXPUSHAXMOVA

11、X,DATASMOVDS,AXMOVES,AXCALL INPUTCALL LOCATECALL DISPLAYRETMAIN ENDPINPUT PROC NEARPUSHDXMOVAH,0AHLEA DX,MONININT 21HMOVAH,MONIN+2MOVAL,MONIN +3XORAX,3030HCMPAH,00JZ RETURNSUB AH,AHADD AL,10RETURN:POPDXRETINPUT ENDPLOCATE PROC NEARPUSHSIPUSHDIPUSHCXLEA SI,MONTABDEC ALMUL THREEADD SI,AXMOVCX,03CLDLEA

12、 DI,ALFMON +1REP MOVSBPOP CXPOP DIPOP SIRETLOCATE ENDPDISPLAY PROC NEARPUSHDXLEA DX,ALFMON+1MOVAH,09INT 21HPOP DXRETDISPLAY ENDPCODESENDSENDMAIN7. 数组排序DATASSEGMENTSTRING DB INPUT 20NUMBERS:,0AH,0DH, $BUF DB20 DUP( ?)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXLEADX,STRINGMOV

13、AH,9INT 21HMOVCX,20MOVSI,0LOOP1: ; 动态输入 20个无符号的两位数MOVAH,1INT 21HMOVBL,10 MULBL MOVDX,AX MOVAH,1INT 21H SUBAL,30H ADDDL,AL MOVBL,DLMOVAH,2 MOVDL, INT 21H MOVBUFSI,BL INC SILOOP LOOP1MOVCX,19; 比较 19次E1:MOVDI,CX MOVBX,0E2: ;用冒泡法比较 , 前后比较 MOVAL,BUFBX CMPAL,BUFBX+1JNG E3 XCHGAL,BUFBX+1 MOVBUFBX,ALE3:ADDB

14、X,1LOOP E2 MOVCX,DILOOP E1 MOVAH,2 MOVDL,0AHINT 21H MOVAH,2 MOVDL,0DHINT 21HMOVCL,20; 从小到大输出数组MOVBX,0MOVSI,0LOOP2:MOVAL,BUFSIMOVBL,10DIV BLMOVBH,AHMOVAH,2ADDAL,30HMOVDL,ALINT 21HMOVAH,2ADDBH,30HMOVDL,BHINT 21HMOVAH,2MOVDL, INT 21HINC SILOOP LOOP2MOVAH,2MOVDL,0AHINT 21HMOVAH,2MOVDL,0DHINT 21HMOVAH,4CHINT 21HCODESENDSEND START8. 求三个数中最大的数 DATASSEGMENTBUF1 DB3BUF2 DB9BUF3 DB7MAX DB ?STRING DB The max namber is: ,13,10, $ DATASENDSSTACKSSEGMENTSTACKSENDSASSUMECS:CODES,DS:DATAS,SS:STACKS START:MOVAX,DATASMOVDS,AXMOVBL,BUF2CMPBUF1,BLJG NEXTMOVCL,BUF3CMPBUF2,CLJG E3JMP E1NEXT:MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论