Instrukcja cdq rozszerza bit znaku eax na cały edx. Jeżeli eax jest nieujemny, to edx staje się zerem, przez co dwie kolejne instrukcje nic nie dają, pozostawiając eax niezmienionym. Jeżeli eax jest ujemny, to edx staje się 0xFFFFFFFF (czyli −1), a pozostałe dwie instrukcje obliczają przeciwieństwo eax przez uzupełnienie do dwóch. Najmniejsza wartość ujemna (−231 lub 0x80000000), która nie ma odpowiadającego jej kodu wartości dodatniej, jest zachowywana, co jest prawidłowe dla liczby całkowitej bez znaku.

C W języku programowania C obliczeniu wartości bezwzględnej operandu służą zadeklarowane w math.h funkcje abs, labs, llabs (w C99), fabs, fabsf i fabsl. Implementacja całkowitoliczbowej wersji funkcji jest jednakże bardzo prosta, szczególnie gdy zignorować przypadek graniczny najmniejszej liczby całkowitej. Poniższy przykład korzysta z operatora warunkowego (?:): int abs (int i) { return i < 0 ? -i : i; }

Wersje zmiennoprzecinkowe sprawiają więcej problemów, ponieważ muszą obsługiwać specjalne kody nieskończoności i wartości niebędącej liczbą (NAN); zob.