|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码
|
|