汇编:字符串小写变大写(子程序)
;小写变大写 DATAS SEGMENT DATAS ends CODES SEGMENT ASSUME CS:CODES, DS:DATAS START: mov AX,DATAS mov DS,AX call atA mov ah,4CH int 21h atA proc ;子程序 jmp dnext String db 10, ?, 10 dup(?) ;最多接收10个字符,最后的回车算一个字符 dnext: mov dx,offset String mov ah,0ah ;10号功能调用设置 int 21h ;调用10号DOS中断,输入字符串 mov si,offset String+1 xor cx,cx ;cx清零 mov cl,[si] ;设置循环次数 lp: inc si mov ah,[si] cmp ah,'a' jb next ;如果小于a就跳转 cmp ah,'z' ja next ; 如果大于z就跳转 sub ah,20H Mov [si],ah next: loop lp mov byte ptr [si+1],'$' ;字符串末尾加上结束符 mov ah,2 ;换行三连 mov dl,0ah int 21h mov dx,offset string+2 mov ah,09h int 21H ret atA endp CODES ends end START
"你的指尖,拥有改变世界的力量! "
欢迎关注我的个人博客:https://sugarat.top