Często aby zapisać stałą albo przesunięcie wystarcza jeden bajt. Dlatego jeżeli to możliwe dobrze jest używać bliskich skoków.
Użycie wskaźnika i jednobajtowego przesunięcia zamiast adresu.
mov ebx, [mem1] ; 6b add ebx, [mem2] ; 6b | mov eax, offset mem1 ; 5b mov ebx, [eax] ; 2b add ebx, [eax+(mem2-mem1)]; 3b |
Wiekszość instrukcji ze stałymi z zakresu od -128 do 127 są krótsze. Stałe są rozszerzane bitem znaku.
push 200 ; 5b push 100 ; 2b add ebx, 128 ; 6b add ebx, -128 ; 3b
Krótsze wersje dla inicjowania rejestru stałą
mov eax, 0 ; 5b sub eax, eax ; 2b mov eax, 1 ; 5 b sub eax, eax / inc eax ; 3 b push 1 / pop eax ; 3 b mov eax, -1 ; 5 b or eax, -1 ; 3 b