汇编小写字母转大写字母

BEGIN:MOV     AH,1
               INT       21H
              CMP      AL,’a’
              JB          STOP
              CMP       AL,’z’
              JA          STOP
              SUB       AL,20H
              MOV      DL,AL
              MOV      AH,2
              INT        21H
             JMP       BEGIN
STOP:RET


[解析]      1)该程序设计的主体应是一个循环——当输入字符的是小写字母(a ~ z)时,就将其转换为大写字母来显示,此过程循环进行,直到当输入的不是小写字母时,程序结束。

    2)输入一个字符的可使用DOS的1号功能实现:

    MOV AH, 1

    INT 21H

    该DOS调用执行完后,会将输入的字符的ASCII码值送入AL寄存器。

    3)判断输入的是否为小写字母(a ~ z)的方法:

    CMP AL, ‘a’

    JB STOP ;不是小写字母时,转STOP

    CMP AL, ‘z’

    JA STOP ;不是小写字母时,转STOP

     … ;是小写字母时,将其转换为大写显示

    STOP: RET ;不是小写字母时,程序结束

    4)小写字母比大写字母的ASCII码值大20H,因此指令 SUB AL, 20H,将使AL中的内容变为大写字母的ASCII码值。

    5)输出一个字符的可使用DOS的2号功能实现:

    MOV DL, AL

    MOV AH, 2

    INT 21H

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 汇编 小写 字母 大写
相关日志:
评论: 0 | 引用: 0 | 查看次数: 2842