PDA

View Full Version : سوال: برنامه از اعداد علامتدار



تیناسین
سه شنبه 26 اردیبهشت 1391, 21:46 عصر
برنامه ای بنویسید که مقدار میانگین 100 بایت متوالی حافظه را که در برچسب DATA ذخیره شده اند محاسبه نماید. برای پیشگیری از نتیجه غلط از گسترش علامت در عملیات جمع زنی استفاده نمایید.



برنامه ای بنویسید که یک بلوک 100 بایتی از اعداد علامت دار را بررسی نموده و کلیه اعداد زوج موجود در آن را به مکانی با برچسب EVEN و کلیه اعداد فرد را به مکانی با برچسب ODD منتقل کند.

xman_1365_x
سه شنبه 26 اردیبهشت 1391, 23:35 عصر
برنامه ای بنویسید که مقدار میانگین 100 بایت متوالی حافظه را که در برچسب DATA ذخیره شده اند محاسبه نماید. برای پیشگیری از نتیجه غلط از گسترش علامت در عملیات جمع زنی استفاده نمایید.
یک آرایه هست که در یک حلقه میزارین به انداره طول آرایه محتوا رو جمع میکنید و در متغیر با سایر بزرگتر ذخیره میکنید
منظورتون از گسترش علامت هم متوجه نشدم فکر میکنم بی علامت در نظر گرفتن منظورتون باشه که دستور خودش رو داره


برنامه ای بنویسید که یک بلوک 100 بایتی از اعداد علامت دار را بررسی نموده و کلیه اعداد زوج موجود در آن را به مکانی با برچسب EVEN و کلیه اعداد فرد را به مکانی با برچسب ODD منتقل کند.
این برنامه مشابه برنامه بالا هست
از تقسیم اعداد علامتدار باید استفاده کنید و میتونید با شیفت یا تقسیم متوجه باقیمانده بشین و بعد از تشخیص هم به مکام مربوطه انتقال میدین و ایندکس رو افزایش میدین

شروع کنید به نوشتن به مشکل خوردین راهنمایی میکنم
موفق باشی

MostafaMohammadi
چهارشنبه 27 اردیبهشت 1391, 00:51 صبح
منظورتون از گسترش علامت هم متوجه نشدم فکر میکنم بی علامت در نظر گرفتن منظورتون باشه که دستور خودش رو داره
شاید منظور ایشون چیزی مثل کارکرد دستورات CBW و CWDه.

تیناسین
چهارشنبه 27 اردیبهشت 1391, 07:43 صبح
شاید منظور ایشون چیزی مثل کارکرد دستورات CBW و CWDه.
دقیقا منظورم همین بود:تشویق:

تیناسین
چهارشنبه 27 اردیبهشت 1391, 08:26 صبح
همه این حرفایی که نوشتی بلدم ولی نمی دونم تو برنامه چطور استفاده کنم:متفکر:
ادامه اش رو چطور بنویسم؟


data DB 100 DUP(?)
sub ah,ah
sub bl,bl
mov al,data
add al,bl
jno over
mov al,
cbw
mov bx,ax

xman_1365_x
چهارشنبه 27 اردیبهشت 1391, 14:10 عصر
همه این حرفایی که نوشتی بلدم ولی نمی دونم تو برنامه چطور استفاده کنم
الگوریتم کار رو بنویسید بعد پیاده سازی کنید و با تست و خطا میفهمید کجای برنامه اشتباه هست به شرطی که الگوریتم اشتباه نباشه

ادامه اش رو چطور بنویسم؟
نیازی به تبدیل نیست وقتی اول برنامه رجیستر رو صفر میکنید،اگر صفر نمیکردیم وقتی کری رخ داد یک بار تبدیل به ورد میکنیم تا داده از بین نره
ضمنا همونطور که بلد هستین میدونید تبدیل کردن روی ثبات ax صورت میگیره که شما حاصل رو در bx قرار دادین که تاثیری نمی پذیره

این مجموع ، میانگین هم که تقسیم به تعداد میشه


org 100h

xor ax,ax
xor bx,bx
mov cx,5
lea di,data
l1:
mov bl,[di]
add al,bl
jnc nocarry
adc ah,0
nocarry:
inc di
loop l1

ret

data DB 100,100,56,255,39

end

موفق باشی