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
  • 相关阅读:
    tkinter 表格
    Python编程学习笔记 随时更新
    WIN32窗口程序
    OutputDebugString方便格式化WIN32封装
    免费的剪贴板工具Ditto安装与使用
    Notepad++安装json插件
    华为机试训练题
    Python+Flask+MysqL的web建设技术过程
    python Django 用法总结(转)
    python Robot Framework用法总结(转)
  • 原文地址:https://www.cnblogs.com/killbit/p/4809119.html
Copyright © 2011-2022 走看看