close
دانلود فیلم
برنامه پشته

دستورات push و pop

دستورات push و pop دستورات پايه برای استفاده از پشته هستند. برنامه نويس اسمبلی از طريق دستورات زير می تواند داده های خود را در پشته قراردهد و يا از پشته بردارد. فرم کلی دستورات به صورت زير است:

push mem/reg
pop   mem/reg

push عملوند خود را به پشته اضافه می کند و دستور pop مقداری را از پشته حذف می کند و در عملوند خود قرار می دهد. داده ای که برداشته می شود هميشه آخرين داده ای است که اضافه شده است.

عملوند دستورات push و pop نمی توانند فوری يا ثبات های CS و IP و flag باشند.


مثال 1. دستورات زير يک کلمه را در پشته قرار می دهد.

mov AX, 12
push AX

مثال 2. دستورات زير محتوای دو متغير Value و Count را با هم تعويض می نمايد.

push Value
push Count
pop Value
pop Count

مثال 3. به کمک دستورات پشته می توان محتوای يک ثبات سگمنت را در ديگری کپی کرد.

push DS
pop CS

مثال 4. مقدار نهائی AX برابر با 1234h است. ابتدا در AX عدد 1234h ذخيره می شود سپس وقفه فراخوانی می شود. مقدار AX از پشته بازيابی می شود.

mov AX,1234H
push AX
mov AH,09
int 21H
pop AX

به کانال تلگرام سایت ما بپیوندید