更多"下述程序功能为,将首地址为FIRST的字符串送到首地址为SECOND的"的相关试题:
[填空题]下述程序功能为将首地址为FIRST的字符串送到首地址为SECOND的内存区,用一条指令填空。
CLD
LEA SI,FIRST
LEA DI,ES:SECOND
MOV CX,10
【10】
[填空题]下述程序功能为将首地址为FIRST的字符串送到首地址为SECOND的内存区,用一条指令填空。
CLD
LEA SI,FIRST
LEA DI,ES:SECOND
MOV CX,10
【10】
[填空题]下述程序段功能为将首地址为FIRST的字符串送到首地址为SECOND的内存区。
请用一条指令填空。
CID
LEA SI, FIRST
LFA DI, ES:SECOND
MOV CX, 10
________________
[填空题]下述程序功能为,将首地址为FIRST的字符串送到首地址为SECOND的内存区。请用一条指令填空。
CLD
LEA SI, FIRST
LEA DI, ES:SECOND
MOV CX, 10
【17】
[简答题]常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char*append(char*s1,char*s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
char *append(char *s1,char *s2)
void main( )
char *s,*s1,*s2;
s1="this is ";
s2=",a string.";
s=append(s1,s2);
cout<<s<<endl;
[简答题]有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及m值并输出复制结果。
[简答题]请编制程序,其功能是:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以00H结束,长度不超过20个字节。
例如:
原字符串为:41H,41H,41H,42H,31H,31H,...,00H(’AAAB11’)
新字符串为:41H,42H,31H,...,00H(’AB1’)
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
LEN EQU 20
DSEG SEGMENT
SOURCE DB LEN DUP( )
RESULT DB LEN DUP(0)
NAME0 DB ’INPUT1.DAT’,0
NAME1 DB ’OUTPUT1.DAT’,0
DSEG ENDS
SSEG SEGMENT STACK
DW 256 DUP( )
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG,DS:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,LEN
[简答题]请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以00H结束,长度不超过20个字节。
例如:
原字符串为:4EH,4EH,4EH,42H,1AH,31H,31H,00H:
新字符串为:4EH,42H,1AH,31H,00H
部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1. DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END 之间补充一段源程序,完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。
部分程序如下:
; PROG1. ASM
EXTRN LOAD:FAR,SAVE:FAR
LEN EQU 20
N EQU 10
DSEG SEGMENT
SOURCE DW N DUP ( )
RESULT DW N DUP (0)
NAME0 DB ’INPUT1.DAT’, 0
NAME1 DB ’OUTPUT1.DAT’,0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP ( )
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG;SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***
…………
…………
…………
; *** END ***
[填空题]下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
int word(char*s)
int num=0,flag=0;
while(*s)
if( 【13】 =") flag=0;
else if 【14】 flag=1;num++
return 【15】 ;
[填空题]下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
int word(char*s)
int num=0,flag=0;
while(*s)
if( 【13】 =’’) flag=0;
else if( 【14】 )flag=1;num++
return 【15】