| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
自己实在是太菜了...郁闷中...- assume cs:codesg
 
  
- datasg segment
 
 -      db "Beginners's All-purpose symbolic Instruction code.",0
 
 - datasg ends
 
  
- codesg segment
 
 - befin:
 
 -      mov ax,datasg
 
 -          mov ds,ax
 
 -          mov si,0
 
 -          call letterc
 
 -          
 
 -          mov ax,4c00h
 
 -          int 21h
 
 -          
 
 - letterc:
 
 -      push ax
 
 -          push si
 
 -          push cx
 
 -          push di       ;保存子程序用到的相关寄存器
 
 -          
 
 -          mov ax,0b800h
 
 -          mov es,ax
 
 -          mov di,0
 
 -          
 
 - s:
 
 -          cmp byte ptr [si],0
 
 -          je s0
 
 -          cmp byte ptr [si],61h
 
 -          jb s1         ;低于  61h  转至  s1
 
 -          cmp byte ptr [si],7ah
 
 -          ja s1               ;高于  7ah  转至  s1
 
 -          mov ch,2h    ;设定小写字母转化为大写的颜色
 
 -      mov cl,[si]
 
 -          and cl,11011111b        ;小写 转换 大写
 
 -          mov es:[di],cx
 
 -          inc si
 
 -          add di,2
 
 -          jmp s         ;此时的跳转是小写转换为大写的
 
 - s1:
 
 -      mov ch,3h     ;设定大写的颜色
 
 -          mov cl,[si]
 
 -          mov es:[di],cx
 
 -      inc si
 
 -          add di,2
 
 -          jmp s          ;此时的跳转是字母为大写时的
 
 -          
 
 - s0:
 
 -      pop di
 
 -          pop cx
 
 -          pop si
 
 -          pop ax
 
 -          ret
 
 -          
 
 -          
 
 - codesg ends
 
 - end befin
 
  复制代码 
 
 
 |   
 
 
 
 |