彙編:字串小寫變大寫(子程式)
阿新 • • 發佈:2019-01-09
;小寫變大寫 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 lpmov 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