NASM 0.98.17
This commit is contained in:
parent
caa82a1e66
commit
090a218573
4 changed files with 14 additions and 14 deletions
|
@ -7920,8 +7920,8 @@ destination (first) operand.
|
|||
\c MOVSW ; o16 A5 [8086]
|
||||
\c MOVSD ; o32 A5 [386]
|
||||
|
||||
\c{MOVSB} copies the byte at \c{[ES:DI]} or \c{[ES:EDI]} to
|
||||
\c{[DS:SI]} or \c{[DS:ESI]}. It then increments or decrements
|
||||
\c{MOVSB} copies the byte at \c{[DS:SI]} or \c{[DS:ESI]} to
|
||||
\c{[ES:DI]} or \c{[ES:EDI]}. It then increments or decrements
|
||||
(depending on the direction flag: increments if the flag is clear,
|
||||
decrements if it is set) \c{SI} and \c{DI} (or \c{ESI} and \c{EDI}).
|
||||
|
||||
|
|
2
nasm.h
2
nasm.h
|
@ -13,7 +13,7 @@
|
|||
|
||||
#define NASM_MAJOR_VER 0
|
||||
#define NASM_MINOR_VER 98
|
||||
#define NASM_VER "0.98.16"
|
||||
#define NASM_VER "0.98.17"
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
|
|
14
ndisasm.c
14
ndisasm.c
|
@ -235,7 +235,7 @@ int main(int argc, char **argv)
|
|||
p += lenread;
|
||||
if ((unsigned long)offset == nextsync) {
|
||||
if (synclen) {
|
||||
printf("%08lX skipping 0x%lX bytes\n", offset, synclen);
|
||||
fprintf(stdout, "%08lX skipping 0x%lX bytes\n", offset, synclen);
|
||||
offset += synclen;
|
||||
skip (synclen, fp);
|
||||
}
|
||||
|
@ -271,26 +271,26 @@ static void output_ins (unsigned long offset, unsigned char *data,
|
|||
int datalen, char *insn)
|
||||
{
|
||||
int bytes;
|
||||
printf("%08lX ", offset);
|
||||
fprintf(stdout, "%08lX ", offset);
|
||||
|
||||
bytes = 0;
|
||||
while (datalen > 0 && bytes < BPL) {
|
||||
printf("%02X", *data++);
|
||||
fprintf(stdout, "%02X", *data++);
|
||||
bytes++;
|
||||
datalen--;
|
||||
}
|
||||
|
||||
printf("%*s%s\n", (BPL+1-bytes)*2, "", insn);
|
||||
fprintf(stdout, "%*s%s\n", (BPL+1-bytes)*2, "", insn);
|
||||
|
||||
while (datalen > 0) {
|
||||
printf(" -");
|
||||
fprintf(stdout, " -");
|
||||
bytes = 0;
|
||||
while (datalen > 0 && bytes < BPL) {
|
||||
printf("%02X", *data++);
|
||||
fprintf(stdout, "%02X", *data++);
|
||||
bytes++;
|
||||
datalen--;
|
||||
}
|
||||
printf("\n");
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
8
outelf.c
8
outelf.c
|
@ -554,7 +554,7 @@ static void elf_add_reloc (struct Section *sect, long segment,
|
|||
r->symbol = 0;
|
||||
for (i=0; i<nsects; i++)
|
||||
if (segment == sects[i]->index)
|
||||
r->symbol = i+3;
|
||||
r->symbol = i+2;
|
||||
if (!r->symbol)
|
||||
r->symbol = GLOBAL_TEMP_BASE + raa_read(bsym, segment);
|
||||
}
|
||||
|
@ -928,13 +928,13 @@ static struct SAA *elf_build_symtab (long *len, long *local)
|
|||
* Now some standard symbols defining the segments, for relocation
|
||||
* purposes.
|
||||
*/
|
||||
for (i = 1; i <= nsects+1; i++) {
|
||||
for (i = 1; i <= nsects; i++) {
|
||||
p = entry;
|
||||
WRITELONG (p, 0); /* no symbol name */
|
||||
WRITELONG (p, 0); /* offset zero */
|
||||
WRITELONG (p, 0); /* size zero */
|
||||
WRITESHORT (p, 3); /* local section-type thing */
|
||||
WRITESHORT (p, (i==1 ? SHN_ABS : i-1)); /* the section id */
|
||||
WRITESHORT (p, i); /* the section id */
|
||||
saa_wbytes (s, entry, 16L);
|
||||
*len += 16;
|
||||
(*local)++;
|
||||
|
@ -992,7 +992,7 @@ static struct SAA *elf_build_reltab (long *len, struct Reloc *r) {
|
|||
long sym = r->symbol;
|
||||
|
||||
if (sym >= GLOBAL_TEMP_BASE)
|
||||
sym += -GLOBAL_TEMP_BASE + (nsects+3) + nlocals;
|
||||
sym += -GLOBAL_TEMP_BASE + (nsects+2) + nlocals;
|
||||
|
||||
p = entry;
|
||||
WRITELONG (p, r->address);
|
||||
|
|
Loading…
Reference in a new issue