汇编网首页登录博客注册
goodboy的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏
友情链接

[2008-11-14 19:40] 实验十一

图片载入中
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
exit:mov dh,13
mov dl,0
call show_str

mov ax,4c00h
int 21h
show_str: 
      push cx 
      push dx 
      push bx 
      push si 
      push di 
      push ax 
      mov ch,0 
      mov cl,7 
      dec dh 
      dec dl 
      mov al,dh 
      mov bl,160 
      mul bl 
      mov bx,ax 
      mov al,dl 
      mov dl,2 
      mul dl 
      add ax,bx 
      mov bx,ax 
      mov di,0 
      mov si,0 
   ak:push cx 
      mov cl,[si]    
      jcxz fs    
      mov ax,0B800H 
      mov es,ax 
      mov al,[si]    
      mov es:[bx+di],al 
      pop cx    
      mov es:[bx+di+1],cl 
      inc si 
      add di,2 
      jmp short ak 
   fs:pop cx       
      pop ax 
      pop di 
      pop si 
      pop bx       
      pop dx 
      pop cx 
      ret 
letterc:
push ax
push si
push cx
s:
mov al,[si]
mov ch,0
mov cl,al
jcxz exit
cmp al,97
jb s1
cmp al,122
ja s1
and al,11011111b 
mov [si],al
s1:inc si
jmp s
pop cx
pop si
pop ax
codesg ends
end begin

为了能直观得看出效果,调用前面的show_str来显示转换后的字符。所传图为运行效果。其实就是判断,小写字符的ascii码是97到122,如果数值在这之间,则对它进行处理,如果不是,则跳过。
评论次数(1)  |  浏览次数(695)  |  类型(汇编作业) |  收藏此文  | 

[  younggay   发表于  2008-11-21 14:23  ]

嗯。不错,不过要是关键代码部分加上注释就更好了。而且加注释也是一个成熟的编程人员的良好习惯。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码