资源描述:
《汇编上机考试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编上机考试题及答案;试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXabc:movah,1int21hcmpal,'a'jbstopcmpal,'z'jastopsubal,20hmovdl,almovah,2int21hjmpabcstop:
2、retMOVAH,4CHINT21HCODESENDSENDSTART;编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,;再按顺序显示这三个字符。DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXBEGIN:MOVAH,1;从键盘输入一个字符的DOS调用INT21HCMPAL,'a';输入字符<‘
3、a’吗?JBSTOPCMPAL,'z';输入字符>‘z’吗?JASTOPDECAL;得到前导字符MOVDL,AL;准备显示三个字符MOVCX,3DISPLAY:MOVAH,2;显示一个字符的DOS调用INT21HINCDLLOOPDISPLAYSTOP:RETMOVAH,4CHINT21HCODESENDSENDSTART;将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中。assumecs:codecodesegmentstart:movax,1234hmovbx,axmovcx,axm
4、ovdx,axandal,0fh;al中是4movcl,4shrbl,cl;bl中是3andch,0fh;ch中是2,先存在这,最后再给clmovcl,4shrdh,clmovdl,dh;dl中是1movcl,chmovax,4c00hint21hcodeendsendstart;试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否完全相同,;若相同则显示‘MATCH’,若不相同则显示‘NOMATCH’。datasegmentstring1db'Thisisthefirststring.','$'strin
5、g2db'Thisisthesecondstring.','$'mess1db'NOMATCH',13,10,'$'mess2db'MATCH',13,10,'$'dataendscodesegmentassumecs:code,ds:data,es:datastart:pushdssubax,ax;ax清零movax,datamovds,axmoves,ax;初始化leasi,string1leadi,string2;字符串比较again:movbl,byteptr[di]cmp[si],bljnznzero;转到不等于add
6、si,1adddi,1cmpbyteptr[si],'$'jnzagain;两字符串等于的输出movdx,offsetmess2movah,09hint21hmovah,4chint21h;不等于的输出nzero:movdx,offsetmess1movah,09hint21hmovah,4chint21hcodeendsendstart;编写程序,将一个包含有20个数据的数组M分成两个数组:正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。DSEGSEGMENTCOUNTEQU20ARRAYDW20DUP(?);
7、存放数组COUNT1DB0;存放正数的个数ARRAY1DW20DUP(?);存放正数COUNT2DB0;存放负数的个数ARRAY2DW20DUP(?);存放负数ZHENDB0DH,0AH,'‘Thepositivenumberis:’','$';正数的个数是:FUDB0DH,0AH,'‘Thenegativenumberis:’','$';负数的个数是:CRLFDB0DH,0AH,'$'DSEGENDS;---------------------------------------------------------------
8、-----------CSEGSEGMENTMAINPROCFARASSUMECS:CSEG,DS:DSEGSTART:PUSHDS;设置返回DOSSUBAX,AXPUSHAXMOVAX,DSEGMOVDS,AX;给DS赋值BEGIN:MOVCX,COUNTLE