PDA

View Full Version : سوال: تبدیل حروف بزرگ به کوچیک و بلعکس در یک رشته



JaVa
سه شنبه 23 خرداد 1391, 11:58 صبح
با سلام و خسته نباشید::::

این کد باید حروف بزرگ رو به کوچیک و حروف کوچیک رو به بزرگ تبدیل می کنه کنه اما فقط حروف کوچیک رو به بزرگ تبدیل می کنه ؟
مشکلش چیه ؟؟؟؟

stksg segment para 'stack'
db 128 dup(?)
stksg ends

datsg segment para 'data'
msg1 db "Enter string : ","$"
msg2 db "Result srting : ","$"

strlist label byte
max db 10
act db ?
buf db 10 dup(?)
datsg ends

codsg segment para 'code'
main proc far
assume ss:stksg,cs:codsg,ds:datsg
mov ax,datsg
mov ds,ax

mov ah,06h
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov al,25
mov bh,7
int 10h

mov ah,09h
lea dx,msg1
int 21h

mov ah,0ah
mov dx,offset strlist
int 21h
;---------------------------------
mov bx,offset buf
mov cl,act
mov ch,0

next:mov ah,[bx]
cmp ah,41h
jb p1

cmp ah,5ah
ja p1

xor ah,00100000B
mov [bx],ah

p1:

xor ah,00100000B
mov [bx],ah

inc bx

loop next

;---------------------------------

mov ah,40h
mov cx,10
mov bx,1

mov dx,offset buf
int 21h

mov ax,4c00h
int 21h

codsg ends
main endp
end main

ssbostan
سه شنبه 23 خرداد 1391, 13:13 عصر
با سلام؛
به اين قسمت توجه كنيد:



xor ah,00100000B
mov [bx],ah

p1:

xor ah,00100000B
mov [bx],ah



اين قسمت هنگامي اجرا ميشه كه كاراكتر بزرگ باشه و همينطور كه ميبينيد دوبار xor انجام ميشه.
بايد بعد از اولين xor يك پرش به آخر حلقه بزنيد.

موفق باشيد.