zoukankan      html  css  js  c++  java
  • 王爽 汇编 实验11

    1.描述: 编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下.

      名称: letterc

      功能: 将以0结尾的字符串中的小写字母转变成大写字母

      参数: ds:si指向字符串首地址

       因为要转化的字符串中小写字母,而整个字符串中还有其他符号(空格,横杠),所以我们需要用ASCII来判断值是否在[97,122]之间,确定是小写字母,然后再转化成大写字母

     1 assume cs:code
     2 data segment
     3     db "Beginner's All-purpose Symoblic Instruction Code.",0
     4 data ends
     5 
     6 code segment
     7     start:
     8         mov ax,data
     9         mov ds,ax
    10         mov si,0
    11         call letterc    ;调用子程序
    12         
    13         mov ax,4c00h
    14         int 21h
    15     ; 子程序    
    16     letterc:
    17         push ax
    18         push cx        ;入栈各个寄存器的值,防止子程序破坏外部值
    19         s:
    20             mov cl,ds:[si]
    21             mov ch,0
    22             
    23             jcxz ok                ;如果cx==0,则结束循环.判断是否为字符串末尾.
    24             
    25             cmp    cl,97            ;判断字符是否在[97,122]之间,如果在说明
    26             jb    check_out        ;是小写字母,需要转换大写.
    27             cmp cl,122            ;jb,小于97跳转.ja 大于122跳转
    28             ja    check_out
    29             
    30             mov al,cl            ;将小写字母改成大写字母
    31             and al,11011111b
    32             mov cl,al
    33             mov ds:[si],cl
    34             
    35         check_out:        ;判断跳出位置
    36             inc si
    37         jmp short s        ;执行循环
    38         
    39         ok:    
    40             pop cx        ;恢复值
    41             pop ax
    42             ret
    43         
    44 code ends
    45 end start
  • 相关阅读:
    firebird database (快速入門)
    firebird的数据类型(datatype)
    通过ASP.NET获取URL地址方法
    FIREBIRD使用经验总结
    C# Append a host header to a website in IIS by code
    Ubuntu 9.04 下载镜像地址
    Firebird如何防止空值扩散
    Tmail: 开源邮件服务器软件包
    Firebird中的NULL
    本地数据源:使用firebird数据库
  • 原文地址:https://www.cnblogs.com/Triomphe/p/8673381.html
Copyright © 2011-2022 走看看