注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

小写字母转化为大写字母  

2014-12-08 13:26:16|  分类: x86ASM |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
王爽老师《汇编语言》第二版中第十一章的实验题,编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转化为大写字母的程序。代码如下:
assume cs:code,ds:data
data segment
  db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends

code segment
start:
  mov ax,data
  mov ds,ax
  mov si,0
  call letterc
  mov ax,4c00h
  int 21h

;将以00h结尾的字符串中的小写字母转化为大写字母
letterc:
  pushf
  push bx
  push cx
  push si
  mov bl,61h;for 'a'
  mov bh,7ah;for 'z'
s0:
  mov cl,ds:[si];each time a byte
  mov ch,00h
  jcxz done; when cx=0,string ends
  cmp cl,bl
  jb s1;cl<'a',do not have to change,ready for next char
  cmp cl,bh
  ja s1;cx>'z',no not have to change
  ;code comes here means 'a'<=cx<='z'
  and cl,11011111b
  mov ds:[si],cl
s1:;get ready for next char
  inc si  
  jmp s0
done:
  pop si
  pop cx
  pop bx

  popf
  ret
;end of letterc
code ends
end start 
简单修改一下,还可以将所有大写字母都修改为小写字母。
  评论这张
 
阅读(398)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016