请教:用汇编语言写一个小程序

2024-12-14 10:14:27
推荐回答(4个)
回答1:

DATAS SEGMENT
str1 db 255 dup(?)
DATAS ENDS

STACKS SEGMENT
db 200 dup(?)
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV SI,OFFSET STR1
MOV CX,100H ;循环次数
AGAIN:
MOV AH,01H
INT 21H
CMP AL,24H ;回车的时候结束
JZ OUT1
MOV [SI],AL ;保持输入的字符串
INC SI
LOOP AGAIN
OUT1:
MOV [SI],AL ;把回车作为结束符号
MOV SI,OFFSET STR1
MOV CX,100H
L1:
MOV BL,[SI]
CMP BL,24H ;检查是否到结束了
JZ OUT2 ;结束就退出
CALL XCHGSTR
INC SI
LOOP L1
OUT2:
MOV CX,100H
MOV SI,OFFSET STR1
L2: MOV AL,[SI]
CMP AL,24H
JZ OUT3
MOV DL,AL
MOV AH,02H
INT 21H
INC SI
LOOP L2
OUT3:
MOV AH,4CH
INT 21H
XCHGSTR:
MOV AL,[SI] ;取出数据
OR AL,20H ;让其第5位为1
MOV [SI],AL ;将其保存
RET
CODES ENDS
END START
这个程序是将不小于256个字母转换的程序,如果你只要10个,你可以在输入10个之后用$来结束就可以了

回答2:

#include
void main()
{ char ch,i,ch1;
for(i=0;i<10;i++)
{scanf("%c",&ch);
ch1=ch+32;
printf("%c",ch);
}
}

回答3:

函数名: tolower
功 能: 把字符转换成小写字母
用 法: int tolower(int c);
程序例:

#include
#include
#include

int main(void)
{
int length, i;
char *string = "THIS IS A STRING";

length = strlen(string);
for (i=0; i {
string[i] = tolower(string[i]);
}
printf("%s\n",string);

return 0;
}

回答4:

我真服了,居然有人用C和C++写-_-
楼主以后要多自己动手写啊