1. 程式人生 > >彙編:字串小寫變大寫(子程式)

彙編:字串小寫變大寫(子程式)

;小寫變大寫
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