تالار گفتمان مانشت
سوال در مورد پشته - نسخه‌ی قابل چاپ

سوال در مورد پشته - jafar.sh - 13 آبان ۱۳۹۱ ۰۱:۲۶ ب.ظ

با سلام بر دوستان عزیز
من نمیدونم در قسمت درستی مربوط به این موضوع تایپیک زدم یا نه!یستم داره! راستی ایا این انجمن قسمتی برای درس زبان ماشین و برنامه سازی سیستم داره!!
سئوال من در پشته هست!!!
سوال من این هست:

در پایان مقادیر ax و bx و dx چند می باشد؟؟

mov bx, 2bc1
mov ax,cff0
push ax
push bx
pop dx
pop ax

این سئوال چطوری حل میشه؟؟ مثل ساختمان داده می ماند!!! با توجه به بیت پرارزش و کم ارزش حل میشه!!
لطفا راهنمایی کنید؟؟
سپاس

سوال در مورد پشته - esi - 13 آبان ۱۳۹۱ ۰۴:۳۶ ب.ظ

خوب dx=bx=2bc1H میشه و ax هم همون مقدار قبلیشو از رو پشته برمیداره یعنی cff0

سوال در مورد پشته - jafar.sh - 13 آبان ۱۳۹۱ ۰۶:۱۷ ب.ظ

متشکر:ولی من خیلی تعطیلم: لطفا با شکل رسم کنید تا بفهمم و یکم بیشتر توضیح بدهید
سپاس

سوال در مورد پشته - m_sardaari - 13 آبان ۱۳۹۱ ۰۷:۱۹ ب.ظ

(۱۳ آبان ۱۳۹۱ ۰۴:۳۶ ب.ظ)esi نوشته شده توسط:  خوب dx=bx=2bc1H میشه و ax هم همون مقدار قبلیشو از رو پشته برمیداره یعنی cff0
همینجور که دوست عزیز گفتن اول دو مقدار رو به پشته میریزیم که عنصر بالای پشته مقدار ۲bc1 میگیره با اولین pop مقدار ۲bc1 از پشته برداشته میشه و به dx میره و مقدار باقیمونده در پشته cff0 هست که با pop بعدی به ax میره که همون مقدار قبلیش هست.bx هم چون مقدار جدیدی نگرفته همون ۲bc1 میمونه.

این موضوع تو اکثر دروس هست و اگه مفهوم پشته رو درک کنین خیلی ساده هست این موضوع.

سوال در مورد پشته - jafar.sh - 13 آبان ۱۳۹۱ ۰۸:۲۸ ب.ظ

متشکر: ولی من زیاد متوجه نمی شم!!! اگه دوستان مفهومی تر توضیح بدهند متشکر میشم یا اگه کتاب یا جزوه ای که در این زمینه قشنگ توضیح داده میشناسند لطفا معرفی کنند؟
سپاس

سوال در مورد پشته - jafar.sh - 14 آبان ۱۳۹۱ ۰۵:۴۹ ب.ظ

کسی نمیدونه!!!

سوال در مورد پشته - m_sardaari - 14 آبان ۱۳۹۱ ۰۸:۴۴ ب.ظ

شما اینکه این موضوع رو متوجه نمیشید به این دلیله که مفهوم پشته و دستور move رو نمیدونین وگرنه مفهومی تر از این باید کل مقاهیم پشت و نحوه کار دستور move رو یکی توضیح بده .

این موضوع خیلی واضح هست نمیدونم چطوری شما متوجه نمیشین.

mov bx, 2bc1
bx مقدار ۲bc1 میگیرد


mov ax,cff0
ax مقدار cff0 میگیرد cff0


push ax
خانه اول پشته ax قرار میگیرد با مقدار cff0


push bx
خانه بالای ax در پشته. bx قرار میگیرد با مقدار ۲bc1

pop dx
مقدار بالای پشته که bx هست رو برمیداریم و به dx انتقال میدیم ولی مقدارخود bx تغییر نمیکنه.


pop ax
چون در مرحله قبل bx v رو برداشتیم از پشته فقط ax مونده .پس ax رو از پشته برمیداریم و به خود ax انتقال میدیم که تغییری نمیکنه ax

در نهایت bx=dx=2bc1 و ax=cff0[/align]

سوال در مورد پشته - csharpisatechnology - 15 بهمن ۱۳۹۱ ۰۵:۰۳ ق.ظ

برای مقدار دهی یک ثبات با مقدار دلخواه از دستور زیر استفاده می شود:
mov registerName,Value

برای قرار دادن یک دستور دورن سطل(پشته) از دستور زیر استفاده میشود :
push Value
یا
push RegisterName
---
برای بازیابی یا واکشی یا برداشته یک دستور از پشته(سطل) از دستور زیر استفاده می کنیم:
pop registerName
دستور فوق سبب می شود مقدار بالای سطل برداشته شود و درون ثبات معرفی شده قرار داده شود.
---
اگه رشته ی شما کامپیوتر نیست از سیستم چت برای مشورت گیری استفاده کنید.
کسی که هندسه نمی داند وارد نشود.Big Grin