用汇编语言写一个把字符串中的所有大写字母改为小写的程序假设字符以‘0’结尾

要所有程序哦老师检查呢我不会... 要所有程序哦 老师检查呢 我不会 展开
 我来答
汤旺河边
推荐于2017-12-16 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2675
采纳率:0%
帮助的人:3014万
展开全部
; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
Prompt_Str db 'Please input a string,press "0" termanite:$'
Press_Key db 13,10,13,10,'The complated. Press any key to exit...$'
Start: push cs
pop ds
push cs
pop es
Output Prompt_Str ;提示输入字符串
lea di,Buffer ;字符串地址
cld
Input_Str: mov ah,1
int 21h
stosb ;保存
cmp al,'0'
jz $+4 ;若字符为'0',结束输入
jmp Input_Str ;输入下一个字符
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
lea si,Buffer ;字符串地址
Up_Down: lodsb
cmp al,'A'
jb $+8
cmp al,'Z'
ja $+4
or al,20h ;转换成小写字母
mov dl,al
mov ah,2
int 21h
cmp al,'0'
jz Exit_Proc ;若字符为'0',结束程序
jmp Up_Down
; -------------------------------------
Exit_Proc: Output Press_Key ;提示操作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Buffer:
Code Ends
END Start ;编译到此结束
crc8
2009-12-17 · 知道合伙人互联网行家
crc8
知道合伙人互联网行家
采纳数:608 获赞数:1039
毕业于某工科中专自动化专业,四年。无学位。从事计算机网络相关工作近十年,现任Approach实业网络管理。

向TA提问 私信TA
展开全部
假设这一串字符是:CONVERSATION

assume cs:code
data segment
db 'CONVERSATION',0
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov si,bx
cap:mov cl,[si]
mov ch,0
jcxz ok
or byte ptr [si],00100000b
inc si
jmp short cap
ok:mov ax,4c00H
int 21h
code ends
end start
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
new妞宁
2009-12-17 · TA获得超过1743个赞
知道小有建树答主
回答量:959
采纳率:100%
帮助的人:692万
展开全部
字符串中有非大写的吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式