. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
主题 : :  实验11,这么简单,我都不好意思贴了!  [待解决] 回复[ 13次 ]   点击[ 875次 ]  
helonsy
[帖 主] [ 发表时间:2010-07-27 22:44 ] 
荣誉值:0
信誉值:0
注册日期:2010-07-11 16:57
太简单了,我只用了5分钟就搞定了,如果您觉得有用,请回帖,您的回帖将是对我最大的支持。
assume cs:codesg

datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends

codesg segment

begin:        mov ax,datasg
        mov ds,ax
        mov si,0
        
        call letterc

        mov ax,4c00h
        int 21h

;功能:将以0结尾的字符串中的小写字母转变成大写字母
;参数:ds:si指向字符串的首地址
;返回:无
letterc:        push ds;保存寄存器
                push si
                push cx

   s0:                mov cl,[si]
                mov ch,0
                jcxz endup

                cmp cl,'a'
                jb s1

                cmp cl,'z'
                ja s1
                
                and cl,11011111b
                mov [si],cl
                inc si
                jmp s0

   s1:                inc si
                jmp s0

endup:        pop cx
        pop si
        pop ds
        
        ret

codesg ends

end begin
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved