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
  • 相关阅读:
    正则表达式
    c#文件流
    css
    Flash笔记 快捷键
    .Net截取指定长度的汉字,其余用...表示的方法
    远程修改最新消息管理系统(JQuery版)
    远程修改最新消息管理系统
    kubernetes 1.6 集群实践 (一)
    创建kafak集群
    创建zookeeper集群
  • 原文地址:https://www.cnblogs.com/Triomphe/p/8673381.html
Copyright © 2011-2022 走看看