资源描述:
《微机原理与接口技术程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序设计题1、统计从01000H内存单元开始的100个字(WORD)型带符号数中的正数,负数和零的字(WORD)个数?解:设正数个数存放于BX中,负数个数存放于DI中,零的个数存放于DX中MOVAX,0100HJZZEROMOVDS,AXJLNEGATMOVBX,0INCBXMOVDX,0JMPNEXT1MOVDI,0ZERO:INCDXMOVSI,0JMPNEXT1MOVCX,100NEGAT:INCDINEXT:MOVAX,[SI]NEXT1:ADDSI,2CMPAX,0LOOPNEXT2、实现两个十六位二进制的加法
2、,要求加数放在FIRST开始单元,被加数放在SECOND开始单元,和数放在SUM单元解:MOVAX,FIRSTADDAX,SECONDMOVSUM,AX3从BUFF单元起有一个字符串(长度小于65535),以'*'结束,编写一个完整程序求该字符串长度存入LENT单元,并统计字符串中含有大写英文字符的个数并存入COUNT单元。要求源程序具备必要的伪指令和段说明。1.DATASEGMENTINCCXBUFFDB'ABCD…….*'CMPAL,'A'LENTDW?JCNEXTCOUNTDW?CMPAL,'Z'DATAENDSJ
3、NCNEXTCODESEGMENTINCDXASSUMECS:CODE,DS:DATANEXT:INCBXSTART:MOVAX,DATAJMPLPMOVDS,AXDONE:INCCXLEABX,BUFFMOVLENT,CXMOVCX,0MOVCOUNT,DXMOVDX,0MOVAH,4CHLP:MOVAL,[BX]INT21HCMPAL,'*'CODEENDSJZDONEENDSTART4.有一带符号8位数X存于DAT单元.编一个程序段判断该数,若x小于0则将0FFH送MARK单元;若X等于0则将MARK+1单元置0F
4、FH;若X大于0则置MARK+2单元为0FFH。MOVAL,DATJMPDONEANDAL,ALLPl:MOVMARK,0FFHJSLP1JMPDONEJZLP2LP2:MOVMARK+1,0FFHMOVMARK+2,0FFHDONE:HLT5.已知有X、Y、Z三个字变量,存放无符号整数,请编一个完整的程序实现公式Z=(X+Y)/(X-Y+600)(不考虑溢出情况)。DSEGSEGMENTSUBBX,YXDW?ADDBX,600YDW?MOVAX,XZDW?ADDAX,YDSEGENDSMOVDX,0CSEGSEGMEN
5、TDIVBXASSUMECS:CSEG,DS:DSEGMOVZ,AXMAINPROCFARMOVAH,4CHBEGIN:MOVAX,DSEGINT21HMOVDS,AXMAINENDPMOVBX,XCSEGENDSENDBEGIN6.AX寄存器中存放着4位十六进制数。试编写一个汇编语言程序,将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用调用子程序的方法实现。CODESEGMENTHASCPROCNEARASSUMECS:CODE,DS:CODEMOVDL,ALSTART
6、:MOVBX,CODEANDDL,0FHMOVDS,BXCMPDL,9MOVCL,4JAL2MOVBL,4ADDDL,30HMOVSI,OFFSETRESULTL1:RETLP:CALLHASCL2:ADDDL,37HMOV[SI],DLJMPL1INCSIHASCENDPSHRAX,CLRESULTDB4DUP(?)DECBLCODEENDSJNZLPENDSTARTEXIT:MOVAH,4CHINT21H7.写出对存放在DX和AX中的双字长数求补的指令序列。方法1方法2方法3MOVCX,0NOTAXNEGDXSUBC
7、X,AXNOTDXNEGAXMOVAX,CXADDAX,1SBBDX,0MOVCX,0ADCDX,0SBBCX,DXMOVDX,CX8.设有两个等长字符串。试编写一个汇编语言程序,比较它们是否完全相同;若相同,则将字符"Y"送入AL中,否则,将字符"N"送入AL中。CODESEGMENTREPECMPSBASSUMECS:CODE,DS:CODEJNZNESTART:MOVAX,CODEMOVAL,'Y'MOVDS,AXJMPEXITMOVES,AXNE:MOVAL,'N'CLDEXIT:MOVAH,4CHLEASI,S
8、TRING1INT21HLEADI,STRING2STRING1DB'…'MOVCX,DISTRING2DB'…'SUBCX,SICODEENDSXORAX,AXENDSTART9.写出程序段,把DX,AX中的双字右移四位。MOVCL,4SHRDX,CLSHRAX,CLSHLBL,CLMOVBL,DLORAH,BL9