本文主要是介绍王爽汇编第二版实验11,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编写一个程序,将包含任意字符,以0结尾的字符串中的小写字母变为大写
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
begin: mov ax,data
mov ds,ax
mov si,0
call letterc ;将小写字母变为大写
;在屏幕5行3列输出
mov dh,5
mov dl,3
call print
mov ax,4c00h
int 21h
letterc: push ds
push si
push cx
letterStart:
mov cl,ds:[si]
mov ch,0
jcxz letterEnd
cmp cx,'a'
jb letterChange
cmp cx,'z'
ja letterChange
and cl,11011111b
mov ds:[si],cl
letterChange:
inc si
jmp letterStart
letterEnd:
pop cx
pop si
pop ds
ret
print: push es
push di
push si
push ax
push dx
push cx
printStart:
mov ax,0b800h
mov es,ax
mov al,160
mov ah,0
mul dh
push ax
mov al,2
mov ah,0
mul dl
pop dx
add ax,dx
mov di,ax
printRun:
mov cl,ds:[si]
mov ch,0
jcxz printEnd
mov es:[di],cl
inc di
mov byte ptr es:[di],36
inc di
inc si
jmp printRun
printEnd:
pop cx
pop dx
pop ax
pop si
pop di
pop es
ret
code ends
end begin
这篇关于王爽汇编第二版实验11的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!