资源描述:
《微机原理汇编语言实例及习题.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言程序设计上次课后作业4.6假设数据项定义如下:DATA1DB‘HELLO!GOODMORNING!’DATA2DB20DUP(?)用串操作指令编写程序段,使其分别完成以下功能:(1)从左到右将DATA1中的字符串传送到DATA2中。(2)传送完后,比较DATA1和DATA2中的内容是否相同。(3)把DATA1中的第3和第4个字节装入AX。(4)将AX的内容存入DATA2+5开始的字节单元中。解:(1)MOVAX,SEGDATA1MOVDS,AXMOVAX,SEGDATA2MOVES,AXLEASI,DATA1LEADI,DATA2MOVCX,20CLDREPMOVSB(2)LEASI,
2、DATA1LEADI,DATA2MOVCX,20CLDREPECMPSB。。。(3)LEASI,DATA1ADDSI,2LODSW(4)LEADI,DATA2ADDDI,5STOSW编写循环结构程序,进行下列计算,结果存入RESULT内存单元1+2+3+4+5+6+……+1001+3+5+7+9+11+……+992+4+6+8+10+……+1001+4+7+10+13+……+10011+22+33+44+……+99(1)CODESEGMENTASSUMECS:CODESTART:XORAX,AXMOVCX,100AGAIN:ADDAX,CXLOOPAGAINMOVRESULT,AXMOVAX,
3、4C00HINT21HCODEENDSENDSTART(2)CODESEGMENTASSUMECS:CODESTART:XORAX,AXMOVCX,50MOVBX,1AGAIN:ADDAX,BXADDBX,2LOOPAGAINMOVRESULT,AXMOVAX,4C00HINT21HCODEENDSENDSTART(3)CODESEGMENTASSUMECS:CODESTART:XORAX,AXMOVCX,50MOVBX,2AGAIN:ADDAX,BXADDBX,2LOOPAGAINMOVRESULT,AXMOVAX,4C00HINT21HCODEENDSENDSTART(4)CODESEGM
4、ENTASSUMECS:CODESTART:XORAX,AXMOVCX,34MOVBX,1AGAIN:ADDAX,BXADDBX,3LOOPAGAINMOVRESULT,AXMOVAX,4C00HINT21HCODEENDSENDSTART(5)CODESEGMENTASSUMECS:CODESTART:XORAX,AXMOVCX,9MOVBX,11AGAIN:ADDAX,BXADDBX,11LOOPAGAINMOVRESULT,AXMOVAX,4C00HINT21HCODEENDSENDSTART4.17数组SCORE中存有一个班级40名学生的英语课程成绩。按照0~59,60~74,75~8
5、4,85~100统计各分数段人数,存入N0,N1,N2,N3变量内。DATASEGEMNTSCOREDW40DUP(?);运行前置入具体数据N0DW?N1DW?N2DW?N3DW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVN0,0;各计数器清零MOVN1,0MOVN2,0MOVN3,0LEASI,SCOREMOVCX,40AGAIN:MOVAX,[SI]CMPAX,59;分段测试JAL1L0:INCN0JMPNEXTL1:CMPAX,74JAL2INCN1JMPNEXTL2:CMPAX,84JAL3IN
6、CN2JMPNEXTL3:CMPAX,100JANEXTINCN3NEXT:ADDSI,2LOOPAGAINEXIT:MOVAX,4C00HINT21HCODEENDSENDSTART数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。答:DATASEGEMNTARRAYDW-386,97,213,21,77,-91,56,7,123,65DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,6*2;第
7、六个元素在数组内的位移MOVCX,4;循环计数器置初值AGAIN:MOVAX,ARRAY[BX];取出一个元素MOVARRAY[BX-2],AX;向前移动一个位置ADDBX,2;修改指针LOOPAGAIN;循环4次MOVARRAY[BX],0;最后一个元素清零MOVAX,4C00HINT21HCODEENDSENDSTART假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非