汇编语言程序设计题目,在线等答案!!!急!

5.从键盘输入一个字母字符,将其统一为大写字母输出好的程序要简单,运行速度快,你们的都太复杂... 5. 从键盘输入一个字母字符,将其统一为大写字母输出
好的程序要简单,运行速度快,你们的都太复杂
展开
 我来答
mmocean
2011-12-02 · TA获得超过113个赞
知道答主
回答量:75
采纳率:0%
帮助的人:82.8万
展开全部
;用我的吧 编译正确通过
;-------------------------------------------

;********************************数据段
data segment
array db 0,0,0,0 ;数组开辟空间
string1 db "Please input the lower case: $" ;字符串以$结束
string2 db " Ok,the upper case is: $"
string3 db "What you inputed is not a lower case !Try again: $"
crlf db 13,10,13,10,"$" ;13回车,10换行
data ends
;**********************************
;**********************************代码段
code segment
assume ds:data,cs:code ;段对应关系的说明
main proc far ;far子程序调用时的参数

start:
push ds
sub ax,ax ;清零
push ax ;压栈

mov ax,data ;将数据传送如数据段
mov ds,ax
;---------------------------------------
;主程序开始
;---------------------------------------------------------
;显示"Please input the lower case:$"的内容
mov ah,09h
lea dx,string1
int 21h
;----------------------------------------------------------
;键盘输入字母
mov bx,offset array ;设定基址
input:
mov ah,01h
int 21h
cmp al,20h ;比对空格
je input
cmp al,61h ;al和'a'相比
jb next ;al值小于'a',显示提示继续输入
cmp al,7ah ;al值和'z'比较
jnb next ;大于'z', 显示提示继续输入
sub al,20h ;减去32即为对应的大写字母
mov bl,al ;用bl将值取走
;----------------------------------------------------------------
;换行
mov ah,09h
lea dx,crlf
int 21h
;---------------------------------------------------------
;显示"The upper case is:$"的内容
mov ah,09h
lea dx,string2
int 21h
;-----------------------------------------------------
;大写字母输出
mov dl,bl
mov ah,02h
int 21h
ret ;返回(return)
;----------------------------------------------------------------
;换行
next:
mov ah,09h
lea dx,crlf
int 21h
;---------------------------------------------------------
;显示"what you inputed is not a lower case !Try again:$"的内容
mov ah,09h
lea dx,string3
int 21h
jmp input
;-------------------------------------------------------------
main endp ;主函数结束
;********************************************
code ends ;代码段定义结束
end start ;这个程序段全部结束,程序段不但有代码段还有其他段
做而论道
高能答主

推荐于2016-12-01 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
从键盘输入一串任意字符,将其中的字母统一为大写输出。
程序如下:
DATA SEGMENT
MSG1 DB 13, 10, 'Please input a STR : $'
MSG2 DB 13, 10, 'The STR in Upper is: $'
I1_L DB 100
I1_N DB ?
I1_B DB 100 DUP (?)
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX

LEA DX, MSG1
MOV AH, 9
INT 21H

LEA DX, I1_L
MOV AH, 10
INT 21H

LEA BX, I1_B
MOV CL, I1_N
MOV CH, 0
LOP:
MOV AL, [BX]
CMP AL, 13
JE DISP

CMP AL, 'a'
JB NEXT
CMP AL, 'z'
JA NEXT
TO_UPPER:
AND AL, 11011111B
MOV [BX], AL

NEXT:
INC BX
LOOP LOP
JMP NEXT

DISP:
MOV BYTE PTR [BX], '$'
LEA DX, MSG2
MOV AH, 9
INT 21H

LEA DX, I1_B
MOV AH, 9
INT 21H

MOV AH, 4CH
INT 21H

CODE ENDS

END START

程序运行后,将以下列形式显示:

C:\MASM>z

Please input a STR : dkfmdoiw9092132KMSADLFdsdl;sd
The STR in Upper is: DKFMDOIW9092132KMSADLFDSDL;SD
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jdewbh
2011-12-02 · TA获得超过590个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:342万
展开全部
MOV AH,1
INT 21H
CMP AL,'a'
JB L1
CMP al,'z'+1
JNB L1
AND AL,5FH
L1:
MOV DL,AL
MOV AH,2
INT 21H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lszb99
2011-12-02 · 超过17用户采纳过TA的回答
知道答主
回答量:127
采纳率:0%
帮助的人:59.7万
展开全部
#include<stdio.h>
main()
{
char a[100];
char *p=a;
scanf("%s",a);
while(*p!='\0')
{
if(*p>='a' && *p<='z') *p=*p-32;
printf("%c",*p);
p++;
更多追问追答
追问
你这是c语言写的 我要求的是汇编语言写
追答
DATA SEGMENT
string DB 'ddfs#@%#@%gfdggAFSADFsgdgsddsgdfg!$'
count DW $-string
diff DB 'a'-'A'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX

MOV CX,count
LEA SI,string
LEA DI,string

NEXTC:
MOV AL,[SI]
CMP al,'a'
jnae SKIP
CMP al,'z'
ja SKIP

sub al,'a'-'A'
SKIP:
stosb
INC SI
LOOP NEXTC

MOV AH,09H
MOV DX,OFFSET string
INT 21H

MOV AH,0
INT 16H

MOV AX,4C00H
INT 21H

CODE ENDS
END START
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
driver57
2011-12-02 · 超过12用户采纳过TA的回答
知道答主
回答量:216
采纳率:0%
帮助的人:124万
展开全部
编制程序完成 12h,45h,0F3h,6Ah,20h,0FEh,90h,0C8h,57h 和34h等10DATAS SEGMENT bdata db 01h,02h,03h,04h,05h,06h,07h,08h,09h,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式