PDA

View Full Version : سوال: میانگین گیری در زبان اسمبلی



mahane
چهارشنبه 29 مرداد 1399, 11:39 صبح
سلام یه سوال هست با عنوان برنامه کوچکی به زبان اسمبلی بنویسید که 100 عدد را از حافظه گرفته و میانگین آن را در ax ذخیره کند. هرکاری کردم نتونستم کدش رو بنویسم اگه کمک کنید ممنون میشم.

farhad_shiri_ex
دوشنبه 03 شهریور 1399, 09:29 صبح
سلام یه سوال هست با عنوان برنامه کوچکی به زبان اسمبلی بنویسید که 100 عدد را از حافظه گرفته و میانگین آن را در ax ذخیره کند. هرکاری کردم نتونستم کدش رو بنویسم اگه کمک کنید ممنون میشم.
برای اجرای کد میتونید از masm x86 در ویژوال استودیو استفاده کنید
البته من فرض کردم داده های شما بدون علامت هستند و تعداد ارایه راهم ۱۰ در نظر گرفتم در صورت لزوم بیشتر کنید مشکلی داشت اعلام کنید

TITLE Avrage the array
.XMM
.MODEL FLAT
OPTION CASEMAP : NONE

.data
count equ 10
IntArray dword count dup(1,2,3,4,5,6,7,8,9,10)
Avg dword 0 ; assume unsigned int

.code

_AvrageNum@0 proc near
sub esp , 4
mov [esp] , ebp
mov ebp , esp
xor edx , edx
xor ecx , ecx
lea eax , dword ptr [IntArray]
:@@
add edx , dword ptr [eax + ecx * 4]
add dword ptr [ Avg] , edx
add ecx , 1
cmp ecx , count
jz @B

xor edx , edx
mov eax , count
div dword ptr[Avg] ; quotient in to eax
; reminder to edx
add esp , 4
mov ebp , [esp]
mov esp , ebp
ret

_AvrageNum@0 endp
end