?? h428.asm
字號:
.model small
.stack
.data
string1 db'please input a number(0-2):',0dh,0ah,'$'
string2 db'I am a good father.',0,0dh,0ah,'$'
string3 db'That is an error input!',0dh,0ah,'$'
.code
start: mov ax, @data
mov ds, ax
mov ah, 9
mov dx, offset string1
int 21h
mov ah, 1
int 21h
cmp al, '0'
jz disp1
cmp al, '1'
jz disp2
cmp al, '2'
jz disp3
call error
disp1: call CturnU
disp2: call UturnC
disp3: call change
mov ah, 4ch
int 21h
CturnU proc
mov bx, offset string2
againc: mov al, [bx]
or al, al
jz donec
cmp al, 'A'
jb nextc1
cmp al, 'Z'
ja nextc1
or al, 20h
mov [bx], al
nextc1: inc bx
jmp againc
donec: mov ah, 9
mov dx, offset string2
int 21h
mov ah, 4ch
int 21h
ret
CturnU endp
UturnC proc
mov bx, offset string2
againu: mov al, [bx]
or al, al
jz doneu
cmp al, 'a'
jb nextu
cmp al, 'z'
ja nextu
xor al, 20h
mov [bx], al
nextu: inc bx
jmp againu
doneu: mov ah, 9
mov dx, offset string2
int 21h
mov ah, 4ch
int 21h
ret
UturnC endp
change proc
mov bx, offset string2
againg: mov al, [bx]
or al, al
jz doneg
cmp al, 'A'
jb nextg2
cmp al, 'Z'
ja nextg1
or al, 20h
mov [bx], al
jmp nextg2
nextg1: cmp al, 'z'
ja nextg2
xor al, 20h
nextg2: inc bx
jmp againg
doneg: mov ah, 9
mov dx, offset string2
int 21h
mov ah, 4ch
int 21h
ret
change endp
error proc
mov ah, 9
mov dx, offset string3
int 21h
mov ah,4ch
int 21h
ret
error endp
end start
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -