资源描述:
《第7章作业答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计Y093班200900403086曾令双第7章作业1.实现W=(3X+6Y)*4-8Z,设X=5,Y=3,Z=19解答:MODELSMALLDATAXDB5YDB3ZDB19WDB?CODESTART:MOVAX,DATAMOVDS,AXPOPDSMOVAX,XMOVBX,3MULBXMOVAX,YMOVBX,6MULBXMOVAH,4MULAHMOVAL,ZMOVBX,8MULBXSUBAL,8ZORAX,3030HMOVDX,AXMOVDL,DHINT21HEXIT_PROC:MOVAH,4CHINT21HCODEENDSENDSTART2.将存储单元DAT中的两个压
2、缩的BCD码拆成两个非压缩的BCD码(高位BCD码放在DAT+1单元,低位BCD码放在DAT+2单元)。解答:(实验指导书的P162的实验五)1133.试编程实现下式(设字单元X和Y都是无符号数):2X+8(X>100)Y=X+1(X<=100)解答:4.对字节单元TAB中的三个有符号数据进行排序,使低地址单元数据最小,高地址单元数据最大。请编写此程序。解答:5.设在A、B和C三个字单元中分别存放着三个数。若三个数全都不是0,则求出三数之和存放在D单元中;若其中有一个数为0,则把其它两单元也清0,并在D单元中存放0FFH。请编写此程序。解答:(实验指导书P57)6.试编写一
3、个汇编语言程序,求出首地址为DAT的100个字数组中的最小数,并把它存放在MIN中。解答:7.编写一个程序,统计字型数组A中正数、负数和0的个数。解答:113DATA1SEGMENTMDW21,-34,32,112,-324,0,76,0,48,50POSIDW?NEGADW?ZERODW?DATA1ENDSCODE1SEGMENTASSUMECS:CODE1,DS:DATA1START:MOVAX,DATA1MOVDS,AXMOVCX,10LEASI,MAGAIN:CMPWORDPTR[SI],0JLLOWERJEEQUALINCPOSIJMPLPP1LOWER:INCN
4、EGAJMPLPP1EQUAL:INCZEROLPP1:ADDSI,2DECCXJNZAGAINMOVAH,4CHINT21HCODE1ENDSENDSTART8.实现把STR中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR中最后一字符送到BUF的第一个单元)。解答:DATA SEGMENTCOUNT DB12STR1 DB‘ABCDEFGHIJKL’BUF DBCOUNTDUP(0)DATA ENDSMOV SI,OFFSETBUF-1MOV DI,OFFSETBUFMOV CX,COUNT或12STD,ADDLOP:MOVS
5、BDI,2LOOP LOP9.写一个程序,它先接受一个字符串,然后统计其中数字字符的个数和英文字符的个数和字符串的长度,并存放在指定的变量中。解答:DSEGSEGMENT113ALPHABETDB‘输入的字母字符个数为:’,‘$’NUMBERDB‘输入的数字字符个数为:’,‘$’OTHERDB‘输入的其它字符个数为:’,‘$’CRLFDB0DH,0AH,‘$’DSEGENDSCSEGSEGMENTMAINPROCFARASSUMECS:CSEG,DS:DSEGSTART:PUSHDS;设置返回DOSSUBAX,AXPUSHAXMOVAX,DSEGMOVDS,AX;给DS赋
6、值BEGIN:MOVBX,0;字母字符计数器MOVSI,0;数字字符计数器MOVDI,0;其它字符计数器INPUT:MOVAH,1;输入一个字符INT21HCMPAL,0DH;是回车符吗?JEDISPCMPAL,30H;<数字0吗?JAENEXT1OTHER:INCDI;是其它字符JMPSHORTINPUTNEXT1:CMPAL,39H;>数字9吗?JANEXT2INCSI;是数字字符JMPSHORTINPUTNEXT2:CMPAL,41H;<字母A吗?JAENEXT3JMPSHORTOTHER;是其它字符NEXT3:CMPAL,5AH;>字母Z吗?JANEXT4INCBX
7、;是字母字符A~ZJMPSHORTINPUTNEXT4:CMPAL,61H;<字母a吗?JAENEXT5JMPSHORTOTHER;是其它字符NEXT5:CMPAL,7AH;>字母z吗?JASHORTOTHER;是其它字符INCBX;是字母字符a~zJMPSHORTINPUTDISP:LEADX,ALPHABETCALLDISPLAY113LEADX,NUMBERMOVBX,SICALLDISPLAYLEADX,OTHERMOVBX,DICALLDISPLAYRETMAINENDPDISPLAYPROCNEARMO