I find this question rather intriguing. I've spent about 45 minutes so far trying to find the answer but to no avail. I'll try to spend some more time on this tonight after I get home. If it helps, though:
* What you are looking for is a "short jump" as opposed to a "near jump". It states in the AMD64 AMP vol 1 that short jumps exist (for amd64, of course), but I haven't been able to find anything in the AS manual on it yet.
* You can, at least, use invisible local symbols. They are defined with a '.L' prefix, but don't actually show up in the output:
Code:
$ cat test.S
.text
jne .LF1
nop
nop
nop
.LF1:
nop
$ as test.S -o test.o
$ objdump -d test.o
test.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <.text>:
0: 75 03 jne 0x5
2: 90 nop
3: 90 nop
4: 90 nop
5: 90 nop