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