已解决问题
谷歌用户在2013.12.11提交了关于“施密特简单汇编语言程序编写”的提问,欢迎大家涌跃发表自己的观点。目前共有11个回答,最后更新于2024-11-14T12:58:49。详细问题描述及疑问:
详细问题描述及疑问:
以下是源代码:
DATA**GMENT;**段
BUFDB200DUP(?)
DATAENDS
CODE**GMENT;代码段
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
M
MOVBX,OFF**TBUF
A
INT21
CMPDI,201;是否超出缓冲区
JNCAA6;超过缓冲区大小
CMPAL,0
JZAA6;是
M
INCBX
INCDI
J
AA6:MOVD
CMPDI,0;没有
JZAA7
CMPDI,1;有一个字符则直接输出
JZA
D
A
MOVCX,DI
D
A
CMPAL,[BX+1];比较
J
XCh**GAL,[BX+1]
MOV[BX
AA4:INCBX
L
DECDX
JNZAA2
A
M
A
M
I
INCBX
L
AA7:MOVA
INT21h**
C
E
呵呵进来看看很热闹啊
已经测试过了,请给好评哦
/*标准文档模板*/
#i
#include"C
intsum(intn,intarry[20])
{i
for(i=0;i<n;i++)
{t=t+arry[i];}
return(
}
intconvert(intarry[20],cha
{
inti;
for(i=0;str[i]!='\0';i++)
{arry[i]=str[i]-'0';}
return(i);
}
voiddeal(chararry[20],intn,charstr[20],charres[20])
{
inti,j,t,temp[20],count=n;
charq[20];
strcpy(q,str);
for(i=0;i<n;i++)
{temp[i]=arry[i];}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(temp[i]==temp[j])
{q[j]='a';}
}
}
t=0;
for(i=0;i<n;i++)
{
if(q[i]!='a')
{res[t]=q[i];
t++;
}
}
res[t]='\0';
}
intmain(void)
{
charstr[20],res[20],temp;
intarry[20],i,j,n,big,**all,q;
printf("input:");
scanf("%s",str);
temp=str[0];
for(j=1;str[j]!='\0';j++)
{
if(temp>str[j])
{temp=str[j];}
}
printf("\nthe**allestis%c",temp);
**all=temp-'0';
temp=str[0];
for(j=1;str[j]!='\0';j++)
{
if(temp<str[j])
{temp=str[j];}
}
big=temp-'0';
printf("\nthebigestis%c",temp);
j=big***all;
n=convert(arry,str);
q=sum(n,arry);
deal(str,n,str,res);
printf("\nthesumis%d\nthebigest***allestis%d\ndistinc%s",q,j,res);
getch();
return0;
}
这么简单的东西,我去。。。高中时候学的玩意。
在百度贴吧发下吧,在大学学的这些东西都还给老师了
用帮助
我就是进来看看,一百分的题尼
ASCII码啊,很久以前我学过,现在忘记得差不多啦
网上就有解决的办法
汇编语言以前没有学会啊
网上搜索看看有什么解决办法