ورود

View Full Version : مبتدی: سلام یه مشکل در کار با رشته ها دارم



mantan
سه شنبه 06 تیر 1391, 22:24 عصر
سلام
می خوام برنامه بنویسم که رشته ای از ورودی بگیره و بعد کارکتر های کوچک الفبای انگلیسی رو از بزرگ تشخیص بده و بعد چاپش کنه این کد منه (فقط کارکتر های کوچک اون رشته رو چاپ کنه به همراه ی شمارش):گریه::ناراحت::ناراحت:

data segment
str db 6 dup(?),'$'
md label byte
max db 10
len db ?
Buffer db 10 dup('$')
data ends
code segment
main proc far
assume ds:data,cs:code
mov ax,data
mov ds,ax


mov ah,0ah
lea dx,md
int 21h

lea bx,Buffer

mov ch,60h
mov cl,len
lea ax,str
mov si,9

kol: mov dl,[bx]
cmp dl,ch
ja bo
inc bx
bo:
mov [ax],dl
inc ax
dec si
cmp si,0
je bi
loop kol


bol
bi:
mov ah,9h
lea dx,[ax]
inc ax
int 21h
loop bol






main endp

code ends
end main

ssbostan
پنج شنبه 08 تیر 1391, 09:19 صبح
با سلام؛

از ثبات AX براي دسترسي به حافظه نميتونيد استفاده كنيد.
براي بدست آوردن حروف كوچك، بايد كاراكترها رو با a و z مقايسه كنيد. اگر بيشتر از a و كمتر از z بودند، حروف كوچك هستند.

موفق باشيد.

MostafaMohammadi
جمعه 09 تیر 1391, 01:16 صبح
ضمنا، کدهاتون رو بین تگ کد قرار بدید.

xman_1365_x
جمعه 09 تیر 1391, 17:22 عصر
می خوام برنامه بنویسم که رشته ای از ورودی بگیره و بعد کارکتر های کوچک الفبای انگلیسی رو از بزرگ تشخیص بده و بعد چاپش کنه این کد منه (فقط کارکتر های کوچک اون رشته رو چاپ کنه به همراه ی شمارش)
برنامه هایی از این دست قبلا بارها پاسخ داده شده،کمی جستجو کنید.

از ثبات AX براي دسترسي به حافظه نميتونيد استفاده كنيد.
در تکمیل این گفته
در 80386 به بعد این مشکل وجود نداره و میشه از ثبات های عمومی مثل Eax هم استفاده نمود

موفق باشید