یکی دیگر از دستوراتی که در زبان اسمبلی مورد بررسی قرار خواهیم داد دستور NEG است که دستورالعمل negate) neg) مکمل۲ عملوند خود را محاسبه می کند. فرم کلی ان به صورت زیر است:

neg dest

دستور neg حاصل تفریق تنها عملوند خود را از عدد صفر را محاسبه کرده (عملوند را منفی می کند) و نتیجه را در آن ذخیره می کند. درنتیجه اجرای دستور علامت عملوند عکس می شود.

عملوند دستور neg می تواند ثبات یا محلی از حافظه باشد:

neg register
neg memory

این دستور روی فلگ ها به صورت زیر تاثیرمی گذارد:

• اگر نتیجه برابر با صفر شود فلگ Carry صفر و در غیر این صورت یک می شود. اگر عملوند صفر بوده باشد دستور اثری روی آن نمی گذارد ولی فلگ Carry را صفر می کند. منفی کردن هر مقدار دیگر فلگ Carry را یک می کند.
• اگر عملوند یک بایتی و حاوی مقدار -۱۲۸ باشد و یا دوبایتی و حاوی عدد -۳۲۷۶۸ باشد، منفی کردن عملوند را تغیییر نمی دهد اما فلگ Overflow را یک می کند.
• روی فلگ های S، P و Z مانند دستور sub اثر می گذارد.

مثال. دستور زیر علامت متغیر J عکس می شود.

neg J

مثال. دستورات اسمبلی زیر مکمل K را محاسبه و در J ذخیره می کند(J=-k;).

mov AX, K
neg AX
mov J, AX