PDA

View Full Version : طول یک مقدار



dada_vahid
شنبه 28 خرداد 1390, 22:24 عصر
با سلام دوستان خسته نباشید من یک سوال داشتم
چه طور میشه طول یک مقدار رو بدست اورد مثلا من یک رشته دارم که می خوام توی اون رشته یه چیز رو جستجو کنم حالا از کجا بدونم که طول اون رشته چقدر هستش ؟؟؟ با تشکر

xman_1365_x
شنبه 28 خرداد 1390, 22:39 عصر
خوب ميتونيد انتهاي رشتتون كاراكتر خاصي بزاري مثلا دالر بعد حلقه اي كه تا زماني كه به آخرش نرسيده بشماره تعداد خونه هارو بدست بياره
و يا ميتوني از روش زير در استفاده كني


org 100h
jmp start:
array db 1,4,3,2,0,7,8,9

array_byte_size = $ - offset array

array2 db 13,10,"1234"

array_byte_size2 = $ - offset array2
start:

MOV cx, array_byte_size
xor di,di
mov ah,2
l1:
add array[di],48
mov dl,array[di]
int 21h
inc di
loop l1

xor di,di
MOV cx, array_byte_size2
l2:
mov dl,array2[di]
int 21h
inc di
loop l2
ret

dada_vahid
شنبه 28 خرداد 1390, 22:46 عصر
ممنون توضی مختصری راجب این خص میدی
array_byte_size = $ - offset array

xman_1365_x
یک شنبه 29 خرداد 1390, 06:32 صبح
ممنون توضی مختصری راجب این خص میدی
array_byte_size = $ - offset array
تعداد خانه هاي آرايه =( (آدرس انتها+1) - آدرس ابتدا ) / نوع متغير
توجه:نوع متغير در اينجا همون سايز و فضاي تخصيص داده شده هست
براي مثال:

DB=1
DW=2
DD=4


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