汇编程序:将字符串的小写字母a-z变成大写

我的程序哪里有问题呀,用masm没办法看到错在哪里,,,,assumecs:codesgdatasgbegindb'Beginner'sAll-purposeSymbol... 我的程序哪里有问题呀,用masm没办法看到错在哪里,,,,
assume cs:codesg
datasg begin
db 'Beginner's All-purpose Symbolic Instruction code.',0
datasg end
codesg begin
begin:mov ax,datasg
mov ds,ax
mov bx,0
call letterc
mov ax,4c00h
int 21h
letterc:mov al,[bx]
cmp al,0
je letterend
cmp al,'a'
jb next
cmp al,'z'
ja next
and al,11011111B
mov [bx],al
next: inc bx
jmp letterc
letter1: ret

codesg ends
end begin
展开
 我来答
帐号已注销
2013-12-02 · TA获得超过3000个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1295万
展开全部

你这个真的是用masm编的吗?错误一堆啊。

assume cs:codesg
datasg segment
   db 'Beginners All-purpose Symbolic Instruction code.',0
datasg ends
codesg    segment
begin:mov ax,datasg
      mov ds,ax
      mov bx,0
      call letterc
      mov ax,4c00h
      int 21h
letterc proc
LoopStart:
        mov al,[bx]
        cmp al,0
        je letterend
        cmp al,'a'
        jb next
        cmp al,'z'
        ja next
        and al,11011111B
        mov [bx],al
next:   inc bx
        jmp LoopStart
letterend: ret
letterc endp

codesg ends
end begin

另外定义字符串那里,我不知道怎么在字符串定义单引号。

sheepbao2
2013-12-02
知道答主
回答量:43
采纳率:0%
帮助的人:26万
展开全部
怎么感觉你写的汇编和我学的这么不一样呢?dataseg end 应该改为dataseg ends
追答
还有leterend是个标记吧!怎莫也没有标记后的程序
追问
嗯嗯,那个letter1就是letterend,打错啦,谢谢拉!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式