更多"下面的程序用来删除字符串‘AABA’中第一个出现的由DAT单元指定的字"的相关试题:
[填空题]下面的程序用来删除字符串‘AABA’中第一个出现的由DAT单元指定的字符,删除字符后,后面字符前移,并在字符串尾部添加字符‘$’(24H)。请在横线处填充,使程序能达到预定功能。
DSEG SEGMENT
ARRAY DB ‘AABA’
CNT DW $-BUF
DAT DB 41H
DSEG ENDS
SSEG SEGMENT STACK
DB 256DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,SS:SSEG,CS:CSEG,ES,DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
CLD
LEA DI,BUF
MOV CX,CNT
MOV AL,DAT
REPNE SCASB
JE DEL
JMP EXIT
DEL: JCXZ FILL
SWIM: MOV BL,[DI]
MOV [DI-1],BL
INC DI
LOOP SWIM
FILL: MOV 【6】 ,24H
EXIT: RET
START ENDP
CSEG EDS
END START
[填空题]下面的程序用来删除字符串’AABA’中第1个出现的由DAT单元指定的字符,删除字符后,后面字符前移,并在字符串尾部添加字符’$’(24H)。请在横线处填充,使程序能达到预定的功能。
DSEG SEGMENT
BUF DB ’AABA’
CNT DW $-BUF
DAT DB 41H
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,SS:S
SEG,CS:CSEG,ES:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AS
CLD
LEA DI,BUF
MOV CX,CNT
MOV AL,DAT
REPNE SCASB
JE DEL
JMP EXIT
DEL: JCXZ FILL
NEXT: MOV BL,[DI]
MOV [DI-1],BL
INC DI
LOOP NEXT
FILL: MOV 【6】 ,24H
EXIT RET
START ENDP
CSEG ENDS
END START
[填空题]下面的程序用来删除字符串’’AABA’’中第1个出现的由DAT单元指定的字符,删除字符后,后面字符前移,并在字符串尾部添加字符’’$’’(24H)。
DSEG SEGMENT
BUF DB ’’AABA’’
CNT DW $-BUF
DAT DB 41H
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,SS:S
SEG,CS:CSEG,ES:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AS
CLD
LEA DI,BUF
MOV CX,CNT
MOV AL,DAT
REPNE SCASB
JE DEL
JMP EXIT
DEL: JCXZ FILL
NEXT: MOV BL,[DI]
MOV [DI-1],BL
INC DI
LOOP NEXT
FILL: MOV 【 】 ,24H
EXIT RET
START ENDP
CSEG ENDS
END START
请在横线处填充,使程序能达到预定的功能。
[填空题]下面程序是将字符串P中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格。
#include<stdio.h>
void cp(char *p,char *b)
{int i,k=0;
while(*p)
{i=0;
while(______)/*第一空*/
{b[k]=*P;
k++;p++;i++;
}
if(*p)
{______;/*第二空*/
}
}
______;/*第三空*/
}
main( )
{char a[20],b[20];
gets(a);
cp(a,b);
puts(b);
printf("/n");
}
[单项选择]执行下面的程序段后,DAT1单元的值是( )。
DAT1 DB 12H,34H
DAT2 DB 56H,78H
MOV AX, WORD PTR DAT1
CMP AX, WORD PTR DAT2
JA DONE
MOV BX, WORD PTR DAT2
MOV OWRD PTR DAT2,AX
MOV OWRD PTR DAT1, BX
DONE:// HLT
A. 34H
B. 78H
C. 12H
D. 56H
[单项选择]假定一组相邻字节的首地址在BX中,末地址在DI中,为了使下面的程序段能用来查找出其中第一个非零字节,并把它存放在从中,在横线处应填入的指令是( )。
SUB DI, BX
INC DI
MOV CX, DI
_______________
NEXT: INC BX
CMP BYTE PTR [BX],0
LOOPE NEXT
MOV AL,BYTE PTR [BX]
A. MOV SI,CX
B. SUB BX,BX
C. DEC BX
D. INC BX