دستور پرش بدون شرط

دستورالعمل (jump) jmp بدون هیچ شرطی کنترل را به نقطه دیگری در برنامه منتقل می کند و مشابه دستور goto در زبان های سطح بالا عمل می کند. فرم کلی آن به صورت زیر است:

jmp target

target می تواند آدرسی درون همین سگمنت یا سگمنت کد دیگری باشد. معمولا آدرس مقصد توسط یک برچسب معین می شود. برچسب شناسه ای است که بدنبال آن علامت کلون (:) می آید. اسمبلر با توجه به آفست دستور بعد از برچسب، فاصله پرش را به طور اتوماتیک محاسبه می کند.

دستورالعمل بعد از jmp هیچوقت اجرا نمی شود مگر این که از دستور دیگری به آن پرش شده باشد.

دستور jmp به تنهائی در برنامه موثر نیست و برای ساختن ساختارهای کنترلی همراه با دستورات پرش شرطی استفاده می شود.

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

mov DX, 378h   ;Parallel printer port address.
Forever: in AL, DX           ;Read character from input port.
xor AL, 1           ;Invert the L.O. bit.
out DX, AL        ;Output data back to port.
jmp Forever      ;Repeat forever.