PDA

View Full Version : سوال: کامل کردن کد (دنباله فیوناچی)



shahin0
سه شنبه 19 خرداد 1388, 03:47 صبح
st_seg segment
db 64 dup(?)
st_seg ends

dt_seg segment para 'data'
n db 10h
x db 0h
y db 0h
dt_seg ends


codesg segment para 'code'

main proc far
assume ds:dt_seg,cs:codesg,ss:st_seg
mov ax,dt_seg
mov ds,ax

call fibo

mov ax,4c00h
int 21h

main endp
fibo proc
mov al,n
cmp n,1
je lable_1
cmp al,2
je lable_1
jne lable_3
lable_1:
add x,1
push x
ret
lable_3:
mov y,x
dec n
call fibo
pop x
add x,y

fibo endp

codesg ends
end main

این کد 6 تا ارور داره میشه بگید مشکلش کجاست ؟

shahin0
پنج شنبه 21 خرداد 1388, 03:43 صبح
آیا سوالات من مشکلی دارن که کسی جواب نمیده ؟
این انجمن مدیر داره ؟

Open-Source
پنج شنبه 21 خرداد 1388, 10:56 صبح
st_seg segment
db 64 dup(?)
st_seg ends

dt_seg segment para 'data'
n db 10h
x db 0h
y db 0h
dt_seg ends


codesg segment para 'code'

main proc far
assume ds:dt_seg,cs:codesg,ss:st_seg
mov ax,dt_seg
mov ds,ax

call fibo

mov ax,4c00h
int 21h

main endp
fibo proc
mov al,n
cmp n,1
je lable_1
cmp al,2
je lable_1
jne lable_3
lable_1:
add x,1
push x
ret
lable_3:
mov y,x
dec n
call fibo
pop x
add x,y

fibo endp

codesg ends
end main

این کد 6 تا ارور داره میشه بگید مشکلش کجاست ؟


اینجا که با قرمز مشخص کردم ایراد دارند(ولی نمیدونم الگوریتمت مشکل داره یا نه:متفکر:)

اگه بازم به مشکل برخوردی در خدمتیم(زود عصبانی نشو چون ملت امتحان دارند)

shahin0
پنج شنبه 21 خرداد 1388, 20:19 عصر
آخه مشکل اساسی همینه منم امتحان دارم و باید حتما این کد تحویل بدم
بازم مرسی که جواب دادی ( ولی این ایرادا که شما گفتین تو فایل lis نشون میده من خودم دیدم )
چطور بر طرف کنم ؟

Football Land
دوشنبه 25 خرداد 1388, 16:19 عصر
سلام

دوست عزیز اشکلات برنامه شما در قسمت هایی هست که در پست شماره 3 این تاپیک با رنگ قرمز مشخص شده و من به تشریح اونها را بیان میکنم :

1- عملوند های دستورات pop و push باید حتما مقادیری 2 بایتی ( 16 بیتی ) باشند . یعنی برای تعریف این متغیرها باید از دستور dw استفاده کنید .
2- هر دو عملوند دستور add نمیتوانند به طور همزمان محل هایی از حافظه باشند . برای رفع این مشکل از ثبات ها کمک بگیر . یعنی مقادیر یکی از متغیر ها را در یک ثبات کمکی کپی کن و ادامه عملیات را با ثبات انجام بده .

موفق باشی