PDA

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



fratar
چهارشنبه 06 خرداد 1388, 23:29 عصر
برامه ای که بین محتویات آدرس های 800 تا 900 حافظه کوچکترین عدد را ÷یدا کرده و در یک خانه حافظه تهت عنوان resalt دخیره کنه؟



<<<<ممنون میشم اگه جوایش رو برام بنویسین>>>>

tdkhakpur
پنج شنبه 07 خرداد 1388, 00:39 صبح
سلام
توضیح ندادید که عدد مورد نظر شما چی هست ولی برای intیا word کد رو مینویسم.


result dw ?

mov cx, 100
mov bx, 800
mov result, word ptr [bx] ; برای مقدار دهی اولیه
label1:
cmp result , word ptr [bx]
jnl label2
mov result, word ptr [bx]
lael2:
add bx, 2
sub cx, 1
loop label1

1- در فوق cx رو برابر 100قرار میدهیم چون 900-800=100میشود.تا حلقه این فاصله رو طی کند.
2- چون عددمون 2 بایتی هست مقدار آدرس موجود در bx رو 2 بار افزایش میدیم تا به نقطه بعدی اشاره کند.
3 - مقدار cx رو یک واحد کم میکنیم تا حلقه به اندازه 50 بار ادامه پیدا کنه و دلیلش هم به خاطر این هست که در فاصله 800 تا 900 فقط 50 عدد از نوع word میتونه قرار بگیره.
سایر کدها یه الگوریتم ساده برای مقایسه هست .
موفق باشید.