汇编程序参考_第1页
汇编程序参考_第2页
汇编程序参考_第3页
汇编程序参考_第4页
汇编程序参考_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

程序1:试编写一个程序,要求比较两个字符串string1和string2所含字符是否相同,若相同则显示“MATCH”,若不相同则显示”NOMATCH”。datasegmentstr1db "hello$"mess1db"match$"mess2db"nomatch$"dataendsextrasegmentstr2db"heloo$"extraendscodesegmentassumecs:code,ds:data,es:extrastart:movax,datamovds,axmovax,extramoves,axleasi,str1leadi,str2movcx,6repecmpsbjematchleadx,mess2jmpexitmatch:leadx,mess1exit:movah,9int21hmovah,4chint21hcodeendsendstart程序2:从键盘接受字符串,以$符结束,并将该字符串存入附加段中的str中。extrasegmentstrdb10dup(?)extraendscodesegmentassumecs:code,es:extrastart:pushdssubax,axpushaxmovax,extramoves,axleasi,strbegin:movah,1int21hmoves:[si],alincsicmpal,'$'jnebeginmovah,4chint21hcodeendsendstart程序3:在屏幕上输出:*************************CODESEGMENT ASSUMECS:CODESTART: movbx,9rotate: movdl,'*' movcx,bxprint: movah,02h int21h loopprint movdl,0ah movah,02h int21h movdl,0dh movah,02h int21h subbx,2 jnsrotate MOVAH,4CH INT21HCODEENDS ENDSTART 程序4:将BX的内容以十六进制的形式显示在屏幕上。CODESEGMENT ASSUMECS:CODESTART: MOVBX,6AC4H MOVCH,4ROTATE: MOVCL,4 ROLBX,CL MOVAL,BL ANDAL,0FH ADDAL,30H CMPAL,3AH JLPRINTIT ADDAL,7 PRINTIT:MOVDL,AL MOVAH,2 INT21H DECCH JNZROTATE MOVAH,4CH INT21HCODEENDS ENDSTART 程序5:首地址为BUF的内存单元存有10个字节数,统计其中单元内容为0的单元个数,并将结果显示出来。DATASSEGMENTBUF DB 12,0,11,0,51,56,0,0,44,-74DATASENDSCODESSEGMENT ASSUMECS:CODES,DS:DATASSTART: MOVAX,DATAS MOVDS,AX MOVCX,10 MOVSI,0 MOVDL,0ROTATE:CMPBUF[SI],0 JNENEXT INCDLNEXT: INCSI LOOPROTATE ADDDL,30H MOVAH,02H INT21H MOVAH,4CH INT21HCODESENDSENDSTART程序6:统计一个有10人的班中,男、女生的人数各为多少。将统计结果的男生人数存入变量MAN中,女生人数存入变量WOMAN中。数据段定义如下:DATASSEGMENTBUF DB 1,1,0,0,1,0,1,1,0,0;男生为1,女生为0mandb ?woman db ?DATASENDS源代码:DATASSEGMENTBUF DB 1,1,0,0,1,0,1,1,0,0;男生为1,女生为0mandb ?woman db ?DATASENDSCODESSEGMENT ASSUMECS:CODES,DS:DATASSTART: MOVAX,DATAS MOVDS,AX MOVCX,10 MOVSI,0 MOVDL,0;存放男生数量 MOVBL,0;存放女生数量ROTATE:CMPBUF[SI],0 JNENEXT INCDL JMPNEXT2NEXT: INCBLNEXT2: INCSI LOOPROTATE MOVMAN,DL MOVWOMAN,BL MOVAH,4CH INT21HCODESENDSENDSTART程序7:编程序段计算SUM=a1+a2+……+a20,已知a1……a20依次存放在BUF为首地址的数据区,每个数据占两个字节。和数SUM也为2个字节。DATASSEGMENTBUF Dw 20dup(3)sumdw ?DATASENDSCODESSEGMENT ASSUMECS:CODES,DS:DATASSTART: MOVAX,DATAS MOVDS,AX MOVCX,20 LEASI,BUF movax,0;存放和数ROTATE:ADDAX,[SI] ADDSI,2 LOOPROTATE MOVSUM,AX MOVAH,4CH INT21HCODESENDSENDSTART程序8:在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编写一完整程序,求它们对应项的绝对值之和,并将和数存入以SUM为首地址的数据区中。DATASSEGMENT BUF1 DW -56,24,54,-1,89,-8,43,23,-65,4 BUF2 DW 45,-23,124,345,-265,-6,44,23,-21,43 SUM DW 10DUP(0)DATASENDSCODESSEGMENT ASSUMECS:CODES,DS:DATASSTART: MOVAX,DATAS MOVDS,AX MOVCX,10 MOVSI,0ROTATE:MOVAX,BUF1[SI] CMPAX,0 JNSNEXT1 NEGAXNEXT1: MOVBX,BUF2[SI] CMPBX,0 JNSNEXT2 NEGBXNEXT2: ADDAX,BX MOVSUM[SI],AX ADDSI,2 LOOPROTATE MOVAH,4CH INT21HCODESENDSENDSTART字符串传送DATASEGMENTSTR1DB'HELLO'DATAENDS

EXTRASEGMENTSTR2DB5DUP(?)EXTRAENDS

CODESEGMENTASSUMECS:CODE,DS:DATA,ES:EXTRASTART:MOVAX,DATAMOVDS,AX

MOVAX,EXTRAMOVES,AX

LEASI,STR1LEADI,STR2CLDMOVCX,5REPMOVSB

MOVAH,4CHINT21HCODEENDSENDSTART编程序求W=(V-(X*Y+Z-540))/XDATASSEGMENTxdd034a0020hydd3hzdd4hwdd?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AX;此处输入代码段代码movax,wordptrxmovdx,wordptrx+2

温馨提示

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

评论

0/150

提交评论