资源描述:
《汇编语言练习部分参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、AX=___0106H___,BL=___08H___。2、 60H , 35H 。3、BX=__4565H____,CF=__1。4、①MOVAX,0100H ;AX=0100H②MOVAX,[BX] ;AX=3412H③MOVAX,[1202H] ;AX=65B7H④MOVAX,[BP+200H];AX=4C2AH⑤MOVAX,BP ;AX=2000H⑥MOVAX,[BP+SI+200H];AX=65B7H⑦MOVAX,[BX+SI];AX=7856H⑧MOVAX,[BP];A
2、X=7358H5、CF=1,ZF=0。1、下面程序段是实现把STR中所有字符逆向传送到BUF缓冲区,试把程序中所空缺的指令填上。DATASEGMENTSTRDB‘ABCDEFGHIJKL'COUNTEQU$-STRBUFDBCOUNTDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVSI,OFFSETBUF-1MOVDI,OFFSETBUFMOVCX,COUNT__CLD__LOOP:
3、MOVSB__SUBSI,2__LOOPLOPMOVAH,4CHINT21HCODEENDSENDSTART2、试编写程序将字符串STR中的第一个“W”用“M”代替。DATASEGMENTSTRDB‘PERSONALCOWPUTER!’COUNTEQU$-STRDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAL,'W'LEADI,STRMOVCX,COUNTCLDAGN:SCASBJENEXT
4、LOOPAGNJMPEXITNEXT:DECDIMOVBYTEPTR[DI],'M'EXIT:MOVAH,4CHINT21HCODEENDSENDSTART1、某程序欲用单个字符显示的2号功能调用显示STRING中的字符串‘COMPUTER’(不显示字符‘$’),试在空白处填上适当的一条指令。 STRINGDB‘COMPUTER’,‘$’ ┇ MOVBX,0FFSETSTRING LOP:MOVDL,[BX] MOVAH,02H INT21H _INCBX_____________ __CMPB
5、YTEPTR[BX],’$’ JNELOP2、试编写一程序段,用串操作指令实现以BUF为首址的20H个字节单元中存放相同字符‘Y’。DATASEGMENTBUFDB20HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAL,‘Y’LEADI,BUFMOVCX,32CLDREPSTOSBMOVAH,4CHINT21HCODEENDSENDSTART3、有两个长度完全相同的字符串X和
6、Y,试比较这两个字符串,若其中字符完全相同,则显示“MATCH!”,否则显示“NOMATCH!”。将该程序的代码段部分补充完整。DATASEGMENTXDB'KNOWLEDGE'YDB'KNOWLEDGE'BUF1DB'MATCH!','$'BUF2DB'NOMATCH!','$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,XLEADI,YMOVCX,9CLDREPZCMPSBJNEN
7、EXTMOVDX,OFFSETBUF1MOVAH,9INT21HJMPEXITNEXT:MOVDX,OFFSETBUF2MOVAH,9INT21HEXIT:MOVAH,4CHINT21HCODEENDSENDSTART