0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-09-22 10:43:39 -04:00

Unbreak relative references to immediate addresses

Remove bogus "treat labels different from immediates" code, which
would result in generating of a relative mod/rm but without adjusting
the address accordingly.

Update addressing mode test.
This commit is contained in:
H. Peter Anvin
2007-09-28 17:17:20 -07:00
parent 43827654ac
commit d0b0d28f42
3 changed files with 1200 additions and 11 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -5,15 +5,17 @@ print "\tbits 64\n";
foreach $mode ('abs', 'rel') {
print "\n\tdefault $mode\n\n";
foreach $rq ('', 'abs ', 'rel ') {
foreach $sq ('', 'dword ', 'qword ') {
foreach $v ('foo', '0xaaaaaaaaaaaaaaaa', '0xbbbbbbbb',
'0xffffffffcccccccc') {
foreach $r ('al', 'bl', 'ax', 'bx', 'eax', 'ebx', 'rax', 'rbx') {
print "\tmov $r,[$rq$sq$v]\n";
foreach $so ('', 'fs:', 'es:') {
foreach $rq ('', 'abs ', 'rel ') {
foreach $sq ('', 'dword ', 'qword ') {
foreach $v ('foo', '0xaaaaaaaaaaaaaaaa', '0xbbbbbbbb',
'0xffffffffcccccccc') {
foreach $r ('al', 'bl', 'ax', 'bx', 'eax', 'ebx', 'rax', 'rbx') {
print "\tmov $r,[$rq$sq$so$v]\n";
}
}
print "\n";
}
print "\n";
}
}
}