1、1、AX_0106H _,BL_08H _ _。2、 60H , 35H 。3、BX=_4565H _,CF=_ 1 。4、 MOV AX,0100H ;AX=0100H MOV AX,BX ;AX=3412H MOV AX,1202H ;AX=65B7H MOV AX,BP+200H ;AX=4C2AH MOV AX,BP ;AX=2000H MOV AX,BP+SI+200H ;AX=65B7H MOV AX,BX+SI ;AX=7856H MOV AX,BP ;AX=7358H 5、CF= 1 ,ZF= 0 。1、下面程序段是实现把 STR 中所有字符逆向传送到 BUF 缓冲区,试把程序
2、中所空缺的指令填上。DATA SEGMENTSTR DBABCDEFGHIJKLCOUNT EQU $-STRBUF DB COUNT DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV SI,OFFSET BUF1MOV DI,OFFSET BUFMOV CX,COUNT_ CLD_ LOOP: MOVSB_ SUB SI,2 _ LOOP LOPMOV AH,4CHINT 21HCODE ENDSEND START2、试编写程序将字符串 STR 中的第
3、一个“W”用“M”代替。DATA SEGMENTSTR DB PERSONAL COWPUTER!COUNT EQU $- STRDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AX MOV ES,AX MOV AL,W LEA DI,STR MOV CX,COUNT CLD AGN:SCASB JE NEXT LOOP AGNJMP EXITNEXT:DEC DIMOV BYTE PTRDI,MEXIT:MOV AH,4CH INT 21HCODE ENDSEND START1、某程序欲
4、用单个字符显示的 2 号功能调用显示 STRING 中的字符串COMPUTER (不显示字符$ ) ,试在空白处填上适当的一条指令。STRING DBCOMPUTER, $MOV BX,0FFSET STRINGLOP:MOV DL,BXMOV AH,02HINT 21H_ INC BX_ _CMP BYTE PTRBX,$JNE LOP2、试编写一程序段,用串操作指令实现以 BUF 为首址的 20H 个字节单元中存放相同字符Y 。DATA SEGMENTBUF DB 20H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAST
5、ART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AL, Y LEA DI,BUF MOV CX,32 CLD REP STOSB MOV AH,4CHINT 21HCODE ENDSEND START3、有两个长度完全相同的字符串 X 和 Y,试比较这两个字符串,若其中字符完全相同,则显示“MATCH!” ,否则显示“NO MATCH!” 。将该程序的代码段部分补充完整。DATA SEGMENT X DB KNOWLEDGEY DB KNOWLE DGEBUF1 DB MATCH!,$BUF2 DB NO MATCH!,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AX MOV ES,AX LEA SI,X LEA DI,Y MOV CX,9 CLD REPZ CMPSB JNE NEXT MOV DX,OFFSET BUF1 MOV AH,9INT 21HJMP EXITNEXT:MOV DX, OFFSET BUF2MOV AH,9INT 21HEXIT:MOV AH,4CH INT 21HCODE ENDSEND START