| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
感觉自己成功作出【课程设计1】之后,有了很大突破,思路清晰了很多。   
实验11也很轻松就做出来了。 
不得不说,王爽老师的教材写的真好! 
 
- ;名称:letterc
 
 - ;功能:将以0结尾的字符串的小写字母转变为大写字母
 
 - ;参数:ds:si指向字符串首地址
 
 - ;
 
 - ;思路:取字符
 
 - ;           判断是否位0,
 
 - ;           为0则退出
 
 - ;           非零则判断范围,范围外,则重新取字符
 
 - ;                                           范围内,则第五位置零 and al,1101 1111,然后再来一遍~
 
 - ;判断字符是否在[61h,7ah]
 
 - assume cs:codesg
 
  
- datasg segment
 
 -         db "Beginner's All-purpose Symbolic Instruction Code.",0
 
 - datasg ends
 
  
- codesg segment
 
 - begin:        mov ax,datasg
 
 -                 mov ds,ax
 
 -                 mov si,0
 
 -                 call letterc
 
  
-                 mov ax,4c00h
 
 -                 int 21h
 
  
- letterc:mov cl,[si]
 
 -                 mov ch,0
 
 -                 jcxz letterc_ret
 
 -                 cmp cl,61h
 
 -                 jb next
 
 -                 cmp cl,7ah
 
 -                 ja next
 
 -                 and cl,11011111b
 
 -                 mov [si],cl
 
 -                 inc si
 
 -                 jmp letterc
 
 - next:        inc si
 
 -                 jmp letterc
 
  
- letterc_ret: ret
 
  
- codesg ends
 
 - end begin
 
 
  复制代码 |   
 
 
 
 |