1. 程式人生 > >彙編小寫字母轉換成大寫

彙編小寫字母轉換成大寫

小寫轉換大寫

DATAS SEGMENT
    ;此處輸入資料段程式碼
    ORG 1000H;為除錯方便將資料存於指定地址處
    BUFFER   DB  'hello ASM!tyi20151030'
	STRLEN	 EQU  $-BUFFER;計算字串的長度 
	ORG 2000H;便於檢視結果  
	OUTSTR   DB   STRLEN DUP(?);預留相同字串儲存空間 
DATAS ENDS

STACKS SEGMENT
    ;此處輸入堆疊段程式碼
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此處輸入程式碼段程式碼
    MOV CX,STRLEN
    MOV SI,0
LP1:MOV AL,[SI+BUFFER];取資料
    CMP AL,61H
    JB NEXT
    CMP AL,7AH
    JA NEXT
    SUB AL,20H;若Al在[61H,7AH]範圍內,則為小寫字母,需減20H轉換為大寫字母
NEXT:MOV [SI+OUTSTR],AL;把AL的結果存到OUTSTR中
     INC SI;改變指標,便於下一迴圈讀取和儲存資料
     LOOP LP1
     MOV AH,4CH
     INT 21H
CODES ENDS
     END START