ايران ويج

نسخه‌ی کامل: لطفا یکی کمک کنه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان.
من یه برنامه نوشتم برنامه که نه یه پروژه هر کاری میکنم جواب نمیده.
اینجا قرارش میدم لطفا هر چه سریعتر اهل فنهاش بررسیش کنن لازمش دارم.
برنامه قراره توسط زیر برنامه ها معدل و واریانس اعداد را حساب و چاپ کنه.
مشکل دیگم اینه که تو هر پروژه ای از ماکرو های io.h استفاده می کنم وقتی فایل exe رو اجرا می کنم یه خطا میده که close و ignore داره.
این هم برنامه.

کد:
SSEG SEGMENT STACK
dw 256 DUP(?)
SSEG ENDS
DSEG SEGMENT
no db 10,8,15,11,13,15,17,9,14,19,6,20,12,14
n db 14
me db ?
va db ?
x db 'mediom=','$'
y db 'varians=','$'
DSEG ENDS

CSEG SEGMENT
assume cs:cseg,ds:dseg,ss:sseg
START PROC FAR
MOV AX, DSEG
MOV DS, AX
mov ah,09h
lea dx,x
int 21h
call
med
mov ah,09h
lea dx,y
int 21h
call
var
MOV AX, 4C00h
INT 21h
START ENDP
med proc near
mov al,00
mov cl,n
lea si,no
l:add al,[si]
inc si
dec cl
cmp cl,1
jne l
cbw
mov bl,n
idiv bl
mov me,al
mov ah,09h
lea dx,me
int 21h
ret
med endp
var proc near
mov bx,0
mov cl,n
lea si,no
m:mov al,me
sbb al,[si]
inc si
dec cl
mov bl,al
imul bl ;ax=al*al
add bx,ax
cmp cl,1
jne m
mov ax,bx
mov bl,n
div bl
mov va,al
mov ah,09h
lea dx,va
int 21h
ret
var endp
CSEG ENDS
END START

برنامه ای که نوشتی همه اش اشتباه هست فرمولش را درست ننوشتی.
اشکال از فرمول هست درستتش کنی حله...
اگه خواستی بگو تا برات بنویسم.
یکی از مشکلات زبان اسمبلی این است که وقتی شما فرمولی و یا وقفه ای را اشتباه می نویسید دیگه برنامه تا پایین بیشتر وقت ها اشتباه نوشته میشه.
برای حل این مشکل باید از روال ها در زبان اسمبلی استفاده کنید. که اگر قسمتی را اشتباه نوشتی بتونی به براحتی آن را درست کنی و به بقیه قسمت ها هم ربطی داشته باشه.Biggrin