更多"下面的程序用来删除字符串’’AABA’’中第1个出现的由DAT单元指定"的相关试题:
[填空题]下面的程序用来删除字符串’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
程序执行到DEL:JCXZFILL指令时,CX寄存器的内容是 【 】 。
[填空题]下面的程序用来删除字符串‘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
[填空题]下面程序是将字符串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
[填空题]下面的程序段是利用寄存器传送参数的子程序调用程序结构,其功能是计算DAT变量中N个字节数据的累加和,结果存放在RESULT内存单元中。在横线处填入适当的指令,使程序能完成预定的功能。
DAT DB 75,125,1,2,68,4
RESULT DW______
LEA BX,DAT
CALL SUBP
MOV RESULT,AX
SUBP: PUSH SI
XOR AX,AX
MOV SI,0
NEXT: ADD AL,[BX+SI]
ADC AH,1
INCSI
LOOP NEXT
POP SI
RET