2007-10-03

【X86組語】大小寫轉換

題目說明:
  等待使用者輸入字母('a'~'z'與'A'~'Z'),並做大小寫轉換。如果使用者輸入小寫字母,則螢幕印出對應的大寫字母,反之印出對應小寫字母,若輸入字母以外的字元則結束程式。

程式流程:

程式碼:

GETCHAR  MACRO
mov ah, 01h
int 21h
ENDM
PUTCHAR MACRO
mov ah, 02h
int 21h
ENDM
END_PROCESS MACRO
mov ah, 4ch
int 21h
ENDM

.MODEL SMALL
.CODE
begin: GETCHAR
cmp al, 'A'
jl exit
cmp al, 'Z'

jle upper
cmp al, 'a'
jl exit
cmp al, 'z'
jg exit
sub al, 20h
mov dl, al
PUTCHAR
jmp begin
upper: add al, 20h
mov dl, al
PUTCHAR
jmp begin
exit: END_PROCESS
.STACK
END begin

程式說明:
  輸入輸出巨集請參考課本程式5-0,程式流程從begin標籤開始。

沒有留言: