资源描述:
《微机原理及应用习题库硬件应用设计题汇编语言程序设计题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微机原理及应用汇编语言程序设计第32讲~第38讲0.80.815假设有一字节型数组ARRAY,编写完整的汇编语言程序求该数组中负数的个数。其中,在该数组的第一个字节存放的是数组中所包含的数据的个数,第二个字节用来存放结果,即数组中负数的个数,数组中的第三个字节开始存放的是数组中的数据。1.写出编程思想;2.编写完整的源程序。1.编程思想为统计数组中负数的个数,需要逐个判断数组中的每个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,便是数组中所包含的负数的个数。2.完整的源程序STACKSEGMENTS
2、TACKDB256DUP(?)STACKENDSDATASEGMENTARRAYDB200DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADI,ARRAYMOVSI,DIMOVCL,[DI]XORCH,CHMOVBL,CHINCDIINCDIAGAIN:TESTBYTEPTR[DI],80HJZPOSIINCBLPOSI:INCDILOOPAGAINMOV[SI]+1,BLMOVAH,4CHINT
3、21HCODEENDSENDSTART27微机原理及应用汇编语言程序设计第32讲~第38讲0.80.815编一个完整的汇编语言程序,完成从键盘输入一个字符,若输入的是1字符,则在屏幕上显示你的英文名字;若输入的是2字符,则在屏幕上显示你的学号。若输入的不是1或者2字符,则重新输入。STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTSTRING1DB‘DOYOUWANTTOINPUTSTRING?(Y/N):$’CRLFDB0DH,0AH,’$’STRING2DB‘P
4、LEASEINPUTSTRING.’,0DH,0AH,’$’NAMEDB‘ZHANGSAN.’,0DH,0AH,’$’NUMBERDB‘020701053.’,0DH,0AH,’$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADX,STRING1MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,’Y’JEINPUTCMPAL,’y’JNEDONEINPUT:LEADX,CRLFMOV
5、AH,09HINT21HLEADX,STRING2MOVAH,09HINT21HAGAIN:MOVAH,01HINT21HCMPAL,’1’JEDISPNAMECMPAL,’2’JEDISPNUMBER27JMPAGAINDISPNAME:LEADX,NAMEMOVAH,09HINT21HJMPDONEDISPNUMBER:LEADX,NUMBERMOVAH,09HINT21HDONE:MOVAH,4CHINT21HCODEENDSENDSTART微机原理及应用汇编语言程序设计第32讲~第38讲0.80.815
6、假设有一字节型数组ARRAY,编写完整的汇编语言程序求该数组中小于80H的数的个数。其中,在该数组的第一个字节存放的是数组中所包含的数据的个数,第二个字节用来存放结果,数组中的第三个字节开始存放的是数组中的数据。1.写出编程思想;2.编写完整的源程序。1.编程思想将数组中的每个数逐个与80H比较,根据大小关系方可统计出数组中小于80H的数的个数2.完整的源程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTARRAYDB200DUP(?)DATAENDSCODES
7、EGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADI,ARRAYMOVSI,DIMOVCL,[DI]XORCH,CHMOVBL,CHINCDI27INCDIAGAIN:CMPBYTEPTR[DI],80HJAEL1INCBLL1:INCDILOOPAGAINMOV[SI]+1,BLMOVAH,4CHINT21HCODEENDSENDSTART微机原理及应用汇编语言程序设计第32讲~第38讲0.80.815在存储器DATABUF以下连续
8、的单元存放着由字符0~9或A~F组成的一串字符(字符个数自定义或用其它方法求解),试编写完整的8086汇编语言程序,将其转换成数字存回原处。(如某单元的字符为‘1’,即31H,就转换成01H;为‘A’,即41H,就转换成0AH)1.写出编程思想;2.编写完整的源程序。1.编程思想将存储器DATABUF以下连续的单元中的每个数与39H(1字符的ASCLL码)比较,若该数小于等于39H,则