zoukankan      html  css  js  c++  java
  • 大小写转换

     1 ;小写字母的ASCII码比大写字母的ASCII码的值大20H。
     2 ;比如大写字母A的ASCII值为01000001 小写字母a的ASCII码为:01100001
     3 ;公式为 a(01100001) - 20H(100000) = A(01000001)
     4 ;A(01000001) + 20H(100000) = a(01100001)
     5 assume cs:codesg,ds:datasg
     6 
     7 datasg segment
     8 
     9     db 'Basic' ;定义字符
    10     db 'iNfOrMaTiOn'
    11     
    12 datasg ends
    13 
    14 codesg segment
    15 
    16 start: mov ax,datasg ;将定义的字符以16进制方式传入AX通用寄存器
    17        mov ds,ax    ;然后指向数据段地址
    18        
    19        mov bx,0 ;将偏移地址设置为0,这样就获取到了ds:[0] = 'B'
    20        
    21        mov cx,5 ;CX设置为5次,循环得到Basic字符
    22     s: mov al,[bx]  ;将DS:[bx]内存数据送到AL低八位寄存器中
    23        and al,11011111B ;将AL中的数据进行按位与运算,变为大写字母
    24        mov [bx],al ;将转换后的ASCII返回到原单元
    25        inc bx ;bx加1,加5次,依次指向BASIC内存地址
    26        loop s  ;继续循环
    27        
    28        mov bx,5 ;将BX偏移地址设置为5,指向BASIC后
    29        mov cx,11 ;循环11次
    30        
    31     s0: mov al,[bx] ;,获取iNfOrMaTiOn
    32         or al,00100000B ;将ASCII码的第五位设置为1,变成小写
    33         mov [bx],al ;将转换后的ASCII码写回原单元
    34         inc bx ;依次加1
    35         loop s0 ;继续循环
    36     mov ax,4c00h
    37     int 21H
    38 codesg ends
    39 end start
  • 相关阅读:
    HDOJ_就这么个烂题总是WA先放这把
    [NYLG-OJ] 77 开灯问题(白书例题)
    [NEUQ-OJ] 1012 SZ斐波拉契数列
    福尔摩斯到某古堡探险
    第n个素数是多少?
    自然数的和之和
    水仙花数
    解决满屏显示问题的css样式:object-fit
    H5新属性audio音频和 video视频的控制
    用indexOf方法来去重
  • 原文地址:https://www.cnblogs.com/killbit/p/4809119.html
Copyright © 2011-2022 走看看