|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
DOS里显示
下面是代码
assume cs:code,ds:data
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
statr:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov si,0;data变量
mov di,0;显存变量
call ok;此CALL为把小写字母转换成大写字母
call ok1;此CALL为把DATA数据显示到DOS里
hold:
hlt
jmp hold
mov ax,4c00h
int 21h
ok:
push ax
push si
s: cmp byte ptr [si],0;判断是否为0,为0则结束大小写替换
je s0
cmp byte ptr [si],61h
jb s1;低于61H则bx+1,继续下个字母检测是否是小写字母
cmp byte ptr [si],86h
ja s1;高于86h则bx+1
mov al,ds:[si]
and al,11011111b;转换成大写或者(sub al,20h)
mov ds:[si],al
inc si;si+1
jmp s;继续下个字母检测
s1: inc si
jmp s;继续下个字母检测
s0: pop si
pop ax
ret
;一下是显示在DOS里
ok1: push ax
push si
push di
ok2:
cmp byte ptr [si],0
je OK3;为0则结束
mov ah,ds:[si]
mov es:[di],ah
inc si
inc di
mov al,24h
mov es:[di],al
inc di
jmp ok2
OK3: pop di
pop si
pop ax
ret
code ends
end statr
|
|